<?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>PaypalGateway</name>
	<version>2.3.2</version>
  <mincmsversion>1.8.1</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgZG9lcyBpdCBkbz88L2gzPgogIDxwPlRoaXMgbW9kdWxlIGlzIHVzZWQgYnkgdGhlIE9yZGVycyBtb2R1bGUgdG8gY29tcGxldGUgcHVyY2hhc2VzIHVzaW5nIFBheXBhbHMgV2Vic2l0ZSBQYXltZW50IFN0YW5kYXJkIG1lY2hhbmlzbS4gIFRoZSBtb2R1bGUgdXNlcyB0aGUgUERUIG1ldGhvZCBmb3IgY29tcGxldGluZyBhIHB1cmNoYXNlLCBhbmQgb3B0aW9uYWxseSBzdXBwb3J0cyBJUE4gZnVuY3Rpb25hbGl0eS4gIEFmdGVyIGEgc3VjY2Vzc2Z1bCBjaGVja291dCwgdXNlcnMgd2lsbCByZWRpcmVjdCBiYWNrIHRvIHRoZSBPcmRlcnMgbW9kdWxlIHRvIHNob3cgdGhlIGNoZWNrb3V0IHJlY2VpcHQgcGFnZS4gIFNlZSA8YSBocmVmPSJodHRwOi8vY2FsZ3V5MTAwMC5jb20vQmxvZ3MvOC82MC9jbXNtcy1xdWljay1lLWNvbW1lcmNlLWhvdy10by5odG1sIj5odHRwOi8vY2FsZ3V5MTAwMC5jb20vQmxvZ3MvOC82MC9jbXNtcy1xdWljay1lLWNvbW1lcmNlLWhvdy10by5odG1sPC9hPiAgZm9yIG1vcmUgaW5mb3JtYXRpb24gb24gaG93IHRvIHNldHVwIHRoZSBDYXJ0LCBPcmRlcnMgYW5kIG90aGVyIGFzc29jaWF0ZWQgbW9kdWxlcy48L3A+CjxoMz5Ib3cgRG8gSSB1c2UgSXQ8L2gzPgo8cD5GaXJzdCB5b3Ugc2hvdWxkIGVuYWJsZSBQRFQgaW4geW91ciBwYXlwYWwgYnVzaW5lc3MgYWNjb3VudCwgYW5kIGtlZXAgdHJhY2sgb2YgdGhlIFBEVCBpZGVudGl0eSB0b2tlbiBhcyBzdXBwbGllZCBieSBwYXlwYWwuPC9wPgo8cD5Gb3IgSVBOIHN1cHBvcnQgeW91IHdpbGwgbmVlZCB0byBlbmFibGUgUERUIGluIHlvdXIgcGF5cGFsIGJ1c2luZXNzIGFjb2NvdW50LCBhbmQgZW50ZXIgYSByZXR1cm4gVVJMLCB0aG91Z2ggdGhpcyB1cmwgaXMgb3ZlcnJpZGRlbiBieSB0aGlzIG1vZHVsZSBhbmQgY2FuIGJlIGlnbm9yZWQuPC9wPgo8cD5UaGlyZGx5LCB5b3Ugc2hvdWxkIGFkanVzdCB0aGUgbGFuZ3VhZ2Ugc2V0dGluZ3MgaW4geW91ciBwYXlwYWwgYnVzaW5lc3MgYWNjb3VudCB0byBlbnN1cmUgdGhleSBhcmUgc2V0IHRvIHV0Zi04LjwvcD4KPHA+TmV4dCwgb25jZSBhbGwgb2YgdGhlIGRlcGVuZGVuY2llcyBhcmUgaW5zdGFsbGVkLCB5b3Ugc2ltcGx5IGluc3RhbGwgdGhlIG1vZHVsZS4gIHRoZW4gY29uZmlndXJlIHRoZSBtb2R1bGUgUGF5cGFsR2F0ZWF5IGNvbnRyb2wgcGFuZWwgaW5zaWRlIHRoZSBDTVMgTWFkZSBTaW1wbGUgYWRtaW4gY29uc29sZS4gIFNwZWNpZnkgdGhlIHVybCB0byB1c2UgZm9yIHBheXBhbCB0cmFuc2FjdGlvbnMgKHRoZSB0ZXN0IHVybCBpcyBwcm92aWRlZCBieSBkZWZhdWx0KSwgeW91ciBwYXlwYWwgYXNzb2NpYXRlZCBlbWFpbCBhZGRyZXNzLCBhbmQgdGhlIFBEVCBpZGVudGl0eSB0b2tlbiBhcyBkZXNjcmliZWQgYWJvdmUuPC9wPgo8cD5UaGlyZGx5LCBuYXZpZ2F0ZSB0byB0aGUgcHJlZmVyZW5jZXMgdGFiIGluIHRoZSBPcmRlcnMgbW9kdWxlIGFuZCBzZWxlY3QgdGhpcyBtb2R1bGUgYXMgeW91ciBjaG9zZW4gcGF5bWVudCBnYXRld2F5LjwvcD4KPGgzPkxpbWl0YXRpb25zPC9oMz4KPHA+VGhlIFdlYnNpdGUgUGF5bWVudCBTdGFuZGFyZCBBUEkgZnJvbSBQYXlwYWwgaXMgcmF0aGVyIGxpbWl0ZWQgaW4gaXRzIGZ1bmN0aW9uYWxpdHksIHRoZXJlZm9yZSBhIG51bWJlciBvZiBzdGVwcyBoYXZlIGJlZW4gdGFrZW4gdG8gb3ZlcmNvbWUgYXMgbXVjaCBhcyBwb3NzaWJsZSB0aGVzZSBsaW1pdGF0aW9uczo8L3A+Cjx1bD4KPGxpPlRheGVzOgo8cD5BdCB0aGUgdGltZSBvZiB3cml0aW5nLCB0aGUgV1BTIHN0YW5kYXJkIGRpZCBub3Qgc3VwcG9ydCBtdWx0aXBsZSB0YXhlcywgYnV0IHRoZSBPcmRlcnMgbW9kdWxlIGRvZXMsIFRoZXJlZm9yZSBhbGwgdGF4ZXMgYXJlIGVudGVyZWQgYXMgbGluZSBpdGVtcy48L3A+CjwvbGk+Cgo8bGk+U2hpcHBpbmc6CjxwPkF0IHRoZSB0aW1lIG9mIHdyaXRpbmcsIHRoZSBXUFMgc3RhbmRhcmQgZGlkIG5vdCBzdXBwb3J0IHNoaXBwaW5nIGNvc3RzLCBvciBkZXNjcmlwdGlvbnMgZm9yIHNoaXBwaW5nLCBob3dldmVyIHRoZSBPcmRlcnMgbW9kdWxlIGlzIG1vdmluZyBpbiB0aGF0IGRpcmVjdGlvbiwgVGhlcmVmb3JlIGFsbCBzaGlwcGluZyBjb3N0cyBhcmUgZW50ZXJlZCBhcyBsaW5lIGl0ZW1zLjwvcD4KPC9saT4KCjxsaT5EaXNjb3VudHMgLyBOZWdhdGl2ZSBWYWx1ZXM6CjxwPkF0IHRoZSB0aW1lIG9mIHdyaXRpbmcsIHRoZSBXUFMgc3RhbmRhcmQgZGlkIG5vdCBzdXBwb3J0IG5lZ2F0aXZlIGFtb3VudCB2YWx1ZXMgZm9yIGl0ZW1zIHN1Y2ggYXMgZGlzY291bnRzLiAgSG93ZXZlciwgdGhlIFByb21vdGlvbnMgbW9kdWxlIGRvZXMuICBUaGVyZWZvcmUgaWYgYSBuZWdhdGl2ZSB2YWx1ZSBpcyBkZXRlY3RlZCBpbiB0aGUgaXRlbXMgcHJvdmlkZWQgdG8gdGhpcyBtb2R1bGUsIHRoZSBtb2R1bGUgd2lsbCBtdW5nZSB0aGUgZW50aXJlIG9yZGVyIGludG8gb25lIGxpbmUgaXRlbSBvZiB0aGUgYXBwcm9wcmlhdGUgYW1vdW50LjwvcD4KPC9saT4KCjxsaT5JdGVtIE51bWJlcnM6CjxwPlBheXBhbCBzZWVtcyB0byByZXF1aXJlIGl0ZW0gbnVtYmVycyBmb3IgYWxsIGxpbmUgaXRlbXMuICBBbmQgc2luY2UgdGF4IGFuZCBzaGlwcGluZyBsaW5lIGl0ZW1zIGRvbnQgbmVjZXNzYXJpbHkgaGF2ZSBhIHByb2R1Y3QgaWQsIGFsbCBpdGVtIG51bWJlcnMgc3RhcnQgZnJvbSAxIGFuZCBhcmUgbGluZWFybHkgaW5jcmVtZW50ZWQuPC9wPgo8L2xpPgoKPGxpPkNoYXJnZWJhY2tzL1JldmVyc2FscyBldGMuCjxwPkFsdGhvdWdoIHRoZSBwYXlwYWwgSVBOIHByb3RvY29sIGlzIGNhcGFibGUgb2YgaGFuZGxpbmcgdGhzZSB0eXBlcyBvZiB0cmFuc2FjdGlvbnMsIHRoZSBPcmRlcnMgbW9kdWxlIGF0IHRoZSB0aW1lIG9mIHdyaXRpbmcgaXMgbm90LiAgVGhlcmVmb3JlIG1hbnkgb2YgdGhlc2UgYXJlIGlnbm9yZWQsIG9yIHRoZSBvcmRlciB3aWxsIGJlIGFkanVzdGVkIHRvIGhhdmUgYW4gRVJST1Igc3RhdHVzLjwvcD4KPC9saT4KCjwvdWw+CjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgdGhlIGNtcyBkZXZlbG9wbWVudCBmb3JnZSBhdCA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnIj5kZXYuY21zbWFkZXNpbXBsZS5vcmc8L2E+LjwvbGk+CjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAgYWxsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+CjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvcihzKSBkaXJlY3RseS48L2xpPiAgCjwvdWw+Cgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+Jmx0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmZ3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLApidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPjxoMz5EZXBlbmRlbmNpZXM8L2gzPjx1bD48bGk+Q0dFeHRlbnNpb25zID0mZ3Q7IDEuMTkuNDwvbGk+PGxpPkNHUGF5bWVudEdhdGV3YXlCYXNlID0mZ3Q7IDEuMC45PC9saT48L3VsPjxoMz5QYXJhbWV0ZXJzPC9oMz48dWw+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbGFuZz0iZW5fVVMiIC0gUGFyYW1ldGVyIGlzIHVzZWQgdG8gc3BlY2lmeSB3aGF0IGxhbmd1YWdlIHRvIHVzZSBmb3IgZGlzcGxheSBvbiB0aGUgZnJvbnRlbmQuIE5vdCBhbGwgbW9kdWxlcyBzdXBwb3J0IG9yIG5lZWQgdGhpcy48L2xpPjwvdWw+]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBUZWQgS3VscCAmbHQ7dGVkQGNtc21hZGVzaW1wbGUub3JnJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDIuMy4yPGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PHVsPgogPGxpPlZlcnNpb24gMi4wIC0gY2FsZ3V5MTAwMAogICA8dWw+CiAgICAgPGxpPk5vdyBiYXNlZCBvbiBDR1BheW1lbnRHYXRld2F5IEJhc2U8L2xpPgogICAgIDxsaT5BZGRzIHRoZSBhYmlsaXR5IHRvIGRvIFBEVCBkYXRhIHRyYW5zZmVyczwvbGk+CiAgICAgPGxpPk51bWVyb3VzIGJ1ZyBmaXhlcy48L2xpPgogICA8L3VsPgogPC9saT4KCiA8bGk+VmVyc2lvbiAyLjEgLSBBdWd1c3QgMjAwOSAtIGNhbGd1eTEwMDAKICAgPHVsPgogICAgIDxsaT5BZGRzIHBheXBhbCBJUE4gc3VwcG9ydC48L2xpPgogICAgIDxsaT5NdW5nZSBhbGwgbGluZSBpdGVtcyBpbnRvIG9uZSwgaWYgdGhlcmUgaXMgYSBuZWdhdGl2ZSBsaW5lIGl0ZW0uPC9saT4KICAgICA8bGk+Rm9yY2UgaW5jcmVtZW50YWwgaXRlbSBudW1iZXJzLjwvbGk+CiAgIDwvdWw+CiA8L2xpPgoKIDxsaT5WZXJzaW9uIDIuMS4yIC0gT2N0b2JlciAyMDA5IC0gY2FsZ3V5MTAwMAogICA8dWw+CiAgICAgPGxpPkFkZCBhYmlsaXR5IHRvIGRpc2FibGUgUERUIGlmIHRoZSBpZGVudGl0eSB0b2tlbiBpcyBlbXB0eS48L2xpPgogICAgIDxsaT5Db21wYXRpYmlsaXR5IHdpdGggbmV3IENHUGF5bWVudEdhdGV3YXlCYXNlPC9saT4KICAgPC91bD4KIDwvbGk+CgogPGxpPlZlcnNpb24gMi4xLjMgLSBPY3RvYmVyIDIwMDkgLSBjYWxndXkxMDAwCiAgIDx1bD4KICAgICA8bGk+QWRkIGNoZWNrIGZvciBtY3J5cHQgZnVuY3Rpb25hbGl0eS48L2xpPgogICA8L3VsPgogPC9saT4KCiA8bGk+VmVyc2lvbiAyLjEuNCAtIE5vdmVtYmVyIDIwMDkgLSBjYWxndXkxMDAwCiAgIDx1bD4KICAgICA8bGk+VXNlIG51bWJlcl9mb3JtYXQgaW5zdGVhZCBvZiBzcHJpbnRmKCclLjJmJywuLi4pOyB0byBob3BlZnVsbHkgZml4IGlzc3VlcyB3aXRoIGRpZmZlcmVudCBsb2NhbGVzLjwvbGk+CiAgIDwvdWw+CiA8L2xpPgogPGxpPlZlcnNpb24gMi4xLjQgLSBBcHJpbCwgMjAxMCAtIGNhbGd1eTEwMDAKICAgPHVsPgogICAgIDxsaT5BZGRzIHRoZSBTZXRCaWxsaW5nQWRkcmVzcyBtZXRob2QuPC9saT4KICAgPC91bD4KIDwvbGk+CiA8bGk+VmVyc2lvbiAyLjEuNSAtIEp1bHksIDIwMTAgLSBjYWxndXkxMDAwCiAgIDx1bD4KICAgICA8bGk+Tm93IHdvcmtzIHdpdGggQ0dQYXltZW50R2F0ZXdheUJhc2UgMS4wLjc8L2xpPgogICA8L3VsPgogPC9saT4gIAogPGxpPlZlcnNpb24gMi4xLjkgLSBBdWd1c3QsIDIwMTAgLSBjYWxndXkxMDAwCiAgIDx1bD4KICAgICA8bGk+Tm93IHdvcmtzIHdpdGggQ0dQYXltZW50R2F0ZXdheUJhc2UgMS4wLjg8L2xpPgogICAgIDxsaT5Ob3cgaGFuZGxlcyBzdWJzY3JpcHRpb25zICh3aGVuIElQTiBpcyBlbmFibGVkKTwvbGk+CiAgICAgPGxpPkNvbXBsZXRlIHJld3JpdGUgdG8gdGhlIElQTiBldmVudCBoYW5kbGluZy48L2xpPgogICA8L3VsPgogPC9saT4gCiA8bGk+VmVyc2lvbiAyLjIgLSBTZXB0ZW1iZXIsIDIwMTAgLSBjYWxndXkxMDAwCiAgPHVsPgogICAgIDxsaT5SZXdyaXR0ZW4gYWRtaW4gaW50ZXJmYWNlLCBzYW5kYm94IHNldHRpbmdzIGFuZCBwcm9kdWN0aW9uIHNldHRpbmdzIGNhbiBiZSBrZXB0IHNlcGVyYXRlbHkuPC9saT4KICAgICA8bGk+TWlub3IgZml4ZXMgd3J0IHdlaWdodCB1bmludHMgbm90IGJlaW5nIHNwZWNpZmllZC48L2xpPgogICAgIDxsaT5NaW5vciBmaXhlcyB0byBJUE4gc3R1ZmYuPC9saT4KICA8L3VsPgogPC9saT4KIDxsaT5WZXJzaW9uIDIuMi4xIC0gT2N0b2JlciwgMjAxMCAtIGNhbGd1eTEwMDAKICAgPHVsPgogICAgIDxsaT5GaXhlZCBhbiBpbXBvcnRhbnQgYnVnIGluIHRyYW5zbGF0aW5nIGl0ZW0gZGVzY3JpcHRpb25zLjwvbGk+CiAgIDwvdWw+IAogPC9saT4KIDxsaT5WZXJzaW9uIDIuMi4zIC0gRmVicnVhcnksIDIwMTEgLSBjYWxndXkxMDAwCiAgIDx1bD4KICAgICA8bGk+Rml4ZXMgaXNzdWVzIHdpdGggY2hhbmdlZCBwYXJhbWV0ZXJzIHRyYW5zbWl0dGVkIGZyb20gUGF5cGFsLjwvbGk+CiAgIDwvdWw+IAogPC9saT4KPC91bD4KPGJyIC8+]]></about>
	<description><![CDATA[Part of the E-commerce collection, provide the ability to perform checkounts via PAYPAL]]></description>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.19.4</requiredversion>
	</requires>
	<requires>
	  <requiredname>CGPaymentGatewayBase</requiredname>
	  <requiredversion>1.0.9</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBheXBhbEdhdGV3YXkgKGMpIDIwMDkgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBwcm9jZXNzCiMgIFBheW1lbnRzIG1hZGUgdXNpbmcgdGhlIEUtY29tbWVyY2Ugc3VpdGUgdGhyb3VnaCB0aGUgQXV0aE5ldCBwYXltZW50CiMgIGdhdGV3YXkuCiMKIyBOb3RlOiBUaGlzIG1vZHVsZSB3YXMgb3JpZ2luYWxseSBzdGFydGVkIGJ5IFRlZCBLdWxwLCBidXQgcmV3cml0dGVuCiMgdW5kZXIgdGhlIHNhbWUgbmFtZSBieSBSb2JlcnQgQ2FtcGJlbGwuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKLy8gRU9GCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBheXBhbEdhdGV3YXkgKGMpIDIwMDkgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBwcm9jZXNzCiMgIFBheW1lbnRzIG1hZGUgdXNpbmcgdGhlIEUtY29tbWVyY2Ugc3VpdGUgdGhyb3VnaCB0aGUgQXV0aE5ldCBwYXltZW50CiMgIGdhdGV3YXkuCiMKIyBOb3RlOiBUaGlzIG1vZHVsZSB3YXMgb3JpZ2luYWxseSBzdGFydGVkIGJ5IFRlZCBLdWxwLCBidXQgcmV3cml0dGVuCiMgdW5kZXIgdGhlIHNhbWUgbmFtZSBieSBSb2JlcnQgQ2FtcGJlbGwuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKLy8gZG8gZnVuY3Rpb25hbGl0eSB0ZXN0cwppZiggIWZ1bmN0aW9uX2V4aXN0cygnbWNyeXB0X21vZHVsZV9vcGVuJykgKQogIHsKICAgIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ2Vycm9yX25vX21jcnlwdCcpKTsKICAgIHJldHVybjsKICB9CgovLyBzdGFydCB0YWJzLgplY2hvICR0aGlzLT5TdGFydFRhYkhlYWRlcnMoKTsKaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKSApCiAgewogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCd0ZW1wbGF0ZScsJHRoaXMtPkxhbmcoJ2Zvcm1fdGVtcGxhdGUnKSk7CiAgfQppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApCiAgewogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdwcmVmcycsJHRoaXMtPkxhbmcoJ3ByZWZlcmVuY2VzJykpOwogIH0KZWNobyAkdGhpcy0+RW5kVGFiSGVhZGVycygpOwoKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpOwppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycpICkKICB7CiAgICBlY2hvICR0aGlzLT5TdGFydFRhYigndGVtcGxhdGUnKTsKICAgIGluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi50ZW1wbGF0ZV90YWIucGhwJyk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKICB9CmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkKICB7CiAgICAvLyBoYW5kbGUgdGhlIGZvcm0KICAgIGlmIChpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkpCiAgICAgIHsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwcm9kbW9kZScsKGludCkkcGFyYW1zWydwcm9kbW9kZSddKTsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwcm9kX2FjY3QnLHRyaW0oJHBhcmFtc1sncHJvZF9hY2N0J10pKTsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwcm9kX3Rva2VuJyx0cmltKCRwYXJhbXNbJ3Byb2RfdG9rZW4nXSkpOwoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Rlc3RfYWNjdCcsdHJpbSgkcGFyYW1zWyd0ZXN0X2FjY3QnXSkpOwoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Rlc3RfdG9rZW4nLHRyaW0oJHBhcmFtc1sndGVzdF90b2tlbiddKSk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnYWxsb3dfc3Vic2NyaXB0aW9ucycsKGludCkkcGFyYW1zWydhbGxvd19zdWJzY3JpcHRpb25zJ10pOwoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2VuYWJsZV9pcG4nLChpbnQpJHBhcmFtc1snZW5hYmxlX2lwbiddKTsKICAgICAgfQoKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdwcmVmcycpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCAkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKICAgIAogICAgJHNtYXJ0eS0+YXNzaWduKCdwcm9kbW9kZScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Byb2Rtb2RlJywwKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3Byb2RfYWNjdCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Byb2RfYWNjdCcpKTsKICAgICRzbWFydHktPmFzc2lnbigndGVzdF9hY2N0JywkdGhpcy0+R2V0UHJlZmVyZW5jZSgndGVzdF9hY2N0JykpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdwcm9kX3Rva2VuJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgncHJvZF90b2tlbicpKTsKICAgICRzbWFydHktPmFzc2lnbigndGVzdF90b2tlbicsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Rlc3RfdG9rZW4nKSk7CgogICAgJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9hbGxvd19zdWJzY3JpcHRpb25zJywKCQkgICAgJHRoaXMtPkNyZWF0ZUlucHV0WWVzTm9Ecm9wZG93bigkaWQsJ2FsbG93X3N1YnNjcmlwdGlvbnMnLAoJCQkJCQkgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FsbG93X3N1YnNjcmlwdGlvbnMnKSkpOwoKICAgICRzbWFydHktPmFzc2lnbignZW5hYmxlX2lwbicsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2VuYWJsZV9pcG4nLDApKTsKICAgICRzbWFydHktPmFzc2lnbignc3VibWl0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsIGxhbmcoJ3N1Ym1pdCcpKSk7CgogICAgJGNvbnRlbnRvcHMgPSAkZ0Ntcy0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsKICAgICR0aGVfcmV0dXJuaWQgPSAkY29udGVudG9wcy0+R2V0RGVmYXVsdENvbnRlbnQoKTsKICAgICRwcmV0dHlfdXJsID0gInBheXBhbC9pcG4vJHRoZV9yZXR1cm5pZCI7CiAgICAkaXBuX3VybCA9ICR0aGlzLT5DcmVhdGVVUkwoJGlkLCdpcG4nLCR0aGVfcmV0dXJuaWQsYXJyYXkoKSxmYWxzZSwkcHJldHR5X3VybCk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2lwbl91cmwnLCRpcG5fdXJsKTsKCiAgICBlY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3ByZWZzLnRwbCcpOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CiAgfQoKZWNobyAkdGhpcy0+RW5kVGFiQ29udGVudCgpOwovLyBFT0YKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.ipn.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBheXBhbEdhdGV3YXkgKGMpIDIwMDkgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBwcm9jZXNzCiMgIFBheW1lbnRzIG1hZGUgdXNpbmcgdGhlIEUtY29tbWVyY2Ugc3VpdGUgdGhyb3VnaCB0aGUgQXV0aE5ldCBwYXltZW50CiMgIGdhdGV3YXkuCiMKIyBOb3RlOiBUaGlzIG1vZHVsZSB3YXMgb3JpZ2luYWxseSBzdGFydGVkIGJ5IFRlZCBLdWxwLCBidXQgcmV3cml0dGVuCiMgdW5kZXIgdGhlIHNhbWUgbmFtZSBieSBSb2JlcnQgQ2FtcGJlbGwuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5HZXRQcmVmZXJlbmNlKCdlbmFibGVfaXBuJywwKSApIGV4aXQ7CgpyZXF1aXJlX29uY2UoZGlybmFtZShkaXJuYW1lKF9fRklMRV9fKSkuJy9DR0V4dGVuc2lvbnMvbGliL2h0dHAvY2xhc3MuaHR0cC5waHAnKTsKCi8vIHByZXBhcmUgb3VyIHBvc3RiYWNrCiRwb3N0ZGF0YSA9ICRfUE9TVDsKJHBvc3RkYXRhWydjbWQnXSA9ICdfbm90aWZ5LXZhbGlkYXRlJzsKJHVybCA9ICcnOwppZiggJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Byb2Rtb2RlJywwKSApCiAgewogICAgJHVybCA9IFBheXBhbEdhdGV3YXk6OlBST0RfVVJMOwogIH0KZWxzZQogIHsKICAgICR1cmwgPSBQYXlwYWxHYXRld2F5OjpURVNUX1VSTDsKICB9CgokaHR0cCA9IG5ldyBIdHRwOwokaHR0cC0+c2V0TWV0aG9kKCdQT1NUJyk7CiRodHRwLT5zZXRQYXJhbXMoJHBvc3RkYXRhKTsKJHRtcCA9ICRodHRwLT5leGVjdXRlKCR1cmwpOwokZXJyb3IgPSAkaHR0cC0+Z2V0RXJyb3IoKTsKCmlmKCBlbXB0eSgkdG1wKSApCiAgewogICAgLy8gUE9TVCBmYWlsZWQuLi4gZG8gYW4gQXVkaXQgYW5kIGV4aXQuCiAgICAkdGhpcy0+QXVkaXQoJycsJHRoaXMtPkdldE5hbWUoKS4nOmlwbicsJHRoaXMtPkxhbmcoJ2Vycm9yX2lwbl92ZXJpZmljYXRpb25fZmFpbGVkJykuJyAtLSAnLiRlcnJvcik7CiAgICBleGl0OwogIH0KCi8vIHdvb3QsIHRoZSB0cmFuc2FjdGlvbiBpcyB2ZXJpZmllZC4uLi4gd2Ugc2hvdWxkIGhhdmUgYW4gb3JkZXIgaWQsIGFuZCBhIHRyYW5zYWN0aW9uIGlkCi8vIGFuZCBhIGJ1bmNoIG9mIG90aGVyIHN0dWZmIHRoYXQgd2UgY2FuIGRlYWwgd2l0aC4KaWYoICFpc3NldCgkX1BPU1RbJ2N1c3RvbSddKSB8fCAkX1BPU1RbJ2N1c3RvbSddID09ICcnICkKICB7CiAgICAkdGhpcy0+QXVkaXQoJycsJHRoaXMtPkdldE5hbWUoKS4nOmlwbicsJHRoaXMtPkxhbmcoJ2Vycm9yX2lwbl9pbnZhbGlkX2RhdGEnKSk7CiAgICBleGl0OwogIH0KZWxzZSBpZiggIWlzc2V0KCRfUE9TVFsndHhuX3R5cGUnXSkgKQogIHsKICAgIC8vIHRoaXMgc2hvdWxkIG5ldmVyIGV2ZXIgaGFwcGVuLgogICAgJHRoaXMtPkF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCkuJzppcG4nLCR0aGlzLT5MYW5nKCdlcnJvcl9pcG5faW52YWxpZF9kYXRhJykpOwogICAgZXhpdDsKICB9Cgokb3JkZXJfaWQgPSAoaW50KSRfUE9TVFsnY3VzdG9tJ107CiR0eG5faWQgPSAnJzsKaWYoIGlzc2V0KCRfUE9TVFsndHhuX2lkJ10pICkKICB7CiAgICAkdHhuX2lkID0gdHJpbSgkX1BPU1RbJ3R4bl9pZCddKTsKICB9Cgpzd2l0Y2goICRfUE9TVFsndHhuX3R5cGUnXSApCiAgewogIGNhc2UgJ2NhcnQnOgogICAgc3dpdGNoKCBzdHJ0b2xvd2VyKCRfUE9TVFsncGF5bWVudF9zdGF0dXMnXSkgKQogICAgICB7CiAgICAgIGNhc2UgJ3Byb2Nlc3NlZCc6CiAgICAgIGNhc2UgJ2NvbXBsZXRlZCc6CgkvLyBhbGwgZ29vZCwgd2UgY2FuIHNldCB0aGlzIG9yZGVyIGluIHByb2Nlc3MuCgkkYW1vdW50ID0gMDsKCWlmKCBpc3NldCgkX1BPU1RbJ21jX2dyb3NzJ10pICkgCgkgICRhbW91bnQgPSAkX1BPU1RbJ21jX2dyb3NzJ107CgllbHNlIGlmKCBpc3NldCgkX1BPU1RbJ3BheW1lbnRfZ3Jvc3MnXSkgKQoJICAkYW1vdW50ID0gJF9QT1NUWydwYXltZW50X2dyb3NzJ107CgllbHNlIGlmKCBpc3NldCgkX1BPU1RbJ3BheW1lbnRfYW1vdW50J10pICkKCSAgJGFtb3VudCA9ICRfUE9TVFsncGF5bWVudF9hbW91bnQnXTsKCSR0aGlzLT5Qcm9jZXNzQXN5bmNUcmFuc2FjdGlvbigkb3JkZXJfaWQsJHR4bl9pZCwKCQkJCSAgICAgICBQQVlNRU5UX1NUQVRVU19BUFBST1ZFRCwkYW1vdW50KTsKCWJyZWFrOwoKICAgICAgY2FzZSAnZmFpbGVkJzoKICAgICAgY2FzZSAnZGVuaWVkJzoKCS8vIG5vdCBnb29kLi4uIG5vIGZ1bmRzLgoJJHRoaXMtPlByb2Nlc3NBc3luY1RyYW5zYWN0aW9uKCRvcmRlcl9pZCwkdHhuX2lkLFBBWU1FTlRfU1RBVFVTX0RFQ0xJTkVELDApOwoJYnJlYWs7CgogICAgICBjYXNlICdleHBpcmVkJzoKICAgICAgY2FzZSAncmV2ZXJzZWQnOgogICAgICBjYXNlICdwZW5kaW5nJzoKICAgICAgY2FzZSAndm9pZGVkJzoKCS8vIHVoLW9oIHNvbWV0aGluZyBoYXBwZW5lZC4KCSR0aGlzLT5Qcm9jZXNzQXN5bmNUcmFuc2FjdGlvbigkb3JkZXJfaWQsJHR4bl9pZCxQQVlNRU5UX1NUQVRVU19PVEhFUiwwKTsKCWJyZWFrOwoKICAgICAgfQogICAgYnJlYWs7CgogIGNhc2UgJ3N1YnNjcl9zaWdudXAnOgogICAgLy8gc2lsZW50bHkgaWdub3JlLgogICAgYnJlYWs7CgogIGNhc2UgJ3N1YnNjcl9wYXltZW50JzoKICAgICR0cmFuc2FjdGlvbiA9IG5ldyBjZ3BnYl9hc3luY190cmFuc2FjdGlvbigkb3JkZXJfaWQsJF9QT1NUWydwYXltZW50X2dyb3NzJ10pOwogICAgJHRyYW5zYWN0aW9uLT5zZXRfc3RhdHVzKFBBWU1FTlRfU1RBVFVTX0FQUFJPVkVEKTsKICAgICR0cmFuc2FjdGlvbi0+c2V0X2lkKCR0eG5faWQpOwogICAgaWYoIGlzc2V0KCRfUE9TVFsnc3Vic2NyX2lkJ10pICkKICAgICAgewoJJHRyYW5zYWN0aW9uLT5zZXRfb3RoZXJfdmFsKCdTdWJzY3JpcHRpb24gSUQnLCRfUE9TVFsnc3Vic2NyX2lkJ10pOwogICAgICB9CiAgICAkdGhpcy0+c2VuZF90cmFuc2FjdGlvbl9ub3RpZmljYXRpb24oJHRyYW5zYWN0aW9uKTsKICAgIGJyZWFrOwoKICBjYXNlICdzdWJzY3JfY2FuY2VsJzoKICAgICR0cmFuc2FjdGlvbiA9IG5ldyBjZ3BnYl9hc3luY190cmFuc2FjdGlvbigkb3JkZXJfaWQsJF9QT1NUWydhbW91bnQzJ10pOwogICAgJHRyYW5zYWN0aW9uLT5zZXRfc3RhdHVzKFBBWU1FTlRfU1RBVFVTX0NBTkNFTExFRCk7CiAgICAkdHJhbnNhY3Rpb24tPnNldF9pZCgkdHhuX2lkKTsKICAgIGlmKCBpc3NldCgkX1BPU1RbJ3N1YnNjcl9pZCddKSApCiAgICAgIHsKCSR0cmFuc2FjdGlvbi0+c2V0X290aGVyX3ZhbCgkX1BPU1RbJ3N1YnNjcl9pZCddKTsKICAgICAgfQogICAgJHRoaXMtPnNlbmRfdHJhbnNhY3Rpb25fbm90aWZpY2F0aW9uKCR0cmFuc2FjdGlvbik7CiAgICBicmVhazsKICAgIAogIGRlZmF1bHQ6CiAgICAkdGhpcy0+QXVkaXQoJycsJHRoaXMtPkdldE5hbWUoKS4nOmlwbicsJ1VuaGFuZGxlZCB0cmFuc2FjdGlvbiB0eXBlOiAnLiRfUE9TVFsndHhuX3R5cGUnXSk7CiAgICBleGl0OwogIH0KCi8vIG5vdGhpbmcgbW9yZSB0byBkbwokdGhpcy0+QXVkaXQoJycsJHRoaXMtPkdldE5hbWUoKS4nOmlwbicsJHRoaXMtPkxhbmcoJ21zZ19pcG5fc3VjY2Vzc2Z1bCcsJF9QT1NUWyd0eG5faWQnXSwkX1BPU1RbJ3BheW1lbnRfc3RhdHVzJ10pKTsKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.return_cancel.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBheXBhbEdhdGV3YXkgKGMpIDIwMDkgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBwcm9jZXNzCiMgIFBheW1lbnRzIG1hZGUgdXNpbmcgdGhlIEUtY29tbWVyY2Ugc3VpdGUgdGhyb3VnaCB0aGUgQXV0aE5ldCBwYXltZW50CiMgIGdhdGV3YXkuCiMKIyBOb3RlOiBUaGlzIG1vZHVsZSB3YXMgb3JpZ2luYWxseSBzdGFydGVkIGJ5IFRlZCBLdWxwLCBidXQgcmV3cml0dGVuCiMgdW5kZXIgdGhlIHNhbWUgbmFtZSBieSBSb2JlcnQgQ2FtcGJlbGwuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKaWYoICFpc3NldCgkcGFyYW1zWydteWN1c3RvbSddKSApCiAgewogICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5nX2N1c3RvbV92ZXJpZmllcicpKTsKICAgICR0aGlzLT5BdWRpdCgnJywkdGhpcy0+R2V0TmFtZSgpLCR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5nX2N1c3RvbV92ZXJpZmllcicpKTsKICB9CmVsc2UgaWYoICFpc3NldCgkcGFyYW1zWydvcmRlcl9pZCddKSApCiAgewogICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9pcG5faW52YWxpZF9vcmRlcmlkJykpOwogICAgJHRoaXMtPkF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCksJHRoaXMtPkxhbmcoJ2Vycm9yX2lwbl9pbnZhbGlkX29yZGVyaWQnKSk7CiAgfQoKJHRoaXMtPlJlc3RvcmVTdGF0ZSgkcGFyYW1zWydteWN1c3RvbSddKTsKJHRoaXMtPkF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCksJHRoaXMtPmxhbmcoJ21zZ190cmFuc2FjdGlvbl9jYW5jZWxsZWQnKSk7CiR0aGlzLT5TZXRDYW5jZWxsZWQoKTsKJHRoaXMtPkZpbmlzaFRyYW5zYWN0aW9uKCk7CgovLyBFT0YKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.return_success.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBheXBhbEdhdGV3YXkgKGMpIDIwMDkgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBwcm9jZXNzCiMgIFBheW1lbnRzIG1hZGUgdXNpbmcgdGhlIEUtY29tbWVyY2Ugc3VpdGUgdGhyb3VnaCB0aGUgQXV0aE5ldCBwYXltZW50CiMgIGdhdGV3YXkuCiMKIyBOb3RlOiBUaGlzIG1vZHVsZSB3YXMgb3JpZ2luYWxseSBzdGFydGVkIGJ5IFRlZCBLdWxwLCBidXQgcmV3cml0dGVuCiMgdW5kZXIgdGhlIHNhbWUgbmFtZSBieSBSb2JlcnQgQ2FtcGJlbGwuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKaWYoICFpc3NldCgkcGFyYW1zWydteWN1c3RvbSddKSApCiAgewogICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5nX2N1c3RvbV92ZXJpZmllcicpKTsKICAgICR0aGlzLT5BdWRpdCgnJywkdGhpcy0+R2V0TmFtZSgpLic6cmV0dXJuX3N1Y2Nlc3MnLCR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5nX2N1c3RvbV92ZXJpZmllcicpKTsKICB9CmVsc2UgaWYoICFpc3NldCgkcGFyYW1zWydvcmRlcl9pZCddKSApCiAgewogICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9pcG5faW52YWxpZF9vcmRlcmlkJykpOwogICAgJHRoaXMtPkF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCkuJzpyZXR1cm5fc3VjY2VzcycsJHRoaXMtPkxhbmcoJ2Vycm9yX2lwbl9pbnZhbGlkX29yZGVyaWQnKSk7CiAgfQoKaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdlbmFibGVfaXBuJywwKSApCiAgewogICAgLy8gbm90aGluZyBtb3JlIHRvIGRvLi4uIElQTiB3aWxsIGNvbnRhaW4gdGhlIHJlc3Qgb2YgdGhlIGluZm8uCiAgICAkdGhpcy0+UmVzdG9yZVN0YXRlKCRwYXJhbXNbJ215Y3VzdG9tJ10pOwogICAgJHRoaXMtPlNldFN0YXR1cyhQQVlNRU5UX1NUQVRVU19QRU5ESU5HKTsKICAgICR0aGlzLT5GaW5pc2hUcmFuc2FjdGlvbigpOwogIH0KZWxzZSBpZiggIWlzc2V0KCRfUkVRVUVTVFsndHgnXSkgJiYgIWlzc2V0KCRfUkVRVUVTVFsndHhuX2lkJ10pICkKICB7CiAgICAkdGhpcy0+UmVzdG9yZVN0YXRlKCRwYXJhbXNbJ215Y3VzdG9tJ10pOwogICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl90cmFuc2FjdGlvbl9pZF9taXNzaW5nJykpOwogICAgJHRoaXMtPkF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCkuJzpyZXR1cm5fc3VjY2VzcycsJHRoaXMtPkxhbmcoJ2Vycm9yX3RyYW5zYWN0aW9uX2lkX21pc3NpbmcnKSk7CiAgfQplbHNlCiAgewogICAgJHRoaXMtPlJlc3RvcmVTdGF0ZSgkcGFyYW1zWydteWN1c3RvbSddKTsKICAgIGlmKCAhJHRoaXMtPkNoZWNrSW5mbygpICkKICAgICAgewoJJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9yZXN0b3JpbmdfdHJhbnNhY3Rpb25fc3RhdGUnKSk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJLy8gd2UgZ290IGEgdmFsaWQgcmVkaXJlY3QgZnJvbSBwYXlwYWwuIAoJJHVybCA9ICcnOwoJJHRva2VuID0gJyc7CglpZiggJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Byb2Rtb2RlJywwKSApCgkgIHsKCSAgICAkdXJsID0gUGF5cGFsR2F0ZXdheTo6UFJPRF9VUkw7CgkgICAgJHRva2VuID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Byb2RfdG9rZW4nKTsKCSAgfQoJZWxzZQoJICB7CgkgICAgJHVybCA9IFBheXBhbEdhdGV3YXk6OlRFU1RfVVJMOwoJICAgICR0b2tlbiA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0ZXN0X3Rva2VuJyk7CgkgIH0KCSRjb25maWcgPSYgJGdDbXMtPkdldENvbmZpZygpOwoJJHRtcCA9ICcnOwoJJGFtdCA9ICcnOwoJJHR4bl9pZCA9ICcnOwoJJGN1cnJlbmN5ID0gJyc7Cgkkc3RhdCA9ICRfUkVRVUVTVFsnc3QnXTsKCSR0eG5faWQgPSAnJzsKCWlmKCBpc3NldCgkX1JFUVVFU1RbJ3R4J10pICkgCgkgIHsKCSAgICAkdHhuX2lkID0gdHJpbSgkX1JFUVVFU1RbJ3R4J10pOwoJICB9CgllbHNlIGlmKCBpc3NldCgkX1JFUVVFU1RbJ3R4bl9pZCddKSApCgkgIHsKCSAgICAkdHhuX2lkID0gdHJpbSgkX1JFUVVFU1RbJ3R4bl9pZCddKTsKCSAgfQoKCWlmKCBpc3NldCgkX1JFUVVFU1RbJ2FtdCddKSApCgkgIHsKCSAgICAkYW10ID0gJF9SRVFVRVNUWydhbXQnXTsKCSAgfQoJZWxzZSBpZiggaXNzZXQoJF9SRVFVRVNUWydtY19ncm9zcyddKSApCgkgIHsKCSAgICAkYW10ID0gJF9SRVFVRVNUWydtY19ncm9zcyddOwoJICB9CgoJaWYoIGVtcHR5KCRhbXQpICkKCSAgewoJICAgICR0aGlzLT5BdWRpdCgnJywkdGhpcy0+R2V0TmFtZSgpLic6cmV0dXJuX3N1Y2Nlc3MnLCR0aGlzLT5sYW5nKCdlcnJvcl90cmFuc2FjdGlvbl9pbnZhbGlkX2Ftb3VudCcpKTsKCSAgfQoJZWxzZSBpZiggaXNzZXQoJHRoaXMtPl9kYXRhWydhbW91bnQnXSkgJiYgJGFtdCAhPSAkdGhpcy0+X2RhdGFbJ2Ftb3VudCddICkKCSAgewoJICAgIC8vIGFtb3VudCBpcyBpbnZhbGlkLCB0aGF0J3Mgd29ua3kKCSAgICAkdGhpcy0+QXVkaXQoJycsJHRoaXMtPkdldE5hbWUoKS4nOnJldHVybl9zdWNjZXNzJywkdGhpcy0+bGFuZygnZXJyb3JfdHJhbnNhY3Rpb25faW52YWxpZF9hbW91bnQnKSk7CgkgIH0KCglpZiggaXNzZXQoJF9SRVFVRVNUWydjYyddKSApCgkgIHsKCSAgICAkY3VycmVuY3kgPSAkX1JFUVVFU1RbJ2NjJ107CgkgIH0KCWVsc2UgaWYoIGlzc2V0KCRfUkVRVUVTVFsnbWNfY3VycmVuY3knXSkgKQoJICB7CgkgICAgJGN1cnJlbmN5ID0gJF9SRVFVRVNUWydtY19jdXJyZW5jeSddOwoJICB9CgoJaWYoIGVtcHR5KCRjdXJyZW5jeSkgKQoJICB7CgkgICAgJHRoaXMtPkF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCkuJzpyZXR1cm5fc3VjY2VzcycsJHRoaXMtPmxhbmcoJ21zZ190cmFuc2FjdGlvbl9pbnZhbGlkX2N1cnJlbmN5JykpOwoJICB9CgllbHNlIGlmKCAkY3VycmVuY3kgIT0gY2dfZWNvbW06OmdldF9jdXJyZW5jeV9jb2RlKCkgKQoJICB7CgkgICAgJHRoaXMtPkF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCkuJzpyZXR1cm5fc3VjY2VzcycsJHRoaXMtPmxhbmcoJ21zZ190cmFuc2FjdGlvbl9pbnZhbGlkX2N1cnJlbmN5JykpOwoJICB9CgoJJHRoaXMtPlNldFRyYW5zYWN0aW9uSWQoJHR4bl9pZCk7CgkkdGhpcy0+U2V0VHJhbnNhY3Rpb25BbW91bnQoJGFtdCk7CgkkdGhpcy0+U2V0U3RhdHVzKFBBWU1FTlRfU1RBVFVTX1BFTkRJTkcpOwoKCWlmKCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZW5hYmxlX2lwbicpICkKCSAgewoJICAgICR0aGlzLT5TZXRTdGF0dXMoUEFZTUVOVF9TVEFUVVNfTk9ORSk7CgkgICAgJHRoaXMtPkF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCkuJzpyZXR1cm5fc3VjY2VzcycsJHRoaXMtPkxhbmcoJ21zZ190cmFuc2FjdGlvbl93YWl0aW5naXBuJywkdHhuX2lkLCR0aGlzLT5fZGF0YVsnaW52b2ljZSddKSk7CgkgICAgJHRoaXMtPkZpbmlzaFRyYW5zYWN0aW9uKCk7CgkgICAgcmV0dXJuOwoJICB9CgllbHNlIGlmKCBlbXB0eSgkdG9rZW4pIHx8IAoJICAgIChpc3NldCgkY29uZmlnWydwYXlwYWxfc2tpcF9wZHQnXSkgJiYgJGNvbmZpZ1sncGF5cGFsX3NraXBfcGR0J10gPT0gMSkgKQoJICB7CgkgICAgLy8gc2tpcCB0aGUgcGR0IHN0dWZmLgoJICAgICR0aGlzLT5BdWRpdCgnJywkdGhpcy0+R2V0TmFtZSgpLic6cmV0dXJuX3N1Y2Nlc3MnLCR0aGlzLT5MYW5nKCdtc2dfdHJhbnNhY3Rpb25fc3VjY2Vzc19ub3BkdCcsJHR4bl9pZCkpOwoJICAgICR0aGlzLT5TZXRTdGF0dXMoUEFZTUVOVF9TVEFUVVNfQVBQUk9WRUQpOwoJICAgICR0aGlzLT5GaW5pc2hUcmFuc2FjdGlvbigpOwoJICAgIHJldHVybjsKCSAgfQoKCS8vIElQTiBpcyBkaXNhYmxlZCwgYW5kIHdlIGNhbiBkbyBQRFQKCSRwb3N0ZGF0YSA9IGFycmF5KCk7CgkkcG9zdGRhdGFbJ3R4J10gPSAkdHhuX2lkOwoJJHBvc3RkYXRhWydhdCddID0gJHRva2VuOwoJJHBvc3RkYXRhWydjbWQnXSA9ICdfbm90aWZ5LXN5bmNoJzsKCSR0bXAgPSAkdGhpcy0+aHR0cF9wb3N0KCR1cmwsJHBvc3RkYXRhKTsKCglpZiggZW1wdHkoJHRtcCkgJiYgIWVtcHR5KCR0b2tlbikgKQoJICB7CgkgICAgLy8gcGR0IGZhaWxlZC4KCSAgICAkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ2Vycm9yX3JldHJpZXZlX3RyYW5zYWN0aW9uX2RhdGEnKSk7CgkgIH0KCWVsc2UgaWYoICFlbXB0eSgkdG9rZW4pICkKCSAgewoKCSAgICAkdG1wMiA9IGV4cGxvZGUoIlxuIiwkdG1wKTsKCSAgICAkcmVzdWx0ID0gYXJyYXkoKTsKCSAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkdG1wMik7ICRpKysgKQoJICAgICAgewoJCSRzdHIgPSB0cmltKCR0bXAyWyRpXSk7CgkJaWYoIGVtcHR5KCRzdHIpICkgY29udGludWU7CgkJaWYoICRpID09IDAgKQoJCSAgewoJCSAgICAkcmVzdWx0WydTVEFUVVMnXSA9ICRzdHI7CgkJICB9CgkJZWxzZQoJCSAgewoJCSAgICBpZiggc3Ryc3RyKCRzdHIsJz0nKSAhPT0gRkFMU0UgKQoJCSAgICAgIHsKCQkJbGlzdCgkaywkdikgPSBleHBsb2RlKCc9Jywkc3RyLDIpOwoJCQkkcmVzdWx0WyRrXSA9ICR2OwoJCSAgICAgIH0KCQkgIH0KCSAgICAgIH0KCgkgICAgaWYoICRyZXN1bHRbJ1NUQVRVUyddICE9ICdTVUNDRVNTJyB8fCAhaXNzZXQoJHJlc3VsdFsndHhuX2lkJ10pICkKCSAgICAgIHsKCQkvLyBzdHJhbmdlIHBkdCBwcm9ibGVtLgoJCSR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfdHJhbnNhY3Rpb25fcGR0X2ZhaWxlZCcpLicgLSBzdGF0dXMgPSAnLiRyZXN1bHRbJ1NUQVRVUyddKTsKCQkkdGhpcy0+QXVkaXQoJycsJHRoaXMtPkdldE5hbWUoKS4nOnJldHVybl9zdWNjZXNzJywkdGhpcy0+TGFuZygnZXJyb3JfdHJhbnNhY3Rpb25fcGR0X2ZhaWxlZCcpKTsKCSAgICAgIH0KCSAgICBlbHNlCgkgICAgICB7CgkJJHRoaXMtPlNldFRyYW5zYWN0aW9uSWQoJHR4bl9pZCk7CgkJaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdlbmFibGVfaXBuJywwKSApCgkJICB7CgkJICAgICR0aGlzLT5BdWRpdCgnJywkdGhpcy0+R2V0TmFtZSgpLic6cmV0dXJuX3N1Y2Nlc3MnLCR0aGlzLT5MYW5nKCdtc2dfdHJhbnNhY3Rpb25fd2FpdGluZ2lwbicsJHJlc3VsdFsndHhuX2lkJ10sJHRoaXMtPl9kYXRhWydpbnZvaWNlJ10pKTsKCQkgICAgJHRoaXMtPlNldFN0YXR1cyhQQVlNRU5UX1NUQVRVU19QRU5ESU5HKTsKCQkgIH0KCQllbHNlCgkJICB7CgkJICAgICR0aGlzLT5BdWRpdCgnJywkdGhpcy0+R2V0TmFtZSgpLic6cmV0dXJuX3N1Y2Nlc3MnLCR0aGlzLT5MYW5nKCdtc2dfdHJhbnNhY3Rpb25fc3VjY2VzcycsJHJlc3VsdFsndHhuX2lkJ10pKTsKCQkgICAgJHRoaXMtPlNldFN0YXR1cyhQQVlNRU5UX1NUQVRVU19BUFBST1ZFRCk7CgkJICB9CgkgICAgICB9CgkgIH0KICAgICAgfQogIH0KCiR0aGlzLT5GaW5pc2hUcmFuc2FjdGlvbigpOwoKLy8gRU9GCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/changelog.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPgogPGxpPlZlcnNpb24gMi4wIC0gY2FsZ3V5MTAwMAogICA8dWw+CiAgICAgPGxpPk5vdyBiYXNlZCBvbiBDR1BheW1lbnRHYXRld2F5IEJhc2U8L2xpPgogICAgIDxsaT5BZGRzIHRoZSBhYmlsaXR5IHRvIGRvIFBEVCBkYXRhIHRyYW5zZmVyczwvbGk+CiAgICAgPGxpPk51bWVyb3VzIGJ1ZyBmaXhlcy48L2xpPgogICA8L3VsPgogPC9saT4KCiA8bGk+VmVyc2lvbiAyLjEgLSBBdWd1c3QgMjAwOSAtIGNhbGd1eTEwMDAKICAgPHVsPgogICAgIDxsaT5BZGRzIHBheXBhbCBJUE4gc3VwcG9ydC48L2xpPgogICAgIDxsaT5NdW5nZSBhbGwgbGluZSBpdGVtcyBpbnRvIG9uZSwgaWYgdGhlcmUgaXMgYSBuZWdhdGl2ZSBsaW5lIGl0ZW0uPC9saT4KICAgICA8bGk+Rm9yY2UgaW5jcmVtZW50YWwgaXRlbSBudW1iZXJzLjwvbGk+CiAgIDwvdWw+CiA8L2xpPgoKIDxsaT5WZXJzaW9uIDIuMS4yIC0gT2N0b2JlciAyMDA5IC0gY2FsZ3V5MTAwMAogICA8dWw+CiAgICAgPGxpPkFkZCBhYmlsaXR5IHRvIGRpc2FibGUgUERUIGlmIHRoZSBpZGVudGl0eSB0b2tlbiBpcyBlbXB0eS48L2xpPgogICAgIDxsaT5Db21wYXRpYmlsaXR5IHdpdGggbmV3IENHUGF5bWVudEdhdGV3YXlCYXNlPC9saT4KICAgPC91bD4KIDwvbGk+CgogPGxpPlZlcnNpb24gMi4xLjMgLSBPY3RvYmVyIDIwMDkgLSBjYWxndXkxMDAwCiAgIDx1bD4KICAgICA8bGk+QWRkIGNoZWNrIGZvciBtY3J5cHQgZnVuY3Rpb25hbGl0eS48L2xpPgogICA8L3VsPgogPC9saT4KCiA8bGk+VmVyc2lvbiAyLjEuNCAtIE5vdmVtYmVyIDIwMDkgLSBjYWxndXkxMDAwCiAgIDx1bD4KICAgICA8bGk+VXNlIG51bWJlcl9mb3JtYXQgaW5zdGVhZCBvZiBzcHJpbnRmKCclLjJmJywuLi4pOyB0byBob3BlZnVsbHkgZml4IGlzc3VlcyB3aXRoIGRpZmZlcmVudCBsb2NhbGVzLjwvbGk+CiAgIDwvdWw+CiA8L2xpPgogPGxpPlZlcnNpb24gMi4xLjQgLSBBcHJpbCwgMjAxMCAtIGNhbGd1eTEwMDAKICAgPHVsPgogICAgIDxsaT5BZGRzIHRoZSBTZXRCaWxsaW5nQWRkcmVzcyBtZXRob2QuPC9saT4KICAgPC91bD4KIDwvbGk+CiA8bGk+VmVyc2lvbiAyLjEuNSAtIEp1bHksIDIwMTAgLSBjYWxndXkxMDAwCiAgIDx1bD4KICAgICA8bGk+Tm93IHdvcmtzIHdpdGggQ0dQYXltZW50R2F0ZXdheUJhc2UgMS4wLjc8L2xpPgogICA8L3VsPgogPC9saT4gIAogPGxpPlZlcnNpb24gMi4xLjkgLSBBdWd1c3QsIDIwMTAgLSBjYWxndXkxMDAwCiAgIDx1bD4KICAgICA8bGk+Tm93IHdvcmtzIHdpdGggQ0dQYXltZW50R2F0ZXdheUJhc2UgMS4wLjg8L2xpPgogICAgIDxsaT5Ob3cgaGFuZGxlcyBzdWJzY3JpcHRpb25zICh3aGVuIElQTiBpcyBlbmFibGVkKTwvbGk+CiAgICAgPGxpPkNvbXBsZXRlIHJld3JpdGUgdG8gdGhlIElQTiBldmVudCBoYW5kbGluZy48L2xpPgogICA8L3VsPgogPC9saT4gCiA8bGk+VmVyc2lvbiAyLjIgLSBTZXB0ZW1iZXIsIDIwMTAgLSBjYWxndXkxMDAwCiAgPHVsPgogICAgIDxsaT5SZXdyaXR0ZW4gYWRtaW4gaW50ZXJmYWNlLCBzYW5kYm94IHNldHRpbmdzIGFuZCBwcm9kdWN0aW9uIHNldHRpbmdzIGNhbiBiZSBrZXB0IHNlcGVyYXRlbHkuPC9saT4KICAgICA8bGk+TWlub3IgZml4ZXMgd3J0IHdlaWdodCB1bmludHMgbm90IGJlaW5nIHNwZWNpZmllZC48L2xpPgogICAgIDxsaT5NaW5vciBmaXhlcyB0byBJUE4gc3R1ZmYuPC9saT4KICA8L3VsPgogPC9saT4KIDxsaT5WZXJzaW9uIDIuMi4xIC0gT2N0b2JlciwgMjAxMCAtIGNhbGd1eTEwMDAKICAgPHVsPgogICAgIDxsaT5GaXhlZCBhbiBpbXBvcnRhbnQgYnVnIGluIHRyYW5zbGF0aW5nIGl0ZW0gZGVzY3JpcHRpb25zLjwvbGk+CiAgIDwvdWw+IAogPC9saT4KIDxsaT5WZXJzaW9uIDIuMi4zIC0gRmVicnVhcnksIDIwMTEgLSBjYWxndXkxMDAwCiAgIDx1bD4KICAgICA8bGk+Rml4ZXMgaXNzdWVzIHdpdGggY2hhbmdlZCBwYXJhbWV0ZXJzIHRyYW5zbWl0dGVkIGZyb20gUGF5cGFsLjwvbGk+CiAgIDwvdWw+IAogPC9saT4KPC91bD4K]]></data>
	</file>
	<file>
	  <filename>/doc/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/COPYING</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ICAgICAgICAgICAgICAgICAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQogICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMywgMjkgSnVuZSAyMDA3CgogQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiA8aHR0cDovL2ZzZi5vcmcvPgogRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCiBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVhbWJsZQoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgYSBmcmVlLCBjb3B5bGVmdCBsaWNlbnNlIGZvcgpzb2Z0d2FyZSBhbmQgb3RoZXIga2luZHMgb2Ygd29ya3MuCgogIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhbmQgb3RoZXIgcHJhY3RpY2FsIHdvcmtzIGFyZSBkZXNpZ25lZAp0byB0YWtlIGF3YXkgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgdGhlIHdvcmtzLiAgQnkgY29udHJhc3QsCnRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvCnNoYXJlIGFuZCBjaGFuZ2UgYWxsIHZlcnNpb25zIG9mIGEgcHJvZ3JhbS0tdG8gbWFrZSBzdXJlIGl0IHJlbWFpbnMgZnJlZQpzb2Z0d2FyZSBmb3IgYWxsIGl0cyB1c2Vycy4gIFdlLCB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCB1c2UgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3N0IG9mIG91ciBzb2Z0d2FyZTsgaXQgYXBwbGllcyBhbHNvIHRvCmFueSBvdGhlciB3b3JrIHJlbGVhc2VkIHRoaXMgd2F5IGJ5IGl0cyBhdXRob3JzLiAgWW91IGNhbiBhcHBseSBpdCB0bwp5b3VyIHByb2dyYW1zLCB0b28uCgogIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QKcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQpoYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UgZm9yCnRoZW0gaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQgaWYgeW91CndhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQgaW4gbmV3CmZyZWUgcHJvZ3JhbXMsIGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLgoKICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIHByZXZlbnQgb3RoZXJzIGZyb20gZGVueWluZyB5b3UKdGhlc2UgcmlnaHRzIG9yIGFza2luZyB5b3UgdG8gc3VycmVuZGVyIHRoZSByaWdodHMuICBUaGVyZWZvcmUsIHlvdSBoYXZlCmNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIHNvZnR3YXJlLCBvciBpZgp5b3UgbW9kaWZ5IGl0OiByZXNwb25zaWJpbGl0aWVzIHRvIHJlc3BlY3QgdGhlIGZyZWVkb20gb2Ygb3RoZXJzLgoKICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyCmdyYXRpcyBvciBmb3IgYSBmZWUsIHlvdSBtdXN0IHBhc3Mgb24gdG8gdGhlIHJlY2lwaWVudHMgdGhlIHNhbWUKZnJlZWRvbXMgdGhhdCB5b3UgcmVjZWl2ZWQuICBZb3UgbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUKb3IgY2FuIGdldCB0aGUgc291cmNlIGNvZGUuICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkKa25vdyB0aGVpciByaWdodHMuCgogIERldmVsb3BlcnMgdGhhdCB1c2UgdGhlIEdOVSBHUEwgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIHR3byBzdGVwczoKKDEpIGFzc2VydCBjb3B5cmlnaHQgb24gdGhlIHNvZnR3YXJlLCBhbmQgKDIpIG9mZmVyIHlvdSB0aGlzIExpY2Vuc2UKZ2l2aW5nIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSBpdC4KCiAgRm9yIHRoZSBkZXZlbG9wZXJzJyBhbmQgYXV0aG9ycycgcHJvdGVjdGlvbiwgdGhlIEdQTCBjbGVhcmx5IGV4cGxhaW5zCnRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoaXMgZnJlZSBzb2Z0d2FyZS4gIEZvciBib3RoIHVzZXJzJyBhbmQKYXV0aG9ycycgc2FrZSwgdGhlIEdQTCByZXF1aXJlcyB0aGF0IG1vZGlmaWVkIHZlcnNpb25zIGJlIG1hcmtlZCBhcwpjaGFuZ2VkLCBzbyB0aGF0IHRoZWlyIHByb2JsZW1zIHdpbGwgbm90IGJlIGF0dHJpYnV0ZWQgZXJyb25lb3VzbHkgdG8KYXV0aG9ycyBvZiBwcmV2aW91cyB2ZXJzaW9ucy4KCiAgU29tZSBkZXZpY2VzIGFyZSBkZXNpZ25lZCB0byBkZW55IHVzZXJzIGFjY2VzcyB0byBpbnN0YWxsIG9yIHJ1bgptb2RpZmllZCB2ZXJzaW9ucyBvZiB0aGUgc29mdHdhcmUgaW5zaWRlIHRoZW0sIGFsdGhvdWdoIHRoZSBtYW51ZmFjdHVyZXIKY2FuIGRvIHNvLiAgVGhpcyBpcyBmdW5kYW1lbnRhbGx5IGluY29tcGF0aWJsZSB3aXRoIHRoZSBhaW0gb2YKcHJvdGVjdGluZyB1c2VycycgZnJlZWRvbSB0byBjaGFuZ2UgdGhlIHNvZnR3YXJlLiAgVGhlIHN5c3RlbWF0aWMKcGF0dGVybiBvZiBzdWNoIGFidXNlIG9jY3VycyBpbiB0aGUgYXJlYSBvZiBwcm9kdWN0cyBmb3IgaW5kaXZpZHVhbHMgdG8KdXNlLCB3aGljaCBpcyBwcmVjaXNlbHkgd2hlcmUgaXQgaXMgbW9zdCB1bmFjY2VwdGFibGUuICBUaGVyZWZvcmUsIHdlCmhhdmUgZGVzaWduZWQgdGhpcyB2ZXJzaW9uIG9mIHRoZSBHUEwgdG8gcHJvaGliaXQgdGhlIHByYWN0aWNlIGZvciB0aG9zZQpwcm9kdWN0cy4gIElmIHN1Y2ggcHJvYmxlbXMgYXJpc2Ugc3Vic3RhbnRpYWxseSBpbiBvdGhlciBkb21haW5zLCB3ZQpzdGFuZCByZWFkeSB0byBleHRlbmQgdGhpcyBwcm92aXNpb24gdG8gdGhvc2UgZG9tYWlucyBpbiBmdXR1cmUgdmVyc2lvbnMKb2YgdGhlIEdQTCwgYXMgbmVlZGVkIHRvIHByb3RlY3QgdGhlIGZyZWVkb20gb2YgdXNlcnMuCgogIEZpbmFsbHksIGV2ZXJ5IHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlIHBhdGVudHMuClN0YXRlcyBzaG91bGQgbm90IGFsbG93IHBhdGVudHMgdG8gcmVzdHJpY3QgZGV2ZWxvcG1lbnQgYW5kIHVzZSBvZgpzb2Z0d2FyZSBvbiBnZW5lcmFsLXB1cnBvc2UgY29tcHV0ZXJzLCBidXQgaW4gdGhvc2UgdGhhdCBkbywgd2Ugd2lzaCB0bwphdm9pZCB0aGUgc3BlY2lhbCBkYW5nZXIgdGhhdCBwYXRlbnRzIGFwcGxpZWQgdG8gYSBmcmVlIHByb2dyYW0gY291bGQKbWFrZSBpdCBlZmZlY3RpdmVseSBwcm9wcmlldGFyeS4gIFRvIHByZXZlbnQgdGhpcywgdGhlIEdQTCBhc3N1cmVzIHRoYXQKcGF0ZW50cyBjYW5ub3QgYmUgdXNlZCB0byByZW5kZXIgdGhlIHByb2dyYW0gbm9uLWZyZWUuCgogIFRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kCm1vZGlmaWNhdGlvbiBmb2xsb3cuCgogICAgICAgICAgICAgICAgICAgICAgIFRFUk1TIEFORCBDT05ESVRJT05TCgogIDAuIERlZmluaXRpb25zLgoKICAiVGhpcyBMaWNlbnNlIiByZWZlcnMgdG8gdmVyc2lvbiAzIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KCiAgIkNvcHlyaWdodCIgYWxzbyBtZWFucyBjb3B5cmlnaHQtbGlrZSBsYXdzIHRoYXQgYXBwbHkgdG8gb3RoZXIga2luZHMgb2YKd29ya3MsIHN1Y2ggYXMgc2VtaWNvbmR1Y3RvciBtYXNrcy4KCiAgIlRoZSBQcm9ncmFtIiByZWZlcnMgdG8gYW55IGNvcHlyaWdodGFibGUgd29yayBsaWNlbnNlZCB1bmRlciB0aGlzCkxpY2Vuc2UuICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4gICJMaWNlbnNlZXMiIGFuZAoicmVjaXBpZW50cyIgbWF5IGJlIGluZGl2aWR1YWxzIG9yIG9yZ2FuaXphdGlvbnMuCgogIFRvICJtb2RpZnkiIGEgd29yayBtZWFucyB0byBjb3B5IGZyb20gb3IgYWRhcHQgYWxsIG9yIHBhcnQgb2YgdGhlIHdvcmsKaW4gYSBmYXNoaW9uIHJlcXVpcmluZyBjb3B5cmlnaHQgcGVybWlzc2lvbiwgb3RoZXIgdGhhbiB0aGUgbWFraW5nIG9mIGFuCmV4YWN0IGNvcHkuICBUaGUgcmVzdWx0aW5nIHdvcmsgaXMgY2FsbGVkIGEgIm1vZGlmaWVkIHZlcnNpb24iIG9mIHRoZQplYXJsaWVyIHdvcmsgb3IgYSB3b3JrICJiYXNlZCBvbiIgdGhlIGVhcmxpZXIgd29yay4KCiAgQSAiY292ZXJlZCB3b3JrIiBtZWFucyBlaXRoZXIgdGhlIHVubW9kaWZpZWQgUHJvZ3JhbSBvciBhIHdvcmsgYmFzZWQKb24gdGhlIFByb2dyYW0uCgogIFRvICJwcm9wYWdhdGUiIGEgd29yayBtZWFucyB0byBkbyBhbnl0aGluZyB3aXRoIGl0IHRoYXQsIHdpdGhvdXQKcGVybWlzc2lvbiwgd291bGQgbWFrZSB5b3UgZGlyZWN0bHkgb3Igc2Vjb25kYXJpbHkgbGlhYmxlIGZvcgppbmZyaW5nZW1lbnQgdW5kZXIgYXBwbGljYWJsZSBjb3B5cmlnaHQgbGF3LCBleGNlcHQgZXhlY3V0aW5nIGl0IG9uIGEKY29tcHV0ZXIgb3IgbW9kaWZ5aW5nIGEgcHJpdmF0ZSBjb3B5LiAgUHJvcGFnYXRpb24gaW5jbHVkZXMgY29weWluZywKZGlzdHJpYnV0aW9uICh3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uKSwgbWFraW5nIGF2YWlsYWJsZSB0byB0aGUKcHVibGljLCBhbmQgaW4gc29tZSBjb3VudHJpZXMgb3RoZXIgYWN0aXZpdGllcyBhcyB3ZWxsLgoKICBUbyAiY29udmV5IiBhIHdvcmsgbWVhbnMgYW55IGtpbmQgb2YgcHJvcGFnYXRpb24gdGhhdCBlbmFibGVzIG90aGVyCnBhcnRpZXMgdG8gbWFrZSBvciByZWNlaXZlIGNvcGllcy4gIE1lcmUgaW50ZXJhY3Rpb24gd2l0aCBhIHVzZXIgdGhyb3VnaAphIGNvbXB1dGVyIG5ldHdvcmssIHdpdGggbm8gdHJhbnNmZXIgb2YgYSBjb3B5LCBpcyBub3QgY29udmV5aW5nLgoKICBBbiBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZSBkaXNwbGF5cyAiQXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlcyIKdG8gdGhlIGV4dGVudCB0aGF0IGl0IGluY2x1ZGVzIGEgY29udmVuaWVudCBhbmQgcHJvbWluZW50bHkgdmlzaWJsZQpmZWF0dXJlIHRoYXQgKDEpIGRpc3BsYXlzIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UsIGFuZCAoMikKdGVsbHMgdGhlIHVzZXIgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhlIHdvcmsgKGV4Y2VwdCB0byB0aGUKZXh0ZW50IHRoYXQgd2FycmFudGllcyBhcmUgcHJvdmlkZWQpLCB0aGF0IGxpY2Vuc2VlcyBtYXkgY29udmV5IHRoZQp3b3JrIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIGhvdyB0byB2aWV3IGEgY29weSBvZiB0aGlzIExpY2Vuc2UuICBJZgp0aGUgaW50ZXJmYWNlIHByZXNlbnRzIGEgbGlzdCBvZiB1c2VyIGNvbW1hbmRzIG9yIG9wdGlvbnMsIHN1Y2ggYXMgYQptZW51LCBhIHByb21pbmVudCBpdGVtIGluIHRoZSBsaXN0IG1lZXRzIHRoaXMgY3JpdGVyaW9uLgoKICAxLiBTb3VyY2UgQ29kZS4KCiAgVGhlICJzb3VyY2UgY29kZSIgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsKZm9yIG1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgIk9iamVjdCBjb2RlIiBtZWFucyBhbnkgbm9uLXNvdXJjZQpmb3JtIG9mIGEgd29yay4KCiAgQSAiU3RhbmRhcmQgSW50ZXJmYWNlIiBtZWFucyBhbiBpbnRlcmZhY2UgdGhhdCBlaXRoZXIgaXMgYW4gb2ZmaWNpYWwKc3RhbmRhcmQgZGVmaW5lZCBieSBhIHJlY29nbml6ZWQgc3RhbmRhcmRzIGJvZHksIG9yLCBpbiB0aGUgY2FzZSBvZgppbnRlcmZhY2VzIHNwZWNpZmllZCBmb3IgYSBwYXJ0aWN1bGFyIHByb2dyYW1taW5nIGxhbmd1YWdlLCBvbmUgdGhhdAppcyB3aWRlbHkgdXNlZCBhbW9uZyBkZXZlbG9wZXJzIHdvcmtpbmcgaW4gdGhhdCBsYW5ndWFnZS4KCiAgVGhlICJTeXN0ZW0gTGlicmFyaWVzIiBvZiBhbiBleGVjdXRhYmxlIHdvcmsgaW5jbHVkZSBhbnl0aGluZywgb3RoZXIKdGhhbiB0aGUgd29yayBhcyBhIHdob2xlLCB0aGF0IChhKSBpcyBpbmNsdWRlZCBpbiB0aGUgbm9ybWFsIGZvcm0gb2YKcGFja2FnaW5nIGEgTWFqb3IgQ29tcG9uZW50LCBidXQgd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhhdCBNYWpvcgpDb21wb25lbnQsIGFuZCAoYikgc2VydmVzIG9ubHkgdG8gZW5hYmxlIHVzZSBvZiB0aGUgd29yayB3aXRoIHRoYXQKTWFqb3IgQ29tcG9uZW50LCBvciB0byBpbXBsZW1lbnQgYSBTdGFuZGFyZCBJbnRlcmZhY2UgZm9yIHdoaWNoIGFuCmltcGxlbWVudGF0aW9uIGlzIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluIHNvdXJjZSBjb2RlIGZvcm0uICBBCiJNYWpvciBDb21wb25lbnQiLCBpbiB0aGlzIGNvbnRleHQsIG1lYW5zIGEgbWFqb3IgZXNzZW50aWFsIGNvbXBvbmVudAooa2VybmVsLCB3aW5kb3cgc3lzdGVtLCBhbmQgc28gb24pIG9mIHRoZSBzcGVjaWZpYyBvcGVyYXRpbmcgc3lzdGVtCihpZiBhbnkpIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHdvcmsgcnVucywgb3IgYSBjb21waWxlciB1c2VkIHRvCnByb2R1Y2UgdGhlIHdvcmssIG9yIGFuIG9iamVjdCBjb2RlIGludGVycHJldGVyIHVzZWQgdG8gcnVuIGl0LgoKICBUaGUgIkNvcnJlc3BvbmRpbmcgU291cmNlIiBmb3IgYSB3b3JrIGluIG9iamVjdCBjb2RlIGZvcm0gbWVhbnMgYWxsCnRoZSBzb3VyY2UgY29kZSBuZWVkZWQgdG8gZ2VuZXJhdGUsIGluc3RhbGwsIGFuZCAoZm9yIGFuIGV4ZWN1dGFibGUKd29yaykgcnVuIHRoZSBvYmplY3QgY29kZSBhbmQgdG8gbW9kaWZ5IHRoZSB3b3JrLCBpbmNsdWRpbmcgc2NyaXB0cyB0bwpjb250cm9sIHRob3NlIGFjdGl2aXRpZXMuICBIb3dldmVyLCBpdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB3b3JrJ3MKU3lzdGVtIExpYnJhcmllcywgb3IgZ2VuZXJhbC1wdXJwb3NlIHRvb2xzIG9yIGdlbmVyYWxseSBhdmFpbGFibGUgZnJlZQpwcm9ncmFtcyB3aGljaCBhcmUgdXNlZCB1bm1vZGlmaWVkIGluIHBlcmZvcm1pbmcgdGhvc2UgYWN0aXZpdGllcyBidXQKd2hpY2ggYXJlIG5vdCBwYXJ0IG9mIHRoZSB3b3JrLiAgRm9yIGV4YW1wbGUsIENvcnJlc3BvbmRpbmcgU291cmNlCmluY2x1ZGVzIGludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCBzb3VyY2UgZmlsZXMgZm9yCnRoZSB3b3JrLCBhbmQgdGhlIHNvdXJjZSBjb2RlIGZvciBzaGFyZWQgbGlicmFyaWVzIGFuZCBkeW5hbWljYWxseQpsaW5rZWQgc3VicHJvZ3JhbXMgdGhhdCB0aGUgd29yayBpcyBzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gcmVxdWlyZSwKc3VjaCBhcyBieSBpbnRpbWF0ZSBkYXRhIGNvbW11bmljYXRpb24gb3IgY29udHJvbCBmbG93IGJldHdlZW4gdGhvc2UKc3VicHJvZ3JhbXMgYW5kIG90aGVyIHBhcnRzIG9mIHRoZSB3b3JrLgoKICBUaGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IHVzZXJzCmNhbiByZWdlbmVyYXRlIGF1dG9tYXRpY2FsbHkgZnJvbSBvdGhlciBwYXJ0cyBvZiB0aGUgQ29ycmVzcG9uZGluZwpTb3VyY2UuCgogIFRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBmb3IgYSB3b3JrIGluIHNvdXJjZSBjb2RlIGZvcm0gaXMgdGhhdApzYW1lIHdvcmsuCgogIDIuIEJhc2ljIFBlcm1pc3Npb25zLgoKICBBbGwgcmlnaHRzIGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlIGFyZSBncmFudGVkIGZvciB0aGUgdGVybSBvZgpjb3B5cmlnaHQgb24gdGhlIFByb2dyYW0sIGFuZCBhcmUgaXJyZXZvY2FibGUgcHJvdmlkZWQgdGhlIHN0YXRlZApjb25kaXRpb25zIGFyZSBtZXQuICBUaGlzIExpY2Vuc2UgZXhwbGljaXRseSBhZmZpcm1zIHlvdXIgdW5saW1pdGVkCnBlcm1pc3Npb24gdG8gcnVuIHRoZSB1bm1vZGlmaWVkIFByb2dyYW0uICBUaGUgb3V0cHV0IGZyb20gcnVubmluZyBhCmNvdmVyZWQgd29yayBpcyBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSBvbmx5IGlmIHRoZSBvdXRwdXQsIGdpdmVuIGl0cwpjb250ZW50LCBjb25zdGl0dXRlcyBhIGNvdmVyZWQgd29yay4gIFRoaXMgTGljZW5zZSBhY2tub3dsZWRnZXMgeW91cgpyaWdodHMgb2YgZmFpciB1c2Ugb3Igb3RoZXIgZXF1aXZhbGVudCwgYXMgcHJvdmlkZWQgYnkgY29weXJpZ2h0IGxhdy4KCiAgWW91IG1heSBtYWtlLCBydW4gYW5kIHByb3BhZ2F0ZSBjb3ZlcmVkIHdvcmtzIHRoYXQgeW91IGRvIG5vdApjb252ZXksIHdpdGhvdXQgY29uZGl0aW9ucyBzbyBsb25nIGFzIHlvdXIgbGljZW5zZSBvdGhlcndpc2UgcmVtYWlucwppbiBmb3JjZS4gIFlvdSBtYXkgY29udmV5IGNvdmVyZWQgd29ya3MgdG8gb3RoZXJzIGZvciB0aGUgc29sZSBwdXJwb3NlCm9mIGhhdmluZyB0aGVtIG1ha2UgbW9kaWZpY2F0aW9ucyBleGNsdXNpdmVseSBmb3IgeW91LCBvciBwcm92aWRlIHlvdQp3aXRoIGZhY2lsaXRpZXMgZm9yIHJ1bm5pbmcgdGhvc2Ugd29ya3MsIHByb3ZpZGVkIHRoYXQgeW91IGNvbXBseSB3aXRoCnRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UgaW4gY29udmV5aW5nIGFsbCBtYXRlcmlhbCBmb3Igd2hpY2ggeW91IGRvCm5vdCBjb250cm9sIGNvcHlyaWdodC4gIFRob3NlIHRodXMgbWFraW5nIG9yIHJ1bm5pbmcgdGhlIGNvdmVyZWQgd29ya3MKZm9yIHlvdSBtdXN0IGRvIHNvIGV4Y2x1c2l2ZWx5IG9uIHlvdXIgYmVoYWxmLCB1bmRlciB5b3VyIGRpcmVjdGlvbgphbmQgY29udHJvbCwgb24gdGVybXMgdGhhdCBwcm9oaWJpdCB0aGVtIGZyb20gbWFraW5nIGFueSBjb3BpZXMgb2YKeW91ciBjb3B5cmlnaHRlZCBtYXRlcmlhbCBvdXRzaWRlIHRoZWlyIHJlbGF0aW9uc2hpcCB3aXRoIHlvdS4KCiAgQ29udmV5aW5nIHVuZGVyIGFueSBvdGhlciBjaXJjdW1zdGFuY2VzIGlzIHBlcm1pdHRlZCBzb2xlbHkgdW5kZXIKdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGJlbG93LiAgU3VibGljZW5zaW5nIGlzIG5vdCBhbGxvd2VkOyBzZWN0aW9uIDEwCm1ha2VzIGl0IHVubmVjZXNzYXJ5LgoKICAzLiBQcm90ZWN0aW5nIFVzZXJzJyBMZWdhbCBSaWdodHMgRnJvbSBBbnRpLUNpcmN1bXZlbnRpb24gTGF3LgoKICBObyBjb3ZlcmVkIHdvcmsgc2hhbGwgYmUgZGVlbWVkIHBhcnQgb2YgYW4gZWZmZWN0aXZlIHRlY2hub2xvZ2ljYWwKbWVhc3VyZSB1bmRlciBhbnkgYXBwbGljYWJsZSBsYXcgZnVsZmlsbGluZyBvYmxpZ2F0aW9ucyB1bmRlciBhcnRpY2xlCjExIG9mIHRoZSBXSVBPIGNvcHlyaWdodCB0cmVhdHkgYWRvcHRlZCBvbiAyMCBEZWNlbWJlciAxOTk2LCBvcgpzaW1pbGFyIGxhd3MgcHJvaGliaXRpbmcgb3IgcmVzdHJpY3RpbmcgY2lyY3VtdmVudGlvbiBvZiBzdWNoCm1lYXN1cmVzLgoKICBXaGVuIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIHlvdSB3YWl2ZSBhbnkgbGVnYWwgcG93ZXIgdG8gZm9yYmlkCmNpcmN1bXZlbnRpb24gb2YgdGVjaG5vbG9naWNhbCBtZWFzdXJlcyB0byB0aGUgZXh0ZW50IHN1Y2ggY2lyY3VtdmVudGlvbgppcyBlZmZlY3RlZCBieSBleGVyY2lzaW5nIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2Ugd2l0aCByZXNwZWN0IHRvCnRoZSBjb3ZlcmVkIHdvcmssIGFuZCB5b3UgZGlzY2xhaW0gYW55IGludGVudGlvbiB0byBsaW1pdCBvcGVyYXRpb24gb3IKbW9kaWZpY2F0aW9uIG9mIHRoZSB3b3JrIGFzIGEgbWVhbnMgb2YgZW5mb3JjaW5nLCBhZ2FpbnN0IHRoZSB3b3JrJ3MKdXNlcnMsIHlvdXIgb3IgdGhpcmQgcGFydGllcycgbGVnYWwgcmlnaHRzIHRvIGZvcmJpZCBjaXJjdW12ZW50aW9uIG9mCnRlY2hub2xvZ2ljYWwgbWVhc3VyZXMuCgogIDQuIENvbnZleWluZyBWZXJiYXRpbSBDb3BpZXMuCgogIFlvdSBtYXkgY29udmV5IHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzIHNvdXJjZSBjb2RlIGFzIHlvdQpyZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0IHlvdSBjb25zcGljdW91c2x5IGFuZAphcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2U7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIHN0YXRpbmcgdGhhdCB0aGlzIExpY2Vuc2UgYW5kIGFueQpub24tcGVybWlzc2l2ZSB0ZXJtcyBhZGRlZCBpbiBhY2NvcmQgd2l0aCBzZWN0aW9uIDcgYXBwbHkgdG8gdGhlIGNvZGU7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIG9mIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsgYW5kIGdpdmUgYWxsCnJlY2lwaWVudHMgYSBjb3B5IG9mIHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBQcm9ncmFtLgoKICBZb3UgbWF5IGNoYXJnZSBhbnkgcHJpY2Ugb3Igbm8gcHJpY2UgZm9yIGVhY2ggY29weSB0aGF0IHlvdSBjb252ZXksCmFuZCB5b3UgbWF5IG9mZmVyIHN1cHBvcnQgb3Igd2FycmFudHkgcHJvdGVjdGlvbiBmb3IgYSBmZWUuCgogIDUuIENvbnZleWluZyBNb2RpZmllZCBTb3VyY2UgVmVyc2lvbnMuCgogIFlvdSBtYXkgY29udmV5IGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgb3IgdGhlIG1vZGlmaWNhdGlvbnMgdG8KcHJvZHVjZSBpdCBmcm9tIHRoZSBQcm9ncmFtLCBpbiB0aGUgZm9ybSBvZiBzb3VyY2UgY29kZSB1bmRlciB0aGUKdGVybXMgb2Ygc2VjdGlvbiA0LCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CgogICAgYSkgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgeW91IG1vZGlmaWVkCiAgICBpdCwgYW5kIGdpdmluZyBhIHJlbGV2YW50IGRhdGUuCgogICAgYikgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgaXQgaXMKICAgIHJlbGVhc2VkIHVuZGVyIHRoaXMgTGljZW5zZSBhbmQgYW55IGNvbmRpdGlvbnMgYWRkZWQgdW5kZXIgc2VjdGlvbgogICAgNy4gIFRoaXMgcmVxdWlyZW1lbnQgbW9kaWZpZXMgdGhlIHJlcXVpcmVtZW50IGluIHNlY3Rpb24gNCB0bwogICAgImtlZXAgaW50YWN0IGFsbCBub3RpY2VzIi4KCiAgICBjKSBZb3UgbXVzdCBsaWNlbnNlIHRoZSBlbnRpcmUgd29yaywgYXMgYSB3aG9sZSwgdW5kZXIgdGhpcwogICAgTGljZW5zZSB0byBhbnlvbmUgd2hvIGNvbWVzIGludG8gcG9zc2Vzc2lvbiBvZiBhIGNvcHkuICBUaGlzCiAgICBMaWNlbnNlIHdpbGwgdGhlcmVmb3JlIGFwcGx5LCBhbG9uZyB3aXRoIGFueSBhcHBsaWNhYmxlIHNlY3Rpb24gNwogICAgYWRkaXRpb25hbCB0ZXJtcywgdG8gdGhlIHdob2xlIG9mIHRoZSB3b3JrLCBhbmQgYWxsIGl0cyBwYXJ0cywKICAgIHJlZ2FyZGxlc3Mgb2YgaG93IHRoZXkgYXJlIHBhY2thZ2VkLiAgVGhpcyBMaWNlbnNlIGdpdmVzIG5vCiAgICBwZXJtaXNzaW9uIHRvIGxpY2Vuc2UgdGhlIHdvcmsgaW4gYW55IG90aGVyIHdheSwgYnV0IGl0IGRvZXMgbm90CiAgICBpbnZhbGlkYXRlIHN1Y2ggcGVybWlzc2lvbiBpZiB5b3UgaGF2ZSBzZXBhcmF0ZWx5IHJlY2VpdmVkIGl0LgoKICAgIGQpIElmIHRoZSB3b3JrIGhhcyBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZXMsIGVhY2ggbXVzdCBkaXNwbGF5CiAgICBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzOyBob3dldmVyLCBpZiB0aGUgUHJvZ3JhbSBoYXMgaW50ZXJhY3RpdmUKICAgIGludGVyZmFjZXMgdGhhdCBkbyBub3QgZGlzcGxheSBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzLCB5b3VyCiAgICB3b3JrIG5lZWQgbm90IG1ha2UgdGhlbSBkbyBzby4KCiAgQSBjb21waWxhdGlvbiBvZiBhIGNvdmVyZWQgd29yayB3aXRoIG90aGVyIHNlcGFyYXRlIGFuZCBpbmRlcGVuZGVudAp3b3Jrcywgd2hpY2ggYXJlIG5vdCBieSB0aGVpciBuYXR1cmUgZXh0ZW5zaW9ucyBvZiB0aGUgY292ZXJlZCB3b3JrLAphbmQgd2hpY2ggYXJlIG5vdCBjb21iaW5lZCB3aXRoIGl0IHN1Y2ggYXMgdG8gZm9ybSBhIGxhcmdlciBwcm9ncmFtLAppbiBvciBvbiBhIHZvbHVtZSBvZiBhIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSwgaXMgY2FsbGVkIGFuCiJhZ2dyZWdhdGUiIGlmIHRoZSBjb21waWxhdGlvbiBhbmQgaXRzIHJlc3VsdGluZyBjb3B5cmlnaHQgYXJlIG5vdAp1c2VkIHRvIGxpbWl0IHRoZSBhY2Nlc3Mgb3IgbGVnYWwgcmlnaHRzIG9mIHRoZSBjb21waWxhdGlvbidzIHVzZXJzCmJleW9uZCB3aGF0IHRoZSBpbmRpdmlkdWFsIHdvcmtzIHBlcm1pdC4gIEluY2x1c2lvbiBvZiBhIGNvdmVyZWQgd29yawppbiBhbiBhZ2dyZWdhdGUgZG9lcyBub3QgY2F1c2UgdGhpcyBMaWNlbnNlIHRvIGFwcGx5IHRvIHRoZSBvdGhlcgpwYXJ0cyBvZiB0aGUgYWdncmVnYXRlLgoKICA2LiBDb252ZXlpbmcgTm9uLVNvdXJjZSBGb3Jtcy4KCiAgWW91IG1heSBjb252ZXkgYSBjb3ZlcmVkIHdvcmsgaW4gb2JqZWN0IGNvZGUgZm9ybSB1bmRlciB0aGUgdGVybXMKb2Ygc2VjdGlvbnMgNCBhbmQgNSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBjb252ZXkgdGhlCm1hY2hpbmUtcmVhZGFibGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSwKaW4gb25lIG9mIHRoZXNlIHdheXM6CgogICAgYSkgQ29udmV5IHRoZSBvYmplY3QgY29kZSBpbiwgb3IgZW1ib2RpZWQgaW4sIGEgcGh5c2ljYWwgcHJvZHVjdAogICAgKGluY2x1ZGluZyBhIHBoeXNpY2FsIGRpc3RyaWJ1dGlvbiBtZWRpdW0pLCBhY2NvbXBhbmllZCBieSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGZpeGVkIG9uIGEgZHVyYWJsZSBwaHlzaWNhbCBtZWRpdW0KICAgIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLgoKICAgIGIpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgaW4sIG9yIGVtYm9kaWVkIGluLCBhIHBoeXNpY2FsIHByb2R1Y3QKICAgIChpbmNsdWRpbmcgYSBwaHlzaWNhbCBkaXN0cmlidXRpb24gbWVkaXVtKSwgYWNjb21wYW5pZWQgYnkgYQogICAgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9yIGF0IGxlYXN0IHRocmVlIHllYXJzIGFuZCB2YWxpZCBmb3IgYXMKICAgIGxvbmcgYXMgeW91IG9mZmVyIHNwYXJlIHBhcnRzIG9yIGN1c3RvbWVyIHN1cHBvcnQgZm9yIHRoYXQgcHJvZHVjdAogICAgbW9kZWwsIHRvIGdpdmUgYW55b25lIHdobyBwb3NzZXNzZXMgdGhlIG9iamVjdCBjb2RlIGVpdGhlciAoMSkgYQogICAgY29weSBvZiB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZm9yIGFsbCB0aGUgc29mdHdhcmUgaW4gdGhlCiAgICBwcm9kdWN0IHRoYXQgaXMgY292ZXJlZCBieSB0aGlzIExpY2Vuc2UsIG9uIGEgZHVyYWJsZSBwaHlzaWNhbAogICAgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLCBmb3IgYSBwcmljZSBubwogICAgbW9yZSB0aGFuIHlvdXIgcmVhc29uYWJsZSBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyB0aGlzCiAgICBjb252ZXlpbmcgb2Ygc291cmNlLCBvciAoMikgYWNjZXNzIHRvIGNvcHkgdGhlCiAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBmcm9tIGEgbmV0d29yayBzZXJ2ZXIgYXQgbm8gY2hhcmdlLgoKICAgIGMpIENvbnZleSBpbmRpdmlkdWFsIGNvcGllcyBvZiB0aGUgb2JqZWN0IGNvZGUgd2l0aCBhIGNvcHkgb2YgdGhlCiAgICB3cml0dGVuIG9mZmVyIHRvIHByb3ZpZGUgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhpcwogICAgYWx0ZXJuYXRpdmUgaXMgYWxsb3dlZCBvbmx5IG9jY2FzaW9uYWxseSBhbmQgbm9uY29tbWVyY2lhbGx5LCBhbmQKICAgIG9ubHkgaWYgeW91IHJlY2VpdmVkIHRoZSBvYmplY3QgY29kZSB3aXRoIHN1Y2ggYW4gb2ZmZXIsIGluIGFjY29yZAogICAgd2l0aCBzdWJzZWN0aW9uIDZiLgoKICAgIGQpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIGZyb20gYSBkZXNpZ25hdGVkCiAgICBwbGFjZSAoZ3JhdGlzIG9yIGZvciBhIGNoYXJnZSksIGFuZCBvZmZlciBlcXVpdmFsZW50IGFjY2VzcyB0byB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGluIHRoZSBzYW1lIHdheSB0aHJvdWdoIHRoZSBzYW1lIHBsYWNlIGF0IG5vCiAgICBmdXJ0aGVyIGNoYXJnZS4gIFlvdSBuZWVkIG5vdCByZXF1aXJlIHJlY2lwaWVudHMgdG8gY29weSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLiAgSWYgdGhlIHBsYWNlIHRvCiAgICBjb3B5IHRoZSBvYmplY3QgY29kZSBpcyBhIG5ldHdvcmsgc2VydmVyLCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UKICAgIG1heSBiZSBvbiBhIGRpZmZlcmVudCBzZXJ2ZXIgKG9wZXJhdGVkIGJ5IHlvdSBvciBhIHRoaXJkIHBhcnR5KQogICAgdGhhdCBzdXBwb3J0cyBlcXVpdmFsZW50IGNvcHlpbmcgZmFjaWxpdGllcywgcHJvdmlkZWQgeW91IG1haW50YWluCiAgICBjbGVhciBkaXJlY3Rpb25zIG5leHQgdG8gdGhlIG9iamVjdCBjb2RlIHNheWluZyB3aGVyZSB0byBmaW5kIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UuICBSZWdhcmRsZXNzIG9mIHdoYXQgc2VydmVyIGhvc3RzIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UsIHlvdSByZW1haW4gb2JsaWdhdGVkIHRvIGVuc3VyZSB0aGF0IGl0IGlzCiAgICBhdmFpbGFibGUgZm9yIGFzIGxvbmcgYXMgbmVlZGVkIHRvIHNhdGlzZnkgdGhlc2UgcmVxdWlyZW1lbnRzLgoKICAgIGUpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgdXNpbmcgcGVlci10by1wZWVyIHRyYW5zbWlzc2lvbiwgcHJvdmlkZWQKICAgIHlvdSBpbmZvcm0gb3RoZXIgcGVlcnMgd2hlcmUgdGhlIG9iamVjdCBjb2RlIGFuZCBDb3JyZXNwb25kaW5nCiAgICBTb3VyY2Ugb2YgdGhlIHdvcmsgYXJlIGJlaW5nIG9mZmVyZWQgdG8gdGhlIGdlbmVyYWwgcHVibGljIGF0IG5vCiAgICBjaGFyZ2UgdW5kZXIgc3Vic2VjdGlvbiA2ZC4KCiAgQSBzZXBhcmFibGUgcG9ydGlvbiBvZiB0aGUgb2JqZWN0IGNvZGUsIHdob3NlIHNvdXJjZSBjb2RlIGlzIGV4Y2x1ZGVkCmZyb20gdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGFzIGEgU3lzdGVtIExpYnJhcnksIG5lZWQgbm90IGJlCmluY2x1ZGVkIGluIGNvbnZleWluZyB0aGUgb2JqZWN0IGNvZGUgd29yay4KCiAgQSAiVXNlciBQcm9kdWN0IiBpcyBlaXRoZXIgKDEpIGEgImNvbnN1bWVyIHByb2R1Y3QiLCB3aGljaCBtZWFucyBhbnkKdGFuZ2libGUgcGVyc29uYWwgcHJvcGVydHkgd2hpY2ggaXMgbm9ybWFsbHkgdXNlZCBmb3IgcGVyc29uYWwsIGZhbWlseSwKb3IgaG91c2Vob2xkIHB1cnBvc2VzLCBvciAoMikgYW55dGhpbmcgZGVzaWduZWQgb3Igc29sZCBmb3IgaW5jb3Jwb3JhdGlvbgppbnRvIGEgZHdlbGxpbmcuICBJbiBkZXRlcm1pbmluZyB3aGV0aGVyIGEgcHJvZHVjdCBpcyBhIGNvbnN1bWVyIHByb2R1Y3QsCmRvdWJ0ZnVsIGNhc2VzIHNoYWxsIGJlIHJlc29sdmVkIGluIGZhdm9yIG9mIGNvdmVyYWdlLiAgRm9yIGEgcGFydGljdWxhcgpwcm9kdWN0IHJlY2VpdmVkIGJ5IGEgcGFydGljdWxhciB1c2VyLCAibm9ybWFsbHkgdXNlZCIgcmVmZXJzIHRvIGEKdHlwaWNhbCBvciBjb21tb24gdXNlIG9mIHRoYXQgY2xhc3Mgb2YgcHJvZHVjdCwgcmVnYXJkbGVzcyBvZiB0aGUgc3RhdHVzCm9mIHRoZSBwYXJ0aWN1bGFyIHVzZXIgb3Igb2YgdGhlIHdheSBpbiB3aGljaCB0aGUgcGFydGljdWxhciB1c2VyCmFjdHVhbGx5IHVzZXMsIG9yIGV4cGVjdHMgb3IgaXMgZXhwZWN0ZWQgdG8gdXNlLCB0aGUgcHJvZHVjdC4gIEEgcHJvZHVjdAppcyBhIGNvbnN1bWVyIHByb2R1Y3QgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBwcm9kdWN0IGhhcyBzdWJzdGFudGlhbApjb21tZXJjaWFsLCBpbmR1c3RyaWFsIG9yIG5vbi1jb25zdW1lciB1c2VzLCB1bmxlc3Mgc3VjaCB1c2VzIHJlcHJlc2VudAp0aGUgb25seSBzaWduaWZpY2FudCBtb2RlIG9mIHVzZSBvZiB0aGUgcHJvZHVjdC4KCiAgIkluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiIgZm9yIGEgVXNlciBQcm9kdWN0IG1lYW5zIGFueSBtZXRob2RzLApwcm9jZWR1cmVzLCBhdXRob3JpemF0aW9uIGtleXMsIG9yIG90aGVyIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIGluc3RhbGwKYW5kIGV4ZWN1dGUgbW9kaWZpZWQgdmVyc2lvbnMgb2YgYSBjb3ZlcmVkIHdvcmsgaW4gdGhhdCBVc2VyIFByb2R1Y3QgZnJvbQphIG1vZGlmaWVkIHZlcnNpb24gb2YgaXRzIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhlIGluZm9ybWF0aW9uIG11c3QKc3VmZmljZSB0byBlbnN1cmUgdGhhdCB0aGUgY29udGludWVkIGZ1bmN0aW9uaW5nIG9mIHRoZSBtb2RpZmllZCBvYmplY3QKY29kZSBpcyBpbiBubyBjYXNlIHByZXZlbnRlZCBvciBpbnRlcmZlcmVkIHdpdGggc29sZWx5IGJlY2F1c2UKbW9kaWZpY2F0aW9uIGhhcyBiZWVuIG1hZGUuCgogIElmIHlvdSBjb252ZXkgYW4gb2JqZWN0IGNvZGUgd29yayB1bmRlciB0aGlzIHNlY3Rpb24gaW4sIG9yIHdpdGgsIG9yCnNwZWNpZmljYWxseSBmb3IgdXNlIGluLCBhIFVzZXIgUHJvZHVjdCwgYW5kIHRoZSBjb252ZXlpbmcgb2NjdXJzIGFzCnBhcnQgb2YgYSB0cmFuc2FjdGlvbiBpbiB3aGljaCB0aGUgcmlnaHQgb2YgcG9zc2Vzc2lvbiBhbmQgdXNlIG9mIHRoZQpVc2VyIFByb2R1Y3QgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIHJlY2lwaWVudCBpbiBwZXJwZXR1aXR5IG9yIGZvciBhCmZpeGVkIHRlcm0gKHJlZ2FyZGxlc3Mgb2YgaG93IHRoZSB0cmFuc2FjdGlvbiBpcyBjaGFyYWN0ZXJpemVkKSwgdGhlCkNvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkIHVuZGVyIHRoaXMgc2VjdGlvbiBtdXN0IGJlIGFjY29tcGFuaWVkCmJ5IHRoZSBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24uICBCdXQgdGhpcyByZXF1aXJlbWVudCBkb2VzIG5vdCBhcHBseQppZiBuZWl0aGVyIHlvdSBub3IgYW55IHRoaXJkIHBhcnR5IHJldGFpbnMgdGhlIGFiaWxpdHkgdG8gaW5zdGFsbAptb2RpZmllZCBvYmplY3QgY29kZSBvbiB0aGUgVXNlciBQcm9kdWN0IChmb3IgZXhhbXBsZSwgdGhlIHdvcmsgaGFzCmJlZW4gaW5zdGFsbGVkIGluIFJPTSkuCgogIFRoZSByZXF1aXJlbWVudCB0byBwcm92aWRlIEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiBkb2VzIG5vdCBpbmNsdWRlIGEKcmVxdWlyZW1lbnQgdG8gY29udGludWUgdG8gcHJvdmlkZSBzdXBwb3J0IHNlcnZpY2UsIHdhcnJhbnR5LCBvciB1cGRhdGVzCmZvciBhIHdvcmsgdGhhdCBoYXMgYmVlbiBtb2RpZmllZCBvciBpbnN0YWxsZWQgYnkgdGhlIHJlY2lwaWVudCwgb3IgZm9yCnRoZSBVc2VyIFByb2R1Y3QgaW4gd2hpY2ggaXQgaGFzIGJlZW4gbW9kaWZpZWQgb3IgaW5zdGFsbGVkLiAgQWNjZXNzIHRvIGEKbmV0d29yayBtYXkgYmUgZGVuaWVkIHdoZW4gdGhlIG1vZGlmaWNhdGlvbiBpdHNlbGYgbWF0ZXJpYWxseSBhbmQKYWR2ZXJzZWx5IGFmZmVjdHMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbmV0d29yayBvciB2aW9sYXRlcyB0aGUgcnVsZXMgYW5kCnByb3RvY29scyBmb3IgY29tbXVuaWNhdGlvbiBhY3Jvc3MgdGhlIG5ldHdvcmsuCgogIENvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkLCBhbmQgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uIHByb3ZpZGVkLAppbiBhY2NvcmQgd2l0aCB0aGlzIHNlY3Rpb24gbXVzdCBiZSBpbiBhIGZvcm1hdCB0aGF0IGlzIHB1YmxpY2x5CmRvY3VtZW50ZWQgKGFuZCB3aXRoIGFuIGltcGxlbWVudGF0aW9uIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluCnNvdXJjZSBjb2RlIGZvcm0pLCBhbmQgbXVzdCByZXF1aXJlIG5vIHNwZWNpYWwgcGFzc3dvcmQgb3Iga2V5IGZvcgp1bnBhY2tpbmcsIHJlYWRpbmcgb3IgY29weWluZy4KCiAgNy4gQWRkaXRpb25hbCBUZXJtcy4KCiAgIkFkZGl0aW9uYWwgcGVybWlzc2lvbnMiIGFyZSB0ZXJtcyB0aGF0IHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMKTGljZW5zZSBieSBtYWtpbmcgZXhjZXB0aW9ucyBmcm9tIG9uZSBvciBtb3JlIG9mIGl0cyBjb25kaXRpb25zLgpBZGRpdGlvbmFsIHBlcm1pc3Npb25zIHRoYXQgYXJlIGFwcGxpY2FibGUgdG8gdGhlIGVudGlyZSBQcm9ncmFtIHNoYWxsCmJlIHRyZWF0ZWQgYXMgdGhvdWdoIHRoZXkgd2VyZSBpbmNsdWRlZCBpbiB0aGlzIExpY2Vuc2UsIHRvIHRoZSBleHRlbnQKdGhhdCB0aGV5IGFyZSB2YWxpZCB1bmRlciBhcHBsaWNhYmxlIGxhdy4gIElmIGFkZGl0aW9uYWwgcGVybWlzc2lvbnMKYXBwbHkgb25seSB0byBwYXJ0IG9mIHRoZSBQcm9ncmFtLCB0aGF0IHBhcnQgbWF5IGJlIHVzZWQgc2VwYXJhdGVseQp1bmRlciB0aG9zZSBwZXJtaXNzaW9ucywgYnV0IHRoZSBlbnRpcmUgUHJvZ3JhbSByZW1haW5zIGdvdmVybmVkIGJ5CnRoaXMgTGljZW5zZSB3aXRob3V0IHJlZ2FyZCB0byB0aGUgYWRkaXRpb25hbCBwZXJtaXNzaW9ucy4KCiAgV2hlbiB5b3UgY29udmV5IGEgY29weSBvZiBhIGNvdmVyZWQgd29yaywgeW91IG1heSBhdCB5b3VyIG9wdGlvbgpyZW1vdmUgYW55IGFkZGl0aW9uYWwgcGVybWlzc2lvbnMgZnJvbSB0aGF0IGNvcHksIG9yIGZyb20gYW55IHBhcnQgb2YKaXQuICAoQWRkaXRpb25hbCBwZXJtaXNzaW9ucyBtYXkgYmUgd3JpdHRlbiB0byByZXF1aXJlIHRoZWlyIG93bgpyZW1vdmFsIGluIGNlcnRhaW4gY2FzZXMgd2hlbiB5b3UgbW9kaWZ5IHRoZSB3b3JrLikgIFlvdSBtYXkgcGxhY2UKYWRkaXRpb25hbCBwZXJtaXNzaW9ucyBvbiBtYXRlcmlhbCwgYWRkZWQgYnkgeW91IHRvIGEgY292ZXJlZCB3b3JrLApmb3Igd2hpY2ggeW91IGhhdmUgb3IgY2FuIGdpdmUgYXBwcm9wcmlhdGUgY29weXJpZ2h0IHBlcm1pc3Npb24uCgogIE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSwgZm9yIG1hdGVyaWFsIHlvdQphZGQgdG8gYSBjb3ZlcmVkIHdvcmssIHlvdSBtYXkgKGlmIGF1dGhvcml6ZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXJzIG9mCnRoYXQgbWF0ZXJpYWwpIHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSB3aXRoIHRlcm1zOgoKICAgIGEpIERpc2NsYWltaW5nIHdhcnJhbnR5IG9yIGxpbWl0aW5nIGxpYWJpbGl0eSBkaWZmZXJlbnRseSBmcm9tIHRoZQogICAgdGVybXMgb2Ygc2VjdGlvbnMgMTUgYW5kIDE2IG9mIHRoaXMgTGljZW5zZTsgb3IKCiAgICBiKSBSZXF1aXJpbmcgcHJlc2VydmF0aW9uIG9mIHNwZWNpZmllZCByZWFzb25hYmxlIGxlZ2FsIG5vdGljZXMgb3IKICAgIGF1dGhvciBhdHRyaWJ1dGlvbnMgaW4gdGhhdCBtYXRlcmlhbCBvciBpbiB0aGUgQXBwcm9wcmlhdGUgTGVnYWwKICAgIE5vdGljZXMgZGlzcGxheWVkIGJ5IHdvcmtzIGNvbnRhaW5pbmcgaXQ7IG9yCgogICAgYykgUHJvaGliaXRpbmcgbWlzcmVwcmVzZW50YXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGF0IG1hdGVyaWFsLCBvcgogICAgcmVxdWlyaW5nIHRoYXQgbW9kaWZpZWQgdmVyc2lvbnMgb2Ygc3VjaCBtYXRlcmlhbCBiZSBtYXJrZWQgaW4KICAgIHJlYXNvbmFibGUgd2F5cyBhcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgdmVyc2lvbjsgb3IKCiAgICBkKSBMaW1pdGluZyB0aGUgdXNlIGZvciBwdWJsaWNpdHkgcHVycG9zZXMgb2YgbmFtZXMgb2YgbGljZW5zb3JzIG9yCiAgICBhdXRob3JzIG9mIHRoZSBtYXRlcmlhbDsgb3IKCiAgICBlKSBEZWNsaW5pbmcgdG8gZ3JhbnQgcmlnaHRzIHVuZGVyIHRyYWRlbWFyayBsYXcgZm9yIHVzZSBvZiBzb21lCiAgICB0cmFkZSBuYW1lcywgdHJhZGVtYXJrcywgb3Igc2VydmljZSBtYXJrczsgb3IKCiAgICBmKSBSZXF1aXJpbmcgaW5kZW1uaWZpY2F0aW9uIG9mIGxpY2Vuc29ycyBhbmQgYXV0aG9ycyBvZiB0aGF0CiAgICBtYXRlcmlhbCBieSBhbnlvbmUgd2hvIGNvbnZleXMgdGhlIG1hdGVyaWFsIChvciBtb2RpZmllZCB2ZXJzaW9ucyBvZgogICAgaXQpIHdpdGggY29udHJhY3R1YWwgYXNzdW1wdGlvbnMgb2YgbGlhYmlsaXR5IHRvIHRoZSByZWNpcGllbnQsIGZvcgogICAgYW55IGxpYWJpbGl0eSB0aGF0IHRoZXNlIGNvbnRyYWN0dWFsIGFzc3VtcHRpb25zIGRpcmVjdGx5IGltcG9zZSBvbgogICAgdGhvc2UgbGljZW5zb3JzIGFuZCBhdXRob3JzLgoKICBBbGwgb3RoZXIgbm9uLXBlcm1pc3NpdmUgYWRkaXRpb25hbCB0ZXJtcyBhcmUgY29uc2lkZXJlZCAiZnVydGhlcgpyZXN0cmljdGlvbnMiIHdpdGhpbiB0aGUgbWVhbmluZyBvZiBzZWN0aW9uIDEwLiAgSWYgdGhlIFByb2dyYW0gYXMgeW91CnJlY2VpdmVkIGl0LCBvciBhbnkgcGFydCBvZiBpdCwgY29udGFpbnMgYSBub3RpY2Ugc3RhdGluZyB0aGF0IGl0IGlzCmdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIGEgdGVybSB0aGF0IGlzIGEgZnVydGhlcgpyZXN0cmljdGlvbiwgeW91IG1heSByZW1vdmUgdGhhdCB0ZXJtLiAgSWYgYSBsaWNlbnNlIGRvY3VtZW50IGNvbnRhaW5zCmEgZnVydGhlciByZXN0cmljdGlvbiBidXQgcGVybWl0cyByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcgdW5kZXIgdGhpcwpMaWNlbnNlLCB5b3UgbWF5IGFkZCB0byBhIGNvdmVyZWQgd29yayBtYXRlcmlhbCBnb3Zlcm5lZCBieSB0aGUgdGVybXMKb2YgdGhhdCBsaWNlbnNlIGRvY3VtZW50LCBwcm92aWRlZCB0aGF0IHRoZSBmdXJ0aGVyIHJlc3RyaWN0aW9uIGRvZXMKbm90IHN1cnZpdmUgc3VjaCByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcuCgogIElmIHlvdSBhZGQgdGVybXMgdG8gYSBjb3ZlcmVkIHdvcmsgaW4gYWNjb3JkIHdpdGggdGhpcyBzZWN0aW9uLCB5b3UKbXVzdCBwbGFjZSwgaW4gdGhlIHJlbGV2YW50IHNvdXJjZSBmaWxlcywgYSBzdGF0ZW1lbnQgb2YgdGhlCmFkZGl0aW9uYWwgdGVybXMgdGhhdCBhcHBseSB0byB0aG9zZSBmaWxlcywgb3IgYSBub3RpY2UgaW5kaWNhdGluZwp3aGVyZSB0byBmaW5kIHRoZSBhcHBsaWNhYmxlIHRlcm1zLgoKICBBZGRpdGlvbmFsIHRlcm1zLCBwZXJtaXNzaXZlIG9yIG5vbi1wZXJtaXNzaXZlLCBtYXkgYmUgc3RhdGVkIGluIHRoZQpmb3JtIG9mIGEgc2VwYXJhdGVseSB3cml0dGVuIGxpY2Vuc2UsIG9yIHN0YXRlZCBhcyBleGNlcHRpb25zOwp0aGUgYWJvdmUgcmVxdWlyZW1lbnRzIGFwcGx5IGVpdGhlciB3YXkuCgogIDguIFRlcm1pbmF0aW9uLgoKICBZb3UgbWF5IG5vdCBwcm9wYWdhdGUgb3IgbW9kaWZ5IGEgY292ZXJlZCB3b3JrIGV4Y2VwdCBhcyBleHByZXNzbHkKcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQgb3RoZXJ3aXNlIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgaXQgaXMgdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIKdGhpcyBMaWNlbnNlIChpbmNsdWRpbmcgYW55IHBhdGVudCBsaWNlbnNlcyBncmFudGVkIHVuZGVyIHRoZSB0aGlyZApwYXJhZ3JhcGggb2Ygc2VjdGlvbiAxMSkuCgogIEhvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5b3VyCmxpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcyByZWluc3RhdGVkIChhKQpwcm92aXNpb25hbGx5LCB1bmxlc3MgYW5kIHVudGlsIHRoZSBjb3B5cmlnaHQgaG9sZGVyIGV4cGxpY2l0bHkgYW5kCmZpbmFsbHkgdGVybWluYXRlcyB5b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQKaG9sZGVyIGZhaWxzIHRvIG5vdGlmeSB5b3Ugb2YgdGhlIHZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMKcHJpb3IgdG8gNjAgZGF5cyBhZnRlciB0aGUgY2Vzc2F0aW9uLgoKICBNb3Jlb3ZlciwgeW91ciBsaWNlbnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMKcmVpbnN0YXRlZCBwZXJtYW5lbnRseSBpZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3RpZmllcyB5b3Ugb2YgdGhlCnZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMsIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgeW91IGhhdmUKcmVjZWl2ZWQgbm90aWNlIG9mIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UgKGZvciBhbnkgd29yaykgZnJvbSB0aGF0CmNvcHlyaWdodCBob2xkZXIsIGFuZCB5b3UgY3VyZSB0aGUgdmlvbGF0aW9uIHByaW9yIHRvIDMwIGRheXMgYWZ0ZXIKeW91ciByZWNlaXB0IG9mIHRoZSBub3RpY2UuCgogIFRlcm1pbmF0aW9uIG9mIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgc2VjdGlvbiBkb2VzIG5vdCB0ZXJtaW5hdGUgdGhlCmxpY2Vuc2VzIG9mIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzIG9yIHJpZ2h0cyBmcm9tIHlvdSB1bmRlcgp0aGlzIExpY2Vuc2UuICBJZiB5b3VyIHJpZ2h0cyBoYXZlIGJlZW4gdGVybWluYXRlZCBhbmQgbm90IHBlcm1hbmVudGx5CnJlaW5zdGF0ZWQsIHlvdSBkbyBub3QgcXVhbGlmeSB0byByZWNlaXZlIG5ldyBsaWNlbnNlcyBmb3IgdGhlIHNhbWUKbWF0ZXJpYWwgdW5kZXIgc2VjdGlvbiAxMC4KCiAgOS4gQWNjZXB0YW5jZSBOb3QgUmVxdWlyZWQgZm9yIEhhdmluZyBDb3BpZXMuCgogIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UgaW4gb3JkZXIgdG8gcmVjZWl2ZSBvcgpydW4gYSBjb3B5IG9mIHRoZSBQcm9ncmFtLiAgQW5jaWxsYXJ5IHByb3BhZ2F0aW9uIG9mIGEgY292ZXJlZCB3b3JrCm9jY3VycmluZyBzb2xlbHkgYXMgYSBjb25zZXF1ZW5jZSBvZiB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNtaXNzaW9uCnRvIHJlY2VpdmUgYSBjb3B5IGxpa2V3aXNlIGRvZXMgbm90IHJlcXVpcmUgYWNjZXB0YW5jZS4gIEhvd2V2ZXIsCm5vdGhpbmcgb3RoZXIgdGhhbiB0aGlzIExpY2Vuc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgYW55IGNvdmVyZWQgd29yay4gIFRoZXNlIGFjdGlvbnMgaW5mcmluZ2UgY29weXJpZ2h0IGlmIHlvdSBkbwpub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkgbW9kaWZ5aW5nIG9yIHByb3BhZ2F0aW5nIGEKY292ZXJlZCB3b3JrLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzby4KCiAgMTAuIEF1dG9tYXRpYyBMaWNlbnNpbmcgb2YgRG93bnN0cmVhbSBSZWNpcGllbnRzLgoKICBFYWNoIHRpbWUgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5CnJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZSBvcmlnaW5hbCBsaWNlbnNvcnMsIHRvIHJ1biwgbW9kaWZ5IGFuZApwcm9wYWdhdGUgdGhhdCB3b3JrLCBzdWJqZWN0IHRvIHRoaXMgTGljZW5zZS4gIFlvdSBhcmUgbm90IHJlc3BvbnNpYmxlCmZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdpdGggdGhpcyBMaWNlbnNlLgoKICBBbiAiZW50aXR5IHRyYW5zYWN0aW9uIiBpcyBhIHRyYW5zYWN0aW9uIHRyYW5zZmVycmluZyBjb250cm9sIG9mIGFuCm9yZ2FuaXphdGlvbiwgb3Igc3Vic3RhbnRpYWxseSBhbGwgYXNzZXRzIG9mIG9uZSwgb3Igc3ViZGl2aWRpbmcgYW4Kb3JnYW5pemF0aW9uLCBvciBtZXJnaW5nIG9yZ2FuaXphdGlvbnMuICBJZiBwcm9wYWdhdGlvbiBvZiBhIGNvdmVyZWQKd29yayByZXN1bHRzIGZyb20gYW4gZW50aXR5IHRyYW5zYWN0aW9uLCBlYWNoIHBhcnR5IHRvIHRoYXQKdHJhbnNhY3Rpb24gd2hvIHJlY2VpdmVzIGEgY29weSBvZiB0aGUgd29yayBhbHNvIHJlY2VpdmVzIHdoYXRldmVyCmxpY2Vuc2VzIHRvIHRoZSB3b3JrIHRoZSBwYXJ0eSdzIHByZWRlY2Vzc29yIGluIGludGVyZXN0IGhhZCBvciBjb3VsZApnaXZlIHVuZGVyIHRoZSBwcmV2aW91cyBwYXJhZ3JhcGgsIHBsdXMgYSByaWdodCB0byBwb3NzZXNzaW9uIG9mIHRoZQpDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBmcm9tIHRoZSBwcmVkZWNlc3NvciBpbiBpbnRlcmVzdCwgaWYKdGhlIHByZWRlY2Vzc29yIGhhcyBpdCBvciBjYW4gZ2V0IGl0IHdpdGggcmVhc29uYWJsZSBlZmZvcnRzLgoKICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIgcmVzdHJpY3Rpb25zIG9uIHRoZSBleGVyY2lzZSBvZiB0aGUKcmlnaHRzIGdyYW50ZWQgb3IgYWZmaXJtZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgRm9yIGV4YW1wbGUsIHlvdSBtYXkKbm90IGltcG9zZSBhIGxpY2Vuc2UgZmVlLCByb3lhbHR5LCBvciBvdGhlciBjaGFyZ2UgZm9yIGV4ZXJjaXNlIG9mCnJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIHlvdSBtYXkgbm90IGluaXRpYXRlIGxpdGlnYXRpb24KKGluY2x1ZGluZyBhIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQKYW55IHBhdGVudCBjbGFpbSBpcyBpbmZyaW5nZWQgYnkgbWFraW5nLCB1c2luZywgc2VsbGluZywgb2ZmZXJpbmcgZm9yCnNhbGUsIG9yIGltcG9ydGluZyB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbiBvZiBpdC4KCiAgMTEuIFBhdGVudHMuCgogIEEgImNvbnRyaWJ1dG9yIiBpcyBhIGNvcHlyaWdodCBob2xkZXIgd2hvIGF1dGhvcml6ZXMgdXNlIHVuZGVyIHRoaXMKTGljZW5zZSBvZiB0aGUgUHJvZ3JhbSBvciBhIHdvcmsgb24gd2hpY2ggdGhlIFByb2dyYW0gaXMgYmFzZWQuICBUaGUKd29yayB0aHVzIGxpY2Vuc2VkIGlzIGNhbGxlZCB0aGUgY29udHJpYnV0b3IncyAiY29udHJpYnV0b3IgdmVyc2lvbiIuCgogIEEgY29udHJpYnV0b3IncyAiZXNzZW50aWFsIHBhdGVudCBjbGFpbXMiIGFyZSBhbGwgcGF0ZW50IGNsYWltcwpvd25lZCBvciBjb250cm9sbGVkIGJ5IHRoZSBjb250cmlidXRvciwgd2hldGhlciBhbHJlYWR5IGFjcXVpcmVkIG9yCmhlcmVhZnRlciBhY3F1aXJlZCwgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgYnkgc29tZSBtYW5uZXIsIHBlcm1pdHRlZApieSB0aGlzIExpY2Vuc2UsIG9mIG1ha2luZywgdXNpbmcsIG9yIHNlbGxpbmcgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24sCmJ1dCBkbyBub3QgaW5jbHVkZSBjbGFpbXMgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgb25seSBhcyBhCmNvbnNlcXVlbmNlIG9mIGZ1cnRoZXIgbW9kaWZpY2F0aW9uIG9mIHRoZSBjb250cmlidXRvciB2ZXJzaW9uLiAgRm9yCnB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgImNvbnRyb2wiIGluY2x1ZGVzIHRoZSByaWdodCB0byBncmFudApwYXRlbnQgc3VibGljZW5zZXMgaW4gYSBtYW5uZXIgY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YKdGhpcyBMaWNlbnNlLgoKICBFYWNoIGNvbnRyaWJ1dG9yIGdyYW50cyB5b3UgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZQpwYXRlbnQgbGljZW5zZSB1bmRlciB0aGUgY29udHJpYnV0b3IncyBlc3NlbnRpYWwgcGF0ZW50IGNsYWltcywgdG8KbWFrZSwgdXNlLCBzZWxsLCBvZmZlciBmb3Igc2FsZSwgaW1wb3J0IGFuZCBvdGhlcndpc2UgcnVuLCBtb2RpZnkgYW5kCnByb3BhZ2F0ZSB0aGUgY29udGVudHMgb2YgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24uCgogIEluIHRoZSBmb2xsb3dpbmcgdGhyZWUgcGFyYWdyYXBocywgYSAicGF0ZW50IGxpY2Vuc2UiIGlzIGFueSBleHByZXNzCmFncmVlbWVudCBvciBjb21taXRtZW50LCBob3dldmVyIGRlbm9taW5hdGVkLCBub3QgdG8gZW5mb3JjZSBhIHBhdGVudAooc3VjaCBhcyBhbiBleHByZXNzIHBlcm1pc3Npb24gdG8gcHJhY3RpY2UgYSBwYXRlbnQgb3IgY292ZW5hbnQgbm90IHRvCnN1ZSBmb3IgcGF0ZW50IGluZnJpbmdlbWVudCkuICBUbyAiZ3JhbnQiIHN1Y2ggYSBwYXRlbnQgbGljZW5zZSB0byBhCnBhcnR5IG1lYW5zIHRvIG1ha2Ugc3VjaCBhbiBhZ3JlZW1lbnQgb3IgY29tbWl0bWVudCBub3QgdG8gZW5mb3JjZSBhCnBhdGVudCBhZ2FpbnN0IHRoZSBwYXJ0eS4KCiAgSWYgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywga25vd2luZ2x5IHJlbHlpbmcgb24gYSBwYXRlbnQgbGljZW5zZSwKYW5kIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBpcyBub3QgYXZhaWxhYmxlIGZvciBhbnlvbmUKdG8gY29weSwgZnJlZSBvZiBjaGFyZ2UgYW5kIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIHRocm91Z2ggYQpwdWJsaWNseSBhdmFpbGFibGUgbmV0d29yayBzZXJ2ZXIgb3Igb3RoZXIgcmVhZGlseSBhY2Nlc3NpYmxlIG1lYW5zLAp0aGVuIHlvdSBtdXN0IGVpdGhlciAoMSkgY2F1c2UgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIHRvIGJlIHNvCmF2YWlsYWJsZSwgb3IgKDIpIGFycmFuZ2UgdG8gZGVwcml2ZSB5b3Vyc2VsZiBvZiB0aGUgYmVuZWZpdCBvZiB0aGUKcGF0ZW50IGxpY2Vuc2UgZm9yIHRoaXMgcGFydGljdWxhciB3b3JrLCBvciAoMykgYXJyYW5nZSwgaW4gYSBtYW5uZXIKY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YgdGhpcyBMaWNlbnNlLCB0byBleHRlbmQgdGhlIHBhdGVudApsaWNlbnNlIHRvIGRvd25zdHJlYW0gcmVjaXBpZW50cy4gICJLbm93aW5nbHkgcmVseWluZyIgbWVhbnMgeW91IGhhdmUKYWN0dWFsIGtub3dsZWRnZSB0aGF0LCBidXQgZm9yIHRoZSBwYXRlbnQgbGljZW5zZSwgeW91ciBjb252ZXlpbmcgdGhlCmNvdmVyZWQgd29yayBpbiBhIGNvdW50cnksIG9yIHlvdXIgcmVjaXBpZW50J3MgdXNlIG9mIHRoZSBjb3ZlcmVkIHdvcmsKaW4gYSBjb3VudHJ5LCB3b3VsZCBpbmZyaW5nZSBvbmUgb3IgbW9yZSBpZGVudGlmaWFibGUgcGF0ZW50cyBpbiB0aGF0CmNvdW50cnkgdGhhdCB5b3UgaGF2ZSByZWFzb24gdG8gYmVsaWV2ZSBhcmUgdmFsaWQuCgogIElmLCBwdXJzdWFudCB0byBvciBpbiBjb25uZWN0aW9uIHdpdGggYSBzaW5nbGUgdHJhbnNhY3Rpb24gb3IKYXJyYW5nZW1lbnQsIHlvdSBjb252ZXksIG9yIHByb3BhZ2F0ZSBieSBwcm9jdXJpbmcgY29udmV5YW5jZSBvZiwgYQpjb3ZlcmVkIHdvcmssIGFuZCBncmFudCBhIHBhdGVudCBsaWNlbnNlIHRvIHNvbWUgb2YgdGhlIHBhcnRpZXMKcmVjZWl2aW5nIHRoZSBjb3ZlcmVkIHdvcmsgYXV0aG9yaXppbmcgdGhlbSB0byB1c2UsIHByb3BhZ2F0ZSwgbW9kaWZ5Cm9yIGNvbnZleSBhIHNwZWNpZmljIGNvcHkgb2YgdGhlIGNvdmVyZWQgd29yaywgdGhlbiB0aGUgcGF0ZW50IGxpY2Vuc2UKeW91IGdyYW50IGlzIGF1dG9tYXRpY2FsbHkgZXh0ZW5kZWQgdG8gYWxsIHJlY2lwaWVudHMgb2YgdGhlIGNvdmVyZWQKd29yayBhbmQgd29ya3MgYmFzZWQgb24gaXQuCgogIEEgcGF0ZW50IGxpY2Vuc2UgaXMgImRpc2NyaW1pbmF0b3J5IiBpZiBpdCBkb2VzIG5vdCBpbmNsdWRlIHdpdGhpbgp0aGUgc2NvcGUgb2YgaXRzIGNvdmVyYWdlLCBwcm9oaWJpdHMgdGhlIGV4ZXJjaXNlIG9mLCBvciBpcwpjb25kaXRpb25lZCBvbiB0aGUgbm9uLWV4ZXJjaXNlIG9mIG9uZSBvciBtb3JlIG9mIHRoZSByaWdodHMgdGhhdCBhcmUKc3BlY2lmaWNhbGx5IGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgWW91IG1heSBub3QgY29udmV5IGEgY292ZXJlZAp3b3JrIGlmIHlvdSBhcmUgYSBwYXJ0eSB0byBhbiBhcnJhbmdlbWVudCB3aXRoIGEgdGhpcmQgcGFydHkgdGhhdCBpcwppbiB0aGUgYnVzaW5lc3Mgb2YgZGlzdHJpYnV0aW5nIHNvZnR3YXJlLCB1bmRlciB3aGljaCB5b3UgbWFrZSBwYXltZW50CnRvIHRoZSB0aGlyZCBwYXJ0eSBiYXNlZCBvbiB0aGUgZXh0ZW50IG9mIHlvdXIgYWN0aXZpdHkgb2YgY29udmV5aW5nCnRoZSB3b3JrLCBhbmQgdW5kZXIgd2hpY2ggdGhlIHRoaXJkIHBhcnR5IGdyYW50cywgdG8gYW55IG9mIHRoZQpwYXJ0aWVzIHdobyB3b3VsZCByZWNlaXZlIHRoZSBjb3ZlcmVkIHdvcmsgZnJvbSB5b3UsIGEgZGlzY3JpbWluYXRvcnkKcGF0ZW50IGxpY2Vuc2UgKGEpIGluIGNvbm5lY3Rpb24gd2l0aCBjb3BpZXMgb2YgdGhlIGNvdmVyZWQgd29yawpjb252ZXllZCBieSB5b3UgKG9yIGNvcGllcyBtYWRlIGZyb20gdGhvc2UgY29waWVzKSwgb3IgKGIpIHByaW1hcmlseQpmb3IgYW5kIGluIGNvbm5lY3Rpb24gd2l0aCBzcGVjaWZpYyBwcm9kdWN0cyBvciBjb21waWxhdGlvbnMgdGhhdApjb250YWluIHRoZSBjb3ZlcmVkIHdvcmssIHVubGVzcyB5b3UgZW50ZXJlZCBpbnRvIHRoYXQgYXJyYW5nZW1lbnQsCm9yIHRoYXQgcGF0ZW50IGxpY2Vuc2Ugd2FzIGdyYW50ZWQsIHByaW9yIHRvIDI4IE1hcmNoIDIwMDcuCgogIE5vdGhpbmcgaW4gdGhpcyBMaWNlbnNlIHNoYWxsIGJlIGNvbnN0cnVlZCBhcyBleGNsdWRpbmcgb3IgbGltaXRpbmcKYW55IGltcGxpZWQgbGljZW5zZSBvciBvdGhlciBkZWZlbnNlcyB0byBpbmZyaW5nZW1lbnQgdGhhdCBtYXkKb3RoZXJ3aXNlIGJlIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYXBwbGljYWJsZSBwYXRlbnQgbGF3LgoKICAxMi4gTm8gU3VycmVuZGVyIG9mIE90aGVycycgRnJlZWRvbS4KCiAgSWYgY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3UgKHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgpvdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90CmV4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90IGNvbnZleSBhCmNvdmVyZWQgd29yayBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcwpMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91IG1heQpub3QgY29udmV5IGl0IGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiB5b3UgYWdyZWUgdG8gdGVybXMgdGhhdCBvYmxpZ2F0ZSB5b3UKdG8gY29sbGVjdCBhIHJveWFsdHkgZm9yIGZ1cnRoZXIgY29udmV5aW5nIGZyb20gdGhvc2UgdG8gd2hvbSB5b3UgY29udmV5CnRoZSBQcm9ncmFtLCB0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCB0aG9zZSB0ZXJtcyBhbmQgdGhpcwpMaWNlbnNlIHdvdWxkIGJlIHRvIHJlZnJhaW4gZW50aXJlbHkgZnJvbSBjb252ZXlpbmcgdGhlIFByb2dyYW0uCgogIDEzLiBVc2Ugd2l0aCB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgoKICBOb3R3aXRoc3RhbmRpbmcgYW55IG90aGVyIHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UsIHlvdSBoYXZlCnBlcm1pc3Npb24gdG8gbGluayBvciBjb21iaW5lIGFueSBjb3ZlcmVkIHdvcmsgd2l0aCBhIHdvcmsgbGljZW5zZWQKdW5kZXIgdmVyc2lvbiAzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaW50byBhIHNpbmdsZQpjb21iaW5lZCB3b3JrLCBhbmQgdG8gY29udmV5IHRoZSByZXN1bHRpbmcgd29yay4gIFRoZSB0ZXJtcyBvZiB0aGlzCkxpY2Vuc2Ugd2lsbCBjb250aW51ZSB0byBhcHBseSB0byB0aGUgcGFydCB3aGljaCBpcyB0aGUgY292ZXJlZCB3b3JrLApidXQgdGhlIHNwZWNpYWwgcmVxdWlyZW1lbnRzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCnNlY3Rpb24gMTMsIGNvbmNlcm5pbmcgaW50ZXJhY3Rpb24gdGhyb3VnaCBhIG5ldHdvcmsgd2lsbCBhcHBseSB0byB0aGUKY29tYmluYXRpb24gYXMgc3VjaC4KCiAgMTQuIFJldmlzZWQgVmVyc2lvbnMgb2YgdGhpcyBMaWNlbnNlLgoKICBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucyBvZgp0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsCmJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0bwphZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4KCiAgRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUKUHJvZ3JhbSBzcGVjaWZpZXMgdGhhdCBhIGNlcnRhaW4gbnVtYmVyZWQgdmVyc2lvbiBvZiB0aGUgR05VIEdlbmVyYWwKUHVibGljIExpY2Vuc2UgIm9yIGFueSBsYXRlciB2ZXJzaW9uIiBhcHBsaWVzIHRvIGl0LCB5b3UgaGF2ZSB0aGUKb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZWl0aGVyIG9mIHRoYXQgbnVtYmVyZWQKdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbi4gIElmIHRoZSBQcm9ncmFtIGRvZXMgbm90IHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkCmJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCgogIElmIHRoZSBQcm9ncmFtIHNwZWNpZmllcyB0aGF0IGEgcHJveHkgY2FuIGRlY2lkZSB3aGljaCBmdXR1cmUKdmVyc2lvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGNhbiBiZSB1c2VkLCB0aGF0IHByb3h5J3MKcHVibGljIHN0YXRlbWVudCBvZiBhY2NlcHRhbmNlIG9mIGEgdmVyc2lvbiBwZXJtYW5lbnRseSBhdXRob3JpemVzIHlvdQp0byBjaG9vc2UgdGhhdCB2ZXJzaW9uIGZvciB0aGUgUHJvZ3JhbS4KCiAgTGF0ZXIgbGljZW5zZSB2ZXJzaW9ucyBtYXkgZ2l2ZSB5b3UgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQKcGVybWlzc2lvbnMuICBIb3dldmVyLCBubyBhZGRpdGlvbmFsIG9ibGlnYXRpb25zIGFyZSBpbXBvc2VkIG9uIGFueQphdXRob3Igb3IgY29weXJpZ2h0IGhvbGRlciBhcyBhIHJlc3VsdCBvZiB5b3VyIGNob29zaW5nIHRvIGZvbGxvdyBhCmxhdGVyIHZlcnNpb24uCgogIDE1LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LgoKICBUSEVSRSBJUyBOTyBXQVJSQU5UWSBGT1IgVEhFIFBST0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZCkFQUExJQ0FCTEUgTEFXLiAgRVhDRVBUIFdIRU4gT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQKSE9MREVSUyBBTkQvT1IgT1RIRVIgUEFSVElFUyBQUk9WSURFIFRIRSBQUk9HUkFNICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWQpPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRCBPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgpQVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTQpJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUgUFJPR1JBTSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhFIENPU1QgT0YKQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsIFJFUEFJUiBPUiBDT1JSRUNUSU9OLgoKICAxNi4gTGltaXRhdGlvbiBvZiBMaWFiaWxpdHkuCgogIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORwpXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1PRElGSUVTIEFORC9PUiBDT05WRVlTClRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywgSU5DTFVESU5HIEFOWQpHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HIE9VVCBPRiBUSEUKVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFBST0dSQU0gKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gTE9TUyBPRgpEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZIFlPVSBPUiBUSElSRApQQVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSIFBST0dSQU1TKSwKRVZFTiBJRiBTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgpTVUNIIERBTUFHRVMuCgogIDE3LiBJbnRlcnByZXRhdGlvbiBvZiBTZWN0aW9ucyAxNSBhbmQgMTYuCgogIElmIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnR5IGFuZCBsaW1pdGF0aW9uIG9mIGxpYWJpbGl0eSBwcm92aWRlZAphYm92ZSBjYW5ub3QgYmUgZ2l2ZW4gbG9jYWwgbGVnYWwgZWZmZWN0IGFjY29yZGluZyB0byB0aGVpciB0ZXJtcywKcmV2aWV3aW5nIGNvdXJ0cyBzaGFsbCBhcHBseSBsb2NhbCBsYXcgdGhhdCBtb3N0IGNsb3NlbHkgYXBwcm94aW1hdGVzCmFuIGFic29sdXRlIHdhaXZlciBvZiBhbGwgY2l2aWwgbGlhYmlsaXR5IGluIGNvbm5lY3Rpb24gd2l0aCB0aGUKUHJvZ3JhbSwgdW5sZXNzIGEgd2FycmFudHkgb3IgYXNzdW1wdGlvbiBvZiBsaWFiaWxpdHkgYWNjb21wYW5pZXMgYQpjb3B5IG9mIHRoZSBQcm9ncmFtIGluIHJldHVybiBmb3IgYSBmZWUuCgogICAgICAgICAgICAgICAgICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKCiAgICAgICAgICAgIEhvdyB0byBBcHBseSBUaGVzZSBUZXJtcyB0byBZb3VyIE5ldyBQcm9ncmFtcwoKICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBwcm9ncmFtLCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0CnBvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB0aGUgYmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIHRvIG1ha2UgaXQKZnJlZSBzb2Z0d2FyZSB3aGljaCBldmVyeW9uZSBjYW4gcmVkaXN0cmlidXRlIGFuZCBjaGFuZ2UgdW5kZXIgdGhlc2UgdGVybXMuCgogIFRvIGRvIHNvLCBhdHRhY2ggdGhlIGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBwcm9ncmFtLiAgSXQgaXMgc2FmZXN0CnRvIGF0dGFjaCB0aGVtIHRvIHRoZSBzdGFydCBvZiBlYWNoIHNvdXJjZSBmaWxlIHRvIG1vc3QgZWZmZWN0aXZlbHkKc3RhdGUgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdAp0aGUgImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KCiAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUgcHJvZ3JhbSdzIG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPgogICAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KCiAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCiAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgoKICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCgogIElmIHRoZSBwcm9ncmFtIGRvZXMgdGVybWluYWwgaW50ZXJhY3Rpb24sIG1ha2UgaXQgb3V0cHV0IGEgc2hvcnQKbm90aWNlIGxpa2UgdGhpcyB3aGVuIGl0IHN0YXJ0cyBpbiBhbiBpbnRlcmFjdGl2ZSBtb2RlOgoKICAgIDxwcm9ncmFtPiAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KICAgIFRoaXMgcHJvZ3JhbSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cgdycuCiAgICBUaGlzIGlzIGZyZWUgc29mdHdhcmUsIGFuZCB5b3UgYXJlIHdlbGNvbWUgdG8gcmVkaXN0cmlidXRlIGl0CiAgICB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnM7IHR5cGUgYHNob3cgYycgZm9yIGRldGFpbHMuCgpUaGUgaHlwb3RoZXRpY2FsIGNvbW1hbmRzIGBzaG93IHcnIGFuZCBgc2hvdyBjJyBzaG91bGQgc2hvdyB0aGUgYXBwcm9wcmlhdGUKcGFydHMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBPZiBjb3Vyc2UsIHlvdXIgcHJvZ3JhbSdzIGNvbW1hbmRzCm1pZ2h0IGJlIGRpZmZlcmVudDsgZm9yIGEgR1VJIGludGVyZmFjZSwgeW91IHdvdWxkIHVzZSBhbiAiYWJvdXQgYm94Ii4KCiAgWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHNjaG9vbCwKaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIHByb2dyYW0sIGlmIG5lY2Vzc2FyeS4KRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcywgYW5kIGhvdyB0byBhcHBseSBhbmQgZm9sbG93IHRoZSBHTlUgR1BMLCBzZWUKPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZG9lcyBub3QgcGVybWl0IGluY29ycG9yYXRpbmcgeW91ciBwcm9ncmFtCmludG8gcHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3VyIHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxpYnJhcnksIHlvdQptYXkgY29uc2lkZXIgaXQgbW9yZSB1c2VmdWwgdG8gcGVybWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGgKdGhlIGxpYnJhcnkuICBJZiB0aGlzIGlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUgR05VIExlc3NlciBHZW5lcmFsClB1YmxpYyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLiAgQnV0IGZpcnN0LCBwbGVhc2UgcmVhZAo8aHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvd2h5LW5vdC1sZ3BsLmh0bWw+Lgo=]]></data>
	</file>
	<file>
	  <filename>/function.template_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBheXBhbEdhdGV3YXkgKGMpIDIwMDkgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBwcm9jZXNzCiMgIFBheW1lbnRzIG1hZGUgdXNpbmcgdGhlIEUtY29tbWVyY2Ugc3VpdGUgdGhyb3VnaCB0aGUgQXV0aE5ldCBwYXltZW50CiMgIGdhdGV3YXkuCiMKIyBOb3RlOiBUaGlzIG1vZHVsZSB3YXMgb3JpZ2luYWxseSBzdGFydGVkIGJ5IFRlZCBLdWxwLCBidXQgcmV3cml0dGVuCiMgdW5kZXIgdGhlIHNhbWUgbmFtZSBieSBSb2JlcnQgQ2FtcGJlbGwuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKZWNobyBjZ2VfdGVtcGxhdGVfYWRtaW46OmdldF9zaW5nbGVfdGVtcGxhdGVfZm9ybSgkdGhpcywkaWQsJHJldHVybmlkLAoJCQkJCQkgICdmb3JtX3RlbXBsYXRlJywKCQkJCQkJICAndGVtcGxhdGUnLAoJCQkJCQkgICR0aGlzLT5MYW5nKCdwcm9tcHRfZm9ybV90ZW1wbGF0ZScpLAoJCQkJCQkgICdvcmlnX2Zvcm1fdGVtcGxhdGUudHBsJyk7CiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhQABAAPYAAAAsbgA0cwA5dgA9eQk+egRBfApEflZWVl9fX2tra3Z2dnp6eg1HgA9JgRRMhBxPhhxShx9ViiFWiihXiyVZjCpdjyxekC5gkTNkkzhnlzdolztplz1smUFvm0VynUp0nkx2oU94oFN8o1h+pFmAp12DqWGGq2WJrGqMrm6Qr2uOsW6QsnOUtHiXtnyat3aYuHybuoaGhoyMjJSUlJubm4GeuoWhvYukvpGnv6WlpampqbS0tLq6uoqmwY6pw5OsxZavyJewx5yxxpewyJ20y5+4zaG2zKW5zam7zqW70Ku+0rDAz6/C1LPE1bjH1bzJ1rbH2LfI2bzL2sLCws3NzcHO28PR3crT3NbW1tHX3tPZ3tzc3MTS4MnW4c3Z5NPc5dne49Xf6Nzg5Nfg6dzj6+Tk5eno5+Pm6eTp7evr6/Hv7fLx7+Xr8enu8/Dv8O7y9vPz8/n39P769vP2+fb4+v7+/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAHYAIf8LSUNDUkdCRzEwMTL/AAAMSExpbm8CEAAAbW50clJHQiBYWVogB84AAgAJAAYAMQAAYWNzcE1TRlQAAAAASUVDIHNSR0IAAAAAAAAAAAAAAAAAAPbWAAEAAAAA0y1IUCAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARY3BydAAAAVAAAAAzZGVzYwAAAYQAAABsd3RwdAAAAfAAAAAUYmtwdAAAAgQAAAAUclhZWgAAAhgAAAAUZ1hZWgAAAiwAAAAUYlhZWgAAAkAAAAAUZG1uZAAAAlQAAABwZG1kZAAAAsQAAACIdnVlZAAAA0wAAACGdmll/3cAAAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQMAAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAIDGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAIDHRleHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhld2xldHQtUGFja2FyZCBDb21wYW55AABkZXNjAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAA81EAAf8AAAABFsxYWVogAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z2Rlc2MAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0L/AAAAAAAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2aWV3AAAAAAATpP4AFF8uABDPFAAD7cwABBMLAANcngAAAAFYWVog/wAAAAAATAlWAFAAAABXH+dtZWFzAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAACjwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAABAAAAAAFAAoADwAUABkAHgAjACgALQAyADcAOwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCLAJAAlQCaAJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEHAQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHBAckB0QHZAeEB6QHyAfoCAwIMAv8UAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oDxwPTA+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUcBSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAadBq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDIIRghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWT/CXkJjwmkCboJzwnlCfsKEQonCj0KVApqCoEKmAquCsUK3ArzCwsLIgs5C1ELaQuAC5gLsAvIC+EL+QwSDCoMQwxcDHUMjgynDMAM2QzzDQ0NJg1ADVoNdA2ODakNww3eDfgOEw4uDkkOZA5/DpsOtg7SDu4PCQ8lD0EPXg96D5YPsw/PD+wQCRAmEEMQYRB+EJsQuRDXEPURExExEU8RbRGMEaoRyRHoEgcSJhJFEmQShBKjEsMS4xMDEyMTQxNjE4MTpBPFE+UUBhQnFEkUahSLFK0UzhTwFRIVNBVWFXgVmxW9FeAWAxYmFkkWbBaPFrIW1hb6Fx0XQRdlF4kX/64X0hf3GBsYQBhlGIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEadxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDwIRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXHJfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysCKzYraSudK9EsBSw5LG4soizXLQwtQS12Last4f8uFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kdSWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk3/Sk2TTdxOJU5uTrdPAE9JT5NP3VAnUHFQu1EGUVBRm1HmUjFSfFLHUxNTX1OqU/ZUQlSPVNtVKFV1VcJWD1ZcVqlW91dEV5JX4FgvWH1Yy1kaWWlZuFoHWlZaplr1W0VblVvlXDVchlzWXSddeF3JXhpebF69Xw9fYV+zYAVgV2CqYPxhT2GiYfViSWKcYvBjQ2OXY+tkQGSUZOllPWWSZedmPWaSZuhnPWeTZ+loP2iWaOxpQ2maafFqSGqfavdrT2una/9sV2yvbQhtYG25bhJua27Ebx5veG/RcCtwhnDgcTpxlXHwcktypnMBc11zuHQUdHB0zHUodYV14XY+/3abdvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwhfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4CogQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteHO4efiASIaYjOiTOJmYn+imSKyoswi5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+cHJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiailqMGo3aj5qRWpMelOKWpphqmi6b9p26n4KhSqMSpN6mpqv8cqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJLssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2Pvgq+hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj4+vkc+T85YTmDeaW5x/nqegy6LxU6Ubp0Opb6uXrcOv77IbtEe2c7ijutO9A78zwWPDl8XLx//KM8xnzp/Q09ML1UPXe9m32+/eK+Bn4qPk4+cf6V/rn+3f8B/yY/Sn9uv5L/tz/bf//ACwAAAAAQABAAAAH/oB2goOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6Slpqeog2VlqYxwr3BpsmlmZmmndHR1u7u6db66uXRxsLCbvrzJysvMv8TFt5PN09TNw8WvWJPI1d3MucTPsWlT0t7nysNxcXJpaK+yOpLo9L10sEgmKClXcKzz9ujMmcOtnr1nVzAAMTIBR5wt5gZKfMOmjcGAxVjUqPNlhBM45SLtmvOmF68wbwTyoqir5Dc5deTIISYlg5s4LFjESZMDIJs5v7582fWliRUpSrhYMZLER5IfMFywOPGiBAwvcr6goCABBZoTQuRUCfEkjhlJutqgIeqFTJ03/kq8AKUjpciuIi9S/qSDpo2VGmhYEEGD5saID2nguEDR7h+kX2Es0rHidk6THkWY6BrzYxeQMXXGdKlDxm2dD0g22HgC0wISOFY+VFmThso8NF5GzmETpskQL313JTHy1iIZH798KOEIwYQICzfqpGFRZjqLdml2RMrFhQ3pKE2YECEeGmibFU1WqqhSx0oPoCtENIHzq86Nj1Y2gJmVQCSZ5XTE9RMZndXBhi5E/CAFL0C08EsXuQlRwRliOZGVC2DAcYINZtkSiRlvKUEEEVIgo8QLQBRRBRQw2BDGLj9wYNovP3ggARhykHFGHTUcEccVHFRnizaPjYTGgcnM/iGFFFAEMYQNyNVBhAg93MOCBBiY0IUNItxwgxFCnHDEFSPcoEYt2UEyBTp0NGEDUEaQgMFoVcj4BRrEINFCDSigYMMIHdxwRi1mwKFAkeh84YEIHYjAxAo/IEHCEXWIM84sZ5RhC6HRPGJgRQR1Q4YXXwD1hQolsIbNpbPQQqgZRDoiUAYYdFDCCTD0YAQTUXDRxRhkVFRQMq+I0+osr1bHw2NFEBDAswEAIC0AARjgQAUYeADCCSvA4AMQSDRRhRVjwMJOsXDQJkstq5QBxwKPUFGHBwIMYO+99wogALTRThtAAddicEIcX7QA5RdnOHHFFWKYkSm71R3gqRcP/tSL78UY41uAAQw4wBgSFGTgwRVPdHtDFWKEp7CmsTZSxwoB6KtvxjQPsHEDDkTQRBouZNvCGT+swEIPYFwBBBFJXKGsp3XMUcURPZgAAgUGFHDxzBdv7IADFqQBBggcdGDEGS2w8AIRZvh2hBJgVBcD09+MAUURLJSwAQQONFD1ADMX0PEJcDxxQQcgLJwTDE6UcQQRRzTRbn+OUEFFGnEMu4xfStiggggYXFABV0ikUYMFGqxQhhAqsGBDFlcMUUQSVazSciQyzEDDDli42w0cXzwxdho3oGACEaKrsIIPZTjxA1NZaLrsJgksEIMOVFTHDR0yyVGsGmJo+sQSaUg8UUYTRyDBtqYzkIJAAjpMgUWhuxibhhr0p1EGGFpk0fwq8LZiRwI04AEVtlCodZmhXQicnf8IkYAZtG+Aq9jCFsqgnQU+QgY5oIEFN8jBDnrwgyAMoQhHSMISmvCEKEyhClfIwkYEAgA7]]></data>
	</file>
	<file>
	  <filename>/images/paypal_button.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2luZm9fdGVzdF9zZXR0aW5ncyddID0gJ1doZW4gdGVzdCBtb2RlIGlzIGVuYWJsZWQsIHRoZSBzeXN0ZW13aWxsIHVzZSB0aGUgcGF5cGFsIGRldmVsb3BlciBzYW5kYm94LCB5b3UgbXVzdCBlbnRlciB2YWxpZCBzYW5kYm94IGNyZWRlbnRpYWxzJzsKJGxhbmdbJ2luZm9fcGR0X2lkZW50aXR5X3Rva2VuJ10gPSAnVGhpcyB0b2tlbiBzaG91bGQgYmUgcmV0cmlldmVkIGZyb20gdGhlIHBheXBhbCBidXNpbmVzcyBwcm9maWxlLCBhbmQgZW50ZXJlZCBoZXJlLiAgSWYgbGVmdCBlbXB0eSBQRFQgd2lsbCBiZSBkaXNhYmxlZCc7CiRsYW5nWydwcm9kbW9kZSddID0gJ0VuYWJsZSBQcm9kdWN0aW9uIE1vZGUnOwokbGFuZ1sndGVzdF9zZXR0aW5ncyddID0gJ1Rlc3QgU2V0dGluZ3MnOwokbGFuZ1sncHJvZHVjdGlvbl9zZXR0aW5ncyddID0gJ1Byb2R1Y3Rpb24gU2V0dGluZ3MnOwoKIyBBCiRsYW5nWydhbGxvd19zdWJzY3JpcHRpb25zJ10gPSAnQWxsb3cgU3Vic2NyaXB0aW9ucyc7CiAgCiMgQgokbGFuZ1snYnVzaW5lc3NfZW1haWwnXSA9ICdCdXNpbmVzcyBFbWFpbCc7CgojIEMKJGxhbmdbJ2NoZWNrb3V0X2J1dHRvbl9tZXNzYWdlJ10gPSAnQ2hlY2tvdXQnOwokbGFuZ1snY2hlY2tvdXRfbWVzc2FnZSddID0gJ0NoZWNrb3V0IHdpdGggUGF5cGFsOic7CgojIEUKJGxhbmdbJ2VuYWJsZV9pcG4nXSA9ICdFbmFibGUgUGF5cGFsIElQTic7CiRsYW5nWydlcnJvcl90cmFuc2FjdGlvbl9pbnZhbGlkX2Ftb3VudCddID0gJ0FuIGludmFsaWQgKG5vdCB0aGUgZW50aXJlIGFtb3VudD8pIGFtb3VudCB3YXMgcmVjZWl2ZWQgZm9yIGEgdHJhbnNhY3Rpb24nOwokbGFuZ1snZXJyb3JfdHJhbnNhY3Rpb25faW52YWxpZF9jdXJyZW5jeSddID0gJ1RoZSBjdXJyZW5jeSByZWNlaXZlZCBmcm9tIHRoZSBnYXRld2F5IGRvZXMgbm90IG1hdGNoIG91ciBzZWxlY3RlZCBjdXJyZW5jeSc7CiRsYW5nWydlcnJvcl9pcG5faW52YWxpZF9kYXRhJ10gPSAnSW5zdWZmaWNpZW50IGRhdGEgd2FzIHJlY2VpdmVkIGZyb20gcGF5cGFsIChJUE4pJzsKJGxhbmdbJ2Vycm9yX2lwbl9pbnZhbGlkX29yZGVyaWQnXSA9ICdJbnZhbGlkIG9yIG1pc3Npbmcgb3JkZXIgaWQnOwokbGFuZ1snZXJyb3JfaXBuX3ZlcmlmaWNhdGlvbl9mYWlsZWQnXSA9ICdQYXlwYWwgSVBOIFRyYW5zYWN0aW9uIFZlcmlmaWNhdGlvbiBmYWlsZWQnOwokbGFuZ1snZXJyb3JfbWlzc2luZ19jdXN0b21fdmVyaWZpZXInXSA9ICdBIGNvZGUgdXNkZWQgdG8gdW5pcXVlbHkgaWRlbnRpZnkgdGhpcyB0cmFuc2FjdGlvbiBjb3VsZCBub3QgYmUgZm91bmQgaW4gdGhlIGRhdGEgcmV0dXJuZWQgZnJvbSB0aGUgcGF5bWVudCBnYXRld2F5JzsKJGxhbmdbJ2Vycm9yX25vX21jcnlwdCddID0gJ05vIGVuY3J5cHRpb24gZnVuY3Rpb25hbGl0eSBmb3VuZC4uLiB0aGlzIG1vZHVsZSB3aWxsIG5vdCBmdW5jdGlvbiBwcm9wZXJseSB1bnRpbCBtY3J5cHQgZXh0ZW5zaW9ucyBhcmUgZW5hYmxlZCc7CiRsYW5nWydlcnJvcl9yZXRyaWV2aW5nX3RyYW5zYWN0aW9uX2RhdGEnXSA9ICdBbiBlcnJvciBvY2N1cnJlZCB0cnlpbmcgdG8gcmV0cmlldmUgdHJzbnNhY3Rpb24gaW5mb3JtYXRpb24gZnJvbSB0aGUgZ2F0ZXdheSc7CiRsYW5nWydlcnJvcl9yZXN0b3JpbmdfdHJhbnNhY3Rpb25fc3RhdGUnXSA9ICdBbiBlcnJvciBvY2N1cnJlZCB0cnlpbmcgdG8gcmVzdG9yZSBzYXZlZCB0cmFuc2FjdGlvbiBpbmZvcm1hdGlvbic7CiRsYW5nWydlcnJvcl90cmFuc2FjdGlvbl9mYWlsZWQnXSA9ICdUcmFuc2FjdGlvbiBmYWlsZWQnOwokbGFuZ1snZXJyb3JfdHJhbnNhY3Rpb25faWRfbWlzc2luZyddID0gJ1RoZSB0cmFuc2FjdGlvbiBhcHBlYXJlZCB0byBzdWNjZWVkLCBidXQgd2UgY291bGQgbm90IGZpbmQgYSB0cmFuc2FjdGlvbiBpZCc7CiRsYW5nWydlcnJvcl90cmFuc2FjdGlvbl9wZHRfZmFpbGVkJ10gPSAnUERUIEZhaWxlZCc7CgojIEYKJGxhbmdbJ2Zvcm1fdGVtcGxhdGUnXSA9ICdGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1BheXBhbCBHYXRld2F5JzsKCiMgSAokbGFuZ1snaGVscCddID0gPDw8RU9UCjxoMz5XaGF0IGRvZXMgaXQgZG8/PC9oMz4KICA8cD5UaGlzIG1vZHVsZSBpcyB1c2VkIGJ5IHRoZSBPcmRlcnMgbW9kdWxlIHRvIGNvbXBsZXRlIHB1cmNoYXNlcyB1c2luZyBQYXlwYWxzIFdlYnNpdGUgUGF5bWVudCBTdGFuZGFyZCBtZWNoYW5pc20uICBUaGUgbW9kdWxlIHVzZXMgdGhlIFBEVCBtZXRob2QgZm9yIGNvbXBsZXRpbmcgYSBwdXJjaGFzZSwgYW5kIG9wdGlvbmFsbHkgc3VwcG9ydHMgSVBOIGZ1bmN0aW9uYWxpdHkuICBBZnRlciBhIHN1Y2Nlc3NmdWwgY2hlY2tvdXQsIHVzZXJzIHdpbGwgcmVkaXJlY3QgYmFjayB0byB0aGUgT3JkZXJzIG1vZHVsZSB0byBzaG93IHRoZSBjaGVja291dCByZWNlaXB0IHBhZ2UuICBTZWUgPGEgaHJlZj0iaHR0cDovL2NhbGd1eTEwMDAuY29tL0Jsb2dzLzgvNjAvY21zbXMtcXVpY2stZS1jb21tZXJjZS1ob3ctdG8uaHRtbCI+aHR0cDovL2NhbGd1eTEwMDAuY29tL0Jsb2dzLzgvNjAvY21zbXMtcXVpY2stZS1jb21tZXJjZS1ob3ctdG8uaHRtbDwvYT4gIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGhvdyB0byBzZXR1cCB0aGUgQ2FydCwgT3JkZXJzIGFuZCBvdGhlciBhc3NvY2lhdGVkIG1vZHVsZXMuPC9wPgo8aDM+SG93IERvIEkgdXNlIEl0PC9oMz4KPHA+Rmlyc3QgeW91IHNob3VsZCBlbmFibGUgUERUIGluIHlvdXIgcGF5cGFsIGJ1c2luZXNzIGFjY291bnQsIGFuZCBrZWVwIHRyYWNrIG9mIHRoZSBQRFQgaWRlbnRpdHkgdG9rZW4gYXMgc3VwcGxpZWQgYnkgcGF5cGFsLjwvcD4KPHA+Rm9yIElQTiBzdXBwb3J0IHlvdSB3aWxsIG5lZWQgdG8gZW5hYmxlIFBEVCBpbiB5b3VyIHBheXBhbCBidXNpbmVzcyBhY29jb3VudCwgYW5kIGVudGVyIGEgcmV0dXJuIFVSTCwgdGhvdWdoIHRoaXMgdXJsIGlzIG92ZXJyaWRkZW4gYnkgdGhpcyBtb2R1bGUgYW5kIGNhbiBiZSBpZ25vcmVkLjwvcD4KPHA+VGhpcmRseSwgeW91IHNob3VsZCBhZGp1c3QgdGhlIGxhbmd1YWdlIHNldHRpbmdzIGluIHlvdXIgcGF5cGFsIGJ1c2luZXNzIGFjY291bnQgdG8gZW5zdXJlIHRoZXkgYXJlIHNldCB0byB1dGYtOC48L3A+CjxwPk5leHQsIG9uY2UgYWxsIG9mIHRoZSBkZXBlbmRlbmNpZXMgYXJlIGluc3RhbGxlZCwgeW91IHNpbXBseSBpbnN0YWxsIHRoZSBtb2R1bGUuICB0aGVuIGNvbmZpZ3VyZSB0aGUgbW9kdWxlIFBheXBhbEdhdGVheSBjb250cm9sIHBhbmVsIGluc2lkZSB0aGUgQ01TIE1hZGUgU2ltcGxlIGFkbWluIGNvbnNvbGUuICBTcGVjaWZ5IHRoZSB1cmwgdG8gdXNlIGZvciBwYXlwYWwgdHJhbnNhY3Rpb25zICh0aGUgdGVzdCB1cmwgaXMgcHJvdmlkZWQgYnkgZGVmYXVsdCksIHlvdXIgcGF5cGFsIGFzc29jaWF0ZWQgZW1haWwgYWRkcmVzcywgYW5kIHRoZSBQRFQgaWRlbnRpdHkgdG9rZW4gYXMgZGVzY3JpYmVkIGFib3ZlLjwvcD4KPHA+VGhpcmRseSwgbmF2aWdhdGUgdG8gdGhlIHByZWZlcmVuY2VzIHRhYiBpbiB0aGUgT3JkZXJzIG1vZHVsZSBhbmQgc2VsZWN0IHRoaXMgbW9kdWxlIGFzIHlvdXIgY2hvc2VuIHBheW1lbnQgZ2F0ZXdheS48L3A+CjxoMz5MaW1pdGF0aW9uczwvaDM+CjxwPlRoZSBXZWJzaXRlIFBheW1lbnQgU3RhbmRhcmQgQVBJIGZyb20gUGF5cGFsIGlzIHJhdGhlciBsaW1pdGVkIGluIGl0cyBmdW5jdGlvbmFsaXR5LCB0aGVyZWZvcmUgYSBudW1iZXIgb2Ygc3RlcHMgaGF2ZSBiZWVuIHRha2VuIHRvIG92ZXJjb21lIGFzIG11Y2ggYXMgcG9zc2libGUgdGhlc2UgbGltaXRhdGlvbnM6PC9wPgo8dWw+CjxsaT5UYXhlczoKPHA+QXQgdGhlIHRpbWUgb2Ygd3JpdGluZywgdGhlIFdQUyBzdGFuZGFyZCBkaWQgbm90IHN1cHBvcnQgbXVsdGlwbGUgdGF4ZXMsIGJ1dCB0aGUgT3JkZXJzIG1vZHVsZSBkb2VzLCBUaGVyZWZvcmUgYWxsIHRheGVzIGFyZSBlbnRlcmVkIGFzIGxpbmUgaXRlbXMuPC9wPgo8L2xpPgoKPGxpPlNoaXBwaW5nOgo8cD5BdCB0aGUgdGltZSBvZiB3cml0aW5nLCB0aGUgV1BTIHN0YW5kYXJkIGRpZCBub3Qgc3VwcG9ydCBzaGlwcGluZyBjb3N0cywgb3IgZGVzY3JpcHRpb25zIGZvciBzaGlwcGluZywgaG93ZXZlciB0aGUgT3JkZXJzIG1vZHVsZSBpcyBtb3ZpbmcgaW4gdGhhdCBkaXJlY3Rpb24sIFRoZXJlZm9yZSBhbGwgc2hpcHBpbmcgY29zdHMgYXJlIGVudGVyZWQgYXMgbGluZSBpdGVtcy48L3A+CjwvbGk+Cgo8bGk+RGlzY291bnRzIC8gTmVnYXRpdmUgVmFsdWVzOgo8cD5BdCB0aGUgdGltZSBvZiB3cml0aW5nLCB0aGUgV1BTIHN0YW5kYXJkIGRpZCBub3Qgc3VwcG9ydCBuZWdhdGl2ZSBhbW91bnQgdmFsdWVzIGZvciBpdGVtcyBzdWNoIGFzIGRpc2NvdW50cy4gIEhvd2V2ZXIsIHRoZSBQcm9tb3Rpb25zIG1vZHVsZSBkb2VzLiAgVGhlcmVmb3JlIGlmIGEgbmVnYXRpdmUgdmFsdWUgaXMgZGV0ZWN0ZWQgaW4gdGhlIGl0ZW1zIHByb3ZpZGVkIHRvIHRoaXMgbW9kdWxlLCB0aGUgbW9kdWxlIHdpbGwgbXVuZ2UgdGhlIGVudGlyZSBvcmRlciBpbnRvIG9uZSBsaW5lIGl0ZW0gb2YgdGhlIGFwcHJvcHJpYXRlIGFtb3VudC48L3A+CjwvbGk+Cgo8bGk+SXRlbSBOdW1iZXJzOgo8cD5QYXlwYWwgc2VlbXMgdG8gcmVxdWlyZSBpdGVtIG51bWJlcnMgZm9yIGFsbCBsaW5lIGl0ZW1zLiAgQW5kIHNpbmNlIHRheCBhbmQgc2hpcHBpbmcgbGluZSBpdGVtcyBkb250IG5lY2Vzc2FyaWx5IGhhdmUgYSBwcm9kdWN0IGlkLCBhbGwgaXRlbSBudW1iZXJzIHN0YXJ0IGZyb20gMSBhbmQgYXJlIGxpbmVhcmx5IGluY3JlbWVudGVkLjwvcD4KPC9saT4KCjxsaT5DaGFyZ2ViYWNrcy9SZXZlcnNhbHMgZXRjLgo8cD5BbHRob3VnaCB0aGUgcGF5cGFsIElQTiBwcm90b2NvbCBpcyBjYXBhYmxlIG9mIGhhbmRsaW5nIHRoc2UgdHlwZXMgb2YgdHJhbnNhY3Rpb25zLCB0aGUgT3JkZXJzIG1vZHVsZSBhdCB0aGUgdGltZSBvZiB3cml0aW5nIGlzIG5vdC4gIFRoZXJlZm9yZSBtYW55IG9mIHRoZXNlIGFyZSBpZ25vcmVkLCBvciB0aGUgb3JkZXIgd2lsbCBiZSBhZGp1c3RlZCB0byBoYXZlIGFuIEVSUk9SIHN0YXR1cy48L3A+CjwvbGk+Cgo8L3VsPgo8aDM+U3VwcG9ydDwvaDM+CjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4KPHVsPgo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBjbXMgZGV2ZWxvcG1lbnQgZm9yZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZyI+ZGV2LmNtc21hZGVzaW1wbGUub3JnPC9hPi48L2xpPgo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+CjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwIGFsbCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPgo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IocykgZGlyZWN0bHkuPC9saT4gIAo8L3VsPgoKPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4KRU9UOwokbGFuZ1snaGVscF9vcmRlcl9pZCddID0gJ1NwZWNpZmllcyB0aGUgb3JkZXIgaWQgb2YgdGhlIG9yZGVyIHdlXCdyZSB0cnkgdG8gY29tcGxldGUuJzsKCiMgSQokbGFuZ1snaW5mb19lbmFibGVfaXBuJ10gPSAnSVBOIDxlbT4oSW5zdGFudCBQYXltZW50IE5vdGlmaWNhdGlvbik8L2VtPiBhbGxvd3MgcGF5cGFsIHRvIHNlbmQgaW5mb3JtYXRpb24gZHluYW1pY2FsbHkgdG8geW91ciB3ZWJzaXRlLiAgSXQgaW5jcmVhc2VzIHNlY3VyaXR5IGFuZCBhbGxvd3MgZm9yIHBvc3Rpbmcgc3Vic2NyaXB0aW9uIHBheW1lbnRzIG9yIHN1YnNjcmlwdGlvbiBjYW5jZWxsYXRpb25zIGV0Yy4gICBJZiBJUE4gaXMgZW5hYmxlZCwgUERUIGlzIGRpc2FibGVkLiAgQWRkaXRpb25hbGx5LCBwYXltZW50cyB3aWxsIG5vdCBiZSBjb25maXJtZWQgdW50aWwgdGhlIElQTiBtZXNzYWdlIGZvciBhIHBheW1lbnQgaXMgcmVjZWl2ZWQnOwokbGFuZ1snaW5mb19pcG5fdXJsJ10gPSAnU3BlY2lmeSB0aGlzIFVSTCBpbiB5b3VyIHBheXBhbCBidXNpbmVzcyBzaXRlIHNldHRpbmdzJzsKJGxhbmdbJ2luZm9fcGR0X3JldHVybl91cmwnXSA9ICc8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPk5vdGU6PC9zcGFuPiBUaGUgcmV0dXJuIFVSTCBzcGVjaWZpZWQgaW4gdGhlICZxdW90O1dlYnNpdGUgUGF5bWVudCBQcmVmZXJlbmNlcyZxdW90OyBtdXN0IGJlIGNvbXBsZXRlLCBhbmQgbXVzdCBwb2ludCB0byB5b3VyIHdlYnNpdGUgKGF0IHRoZSB2ZXJ5IGxlYXN0IHRvIHlvdXIgaG9tZSBwYWdlKS4nOwokbGFuZ1snaXBuX3VybCddID0gJ0lQTiBVUkwnOwoKIyBNCiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ1BhcnQgb2YgdGhlIEUtY29tbWVyY2UgY29sbGVjdGlvbiwgcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBwZXJmb3JtIGNoZWNrb3VudHMgdmlhIFBBWVBBTCc7CiRsYW5nWydtc2dfaXBuX3N1Y2Nlc3NmdWwnXSA9ICdJUE4gVHJhbnNhY3Rpb24gJXMgc3VjY2Vzc2Z1bC4gU3RhdHVzOiAlcyc7CiRsYW5nWydtc2dfdHJhbnNhY3Rpb25fY2FuY2VsbGVkJ10gPSAnVHJhbnNhY3Rpb24gQ2FuY2VsbGVkJzsKJGxhbmdbJ21zZ190cmFuc2FjdGlvbl9zdWNjZXNzJ10gPSAnUmVjZWl2ZWQgc3VjY2Vzc2Z1bGwgdHJhbnNhY3Rpb24gcmVwbHkgZm9yICVzJzsKJGxhbmdbJ21zZ190cmFuc2FjdGlvbl9zdWNjZXNzX25vcGR0J10gPSAnUmVjZWl2ZWQgc3VjY2Vzc2Z1bGwgdHJhbnNhY3Rpb24gcmVwbHkgZm9yICVzIChQRFQgc2tpcHBlZCknOwokbGFuZ1snbXNnX3RyYW5zYWN0aW9uX3dhaXRpbmdpcG4nXSA9ICdUcmFuc2FjdGlvbiAlcyBtYXJrZWQgYXMgUEVORElORyB1bnRpbCBJUE4gY29uZmlybWF0aW9uIGFycml2ZXMgKCVzKSc7CgojIE8KJGxhbmdbJ29ubGluZV9wdXJjaGFzZSddID0gJ09ubGluZSBQdXJjaGFzZSc7CgojIFAKJGxhbmdbJ3BheXBhbF91cmwnXSA9ICdQYXlwYWwgVVJMJzsKJGxhbmdbJ3BkdF9pZGVudGl0eV90b2tlbiddID0gJ1BEVCBJZGVudGl0eSBUb2tlbic7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1RoZSBQYXlwYWwgZ2F0ZXdheSBtb2R1bGUgaGFzIG5vdyBiZWVuIGluc3RhbGxlZC4gIFlvdSBjYW4gc2VsZWN0IHRoaXMgZ2F0ZXdheSBtb2R1bGUgZnJvbSB5b3VyIE9yZGVycyBtb2R1bGUgcHJlZmVyZW5jZXMgdGFiLic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnVGhlIFBheXBhbCBnYXRld2F5IG1vZHVsZSBoYXMgbm93IGJlZW4gcmVtb3ZlZCc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1ByZWZlcmVuY2VzJzsKJGxhbmdbJ3Byb21wdF9mb3JtX3RlbXBsYXRlJ10gPSAnRWRpdCB0aGUgcGF5bWVudCBmb3JtIHRlbXBsYXRlJzsKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2J1c2luZXNzX2VtYWlsJ10gPSAnR2VzY2gmYXVtbDtmdGxpY2hlIEVtYWlsLUFkcmVzc2UnOwokbGFuZ1snY2hlY2tvdXRfYnV0dG9uX21lc3NhZ2UnXSA9ICdCZXphaGxlbic7CiRsYW5nWydjaGVja291dF9tZXNzYWdlJ10gPSAnTWl0IFBheXBhbCBiZXphaGxlbjonOwokbGFuZ1snZW5hYmxlX2lwbiddID0gJ1BheXBhbC1JUE4gYWt0aXZpZXJlbic7CiRsYW5nWydlcnJvcl9pcG5faW52YWxpZF9kYXRhJ10gPSAnSW5zdWZmaWNpZW50IGRhdGEgd2FzIHJlY2VpdmVkIGZyb20gcGF5cGFsIChJUE4pJzsKJGxhbmdbJ2Vycm9yX2lwbl9pbnZhbGlkX29yZGVyaWQnXSA9ICdVbmcmdXVtbDtsdGlnZSBvZGVyIGZlaGxlbmRlIE9yZGVyLUlEJzsKJGxhbmdbJ2Vycm9yX2lwbl92ZXJpZmljYXRpb25fZmFpbGVkJ10gPSAnUGF5cGFsIElQTiBUcmFuc2FjdGlvbiBWZXJpZmljYXRpb24gZmFpbGVkJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfY3VzdG9tX3ZlcmlmaWVyJ10gPSAnRGVyIENvZGUsIHVtIGRpZXNlIFRyYW5zYWt0aW9uIGVpbmRldXRpZyB6dSBpZGVudGlmaXppZXJlbiwga29ubnRlIG5pY2h0IGluIGRlbiB2b20gUGF5cGFsIEdhdGV3YXkgenVyJnV1bWw7Y2tnZWxpZWZlcnRlbiBXZXJ0ZW4gZ2VmdW5kZW4gd2VyZGVuLic7CiRsYW5nWydlcnJvcl9yZXRyaWV2aW5nX3RyYW5zYWN0aW9uX2RhdGEnXSA9ICdBbiBlcnJvciBvY2N1cnJlZCB0cnlpbmcgdG8gcmV0cmlldmUgdHJzbnNhY3Rpb24gaW5mb3JtYXRpb24gZnJvbSB0aGUgZ2F0ZXdheSc7CiRsYW5nWydlcnJvcl9yZXN0b3JpbmdfdHJhbnNhY3Rpb25fc3RhdGUnXSA9ICdGRUhMRVI6IERpZSBnZXNwZWljaGVydGVuIFRyYW5zYWt0aW9ucy1JbmZvcm1hdGlvbmVuIGtvbm50ZW4gbmljaHQgd2llZGVyIGhlcmdlc3RlbGx0IHdlcmRlbi4nOwokbGFuZ1snZXJyb3JfdHJhbnNhY3Rpb25fZmFpbGVkJ10gPSAnVHJhbnNha3Rpb24gZmVobGVyaGFmdCc7CiRsYW5nWydlcnJvcl90cmFuc2NhdGlvbl9pZF9taXNzaW5nJ10gPSAnRGllIFRyYW5zYWt0aW9uIHdhciBlcmZvbGdyZWljaCwgYWJlciBlcyB3dXJkZSBrZWluZSBUcmFuc2FrdGlvbnMtSUQgenVyJnV1bWw7Y2tnZWxpZWZlcnQuJzsKJGxhbmdbJ2Zvcm1fdGVtcGxhdGUnXSA9ICdGb3JtdWxhci1UZW1wbGF0ZSc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdQYXlwYWwtR2F0ZXdheSc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldhcyBtYWNodCBkaWVzZXMgTW9kdWw/PC9oMz4NCjxwPkRpZXNlcyBNb2R1bCB3aXJkIHZvbSBPcmRlcnMtTW9kdWwgdmVyd2VuZGV0LCB1bSBkaWUgQmVzdGVsbHVuZyBkdXJjaCBlaW5lIFphaGx1bmcgdmlhIFBheXBhbCBhYnp1c2NobGllJnN6bGlnO2VuLiBEYXMgTW9kdWwgdmVyd2VuZGV0IGRhZiZ1dW1sO3IgZWluZSBlaW5mYWNoZQ0KCVdlaXRlcmxlaXR1bmcuIE5hY2ggZXJmb2xncmVpY2hlciBCZXphaGx1bmcgZXJmb2xndCBkYW5uIGVpbmUgV2VpdGVybGVpdHVuZyB6dXImdXVtbDtjayB6dW0gT3JkZXJzLU1vZHVsLA0KCXVtIGRlbiBHZWxkZWluZ2FuZyB6dSBiZXN0JmF1bWw7dGlnZW4uIFVudGVyIGRlbSBMaW5rIGh0dHA6Ly93d3cuc2NyaWJkLmNvbS9kb2MvMjUzMDE2OS9jYXJ0aW5zdGFsbCBmaW5kZW4gU2llIGVpbmUgQW5sZWl0dW5nIChlbmdsLiksIHdpZSBTaWUgdG8NCglDYXJ0LCBPcmRlcnMgdW5kIGRpZSBhbmRlcmVuIG5vdHdlbmRpZ2VuIE1vZHVsZSBrb25maWd1cmllcmVuIG0mdXVtbDtzc2VuLjwvcD4NCjxoMz5XaWUgd2lyZCBlcyBlaW5nZXNldHp0PzwvaDM+DQo8cD5EaWVzZXMgTW9kdWwgZnVua3Rpb25pZXJ0IG51ciB6dXNhbW1lbiBtaXQgZGVtIE9yZGVycy1Nb2R1bC4gRiZ1dW1sO2dlbiBTaWUgPGNvZGU+e2Ntc19tb2R1bGUgbW9kdWxlPSYjMDM5O3BheXBhbGdhdGV3YXkmIzAzOTsgb3JkZXJfaWQ9JG9yZGVyX2lkfTwvY29kZT4gDQoJaW4gSWhyIEJlemFobHVuZ3MtVGVtcGxhdGUgZGVzIE9yZGVycy1Nb2R1bHMgZWluLiBEYW1pdCB3aXJkIGVpbiBCdXR0b24gZiZ1dW1sO3IgZGllIEJlemFobHVuZyBtaXQgUGF5cGFsIGFuZ2V6ZWlndC48L3A+JzsKJGxhbmdbJ2hlbHBfb3JkZXJfaWQnXSA9ICdTcGV6aWZpemllcnQgZGllIEJlc3RlbGwtSUQgZGVyIEJlc3RlbGx1bmcsIGRpZSBiZXphaGx0IHdlcmRlbiBzb2xsLic7CiRsYW5nWydtc2dfaXBuX3N1Y2Nlc3NmdWwnXSA9ICdJUE4tVHJhbnNha3Rpb24gJXMgZXJmb2xncmVpY2guIFN0YXR1czogJXMnOwokbGFuZ1snbXNnX3RyYW5zYWN0aW9uX2NhbmNlbGxlZCddID0gJ1RyYW5zYWt0aW9uIGFiZ2Vicm9jaGVuJzsKJGxhbmdbJ21zZ190cmFuc2FjdGlvbl9zdWNjZXNzJ10gPSAnUmVjZWl2ZWQgc3VjY2Vzc2Z1bGwgdHJhbnNhY3Rpb24gcmVwbHkgZm9yICVzJzsKJGxhbmdbJ29ubGluZV9wdXJjaGFzZSddID0gJ09ubGluZSBQdXJjaGFzZSc7CiRsYW5nWydwYXlwYWxfdXJsJ10gPSAnUGF5cGFsLVVSTCc7CiRsYW5nWydwZHRfaWRlbnRpdHlfdG9rZW4nXSA9ICdQRFQtSWRlbnRpdCZhdW1sO3RzLVRva2VuJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnRGFzIFBheXBhbCBHYXRld2F5IE1vZHVsIHd1cmRlIGluc3RhbGxpZXJ0LiBTaWUgayZvdW1sO25uZW4gZGllc2VzIE1vZHVsIG51biBpbiBkZW4gRWluc3RlbGx1bmdlbiBkZXMgQmVzdGVsbHZlcndhbHR1bmdzLU1vZHVscyBhbHMgWmFobHVuZ3NzY2huaXR0c3RlbGxlIGF1c3cmYXVtbDtobGVuLic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnRGFzIFBheXBhbC1HYXRld2F5LU1vZHVsIHd1cmRlIGVyZm9sZ3JlaWNoIGVudGZlcm50Lic7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ0VpbnN0ZWxsdW5nZW4nOwokbGFuZ1sncHJvbXB0X2Zvcm1fdGVtcGxhdGUnXSA9ICdEYXMgQmV6YWhsdW5ncy1Gb3JtdWxhci1UZW1wbGF0ZSBiZWFyYmVpdGVuJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTIwMjMxMDM0MDYtMTI1Mjk5MTY5OTY2Nic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjEyNDIyMzY2MjYuMTI1Mjk5NDkwOC4xMjUyOTk0OTA4LjEyNTI5OTQ5MDguMSc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjUyOTk0OTA4LjEuMS51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9Zm9ydW0uY21zbWFkZXNpbXBsZS5vcmd8dXRtY2N0PS9pbmRleC5waHB8dXRtY21kPXJlZmVycmFsJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/es_ES.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2J1c2luZXNzX2VtYWlsJ10gPSAnRW1haWwgZGUgbGEgQ29tcGEmbnRpbGRlOyZpYWN1dGU7YSc7CiRsYW5nWydjaGVja291dF9idXR0b25fbWVzc2FnZSddID0gJ1BhZ2FyJzsKJGxhbmdbJ2NoZWNrb3V0X21lc3NhZ2UnXSA9ICdQYWdhciBjb24gUGF5cGFsOic7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdQb3J0YWwgUGF5cGFsJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+JmlxdWVzdDtRdSZlYWN1dGU7IGhhY2UgZXN0bz88L2gzPg0KPHA+RXN0ZSBtJm9hY3V0ZTtkdWxvIGVzIHVzYWRvIHBvciBlbCBtJm9hY3V0ZTtkdWxvIGRlIFBlZGlkb3MgcGFyYSBjb21wbGV0YXIgcGFnb3MgdXNhbmRvIFBheXBhbC4gRWwgbW9kdWxvIHVzYSB1biBzaW1wbGUgbSZlYWN1dGU7dG9kbyBkZSByZWRpcmVjY2kmb2FjdXRlO24gcGFyYSBjb21wbGV0YXIgbGEgY29tcHJhLiBEZXNwdSZlYWN1dGU7cyBkZSB1biBwYWdvIHNhdGlzZmFjdG9yaW8sIHNlciZhYWN1dGU7biByZWRpcmlnaWRvcyBkZSBudWV2byBoYWNpYSBlbCBtJm9hY3V0ZTtkdWxvIGRlIHBlZGlkb3MgcGFyYSB2ZXIgZWwgcmVjaWJvIGRlbCBwYWdvLiBJciBhIGh0dHA6Ly93d3cuc2NyaWJkLmNvbS9kb2MvMjUzMDE2OS9jYXJ0aW5zdGFsbCBwYXJhIG1hcyBpbmZvcm1hY2kmb2FjdXRlO24gZW4gY29tbyBjb25maWd1cmFyIGVsIENhcnJvLCBQZWRpZG9zIHkgbG9zIGRlbSZhYWN1dGU7cyBtJm9hY3V0ZTtkdWxvcyBhc29jaWFkb3MuPC9wPg0KDQo8aDM+JmlxdWVzdDtDJm9hY3V0ZTttbyBsbyB1c28/PC9oMz4NCjxwPkVzdGUgbSZvYWN1dGU7ZHVsbyBzb2xhbWVudGUgZnVuY2lvbmEgY29uanVudG8gYWwgbSZvYWN1dGU7ZHVsbyBkZSBQZWRpZG9zLiA8Y29kZT57Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7cGF5cGFsZ2F0ZXdheSYjMDM5OyBvcmRlcl9pZD0kb3JkZXJfaWR9PC9jb2RlPiBlbiBsYXMgUGxhbnRpbGxhIGRlIFBhZ28gZGVsIG0mb2FjdXRlO2R1bG8gZGUgUGVkaWRvcyBzZSB2ZXImYWFjdXRlOyB1biBib3Qmb2FjdXRlO24gcGFyYSBvcmdhbml6YXIgZWwgcGFnbyBjb24gUGF5cGFsLjwvcD4nOwokbGFuZ1snaGVscF9vcmRlcl9pZCddID0gJ0VzcGVjaWZpY2EgZWwgb3JkZXIgSUQgZGVsIHBlZGlkbyBxdWUgZXN0YW1vcyBpbnRlbnRhbnRvIGNvbXBsZXRhcic7CiRsYW5nWydwYXlwYWxfdXJsJ10gPSAnRGlyZWNjaSZvYWN1dGU7biBVUkwgZGUgUGF5cGFsJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnRWwgbSZvYWN1dGU7ZHVsbyBQb3J0YWwgUGF5cGFsIGhhIHNpZG8gaW5zdGFsYWRvLiAgUHVlZGVzIHNlbGVjY2lvbmFyIGVzdGUgbSZvYWN1dGU7ZHVsby9wYXNhcmVsYSBkZXNkZSBsYSBwZXN0YSZudGlsZGU7YSBkZSBwcmVmZXJlbmNpYXMgZW4gZWwgbSZvYWN1dGU7ZHVsbyBkZSBQZWRpZG9zJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdFbCBtJm9hY3V0ZTtkdWxvIFBvcnRhbCBQYXlwYWwgaGEgc2lkbyBlbGltaW5hZG8nOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdQcmVmZXJlbmNpYXMnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My42MDIyOTQ3ODYuMTIyMTc4Mzc3MS4xMjIzMzM0NTc3LjEyMjMzMzc5MjMuNDQnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjIzMzM0NTc3LjQzLjMyLnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1kZXYuY21zbWFkZXNpbXBsZS5vcmd8dXRtY2N0PS90cmFja2VyL3x1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2J1c2luZXNzX2VtYWlsJ10gPSAnRW1haWwgcHJvZmVzc2lvbm5lbCc7CiRsYW5nWydjaGVja291dF9idXR0b25fbWVzc2FnZSddID0gJ0ZpbmFsaXNlcic7CiRsYW5nWydjaGVja291dF9tZXNzYWdlJ10gPSAnRmluYWxpc2VyIGF2ZWMgUGF5cGFsJm5ic3A7Oic7CiRsYW5nWydlbmFibGVfaXBuJ10gPSAnQWN0aXZlciBJUE4gZGUgUGF5cGFsJzsKJGxhbmdbJ2Vycm9yX2lwbl9pbnZhbGlkX2RhdGEnXSA9ICdJbnN1ZmZpc2FtZW50IGRlIGRvbm4mZWFjdXRlO2VzIG9udCAmZWFjdXRlO3QmZWFjdXRlOyByZSZjY2VkaWw7dSBwYXIgUGF5UGFsIChJUE4pJzsKJGxhbmdbJ2Vycm9yX2lwbl9pbnZhbGlkX29yZGVyaWQnXSA9ICdpZCBkJiMwMzk7b3JkcmUgaW52YWxpZGUgb3UgbWFucXVhbnQnOwokbGFuZ1snZXJyb3JfaXBuX3ZlcmlmaWNhdGlvbl9mYWlsZWQnXSA9ICdFY2hlYyBkZSBsYSB2JmVhY3V0ZTtyaWZpY2F0aW9uIGR1IElQTiBkZSBQYXlwYWwnOwokbGFuZ1snZXJyb3JfbWlzc2luZ19jdXN0b21fdmVyaWZpZXInXSA9ICdMZSBjb2RlIHV0aWxpcyZlYWN1dGU7IHBvdXIgaWRlbnRpZmllciBkZSBtYW5pJmVncmF2ZTtyZSB1bmlxdWUgY2V0dGUgdHJhbnNhY3Rpb24gbiYjMDM5O2EgcHUgJmVjaXJjO3RyZSB0cm91diZlYWN1dGU7IGRhbnMgbGVzIGRvbm4mZWFjdXRlO2VzIHJlbnZveSZlYWN1dGU7ZXMgZGVwdWlzIGxhIHBhc3NlcmVsbGUgZGUgcGFpZW1lbnQnOwokbGFuZ1snZXJyb3Jfbm9fbWNyeXB0J10gPSAnQXVjdW5lIGZvbmN0aW9ubmFsaXQmZWFjdXRlOyBkZSBjaGlmZnJlbWVudCBuJiMwMzk7YSAmZWFjdXRlO3QmZWFjdXRlOyB0cm91diZlYWN1dGU7ZS4uLiBjZSBtb2R1bGUgbmUgcG91cnJhIHBhcyBmb25jdGlvbm5lciB0YW50IHF1ZSBsZXMgZXh0ZW5zaW9ucyBkZSBtY3J5cHQgbmUgc29udCBwYXMgYWN0aXYmZWFjdXRlO2VzLic7CiRsYW5nWydlcnJvcl9yZXRyaWV2aW5nX3RyYW5zYWN0aW9uX2RhdGEnXSA9ICdVbmUgZXJyZXVyIGVzdCBzdXJ2ZW51ZSBsb3JzIGRlIGxhIHImZWFjdXRlO2N1cCZlYWN1dGU7cmF0aW9uIGRlcyBpbmZvcm1hdGlvbnMgZGUgbGEgdHJhbnNhY3Rpb24gZGUgbGEgcGFzc2VyZWxsZSc7CiRsYW5nWydlcnJvcl9yZXN0b3JpbmdfdHJhbnNhY3Rpb25fc3RhdGUnXSA9ICdVbmUgZXJyZXVyIGVzdCBzdXJ2ZW51ZSBsb3JzIGRlIGxhIHJlc3RhdXJhdGlvbiBkZXMgaW5mb3JtYXRpb25zIHN1ciBsYSB0cmFuc2FjdGlvbiBzYXV2ZWdhcmQmZWFjdXRlO2UnOwokbGFuZ1snZXJyb3JfdHJhbnNhY3Rpb25fZmFpbGVkJ10gPSAnJkVhY3V0ZTtjaGVjIGRlIGxhIHRyYW5zYWN0aW9uJzsKJGxhbmdbJ2Vycm9yX3RyYW5zY2F0aW9uX2lkX21pc3NpbmcnXSA9ICdMJiMwMzk7b3AmZWFjdXRlO3JhdGlvbiBzZW1ibGUgYXZvaXIgciZlYWN1dGU7dXNzaXQsIG1haXMgbm91cyBuZSB0cm91dm9ucyBwYXMgZCYjMDM5O0lEIGRlIHRyYW5zYWN0aW9uJzsKJGxhbmdbJ2Zvcm1fdGVtcGxhdGUnXSA9ICdHYWJhcml0IGRlIGZvcm11bGFpcmUnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnUGFzc2VyZWxsZSBQYXlwYWwnOwokbGFuZ1snaGVscCddID0gJzxoMz5RdWUgZmFpdCBjZSBtb2R1bGUgPzwvaDM+DQo8cD5DZSBtb2R1bGUgZXN0IHV0aWxpcyZlYWN1dGU7IHBhciBsZSBtb2R1bGUgT3JkZXJzIHBvdXIgY29uY2x1cmUgZGVzIGFjaGF0cyB2aWEgUGF5cGFsLiBDZSBtb2R1bGUgdXRpbGlzZSB1bmUgc2ltcGxlIG0mZWFjdXRlO3Rob2RlIGRlIHJlZGlyZWN0aW9uIHBvdXIgdGVybWluZXIgbCYjMDM5O2FjaGF0LiBBcHImZWdyYXZlO3MgdW4gcGFpZW1lbnQgdGVybWluJmVhY3V0ZTsgYXZlYyBzdWNjJmVncmF2ZTtzLCBpbHMgdm9udCB2b3VzIHJlZGlyaWdlciB2ZXJzIGxlIG1vZHVsZSBPcmRlcnMgcG91ciBhZmZpY2hlciBsZSByJmVhY3V0ZTtjJmVhY3V0ZTtwaXNzJmVhY3V0ZTsgZGUgcGFpZW1lbnQuIFBvdXIgcGx1cyBkJiMwMzk7aW5mb3JtYXRpb25zIHN1ciBjb21tZW50IGNvbmZpZ3VyZXIgbGVzIG1vZHVsZXMgUGFuaWVyLCBPcmRlcnMgZXQgZCYjMDM5O2F1dHJlcyBtb2R1bGVzIGFzc29jaSZlYWN1dGU7cywgYWxsZXIgdm9pc3ImbmJzcDs6IGh0dHA6Ly93d3cuc2NyaWJkLmNvbS9kb2MvMjUzMDE2OS9jYXJ0aW5zdGFsbCANCjwvcD4NCjxoMz5Db21tZW50IGwmIzAzOTt1dGlsaXNlciA/PC9oMz4NCjxwPkZpcnN0IHlvdSBzaG91bGQgZW5hYmxlIFBEVCBpbiB5b3VyIHBheXBhbCBidXNpbmVzcyBhY2NvdW50LCBhbmQga2VlcCB0cmFjayBvZiB0aGUgUERUIGlkZW50aXR5IHRva2VuIGFzIHN1cHBsaWVkIGJ5IHBheXBhbC48L3A+DQo8cD5Gb3IgSVBOIHN1cHBvcnQgeW91IHdpbGwgbmVlZCB0byBlbmFibGUgUERUIGluIHlvdXIgcGF5cGFsIGJ1c2luZXNzIGFjb2NvdW50LCBhbmQgZW50ZXIgYSByZXR1cm4gVVJMLCB0aG91Z2ggdGhpcyB1cmwgaXMgb3ZlcnJpZGRlbiBieSB0aGlzIG1vZHVsZSBhbmQgY2FuIGJlIGlnbm9yZWQuPC9wPg0KPHA+VGhpcmRseSwgeW91IHNob3VsZCBhZGp1c3QgdGhlIGxhbmd1YWdlIHNldHRpbmdzIGluIHlvdXIgcGF5cGFsIGJ1c2luZXNzIGFjY291bnQgdG8gZW5zdXJlIHRoZXkgYXJlIHNldCB0byB1dGYtOC48L3A+DQo8cD5OZXh0LCBvbmNlIGFsbCBvZiB0aGUgZGVwZW5kZW5jaWVzIGFyZSBpbnN0YWxsZWQsIHlvdSBzaW1wbHkgaW5zdGFsbCB0aGUgbW9kdWxlLiAgdGhlbiBjb25maWd1cmUgdGhlIG1vZHVsZSBQYXlwYWxHYXRlYXkgY29udHJvbCBwYW5lbCBpbnNpZGUgdGhlIENNUyBNYWRlIFNpbXBsZSBhZG1pbiBjb25zb2xlLiAgU3BlY2lmeSB0aGUgdXJsIHRvIHVzZSBmb3IgcGF5cGFsIHRyYW5zYWN0aW9ucyAodGhlIHRlc3QgdXJsIGlzIHByb3ZpZGVkIGJ5IGRlZmF1bHQpLCB5b3VyIHBheXBhbCBhc3NvY2lhdGVkIGVtYWlsIGFkZHJlc3MsIGFuZCB0aGUgUERUIGlkZW50aXR5IHRva2VuIGFzIGRlc2NyaWJlZCBhYm92ZS48L3A+DQo8cD5UaGlyZGx5LCBuYXZpZ2F0ZSB0byB0aGUgcHJlZmVyZW5jZXMgdGFiIGluIHRoZSBPcmRlcnMgbW9kdWxlIGFuZCBzZWxlY3QgdGhpcyBtb2R1bGUgYXMgeW91ciBjaG9zZW4gcGF5bWVudCBnYXRld2F5LjwvcD4NCjxoMz5MaW1pdGF0aW9uczwvaDM+DQo8cD5UaGUgV2Vic2l0ZSBQYXltZW50IFN0YW5kYXJkIEFQSSBmcm9tIFBheXBhbCBpcyByYXRoZXIgbGltaXRlZCBpbiBpdHMgZnVuY3Rpb25hbGl0eSwgdGhlcmVmb3JlIGEgbnVtYmVyIG9mIHN0ZXBzIGhhdmUgYmVlbiB0YWtlbiB0byBvdmVyY29tZSBhcyBtdWNoIGFzIHBvc3NpYmxlIHRoZXNlIGxpbWl0YXRpb25zOjwvcD4NCjx1bD4NCjxsaT5UYXhlczoNCjxwPkF0IHRoZSB0aW1lIG9mIHdyaXRpbmcsIHRoZSBXUFMgc3RhbmRhcmQgZGlkIG5vdCBzdXBwb3J0IG11bHRpcGxlIHRheGVzLCBidXQgdGhlIE9yZGVycyBtb2R1bGUgZG9lcywgVGhlcmVmb3JlIGFsbCB0YXhlcyBhcmUgZW50ZXJlZCBhcyBsaW5lIGl0ZW1zLjwvcD4NCjwvbGk+DQoNCjxsaT5TaGlwcGluZzoNCjxwPkF0IHRoZSB0aW1lIG9mIHdyaXRpbmcsIHRoZSBXUFMgc3RhbmRhcmQgZGlkIG5vdCBzdXBwb3J0IHNoaXBwaW5nIGNvc3RzLCBvciBkZXNjcmlwdGlvbnMgZm9yIHNoaXBwaW5nLCBob3dldmVyIHRoZSBPcmRlcnMgbW9kdWxlIGlzIG1vdmluZyBpbiB0aGF0IGRpcmVjdGlvbiwgVGhlcmVmb3JlIGFsbCBzaGlwcGluZyBjb3N0cyBhcmUgZW50ZXJlZCBhcyBsaW5lIGl0ZW1zLjwvcD4NCjwvbGk+DQoNCjxsaT5EaXNjb3VudHMgLyBOZWdhdGl2ZSBWYWx1ZXM6DQo8cD5BdCB0aGUgdGltZSBvZiB3cml0aW5nLCB0aGUgV1BTIHN0YW5kYXJkIGRpZCBub3Qgc3VwcG9ydCBuZWdhdGl2ZSBhbW91bnQgdmFsdWVzIGZvciBpdGVtcyBzdWNoIGFzIGRpc2NvdW50cy4gIEhvd2V2ZXIsIHRoZSBQcm9tb3Rpb25zIG1vZHVsZSBkb2VzLiAgVGhlcmVmb3JlIGlmIGEgbmVnYXRpdmUgdmFsdWUgaXMgZGV0ZWN0ZWQgaW4gdGhlIGl0ZW1zIHByb3ZpZGVkIHRvIHRoaXMgbW9kdWxlLCB0aGUgbW9kdWxlIHdpbGwgbXVuZ2UgdGhlIGVudGlyZSBvcmRlciBpbnRvIG9uZSBsaW5lIGl0ZW0gb2YgdGhlIGFwcHJvcHJpYXRlIGFtb3VudC48L3A+DQo8L2xpPg0KDQo8bGk+SXRlbSBOdW1iZXJzOg0KPHA+UGF5cGFsIHNlZW1zIHRvIHJlcXVpcmUgaXRlbSBudW1iZXJzIGZvciBhbGwgbGluZSBpdGVtcy4gIEFuZCBzaW5jZSB0YXggYW5kIHNoaXBwaW5nIGxpbmUgaXRlbXMgZG9udCBuZWNlc3NhcmlseSBoYXZlIGEgcHJvZHVjdCBpZCwgYWxsIGl0ZW0gbnVtYmVycyBzdGFydCBmcm9tIDEgYW5kIGFyZSBsaW5lYXJseSBpbmNyZW1lbnRlZC48L3A+DQo8L2xpPg0KDQo8bGk+Q2hhcmdlYmFja3MvUmV2ZXJzYWxzIGV0Yy4NCjxwPkFsdGhvdWdoIHRoZSBwYXlwYWwgSVBOIHByb3RvY29sIGlzIGNhcGFibGUgb2YgaGFuZGxpbmcgdGhzZSB0eXBlcyBvZiB0cmFuc2FjdGlvbnMsIHRoZSBPcmRlcnMgbW9kdWxlIGF0IHRoZSB0aW1lIG9mIHdyaXRpbmcgaXMgbm90LiAgVGhlcmVmb3JlIG1hbnkgb2YgdGhlc2UgYXJlIGlnbm9yZWQsIG9yIHRoZSBvcmRlciB3aWxsIGJlIGFkanVzdGVkIHRvIGhhdmUgYW4gRVJST1Igc3RhdHVzLjwvcD4NCjwvbGk+DQoNCjwvdWw+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBjbXMgZGV2ZWxvcG1lbnQgZm9yZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZyI+ZGV2LmNtc21hZGVzaW1wbGUub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAgYWxsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IocykgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmFtcDtjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+JmFtcDtsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmFtcDtndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gDQpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4nOwokbGFuZ1snaGVscF9vcmRlcl9pZCddID0gJ1NwJmVhY3V0ZTtjaWZpZSBsZSBudW0mZWFjdXRlO3JvIGQmIzAzOTtvcmRyZSAob3JkZXIgaWQpIGRlIGwmIzAzOTtvcmRyZSBxdWUgbm91cyBlc3NheWlvbnMgZGUgY29uY2x1cmUuJzsKJGxhbmdbJ21zZ19pcG5fc3VjY2Vzc2Z1bCddID0gJ1RyYW5zYWN0aW9uIElQTiAlcyByJmVhY3V0ZTt1c3NpdGUuIFN0YXR1dCA6ICVzJzsKJGxhbmdbJ21zZ190cmFuc2FjdGlvbl9jYW5jZWxsZWQnXSA9ICdUcmFuc2FjdGlvbiBhbm51bCZlYWN1dGU7ZSc7CiRsYW5nWydtc2dfdHJhbnNhY3Rpb25fc3VjY2VzcyddID0gJ1JlJmNjZWRpbDt1IGxhIHImZWFjdXRlO3BvbnNlIGRlIHRyYW5zYWN0aW9uIHImZWFjdXRlO3Vzc2llIHBvdXIgJXMnOwokbGFuZ1snb25saW5lX3B1cmNoYXNlJ10gPSAnQWNoYXQgZW4gbGlnbmUnOwokbGFuZ1sncGF5cGFsX3VybCddID0gJ1VSTCBkZSBQYXlwYWwnOwokbGFuZ1sncGR0X2lkZW50aXR5X3Rva2VuJ10gPSAnQ2hhaW5lIGQmIzAzOTtpZGVudGlmaWNhdGlvbiBQRFQnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdMZSBtb2R1bGUgUGF5cGFsIGdhdGV3YXkgYSAmZWFjdXRlO3QmZWFjdXRlOyBpbnN0YWxsJmVhY3V0ZTsuIFZvdXMgcG91dmV6IHMmZWFjdXRlO2xlY3Rpb25uZXIgY2UgbW9kdWxlIGRlIHBhc3NlcmVsbGUgZGFucyBsJiMwMzk7b25nbGV0IGRlIGNvbmZpZ3VyYXRpb24gZHUgbW9kdWxlIE9yZGVycy4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0xlIG1vZHVsZSBQYXlwYWwgZ2F0ZXdheSBhICZlYWN1dGU7dCZlYWN1dGU7IHN1cHByaW0mZWFjdXRlOy4nOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdQciZlYWN1dGU7ZiZlYWN1dGU7cmVuY2VzJzsKJGxhbmdbJ3Byb21wdF9mb3JtX3RlbXBsYXRlJ10gPSAnTW9kaWZpZXIgbGUgZ2FiYXJpdCBkdSBmb3JtdWxhaXJlIGRlIHBhaWVtZW50JzsKJGxhbmdbJ3FjYSddID0gJ1AwLTkwMjIwMDU5Mi0xMjY0NDI0NjA4NTgxJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/hu_HU.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1BheXBhbCBrYXBjc29sYXQnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xNzQ1NzQyNzc1LjExNjc0NjIwOTYuMTIwMDc3OTMzNS4xMjAwNzg0MTUwLjk1JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTE5OTIwMzc3NC45My43LnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1kZXYuY21zbWFkZXNpbXBsZS5vcmd8dXRtY2N0PS9teS98dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/lt_LT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2J1c2luZXNzX2VtYWlsJ10gPSAnVmVyc2xvIGVsLiBwYSZzY2Fyb247dGFzJzsKJGxhbmdbJ2NoZWNrb3V0X2J1dHRvbl9tZXNzYWdlJ10gPSAnUGlya3RpJzsKJGxhbmdbJ2NoZWNrb3V0X21lc3NhZ2UnXSA9ICdQaXJrdGkgcGVyIFBheXBhbDonOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnUGF5cGFsIEdhdGV3YXknOwokbGFuZ1snaGVscCddID0gJzxoMz5LxIUgamlzIGRhcm8/PC9oMz4NCjxwPiZTY2Fyb247aXMgbW9kdWxpcyBuYXVkb2phbWFzIFXFvnNha3ltxbMgKE9yZGVycykgbW9kdWxpbywga2FkIHBhYmFpZ3RpIG1va8SXamltxIUgbmF1ZG9qYW50IFBheXBhbC4gTW9kdWxpcyBuYXVkb2phIHBhcHJhc3RhIG51a3JlaXBpbW8gbWV0b2TEhS4gUG8gc8SXa21pbmdvIGFwbW9rxJdqaW1vLCBudWtyZWlwaWFtYSBhdGdhbCDEryBVxb5zYWt5bcWzIG1vZHVsxK8gcGFyb2R5dGkgZ2F2aW1vIHB1c2xhcMSvLiANCiAgxb1pxatyxJd0aXRlIGh0dHA6Ly93d3cuc2NyaWJkLmNvbS9kb2MvMjUzMDE2OS9jYXJ0aW5zdGFsbCBkYXVnaWF1IGluZm9ybWFjaWpvcyBrYWlwIMSvZGllZ3RpIEtyZXAmc2Nhcm9uO2VsaW8sIFXFvnNha3ltbyAgaXIga2l0dXMgc3VzaWp1c2l1cyBtb2R1bGl1cy48L3A+DQo8aDM+S2FpcCBqxK8gbmF1ZG90aT88L2gzPg0KPHA+JlNjYXJvbjtpcyBtb2R1bGlzIGRpcmJhIHN1IFXFvnNha3ltxbMgbW9kdWxpdS4gxK50ZXJwdGluZSB7Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7cGF5cGFsZ2F0ZXdheSYjMDM5OyBvcmRlcl9pZD0kb3JkZXJfaWR9IE1va8SXamltbyAmc2Nhcm9uO2FibG9uZSB1xb5zYWt5bcWzIG1vZHVseWplLCBrYWQgcGFyb2R5dGkgbXlndHVrxIUuPC9wPic7CiRsYW5nWydoZWxwX29yZGVyX2lkJ10gPSAnTnVyb2RvIHXFvnNha3ltbyBpZCBrdXLEryBiYW5kb21lIHBhYmFpZ3RpJzsKJGxhbmdbJ3BheXBhbF91cmwnXSA9ICdQYXlwYWwgVVJMJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnTnVvc3RhdG9zJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuNDM0NTU1MTI5LjEyMDY3MDQzNzMuMTIwODg1MDIzNS4xMjA4ODUyNzUzLjIxJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTIwODc3NTI3NS4xOC4xMy51dG1jc3I9Zm9ydW0uY21zbWFkZXNpbXBsZS5vcmd8dXRtY2NuPShyZWZlcnJhbCl8dXRtY21kPXJlZmVycmFsfHV0bWNjdD0vaW5kZXgucGhwL2JvYXJkLDMzLjAuaHRtbCc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2luZm9fdGVzdF9zZXR0aW5ncyddID0gJ04mYXJpbmc7ciB0ZXN0IG1vZHVzIGVyIGFrdGl2ZXJ0LCB2aWxsIHN5c3RlbWV0IGJydWtlIHBheXBhbCB1dHZpa2xlci1zYW5ka2Fzc2EsIGR1IG0mYXJpbmc7IHNrcml2ZSBpbm4gZ3lsZGlnIHNhbmRrYXNzZSBsZWdpdGltYXNqb25zYmVza3JpdmVsc2UnOwokbGFuZ1snaW5mb19wZHRfaWRlbnRpdHlfdG9rZW4nXSA9ICdEZXR0ZSB0b2tlbiBiJm9zbGFzaDtyIGhlbnRlcyBmcmEgcGF5cGFsIGJ1c2luZXNzIHByb2ZpbGVuLCBvZyBsZWdnZXMgaW5uIGhlci4gSHZpcyBsYXR0IHRvbXQgcyZhcmluZzsgdmlsIFBEVCBibGkgZGVha3RpdmVydCc7CiRsYW5nWydwcm9kbW9kZSddID0gJ1NldCBpIHByb2R1a3Nqb25zbW9kdXMnOwokbGFuZ1sndGVzdF9zZXR0aW5ncyddID0gJ1Rlc3QgaW5uc3RpbGxpbmdlcic7CiRsYW5nWydwcm9kdWN0aW9uX3NldHRpbmdzJ10gPSAnUHJvZHVrc2pvbnMgaW5uc3RpbGxpbmdlcic7CiRsYW5nWydhbGxvd19zdWJzY3JpcHRpb25zJ10gPSAnVGlsbGF0IEFib25uZW1lbnQnOwokbGFuZ1snYnVzaW5lc3NfZW1haWwnXSA9ICdGaXJtYSBlcG9zdCc7CiRsYW5nWydjaGVja291dF9idXR0b25fbWVzc2FnZSddID0gJ0cmYXJpbmc7IHRpbCBrYXNzZW4nOwokbGFuZ1snY2hlY2tvdXRfbWVzc2FnZSddID0gJ0JldGFsIG0vUGF5cGFsOic7CiRsYW5nWydlbmFibGVfaXBuJ10gPSAnVGlsbGF0IFBheXBhbCBJUE4nOwokbGFuZ1snZXJyb3JfdHJhbnNhY3Rpb25faW52YWxpZF9hbW91bnQnXSA9ICdFdCB1Z3lsZGlnIChlciBkZXQgaWtrZSBoZWxlIGJlbCZvc2xhc2g7cGV0PykgYmVsJm9zbGFzaDtwIGJsZSBtb3R0YXR0IGZvciBlbiB0cmFuc2Fra3Nqb24nOwokbGFuZ1snZXJyb3JfdHJhbnNhY3Rpb25faW52YWxpZF9jdXJyZW5jeSddID0gJ1ZhbHV0YXR5cGVuIHNvbSBibGUgbW90dGF0dCBmcmEgZ2F0ZXdheWVuIHBhc3NlciBpa2tlIG1lZCB2JmFyaW5nO3IgdmFsZ3RlIHZhbHV0YXR5cGUnOwokbGFuZ1snZXJyb3JfaXBuX2ludmFsaWRfZGF0YSddID0gJ1V0aWxzdHJla2tlbGlnZSBkYXRhIGJsZSBtb3R0YXR0IGZyYSBwYXlwYWwgKElQTiknOwokbGFuZ1snZXJyb3JfaXBuX2ludmFsaWRfb3JkZXJpZCddID0gJ1VneWxkaWcgZWxsZXIgbWFuZ2xlbmRlIG9yZHJlSUQnOwokbGFuZ1snZXJyb3JfaXBuX3ZlcmlmaWNhdGlvbl9mYWlsZWQnXSA9ICdQYXlwYWwgSVBOIHRyYW5zYWtzam9uc2Jla3JlZnRlbHNlIGZlaWxldCc7CiRsYW5nWydlcnJvcl9taXNzaW5nX2N1c3RvbV92ZXJpZmllciddID0gJ0VuIGtvZGUgYmVueXR0ZXQgZm9yICZhcmluZzsgaWRlbnRpZmlzZXJlIGRlbm5lIHRyYW5zYWtzam9uZW4gYmxlIGlra2UgZnVubmV0IGkgZGF0YWVuZSByZXR1cm5lcmVzIGZyYSBiZXRhbGluZ3NnYXRld2F5JzsKJGxhbmdbJ2Vycm9yX25vX21jcnlwdCddID0gJ1VuZ2VuIGtyeXB0ZXJpbmdzZnVua3Nqb25hbGl0ZXQgYmxlIGZ1bm5ldC4uLiBkZW5uZSBtb2R1bGVudmlsIGlra2UgZnVuZ2VyZSBza2lra2VsaWcgZiZvc2xhc2g7ciBtY3J5cHQgdXR2aWRlbHNlciBlciBnam9ydCB0aWxnamVuZ2VsaWdlJzsKJGxhbmdbJ2Vycm9yX3JldHJpZXZpbmdfdHJhbnNhY3Rpb25fZGF0YSddID0gJ0VuIGZlaWwgaGFyIG9wcHN0JmFyaW5nO3R0IHVuZGVyIGZvcnMmb3NsYXNoO2sgcCZhcmluZzsgJmFyaW5nOyBoZW50ZSB0cmFuc2Frc2pvbnNpbmZvcm1hc2pvbiBmcmEgZ2F0ZXdheWVuJzsKJGxhbmdbJ2Vycm9yX3Jlc3RvcmluZ190cmFuc2FjdGlvbl9zdGF0ZSddID0gJ0RldCBvcHBzdG9kIGVuIGZlaWwgdW5kZXIgZm9ycyZvc2xhc2g7ayBwJmFyaW5nOyAmYXJpbmc7IGdqZW5vcHByZXR0ZSBsYWdyZXQgdHJhbnNha3Nqb25zaW5mb3JtYXNqb24nOwokbGFuZ1snZXJyb3JfdHJhbnNhY3Rpb25fZmFpbGVkJ10gPSAnVHJhbnNha3Nqb24gZmVpbGV0JzsKJGxhbmdbJ2Vycm9yX3RyYW5zY2F0aW9uX2lkX21pc3NpbmcnXSA9ICdUcmFuc2Frc2pvbmVuIHN5bnRlcyAmYXJpbmc7IGx5a2tlcywgbWVuIHZpIGt1bm5lIGlra2UgZmlubmUgZW4gdHJhbnNha3Nqb24gaWQnOwokbGFuZ1snZm9ybV90ZW1wbGF0ZSddID0gJ1NramVtYW1hbCc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdQYXlwYWwgR2F0ZXdheSAnOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IGRvZXMgaXQgZG8/PC9oMz4NCiAgPHA+VGhpcyBtb2R1bGUgaXMgdXNlZCBieSB0aGUgT3JkZXJzIG1vZHVsZSB0byBjb21wbGV0ZSBwdXJjaGFzZXMgdXNpbmcgUGF5cGFscyBXZWJzaXRlIFBheW1lbnQgU3RhbmRhcmQgbWVjaGFuaXNtLiAgVGhlIG1vZHVsZSB1c2VzIHRoZSBQRFQgbWV0aG9kIGZvciBjb21wbGV0aW5nIGEgcHVyY2hhc2UsIGFuZCBvcHRpb25hbGx5IHN1cHBvcnRzIElQTiBmdW5jdGlvbmFsaXR5LiAgQWZ0ZXIgYSBzdWNjZXNzZnVsIGNoZWNrb3V0LCB1c2VycyB3aWxsIHJlZGlyZWN0IGJhY2sgdG8gdGhlIE9yZGVycyBtb2R1bGUgdG8gc2hvdyB0aGUgY2hlY2tvdXQgcmVjZWlwdCBwYWdlLiAgU2VlIDxhIGhyZWY9Imh0dHA6Ly9jYWxndXkxMDAwLmNvbS9CbG9ncy84LzYwL2Ntc21zLXF1aWNrLWUtY29tbWVyY2UtaG93LXRvLmh0bWwiPmh0dHA6Ly9jYWxndXkxMDAwLmNvbS9CbG9ncy84LzYwL2Ntc21zLXF1aWNrLWUtY29tbWVyY2UtaG93LXRvLmh0bWw8L2E+ICBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBob3cgdG8gc2V0dXAgdGhlIENhcnQsIE9yZGVycyBhbmQgb3RoZXIgYXNzb2NpYXRlZCBtb2R1bGVzLjwvcD4NCjxoMz5Ib3cgRG8gSSB1c2UgSXQ8L2gzPg0KPHA+Rmlyc3QgeW91IHNob3VsZCBlbmFibGUgUERUIGluIHlvdXIgcGF5cGFsIGJ1c2luZXNzIGFjY291bnQsIGFuZCBrZWVwIHRyYWNrIG9mIHRoZSBQRFQgaWRlbnRpdHkgdG9rZW4gYXMgc3VwcGxpZWQgYnkgcGF5cGFsLjwvcD4NCjxwPkZvciBJUE4gc3VwcG9ydCB5b3Ugd2lsbCBuZWVkIHRvIGVuYWJsZSBQRFQgaW4geW91ciBwYXlwYWwgYnVzaW5lc3MgYWNvY291bnQsIGFuZCBlbnRlciBhIHJldHVybiBVUkwsIHRob3VnaCB0aGlzIHVybCBpcyBvdmVycmlkZGVuIGJ5IHRoaXMgbW9kdWxlIGFuZCBjYW4gYmUgaWdub3JlZC48L3A+DQo8cD5UaGlyZGx5LCB5b3Ugc2hvdWxkIGFkanVzdCB0aGUgbGFuZ3VhZ2Ugc2V0dGluZ3MgaW4geW91ciBwYXlwYWwgYnVzaW5lc3MgYWNjb3VudCB0byBlbnN1cmUgdGhleSBhcmUgc2V0IHRvIHV0Zi04LjwvcD4NCjxwPk5leHQsIG9uY2UgYWxsIG9mIHRoZSBkZXBlbmRlbmNpZXMgYXJlIGluc3RhbGxlZCwgeW91IHNpbXBseSBpbnN0YWxsIHRoZSBtb2R1bGUuICB0aGVuIGNvbmZpZ3VyZSB0aGUgbW9kdWxlIFBheXBhbEdhdGVheSBjb250cm9sIHBhbmVsIGluc2lkZSB0aGUgQ01TIE1hZGUgU2ltcGxlIGFkbWluIGNvbnNvbGUuICBTcGVjaWZ5IHRoZSB1cmwgdG8gdXNlIGZvciBwYXlwYWwgdHJhbnNhY3Rpb25zICh0aGUgdGVzdCB1cmwgaXMgcHJvdmlkZWQgYnkgZGVmYXVsdCksIHlvdXIgcGF5cGFsIGFzc29jaWF0ZWQgZW1haWwgYWRkcmVzcywgYW5kIHRoZSBQRFQgaWRlbnRpdHkgdG9rZW4gYXMgZGVzY3JpYmVkIGFib3ZlLjwvcD4NCjxwPlRoaXJkbHksIG5hdmlnYXRlIHRvIHRoZSBwcmVmZXJlbmNlcyB0YWIgaW4gdGhlIE9yZGVycyBtb2R1bGUgYW5kIHNlbGVjdCB0aGlzIG1vZHVsZSBhcyB5b3VyIGNob3NlbiBwYXltZW50IGdhdGV3YXkuPC9wPg0KPGgzPkxpbWl0YXRpb25zPC9oMz4NCjxwPlRoZSBXZWJzaXRlIFBheW1lbnQgU3RhbmRhcmQgQVBJIGZyb20gUGF5cGFsIGlzIHJhdGhlciBsaW1pdGVkIGluIGl0cyBmdW5jdGlvbmFsaXR5LCB0aGVyZWZvcmUgYSBudW1iZXIgb2Ygc3RlcHMgaGF2ZSBiZWVuIHRha2VuIHRvIG92ZXJjb21lIGFzIG11Y2ggYXMgcG9zc2libGUgdGhlc2UgbGltaXRhdGlvbnM6PC9wPg0KPHVsPg0KPGxpPlRheGVzOg0KPHA+QXQgdGhlIHRpbWUgb2Ygd3JpdGluZywgdGhlIFdQUyBzdGFuZGFyZCBkaWQgbm90IHN1cHBvcnQgbXVsdGlwbGUgdGF4ZXMsIGJ1dCB0aGUgT3JkZXJzIG1vZHVsZSBkb2VzLCBUaGVyZWZvcmUgYWxsIHRheGVzIGFyZSBlbnRlcmVkIGFzIGxpbmUgaXRlbXMuPC9wPg0KPC9saT4NCg0KPGxpPlNoaXBwaW5nOg0KPHA+QXQgdGhlIHRpbWUgb2Ygd3JpdGluZywgdGhlIFdQUyBzdGFuZGFyZCBkaWQgbm90IHN1cHBvcnQgc2hpcHBpbmcgY29zdHMsIG9yIGRlc2NyaXB0aW9ucyBmb3Igc2hpcHBpbmcsIGhvd2V2ZXIgdGhlIE9yZGVycyBtb2R1bGUgaXMgbW92aW5nIGluIHRoYXQgZGlyZWN0aW9uLCBUaGVyZWZvcmUgYWxsIHNoaXBwaW5nIGNvc3RzIGFyZSBlbnRlcmVkIGFzIGxpbmUgaXRlbXMuPC9wPg0KPC9saT4NCg0KPGxpPkRpc2NvdW50cyAvIE5lZ2F0aXZlIFZhbHVlczoNCjxwPkF0IHRoZSB0aW1lIG9mIHdyaXRpbmcsIHRoZSBXUFMgc3RhbmRhcmQgZGlkIG5vdCBzdXBwb3J0IG5lZ2F0aXZlIGFtb3VudCB2YWx1ZXMgZm9yIGl0ZW1zIHN1Y2ggYXMgZGlzY291bnRzLiAgSG93ZXZlciwgdGhlIFByb21vdGlvbnMgbW9kdWxlIGRvZXMuICBUaGVyZWZvcmUgaWYgYSBuZWdhdGl2ZSB2YWx1ZSBpcyBkZXRlY3RlZCBpbiB0aGUgaXRlbXMgcHJvdmlkZWQgdG8gdGhpcyBtb2R1bGUsIHRoZSBtb2R1bGUgd2lsbCBtdW5nZSB0aGUgZW50aXJlIG9yZGVyIGludG8gb25lIGxpbmUgaXRlbSBvZiB0aGUgYXBwcm9wcmlhdGUgYW1vdW50LjwvcD4NCjwvbGk+DQoNCjxsaT5JdGVtIE51bWJlcnM6DQo8cD5QYXlwYWwgc2VlbXMgdG8gcmVxdWlyZSBpdGVtIG51bWJlcnMgZm9yIGFsbCBsaW5lIGl0ZW1zLiAgQW5kIHNpbmNlIHRheCBhbmQgc2hpcHBpbmcgbGluZSBpdGVtcyBkb250IG5lY2Vzc2FyaWx5IGhhdmUgYSBwcm9kdWN0IGlkLCBhbGwgaXRlbSBudW1iZXJzIHN0YXJ0IGZyb20gMSBhbmQgYXJlIGxpbmVhcmx5IGluY3JlbWVudGVkLjwvcD4NCjwvbGk+DQoNCjxsaT5DaGFyZ2ViYWNrcy9SZXZlcnNhbHMgZXRjLg0KPHA+QWx0aG91Z2ggdGhlIHBheXBhbCBJUE4gcHJvdG9jb2wgaXMgY2FwYWJsZSBvZiBoYW5kbGluZyB0aHNlIHR5cGVzIG9mIHRyYW5zYWN0aW9ucywgdGhlIE9yZGVycyBtb2R1bGUgYXQgdGhlIHRpbWUgb2Ygd3JpdGluZyBpcyBub3QuICBUaGVyZWZvcmUgbWFueSBvZiB0aGVzZSBhcmUgaWdub3JlZCwgb3IgdGhlIG9yZGVyIHdpbGwgYmUgYWRqdXN0ZWQgdG8gaGF2ZSBhbiBFUlJPUiBzdGF0dXMuPC9wPg0KPC9saT4NCg0KPC91bD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgdGhlIGNtcyBkZXZlbG9wbWVudCBmb3JnZSBhdCA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnIj5kZXYuY21zbWFkZXNpbXBsZS5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCBhbGwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvcihzKSBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KDQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmYW1wO2NvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj4mYW1wO2x0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmYW1wO2d0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPg0KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUNCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMNCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQpidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPic7CiRsYW5nWydoZWxwX29yZGVyX2lkJ10gPSAnU3Blc2lmaXNlcmVyIG9yZHJlaWQmIzAzOTtlbiB0aWwgZGVuIG9yZHJlbiB2aSBmb3JzJm9zbGFzaDtrZXIgJmFyaW5nOyBmdWxsZiZvc2xhc2g7cmUuJzsKJGxhbmdbJ2luZm9faXBuX3VybCddID0gJ0FuZ2kgZGVubmUgbmV0dGFkcmVzc2VuIGkgZGluIHBheXBhbCBidXNpbmVzcyBzaXRlLWlubnN0aWxsaW5nJzsKJGxhbmdbJ2lwbl91cmwnXSA9ICdJUE4gVVJMICc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0RlbGUgYXYgRS1jb21tZXJjZSBzYW1saW5nZW4sIHNvbSBnaXIgbXVsaWdoZXQgdGlsICZhcmluZzsgdXRmJm9zbGFzaDtyZSBiZXRhbGluZyB2aWEgUEFZUEFMJzsKJGxhbmdbJ21zZ19pcG5fc3VjY2Vzc2Z1bCddID0gJ0lQTiB0cmFuc2Frc2pvbiAlcyB2ZWxseWtrZXRsLiBTdGF0dXM6ICVzJzsKJGxhbmdbJ21zZ190cmFuc2FjdGlvbl9jYW5jZWxsZWQnXSA9ICdUcmFuc2Frc2pvbiBhdmJydXR0JzsKJGxhbmdbJ21zZ190cmFuc2FjdGlvbl9zdWNjZXNzJ10gPSAnTW90dGF0dCB2ZWxseWtrZXQgdHJhbnNha3Nqb25zdmFyIGZvciAlcyc7CiRsYW5nWydvbmxpbmVfcHVyY2hhc2UnXSA9ICdPbmxpbmUga2omb3NsYXNoO3AnOwokbGFuZ1sncGF5cGFsX3VybCddID0gJ1BheXBhbCBVUkwgJzsKJGxhbmdbJ3BkdF9pZGVudGl0eV90b2tlbiddID0gJ1BEVCBJZGVudGl0ZXQgVG9rZW4nOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdQYXlwYWwgZ2F0ZXdheSBtb2R1bGVuIGhhciBuJmFyaW5nOyBibGl0dCBpbnN0YWxsZXJ0LiBEdSBrYW4gdmVsZ2UgZGVubmUgZ2F0ZXdheSBtb2R1bGVuIGZyYSBkaW4gT3JkZXJzIG1vZHVsIHByZWZlcmFuc2VyIGZhbmUnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1BheXBhbCBnYXRld2F5IG1vZHVsZW4gaGFyIG4mYXJpbmc7IGJsaXR0IGZqZXJuZXQnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdJbm5zdGlsbGluZ2VyJzsKJGxhbmdbJ3Byb21wdF9mb3JtX3RlbXBsYXRlJ10gPSAnUmVkaWdlciBiZXRhbGluZ3Nza2plbWFtYWxlbic7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyODMyODczNDkuMzIwMi43NC51dG1jc3I9Zm9ydW0uY21zbWFkZXNpbXBsZS5vcmd8dXRtY2NuPShyZWZlcnJhbCl8dXRtY21kPXJlZmVycmFsfHV0bWNjdD0vaW5kZXgucGhwJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTc5MDUyNjIzMDg0MTEwMTAwLjEyMTA0MjM1NzcuMTI4NDIyODg5NS4xMjg0MjMzNzk5LjMyNDgnOwokbGFuZ1sncWNhJ10gPSAnMTIxMDk3MTY5MC0yNzMwODA3My04MTk1MjgzMic7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMuMS4xMC4xMjg0MjMzNzk5JzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2luZm9fdGVzdF9zZXR0aW5ncyddID0gJ1doZW4gdGVzdCBtb2RlIGlzIGVuYWJsZWQsIHRoZSBzeXN0ZW13aWxsIHVzZSB0aGUgcGF5cGFsIGRldmVsb3BlciBzYW5kYm94LCB5b3UgbXVzdCBlbnRlciB2YWxpZCBzYW5kYm94IGNyZWRlbnRpYWxzJzsKJGxhbmdbJ2luZm9fcGR0X2lkZW50aXR5X3Rva2VuJ10gPSAnVGhpcyB0b2tlbiBzaG91bGQgYmUgcmV0cmlldmVkIGZyb20gdGhlIHBheXBhbCBidXNpbmVzcyBwcm9maWxlLCBhbmQgZW50ZXJlZCBoZXJlLiAgSWYgbGVmdCBlbnR5IFBEVCB3aWxsIGJlIGRpc2FibGVkJzsKJGxhbmdbJ3Byb2Rtb2RlJ10gPSAnUHJvZHVjdGllIE1vZHVzIEluc2NoYWtlbGVuJzsKJGxhbmdbJ3Rlc3Rfc2V0dGluZ3MnXSA9ICdUZXN0IEluc3RlbGxpbmdlbic7CiRsYW5nWydwcm9kdWN0aW9uX3NldHRpbmdzJ10gPSAnUHJvZHVjdGllIEluc3RlbGxpbmdlbic7CiRsYW5nWydhbGxvd19zdWJzY3JpcHRpb25zJ10gPSAnU3RhIEFib25uZW1lbnRlbiB0b2UnOwokbGFuZ1snYnVzaW5lc3NfZW1haWwnXSA9ICdaYWtlbGlqa2UgRS1tYWlsJzsKJGxhbmdbJ2NoZWNrb3V0X2J1dHRvbl9tZXNzYWdlJ10gPSAnVWl0bG9nZ2VuJzsKJGxhbmdbJ2NoZWNrb3V0X21lc3NhZ2UnXSA9ICdVaXRsb2dnZW4gYmlqIFBheXBhbDonOwokbGFuZ1snZW5hYmxlX2lwbiddID0gJ1BheXBhbCBJUE4gSW5zY2hha2VsZW4nOwokbGFuZ1snZXJyb3JfdHJhbnNhY3Rpb25faW52YWxpZF9hbW91bnQnXSA9ICdFciBpcyBlZW4gdmVya2VlcmRlIGhvZXZlZWxoZWlkIGdlbGQgb250dmFuZ2VuIHZvb3IgZGV6ZSBhYW5rb29wICh3ZWxsaWNodCBuaWV0IGhldCBnZWhlbGUgYmVkcmFnPyknOwokbGFuZ1snZXJyb3JfdHJhbnNhY3Rpb25faW52YWxpZF9jdXJyZW5jeSddID0gJ0RlIG9udHZhbmdlbiB2YWx1dGEgaXMgbmlldCBnZWxpamsgYWFuIGRlIHZhbHV0YSBkaWUgaW5nZXN0ZWxkIGlzJzsKJGxhbmdbJ2Vycm9yX2lwbl9pbnZhbGlkX2RhdGEnXSA9ICdUZSB3ZWluaWcgaW5mb3JtYXRpZSB2YW4gUGF5cGFsIChJUE4pIG9udHZhbmdlbic7CiRsYW5nWydlcnJvcl9pcG5faW52YWxpZF9vcmRlcmlkJ10gPSAnT3JkZXIgaWQgdmVya2VlcmQgb2YgbmlldCBhYW53ZXppZyc7CiRsYW5nWydlcnJvcl9pcG5fdmVyaWZpY2F0aW9uX2ZhaWxlZCddID0gJ1BheXBhbCBJUE4gVHJhbnNhY3RpZSBWZXJpZmljYXRpZSBtaXNsdWt0JzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfY3VzdG9tX3ZlcmlmaWVyJ10gPSAnRGUgYmV0YWxpbmdzZ2F0ZXdheSBzdHV1cmRlIGdlZW4gY29kZSB0ZXJ1ZywgZGllIGdlYnJ1aWt0IHdvcmR0IG9tIHRyYW5zYWN0aWUgdW5pZWsgdGUgYmVub2VtZW4uICc7CiRsYW5nWydlcnJvcl9ub19tY3J5cHQnXSA9ICdHZWVuIGVuY3J5cHRpZSBmdW5jdGlvbmFsaXRlaXRlbiBnZXZvbmRlbi4uLiBEZXplIG1vZHVsZSB6YWwgbmlldCBvcHRpbWFhbCBmdW5jdGlvbmVyZW4gdG90ZGF0IGRlIG1jcnlwdCBleHRlbnNpZXMgemlqbiBpbmdlc2NoYWtlbGQnOwokbGFuZ1snZXJyb3JfcmV0cmlldmluZ190cmFuc2FjdGlvbl9kYXRhJ10gPSAnRXIgaXMgZWVuIGZvdXQgb3BnZXRyZWRlbiB0aWpkZW5zIGhldCBhYW52cmFnZW4gdmFuIGluZm9ybWF0aWUgdmFuIGRlIGdhdGV3YXknOwokbGFuZ1snZXJyb3JfcmVzdG9yaW5nX3RyYW5zYWN0aW9uX3N0YXRlJ10gPSAnRXIgaXMgZWVuIGZvdXQgb3BnZXRyZWRlbiB0aWpkZW5zIGhldCB0ZXJ1ZyBwbGFhdHNlbiB2YW4gZGUgb3BnZXNsYWdlbiB0cmFuc2FjdGllIGluZm9ybWF0aWUnOwokbGFuZ1snZXJyb3JfdHJhbnNhY3Rpb25fZmFpbGVkJ10gPSAnVHJhbnNhY3RpZSBtaXNsdWt0JzsKJGxhbmdbJ2Vycm9yX3RyYW5zY2F0aW9uX2lkX21pc3NpbmcnXSA9ICdEZSB0cmFuc2FjdGllIGxpamt0IGdlc2xhYWdkLCBtYWFyIHdlIGt1bm5lbiBnZWVuIHRyYW5zYWN0aWUgaWQgdmluZGVuJzsKJGxhbmdbJ2Zvcm1fdGVtcGxhdGUnXSA9ICdGb3JtdWxpZXIgU2phYmxvb24nOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnUGF5cGFsIEdhdGV3YXkgJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBkb2VzIGl0IGRvPzwvaDM+DQogIDxwPlRoaXMgbW9kdWxlIGlzIHVzZWQgYnkgdGhlIE9yZGVycyBtb2R1bGUgdG8gY29tcGxldGUgcHVyY2hhc2VzIHVzaW5nIFBheXBhbHMgV2Vic2l0ZSBQYXltZW50IFN0YW5kYXJkIG1lY2hhbmlzbS4gIFRoZSBtb2R1bGUgdXNlcyB0aGUgUERUIG1ldGhvZCBmb3IgY29tcGxldGluZyBhIHB1cmNoYXNlLCBhbmQgb3B0aW9uYWxseSBzdXBwb3J0cyBJUE4gZnVuY3Rpb25hbGl0eS4gIEFmdGVyIGEgc3VjY2Vzc2Z1bCBjaGVja291dCwgdXNlcnMgd2lsbCByZWRpcmVjdCBiYWNrIHRvIHRoZSBPcmRlcnMgbW9kdWxlIHRvIHNob3cgdGhlIGNoZWNrb3V0IHJlY2VpcHQgcGFnZS4gIFNlZSA8YSBocmVmPSJodHRwOi8vY2FsZ3V5MTAwMC5jb20vQmxvZ3MvOC82MC9jbXNtcy1xdWljay1lLWNvbW1lcmNlLWhvdy10by5odG1sIj5odHRwOi8vY2FsZ3V5MTAwMC5jb20vQmxvZ3MvOC82MC9jbXNtcy1xdWljay1lLWNvbW1lcmNlLWhvdy10by5odG1sPC9hPiAgZm9yIG1vcmUgaW5mb3JtYXRpb24gb24gaG93IHRvIHNldHVwIHRoZSBDYXJ0LCBPcmRlcnMgYW5kIG90aGVyIGFzc29jaWF0ZWQgbW9kdWxlcy48L3A+DQo8aDM+SG93IERvIEkgdXNlIEl0PC9oMz4NCjxwPkZpcnN0IHlvdSBzaG91bGQgZW5hYmxlIFBEVCBpbiB5b3VyIHBheXBhbCBidXNpbmVzcyBhY2NvdW50LCBhbmQga2VlcCB0cmFjayBvZiB0aGUgUERUIGlkZW50aXR5IHRva2VuIGFzIHN1cHBsaWVkIGJ5IHBheXBhbC48L3A+DQo8cD5Gb3IgSVBOIHN1cHBvcnQgeW91IHdpbGwgbmVlZCB0byBlbmFibGUgUERUIGluIHlvdXIgcGF5cGFsIGJ1c2luZXNzIGFjb2NvdW50LCBhbmQgZW50ZXIgYSByZXR1cm4gVVJMLCB0aG91Z2ggdGhpcyB1cmwgaXMgb3ZlcnJpZGRlbiBieSB0aGlzIG1vZHVsZSBhbmQgY2FuIGJlIGlnbm9yZWQuPC9wPg0KPHA+VGhpcmRseSwgeW91IHNob3VsZCBhZGp1c3QgdGhlIGxhbmd1YWdlIHNldHRpbmdzIGluIHlvdXIgcGF5cGFsIGJ1c2luZXNzIGFjY291bnQgdG8gZW5zdXJlIHRoZXkgYXJlIHNldCB0byB1dGYtOC48L3A+DQo8cD5OZXh0LCBvbmNlIGFsbCBvZiB0aGUgZGVwZW5kZW5jaWVzIGFyZSBpbnN0YWxsZWQsIHlvdSBzaW1wbHkgaW5zdGFsbCB0aGUgbW9kdWxlLiAgdGhlbiBjb25maWd1cmUgdGhlIG1vZHVsZSBQYXlwYWxHYXRlYXkgY29udHJvbCBwYW5lbCBpbnNpZGUgdGhlIENNUyBNYWRlIFNpbXBsZSBhZG1pbiBjb25zb2xlLiAgU3BlY2lmeSB0aGUgdXJsIHRvIHVzZSBmb3IgcGF5cGFsIHRyYW5zYWN0aW9ucyAodGhlIHRlc3QgdXJsIGlzIHByb3ZpZGVkIGJ5IGRlZmF1bHQpLCB5b3VyIHBheXBhbCBhc3NvY2lhdGVkIGVtYWlsIGFkZHJlc3MsIGFuZCB0aGUgUERUIGlkZW50aXR5IHRva2VuIGFzIGRlc2NyaWJlZCBhYm92ZS48L3A+DQo8cD5UaGlyZGx5LCBuYXZpZ2F0ZSB0byB0aGUgcHJlZmVyZW5jZXMgdGFiIGluIHRoZSBPcmRlcnMgbW9kdWxlIGFuZCBzZWxlY3QgdGhpcyBtb2R1bGUgYXMgeW91ciBjaG9zZW4gcGF5bWVudCBnYXRld2F5LjwvcD4NCjxoMz5MaW1pdGF0aW9uczwvaDM+DQo8cD5UaGUgV2Vic2l0ZSBQYXltZW50IFN0YW5kYXJkIEFQSSBmcm9tIFBheXBhbCBpcyByYXRoZXIgbGltaXRlZCBpbiBpdHMgZnVuY3Rpb25hbGl0eSwgdGhlcmVmb3JlIGEgbnVtYmVyIG9mIHN0ZXBzIGhhdmUgYmVlbiB0YWtlbiB0byBvdmVyY29tZSBhcyBtdWNoIGFzIHBvc3NpYmxlIHRoZXNlIGxpbWl0YXRpb25zOjwvcD4NCjx1bD4NCjxsaT5UYXhlczoNCjxwPkF0IHRoZSB0aW1lIG9mIHdyaXRpbmcsIHRoZSBXUFMgc3RhbmRhcmQgZGlkIG5vdCBzdXBwb3J0IG11bHRpcGxlIHRheGVzLCBidXQgdGhlIE9yZGVycyBtb2R1bGUgZG9lcywgVGhlcmVmb3JlIGFsbCB0YXhlcyBhcmUgZW50ZXJlZCBhcyBsaW5lIGl0ZW1zLjwvcD4NCjwvbGk+DQoNCjxsaT5TaGlwcGluZzoNCjxwPkF0IHRoZSB0aW1lIG9mIHdyaXRpbmcsIHRoZSBXUFMgc3RhbmRhcmQgZGlkIG5vdCBzdXBwb3J0IHNoaXBwaW5nIGNvc3RzLCBvciBkZXNjcmlwdGlvbnMgZm9yIHNoaXBwaW5nLCBob3dldmVyIHRoZSBPcmRlcnMgbW9kdWxlIGlzIG1vdmluZyBpbiB0aGF0IGRpcmVjdGlvbiwgVGhlcmVmb3JlIGFsbCBzaGlwcGluZyBjb3N0cyBhcmUgZW50ZXJlZCBhcyBsaW5lIGl0ZW1zLjwvcD4NCjwvbGk+DQoNCjxsaT5EaXNjb3VudHMgLyBOZWdhdGl2ZSBWYWx1ZXM6DQo8cD5BdCB0aGUgdGltZSBvZiB3cml0aW5nLCB0aGUgV1BTIHN0YW5kYXJkIGRpZCBub3Qgc3VwcG9ydCBuZWdhdGl2ZSBhbW91bnQgdmFsdWVzIGZvciBpdGVtcyBzdWNoIGFzIGRpc2NvdW50cy4gIEhvd2V2ZXIsIHRoZSBQcm9tb3Rpb25zIG1vZHVsZSBkb2VzLiAgVGhlcmVmb3JlIGlmIGEgbmVnYXRpdmUgdmFsdWUgaXMgZGV0ZWN0ZWQgaW4gdGhlIGl0ZW1zIHByb3ZpZGVkIHRvIHRoaXMgbW9kdWxlLCB0aGUgbW9kdWxlIHdpbGwgbXVuZ2UgdGhlIGVudGlyZSBvcmRlciBpbnRvIG9uZSBsaW5lIGl0ZW0gb2YgdGhlIGFwcHJvcHJpYXRlIGFtb3VudC48L3A+DQo8L2xpPg0KDQo8bGk+SXRlbSBOdW1iZXJzOg0KPHA+UGF5cGFsIHNlZW1zIHRvIHJlcXVpcmUgaXRlbSBudW1iZXJzIGZvciBhbGwgbGluZSBpdGVtcy4gIEFuZCBzaW5jZSB0YXggYW5kIHNoaXBwaW5nIGxpbmUgaXRlbXMgZG9udCBuZWNlc3NhcmlseSBoYXZlIGEgcHJvZHVjdCBpZCwgYWxsIGl0ZW0gbnVtYmVycyBzdGFydCBmcm9tIDEgYW5kIGFyZSBsaW5lYXJseSBpbmNyZW1lbnRlZC48L3A+DQo8L2xpPg0KDQo8bGk+Q2hhcmdlYmFja3MvUmV2ZXJzYWxzIGV0Yy4NCjxwPkFsdGhvdWdoIHRoZSBwYXlwYWwgSVBOIHByb3RvY29sIGlzIGNhcGFibGUgb2YgaGFuZGxpbmcgdGhzZSB0eXBlcyBvZiB0cmFuc2FjdGlvbnMsIHRoZSBPcmRlcnMgbW9kdWxlIGF0IHRoZSB0aW1lIG9mIHdyaXRpbmcgaXMgbm90LiAgVGhlcmVmb3JlIG1hbnkgb2YgdGhlc2UgYXJlIGlnbm9yZWQsIG9yIHRoZSBvcmRlciB3aWxsIGJlIGFkanVzdGVkIHRvIGhhdmUgYW4gRVJST1Igc3RhdHVzLjwvcD4NCjwvbGk+DQoNCjwvdWw+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBjbXMgZGV2ZWxvcG1lbnQgZm9yZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZyI+ZGV2LmNtc21hZGVzaW1wbGUub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAgYWxsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IocykgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmFtcDtjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+JmFtcDtsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmFtcDtndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gDQpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4nOwokbGFuZ1snaGVscF9vcmRlcl9pZCddID0gJ0dlZWZ0IGRlIE9yZGVyLUlkIGFhbiB2YW4gZGUgb3JkZXIgZGllIGFhbmdlbWFha3Qgd29yZHQuJzsKJGxhbmdbJ2luZm9faXBuX3VybCddID0gJ1NwZWNpZmljZWVyIGRlemUgVVJMIGluIHV3IHBheXBhbCBiZWRyaWpmc3dlYnNpdGUgaW5zdGVsbGluZ2VuJzsKJGxhbmdbJ2lwbl91cmwnXSA9ICdJUE4gVXJsJzsKJGxhbmdbJ21zZ19pcG5fc3VjY2Vzc2Z1bCddID0gJ0lQTiBUcmFuc2FjdGllICVzIGdlc2xhYWdkLiBTdGF0dXM6ICVzJzsKJGxhbmdbJ21zZ190cmFuc2FjdGlvbl9jYW5jZWxsZWQnXSA9ICdUcmFuc2FjdGllIG9uZGVyYnJva2VuJzsKJGxhbmdbJ21zZ190cmFuc2FjdGlvbl9zdWNjZXNzJ10gPSAnRWVuIGdlc2xhYWdkZSB0cmFuc2FjdGllIGJlcmljaHQgb250dmFuZ2VuIHZvb3IgJXMnOwokbGFuZ1snb25saW5lX3B1cmNoYXNlJ10gPSAnT25saW5lIEFhbmtvb3AnOwokbGFuZ1sncGF5cGFsX3VybCddID0gJ1BheXBhbCBVcmwnOwokbGFuZ1sncGR0X2lkZW50aXR5X3Rva2VuJ10gPSAnUERUIElkZW50aXRlaXQgVG9rZW4nOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdEZSBQYXlQYWwgR2F0ZXdheSBtb2R1bGUgaXMgZ2UmaXVtbDtuc3RhbGxlZXJkLiBEZXplIG1vZHVsZSBrYW4gZ2VzZWxlY3RlZXJkIHdvcmRlbiB2aWEgZGUgdm9vcmtldXJzaW5zdGVsbGluZ2VuIHZhbiBkZSBPcmRlcnMtbW9kdWxlJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdEZSBQYXlQYWwgR2F0ZXdheSBtb2R1bGUgaXMgdmVyd2lqZGVyZCc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1Zvb3JrZXVyZW4nOwokbGFuZ1sncHJvbXB0X2Zvcm1fdGVtcGxhdGUnXSA9ICdXaWp6aWcgZGUgYmV0YWxpbmdzZm9ybXVsaWVyIHNqYWJsb29uJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTczODg5NjAzOS4xMjc4ODQwMDAwLjEyODIzMjAzMDQuMTI4MjM3NjQzNS4yMjUnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjgyMjk2NzA4LjIxOS40OS51dG1jc3I9Zm9ydW0uY21zbWFkZXNpbXBsZS5vcmd8dXRtY2NuPShyZWZlcnJhbCl8dXRtY21kPXJlZmVycmFsfHV0bWNjdD0vaW5kZXgucGhwL2JvYXJkLDEzLjAuaHRtbCc7CiRsYW5nWydxY2EnXSA9ICdQMC04NTQzODcwNDMtMTI3ODg0MDAwMDkxNyc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjIuMTAuMTI4MjM3NjQzNSc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/pt_PT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2J1c2luZXNzX2VtYWlsJ10gPSAnRW1haWwgRW1wcmVzYXJpYWwnOwokbGFuZ1snY2hlY2tvdXRfYnV0dG9uX21lc3NhZ2UnXSA9ICdGaW5hbGl6YXIgUGVkaWRvJzsKJGxhbmdbJ2NoZWNrb3V0X21lc3NhZ2UnXSA9ICdGaW5hbGl6YXIgUGVkaWRvIGMvIFBheXBhbDonOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnR2F0ZXdheSBQYXlwYWwnOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IGRvZXMgaXQgZG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGlzIHVzZWQgYnkgdGhlIE9yZGVycyBtb2R1bGUgdG8gY29tcGxldGUgcHVyY2hhc2VzIHVzaW5nIFBheXBhbC4gIFRoZSBtb2R1bGUgdXNlcyB0aGUgc2ltcGxlDQoJcmVkaXJlY3QgbWV0aG9kIGZvciBjb21wbGV0aW5nIGEgcHVyY2hhc2UuICBBZnRlciBhIHN1Y2Nlc3NmdWwgY2hlY2tvdXQsIHRoZXkgd2lsbCByZWRpcmVjdCBiYWNrIHRvIHRoZSBPcmRlcnMgbW9kdWxlDQoJdG8gc2hvdyB0aGUgY2hlY2tvdXQgcmVjZWlwdCBwYWdlLiAgU2VlIGh0dHA6Ly93d3cuc2NyaWJkLmNvbS9kb2MvMjUzMDE2OS9jYXJ0aW5zdGFsbCBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBob3cgdG8NCglzZXR1cCB0aGUgQ2FydCwgT3JkZXJzIGFuZCBvdGhlciBhc3NvY2lhdGVkIG1vZHVsZXMuPC9wPg0KPGgzPkhvdyBEbyBJIHVzZSBJdDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBvbmx5IHdvcmtzIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIE9yZGVycyBtb2R1bGUuIFBsYWNpbmcgPGNvZGU+e2Ntc19tb2R1bGUgbW9kdWxlPSYjMDM5O3BheXBhbGdhdGV3YXkmIzAzOTsgb3JkZXJfaWQ9JG9yZGVyX2lkfTwvY29kZT4gDQoJaW4geW91ciBQYXltZW50IFRlbXBsYXRlIG9mIHRoZSBPcmRlcnMgbW9kdWxlIHdpbGwgc2hvdyB0aGUgYnV0dG9uIHRvIGNoZWNrb3V0IHdpdGggUGF5cGFsLjwvcD4nOwokbGFuZ1snaGVscF9vcmRlcl9pZCddID0gJ0VzcGVjaWZpY2EgYSBpZGVudGlmaWNhJmNjZWRpbDsmYXRpbGRlO28gZG8gcGVkaWRvIG5hIG9yZGVtIHF1ZSBzZSBlc3QmYWFjdXRlOyBhIHRlbnRhciBjb21wbGV0YXIuJzsKJGxhbmdbJ3BheXBhbF91cmwnXSA9ICdVUkwgUGF5cGFsJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnUHJlZmVyJmVjaXJjO25jaWFzJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMjA1MTIwMjExMC4xMjA2NjYxMjY5LjEyMDg3MDk5NjMuMTIwODcxNDM1Ni45JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTIwNjY2MTI2OS4xLjEudXRtY3NyPShkaXJlY3QpfHV0bWNjbj0oZGlyZWN0KXx1dG1jbWQ9KG5vbmUpJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sv_SE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2J1c2luZXNzX2VtYWlsJ10gPSAnRiZvdW1sO3JldGFncyBlLXBvc3QnOwokbGFuZ1snY2hlY2tvdXRfYnV0dG9uX21lc3NhZ2UnXSA9ICdCZXRhbGEnOwokbGFuZ1snY2hlY2tvdXRfbWVzc2FnZSddID0gJ0JldGFsYSBtZWQgUGF5cGFsOic7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdQYXlwYWwgR2F0ZXdheSc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgZG9lcyBpdCBkbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgaXMgdXNlZCBieSB0aGUgT3JkZXJzIG1vZHVsZSB0byBjb21wbGV0ZSBwdXJjaGFzZXMgdXNpbmcgUGF5cGFsLiAgVGhlIG1vZHVsZSB1c2VzIHRoZSBzaW1wbGUNCglyZWRpcmVjdCBtZXRob2QgZm9yIGNvbXBsZXRpbmcgYSBwdXJjaGFzZS4gIEFmdGVyIGEgc3VjY2Vzc2Z1bCBjaGVja291dCwgdGhleSB3aWxsIHJlZGlyZWN0IGJhY2sgdG8gdGhlIE9yZGVycyBtb2R1bGUNCgl0byBzaG93IHRoZSBjaGVja291dCByZWNlaXB0IHBhZ2UuICBTZWUgaHR0cDovL3d3dy5zY3JpYmQuY29tL2RvYy8yNTMwMTY5L2NhcnRpbnN0YWxsIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGhvdyB0bw0KCXNldHVwIHRoZSBDYXJ0LCBPcmRlcnMgYW5kIG90aGVyIGFzc29jaWF0ZWQgbW9kdWxlcy48L3A+DQo8aDM+SG93IERvIEkgdXNlIEl0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIG9ubHkgd29ya3MgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgT3JkZXJzIG1vZHVsZS4gUGxhY2luZyA8Y29kZT57Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7cGF5cGFsZ2F0ZXdheSYjMDM5OyBvcmRlcl9pZD0kb3JkZXJfaWR9PC9jb2RlPiANCglpbiB5b3VyIFBheW1lbnQgVGVtcGxhdGUgb2YgdGhlIE9yZGVycyBtb2R1bGUgd2lsbCBzaG93IHRoZSBidXR0b24gdG8gY2hlY2tvdXQgd2l0aCBQYXlwYWwuPC9wPic7CiRsYW5nWydoZWxwX29yZGVyX2lkJ10gPSAnU3BlY2lmaWVzIHRoZSBvcmRlciBpZCBvZiB0aGUgb3JkZXIgd2UmIzAzOTtyZSB0cnkgdG8gY29tcGxldGUuJzsKJGxhbmdbJ3BheXBhbF91cmwnXSA9ICdQYXlwYWwgVVJMJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnVGhlIFBheXBhbCBnYXRld2F5IG1vZHVsZSBoYXMgbm93IGJlZW4gaW5zdGFsbGVkLiAgWW91IGNhbiBzZWxlY3QgdGhpcyBnYXRld2F5IG1vZHVsZSBmcm9tIHlvdXIgT3JkZXJzIG1vZHVsZSBwcmVmZXJlbmNlcyB0YWIuJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdUaGUgUGF5cGFsIGdhdGV3YXkgbW9kdWxlIGhhcyBub3cgYmVlbiByZW1vdmVkJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnUHJlZmVyZW5jZXMnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xNTgwMDQyMDk5LjEyMjg5NTAxMzIuMTIyODk1MDEzMi4xMjI4OTUwMTMyLjEnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTIyODk1MDEzMi4xLjEudXRtY2NuPShkaXJlY3QpfHV0bWNzcj0oZGlyZWN0KXx1dG1jbWQ9KG5vbmUpJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBheXBhbEdhdGV3YXkgKGMpIDIwMDkgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBwcm9jZXNzCiMgIFBheW1lbnRzIG1hZGUgdXNpbmcgdGhlIEUtY29tbWVyY2Ugc3VpdGUgdGhyb3VnaCB0aGUgQXV0aE5ldCBwYXltZW50CiMgIGdhdGV3YXkuCiMKIyBOb3RlOiBUaGlzIG1vZHVsZSB3YXMgb3JpZ2luYWxseSBzdGFydGVkIGJ5IFRlZCBLdWxwLCBidXQgcmV3cml0dGVuCiMgdW5kZXIgdGhlIHNhbWUgbmFtZSBieSBSb2JlcnQgQ2FtcGJlbGwuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCiRmbiA9IGRpcm5hbWUoX19GSUxFX18pLicvdGVtcGxhdGVzL29yaWdfZm9ybV90ZW1wbGF0ZS50cGwnOwokZGF0YSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwokdGhpcy0+U2V0VGVtcGxhdGUoJ2Zvcm1fdGVtcGxhdGUnLCRkYXRhKTsKCiMgRU9GCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/PaypalGateway.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBheXBhbEdhdGV3YXkgKGMpIDIwMDkgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBwcm9jZXNzCiMgIFBheW1lbnRzIG1hZGUgdXNpbmcgdGhlIEUtY29tbWVyY2Ugc3VpdGUgdGhyb3VnaCB0aGUgQXV0aE5ldCBwYXltZW50CiMgIGdhdGV3YXkuCiMKIyBOb3RlOiBUaGlzIG1vZHVsZSB3YXMgb3JpZ2luYWxseSBzdGFydGVkIGJ5IFRlZCBLdWxwLCBidXQgcmV3cml0dGVuCiMgdW5kZXIgdGhlIHNhbWUgbmFtZSBieSBSb2JlcnQgQ2FtcGJlbGwuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCiRjZ3BheW1lbnRnYXRld2F5YmFzZSA9IGNtc19qb2luX3BhdGgoJGdDbXMtPmNvbmZpZ1sncm9vdF9wYXRoJ10sJ21vZHVsZXMnLAoJJ0NHUGF5bWVudEdhdGV3YXlCYXNlJywnQ0dQYXltZW50R2F0ZXdheUJhc2UubW9kdWxlLnBocCcpOwppZiggIWlzX3JlYWRhYmxlKCAkY2dwYXltZW50Z2F0ZXdheWJhc2UgKSApCnsKCWVjaG8gJzxoMT48Zm9udCBjb2xvcj0icmVkIj5FUlJPUjogVGhlIENHUGF5bWVudEdhdGV3YXlCYXNlIG1vZHVsZSBjb3VsZCBub3QgYmUgZm91bmQuICBQbGVhc2UgaW5zdGFsbCBpdDwvZm9udD48L2gxPic7CglyZXR1cm47Cn0KaWYoICFjbGFzc19leGlzdHMoJ0NHUGF5bWVudEdhdGV3YXlCYXNlJykgKQp7CiAgcmVxdWlyZV9vbmNlKCRjZ3BheW1lbnRnYXRld2F5YmFzZSk7Cn0KCmNsYXNzIFBheXBhbEdhdGV3YXkgZXh0ZW5kcyBDR1BheW1lbnRHYXRld2F5QmFzZQp7CiAgY29uc3QgVEVTVF9VUkwgPSAnaHR0cHM6Ly93d3cuc2FuZGJveC5wYXlwYWwuY29tL2NnaS1iaW4vd2Vic2NyJzsKICBjb25zdCBQUk9EX1VSTCA9ICdodHRwczovL3d3dy5wYXlwYWwuY29tL2NnaS1iaW4vd2Vic2NyJzsKICB2YXIgJF9kYXRhOwoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBDb25zdHJ1Y3RvcigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQogIHsKICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoKTsKICAgICR0aGlzLT5fZGF0YSA9IGFycmF5KCk7CiAgfQoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXROYW1lKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXROYW1lKCkKICB7CiAgICByZXR1cm4gJ1BheXBhbEdhdGV3YXknOwogIH0KICAKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRGcmllbmRseU5hbWUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRWZXJzaW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRWZXJzaW9uKCkKICB7CiAgICByZXR1cm4gJzIuMy4yJzsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRIZWxwKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRIZWxwKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2hlbHAnKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBdXRob3IoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEF1dGhvcigpCiAgewogICAgcmV0dXJuICdUZWQgS3VscCc7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0QXV0aG9yRW1haWwoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkKICB7CiAgICByZXR1cm4gJ3RlZEBjbXNtYWRlc2ltcGxlLm9yZyc7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0Q2hhbmdlTG9nKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRDaGFuZ2VMb2coKQogIHsKICAgIHJldHVybiBAZmlsZV9nZXRfY29udGVudHMoZGlybmFtZShfX0ZJTEVfXykuJy9jaGFuZ2Vsb2cuaW5jJyk7CiAgfQoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBJc1BsdWdpbk1vZHVsZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gSXNQbHVnaW5Nb2R1bGUoKQogIHsKICAgIHJldHVybiB0cnVlOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEhhc0FkbWluKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBIYXNBZG1pbigpCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0QWRtaW5TZWN0aW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKQogIHsKICAgIGdsb2JhbCAkQ01TX1ZFUlNJT047CiAgICBpZiggdmVyc2lvbl9jb21wYXJlKCRDTVNfVkVSU0lPTiwnMS44JywnPCcpICkgcmV0dXJuICdleHRlbnNpb25zJzsKICAgIHJldHVybiAnZWNvbW1lcmNlJzsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBZG1pbkRlc2NyaXB0aW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBZG1pbkRlc2NyaXB0aW9uKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ21vZGRlc2NyaXB0aW9uJyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgVmlzaWJsZVRvQWRtaW5Vc2VyKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBWaXNpYmxlVG9BZG1pblVzZXIoKQogIHsKICAgIHJldHVybiAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJykgfHwKICAgICAgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXREZXBlbmRlbmNpZXMoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpCiAgewogICAgcmV0dXJuIGFycmF5KCdDR0V4dGVuc2lvbnMnPT4nMS4xOS40JywKCQkgJ0NHUGF5bWVudEdhdGV3YXlCYXNlJz0+JzEuMC45Jyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgTWluaW11bUNNU1ZlcnNpb24oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIE1pbmltdW1DTVNWZXJzaW9uKCkKICB7CiAgICByZXR1cm4gIjEuOC4xIjsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZXRQYXJhbWV0ZXJzKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBTZXRQYXJhbWV0ZXJzKCkKICB7CiAgICAkdGhpcy0+UmVnaXN0ZXJNb2R1bGVQbHVnaW4oKTsKICAgICR0aGlzLT5SZXN0cmljdFVua25vd25QYXJhbXMoKTsKCiAgICAkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnL1tQcF1heXBhbFwvaXBuXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKSQvJywKCQkJIGFycmF5KCdhY3Rpb24nPT4naXBuJykpOwoKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdwcm9jZXNzJywgQ0xFQU5fU1RSSU5HKTsJCQogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ29yZGVyX2lkJywgQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdteWN1c3RvbScsIENMRUFOX1NUUklORyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSW5zdGFsbFBvc3RNZXNzYWdlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygncG9zdGluc3RhbGwnKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBVbmluc3RhbGxQb3N0TWVzc2FnZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygncG9zdHVuaW5zdGFsbCcpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFVuaW5zdGFsbFByZU1lc3NhZ2UoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFVuaW5zdGFsbFByZU1lc3NhZ2UoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygncmVhbGx5X3VuaW5zdGFsbCcpOwogIH0KCiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICAvLyBCZWdpbiBtZXRob2RzIHJlcXVpcmVkIGZvciBwYXltZW50IGdhdGV3YXlzCiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFJlcXVpcmVzQ3JlZGl0Q2FyZEluZm8oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFJlcXVpcmVzQ3JlZGl0Q2FyZEluZm8oKQogIHsKICAgIHJldHVybiBmYWxzZTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBSZXF1aXJlc1NTTCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gUmVxdWlyZXNTU0woKQogIHsKICAgIHJldHVybiBmYWxzZTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBSZXF1aXJlc1NoaXBwaW5nSW5mbygpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gUmVxdWlyZXNTaGlwcGluZ0luZm8oKQogIHsKICAgIHJldHVybiBmYWxzZTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBSZXF1aXJlc0JpbGxpbmdJbmZvKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBSZXF1aXJlc0JpbGxpbmdJbmZvKCkKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICBTYXZlU3RhdGUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFNhdmVTdGF0ZSgkZW5jcnlwdCA9IGZhbHNlLCRrZXkgPSAnJykKICB7CiAgICBpZiggJGVuY3J5cHQgKQogICAgICB7CglpZiggZW1wdHkoJGtleSkgKSAka2V5ID0gc3RyX3NodWZmbGUobWQ1KHNlc3Npb25faWQoKS50aW1lKCkpKTsKCSRyYXcgPSBzZXJpYWxpemUoJHRoaXMtPl9kYXRhKTsKCSRlbmMgPSAkdGhpcy0+ZW5jcnlwdCgka2V5LCRyYXcpOwoJJF9TRVNTSU9OWydwYXlwYWxndyddID0gYmFzZTY0X2VuY29kZSgkZW5jKTsKCXJldHVybiAka2V5OwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSRyYXcgPSBzZXJpYWxpemUoJHRoaXMtPl9kYXRhKTsKCSRfU0VTU0lPTlsncGF5cGFsZ3cnXSA9IGJhc2U2NF9lbmNvZGUoJHJhdyk7CglyZXR1cm4gJyc7CiAgICAgIH0KICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBSZXN0b3JlU3RhdGUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFJlc3RvcmVTdGF0ZSgka2V5ID0gJycpCiAgewogICAgaWYoICFpc3NldCgkX1NFU1NJT05bJ3BheXBhbGd3J10pICkgcmV0dXJuIEZBTFNFOwogICAgaWYoIGVtcHR5KCRrZXkpICkKICAgICAgewoJJHJhdyA9IGJhc2U2NF9kZWNvZGUoJF9TRVNTSU9OWydwYXlwYWxndyddKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkZW5jID0gYmFzZTY0X2RlY29kZSgkX1NFU1NJT05bJ3BheXBhbGd3J10pOwoJJHJhdyA9ICR0aGlzLT5kZWNyeXB0KCRrZXksJGVuYyk7CglpZiggJHJhdyA9PT0gRkFMU0UgKSByZXR1cm4gRkFMU0U7CiAgICAgIH0KICAgICR0aGlzLT5fZGF0YSA9IHVuc2VyaWFsaXplKCRyYXcpOwogICAgdW5zZXQoJF9TRVNTSU9OWydwYXlwYWxndyddKTsKICAgIHJldHVybiBUUlVFOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFNldFBheW1lbnRJZCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgcHVibGljIGZ1bmN0aW9uIFNldFBheW1lbnRJZCgkcGF5bWVudF9pZCkKICB7CiAgICAkdGhpcy0+X2RhdGFbJ3BheW1lbnRfaWQnXSA9ICRwYXltZW50X2lkOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldFBheW1lbnRJZCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgcHVibGljIGZ1bmN0aW9uIEdldFBheW1lbnRJZCgpCiAgewogICAgaWYoICFpc3NldCgkdGhpcy0+X2RhdGFbJ3BheW1lbnRfaWQnXSkgKSByZXR1cm4gRkFMU0U7CiAgICByZXR1cm4gJHRoaXMtPl9kYXRhWydwYXltZW50X2lkJ107CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgU2V0Q3JlZGl0Q2FyZEluZm8oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFNldENyZWRpdENhcmRJbmZvKCRjY251bWJlciwkY2NleHAsJGNjdmNvZGUpCiAgewogICAgcmV0dXJuIFRSVUU7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgU2V0Q3VycmVuY3lDb2RlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBTZXRDdXJyZW5jeUNvZGUoJGNvZGUgPSAnVVNEJykKICB7CiAgICAkdGhpcy0+X2RhdGFbJ2N1cnJlbmN5Y29kZSddID0gc3RydG91cHBlcigkY29kZSk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgU2V0V2VpZ2h0VW5pdHMoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFNldFdlaWdodFVuaXRzKCR1bml0cyA9ICdsYnMnKQogIHsKICAgICR0aGlzLT5fZGF0YVsnd2VpZ2h0dW5pdHMnXSA9ICR1bml0czsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZXREZXN0aW5hdGlvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gU2V0RGVzdGluYXRpb24oJHVybCkKICB7CiAgICAkdGhpcy0+X2RhdGFbJ2Rlc3RpbmF0aW9uJ10gPSAkdXJsOwogIH0KICAgIAoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBBZGRJdGVtKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBBZGRJdGVtKCRuYW1lLCRudW1iZXIsJHF1YW50aXR5LCR3ZWlnaHQsJGFtb3VudCwkdGF4ID0gJycpCiAgewogICAgJG5hbWUgPSBzdHJpcF90YWdzKCRuYW1lKTsKICAgICRuYW1lID0gaHRtbF9lbnRpdHlfZGVjb2RlKCRuYW1lKTsKICAgICRuYW1lID0gdHJpbSgkbmFtZSk7CiAgICBpZiggIWlzc2V0KCR0aGlzLT5fZGF0YVsnaXRlbXMnXSkgKQogICAgICB7CgkkdGhpcy0+X2RhdGFbJ2l0ZW1zJ10gPSBhcnJheSgpOwogICAgICB9CgogICAgaWYoICFpc3NldCgkdGhpcy0+X2l0ZW1zWyRuYW1lXSkgKQogICAgICB7CgkkdGhpcy0+X2RhdGFbJ2l0ZW1zJ11bJG5hbWVdID0gYXJyYXkoJ25hbWUnPT4kbmFtZSwKCQkJCSAgICAgJ251bWJlcic9PiRudW1iZXIsCgkJCQkgICAgICdxdWFudGl0eSc9PiRxdWFudGl0eSwKCQkJCSAgICAgJ3dlaWdodCc9PiR3ZWlnaHQsCgkJCQkgICAgICdhbW91bnQnPT4kYW1vdW50KTsKCWlmKCFlbXB0eSgkdGF4KSkKCSAgewoJICAgICR0aGlzLT5fZGF0YVsnaXRlbXMnXVskbmFtZV1bJ3RheCddID0gJHRheDsKCSAgfQogICAgICB9CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgU2V0T3JkZXJEZXNjcmlwdGlvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gU2V0T3JkZXJEZXNjcmlwdGlvbigkdHh0KQogIHsKICAgICR0aGlzLT5fZGF0YVsnZGVzY3JpcHRpb24nXSA9IHN1YnN0cigkdHh0LDAsMjU1KTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZXRPcmRlck9iamVjdCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gU2V0T3JkZXJPYmplY3Qob3JkZXJzX29yZGVyJiAkb3JkZXIpCiAgewogICAgJHRoaXMtPl9kYXRhWydvcmRlcl9vYmonXSA9ICRvcmRlcjsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZXRPcmRlclRheEFtb3VudCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gU2V0T3JkZXJUYXhBbW91bnQoJHRheCkKICB7CiAgICAkdGhpcy0+X2RhdGFbJ29yZGVydGF4J10gPSAkdGF4OwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFNldE9yZGVyU2hpcHBpbmcoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFNldE9yZGVyU2hpcHBpbmcoJHNoaXBwaW5nKQogIHsKICAgICR0aGlzLT5fZGF0YVsnb3JkZXJzaGlwcGluZyddID0gJHNoaXBwaW5nOwogIH0KCgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZXRJbnZvaWNlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBTZXRJbnZvaWNlKCRpbnZvaWNlKQogIHsKICAgICR0aGlzLT5fZGF0YVsnaW52b2ljZSddID0gc3Vic3RyKCRpbnZvaWNlLC0yMCk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgU2V0T3JkZXJJRCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gU2V0T3JkZXJJRCgkb3JkZXJpZCkKICB7CiAgICAkdGhpcy0+X2RhdGFbJ29yZGVyaWQnXSA9ICRvcmRlcmlkOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFNldFN0YXR1cygpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gU2V0U3RhdHVzKCRzdGF0dXMpCiAgewogICAgc3dpdGNoKCRzdGF0dXMpCiAgICAgIHsKICAgICAgY2FzZSBQQVlNRU5UX1NUQVRVU19OT05FOgogICAgICBjYXNlIFBBWU1FTlRfU1RBVFVTX0FQUFJPVkVEOgogICAgICBjYXNlIFBBWU1FTlRfU1RBVFVTX0RFQ0xJTkVEOgogICAgICBjYXNlIFBBWU1FTlRfU1RBVFVTX0VSUk9SOgogICAgICBjYXNlIFBBWU1FTlRfU1RBVFVTX0NBTkNFTExFRDoKICAgICAgY2FzZSBQQVlNRU5UX1NUQVRVU19PVEhFUjoKICAgICAgY2FzZSBQQVlNRU5UX1NUQVRVU19QRU5ESU5HOgoJJHRoaXMtPl9kYXRhWydzdGF0dXMnXSA9ICRzdGF0dXM7CglicmVhazsKICAgICAgfQogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFNldFRyYW5zYWN0aW9uSWQoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFNldFRyYW5zYWN0aW9uSWQoJHRpZCkKICB7CiAgICAkdGhpcy0+X2RhdGFbJ3RyYW5zYWN0aW9uX2lkJ10gPSAkdGlkOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFNldEVycm9yKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBTZXRFcnJvcigkbWVzc2FnZSkKICB7CiAgICAkdGhpcy0+X2RhdGFbJ3N0YXR1cyddID0gUEFZTUVOVF9TVEFUVVNfRVJST1I7CiAgICAkdGhpcy0+X2RhdGFbJ2Vycm9yX21lc3NhZ2UnXSA9ICRtZXNzYWdlOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFNldENhbmNlbGxlZCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gU2V0Q2FuY2VsbGVkKCRtZXNzYWdlID0gJycpCiAgewogICAgJHRoaXMtPl9kYXRhWydzdGF0dXMnXSA9IFBBWU1FTlRfU1RBVFVTX0NBTkNFTExFRDsKICAgIGlmKCAkbWVzc2FnZSApCiAgICAgIHsKCSR0aGlzLT5fZGF0YVsnZXJyb3JfbWVzc2FnZSddID0gJG1lc3NhZ2U7CiAgICAgIH0KICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBSZXNldCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gUmVzZXQoKQogIHsKICAgICR0aGlzLT5fZGF0YSA9IGFycmF5KCk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgU2V0RGVjbGluZWQoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFNldERlY2xpbmVkKCRtZXNzYWdlKQogIHsKICAgICR0aGlzLT5fZGF0YVsnc3RhdHVzJ10gPSBQQVlNRU5UX1NUQVRVU19ERUNMSU5FRDsKICAgICR0aGlzLT5fZGF0YVsnZXJyb3JfbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX3BheW1lbnRfZGVjbGluZWQnKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRUcmFuc2FjdGlvblN0YXR1cygpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0VHJhbnNhY3Rpb25TdGF0dXMoKQogIHsKICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJ3N0YXR1cyddKSApCiAgICAgIHJldHVybiAkdGhpcy0+X2RhdGFbJ3N0YXR1cyddOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldFRyYW5zYWN0aW9uSWQoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldFRyYW5zYWN0aW9uSWQoKQogIHsKICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJ3RyYW5zYWN0aW9uX2lkJ10pICkKICAgICAgcmV0dXJuICR0aGlzLT5fZGF0YVsndHJhbnNhY3Rpb25faWQnXTsKICAgIHJldHVybiBGQUxTRTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRNZXNzYWdlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRNZXNzYWdlKCkKICB7CiAgICBpZiggaXNzZXQoJHRoaXMtPl9kYXRhWydlcnJvcl9tZXNzYWdlJ10pICkKICAgICAgcmV0dXJuICR0aGlzLT5fZGF0YVsnZXJyb3JfbWVzc2FnZSddOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEZpbmlzaFRyYW5zYWN0aW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBGaW5pc2hUcmFuc2FjdGlvbigpCiAgewogICAgaWYoICFpc3NldCgkdGhpcy0+X2RhdGFbJ2Rlc3RpbmF0aW9uJ10pICkgcmV0dXJuIEZBTFNFOwogICAgJGtleSA9ICR0aGlzLT5TYXZlU3RhdGUodHJ1ZSk7CiAgICAkdXJsID0gJHRoaXMtPl9kYXRhWydkZXN0aW5hdGlvbiddOwogICAgJHVybCA9IGh0bWxfZW50aXR5X2RlY29kZSgkdXJsKTsKICAgICR1cmwgLj0gIiZjbnRudDAxZGF0YWtleT0ka2V5IjsKCiAgICByZWRpcmVjdCgkdXJsKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBDaGVja0luZm8oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIENoZWNrSW5mbygpCiAgewogICAgcmV0dXJuIHRydWU7IC8vIGRlYnVnCiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0Rm9ybSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0Rm9ybSgkcmV0dXJuaWQpCiAgewogICAgaWYoICEkdGhpcy0+Q2hlY2tJbmZvKCkgKSByZXR1cm4gRkFMU0U7CgogICAgJGtleSA9ICR0aGlzLT5TYXZlU3RhdGUodHJ1ZSk7CiAgICAkdXJsID0gJyc7CiAgICBpZiggJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Byb2Rtb2RlJykgKQogICAgICB7CgkkdXJsID0gc2VsZjo6UFJPRF9VUkw7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJHVybCA9IHNlbGY6OlRFU1RfVVJMOwogICAgICB9CgogICAgLy8gZmluZCBhbiBpdGVtIHdpdGggYSBzdWJzY3JpcHRpb24KICAgICRzdWJzY3JfaXRlbSA9IG51bGw7CiAgICBpZiggaXNzZXQoJHRoaXMtPl9kYXRhWydvcmRlcl9vYmonXSkgKQogICAgICB7Cgkkb3JkZXIgPSAkdGhpcy0+X2RhdGFbJ29yZGVyX29iaiddOwoJZm9yKCAkaSA9IDA7ICRpIDwgJG9yZGVyLT5jb3VudF9kZXN0aW5hdGlvbnMoKTsgJGkrKyApCgkgIHsKCSAgICAkc2hpcHBpbmcgPSYgJG9yZGVyLT5nZXRfc2hpcHBpbmcoJGkpOwoJICAgIGZvciggJGogPSAwOyAkaiA8ICRzaGlwcGluZy0+Y291bnRfYWxsX2l0ZW1zKCk7ICRqKysgKQoJICAgICAgewoJCSRpdGVtID0mICRzaGlwcGluZy0+Z2V0X2l0ZW0oJGopOwoJCWlmKCAkaXRlbS0+aXNfc3Vic2NyaXB0aW9uKCkgKQoJCSAgewoJCSAgICBpZiggJHN1YnNjcl9pdGVtICE9ICcnICkKCQkgICAgICB7CgkJCS8vIG9vcHMgd2UgZ290IGEgcHJvYmxlbS4KCQkJcmV0dXJuIEZBTFNFOwoJCSAgICAgIH0KCQkgICAgJHN1YnNjcl9pdGVtID0gJGl0ZW07CgkJICAgIGJyZWFrOwoJCSAgfQoJICAgICAgfQoJICAgIAoJICAgIGlmKCAkc3Vic2NyX2l0ZW0gKSBicmVhazsKCSAgfQogICAgICB9CgogICAgJHBhcm1zID0gYXJyYXkoKTsKICAgICRwYXJtc1sndXBsb2FkJ10gPSAxOwogICAgJHBhcm1zWydybSddID0gMjsKICAgICRwYXJtc1snYnVzaW5lc3MnXSA9ICcnOwogICAgaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwcm9kbW9kZScpICkKICAgICAgewoJJHBhcm1zWydidXNpbmVzcyddID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Byb2RfYWNjdCcsMCk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJHBhcm1zWydidXNpbmVzcyddID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Rlc3RfYWNjdCcsMCk7CiAgICAgIH0KICAgICRwYXJtc1snY2hhcnNldCddID0gJ1VURi04JzsKICAgICRwYXJtc1snY3VzdG9tJ10gPSAkdGhpcy0+X2RhdGFbJ29yZGVyaWQnXTsKICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJ2N1cnJlbmN5Y29kZSddKSApCiAgICAgIHsKCSRwYXJtc1snY3VycmVuY3lfY29kZSddID0gJHRoaXMtPl9kYXRhWydjdXJyZW5jeWNvZGUnXTsKICAgICAgfQogICAgaWYoIGlzc2V0KCR0aGlzLT5fZGF0YVsnd2VpZ2h0dW5pdHMnXSkgJiYgJHRoaXMtPl9kYXRhWyd3ZWlnaHR1bml0cyddICE9ICcnICkKICAgICAgewoJJHBhcm1zWyd3ZWlnaHRfdW5pdCddID0gJHRoaXMtPl9kYXRhWyd3ZWlnaHR1bml0cyddOwogICAgICB9CiAgICBpZiggJHN1YnNjcl9pdGVtICkKICAgICAgewoJJHBhcm1zWydjbWQnXSA9ICdfeGNsaWNrLXN1YnNjcmlwdGlvbnMnOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCS8vIGEgcmVndWxhciBjYXJ0LgoJJHBhcm1zWydjbWQnXSA9ICdfY2FydCc7CiAgICAgIH0KCgovLyAgICAgaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdlbmFibGVfaXBuJywwKSApCi8vICAgICAgIHsKLy8gCSRwYXJtc1snbm90aWZ5X3VybCddID0gJHRoaXMtPkNyZWF0ZVVSTCgkaWQsJ2lwbicsJHJldHVybmlkLAovLyAJCQkJCSBhcnJheSgnb3JkZXJfaWQnPT4kdGhpcy0+X2RhdGFbJ29yZGVyaWQnXSwKLy8gCQkJCQkgICAgICAgJ215Y3VzdG9tJz0+JGtleSkpOwovLyAgICAgICB9CgogICAgJHBhcm1zWydyZXR1cm4nXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCdjbnRudDAxJywncmV0dXJuX3N1Y2Nlc3MnLCRyZXR1cm5pZCwnJywKCQkJCQkgYXJyYXkoJ29yZGVyX2lkJz0+JHRoaXMtPl9kYXRhWydvcmRlcmlkJ10sCgkJCQkJICAgICAgICdteWN1c3RvbSc9PiRrZXkpLAoJCQkJCSAnJyx0cnVlKTsKICAgICRwYXJtc1snY2FuY2VsX3JldHVybiddID0gJHRoaXMtPkNyZWF0ZUxpbmsoJ2NudG50MDEnLCdyZXR1cm5fY2FuY2VsJywkcmV0dXJuaWQsJycsCgkJCQkJCWFycmF5KCdvcmRlcl9pZCc9PiR0aGlzLT5fZGF0YVsnb3JkZXJpZCddLAoJCQkJCQkgICAgICAnbXljdXN0b20nPT4ka2V5KSwKCQkJCQkJJycsdHJ1ZSk7CiAgICAkcGFybXNbJ25vX25vdGUnXSA9IDE7CgogICAgLy9BZGQgYWRkcmVzcyBkZXRhaWxzCiAgICBpZiggaXNzZXQoJHRoaXMtPl9kYXRhWydiaWxsaW5nX2FkZHJlc3MnXSkgKQogICAgICB7CgkkYWRkcmVzcyA9JiAkdGhpcy0+X2RhdGFbJ2JpbGxpbmdfYWRkcmVzcyddOwoJJHBhcm1zWydhZGRyZXNzMSddID0gJGFkZHJlc3MtPmdldF9hZGRyZXNzMSgpOwoJJHBhcm1zWydhZGRyZXNzMiddID0gJGFkZHJlc3MtPmdldF9hZGRyZXNzMigpOwoJJHBhcm1zWydjaXR5J10gPSAkYWRkcmVzcy0+Z2V0X2NpdHkoKTsKCSRwYXJtc1snc3RhdGUnXSA9ICRhZGRyZXNzLT5nZXRfc3RhdGUoKTsKCSRwYXJtc1snemlwJ10gPSAkYWRkcmVzcy0+Z2V0X3Bvc3RhbCgpOwoJJHBhcm1zWydjb3VudHJ5J10gPSAkYWRkcmVzcy0+Z2V0X2NvdW50cnkoKTsKCSRwYXJtc1snZmlyc3RfbmFtZSddID0gJGFkZHJlc3MtPmdldF9maXJzdG5hbWUoKTsKCSRwYXJtc1snbGFzdF9uYW1lJ10gPSAkYWRkcmVzcy0+Z2V0X2xhc3RuYW1lKCk7CgkkcGFybXNbJ25pZ2h0X3Bob25lX2EnXSA9ICRhZGRyZXNzLT5nZXRfcGhvbmUoKTsKICAgICAgfQoKCiAgICBpZiggJHN1YnNjcl9pdGVtICkKICAgICAgewoJLy8gYSBzdWJzY3JpcHRpb24uCgkkcGFybXNbJ2l0ZW1fbmFtZSddID0gJHN1YnNjcl9pdGVtLT5nZXRfZGVzY3JpcHRpb24oKTsKCSRwYXJtc1snYTMnXSA9ICRzdWJzY3JfaXRlbS0+Z2V0X25ldF9wcmljZSgpOwoJc3dpdGNoKCAkc3Vic2NyX2l0ZW0tPmdldF9zdWJzY3JfcGF5cGVyaW9kKCkgKQoJICB7CgkgIGNhc2UgY2dfZWNvbW1fcHJvZHVjaW50b19zdWJzY3JpcHRpb246U1VCU0NSX1BFUklPRF9NT05USExZOwoJICAgICRwYXJtc1sncDMnXSA9IDE7CgkgICAgJHBhcm1zWyd0MyddID0gJ00nOwoJICAgIGJyZWFrOwoJICBjYXNlIGNnX2Vjb21tX3Byb2R1Y2ludG9fc3Vic2NyaXB0aW9uOlNVQlNDUl9QRVJJT0RfUVVBUlRFUkxZOwoJICAgICRwYXJtc1sncDMnXSA9IDM7CgkgICAgJHBhcm1zWyd0MyddID0gJ00nOwoJICAgIGJyZWFrOwoJICBjYXNlIGNnX2Vjb21tX3Byb2R1Y2ludG9fc3Vic2NyaXB0aW9uOlNVQlNDUl9QRVJJT0RfU0VNSUFOVUFMTFk7CgkgICAgJHBhcm1zWydwMyddID0gNjsKCSAgICAkcGFybXNbJ3QzJ10gPSAnTSc7CgkgICAgYnJlYWs7CgkgIGNhc2UgY2dfZWNvbW1fcHJvZHVjaW50b19zdWJzY3JpcHRpb246U1VCU0NSX1BFUklPRF9ZRUFSTFk7CgkgIGRlZmF1bHQ6CgkgICAgJHBhcm1zWydwMyddID0gMTsKCSAgICAkcGFybXNbJ3QzJ10gPSAnWSc7CgkgICAgYnJlYWs7CgkgICAgLy8gMSB5ZWFyLgoJICB9CgkkZXhwID0gJHN1YnNjcl9pdGVtLT5nZXRfc3Vic2NyX2V4cGlyZXMoKTsKCWlmKCAhJGV4cCApCgkgIHsKCSAgICAkcGFybXNbJ3NyYyddID0gMDsKCSAgfQoJZWxzZQoJICB7CgkgICAgJHBhcm1zWydzcmMnXSA9IDE7CgkgICAgJHBhcm1zWydzcnQnXSA9ICRleHA7CgkgIH0KCSRwYXJtc1snc3JhJ10gPSAxOyAgLy8gcmVhdHRlbXB0IG9uIGZhaWx1cmUuCiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJLy8gYWRkIGl0ZW0gZGV0YWlscy4KCS8vIHNjYW4gZm9yIG5lZ2F0aXZlIGFtb3VudHMuCgkkaGFzX25lZ2F0aXZlID0gZmFsc2U7Cglmb3JlYWNoKCAkdGhpcy0+X2RhdGFbJ2l0ZW1zJ10gYXMgJG5hbWUgPT4gJGRhdGEgKQoJICB7CgkgICAgaWYoICRkYXRhWydhbW91bnQnXSA8IDAuMDAgKQoJICAgICAgewoJCSRoYXNfbmVnYXRpdmUgPSB0cnVlOwoJCWJyZWFrOwoJICAgICAgfQoJICB9CgoJaWYoICRoYXNfbmVnYXRpdmUgKQoJICB7CgkgICAgLy8gdGhlcmUncyBhdCBsZWFzdCBvbmUgbmVnYXRpdmUgYW1vdW50CgkgICAgLy8gc3R1cGlkIHBheXBhbCB3b24ndCBhbGxvdyB1cyB0byBzcGVjaWZ5IHRoYXQKCSAgICAvLyBzbyB3ZSdsbCBtdW5nZSBldmVyeXRoaW5nIHRvZ2V0aGVyIGluIG9uZSBsaW5lIGl0ZW0uCgkgICAgJGNvdW50ID0gMTsKCSAgICAkYW1vdW50ID0gMDsKCSAgICBmb3JlYWNoKCAkdGhpcy0+X2RhdGFbJ2l0ZW1zJ10gYXMgJG5hbWUgPT4gJGRhdGEgKQoJICAgICAgewoJCSRhbW91bnQgKz0gJGRhdGFbJ2Ftb3VudCddICogJGRhdGFbJ3F1YW50aXR5J107CgkgICAgICB9CgkgICAgJHBhcm1zWydhbW91bnRfJy4kY291bnRdID0gbnVtYmVyX2Zvcm1hdCgkYW1vdW50LDIsJy4nLCcnKTsKCSAgICAkbmFtZSA9IHRyaW0oJHRoaXMtPl9kYXRhWydkZXNjcmlwdGlvbiddKTsKCSAgICBpZiggISRuYW1lICkKCSAgICAgIHsKCQkkbmFtZSA9ICR0aGlzLT5MYW5nKCdvbmxpbmVfcHVyY2hhc2UnKTsKCSAgICAgIH0KCSAgICAkcGFybXNbJ2l0ZW1fbmFtZV8nLiRjb3VudF0gPSAkbmFtZTsKCSAgICAkcGFybXNbJ3F1YW50aXR5XycuJGNvdW50XSA9IDE7CgkgICAgJHBhcm1zWydpdGVtX251bWJlcl8nLiRjb3VudF0gPSAxOwoJICB9CgllbHNlCgkgIHsKCSAgICAkY291bnQgPSAxOwoJICAgIGZvcmVhY2goICR0aGlzLT5fZGF0YVsnaXRlbXMnXSBhcyAkbmFtZSA9PiAkZGF0YSApCgkgICAgICB7CgkJJHBhcm1zWydhbW91bnRfJy4kY291bnRdID0gbnVtYmVyX2Zvcm1hdCgkZGF0YVsnYW1vdW50J10sMiwnLicsJycpOwoJCSRwYXJtc1snaXRlbV9uYW1lXycuJGNvdW50XSA9ICRuYW1lOwoJCSRwYXJtc1sncXVhbnRpdHlfJy4kY291bnRdID0gJGRhdGFbJ3F1YW50aXR5J107CgkgICAgCgkJJGRhdGFbJ251bWJlciddID0gJGNvdW50OwoJCSRwYXJtc1snaXRlbV9udW1iZXJfJy4kY291bnRdID0gJGRhdGFbJ251bWJlciddOwoJICAgIAoJCSRjb3VudCsrOwoJICAgICAgfQoJICB9CiAgICAKCS8vIGhhY2sgZm9yIHNoaXBwaW5nCglpZiggIWVtcHR5KCR0aGlzLT5fZGF0YVsnb3JkZXJzaGlwcGluZyddKSAmJiAkdGhpcy0+X2RhdGFbJ29yZGVyc2hpcHBpbmcnXSA+IDAgKQoJICB7CgkgICAgJHBhcm1zWydhbW91bnRfJy4kY291bnRdID0gbnVtYmVyX2Zvcm1hdCgkdGhpcy0+X2RhdGFbJ29yZGVyc2hpcHBpbmcnXSwyLCcuJywnJyk7CgkgICAgJHBhcm1zWydpdGVtX25hbWVfJy4kY291bnRdID0gJ1NoaXBwaW5nJzsgLy8gdG9kbyAodHJhbnNsYXRlKQoJICB9CgoJLy8gdGF4ZXMKCWlmKCAhZW1wdHkoJHRoaXMtPl9kYXRhWydvcmRlcnRheCddKSApCgkgIHsKCSAgICAkcGFybXNbJ3RheF9jYXJ0J10gPSBudW1iZXJfZm9ybWF0KCR0aGlzLT5fZGF0YVsnb3JkZXJ0YXgnXSwyLCcuJywnJyk7CgkgIH0KICAgICAgfQoKICAgIC8vIGdpdmUgZXZlcnl0aGluZyB0byBzbWFydHkKICAgIGdsb2JhbCAkZ0NtczsKICAgICRjb25maWcgPSAkZ0Ntcy0+R2V0Q29uZmlnKCk7CiAgICAkc21hcnR5ID0mICRnQ21zLT5HZXRTbWFydHkoKTsKICAgICRzbWFydHktPmFzc2lnbigncG9zdHVybCcsJHVybCk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2NoZWNrb3V0X3RleHQnLCR0aGlzLT5MYW5nKCdjaGVja291dF9tZXNzYWdlJykpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdpbWFnZV91cmwnLAoJCSAgICAkY29uZmlnWydyb290X3VybCddLicvbW9kdWxlcy8nLiR0aGlzLT5HZXROYW1lKCkuJy9pbWFnZXMvcGF5cGFsX2J1dHRvbi5naWYnKTsKCQkgICAgCiAgICAkc3RyID0gJyc7CiAgICAkZm10ID0gJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiVzIiB2YWx1ZT0iJXMiLz4nLiJcbiI7CiAgICBmb3JlYWNoKCAkcGFybXMgYXMgJGtleT0+JHZhbHVlICkKICAgICAgewoJJHN0ciAuPSBzcHJpbnRmKCRmbXQsJGtleSwoc3RyaW5nKSR2YWx1ZSk7CiAgICAgIH0KICAgICRzbWFydHktPmFzc2lnbignZm9ybXZhbHVlcycsJHN0cik7CgogICAgcmV0dXJuICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ2Zvcm1fdGVtcGxhdGUnKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZXRCaWxsaW5nQWRkcmVzcygpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgcHVibGljIGZ1bmN0aW9uIFNldEJpbGxpbmdBZGRyZXNzKG9yZGVyc19hZGRyZXNzJiAkYmlsbGluZ19hZGR5KQogIHsKICAgIGlmKCAhJGJpbGxpbmdfYWRkeSBpbnN0YW5jZW9mIGNnZV9hZGRyZXNzICkKICAgICAgewoJcmV0dXJuIEZBTFNFOwogICAgICB9CiAgICAkdGhpcy0+X2RhdGFbJ2JpbGxpbmdfYWRkcmVzcyddID0gJGJpbGxpbmdfYWRkeTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZXRTaGlwcGluZ0FkZHJlc3MoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIHB1YmxpYyBmdW5jdGlvbiBTZXRTaGlwcGluZ0FkZHJlc3Mob3JkZXJzX2FkZHJlc3MmICRzaGlwcGluZ19hZGR5KQogIHsKICAgIGlmKCAhJHNoaXBwaW5nX2FkZHkgaW5zdGFuY2VvZiBjZ2VfYWRkcmVzcyApCiAgICAgIHsKCXJldHVybiBGQUxTRTsKICAgICAgfQogICAgJHRoaXMtPl9kYXRhWydzaGlwcGluZ19hZGRyZXNzJ10gPSAkc2hpcHBpbmdfYWRkeTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRUcmFuc2FjdGlvbkFtb3VudCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgcHVibGljIGZ1bmN0aW9uIEdldFRyYW5zYWN0aW9uQW1vdW50KCkKICB7CiAgICBpZiggaXNzZXQoJHRoaXMtPl9kYXRhWydhbW91bnQnXSkgKQogICAgICByZXR1cm4gJHRoaXMtPl9kYXRhWydhbW91bnQnXTsKICAgIHJldHVybiBGQUxTRTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZXRUcmFuc2FjdGlvbkFtb3VudCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgcHVibGljIGZ1bmN0aW9uIFNldFRyYW5zYWN0aW9uQW1vdW50KCR0aWQpCiAgewogICAgJHRoaXMtPl9kYXRhWydhbW91bnQnXSA9ICR0aWQ7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgZ2V0X2NhcnRpdGVtX3BvbGljeSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgcHVibGljIGZ1bmN0aW9uIGdldF9jYXJ0aXRlbV9wb2xpY3koKQogIHsKICAgICRwb2xpY3kgPSBuZXcgY2dfZWNvbW1fY2FydGl0ZW1fcG9saWN5OwogICAgaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhbGxvd19zdWJzY3JpcHRpb25zJykgJiYgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2VuYWJsZV9pcG4nKSApCiAgICAgIHsKCSRwb2xpY3ktPnNldF9tYXhfc3Vic2NyaXB0aW9ucygxKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkcG9saWN5LT5zZXRfbWF4X3N1YnNjcmlwdGlvbnMoMCk7CiAgICAgIH0KICAgICRwb2xpY3ktPnNldF9taXhlZF9zdWJzY3JpcHRpb25zKEZBTFNFKTsKICAgIHJldHVybiAkcG9saWN5OwogIH0KCn0gLy8gY2xhc3MK]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/orig_form_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogZm9ybSB0ZW1wbGF0ZSAqfQo8Zm9ybSBtZXRob2Q9InBvc3QiIGFjdGlvbj0ieyRwb3N0dXJsfSI+CnskZm9ybXZhbHVlc30KPGlucHV0IHR5cGU9ImltYWdlIiBzcmM9InskaW1hZ2VfdXJsfSIgbmFtZT0ic3VibWl0Ii8+CjwvZm9ybT4=]]></data>
	</file>
	<file>
	  <filename>/templates/prefs.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvZG1vZGUnKX08L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICB7Y2dlX3llc25vX29wdGlvbnMgcHJlZml4PSRhY3Rpb25pZCBuYW1lPXByb2Rtb2RlIHNlbGVjdGVkPSRwcm9kbW9kZX0KICA8L3A+CjwvZGl2Pgo8YnIvPgoKPGZpZWxkc2V0Pgo8bGVnZW5kPnskbW9kLT5MYW5nKCdwcm9kdWN0aW9uX3NldHRpbmdzJyl9PC9sZWdlbmQ+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnYnVzaW5lc3NfZW1haWwnKX08L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1wcm9kX2FjY3QiIHNpemU9IjUwIiBtYXhsZW5ndGg9IjI1NSIgdmFsdWU9InskcHJvZF9hY2N0fSIvPgogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncGR0X2lkZW50aXR5X3Rva2VuJyl9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9cHJvZF90b2tlbiIgc2l6ZT0iNTAiIG1heGxlbmd0aD0iMjU1IiB2YWx1ZT0ieyRwcm9kX3Rva2VufSIvPgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX3BkdF9pZGVudGl0eV90b2tlbicpfQogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX3BkdF9yZXR1cm5fdXJsJyl9CiAgPC9wPgo8L2Rpdj4KPC9maWVsZHNldD4KCjxmaWVsZHNldD4KPGxlZ2VuZD57JG1vZC0+TGFuZygndGVzdF9zZXR0aW5ncycpfTwvbGVnZW5kPgo8cCBjbGFzcz0icGFnZW92ZXJmbG93Ij57JG1vZC0+TGFuZygnaW5mb190ZXN0X3NldHRpbmdzJyl9PC9wPgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2J1c2luZXNzX2VtYWlsJyl9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9dGVzdF9hY2N0IiBzaXplPSI1MCIgbWF4bGVuZ3RoPSIyNTUiIHZhbHVlPSJ7JHRlc3RfYWNjdH0iLz4KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3BkdF9pZGVudGl0eV90b2tlbicpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfXRlc3RfdG9rZW4iIHNpemU9IjUwIiBtYXhsZW5ndGg9IjI1NSIgdmFsdWU9InskdGVzdF90b2tlbn0iLz4KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19wZHRfaWRlbnRpdHlfdG9rZW4nKX0KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19wZHRfcmV0dXJuX3VybCcpfQogIDwvcD4KPC9kaXY+CjwvZmllbGRzZXQ+Cjxici8+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2VuYWJsZV9pcG4nKX08L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InskYWN0aW9uaWR9ZW5hYmxlX2lwbiIgdmFsdWU9IjAiLz4KICAgPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJ7JGFjdGlvbmlkfWVuYWJsZV9pcG4iIHZhbHVlPSIxIiB7aWYgJGVuYWJsZV9pcG4gPT0gMX1jaGVja2VkPSJjaGVja2VkIiB7L2lmfS8+CiAgIDxici8+CiAgIHskbW9kLT5MYW5nKCdpbmZvX2VuYWJsZV9pcG4nKX0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2lwbl91cmwnKX08L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij57JGlwbl91cmx9PC9zcGFuPjxici8+eyRtb2QtPkxhbmcoJ2luZm9faXBuX3VybCcpfQogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnYWxsb3dfc3Vic2NyaXB0aW9ucycpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgeyRpbnB1dF9hbGxvd19zdWJzY3JpcHRpb25zfQogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9PC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQo=]]></data>
	</file>
	<file>
	  <filename>/TODO.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[MSkgQWxsb3cgYWRkcmVzcyBvdmVycmlkZQoyKSBBbGxvdyBjdXJyZW5jeQozKSBBbGxvdyBvcHRpb25hbCBzaGlwcGluZyBpdGVtCiAgIC0gY291bGQgdXNlIHRoZSBzaGlwcGluZyBhbmQgc2hpcHBpbmcyIHZhcmlhYmxlcwogICAtIGFsbG93IHNlbmRpbmcgd2VpZ2hzCiAgIC0gd2VpZ2h0IHVuaXRzCjQpIGFsbG93IHRoZSBjcHBfaGVhZGVyX2ltYWdlLCBjcHBfaGVhZGVyYmFja19jb2xvciwgY3BwX2hlYWRlcmJvcmRlcl9jb2xvciwgY3BwX3BheWZsb3dfY29sb3IKICAgaW1hZ2VfdXJsLCBub19ub3RlLCBub19zaGlwcGluZywgcGFnZV9zdHlsZSwg]]></data>
	</file>
</module>
