<?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>CGSimpleSmarty</name>
	<version>1.9</version>
  <mincmsversion>1.12</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIHNvbWUgc2ltcGxlIHNtYXJ0eSB1dGlsaXRpZXMgZm9yIHVzZSBpbiBhcHBsaWNhdGlvbnMgb3IgZm9yIGN1c3RvbWl6aW5nIHRoZSBiZWhhdmlvdXIgb2YgeW91ciBDTVMgTWFkZSBTaW1wbGUgcGFnZXMuPC9wPgo8aDM+SG93IERvIEkgVXNlIEl0OjwvaDM+CjxwPldoZW4gdGhpcyBtb2R1bGUgaXMgaW5zdGFsbGVkLCBhIG5ldyBzbWFydHkgb2JqZWN0IG5hbWVkIGNnc2ltcGxlIGlzIGF1dG9tYXRpY2FsbHkgYXZhaWxhYmxlIHRvIHlvdXIgcGFnZSB0ZW1wbGF0ZXMsIGdsb2JhbCBjb250ZW50IGJsb2NrcywgYW5kIHZhcmlvdXMgbW9kdWxlIHRlbXBsYXRlcy4gIFRoaXMgc21hcnR5IG9iamVjdCBoYXMgbnVtZXJvdXMgZnVuY3Rpb25zIHRoYXQgeW91IGNhbiBjYWxsIGF0IGFueSB0aW1lLjwvcD4KPGg0PkF2YWlsYWJsZSBGdW5jdGlvbnM6PC9oND4KPHVsPgo8bGk+PHN0cm9uZz5jZ3NpX2FycmF5X3NldDwvc3Ryb25nPihbJGFzc2lnbl0pCiAgICA8cD48c3Ryb25nPkRlcHJlY2F0ZWQ8L3N0cm9uZz48L3A+CiAgICA8cD5TZXQgaXRlbXMgaW50byBhIHNtYXJ0eSBhcnJheSwgb3IgY3JlYXRlIGEgbmV3IHNtYXJ0eSBhcnJheS4gIFRoaXMgcGx1Z2luIHJldHVybnMgbm8gb3V0cHV0LjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5hcnJheSAgICAgICAgLSByZXF1aXJlZCA6IFRoZSBuYW1lIG9mIHRoZSBzbWFydHkgYXJyYXkgdG8gY3JlYXRlIG9yIGFkanVzdC48L2xpPgogICAgICAgPGxpPmtleSAgICAgICAgICAtIHJlcXVpcmVkIDogVGhlIGFycmF5IGtleS48L2xpPgogICAgICAgPGxpPnZhbHx2YWx1ZSAgICAtIHJlcXVpcmVkIDogVGhlIHZhbHVlIHRvIGFkZC48L2xpPgogICAgICA8L3VsPgogICAgICA8YnIvPkV4YW1wbGU6IDxjb2RlPnthcnJheV9zZXQgYXJyYXk9c29tZWRhdGEga2V5PWZvbyB2YWw9YmFyfTwvY29kZT4KICAgIDwvcD4KPC9saT4KCjxici8+CjxsaT48c3Ryb25nPmNnc2lfYXJyYXlfdW5zZXQ8L3N0cm9uZz4oWyRhc3NpZ25dKQogICAgPHA+PHN0cm9uZz5EZXByZWNhdGVkPC9zdHJvbmc+PC9wPgogICAgPHA+VGhlIG9wcG9zaXRlIG9mIHRoZSBhcnJheSBzZXQgbWV0aG9kLCB0aGlzIGZ1bmN0aW9uIHJlbW92ZXMgaXRlbXMgZnJvbSBhIHNtYXJ0eSBhc3NvY2lhdGl2ZSBhcnJheS48L3A+CiAgICA8cD5Bcmd1bWVudHM6CiAgICAgICA8dWw+CiAgICAgICA8bGk+YXJyYXkgICAgICAgIC0gcmVxdWlyZWQgOiBUaGUgbmFtZSBvZiB0aGUgc21hcnR5IGFycmF5IHRvIGNyZWF0ZSBvciBhZGp1c3QuPC9saT4KICAgICAgIDxsaT5rZXkgICAgICAgICAgLSByZXF1aXJlZCA6IFRoZSBhcnJheSBrZXkuPC9saT4KICAgICAgPC91bD4KICAgICAgPGJyLz5FeGFtcGxlOiA8Y29kZT57YXJyYXlfdW5zZXQgYXJyYXk9c29tZWRhdGEga2V5PWZvb308L2NvZGU+CiAgICA8L3A+CjwvbGk+Cgo8YnIvPgo8bGk+PHN0cm9uZz5zZWxmX3VybDwvc3Ryb25nPihbJGFzc2lnbl0pCiAgICA8cD5SZXR1cm4gdGhlIGN1cnJlbnQgVVJMPC9wPgogICAgPHA+QXJndW1lbnRzOgogICAgICAgPHVsPgogICAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CiAgICAgIDwvdWw+CiAgICA8YnIvPjwvcD4KPC9saT4KCjxici8+CjxsaT48c3Ryb25nPmFuY2hvcl91cmw8L3N0cm9uZz4oJG5hbWUpCiAgPHA+R2VuZXJhdGUgdGhlIGFic29sdXRlIFVSTCB0byBhbiBhbmNob3IgdGhhdCBpcyBvbiB0aGUgc2FtZSBwYWdlLjwvcD4KICA8cD5Bcmd1bWVudHM6CiAgICA8dWw+CiAgICAgIDxsaT4kbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBhbmNob3IgdG8gbGluayB0by48L2xpPgogICAgPC91bD4KICA8YnIvPjwvcD4KICA8cD5FeGFtcGxlOjxici8+CiAgICA8cHJlPiZsdDthIGhyZWY9IntjZ3NpbXBsZTo6YW5jaG9yX3VybCgnYm90dG9tJyl9IiZndDtHbyB0byB0aGUgYm90dG9tJmx0Oy9hJmd0OwombHQ7YSBuYW1lPSJib3R0b20iJmd0O1RoZSBib3R0b20mbHQ7YSZndDs8L3ByZT48YnIvPgogIDwvcD4KPC9saT4KCjxici8+CjxsaT48c3Ryb25nPm1vZHVsZV9pbnN0YWxsZWQ8L3N0cm9uZz4oJG1vZHVsZW5hbWVbLCRhc3NpZ25dKQogICAgPHA+VGVzdCBpZiBhIHBhcnRpY3VsYXIgbW9kdWxlIGlzIGluc3RhbGxlZC48L3A+CiAgICA8cD5Bcmd1bWVudHM6CiAgICAgICA8dWw+CiAgICAgICAgIDxsaT4kbW9kdWxlbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBtb2R1bGUgdG8gY2hlY2s8L2xpPgogICAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CiAgICAgIDwvdWw+CiAgICA8YnIvPjwvcD4KICAgIDxwPkV4YW1wbGU6PGJyLz4KICAgIDxwcmU+e2lmIGNnc2ltcGxlOjptb2R1bGVfaW5zdGFsbGVkKCdGcm9udEVuZFVzZXJzJyl9Rm91bmQgRkVVey9pZn08L3ByZT48YnIvPgogICAgPC9wPgo8L2xpPgoKPGJyLz4KPGxpPjxzdHJvbmc+bW9kdWxlX3ZlcnNpb248L3N0cm9uZz4oJG1vZHVsZW5hbWVbLCRhc3NpZ25dKQogICAgPHA+UmV0dXJuIHRoZSB2ZXJzaW9uIG51bWJlciBvZiBhIHNwZWNpZmljIGluc3RhbGxlZCBtb2R1bGU8L3A+CiAgICA8cD5Bcmd1bWVudHM6CiAgICAgICA8dWw+CiAgICAgICAgIDxsaT4kbW9kdWxlbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBtb2R1bGUgdG8gY2hlY2s8L2xpPgogICAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CiAgICAgIDwvdWw+CiAgICA8YnIvPjwvcD4KICAgIDxwPkV4YW1wbGU6PGJyLz4KICAgIDxwcmU+e2Nnc2ltcGxlOjptb2R1bGVfdmVyc2lvbignRnJvbnRFbmRVc2VycycsJ2ZldV92ZXJzaW9uJyl9V2UgaGF2ZSBWZXJzaW9uIHskZmV1X3ZlcnNpb259IG9mIEZyb250RW5kVXNlcnM8L3ByZT48YnIvPgogICAgPC9wPgo8L2xpPgoKPGJyLz4KPGxpPjxzdHJvbmc+Z2V0X3BhcmVudF9hbGlhczwvc3Ryb25nPihbJGFsaWFzXSxbJGFzc2lnbl0pCiAgICA8cD5SZXR1cm5zIHRoZSBhbGlhcyBvZiB0aGUgc3BlY2lmaWVkIHBhZ2VzIHBhcmVudC4gUmV0dXJucyBhbiBlbXB0eSBzdHJpbmcgaWYgdGhlcmUgaXMgbm8gcGFyZW50LjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gZmluZCB0aGUgcGFyZW50IG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4KICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4KICAgICAgIDwvdWw+CiAgICA8YnIvPjwvcD4KICAgIDxwPkV4YW1wbGU6PGJyLz4KICAgIDxwcmU+VGhlIHBhcmVudCBwYWdlIGFsaWFzIGlzIHtjZ3NpbXBsZTo6Z2V0X3BhcmVudF9hbGlhcygpfTwvcHJlPjxici8+CiAgICA8L3A+CjwvbGk+Cgo8YnIvPgo8bGk+PHN0cm9uZz5nZXRfcm9vdF9hbGlhczwvc3Ryb25nPihbJGFsaWFzXVssJGFzc2lnbl0pCiAgICA8cD5SZXR1cm5zIHRoZSBhbGlhcyBvZiB0aGUgc3BlY2lmaWVkIHBhZ2VzIHJvb3QgcGFyZW50LiBSZXR1cm5zIGFuIGVtcHR5IHN0cmluZyBpZiB0aGVyZSBpcyBubyByb290IHBhcmVudC48L3A+CiAgICA8cD5Bcmd1bWVudHM6CiAgICAgICA8dWw+CiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHJvb3QgcGFyZW50IG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4KICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4KICAgICAgIDwvdWw+CiAgICA8YnIvPjwvcD4KICAgIDxwPkV4YW1wbGU6PGJyLz4KICAgIDxwcmU+VGhlIHJvb3QgcGFyZW50IHBhZ2UgYWxpYXMgaXMge2Nnc2ltcGxlOjpnZXRfcm9vdF9hbGlhcygpfTwvcHJlPjxici8+CiAgICA8L3A+CjwvbGk+Cgo8YnIvPgo8bGk+PHN0cm9uZz5nZXRfcGFnZV90aXRsZTwvc3Ryb25nPihbJGFsaWFzXVssJGFzc2lnbl0pCiAgICA8cD5SZXR1cm5zIHRoZSB0aXRsZSBvZiB0aGUgc3BlY2lmaWVkIHBhZ2UuPC9wPgogICAgPHA+QXJndW1lbnRzOgogICAgICAgPHVsPgogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byBmaW5kIHRoZSB0aXRsZSBvZi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+CiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CiAgICAgICA8L3VsPgogICAgPGJyLz48L3A+CiAgICA8cD5FeGFtcGxlOjxici8+CiAgICA8cHJlPlRoZSB0aXRsZSBvZiB0aGUgY3VycmVudCBwYWdlIGlzIHtjZ3NpbXBsZTo6Z2V0X3BhZ2VfdGl0bGUoKX08L3ByZT48YnIvPgogICAgPC9wPgo8L2xpPgoKPGJyLz4KPGxpPjxzdHJvbmc+Z2V0X3BhZ2VfbWVudXRleHQ8L3N0cm9uZz4oWyRhbGlhc11bLCRhc3NpZ25dKQogICAgPHA+UmV0dXJucyB0aGUgbWVudXRleHQgb2YgdGhlIHNwZWNpZmllZCBwYWdlLjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gZmluZCB0aGUgdGl0bGUgb2YuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPgogICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICAgPC91bD4KICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZTo8YnIvPgogICAgPHByZT5UaGUgbWVudXRleHQgb2YgdGhlIGN1cnJlbnQgcGFnZSBpcyB7Y2dzaW1wbGU6OmdldF9wYWdlX21lbnV0ZXh0KCl9PC9wcmU+PGJyLz4KICAgIDwvcD4KPC9saT4KCjxici8+CjxsaT48c3Ryb25nPmdldF9wYWdlX3R5cGU8L3N0cm9uZz4oWyRhbGlhc11bLCRhc3NpZ25dKQogICAgPHA+UmV0dXJucyB0aGUgbmFtZSBvZiB0aGUgY29udGVudCB0eXBlIG9mIHRoZSBzcGVjaWZpZWQgY29udGVudCBvYmplY3QgKGJ5IGFsaWFzKTwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gZmluZCB0aGUgdGl0bGUgb2YuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPgogICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICAgPC91bD4KICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZTo8YnIvPgogICAgPHByZT5UaGUgdHlwZSBvZiB0aGUgY3VycmVudCBwYWdlIGlzIHtjZ3NpbXBsZTo6Z2V0X3BhZ2VfdHlwZSgpfTwvcHJlPjxici8+CiAgICA8L3A+CjwvbGk+Cgo8YnIvPgo8bGk+PHN0cm9uZz5oYXNfY2hpbGRyZW48L3N0cm9uZz4oWyRhbGlhc11bLCRhc3NpZ25dKQogICAgPHA+VGVzdCBpZiB0aGUgc3BlY2lmaWVkIHBhZ2UgaGFzIGNoaWxkcmVuLjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gdGVzdC4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+CiAgICAgICA8bGk+WyRhc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICAgPC91bD4KICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZTo8YnIvPgogICAgPHByZT57Y2dzaW1wbGU6Omhhc19jaGlsZHJlbignJywnaGFzX2NoaWxkcmVuJyl9e2lmICRoYXNfY2hpbGRyZW59VGhlIGN1cnJlbnQgcGFnZSBoYXMgY2hpbGRyZW57ZWxzZX1UaGUgY3VycmVudCBwYWdlIGhhcyBubyBjaGlsZHJlbnsvaWZ9PC9wcmU+PGJyLz4KICAgIDwvcD4KPC9saT4KCjxici8+CjxsaT48c3Ryb25nPmdldF9jaGlsZHJlbjwvc3Ryb25nPihbJGFsaWFzXVssJHNob3dpbmFjdGl2ZV1bLCRhc3NpZ25dKQogICA8cD5SZXR1cm4gYW4gYXJyYXkgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCBhIHBhZ2VzIGNoaWxkcmVuIChpZiBhbnkpPC9wPgogICAgPHA+QXJndW1lbnRzOgogICAgICAgPHVsPgogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byB0ZXN0LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4KICAgICAgIDxsaT5bJHNob3dpbmFjdGl2ZV0gLSAob3B0aW9uYWwpIFdldGhlciBpbmFjdGl2ZSBwYWdlcyBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlIHJlc3VsdCAoZGVmYXVsdHMgdG8gZmFsc2UpLjwvbGk+CiAgICAgICA8bGk+WyRhc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICAgPC91bD4KICAgIDxici8+PC9wPgogICAgPHA+RmllbGRzOgogICAgICAgPHVsPgogICAgICAgPGxpPmFsaWFzIC0gdGhlIHBhZ2UgYWxpYXMgb2YgdGhlIGNoaWxkPC9saT4KICAgICAgIDxsaT5pZCAtIHRoZSBwYWdlIGlkIG9mIHRoZSBjaGlsZDwvbGk+CiAgICAgICA8bGk+dGl0bGUgLSB0aGUgdGl0bGUgcGFnZSBvZiB0aGUgY2hpbGQgcGFnZS48L2xpPgogICAgICAgPGxpPm1lbnV0ZXh0IC0gdGhlIG1lbnUgdGV4dCBvZiB0aGUgY2hpbGQ8L2xpPgogICAgICAgPGxpPnNob3dfaW5fbWVudSAtIHdldGhlciB0aGlzIGNoaWxkIHBhZ2UgaXMgdmlzaWJsZSBpbiBtZW51cy48L2xpPgogICAgICAgPGxpPnR5cGUgLSBUaGUgdHlwZSBvZiBjaGlsZCBjb250ZW50IG9iamVjdC48L2xpPgogICAgICAgPC91bD4KICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZTo8YnIvPgogICAgPHByZT4Ke2Nnc2ltcGxlOjpnZXRfY2hpbGRyZW4oJycsMCwnY2hpbGRyZW4nKX0Ke2lmIGNvdW50KCRjaGlsZHJlbil9CiAgIHtmb3JlYWNoIGZyb209JGNoaWxkcmVuIGl0ZW09J2NoaWxkJ30KICAgICAge2lmICRjaGlsZC5zaG93X2luX21lbnV9CiAgICAgICAgQ2hpbGQ6ICBpZCA9IHskY2hpbGQuaWR9IGFsaWFzID0geyRjaGlsZC5hbGlhc30mbHQ7YnIvJmd0OwogICAgICB7L2lmfQogICB7L2ZvcmVhY2h9CnsvaWZ9CiAgICA8L3ByZT48YnIvPgogICAgPC9wPgo8L2xpPgoKPGJyLz4KPGxpPjxzdHJvbmc+Z2V0X3BhZ2VfY29udGVudDwvc3Ryb25nPigkYWxpYXNbLCRibG9ja11bLCRhc3NpZ25dKQogICAgPHA+UmV0dXJucyB0aGUgdGV4dCBvZiBhIHNwZWNpZmljIGNvbnRlbnQgYmxvY2sgb2YgYW5vdGhlciBwYWdlLjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT4kYWxpYXMgLSBUaGUgcGFnZSBhbGlhcyB0byBleHRyYWN0IGNvbnRlbnQgZnJvbS48L2xpPgogICAgICAgPGxpPlskYmxvY2tdIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiB0aGUgY29udGVudCBibG9jayBpbiB0aGUgc3BlY2lmaWVkIHBhZ2UuICBJZiB0aGlzIHZhcmlhYmxlIGlzIG5vdCBzcGVjaWZpZWQgdGhlIHZhbHVlIG9mIHRoZSBkZWZhdWx0IGNvbnRlbnQgYmxvY2sgPGVtPihjb250ZW50X2VuKTwvZW0+IGlzIGFzc3VtZWQuPC9saT4KICAgICAgIDxsaT5bJGFzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CiAgICAgICA8L3VsPgogICAgPGJyLz48L3A+CiAgICA8cD5FeGFtcGxlOjxici8+CiAgICA8cHJlPlRoZSAnc2Vjb25kJyBibG9jayBvZiB0aGUgJ2Fib3V0JyBwYWdlIGlzIHtjZ3NpbXBsZTo6Z2V0X3BhZ2VfY29udGVudCgnYWJvdXQnLCdzZWNvbmQnLCdmb28nKX17ZXZhbCB2YXI9JGZvb308L3ByZT48YnIvPgogICAgPC9wPgo8L2xpPgoKPGJyLz4KPGxpPjxzdHJvbmc+Z2V0X3NpYmxpbmc8L3N0cm9uZz4oJGRpcmVjdGlvblssJGFzc2lnbl1bLCRhbGlhc10pCiAgICA8cD5SZXR1cm5zIHRoZSBhbGlhcyBvZiB0aGUgbmV4dCBvciBwcmV2aW91cyBzaWJsaW5nIHRvIHRoZSBzcGVjaWZpZWQKICAgICAgIHBhZ2UuIG9yIGZhbHNlLjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT4kZGlyZWN0aW9uIC0gdGhlIGRpcmVjdGlvbiB0byBsb29rIGluLiAgcG9zc2libGUgdmFsdWVzIGFyZSBwcmV2LHByZXZpb3VzLC0xLG5leHQsMTwvbGk+CiAgICAgICA8bGk+WyRhc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiB0aGUgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHNpYmxpbmcgZm9yLiAgSWYgdGhpcyBpcyBub3Qgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4KICAgICAgIDwvdWw+CiAgICA8YnIvPjwvcD4KICAgICAgIDxwPkV4YW1wbGU6PGJyLz4KICAgICAgIDxwcmU+TGluayB0byBwcmV2aW91cyBzaWJsaW5nOiB7Y2dzaW1wbGU6OmdldF9zaWJsaW5nKCZxdW90O3ByZXYmcXVvdCwmcXVvdDtwcmV2X3NpYmxpbmcmcXVvdDspfXtpZiAhZW1wdHkoJHByZXZfc2libGluZyl9e2Ntc19zZWxmbGluayBwYWdlPSZxdW90OyRwcmV2X3NpYmxpbmcmcXVvdDsgdGV4dD0mcXVvdDtQcmV2aW91cyZxdW90O317L2lmfTwvcHJlPjxici8+CiAgICA8L2xpPgoKPGJyLz4KPGxpPjxzdHJvbmc+Z2V0X3BhcmFsbGVsX3BhZ2U8L3N0cm9uZz4oJG5ld19yb290WywkY3VycmVudF9wYWdlID0gbnVsbFssJGFzc2lnbiA9IG51bGxdXSkKICAgPHA+R2V0IHRoZSBhbGlhcyBvZiBhIHBhcmFsbGVsIHBhZ2UgaWRuIHRoZSBwYWdlIHN0cmljdHVyZSBnaXZlbiBhIGRpZmZlcmVudCByb290IGFsaWFzLjwvcD4KICAgPHA+SW4gYSBtdWx0aWxhbmd1YWdlIHNpdGUgd2hlcmUgdGhlIHJvb3QgbGV2ZWxzIHJlcHJlc2VudCBkaWZmZXJlbnQgbGFuZ3VhZ2VzLCBpdCBtYXkgYmUgdXNlZnVsIHRvIHJldHJpZXZlIHRoZSBhbGlhcyB0byBhbiBlcXVpdmFsZW50IHBhZ2UgaW4gYSBkaWZmZXJlbnQgbGFuZ3VhZ2UuICBpLmUuOiBpZiB0aGUgdXNlciBpcyBjdXJyZW50bHkgYnJvd3NpbmcgdGhlIGZyZW5jaCBwYWdlIGFuZCB3aXNoZXMgdG8gc2VlIHRoZSBzYW1lIHBhZ2UgaW4gZW5nbGlzaCAoaWYgaXQgZXhpc3RzKS48L3A+CiAgIDxwPlRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgYWxpYXMgb2YgdGhlIHNwZWNpZmllZCBwYWdlIHVuZGVyIHRoZSBuZXcgcm9vdC4gIElmIGl0IGV4aXN0cy4gIElmIG5vdGhpbmcgaXMgZm91bmQsIG51bGwgaXMgcmV0dXJuZWQuPC9wPgogICA8cD5Bcmd1bWVudHM6CiAgICAgICA8dWw+CiAgICAgICA8bGk+bmV3IHJvb3QgLSBUaGUgYWxpYXMgb2YgdGhlIG5ldyByb290IHBhcmVudC4gIE5vdGUsIGlmIGEgdG9wIGxldmVsIHBhZ2UgaXMgbm90IHNwZWNpZmllZCwgdGhlIGFsaWFzIHByb3ZpZGVkIGlzIHVzZWQgdG8gZmluZCB0aGUgdG9wIGxldmVsIHBhZ2UgKHNlZSBnZXRfcm9vdF9hbGlhcykuPC9saT4KICAgICAgIDxsaT5jdXJyZW50X3BhZ2UgLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHBlZXIgb2YuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPgogICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICAgPC91bD4KICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZTo8YnIvPgogICAgPHByZT5GaW5kIHRoZSBlcXVpdmFsZW50IGZyZW5jaCBwYWdlIGZvciB0aGlzIHBhZ2U6IHtjZ3NpbXBsZTo6Z2V0X3BhcmFsbGVsX3BhZ2UoJ0ZSJywkcGFnZV9hbGlhcywndG1wJyl9e2lmICR0bXAgIT0gJycgJiYgJHRtcCAhPSAkcGFnZV9hbGlhc317Y21zX3NlbGZsaW5rIHBhZ2U9JHRtcH17L2lmfTwvcHJlPgogICAgPC9wPgo8L2xpPgoKPGJyLz4KPGxpPjxzdHJvbmc+Z2V0X2ZpbGVfbGlzdGluZzwvc3Ryb25nPigkZGlyWywkZXhjbHVkZXByZWZpeFssJGFzc2lnbl1dKQogICAgPHA+UmV0cm4gYSBsaXN0IG9mIGZpbGVzIGluIGEgZGlyZWN0b3J5LjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgPHVsPgogICAgICA8bGk+JGRpciAtIFRlIGRpcmVjdG9yeSB0byBzY2FuIChzaG91bGQgYmUgYW4gYWJzb2x1dGUgZGlyZWN0b3J5KTwvbGk+CiAgICAgIDxsaT5bJGV4Y2x1ZGVwcmVmaXhdIC0gKG9wdGlvbmFsKSBFeGNsdWRlIGZpbGVzIHN0cnRpbmcgd2l0aCB0aGUgc3BlY2lmaWVkIHByZWZpeC48L2xpPgogICAgICA8bGk+WyRhc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICA8L3VsPgogICAgPC9wPgogICAgPC9saT4KCjwvdWw+Cgo8aDQ+T3RoZXIgU21hcnR5IGZ1bmN0aW9uczwvaDQ+Cjx1bD4KICAgIDxsaT48c3Ryb25nPnttb2R1bGVfYWN0aW9uX3VybH08L3N0cm9uZz4KICAgIDxwPkEgc21hcnR5IHBsdWdpbiB0aGF0IGNhbiBjcmVhdGUgYSB1cmwgdG8gYSBtb2R1bGUgYWN0aW9uLjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5tb2R1bGUgLSBUaGUgbW9kdWxlIHRvIGNyZWF0ZSBhIGxpbmsgdG8uICBUaGlzIGFyZ3VtZW50IGlzIG9wdGlvbmFsLCB0aGUgc3lzdGVtIHdpbGwgYXR0ZW1wdCB0byBkZXRlY3QgdGhlIGN1cnJlbnQgbW9kdWxlIG5hbWUgKGlmIHdpdGhpbiBhIG1vZHVsZSBhY3Rpb24pPC9saT4KICAgICAgIDxsaT5hY3Rpb24gKGRlZmF1bHQpIC0gVGhlIGFjdGlvbiB0byBjYWxsIHdpdGhpbiB0aGUgbW9kdWxlPC9saT4KICAgICAgIDxsaT5wYWdlIC0gU3BlY2lmeSB0aGUgZGVzdGluYXRpb24gcGFnZTwvbGk+CiAgICAgICA8bGk+anNmcmllbmRseXxmb3JqcyAtIFR1cm5zIG9uIHRoZSB1cmxvbmx5IHBhcmFtZXRlciwgYW5kIGluZGljYXRlcyB0aGF0IGphdmFzY3JpcHQgZnJpZW5kbHkgdXJscyBhcmUgb3V0cHV0LjwvbGk+CiAgICAgICA8bGk+Zm9yYWpheCAtIFR1cm5zIG9uIHRoZSBqc2ZyaWVuZGx5IHBhcmFtZXRlciAoYW5kIHRoZSB1cmxvbmx5IHBhcmFtZXRlciksIGFuZCBhbHNvIGFwcGVuZHMgc2hvd3RlbXBsYXRlPWZhbHNlIHRvIHRoZSBVUkwgb3V0cHV0IGZvciBBSkFYIHJlcXVlc3RzPC9saT4KICAgICAgIDxsaT5hc3NpZ24gLSBBc3NpZ24gdGhlIG91dHB1dCBvZiB0aGUgcGx1Z2luIHRvIHRoZSBuYW1lZCBzbWFydHkgdmFyaWFibGUuPC9saT4KICAgICAgIDwvdWw+CiAgICA8YnIvPjwvcD4KICAgIDxwPkFueSBvdGhlciBhcmd1bWVudHMgdG8gdGhlIHNtYXJ0eSBwbHVnaW4gd2lsbCBiZSBhZGRlZCB0byB0aGUgVVJMIGdlbmVyYXRlZC48L3A+ICAgPHA+RXhhbXBsZToKICAgIDxwcmU+e21vZHVsZV9hY3Rpb25fdXJsIG1vZHVsZT0nTmV3cycgYWN0aW9uPSdmZXN1Ym1pdCcgYXNzaWduPSdmb28nfTwvcHJlPjxici8+PC9wPjwvbGk+CgogICAgPGxpPjxzdHJvbmc+e21vZHVsZV9hY3Rpb25fbGlua308L3N0cm9uZz4KICAgIDxwPkEgc21hcnR5IHBsdWdpbiB0aGF0IGNhbiBjcmVhdGUgYSBsaW5rIHRvIGEgbW9kdWxlIGFjdGlvbi48L3A+CiAgICA8cD5Bcmd1bWVudHM6CiAgICAgICA8dWw+CiAgICAgICA8bGk+bW9kdWxlIC0gVGhlIG1vZHVsZSB0byBjcmVhdGUgYSBsaW5rIHRvLiAgVGhpcyBhcmd1bWVudCBpcyBvcHRpb25hbCwgdGhlIHN5c3RlbSB3aWxsIGF0dGVtcHQgdG8gZGV0ZWN0IHRoZSBjdXJyZW50IG1vZHVsZSBuYW1lIChpZiB3aXRoaW4gYSBtb2R1bGUgYWN0aW9uKTwvbGk+CiAgICAgICA8bGk+YWN0aW9uIChkZWZhdWx0KSAtIFRoZSBhY3Rpb24gdG8gY2FsbCB3aXRoaW4gdGhlIG1vZHVsZTwvbGk+CiAgICAgICA8bGk+dGV4dCAtIFRoZSB0ZXh0IHRvIHB1dCBpbiB0aGUgbGluazwvbGk+CiAgICAgICA8bGk+cGFnZSAtIFNwZWNpZnkgdGhlIGRlc3RpbmF0aW9uIHBhZ2U8L2xpPgogICAgICAgPGxpPnVybG9ubHkgLSBJbnN0ZWFkIG9mIGdlbmVyYXRpbmcgYSBsaW5rLCBnZW5lcmF0ZSBqdXN0IHRoZSB1cmw8L2xpPgogICAgICAgPGxpPmpzZnJpZW5kbHl8Zm9yanMgLSBUdXJucyBvbiB0aGUgdXJsb25seSBwYXJhbWV0ZXIsIGFuZCBpbmRpY2F0ZXMgdGhhdCBqYXZhc2NyaXB0IGZyaWVuZGx5IHVybHMgYXJlIG91dHB1dC48L2xpPgogICAgICAgPGxpPmZvcmFqYXggLSBUdXJucyBvbiB0aGUganNmcmllbmRseSBwYXJhbWV0ZXIgKGFuZCB0aGUgdXJsb25seSBwYXJhbWV0ZXIpLCBhbmQgYWxzbyBhcHBlbmRzIHNob3d0ZW1wbGF0ZT1mYWxzZSB0byB0aGUgVVJMIG91dHB1dCBmb3IgQUpBWCByZXF1ZXN0czwvbGk+CiAgICAgICA8bGk+Y29uZm1lc3NhZ2UgLSBBIGNvbmZpcm1hdGlvbiBtZXNzYWdlIHRvIGRpc3BsYXkgd2hlbiB0aGUgbGluayBpcyBjbGlja2VkLjwvbGk+CiAgICAgICA8bGk+aW1hZ2UgLSBBbiBpbWFnZSB0byB1c2Ugb24gdGhlIGxpbms8L2xpPgogICAgICAgPGxpPmltYWdlb25seSAtIElmIGFuIGltYWdlIGlzIHNwZWNpZmllZCwgY3JlYXRlIGEgbGluayBvbmx5IGNvbnNpc3Rpbmcgb2YgdGhlIGltYWdlLiAgVGhlIHRleHQgd2lsbCBiZSB1c2VkIGZvciB0aGUgdGl0bGUgYXR0cmlidXRlPC9saT4KICAgICAgIDxsaT5hc3NpZ24gLSBBc3NpZ24gdGhlIG91dHB1dCBvZiB0aGUgcGx1Z2luIHRvIHRoZSBuYW1lZCBzbWFydHkgdmFyaWFibGUuPC9saT4KICAgICAgIDwvdWw+CiAgICA8YnIvPjwvcD4KICAgIDxwPkFueSBvdGhlciBhcmd1bWVudHMgdG8gdGhlIHNtYXJ0eSBwbHVnaW4gd2lsbCBiZSBhZGRlZCB0byB0aGUgVVJMIGdlbmVyYXRlZC48L3A+ICAgPHA+RXhhbXBsZToKICAgIDxwcmU+e21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9J05ld3MnIGFjdGlvbj0nZmVzdWJtaXQnIHRleHQ9J1N1Ym1pdCBhIE5ldyBOZXdzIEFydGljbGUnfTwvcHJlPjxici8+PC9wPjwvbGk+CgogICAgPGxpPjxzdHJvbmc+e2FuY2hvcl9saW5rfTwvc3Ryb25nPgogICAgPHA+QSBzbWFydHkgcGx1Z2luIHRvIGdlbmVyYXRlIGEgbGluayB0byBhbiBhbmNob3IgdGhhdCBpcyBvbiB0aGUgc2FtZSBwYWdlLjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgPHVsPgogICAgICA8bGk+bnxuYW1lIC0gPGVtPihzdHJpbmcpPC9lbT4gVGhlIG5hbWUgb2YgdGhlIGFuY2hvciB0byBsaW5rIHRvLjwvbGk+CiAgICAgIDxsaT50ZXh0IC0gPGVtPihzdHJpbmc+PC9lbT4gVGhlIHRleHQgcG9ydGlvbiBvZiB0aGUgbGluay4gIElmIG5vdCBzcGVjaWZpZWQsIHRoZSBhbmNob3IgbmFtZSB3aWxsIGJlIHVzZWQuPC9saT4KICAgICAgPGxpPnVybG9ubHkgLSA8ZW0+KGJvb2wpPC9lbT4gT3B0aW9uYWxseSBvbmx5IGdlbmVyYXRlIHRoZSBVUkwgcG9ydGlvbiBvZiB0aGUgbGluay4gIHNlZSBjZ3NpbXBsZTo6YW5jaG9yX3VybCgpPC9saT4KICAgICAgPGxpPmFzc2lnbiAtIDxlbT4oc3RyaW5nPjwvZW0+IE9wdGlvbmFsbHkgYXNzaWduIHRoZSBvdXRwdXQgb2YgdGhlIHBsdWdpbiB0byB0aGUgbmFtZWQgc21hcnR5IHZhcmlhYmxlLjwvbGk+CiAgICAgIDwvdWw+CiAgICA8L3A+CiAgICA8cD5Bbnkgb3RoZXIgYXJndW1lbnRzIHRvIHRoZSBzbWFydHkgcGx1Z2luIHdpbGwgYmUgYWRkZWQgYXMgYXR0cmlidXRlcyB0byB0aGUgbGluayBnZW5lcmF0ZWQuPC9wPgogICAgPHA+RXhhbXBsZTogPHByZT57YW5jaG9yX2xpbmsgbmFtZT1ib3R0b20gY2xhc3M9ImFuY2hvcl9jbGFzcyIgaWQ9ImFuY2hvcl9pZCJ9PC9wcmU+PC9wPgogICAgPC9saT4KCiAgICA8bGk+PHN0cm9uZz57c2Vzc2lvbl9wdXR9PC9zdHJvbmc+CiAgICA8cD5BIHNtYXJ0eSBwbHVnaW4gdGhhdCBjYW4gc3RvcmUgZGF0YSBpbiB0aGUgdXNlciBzZXNzaW9uLiBUaGlzIGRhdGEgaXMgdGhlbiBhY2Nlc3NpYmxlIHZpYSB0aGUgJHNtYXJ0eS5zZXNzaW9uIGFycmF5IGluIHN1YnNlcXVlbnQgcGFnZXMuPC9wPgogICAgPHA+QXJndW1lbnRzOgogICAgICAgPHVsPgogICAgICAgPGxpPnZhciAtIFRoZSBuYW1lIG9mIHRoZSB2YXJpYWJsZSB0byBjcmVhdGUgaW4gdGhlIHNlc3Npb24uPC9saT4KICAgICAgIDxsaT52YWx1ZSAtIFRoZSBkZXNpcmVkIHZhbHVlIG9mIHRoZSB2YXJpYWJsZS48L2xpPgogICAgICAgPC91bD4KICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZToKICAgIDxwcmU+e3Nlc3Npb25fcHV0IHZhcj0ndGVzdCcgdmFsdWU9J2JsYWgnfTwvcHJlPjxici8+PC9wPjwvbGk+CgogICAgPGxpPjxzdHJvbmc+e3Nlc3Npb25fZXJhc2V9PC9zdHJvbmc+CiAgICA8cD5BIHNtYXJ0eSBwbHVnaW4gdGhhdCBjYW4gZXJhc2UgZGF0YSBmcm9tIHRoZSB1c2VyIHNlc3Npb24uPC9wPgogICAgPHA+QXJndW1lbnRzOgogICAgICAgPHVsPgogICAgICAgPGxpPnZhciAtIFRoZSBuYW1lIG9mIHRoZSB2YXJpYWJsZSB0byBlcmFzZSBpbiB0aGUgc2Vzc2lvbi48L2xpPgogICAgICAgPC91bD4KICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZToKICAgIDxwcmU+e3Nlc3Npb25fZXJhc2UgdmFyPSd0ZXN0J308L3ByZT48YnIvPjwvcD48L2xpPgoKICAgIDxsaT48c3Ryb25nPntjZ3JlcGVhdH08L3N0cm9uZz4KICAgIDxwPkFub3RoZXIgc21hcnR5IHBsdWdpbiB0aGF0IHdpbGwgYWxsb3cgcmVwZWF0aW5nIHRleHQ8L3A+CiAgICA8cD5Bcmd1bWVudHM6PC9wPgogICAgICA8dWw+CiAgICAgICAgPGxpPnRleHQgLSBUaGUgdGV4dCB0byBiZSByZXBlYXRlZDwvbGk+CiAgICAgICAgPGxpPmNvdW50IC0gVGhlIG51bWJlciBvZiB0aW1lcyBpdCBzaG91bGQgYmUgcmVwZWF0ZWQ8L2xpPgogICAgICAgIDxsaT5hc3NpZ24gLSBBc3NpZ24gdGhlIG91dHB1dCB0byB0aGUgc3BlY2lmaWVkIHNtYXJ0eSB2YXJpYWJsZTwvbGk+CiAgICAgIDwvdWw+CiAgICA8YnIvPgogICAgPHA+RXhhbXBsZTogPHByZT57Y2dyZXBlYXQgdGV4dD0ndGhpcycgY291bnQ9JzUnfTwvcHJlPjxici8+PC9wPgogICAgPC9saT4KPC91bD4KCjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhlIG1vZHVsZSBhdXRob3IgaXMgaW4gbm8gd2F5IG9ibGlnYXRlZCB0byBwcm92aWRlIHN1cHBvcnQgZm9yIHRoaXMgY29kZSBpbiBhbnkgZmFzaGlvbi4gIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5BIGJ1ZyB0cmFja2luZyBhbmQgZmVhdHVyZSByZXF1ZXN0IHN5c3RlbSBoYXMgYmVlbiBjcmVhdGVkIGZvciB0aGlzIG1vZHVsZSA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2Nnc2ltcGxlc21hcnR5Ij5oZXJlPC9hPi4gIFBsZWFzZSBiZSB2ZXJib3NlIGFuZCBkZXNjcmlwdGl2ZSB3aGVuIHN1Ym1pdHRpbmcgYnVnIHJlcG9ydHMgYW5kIGZlYXR1cmUgcmVxdWVzdHMsIGFuZCBmb3IgYnVnIHJlcG9ydHMgZW5zdXJlIHRoYXQgeW91IGhhdmUgcHJvdmlkZWQgc3VmZmljaWVudCBpbmZvcm1hdGlvbiB0byByZWxpYWJseSByZXByb2R1Y2UgdGhlIGlzc3VlLjwvbGk+CjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uICBXaGVuIGRlc2NyaWJpbmcgYW4gaXNzdWUgcGxlYXNlIG1ha2UgYW4gZWZmb3J0IHRvIHByaXZpZGUgYWxsIHJlbGF2YW50IGluZm9ybWF0aW9uLCBhIHRob3JvdWdoIGRlc2NyaXB0aW9uIG9mIHlvdXIgaXNzdWUsIGFuZCBzdGVwcyB0byByZXByb2R1Y2UgaXQgb3IgeW91ciBkaXNjdXNzaW9uIG1heSBiZSBpZ25vcmVkLjwvbGk+CjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPgo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuICBIb3dldmVyLCBwbGVhc2UgdXNlIHRoaXMgYXMgYSBsYXN0IHJlc29ydCwgYW5kIGVuc3VyZSB0aGF0IHlvdSBoYXZlIGZvbGxvd2VkIGFsbCBhcHBsaWNhYmxlIGluc3RydWN0aW9ucyBvbiB0aGUgZm9yZ2UsIGluIHRoZSBmb3J1bXMsIGV0Yy48L2xpPgo8L3VsPgoKPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLApidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPgo8aDM+UGFyYW1ldGVyczwvaDM+PHVsPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGxhbmc9ImVuX1VTIiAtIFBhcmFtZXRlciBpcyB1c2VkIHRvIHNwZWNpZnkgd2hhdCBsYW5ndWFnZSB0byB1c2UgZm9yIGRpc3BsYXkgb24gdGhlIGZyb250ZW5kLiBOb3QgYWxsIG1vZHVsZXMgc3VwcG9ydCBvciBuZWVkIHRoaXMuPC9saT48L3VsPg==]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBjYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuOTxiciAvPjxiciAvPkNoYW5nZSBIaXN0b3J5OjxiciAvPjx1bD4KPGxpPjEuOSAtIE1heSAyMDE1CiAgPHVsPgoJPGxpPkFkZHMgdGhlIHthbmNob3JfbGlua30gcGx1Z2luLjwvbGk+Cgk8bGk+QWRkcyBjZ3NpbXBsZTo6YW5jaG9yX3VybCgpIG1ldGhvZC48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT4xLjggLSBBcHJpbCAyMDE1CiAgPHVsPgogICA8bGk+QWRkcyB0aGUge21vZHVsZV9hY3Rpb25fdXJsfSBwbHVnaW4uPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+MS43LjQgLSBKdWx5IDIwMTQKICA8dWw+CiAgICA8bGk+QWRkcyBtb3JlIHBhcmFtZXRlcnMgdG8ge21vZHVsZV9hY3Rpb25fbGlua308L2xpPgogIDwvdWw+CjwvbGk+Cgo8bGk+MS43LjMgLSBKdW5lIDIwMTQKICA8dWw+CiAgICA8bGk+Rml4ZXMgZm9yIENNU01TIDIuMDwvbGk+CiAgICA8bGk+TWlub3IgZW5oYW5jZW1lbnQgdG8gbW9kdWxlX2FjdGlvbl9saW5rPC9saT4KICA8L3VsPgo8L2xpPgoKPGxpPjEuNy54IC0gSnVseSAyMDEzCiAgPHVsPgogICAgPGxpPkFkZHMgYXV0b21hdGljIGRldGVjdGlvbiBvZiBtb2R1bGUgcGFyYW1ldGVyIGZvciB7bW9kdWxlX2FjdGlvbl9saW5rfSA8ZW0+KDEuNy4xKTwvZW0+PC9saT4KICAgIDxsaT5BZGRzIHRoZSBjZ3NpbXBsZTo6Z2V0X3BhcmFsbGVsX3BhZ2UgZnVuY3Rpb24uPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+MS42LjEgLSBBcHJpbCAyMDEzCiAgPHVsPgogICAgPGxpPk1pbm9yIGJ1ZyBmaXguPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+MS42IC0gTWFyY2ggMjAxMwogIDx1bD4KICAgIDxsaT5GaXhlcyBidWdzLiAgTW92ZXMgbW9zdCBtZXRob2RzIHN0YXRpYy48L2xpPgogICAgPGxpPlJlcXVpcmVzIFBIUCA1LjMuPC9saT4KICAgIDxsaT5CdWcgZml4ZXMuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+MS41LjEgLSBKdWx5IDIwMTIKIDx1bD4KICAgPGxpPk1vdmUgaGVscCBleHRlcm5hbC48L2xpPgogICA8bGk+Rml4IHRvIGhhc0NoaWxkcmVuIG1ldGhvZC48L2xpPgogICA8bGk+TWlub3IgY29kZSBjbGVhbnVwLjwvbGk+CiA8L3VsPgo8L2xpPgo8bGk+MS41IC0gT2N0b2JlciAyMDExCjxwPkEgY291cGxlIG1vcmUgdXNlZnVsIHNtYXJ0eSBwbHVnaW5zLjwvcD4KPC9saT4KPGxpPjEuNC4xMCAtIE9jdG9iZXIgMjAxMQo8cD5Nb3JlIEZpeGVzIGZvciBDTVNNUyAxLjEwPC9wPgo8L2xpPgo8cD5GaXhlcyBmb3IgQ01TTVMgMS4xMDwvcD4KPC9saT4KPGxpPjEuNC42IC0gRGVjZW1iZXIgMjAxMAo8cD5GaXhlZCB0aGUgaGVscCBmb3IgdGhlIGdldF9wYWdlX3R5cGUgbWV0aG9kLjwvcD4KPC9saT4KPGxpPjEuNC41IC0gSnVuZS4gMjAxMAo8cD5BZGRzIHRoZSAkY2dzaW1wbGUtPmdldF9wYWdlX3R5cGUoKSBtZXRob2QuPC9wPgo8L2xpPgo8bGk+MS40LjQgLSBGZWIuIDIwMTAKICAgPHA+TWlub3IgaGVscCBmaXhlcy48L3A+CiAgIDxwPk1pbm9yIGJ1ZyBmaXhlcy48L3A+CjwvbGk+CjxsaT4xLjQuMyAtIEp1bHksIDIwMDkKICAgPHA+Rml4ZXMgZm9yIDEuNiBjb21wYXRpYmlsaXR5LjwvcD4KPC9saT4KPGxpPjEuNC4yIC0gQXByLCAyMDA5CiAgIDxwPkFkZCB0aGUganNmcmllbmRseSBwYXJhbSB0byBtb2R1bGVfYWN0aW9uX2xpbms8L3A+CjwvbGk+CjxsaT4xLjQuMSAtIEZlYiwgMjAwOQogICA8cD5GaXhlcyB0byBtb2R1bGVfYWN0aW9uX2xpbms8L3A+CjwvbGk+CjxsaT4xLjQgLSBKYW4sIDIwMDkKICAgPHA+QWRkIHRoZSBzZXNzaW9uX2VyYXNlLCBzZXNzaW9uX3B1dCwgYW5kIHNlbGZfdXJsIHBsdWdpbnMuPC9wPgo8L2xpPgo8bGk+MS4zLjMgLSBEZWMsIDIwMDgKICAgIDxwPk5vIGxvbmdlciBoYW5kbGUgZXZlbnRzLjwvbGk+CjwvbGk+CjxsaT4xLjMuMiAtIERlYywgMjAwOAogICAgPHA+QnVnIEZpeGVzLjwvcD4KICAgIDxwPk1vdmUgY2hhbmdlbG9nIHRvIHNlcGVyYXRlIGZpbGUuPC9wPgogICAgPHA+QWRkIGdldF9zaWJsaW5nKCkgc21hcnR5IG1ldGhvZC48L3A+CjwvbGk+CjxsaT4xLjMuMSAtIE1heSwgMjAwOAogICAgPHA+TWlub3IgZml4IHRvIHRoZSBtb2R1bGVfYWN0aW9uIHBsdWdpbjwvcD4KPC9saT4KPGxpPjEuMyAtIE1hcmNoLCAyMDA4CiAgPHA+QWRkIHRoZSBnZXRfY2hpbGRyZW4gbWV0aG9kPC9wPgo8L2xpPgo8bGk+MS4yLjEgLSBNYXJjaCwgMjAwOAogIDxwPk1pbm9yIGZpeCBmb3IgbW9kdWxlX2FjdGlvbl9saW5rPC9wPgo8L2xpPgo8bGk+MS4yIC0gTWFyY2gsIDIwMDgKICA8cD5BZGQgdGhlIGNncmVwZWF0IHNtYXJ0eSBwbHVnaW48L3A+CiAgPHA+QWRkIGltYWdlIHN1cHBvcnQgdG8gdGhlIG1vZHVsZV9hY3Rpb25fbGluayBzbWFydHkgcGx1Z2luPC9wPgogIDxwPlVwZGF0ZSBjb3B5cmlnaHQgYW5kIGxpY2Vuc2U8L3A+CjwvbGk+CjxsaT4xLjEuMSAtIEZlYnJ1YXJ5LCAyMDA4CiAgPHA+Rml4IG1pbm9yIHByb2JsZW0gd2l0aCB0aGUgbW9kdWxlX2V4aXN0cyBtZXRob2Q8L3A+CjwvbGk+CjxsaT4xLjEgLSBGZWJydWFyeSwgMjAwOAogIDxwPkFkZGVkIGdldF9wYWdlX21lbnV0ZXh0KCkgbWV0aG9kPC9wPgogIDxwPkFkZGVkIG1vZHVsZV9hY3Rpb25fbGluazwvcD4KPC9saT4KPGxpPjEuMCAtIERlY2VtYmVyLCAyMDA3CiAgPHA+SW5pdGlhbCByZWxlYXNlPC9wPgo8L2xpPgo8L3VsPgo8YnIgLz4=]]></about>
	<description><![CDATA[Calguys Simple Smarty Tools]]></description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/CGSimpleSmarty.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU2ltcGxlU21hcnR5IChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRoYXQgcHJvdmlkZXMgc2ltcGxlIHNtYXJ0eQojICBtZXRob2RzIGFuZCBmdW5jdGlvbnMgdG8gZWFzZSBkZXZlbG9waW5nIENNUyBNYWRlIHNpbXBsZSBwb3dlcmVkCiMgIHdlYnNpdGVzLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3RzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKJGZuID0gY21zX2pvaW5fcGF0aChfX0RJUl9fLCdmdW5jdGlvbi5tb2R1bGVfYWN0aW9uLnBocCcpOyByZXF1aXJlX29uY2UoJGZuKTsKJGZuID0gY21zX2pvaW5fcGF0aChfX0RJUl9fLCdmdW5jdGlvbi5yZXBlYXQucGhwJyk7IHJlcXVpcmVfb25jZSgkZm4pOwokZm4gPSBjbXNfam9pbl9wYXRoKF9fRElSX18sJ2Z1bmN0aW9uLnNlc3Npb25fcHV0LnBocCcpOyByZXF1aXJlX29uY2UoJGZuKTsKCmNsYXNzIENHU2ltcGxlU21hcnR5IGV4dGVuZHMgQ01TTW9kdWxlCnsKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQogIHsKICAgIGdsb2JhbCAkQ01TX0lOU1RBTExfUEFHRSwgJENNU19QSEFSX0lOU1RBTEw7CiAgICBpZiggaXNzZXQoJENNU19JTlNUQUxMX1BBR0UpIHx8IGlzc2V0KCRDTVNfUEhBUl9JTlNUQUxMKSApIHJldHVybjsKCiAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KCk7CgogICAgJGZuID0gX19ESVJfXy4nL2NsYXNzLmNnc2ltcGxlLnBocCc7CiAgICByZXF1aXJlX29uY2UoJGZuKTsKCiAgICAkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7CiAgICBpZiggISRzbWFydHkgKSByZXR1cm47CgogICAgJG9iaiA9IG5ldyBjZ3NpbXBsZSgpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdjZ3NpbXBsZScsJG9iaik7CgogICAgJHNtYXJ0eS0+cmVnaXN0ZXJfZnVuY3Rpb24oJ21vZHVsZV9hY3Rpb25fbGluaycsJ21vZHVsZV9hY3Rpb25fbGluaycpOwogICAgJHNtYXJ0eS0+cmVnaXN0ZXJfZnVuY3Rpb24oJ21vZHVsZV9hY3Rpb25fdXJsJywnbW9kdWxlX2FjdGlvbl91cmwnKTsKICAgICRzbWFydHktPnJlZ2lzdGVyX2Z1bmN0aW9uKCdjZ3JlcGVhdCcsJ3NtYXJ0eV9mdW5jdGlvbl9jZ3JlcGVhdCcpOwogICAgJHNtYXJ0eS0+cmVnaXN0ZXJfZnVuY3Rpb24oJ3Nlc3Npb25fcHV0Jywnc21hcnR5X2Z1bmN0aW9uX3Nlc3Npb25fcHV0Jyk7CiAgICAkc21hcnR5LT5yZWdpc3Rlcl9mdW5jdGlvbignc2Vzc2lvbl9lcmFzZScsJ3NtYXJ0eV9mdW5jdGlvbl9zZXNzaW9uX2VyYXNlJyk7CiAgICAkc21hcnR5LT5yZWdpc3Rlcl9mdW5jdGlvbignY2dzaV9hcnJheV9zZXQnLGFycmF5KCR0aGlzLCdwbHVnaW5fYXJyYXlfc2V0JykpOwogICAgJHNtYXJ0eS0+cmVnaXN0ZXJfZnVuY3Rpb24oJ2Nnc2lfYXJyYXlfdW5zZXQnLGFycmF5KCR0aGlzLCdwbHVnaW5fYXJyYXlfdW5zZXQnKSk7CiAgICAkc21hcnR5LT5yZWdpc3Rlcl9mdW5jdGlvbignYW5jaG9yX2xpbmsnLGFycmF5KCR0aGlzLCdwbHVnaW5fYW5jaG9ybGluaycpKTsKICB9CgogIGZ1bmN0aW9uIEdldE5hbWUoKSB7IHJldHVybiAnQ0dTaW1wbGVTbWFydHknOyB9CiAgZnVuY3Rpb24gR2V0RnJpZW5kbHlOYW1lKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpOyB9CiAgZnVuY3Rpb24gR2V0VmVyc2lvbigpIHsgcmV0dXJuICcxLjknOyB9CiAgZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24oKSB7IHJldHVybiAnMS4xMic7IH0KICBmdW5jdGlvbiBHZXRIZWxwKCkgeyByZXR1cm4gZmlsZV9nZXRfY29udGVudHMoX19ESVJfXy4nL2hlbHAuaW5jJyk7IH0KICBmdW5jdGlvbiBHZXRBdXRob3IoKSB7IHJldHVybiAnY2FsZ3V5MTAwMCc7IH0KICBmdW5jdGlvbiBHZXRBdXRob3JFbWFpbCgpIHsgcmV0dXJuICdjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJzsgfQogIGZ1bmN0aW9uIEdldENoYW5nZUxvZygpIHsgcmV0dXJuIEBmaWxlX2dldF9jb250ZW50cyhfX0RJUl9fLicvY2hhbmdlbG9nLmluYycpOyB9CiAgZnVuY3Rpb24gSXNQbHVnaW5Nb2R1bGUoKSB7IHJldHVybiBmYWxzZTsgfQogIGZ1bmN0aW9uIEdldEFkbWluRGVzY3JpcHRpb24oKSB7IHJldHVybiAkdGhpcy0+TGFuZygnbW9kZGVzY3JpcHRpb24nKTsgfQogIGZ1bmN0aW9uIEhhc0FkbWluKCkgeyByZXR1cm4gZmFsc2U7IH0KICBmdW5jdGlvbiBIYW5kbGVzRXZlbnRzICgpIHsgcmV0dXJuIGZhbHNlOyB9CiAgZnVuY3Rpb24gSW5zdGFsbFBvc3RNZXNzYWdlKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3RpbnN0YWxsJyk7IH0KICBmdW5jdGlvbiBVbmluc3RhbGxQb3N0TWVzc2FnZSgpIHsgcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0dW5pbnN0YWxsJyk7IH0KCiAgZnVuY3Rpb24gcGx1Z2luX2FycmF5X3NldCgkcGFyYW1zLCYkc21hcnR5KQogIHsKICAgICRuYW1lID0gZ2V0X3BhcmFtZXRlcl92YWx1ZSgkcGFyYW1zLCdhcnJheScpOwogICAgJGtleSAgPSBnZXRfcGFyYW1ldGVyX3ZhbHVlKCRwYXJhbXMsJ2tleScpOwogICAgJHZhbCAgPSBnZXRfcGFyYW1ldGVyX3ZhbHVlKCRwYXJhbXMsJ3ZhbCcpOwogICAgJHZhbCAgPSBnZXRfcGFyYW1ldGVyX3ZhbHVlKCRwYXJhbXMsJ3ZhbHVlJyk7CgogICAgJGRhdGEgPSAkc21hcnR5LT5nZXRfdGVtcGxhdGVfdmFycygkbmFtZSk7CiAgICBpZiggISRkYXRhICkgJGRhdGEgPSBhcnJheSgpOwoKICAgIGlmKCAhaXNfYXJyYXkoJGRhdGEpICkgJGRhdGEgPSBhcnJheSgkZGF0YSk7CiAgICAkZGF0YVska2V5XSA9ICR2YWx1ZTsKCiAgICAkc21hcnR5LT5hc3NpZ24oJG5hbWUsJGRhdGEpOwogIH0KCiAgZnVuY3Rpb24gcGx1Z2luX2FycmF5X3Vuc2V0KCRwYXJhbXMsJiRzbWFydHkpCiAgewogICAgJG5hbWUgPSBnZXRfcGFyYW1ldGVyX3ZhbHVlKCRwYXJhbXMsJ2FycmF5Jyk7CiAgICAka2V5ICA9IGdldF9wYXJhbWV0ZXJfdmFsdWUoJHBhcmFtcywna2V5Jyk7CgogICAgJGRhdGEgPSAkc21hcnR5LT5nZXRfdGVtcGxhdGVfdmFycygkbmFtZSk7CiAgICBpZiggISRkYXRhICkgJGRhdGEgPSBhcnJheSgpOwogICAgaWYoICFpc19hcnJheSgkZGF0YSkgKSByZXR1cm47CgogICAgaWYoIGlzc2V0KCRkYXRhWyRrZXldKSApIHVuc2V0KCRkYXRhWyRrZXldKTsKCiAgICAkc21hcnR5LT5hc3NpZ24oJG5hbWUsJGRhdGEpOwogIH0KCiAgLyoKICAgKiBDcmVhdGUgYSBsaW5rIHRvIGFuIGFuY2hvciBmdXJ0aGVyIGRvd24gdGhlIHBhZ2UuCiAgICovCiAgZnVuY3Rpb24gcGx1Z2luX2FuY2hvcmxpbmsoJHBhcmFtcywmJHNtYXJ0eSkKICB7CiAgICAgICRuYW1lID0gZ2V0X3BhcmFtZXRlcl92YWx1ZSgkcGFyYW1zLCduJyk7CiAgICAgICRuYW1lID0gZ2V0X3BhcmFtZXRlcl92YWx1ZSgkcGFyYW1zLCduYW1lJywkbmFtZSk7CiAgICAgICRhc3NpZ24gPSB0cmltKGdldF9wYXJhbWV0ZXJfdmFsdWUoJHBhcmFtcywnYXNzaWduJykpOwogICAgICAkdXJsb25seSA9IGdldF9wYXJhbWV0ZXJfdmFsdWUoJHBhcmFtcywndScpOwogICAgICAkdXJsb25seSA9IGNtc190b19ib29sKGdldF9wYXJhbWV0ZXJfdmFsdWUoJHBhcmFtcywndXJsb25seScsJHVybG9ubHkpKTsKICAgICAgJHRleHQgPSBnZXRfcGFyYW1ldGVyX3ZhbHVlKCRwYXJhbXMsJ3RleHQnLCRuYW1lKTsKICAgICAgdW5zZXQoJHBhcmFtc1snbmFtZSddLCRwYXJhbXNbJ24nXSwkcGFyYW1zWydhc3NpZ24nXSwkcGFyYW1zWyd1J10sJHBhcmFtc1sndXJsb25seSddLCRwYXJhbXNbJ3RleHQnXSk7CgogICAgICAvLyBzdGFydCB0aGUgd29yawogICAgICAkb3V0ID0gJHVybCA9IG51bGw7CiAgICAgIGlmKCAkbmFtZSApICR1cmwgPSBjZ3NpbXBsZTo6YW5jaG9yX3VybCgkbmFtZSk7CgogICAgICBpZiggJHVybG9ubHkgKSB7CiAgICAgICAgICAkb3V0ID0gJHVybDsKICAgICAgfQogICAgICBlbHNlIHsKICAgICAgICAgIC8vIGJ1aWxkIGEgbGluayB3aXRoIGFsbCB0aGUgbGVmdG92ZXIgcGFyYW1zIChkb24ndCBmaWx0ZXIgdGhlbSwgdGhlcmUgYXJlIGxvdHMgb2YgdmFsaWQgcGFyYW1zIGZvciBhIGxpbmspLgogICAgICAgICAgJHRwbCA9ICIgJXM9XCIlc1wiIjsKICAgICAgICAgICRvdXQgPSAnPGEnOwogICAgICAgICAgJG91dCAuPSBzcHJpbnRmKCR0cGwsJ2hyZWYnLCR1cmwpOwogICAgICAgICAgZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+ICR2YWwgKSB7CiAgICAgICAgICAgICAgJG91dCAuPSAiICRrZXk9XCIkdmFsXCIiOwogICAgICAgICAgfQogICAgICAgICAgJG91dCAuPSAnPicuJHRleHQuJzwvYT4nOwogICAgICB9CgogICAgICBpZiggJGFzc2lnbiApIHsKICAgICAgICAgICRzbWFydHktPmFzc2lnbigkYXNzaWduLCRvdXQpOwogICAgICB9IGVsc2UgewogICAgICAgICAgcmV0dXJuICRvdXQ7CiAgICAgIH0KICB9Cn0KCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/changelog.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPgo8bGk+MS45IC0gTWF5IDIwMTUKICA8dWw+Cgk8bGk+QWRkcyB0aGUge2FuY2hvcl9saW5rfSBwbHVnaW4uPC9saT4KCTxsaT5BZGRzIGNnc2ltcGxlOjphbmNob3JfdXJsKCkgbWV0aG9kLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPjEuOCAtIEFwcmlsIDIwMTUKICA8dWw+CiAgIDxsaT5BZGRzIHRoZSB7bW9kdWxlX2FjdGlvbl91cmx9IHBsdWdpbi48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT4xLjcuNCAtIEp1bHkgMjAxNAogIDx1bD4KICAgIDxsaT5BZGRzIG1vcmUgcGFyYW1ldGVycyB0byB7bW9kdWxlX2FjdGlvbl9saW5rfTwvbGk+CiAgPC91bD4KPC9saT4KCjxsaT4xLjcuMyAtIEp1bmUgMjAxNAogIDx1bD4KICAgIDxsaT5GaXhlcyBmb3IgQ01TTVMgMi4wPC9saT4KICAgIDxsaT5NaW5vciBlbmhhbmNlbWVudCB0byBtb2R1bGVfYWN0aW9uX2xpbms8L2xpPgogIDwvdWw+CjwvbGk+Cgo8bGk+MS43LnggLSBKdWx5IDIwMTMKICA8dWw+CiAgICA8bGk+QWRkcyBhdXRvbWF0aWMgZGV0ZWN0aW9uIG9mIG1vZHVsZSBwYXJhbWV0ZXIgZm9yIHttb2R1bGVfYWN0aW9uX2xpbmt9IDxlbT4oMS43LjEpPC9lbT48L2xpPgogICAgPGxpPkFkZHMgdGhlIGNnc2ltcGxlOjpnZXRfcGFyYWxsZWxfcGFnZSBmdW5jdGlvbi48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT4xLjYuMSAtIEFwcmlsIDIwMTMKICA8dWw+CiAgICA8bGk+TWlub3IgYnVnIGZpeC48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT4xLjYgLSBNYXJjaCAyMDEzCiAgPHVsPgogICAgPGxpPkZpeGVzIGJ1Z3MuICBNb3ZlcyBtb3N0IG1ldGhvZHMgc3RhdGljLjwvbGk+CiAgICA8bGk+UmVxdWlyZXMgUEhQIDUuMy48L2xpPgogICAgPGxpPkJ1ZyBmaXhlcy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT4xLjUuMSAtIEp1bHkgMjAxMgogPHVsPgogICA8bGk+TW92ZSBoZWxwIGV4dGVybmFsLjwvbGk+CiAgIDxsaT5GaXggdG8gaGFzQ2hpbGRyZW4gbWV0aG9kLjwvbGk+CiAgIDxsaT5NaW5vciBjb2RlIGNsZWFudXAuPC9saT4KIDwvdWw+CjwvbGk+CjxsaT4xLjUgLSBPY3RvYmVyIDIwMTEKPHA+QSBjb3VwbGUgbW9yZSB1c2VmdWwgc21hcnR5IHBsdWdpbnMuPC9wPgo8L2xpPgo8bGk+MS40LjEwIC0gT2N0b2JlciAyMDExCjxwPk1vcmUgRml4ZXMgZm9yIENNU01TIDEuMTA8L3A+CjwvbGk+CjxwPkZpeGVzIGZvciBDTVNNUyAxLjEwPC9wPgo8L2xpPgo8bGk+MS40LjYgLSBEZWNlbWJlciAyMDEwCjxwPkZpeGVkIHRoZSBoZWxwIGZvciB0aGUgZ2V0X3BhZ2VfdHlwZSBtZXRob2QuPC9wPgo8L2xpPgo8bGk+MS40LjUgLSBKdW5lLiAyMDEwCjxwPkFkZHMgdGhlICRjZ3NpbXBsZS0+Z2V0X3BhZ2VfdHlwZSgpIG1ldGhvZC48L3A+CjwvbGk+CjxsaT4xLjQuNCAtIEZlYi4gMjAxMAogICA8cD5NaW5vciBoZWxwIGZpeGVzLjwvcD4KICAgPHA+TWlub3IgYnVnIGZpeGVzLjwvcD4KPC9saT4KPGxpPjEuNC4zIC0gSnVseSwgMjAwOQogICA8cD5GaXhlcyBmb3IgMS42IGNvbXBhdGliaWxpdHkuPC9wPgo8L2xpPgo8bGk+MS40LjIgLSBBcHIsIDIwMDkKICAgPHA+QWRkIHRoZSBqc2ZyaWVuZGx5IHBhcmFtIHRvIG1vZHVsZV9hY3Rpb25fbGluazwvcD4KPC9saT4KPGxpPjEuNC4xIC0gRmViLCAyMDA5CiAgIDxwPkZpeGVzIHRvIG1vZHVsZV9hY3Rpb25fbGluazwvcD4KPC9saT4KPGxpPjEuNCAtIEphbiwgMjAwOQogICA8cD5BZGQgdGhlIHNlc3Npb25fZXJhc2UsIHNlc3Npb25fcHV0LCBhbmQgc2VsZl91cmwgcGx1Z2lucy48L3A+CjwvbGk+CjxsaT4xLjMuMyAtIERlYywgMjAwOAogICAgPHA+Tm8gbG9uZ2VyIGhhbmRsZSBldmVudHMuPC9saT4KPC9saT4KPGxpPjEuMy4yIC0gRGVjLCAyMDA4CiAgICA8cD5CdWcgRml4ZXMuPC9wPgogICAgPHA+TW92ZSBjaGFuZ2Vsb2cgdG8gc2VwZXJhdGUgZmlsZS48L3A+CiAgICA8cD5BZGQgZ2V0X3NpYmxpbmcoKSBzbWFydHkgbWV0aG9kLjwvcD4KPC9saT4KPGxpPjEuMy4xIC0gTWF5LCAyMDA4CiAgICA8cD5NaW5vciBmaXggdG8gdGhlIG1vZHVsZV9hY3Rpb24gcGx1Z2luPC9wPgo8L2xpPgo8bGk+MS4zIC0gTWFyY2gsIDIwMDgKICA8cD5BZGQgdGhlIGdldF9jaGlsZHJlbiBtZXRob2Q8L3A+CjwvbGk+CjxsaT4xLjIuMSAtIE1hcmNoLCAyMDA4CiAgPHA+TWlub3IgZml4IGZvciBtb2R1bGVfYWN0aW9uX2xpbms8L3A+CjwvbGk+CjxsaT4xLjIgLSBNYXJjaCwgMjAwOAogIDxwPkFkZCB0aGUgY2dyZXBlYXQgc21hcnR5IHBsdWdpbjwvcD4KICA8cD5BZGQgaW1hZ2Ugc3VwcG9ydCB0byB0aGUgbW9kdWxlX2FjdGlvbl9saW5rIHNtYXJ0eSBwbHVnaW48L3A+CiAgPHA+VXBkYXRlIGNvcHlyaWdodCBhbmQgbGljZW5zZTwvcD4KPC9saT4KPGxpPjEuMS4xIC0gRmVicnVhcnksIDIwMDgKICA8cD5GaXggbWlub3IgcHJvYmxlbSB3aXRoIHRoZSBtb2R1bGVfZXhpc3RzIG1ldGhvZDwvcD4KPC9saT4KPGxpPjEuMSAtIEZlYnJ1YXJ5LCAyMDA4CiAgPHA+QWRkZWQgZ2V0X3BhZ2VfbWVudXRleHQoKSBtZXRob2Q8L3A+CiAgPHA+QWRkZWQgbW9kdWxlX2FjdGlvbl9saW5rPC9wPgo8L2xpPgo8bGk+MS4wIC0gRGVjZW1iZXIsIDIwMDcKICA8cD5Jbml0aWFsIHJlbGVhc2U8L3A+CjwvbGk+CjwvdWw+Cg==]]></data>
	</file>
	<file>
	  <filename>/class.cgsimple.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU2ltcGxlU21hcnR5IChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRoYXQgcHJvdmlkZXMgc2ltcGxlIHNtYXJ0eQojICBtZXRob2RzIGFuZCBmdW5jdGlvbnMgdG8gZWFzZSBkZXZlbG9waW5nIENNUyBNYWRlIHNpbXBsZSBwb3dlcmVkCiMgIHdlYnNpdGVzLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3RzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKZmluYWwgY2xhc3MgY2dzaW1wbGUKewogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkge30KCiAgICAvLy8vLy8vLy8vLwogICAgLy8gQSBmdW5jdGlvbiB0byBvdXRwdXQgdGhlIGN1cnJlbnQgcGFnZSB1cmwKICAgIC8vLy8vLy8vLy8KICAgIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gc2VsZl91cmwoJGFzc2lnbj0nJykKICAgIHsKICAgICAgICAkcyA9IChcY2dlX3V0aWxzOjpzc2xfcmVxdWVzdCgpKSAgPyAicyIgOiAiIjsKICAgICAgICAkcCA9IHN0cnBvcygkX1NFUlZFUlsnU0VSVkVSX1BST1RPQ09MJ10sJy8nKTsKICAgICAgICAkcHJvdG9jb2wgPSBzdHJ0b2xvd2VyKHN1YnN0cigkX1NFUlZFUlsnU0VSVkVSX1BST1RPQ09MJ10sMCwkcCkpLiRzOwogICAgICAgICRwb3J0ID0gKCRfU0VSVkVSWyJTRVJWRVJfUE9SVCJdID09ICI4MCIpID8gIiIgOiAoIjoiLiRfU0VSVkVSWyJTRVJWRVJfUE9SVCJdKTsKICAgICAgICAkcyA9ICRwcm90b2NvbC4iOi8vIi4kX1NFUlZFUlsnU0VSVkVSX05BTUUnXS4kcG9ydDsKCiAgICAgICAgJHR4dCA9ICRzLiRfU0VSVkVSWydSRVFVRVNUX1VSSSddOwogICAgICAgIGlmKCAhZW1wdHkoJGFzc2lnbikgKSB7CiAgICAgICAgICAgICRzbWFydHkgPSBDbXNBcHA6OmdldF9pbnN0YW5jZSgpLT5HZXRTbWFydHkoKTsKICAgICAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCRhc3NpZ24sJHR4dCk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICR0eHQ7CiAgICB9CgoKICAgIC8vLy8vLy8vLy8KICAgIC8vIEEgZnVuY3Rpb24gdG8gdGVzdCBpZiBhIENNUyBNYWRlIFNpbXBsZSBtb2R1bGUgaXMgaW5zdGFsbGVkCiAgICAvLyBERVBSRUNBVEVECiAgICAvLy8vLy8vLy8vCiAgICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uIG1vZHVsZV9pbnN0YWxsZWQoJG1vZHVsZSwkYXNzaWduID0gJycpCiAgICB7CiAgICAgICAgaWYoICRtb2R1bGUgPT0gJycgKSByZXR1cm4gMDsKICAgICAgICAkbW9kdWxlID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCRtb2R1bGUpOwoKICAgICAgICAkcmVzdWx0ID0gMDsKICAgICAgICBpZiggaXNfb2JqZWN0KCAkbW9kdWxlICkgKSAkcmVzdWx0ID0gMTsKICAgICAgICBpZiggIWVtcHR5KCRhc3NpZ24pICkgewogICAgICAgICAgICAkc21hcnR5ID0gQ21zQXBwOjpnZXRfaW5zdGFuY2UoKS0+R2V0U21hcnR5KCk7CiAgICAgICAgICAgICRzbWFydHktPmFzc2lnbigkYXNzaWduLCRyZXN1bHQpOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIHJldHVybiAkcmVzdWx0OwogICAgfQoKICAgIC8vLy8vLy8vLwogICAgLy8gQSBmdW5jdGlvbiB0byByZXR1cm4gdGhlIHBhcmVudCBwYWdlIGFsaWFzIG9mIGEgZ2l2ZW4gcGFnZSBvcgogICAgLy8gb2YgdGhlIGN1cnJlbnQgcGFnZQogICAgLy8vLy8vLy8vCiAgICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uIGdldF9wYXJlbnRfYWxpYXMoJGFsaWFzID0gJycsJGFzc2lnbiA9ICcnKQogICAgewogICAgICAgICRnQ21zID0gQ21zQXBwOjpnZXRfaW5zdGFuY2UoKTsKICAgICAgICAkaG0gPSAkZ0Ntcy0+R2V0SGllcmFyY2h5TWFuYWdlcigpOwogICAgICAgICRzbWFydHkgPSAkZ0Ntcy0+R2V0U21hcnR5KCk7CgogICAgICAgIGlmKCAkYWxpYXMgPT0gJycgKSAkYWxpYXMgPSAkc21hcnR5LT5nZXRfdGVtcGxhdGVfdmFycygncGFnZV9hbGlhcycpOwoKICAgICAgICAkbm9kZSA9ICRobS0+ZmluZF9ieV90YWcoJ2FsaWFzJywkYWxpYXMpOwogICAgICAgIGlmKCAhJG5vZGUgKSByZXR1cm47CgogICAgICAgICRhbGlhcyA9ICRub2RlLT5nZXRQYXJlbnQoKS0+Z2V0X3RhZygnYWxpYXMnKTsKICAgICAgICBpZiggJGFzc2lnbiAhPSAnJyApIHsKICAgICAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCRhc3NpZ24sJGFsaWFzKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJGFsaWFzOwogICAgfQoKCiAgICAvLy8vLy8vLy8KICAgIC8vIEEgZnVuY3Rpb24gdG8gcmV0dXJuIHRoZSB0b3Btb3N0IHBhcmVudCBwYWdlIGFsaWFzIG9mIGEgZ2l2ZW4gcGFnZSBvcgogICAgLy8gb2YgdGhlIGN1cnJlbnQgcGFnZQogICAgLy8vLy8vLy8vCiAgICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uIGdldF9yb290X2FsaWFzKCRhbGlhcyA9ICcnLCRhc3NpZ24gPSAnJykKICAgIHsKICAgICAgICAkZ0NtcyA9IENtc0FwcDo6Z2V0X2luc3RhbmNlKCk7CiAgICAgICAgJGhtID0gJGdDbXMtPkdldEhpZXJhcmNoeU1hbmFnZXIoKTsKICAgICAgICAkc21hcnR5ID0gJGdDbXMtPkdldFNtYXJ0eSgpOwoKICAgICAgICBpZiggJGFsaWFzID09ICcnICkgJGFsaWFzID0gJHNtYXJ0eS0+Z2V0X3RlbXBsYXRlX3ZhcnMoJ3BhZ2VfYWxpYXMnKTsKCiAgICAgICAgJHN0YWNrID0gYXJyYXkoKTsKICAgICAgICAkbm9kZSA9ICRobS0+ZmluZF9ieV90YWcoJ2FsaWFzJywkYWxpYXMpOwogICAgICAgIHdoaWxlKCAkbm9kZSAmJiAkbm9kZS0+Z2V0X3RhZygnaWQnKSA+IDAgKSB7CiAgICAgICAgICAgICRzdGFja1tdID0gJG5vZGU7CiAgICAgICAgICAgICRub2RlID0gJG5vZGUtPmdldFBhcmVudCgpOwogICAgICAgIH0KICAgICAgICBpZiggY291bnQoJHN0YWNrKSA9PSAwICkgcmV0dXJuOwoKICAgICAgICAkYWxpYXMgPSAkc3RhY2tbY291bnQoJHN0YWNrKS0xXS0+Z2V0X3RhZygnYWxpYXMnKTsKICAgICAgICBpZiggJGFzc2lnbiAhPSAnJyApIHsKICAgICAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCRhc3NpZ24sJGFsaWFzKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJGFsaWFzOwogICAgfQoKCiAgICAvLy8vLy8vLy8KICAgIC8vIEEgZnVuY3Rpb24gdG8gcmV0dXJuIHRoZSBwYWdlIHRpdGxlIG9mIGEgZ2l2ZW4gcGFnZSBvcgogICAgLy8gb2YgdGhlIGN1cnJlbnQgcGFnZQogICAgLy8vLy8vLy8vCiAgICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uIGdldF9wYWdlX3RpdGxlKCRhbGlhcyA9ICcnLCRhc3NpZ24gPSAnJykKICAgIHsKICAgICAgICAkZ0NtcyA9IENtc0FwcDo6Z2V0X2luc3RhbmNlKCk7CiAgICAgICAgJGNvbnRlbnRvcHMgPSBDb250ZW50T3BlcmF0aW9uczo6Z2V0X2luc3RhbmNlKCk7CiAgICAgICAgJHNtYXJ0eSA9ICRnQ21zLT5HZXRTbWFydHkoKTsKCiAgICAgICAgaWYoICRhbGlhcyA9PSAnJyApICRhbGlhcyA9ICRzbWFydHktPmdldF90ZW1wbGF0ZV92YXJzKCdwYWdlX2FsaWFzJyk7CiAgICAgICAgJGNvbnRlbnQgPSAkY29udGVudG9wcy0+TG9hZENvbnRlbnRGcm9tQWxpYXMoJGFsaWFzKTsKICAgICAgICBpZiggIWlzX29iamVjdCgkY29udGVudCkgKSByZXR1cm4gJyc7CgogICAgICAgIGlmKCAkYXNzaWduICE9ICcnICkgewogICAgICAgICAgICAkc21hcnR5LT5hc3NpZ24oJGFzc2lnbiwkY29udGVudC0+TmFtZSgpKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJGNvbnRlbnQtPk5hbWUoKTsKICAgIH0KCgogICAgLy8vLy8vLy8vCiAgICAvLyBBIGZ1bmN0aW9uIHRvIHJldHVybiB0aGUgbWVudXRleHQgb2YgYSBnaXZlbiBwYWdlIG9yCiAgICAvLyBvZiB0aGUgY3VycmVudCBwYWdlCiAgICAvLy8vLy8vLy8KICAgIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gZ2V0X3BhZ2VfbWVudXRleHQoJGFsaWFzID0gJycsJGFzc2lnbiA9ICcnKQogICAgewogICAgICAgICRnQ21zID0gQ21zQXBwOjpnZXRfaW5zdGFuY2UoKTsKICAgICAgICAkY29udGVudG9wcyA9IENvbnRlbnRPcGVyYXRpb25zOjpnZXRfaW5zdGFuY2UoKTsKICAgICAgICAkc21hcnR5ID0gJGdDbXMtPkdldFNtYXJ0eSgpOwoKICAgICAgICBpZiggJGFsaWFzID09ICcnICkgJGFsaWFzID0gJHNtYXJ0eS0+Z2V0X3RlbXBsYXRlX3ZhcnMoJ3BhZ2VfYWxpYXMnKTsKICAgICAgICAkY29udGVudCA9ICRjb250ZW50b3BzLT5Mb2FkQ29udGVudEZyb21BbGlhcygkYWxpYXMpOwogICAgICAgIGlmKCAhaXNfb2JqZWN0KCRjb250ZW50KSApIHJldHVybiAnJzsKCiAgICAgICAgaWYoICRhc3NpZ24gIT0gJycgKSB7CiAgICAgICAgICAgICRzbWFydHktPmFzc2lnbigkYXNzaWduLCRjb250ZW50LT5NZW51VGV4dCgpKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJGNvbnRlbnQtPk1lbnVUZXh0KCk7CiAgICB9CgoKICAgIC8vLy8vLy8vLwogICAgLy8gQSBmdW5jdGlvbiB0byByZXR1cm4gdGhlIHR5cGUgb2YgYSBnaXZlbiBwYWdlCiAgICAvLy8vLy8vLy8KICAgIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gZ2V0X3BhZ2VfdHlwZSgkYWxpYXMgPSAnJywkYXNzaWduID0gJycpCiAgICB7CiAgICAgICAgJGdDbXMgPSBDbXNBcHA6OmdldF9pbnN0YW5jZSgpOwogICAgICAgICRjb250ZW50b3BzID0gQ29udGVudE9wZXJhdGlvbnM6OmdldF9pbnN0YW5jZSgpOwogICAgICAgICRzbWFydHkgPSAkZ0Ntcy0+R2V0U21hcnR5KCk7CgogICAgICAgIGlmKCAkYWxpYXMgPT0gJycgKSAkYWxpYXMgPSAkc21hcnR5LT5nZXRfdGVtcGxhdGVfdmFycygncGFnZV9hbGlhcycpOwogICAgICAgICRjb250ZW50ID0gJGNvbnRlbnRvcHMtPkxvYWRDb250ZW50RnJvbUFsaWFzKCRhbGlhcyk7CiAgICAgICAgaWYoICFpc19vYmplY3QoJGNvbnRlbnQpICkgcmV0dXJuICcnOwoKICAgICAgICBpZiggJGFzc2lnbiAhPSAnJyApIHsKICAgICAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCRhc3NpZ24sJGNvbnRlbnQtPlR5cGUoKSk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICRjb250ZW50LT5UeXBlKCk7CiAgICB9CgoKICAgIC8vLy8vLy8vLwogICAgLy8gQSBmdW5jdGlvbiB0byB0ZXN0IGlmIGEgZ2l2ZW4gKG9yIHRoZSBjdXJyZW50IHBhZ2UpIGhhcwogICAgLy8gY2hpbGRyZW4uCiAgICAvLy8vLy8vLy8KICAgIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gaGFzX2NoaWxkcmVuKCRhbGlhcyA9ICcnLCRhc3NpZ24gPSAnJykKICAgIHsKICAgICAgICAkcmVzdWx0ID0gZmFsc2U7CiAgICAgICAgJGdDbXMgPSBDbXNBcHA6OmdldF9pbnN0YW5jZSgpOwogICAgICAgICRjb250ZW50b3BzID0gQ29udGVudE9wZXJhdGlvbnM6OmdldF9pbnN0YW5jZSgpOwogICAgICAgICRzbWFydHkgPSAkZ0Ntcy0+R2V0U21hcnR5KCk7CgogICAgICAgIGlmKCAkYWxpYXMgPT0gJycgKSAkYWxpYXMgPSAkc21hcnR5LT5nZXRfdGVtcGxhdGVfdmFycygncGFnZV9hbGlhcycpOwogICAgICAgICRjb250ZW50ID0gJGNvbnRlbnRvcHMtPkxvYWRDb250ZW50RnJvbUFsaWFzKCRhbGlhcyk7CiAgICAgICAgaWYoIGlzX29iamVjdCgkY29udGVudCkgKSAkcmVzdWx0ID0gJGNvbnRlbnQtPkhhc0NoaWxkcmVuKCk7CgogICAgICAgIGlmKCAkYXNzaWduICE9ICcnICkgewogICAgICAgICAgICAkc21hcnR5LT5hc3NpZ24oJGFzc2lnbiwkcmVzdWx0KTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJHJlc3VsdDsKICAgIH0KCgogICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgUmV0dXJuIGFuIGFycmF5IGNvbnRhaW5pbmcgdGhlIHBhZ2UgaWRzIG9mIGFsbCBvZiB0aGUgc3BlY2lmaWVkIHBhZ2UncwogICAgICBjaGlsZHJlbi4KICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICAgIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gZ2V0X2NoaWxkcmVuKCRhbGlhcyA9ICcnLCRzaG93YWxsID0gZmFsc2UsJGFzc2lnbiA9ICcnKQogICAgewogICAgICAgICRnQ21zID0gQ21zQXBwOjpnZXRfaW5zdGFuY2UoKTsKICAgICAgICAkc21hcnR5ID0gJGdDbXMtPkdldFNtYXJ0eSgpOwoKICAgICAgICBpZiggJGFsaWFzID09ICcnICkgJGFsaWFzID0gJHNtYXJ0eS0+Z2V0X3RlbXBsYXRlX3ZhcnMoJ3BhZ2VfYWxpYXMnKTsKICAgICAgICBpZiggJGFsaWFzID09ICcnICkgcmV0dXJuIEZBTFNFOwoKICAgICAgICAkaG0gPSBjbXNtcygpLT5HZXRIaWVyYXJjaHlNYW5hZ2VyKCk7CiAgICAgICAgJHBhcmVudCA9ICRobS0+ZmluZF9ieV90YWcoJ2FsaWFzJywkYWxpYXMpOwogICAgICAgIGlmKCAhJHBhcmVudCApIHJldHVybiBGQUxTRTsKCiAgICAgICAgJGNoaWxkX25vZGVzID0gJHBhcmVudC0+Z2V0X2NoaWxkcmVuKCk7CiAgICAgICAgaWYoICFpc19hcnJheSgkY2hpbGRfbm9kZXMpIHx8IGNvdW50KCRjaGlsZF9ub2RlcykgPT0gMCApIHJldHVybiBmYWxzZTsKCiAgICAgICAgJHJlc3VsdHMgPSBhcnJheSgpOwogICAgICAgIGZvcmVhY2goICRjaGlsZF9ub2RlcyBhcyAkbm9kZSApIHsKICAgICAgICAgICAgJGNvbnRlbnQgPSAkbm9kZS0+Z2V0Q29udGVudCgpOwogICAgICAgICAgICBpZiggIWlzX29iamVjdCgkY29udGVudCkgKSBjb250aW51ZTsKICAgICAgICAgICAgaWYoICEkY29udGVudC0+QWN0aXZlKCkgJiYgISRzaG93YWxsICkgY29udGludWU7CiAgICAgICAgICAgICRyb3cgPSBhcnJheSgnYWxpYXMnPT4kY29udGVudC0+QWxpYXMoKSwnaWQnPT4kY29udGVudC0+SWQoKSwndGl0bGUnPT4kY29udGVudC0+TmFtZSgpLCdtZW51dGV4dCc9PiRjb250ZW50LT5NZW51VGV4dCgpLAogICAgICAgICAgICAgICAgICAgICAgICAgJ2FjdGl2ZSc9PiRjb250ZW50LT5BY3RpdmUoKSwnc2hvd19pbl9tZW51Jz0+JGNvbnRlbnQtPlNob3dJbk1lbnUoKSwndHlwZSc9PiRjb250ZW50LT5UeXBlKCkpOwogICAgICAgICAgICAkcmVzdWx0c1tdID0gJHJvdzsKICAgICAgICB9CiAgICAgICAgaWYoICFjb3VudCgkcmVzdWx0cykgKSByZXR1cm4gZmFsc2U7CgogICAgICAgIGlmKCAhZW1wdHkoJGFzc2lnbikgKSB7CiAgICAgICAgICAgICRzbWFydHktPmFzc2lnbigkYXNzaWduLCRyZXN1bHRzKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRyZXN1bHRzOwogICAgfQoKICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgIFJldHVybiBhIG1vZHVsZSdzIHZlcnNpb24KICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICAgIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gbW9kdWxlX3ZlcnNpb24oJG5hbWUsICRhc3NpZ24gPSAnJykKICAgIHsKICAgICAgICAkb3V0ID0gJyc7CiAgICAgICAgaWYoICFlbXB0eSgkbmFtZSkgKSB7CiAgICAgICAgICAgICRvYmogPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJG5hbWUpOwogICAgICAgICAgICBpZiggaXNfb2JqZWN0KCRvYmopICkgJG91dCA9ICRvYmotPkdldFZlcnNpb24oKTsKICAgICAgICB9CgogICAgICAgIGlmKCAkYXNzaWduICE9ICcnICkgewogICAgICAgICAgICAkc21hcnR5ID0gY21zX3V0aWxzOjpnZXRfc21hcnR5KCk7CiAgICAgICAgICAgICRzbWFydHktPmFzc2lnbigkYXNzaWduLCRvdXQpOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIHJldHVybiAkb3V0OwogICAgfQoKCiAgICAvLy8vLy8vLy8vCiAgICAvLyBHZXQgcGFnZSBjb250ZW50IGZyb20gYSBjb250ZW50IGJsb2NrCiAgICAvLy8vLy8vLy8vCiAgICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uIGdldF9wYWdlX2NvbnRlbnQoJGFsaWFzLCRibG9jayA9ICcnLCRhc3NpZ24gPSAnJykKICAgIHsKICAgICAgICAkcmVzdWx0ID0gZmFsc2U7CiAgICAgICAgJGdDbXMgPSBjbXNtcygpOwogICAgICAgICRjb250ZW50b3BzID0gJGdDbXMtPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CiAgICAgICAgJHNtYXJ0eSA9ICRnQ21zLT5HZXRTbWFydHkoKTsKCiAgICAgICAgaWYoICRibG9jayA9PSAnJyApICRibG9jayA9ICdjb250ZW50X2VuJzsKCiAgICAgICAgaWYoICRhbGlhcyAhPSAnJyApIHsKICAgICAgICAgICAgJGNvbnRlbnQgPSAkY29udGVudG9wcy0+TG9hZENvbnRlbnRGcm9tQWxpYXMoJGFsaWFzKTsKICAgICAgICAgICAgaWYoIGlzX29iamVjdCgkY29udGVudCkgKSAkcmVzdWx0ID0gJGNvbnRlbnQtPkdldFByb3BlcnR5VmFsdWUoJGJsb2NrKTsKICAgICAgICB9CgogICAgICAgIGlmKCAkYXNzaWduICE9ICcnICkgewogICAgICAgICAgICAkc21hcnR5LT5hc3NpZ24odHJpbSgkYXNzaWduKSwkcmVzdWx0KTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJHJlc3VsdDsKICAgIH0KCgogICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8KICAgIC8vIEdldCBwcmV2IHNpYmxpbmcKICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vCiAgICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uIGdldF9zaWJsaW5nKCRkaXIsJGFzc2lnbiA9ICcnLCRhbGlhcyA9ICcnKQogICAgewogICAgICAgICRnQ21zID0gQ21zQXBwOjpnZXRfaW5zdGFuY2UoKTsKICAgICAgICAkc21hcnR5ID0gJGdDbXMtPkdldFNtYXJ0eSgpOwogICAgICAgICRjb250ZW50b3BzID0gQ29udGVudE9wZXJhdGlvbnM6OmdldF9pbnN0YW5jZSgpOwoKICAgICAgICBpZiggZW1wdHkoJGFsaWFzKSApICRhbGlhcyA9ICRzbWFydHktPmdldF90ZW1wbGF0ZV92YXJzKCdwYWdlX2FsaWFzJyk7CiAgICAgICAgLy8gQHRvZG86IGNvdWxkIHVzZSB0aGUgdHJlZSBoZXJlIChmaW5kIHRoZSBub2RlLCBnZXQgaXQncyBwYXJlbnQsIHRoZSBwYXJlbnQncyBjaGlsZHMgYXJlIHRoZSBzaWJsaW5nKQogICAgICAgICRjb250ZW50ID0gJGNvbnRlbnRvcHMtPkxvYWRDb250ZW50RnJvbUFsaWFzKCRhbGlhcyk7CiAgICAgICAgaWYoICFpc19vYmplY3QoJGNvbnRlbnQpICkgcmV0dXJuIGZhbHNlOwoKICAgICAgICAvLyBnZXQgdGhlIGxhc3QgaXRlbSBvdXQgb2YgdGhlIGhpZXJhcmNoeQogICAgICAgIC8vIGFuZCByZWJ1aWxkCiAgICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCBjb250ZW50X2FsaWFzIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ2NvbnRlbnQKICAgICAgICAgICAgICBXSEVSRSBwYXJlbnRfaWQgPSA/IEFORCBpdGVtX29yZGVyICVzID8gQU5EIGFjdGl2ZSA9IDEgT1JERVIgQlkgaXRlbV9vcmRlciAlcyBMSU1JVCAxJzsKCiAgICAgICAgc3dpdGNoKHN0cnRvbG93ZXIoJGRpcikpIHsKICAgICAgICBjYXNlICctMSc6CiAgICAgICAgY2FzZSAncHJldic6CiAgICAgICAgICAgICR0aGVjaGFyID0gJzwnOwogICAgICAgICAgICAkb3JkZXIgPSAnREVTQyc7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAkdGhlY2hhciA9ICc+JzsKICAgICAgICAgICAgJG9yZGVyID0gJ0FTQyc7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KCiAgICAgICAgJGRiID0gJGdDbXMtPkdldERiKCk7CiAgICAgICAgJHJlcyA9ICRkYi0+R2V0T25lKHNwcmludGYoJHF1ZXJ5LCR0aGVjaGFyLCRvcmRlciksIGFycmF5KCRjb250ZW50LT5QYXJlbnRJZCgpLCRjb250ZW50LT5JdGVtT3JkZXIoKSkpOwogICAgICAgIGlmKCAhZW1wdHkoJGFzc2lnbikgKSB7CiAgICAgICAgICAgICRzbWFydHktPmFzc2lnbih0cmltKCRhc3NpZ24pLCRyZXMpOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIHJldHVybiAkcmVzOwogICAgfQoKICAgIC8vLy8vLy8vLy8KICAgIC8vIEdldCBhIGZpbGUgbGlzdGluZyBmb3IgYSBzcGVjaWZpZWQgZGlyZWN0b3J5CiAgICAvLy8vLy8vLy8vCiAgICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uIGdldF9maWxlX2xpc3RpbmcoJGRpciwkZXhjbHVkZXByZWZpeD0nJywkYXNzaWduID0gJycpCiAgICB7CiAgICAgICAgJGdDbXMgPSBDbXNBcHA6OmdldF9pbnN0YW5jZSgpOwogICAgICAgICRzbWFydHkgPSAkZ0Ntcy0+R2V0U21hcnR5KCk7CiAgICAgICAgJGNvbmZpZyA9ICRnQ21zLT5HZXRDb25maWcoKTsKCiAgICAgICAgJGZpbGVwcmVmaXggPSAnJzsKICAgICAgICBpZiggIWVtcHR5KCRleGNsdWRlcHJlZml4KSApICRmaWxlcHJlZml4ID0gJGV4Y2x1ZGVwcmVmaXg7CiAgICAgICAgaWYoIHN0YXJ0c3dpdGgoJGRpciwnLycpICkgcmV0dXJuOwogICAgICAgICRkaXIgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLCRkaXIpOwogICAgICAgICRsaXN0ID0gZ2V0X21hdGNoaW5nX2ZpbGVzKCRkaXIsJycsdHJ1ZSx0cnVlLCRmaWxlcHJlZml4LDEpOwogICAgICAgIGlmKCAhZW1wdHkoJGFzc2lnbikgKSB7CiAgICAgICAgICAgICRzbWFydHktPmFzc2lnbih0cmltKCRhc3NpZ24pLCRsaXN0KTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJGxpc3Q7CiAgICB9CgogICAgLy8vLy8vLy8vLwogICAgLy8gR2V0IGEgcGFyYWxsZWwgcGFnZSBhbGlhcyBnaXZlbiBhIGRpZmZlcmVudCByb290IGFsaWFzCiAgICAvLyBpLmU6IGlmIHRoZSBjdXJyZW50IChvciBzcGVjaWZpZWQgcGFnZSBhbGlhcykgaXMgYXQgaGllcmFyY2h5IGxldmVsIDQuMS4xCiAgICAvLyBhbmQgdGhlICduZXcgcGFyZW50JyBhbGlhcyBpcyBhdCBoaWVyYXJjaHkgbGV2ZWwgNQogICAgLy8gdGhpcyBmdW5jdGlvbiB3aWxsIHJldHVybiB0aGUgcGFnZSBhbGlhcyBmb3IgaGllcmFyY2h5IGxldmVsIDUuMS4xIChpZiBpdCBleGlzdHMpLgogICAgLy8gdXNlZnVsIGZvciBtdWx0aS1sYW5nIHNpdGVzLgogICAgLy8vLy8vLy8vLwogICAgc3RhdGljIHB1YmxpYyBmdW5jdGlvbiBnZXRfcGFyYWxsZWxfcGFnZSgkbmV3X3Jvb3QsJGN1cnJlbnRfcGFnZSA9IG51bGwsJGFzc2lnbiA9IG51bGwpCiAgICB7CiAgICAgICAgJGdDbXMgPSBDbXNBcHA6OmdldF9pbnN0YW5jZSgpOwogICAgICAgICRzbWFydHkgPSAkZ0Ntcy0+R2V0U21hcnR5KCk7CiAgICAgICAgJGNvbnRlbnRvcHMgPSAkZ0Ntcy0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsKCiAgICAgICAgaWYoIGVtcHR5KCRuZXdfcm9vdCkgKSByZXR1cm47CiAgICAgICAgaWYoIGVtcHR5KCRjdXJyZW50X3BhZ2UpICkgJGN1cnJlbnRfcGFnZSA9ICRzbWFydHktPmdldF90ZW1wbGF0ZV92YXJzKCdwYWdlX2FsaWFzJyk7CgogICAgICAgICRjdXJfY29udGVudCA9ICRjb250ZW50b3BzLT5Mb2FkQ29udGVudEZyb21BbGlhcygkY3VycmVudF9wYWdlKTsKICAgICAgICBpZiggIWlzX29iamVjdCgkY3VyX2NvbnRlbnQpICkgcmV0dXJuOwoKICAgICAgICAkdG1wID0gc2VsZjo6Z2V0X3Jvb3RfYWxpYXMoJG5ld19yb290KTsgLy8gbWFrZSBzdXJlIHdlIGdvIHRvIHRoZSByb290CiAgICAgICAgaWYoICR0bXAgKSAkbmV3X3Jvb3QgPSAkdG1wOwogICAgICAgICRuZXdfcm9vdF9jb250ZW50ID0gJGNvbnRlbnRvcHMtPkxvYWRDb250ZW50RnJvbUFsaWFzKCRuZXdfcm9vdCk7CiAgICAgICAgaWYoICFpc19vYmplY3QoJG5ld19yb290X2NvbnRlbnQpICkgcmV0dXJuOwoKICAgICAgICAkaGllcjEgPSAkY3VyX2NvbnRlbnQtPkhpZXJhcmNoeSgpOwogICAgICAgICRoaWVyMiA9ICRuZXdfcm9vdF9jb250ZW50LT5IaWVyYXJjaHkoKTsKICAgICAgICBpZiggJGhpZXIxID09ICcnIHx8ICRoaWVyMiA9PSAnJyApIHJldHVybjsKCiAgICAgICAgJGFfaGllcjEgPSBleHBsb2RlKCcuJywkaGllcjEpOwogICAgICAgICRhX2hpZXIyID0gZXhwbG9kZSgnLicsJGhpZXIyKTsKICAgICAgICAkYV9oaWVyMVswXSA9ICRhX2hpZXIyWzBdOwogICAgICAgICRoaWVyMyA9IGltcGxvZGUoJy4nLCRhX2hpZXIxKTsKCiAgICAgICAgLy8gd2UgaGF2ZSB0aGUgbmV3IGhpZXJhcmNoeS4uLiBqdXN0IGdvdHRhIGZpbmQgdGhlIHJpZ2h0IHBhZ2UgZm9yIGl0LgogICAgICAgICRuZXdfcGFnZWlkID0gJGNvbnRlbnRvcHMtPkdldFBhZ2VJREZyb21IaWVyYXJjaHkoJGhpZXIzKTsKICAgICAgICBpZiggISRuZXdfcGFnZWlkICkgcmV0dXJuOwoKICAgICAgICAkbmV3Y29udGVudCA9ICRjb250ZW50b3BzLT5Mb2FkQ29udGVudEZyb21BbGlhcygkbmV3X3BhZ2VpZCk7CiAgICAgICAgaWYoICFpc19vYmplY3QoJG5ld2NvbnRlbnQpICkgcmV0dXJuOyAvLyBvb3BzLgoKICAgICAgICBpZiggJGFzc2lnbiApIHsKICAgICAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCRhc3NpZ24sJG5ld2NvbnRlbnQtPkFsaWFzKCkpOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIHJldHVybiAkbmV3Y29udGVudC0+QWxpYXMoKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdlbmVyYXRlIGEgVVJMIHRvIGFuIGFuY2hvciBvbiB0aGUgc2FtZSBwYWdlCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbmFtZSBUaGUgbmFtZSBvZiB0aGUgYW5jaG9yCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uIGFuY2hvcl91cmwoJG5hbWUpCiAgICB7CiAgICAgICAgaWYoICEkbmFtZSApIHJldHVybjsKICAgICAgICAkbmFtZSA9IHRyaW0oJG5hbWUpOwogICAgICAgIGlmKCAhJG5hbWUgKSByZXR1cm47CiAgICAgICAgJGNvbnRlbnRfb2JqID0gXGNtc191dGlsczo6Z2V0X2N1cnJlbnRfY29udGVudCgpOwogICAgICAgIGlmKCAhaXNfb2JqZWN0KCRjb250ZW50X29iaikgKSByZXR1cm47CiAgICAgICAgcmV0dXJuICRjb250ZW50X29iai0+R2V0VVJMKCkuJyMnLiRuYW1lOwogICAgfQp9OwoKLy8gRU9GCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/docs/COPYING</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ICAgICAgICAgICAgICAgICAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQogICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMywgMjkgSnVuZSAyMDA3CgogQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiA8aHR0cDovL2ZzZi5vcmcvPgogRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCiBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVhbWJsZQoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgYSBmcmVlLCBjb3B5bGVmdCBsaWNlbnNlIGZvcgpzb2Z0d2FyZSBhbmQgb3RoZXIga2luZHMgb2Ygd29ya3MuCgogIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhbmQgb3RoZXIgcHJhY3RpY2FsIHdvcmtzIGFyZSBkZXNpZ25lZAp0byB0YWtlIGF3YXkgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgdGhlIHdvcmtzLiAgQnkgY29udHJhc3QsCnRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvCnNoYXJlIGFuZCBjaGFuZ2UgYWxsIHZlcnNpb25zIG9mIGEgcHJvZ3JhbS0tdG8gbWFrZSBzdXJlIGl0IHJlbWFpbnMgZnJlZQpzb2Z0d2FyZSBmb3IgYWxsIGl0cyB1c2Vycy4gIFdlLCB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCB1c2UgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3N0IG9mIG91ciBzb2Z0d2FyZTsgaXQgYXBwbGllcyBhbHNvIHRvCmFueSBvdGhlciB3b3JrIHJlbGVhc2VkIHRoaXMgd2F5IGJ5IGl0cyBhdXRob3JzLiAgWW91IGNhbiBhcHBseSBpdCB0bwp5b3VyIHByb2dyYW1zLCB0b28uCgogIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QKcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQpoYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UgZm9yCnRoZW0gaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQgaWYgeW91CndhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQgaW4gbmV3CmZyZWUgcHJvZ3JhbXMsIGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLgoKICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIHByZXZlbnQgb3RoZXJzIGZyb20gZGVueWluZyB5b3UKdGhlc2UgcmlnaHRzIG9yIGFza2luZyB5b3UgdG8gc3VycmVuZGVyIHRoZSByaWdodHMuICBUaGVyZWZvcmUsIHlvdSBoYXZlCmNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIHNvZnR3YXJlLCBvciBpZgp5b3UgbW9kaWZ5IGl0OiByZXNwb25zaWJpbGl0aWVzIHRvIHJlc3BlY3QgdGhlIGZyZWVkb20gb2Ygb3RoZXJzLgoKICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyCmdyYXRpcyBvciBmb3IgYSBmZWUsIHlvdSBtdXN0IHBhc3Mgb24gdG8gdGhlIHJlY2lwaWVudHMgdGhlIHNhbWUKZnJlZWRvbXMgdGhhdCB5b3UgcmVjZWl2ZWQuICBZb3UgbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUKb3IgY2FuIGdldCB0aGUgc291cmNlIGNvZGUuICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkKa25vdyB0aGVpciByaWdodHMuCgogIERldmVsb3BlcnMgdGhhdCB1c2UgdGhlIEdOVSBHUEwgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIHR3byBzdGVwczoKKDEpIGFzc2VydCBjb3B5cmlnaHQgb24gdGhlIHNvZnR3YXJlLCBhbmQgKDIpIG9mZmVyIHlvdSB0aGlzIExpY2Vuc2UKZ2l2aW5nIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSBpdC4KCiAgRm9yIHRoZSBkZXZlbG9wZXJzJyBhbmQgYXV0aG9ycycgcHJvdGVjdGlvbiwgdGhlIEdQTCBjbGVhcmx5IGV4cGxhaW5zCnRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoaXMgZnJlZSBzb2Z0d2FyZS4gIEZvciBib3RoIHVzZXJzJyBhbmQKYXV0aG9ycycgc2FrZSwgdGhlIEdQTCByZXF1aXJlcyB0aGF0IG1vZGlmaWVkIHZlcnNpb25zIGJlIG1hcmtlZCBhcwpjaGFuZ2VkLCBzbyB0aGF0IHRoZWlyIHByb2JsZW1zIHdpbGwgbm90IGJlIGF0dHJpYnV0ZWQgZXJyb25lb3VzbHkgdG8KYXV0aG9ycyBvZiBwcmV2aW91cyB2ZXJzaW9ucy4KCiAgU29tZSBkZXZpY2VzIGFyZSBkZXNpZ25lZCB0byBkZW55IHVzZXJzIGFjY2VzcyB0byBpbnN0YWxsIG9yIHJ1bgptb2RpZmllZCB2ZXJzaW9ucyBvZiB0aGUgc29mdHdhcmUgaW5zaWRlIHRoZW0sIGFsdGhvdWdoIHRoZSBtYW51ZmFjdHVyZXIKY2FuIGRvIHNvLiAgVGhpcyBpcyBmdW5kYW1lbnRhbGx5IGluY29tcGF0aWJsZSB3aXRoIHRoZSBhaW0gb2YKcHJvdGVjdGluZyB1c2VycycgZnJlZWRvbSB0byBjaGFuZ2UgdGhlIHNvZnR3YXJlLiAgVGhlIHN5c3RlbWF0aWMKcGF0dGVybiBvZiBzdWNoIGFidXNlIG9jY3VycyBpbiB0aGUgYXJlYSBvZiBwcm9kdWN0cyBmb3IgaW5kaXZpZHVhbHMgdG8KdXNlLCB3aGljaCBpcyBwcmVjaXNlbHkgd2hlcmUgaXQgaXMgbW9zdCB1bmFjY2VwdGFibGUuICBUaGVyZWZvcmUsIHdlCmhhdmUgZGVzaWduZWQgdGhpcyB2ZXJzaW9uIG9mIHRoZSBHUEwgdG8gcHJvaGliaXQgdGhlIHByYWN0aWNlIGZvciB0aG9zZQpwcm9kdWN0cy4gIElmIHN1Y2ggcHJvYmxlbXMgYXJpc2Ugc3Vic3RhbnRpYWxseSBpbiBvdGhlciBkb21haW5zLCB3ZQpzdGFuZCByZWFkeSB0byBleHRlbmQgdGhpcyBwcm92aXNpb24gdG8gdGhvc2UgZG9tYWlucyBpbiBmdXR1cmUgdmVyc2lvbnMKb2YgdGhlIEdQTCwgYXMgbmVlZGVkIHRvIHByb3RlY3QgdGhlIGZyZWVkb20gb2YgdXNlcnMuCgogIEZpbmFsbHksIGV2ZXJ5IHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlIHBhdGVudHMuClN0YXRlcyBzaG91bGQgbm90IGFsbG93IHBhdGVudHMgdG8gcmVzdHJpY3QgZGV2ZWxvcG1lbnQgYW5kIHVzZSBvZgpzb2Z0d2FyZSBvbiBnZW5lcmFsLXB1cnBvc2UgY29tcHV0ZXJzLCBidXQgaW4gdGhvc2UgdGhhdCBkbywgd2Ugd2lzaCB0bwphdm9pZCB0aGUgc3BlY2lhbCBkYW5nZXIgdGhhdCBwYXRlbnRzIGFwcGxpZWQgdG8gYSBmcmVlIHByb2dyYW0gY291bGQKbWFrZSBpdCBlZmZlY3RpdmVseSBwcm9wcmlldGFyeS4gIFRvIHByZXZlbnQgdGhpcywgdGhlIEdQTCBhc3N1cmVzIHRoYXQKcGF0ZW50cyBjYW5ub3QgYmUgdXNlZCB0byByZW5kZXIgdGhlIHByb2dyYW0gbm9uLWZyZWUuCgogIFRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kCm1vZGlmaWNhdGlvbiBmb2xsb3cuCgogICAgICAgICAgICAgICAgICAgICAgIFRFUk1TIEFORCBDT05ESVRJT05TCgogIDAuIERlZmluaXRpb25zLgoKICAiVGhpcyBMaWNlbnNlIiByZWZlcnMgdG8gdmVyc2lvbiAzIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KCiAgIkNvcHlyaWdodCIgYWxzbyBtZWFucyBjb3B5cmlnaHQtbGlrZSBsYXdzIHRoYXQgYXBwbHkgdG8gb3RoZXIga2luZHMgb2YKd29ya3MsIHN1Y2ggYXMgc2VtaWNvbmR1Y3RvciBtYXNrcy4KCiAgIlRoZSBQcm9ncmFtIiByZWZlcnMgdG8gYW55IGNvcHlyaWdodGFibGUgd29yayBsaWNlbnNlZCB1bmRlciB0aGlzCkxpY2Vuc2UuICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4gICJMaWNlbnNlZXMiIGFuZAoicmVjaXBpZW50cyIgbWF5IGJlIGluZGl2aWR1YWxzIG9yIG9yZ2FuaXphdGlvbnMuCgogIFRvICJtb2RpZnkiIGEgd29yayBtZWFucyB0byBjb3B5IGZyb20gb3IgYWRhcHQgYWxsIG9yIHBhcnQgb2YgdGhlIHdvcmsKaW4gYSBmYXNoaW9uIHJlcXVpcmluZyBjb3B5cmlnaHQgcGVybWlzc2lvbiwgb3RoZXIgdGhhbiB0aGUgbWFraW5nIG9mIGFuCmV4YWN0IGNvcHkuICBUaGUgcmVzdWx0aW5nIHdvcmsgaXMgY2FsbGVkIGEgIm1vZGlmaWVkIHZlcnNpb24iIG9mIHRoZQplYXJsaWVyIHdvcmsgb3IgYSB3b3JrICJiYXNlZCBvbiIgdGhlIGVhcmxpZXIgd29yay4KCiAgQSAiY292ZXJlZCB3b3JrIiBtZWFucyBlaXRoZXIgdGhlIHVubW9kaWZpZWQgUHJvZ3JhbSBvciBhIHdvcmsgYmFzZWQKb24gdGhlIFByb2dyYW0uCgogIFRvICJwcm9wYWdhdGUiIGEgd29yayBtZWFucyB0byBkbyBhbnl0aGluZyB3aXRoIGl0IHRoYXQsIHdpdGhvdXQKcGVybWlzc2lvbiwgd291bGQgbWFrZSB5b3UgZGlyZWN0bHkgb3Igc2Vjb25kYXJpbHkgbGlhYmxlIGZvcgppbmZyaW5nZW1lbnQgdW5kZXIgYXBwbGljYWJsZSBjb3B5cmlnaHQgbGF3LCBleGNlcHQgZXhlY3V0aW5nIGl0IG9uIGEKY29tcHV0ZXIgb3IgbW9kaWZ5aW5nIGEgcHJpdmF0ZSBjb3B5LiAgUHJvcGFnYXRpb24gaW5jbHVkZXMgY29weWluZywKZGlzdHJpYnV0aW9uICh3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uKSwgbWFraW5nIGF2YWlsYWJsZSB0byB0aGUKcHVibGljLCBhbmQgaW4gc29tZSBjb3VudHJpZXMgb3RoZXIgYWN0aXZpdGllcyBhcyB3ZWxsLgoKICBUbyAiY29udmV5IiBhIHdvcmsgbWVhbnMgYW55IGtpbmQgb2YgcHJvcGFnYXRpb24gdGhhdCBlbmFibGVzIG90aGVyCnBhcnRpZXMgdG8gbWFrZSBvciByZWNlaXZlIGNvcGllcy4gIE1lcmUgaW50ZXJhY3Rpb24gd2l0aCBhIHVzZXIgdGhyb3VnaAphIGNvbXB1dGVyIG5ldHdvcmssIHdpdGggbm8gdHJhbnNmZXIgb2YgYSBjb3B5LCBpcyBub3QgY29udmV5aW5nLgoKICBBbiBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZSBkaXNwbGF5cyAiQXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlcyIKdG8gdGhlIGV4dGVudCB0aGF0IGl0IGluY2x1ZGVzIGEgY29udmVuaWVudCBhbmQgcHJvbWluZW50bHkgdmlzaWJsZQpmZWF0dXJlIHRoYXQgKDEpIGRpc3BsYXlzIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UsIGFuZCAoMikKdGVsbHMgdGhlIHVzZXIgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhlIHdvcmsgKGV4Y2VwdCB0byB0aGUKZXh0ZW50IHRoYXQgd2FycmFudGllcyBhcmUgcHJvdmlkZWQpLCB0aGF0IGxpY2Vuc2VlcyBtYXkgY29udmV5IHRoZQp3b3JrIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIGhvdyB0byB2aWV3IGEgY29weSBvZiB0aGlzIExpY2Vuc2UuICBJZgp0aGUgaW50ZXJmYWNlIHByZXNlbnRzIGEgbGlzdCBvZiB1c2VyIGNvbW1hbmRzIG9yIG9wdGlvbnMsIHN1Y2ggYXMgYQptZW51LCBhIHByb21pbmVudCBpdGVtIGluIHRoZSBsaXN0IG1lZXRzIHRoaXMgY3JpdGVyaW9uLgoKICAxLiBTb3VyY2UgQ29kZS4KCiAgVGhlICJzb3VyY2UgY29kZSIgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsKZm9yIG1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgIk9iamVjdCBjb2RlIiBtZWFucyBhbnkgbm9uLXNvdXJjZQpmb3JtIG9mIGEgd29yay4KCiAgQSAiU3RhbmRhcmQgSW50ZXJmYWNlIiBtZWFucyBhbiBpbnRlcmZhY2UgdGhhdCBlaXRoZXIgaXMgYW4gb2ZmaWNpYWwKc3RhbmRhcmQgZGVmaW5lZCBieSBhIHJlY29nbml6ZWQgc3RhbmRhcmRzIGJvZHksIG9yLCBpbiB0aGUgY2FzZSBvZgppbnRlcmZhY2VzIHNwZWNpZmllZCBmb3IgYSBwYXJ0aWN1bGFyIHByb2dyYW1taW5nIGxhbmd1YWdlLCBvbmUgdGhhdAppcyB3aWRlbHkgdXNlZCBhbW9uZyBkZXZlbG9wZXJzIHdvcmtpbmcgaW4gdGhhdCBsYW5ndWFnZS4KCiAgVGhlICJTeXN0ZW0gTGlicmFyaWVzIiBvZiBhbiBleGVjdXRhYmxlIHdvcmsgaW5jbHVkZSBhbnl0aGluZywgb3RoZXIKdGhhbiB0aGUgd29yayBhcyBhIHdob2xlLCB0aGF0IChhKSBpcyBpbmNsdWRlZCBpbiB0aGUgbm9ybWFsIGZvcm0gb2YKcGFja2FnaW5nIGEgTWFqb3IgQ29tcG9uZW50LCBidXQgd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhhdCBNYWpvcgpDb21wb25lbnQsIGFuZCAoYikgc2VydmVzIG9ubHkgdG8gZW5hYmxlIHVzZSBvZiB0aGUgd29yayB3aXRoIHRoYXQKTWFqb3IgQ29tcG9uZW50LCBvciB0byBpbXBsZW1lbnQgYSBTdGFuZGFyZCBJbnRlcmZhY2UgZm9yIHdoaWNoIGFuCmltcGxlbWVudGF0aW9uIGlzIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluIHNvdXJjZSBjb2RlIGZvcm0uICBBCiJNYWpvciBDb21wb25lbnQiLCBpbiB0aGlzIGNvbnRleHQsIG1lYW5zIGEgbWFqb3IgZXNzZW50aWFsIGNvbXBvbmVudAooa2VybmVsLCB3aW5kb3cgc3lzdGVtLCBhbmQgc28gb24pIG9mIHRoZSBzcGVjaWZpYyBvcGVyYXRpbmcgc3lzdGVtCihpZiBhbnkpIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHdvcmsgcnVucywgb3IgYSBjb21waWxlciB1c2VkIHRvCnByb2R1Y2UgdGhlIHdvcmssIG9yIGFuIG9iamVjdCBjb2RlIGludGVycHJldGVyIHVzZWQgdG8gcnVuIGl0LgoKICBUaGUgIkNvcnJlc3BvbmRpbmcgU291cmNlIiBmb3IgYSB3b3JrIGluIG9iamVjdCBjb2RlIGZvcm0gbWVhbnMgYWxsCnRoZSBzb3VyY2UgY29kZSBuZWVkZWQgdG8gZ2VuZXJhdGUsIGluc3RhbGwsIGFuZCAoZm9yIGFuIGV4ZWN1dGFibGUKd29yaykgcnVuIHRoZSBvYmplY3QgY29kZSBhbmQgdG8gbW9kaWZ5IHRoZSB3b3JrLCBpbmNsdWRpbmcgc2NyaXB0cyB0bwpjb250cm9sIHRob3NlIGFjdGl2aXRpZXMuICBIb3dldmVyLCBpdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB3b3JrJ3MKU3lzdGVtIExpYnJhcmllcywgb3IgZ2VuZXJhbC1wdXJwb3NlIHRvb2xzIG9yIGdlbmVyYWxseSBhdmFpbGFibGUgZnJlZQpwcm9ncmFtcyB3aGljaCBhcmUgdXNlZCB1bm1vZGlmaWVkIGluIHBlcmZvcm1pbmcgdGhvc2UgYWN0aXZpdGllcyBidXQKd2hpY2ggYXJlIG5vdCBwYXJ0IG9mIHRoZSB3b3JrLiAgRm9yIGV4YW1wbGUsIENvcnJlc3BvbmRpbmcgU291cmNlCmluY2x1ZGVzIGludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCBzb3VyY2UgZmlsZXMgZm9yCnRoZSB3b3JrLCBhbmQgdGhlIHNvdXJjZSBjb2RlIGZvciBzaGFyZWQgbGlicmFyaWVzIGFuZCBkeW5hbWljYWxseQpsaW5rZWQgc3VicHJvZ3JhbXMgdGhhdCB0aGUgd29yayBpcyBzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gcmVxdWlyZSwKc3VjaCBhcyBieSBpbnRpbWF0ZSBkYXRhIGNvbW11bmljYXRpb24gb3IgY29udHJvbCBmbG93IGJldHdlZW4gdGhvc2UKc3VicHJvZ3JhbXMgYW5kIG90aGVyIHBhcnRzIG9mIHRoZSB3b3JrLgoKICBUaGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IHVzZXJzCmNhbiByZWdlbmVyYXRlIGF1dG9tYXRpY2FsbHkgZnJvbSBvdGhlciBwYXJ0cyBvZiB0aGUgQ29ycmVzcG9uZGluZwpTb3VyY2UuCgogIFRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBmb3IgYSB3b3JrIGluIHNvdXJjZSBjb2RlIGZvcm0gaXMgdGhhdApzYW1lIHdvcmsuCgogIDIuIEJhc2ljIFBlcm1pc3Npb25zLgoKICBBbGwgcmlnaHRzIGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlIGFyZSBncmFudGVkIGZvciB0aGUgdGVybSBvZgpjb3B5cmlnaHQgb24gdGhlIFByb2dyYW0sIGFuZCBhcmUgaXJyZXZvY2FibGUgcHJvdmlkZWQgdGhlIHN0YXRlZApjb25kaXRpb25zIGFyZSBtZXQuICBUaGlzIExpY2Vuc2UgZXhwbGljaXRseSBhZmZpcm1zIHlvdXIgdW5saW1pdGVkCnBlcm1pc3Npb24gdG8gcnVuIHRoZSB1bm1vZGlmaWVkIFByb2dyYW0uICBUaGUgb3V0cHV0IGZyb20gcnVubmluZyBhCmNvdmVyZWQgd29yayBpcyBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSBvbmx5IGlmIHRoZSBvdXRwdXQsIGdpdmVuIGl0cwpjb250ZW50LCBjb25zdGl0dXRlcyBhIGNvdmVyZWQgd29yay4gIFRoaXMgTGljZW5zZSBhY2tub3dsZWRnZXMgeW91cgpyaWdodHMgb2YgZmFpciB1c2Ugb3Igb3RoZXIgZXF1aXZhbGVudCwgYXMgcHJvdmlkZWQgYnkgY29weXJpZ2h0IGxhdy4KCiAgWW91IG1heSBtYWtlLCBydW4gYW5kIHByb3BhZ2F0ZSBjb3ZlcmVkIHdvcmtzIHRoYXQgeW91IGRvIG5vdApjb252ZXksIHdpdGhvdXQgY29uZGl0aW9ucyBzbyBsb25nIGFzIHlvdXIgbGljZW5zZSBvdGhlcndpc2UgcmVtYWlucwppbiBmb3JjZS4gIFlvdSBtYXkgY29udmV5IGNvdmVyZWQgd29ya3MgdG8gb3RoZXJzIGZvciB0aGUgc29sZSBwdXJwb3NlCm9mIGhhdmluZyB0aGVtIG1ha2UgbW9kaWZpY2F0aW9ucyBleGNsdXNpdmVseSBmb3IgeW91LCBvciBwcm92aWRlIHlvdQp3aXRoIGZhY2lsaXRpZXMgZm9yIHJ1bm5pbmcgdGhvc2Ugd29ya3MsIHByb3ZpZGVkIHRoYXQgeW91IGNvbXBseSB3aXRoCnRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UgaW4gY29udmV5aW5nIGFsbCBtYXRlcmlhbCBmb3Igd2hpY2ggeW91IGRvCm5vdCBjb250cm9sIGNvcHlyaWdodC4gIFRob3NlIHRodXMgbWFraW5nIG9yIHJ1bm5pbmcgdGhlIGNvdmVyZWQgd29ya3MKZm9yIHlvdSBtdXN0IGRvIHNvIGV4Y2x1c2l2ZWx5IG9uIHlvdXIgYmVoYWxmLCB1bmRlciB5b3VyIGRpcmVjdGlvbgphbmQgY29udHJvbCwgb24gdGVybXMgdGhhdCBwcm9oaWJpdCB0aGVtIGZyb20gbWFraW5nIGFueSBjb3BpZXMgb2YKeW91ciBjb3B5cmlnaHRlZCBtYXRlcmlhbCBvdXRzaWRlIHRoZWlyIHJlbGF0aW9uc2hpcCB3aXRoIHlvdS4KCiAgQ29udmV5aW5nIHVuZGVyIGFueSBvdGhlciBjaXJjdW1zdGFuY2VzIGlzIHBlcm1pdHRlZCBzb2xlbHkgdW5kZXIKdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGJlbG93LiAgU3VibGljZW5zaW5nIGlzIG5vdCBhbGxvd2VkOyBzZWN0aW9uIDEwCm1ha2VzIGl0IHVubmVjZXNzYXJ5LgoKICAzLiBQcm90ZWN0aW5nIFVzZXJzJyBMZWdhbCBSaWdodHMgRnJvbSBBbnRpLUNpcmN1bXZlbnRpb24gTGF3LgoKICBObyBjb3ZlcmVkIHdvcmsgc2hhbGwgYmUgZGVlbWVkIHBhcnQgb2YgYW4gZWZmZWN0aXZlIHRlY2hub2xvZ2ljYWwKbWVhc3VyZSB1bmRlciBhbnkgYXBwbGljYWJsZSBsYXcgZnVsZmlsbGluZyBvYmxpZ2F0aW9ucyB1bmRlciBhcnRpY2xlCjExIG9mIHRoZSBXSVBPIGNvcHlyaWdodCB0cmVhdHkgYWRvcHRlZCBvbiAyMCBEZWNlbWJlciAxOTk2LCBvcgpzaW1pbGFyIGxhd3MgcHJvaGliaXRpbmcgb3IgcmVzdHJpY3RpbmcgY2lyY3VtdmVudGlvbiBvZiBzdWNoCm1lYXN1cmVzLgoKICBXaGVuIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIHlvdSB3YWl2ZSBhbnkgbGVnYWwgcG93ZXIgdG8gZm9yYmlkCmNpcmN1bXZlbnRpb24gb2YgdGVjaG5vbG9naWNhbCBtZWFzdXJlcyB0byB0aGUgZXh0ZW50IHN1Y2ggY2lyY3VtdmVudGlvbgppcyBlZmZlY3RlZCBieSBleGVyY2lzaW5nIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2Ugd2l0aCByZXNwZWN0IHRvCnRoZSBjb3ZlcmVkIHdvcmssIGFuZCB5b3UgZGlzY2xhaW0gYW55IGludGVudGlvbiB0byBsaW1pdCBvcGVyYXRpb24gb3IKbW9kaWZpY2F0aW9uIG9mIHRoZSB3b3JrIGFzIGEgbWVhbnMgb2YgZW5mb3JjaW5nLCBhZ2FpbnN0IHRoZSB3b3JrJ3MKdXNlcnMsIHlvdXIgb3IgdGhpcmQgcGFydGllcycgbGVnYWwgcmlnaHRzIHRvIGZvcmJpZCBjaXJjdW12ZW50aW9uIG9mCnRlY2hub2xvZ2ljYWwgbWVhc3VyZXMuCgogIDQuIENvbnZleWluZyBWZXJiYXRpbSBDb3BpZXMuCgogIFlvdSBtYXkgY29udmV5IHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzIHNvdXJjZSBjb2RlIGFzIHlvdQpyZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0IHlvdSBjb25zcGljdW91c2x5IGFuZAphcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2U7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIHN0YXRpbmcgdGhhdCB0aGlzIExpY2Vuc2UgYW5kIGFueQpub24tcGVybWlzc2l2ZSB0ZXJtcyBhZGRlZCBpbiBhY2NvcmQgd2l0aCBzZWN0aW9uIDcgYXBwbHkgdG8gdGhlIGNvZGU7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIG9mIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsgYW5kIGdpdmUgYWxsCnJlY2lwaWVudHMgYSBjb3B5IG9mIHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBQcm9ncmFtLgoKICBZb3UgbWF5IGNoYXJnZSBhbnkgcHJpY2Ugb3Igbm8gcHJpY2UgZm9yIGVhY2ggY29weSB0aGF0IHlvdSBjb252ZXksCmFuZCB5b3UgbWF5IG9mZmVyIHN1cHBvcnQgb3Igd2FycmFudHkgcHJvdGVjdGlvbiBmb3IgYSBmZWUuCgogIDUuIENvbnZleWluZyBNb2RpZmllZCBTb3VyY2UgVmVyc2lvbnMuCgogIFlvdSBtYXkgY29udmV5IGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgb3IgdGhlIG1vZGlmaWNhdGlvbnMgdG8KcHJvZHVjZSBpdCBmcm9tIHRoZSBQcm9ncmFtLCBpbiB0aGUgZm9ybSBvZiBzb3VyY2UgY29kZSB1bmRlciB0aGUKdGVybXMgb2Ygc2VjdGlvbiA0LCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CgogICAgYSkgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgeW91IG1vZGlmaWVkCiAgICBpdCwgYW5kIGdpdmluZyBhIHJlbGV2YW50IGRhdGUuCgogICAgYikgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgaXQgaXMKICAgIHJlbGVhc2VkIHVuZGVyIHRoaXMgTGljZW5zZSBhbmQgYW55IGNvbmRpdGlvbnMgYWRkZWQgdW5kZXIgc2VjdGlvbgogICAgNy4gIFRoaXMgcmVxdWlyZW1lbnQgbW9kaWZpZXMgdGhlIHJlcXVpcmVtZW50IGluIHNlY3Rpb24gNCB0bwogICAgImtlZXAgaW50YWN0IGFsbCBub3RpY2VzIi4KCiAgICBjKSBZb3UgbXVzdCBsaWNlbnNlIHRoZSBlbnRpcmUgd29yaywgYXMgYSB3aG9sZSwgdW5kZXIgdGhpcwogICAgTGljZW5zZSB0byBhbnlvbmUgd2hvIGNvbWVzIGludG8gcG9zc2Vzc2lvbiBvZiBhIGNvcHkuICBUaGlzCiAgICBMaWNlbnNlIHdpbGwgdGhlcmVmb3JlIGFwcGx5LCBhbG9uZyB3aXRoIGFueSBhcHBsaWNhYmxlIHNlY3Rpb24gNwogICAgYWRkaXRpb25hbCB0ZXJtcywgdG8gdGhlIHdob2xlIG9mIHRoZSB3b3JrLCBhbmQgYWxsIGl0cyBwYXJ0cywKICAgIHJlZ2FyZGxlc3Mgb2YgaG93IHRoZXkgYXJlIHBhY2thZ2VkLiAgVGhpcyBMaWNlbnNlIGdpdmVzIG5vCiAgICBwZXJtaXNzaW9uIHRvIGxpY2Vuc2UgdGhlIHdvcmsgaW4gYW55IG90aGVyIHdheSwgYnV0IGl0IGRvZXMgbm90CiAgICBpbnZhbGlkYXRlIHN1Y2ggcGVybWlzc2lvbiBpZiB5b3UgaGF2ZSBzZXBhcmF0ZWx5IHJlY2VpdmVkIGl0LgoKICAgIGQpIElmIHRoZSB3b3JrIGhhcyBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZXMsIGVhY2ggbXVzdCBkaXNwbGF5CiAgICBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzOyBob3dldmVyLCBpZiB0aGUgUHJvZ3JhbSBoYXMgaW50ZXJhY3RpdmUKICAgIGludGVyZmFjZXMgdGhhdCBkbyBub3QgZGlzcGxheSBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzLCB5b3VyCiAgICB3b3JrIG5lZWQgbm90IG1ha2UgdGhlbSBkbyBzby4KCiAgQSBjb21waWxhdGlvbiBvZiBhIGNvdmVyZWQgd29yayB3aXRoIG90aGVyIHNlcGFyYXRlIGFuZCBpbmRlcGVuZGVudAp3b3Jrcywgd2hpY2ggYXJlIG5vdCBieSB0aGVpciBuYXR1cmUgZXh0ZW5zaW9ucyBvZiB0aGUgY292ZXJlZCB3b3JrLAphbmQgd2hpY2ggYXJlIG5vdCBjb21iaW5lZCB3aXRoIGl0IHN1Y2ggYXMgdG8gZm9ybSBhIGxhcmdlciBwcm9ncmFtLAppbiBvciBvbiBhIHZvbHVtZSBvZiBhIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSwgaXMgY2FsbGVkIGFuCiJhZ2dyZWdhdGUiIGlmIHRoZSBjb21waWxhdGlvbiBhbmQgaXRzIHJlc3VsdGluZyBjb3B5cmlnaHQgYXJlIG5vdAp1c2VkIHRvIGxpbWl0IHRoZSBhY2Nlc3Mgb3IgbGVnYWwgcmlnaHRzIG9mIHRoZSBjb21waWxhdGlvbidzIHVzZXJzCmJleW9uZCB3aGF0IHRoZSBpbmRpdmlkdWFsIHdvcmtzIHBlcm1pdC4gIEluY2x1c2lvbiBvZiBhIGNvdmVyZWQgd29yawppbiBhbiBhZ2dyZWdhdGUgZG9lcyBub3QgY2F1c2UgdGhpcyBMaWNlbnNlIHRvIGFwcGx5IHRvIHRoZSBvdGhlcgpwYXJ0cyBvZiB0aGUgYWdncmVnYXRlLgoKICA2LiBDb252ZXlpbmcgTm9uLVNvdXJjZSBGb3Jtcy4KCiAgWW91IG1heSBjb252ZXkgYSBjb3ZlcmVkIHdvcmsgaW4gb2JqZWN0IGNvZGUgZm9ybSB1bmRlciB0aGUgdGVybXMKb2Ygc2VjdGlvbnMgNCBhbmQgNSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBjb252ZXkgdGhlCm1hY2hpbmUtcmVhZGFibGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSwKaW4gb25lIG9mIHRoZXNlIHdheXM6CgogICAgYSkgQ29udmV5IHRoZSBvYmplY3QgY29kZSBpbiwgb3IgZW1ib2RpZWQgaW4sIGEgcGh5c2ljYWwgcHJvZHVjdAogICAgKGluY2x1ZGluZyBhIHBoeXNpY2FsIGRpc3RyaWJ1dGlvbiBtZWRpdW0pLCBhY2NvbXBhbmllZCBieSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGZpeGVkIG9uIGEgZHVyYWJsZSBwaHlzaWNhbCBtZWRpdW0KICAgIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLgoKICAgIGIpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgaW4sIG9yIGVtYm9kaWVkIGluLCBhIHBoeXNpY2FsIHByb2R1Y3QKICAgIChpbmNsdWRpbmcgYSBwaHlzaWNhbCBkaXN0cmlidXRpb24gbWVkaXVtKSwgYWNjb21wYW5pZWQgYnkgYQogICAgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9yIGF0IGxlYXN0IHRocmVlIHllYXJzIGFuZCB2YWxpZCBmb3IgYXMKICAgIGxvbmcgYXMgeW91IG9mZmVyIHNwYXJlIHBhcnRzIG9yIGN1c3RvbWVyIHN1cHBvcnQgZm9yIHRoYXQgcHJvZHVjdAogICAgbW9kZWwsIHRvIGdpdmUgYW55b25lIHdobyBwb3NzZXNzZXMgdGhlIG9iamVjdCBjb2RlIGVpdGhlciAoMSkgYQogICAgY29weSBvZiB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZm9yIGFsbCB0aGUgc29mdHdhcmUgaW4gdGhlCiAgICBwcm9kdWN0IHRoYXQgaXMgY292ZXJlZCBieSB0aGlzIExpY2Vuc2UsIG9uIGEgZHVyYWJsZSBwaHlzaWNhbAogICAgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLCBmb3IgYSBwcmljZSBubwogICAgbW9yZSB0aGFuIHlvdXIgcmVhc29uYWJsZSBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyB0aGlzCiAgICBjb252ZXlpbmcgb2Ygc291cmNlLCBvciAoMikgYWNjZXNzIHRvIGNvcHkgdGhlCiAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBmcm9tIGEgbmV0d29yayBzZXJ2ZXIgYXQgbm8gY2hhcmdlLgoKICAgIGMpIENvbnZleSBpbmRpdmlkdWFsIGNvcGllcyBvZiB0aGUgb2JqZWN0IGNvZGUgd2l0aCBhIGNvcHkgb2YgdGhlCiAgICB3cml0dGVuIG9mZmVyIHRvIHByb3ZpZGUgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhpcwogICAgYWx0ZXJuYXRpdmUgaXMgYWxsb3dlZCBvbmx5IG9jY2FzaW9uYWxseSBhbmQgbm9uY29tbWVyY2lhbGx5LCBhbmQKICAgIG9ubHkgaWYgeW91IHJlY2VpdmVkIHRoZSBvYmplY3QgY29kZSB3aXRoIHN1Y2ggYW4gb2ZmZXIsIGluIGFjY29yZAogICAgd2l0aCBzdWJzZWN0aW9uIDZiLgoKICAgIGQpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIGZyb20gYSBkZXNpZ25hdGVkCiAgICBwbGFjZSAoZ3JhdGlzIG9yIGZvciBhIGNoYXJnZSksIGFuZCBvZmZlciBlcXVpdmFsZW50IGFjY2VzcyB0byB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGluIHRoZSBzYW1lIHdheSB0aHJvdWdoIHRoZSBzYW1lIHBsYWNlIGF0IG5vCiAgICBmdXJ0aGVyIGNoYXJnZS4gIFlvdSBuZWVkIG5vdCByZXF1aXJlIHJlY2lwaWVudHMgdG8gY29weSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLiAgSWYgdGhlIHBsYWNlIHRvCiAgICBjb3B5IHRoZSBvYmplY3QgY29kZSBpcyBhIG5ldHdvcmsgc2VydmVyLCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UKICAgIG1heSBiZSBvbiBhIGRpZmZlcmVudCBzZXJ2ZXIgKG9wZXJhdGVkIGJ5IHlvdSBvciBhIHRoaXJkIHBhcnR5KQogICAgdGhhdCBzdXBwb3J0cyBlcXVpdmFsZW50IGNvcHlpbmcgZmFjaWxpdGllcywgcHJvdmlkZWQgeW91IG1haW50YWluCiAgICBjbGVhciBkaXJlY3Rpb25zIG5leHQgdG8gdGhlIG9iamVjdCBjb2RlIHNheWluZyB3aGVyZSB0byBmaW5kIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UuICBSZWdhcmRsZXNzIG9mIHdoYXQgc2VydmVyIGhvc3RzIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UsIHlvdSByZW1haW4gb2JsaWdhdGVkIHRvIGVuc3VyZSB0aGF0IGl0IGlzCiAgICBhdmFpbGFibGUgZm9yIGFzIGxvbmcgYXMgbmVlZGVkIHRvIHNhdGlzZnkgdGhlc2UgcmVxdWlyZW1lbnRzLgoKICAgIGUpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgdXNpbmcgcGVlci10by1wZWVyIHRyYW5zbWlzc2lvbiwgcHJvdmlkZWQKICAgIHlvdSBpbmZvcm0gb3RoZXIgcGVlcnMgd2hlcmUgdGhlIG9iamVjdCBjb2RlIGFuZCBDb3JyZXNwb25kaW5nCiAgICBTb3VyY2Ugb2YgdGhlIHdvcmsgYXJlIGJlaW5nIG9mZmVyZWQgdG8gdGhlIGdlbmVyYWwgcHVibGljIGF0IG5vCiAgICBjaGFyZ2UgdW5kZXIgc3Vic2VjdGlvbiA2ZC4KCiAgQSBzZXBhcmFibGUgcG9ydGlvbiBvZiB0aGUgb2JqZWN0IGNvZGUsIHdob3NlIHNvdXJjZSBjb2RlIGlzIGV4Y2x1ZGVkCmZyb20gdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGFzIGEgU3lzdGVtIExpYnJhcnksIG5lZWQgbm90IGJlCmluY2x1ZGVkIGluIGNvbnZleWluZyB0aGUgb2JqZWN0IGNvZGUgd29yay4KCiAgQSAiVXNlciBQcm9kdWN0IiBpcyBlaXRoZXIgKDEpIGEgImNvbnN1bWVyIHByb2R1Y3QiLCB3aGljaCBtZWFucyBhbnkKdGFuZ2libGUgcGVyc29uYWwgcHJvcGVydHkgd2hpY2ggaXMgbm9ybWFsbHkgdXNlZCBmb3IgcGVyc29uYWwsIGZhbWlseSwKb3IgaG91c2Vob2xkIHB1cnBvc2VzLCBvciAoMikgYW55dGhpbmcgZGVzaWduZWQgb3Igc29sZCBmb3IgaW5jb3Jwb3JhdGlvbgppbnRvIGEgZHdlbGxpbmcuICBJbiBkZXRlcm1pbmluZyB3aGV0aGVyIGEgcHJvZHVjdCBpcyBhIGNvbnN1bWVyIHByb2R1Y3QsCmRvdWJ0ZnVsIGNhc2VzIHNoYWxsIGJlIHJlc29sdmVkIGluIGZhdm9yIG9mIGNvdmVyYWdlLiAgRm9yIGEgcGFydGljdWxhcgpwcm9kdWN0IHJlY2VpdmVkIGJ5IGEgcGFydGljdWxhciB1c2VyLCAibm9ybWFsbHkgdXNlZCIgcmVmZXJzIHRvIGEKdHlwaWNhbCBvciBjb21tb24gdXNlIG9mIHRoYXQgY2xhc3Mgb2YgcHJvZHVjdCwgcmVnYXJkbGVzcyBvZiB0aGUgc3RhdHVzCm9mIHRoZSBwYXJ0aWN1bGFyIHVzZXIgb3Igb2YgdGhlIHdheSBpbiB3aGljaCB0aGUgcGFydGljdWxhciB1c2VyCmFjdHVhbGx5IHVzZXMsIG9yIGV4cGVjdHMgb3IgaXMgZXhwZWN0ZWQgdG8gdXNlLCB0aGUgcHJvZHVjdC4gIEEgcHJvZHVjdAppcyBhIGNvbnN1bWVyIHByb2R1Y3QgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBwcm9kdWN0IGhhcyBzdWJzdGFudGlhbApjb21tZXJjaWFsLCBpbmR1c3RyaWFsIG9yIG5vbi1jb25zdW1lciB1c2VzLCB1bmxlc3Mgc3VjaCB1c2VzIHJlcHJlc2VudAp0aGUgb25seSBzaWduaWZpY2FudCBtb2RlIG9mIHVzZSBvZiB0aGUgcHJvZHVjdC4KCiAgIkluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiIgZm9yIGEgVXNlciBQcm9kdWN0IG1lYW5zIGFueSBtZXRob2RzLApwcm9jZWR1cmVzLCBhdXRob3JpemF0aW9uIGtleXMsIG9yIG90aGVyIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIGluc3RhbGwKYW5kIGV4ZWN1dGUgbW9kaWZpZWQgdmVyc2lvbnMgb2YgYSBjb3ZlcmVkIHdvcmsgaW4gdGhhdCBVc2VyIFByb2R1Y3QgZnJvbQphIG1vZGlmaWVkIHZlcnNpb24gb2YgaXRzIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhlIGluZm9ybWF0aW9uIG11c3QKc3VmZmljZSB0byBlbnN1cmUgdGhhdCB0aGUgY29udGludWVkIGZ1bmN0aW9uaW5nIG9mIHRoZSBtb2RpZmllZCBvYmplY3QKY29kZSBpcyBpbiBubyBjYXNlIHByZXZlbnRlZCBvciBpbnRlcmZlcmVkIHdpdGggc29sZWx5IGJlY2F1c2UKbW9kaWZpY2F0aW9uIGhhcyBiZWVuIG1hZGUuCgogIElmIHlvdSBjb252ZXkgYW4gb2JqZWN0IGNvZGUgd29yayB1bmRlciB0aGlzIHNlY3Rpb24gaW4sIG9yIHdpdGgsIG9yCnNwZWNpZmljYWxseSBmb3IgdXNlIGluLCBhIFVzZXIgUHJvZHVjdCwgYW5kIHRoZSBjb252ZXlpbmcgb2NjdXJzIGFzCnBhcnQgb2YgYSB0cmFuc2FjdGlvbiBpbiB3aGljaCB0aGUgcmlnaHQgb2YgcG9zc2Vzc2lvbiBhbmQgdXNlIG9mIHRoZQpVc2VyIFByb2R1Y3QgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIHJlY2lwaWVudCBpbiBwZXJwZXR1aXR5IG9yIGZvciBhCmZpeGVkIHRlcm0gKHJlZ2FyZGxlc3Mgb2YgaG93IHRoZSB0cmFuc2FjdGlvbiBpcyBjaGFyYWN0ZXJpemVkKSwgdGhlCkNvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkIHVuZGVyIHRoaXMgc2VjdGlvbiBtdXN0IGJlIGFjY29tcGFuaWVkCmJ5IHRoZSBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24uICBCdXQgdGhpcyByZXF1aXJlbWVudCBkb2VzIG5vdCBhcHBseQppZiBuZWl0aGVyIHlvdSBub3IgYW55IHRoaXJkIHBhcnR5IHJldGFpbnMgdGhlIGFiaWxpdHkgdG8gaW5zdGFsbAptb2RpZmllZCBvYmplY3QgY29kZSBvbiB0aGUgVXNlciBQcm9kdWN0IChmb3IgZXhhbXBsZSwgdGhlIHdvcmsgaGFzCmJlZW4gaW5zdGFsbGVkIGluIFJPTSkuCgogIFRoZSByZXF1aXJlbWVudCB0byBwcm92aWRlIEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiBkb2VzIG5vdCBpbmNsdWRlIGEKcmVxdWlyZW1lbnQgdG8gY29udGludWUgdG8gcHJvdmlkZSBzdXBwb3J0IHNlcnZpY2UsIHdhcnJhbnR5LCBvciB1cGRhdGVzCmZvciBhIHdvcmsgdGhhdCBoYXMgYmVlbiBtb2RpZmllZCBvciBpbnN0YWxsZWQgYnkgdGhlIHJlY2lwaWVudCwgb3IgZm9yCnRoZSBVc2VyIFByb2R1Y3QgaW4gd2hpY2ggaXQgaGFzIGJlZW4gbW9kaWZpZWQgb3IgaW5zdGFsbGVkLiAgQWNjZXNzIHRvIGEKbmV0d29yayBtYXkgYmUgZGVuaWVkIHdoZW4gdGhlIG1vZGlmaWNhdGlvbiBpdHNlbGYgbWF0ZXJpYWxseSBhbmQKYWR2ZXJzZWx5IGFmZmVjdHMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbmV0d29yayBvciB2aW9sYXRlcyB0aGUgcnVsZXMgYW5kCnByb3RvY29scyBmb3IgY29tbXVuaWNhdGlvbiBhY3Jvc3MgdGhlIG5ldHdvcmsuCgogIENvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkLCBhbmQgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uIHByb3ZpZGVkLAppbiBhY2NvcmQgd2l0aCB0aGlzIHNlY3Rpb24gbXVzdCBiZSBpbiBhIGZvcm1hdCB0aGF0IGlzIHB1YmxpY2x5CmRvY3VtZW50ZWQgKGFuZCB3aXRoIGFuIGltcGxlbWVudGF0aW9uIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluCnNvdXJjZSBjb2RlIGZvcm0pLCBhbmQgbXVzdCByZXF1aXJlIG5vIHNwZWNpYWwgcGFzc3dvcmQgb3Iga2V5IGZvcgp1bnBhY2tpbmcsIHJlYWRpbmcgb3IgY29weWluZy4KCiAgNy4gQWRkaXRpb25hbCBUZXJtcy4KCiAgIkFkZGl0aW9uYWwgcGVybWlzc2lvbnMiIGFyZSB0ZXJtcyB0aGF0IHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMKTGljZW5zZSBieSBtYWtpbmcgZXhjZXB0aW9ucyBmcm9tIG9uZSBvciBtb3JlIG9mIGl0cyBjb25kaXRpb25zLgpBZGRpdGlvbmFsIHBlcm1pc3Npb25zIHRoYXQgYXJlIGFwcGxpY2FibGUgdG8gdGhlIGVudGlyZSBQcm9ncmFtIHNoYWxsCmJlIHRyZWF0ZWQgYXMgdGhvdWdoIHRoZXkgd2VyZSBpbmNsdWRlZCBpbiB0aGlzIExpY2Vuc2UsIHRvIHRoZSBleHRlbnQKdGhhdCB0aGV5IGFyZSB2YWxpZCB1bmRlciBhcHBsaWNhYmxlIGxhdy4gIElmIGFkZGl0aW9uYWwgcGVybWlzc2lvbnMKYXBwbHkgb25seSB0byBwYXJ0IG9mIHRoZSBQcm9ncmFtLCB0aGF0IHBhcnQgbWF5IGJlIHVzZWQgc2VwYXJhdGVseQp1bmRlciB0aG9zZSBwZXJtaXNzaW9ucywgYnV0IHRoZSBlbnRpcmUgUHJvZ3JhbSByZW1haW5zIGdvdmVybmVkIGJ5CnRoaXMgTGljZW5zZSB3aXRob3V0IHJlZ2FyZCB0byB0aGUgYWRkaXRpb25hbCBwZXJtaXNzaW9ucy4KCiAgV2hlbiB5b3UgY29udmV5IGEgY29weSBvZiBhIGNvdmVyZWQgd29yaywgeW91IG1heSBhdCB5b3VyIG9wdGlvbgpyZW1vdmUgYW55IGFkZGl0aW9uYWwgcGVybWlzc2lvbnMgZnJvbSB0aGF0IGNvcHksIG9yIGZyb20gYW55IHBhcnQgb2YKaXQuICAoQWRkaXRpb25hbCBwZXJtaXNzaW9ucyBtYXkgYmUgd3JpdHRlbiB0byByZXF1aXJlIHRoZWlyIG93bgpyZW1vdmFsIGluIGNlcnRhaW4gY2FzZXMgd2hlbiB5b3UgbW9kaWZ5IHRoZSB3b3JrLikgIFlvdSBtYXkgcGxhY2UKYWRkaXRpb25hbCBwZXJtaXNzaW9ucyBvbiBtYXRlcmlhbCwgYWRkZWQgYnkgeW91IHRvIGEgY292ZXJlZCB3b3JrLApmb3Igd2hpY2ggeW91IGhhdmUgb3IgY2FuIGdpdmUgYXBwcm9wcmlhdGUgY29weXJpZ2h0IHBlcm1pc3Npb24uCgogIE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSwgZm9yIG1hdGVyaWFsIHlvdQphZGQgdG8gYSBjb3ZlcmVkIHdvcmssIHlvdSBtYXkgKGlmIGF1dGhvcml6ZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXJzIG9mCnRoYXQgbWF0ZXJpYWwpIHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSB3aXRoIHRlcm1zOgoKICAgIGEpIERpc2NsYWltaW5nIHdhcnJhbnR5IG9yIGxpbWl0aW5nIGxpYWJpbGl0eSBkaWZmZXJlbnRseSBmcm9tIHRoZQogICAgdGVybXMgb2Ygc2VjdGlvbnMgMTUgYW5kIDE2IG9mIHRoaXMgTGljZW5zZTsgb3IKCiAgICBiKSBSZXF1aXJpbmcgcHJlc2VydmF0aW9uIG9mIHNwZWNpZmllZCByZWFzb25hYmxlIGxlZ2FsIG5vdGljZXMgb3IKICAgIGF1dGhvciBhdHRyaWJ1dGlvbnMgaW4gdGhhdCBtYXRlcmlhbCBvciBpbiB0aGUgQXBwcm9wcmlhdGUgTGVnYWwKICAgIE5vdGljZXMgZGlzcGxheWVkIGJ5IHdvcmtzIGNvbnRhaW5pbmcgaXQ7IG9yCgogICAgYykgUHJvaGliaXRpbmcgbWlzcmVwcmVzZW50YXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGF0IG1hdGVyaWFsLCBvcgogICAgcmVxdWlyaW5nIHRoYXQgbW9kaWZpZWQgdmVyc2lvbnMgb2Ygc3VjaCBtYXRlcmlhbCBiZSBtYXJrZWQgaW4KICAgIHJlYXNvbmFibGUgd2F5cyBhcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgdmVyc2lvbjsgb3IKCiAgICBkKSBMaW1pdGluZyB0aGUgdXNlIGZvciBwdWJsaWNpdHkgcHVycG9zZXMgb2YgbmFtZXMgb2YgbGljZW5zb3JzIG9yCiAgICBhdXRob3JzIG9mIHRoZSBtYXRlcmlhbDsgb3IKCiAgICBlKSBEZWNsaW5pbmcgdG8gZ3JhbnQgcmlnaHRzIHVuZGVyIHRyYWRlbWFyayBsYXcgZm9yIHVzZSBvZiBzb21lCiAgICB0cmFkZSBuYW1lcywgdHJhZGVtYXJrcywgb3Igc2VydmljZSBtYXJrczsgb3IKCiAgICBmKSBSZXF1aXJpbmcgaW5kZW1uaWZpY2F0aW9uIG9mIGxpY2Vuc29ycyBhbmQgYXV0aG9ycyBvZiB0aGF0CiAgICBtYXRlcmlhbCBieSBhbnlvbmUgd2hvIGNvbnZleXMgdGhlIG1hdGVyaWFsIChvciBtb2RpZmllZCB2ZXJzaW9ucyBvZgogICAgaXQpIHdpdGggY29udHJhY3R1YWwgYXNzdW1wdGlvbnMgb2YgbGlhYmlsaXR5IHRvIHRoZSByZWNpcGllbnQsIGZvcgogICAgYW55IGxpYWJpbGl0eSB0aGF0IHRoZXNlIGNvbnRyYWN0dWFsIGFzc3VtcHRpb25zIGRpcmVjdGx5IGltcG9zZSBvbgogICAgdGhvc2UgbGljZW5zb3JzIGFuZCBhdXRob3JzLgoKICBBbGwgb3RoZXIgbm9uLXBlcm1pc3NpdmUgYWRkaXRpb25hbCB0ZXJtcyBhcmUgY29uc2lkZXJlZCAiZnVydGhlcgpyZXN0cmljdGlvbnMiIHdpdGhpbiB0aGUgbWVhbmluZyBvZiBzZWN0aW9uIDEwLiAgSWYgdGhlIFByb2dyYW0gYXMgeW91CnJlY2VpdmVkIGl0LCBvciBhbnkgcGFydCBvZiBpdCwgY29udGFpbnMgYSBub3RpY2Ugc3RhdGluZyB0aGF0IGl0IGlzCmdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIGEgdGVybSB0aGF0IGlzIGEgZnVydGhlcgpyZXN0cmljdGlvbiwgeW91IG1heSByZW1vdmUgdGhhdCB0ZXJtLiAgSWYgYSBsaWNlbnNlIGRvY3VtZW50IGNvbnRhaW5zCmEgZnVydGhlciByZXN0cmljdGlvbiBidXQgcGVybWl0cyByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcgdW5kZXIgdGhpcwpMaWNlbnNlLCB5b3UgbWF5IGFkZCB0byBhIGNvdmVyZWQgd29yayBtYXRlcmlhbCBnb3Zlcm5lZCBieSB0aGUgdGVybXMKb2YgdGhhdCBsaWNlbnNlIGRvY3VtZW50LCBwcm92aWRlZCB0aGF0IHRoZSBmdXJ0aGVyIHJlc3RyaWN0aW9uIGRvZXMKbm90IHN1cnZpdmUgc3VjaCByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcuCgogIElmIHlvdSBhZGQgdGVybXMgdG8gYSBjb3ZlcmVkIHdvcmsgaW4gYWNjb3JkIHdpdGggdGhpcyBzZWN0aW9uLCB5b3UKbXVzdCBwbGFjZSwgaW4gdGhlIHJlbGV2YW50IHNvdXJjZSBmaWxlcywgYSBzdGF0ZW1lbnQgb2YgdGhlCmFkZGl0aW9uYWwgdGVybXMgdGhhdCBhcHBseSB0byB0aG9zZSBmaWxlcywgb3IgYSBub3RpY2UgaW5kaWNhdGluZwp3aGVyZSB0byBmaW5kIHRoZSBhcHBsaWNhYmxlIHRlcm1zLgoKICBBZGRpdGlvbmFsIHRlcm1zLCBwZXJtaXNzaXZlIG9yIG5vbi1wZXJtaXNzaXZlLCBtYXkgYmUgc3RhdGVkIGluIHRoZQpmb3JtIG9mIGEgc2VwYXJhdGVseSB3cml0dGVuIGxpY2Vuc2UsIG9yIHN0YXRlZCBhcyBleGNlcHRpb25zOwp0aGUgYWJvdmUgcmVxdWlyZW1lbnRzIGFwcGx5IGVpdGhlciB3YXkuCgogIDguIFRlcm1pbmF0aW9uLgoKICBZb3UgbWF5IG5vdCBwcm9wYWdhdGUgb3IgbW9kaWZ5IGEgY292ZXJlZCB3b3JrIGV4Y2VwdCBhcyBleHByZXNzbHkKcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQgb3RoZXJ3aXNlIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgaXQgaXMgdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIKdGhpcyBMaWNlbnNlIChpbmNsdWRpbmcgYW55IHBhdGVudCBsaWNlbnNlcyBncmFudGVkIHVuZGVyIHRoZSB0aGlyZApwYXJhZ3JhcGggb2Ygc2VjdGlvbiAxMSkuCgogIEhvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5b3VyCmxpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcyByZWluc3RhdGVkIChhKQpwcm92aXNpb25hbGx5LCB1bmxlc3MgYW5kIHVudGlsIHRoZSBjb3B5cmlnaHQgaG9sZGVyIGV4cGxpY2l0bHkgYW5kCmZpbmFsbHkgdGVybWluYXRlcyB5b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQKaG9sZGVyIGZhaWxzIHRvIG5vdGlmeSB5b3Ugb2YgdGhlIHZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMKcHJpb3IgdG8gNjAgZGF5cyBhZnRlciB0aGUgY2Vzc2F0aW9uLgoKICBNb3Jlb3ZlciwgeW91ciBsaWNlbnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMKcmVpbnN0YXRlZCBwZXJtYW5lbnRseSBpZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3RpZmllcyB5b3Ugb2YgdGhlCnZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMsIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgeW91IGhhdmUKcmVjZWl2ZWQgbm90aWNlIG9mIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UgKGZvciBhbnkgd29yaykgZnJvbSB0aGF0CmNvcHlyaWdodCBob2xkZXIsIGFuZCB5b3UgY3VyZSB0aGUgdmlvbGF0aW9uIHByaW9yIHRvIDMwIGRheXMgYWZ0ZXIKeW91ciByZWNlaXB0IG9mIHRoZSBub3RpY2UuCgogIFRlcm1pbmF0aW9uIG9mIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgc2VjdGlvbiBkb2VzIG5vdCB0ZXJtaW5hdGUgdGhlCmxpY2Vuc2VzIG9mIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzIG9yIHJpZ2h0cyBmcm9tIHlvdSB1bmRlcgp0aGlzIExpY2Vuc2UuICBJZiB5b3VyIHJpZ2h0cyBoYXZlIGJlZW4gdGVybWluYXRlZCBhbmQgbm90IHBlcm1hbmVudGx5CnJlaW5zdGF0ZWQsIHlvdSBkbyBub3QgcXVhbGlmeSB0byByZWNlaXZlIG5ldyBsaWNlbnNlcyBmb3IgdGhlIHNhbWUKbWF0ZXJpYWwgdW5kZXIgc2VjdGlvbiAxMC4KCiAgOS4gQWNjZXB0YW5jZSBOb3QgUmVxdWlyZWQgZm9yIEhhdmluZyBDb3BpZXMuCgogIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UgaW4gb3JkZXIgdG8gcmVjZWl2ZSBvcgpydW4gYSBjb3B5IG9mIHRoZSBQcm9ncmFtLiAgQW5jaWxsYXJ5IHByb3BhZ2F0aW9uIG9mIGEgY292ZXJlZCB3b3JrCm9jY3VycmluZyBzb2xlbHkgYXMgYSBjb25zZXF1ZW5jZSBvZiB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNtaXNzaW9uCnRvIHJlY2VpdmUgYSBjb3B5IGxpa2V3aXNlIGRvZXMgbm90IHJlcXVpcmUgYWNjZXB0YW5jZS4gIEhvd2V2ZXIsCm5vdGhpbmcgb3RoZXIgdGhhbiB0aGlzIExpY2Vuc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgYW55IGNvdmVyZWQgd29yay4gIFRoZXNlIGFjdGlvbnMgaW5mcmluZ2UgY29weXJpZ2h0IGlmIHlvdSBkbwpub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkgbW9kaWZ5aW5nIG9yIHByb3BhZ2F0aW5nIGEKY292ZXJlZCB3b3JrLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzby4KCiAgMTAuIEF1dG9tYXRpYyBMaWNlbnNpbmcgb2YgRG93bnN0cmVhbSBSZWNpcGllbnRzLgoKICBFYWNoIHRpbWUgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5CnJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZSBvcmlnaW5hbCBsaWNlbnNvcnMsIHRvIHJ1biwgbW9kaWZ5IGFuZApwcm9wYWdhdGUgdGhhdCB3b3JrLCBzdWJqZWN0IHRvIHRoaXMgTGljZW5zZS4gIFlvdSBhcmUgbm90IHJlc3BvbnNpYmxlCmZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdpdGggdGhpcyBMaWNlbnNlLgoKICBBbiAiZW50aXR5IHRyYW5zYWN0aW9uIiBpcyBhIHRyYW5zYWN0aW9uIHRyYW5zZmVycmluZyBjb250cm9sIG9mIGFuCm9yZ2FuaXphdGlvbiwgb3Igc3Vic3RhbnRpYWxseSBhbGwgYXNzZXRzIG9mIG9uZSwgb3Igc3ViZGl2aWRpbmcgYW4Kb3JnYW5pemF0aW9uLCBvciBtZXJnaW5nIG9yZ2FuaXphdGlvbnMuICBJZiBwcm9wYWdhdGlvbiBvZiBhIGNvdmVyZWQKd29yayByZXN1bHRzIGZyb20gYW4gZW50aXR5IHRyYW5zYWN0aW9uLCBlYWNoIHBhcnR5IHRvIHRoYXQKdHJhbnNhY3Rpb24gd2hvIHJlY2VpdmVzIGEgY29weSBvZiB0aGUgd29yayBhbHNvIHJlY2VpdmVzIHdoYXRldmVyCmxpY2Vuc2VzIHRvIHRoZSB3b3JrIHRoZSBwYXJ0eSdzIHByZWRlY2Vzc29yIGluIGludGVyZXN0IGhhZCBvciBjb3VsZApnaXZlIHVuZGVyIHRoZSBwcmV2aW91cyBwYXJhZ3JhcGgsIHBsdXMgYSByaWdodCB0byBwb3NzZXNzaW9uIG9mIHRoZQpDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBmcm9tIHRoZSBwcmVkZWNlc3NvciBpbiBpbnRlcmVzdCwgaWYKdGhlIHByZWRlY2Vzc29yIGhhcyBpdCBvciBjYW4gZ2V0IGl0IHdpdGggcmVhc29uYWJsZSBlZmZvcnRzLgoKICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIgcmVzdHJpY3Rpb25zIG9uIHRoZSBleGVyY2lzZSBvZiB0aGUKcmlnaHRzIGdyYW50ZWQgb3IgYWZmaXJtZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgRm9yIGV4YW1wbGUsIHlvdSBtYXkKbm90IGltcG9zZSBhIGxpY2Vuc2UgZmVlLCByb3lhbHR5LCBvciBvdGhlciBjaGFyZ2UgZm9yIGV4ZXJjaXNlIG9mCnJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIHlvdSBtYXkgbm90IGluaXRpYXRlIGxpdGlnYXRpb24KKGluY2x1ZGluZyBhIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQKYW55IHBhdGVudCBjbGFpbSBpcyBpbmZyaW5nZWQgYnkgbWFraW5nLCB1c2luZywgc2VsbGluZywgb2ZmZXJpbmcgZm9yCnNhbGUsIG9yIGltcG9ydGluZyB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbiBvZiBpdC4KCiAgMTEuIFBhdGVudHMuCgogIEEgImNvbnRyaWJ1dG9yIiBpcyBhIGNvcHlyaWdodCBob2xkZXIgd2hvIGF1dGhvcml6ZXMgdXNlIHVuZGVyIHRoaXMKTGljZW5zZSBvZiB0aGUgUHJvZ3JhbSBvciBhIHdvcmsgb24gd2hpY2ggdGhlIFByb2dyYW0gaXMgYmFzZWQuICBUaGUKd29yayB0aHVzIGxpY2Vuc2VkIGlzIGNhbGxlZCB0aGUgY29udHJpYnV0b3IncyAiY29udHJpYnV0b3IgdmVyc2lvbiIuCgogIEEgY29udHJpYnV0b3IncyAiZXNzZW50aWFsIHBhdGVudCBjbGFpbXMiIGFyZSBhbGwgcGF0ZW50IGNsYWltcwpvd25lZCBvciBjb250cm9sbGVkIGJ5IHRoZSBjb250cmlidXRvciwgd2hldGhlciBhbHJlYWR5IGFjcXVpcmVkIG9yCmhlcmVhZnRlciBhY3F1aXJlZCwgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgYnkgc29tZSBtYW5uZXIsIHBlcm1pdHRlZApieSB0aGlzIExpY2Vuc2UsIG9mIG1ha2luZywgdXNpbmcsIG9yIHNlbGxpbmcgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24sCmJ1dCBkbyBub3QgaW5jbHVkZSBjbGFpbXMgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgb25seSBhcyBhCmNvbnNlcXVlbmNlIG9mIGZ1cnRoZXIgbW9kaWZpY2F0aW9uIG9mIHRoZSBjb250cmlidXRvciB2ZXJzaW9uLiAgRm9yCnB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgImNvbnRyb2wiIGluY2x1ZGVzIHRoZSByaWdodCB0byBncmFudApwYXRlbnQgc3VibGljZW5zZXMgaW4gYSBtYW5uZXIgY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YKdGhpcyBMaWNlbnNlLgoKICBFYWNoIGNvbnRyaWJ1dG9yIGdyYW50cyB5b3UgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZQpwYXRlbnQgbGljZW5zZSB1bmRlciB0aGUgY29udHJpYnV0b3IncyBlc3NlbnRpYWwgcGF0ZW50IGNsYWltcywgdG8KbWFrZSwgdXNlLCBzZWxsLCBvZmZlciBmb3Igc2FsZSwgaW1wb3J0IGFuZCBvdGhlcndpc2UgcnVuLCBtb2RpZnkgYW5kCnByb3BhZ2F0ZSB0aGUgY29udGVudHMgb2YgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24uCgogIEluIHRoZSBmb2xsb3dpbmcgdGhyZWUgcGFyYWdyYXBocywgYSAicGF0ZW50IGxpY2Vuc2UiIGlzIGFueSBleHByZXNzCmFncmVlbWVudCBvciBjb21taXRtZW50LCBob3dldmVyIGRlbm9taW5hdGVkLCBub3QgdG8gZW5mb3JjZSBhIHBhdGVudAooc3VjaCBhcyBhbiBleHByZXNzIHBlcm1pc3Npb24gdG8gcHJhY3RpY2UgYSBwYXRlbnQgb3IgY292ZW5hbnQgbm90IHRvCnN1ZSBmb3IgcGF0ZW50IGluZnJpbmdlbWVudCkuICBUbyAiZ3JhbnQiIHN1Y2ggYSBwYXRlbnQgbGljZW5zZSB0byBhCnBhcnR5IG1lYW5zIHRvIG1ha2Ugc3VjaCBhbiBhZ3JlZW1lbnQgb3IgY29tbWl0bWVudCBub3QgdG8gZW5mb3JjZSBhCnBhdGVudCBhZ2FpbnN0IHRoZSBwYXJ0eS4KCiAgSWYgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywga25vd2luZ2x5IHJlbHlpbmcgb24gYSBwYXRlbnQgbGljZW5zZSwKYW5kIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBpcyBub3QgYXZhaWxhYmxlIGZvciBhbnlvbmUKdG8gY29weSwgZnJlZSBvZiBjaGFyZ2UgYW5kIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIHRocm91Z2ggYQpwdWJsaWNseSBhdmFpbGFibGUgbmV0d29yayBzZXJ2ZXIgb3Igb3RoZXIgcmVhZGlseSBhY2Nlc3NpYmxlIG1lYW5zLAp0aGVuIHlvdSBtdXN0IGVpdGhlciAoMSkgY2F1c2UgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIHRvIGJlIHNvCmF2YWlsYWJsZSwgb3IgKDIpIGFycmFuZ2UgdG8gZGVwcml2ZSB5b3Vyc2VsZiBvZiB0aGUgYmVuZWZpdCBvZiB0aGUKcGF0ZW50IGxpY2Vuc2UgZm9yIHRoaXMgcGFydGljdWxhciB3b3JrLCBvciAoMykgYXJyYW5nZSwgaW4gYSBtYW5uZXIKY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YgdGhpcyBMaWNlbnNlLCB0byBleHRlbmQgdGhlIHBhdGVudApsaWNlbnNlIHRvIGRvd25zdHJlYW0gcmVjaXBpZW50cy4gICJLbm93aW5nbHkgcmVseWluZyIgbWVhbnMgeW91IGhhdmUKYWN0dWFsIGtub3dsZWRnZSB0aGF0LCBidXQgZm9yIHRoZSBwYXRlbnQgbGljZW5zZSwgeW91ciBjb252ZXlpbmcgdGhlCmNvdmVyZWQgd29yayBpbiBhIGNvdW50cnksIG9yIHlvdXIgcmVjaXBpZW50J3MgdXNlIG9mIHRoZSBjb3ZlcmVkIHdvcmsKaW4gYSBjb3VudHJ5LCB3b3VsZCBpbmZyaW5nZSBvbmUgb3IgbW9yZSBpZGVudGlmaWFibGUgcGF0ZW50cyBpbiB0aGF0CmNvdW50cnkgdGhhdCB5b3UgaGF2ZSByZWFzb24gdG8gYmVsaWV2ZSBhcmUgdmFsaWQuCgogIElmLCBwdXJzdWFudCB0byBvciBpbiBjb25uZWN0aW9uIHdpdGggYSBzaW5nbGUgdHJhbnNhY3Rpb24gb3IKYXJyYW5nZW1lbnQsIHlvdSBjb252ZXksIG9yIHByb3BhZ2F0ZSBieSBwcm9jdXJpbmcgY29udmV5YW5jZSBvZiwgYQpjb3ZlcmVkIHdvcmssIGFuZCBncmFudCBhIHBhdGVudCBsaWNlbnNlIHRvIHNvbWUgb2YgdGhlIHBhcnRpZXMKcmVjZWl2aW5nIHRoZSBjb3ZlcmVkIHdvcmsgYXV0aG9yaXppbmcgdGhlbSB0byB1c2UsIHByb3BhZ2F0ZSwgbW9kaWZ5Cm9yIGNvbnZleSBhIHNwZWNpZmljIGNvcHkgb2YgdGhlIGNvdmVyZWQgd29yaywgdGhlbiB0aGUgcGF0ZW50IGxpY2Vuc2UKeW91IGdyYW50IGlzIGF1dG9tYXRpY2FsbHkgZXh0ZW5kZWQgdG8gYWxsIHJlY2lwaWVudHMgb2YgdGhlIGNvdmVyZWQKd29yayBhbmQgd29ya3MgYmFzZWQgb24gaXQuCgogIEEgcGF0ZW50IGxpY2Vuc2UgaXMgImRpc2NyaW1pbmF0b3J5IiBpZiBpdCBkb2VzIG5vdCBpbmNsdWRlIHdpdGhpbgp0aGUgc2NvcGUgb2YgaXRzIGNvdmVyYWdlLCBwcm9oaWJpdHMgdGhlIGV4ZXJjaXNlIG9mLCBvciBpcwpjb25kaXRpb25lZCBvbiB0aGUgbm9uLWV4ZXJjaXNlIG9mIG9uZSBvciBtb3JlIG9mIHRoZSByaWdodHMgdGhhdCBhcmUKc3BlY2lmaWNhbGx5IGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgWW91IG1heSBub3QgY29udmV5IGEgY292ZXJlZAp3b3JrIGlmIHlvdSBhcmUgYSBwYXJ0eSB0byBhbiBhcnJhbmdlbWVudCB3aXRoIGEgdGhpcmQgcGFydHkgdGhhdCBpcwppbiB0aGUgYnVzaW5lc3Mgb2YgZGlzdHJpYnV0aW5nIHNvZnR3YXJlLCB1bmRlciB3aGljaCB5b3UgbWFrZSBwYXltZW50CnRvIHRoZSB0aGlyZCBwYXJ0eSBiYXNlZCBvbiB0aGUgZXh0ZW50IG9mIHlvdXIgYWN0aXZpdHkgb2YgY29udmV5aW5nCnRoZSB3b3JrLCBhbmQgdW5kZXIgd2hpY2ggdGhlIHRoaXJkIHBhcnR5IGdyYW50cywgdG8gYW55IG9mIHRoZQpwYXJ0aWVzIHdobyB3b3VsZCByZWNlaXZlIHRoZSBjb3ZlcmVkIHdvcmsgZnJvbSB5b3UsIGEgZGlzY3JpbWluYXRvcnkKcGF0ZW50IGxpY2Vuc2UgKGEpIGluIGNvbm5lY3Rpb24gd2l0aCBjb3BpZXMgb2YgdGhlIGNvdmVyZWQgd29yawpjb252ZXllZCBieSB5b3UgKG9yIGNvcGllcyBtYWRlIGZyb20gdGhvc2UgY29waWVzKSwgb3IgKGIpIHByaW1hcmlseQpmb3IgYW5kIGluIGNvbm5lY3Rpb24gd2l0aCBzcGVjaWZpYyBwcm9kdWN0cyBvciBjb21waWxhdGlvbnMgdGhhdApjb250YWluIHRoZSBjb3ZlcmVkIHdvcmssIHVubGVzcyB5b3UgZW50ZXJlZCBpbnRvIHRoYXQgYXJyYW5nZW1lbnQsCm9yIHRoYXQgcGF0ZW50IGxpY2Vuc2Ugd2FzIGdyYW50ZWQsIHByaW9yIHRvIDI4IE1hcmNoIDIwMDcuCgogIE5vdGhpbmcgaW4gdGhpcyBMaWNlbnNlIHNoYWxsIGJlIGNvbnN0cnVlZCBhcyBleGNsdWRpbmcgb3IgbGltaXRpbmcKYW55IGltcGxpZWQgbGljZW5zZSBvciBvdGhlciBkZWZlbnNlcyB0byBpbmZyaW5nZW1lbnQgdGhhdCBtYXkKb3RoZXJ3aXNlIGJlIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYXBwbGljYWJsZSBwYXRlbnQgbGF3LgoKICAxMi4gTm8gU3VycmVuZGVyIG9mIE90aGVycycgRnJlZWRvbS4KCiAgSWYgY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3UgKHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgpvdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90CmV4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90IGNvbnZleSBhCmNvdmVyZWQgd29yayBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcwpMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91IG1heQpub3QgY29udmV5IGl0IGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiB5b3UgYWdyZWUgdG8gdGVybXMgdGhhdCBvYmxpZ2F0ZSB5b3UKdG8gY29sbGVjdCBhIHJveWFsdHkgZm9yIGZ1cnRoZXIgY29udmV5aW5nIGZyb20gdGhvc2UgdG8gd2hvbSB5b3UgY29udmV5CnRoZSBQcm9ncmFtLCB0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCB0aG9zZSB0ZXJtcyBhbmQgdGhpcwpMaWNlbnNlIHdvdWxkIGJlIHRvIHJlZnJhaW4gZW50aXJlbHkgZnJvbSBjb252ZXlpbmcgdGhlIFByb2dyYW0uCgogIDEzLiBVc2Ugd2l0aCB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgoKICBOb3R3aXRoc3RhbmRpbmcgYW55IG90aGVyIHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UsIHlvdSBoYXZlCnBlcm1pc3Npb24gdG8gbGluayBvciBjb21iaW5lIGFueSBjb3ZlcmVkIHdvcmsgd2l0aCBhIHdvcmsgbGljZW5zZWQKdW5kZXIgdmVyc2lvbiAzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaW50byBhIHNpbmdsZQpjb21iaW5lZCB3b3JrLCBhbmQgdG8gY29udmV5IHRoZSByZXN1bHRpbmcgd29yay4gIFRoZSB0ZXJtcyBvZiB0aGlzCkxpY2Vuc2Ugd2lsbCBjb250aW51ZSB0byBhcHBseSB0byB0aGUgcGFydCB3aGljaCBpcyB0aGUgY292ZXJlZCB3b3JrLApidXQgdGhlIHNwZWNpYWwgcmVxdWlyZW1lbnRzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCnNlY3Rpb24gMTMsIGNvbmNlcm5pbmcgaW50ZXJhY3Rpb24gdGhyb3VnaCBhIG5ldHdvcmsgd2lsbCBhcHBseSB0byB0aGUKY29tYmluYXRpb24gYXMgc3VjaC4KCiAgMTQuIFJldmlzZWQgVmVyc2lvbnMgb2YgdGhpcyBMaWNlbnNlLgoKICBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucyBvZgp0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsCmJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0bwphZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4KCiAgRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUKUHJvZ3JhbSBzcGVjaWZpZXMgdGhhdCBhIGNlcnRhaW4gbnVtYmVyZWQgdmVyc2lvbiBvZiB0aGUgR05VIEdlbmVyYWwKUHVibGljIExpY2Vuc2UgIm9yIGFueSBsYXRlciB2ZXJzaW9uIiBhcHBsaWVzIHRvIGl0LCB5b3UgaGF2ZSB0aGUKb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZWl0aGVyIG9mIHRoYXQgbnVtYmVyZWQKdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbi4gIElmIHRoZSBQcm9ncmFtIGRvZXMgbm90IHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkCmJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCgogIElmIHRoZSBQcm9ncmFtIHNwZWNpZmllcyB0aGF0IGEgcHJveHkgY2FuIGRlY2lkZSB3aGljaCBmdXR1cmUKdmVyc2lvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGNhbiBiZSB1c2VkLCB0aGF0IHByb3h5J3MKcHVibGljIHN0YXRlbWVudCBvZiBhY2NlcHRhbmNlIG9mIGEgdmVyc2lvbiBwZXJtYW5lbnRseSBhdXRob3JpemVzIHlvdQp0byBjaG9vc2UgdGhhdCB2ZXJzaW9uIGZvciB0aGUgUHJvZ3JhbS4KCiAgTGF0ZXIgbGljZW5zZSB2ZXJzaW9ucyBtYXkgZ2l2ZSB5b3UgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQKcGVybWlzc2lvbnMuICBIb3dldmVyLCBubyBhZGRpdGlvbmFsIG9ibGlnYXRpb25zIGFyZSBpbXBvc2VkIG9uIGFueQphdXRob3Igb3IgY29weXJpZ2h0IGhvbGRlciBhcyBhIHJlc3VsdCBvZiB5b3VyIGNob29zaW5nIHRvIGZvbGxvdyBhCmxhdGVyIHZlcnNpb24uCgogIDE1LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LgoKICBUSEVSRSBJUyBOTyBXQVJSQU5UWSBGT1IgVEhFIFBST0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZCkFQUExJQ0FCTEUgTEFXLiAgRVhDRVBUIFdIRU4gT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQKSE9MREVSUyBBTkQvT1IgT1RIRVIgUEFSVElFUyBQUk9WSURFIFRIRSBQUk9HUkFNICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWQpPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRCBPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgpQVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTQpJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUgUFJPR1JBTSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhFIENPU1QgT0YKQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsIFJFUEFJUiBPUiBDT1JSRUNUSU9OLgoKICAxNi4gTGltaXRhdGlvbiBvZiBMaWFiaWxpdHkuCgogIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORwpXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1PRElGSUVTIEFORC9PUiBDT05WRVlTClRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywgSU5DTFVESU5HIEFOWQpHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HIE9VVCBPRiBUSEUKVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFBST0dSQU0gKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gTE9TUyBPRgpEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZIFlPVSBPUiBUSElSRApQQVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSIFBST0dSQU1TKSwKRVZFTiBJRiBTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgpTVUNIIERBTUFHRVMuCgogIDE3LiBJbnRlcnByZXRhdGlvbiBvZiBTZWN0aW9ucyAxNSBhbmQgMTYuCgogIElmIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnR5IGFuZCBsaW1pdGF0aW9uIG9mIGxpYWJpbGl0eSBwcm92aWRlZAphYm92ZSBjYW5ub3QgYmUgZ2l2ZW4gbG9jYWwgbGVnYWwgZWZmZWN0IGFjY29yZGluZyB0byB0aGVpciB0ZXJtcywKcmV2aWV3aW5nIGNvdXJ0cyBzaGFsbCBhcHBseSBsb2NhbCBsYXcgdGhhdCBtb3N0IGNsb3NlbHkgYXBwcm94aW1hdGVzCmFuIGFic29sdXRlIHdhaXZlciBvZiBhbGwgY2l2aWwgbGlhYmlsaXR5IGluIGNvbm5lY3Rpb24gd2l0aCB0aGUKUHJvZ3JhbSwgdW5sZXNzIGEgd2FycmFudHkgb3IgYXNzdW1wdGlvbiBvZiBsaWFiaWxpdHkgYWNjb21wYW5pZXMgYQpjb3B5IG9mIHRoZSBQcm9ncmFtIGluIHJldHVybiBmb3IgYSBmZWUuCgogICAgICAgICAgICAgICAgICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKCiAgICAgICAgICAgIEhvdyB0byBBcHBseSBUaGVzZSBUZXJtcyB0byBZb3VyIE5ldyBQcm9ncmFtcwoKICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBwcm9ncmFtLCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0CnBvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB0aGUgYmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIHRvIG1ha2UgaXQKZnJlZSBzb2Z0d2FyZSB3aGljaCBldmVyeW9uZSBjYW4gcmVkaXN0cmlidXRlIGFuZCBjaGFuZ2UgdW5kZXIgdGhlc2UgdGVybXMuCgogIFRvIGRvIHNvLCBhdHRhY2ggdGhlIGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBwcm9ncmFtLiAgSXQgaXMgc2FmZXN0CnRvIGF0dGFjaCB0aGVtIHRvIHRoZSBzdGFydCBvZiBlYWNoIHNvdXJjZSBmaWxlIHRvIG1vc3QgZWZmZWN0aXZlbHkKc3RhdGUgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdAp0aGUgImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KCiAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUgcHJvZ3JhbSdzIG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPgogICAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KCiAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCiAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgoKICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCgogIElmIHRoZSBwcm9ncmFtIGRvZXMgdGVybWluYWwgaW50ZXJhY3Rpb24sIG1ha2UgaXQgb3V0cHV0IGEgc2hvcnQKbm90aWNlIGxpa2UgdGhpcyB3aGVuIGl0IHN0YXJ0cyBpbiBhbiBpbnRlcmFjdGl2ZSBtb2RlOgoKICAgIDxwcm9ncmFtPiAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KICAgIFRoaXMgcHJvZ3JhbSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cgdycuCiAgICBUaGlzIGlzIGZyZWUgc29mdHdhcmUsIGFuZCB5b3UgYXJlIHdlbGNvbWUgdG8gcmVkaXN0cmlidXRlIGl0CiAgICB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnM7IHR5cGUgYHNob3cgYycgZm9yIGRldGFpbHMuCgpUaGUgaHlwb3RoZXRpY2FsIGNvbW1hbmRzIGBzaG93IHcnIGFuZCBgc2hvdyBjJyBzaG91bGQgc2hvdyB0aGUgYXBwcm9wcmlhdGUKcGFydHMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBPZiBjb3Vyc2UsIHlvdXIgcHJvZ3JhbSdzIGNvbW1hbmRzCm1pZ2h0IGJlIGRpZmZlcmVudDsgZm9yIGEgR1VJIGludGVyZmFjZSwgeW91IHdvdWxkIHVzZSBhbiAiYWJvdXQgYm94Ii4KCiAgWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHNjaG9vbCwKaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIHByb2dyYW0sIGlmIG5lY2Vzc2FyeS4KRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcywgYW5kIGhvdyB0byBhcHBseSBhbmQgZm9sbG93IHRoZSBHTlUgR1BMLCBzZWUKPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZG9lcyBub3QgcGVybWl0IGluY29ycG9yYXRpbmcgeW91ciBwcm9ncmFtCmludG8gcHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3VyIHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxpYnJhcnksIHlvdQptYXkgY29uc2lkZXIgaXQgbW9yZSB1c2VmdWwgdG8gcGVybWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGgKdGhlIGxpYnJhcnkuICBJZiB0aGlzIGlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUgR05VIExlc3NlciBHZW5lcmFsClB1YmxpYyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLiAgQnV0IGZpcnN0LCBwbGVhc2UgcmVhZAo8aHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvd2h5LW5vdC1sZ3BsLmh0bWw+Lgo=]]></data>
	</file>
	<file>
	  <filename>/function.module_action.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU2ltcGxlU21hcnR5IChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRoYXQgcHJvdmlkZXMgc2ltcGxlIHNtYXJ0eQojICBtZXRob2RzIGFuZCBmdW5jdGlvbnMgdG8gZWFzZSBkZXZlbG9waW5nIENNUyBNYWRlIHNpbXBsZSBwb3dlcmVkCiMgIHdlYnNpdGVzLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3RzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKLy8vLy8vLy8vLwovLyBBIHNpbXBsZSBmdW5jdGlvbiB0byBnZW5lcmF0ZSBhIHVybCB0byBhIG1vZHVsZSBhY3Rpb24KLy8vLy8vLy8vLwpmdW5jdGlvbiBtb2R1bGVfYWN0aW9uX3VybCgkcGFyYW1zLCAmJHRwbCkKewogICAgJHBhcmFtc1sndXJsb25seSddID0gMTsKICAgICRhc3NpZ24gPSBcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2Fzc2lnbicpOwogICAgdW5zZXQoJHBhcmFtc1snaW1hZ2Vvbmx5J10sJHBhcmFtc1sndGV4dCddLCRwYXJhbXNbJ3RpdGxlJ10sJHBhcmFtc1snaW1hZ2UnXSwkcGFyYW1zWydjbGFzcyddLCRwYXJhbXNbJ2Fzc2lnbiddKTsKICAgICRvdXQgPSBtb2R1bGVfYWN0aW9uX2xpbmsoJHBhcmFtcywkdHBsKTsKCiAgICBpZiggJGFzc2lnbiApIHsKICAgICAgICAkdHBsLT5hc3NpZ24oJGFzc2lnbiwkb3V0KTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICByZXR1cm4gJG91dDsKfQoKLy8vLy8vLy8vLwovLyBBIHNpbXBsZSBmdW5jdGlvbiB0byBnZW5lcmF0ZSBhIGxpbmsgdG8gYSBtb2R1bGUgYWN0aW9uCi8vLy8vLy8vLy8KZnVuY3Rpb24gbW9kdWxlX2FjdGlvbl9saW5rKCRwYXJhbXMsICYkc21hcnR5KQp7CiAgICAkZ0NtcyA9IGNtc21zKCk7CiAgICAkbWlkID0gJ20xXyc7CiAgICAkaW5saW5lID0gRkFMU0U7CgogICAgJG1vZHVsZSA9ICRzbWFydHktPmdldF90ZW1wbGF0ZV92YXJzKCdubW9kdWxlJyk7CiAgICBpZiggISRtb2R1bGUgKSAkbW9kdWxlID0gJHNtYXJ0eS0+Z2V0X3RlbXBsYXRlX3ZhcnMoJ2FjdGlvbm1vZHVsZScpOwogICAgJG1vZHVsZSA9IGdldF9wYXJhbWV0ZXJfdmFsdWUoJHBhcmFtcywnbW9kdWxlJywkbW9kdWxlKTsKICAgIGlmKCAhJG1vZHVsZSApIHJldHVybjsKICAgIHVuc2V0KCRwYXJhbXNbJ21vZHVsZSddKTsKCiAgICAkb2JqID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCRtb2R1bGUpOwogICAgaWYoICFpc19vYmplY3QoJG9iaikgKSByZXR1cm47CgogICAgJHRleHQgPSAkbW9kdWxlOwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ3RleHQnXSkgKSB7CiAgICAgICAgJHRleHQgPSB0cmltKCRwYXJhbXNbJ3RleHQnXSk7CiAgICAgICAgdW5zZXQoJHBhcmFtc1sndGV4dCddKTsKICAgIH0KCiAgICAkdGl0bGUgPSAnJzsKICAgIGlmKCBpc3NldCgkcGFyYW1zWyd0aXRsZSddKSApIHsKICAgICAgICAkdGl0bGUgPSB0cmltKCRwYXJhbXNbJ3RpdGxlJ10pOwogICAgICAgIHVuc2V0KCRwYXJhbXNbJ3RpdGxlJ10pOwogICAgfQoKICAgICRjb25mbWVzc2FnZSA9ICcnOwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2NvbmZtZXNzYWdlJ10pICkgewogICAgICAgICRjb25mbWVzc2FnZSA9IHRyaW0oJHBhcmFtc1snY29uZm1lc3NhZ2UnXSk7CiAgICAgICAgdW5zZXQoJHBhcmFtc1snY29uZm1lc3NhZ2UnXSk7CiAgICB9CgogICAgJGltYWdlID0gJyc7CiAgICBpZiggaXNzZXQoJHBhcmFtc1snaW1hZ2UnXSkgKSB7CiAgICAgICAgJGltYWdlID0gdHJpbSgkcGFyYW1zWydpbWFnZSddKTsKICAgICAgICB1bnNldCgkcGFyYW1zWydpbWFnZSddKTsKICAgIH0KCiAgICAkY2xhc3MgPSAnc3lzdGVtaWNvbic7CiAgICBpZiggaXNzZXQoJHBhcmFtc1snY2xhc3MnXSkgKSB7CiAgICAgICAgJGNsYXNzID0gdHJpbSgkcGFyYW1zWydjbGFzcyddKTsKICAgICAgICB1bnNldCgkcGFyYW1zWydjbGFzcyddKTsKICAgIH0KCiAgICAkYWN0aW9uID0gJ2RlZmF1bHQnOwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2FjdGlvbiddKSApIHsKICAgICAgICAkYWN0aW9uID0gJHBhcmFtc1snYWN0aW9uJ107CiAgICAgICAgdW5zZXQoJHBhcmFtc1snYWN0aW9uJ10pOwogICAgfQoKICAgIGlmKCBpc3NldCgkcGFyYW1zWydpZCddKSApIHsKICAgICAgICAkbWlkID0gJHBhcmFtc1snaWQnXTsKICAgICAgICAkaW5saW5lID0gVFJVRTsKICAgICAgICB1bnNldCgkcGFyYW1zWydpZCddKTsKICAgIH0KCiAgICAkaW1hZ2Vvbmx5ID0gZmFsc2U7CiAgICBpZiggaXNzZXQoJHBhcmFtc1snaW1hZ2Vvbmx5J10pICkgewogICAgICAgICRpbWFnZW9ubHkgPSB0cnVlOwogICAgICAgIHVuc2V0KCRwYXJhbXNbJ2ltYWdlb25seSddKTsKICAgIH0KCiAgICAkcGFnZWlkID0gY21zX3V0aWxzOjpnZXRfY3VycmVudF9wYWdlaWQoKTsKICAgIGlmKCBpc3NldCgkcGFyYW1zWydwYWdlJ10pICkgewogICAgICAgIC8vIGNvbnZlcnQgdGhlIHBhZ2UgYWxpYXMgdG8gYW4gaWQKICAgICAgICAkbWFuYWdlciA9ICRnQ21zLT5HZXRIaWVyYXJjaHlNYW5hZ2VyKCk7CiAgICAgICAgJG5vZGUgPSAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUFsaWFzKCRwYXJhbXNbJ3BhZ2UnXSk7CiAgICAgICAgaWYgKGlzc2V0KCRub2RlKSkgewogICAgICAgICAgICAkY29udGVudCA9ICRub2RlLT5HZXRDb250ZW50KCk7CiAgICAgICAgICAgIGlmIChpc3NldCgkY29udGVudCkpICRwYWdlaWQgPSAkY29udGVudC0+SWQoKTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICRub2RlID0gJG1hbmFnZXItPnN1cmVHZXROb2RlQnlJZCgkcGFyYW1zWydwYWdlJ10pOwogICAgICAgICAgICBpZiAoaXNzZXQoJG5vZGUpKSAkcGFnZWlkID0gJHBhcmFtc1snZGV0YWlscGFnZSddOwogICAgICAgIH0KICAgICAgICB1bnNldCgkcGFyYW1zWydwYWdlJ10pOwogICAgfQoKICAgICR1cmxvbmx5ID0gY2dlX3V0aWxzOjp0b19ib29sKGNnZV91dGlsczo6Z2V0X3BhcmFtKCRwYXJhbXMsJ3VybG9ubHknLGZhbHNlKSk7CiAgICBpZiggJHVybG9ubHkgKSB7CiAgICAgICAgJHVybG9ubHkgPSB0cnVlOwogICAgICAgIHVuc2V0KCRwYXJhbXNbJ3VybG9ubHknXSk7CiAgICB9CgogICAgJGpzZnJpZW5kbHkgPSBjZ2VfdXRpbHM6OnRvX2Jvb2woY2dlX3V0aWxzOjpnZXRfcGFyYW0oJHBhcmFtcywnanNmcmllbmRseScsZmFsc2UpKTsKICAgIGlmKCAkanNmcmllbmRseSApIHsKICAgICAgICAkanNmcmllbmRseSA9IHRydWU7CiAgICAgICAgJHVybG9ubHkgPSB0cnVlOwogICAgICAgIHVuc2V0KCRwYXJhbXNbJ2pzZnJpZW5kbHknXSk7CiAgICB9CgogICAgJGZvcmpzID0gY2dlX3V0aWxzOjp0b19ib29sKGNnZV91dGlsczo6Z2V0X3BhcmFtKCRwYXJhbXMsJ2ZvcmpzJyxmYWxzZSkpOwogICAgaWYoICRmb3JqcyApIHsKICAgICAgICAkanNmcmllbmRseSA9IHRydWU7CiAgICAgICAgJHVybG9ubHkgPSB0cnVlOwogICAgICAgIHVuc2V0KCRwYXJhbXNbJ2ZvcmpzJ10pOwogICAgfQoKICAgICRmb3JhamF4ID0gY2dlX3V0aWxzOjp0b19ib29sKGNnZV91dGlsczo6Z2V0X3BhcmFtKCRwYXJhbXMsJ2ZvcmFqYXgnLGZhbHNlKSk7CiAgICBpZiggJGZvcmFqYXggKSB7CiAgICAgICAgJGpzZnJpZW5kbHkgPSB0cnVlOwogICAgICAgICR1cmxvbmx5ID0gdHJ1ZTsKICAgICAgICAkZm9yYWpheCA9IHRydWU7CiAgICAgICAgdW5zZXQoJHBhcmFtc1snZm9yYWpheCddKTsKICAgIH0KCiAgICAkYXNzaWduID0gJyc7CiAgICBpZiggaXNzZXQoJHBhcmFtc1snYXNzaWduJ10pICkgewogICAgICAgICRhc3NpZ24gPSB0cmltKCRwYXJhbXNbJ2Fzc2lnbiddKTsKICAgICAgICB1bnNldCgkcGFyYW1zWydhc3NpZ24nXSk7CiAgICB9CgogICAgJGFkZHRleHQgPSAnJzsKICAgIGlmKCAkdGl0bGUgKSAkYWRkdGV4dCA9ICd0aXRsZT0iJy4kdGl0bGUuJyInOwoKICAgIGlmKCAhZW1wdHkoJGltYWdlKSAmJiBtZXRob2RfZXhpc3RzKCRvYmosJ0NyZWF0ZUltYWdlTGluaycpICYmICR1cmxvbmx5ID09IGZhbHNlICkgewogICAgICAgICRvdXRwdXQgPSAkb2JqLT5DcmVhdGVJbWFnZUxpbmsoJG1pZCwkYWN0aW9uLCRwYWdlaWQsJHRleHQsJGltYWdlLCRwYXJhbXMsJGNsYXNzLCRjb25mbWVzc2FnZSwkaW1hZ2Vvbmx5LEZBTFNFLCRhZGR0ZXh0KTsKICAgIH0KICAgIGVsc2UgewogICAgICAgICRvdXRwdXQgPSAkb2JqLT5DcmVhdGVMaW5rKCRtaWQsJGFjdGlvbiwkcGFnZWlkLCR0ZXh0LCRwYXJhbXMsJGNvbmZtZXNzYWdlLCR1cmxvbmx5LCRpbmxpbmUsJGFkZHRleHQpOwogICAgICAgIGlmKCAkdXJsb25seSAmJiAkanNmcmllbmRseSApIHsKICAgICAgICAgICAgJG91dHB1dCA9IHN0cl9yZXBsYWNlKCdhbXA7JywnJywkb3V0cHV0KTsKICAgICAgICB9CiAgICAgICAgaWYoICRmb3JhamF4ICkgewogICAgICAgICAgICBpZiggc3RycG9zKCRvdXRwdXQsJz8nKSA9PT0gRkFMU0UgKSB7CiAgICAgICAgICAgICAgICAkb3V0cHV0IC49ICc/c2hvd3RlbXBsYXRlPWZhbHNlJzsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICRvdXRwdXQgLj0gJyZzaG93dGVtcGxhdGU9ZmFsc2UnOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIC8vIGFsbCBkb25lCiAgICBpZiggIWVtcHR5KCRhc3NpZ24pICkgewogICAgICAgICRzbWFydHktPmFzc2lnbigkYXNzaWduLCRvdXRwdXQpOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIHJldHVybiAkb3V0cHV0Owp9CgojIEVPRgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/function.repeat.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU2ltcGxlU21hcnR5IChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0aGF0IHByb3ZpZGVzIHNpbXBsZSBzbWFydHkKIyAgbWV0aG9kcyBhbmQgZnVuY3Rpb25zIHRvIGVhc2UgZGV2ZWxvcGluZyBDTVMgTWFkZSBzaW1wbGUgcG93ZXJlZAojICB3ZWJzaXRlcy4KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCi8vLy8vLy8vLy8KLy8gQSBzaW1wbGUgZnVuY3Rpb24gdG8gcmVwZWF0IGEgc3RyaW5nIE4gdGltZXMKLy8vLy8vLy8vLwpmdW5jdGlvbiBzbWFydHlfZnVuY3Rpb25fY2dyZXBlYXQoJHBhcmFtcywgJiRzbWFydHkpCnsKICAkbnVtID0gMTsKICBpZiggIWlzc2V0KCRwYXJhbXNbJ3RleHQnXSkgKSByZXR1cm47CiAgJHRleHQgPSAkcGFyYW1zWyd0ZXh0J107CiAgaWYoIGlzc2V0KCRwYXJhbXNbJ2NvdW50J10pICkgJG51bSA9IChpbnQpJHBhcmFtc1snY291bnQnXTsKCiAgJG91dCA9ICcnOwogIGZvciggJGkgPSAwOyAkaSA8ICRudW07ICRpKysgKSB7CiAgICAkb3V0IC49ICR0ZXh0OwogIH0KCiAgaWYoIGlzc2V0KCRwYXJhbXNbJ2Fzc2lnbiddKSApIHsKICAgICRnQ21zID0gY21zbXMoKTsKICAgICRzbWFydHkgPSAkZ0Ntcy0+R2V0U21hcnR5KCk7CiAgICAkc21hcnR5LT5hc3NpZ24odHJpbSgkcGFyYW1zWydhc3NpZ24nXSksJG91dCk7CiAgICByZXR1cm47CiAgfQoKICByZXR1cm4gJG91dDsKfQoKIyBFT0YKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.session_put.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU2ltcGxlU21hcnR5IChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0aGF0IHByb3ZpZGVzIHNpbXBsZSBzbWFydHkKIyAgbWV0aG9kcyBhbmQgZnVuY3Rpb25zIHRvIGVhc2UgZGV2ZWxvcGluZyBDTVMgTWFkZSBzaW1wbGUgcG93ZXJlZAojICB3ZWJzaXRlcy4KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCmZ1bmN0aW9uIHNtYXJ0eV9mdW5jdGlvbl9zZXNzaW9uX3B1dCgkcGFyYW1zLCYkc21hcnR5KQp7CiAgaWYoIGlzc2V0KCRwYXJhbXNbJ3ZhciddKSAmJiBpc3NldCgkcGFyYW1zWyd2YWx1ZSddKSApIHsKICAgICR2YXIgPSB0cmltKCRwYXJhbXNbJ3ZhciddKTsKICAgIGlmKCBpc19zdHJpbmcoJHZhcikgKSAkX1NFU1NJT05bJHZhcl0gPSAkcGFyYW1zWyd2YWx1ZSddOwogIH0KfQoKZnVuY3Rpb24gc21hcnR5X2Z1bmN0aW9uX3Nlc3Npb25fZXJhc2UoJHBhcmFtcywmJHNtYXJ0eSkKewogIGlmKCBpc3NldCgkcGFyYW1zWyd2YXInXSkgKSB7CiAgICAkdmFyID0gdHJpbSgkcGFyYW1zWyd2YXInXSk7CiAgICBpZiggaXNfc3RyaW5nKCR2YXIpICYmIGlzc2V0KCRfU0VTU0lPTlskdmFyXSkgKSB1bnNldCgkX1NFU1NJT05bJHZhcl0pOwogIH0KfQoKIyBFT0YKPz4=]]></data>
	</file>
	<file>
	  <filename>/help.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIHNvbWUgc2ltcGxlIHNtYXJ0eSB1dGlsaXRpZXMgZm9yIHVzZSBpbiBhcHBsaWNhdGlvbnMgb3IgZm9yIGN1c3RvbWl6aW5nIHRoZSBiZWhhdmlvdXIgb2YgeW91ciBDTVMgTWFkZSBTaW1wbGUgcGFnZXMuPC9wPgo8aDM+SG93IERvIEkgVXNlIEl0OjwvaDM+CjxwPldoZW4gdGhpcyBtb2R1bGUgaXMgaW5zdGFsbGVkLCBhIG5ldyBzbWFydHkgb2JqZWN0IG5hbWVkIGNnc2ltcGxlIGlzIGF1dG9tYXRpY2FsbHkgYXZhaWxhYmxlIHRvIHlvdXIgcGFnZSB0ZW1wbGF0ZXMsIGdsb2JhbCBjb250ZW50IGJsb2NrcywgYW5kIHZhcmlvdXMgbW9kdWxlIHRlbXBsYXRlcy4gIFRoaXMgc21hcnR5IG9iamVjdCBoYXMgbnVtZXJvdXMgZnVuY3Rpb25zIHRoYXQgeW91IGNhbiBjYWxsIGF0IGFueSB0aW1lLjwvcD4KPGg0PkF2YWlsYWJsZSBGdW5jdGlvbnM6PC9oND4KPHVsPgo8bGk+PHN0cm9uZz5jZ3NpX2FycmF5X3NldDwvc3Ryb25nPihbJGFzc2lnbl0pCiAgICA8cD48c3Ryb25nPkRlcHJlY2F0ZWQ8L3N0cm9uZz48L3A+CiAgICA8cD5TZXQgaXRlbXMgaW50byBhIHNtYXJ0eSBhcnJheSwgb3IgY3JlYXRlIGEgbmV3IHNtYXJ0eSBhcnJheS4gIFRoaXMgcGx1Z2luIHJldHVybnMgbm8gb3V0cHV0LjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5hcnJheSAgICAgICAgLSByZXF1aXJlZCA6IFRoZSBuYW1lIG9mIHRoZSBzbWFydHkgYXJyYXkgdG8gY3JlYXRlIG9yIGFkanVzdC48L2xpPgogICAgICAgPGxpPmtleSAgICAgICAgICAtIHJlcXVpcmVkIDogVGhlIGFycmF5IGtleS48L2xpPgogICAgICAgPGxpPnZhbHx2YWx1ZSAgICAtIHJlcXVpcmVkIDogVGhlIHZhbHVlIHRvIGFkZC48L2xpPgogICAgICA8L3VsPgogICAgICA8YnIvPkV4YW1wbGU6IDxjb2RlPnthcnJheV9zZXQgYXJyYXk9c29tZWRhdGEga2V5PWZvbyB2YWw9YmFyfTwvY29kZT4KICAgIDwvcD4KPC9saT4KCjxici8+CjxsaT48c3Ryb25nPmNnc2lfYXJyYXlfdW5zZXQ8L3N0cm9uZz4oWyRhc3NpZ25dKQogICAgPHA+PHN0cm9uZz5EZXByZWNhdGVkPC9zdHJvbmc+PC9wPgogICAgPHA+VGhlIG9wcG9zaXRlIG9mIHRoZSBhcnJheSBzZXQgbWV0aG9kLCB0aGlzIGZ1bmN0aW9uIHJlbW92ZXMgaXRlbXMgZnJvbSBhIHNtYXJ0eSBhc3NvY2lhdGl2ZSBhcnJheS48L3A+CiAgICA8cD5Bcmd1bWVudHM6CiAgICAgICA8dWw+CiAgICAgICA8bGk+YXJyYXkgICAgICAgIC0gcmVxdWlyZWQgOiBUaGUgbmFtZSBvZiB0aGUgc21hcnR5IGFycmF5IHRvIGNyZWF0ZSBvciBhZGp1c3QuPC9saT4KICAgICAgIDxsaT5rZXkgICAgICAgICAgLSByZXF1aXJlZCA6IFRoZSBhcnJheSBrZXkuPC9saT4KICAgICAgPC91bD4KICAgICAgPGJyLz5FeGFtcGxlOiA8Y29kZT57YXJyYXlfdW5zZXQgYXJyYXk9c29tZWRhdGEga2V5PWZvb308L2NvZGU+CiAgICA8L3A+CjwvbGk+Cgo8YnIvPgo8bGk+PHN0cm9uZz5zZWxmX3VybDwvc3Ryb25nPihbJGFzc2lnbl0pCiAgICA8cD5SZXR1cm4gdGhlIGN1cnJlbnQgVVJMPC9wPgogICAgPHA+QXJndW1lbnRzOgogICAgICAgPHVsPgogICAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CiAgICAgIDwvdWw+CiAgICA8YnIvPjwvcD4KPC9saT4KCjxici8+CjxsaT48c3Ryb25nPmFuY2hvcl91cmw8L3N0cm9uZz4oJG5hbWUpCiAgPHA+R2VuZXJhdGUgdGhlIGFic29sdXRlIFVSTCB0byBhbiBhbmNob3IgdGhhdCBpcyBvbiB0aGUgc2FtZSBwYWdlLjwvcD4KICA8cD5Bcmd1bWVudHM6CiAgICA8dWw+CiAgICAgIDxsaT4kbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBhbmNob3IgdG8gbGluayB0by48L2xpPgogICAgPC91bD4KICA8YnIvPjwvcD4KICA8cD5FeGFtcGxlOjxici8+CiAgICA8cHJlPiZsdDthIGhyZWY9IntjZ3NpbXBsZTo6YW5jaG9yX3VybCgnYm90dG9tJyl9IiZndDtHbyB0byB0aGUgYm90dG9tJmx0Oy9hJmd0OwombHQ7YSBuYW1lPSJib3R0b20iJmd0O1RoZSBib3R0b20mbHQ7YSZndDs8L3ByZT48YnIvPgogIDwvcD4KPC9saT4KCjxici8+CjxsaT48c3Ryb25nPm1vZHVsZV9pbnN0YWxsZWQ8L3N0cm9uZz4oJG1vZHVsZW5hbWVbLCRhc3NpZ25dKQogICAgPHA+VGVzdCBpZiBhIHBhcnRpY3VsYXIgbW9kdWxlIGlzIGluc3RhbGxlZC48L3A+CiAgICA8cD5Bcmd1bWVudHM6CiAgICAgICA8dWw+CiAgICAgICAgIDxsaT4kbW9kdWxlbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBtb2R1bGUgdG8gY2hlY2s8L2xpPgogICAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CiAgICAgIDwvdWw+CiAgICA8YnIvPjwvcD4KICAgIDxwPkV4YW1wbGU6PGJyLz4KICAgIDxwcmU+e2lmIGNnc2ltcGxlOjptb2R1bGVfaW5zdGFsbGVkKCdGcm9udEVuZFVzZXJzJyl9Rm91bmQgRkVVey9pZn08L3ByZT48YnIvPgogICAgPC9wPgo8L2xpPgoKPGJyLz4KPGxpPjxzdHJvbmc+bW9kdWxlX3ZlcnNpb248L3N0cm9uZz4oJG1vZHVsZW5hbWVbLCRhc3NpZ25dKQogICAgPHA+UmV0dXJuIHRoZSB2ZXJzaW9uIG51bWJlciBvZiBhIHNwZWNpZmljIGluc3RhbGxlZCBtb2R1bGU8L3A+CiAgICA8cD5Bcmd1bWVudHM6CiAgICAgICA8dWw+CiAgICAgICAgIDxsaT4kbW9kdWxlbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBtb2R1bGUgdG8gY2hlY2s8L2xpPgogICAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CiAgICAgIDwvdWw+CiAgICA8YnIvPjwvcD4KICAgIDxwPkV4YW1wbGU6PGJyLz4KICAgIDxwcmU+e2Nnc2ltcGxlOjptb2R1bGVfdmVyc2lvbignRnJvbnRFbmRVc2VycycsJ2ZldV92ZXJzaW9uJyl9V2UgaGF2ZSBWZXJzaW9uIHskZmV1X3ZlcnNpb259IG9mIEZyb250RW5kVXNlcnM8L3ByZT48YnIvPgogICAgPC9wPgo8L2xpPgoKPGJyLz4KPGxpPjxzdHJvbmc+Z2V0X3BhcmVudF9hbGlhczwvc3Ryb25nPihbJGFsaWFzXSxbJGFzc2lnbl0pCiAgICA8cD5SZXR1cm5zIHRoZSBhbGlhcyBvZiB0aGUgc3BlY2lmaWVkIHBhZ2VzIHBhcmVudC4gUmV0dXJucyBhbiBlbXB0eSBzdHJpbmcgaWYgdGhlcmUgaXMgbm8gcGFyZW50LjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gZmluZCB0aGUgcGFyZW50IG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4KICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4KICAgICAgIDwvdWw+CiAgICA8YnIvPjwvcD4KICAgIDxwPkV4YW1wbGU6PGJyLz4KICAgIDxwcmU+VGhlIHBhcmVudCBwYWdlIGFsaWFzIGlzIHtjZ3NpbXBsZTo6Z2V0X3BhcmVudF9hbGlhcygpfTwvcHJlPjxici8+CiAgICA8L3A+CjwvbGk+Cgo8YnIvPgo8bGk+PHN0cm9uZz5nZXRfcm9vdF9hbGlhczwvc3Ryb25nPihbJGFsaWFzXVssJGFzc2lnbl0pCiAgICA8cD5SZXR1cm5zIHRoZSBhbGlhcyBvZiB0aGUgc3BlY2lmaWVkIHBhZ2VzIHJvb3QgcGFyZW50LiBSZXR1cm5zIGFuIGVtcHR5IHN0cmluZyBpZiB0aGVyZSBpcyBubyByb290IHBhcmVudC48L3A+CiAgICA8cD5Bcmd1bWVudHM6CiAgICAgICA8dWw+CiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHJvb3QgcGFyZW50IG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4KICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4KICAgICAgIDwvdWw+CiAgICA8YnIvPjwvcD4KICAgIDxwPkV4YW1wbGU6PGJyLz4KICAgIDxwcmU+VGhlIHJvb3QgcGFyZW50IHBhZ2UgYWxpYXMgaXMge2Nnc2ltcGxlOjpnZXRfcm9vdF9hbGlhcygpfTwvcHJlPjxici8+CiAgICA8L3A+CjwvbGk+Cgo8YnIvPgo8bGk+PHN0cm9uZz5nZXRfcGFnZV90aXRsZTwvc3Ryb25nPihbJGFsaWFzXVssJGFzc2lnbl0pCiAgICA8cD5SZXR1cm5zIHRoZSB0aXRsZSBvZiB0aGUgc3BlY2lmaWVkIHBhZ2UuPC9wPgogICAgPHA+QXJndW1lbnRzOgogICAgICAgPHVsPgogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byBmaW5kIHRoZSB0aXRsZSBvZi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+CiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CiAgICAgICA8L3VsPgogICAgPGJyLz48L3A+CiAgICA8cD5FeGFtcGxlOjxici8+CiAgICA8cHJlPlRoZSB0aXRsZSBvZiB0aGUgY3VycmVudCBwYWdlIGlzIHtjZ3NpbXBsZTo6Z2V0X3BhZ2VfdGl0bGUoKX08L3ByZT48YnIvPgogICAgPC9wPgo8L2xpPgoKPGJyLz4KPGxpPjxzdHJvbmc+Z2V0X3BhZ2VfbWVudXRleHQ8L3N0cm9uZz4oWyRhbGlhc11bLCRhc3NpZ25dKQogICAgPHA+UmV0dXJucyB0aGUgbWVudXRleHQgb2YgdGhlIHNwZWNpZmllZCBwYWdlLjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gZmluZCB0aGUgdGl0bGUgb2YuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPgogICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICAgPC91bD4KICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZTo8YnIvPgogICAgPHByZT5UaGUgbWVudXRleHQgb2YgdGhlIGN1cnJlbnQgcGFnZSBpcyB7Y2dzaW1wbGU6OmdldF9wYWdlX21lbnV0ZXh0KCl9PC9wcmU+PGJyLz4KICAgIDwvcD4KPC9saT4KCjxici8+CjxsaT48c3Ryb25nPmdldF9wYWdlX3R5cGU8L3N0cm9uZz4oWyRhbGlhc11bLCRhc3NpZ25dKQogICAgPHA+UmV0dXJucyB0aGUgbmFtZSBvZiB0aGUgY29udGVudCB0eXBlIG9mIHRoZSBzcGVjaWZpZWQgY29udGVudCBvYmplY3QgKGJ5IGFsaWFzKTwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gZmluZCB0aGUgdGl0bGUgb2YuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPgogICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICAgPC91bD4KICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZTo8YnIvPgogICAgPHByZT5UaGUgdHlwZSBvZiB0aGUgY3VycmVudCBwYWdlIGlzIHtjZ3NpbXBsZTo6Z2V0X3BhZ2VfdHlwZSgpfTwvcHJlPjxici8+CiAgICA8L3A+CjwvbGk+Cgo8YnIvPgo8bGk+PHN0cm9uZz5oYXNfY2hpbGRyZW48L3N0cm9uZz4oWyRhbGlhc11bLCRhc3NpZ25dKQogICAgPHA+VGVzdCBpZiB0aGUgc3BlY2lmaWVkIHBhZ2UgaGFzIGNoaWxkcmVuLjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gdGVzdC4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+CiAgICAgICA8bGk+WyRhc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICAgPC91bD4KICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZTo8YnIvPgogICAgPHByZT57Y2dzaW1wbGU6Omhhc19jaGlsZHJlbignJywnaGFzX2NoaWxkcmVuJyl9e2lmICRoYXNfY2hpbGRyZW59VGhlIGN1cnJlbnQgcGFnZSBoYXMgY2hpbGRyZW57ZWxzZX1UaGUgY3VycmVudCBwYWdlIGhhcyBubyBjaGlsZHJlbnsvaWZ9PC9wcmU+PGJyLz4KICAgIDwvcD4KPC9saT4KCjxici8+CjxsaT48c3Ryb25nPmdldF9jaGlsZHJlbjwvc3Ryb25nPihbJGFsaWFzXVssJHNob3dpbmFjdGl2ZV1bLCRhc3NpZ25dKQogICA8cD5SZXR1cm4gYW4gYXJyYXkgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCBhIHBhZ2VzIGNoaWxkcmVuIChpZiBhbnkpPC9wPgogICAgPHA+QXJndW1lbnRzOgogICAgICAgPHVsPgogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byB0ZXN0LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4KICAgICAgIDxsaT5bJHNob3dpbmFjdGl2ZV0gLSAob3B0aW9uYWwpIFdldGhlciBpbmFjdGl2ZSBwYWdlcyBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlIHJlc3VsdCAoZGVmYXVsdHMgdG8gZmFsc2UpLjwvbGk+CiAgICAgICA8bGk+WyRhc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICAgPC91bD4KICAgIDxici8+PC9wPgogICAgPHA+RmllbGRzOgogICAgICAgPHVsPgogICAgICAgPGxpPmFsaWFzIC0gdGhlIHBhZ2UgYWxpYXMgb2YgdGhlIGNoaWxkPC9saT4KICAgICAgIDxsaT5pZCAtIHRoZSBwYWdlIGlkIG9mIHRoZSBjaGlsZDwvbGk+CiAgICAgICA8bGk+dGl0bGUgLSB0aGUgdGl0bGUgcGFnZSBvZiB0aGUgY2hpbGQgcGFnZS48L2xpPgogICAgICAgPGxpPm1lbnV0ZXh0IC0gdGhlIG1lbnUgdGV4dCBvZiB0aGUgY2hpbGQ8L2xpPgogICAgICAgPGxpPnNob3dfaW5fbWVudSAtIHdldGhlciB0aGlzIGNoaWxkIHBhZ2UgaXMgdmlzaWJsZSBpbiBtZW51cy48L2xpPgogICAgICAgPGxpPnR5cGUgLSBUaGUgdHlwZSBvZiBjaGlsZCBjb250ZW50IG9iamVjdC48L2xpPgogICAgICAgPC91bD4KICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZTo8YnIvPgogICAgPHByZT4Ke2Nnc2ltcGxlOjpnZXRfY2hpbGRyZW4oJycsMCwnY2hpbGRyZW4nKX0Ke2lmIGNvdW50KCRjaGlsZHJlbil9CiAgIHtmb3JlYWNoIGZyb209JGNoaWxkcmVuIGl0ZW09J2NoaWxkJ30KICAgICAge2lmICRjaGlsZC5zaG93X2luX21lbnV9CiAgICAgICAgQ2hpbGQ6ICBpZCA9IHskY2hpbGQuaWR9IGFsaWFzID0geyRjaGlsZC5hbGlhc30mbHQ7YnIvJmd0OwogICAgICB7L2lmfQogICB7L2ZvcmVhY2h9CnsvaWZ9CiAgICA8L3ByZT48YnIvPgogICAgPC9wPgo8L2xpPgoKPGJyLz4KPGxpPjxzdHJvbmc+Z2V0X3BhZ2VfY29udGVudDwvc3Ryb25nPigkYWxpYXNbLCRibG9ja11bLCRhc3NpZ25dKQogICAgPHA+UmV0dXJucyB0aGUgdGV4dCBvZiBhIHNwZWNpZmljIGNvbnRlbnQgYmxvY2sgb2YgYW5vdGhlciBwYWdlLjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT4kYWxpYXMgLSBUaGUgcGFnZSBhbGlhcyB0byBleHRyYWN0IGNvbnRlbnQgZnJvbS48L2xpPgogICAgICAgPGxpPlskYmxvY2tdIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiB0aGUgY29udGVudCBibG9jayBpbiB0aGUgc3BlY2lmaWVkIHBhZ2UuICBJZiB0aGlzIHZhcmlhYmxlIGlzIG5vdCBzcGVjaWZpZWQgdGhlIHZhbHVlIG9mIHRoZSBkZWZhdWx0IGNvbnRlbnQgYmxvY2sgPGVtPihjb250ZW50X2VuKTwvZW0+IGlzIGFzc3VtZWQuPC9saT4KICAgICAgIDxsaT5bJGFzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CiAgICAgICA8L3VsPgogICAgPGJyLz48L3A+CiAgICA8cD5FeGFtcGxlOjxici8+CiAgICA8cHJlPlRoZSAnc2Vjb25kJyBibG9jayBvZiB0aGUgJ2Fib3V0JyBwYWdlIGlzIHtjZ3NpbXBsZTo6Z2V0X3BhZ2VfY29udGVudCgnYWJvdXQnLCdzZWNvbmQnLCdmb28nKX17ZXZhbCB2YXI9JGZvb308L3ByZT48YnIvPgogICAgPC9wPgo8L2xpPgoKPGJyLz4KPGxpPjxzdHJvbmc+Z2V0X3NpYmxpbmc8L3N0cm9uZz4oJGRpcmVjdGlvblssJGFzc2lnbl1bLCRhbGlhc10pCiAgICA8cD5SZXR1cm5zIHRoZSBhbGlhcyBvZiB0aGUgbmV4dCBvciBwcmV2aW91cyBzaWJsaW5nIHRvIHRoZSBzcGVjaWZpZWQKICAgICAgIHBhZ2UuIG9yIGZhbHNlLjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT4kZGlyZWN0aW9uIC0gdGhlIGRpcmVjdGlvbiB0byBsb29rIGluLiAgcG9zc2libGUgdmFsdWVzIGFyZSBwcmV2LHByZXZpb3VzLC0xLG5leHQsMTwvbGk+CiAgICAgICA8bGk+WyRhc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiB0aGUgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHNpYmxpbmcgZm9yLiAgSWYgdGhpcyBpcyBub3Qgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4KICAgICAgIDwvdWw+CiAgICA8YnIvPjwvcD4KICAgICAgIDxwPkV4YW1wbGU6PGJyLz4KICAgICAgIDxwcmU+TGluayB0byBwcmV2aW91cyBzaWJsaW5nOiB7Y2dzaW1wbGU6OmdldF9zaWJsaW5nKCZxdW90O3ByZXYmcXVvdCwmcXVvdDtwcmV2X3NpYmxpbmcmcXVvdDspfXtpZiAhZW1wdHkoJHByZXZfc2libGluZyl9e2Ntc19zZWxmbGluayBwYWdlPSZxdW90OyRwcmV2X3NpYmxpbmcmcXVvdDsgdGV4dD0mcXVvdDtQcmV2aW91cyZxdW90O317L2lmfTwvcHJlPjxici8+CiAgICA8L2xpPgoKPGJyLz4KPGxpPjxzdHJvbmc+Z2V0X3BhcmFsbGVsX3BhZ2U8L3N0cm9uZz4oJG5ld19yb290WywkY3VycmVudF9wYWdlID0gbnVsbFssJGFzc2lnbiA9IG51bGxdXSkKICAgPHA+R2V0IHRoZSBhbGlhcyBvZiBhIHBhcmFsbGVsIHBhZ2UgaWRuIHRoZSBwYWdlIHN0cmljdHVyZSBnaXZlbiBhIGRpZmZlcmVudCByb290IGFsaWFzLjwvcD4KICAgPHA+SW4gYSBtdWx0aWxhbmd1YWdlIHNpdGUgd2hlcmUgdGhlIHJvb3QgbGV2ZWxzIHJlcHJlc2VudCBkaWZmZXJlbnQgbGFuZ3VhZ2VzLCBpdCBtYXkgYmUgdXNlZnVsIHRvIHJldHJpZXZlIHRoZSBhbGlhcyB0byBhbiBlcXVpdmFsZW50IHBhZ2UgaW4gYSBkaWZmZXJlbnQgbGFuZ3VhZ2UuICBpLmUuOiBpZiB0aGUgdXNlciBpcyBjdXJyZW50bHkgYnJvd3NpbmcgdGhlIGZyZW5jaCBwYWdlIGFuZCB3aXNoZXMgdG8gc2VlIHRoZSBzYW1lIHBhZ2UgaW4gZW5nbGlzaCAoaWYgaXQgZXhpc3RzKS48L3A+CiAgIDxwPlRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgYWxpYXMgb2YgdGhlIHNwZWNpZmllZCBwYWdlIHVuZGVyIHRoZSBuZXcgcm9vdC4gIElmIGl0IGV4aXN0cy4gIElmIG5vdGhpbmcgaXMgZm91bmQsIG51bGwgaXMgcmV0dXJuZWQuPC9wPgogICA8cD5Bcmd1bWVudHM6CiAgICAgICA8dWw+CiAgICAgICA8bGk+bmV3IHJvb3QgLSBUaGUgYWxpYXMgb2YgdGhlIG5ldyByb290IHBhcmVudC4gIE5vdGUsIGlmIGEgdG9wIGxldmVsIHBhZ2UgaXMgbm90IHNwZWNpZmllZCwgdGhlIGFsaWFzIHByb3ZpZGVkIGlzIHVzZWQgdG8gZmluZCB0aGUgdG9wIGxldmVsIHBhZ2UgKHNlZSBnZXRfcm9vdF9hbGlhcykuPC9saT4KICAgICAgIDxsaT5jdXJyZW50X3BhZ2UgLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHBlZXIgb2YuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPgogICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICAgPC91bD4KICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZTo8YnIvPgogICAgPHByZT5GaW5kIHRoZSBlcXVpdmFsZW50IGZyZW5jaCBwYWdlIGZvciB0aGlzIHBhZ2U6IHtjZ3NpbXBsZTo6Z2V0X3BhcmFsbGVsX3BhZ2UoJ0ZSJywkcGFnZV9hbGlhcywndG1wJyl9e2lmICR0bXAgIT0gJycgJiYgJHRtcCAhPSAkcGFnZV9hbGlhc317Y21zX3NlbGZsaW5rIHBhZ2U9JHRtcH17L2lmfTwvcHJlPgogICAgPC9wPgo8L2xpPgoKPGJyLz4KPGxpPjxzdHJvbmc+Z2V0X2ZpbGVfbGlzdGluZzwvc3Ryb25nPigkZGlyWywkZXhjbHVkZXByZWZpeFssJGFzc2lnbl1dKQogICAgPHA+UmV0cm4gYSBsaXN0IG9mIGZpbGVzIGluIGEgZGlyZWN0b3J5LjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgPHVsPgogICAgICA8bGk+JGRpciAtIFRlIGRpcmVjdG9yeSB0byBzY2FuIChzaG91bGQgYmUgYW4gYWJzb2x1dGUgZGlyZWN0b3J5KTwvbGk+CiAgICAgIDxsaT5bJGV4Y2x1ZGVwcmVmaXhdIC0gKG9wdGlvbmFsKSBFeGNsdWRlIGZpbGVzIHN0cnRpbmcgd2l0aCB0aGUgc3BlY2lmaWVkIHByZWZpeC48L2xpPgogICAgICA8bGk+WyRhc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICA8L3VsPgogICAgPC9wPgogICAgPC9saT4KCjwvdWw+Cgo8aDQ+T3RoZXIgU21hcnR5IGZ1bmN0aW9uczwvaDQ+Cjx1bD4KICAgIDxsaT48c3Ryb25nPnttb2R1bGVfYWN0aW9uX3VybH08L3N0cm9uZz4KICAgIDxwPkEgc21hcnR5IHBsdWdpbiB0aGF0IGNhbiBjcmVhdGUgYSB1cmwgdG8gYSBtb2R1bGUgYWN0aW9uLjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5tb2R1bGUgLSBUaGUgbW9kdWxlIHRvIGNyZWF0ZSBhIGxpbmsgdG8uICBUaGlzIGFyZ3VtZW50IGlzIG9wdGlvbmFsLCB0aGUgc3lzdGVtIHdpbGwgYXR0ZW1wdCB0byBkZXRlY3QgdGhlIGN1cnJlbnQgbW9kdWxlIG5hbWUgKGlmIHdpdGhpbiBhIG1vZHVsZSBhY3Rpb24pPC9saT4KICAgICAgIDxsaT5hY3Rpb24gKGRlZmF1bHQpIC0gVGhlIGFjdGlvbiB0byBjYWxsIHdpdGhpbiB0aGUgbW9kdWxlPC9saT4KICAgICAgIDxsaT5wYWdlIC0gU3BlY2lmeSB0aGUgZGVzdGluYXRpb24gcGFnZTwvbGk+CiAgICAgICA8bGk+anNmcmllbmRseXxmb3JqcyAtIFR1cm5zIG9uIHRoZSB1cmxvbmx5IHBhcmFtZXRlciwgYW5kIGluZGljYXRlcyB0aGF0IGphdmFzY3JpcHQgZnJpZW5kbHkgdXJscyBhcmUgb3V0cHV0LjwvbGk+CiAgICAgICA8bGk+Zm9yYWpheCAtIFR1cm5zIG9uIHRoZSBqc2ZyaWVuZGx5IHBhcmFtZXRlciAoYW5kIHRoZSB1cmxvbmx5IHBhcmFtZXRlciksIGFuZCBhbHNvIGFwcGVuZHMgc2hvd3RlbXBsYXRlPWZhbHNlIHRvIHRoZSBVUkwgb3V0cHV0IGZvciBBSkFYIHJlcXVlc3RzPC9saT4KICAgICAgIDxsaT5hc3NpZ24gLSBBc3NpZ24gdGhlIG91dHB1dCBvZiB0aGUgcGx1Z2luIHRvIHRoZSBuYW1lZCBzbWFydHkgdmFyaWFibGUuPC9saT4KICAgICAgIDwvdWw+CiAgICA8YnIvPjwvcD4KICAgIDxwPkFueSBvdGhlciBhcmd1bWVudHMgdG8gdGhlIHNtYXJ0eSBwbHVnaW4gd2lsbCBiZSBhZGRlZCB0byB0aGUgVVJMIGdlbmVyYXRlZC48L3A+ICAgPHA+RXhhbXBsZToKICAgIDxwcmU+e21vZHVsZV9hY3Rpb25fdXJsIG1vZHVsZT0nTmV3cycgYWN0aW9uPSdmZXN1Ym1pdCcgYXNzaWduPSdmb28nfTwvcHJlPjxici8+PC9wPjwvbGk+CgogICAgPGxpPjxzdHJvbmc+e21vZHVsZV9hY3Rpb25fbGlua308L3N0cm9uZz4KICAgIDxwPkEgc21hcnR5IHBsdWdpbiB0aGF0IGNhbiBjcmVhdGUgYSBsaW5rIHRvIGEgbW9kdWxlIGFjdGlvbi48L3A+CiAgICA8cD5Bcmd1bWVudHM6CiAgICAgICA8dWw+CiAgICAgICA8bGk+bW9kdWxlIC0gVGhlIG1vZHVsZSB0byBjcmVhdGUgYSBsaW5rIHRvLiAgVGhpcyBhcmd1bWVudCBpcyBvcHRpb25hbCwgdGhlIHN5c3RlbSB3aWxsIGF0dGVtcHQgdG8gZGV0ZWN0IHRoZSBjdXJyZW50IG1vZHVsZSBuYW1lIChpZiB3aXRoaW4gYSBtb2R1bGUgYWN0aW9uKTwvbGk+CiAgICAgICA8bGk+YWN0aW9uIChkZWZhdWx0KSAtIFRoZSBhY3Rpb24gdG8gY2FsbCB3aXRoaW4gdGhlIG1vZHVsZTwvbGk+CiAgICAgICA8bGk+dGV4dCAtIFRoZSB0ZXh0IHRvIHB1dCBpbiB0aGUgbGluazwvbGk+CiAgICAgICA8bGk+cGFnZSAtIFNwZWNpZnkgdGhlIGRlc3RpbmF0aW9uIHBhZ2U8L2xpPgogICAgICAgPGxpPnVybG9ubHkgLSBJbnN0ZWFkIG9mIGdlbmVyYXRpbmcgYSBsaW5rLCBnZW5lcmF0ZSBqdXN0IHRoZSB1cmw8L2xpPgogICAgICAgPGxpPmpzZnJpZW5kbHl8Zm9yanMgLSBUdXJucyBvbiB0aGUgdXJsb25seSBwYXJhbWV0ZXIsIGFuZCBpbmRpY2F0ZXMgdGhhdCBqYXZhc2NyaXB0IGZyaWVuZGx5IHVybHMgYXJlIG91dHB1dC48L2xpPgogICAgICAgPGxpPmZvcmFqYXggLSBUdXJucyBvbiB0aGUganNmcmllbmRseSBwYXJhbWV0ZXIgKGFuZCB0aGUgdXJsb25seSBwYXJhbWV0ZXIpLCBhbmQgYWxzbyBhcHBlbmRzIHNob3d0ZW1wbGF0ZT1mYWxzZSB0byB0aGUgVVJMIG91dHB1dCBmb3IgQUpBWCByZXF1ZXN0czwvbGk+CiAgICAgICA8bGk+Y29uZm1lc3NhZ2UgLSBBIGNvbmZpcm1hdGlvbiBtZXNzYWdlIHRvIGRpc3BsYXkgd2hlbiB0aGUgbGluayBpcyBjbGlja2VkLjwvbGk+CiAgICAgICA8bGk+aW1hZ2UgLSBBbiBpbWFnZSB0byB1c2Ugb24gdGhlIGxpbms8L2xpPgogICAgICAgPGxpPmltYWdlb25seSAtIElmIGFuIGltYWdlIGlzIHNwZWNpZmllZCwgY3JlYXRlIGEgbGluayBvbmx5IGNvbnNpc3Rpbmcgb2YgdGhlIGltYWdlLiAgVGhlIHRleHQgd2lsbCBiZSB1c2VkIGZvciB0aGUgdGl0bGUgYXR0cmlidXRlPC9saT4KICAgICAgIDxsaT5hc3NpZ24gLSBBc3NpZ24gdGhlIG91dHB1dCBvZiB0aGUgcGx1Z2luIHRvIHRoZSBuYW1lZCBzbWFydHkgdmFyaWFibGUuPC9saT4KICAgICAgIDwvdWw+CiAgICA8YnIvPjwvcD4KICAgIDxwPkFueSBvdGhlciBhcmd1bWVudHMgdG8gdGhlIHNtYXJ0eSBwbHVnaW4gd2lsbCBiZSBhZGRlZCB0byB0aGUgVVJMIGdlbmVyYXRlZC48L3A+ICAgPHA+RXhhbXBsZToKICAgIDxwcmU+e21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9J05ld3MnIGFjdGlvbj0nZmVzdWJtaXQnIHRleHQ9J1N1Ym1pdCBhIE5ldyBOZXdzIEFydGljbGUnfTwvcHJlPjxici8+PC9wPjwvbGk+CgogICAgPGxpPjxzdHJvbmc+e2FuY2hvcl9saW5rfTwvc3Ryb25nPgogICAgPHA+QSBzbWFydHkgcGx1Z2luIHRvIGdlbmVyYXRlIGEgbGluayB0byBhbiBhbmNob3IgdGhhdCBpcyBvbiB0aGUgc2FtZSBwYWdlLjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgPHVsPgogICAgICA8bGk+bnxuYW1lIC0gPGVtPihzdHJpbmcpPC9lbT4gVGhlIG5hbWUgb2YgdGhlIGFuY2hvciB0byBsaW5rIHRvLjwvbGk+CiAgICAgIDxsaT50ZXh0IC0gPGVtPihzdHJpbmc+PC9lbT4gVGhlIHRleHQgcG9ydGlvbiBvZiB0aGUgbGluay4gIElmIG5vdCBzcGVjaWZpZWQsIHRoZSBhbmNob3IgbmFtZSB3aWxsIGJlIHVzZWQuPC9saT4KICAgICAgPGxpPnVybG9ubHkgLSA8ZW0+KGJvb2wpPC9lbT4gT3B0aW9uYWxseSBvbmx5IGdlbmVyYXRlIHRoZSBVUkwgcG9ydGlvbiBvZiB0aGUgbGluay4gIHNlZSBjZ3NpbXBsZTo6YW5jaG9yX3VybCgpPC9saT4KICAgICAgPGxpPmFzc2lnbiAtIDxlbT4oc3RyaW5nPjwvZW0+IE9wdGlvbmFsbHkgYXNzaWduIHRoZSBvdXRwdXQgb2YgdGhlIHBsdWdpbiB0byB0aGUgbmFtZWQgc21hcnR5IHZhcmlhYmxlLjwvbGk+CiAgICAgIDwvdWw+CiAgICA8L3A+CiAgICA8cD5Bbnkgb3RoZXIgYXJndW1lbnRzIHRvIHRoZSBzbWFydHkgcGx1Z2luIHdpbGwgYmUgYWRkZWQgYXMgYXR0cmlidXRlcyB0byB0aGUgbGluayBnZW5lcmF0ZWQuPC9wPgogICAgPHA+RXhhbXBsZTogPHByZT57YW5jaG9yX2xpbmsgbmFtZT1ib3R0b20gY2xhc3M9ImFuY2hvcl9jbGFzcyIgaWQ9ImFuY2hvcl9pZCJ9PC9wcmU+PC9wPgogICAgPC9saT4KCiAgICA8bGk+PHN0cm9uZz57c2Vzc2lvbl9wdXR9PC9zdHJvbmc+CiAgICA8cD5BIHNtYXJ0eSBwbHVnaW4gdGhhdCBjYW4gc3RvcmUgZGF0YSBpbiB0aGUgdXNlciBzZXNzaW9uLiBUaGlzIGRhdGEgaXMgdGhlbiBhY2Nlc3NpYmxlIHZpYSB0aGUgJHNtYXJ0eS5zZXNzaW9uIGFycmF5IGluIHN1YnNlcXVlbnQgcGFnZXMuPC9wPgogICAgPHA+QXJndW1lbnRzOgogICAgICAgPHVsPgogICAgICAgPGxpPnZhciAtIFRoZSBuYW1lIG9mIHRoZSB2YXJpYWJsZSB0byBjcmVhdGUgaW4gdGhlIHNlc3Npb24uPC9saT4KICAgICAgIDxsaT52YWx1ZSAtIFRoZSBkZXNpcmVkIHZhbHVlIG9mIHRoZSB2YXJpYWJsZS48L2xpPgogICAgICAgPC91bD4KICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZToKICAgIDxwcmU+e3Nlc3Npb25fcHV0IHZhcj0ndGVzdCcgdmFsdWU9J2JsYWgnfTwvcHJlPjxici8+PC9wPjwvbGk+CgogICAgPGxpPjxzdHJvbmc+e3Nlc3Npb25fZXJhc2V9PC9zdHJvbmc+CiAgICA8cD5BIHNtYXJ0eSBwbHVnaW4gdGhhdCBjYW4gZXJhc2UgZGF0YSBmcm9tIHRoZSB1c2VyIHNlc3Npb24uPC9wPgogICAgPHA+QXJndW1lbnRzOgogICAgICAgPHVsPgogICAgICAgPGxpPnZhciAtIFRoZSBuYW1lIG9mIHRoZSB2YXJpYWJsZSB0byBlcmFzZSBpbiB0aGUgc2Vzc2lvbi48L2xpPgogICAgICAgPC91bD4KICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZToKICAgIDxwcmU+e3Nlc3Npb25fZXJhc2UgdmFyPSd0ZXN0J308L3ByZT48YnIvPjwvcD48L2xpPgoKICAgIDxsaT48c3Ryb25nPntjZ3JlcGVhdH08L3N0cm9uZz4KICAgIDxwPkFub3RoZXIgc21hcnR5IHBsdWdpbiB0aGF0IHdpbGwgYWxsb3cgcmVwZWF0aW5nIHRleHQ8L3A+CiAgICA8cD5Bcmd1bWVudHM6PC9wPgogICAgICA8dWw+CiAgICAgICAgPGxpPnRleHQgLSBUaGUgdGV4dCB0byBiZSByZXBlYXRlZDwvbGk+CiAgICAgICAgPGxpPmNvdW50IC0gVGhlIG51bWJlciBvZiB0aW1lcyBpdCBzaG91bGQgYmUgcmVwZWF0ZWQ8L2xpPgogICAgICAgIDxsaT5hc3NpZ24gLSBBc3NpZ24gdGhlIG91dHB1dCB0byB0aGUgc3BlY2lmaWVkIHNtYXJ0eSB2YXJpYWJsZTwvbGk+CiAgICAgIDwvdWw+CiAgICA8YnIvPgogICAgPHA+RXhhbXBsZTogPHByZT57Y2dyZXBlYXQgdGV4dD0ndGhpcycgY291bnQ9JzUnfTwvcHJlPjxici8+PC9wPgogICAgPC9saT4KPC91bD4KCjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhlIG1vZHVsZSBhdXRob3IgaXMgaW4gbm8gd2F5IG9ibGlnYXRlZCB0byBwcm92aWRlIHN1cHBvcnQgZm9yIHRoaXMgY29kZSBpbiBhbnkgZmFzaGlvbi4gIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5BIGJ1ZyB0cmFja2luZyBhbmQgZmVhdHVyZSByZXF1ZXN0IHN5c3RlbSBoYXMgYmVlbiBjcmVhdGVkIGZvciB0aGlzIG1vZHVsZSA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2Nnc2ltcGxlc21hcnR5Ij5oZXJlPC9hPi4gIFBsZWFzZSBiZSB2ZXJib3NlIGFuZCBkZXNjcmlwdGl2ZSB3aGVuIHN1Ym1pdHRpbmcgYnVnIHJlcG9ydHMgYW5kIGZlYXR1cmUgcmVxdWVzdHMsIGFuZCBmb3IgYnVnIHJlcG9ydHMgZW5zdXJlIHRoYXQgeW91IGhhdmUgcHJvdmlkZWQgc3VmZmljaWVudCBpbmZvcm1hdGlvbiB0byByZWxpYWJseSByZXByb2R1Y2UgdGhlIGlzc3VlLjwvbGk+CjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uICBXaGVuIGRlc2NyaWJpbmcgYW4gaXNzdWUgcGxlYXNlIG1ha2UgYW4gZWZmb3J0IHRvIHByaXZpZGUgYWxsIHJlbGF2YW50IGluZm9ybWF0aW9uLCBhIHRob3JvdWdoIGRlc2NyaXB0aW9uIG9mIHlvdXIgaXNzdWUsIGFuZCBzdGVwcyB0byByZXByb2R1Y2UgaXQgb3IgeW91ciBkaXNjdXNzaW9uIG1heSBiZSBpZ25vcmVkLjwvbGk+CjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPgo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuICBIb3dldmVyLCBwbGVhc2UgdXNlIHRoaXMgYXMgYSBsYXN0IHJlc29ydCwgYW5kIGVuc3VyZSB0aGF0IHlvdSBoYXZlIGZvbGxvd2VkIGFsbCBhcHBsaWNhYmxlIGluc3RydWN0aW9ucyBvbiB0aGUgZm9yZ2UsIGluIHRoZSBmb3J1bXMsIGV0Yy48L2xpPgo8L3VsPgoKPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLApidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPgo=]]></data>
	</file>
	<file>
	  <filename>/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMgQwoKIyBGCiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdDR1NpbXBsZVNtYXJ0eSc7CgojIEgKCiMgTQokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdDYWxndXlzIFNpbXBsZSBTbWFydHkgVG9vbHMnOwoKIyBQCiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0NHU2ltcGxlU21hcnR5IGlzIG5vdyBpbnN0YWxsZWQnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0NHU2ltcGxlU21hcnR5IGhhcyBiZWVuIHJlbW92ZWQnOwoKIyBTCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/cs_CZ.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT4xLjEgLSBGZWJydWFyeSwgMjAwOA0KICA8cD5BZGRlZCBtb2R1bGVfYWN0aW9uX2xpbms8L3A+DQo8L2xpPg0KPGxpPjEuMCAtIERlY2VtYmVyLCAyMDA3DQogIDxwPkluaXRpYWwgcmVsZWFzZTwvcD4NCjwvbGk+DQo8L3VsPic7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdDR1NpbXBsZVNtYXJ0eSc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPkNvIHRlbnRvIG1vZHVsIGTEm2wmYWFjdXRlOz88L2gzPg0KPHA+VGVudG8gbW9kdWwgcG9za3l0dWplIG7Em2tvbGlrIGplZG5vZHVjaCZ5YWN1dGU7Y2ggcG9txa9jZWsgcHJvIHByJmFhY3V0ZTtjaSBzICZzY2Fyb247YWJsb25vdmFjJmlhY3V0ZTttIHN5c3QmZWFjdXRlO21lbSBTbWFydHkgdmUgVmEmc2Nhcm9uO2ljaCBhcGxpa2FjJmlhY3V0ZTtjaCBuZWJvIHDFmWkgbW9kaWZpa2FjaSBjaG92JmFhY3V0ZTtuJmlhY3V0ZTsgVmEmc2Nhcm9uO2ljaCBzdHImYWFjdXRlO25lay48L3A+DQo8aDM+SmFrIHRlbnRvIG1vZHVsIHBvdcW+JmlhY3V0ZTt0OjwvaDM+DQo8cD5QbyBpbnN0YWxhY2kgdG9ob3RvIG1vZHVsdSBtxa/FvmV0ZSB2ZSBWYSZzY2Fyb247aWNoICZzY2Fyb247YWJsb24mYWFjdXRlO2NoIHN0ciZhYWN1dGU7bmVrLCBibG9jJmlhY3V0ZTtjaCBvYnNhaHUgYSAmc2Nhcm9uO2FibG9uJmFhY3V0ZTtjaCBtb2R1bMWvIHphxI0maWFjdXRlO3QgcG91xb4maWFjdXRlO3ZhdCBub3YmeWFjdXRlOyBTbWFydHkgb2JqZWt0IHBvam1lbm92YW4meWFjdXRlOyA8aT5jZ3NpbXBsZTwvPi4gVGVudG8gb2JqZWt0IHpwxZlpc3R1cMWIdWplIG1ub2hvIGZ1bmtjJmlhY3V0ZTssIGt0ZXImZWFjdXRlOyBtxa/FvmV0ZSB6YcSNJmlhY3V0ZTt0IHBvdcW+JmlhY3V0ZTt2YXQuPC9wPg0KPGg0PkRvc3R1cG4mZWFjdXRlOyBmdW5rY2U6PC9oND4NCjx1bD4NCjxsaT48c3Ryb25nPm1vZHVsZV9pbnN0YWxsZWQ8L3N0cm9uZz4oJG1vZHVsZW5hbWUsWyRhc3NpZ25dKQ0KICAgIDxwPlRlc3R1amUsIHpkYSBqZSBkYW4meWFjdXRlOyBtb2R1bCBuYWluc3RhbG92JmFhY3V0ZTtuLjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgICAgPGxpPiRtb2R1bGVuYW1lIC0gSm0mZWFjdXRlO25vIG1vZHVsdSwgayBuxJttdcW+IHNlIHZ6dGFodWplIGtvbnRyb2xhLjwvbGk+DQogICAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+UMWZJmlhY3V0ZTtrbGFkOjxici8+DQogICAgPHByZT57aWYgJGNnc2ltcGxlLT5tb2R1bGVfaW5zdGFsbGVkKCYjMDM5O0Zyb250RW5kVXNlcnMmIzAzOTspfUZvdW5kIEZFVXsvaWZ9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+bW9kdWxlX3ZlcnNpb248L3N0cm9uZz4oJG1vZHVsZW5hbWUsWyRhc3NpZ25dKQ0KICAgIDxwPlZyJmFhY3V0ZTt0JmlhY3V0ZTsgxI0maWFjdXRlO3NsbyB2ZXJ6ZSB1cml0JmVhY3V0ZTtobyBuYWluc3RhbG92YW4mZWFjdXRlO2hvIG1vZHVsdTwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgICAgPGxpPiRtb2R1bGVuYW1lIC0gSm0mZWFjdXRlO25vIG1vZHVsdSwgamVob8W+IMSNJmlhY3V0ZTtzbG8gdmVyemUgY2hjZXRlIHpqaXN0aXQuPC9saT4NCiAgICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5QxZkmaWFjdXRlO2tsYWQ6PGJyLz4NCiAgICA8cHJlPnskY2dzaW1wbGUtPm1vZHVsZV92ZXJzaW9uKCYjMDM5O0Zyb250RW5kVXNlcnMmIzAzOTssJiMwMzk7ZmV1X3ZlcnNpb24mIzAzOTspfVdlIGhhdmUgVmVyc2lvbiB7JGZldV92ZXJzaW9ufSBvZiBGcm9udEVuZFVzZXJzPC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3BhcmVudF9hbGlhczwvc3Ryb25nPihbJGFsaWFzXSxbJGFzc2lnbl0pDQogICAgPHA+VnImYWFjdXRlO3QmaWFjdXRlOyBhbGlhcyBzdHImYWFjdXRlO25reSBiZXpwcm9zdMWZZWRuxJsgcm9kacSNb3ZzayZlYWN1dGU7IHbFr8SNaSB6YWRhbiZlYWN1dGU7IHN0ciZhYWN1dGU7bmNlLjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgQWxpYXMgc3RyJmFhY3V0ZTtua3ksIGplaiZpYWN1dGU7xb4gcm9kacSNIGJ1ZGUgdnlwcyZhYWN1dGU7bi4gIFBva3VkIG5lbiZpYWN1dGU7IHV2ZWRlbmEgxb4mYWFjdXRlO2RuJmFhY3V0ZTsgaG9kbm90YSwgYnVkZSBwb3XFvml0YSBzb3XEjWFzbiZhYWN1dGU7IHN0ciZhYWN1dGU7bmthLjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5QxZkmaWFjdXRlO2tsYWQ6PGJyLz4NCiAgICA8cHJlPlRoZSBwYXJlbnQgcGFnZSBhbGlhcyBpcyB7JGNnc2ltcGxlLT5nZXRfcGFyZW50X2FsaWFzKCl9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3Jvb3RfYWxpYXM8L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQ0KICAgIDxwPlZyJmFhY3V0ZTt0JmlhY3V0ZTsgYWxpYXMga2/FmWVudSAtIHJvZGnEjWUgemFkYW4mZWFjdXRlOyBzdHImYWFjdXRlO25reSwga3RlciZ5YWN1dGU7IGplIG5lanYmeWFjdXRlOyZzY2Fyb247ZSB2IGhpZXJhcmNoaWkgLjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgQWxpYXMgc3RyJmFhY3V0ZTtua3ksIGplaiZpYWN1dGU7xb4ga2/FmWVuIGJ1ZGUgdnlwcyZhYWN1dGU7bi4gUG9rdWQgbmVuJmlhY3V0ZTsgaG9kbm90YSB1dmVkZW5hLCBidWRlIHBvdcW+aXRhIGFrdHUmYWFjdXRlO2xuJmlhY3V0ZTsgc3RyJmFhY3V0ZTtua2EuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPlDFmSZpYWN1dGU7a2xhZDo8YnIvPg0KICAgIDxwcmU+VGhlIHJvb3QgcGFyZW50IHBhZ2UgYWxpYXMgaXMgeyRjZ3NpbXBsZS0+Z2V0X3Jvb3RfYWxpYXMoKX08L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRfcGFnZV90aXRsZTwvc3Ryb25nPihbJGFsaWFzXSxbJGFzc2lnbl0pDQogICAgPHA+VnImYWFjdXRlO3QmaWFjdXRlOyB0aXR1bGVrIHV2ZWRlbiZlYWN1dGU7IHN0ciZhYWN1dGU7bmt5LjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgQWxpYXMgc3RyJmFhY3V0ZTtua3ksIGplaiZpYWN1dGU7xb4gdGl0dWxlayBjaGNlbWUgdnlwc2F0LiAgUG9rdWQgbmVuJmlhY3V0ZTsgemFkJmFhY3V0ZTtuYSDFviZhYWN1dGU7ZG4mYWFjdXRlOyBob2Rub3RhLCBidWRlIHBvdcW+aXRhIGFrdHUmYWFjdXRlO2xuJmlhY3V0ZTsgc3RyJmFhY3V0ZTtua2EuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPlDFmSZpYWN1dGU7a2xhZDo8YnIvPg0KICAgIDxwcmU+VGhlIHRpdGxlIG9mIHRoZSBjdXJyZW50IHBhZ2UgaXMgeyRjZ3NpbXBsZS0+Z2V0X3BhZ2VfdGl0bGUoKX08L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRfcGFnZV9tZW51dGV4dDwvc3Ryb25nPihbJGFsaWFzXSxbJGFzc2lnbl0pDQogICAgPHA+VnImYWFjdXRlO3QmaWFjdXRlOyB0ZXh0LCBqJmlhY3V0ZTttxb4gamUgdXLEjWl0JmFhY3V0ZTsgc3RyJmFhY3V0ZTtua2EgcG9wcyZhYWN1dGU7bmEgdiBtZW51LjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gZmluZCB0aGUgdGl0bGUgb2YuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+VGhlIG1lbnV0ZXh0IG9mIHRoZSBjdXJyZW50IHBhZ2UgaXMgeyRjZ3NpbXBsZS0+Z2V0X3BhZ2VfdGl0bGUoKX08L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5oYXNfY2hpbGRyZW48L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQ0KICAgIDxwPlRlc3QgaWYgdGhlIHNwZWNpZmllZCBwYWdlIGhhcyBjaGlsZHJlbi48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIHRlc3QuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPnskY2dzaW1wbGUtPmhhc19jaGlsZHJlbigmIzAzOTsmIzAzOTssJGhhc19jaGlsZHJlbil9e2lmICRoYXNfY2hpbGRyZW59VGhlIGN1cnJlbnQgcGFnZSBoYXMgY2hpbGRyZW57ZWxzZX1UaGUgY3VycmVudCBwYWdlIGhhcyBubyBjaGlsZHJlbnsvaWZ9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KICAgIDxsaT48c3Ryb25nPmdldF9wYWdlX2NvbnRlbnQ8L3N0cm9uZz4oJGFsaWFzLFskYmxvY2tdLFskYXNzaWduXSkNCiAgICA8cD5SZXR1cm5zIHRoZSB0ZXh0IG9mIGEgc3BlY2lmaWMgY29udGVudCBibG9jayBvZiBhbm90aGVyIHBhZ2UuPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPiRhbGlhcyAtIFRoZSBwYWdlIGFsaWFzIHRvIGV4dHJhY3QgY29udGVudCBmcm9tLjwvbGk+DQogICAgICAgPGxpPlskYmxvY2tdIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiB0aGUgY29udGVudCBibG9jayBpbiB0aGUgc3BlY2lmaWVkIHBhZ2UuICBpZiB0aGlzIHZhcmlhYmxlIGlzIG5vdCBzcGVjaWZpZWQsICYjMDM5O2NvbnRlbnRfZW4mIzAzOTsgaXMgYXNzdW1lZC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPlRoZSB0aXRsZSBvZiB0aGUgY3VycmVudCBwYWdlIGlzIHskY2dzaW1wbGUtPmdldF9wYWdlX3RpdGxlKCl9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCjwvdWw+DQo8aDQ+T3RoZXIgU21hcnR5IGZ1bmN0aW9uczwvaDQ+DQo8dWw+DQogICAgPGxpPjxzdHJvbmc+e21vZHVsZV9hY3Rpb25fbGlua308L3N0cm9uZz4NCiAgICA8cD5BIHNtYXJ0eSBwbHVnaW4gdGhhdCBjYW4gY3JlYXRlIGEgbGluayB0byBhIG1vZHVsZSBhY3Rpb24uPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPm1vZHVsZSAtIFRoZSBtb2R1bGUgdG8gY3JlYXRlIGEgbGluayB0bzwvbGk+DQogICAgICAgPGxpPmFjdGlvbiAoZGVmYXVsdCkgLSBUaGUgYWN0aW9uIHRvIGNhbGwgd2l0aGluIHRoZSBtb2R1bGU8L2xpPg0KICAgICAgIDxsaT50ZXh0IC0gVGhlIHRleHQgdG8gcHV0IGluIHRoZSBsaW5rPC9saT4NCiAgICAgICA8bGk+cGFnZSAtIFNwZWNpZnkgdGhlIGRlc3RpbmF0aW9uIHBhZ2U8L2xpPg0KICAgICAgIDxsaT51cmxvbmx5IC0gSW5zdGVhZCBvZiBnZW5lcmF0aW5nIGEgbGluaywgZ2VuZXJhdGUganVzdCB0aGUgdXJsPC9saT4NCiAgICAgICA8L3VsPg0KICAgIDxici8+PC9wPg0KICAgIDxwPkFueSBvdGhlciBhcmd1bWVudHMgdG8gdGhlIHNtYXJ0eSBwbHVnaW4gd2lsbCBiZSBhZGRlZCB0byB0aGUgVVJMIGdlbmVyYXRlZC48L3A+ICAgPHA+RXhhbXBsZTo8YnIvPg0KPHByZT57bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0mIzAzOTtOZXdzJiMwMzk7IGFjdGlvbj0mIzAzOTtmZXN1Ym1pdCYjMDM5OyB0ZXh0PSYjMDM5O1N1Ym1pdCBhIE5ldyBOZXdzIEFydGljbGUmIzAzOTt9PC9wcmU+PC9wPg0KPC91bD4nOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdDYWxndXlzIFNpbXBsZSBTbWFydHkgVG9vbHMnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdNb2R1bCAmcXVvdDtDR1NpbXBsZVNtYXJ0eSZxdW90OyBqZSBueW4maWFjdXRlOyBuYWluc3RhbG92JmFhY3V0ZTtuJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdNb2R1bCAmcXVvdDtDR1NpbXBsZVNtYXJ0eSZxdW90OyBqZSBvZGluc3RhbG92JmFhY3V0ZTtuJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTIwMzAyNDYxNC4zMDEuNjgudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjg4MDI2NzgzNy4xMTgwOTkxNjY5LjEyMDI2NDgzNzQuMTIwMzAyNDYxNC4zMDEnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/da_DK.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NHU2ltcGxlU21hcnR5JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQ2FsZ3V5cyBTaW1wbGUgU21hcnR5IFRvb2xzJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnQ0dTaW1wbGVTbWFydHkgZXIgbnUgYmxldmV0IGluc3RhbGxlcmV0JzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdDR1NpbXBsZVNtYXJ0eSBlciBibGV2ZXQgYWZpbnN0YWxsZXJldCc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE5ODE1OTU1NzguMTM3NjY1OTQ1MS4xMzc2NjgwOTI1LjEzNzY2ODY3NDQuNyc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEzNzY2Njc2NDAuMy4yLnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1kZXYuY21zbWFkZXNpbXBsZS5vcmd8dXRtY2N0PS9mZWF0dXJlX3JlcXVlc3Qvdmlldy85Mjg2fHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NHIFNpbXBsZSBTbWFydHknOwokbGFuZ1snaGVscCddID0gJzxoMz5XYXMgbWFjaHQgZGllc2VzIE1vZHVsPzwvaDM+DQo8cD5NaXQgZGllc2VtIE1vZHVsIGVyaGFsdGVuIFNpZSBlaW4gcGFhciBlaW5mYWNoZSBTbWFydHktV2Vya3pldWdlLCBkaWUgU2llIGluIGVpZ2VuZW4gTW9kdWxlbiBvZGVyIHp1ciBBbnBhc3N1bmcgZGVyIFNlaXRlbi1FaWdlbnNjaGFmdGVuIGluIENNUyBtYWRlIHNpbXBsZS48L3A+DQo8aDM+V2llIHdpcmQgZXMgZWluZ2VzZXR6dD88L2gzPg0KPHA+V2VubiBkYXMgTW9kdWwgaW5zdGFsbGllcnQgaXN0LCBpc3QgaW4gZGVuIFRlbXBsYXRlcywgR2xvYmFsZW4gSW5oYWx0c2JsJm91bWw7Y2tlbiB1bmQgdmVyc2NoaWVkZW5lbiB1bmQgZGVuIE1vZHVsLVRlbXBsYXRlcyBhdXRvbWF0aXNjaCBlaW4gbmV1ZXMgU21hcnR5LU9iamVrdCBtaXQgZGVtIE5hbWVuIGNnc2ltcGxlIHZlcmYmdXVtbDtnYmFyLiBEaWVzZXMgU21hcnR5LU9iamVrdCBoYXQgdmVyc2NoaWVkZW5lIEZ1bmt0aW9uZW4sIGRpZSBTaWUgamVkZXJ6ZWl0IGF1ZnJ1ZmVuIGsmb3VtbDtubmVuLjwvcD4NCjxoND5WZXJmJnV1bWw7Z2JhcmUgRnVua3Rpb25lbjo8L2g0Pg0KPGxpPjxzdHJvbmc+c2VsZl91cmw8L3N0cm9uZz4oWyRhc3NpZ25dKQ0KICAgIDxwPkdpYnQgZGllIGFrdHVlbGxlIFVSTCB6dXImdXVtbDtjazwvcD4NCiAgICA8cD5Bcmd1bWVudGU6DQogICAgICAgPHVsPg0KICAgICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBkZXIgTmFtZSBkZXIgVmFyaWFibGUsIGRlciBkYXMgRXJnZWJuaXMgenVnZXdpZXNlbiB3ZXJkZW4gc29sbC48L2xpPg0KICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KPC9saT4NCg0KPHVsPg0KPGxpPjxzdHJvbmc+bW9kdWxlX2luc3RhbGxlZDwvc3Ryb25nPigkbW9kdWxlbmFtZSxbJGFzc2lnbl0pDQogICAgPHA+UHImdXVtbDtmdCwgb2IgZWluIGJlc3RpbW10ZXMgTW9kdWwgaW5zdGFsbGllcnQgaXN0LjwvcD4NCiAgICA8cD5Bcmd1bWVudGU6DQogICAgICAgPHVsPg0KICAgICAgICAgPGxpPiRtb2R1bGVuYW1lIC0gZGVyIE5hbWUgZGVzIE1vZHVscywgZGVzc2VuIEV4aXN0ZW56IGJ6dy4gSW5zdGFsbGF0aW9uIGdlcHImdXVtbDtmdCB3ZXJkZW4gc29sbDwvbGk+DQogICAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIGRlciBOYW1lIGRlciBWYXJpYWJsZSwgZGVyIGRhcyBFcmdlYm5pcyB6dWdld2llc2VuIHdlcmRlbiBzb2xsLjwvbGk+DQogICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+QmVpc3BpZWw6PGJyLz4NCiAgICA8cHJlPntpZiAkY2dzaW1wbGUtPm1vZHVsZV9pbnN0YWxsZWQoJiMwMzk7RnJvbnRFbmRVc2VycyYjMDM5Oyl9RkVVLU1vZHVsIGdlZnVuZGVuey9pZn08L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5tb2R1bGVfdmVyc2lvbjwvc3Ryb25nPigkbW9kdWxlbmFtZSxbJGFzc2lnbl0pDQogICAgPHA+R2lidCBkaWUgVmVyc2lvbnNudW1tZXIgZGVzIGFiZ2VmcmFndGVuIE1vZHVscyB6dXImdXVtbDtjazwvcD4NCiAgICA8cD5Bcmd1bWVudGU6DQogICAgICAgPHVsPg0KICAgICAgICAgPGxpPiRtb2R1bGVuYW1lIC0gZGVyIE5hbWUgZGVzIE1vZHVscywgZGFzIGdlcHImdXVtbDtmdCB3ZXJkZW4gc29sbDwvbGk+DQogICAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIGRlciBOYW1lIGRlciBWYXJpYWJsZSwgZGVyIGRhcyBFcmdlYm5pcyB6dWdld2llc2VuIHdlcmRlbiBzb2xsLjwvbGk+DQogICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+QmVpc3BpZWw6PGJyLz4NCiAgICA8cHJlPnskY2dzaW1wbGUtPm1vZHVsZV92ZXJzaW9uKCYjMDM5O0Zyb250RW5kVXNlcnMmIzAzOTssJiMwMzk7ZmV1X3ZlcnNpb24mIzAzOTspfUVzIGlzdCBkaWUgVmVyc2lvbiB7JGZldV92ZXJzaW9ufSBkZXMgRnJvbnRFbmRVc2Vycy1Nb2R1bHMgaW5zdGFsbGllcnQ8L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRfcGFyZW50X2FsaWFzPC9zdHJvbmc+KFskYWxpYXNdLFskYXNzaWduXSkNCiAgICA8cD5HaWJ0IGRlbiBBbGlhcyBkZXIgJnV1bWw7YmVyZ2VvcmRuZXRlbiBTZWl0ZSBlaW5lciBmZXN0Z2VsZWd0ZW4gU2VpdGUgenVyJnV1bWw7Y2suIEZhbGxzIGtlaW5lICZ1dW1sO2Jlcmdlb3JkbmV0ZSBTZWl0ZSB2b3JoYW5kZW4gaXN0LCB3aXJkIGVpbiBsZWVyZXIgU3RyaW5nIHp1ciZ1dW1sO2NrIGdlZ2ViZW4uPC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBkZXIgU2VpdGVuLUFsaWFzIGRlciBTZWl0ZSwgZGVyZW4gJnV1bWw7YmVyZ2VvcmRuZXRlIFNlaXRlIGdlZnVuZGVuIHdlcmRlbiBzb2xsLiBXZW5uIGtlaW4gV2VydCBmZXN0Z2VsZWd0IHd1cmRlLCB3aXJkIGRpZSBha3R1ZWxsZSBTZWl0ZSB2ZXJ3ZW5kZXQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIGRlciBOYW1lIGRlciBWYXJpYWJsZSwgZGVyIGRhcyBFcmdlYm5pcyB6dWdld2llc2VuIHdlcmRlbiBzb2xsLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkJlaXNwaWVsOjxici8+DQogICAgPHByZT5EZXIgQWxpYXMgZGVyICZ1dW1sO2Jlcmdlb3JkbmV0ZW4gU2VpdGUgaXN0IHskY2dzaW1wbGUtPmdldF9wYXJlbnRfYWxpYXMoKX08L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRfcm9vdF9hbGlhczwvc3Ryb25nPihbJGFsaWFzXSxbJGFzc2lnbl0pDQogICAgPHA+R2lidCBkZW4gQWxpYXMgZGVyICZ1dW1sO2Jlcmdlb3JkbmV0ZW4gU2VpdGUgZGVyIDEuIEViZW5lIHp1ciZ1dW1sO2NrLiBGYWxscyBrZWluZSAmdXVtbDtiZXJnZW9yZG5ldGVuIFNlaXRlbiBleGlzdGllcmVuLCB3aXJkIGVpbiBsZWVyZXIgU3RyaW5nIHp1ciZ1dW1sO2NrIGdlZ2ViZW4uPC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBkZXIgU2VpdGVuLUFsaWFzIGRlciBTZWl0ZSwgZGVyZW4gJnV1bWw7YmVyZ2VvcmRuZXRlIFNlaXRlIGRlciAxLiBFYmVuZSBnZWZ1bmRlbiB3ZXJkZW4gc29sbC4gIFdlbm4ga2VpbiBXZXJ0IGZlc3RnZWxlZ3Qgd3VyZGUsIHdpcmQgZGllIGFrdHVlbGxlIFNlaXRlIHZlcndlbmRldC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgZGVyIE5hbWUgZGVyIFZhcmlhYmxlLCBkZXIgZGFzIEVyZ2VibmlzIHp1Z2V3aWVzZW4gd2VyZGVuIHNvbGwuPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+QmVpc3BpZWw6PGJyLz4NCiAgICA8cHJlPkRlciBTZWl0ZW4tQWxpYXMgZGVyIG9iZXJzdGVuLCAmdXVtbDtiZXJnZW9yZG5ldGVuIFNlaXRlIGlzdCB7JGNnc2ltcGxlLT5nZXRfcm9vdF9hbGlhcygpfTwvcHJlPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPmdldF9wYWdlX3RpdGxlPC9zdHJvbmc+KFskYWxpYXNdLFskYXNzaWduXSkNCiAgICA8cD5HaWJ0IGRlbiBUaXRlbCBlaW5lciBmZXN0Z2VsZWd0ZW4gU2VpdGUgenVyJnV1bWw7Y2suPC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBEZXIgU2VpdGVuLUFsaWFzLCBkZXJlbiBUaXRlbCBnZWZ1bmRlbiB3ZXJkZW4gc29sbC4gV2VubiBrZWluIFdlcnQgZmVzdGdlbGVndCB3dXJkZSwgd2lyZCBkaWUgYWt0dWVsbGUgU2VpdGUgdmVyd2VuZGV0LjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBkZXIgTmFtZSBkZXIgVmFyaWFibGUsIGRlciBkYXMgRXJnZWJuaXMgenVnZXdpZXNlbiB3ZXJkZW4gc29sbC48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5CZWlzcGllbDo8YnIvPg0KICAgIDxwcmU+RGVyIFRpdGVsIGRlciBha3R1ZWxsZW4gU2VpdGUgaXN0IHskY2dzaW1wbGUtPmdldF9wYWdlX3RpdGxlKCl9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3BhZ2VfbWVudXRleHQ8L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQ0KICAgIDxwPkdpYnQgZGVuIE1lbiZ1dW1sO3RleHQgZWluZXIgZmVzdGdlbGVndGVuIFNlaXRlIHp1ciZ1dW1sO2NrLjwvcD4NCiAgICA8cD5Bcmd1bWVudGU6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgRGVyIFNlaXRlbi1BbGlhcywgZGVzc2VuIE1lbiZ1dW1sO3RleHQgZ2VmdW5kZW4gd2VyZGVuIHNvbGwuIFdlbm4ga2VpbiBXZXJ0IGZlc3RnZWxlZ3Qgd3VyZGUsIHdpcmQgZGllIGFrdHVlbGxlIFNlaXRlIHZlcndlbmRldC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgZGVyIE5hbWUgZGVyIFZhcmlhYmxlLCBkZXIgZGFzIEVyZ2VibmlzIHp1Z2V3aWVzZW4gd2VyZGVuIHNvbGwuPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+QmVpc3BpZWw6PGJyLz4NCiAgICA8cHJlPkRlciBNZW4mdXVtbDt0ZXh0IGRlciBha3R1ZWxsZSBTZWl0ZSBpc3QgeyRjZ3NpbXBsZS0+Z2V0X3BhZ2VfdGl0bGUoKX08L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRfcGFnZV90eXBlPC9zdHJvbmc+KFskYWxpYXNdWywkYXNzaWduXSkNCiAgICA8cD5HaWJ0IGRlbiBJbmhhbHRzdHlwIGVpbmVzIHZvcmdlZ2ViZW5lbiBPYmpla3RzIHp1ciZ1dW1sO2NrIChuYWNoIGRlbSBBbGlhcyk8L3A+DQogICAgPHA+QXJndW1lbnRlOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIERlciBTZWl0ZW4tQWxpYXMsIGRlc3NlbiBJbmhhbHRzdHlwIGdlZnVuZGVuIHdlcmRlbiBzb2xsLiBXZW5uIGtlaW4gV2VydCBmZXN0Z2VsZWd0IHd1cmRlLCB3aXJkIGRpZSBha3R1ZWxsZSBTZWl0ZSB2ZXJ3ZW5kZXQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIGRlciBOYW1lIGRlciBWYXJpYWJsZSwgZGVyIGRhcyBFcmdlYm5pcyB6dWdld2llc2VuIHdlcmRlbiBzb2xsLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkJlaXNwaWVsOjxici8+DQogICAgPHByZT5EZXIgSW5oYWx0c3R5cCBkZXIgYWt0dWVsbGVuIFNlaXRlIGlzdCB7JGNnc2ltcGxlLSZhbXA7Z3Q7Z2V0X3BhZ2VfdHlwZSgpfTwvcHJlPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPmhhc19jaGlsZHJlbjwvc3Ryb25nPihbJGFsaWFzXSxbJGFzc2lnbl0pDQogICAgPHA+UHImdXVtbDtmdCwgb2IgZWluZSBmZXN0Z2VsZWd0ZSBTZWl0ZSB1bnRlcmdlb3JkbmV0ZSBTZWl0ZW4gaGF0LjwvcD4NCiAgICA8cD5Bcmd1bWVudGU6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgZGVyIFNlaXRlbi1BbGlhcyBkZXIgenUgcHImdXVtbDtmZW5kZW4gU2VpdGUuIFdlbm4ga2VpbiBXZXJ0IGZlc3RnZWxlZ3Qgd3VyZGUsIHdpcmQgZGllIGFrdHVlbGxlIFNlaXRlIHZlcndlbmRldC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gLSAob3B0aW9uYWwpIGRlciBOYW1lIGRlciBWYXJpYWJsZSwgZGVyIGRhcyBFcmdlYm5pcyB6dWdld2llc2VuIHdlcmRlbiBzb2xsLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkJlaXNwaWVsOjxici8+DQogICAgPHByZT57JGNnc2ltcGxlLT5oYXNfY2hpbGRyZW4oJiMwMzk7JiMwMzk7LCRoYXNfY2hpbGRyZW4pfXtpZiAkaGFzX2NoaWxkcmVufURpZSBha3R1ZWxsZSBTZWl0ZSBoYXQgdW50ZXJnZW9yZG5ldGUgU2VpdGVue2Vsc2V9RGllIGFrdHVlbGxlIFNlaXRlIGhhdCBrZWluZSB1bnRlcmdlb3JkbmV0ZW4gU2VpdGVuey9pZn08L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRfY2hpbGRyZW48L3N0cm9uZz4oWyRhbGlhc10sWyRzaG93aW5hY3RpdmVdLFskYXNzaWduXSkNCiAgIDxwPkdpYnQgZWluIEFycmF5IHp1ciZ1dW1sO2NrLCB3ZWxjaGVzIEluZm9ybWF0aW9uZW4gJnV1bWw7YmVyIGRpZSB1bnRlcmdlb3JkbmV0ZW4gU2VpdGVuIGVudGgmYXVtbDtsdCAoZmFsbHMgdm9yaGFuZGVuKTwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgZGVyIFNlaXRlbi1BbGlhcyBkZXIgenUgcHImdXVtbDtmZW5kZW4gU2VpdGUuIFdlbm4ga2VpbiBXZXJ0IGZlc3RnZWxlZ3Qgd3VyZGUsIHdpcmQgZGllIGFrdHVlbGxlIFNlaXRlIHZlcndlbmRldC48L2xpPg0KICAgICAgIDxsaT5bJHNob3dpbmFjdGl2ZV0gLSAob3B0aW9uYWwpIGhpZXIga2FubiBlaW5nZXN0ZWxsdCB3ZXJkZW4sIG9iIGluYWt0aXZlIFNlaXRlbiBpbSBFcmdlYm5pcyBlbnRoYWx0ZW4gc2VpbiBzb2xsZW4gKFN0YW5kYXJkIGlzdCBmYWxzZSkuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dIC0gKG9wdGlvbmFsKSBkZXIgTmFtZSBkZXIgVmFyaWFibGUsIGRlciBkYXMgRXJnZWJuaXMgenVnZXdpZXNlbiB3ZXJkZW4gc29sbC48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5GZWxkZXI6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5hbGlhcyAtIGRlciBTZWl0ZW4tQWxpYXMgZGVyIHVudGVyZ2VvcmRuZXRlbiBTZWl0ZTwvbGk+DQogICAgICAgPGxpPmlkIC0gZGllIFNlaXRlbi1JRCBkZXIgdW50ZXJnZW9yZG5ldGVuIFNlaXRlPC9saT4NCiAgICAgICA8bGk+dGl0bGUgLSBkZXIgU2VpdGVudGl0ZWwgZGVyIHVudGVyZ2VvcmRuZXRlbiBTZWl0ZTwvbGk+DQogICAgICAgPGxpPm1lbnV0ZXh0IC0gZGVyIE1lbiZ1dW1sO3RleHQgZGVyIHVudGVyZ2VvcmRuZXRlbiBTZWl0ZTwvbGk+DQogICAgICAgPC91bD4NCiAgICA8YnIvPjwvcD4NCiAgICA8cD5CZWlzcGllbDo8YnIvPg0KICAgIDxwcmU+DQp7JGNnc2ltcGxlLT5nZXRfY2hpbGRyZW4oJiMwMzk7JiMwMzk7LCYjMDM5OyYjMDM5OywkY2hpbGRyZW4pfQ0Ke2lmIGNvdW50KCRjaGlsZHJlbil9DQogICB7Zm9yZWFjaCBmcm9tPSRjaGlsZHJlbiBpdGVtPSYjMDM5O2NoaWxkJiMwMzk7fQ0KICAgICAge2lmICRjaGlsZC5zaG93X2luX21lbnV9DQogICAgICAgIFVudGVyZ2VvcmRuZXRlIFNlaXRlOiAgaWQgPSB7JGNoaWxkLmlkfSBBbGlhcyA9IHskY2hpbGQuYWxpYXN9PGJyIC8+DQogICAgICB7L2lmfQ0KICAgey9mb3JlYWNofQ0Key9pZn0NCiAgICA8L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQogICAgPGxpPjxzdHJvbmc+Z2V0X3BhZ2VfY29udGVudDwvc3Ryb25nPigkYWxpYXMsWyRibG9ja10sWyRhc3NpZ25dKQ0KICAgIDxwPkdpYnQgZGVuIEluaGFsdCBlaW5lcyBmZXN0Z2VsZWd0ZW4gQ29udGVudC1CbG9ja3MgZWluZXIgYW5kZXJlbiBTZWl0ZSB6dXImdXVtbDtjay48L3A+DQogICAgPHA+QXJndW1lbnRlOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+JGFsaWFzIC0gRGVyIEFsaWFzIGRlciBTZWl0ZSwgZGVyZW4gSW5oYWx0IHp1ciZ1dW1sO2NrIGdlZ2ViZW4gd2VyZGVuIHNvbGwuPC9saT4NCiAgICAgICA8bGk+WyRibG9ja10gLSAob3B0aW9uYWwpIGRlciBOYW1lIGRlcyBDb250ZW50LUJsb2NrcyBkZXIgZmVzdGdlbGVndGVuIFNlaXRlLiBPaG5lIFZvcmdhYmUgd2lyZCBkZXIgV2VydCBhdXMgJiMwMzk7Y29udGVudF9lbiYjMDM5OyB2ZXJ3ZW5kZXQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dIC0gKG9wdGlvbmFsKSBkZXIgTmFtZSBkZXIgVmFyaWFibGUsIGRlciBkYXMgRXJnZWJuaXMgenVnZXdpZXNlbiB3ZXJkZW4gc29sbC48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5CZWlzcGllbDo8YnIvPg0KICAgIDxwcmU+RGVyIEluaGFsdCBkZXIgZmVzdGdlbGVndGVuIFNlaXRlIGlzdCB7JGNnc2ltcGxlLT5nZXRfcGFnZV9jb250ZW50KGhvbWUpfTwvcHJlPg0KICAgIDwvcD4NCjwvbGk+DQoNCiAgICA8bGk+PHN0cm9uZz5nZXRfc2libGluZzwvc3Ryb25nPigkZGlyZWN0aW9uLFskYXNzaWduXSxbJGFsaWFzXSkNCiAgICA8cD5HaWJ0IGRlbiBTZWl0ZW4tQWxpYXMgZGVyIG4mYXVtbDtjaHN0ZW4gb2RlciB2b3JoZXJnZWhlbmRlbiBTZWl0ZSBkZXIgZ2xlaWNoZW4gRWJlbmUgZGVyIHZvcmdlZ2ViZW5lbg0KICAgICAgIFNlaXRlIGFuLiBPZGVyIGF1Y2ggZmFsc2UuPC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPiRkaXJlY3Rpb24gLSBkaWUgUmljaHR1bmcsIGluIGRpZSBnZXNjaGF1dCB3ZXJkZW4gc29sbC4gTSZvdW1sO2dsaWNoZSBXZXJ0ZSBzaW5kIHByZXYscHJldmlvdXMsLTEsbmV4dCwxLjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAtIChvcHRpb25hbCkgZGVyIE5hbWUgZGVyIFZhcmlhYmxlLCBkZXIgZGFzIEVyZ2VibmlzIHp1Z2V3aWVzZW4gd2VyZGVuIHNvbGwuPC9saT4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIERlciBBbGlhcyBkZXIgU2VpdGUsIGRlc3NlbiBTZWl0ZW4gZGVyIGdsZWljaGVuIEViZW5lIGdlZnVuZGVuIHdlcmRlbiBzb2xsZW4uIE9obmUgVm9yZ2FiZSB3aXJkIGRpZSBha3R1ZWxsZSBTZWl0ZSB2ZXJ3ZW5kZXQuPC9saT4NCiAgICA8YnIvPjwvcD4NCiAgICAgICA8cD5CZWlzcGllbDo8YnIgLz4NCiAgICAgICA8cHJlPkxpbmsgYXVmIGRpZSB2b3JoZXJpZ2UgU2VpdGU6IHskY2dzaW1wbGUtPmdldF9zaWJsaW5nKCZxdW90O3ByZXYmcXVvdDssJnF1b3Q7cHJldl9zaWJsaW5nJnF1b3Q7KX17aWYgIWVtcHR5KCRwcmV2X3NpYmxpbmcpfXtjbXNfc2VsZmxpbmsgcGFnZT0mcXVvdDskcHJldl9zaWJsaW5nJnF1b3Q7IHRleHQ9JnF1b3Q7UHJldmlvdXMmcXVvdDt9ey9pZn08L3ByZT48YnIvPg0KICAgIDwvbGk+DQoNCjwvdWw+DQo8aDQ+V2VpdGVyZSBTbWFydHktRnVuY3Rpb25lbjwvaDQ+DQo8dWw+DQogICAgPGxpPjxzdHJvbmc+e21vZHVsZV9hY3Rpb25fbGlua308L3N0cm9uZz4NCiAgICA8cD5FaW4gU21hcnR5LVBsdWdpbiwgbWl0IGRlbSBlaW4gTGluayBhdWYgZWluZSBNb2R1bC1Ba3Rpb24gZ2VzZXR6dCB3ZXJkZW4ga2Fubi48L3A+DQogICAgPHA+QXJndW1lbnRlOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+bW9kdWxlIC0gZGFzIE1vZHVsLCBhdWYgd2VsY2hlcyBlaW4gTGluayBnZXNldHp0IHdlcmRlbiBzb2xsPC9saT4NCiAgICAgICA8bGk+YWN0aW9uIChkZWZhdWx0KSAtIGRpZSBBa3Rpb24gZGVzIE1vZHVscywgd2VsY2hlIGF1ZmdlcnVmZW4gd2VyZGVuIHNvbGw8L2xpPg0KICAgICAgIDxsaT50ZXh0IC0gZGVyIGF1c3p1Z2ViZW5kZSBUZXh0IGRlcyBMaW5rczwvbGk+DQogICAgICAgPGxpPnBhZ2UgLSBkaWUgWmllbHNlaXRlLCBhdWYgZGVyIGRhcyBFcmdlYm5pcyBhdXNnZWdlYmVuIHdlcmRlbiBzb2xsPC9saT4NCiAgICAgICA8bGk+dXJsb25seSAtIGFuc3RhdHQgZWluZW4gTGluayB6dSBlcnpldWdlbiwga2FubiBhdWNoIG51ciBkaWUgVVJMIGF1c2dlZ2ViZW4gd2VyZGVuPC9saT4NCiAgICAgICA8bGk+anNmcmllbmRseSAtIFdpcmQgZGllc2VyIFBhcmFtZXRlciBpbiBWZXJiaW5kdW5nIG1pdCBkZW0gUGFyYW1ldGVyIHVybG9ubHkgZWluZ2VzZXR6dCwgc3RlbGx0IGVyIHNpY2hlciwgZGFzcyBlaW5lIGphdmFzY3JpcHQtZnJldW5kbGljaGUgVVJMIGF1c2dlZ2ViZW4gd2lyZC48L2xpPg0KICAgICAgIDxsaT5jb25mbWVzc2FnZSAtIGVpbmUgQmVzdCZhdW1sO3RpZ3VuZ3NuYWNocmljaHQsIGRpZSBhbmdlemVpZ3Qgd2lyZCwgd2VubiBkZXIgTGluayBnZWtsaWNrdCB3dXJkZS48L2xpPg0KICAgICAgIDxsaT5pbWFnZSAtIGVpbiBCaWxkLCBkYXMgZiZ1dW1sO3IgZGVuIExpbmsgdmVyd2VuZGV0IHdlcmRlbiBrYW5uPC9saT4NCiAgICAgICA8bGk+aW1hZ2Vvbmx5IC0gV3VyZGUgZiZ1dW1sO3IgaW1hZ2UgZWluIEJpbGQgZmVzdGdlbGVndCwgd2lyZCBlaW4gTGluayBlcnpldWd0LCBkZXIgbnVyIGRpZXNlcyBCaWxkIGVudGgmYXVtbDtsdC4gRGVyIFRleHQgd2lyZCBmJnV1bWw7ciBkYXMgdGl0bGUtQXR0cmlidXQgdmVyd2VuZGV0PC9saT4NCiAgICAgICA8L3VsPg0KICAgIDxici8+PC9wPg0KICAgIDxwPkplZGVzIHdlaXRlcmUgQXJndW1lbnRzIHdpcmQgZGVyIGVyemV1Z3RlbiBVUkwgZGVzIFNtYXJ0eS1QbHVnaW5zIGhpbnp1Z2VmJnV1bWw7Z3QuPC9wPg0KICAgIDxwPiBCZWlzcGllbDo8YnIvPg0KICAgIDxwcmU+e21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9JnF1b3Q7TmV3cyZxdW90OyBhY3Rpb249JnF1b3Q7ZmVzdWJtaXQmcXVvdDsgdGV4dD0mcXVvdDtFaW5lbiBuZXVlbiBBcnRpa2VsIGVpbnNlbmRlbiZxdW90O308L3ByZT48L3A+PC9saT4NCg0KDQogICAgPGxpPjxzdHJvbmc+e3Nlc3Npb25fcHV0fTwvc3Ryb25nPg0KICAgIDxwPkVpbiBTbWFydHktUGx1Z2luLCBtaXQgZGVtIERhdGVuIGluIGRlciBVc2VyLVNlc3Npb24gZ2VzcGVpY2hlcnQgd2VyZGVuIGsmb3VtbDtubmVuLiBBdWYgZGllc2UgRGF0ZW4ga2FubiBhdWYgZGVuIGVudHNwcmVjaGVuZGVuIFNlaXRlbiBkYW5uICZ1dW1sO2JlciBkYXMgQXJyYXkgJHNtYXJ0eS5zZXNzaW9uIHp1Z2VncmlmZmVuIHdlcmRlbi48L3A+DQogICAgPHA+QXJndW1lbnRlOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+dmFyIC0gTmFtZSBkZXIgVmFyaWFibGVuLCBkaWUgaW4gZGVyIFNlc3Npb24gZXJ6ZXVndCB3ZXJkZW4gc29sbC48L2xpPg0KICAgICAgIDxsaT52YWx1ZSAtIERlciBlbnRzcHJlY2hlbmRlIFdlcnQgZGllc2VyIFZhcmlhYmxlbi48L2xpPg0KICAgICAgIDwvdWw+DQogICAgPGJyLz48L3A+DQogICAgPHA+QmVpc3BpZWw6PGJyIC8+DQogICAgPHByZT57c2Vzc2lvbl9wdXQgdmFyPSZxdW90O3Rlc3QmcXVvdDsgdmFsdWU9JnF1b3Q7YmxhaCZxdW90O308L3ByZT48L3A+PC9saT4NCg0KICAgIDxsaT48c3Ryb25nPntzZXNzaW9uX2VyYXNlfTwvc3Ryb25nPg0KICAgIDxwPkVpbiBTbWFydHktUGx1Z2luLCBtaXQgZGVtIERhdGVuIGF1cyBlaW5lciBVc2VyLVNlc3Npb24gZ2VsJm91bWw7c2NodCB3ZXJkZW4gayZvdW1sO25uZW4uPC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPnZhciAtIE5hbWUgZGVyIFZhcmlhYmxlLCBkaWUgaW4gZGVyIFNlc3Npb24gZ2VsJm91bWw7c2NodCB3ZXJkZW4gc29sbC48L2xpPg0KICAgICAgIDwvdWw+DQogICAgPGJyLz48L3A+DQogICAgPHA+QmVpc3BpZWw6PGJyIC8+DQogICAgPHByZT57c2Vzc2lvbl9lcmFzZSB2YXI9JnF1b3Q7dGVzdCZxdW90O308L3ByZT48L3A+PC9saT4NCg0KICAgPGxpPjxzdHJvbmc+e2NncmVwZWF0fTwvc3Ryb25nPg0KICAgIDxwPkVpbiB3ZWl0ZXJlcyBTbWFydHktUGx1Z2luLCAmdXVtbDtiZXIgZGFzIGVpbiB2b3JnZWdlYmVuZXIgVGV4dCB3aWVkZXJob2x0IGF1c2dlZ2ViZW4gd2VyZGVuIGthbm48L3A+DQogICAgPHA+QXJndW1lbnRlOjwvcD4NCiAgICAgIDx1bD4NCiAgICAgICAgPGxpPnRleHQgLSBUZXh0LCBkZXIgd2llZGVyaG9sdCBhdXNnZWdlYmVuIHdlcmRlbiBzb2xsPC9saT4NCiAgICAgICAgPGxpPmNvdW50IC0gQW56YWhsIGRlciBXaWVkZXJob2x1bmdlbjwvbGk+DQogICAgICAgIDxsaT5hc3NpZ24gLSBOYW1lIGRlciBWYXJpYWJsZSwgZGVyIGRhcyBFcmdlYm5pcyB6dWdld2llc2VuIHdlcmRlbiBzb2xsLjwvbGk+DQogICAgICA8L3VsPg0KICAgIDxici8+DQogICAgPHA+QmVpc3BpZWw6PGJyIC8+DQogICAgPHByZT57Y2dyZXBlYXQgdGV4dD0mIzAzOTtkaWVzJiMwMzk7IGNvdW50PSYjMDM5OzUmIzAzOTt9PC9wcmU+PC9wPg0KICAgIDwvbGk+DQo8L3VsPg0KPGgzPkNvcHlyaWdodCB1bmQgTGl6ZW56PC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWxsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj5jYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnPC9hPi4gQWxsZSBSZWNodGUgdm9yYmVoYWx0ZW4uPC9wPg0KPHA+RGllc2VzIE1vZHVsIHd1cmRlIHVudGVyIGRlciA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4gdmVyJm91bWw7ZmZlbnRsaWNodC4gU2llIG0mdXVtbDtzc2VuIGRpZXNlciBMaXplbnogenVzdGltbWVuLCBiZXZvciBzaWUgZGFzIE1vZHVsIHZlcndlbmRlbi48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gDQpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBPC9wPic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0NhbGd1eXMgZWluZmFjaGUgU21hcnR5LVdlcmt6ZXVnZSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0NHU2ltcGxlU21hcnR5IHd1cmRlIGluc3RhbGxpZXJ0JzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdDR1NpbXBsZVNtYXJ0eSB3dXJkZSBkZWluc3RhbGxpZXJ0JzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuNTQzMTYzMzgxLjEzMDI2MDM0MzAuMTMwNzY4NzMyMC4xMzA4MDYwMTM3LjI0JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTMwNjYxMTQ2OC4xNC4yLnV0bWNzcj1mZWVkYnVybmVyfHV0bWNjbj1GZWVkOiBjbXNtYWRlc2ltcGxlL2Jsb2cgKENNUyBNYWRlIFNpbXBsZSl8dXRtY21kPWZlZWQnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/et_EE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NHU2ltcGxlU21hcnR5ICc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBzb21lIHNpbXBsZSBzbWFydHkgdXRpbGl0aWVzIGZvciB1c2UgaW4gYXBwbGljYXRpb25zIG9yIGZvciBjdXN0b21pemluZyB0aGUgYmVoYXZpb3VyIG9mIHlvdXIgQ01TIE1hZGUgU2ltcGxlIHBhZ2VzLjwvcD4NCjxoMz5Ib3cgRG8gSSBVc2UgSXQ6PC9oMz4NCjxwPldoZW4gdGhpcyBtb2R1bGUgaXMgaW5zdGFsbGVkLCBhIG5ldyBzbWFydHkgb2JqZWN0IG5hbWVkIGNnc2ltcGxlIGlzIGF1dG9tYXRpY2FsbHkgYXZhaWxhYmxlIHRvIHlvdXIgcGFnZSB0ZW1wbGF0ZXMsIGdsb2JhbCBjb250ZW50IGJsb2NrcywgYW5kIHZhcmlvdXMgbW9kdWxlIHRlbXBsYXRlcy4gIFRoaXMgc21hcnR5IG9iamVjdCBoYXMgbnVtZXJvdXMgZnVuY3Rpb25zIHRoYXQgeW91IGNhbiBjYWxsIGF0IGFueSB0aW1lLjwvcD4NCjxoND5BdmFpbGFibGUgRnVuY3Rpb25zOjwvaDQ+DQo8dWw+DQo8bGk+PHN0cm9uZz5zZWxmX3VybDwvc3Ryb25nPihbJGFzc2lnbl0pDQogICAgPHA+UmV0dXJuIHRoZSBjdXJyZW50IFVSTDwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+bW9kdWxlX2luc3RhbGxlZDwvc3Ryb25nPigkbW9kdWxlbmFtZSxbJGFzc2lnbl0pDQogICAgPHA+VGVzdCBpZiBhIHBhcnRpY3VsYXIgbW9kdWxlIGlzIGluc3RhbGxlZC48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICAgIDxsaT4kbW9kdWxlbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBtb2R1bGUgdG8gY2hlY2s8L2xpPg0KICAgICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPntpZiAkY2dzaW1wbGUtPm1vZHVsZV9pbnN0YWxsZWQoJiMwMzk7RnJvbnRFbmRVc2VycyYjMDM5Oyl9Rm91bmQgRkVVey9pZn08L3ByZT48YnIvPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPm1vZHVsZV92ZXJzaW9uPC9zdHJvbmc+KCRtb2R1bGVuYW1lLFskYXNzaWduXSkNCiAgICA8cD5SZXR1cm4gdGhlIHZlcnNpb24gbnVtYmVyIG9mIGEgc3BlY2lmaWMgaW5zdGFsbGVkIG1vZHVsZTwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgICAgPGxpPiRtb2R1bGVuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIG1vZHVsZSB0byBjaGVjazwvbGk+DQogICAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+eyRjZ3NpbXBsZS0+bW9kdWxlX3ZlcnNpb24oJiMwMzk7RnJvbnRFbmRVc2VycyYjMDM5OywmIzAzOTtmZXVfdmVyc2lvbiYjMDM5Oyl9V2UgaGF2ZSBWZXJzaW9uIHskZmV1X3ZlcnNpb259IG9mIEZyb250RW5kVXNlcnM8L3ByZT48YnIvPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPmdldF9wYXJlbnRfYWxpYXM8L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQ0KICAgIDxwPlJldHVybnMgdGhlIGFsaWFzIG9mIHRoZSBzcGVjaWZpZWQgcGFnZXMgcGFyZW50LiBSZXR1cm5zIGFuIGVtcHR5IHN0cmluZyBpZiB0aGVyZSBpcyBubyBwYXJlbnQuPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byBmaW5kIHRoZSBwYXJlbnQgb2YuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+VGhlIHBhcmVudCBwYWdlIGFsaWFzIGlzIHskY2dzaW1wbGUtPmdldF9wYXJlbnRfYWxpYXMoKX08L3ByZT48YnIvPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPmdldF9yb290X2FsaWFzPC9zdHJvbmc+KFskYWxpYXNdLFskYXNzaWduXSkNCiAgICA8cD5SZXR1cm5zIHRoZSBhbGlhcyBvZiB0aGUgc3BlY2lmaWVkIHBhZ2VzIHJvb3QgcGFyZW50LiBSZXR1cm5zIGFuIGVtcHR5IHN0cmluZyBpZiB0aGVyZSBpcyBubyByb290IHBhcmVudC48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHJvb3QgcGFyZW50IG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPlRoZSByb290IHBhcmVudCBwYWdlIGFsaWFzIGlzIHskY2dzaW1wbGUtPmdldF9yb290X2FsaWFzKCl9PC9wcmU+PGJyLz4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRfcGFnZV90aXRsZTwvc3Ryb25nPihbJGFsaWFzXSxbJGFzc2lnbl0pDQogICAgPHA+UmV0dXJucyB0aGUgdGl0bGUgb2YgdGhlIHNwZWNpZmllZCBwYWdlLjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gZmluZCB0aGUgdGl0bGUgb2YuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+VGhlIHRpdGxlIG9mIHRoZSBjdXJyZW50IHBhZ2UgaXMgeyRjZ3NpbXBsZS0+Z2V0X3BhZ2VfdGl0bGUoKX08L3ByZT48YnIvPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPmdldF9wYWdlX21lbnV0ZXh0PC9zdHJvbmc+KFskYWxpYXNdLFskYXNzaWduXSkNCiAgICA8cD5SZXR1cm5zIHRoZSBtZW51dGV4dCBvZiB0aGUgc3BlY2lmaWVkIHBhZ2UuPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byBmaW5kIHRoZSB0aXRsZSBvZi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT5UaGUgbWVudXRleHQgb2YgdGhlIGN1cnJlbnQgcGFnZSBpcyB7JGNnc2ltcGxlLT5nZXRfcGFnZV90aXRsZSgpfTwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+aGFzX2NoaWxkcmVuPC9zdHJvbmc+KFskYWxpYXNdLFskYXNzaWduXSkNCiAgICA8cD5UZXN0IGlmIHRoZSBzcGVjaWZpZWQgcGFnZSBoYXMgY2hpbGRyZW4uPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byB0ZXN0LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT57JGNnc2ltcGxlLT5oYXNfY2hpbGRyZW4oJiMwMzk7JiMwMzk7LCRoYXNfY2hpbGRyZW4pfXtpZiAkaGFzX2NoaWxkcmVufVRoZSBjdXJyZW50IHBhZ2UgaGFzIGNoaWxkcmVue2Vsc2V9VGhlIGN1cnJlbnQgcGFnZSBoYXMgbm8gY2hpbGRyZW57L2lmfTwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X2NoaWxkcmVuPC9zdHJvbmc+KFskYWxpYXNdLFskc2hvd2luYWN0aXZlXSxbJGFzc2lnbl0pDQogICA8cD5SZXR1cm4gYW4gYXJyYXkgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCBhIHBhZ2VzIGNoaWxkcmVuIChpZiBhbnkpPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byB0ZXN0LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyRzaG93aW5hY3RpdmVdIC0gKG9wdGlvbmFsKSBXZXRoZXIgaW5hY3RpdmUgcGFnZXMgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSByZXN1bHQgKGRlZmF1bHRzIHRvIGZhbHNlKS48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkZpZWxkczoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPmFsaWFzIC0gdGhlIHBhZ2UgYWxpYXMgb2YgdGhlIGNoaWxkPC9saT4NCiAgICAgICA8bGk+aWQgLSB0aGUgcGFnZSBpZCBvZiB0aGUgY2hpbGQ8L2xpPg0KICAgICAgIDxsaT50aXRsZSAtIHRoZSBwYWdlIGlkIG9mIHRoZSBjaGlsZDwvbGk+DQogICAgICAgPGxpPm1lbnV0ZXh0IC0gdGhlIG1lbnUgdGV4dCBvZiB0aGUgY2hpbGQ8L2xpPg0KICAgICAgIDwvdWw+DQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+DQp7JGNnc2ltcGxlLT5nZXRfY2hpbGRyZW4oJiMwMzk7JiMwMzk7LCYjMDM5OyYjMDM5OywkY2hpbGRyZW4pfQ0Ke2lmIGNvdW50KCRjaGlsZHJlbil9DQogICB7Zm9yZWFjaCBmcm9tPSRjaGlsZHJlbiBpdGVtPSYjMDM5O2NoaWxkJiMwMzk7fQ0KICAgICAge2lmICRjaGlsZC5zaG93X2luX21lbnV9DQogICAgICAgIENoaWxkOiAgaWQgPSB7JGNoaWxkLmlkfSBhbGlhcyA9IHskY2hpbGQuYWxpYXN9PGJyLz4NCiAgICAgIHsvaWZ9DQogICB7L2ZvcmVhY2h9DQp7L2lmfQ0KICAgIDwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KICAgIDxsaT48c3Ryb25nPmdldF9wYWdlX2NvbnRlbnQ8L3N0cm9uZz4oJGFsaWFzLFskYmxvY2tdLFskYXNzaWduXSkNCiAgICA8cD5SZXR1cm5zIHRoZSB0ZXh0IG9mIGEgc3BlY2lmaWMgY29udGVudCBibG9jayBvZiBhbm90aGVyIHBhZ2UuPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPiRhbGlhcyAtIFRoZSBwYWdlIGFsaWFzIHRvIGV4dHJhY3QgY29udGVudCBmcm9tLjwvbGk+DQogICAgICAgPGxpPlskYmxvY2tdIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiB0aGUgY29udGVudCBibG9jayBpbiB0aGUgc3BlY2lmaWVkIHBhZ2UuICBpZiB0aGlzIHZhcmlhYmxlIGlzIG5vdCBzcGVjaWZpZWQsICYjMDM5O2NvbnRlbnRfZW4mIzAzOTsgaXMgYXNzdW1lZC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPlRoZSB0aXRsZSBvZiB0aGUgY3VycmVudCBwYWdlIGlzIHskY2dzaW1wbGUtPmdldF9wYWdlX3RpdGxlKCl9PC9wcmU+PGJyLz4NCiAgICA8L3A+DQo8L2xpPg0KDQogICAgPGxpPjxzdHJvbmc+Z2V0X3NpYmxpbmc8L3N0cm9uZz4oJGRpcmVjdGlvbixbJGFzc2lnbl0sWyRhbGlhc10pDQogICAgPHA+UmV0dXJucyB0aGUgYWxpYXMgb2YgdGhlIG5leHQgb3IgcHJldmlvdXMgc2libGluZyB0byB0aGUgc3BlY2lmaWVkDQogICAgICAgcGFnZS4gb3IgZmFsc2UuPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPiRkaXJlY3Rpb24gLSB0aGUgZGlyZWN0aW9uIHRvIGxvb2sgaW4uICBwb3NzaWJsZSB2YWx1ZXMgYXJlIHByZXYscHJldmlvdXMsLTEsbmV4dCwxPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiB0aGUgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byBmaW5kIHRoZSBzaWJsaW5nIGZvci4gIElmIHRoaXMgaXMgbm90IHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+DQogICAgPGJyLz48L3A+DQogICAgICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgICAgIDxwcmU+TGluayB0byBwcmV2aW91cyBzaWJsaW5nOiB7JGNnc2ltcGxlLT5nZXRfc2libGluZygmcXVvdDtwcmV2JnF1b3Q7LCZxdW90O3ByZXZfc2libGluZyZxdW90Oyl9e2lmICFlbXB0eSgkcHJldl9zaWJsaW5nKX17Y21zX3NlbGZsaW5rIHBhZ2U9JnF1b3Q7JHByZXZfc2libGluZyZxdW90OyB0ZXh0PSZxdW90O1ByZXZpb3VzJnF1b3Q7fXsvaWZ9PC9wcmU+PGJyLz4NCiAgICA8L2xpPg0KPC91bD4NCjxoND5PdGhlciBTbWFydHkgZnVuY3Rpb25zPC9oND4NCjx1bD4NCiAgICA8bGk+PHN0cm9uZz57bW9kdWxlX2FjdGlvbl9saW5rfTwvc3Ryb25nPg0KICAgIDxwPkEgc21hcnR5IHBsdWdpbiB0aGF0IGNhbiBjcmVhdGUgYSBsaW5rIHRvIGEgbW9kdWxlIGFjdGlvbi48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+bW9kdWxlIC0gVGhlIG1vZHVsZSB0byBjcmVhdGUgYSBsaW5rIHRvPC9saT4NCiAgICAgICA8bGk+YWN0aW9uIChkZWZhdWx0KSAtIFRoZSBhY3Rpb24gdG8gY2FsbCB3aXRoaW4gdGhlIG1vZHVsZTwvbGk+DQogICAgICAgPGxpPnRleHQgLSBUaGUgdGV4dCB0byBwdXQgaW4gdGhlIGxpbms8L2xpPg0KICAgICAgIDxsaT5wYWdlIC0gU3BlY2lmeSB0aGUgZGVzdGluYXRpb24gcGFnZTwvbGk+DQogICAgICAgPGxpPnVybG9ubHkgLSBJbnN0ZWFkIG9mIGdlbmVyYXRpbmcgYSBsaW5rLCBnZW5lcmF0ZSBqdXN0IHRoZSB1cmw8L2xpPg0KICAgICAgIDxsaT5qc2ZyaWVuZGx5IC0gVXNlZCB3aXRoIHRoZSB1cmxvbmx5IHBhcmFtZXRlciB0aGlzIHBhcmFtZXRlciB3aWxsIGVuc3VyZSB0aGF0IGEgamF2YXNjcnB0IGZyaWVuZGx5IHVybCBpcyBvdXRwdXQuPC9saT4NCiAgICAgICA8bGk+Y29uZm1lc3NhZ2UgLSBBIGNvbmZpcm1hdGlvbiBtZXNzYWdlIHRvIGRpc3BsYXkgd2hlbiB0aGUgbGluayBpcyBjbGlja2VkLjwvbGk+DQogICAgICAgPGxpPmltYWdlIC0gQW4gaW1hZ2UgdG8gdXNlIG9uIHRoZSBsaW5rPC9saT4NCiAgICAgICA8bGk+aW1hZ2Vvbmx5IC0gSWYgYW4gaW1hZ2UgaXMgc3BlY2lmaWVkLCBjcmVhdGUgYSBsaW5rIG9ubHkgY29uc2lzdGluZyBvZiB0aGUgaW1hZ2UuICBUaGUgdGV4dCB3aWxsIGJlIHVzZWQgZm9yIHRoZSB0aXRsZSBhdHRyaWJ1dGU8L2xpPg0KICAgICAgIDwvdWw+DQogICAgPGJyLz48L3A+DQogICAgPHA+QW55IG90aGVyIGFyZ3VtZW50cyB0byB0aGUgc21hcnR5IHBsdWdpbiB3aWxsIGJlIGFkZGVkIHRvIHRoZSBVUkwgZ2VuZXJhdGVkLjwvcD4gICA8cD5FeGFtcGxlOg0KPHByZT57bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0mIzAzOTtOZXdzJiMwMzk7IGFjdGlvbj0mIzAzOTtmZXN1Ym1pdCYjMDM5OyB0ZXh0PSYjMDM5O1N1Ym1pdCBhIE5ldyBOZXdzIEFydGljbGUmIzAzOTt9PC9wcmU+PGJyLz48L3A+PC9saT4NCg0KDQogICAgPGxpPjxzdHJvbmc+e3Nlc3Npb25fcHV0fTwvc3Ryb25nPg0KICAgIDxwPkEgc21hcnR5IHBsdWdpbiB0aGF0IGNhbiBzdG9yZSBkYXRhIGluIHRoZSB1c2VyIHNlc3Npb24uIFRoaXMgZGF0YSBpcyB0aGVuIGFjY2Vzc2libGUgdmlhIHRoZSAkc21hcnR5LnNlc3Npb24gYXJyYXkgaW4gc3Vic2VxdWVudCBwYWdlcy48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+dmFyIC0gVGhlIG5hbWUgb2YgdGhlIHZhcmlhYmxlIHRvIGNyZWF0ZSBpbiB0aGUgc2Vzc2lvbi48L2xpPg0KICAgICAgIDxsaT52YWx1ZSAtIFRoZSBkZXNpcmVkIHZhbHVlIG9mIHRoZSB2YXJpYWJsZS48L2xpPg0KICAgICAgIDwvdWw+DQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZToNCiAgICA8cHJlPntzZXNzaW9uX3B1dCB2YXI9JiMwMzk7dGVzdCYjMDM5OyB2YWx1ZT0mIzAzOTtibGFoJiMwMzk7fTwvcHJlPjxici8+PC9wPjwvbGk+DQoNCiAgICA8bGk+PHN0cm9uZz57c2Vzc2lvbl9lcmFzZX08L3N0cm9uZz4NCiAgICA8cD5BIHNtYXJ0eSBwbHVnaW4gdGhhdCBjYW4gZXJhc2UgZGF0YSBmcm9tIHRoZSB1c2VyIHNlc3Npb24uPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPnZhciAtIFRoZSBuYW1lIG9mIHRoZSB2YXJpYWJsZSB0byBlcmFzZSBpbiB0aGUgc2Vzc2lvbi48L2xpPg0KICAgICAgIDwvdWw+DQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZToNCiAgICA8cHJlPntzZXNzaW9uX2VyYXNlIHZhcj0mIzAzOTt0ZXN0JiMwMzk7fTwvcHJlPjxici8+PC9wPjwvbGk+DQoNCiAgICA8bGk+PHN0cm9uZz57Y2dyZXBlYXR9PC9zdHJvbmc+DQogICAgPHA+QW5vdGhlciBzbWFydHkgcGx1Z2luIHRoYXQgd2lsbCBhbGxvdyByZXBlYXRpbmcgdGV4dDwvcD4NCiAgICA8cD5Bcmd1bWVudHM6PC9wPg0KICAgICAgPHVsPg0KICAgICAgICA8bGk+dGV4dCAtIFRoZSB0ZXh0IHRvIGJlIHJlcGVhdGVkPC9saT4NCiAgICAgICAgPGxpPmNvdW50IC0gVGhlIG51bWJlciBvZiB0aW1lcyBpdCBzaG91bGQgYmUgcmVwZWF0ZWQ8L2xpPg0KICAgICAgICA8bGk+YXNzaWduIC0gQXNzaWduIHRoZSBvdXRwdXQgdG8gdGhlIHNwZWNpZmllZCBzbWFydHkgdmFyaWFibGU8L2xpPg0KICAgICAgPC91bD4NCiAgICA8YnIvPg0KICAgIDxwPkV4YW1wbGU6IDxwcmU+e2NncmVwZWF0IHRleHQ9JiMwMzk7dGhpcyYjMDM5OyBjb3VudD0mIzAzOTs1JiMwMzk7fTwvcHJlPjxici8+PC9wPg0KICAgIDwvbGk+DQo8L3VsPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj48Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZz48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gDQpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4nOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdDYWxndXlzIFNpbXBsZSBTbWFydHkgdCZvdW1sOyZvdW1sO3JpaXN0YWQnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdDR1NpbXBsZVNtYXJ0eSBvbiBuJnV1bWw7JnV1bWw7ZCBwYWlnYWxkYXR1ZCc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnQ0dTaW1wbGVTbWFydHkgb24gZWVtYWxkYXR1ZCc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjMyMTU1NDUyNjY3MzIwMTkwMDAuMTI0MTA5MTc4Ny4xMjUzODk1Njg1LjEyNTM4OTgxOTYuMTM0JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI1Mzg4ODYzOC4xMzIuMjcudXRtY3NyPWZvcnVtLmNtc21hZGVzaW1wbGUub3JnfHV0bWNjbj0ocmVmZXJyYWwpfHV0bWNtZD1yZWZlcnJhbHx1dG1jY3Q9L2luZGV4LnBocC90b3BpYywzNzM2MC4wLmh0bWwnOwokbGFuZ1sncWNhJ10gPSAnMTI0MDY4MzYxNS01ODQwOTk3My03OTkxNTMwMyc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1NpbXBsZVNtYXJ0eSAoQ0cpJm5ic3A7JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+UXVlIGZhaXQgY2UgbW9kdWxlID88L2gzPg0KPHA+Q2UgbW9kdWxlIGZvdXJuaXQgcXVlbHF1ZXMgZm9uY3Rpb25uYWxpdCZlYWN1dGU7cyBTaW1wbGUgU21hcnR5ICZhZ3JhdmU7IHV0aWxpc2VyIGRhbnMgZGVzIGFwcGxpY2F0aW9ucyBvdSBwb3VyIHBlcnNvbm5hbGlzZXIgbGUgY29tcG9ydGVtZW50IGRlIHZvcyBwYWdlcyBkZSB2b3RyZSBDTVMgTWFkZSBTaW1wbGUuPC9wPg0KPGgzPkNvbW1lbnQgbCYjMDM5O3V0aWxpc2VyID88L2gzPg0KPHA+UXVhbmQgY2UgbW9kdWxlIGVzdCBpbnN0YWxsJmVhY3V0ZTssIHVuIG5vdXZlYXUgb2JqZXQgU21hcnR5IG5vbW0mZWFjdXRlOyBjZ3NpbXBsZSBlc3QgYXV0b21hdGlxdWVtZW50IGRpc3BvbmlibGUgZGFucyB2b3MgZ2FiYXJpdHMgZGUgcGFnZSwgYmxvY3MgZGUgY29udGVudXMgZ2xvYmF1eCBldCBkaXZlcnMgZ2FiYXJpdHMgZGUgbW9kdWxlcy4gQ2Ugb2JqZXQgU21hcnR5IGEgZGUgbm9tYnJldXNlcyBmb25jdGlvbnMgcXVlIHZvdXMgcG91dmV6IGFwcGVsZXIgJmFncmF2ZTsgdG91dCBtb21lbnQuPC9wPg0KPGg0PkZvbmN0aW9ucyBkaXNwb25pYmxlcyA6PC9oND4NCjx1bD4NCjxsaT48c3Ryb25nPm1vZHVsZV9pbnN0YWxsZWQ8L3N0cm9uZz4oJG1vZHVsZW5hbWUsWyRhc3NpZ25dKQ0KICAgIDxwPlRlc3RlIHNpIHVuIG1vZHVsZSBwYXJ0aWN1bGllciBlc3QgaW5zdGFsbCZlYWN1dGU7LjwvcD4NCiAgICA8cD5Bcmd1bWVudHMgOg0KICAgICAgIDx1bD4NCiAgICAgICAgIDxsaT4kbW9kdWxlbmFtZSAtIExlIG5vbSBkdSBtb2R1bGUgJmFncmF2ZTsgdiZlYWN1dGU7cmlmaWVyPC9saT4NCiAgICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25uZWwpIExlIG5vbSBkJiMwMzk7dW5lIHZhcmlhYmxlICZhZ3JhdmU7IGxhcXVlbGxlIGFzc2lnbmVyIGxlIHImZWFjdXRlO3N1bHRhdC48L2xpPg0KICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4ZW1wbGU6PGJyLz4NCiAgICA8cHJlPntpZiAkY2dzaW1wbGUtPm1vZHVsZV9pbnN0YWxsZWQoJiMwMzk7RnJvbnRFbmRVc2VycyYjMDM5Oyl9Rm91bmQgRkVVey9pZn08L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5tb2R1bGVfdmVyc2lvbjwvc3Ryb25nPigkbW9kdWxlbmFtZSxbJGFzc2lnbl0pDQogICAgPHA+UmVudm9pZSBsZSBudW0mZWFjdXRlO3JvIGRlIHZlcnNpb24gZCYjMDM5O3VuIG1vZHVsZSBpbnN0YWxsJmVhY3V0ZTsgc3AmZWFjdXRlO2NpZmlxdWUuPC9wPg0KICAgIDxwPkFyZ3VtZW50cyA6DQogICAgICAgPHVsPg0KICAgICAgICAgPGxpPiRtb2R1bGVuYW1lIC0gTGUgbm9tIGR1IG1vZHVsZSAmYWdyYXZlOyB2JmVhY3V0ZTtyaWZpZXI8L2xpPg0KICAgICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbm5lbCkgTGUgbm9tIGQmIzAzOTt1bmUgdmFyaWFibGUgJmFncmF2ZTsgbGFxdWVsbGUgYXNzaWduZXIgbGUgciZlYWN1dGU7c3VsdGF0LjwvbGk+DQogICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhlbXBsZTo8YnIvPg0KICAgIDxwcmU+eyRjZ3NpbXBsZS0+bW9kdWxlX3ZlcnNpb24oJiMwMzk7RnJvbnRFbmRVc2VycyYjMDM5OywmIzAzOTtmZXVfdmVyc2lvbiYjMDM5Oyl9V2UgaGF2ZSBWZXJzaW9uIHskZmV1X3ZlcnNpb259IG9mIEZyb250RW5kVXNlcnM8L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRfcGFyZW50X2FsaWFzPC9zdHJvbmc+KFskYWxpYXNdLFskYXNzaWduXSkNCiAgICA8cD5SZW52b2llIGwmIzAzOTthbGlhcyBkZXMgcGFnZXMgcGFyZW50cyBzcCZlYWN1dGU7Y2lmaSZlYWN1dGU7ZXMuIFJlbnZvaWUgdW4gciZlYWN1dGU7c3VsdGF0IHZpZGUgcyYjMDM5O2lsIG4mIzAzOTt5IGEgcGFzIGRlIHBhcmVudC48L3A+DQogICAgPHA+QXJndW1lbnRzIDoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbm5lbCkgTCYjMDM5O2FsaWFzIGRlIHBhZ2UgcG91ciBsZXF1ZWwgdHJvdXZlciBsZSBwYXJlbnQuIFNpIGF1Y3VuZSB2YWxldXIgc3AmZWFjdXRlO2NpZmkmZWFjdXRlO2UsIGxhIHBhZ2UgZW4gY291cnMgZXN0IHV0aWxpcyZlYWN1dGU7ZS48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25uZWwpIExlIG5vbSBkJiMwMzk7dW5lIHZhcmlhYmxlICZhZ3JhdmU7IGxhcXVlbGxlIGFzc2lnbmVyIGxlIHImZWFjdXRlO3N1bHRhdC48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGVtcGxlIDo8YnIvPg0KICAgIDxwcmU+TCYjMDM5O2FsaWFzIGRlIGxhIHBhZ2UgcGFyZW50IGVzdCB7JGNnc2ltcGxlLT5nZXRfcGFyZW50X2FsaWFzKCl9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3Jvb3RfYWxpYXM8L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQ0KICAgIDxwPlJlbnZvaWUgbCYjMDM5O2FsaWFzIGRlIHBhZ2VzIHJhY2luZSAocm9vdCkgcGFyZW50IHNwJmVhY3V0ZTtjaWZpJmVhY3V0ZTtlcy4gUmVudm9pZSB1biByJmVhY3V0ZTtzdWx0YXQgdmlkZSBzJiMwMzk7aWwgbiYjMDM5O3kgYSBwYXMgZGUgcGFyZW50IHJhY2luZSAocm9vdCkuPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbm5lbCkgTCYjMDM5O2FsaWFzIGRlIHBhZ2UgcG91ciBsZXF1ZWwgdHJvdXZlciBsZSBwYXJlbnQgcmFjaW5lIChyb290KS4gU2kgYXVjdW5lIHZhbGV1ciBzcCZlYWN1dGU7Y2lmaSZlYWN1dGU7ZSwgbGEgcGFnZSBlbiBjb3VycyBlc3QgdXRpbGlzJmVhY3V0ZTtlLjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbm5lbCkgIExlIG5vbSBkJiMwMzk7dW5lIHZhcmlhYmxlICZhZ3JhdmU7IGxhcXVlbGxlIGFzc2lnbmVyIGxlIHImZWFjdXRlO3N1bHRhdC48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGVtcGxlIDo8YnIvPg0KICAgIDxwcmU+TCYjMDM5O2FsaWFzIGRlIGxhIHBhZ2UgcmFjaW5lIGVzdCB7JGNnc2ltcGxlLT5nZXRfcm9vdF9hbGlhcygpfTwvcHJlPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPmdldF9wYWdlX3RpdGxlPC9zdHJvbmc+KFskYWxpYXNdLFskYXNzaWduXSkNCiAgICA8cD5SZW52b2llIGxlIHRpdHJlIGRlIGxhIHBhZ2Ugc3AmZWFjdXRlO2NpZmkmZWFjdXRlO2UuPC9wPg0KICAgIDxwPkFyZ3VtZW50cyA6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25uZWwpIEwmIzAzOTthbGlhcyBkZSBwYWdlIHBvdXIgbGVxdWVsIHRyb3V2ZXIgbGUgdGl0cmUuIFNpIGF1Y3VuZSB2YWxldXIgc3AmZWFjdXRlO2NpZmkmZWFjdXRlO2UsIGxhIHBhZ2UgZW4gY291cnMgZXN0IHV0aWxpcyZlYWN1dGU7ZS48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25uZWwpICBMZSBub20gZCYjMDM5O3VuZSB2YXJpYWJsZSAmYWdyYXZlOyBsYXF1ZWxsZSBhc3NpZ25lciBsZSByJmVhY3V0ZTtzdWx0YXQuPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhlbXBsZSA6PGJyLz4NCiAgICA8cHJlPkxlIHRpdHJlIGRlIGNldHRlIHBhZ2UgZXN0IHskY2dzaW1wbGUtPmdldF9wYWdlX3RpdGxlKCl9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3BhZ2VfbWVudXRleHQ8L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQ0KICAgIDxwPlJlbnZvaWUgbGUgdGV4dGUgZHUgbWVudSBkZSBsYSBwYWdlIHNwJmVhY3V0ZTtjaWZpJmVhY3V0ZTtlLjwvcD4NCiAgICA8cD5Bcmd1bWVudHMgOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLShvcHRpb25uZWwpIEwmIzAzOTthbGlhcyBkZSBwYWdlIHBvdXIgbGVxdWVsIHRyb3V2ZXIgbGUgdGl0cmUuIFNpIGF1Y3VuZSB2YWxldXIgc3AmZWFjdXRlO2NpZmkmZWFjdXRlO2UsIGxhIHBhZ2UgZW4gY291cnMgZXN0IHV0aWxpcyZlYWN1dGU7ZS48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25uZWwpICBMZSBub20gZCYjMDM5O3VuZSB2YXJpYWJsZSAmYWdyYXZlOyBsYXF1ZWxsZSBhc3NpZ25lciBsZSByJmVhY3V0ZTtzdWx0YXQuPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhlbXBsZSA6PGJyLz4NCiAgICA8cHJlPkxlIHRleHRlIGR1IG1lbnUgZGUgbGEgcGFnZSBhY3R1ZWxsZSBlc3QgeyRjZ3NpbXBsZS0+Z2V0X3BhZ2VfdGl0bGUoKX08L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5oYXNfY2hpbGRyZW48L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQ0KICAgIDxwPlRlc3RlIHNpIGxhIHBhZ2Ugc3AmZWFjdXRlO2NpZmkmZWFjdXRlO2UgYSBkZXMgZW5mYW50cy48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9ubmVsKSBMJiMwMzk7YWxpYXMgZGUgcGFnZSAmYWdyYXZlOyB0ZXN0ZXIuIFNpIGF1Y3VuZSB2YWxldXIgc3AmZWFjdXRlO2NpZmkmZWFjdXRlO2UsIGxhIHBhZ2UgZW4gY291cnMgZXN0IHV0aWxpcyZlYWN1dGU7ZS48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gLSAob3B0aW9ubmVsKSAgTGUgbm9tIGQmIzAzOTt1bmUgdmFyaWFibGUgJmFncmF2ZTsgbGFxdWVsbGUgYXNzaWduZXIgbGUgciZlYWN1dGU7c3VsdGF0LjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4ZW1wbGUgOjxici8+DQogICAgPHByZT57JGNnc2ltcGxlLT5oYXNfY2hpbGRyZW4oJiMwMzk7JiMwMzk7LCRoYXNfY2hpbGRyZW4pfXtpZiAkaGFzX2NoaWxkcmVufUxhIHBhZ2UgYWN0dWVsbGUgYSBkZXMgcGFnZXMgZW5mYW50c3tlbHNlfUxhIHBhZ2UgYWN0dWVsbGUgbiYjMDM5O2EgcGFzIGRlIHBhZ2UgZW5mYW50ey9pZn08L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRfY2hpbGRyZW48L3N0cm9uZz4oWyRhbGlhc10sWyRzaG93aW5hY3RpdmVdLFskYXNzaWduXSkNCiAgIDxwPlJlbnZvaWUgdW4gdGFibGVhdSBjb250ZW5hbnQgZGVzIGluZm9ybWF0aW9ucyBzdXIgbGVzIHBhZ2VzIGVuZmFudHMgKHMmIzAzOTtpbCB5IGVuIGEpPC9wPg0KICAgIDxwPkFyZ3VtZW50cyA6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25uZWwpIEwmIzAzOTthbGlhcyBkZSBwYWdlICZhZ3JhdmU7IHRlc3Rlci4gU2kgYXVjdW5lIHZhbGV1ciBzcCZlYWN1dGU7Y2lmaSZlYWN1dGU7ZSwgbGEgcGFnZSBlbiBjb3VycyBlc3QgdXRpbGlzJmVhY3V0ZTtlLjwvbGk+DQogICAgICAgPGxpPlskc2hvd2luYWN0aXZlXSAtIChvcHRpb25uZWwpIFNpIGxlcyBwYWdlcyBpbmFjdGl2ZXMgZG9pdmVudCAmZWNpcmM7dHJlIGluY2x1ZXMgZGFucyBsZSByJmVhY3V0ZTtzdWx0YXQgKGZhbHNlIHBhciBkJmVhY3V0ZTtmYXV0KS48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gLSAob3B0aW9ubmVsKSAgTGUgbm9tIGQmIzAzOTt1bmUgdmFyaWFibGUgJmFncmF2ZTsgbGFxdWVsbGUgYXNzaWduZXIgbGUgciZlYWN1dGU7c3VsdGF0LjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkNoYW1wcyA6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5hbGlhcyAtIEwmIzAzOTthbGlhcyBkZSBwYWdlIGRlIGwmIzAzOTtlbmZhbnQ8L2xpPg0KICAgICAgIDxsaT5pZCAtICBMJiMwMzk7aWQgZGUgcGFnZSBkZSBsJiMwMzk7ZW5mYW50PC9saT4NCiAgICAgICA8bGk+dGl0bGUgLSBMZSB0aXRyZSBkZSBwYWdlIGRlIGwmIzAzOTtlbmZhbnQ8L2xpPg0KICAgICAgIDxsaT5tZW51dGV4dCAtIGxlIHRleHRlIGR1IG1lbnUgZGUgbCYjMDM5O2VuZmFudDwvbGk+DQogICAgICAgPC91bD4NCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGVtcGxlIDo8YnIvPg0KICAgIDxwcmU+DQp7JGNnc2ltcGxlLT5nZXRfY2hpbGRyZW4oJiMwMzk7JiMwMzk7LCYjMDM5OyYjMDM5OywkY2hpbGRyZW4pfQ0Ke2lmIGNvdW50KCRjaGlsZHJlbil9DQogICB7Zm9yZWFjaCBmcm9tPSRjaGlsZHJlbiBpdGVtPSYjMDM5O2NoaWxkJiMwMzk7fQ0KICAgICAge2lmICRjaGlsZC5zaG93X2luX21lbnV9DQogICAgICAgIENoaWxkOiAgaWQgPSB7JGNoaWxkLmlkfSBhbGlhcyA9IHskY2hpbGQuYWxpYXN9PGJyLz4NCiAgICAgIHsvaWZ9DQogICB7L2ZvcmVhY2h9DQp7L2lmfQ0KICAgIDwvcHJlPg0KICAgIDwvcD4NCjwvbGk+DQoNCiAgICA8bGk+PHN0cm9uZz5nZXRfcGFnZV9jb250ZW50PC9zdHJvbmc+KCRhbGlhcyxbJGJsb2NrXSxbJGFzc2lnbl0pDQogICAgPHA+UmVudm9pZSBsZSB0ZXh0ZSBkJiMwMzk7dW4gYmxvYyBkZSBjb250ZW51IHNwJmVhY3V0ZTtjaWZpcXVlIGQmIzAzOTt1bmUgYXV0cmUgcGFnZS48L3A+DQogICAgPHA+QXJndW1lbnRzIDoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPiRhbGlhcyAtIEwmIzAzOTthbGlhcyBkZSBsYSBwYWdlIGQmIzAzOTtvJnVncmF2ZTsgZXh0cmFpcmUgbGUgY29udGVudS48L2xpPg0KICAgICAgIDxsaT5bJGJsb2NrXSAtIChvcHRpb25uZWwpIExlIG5vbSBkdSBibG9jIGRlIGNvbnRlbnUgZGFucyBsYSBwYWdlIHNwJmVhY3V0ZTtjaWZpJmVhY3V0ZTtlLiBTaSBjZXR0ZSB2YXJpYWJsZSBuJiMwMzk7ZXN0IHBhcyBwciZlYWN1dGU7Y2lzJmVhY3V0ZTtlLCAmIzAzOTtjb250ZW50X2VuJiMwMzk7IGVzdCBhdHRyaWJ1JmVhY3V0ZTsuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dIC0gKG9wdGlvbm5lbCkgIExlIG5vbSBkJiMwMzk7dW5lIHZhcmlhYmxlICZhZ3JhdmU7IGxhcXVlbGxlIGFzc2lnbmVyIGxlIHImZWFjdXRlO3N1bHRhdC48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGVtcGxlIDo8YnIvPg0KICAgIDxwcmU+TGUgdGl0cmUgZGUgbGEgcGFnZSBlbiBjb3VycyBlc3QgeyRjZ3NpbXBsZS0+Z2V0X3BhZ2VfdGl0bGUoKX08L3ByZT4NCiAgICA8L3A+DQogIDwvbGk+DQogIDxsaT48c3Ryb25nPmdldF9zaWJsaW5nPC9zdHJvbmc+KCRkaXJlY3Rpb25bLCRhc3NpZ25dWywkYWxpYXNdKQ0KICAgIDxwPlJlbnZvaWUgbCYjMDM5O2FsaWFzIGR1IHByJmVhY3V0ZTtjJmVhY3V0ZTtkZW50IG91IHN1aXZhbnQgcGFyZW50IChkZSBtJmVjaXJjO21lIG5pdmVhdSkgJmFncmF2ZTsgbGEgcGFnZSBzcCZlYWN1dGU7Y2lmaSZlYWN1dGU7ZS4gb3Ugbm9uLjwvcD4NCiAgICA8cD5Bcmd1bWVudHMgOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+JGRpcmVjdGlvbiAtIExhIGRpcmVjdGlvbiB2ZXJzIGxhcXVlbGxlIHJlZ2FyZGVyLiBMZXMgdmFsZXVycyBwb3NzaWJsZXMgc29udCBwcmV2LHByZXZpb3VzLC0xLG5leHQsMTwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAtIChvcHRpb25uZWwpIExlIG5vbSBkZSBsYSB2YXJpYWJsZSAmYWdyYXZlOyBsYXF1ZWxsZSBhc3NpZ25lciBsZXMgciZlYWN1dGU7c3VsdGF0cy48L2xpPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25uZWwpIEwmIzAzOTthbGlhcyBkZSBwYWdlIHBvdXIgbGVxdWVsIHRyb3V2ZXIgdW4gcGFyZW50IGRlIG0mZWNpcmM7bWUgbml2ZWF1LiAgU2kgbm9uIHNwJmVhY3V0ZTtjaWZpJmVhY3V0ZTssIGxhIHBhZ2UgZW4gY291cnMgZXN0IHV0aWxpcyZlYWN1dGU7ZS48L2xpPg0KICAgIDxici8+PC9wPg0KICAgICAgIDxwPkV4ZW1wbGUgOjxici8+DQogICAgICAgPHByZT5MaWVuIGF1IHByJmVhY3V0ZTtjJmVhY3V0ZTtkZW50IHBhcmVudCBkZSBtJmVjaXJjO21lIG5pdmVhdSA6IHskY2dzaW1wbGUtJmFtcDtndDtnZXRfc2libGluZygmYW1wO3F1b3Q7cHJldiZhbXA7cXVvdCwmYW1wO3F1b3Q7cHJldl9zaWJsaW5nJmFtcDtxdW90Oyl9e2lmICFlbXB0eSgkcHJldl9zaWJsaW5nKX17Y21zX3NlbGZsaW5rIHBhZ2U9JmFtcDtxdW90OyRwcmV2X3NpYmxpbmcmYW1wO3F1b3Q7IHRleHQ9JmFtcDtxdW90O1ByZXZpb3VzJmFtcDtxdW90O317L2lmfTwvcHJlPjxici8+DQogICA8L2xpPg0KPC91bD4NCjxoND5BdXRyZXMgZm9uY3Rpb25zIFNtYXJ0eTwvaDQ+DQo8dWw+DQogICAgPGxpPjxzdHJvbmc+e21vZHVsZV9hY3Rpb25fbGlua308L3N0cm9uZz4NCiAgICA8cD5VbiBwbHVnaW4gU21hcnR5IHF1aSBwZXV0IGNyJmVhY3V0ZTtlciB1biBsaWVuICZhZ3JhdmU7IHVuZSBhY3Rpb24gZGUgbW9kdWxlLjwvcD4NCiAgICA8cD5Bcmd1bWVudHMgOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+bW9kdWxlIC0gTGUgbW9kdWxlIGF2ZWMgbGVxdWVsIGxlIGxpZW4gZXN0IGNyJmVhY3V0ZTsmZWFjdXRlOzwvbGk+DQogICAgICAgPGxpPmFjdGlvbiAoZGVmYXVsdCkgLSBMJiMwMzk7YWN0aW9uICZhZ3JhdmU7IGFwcGVsZXIgYXUgc2VpbiBkdSBtb2R1bGU8L2xpPg0KICAgICAgIDxsaT50ZXh0IC0gTGUgdGV4dGUgJmFncmF2ZTsgbWV0dHJlIGRhbnMgbGUgbGllbjwvbGk+DQogICAgICAgPGxpPnBhZ2UgLSBQciZlYWN1dGU7Y2lzZSBsYSBwYWdlIGRlIGRlc3RpbmF0aW9uPC9saT4NCiAgICAgICA8bGk+dXJsb25seSAtIGF1IGxpZXUgZGUgZyZlYWN1dGU7biZlYWN1dGU7cmVyIHVuIGxpZW4sIGcmZWFjdXRlO24mZWdyYXZlO3JlIHNpbXBsZW1lbnQgbCYjMDM5O3VybDwvbGk+DQogICAgICAgPGxpPmNvbmZtZXNzYWdlIC0gVW4gbWVzc2FnZSBkZSBjb25maXJtYXRpb24gcG91ciBhZmZpY2hlciBxdWFuZCBsZSBsaWVuIGVzdCBjbGlxdSZlYWN1dGU7LjwvbGk+DQogICAgICAgPGxpPmltYWdlIC0gVW5lIGltYWdlICZhZ3JhdmU7IHV0aWxpc2VyIGRhbnMgbGUgbGllbjwvbGk+DQogICAgICAgPGxpPmltYWdlb25seSAtIFNpIHVuZSBpbWFnZSBlc3Qgc3AmZWFjdXRlO2NpZmkmZWFjdXRlO2UsIGNyJmVhY3V0ZTtlIHVuIGxpZW4gY29uc2lzdGFudCB1bmlxdWVtZW50IGVuIGwmIzAzOTtpbWFnZS4gTGUgdGV4dGUgc2VyYSB1dGlsaXMmZWFjdXRlOyBwb3VyIGwmIzAzOTthdHRyaWJ1dCB0aXRyZTwvbGk+DQogICAgICAgPC91bD4NCiAgICA8YnIvPjwvcD4NCiAgICA8cD5Ub3V0IGF1dHJlIGFyZ3VtZW50IHBvdXIgbGUgcGx1Z2luIFNtYXJ0eSBzZXJhIGFqb3V0JmVhY3V0ZTsgJmFncmF2ZTsgbCYjMDM5O1VSTCBnJmVhY3V0ZTtuJmVhY3V0ZTtyJmVhY3V0ZTtlLjwvcD4gICA8cD5FeGVtcGxlIDoNCjxwcmU+e21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9JiMwMzk7TmV3cyYjMDM5OyBhY3Rpb249JiMwMzk7ZmVzdWJtaXQmIzAzOTsgdGV4dD0mIzAzOTtTdWJtaXQgYSBOZXcgTmV3cyBBcnRpY2xlJiMwMzk7fTwvcHJlPjwvcD48L2xpPg0KDQo8bGk+PHN0cm9uZz57c2Vzc2lvbl9wdXR9PC9zdHJvbmc+DQogICAgPHA+VW4gcGx1Z2luIFNtYXJ0eSBxdWkgcGV1dCBlbnJlZ2lzdHJlciBkZXMgZG9ubiZlYWN1dGU7ZXMgZGFucyBsYSBzZXNzaW9uIGRlIGwmIzAzOTt1dGlsaXNhdGV1ci4gQ2VzIGRvbm4mZWFjdXRlO2VzIHNvbnQgYWxvcnMgYWNjZXNzaWJsZXMgdmlhIGwmIzAzOTthcnJheSAkc21hcnR5LnNlc3Npb24gZGFucyBsZXMgcGFnZXMgcG9zdCZlYWN1dGU7cmlldXJlcy48L3A+DQogICAgPHA+QXJndW1lbnRzIDoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPnZhciAtIExlIG5vbSBkZSBsYSB2YXJpYWJsZSAmYWdyYXZlOyBjciZlYWN1dGU7ZXIgZGFucyBsYSBzZXNzaW9uLjwvbGk+DQogICAgICAgPGxpPnZhbHVlIC0gTGEgdmFsZXVyIGQmZWFjdXRlO3NpciZlYWN1dGU7ZSBkZSBsYSB2YXJpYWJsZS48L2xpPg0KICAgICAgIDwvdWw+DQogICAgPGJyLz48L3A+DQogICAgPHA+RXhlbXBsZSA6DQogICAgPHByZT57c2Vzc2lvbl9wdXQgdmFyPSYjMDM5O3Rlc3QmIzAzOTsgdmFsdWU9JiMwMzk7YmxhaCYjMDM5O308L3ByZT48YnIvPjwvcD48L2xpPg0KDQogICAgPGxpPjxzdHJvbmc+e3Nlc3Npb25fZXJhc2V9PC9zdHJvbmc+DQogICAgPHA+VW4gcGx1Z2luIFNtYXJ0eSBxdWkgcGV1dCBlZmZhY2VyIGRlcyBkb25uJmVhY3V0ZTtlcyBkYW5zIGxhIHNlc3Npb24gZGUgbCYjMDM5O3V0aWxpc2F0ZXVyLjwvcD4NCiAgICA8cD5Bcmd1bWVudHMgOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+dmFyIC0gTGUgbm9tIGRlIGxhIHZhcmlhYmxlICZhZ3JhdmU7IGVmZmFjZXIgZGFucyBsYSBzZXNzaW9uLjwvbGk+DQogICAgICAgPC91bD4NCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGVtcGxlIDoNCiAgICA8cHJlPntzZXNzaW9uX2VyYXNlIHZhcj0mIzAzOTt0ZXN0JiMwMzk7fTwvcHJlPjxici8+PC9wPjwvbGk+DQoNCiAgICA8bGk+PHN0cm9uZz57Y2dyZXBlYXR9PC9zdHJvbmc+DQogICAgPHA+VW4gYXV0cmUgcGx1Z2luIFNtYXJ0eSBxdWkgcGVybWV0IGRlIHImZWFjdXRlO3AmZWFjdXRlO3RlciBkdSB0ZXh0ZTwvcD4NCiAgICA8cD5Bcmd1bWVudHMgOjwvcD4NCiAgICAgIDx1bD4NCiAgICAgICAgPGxpPnRleHQgLSBMZSB0ZXh0ZSAmYWdyYXZlOyByJmVhY3V0ZTtwJmVhY3V0ZTt0ZXI8L2xpPg0KICAgICAgICA8bGk+Y291bnQgLSBMZSBub21icmUgZGUgciZlYWN1dGU7cCZlYWN1dGU7dGl0aW9uPC9saT4NCiAgICAgICAgPGxpPmFzc2lnbiAtIEFzc2lnbmUgbGEgc29ydGllICZhZ3JhdmU7IGxhIHZhcmlhYmxlIFNtYXJ0eSBzcCZlYWN1dGU7Y2lmaSZlYWN1dGU7ZTwvbGk+DQogICAgICA8L3VsPg0KICAgIDxici8+DQogICAgPHA+RXhlbXBsZSA6IDxwcmU+e2NncmVwZWF0IHRleHQ9JiMwMzk7dGhpcyYjMDM5OyBjb3VudD0mIzAzOTs1JiMwMzk7fTwvcHJlPjwvcD4NCiAgICA8L2xpPg0KPC91bD4NCjxoMz5Db3B5cmlnaHQgZXQgTGljZW5jZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj48Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZz48L2E+LiBUb3VzIGRyb2l0cyByJmVhY3V0ZTtzZXJ2JmVhY3V0ZTtzLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPg0KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUNCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMNCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQpidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ091dGlscyBDYWxndXlzIFNpbXBsZSBTbWFydHknOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdTaW1wbGVTbWFydHkgKENHKSBlc3QgbWFpbnRlbmFudCBpbnN0YWxsJmVhY3V0ZTsnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1NpbXBsZVNtYXJ0eSAoQ0cpIGEgJmVhY3V0ZTt0JmVhY3V0ZTsgZCZlYWN1dGU7c2luc3RhbGwmZWFjdXRlOyc7CiRsYW5nWydxY2EnXSA9ICdQMC00ODM2ODY4MTQtMTI1MTIyOTYwODM1Mic7CiRsYW5nWyd1dG1hJ10gPSAnNTc4Njc4MzcuMTc3Mjk2MDk1Mjc3NDk3NDIwMC4xMjUxMjI5NjA4LjEzMTUwODMxNDQuMTMxNTE3Nzk2Mi4xNzUnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/it_IT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NHU2ltcGxlU21hcnR5ICc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBzb21lIHNpbXBsZSBzbWFydHkgdXRpbGl0aWVzIGZvciB1c2UgaW4gYXBwbGljYXRpb25zIG9yIGZvciBjdXN0b21pemluZyB0aGUgYmVoYXZpb3VyIG9mIHlvdXIgQ01TIE1hZGUgU2ltcGxlIHBhZ2VzLjwvcD4NCjxoMz5Ib3cgRG8gSSBVc2UgSXQ6PC9oMz4NCjxwPldoZW4gdGhpcyBtb2R1bGUgaXMgaW5zdGFsbGVkLCBhIG5ldyBzbWFydHkgb2JqZWN0IG5hbWVkIGNnc2ltcGxlIGlzIGF1dG9tYXRpY2FsbHkgYXZhaWxhYmxlIHRvIHlvdXIgcGFnZSB0ZW1wbGF0ZXMsIGdsb2JhbCBjb250ZW50IGJsb2NrcywgYW5kIHZhcmlvdXMgbW9kdWxlIHRlbXBsYXRlcy4gIFRoaXMgc21hcnR5IG9iamVjdCBoYXMgbnVtZXJvdXMgZnVuY3Rpb25zIHRoYXQgeW91IGNhbiBjYWxsIGF0IGFueSB0aW1lLjwvcD4NCjxoND5BdmFpbGFibGUgRnVuY3Rpb25zOjwvaDQ+DQo8dWw+DQo8bGk+PHN0cm9uZz5zZWxmX3VybDwvc3Ryb25nPihbJGFzc2lnbl0pDQogICAgPHA+UmV0dXJuIHRoZSBjdXJyZW50IFVSTDwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+bW9kdWxlX2luc3RhbGxlZDwvc3Ryb25nPigkbW9kdWxlbmFtZVssJGFzc2lnbl0pDQogICAgPHA+VGVzdCBpZiBhIHBhcnRpY3VsYXIgbW9kdWxlIGlzIGluc3RhbGxlZC48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICAgIDxsaT4kbW9kdWxlbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBtb2R1bGUgdG8gY2hlY2s8L2xpPg0KICAgICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPntpZiAkY2dzaW1wbGUtJmFtcDtndDttb2R1bGVfaW5zdGFsbGVkKCYjMDM5O0Zyb250RW5kVXNlcnMmIzAzOTspfUZvdW5kIEZFVXsvaWZ9PC9wcmU+PGJyLz4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5tb2R1bGVfdmVyc2lvbjwvc3Ryb25nPigkbW9kdWxlbmFtZVssJGFzc2lnbl0pDQogICAgPHA+UmV0dXJuIHRoZSB2ZXJzaW9uIG51bWJlciBvZiBhIHNwZWNpZmljIGluc3RhbGxlZCBtb2R1bGU8L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICAgIDxsaT4kbW9kdWxlbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBtb2R1bGUgdG8gY2hlY2s8L2xpPg0KICAgICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPnskY2dzaW1wbGUtJmFtcDtndDttb2R1bGVfdmVyc2lvbigmIzAzOTtGcm9udEVuZFVzZXJzJiMwMzk7LCYjMDM5O2ZldV92ZXJzaW9uJiMwMzk7KX1XZSBoYXZlIFZlcnNpb24geyRmZXVfdmVyc2lvbn0gb2YgRnJvbnRFbmRVc2VyczwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3BhcmVudF9hbGlhczwvc3Ryb25nPihbJGFsaWFzXSxbJGFzc2lnbl0pDQogICAgPHA+UmV0dXJucyB0aGUgYWxpYXMgb2YgdGhlIHNwZWNpZmllZCBwYWdlcyBwYXJlbnQuIFJldHVybnMgYW4gZW1wdHkgc3RyaW5nIGlmIHRoZXJlIGlzIG5vIHBhcmVudC48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHBhcmVudCBvZi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT5UaGUgcGFyZW50IHBhZ2UgYWxpYXMgaXMgeyRjZ3NpbXBsZS0mYW1wO2d0O2dldF9wYXJlbnRfYWxpYXMoKX08L3ByZT48YnIvPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPmdldF9yb290X2FsaWFzPC9zdHJvbmc+KFskYWxpYXNdWywkYXNzaWduXSkNCiAgICA8cD5SZXR1cm5zIHRoZSBhbGlhcyBvZiB0aGUgc3BlY2lmaWVkIHBhZ2VzIHJvb3QgcGFyZW50LiBSZXR1cm5zIGFuIGVtcHR5IHN0cmluZyBpZiB0aGVyZSBpcyBubyByb290IHBhcmVudC48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHJvb3QgcGFyZW50IG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPlRoZSByb290IHBhcmVudCBwYWdlIGFsaWFzIGlzIHskY2dzaW1wbGUtJmFtcDtndDtnZXRfcm9vdF9hbGlhcygpfTwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3BhZ2VfdGl0bGU8L3N0cm9uZz4oWyRhbGlhc11bLCRhc3NpZ25dKQ0KICAgIDxwPlJldHVybnMgdGhlIHRpdGxlIG9mIHRoZSBzcGVjaWZpZWQgcGFnZS48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHRpdGxlIG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPlRoZSB0aXRsZSBvZiB0aGUgY3VycmVudCBwYWdlIGlzIHskY2dzaW1wbGUtJmFtcDtndDtnZXRfcGFnZV90aXRsZSgpfTwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3BhZ2VfbWVudXRleHQ8L3N0cm9uZz4oWyRhbGlhc11bLCRhc3NpZ25dKQ0KICAgIDxwPlJldHVybnMgdGhlIG1lbnV0ZXh0IG9mIHRoZSBzcGVjaWZpZWQgcGFnZS48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHRpdGxlIG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPlRoZSBtZW51dGV4dCBvZiB0aGUgY3VycmVudCBwYWdlIGlzIHskY2dzaW1wbGUtJmFtcDtndDtnZXRfcGFnZV9tZW51dGV4dCgpfTwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3BhZ2VfdHlwZTwvc3Ryb25nPihbJGFsaWFzXVssJGFzc2lnbl0pDQogICAgPHA+UmV0dXJucyB0aGUgbmFtZSBvZiB0aGUgY29udGVudCB0eXBlIG9mIHRoZSBzcGVjaWZpZWQgY29udGVudCBvYmplY3QgKGJ5IGFsaWFzKTwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gZmluZCB0aGUgdGl0bGUgb2YuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+VGhlIHR5cGUgb2YgdGhlIGN1cnJlbnQgcGFnZSBpcyB7JGNnc2ltcGxlLSZhbXA7Z3Q7Z2V0X3BhZ2VfdHlwZSgpfTwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+aGFzX2NoaWxkcmVuPC9zdHJvbmc+KFskYWxpYXNdWywkYXNzaWduXSkNCiAgICA8cD5UZXN0IGlmIHRoZSBzcGVjaWZpZWQgcGFnZSBoYXMgY2hpbGRyZW4uPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byB0ZXN0LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT57JGNnc2ltcGxlLSZhbXA7Z3Q7aGFzX2NoaWxkcmVuKCYjMDM5OyYjMDM5OywmIzAzOTtoYXNfY2hpbGRyZW4mIzAzOTspfXtpZiAkaGFzX2NoaWxkcmVufVRoZSBjdXJyZW50IHBhZ2UgaGFzIGNoaWxkcmVue2Vsc2V9VGhlIGN1cnJlbnQgcGFnZSBoYXMgbm8gY2hpbGRyZW57L2lmfTwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X2NoaWxkcmVuPC9zdHJvbmc+KFskYWxpYXNdWywkc2hvd2luYWN0aXZlXVssJGFzc2lnbl0pDQogICA8cD5SZXR1cm4gYW4gYXJyYXkgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCBhIHBhZ2VzIGNoaWxkcmVuIChpZiBhbnkpPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byB0ZXN0LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyRzaG93aW5hY3RpdmVdIC0gKG9wdGlvbmFsKSBXZXRoZXIgaW5hY3RpdmUgcGFnZXMgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSByZXN1bHQgKGRlZmF1bHRzIHRvIGZhbHNlKS48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkZpZWxkczoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPmFsaWFzIC0gdGhlIHBhZ2UgYWxpYXMgb2YgdGhlIGNoaWxkPC9saT4NCiAgICAgICA8bGk+aWQgLSB0aGUgcGFnZSBpZCBvZiB0aGUgY2hpbGQ8L2xpPg0KICAgICAgIDxsaT50aXRsZSAtIHRoZSB0aXRsZSBwYWdlIG9mIHRoZSBjaGlsZCBwYWdlLjwvbGk+DQogICAgICAgPGxpPm1lbnV0ZXh0IC0gdGhlIG1lbnUgdGV4dCBvZiB0aGUgY2hpbGQ8L2xpPg0KICAgICAgIDxsaT5zaG93X2luX21lbnUgLSB3ZXRoZXIgdGhpcyBjaGlsZCBwYWdlIGlzIHZpc2libGUgaW4gbWVudXMuPC9saT4NCiAgICAgICA8bGk+dHlwZSAtIFRoZSB0eXBlIG9mIGNoaWxkIGNvbnRlbnQgb2JqZWN0LjwvbGk+DQogICAgICAgPC91bD4NCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT4NCnskY2dzaW1wbGUtJmFtcDtndDtnZXRfY2hpbGRyZW4oJiMwMzk7JiMwMzk7LDAsJiMwMzk7Y2hpbGRyZW4mIzAzOTspfQ0Ke2lmIGNvdW50KCRjaGlsZHJlbil9DQogICB7Zm9yZWFjaCBmcm9tPSRjaGlsZHJlbiBpdGVtPSYjMDM5O2NoaWxkJiMwMzk7fQ0KICAgICAge2lmICRjaGlsZC5zaG93X2luX21lbnV9DQogICAgICAgIENoaWxkOiAgaWQgPSB7JGNoaWxkLmlkfSBhbGlhcyA9IHskY2hpbGQuYWxpYXN9JmFtcDtsdDtici8mYW1wO2d0Ow0KICAgICAgey9pZn0NCiAgIHsvZm9yZWFjaH0NCnsvaWZ9DQogICAgPC9wcmU+PGJyLz4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRfcGFnZV9jb250ZW50PC9zdHJvbmc+KCRhbGlhc1ssJGJsb2NrXVssJGFzc2lnbl0pDQogICAgPHA+UmV0dXJucyB0aGUgdGV4dCBvZiBhIHNwZWNpZmljIGNvbnRlbnQgYmxvY2sgb2YgYW5vdGhlciBwYWdlLjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT4kYWxpYXMgLSBUaGUgcGFnZSBhbGlhcyB0byBleHRyYWN0IGNvbnRlbnQgZnJvbS48L2xpPg0KICAgICAgIDxsaT5bJGJsb2NrXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgdGhlIGNvbnRlbnQgYmxvY2sgaW4gdGhlIHNwZWNpZmllZCBwYWdlLiAgSWYgdGhpcyB2YXJpYWJsZSBpcyBub3Qgc3BlY2lmaWVkIHRoZSB2YWx1ZSBvZiB0aGUgZGVmYXVsdCBjb250ZW50IGJsb2NrIDxlbT4oY29udGVudF9lbik8L2VtPiBpcyBhc3N1bWVkLjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+VGhlICYjMDM5O3NlY29uZCYjMDM5OyBibG9jayBvZiB0aGUgJiMwMzk7YWJvdXQmIzAzOTsgcGFnZSBpcyB7JGNnc2ltcGxlLSZhbXA7Z3Q7Z2V0X3BhZ2VfY29udGVudCgmIzAzOTthYm91dCYjMDM5OywmIzAzOTtzZWNvbmQmIzAzOTssJiMwMzk7Zm9vJiMwMzk7KX17ZXZhbCB2YXI9JGZvb308L3ByZT48YnIvPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPmdldF9zaWJsaW5nPC9zdHJvbmc+KCRkaXJlY3Rpb25bLCRhc3NpZ25dWywkYWxpYXNdKQ0KICAgIDxwPlJldHVybnMgdGhlIGFsaWFzIG9mIHRoZSBuZXh0IG9yIHByZXZpb3VzIHNpYmxpbmcgdG8gdGhlIHNwZWNpZmllZA0KICAgICAgIHBhZ2UuIG9yIGZhbHNlLjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT4kZGlyZWN0aW9uIC0gdGhlIGRpcmVjdGlvbiB0byBsb29rIGluLiAgcG9zc2libGUgdmFsdWVzIGFyZSBwcmV2LHByZXZpb3VzLC0xLG5leHQsMTwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgdGhlIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gZmluZCB0aGUgc2libGluZyBmb3IuICBJZiB0aGlzIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgIDxici8+PC9wPg0KICAgICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICAgICA8cHJlPkxpbmsgdG8gcHJldmlvdXMgc2libGluZzogeyRjZ3NpbXBsZS0mYW1wO2d0O2dldF9zaWJsaW5nKCZhbXA7cXVvdDtwcmV2JmFtcDtxdW90LCZhbXA7cXVvdDtwcmV2X3NpYmxpbmcmYW1wO3F1b3Q7KX17aWYgIWVtcHR5KCRwcmV2X3NpYmxpbmcpfXtjbXNfc2VsZmxpbmsgcGFnZT0mYW1wO3F1b3Q7JHByZXZfc2libGluZyZhbXA7cXVvdDsgdGV4dD0mYW1wO3F1b3Q7UHJldmlvdXMmYW1wO3F1b3Q7fXsvaWZ9PC9wcmU+PGJyLz4NCiAgICA8L2xpPg0KPC91bD4NCjxoND5PdGhlciBTbWFydHkgZnVuY3Rpb25zPC9oND4NCjx1bD4NCiAgICA8bGk+PHN0cm9uZz57bW9kdWxlX2FjdGlvbl9saW5rfTwvc3Ryb25nPg0KICAgIDxwPkEgc21hcnR5IHBsdWdpbiB0aGF0IGNhbiBjcmVhdGUgYSBsaW5rIHRvIGEgbW9kdWxlIGFjdGlvbi48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+bW9kdWxlIC0gVGhlIG1vZHVsZSB0byBjcmVhdGUgYSBsaW5rIHRvPC9saT4NCiAgICAgICA8bGk+YWN0aW9uIChkZWZhdWx0KSAtIFRoZSBhY3Rpb24gdG8gY2FsbCB3aXRoaW4gdGhlIG1vZHVsZTwvbGk+DQogICAgICAgPGxpPnRleHQgLSBUaGUgdGV4dCB0byBwdXQgaW4gdGhlIGxpbms8L2xpPg0KICAgICAgIDxsaT5wYWdlIC0gU3BlY2lmeSB0aGUgZGVzdGluYXRpb24gcGFnZTwvbGk+DQogICAgICAgPGxpPnVybG9ubHkgLSBJbnN0ZWFkIG9mIGdlbmVyYXRpbmcgYSBsaW5rLCBnZW5lcmF0ZSBqdXN0IHRoZSB1cmw8L2xpPg0KICAgICAgIDxsaT5qc2ZyaWVuZGx5IC0gVXNlZCB3aXRoIHRoZSB1cmxvbmx5IHBhcmFtZXRlciB0aGlzIHBhcmFtZXRlciB3aWxsIGVuc3VyZSB0aGF0IGEgamF2YXNjcnB0IGZyaWVuZGx5IHVybCBpcyBvdXRwdXQuPC9saT4NCiAgICAgICA8bGk+Y29uZm1lc3NhZ2UgLSBBIGNvbmZpcm1hdGlvbiBtZXNzYWdlIHRvIGRpc3BsYXkgd2hlbiB0aGUgbGluayBpcyBjbGlja2VkLjwvbGk+DQogICAgICAgPGxpPmltYWdlIC0gQW4gaW1hZ2UgdG8gdXNlIG9uIHRoZSBsaW5rPC9saT4NCiAgICAgICA8bGk+aW1hZ2Vvbmx5IC0gSWYgYW4gaW1hZ2UgaXMgc3BlY2lmaWVkLCBjcmVhdGUgYSBsaW5rIG9ubHkgY29uc2lzdGluZyBvZiB0aGUgaW1hZ2UuICBUaGUgdGV4dCB3aWxsIGJlIHVzZWQgZm9yIHRoZSB0aXRsZSBhdHRyaWJ1dGU8L2xpPg0KICAgICAgIDwvdWw+DQogICAgPGJyLz48L3A+DQogICAgPHA+QW55IG90aGVyIGFyZ3VtZW50cyB0byB0aGUgc21hcnR5IHBsdWdpbiB3aWxsIGJlIGFkZGVkIHRvIHRoZSBVUkwgZ2VuZXJhdGVkLjwvcD4gICA8cD5FeGFtcGxlOg0KPHByZT57bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0mIzAzOTtOZXdzJiMwMzk7IGFjdGlvbj0mIzAzOTtmZXN1Ym1pdCYjMDM5OyB0ZXh0PSYjMDM5O1N1Ym1pdCBhIE5ldyBOZXdzIEFydGljbGUmIzAzOTt9PC9wcmU+PGJyLz48L3A+PC9saT4NCg0KDQogICAgPGxpPjxzdHJvbmc+e3Nlc3Npb25fcHV0fTwvc3Ryb25nPg0KICAgIDxwPkEgc21hcnR5IHBsdWdpbiB0aGF0IGNhbiBzdG9yZSBkYXRhIGluIHRoZSB1c2VyIHNlc3Npb24uIFRoaXMgZGF0YSBpcyB0aGVuIGFjY2Vzc2libGUgdmlhIHRoZSAkc21hcnR5LnNlc3Npb24gYXJyYXkgaW4gc3Vic2VxdWVudCBwYWdlcy48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+dmFyIC0gVGhlIG5hbWUgb2YgdGhlIHZhcmlhYmxlIHRvIGNyZWF0ZSBpbiB0aGUgc2Vzc2lvbi48L2xpPg0KICAgICAgIDxsaT52YWx1ZSAtIFRoZSBkZXNpcmVkIHZhbHVlIG9mIHRoZSB2YXJpYWJsZS48L2xpPg0KICAgICAgIDwvdWw+DQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZToNCiAgICA8cHJlPntzZXNzaW9uX3B1dCB2YXI9JiMwMzk7dGVzdCYjMDM5OyB2YWx1ZT0mIzAzOTtibGFoJiMwMzk7fTwvcHJlPjxici8+PC9wPjwvbGk+DQoNCiAgICA8bGk+PHN0cm9uZz57c2Vzc2lvbl9lcmFzZX08L3N0cm9uZz4NCiAgICA8cD5BIHNtYXJ0eSBwbHVnaW4gdGhhdCBjYW4gZXJhc2UgZGF0YSBmcm9tIHRoZSB1c2VyIHNlc3Npb24uPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPnZhciAtIFRoZSBuYW1lIG9mIHRoZSB2YXJpYWJsZSB0byBlcmFzZSBpbiB0aGUgc2Vzc2lvbi48L2xpPg0KICAgICAgIDwvdWw+DQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZToNCiAgICA8cHJlPntzZXNzaW9uX2VyYXNlIHZhcj0mIzAzOTt0ZXN0JiMwMzk7fTwvcHJlPjxici8+PC9wPjwvbGk+DQoNCiAgICA8bGk+PHN0cm9uZz57Y2dyZXBlYXR9PC9zdHJvbmc+DQogICAgPHA+QW5vdGhlciBzbWFydHkgcGx1Z2luIHRoYXQgd2lsbCBhbGxvdyByZXBlYXRpbmcgdGV4dDwvcD4NCiAgICA8cD5Bcmd1bWVudHM6PC9wPg0KICAgICAgPHVsPg0KICAgICAgICA8bGk+dGV4dCAtIFRoZSB0ZXh0IHRvIGJlIHJlcGVhdGVkPC9saT4NCiAgICAgICAgPGxpPmNvdW50IC0gVGhlIG51bWJlciBvZiB0aW1lcyBpdCBzaG91bGQgYmUgcmVwZWF0ZWQ8L2xpPg0KICAgICAgICA8bGk+YXNzaWduIC0gQXNzaWduIHRoZSBvdXRwdXQgdG8gdGhlIHNwZWNpZmllZCBzbWFydHkgdmFyaWFibGU8L2xpPg0KICAgICAgPC91bD4NCiAgICA8YnIvPg0KICAgIDxwPkV4YW1wbGU6IDxwcmU+e2NncmVwZWF0IHRleHQ9JiMwMzk7dGhpcyYjMDM5OyBjb3VudD0mIzAzOTs1JiMwMzk7fTwvcHJlPjxici8+PC9wPg0KICAgIDwvbGk+DQo8L3VsPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmFtcDtjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+JmFtcDtsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmFtcDtndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gDQpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4nOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdDYWxndXlzIFNpbXBsZVNtYXJ0eSBUb29scyc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0NHU2ltcGxlU21hcnR5ICZlZ3JhdmU7IG9yYSBpbnN0YWxsYXRvJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdDR1NpbXBsZVNtYXJ0eSAmZWdyYXZlOyBzdGF0byByaW1vc3NvJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuOTc0MzQ5MTU1LjEyOTkwNzI0NjguMTMwMjAwMzIwMS4xMzAzNDY1MTA3LjQnOwokbGFuZ1sncWNhJ10gPSAnUDAtMTg2ODcwOTE2My0xMzAyMDAzMjAwNzc4JzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEzMDM0NjUxMDcuNC4xLnV0bWNjbj0oZGlyZWN0KXx1dG1jc3I9KGRpcmVjdCl8dXRtY21kPShub25lKSc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ja_JP.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NHU2ltcGxlU21hcnR5JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIHNvbWUgc2ltcGxlIHNtYXJ0eSB1dGlsaXRpZXMgZm9yIHVzZSBpbiBhcHBsaWNhdGlvbnMgb3IgZm9yIGN1c3RvbWl6aW5nIHRoZSBiZWhhdmlvdXIgb2YgeW91ciBDTVMgTWFkZSBTaW1wbGUgcGFnZXMuPC9wPg0KPGgzPkhvdyBEbyBJIFVzZSBJdDo8L2gzPg0KPHA+V2hlbiB0aGlzIG1vZHVsZSBpcyBpbnN0YWxsZWQsIGEgbmV3IHNtYXJ0eSBvYmplY3QgbmFtZWQgY2dzaW1wbGUgaXMgYXV0b21hdGljYWxseSBhdmFpbGFibGUgdG8geW91ciBwYWdlIHRlbXBsYXRlcywgZ2xvYmFsIGNvbnRlbnQgYmxvY2tzLCBhbmQgdmFyaW91cyBtb2R1bGUgdGVtcGxhdGVzLiAgVGhpcyBzbWFydHkgb2JqZWN0IGhhcyBudW1lcm91cyBmdW5jdGlvbnMgdGhhdCB5b3UgY2FuIGNhbGwgYXQgYW55IHRpbWUuPC9wPg0KPGg0PkF2YWlsYWJsZSBGdW5jdGlvbnM6PC9oND4NCjx1bD4NCjxsaT48c3Ryb25nPnNlbGZfdXJsPC9zdHJvbmc+KFskYXNzaWduXSkNCiAgICA8cD5SZXR1cm4gdGhlIGN1cnJlbnQgVVJMPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5tb2R1bGVfaW5zdGFsbGVkPC9zdHJvbmc+KCRtb2R1bGVuYW1lLFskYXNzaWduXSkNCiAgICA8cD5UZXN0IGlmIGEgcGFydGljdWxhciBtb2R1bGUgaXMgaW5zdGFsbGVkLjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgICAgPGxpPiRtb2R1bGVuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIG1vZHVsZSB0byBjaGVjazwvbGk+DQogICAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+e2lmICRjZ3NpbXBsZS0+bW9kdWxlX2luc3RhbGxlZChcJ0Zyb250RW5kVXNlcnNcJyl9Rm91bmQgRkVVey9pZn08L3ByZT48YnIvPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPm1vZHVsZV92ZXJzaW9uPC9zdHJvbmc+KCRtb2R1bGVuYW1lLFskYXNzaWduXSkNCiAgICA8cD5SZXR1cm4gdGhlIHZlcnNpb24gbnVtYmVyIG9mIGEgc3BlY2lmaWMgaW5zdGFsbGVkIG1vZHVsZTwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgICAgPGxpPiRtb2R1bGVuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIG1vZHVsZSB0byBjaGVjazwvbGk+DQogICAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+eyRjZ3NpbXBsZS0+bW9kdWxlX3ZlcnNpb24oXCdGcm9udEVuZFVzZXJzXCcsXCdmZXVfdmVyc2lvblwnKX1XZSBoYXZlIFZlcnNpb24geyRmZXVfdmVyc2lvbn0gb2YgRnJvbnRFbmRVc2VyczwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3BhcmVudF9hbGlhczwvc3Ryb25nPihbJGFsaWFzXSxbJGFzc2lnbl0pDQogICAgPHA+UmV0dXJucyB0aGUgYWxpYXMgb2YgdGhlIHNwZWNpZmllZCBwYWdlcyBwYXJlbnQuIFJldHVybnMgYW4gZW1wdHkgc3RyaW5nIGlmIHRoZXJlIGlzIG5vIHBhcmVudC48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHBhcmVudCBvZi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT5UaGUgcGFyZW50IHBhZ2UgYWxpYXMgaXMgeyRjZ3NpbXBsZS0+Z2V0X3BhcmVudF9hbGlhcygpfTwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3Jvb3RfYWxpYXM8L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQ0KICAgIDxwPlJldHVybnMgdGhlIGFsaWFzIG9mIHRoZSBzcGVjaWZpZWQgcGFnZXMgcm9vdCBwYXJlbnQuIFJldHVybnMgYW4gZW1wdHkgc3RyaW5nIGlmIHRoZXJlIGlzIG5vIHJvb3QgcGFyZW50LjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gZmluZCB0aGUgcm9vdCBwYXJlbnQgb2YuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+VGhlIHJvb3QgcGFyZW50IHBhZ2UgYWxpYXMgaXMgeyRjZ3NpbXBsZS0+Z2V0X3Jvb3RfYWxpYXMoKX08L3ByZT48YnIvPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPmdldF9wYWdlX3RpdGxlPC9zdHJvbmc+KFskYWxpYXNdLFskYXNzaWduXSkNCiAgICA8cD5SZXR1cm5zIHRoZSB0aXRsZSBvZiB0aGUgc3BlY2lmaWVkIHBhZ2UuPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byBmaW5kIHRoZSB0aXRsZSBvZi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT5UaGUgdGl0bGUgb2YgdGhlIGN1cnJlbnQgcGFnZSBpcyB7JGNnc2ltcGxlLT5nZXRfcGFnZV90aXRsZSgpfTwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3BhZ2VfbWVudXRleHQ8L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQ0KICAgIDxwPlJldHVybnMgdGhlIG1lbnV0ZXh0IG9mIHRoZSBzcGVjaWZpZWQgcGFnZS48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHRpdGxlIG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPlRoZSBtZW51dGV4dCBvZiB0aGUgY3VycmVudCBwYWdlIGlzIHskY2dzaW1wbGUtPmdldF9wYWdlX3RpdGxlKCl9PC9wcmU+PGJyLz4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5oYXNfY2hpbGRyZW48L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQ0KICAgIDxwPlRlc3QgaWYgdGhlIHNwZWNpZmllZCBwYWdlIGhhcyBjaGlsZHJlbi48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIHRlc3QuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPnskY2dzaW1wbGUtPmhhc19jaGlsZHJlbihcJ1wnLCRoYXNfY2hpbGRyZW4pfXtpZiAkaGFzX2NoaWxkcmVufVRoZSBjdXJyZW50IHBhZ2UgaGFzIGNoaWxkcmVue2Vsc2V9VGhlIGN1cnJlbnQgcGFnZSBoYXMgbm8gY2hpbGRyZW57L2lmfTwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X2NoaWxkcmVuPC9zdHJvbmc+KFskYWxpYXNdLFskc2hvd2luYWN0aXZlXSxbJGFzc2lnbl0pDQogICA8cD5SZXR1cm4gYW4gYXJyYXkgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCBhIHBhZ2VzIGNoaWxkcmVuIChpZiBhbnkpPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byB0ZXN0LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyRzaG93aW5hY3RpdmVdIC0gKG9wdGlvbmFsKSBXZXRoZXIgaW5hY3RpdmUgcGFnZXMgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSByZXN1bHQgKGRlZmF1bHRzIHRvIGZhbHNlKS48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkZpZWxkczoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPmFsaWFzIC0gdGhlIHBhZ2UgYWxpYXMgb2YgdGhlIGNoaWxkPC9saT4NCiAgICAgICA8bGk+aWQgLSB0aGUgcGFnZSBpZCBvZiB0aGUgY2hpbGQ8L2xpPg0KICAgICAgIDxsaT50aXRsZSAtIHRoZSBwYWdlIGlkIG9mIHRoZSBjaGlsZDwvbGk+DQogICAgICAgPGxpPm1lbnV0ZXh0IC0gdGhlIG1lbnUgdGV4dCBvZiB0aGUgY2hpbGQ8L2xpPg0KICAgICAgIDwvdWw+DQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+DQp7JGNnc2ltcGxlLT5nZXRfY2hpbGRyZW4oXCdcJyxcJ1wnLCRjaGlsZHJlbil9DQp7aWYgY291bnQoJGNoaWxkcmVuKX0NCiAgIHtmb3JlYWNoIGZyb209JGNoaWxkcmVuIGl0ZW09XCdjaGlsZFwnfQ0KICAgICAge2lmICRjaGlsZC5zaG93X2luX21lbnV9DQogICAgICAgIENoaWxkOiAgaWQgPSB7JGNoaWxkLmlkfSBhbGlhcyA9IHskY2hpbGQuYWxpYXN9PGJyLz4NCiAgICAgIHsvaWZ9DQogICB7L2ZvcmVhY2h9DQp7L2lmfQ0KICAgIDwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KICAgIDxsaT48c3Ryb25nPmdldF9wYWdlX2NvbnRlbnQ8L3N0cm9uZz4oJGFsaWFzLFskYmxvY2tdLFskYXNzaWduXSkNCiAgICA8cD5SZXR1cm5zIHRoZSB0ZXh0IG9mIGEgc3BlY2lmaWMgY29udGVudCBibG9jayBvZiBhbm90aGVyIHBhZ2UuPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPiRhbGlhcyAtIFRoZSBwYWdlIGFsaWFzIHRvIGV4dHJhY3QgY29udGVudCBmcm9tLjwvbGk+DQogICAgICAgPGxpPlskYmxvY2tdIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiB0aGUgY29udGVudCBibG9jayBpbiB0aGUgc3BlY2lmaWVkIHBhZ2UuICBpZiB0aGlzIHZhcmlhYmxlIGlzIG5vdCBzcGVjaWZpZWQsIFwnY29udGVudF9lblwnIGlzIGFzc3VtZWQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT5UaGUgdGl0bGUgb2YgdGhlIGN1cnJlbnQgcGFnZSBpcyB7JGNnc2ltcGxlLT5nZXRfcGFnZV90aXRsZSgpfTwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KICAgIDxsaT48c3Ryb25nPmdldF9zaWJsaW5nPC9zdHJvbmc+KCRkaXJlY3Rpb24sWyRhc3NpZ25dLFskYWxpYXNdKQ0KICAgIDxwPlJldHVybnMgdGhlIGFsaWFzIG9mIHRoZSBuZXh0IG9yIHByZXZpb3VzIHNpYmxpbmcgdG8gdGhlIHNwZWNpZmllZA0KICAgICAgIHBhZ2UuIG9yIGZhbHNlLjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT4kZGlyZWN0aW9uIC0gdGhlIGRpcmVjdGlvbiB0byBsb29rIGluLiAgcG9zc2libGUgdmFsdWVzIGFyZSBwcmV2LHByZXZpb3VzLC0xLG5leHQsMTwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgdGhlIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gZmluZCB0aGUgc2libGluZyBmb3IuICBJZiB0aGlzIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgIDxici8+PC9wPg0KICAgICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICAgICA8cHJlPkxpbmsgdG8gcHJldmlvdXMgc2libGluZzogeyRjZ3NpbXBsZS0+Z2V0X3NpYmxpbmcoInByZXYiLCJwcmV2X3NpYmxpbmciKX17aWYgIWVtcHR5KCRwcmV2X3NpYmxpbmcpfXtjbXNfc2VsZmxpbmsgcGFnZT0iJHByZXZfc2libGluZyIgdGV4dD0iUHJldmlvdXMifXsvaWZ9PC9wcmU+PGJyLz4NCiAgICA8L2xpPg0KPC91bD4NCjxoND5PdGhlciBTbWFydHkgZnVuY3Rpb25zPC9oND4NCjx1bD4NCiAgICA8bGk+PHN0cm9uZz57bW9kdWxlX2FjdGlvbl9saW5rfTwvc3Ryb25nPg0KICAgIDxwPkEgc21hcnR5IHBsdWdpbiB0aGF0IGNhbiBjcmVhdGUgYSBsaW5rIHRvIGEgbW9kdWxlIGFjdGlvbi48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+bW9kdWxlIC0gVGhlIG1vZHVsZSB0byBjcmVhdGUgYSBsaW5rIHRvPC9saT4NCiAgICAgICA8bGk+YWN0aW9uIChkZWZhdWx0KSAtIFRoZSBhY3Rpb24gdG8gY2FsbCB3aXRoaW4gdGhlIG1vZHVsZTwvbGk+DQogICAgICAgPGxpPnRleHQgLSBUaGUgdGV4dCB0byBwdXQgaW4gdGhlIGxpbms8L2xpPg0KICAgICAgIDxsaT5wYWdlIC0gU3BlY2lmeSB0aGUgZGVzdGluYXRpb24gcGFnZTwvbGk+DQogICAgICAgPGxpPnVybG9ubHkgLSBJbnN0ZWFkIG9mIGdlbmVyYXRpbmcgYSBsaW5rLCBnZW5lcmF0ZSBqdXN0IHRoZSB1cmw8L2xpPg0KICAgICAgIDxsaT5qc2ZyaWVuZGx5IC0gVXNlZCB3aXRoIHRoZSB1cmxvbmx5IHBhcmFtZXRlciB0aGlzIHBhcmFtZXRlciB3aWxsIGVuc3VyZSB0aGF0IGEgamF2YXNjcnB0IGZyaWVuZGx5IHVybCBpcyBvdXRwdXQuPC9saT4NCiAgICAgICA8bGk+Y29uZm1lc3NhZ2UgLSBBIGNvbmZpcm1hdGlvbiBtZXNzYWdlIHRvIGRpc3BsYXkgd2hlbiB0aGUgbGluayBpcyBjbGlja2VkLjwvbGk+DQogICAgICAgPGxpPmltYWdlIC0gQW4gaW1hZ2UgdG8gdXNlIG9uIHRoZSBsaW5rPC9saT4NCiAgICAgICA8bGk+aW1hZ2Vvbmx5IC0gSWYgYW4gaW1hZ2UgaXMgc3BlY2lmaWVkLCBjcmVhdGUgYSBsaW5rIG9ubHkgY29uc2lzdGluZyBvZiB0aGUgaW1hZ2UuICBUaGUgdGV4dCB3aWxsIGJlIHVzZWQgZm9yIHRoZSB0aXRsZSBhdHRyaWJ1dGU8L2xpPg0KICAgICAgIDwvdWw+DQogICAgPGJyLz48L3A+DQogICAgPHA+QW55IG90aGVyIGFyZ3VtZW50cyB0byB0aGUgc21hcnR5IHBsdWdpbiB3aWxsIGJlIGFkZGVkIHRvIHRoZSBVUkwgZ2VuZXJhdGVkLjwvcD4gICA8cD5FeGFtcGxlOg0KPHByZT57bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT1cJ05ld3NcJyBhY3Rpb249XCdmZXN1Ym1pdFwnIHRleHQ9XCdTdWJtaXQgYSBOZXcgTmV3cyBBcnRpY2xlXCd9PC9wcmU+PGJyLz48L3A+PC9saT4NCg0KDQogICAgPGxpPjxzdHJvbmc+e3Nlc3Npb25fcHV0fTwvc3Ryb25nPg0KICAgIDxwPkEgc21hcnR5IHBsdWdpbiB0aGF0IGNhbiBzdG9yZSBkYXRhIGluIHRoZSB1c2VyIHNlc3Npb24uIFRoaXMgZGF0YSBpcyB0aGVuIGFjY2Vzc2libGUgdmlhIHRoZSAkc21hcnR5LnNlc3Npb24gYXJyYXkgaW4gc3Vic2VxdWVudCBwYWdlcy48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+dmFyIC0gVGhlIG5hbWUgb2YgdGhlIHZhcmlhYmxlIHRvIGNyZWF0ZSBpbiB0aGUgc2Vzc2lvbi48L2xpPg0KICAgICAgIDxsaT52YWx1ZSAtIFRoZSBkZXNpcmVkIHZhbHVlIG9mIHRoZSB2YXJpYWJsZS48L2xpPg0KICAgICAgIDwvdWw+DQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZToNCiAgICA8cHJlPntzZXNzaW9uX3B1dCB2YXI9XCd0ZXN0XCcgdmFsdWU9XCdibGFoXCd9PC9wcmU+PGJyLz48L3A+PC9saT4NCg0KICAgIDxsaT48c3Ryb25nPntzZXNzaW9uX2VyYXNlfTwvc3Ryb25nPg0KICAgIDxwPkEgc21hcnR5IHBsdWdpbiB0aGF0IGNhbiBlcmFzZSBkYXRhIGZyb20gdGhlIHVzZXIgc2Vzc2lvbi48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+dmFyIC0gVGhlIG5hbWUgb2YgdGhlIHZhcmlhYmxlIHRvIGVyYXNlIGluIHRoZSBzZXNzaW9uLjwvbGk+DQogICAgICAgPC91bD4NCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOg0KICAgIDxwcmU+e3Nlc3Npb25fZXJhc2UgdmFyPVwndGVzdFwnfTwvcHJlPjxici8+PC9wPjwvbGk+DQoNCiAgICA8bGk+PHN0cm9uZz57Y2dyZXBlYXR9PC9zdHJvbmc+DQogICAgPHA+QW5vdGhlciBzbWFydHkgcGx1Z2luIHRoYXQgd2lsbCBhbGxvdyByZXBlYXRpbmcgdGV4dDwvcD4NCiAgICA8cD5Bcmd1bWVudHM6PC9wPg0KICAgICAgPHVsPg0KICAgICAgICA8bGk+dGV4dCAtIFRoZSB0ZXh0IHRvIGJlIHJlcGVhdGVkPC9saT4NCiAgICAgICAgPGxpPmNvdW50IC0gVGhlIG51bWJlciBvZiB0aW1lcyBpdCBzaG91bGQgYmUgcmVwZWF0ZWQ8L2xpPg0KICAgICAgICA8bGk+YXNzaWduIC0gQXNzaWduIHRoZSBvdXRwdXQgdG8gdGhlIHNwZWNpZmllZCBzbWFydHkgdmFyaWFibGU8L2xpPg0KICAgICAgPC91bD4NCiAgICA8YnIvPg0KICAgIDxwPkV4YW1wbGU6IDxwcmU+e2NncmVwZWF0IHRleHQ9XCd0aGlzXCcgY291bnQ9XCc1XCd9PC9wcmU+PGJyLz48L3A+DQogICAgPC9saT4NCjwvdWw+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCDCqSAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+PGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQ2FsZ3V5cyBTaW1wbGUgU21hcnR5IOODhOODvOODqyc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0NHU2ltcGxlU21hcnR544GM44Kk44Oz44K544OI44O844Or44GV44KM44Gm44GE44G+44Gb44KT44CCJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdDR1NpbXBsZVNtYXJ0eeOBr+WJiumZpOOBleOCjOOBvuOBl+OBn+OAgic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjM3NzUxNDQ2OTIyODI4MTc1MDAuMTI0ODY1MzkyMy4xMjQ4NjUzOTIzLjEyNDg2NTM5MjMuMSc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjEuMTAuMTI0ODY1MzkyMyc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI0ODY1MzkyMy4xLjEudXRtY3NyPWdvb2dsZXx1dG1jY249KG9yZ2FuaWMpfHV0bWNtZD1vcmdhbmljfHV0bWN0cj1jbXNtcyc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NHU2ltcGxlU21hcnR5ICc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBzb21lIHNpbXBsZSBzbWFydHkgdXRpbGl0aWVzIGZvciB1c2UgaW4gYXBwbGljYXRpb25zIG9yIGZvciBjdXN0b21pemluZyB0aGUgYmVoYXZpb3VyIG9mIHlvdXIgQ01TIE1hZGUgU2ltcGxlIHBhZ2VzLjwvcD4NCjxoMz5Ib3cgRG8gSSBVc2UgSXQ6PC9oMz4NCjxwPldoZW4gdGhpcyBtb2R1bGUgaXMgaW5zdGFsbGVkLCBhIG5ldyBzbWFydHkgb2JqZWN0IG5hbWVkIGNnc2ltcGxlIGlzIGF1dG9tYXRpY2FsbHkgYXZhaWxhYmxlIHRvIHlvdXIgcGFnZSB0ZW1wbGF0ZXMsIGdsb2JhbCBjb250ZW50IGJsb2NrcywgYW5kIHZhcmlvdXMgbW9kdWxlIHRlbXBsYXRlcy4gIFRoaXMgc21hcnR5IG9iamVjdCBoYXMgbnVtZXJvdXMgZnVuY3Rpb25zIHRoYXQgeW91IGNhbiBjYWxsIGF0IGFueSB0aW1lLjwvcD4NCjxoND5BdmFpbGFibGUgRnVuY3Rpb25zOjwvaDQ+DQo8dWw+DQo8bGk+PHN0cm9uZz5zZWxmX3VybDwvc3Ryb25nPihbJGFzc2lnbl0pDQogICAgPHA+UmV0dXJuIHRoZSBjdXJyZW50IFVSTDwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+bW9kdWxlX2luc3RhbGxlZDwvc3Ryb25nPigkbW9kdWxlbmFtZVssJGFzc2lnbl0pDQogICAgPHA+VGVzdCBpZiBhIHBhcnRpY3VsYXIgbW9kdWxlIGlzIGluc3RhbGxlZC48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICAgIDxsaT4kbW9kdWxlbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBtb2R1bGUgdG8gY2hlY2s8L2xpPg0KICAgICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPntpZiAkY2dzaW1wbGUtJmFtcDtndDttb2R1bGVfaW5zdGFsbGVkKCYjMDM5O0Zyb250RW5kVXNlcnMmIzAzOTspfUZvdW5kIEZFVXsvaWZ9PC9wcmU+PGJyLz4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5tb2R1bGVfdmVyc2lvbjwvc3Ryb25nPigkbW9kdWxlbmFtZVssJGFzc2lnbl0pDQogICAgPHA+UmV0dXJuIHRoZSB2ZXJzaW9uIG51bWJlciBvZiBhIHNwZWNpZmljIGluc3RhbGxlZCBtb2R1bGU8L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICAgIDxsaT4kbW9kdWxlbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBtb2R1bGUgdG8gY2hlY2s8L2xpPg0KICAgICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPnskY2dzaW1wbGUtJmFtcDtndDttb2R1bGVfdmVyc2lvbigmIzAzOTtGcm9udEVuZFVzZXJzJiMwMzk7LCYjMDM5O2ZldV92ZXJzaW9uJiMwMzk7KX1XZSBoYXZlIFZlcnNpb24geyRmZXVfdmVyc2lvbn0gb2YgRnJvbnRFbmRVc2VyczwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3BhcmVudF9hbGlhczwvc3Ryb25nPihbJGFsaWFzXSxbJGFzc2lnbl0pDQogICAgPHA+UmV0dXJucyB0aGUgYWxpYXMgb2YgdGhlIHNwZWNpZmllZCBwYWdlcyBwYXJlbnQuIFJldHVybnMgYW4gZW1wdHkgc3RyaW5nIGlmIHRoZXJlIGlzIG5vIHBhcmVudC48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHBhcmVudCBvZi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT5UaGUgcGFyZW50IHBhZ2UgYWxpYXMgaXMgeyRjZ3NpbXBsZS0mYW1wO2d0O2dldF9wYXJlbnRfYWxpYXMoKX08L3ByZT48YnIvPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPmdldF9yb290X2FsaWFzPC9zdHJvbmc+KFskYWxpYXNdWywkYXNzaWduXSkNCiAgICA8cD5SZXR1cm5zIHRoZSBhbGlhcyBvZiB0aGUgc3BlY2lmaWVkIHBhZ2VzIHJvb3QgcGFyZW50LiBSZXR1cm5zIGFuIGVtcHR5IHN0cmluZyBpZiB0aGVyZSBpcyBubyByb290IHBhcmVudC48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHJvb3QgcGFyZW50IG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPlRoZSByb290IHBhcmVudCBwYWdlIGFsaWFzIGlzIHskY2dzaW1wbGUtJmFtcDtndDtnZXRfcm9vdF9hbGlhcygpfTwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3BhZ2VfdGl0bGU8L3N0cm9uZz4oWyRhbGlhc11bLCRhc3NpZ25dKQ0KICAgIDxwPlJldHVybnMgdGhlIHRpdGxlIG9mIHRoZSBzcGVjaWZpZWQgcGFnZS48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHRpdGxlIG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPlRoZSB0aXRsZSBvZiB0aGUgY3VycmVudCBwYWdlIGlzIHskY2dzaW1wbGUtJmFtcDtndDtnZXRfcGFnZV90aXRsZSgpfTwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3BhZ2VfbWVudXRleHQ8L3N0cm9uZz4oWyRhbGlhc11bLCRhc3NpZ25dKQ0KICAgIDxwPlJldHVybnMgdGhlIG1lbnV0ZXh0IG9mIHRoZSBzcGVjaWZpZWQgcGFnZS48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHRpdGxlIG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPlRoZSBtZW51dGV4dCBvZiB0aGUgY3VycmVudCBwYWdlIGlzIHskY2dzaW1wbGUtJmFtcDtndDtnZXRfcGFnZV9tZW51dGV4dCgpfTwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3BhZ2VfdHlwZTwvc3Ryb25nPihbJGFsaWFzXVssJGFzc2lnbl0pDQogICAgPHA+UmV0dXJucyB0aGUgbWVudXRleHQgb2YgdGhlIHNwZWNpZmllZCBjb250ZW50IG9iamVjdCAoYnkgYWxpYXMpPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byBmaW5kIHRoZSB0aXRsZSBvZi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT5UaGUgdHlwZSBvZiB0aGUgY3VycmVudCBwYWdlIGlzIHskY2dzaW1wbGUtJmFtcDtndDtnZXRfcGFnZV90eXBlKCl9PC9wcmU+PGJyLz4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5oYXNfY2hpbGRyZW48L3N0cm9uZz4oWyRhbGlhc11bLCRhc3NpZ25dKQ0KICAgIDxwPlRlc3QgaWYgdGhlIHNwZWNpZmllZCBwYWdlIGhhcyBjaGlsZHJlbi48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIHRlc3QuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPnskY2dzaW1wbGUtJmFtcDtndDtoYXNfY2hpbGRyZW4oJiMwMzk7JiMwMzk7LCYjMDM5O2hhc19jaGlsZHJlbiYjMDM5Oyl9e2lmICRoYXNfY2hpbGRyZW59VGhlIGN1cnJlbnQgcGFnZSBoYXMgY2hpbGRyZW57ZWxzZX1UaGUgY3VycmVudCBwYWdlIGhhcyBubyBjaGlsZHJlbnsvaWZ9PC9wcmU+PGJyLz4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRfY2hpbGRyZW48L3N0cm9uZz4oWyRhbGlhc11bLCRzaG93aW5hY3RpdmVdWywkYXNzaWduXSkNCiAgIDxwPlJldHVybiBhbiBhcnJheSBjb250YWluaW5nIGluZm9ybWF0aW9uIGFib3V0IGEgcGFnZXMgY2hpbGRyZW4gKGlmIGFueSk8L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIHRlc3QuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgICAgIDxsaT5bJHNob3dpbmFjdGl2ZV0gLSAob3B0aW9uYWwpIFdldGhlciBpbmFjdGl2ZSBwYWdlcyBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlIHJlc3VsdCAoZGVmYXVsdHMgdG8gZmFsc2UpLjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RmllbGRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+YWxpYXMgLSB0aGUgcGFnZSBhbGlhcyBvZiB0aGUgY2hpbGQ8L2xpPg0KICAgICAgIDxsaT5pZCAtIHRoZSBwYWdlIGlkIG9mIHRoZSBjaGlsZDwvbGk+DQogICAgICAgPGxpPnRpdGxlIC0gdGhlIHBhZ2UgaWQgb2YgdGhlIGNoaWxkPC9saT4NCiAgICAgICA8bGk+bWVudXRleHQgLSB0aGUgbWVudSB0ZXh0IG9mIHRoZSBjaGlsZDwvbGk+DQogICAgICAgPGxpPnNob3dfaW5fbWVudSAtIHdldGhlciB0aGlzIGNoaWxkIHBhZ2UgaXMgdmlzaWJsZSBpbiBtZW51cy48L2xpPg0KICAgICAgIDwvdWw+DQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+DQp7JGNnc2ltcGxlLSZhbXA7Z3Q7Z2V0X2NoaWxkcmVuKCYjMDM5OyYjMDM5OywmIzAzOTsmIzAzOTssJiMwMzk7Y2hpbGRyZW4mIzAzOTspfQ0Ke2lmIGNvdW50KCRjaGlsZHJlbil9DQogICB7Zm9yZWFjaCBmcm9tPSRjaGlsZHJlbiBpdGVtPSYjMDM5O2NoaWxkJiMwMzk7fQ0KICAgICAge2lmICRjaGlsZC5zaG93X2luX21lbnV9DQogICAgICAgIENoaWxkOiAgaWQgPSB7JGNoaWxkLmlkfSBhbGlhcyA9IHskY2hpbGQuYWxpYXN9JmFtcDtsdDtici8mYW1wO2d0Ow0KICAgICAgey9pZn0NCiAgIHsvZm9yZWFjaH0NCnsvaWZ9DQogICAgPC9wcmU+PGJyLz4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRfcGFnZV9jb250ZW50PC9zdHJvbmc+KCRhbGlhc1ssJGJsb2NrXVssJGFzc2lnbl0pDQogICAgPHA+UmV0dXJucyB0aGUgdGV4dCBvZiBhIHNwZWNpZmljIGNvbnRlbnQgYmxvY2sgb2YgYW5vdGhlciBwYWdlLjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT4kYWxpYXMgLSBUaGUgcGFnZSBhbGlhcyB0byBleHRyYWN0IGNvbnRlbnQgZnJvbS48L2xpPg0KICAgICAgIDxsaT5bJGJsb2NrXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgdGhlIGNvbnRlbnQgYmxvY2sgaW4gdGhlIHNwZWNpZmllZCBwYWdlLiAgaWYgdGhpcyB2YXJpYWJsZSBpcyBub3Qgc3BlY2lmaWVkLCAmIzAzOTtjb250ZW50X2VuJiMwMzk7IGlzIGFzc3VtZWQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT5UaGUgJiMwMzk7c2Vjb25kJiMwMzk7IGJsb2NrIG9mIHRoZSAmIzAzOTthYm91dCYjMDM5OyBwYWdlIGlzIHskY2dzaW1wbGUtJmFtcDtndDtnZXRfcGFnZV9jb250ZW50KCYjMDM5O2Fib3V0JiMwMzk7LCYjMDM5O3NlY29uZCYjMDM5OywmIzAzOTtmb28mIzAzOTspfXtldmFsIHZhcj0kZm9vfTwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3NpYmxpbmc8L3N0cm9uZz4oJGRpcmVjdGlvblssJGFzc2lnbl1bLCRhbGlhc10pDQogICAgPHA+UmV0dXJucyB0aGUgYWxpYXMgb2YgdGhlIG5leHQgb3IgcHJldmlvdXMgc2libGluZyB0byB0aGUgc3BlY2lmaWVkDQogICAgICAgcGFnZS4gb3IgZmFsc2UuPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPiRkaXJlY3Rpb24gLSB0aGUgZGlyZWN0aW9uIHRvIGxvb2sgaW4uICBwb3NzaWJsZSB2YWx1ZXMgYXJlIHByZXYscHJldmlvdXMsLTEsbmV4dCwxPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiB0aGUgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byBmaW5kIHRoZSBzaWJsaW5nIGZvci4gIElmIHRoaXMgaXMgbm90IHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+DQogICAgPGJyLz48L3A+DQogICAgICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgICAgIDxwcmU+TGluayB0byBwcmV2aW91cyBzaWJsaW5nOiB7JGNnc2ltcGxlLSZhbXA7Z3Q7Z2V0X3NpYmxpbmcoJmFtcDtxdW90O3ByZXYmYW1wO3F1b3QsJmFtcDtxdW90O3ByZXZfc2libGluZyZhbXA7cXVvdDspfXtpZiAhZW1wdHkoJHByZXZfc2libGluZyl9e2Ntc19zZWxmbGluayBwYWdlPSZhbXA7cXVvdDskcHJldl9zaWJsaW5nJmFtcDtxdW90OyB0ZXh0PSZhbXA7cXVvdDtQcmV2aW91cyZhbXA7cXVvdDt9ey9pZn08L3ByZT48YnIvPg0KICAgIDwvbGk+DQo8L3VsPg0KPGg0Pk90aGVyIFNtYXJ0eSBmdW5jdGlvbnM8L2g0Pg0KPHVsPg0KICAgIDxsaT48c3Ryb25nPnttb2R1bGVfYWN0aW9uX2xpbmt9PC9zdHJvbmc+DQogICAgPHA+QSBzbWFydHkgcGx1Z2luIHRoYXQgY2FuIGNyZWF0ZSBhIGxpbmsgdG8gYSBtb2R1bGUgYWN0aW9uLjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5tb2R1bGUgLSBUaGUgbW9kdWxlIHRvIGNyZWF0ZSBhIGxpbmsgdG88L2xpPg0KICAgICAgIDxsaT5hY3Rpb24gKGRlZmF1bHQpIC0gVGhlIGFjdGlvbiB0byBjYWxsIHdpdGhpbiB0aGUgbW9kdWxlPC9saT4NCiAgICAgICA8bGk+dGV4dCAtIFRoZSB0ZXh0IHRvIHB1dCBpbiB0aGUgbGluazwvbGk+DQogICAgICAgPGxpPnBhZ2UgLSBTcGVjaWZ5IHRoZSBkZXN0aW5hdGlvbiBwYWdlPC9saT4NCiAgICAgICA8bGk+dXJsb25seSAtIEluc3RlYWQgb2YgZ2VuZXJhdGluZyBhIGxpbmssIGdlbmVyYXRlIGp1c3QgdGhlIHVybDwvbGk+DQogICAgICAgPGxpPmpzZnJpZW5kbHkgLSBVc2VkIHdpdGggdGhlIHVybG9ubHkgcGFyYW1ldGVyIHRoaXMgcGFyYW1ldGVyIHdpbGwgZW5zdXJlIHRoYXQgYSBqYXZhc2NycHQgZnJpZW5kbHkgdXJsIGlzIG91dHB1dC48L2xpPg0KICAgICAgIDxsaT5jb25mbWVzc2FnZSAtIEEgY29uZmlybWF0aW9uIG1lc3NhZ2UgdG8gZGlzcGxheSB3aGVuIHRoZSBsaW5rIGlzIGNsaWNrZWQuPC9saT4NCiAgICAgICA8bGk+aW1hZ2UgLSBBbiBpbWFnZSB0byB1c2Ugb24gdGhlIGxpbms8L2xpPg0KICAgICAgIDxsaT5pbWFnZW9ubHkgLSBJZiBhbiBpbWFnZSBpcyBzcGVjaWZpZWQsIGNyZWF0ZSBhIGxpbmsgb25seSBjb25zaXN0aW5nIG9mIHRoZSBpbWFnZS4gIFRoZSB0ZXh0IHdpbGwgYmUgdXNlZCBmb3IgdGhlIHRpdGxlIGF0dHJpYnV0ZTwvbGk+DQogICAgICAgPC91bD4NCiAgICA8YnIvPjwvcD4NCiAgICA8cD5Bbnkgb3RoZXIgYXJndW1lbnRzIHRvIHRoZSBzbWFydHkgcGx1Z2luIHdpbGwgYmUgYWRkZWQgdG8gdGhlIFVSTCBnZW5lcmF0ZWQuPC9wPiAgIDxwPkV4YW1wbGU6DQo8cHJlPnttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSYjMDM5O05ld3MmIzAzOTsgYWN0aW9uPSYjMDM5O2Zlc3VibWl0JiMwMzk7IHRleHQ9JiMwMzk7U3VibWl0IGEgTmV3IE5ld3MgQXJ0aWNsZSYjMDM5O308L3ByZT48YnIvPjwvcD48L2xpPg0KDQoNCiAgICA8bGk+PHN0cm9uZz57c2Vzc2lvbl9wdXR9PC9zdHJvbmc+DQogICAgPHA+QSBzbWFydHkgcGx1Z2luIHRoYXQgY2FuIHN0b3JlIGRhdGEgaW4gdGhlIHVzZXIgc2Vzc2lvbi4gVGhpcyBkYXRhIGlzIHRoZW4gYWNjZXNzaWJsZSB2aWEgdGhlICRzbWFydHkuc2Vzc2lvbiBhcnJheSBpbiBzdWJzZXF1ZW50IHBhZ2VzLjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT52YXIgLSBUaGUgbmFtZSBvZiB0aGUgdmFyaWFibGUgdG8gY3JlYXRlIGluIHRoZSBzZXNzaW9uLjwvbGk+DQogICAgICAgPGxpPnZhbHVlIC0gVGhlIGRlc2lyZWQgdmFsdWUgb2YgdGhlIHZhcmlhYmxlLjwvbGk+DQogICAgICAgPC91bD4NCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOg0KICAgIDxwcmU+e3Nlc3Npb25fcHV0IHZhcj0mIzAzOTt0ZXN0JiMwMzk7IHZhbHVlPSYjMDM5O2JsYWgmIzAzOTt9PC9wcmU+PGJyLz48L3A+PC9saT4NCg0KICAgIDxsaT48c3Ryb25nPntzZXNzaW9uX2VyYXNlfTwvc3Ryb25nPg0KICAgIDxwPkEgc21hcnR5IHBsdWdpbiB0aGF0IGNhbiBlcmFzZSBkYXRhIGZyb20gdGhlIHVzZXIgc2Vzc2lvbi48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+dmFyIC0gVGhlIG5hbWUgb2YgdGhlIHZhcmlhYmxlIHRvIGVyYXNlIGluIHRoZSBzZXNzaW9uLjwvbGk+DQogICAgICAgPC91bD4NCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOg0KICAgIDxwcmU+e3Nlc3Npb25fZXJhc2UgdmFyPSYjMDM5O3Rlc3QmIzAzOTt9PC9wcmU+PGJyLz48L3A+PC9saT4NCg0KICAgIDxsaT48c3Ryb25nPntjZ3JlcGVhdH08L3N0cm9uZz4NCiAgICA8cD5Bbm90aGVyIHNtYXJ0eSBwbHVnaW4gdGhhdCB3aWxsIGFsbG93IHJlcGVhdGluZyB0ZXh0PC9wPg0KICAgIDxwPkFyZ3VtZW50czo8L3A+DQogICAgICA8dWw+DQogICAgICAgIDxsaT50ZXh0IC0gVGhlIHRleHQgdG8gYmUgcmVwZWF0ZWQ8L2xpPg0KICAgICAgICA8bGk+Y291bnQgLSBUaGUgbnVtYmVyIG9mIHRpbWVzIGl0IHNob3VsZCBiZSByZXBlYXRlZDwvbGk+DQogICAgICAgIDxsaT5hc3NpZ24gLSBBc3NpZ24gdGhlIG91dHB1dCB0byB0aGUgc3BlY2lmaWVkIHNtYXJ0eSB2YXJpYWJsZTwvbGk+DQogICAgICA8L3VsPg0KICAgIDxici8+DQogICAgPHA+RXhhbXBsZTogPHByZT57Y2dyZXBlYXQgdGV4dD0mIzAzOTt0aGlzJiMwMzk7IGNvdW50PSYjMDM5OzUmIzAzOTt9PC9wcmU+PGJyLz48L3A+DQogICAgPC9saT4NCjwvdWw+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmYW1wO2NvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj4mYW1wO2x0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmYW1wO2d0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPg0KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUNCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMNCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQpidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0NhbGd1eXMgU2ltcGxlIFNtYXJ0eSBWZXJrdCZvc2xhc2g7eSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0NHU2ltcGxlU21hcnR5IGVyIG4mYXJpbmc7IGluc3RhbGxlcnQnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0NHU2ltcGxlU21hcnR5IGhhciBibGl0dCBmamVybmV0JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI3NDcyNjk4My4yNzk0LjYyLnV0bWNzcj1kZXYuY21zbWFkZXNpbXBsZS5vcmd8dXRtY2NuPShyZWZlcnJhbCl8dXRtY21kPXJlZmVycmFsfHV0bWNjdD0vYnVnL3ZpZXcvNDk1NSc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE3OTA1MjYyMzA4NDExMDEwMC4xMjEwNDIzNTc3LjEyNzc0Nzk1MzYuMTI3NzQ4NDgzNy4yOTI1JzsKJGxhbmdbJ3FjYSddID0gJzEyMTA5NzE2OTAtMjczMDgwNzMtODE5NTI4MzInOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NHU2ltcGxlU21hcnR5ICc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBzb21lIHNpbXBsZSBzbWFydHkgdXRpbGl0aWVzIGZvciB1c2UgaW4gYXBwbGljYXRpb25zIG9yIGZvciBjdXN0b21pemluZyB0aGUgYmVoYXZpb3VyIG9mIHlvdXIgQ01TIE1hZGUgU2ltcGxlIHBhZ2VzLjwvcD4NCjxoMz5Ib3cgRG8gSSBVc2UgSXQ6PC9oMz4NCjxwPldoZW4gdGhpcyBtb2R1bGUgaXMgaW5zdGFsbGVkLCBhIG5ldyBzbWFydHkgb2JqZWN0IG5hbWVkIGNnc2ltcGxlIGlzIGF1dG9tYXRpY2FsbHkgYXZhaWxhYmxlIHRvIHlvdXIgcGFnZSB0ZW1wbGF0ZXMsIGdsb2JhbCBjb250ZW50IGJsb2NrcywgYW5kIHZhcmlvdXMgbW9kdWxlIHRlbXBsYXRlcy4gIFRoaXMgc21hcnR5IG9iamVjdCBoYXMgbnVtZXJvdXMgZnVuY3Rpb25zIHRoYXQgeW91IGNhbiBjYWxsIGF0IGFueSB0aW1lLjwvcD4NCjxoND5BdmFpbGFibGUgRnVuY3Rpb25zOjwvaDQ+DQo8dWw+DQo8bGk+PHN0cm9uZz5zZWxmX3VybDwvc3Ryb25nPihbJGFzc2lnbl0pDQogICAgPHA+UmV0dXJuIHRoZSBjdXJyZW50IFVSTDwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+bW9kdWxlX2luc3RhbGxlZDwvc3Ryb25nPigkbW9kdWxlbmFtZVssJGFzc2lnbl0pDQogICAgPHA+VGVzdCBpZiBhIHBhcnRpY3VsYXIgbW9kdWxlIGlzIGluc3RhbGxlZC48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICAgIDxsaT4kbW9kdWxlbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBtb2R1bGUgdG8gY2hlY2s8L2xpPg0KICAgICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPntpZiAkY2dzaW1wbGUtJmFtcDtndDttb2R1bGVfaW5zdGFsbGVkKCYjMDM5O0Zyb250RW5kVXNlcnMmIzAzOTspfUZvdW5kIEZFVXsvaWZ9PC9wcmU+PGJyLz4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5tb2R1bGVfdmVyc2lvbjwvc3Ryb25nPigkbW9kdWxlbmFtZVssJGFzc2lnbl0pDQogICAgPHA+UmV0dXJuIHRoZSB2ZXJzaW9uIG51bWJlciBvZiBhIHNwZWNpZmljIGluc3RhbGxlZCBtb2R1bGU8L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICAgIDxsaT4kbW9kdWxlbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBtb2R1bGUgdG8gY2hlY2s8L2xpPg0KICAgICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPnskY2dzaW1wbGUtJmFtcDtndDttb2R1bGVfdmVyc2lvbigmIzAzOTtGcm9udEVuZFVzZXJzJiMwMzk7LCYjMDM5O2ZldV92ZXJzaW9uJiMwMzk7KX1XZSBoYXZlIFZlcnNpb24geyRmZXVfdmVyc2lvbn0gb2YgRnJvbnRFbmRVc2VyczwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3BhcmVudF9hbGlhczwvc3Ryb25nPihbJGFsaWFzXSxbJGFzc2lnbl0pDQogICAgPHA+UmV0dXJucyB0aGUgYWxpYXMgb2YgdGhlIHNwZWNpZmllZCBwYWdlcyBwYXJlbnQuIFJldHVybnMgYW4gZW1wdHkgc3RyaW5nIGlmIHRoZXJlIGlzIG5vIHBhcmVudC48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHBhcmVudCBvZi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT5UaGUgcGFyZW50IHBhZ2UgYWxpYXMgaXMgeyRjZ3NpbXBsZS0mYW1wO2d0O2dldF9wYXJlbnRfYWxpYXMoKX08L3ByZT48YnIvPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPmdldF9yb290X2FsaWFzPC9zdHJvbmc+KFskYWxpYXNdWywkYXNzaWduXSkNCiAgICA8cD5SZXR1cm5zIHRoZSBhbGlhcyBvZiB0aGUgc3BlY2lmaWVkIHBhZ2VzIHJvb3QgcGFyZW50LiBSZXR1cm5zIGFuIGVtcHR5IHN0cmluZyBpZiB0aGVyZSBpcyBubyByb290IHBhcmVudC48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHJvb3QgcGFyZW50IG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPlRoZSByb290IHBhcmVudCBwYWdlIGFsaWFzIGlzIHskY2dzaW1wbGUtJmFtcDtndDtnZXRfcm9vdF9hbGlhcygpfTwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3BhZ2VfdGl0bGU8L3N0cm9uZz4oWyRhbGlhc11bLCRhc3NpZ25dKQ0KICAgIDxwPlJldHVybnMgdGhlIHRpdGxlIG9mIHRoZSBzcGVjaWZpZWQgcGFnZS48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHRpdGxlIG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPlRoZSB0aXRsZSBvZiB0aGUgY3VycmVudCBwYWdlIGlzIHskY2dzaW1wbGUtJmFtcDtndDtnZXRfcGFnZV90aXRsZSgpfTwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3BhZ2VfbWVudXRleHQ8L3N0cm9uZz4oWyRhbGlhc11bLCRhc3NpZ25dKQ0KICAgIDxwPlJldHVybnMgdGhlIG1lbnV0ZXh0IG9mIHRoZSBzcGVjaWZpZWQgcGFnZS48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHRpdGxlIG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPlRoZSBtZW51dGV4dCBvZiB0aGUgY3VycmVudCBwYWdlIGlzIHskY2dzaW1wbGUtJmFtcDtndDtnZXRfcGFnZV9tZW51dGV4dCgpfTwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3BhZ2VfdHlwZTwvc3Ryb25nPihbJGFsaWFzXVssJGFzc2lnbl0pDQogICAgPHA+UmV0dXJucyB0aGUgbWVudXRleHQgb2YgdGhlIHNwZWNpZmllZCBjb250ZW50IG9iamVjdCAoYnkgYWxpYXMpPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byBmaW5kIHRoZSB0aXRsZSBvZi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT5UaGUgdHlwZSBvZiB0aGUgY3VycmVudCBwYWdlIGlzIHskY2dzaW1wbGUtJmFtcDtndDtnZXRfcGFnZV90eXBlKCl9PC9wcmU+PGJyLz4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5oYXNfY2hpbGRyZW48L3N0cm9uZz4oWyRhbGlhc11bLCRhc3NpZ25dKQ0KICAgIDxwPlRlc3QgaWYgdGhlIHNwZWNpZmllZCBwYWdlIGhhcyBjaGlsZHJlbi48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIHRlc3QuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPnskY2dzaW1wbGUtJmFtcDtndDtoYXNfY2hpbGRyZW4oJiMwMzk7JiMwMzk7LCYjMDM5O2hhc19jaGlsZHJlbiYjMDM5Oyl9e2lmICRoYXNfY2hpbGRyZW59VGhlIGN1cnJlbnQgcGFnZSBoYXMgY2hpbGRyZW57ZWxzZX1UaGUgY3VycmVudCBwYWdlIGhhcyBubyBjaGlsZHJlbnsvaWZ9PC9wcmU+PGJyLz4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRfY2hpbGRyZW48L3N0cm9uZz4oWyRhbGlhc11bLCRzaG93aW5hY3RpdmVdWywkYXNzaWduXSkNCiAgIDxwPlJldHVybiBhbiBhcnJheSBjb250YWluaW5nIGluZm9ybWF0aW9uIGFib3V0IGEgcGFnZXMgY2hpbGRyZW4gKGlmIGFueSk8L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIHRlc3QuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgICAgIDxsaT5bJHNob3dpbmFjdGl2ZV0gLSAob3B0aW9uYWwpIFdldGhlciBpbmFjdGl2ZSBwYWdlcyBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlIHJlc3VsdCAoZGVmYXVsdHMgdG8gZmFsc2UpLjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RmllbGRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+YWxpYXMgLSB0aGUgcGFnZSBhbGlhcyBvZiB0aGUgY2hpbGQ8L2xpPg0KICAgICAgIDxsaT5pZCAtIHRoZSBwYWdlIGlkIG9mIHRoZSBjaGlsZDwvbGk+DQogICAgICAgPGxpPnRpdGxlIC0gdGhlIHBhZ2UgaWQgb2YgdGhlIGNoaWxkPC9saT4NCiAgICAgICA8bGk+bWVudXRleHQgLSB0aGUgbWVudSB0ZXh0IG9mIHRoZSBjaGlsZDwvbGk+DQogICAgICAgPGxpPnNob3dfaW5fbWVudSAtIHdldGhlciB0aGlzIGNoaWxkIHBhZ2UgaXMgdmlzaWJsZSBpbiBtZW51cy48L2xpPg0KICAgICAgIDwvdWw+DQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+DQp7JGNnc2ltcGxlLSZhbXA7Z3Q7Z2V0X2NoaWxkcmVuKCYjMDM5OyYjMDM5OywmIzAzOTsmIzAzOTssJiMwMzk7Y2hpbGRyZW4mIzAzOTspfQ0Ke2lmIGNvdW50KCRjaGlsZHJlbil9DQogICB7Zm9yZWFjaCBmcm9tPSRjaGlsZHJlbiBpdGVtPSYjMDM5O2NoaWxkJiMwMzk7fQ0KICAgICAge2lmICRjaGlsZC5zaG93X2luX21lbnV9DQogICAgICAgIENoaWxkOiAgaWQgPSB7JGNoaWxkLmlkfSBhbGlhcyA9IHskY2hpbGQuYWxpYXN9JmFtcDtsdDtici8mYW1wO2d0Ow0KICAgICAgey9pZn0NCiAgIHsvZm9yZWFjaH0NCnsvaWZ9DQogICAgPC9wcmU+PGJyLz4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRfcGFnZV9jb250ZW50PC9zdHJvbmc+KCRhbGlhc1ssJGJsb2NrXVssJGFzc2lnbl0pDQogICAgPHA+UmV0dXJucyB0aGUgdGV4dCBvZiBhIHNwZWNpZmljIGNvbnRlbnQgYmxvY2sgb2YgYW5vdGhlciBwYWdlLjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT4kYWxpYXMgLSBUaGUgcGFnZSBhbGlhcyB0byBleHRyYWN0IGNvbnRlbnQgZnJvbS48L2xpPg0KICAgICAgIDxsaT5bJGJsb2NrXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgdGhlIGNvbnRlbnQgYmxvY2sgaW4gdGhlIHNwZWNpZmllZCBwYWdlLiAgaWYgdGhpcyB2YXJpYWJsZSBpcyBub3Qgc3BlY2lmaWVkLCAmIzAzOTtjb250ZW50X2VuJiMwMzk7IGlzIGFzc3VtZWQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT5UaGUgJiMwMzk7c2Vjb25kJiMwMzk7IGJsb2NrIG9mIHRoZSAmIzAzOTthYm91dCYjMDM5OyBwYWdlIGlzIHskY2dzaW1wbGUtJmFtcDtndDtnZXRfcGFnZV9jb250ZW50KCYjMDM5O2Fib3V0JiMwMzk7LCYjMDM5O3NlY29uZCYjMDM5OywmIzAzOTtmb28mIzAzOTspfXtldmFsIHZhcj0kZm9vfTwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3NpYmxpbmc8L3N0cm9uZz4oJGRpcmVjdGlvblssJGFzc2lnbl1bLCRhbGlhc10pDQogICAgPHA+UmV0dXJucyB0aGUgYWxpYXMgb2YgdGhlIG5leHQgb3IgcHJldmlvdXMgc2libGluZyB0byB0aGUgc3BlY2lmaWVkDQogICAgICAgcGFnZS4gb3IgZmFsc2UuPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPiRkaXJlY3Rpb24gLSB0aGUgZGlyZWN0aW9uIHRvIGxvb2sgaW4uICBwb3NzaWJsZSB2YWx1ZXMgYXJlIHByZXYscHJldmlvdXMsLTEsbmV4dCwxPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiB0aGUgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byBmaW5kIHRoZSBzaWJsaW5nIGZvci4gIElmIHRoaXMgaXMgbm90IHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+DQogICAgPGJyLz48L3A+DQogICAgICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgICAgIDxwcmU+TGluayB0byBwcmV2aW91cyBzaWJsaW5nOiB7JGNnc2ltcGxlLSZhbXA7Z3Q7Z2V0X3NpYmxpbmcoJmFtcDtxdW90O3ByZXYmYW1wO3F1b3QsJmFtcDtxdW90O3ByZXZfc2libGluZyZhbXA7cXVvdDspfXtpZiAhZW1wdHkoJHByZXZfc2libGluZyl9e2Ntc19zZWxmbGluayBwYWdlPSZhbXA7cXVvdDskcHJldl9zaWJsaW5nJmFtcDtxdW90OyB0ZXh0PSZhbXA7cXVvdDtQcmV2aW91cyZhbXA7cXVvdDt9ey9pZn08L3ByZT48YnIvPg0KICAgIDwvbGk+DQo8L3VsPg0KPGg0Pk90aGVyIFNtYXJ0eSBmdW5jdGlvbnM8L2g0Pg0KPHVsPg0KICAgIDxsaT48c3Ryb25nPnttb2R1bGVfYWN0aW9uX2xpbmt9PC9zdHJvbmc+DQogICAgPHA+QSBzbWFydHkgcGx1Z2luIHRoYXQgY2FuIGNyZWF0ZSBhIGxpbmsgdG8gYSBtb2R1bGUgYWN0aW9uLjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5tb2R1bGUgLSBUaGUgbW9kdWxlIHRvIGNyZWF0ZSBhIGxpbmsgdG88L2xpPg0KICAgICAgIDxsaT5hY3Rpb24gKGRlZmF1bHQpIC0gVGhlIGFjdGlvbiB0byBjYWxsIHdpdGhpbiB0aGUgbW9kdWxlPC9saT4NCiAgICAgICA8bGk+dGV4dCAtIFRoZSB0ZXh0IHRvIHB1dCBpbiB0aGUgbGluazwvbGk+DQogICAgICAgPGxpPnBhZ2UgLSBTcGVjaWZ5IHRoZSBkZXN0aW5hdGlvbiBwYWdlPC9saT4NCiAgICAgICA8bGk+dXJsb25seSAtIEluc3RlYWQgb2YgZ2VuZXJhdGluZyBhIGxpbmssIGdlbmVyYXRlIGp1c3QgdGhlIHVybDwvbGk+DQogICAgICAgPGxpPmpzZnJpZW5kbHkgLSBVc2VkIHdpdGggdGhlIHVybG9ubHkgcGFyYW1ldGVyIHRoaXMgcGFyYW1ldGVyIHdpbGwgZW5zdXJlIHRoYXQgYSBqYXZhc2NycHQgZnJpZW5kbHkgdXJsIGlzIG91dHB1dC48L2xpPg0KICAgICAgIDxsaT5jb25mbWVzc2FnZSAtIEEgY29uZmlybWF0aW9uIG1lc3NhZ2UgdG8gZGlzcGxheSB3aGVuIHRoZSBsaW5rIGlzIGNsaWNrZWQuPC9saT4NCiAgICAgICA8bGk+aW1hZ2UgLSBBbiBpbWFnZSB0byB1c2Ugb24gdGhlIGxpbms8L2xpPg0KICAgICAgIDxsaT5pbWFnZW9ubHkgLSBJZiBhbiBpbWFnZSBpcyBzcGVjaWZpZWQsIGNyZWF0ZSBhIGxpbmsgb25seSBjb25zaXN0aW5nIG9mIHRoZSBpbWFnZS4gIFRoZSB0ZXh0IHdpbGwgYmUgdXNlZCBmb3IgdGhlIHRpdGxlIGF0dHJpYnV0ZTwvbGk+DQogICAgICAgPC91bD4NCiAgICA8YnIvPjwvcD4NCiAgICA8cD5Bbnkgb3RoZXIgYXJndW1lbnRzIHRvIHRoZSBzbWFydHkgcGx1Z2luIHdpbGwgYmUgYWRkZWQgdG8gdGhlIFVSTCBnZW5lcmF0ZWQuPC9wPiAgIDxwPkV4YW1wbGU6DQo8cHJlPnttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSYjMDM5O05ld3MmIzAzOTsgYWN0aW9uPSYjMDM5O2Zlc3VibWl0JiMwMzk7IHRleHQ9JiMwMzk7U3VibWl0IGEgTmV3IE5ld3MgQXJ0aWNsZSYjMDM5O308L3ByZT48YnIvPjwvcD48L2xpPg0KDQoNCiAgICA8bGk+PHN0cm9uZz57c2Vzc2lvbl9wdXR9PC9zdHJvbmc+DQogICAgPHA+QSBzbWFydHkgcGx1Z2luIHRoYXQgY2FuIHN0b3JlIGRhdGEgaW4gdGhlIHVzZXIgc2Vzc2lvbi4gVGhpcyBkYXRhIGlzIHRoZW4gYWNjZXNzaWJsZSB2aWEgdGhlICRzbWFydHkuc2Vzc2lvbiBhcnJheSBpbiBzdWJzZXF1ZW50IHBhZ2VzLjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT52YXIgLSBUaGUgbmFtZSBvZiB0aGUgdmFyaWFibGUgdG8gY3JlYXRlIGluIHRoZSBzZXNzaW9uLjwvbGk+DQogICAgICAgPGxpPnZhbHVlIC0gVGhlIGRlc2lyZWQgdmFsdWUgb2YgdGhlIHZhcmlhYmxlLjwvbGk+DQogICAgICAgPC91bD4NCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOg0KICAgIDxwcmU+e3Nlc3Npb25fcHV0IHZhcj0mIzAzOTt0ZXN0JiMwMzk7IHZhbHVlPSYjMDM5O2JsYWgmIzAzOTt9PC9wcmU+PGJyLz48L3A+PC9saT4NCg0KICAgIDxsaT48c3Ryb25nPntzZXNzaW9uX2VyYXNlfTwvc3Ryb25nPg0KICAgIDxwPkEgc21hcnR5IHBsdWdpbiB0aGF0IGNhbiBlcmFzZSBkYXRhIGZyb20gdGhlIHVzZXIgc2Vzc2lvbi48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+dmFyIC0gVGhlIG5hbWUgb2YgdGhlIHZhcmlhYmxlIHRvIGVyYXNlIGluIHRoZSBzZXNzaW9uLjwvbGk+DQogICAgICAgPC91bD4NCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOg0KICAgIDxwcmU+e3Nlc3Npb25fZXJhc2UgdmFyPSYjMDM5O3Rlc3QmIzAzOTt9PC9wcmU+PGJyLz48L3A+PC9saT4NCg0KICAgIDxsaT48c3Ryb25nPntjZ3JlcGVhdH08L3N0cm9uZz4NCiAgICA8cD5Bbm90aGVyIHNtYXJ0eSBwbHVnaW4gdGhhdCB3aWxsIGFsbG93IHJlcGVhdGluZyB0ZXh0PC9wPg0KICAgIDxwPkFyZ3VtZW50czo8L3A+DQogICAgICA8dWw+DQogICAgICAgIDxsaT50ZXh0IC0gVGhlIHRleHQgdG8gYmUgcmVwZWF0ZWQ8L2xpPg0KICAgICAgICA8bGk+Y291bnQgLSBUaGUgbnVtYmVyIG9mIHRpbWVzIGl0IHNob3VsZCBiZSByZXBlYXRlZDwvbGk+DQogICAgICAgIDxsaT5hc3NpZ24gLSBBc3NpZ24gdGhlIG91dHB1dCB0byB0aGUgc3BlY2lmaWVkIHNtYXJ0eSB2YXJpYWJsZTwvbGk+DQogICAgICA8L3VsPg0KICAgIDxici8+DQogICAgPHA+RXhhbXBsZTogPHByZT57Y2dyZXBlYXQgdGV4dD0mIzAzOTt0aGlzJiMwMzk7IGNvdW50PSYjMDM5OzUmIzAzOTt9PC9wcmU+PGJyLz48L3A+DQogICAgPC9saT4NCjwvdWw+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAoQykgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZhbXA7bHQ7Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyZhbXA7Z3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQ2FsZ3V5cyBTaW1wbGUgU21hcnR5IFRvb2xzICc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0NHU2ltcGxlU21hcnR5IGlzIGdlJml1bWw7bnN0YWxsZWVyZCc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnQ0dTaW1wbGVTbWFydHkgaXMgdmVyd2lqZGVyZCc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjExNTIwNjYwMTYuMTMxMjQxMTQ3OS4xMzEyNDExNDc5LjEzMTMyNTgyNTcuMic7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEzMTI0MTE0NzkuMS4xLnV0bWNjbj0oZGlyZWN0KXx1dG1jc3I9KGRpcmVjdCl8dXRtY21kPShub25lKSc7CiRsYW5nWydxY2EnXSA9ICdQMC04NTY2MTc0NjctMTMxMDM3MDM1MjU4OCc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/pt_PT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NHU2ltcGxlU21hcnR5ICc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBzb21lIHNpbXBsZSBzbWFydHkgdXRpbGl0aWVzIGZvciB1c2UgaW4gYXBwbGljYXRpb25zIG9yIGZvciBjdXN0b21pemluZyB0aGUgYmVoYXZpb3VyIG9mIHlvdXIgQ01TIE1hZGUgU2ltcGxlIHBhZ2VzLjwvcD4NCjxoMz5Ib3cgRG8gSSBVc2UgSXQ6PC9oMz4NCjxwPldoZW4gdGhpcyBtb2R1bGUgaXMgaW5zdGFsbGVkLCBhIG5ldyBzbWFydHkgb2JqZWN0IG5hbWVkIGNnc2ltcGxlIGlzIGF1dG9tYXRpY2FsbHkgYXZhaWxhYmxlIHRvIHlvdXIgcGFnZSB0ZW1wbGF0ZXMsIGdsb2JhbCBjb250ZW50IGJsb2NrcywgYW5kIHZhcmlvdXMgbW9kdWxlIHRlbXBsYXRlcy4gIFRoaXMgc21hcnR5IG9iamVjdCBoYXMgbnVtZXJvdXMgZnVuY3Rpb25zIHRoYXQgeW91IGNhbiBjYWxsIGF0IGFueSB0aW1lLjwvcD4NCjxoND5BdmFpbGFibGUgRnVuY3Rpb25zOjwvaDQ+DQo8dWw+DQo8bGk+PHN0cm9uZz5tb2R1bGVfaW5zdGFsbGVkPC9zdHJvbmc+KCRtb2R1bGVuYW1lLFskYXNzaWduXSkNCiAgICA8cD5UZXN0IGlmIGEgcGFydGljdWxhciBtb2R1bGUgaXMgaW5zdGFsbGVkLjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgICAgPGxpPiRtb2R1bGVuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIG1vZHVsZSB0byBjaGVjazwvbGk+DQogICAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+e2lmICRjZ3NpbXBsZS0mYW1wO2d0O21vZHVsZV9pbnN0YWxsZWQoJiMwMzk7RnJvbnRFbmRVc2VycyYjMDM5Oyl9Rm91bmQgRkVVey9pZn08L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5tb2R1bGVfdmVyc2lvbjwvc3Ryb25nPigkbW9kdWxlbmFtZSxbJGFzc2lnbl0pDQogICAgPHA+UmV0dXJuIHRoZSB2ZXJzaW9uIG51bWJlciBvZiBhIHNwZWNpZmljIGluc3RhbGxlZCBtb2R1bGU8L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICAgIDxsaT4kbW9kdWxlbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBtb2R1bGUgdG8gY2hlY2s8L2xpPg0KICAgICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPnskY2dzaW1wbGUtJmFtcDtndDttb2R1bGVfdmVyc2lvbigmIzAzOTtGcm9udEVuZFVzZXJzJiMwMzk7LCYjMDM5O2ZldV92ZXJzaW9uJiMwMzk7KX1XZSBoYXZlIFZlcnNpb24geyRmZXVfdmVyc2lvbn0gb2YgRnJvbnRFbmRVc2VyczwvcHJlPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPmdldF9wYXJlbnRfYWxpYXM8L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQ0KICAgIDxwPlJldHVybnMgdGhlIGFsaWFzIG9mIHRoZSBzcGVjaWZpZWQgcGFnZXMgcGFyZW50LiBSZXR1cm5zIGFuIGVtcHR5IHN0cmluZyBpZiB0aGVyZSBpcyBubyBwYXJlbnQuPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byBmaW5kIHRoZSBwYXJlbnQgb2YuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+VGhlIHBhcmVudCBwYWdlIGFsaWFzIGlzIHskY2dzaW1wbGUtJmFtcDtndDtnZXRfcGFyZW50X2FsaWFzKCl9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3Jvb3RfYWxpYXM8L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQ0KICAgIDxwPlJldHVybnMgdGhlIGFsaWFzIG9mIHRoZSBzcGVjaWZpZWQgcGFnZXMgcm9vdCBwYXJlbnQuIFJldHVybnMgYW4gZW1wdHkgc3RyaW5nIGlmIHRoZXJlIGlzIG5vIHJvb3QgcGFyZW50LjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gZmluZCB0aGUgcm9vdCBwYXJlbnQgb2YuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+VGhlIHJvb3QgcGFyZW50IHBhZ2UgYWxpYXMgaXMgeyRjZ3NpbXBsZS0mYW1wO2d0O2dldF9yb290X2FsaWFzKCl9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3BhZ2VfdGl0bGU8L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQ0KICAgIDxwPlJldHVybnMgdGhlIHRpdGxlIG9mIHRoZSBzcGVjaWZpZWQgcGFnZS48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHRpdGxlIG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPlRoZSB0aXRsZSBvZiB0aGUgY3VycmVudCBwYWdlIGlzIHskY2dzaW1wbGUtJmFtcDtndDtnZXRfcGFnZV90aXRsZSgpfTwvcHJlPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPmdldF9wYWdlX21lbnV0ZXh0PC9zdHJvbmc+KFskYWxpYXNdLFskYXNzaWduXSkNCiAgICA8cD5SZXR1cm5zIHRoZSBtZW51dGV4dCBvZiB0aGUgc3BlY2lmaWVkIHBhZ2UuPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byBmaW5kIHRoZSB0aXRsZSBvZi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT5UaGUgbWVudXRleHQgb2YgdGhlIGN1cnJlbnQgcGFnZSBpcyB7JGNnc2ltcGxlLSZhbXA7Z3Q7Z2V0X3BhZ2VfdGl0bGUoKX08L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5oYXNfY2hpbGRyZW48L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQ0KICAgIDxwPlRlc3QgaWYgdGhlIHNwZWNpZmllZCBwYWdlIGhhcyBjaGlsZHJlbi48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIHRlc3QuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPnskY2dzaW1wbGUtJmFtcDtndDtoYXNfY2hpbGRyZW4oJiMwMzk7JiMwMzk7LCRoYXNfY2hpbGRyZW4pfXtpZiAkaGFzX2NoaWxkcmVufVRoZSBjdXJyZW50IHBhZ2UgaGFzIGNoaWxkcmVue2Vsc2V9VGhlIGN1cnJlbnQgcGFnZSBoYXMgbm8gY2hpbGRyZW57L2lmfTwvcHJlPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPmdldF9jaGlsZHJlbjwvc3Ryb25nPihbJGFsaWFzXSxbJHNob3dpbmFjdGl2ZV0sWyRhc3NpZ25dKQ0KICAgPHA+UmV0dXJuIGFuIGFycmF5IGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgYSBwYWdlcyBjaGlsZHJlbiAoaWYgYW55KTwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gdGVzdC4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+DQogICAgICAgPGxpPlskc2hvd2luYWN0aXZlXSAtIChvcHRpb25hbCkgV2V0aGVyIGluYWN0aXZlIHBhZ2VzIHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUgcmVzdWx0IChkZWZhdWx0cyB0byBmYWxzZSkuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5GaWVsZHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5hbGlhcyAtIHRoZSBwYWdlIGFsaWFzIG9mIHRoZSBjaGlsZDwvbGk+DQogICAgICAgPGxpPmlkIC0gdGhlIHBhZ2UgaWQgb2YgdGhlIGNoaWxkPC9saT4NCiAgICAgICA8bGk+dGl0bGUgLSB0aGUgcGFnZSBpZCBvZiB0aGUgY2hpbGQ8L2xpPg0KICAgICAgIDxsaT5tZW51dGV4dCAtIHRoZSBtZW51IHRleHQgb2YgdGhlIGNoaWxkPC9saT4NCiAgICAgICA8L3VsPg0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPg0KeyRjZ3NpbXBsZS0mYW1wO2d0O2dldF9jaGlsZHJlbigmIzAzOTsmIzAzOTssJiMwMzk7JiMwMzk7LCRjaGlsZHJlbil9DQp7aWYgY291bnQoJGNoaWxkcmVuKX0NCiAgIHtmb3JlYWNoIGZyb209JGNoaWxkcmVuIGl0ZW09JiMwMzk7Y2hpbGQmIzAzOTt9DQogICAgICB7aWYgJGNoaWxkLnNob3dfaW5fbWVudX0NCiAgICAgICAgQ2hpbGQ6ICBpZCA9IHskY2hpbGQuaWR9IGFsaWFzID0geyRjaGlsZC5hbGlhc30mYW1wO2x0O2JyLyZhbXA7Z3Q7DQogICAgICB7L2lmfQ0KICAgey9mb3JlYWNofQ0Key9pZn0NCiAgICA8L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQogICAgPGxpPjxzdHJvbmc+Z2V0X3BhZ2VfY29udGVudDwvc3Ryb25nPigkYWxpYXMsWyRibG9ja10sWyRhc3NpZ25dKQ0KICAgIDxwPlJldHVybnMgdGhlIHRleHQgb2YgYSBzcGVjaWZpYyBjb250ZW50IGJsb2NrIG9mIGFub3RoZXIgcGFnZS48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+JGFsaWFzIC0gVGhlIHBhZ2UgYWxpYXMgdG8gZXh0cmFjdCBjb250ZW50IGZyb20uPC9saT4NCiAgICAgICA8bGk+WyRibG9ja10gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIHRoZSBjb250ZW50IGJsb2NrIGluIHRoZSBzcGVjaWZpZWQgcGFnZS4gIGlmIHRoaXMgdmFyaWFibGUgaXMgbm90IHNwZWNpZmllZCwgJiMwMzk7Y29udGVudF9lbiYjMDM5OyBpcyBhc3N1bWVkLjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+VGhlIHRpdGxlIG9mIHRoZSBjdXJyZW50IHBhZ2UgaXMgeyRjZ3NpbXBsZS0mYW1wO2d0O2dldF9wYWdlX3RpdGxlKCl9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCjwvdWw+DQo8aDQ+T3RoZXIgU21hcnR5IGZ1bmN0aW9uczwvaDQ+DQo8dWw+DQogICAgPGxpPjxzdHJvbmc+e21vZHVsZV9hY3Rpb25fbGlua308L3N0cm9uZz4NCiAgICA8cD5BIHNtYXJ0eSBwbHVnaW4gdGhhdCBjYW4gY3JlYXRlIGEgbGluayB0byBhIG1vZHVsZSBhY3Rpb24uPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPm1vZHVsZSAtIFRoZSBtb2R1bGUgdG8gY3JlYXRlIGEgbGluayB0bzwvbGk+DQogICAgICAgPGxpPmFjdGlvbiAoZGVmYXVsdCkgLSBUaGUgYWN0aW9uIHRvIGNhbGwgd2l0aGluIHRoZSBtb2R1bGU8L2xpPg0KICAgICAgIDxsaT50ZXh0IC0gVGhlIHRleHQgdG8gcHV0IGluIHRoZSBsaW5rPC9saT4NCiAgICAgICA8bGk+cGFnZSAtIFNwZWNpZnkgdGhlIGRlc3RpbmF0aW9uIHBhZ2U8L2xpPg0KICAgICAgIDxsaT51cmxvbmx5IC0gSW5zdGVhZCBvZiBnZW5lcmF0aW5nIGEgbGluaywgZ2VuZXJhdGUganVzdCB0aGUgdXJsPC9saT4NCiAgICAgICA8bGk+Y29uZm1lc3NhZ2UgLSBBIGNvbmZpcm1hdGlvbiBtZXNzYWdlIHRvIGRpc3BsYXkgd2hlbiB0aGUgbGluayBpcyBjbGlja2VkLjwvbGk+DQogICAgICAgPGxpPmltYWdlIC0gQW4gaW1hZ2UgdG8gdXNlIG9uIHRoZSBsaW5rPC9saT4NCiAgICAgICA8bGk+aW1hZ2Vvbmx5IC0gSWYgYW4gaW1hZ2UgaXMgc3BlY2lmaWVkLCBjcmVhdGUgYSBsaW5rIG9ubHkgY29uc2lzdGluZyBvZiB0aGUgaW1hZ2UuICBUaGUgdGV4dCB3aWxsIGJlIHVzZWQgZm9yIHRoZSB0aXRsZSBhdHRyaWJ1dGU8L2xpPg0KICAgICAgIDwvdWw+DQogICAgPGJyLz48L3A+DQogICAgPHA+QW55IG90aGVyIGFyZ3VtZW50cyB0byB0aGUgc21hcnR5IHBsdWdpbiB3aWxsIGJlIGFkZGVkIHRvIHRoZSBVUkwgZ2VuZXJhdGVkLjwvcD4gICA8cD5FeGFtcGxlOg0KPHByZT57bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0mIzAzOTtOZXdzJiMwMzk7IGFjdGlvbj0mIzAzOTtmZXN1Ym1pdCYjMDM5OyB0ZXh0PSYjMDM5O1N1Ym1pdCBhIE5ldyBOZXdzIEFydGljbGUmIzAzOTt9PC9wcmU+PC9wPjwvbGk+DQoNCiAgICA8bGk+PHN0cm9uZz57Y2dyZXBlYXR9PC9zdHJvbmc+DQogICAgPHA+QW5vdGhlciBzbWFydHkgcGx1Z2luIHRoYXQgd2lsbCBhbGxvdyByZXBlYXRpbmcgdGV4dDwvcD4NCiAgICA8cD5Bcmd1bWVudHM6PC9wPg0KICAgICAgPHVsPg0KICAgICAgICA8bGk+dGV4dCAtIFRoZSB0ZXh0IHRvIGJlIHJlcGVhdGVkPC9saT4NCiAgICAgICAgPGxpPmNvdW50IC0gVGhlIG51bWJlciBvZiB0aW1lcyBpdCBzaG91bGQgYmUgcmVwZWF0ZWQ8L2xpPg0KICAgICAgICA8bGk+YXNzaWduIC0gQXNzaWduIHRoZSBvdXRwdXQgdG8gdGhlIHNwZWNpZmllZCBzbWFydHkgdmFyaWFibGU8L2xpPg0KICAgICAgPC91bD4NCiAgICA8YnIvPg0KICAgIDxwPkV4YW1wbGU6IDxwcmU+e2NncmVwZWF0IHRleHQ9JiMwMzk7dGhpcyYjMDM5OyBjb3VudD0mIzAzOTs1JiMwMzk7fTwvcHJlPjwvcD4NCiAgICA8L2xpPg0KPC91bD4NCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZhbXA7Y29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZhbXA7bHQ7Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyZhbXA7Z3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQ2FsZ3V5cyBTdXBvcnRlIGFvIFNtYXJ0eSAnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdDR1NpbXBsZVNtYXJ0eSBlc3QmYWFjdXRlOyBJbnN0YWxhZG8nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0NHU2ltcGxlU21hcnR5IGZvaSBSZW1vdmlkbyc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjIwMjg0NTY5NzQuMTIyODY2ODU3OS4xMjI5MTgxMDQ0LjEyMjkxODk4MTAuMjcnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjI5MTgxMDQ0LjI2LjYudXRtY3NyPW51bm9kZXYuaG9tZWxpbnV4LmNvbXx1dG1jY249KHJlZmVycmFsKXx1dG1jbWQ9cmVmZXJyYWx8dXRtY2N0PS9jcmlhY2Fvd2ViL2FkbWluL2xvZ2luLnBocCc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ro_RO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NHU2ltcGxlU21hcnR5ICc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPkNlIGZhY2UgYWNlc3RhPzwvaDM+DQo8cD5BY2VzdCBtb2R1bCBmdXJuaXplYXphIG5pc3RlIHV0aWxpdGFyZSBzaW1wbGUgc21hcnR5IGRlIGZvbG9zaXQgcGVudHJ1IGFwbGljYXRpaSBzYXUgcGVudHJ1IGEgY3VzdG9taXphIGNvbXBvcnRhbWVudHVsIHBhZ2luaWxvciBDTVMgTWFkZSBTaW1wbGUuPC9wPg0KPGgzPkN1bSBzZSBmb2xvc2VzdGU6PC9oMz4NCjxwPkNhbmQgYWNlc3QgbW9kdWwgZXN0ZSBpbnN0YWxhdCwgdW4gbm91IG9iaWVjdCBzbWFydHkgbnVtaXQgY2dzaW1wbGUgZGV2aW5lIGRpc3BvbmliaWwgYXV0b21hdCBwZW50cnUgdGVtcGxhdGUtdXJpLCBibG9jdXJpIGdsb2JhbGUgZGUgY29udGludXQgc2kgdmFyaWF0ZSB0ZW1wbGF0ZS11cmkgZGUgbW9kdWxlLiBBY2VzdCBvYmllY3Qgc21hcnR5IGFyZSBudW1lcm9hc2UgZnVuY3RpaSBjZXJlIHBvdCBmaSBhcGVsYXRlIG9yaWNhbmQuPC9wPg0KPGg0PkZ1bmN0aWkgZGlzcG9uaWJpbGU6PC9oND4NCjx1bD4NCjxsaT48c3Ryb25nPnNlbGZfdXJsPC9zdHJvbmc+KFskYXNzaWduXSkNCiAgICA8cD5SZXR1cm5lYXphIHVybC11bCBjdXJlbnQ8L3A+DQogICAgPHA+QXJndW1lbnRlOg0KICAgICAgIDx1bD4NCiAgICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgTnVtZWxlIHVuZWkgdmFyaWFiaWxlIGNhcmVpYSBzYSBpIHNlIGFsb2NlIHJlenVsdGF0dWwuPC9saT4NCiAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPm1vZHVsZV9pbnN0YWxsZWQ8L3N0cm9uZz4oJG1vZHVsZW5hbWUsWyRhc3NpZ25dKQ0KICAgIDxwPlRlc3RlYXphIGRhY2EgdW4gbW9kdWwgYW51bWUgZXN0ZSBpbnN0YWxhdC48L3A+DQogICAgPHA+QXJndW1lbnRlOg0KICAgICAgIDx1bD4NCiAgICAgICAgIDxsaT4kbW9kdWxlbmFtZSAtIE51bWVsZSBtb2R1bHVsdWkgZGUgdmVyaWZpY2F0PC9saT4NCiAgICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgTnVtZWxlIHVuZWkgdmFyaWFiaWxlIGNhcmVpYSBzYSBpIHNlIGFsb2NlIHJlenVsdGF0dWwuPC9saT4NCiAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGVtcGx1Ojxici8+DQogICAgPHByZT57aWYgJGNnc2ltcGxlLT5tb2R1bGVfaW5zdGFsbGVkKCYjMDM5O0Zyb250RW5kVXNlcnMmIzAzOTspfUZvdW5kIEZFVXsvaWZ9PC9wcmU+PGJyLz4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5tb2R1bGVfdmVyc2lvbjwvc3Ryb25nPigkbW9kdWxlbmFtZSxbJGFzc2lnbl0pDQogICAgPHA+UmV0dXJuZWF6YSBudW1hcnVsIGRlIHZlcnNpdW5lIGFsIHVudWkgbW9kdWwgYW51bWUgaW5zdGFsYXQ8L3A+DQogICAgPHA+QXJndW1lbnRlOg0KICAgICAgIDx1bD4NCiAgICAgICAgIDxsaT4kbW9kdWxlbmFtZSAtIE51bWVsZSBtb2R1bHVsdWkgZGUgdmVyaWZpY2F0PC9saT4NCiAgICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgTnVtZWxlIHVuZWkgdmFyaWFiaWxlIGNhcmVpYSBzYSBpIHNlIGFsb2NlIHJlenVsdGF0dWwuPC9saT4NCiAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGVtcGx1Ojxici8+DQogICAgPHByZT57JGNnc2ltcGxlLT5tb2R1bGVfdmVyc2lvbigmIzAzOTtGcm9udEVuZFVzZXJzJiMwMzk7LCYjMDM5O2ZldV92ZXJzaW9uJiMwMzk7KX1BdmVtIHZlcnNpdW5lYSB7JGZldV92ZXJzaW9ufSBhIG1vZHVsdWx1aSBGcm9udEVuZFVzZXJzPC9wcmU+PGJyLz4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRfcGFyZW50X2FsaWFzPC9zdHJvbmc+KFskYWxpYXNdLFskYXNzaWduXSkNCiAgICA8cD5SZXR1cm5lYXphIGFsaWFzdWwgcGFyaW50ZWx1aSBwYWdpbmlpIHNwZWNpZmljYXRlLiBSZXR1cm5lYXphIHVuIHNpciBnb2wgZGFjYSBudSBlc3RlIG5pY2kgdW4gcGFyaW50ZS48L3A+DQogICAgPHA+QXJndW1lbnRlOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIEFsaWFzdWwgcGFnaW5paSBwZW50cnUgY2FyZSBzZSBnYXNlc3RlIHBhcmludGVsZS4gRGFjYSBudSBlc3RlIHNwZWNpZmljYXRhIG5pY2kgbyB2YWxvYXJlLCBzZSBmb2xvc2VzdGUgcGFnaW5hIGN1cmVudGEuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIE51bWVsZSB1bmVpIHZhcmlhYmlsZSBjYXJlaWEgc2EgaSBzZSBhbG9jZSByZXp1bHRhdHVsLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4ZW1wbHU6PGJyLz4NCiAgICA8cHJlPkFsaWFzdWwgcGFnaW5paSBwYXJpbnRlIGVzdGUgeyRjZ3NpbXBsZS0+Z2V0X3BhcmVudF9hbGlhcygpfTwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3Jvb3RfYWxpYXM8L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQ0KICAgIDxwPlJldHVybmVhemEgYWxpYXN1bCBwYXJpbnRlbHVpIHJhZGFjaW5hIGFsIHBhZ2luaWkgc3BlY2lmaWNhdGUuIFJldHVybmVhemEgdW4gc2lyIGdvbCBkYWNhIG51IGVzdGUgbmljaSB1biBwYXJpbnRlIHJhZGFjaW5hLjwvcD4NCiAgICA8cD5Bcmd1bWVudGU6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgQWxpYXN1bCBwYWdpbmlpIHBlbnRydSBjYXJlIHNlIGdhc2VzdGUgcGFyaW50ZWxlIHJhZGFjaW5hLiBEYWNhIG51IGVzdGUgc3BlY2lmaWNhdGEgbmljaSBvIHZhbG9hcmUsIHNlIGZvbG9zZXN0ZSBwYWdpbmEgY3VyZW50YS48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgTnVtZWxlIHVuZWkgdmFyaWFiaWxlIGNhcmVpYSBzYSBpIHNlIGFsb2NlIHJlenVsdGF0dWwuPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhlbXBsdTo8YnIvPg0KICAgIDxwcmU+QWxpYXN1bCBwYWdpbmlpIHBhcmludGUgcmFkYWNpbmEgZXN0ZSB7JGNnc2ltcGxlLT5nZXRfcm9vdF9hbGlhcygpfTwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3BhZ2VfdGl0bGU8L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQ0KICAgIDxwPlJldHVybmVhemEgdGl0bHVsIHBhZ2luaWkgc3BlY2lmaWNhdGUuPC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBBbGlhc3VsIHBhZ2luaWkgcGVudHJ1IGNhcmUgc2UgZ2FzZXN0ZSB0aXRsdWwuICBEYWNhIG51IGVzdGUgc3BlY2lmaWNhdGEgbmljaSBvIHZhbG9hcmUsIHNlIGZvbG9zZXN0ZSBwYWdpbmEgY3VyZW50YS48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgTnVtZWxlIHVuZWkgdmFyaWFiaWxlIGNhcmVpYSBzYSBpIHNlIGFsb2NlIHJlenVsdGF0dWwuPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhlbXBsdTo8YnIvPg0KICAgIDxwcmU+VGl0bHVsIHBhZ2luaWkgY3VyZW50ZSBlc3RlIHskY2dzaW1wbGUtPmdldF9wYWdlX3RpdGxlKCl9PC9wcmU+PGJyLz4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRfcGFnZV9tZW51dGV4dDwvc3Ryb25nPihbJGFsaWFzXSxbJGFzc2lnbl0pDQogICAgPHA+UmV0dXJuZWF6YSB0ZXh0dWwgbWVuaXUgYWwgcGFnaW5paSBzcGVjaWZpY2F0ZS48L3A+DQogICAgPHA+QXJndW1lbnRlOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIEFsaWFzdWwgcGFnaW5paSBwZW50cnUgY2FyZSBzZSBnYXNlc3RlIHRleHR1bCBtZW5pdWx1aS4gRGFjYSBudSBlc3RlIHNwZWNpZmljYXRhIG5pY2kgbyB2YWxvYXJlLCBzZSBmb2xvc2VzdGUgcGFnaW5hIGN1cmVudGEuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIE51bWVsZSB1bmVpIHZhcmlhYmlsZSBjYXJlaWEgc2EgaSBzZSBhbG9jZSByZXp1bHRhdHVsLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4ZW1wbHU6PGJyLz4NCiAgICA8cHJlPlRleHR1bCBwZW50cnUgbWVuaXUgYWwgcGFnaW5paSBjdXJlbnRlIGVzdGUgeyRjZ3NpbXBsZS0+Z2V0X3BhZ2VfdGl0bGUoKX08L3ByZT48YnIvPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPmhhc19jaGlsZHJlbjwvc3Ryb25nPihbJGFsaWFzXSxbJGFzc2lnbl0pDQogICAgPHA+VGVzdGVhemEgZGFjYSBwYWdpbmEgc3BlY2lmaWNhdGEgYXJlIGNvcGlpLjwvcD4NCiAgICA8cD5Bcmd1bWVudGU6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgQWxpYXN1bCBwYWdpbmlpIGRlIHRlc3RhdC4gRGFjYSBudSBlc3RlIHNwZWNpZmljYXRhIG5pY2kgbyB2YWxvYXJlLCBzZSBmb2xvc2VzdGUgcGFnaW5hIGN1cmVudGEuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dIC0gKG9wdGlvbmFsKSBOdW1lbGUgdW5laSB2YXJpYWJpbGUgY2FyZWlhIHNhIGkgc2UgYWxvY2UgcmV6dWx0YXR1bC48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGVtcGx1Ojxici8+DQogICAgPHByZT57JGNnc2ltcGxlLT5oYXNfY2hpbGRyZW4oJiMwMzk7JiMwMzk7LCRoYXNfY2hpbGRyZW4pfXtpZiAkaGFzX2NoaWxkcmVufVBhZ2luYSBjdXJlbnRhIGFyZSBjb3BpaXtlbHNlfVBhZ2luYSBjdXJlbnRhIG51IGFyZSBjb3BpaXsvaWZ9PC9wcmU+PGJyLz4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRfY2hpbGRyZW48L3N0cm9uZz4oWyRhbGlhc10sWyRzaG93aW5hY3RpdmVdLFskYXNzaWduXSkNCiAgIDxwPlJldHVybmVhemEgdW4gYXJyYXkgY29udGluYW5kIGluZm9ybWF0aWkgZGVzcHJlIGNvcGlpaSB1bmVpIHBhZ2luaSAoZGFjYSBlc3RlIHZyZXVudWwpPC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBBbGlhc3VsIHBhZ2luaWkgZGUgdGVzdGF0LiBEYWNhIG51IGVzdGUgc3BlY2lmaWNhdGEgbmljaSBvIHZhbG9hcmUsIHNlIGZvbG9zZXN0ZSBwYWdpbmEgY3VyZW50YS48L2xpPg0KICAgICAgIDxsaT5bJHNob3dpbmFjdGl2ZV0gLSAob3B0aW9uYWwpIERhY2Egc2UgaW5jbHVkIGluIHJlenVsdGF0IHNpIHBhZ2luaWxlIGluYWN0aXZlIChpbXBsaWNpdCBlc3RlIGZhbHNlKS48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gLSAob3B0aW9uYWwpIE51bWVsZSB1bmVpIHZhcmlhYmlsZSBjYXJlaWEgc2EgaSBzZSBhbG9jZSByZXp1bHRhdHVsLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkNhbXB1cmk6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5hbGlhcyAtIEFsaWFzdWwgcGFnaW5paSBjb3BpbDwvbGk+DQogICAgICAgPGxpPmlkIC0gSUQgYWwgcGFnaW5paSBjb3BpbDwvbGk+DQogICAgICAgPGxpPnRpdGxlIC0gVGl0bHVsIHBhZ2luaWkgY29waWw8L2xpPg0KICAgICAgIDxsaT5tZW51dGV4dCAtIFRleHR1bCBkaW4gbWVuaXUgYWwgcGFnaW5paSBjb3BpbDwvbGk+DQogICAgICAgPC91bD4NCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGVtcGx1Ojxici8+DQogICAgPHByZT4NCnskY2dzaW1wbGUtPmdldF9jaGlsZHJlbigmIzAzOTsmIzAzOTssJiMwMzk7JiMwMzk7LCRjaGlsZHJlbil9DQp7aWYgY291bnQoJGNoaWxkcmVuKX0NCiAgIHtmb3JlYWNoIGZyb209JGNoaWxkcmVuIGl0ZW09JiMwMzk7Y2hpbGQmIzAzOTt9DQogICAgICB7aWYgJGNoaWxkLnNob3dfaW5fbWVudX0NCiAgICAgICAgQ29waWw6ICBpZCA9IHskY2hpbGQuaWR9IGFsaWFzID0geyRjaGlsZC5hbGlhc308YnIvPg0KICAgICAgey9pZn0NCiAgIHsvZm9yZWFjaH0NCnsvaWZ9DQogICAgPC9wcmU+PGJyLz4NCiAgICA8L3A+DQo8L2xpPg0KDQogICAgPGxpPjxzdHJvbmc+Z2V0X3BhZ2VfY29udGVudDwvc3Ryb25nPigkYWxpYXMsWyRibG9ja10sWyRhc3NpZ25dKQ0KICAgIDxwPlJldHVybmVhemEgdGV4dHVsIHVudWkgYmxvYyBzcGVjaWZpYyBkZSBjb250aW51dCBkaW4gYWx0YSBwYWdpbmEuPC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPiRhbGlhcyAtIEFsaWFzdWwgcGFnaW5paSBkZSB1bmRlIHNlIGV4dHJhZyBpbmZvcm1hdGlpbGUuPC9saT4NCiAgICAgICA8bGk+WyRibG9ja10gLSAob3B0aW9uYWwpIE51bWVsZSBibG9jdWx1aSBkZSBjb250aW51dCBkaW4gcGFnaW5hIHNwZWNpZmljYXRhLiBEYWNhIGFjZWFzdGEgdmFyaWFiaWxhIG51IGVzdGUgc3BlY2lmaWNhdGEsICYjMDM5O2NvbnRlbnRfZW4mIzAzOTsgZXN0ZSBjZWwgcHJlbHVhdCBpbXBsaWNpdC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gLSAob3B0aW9uYWwpIE51bWVsZSB1bmVpIHZhcmlhYmlsZSBjYXJlaWEgc2EgaSBzZSBhbG9jZSByZXp1bHRhdHVsLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KPC9saT4NCg0KICAgIDxsaT48c3Ryb25nPmdldF9zaWJsaW5nPC9zdHJvbmc+KCRkaXJlY3Rpb24sWyRhc3NpZ25dLFskYWxpYXNdKQ0KICAgIDxwPlJldHVybmVhemEgYWxpYXN1bCB1cm1hdG9ydWx1aSBzYXUgcHJlY2VkZW50dWx1aSBmcmF0ZShzb3JhKSBhbCBwYWdpbmlpIHNwZWNpZmljYXRlLCBzYXUgZmFsc2UuPC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPiRkaXJlY3Rpb24gLSBkaXJlY3RpYSBpbiBjYXJlIG5lIHVpdGFtLiBWYWxvcmkgcG9zaWJpbGUgc3VudCBwcmV2LHByZXZpb3VzLC0xLG5leHQsMTwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAtIChvcHRpb25hbCkgTnVtZWxlIHVuZWkgdmFyaWFiaWxlIGNhcmVpYSBzYSBpIHNlIGFsb2NlIHJlenVsdGF0dWwuPC9saT4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIEFsaWFzdWwgcGFnaW5paSBwZW50cnUgY2FyZSBzZSBjYXV0YSBmcmF0aS4gIERhY2EgbnUgZXN0ZSBzcGVjaWZpY2F0YSBuaWNpIG8gdmFsb2FyZSwgc2UgZm9sb3Nlc3RlIHBhZ2luYSBjdXJlbnRhLjwvbGk+DQogICAgPGJyLz48L3A+DQogICAgICAgPHA+RXhlbXBsdTo8YnIvPg0KICAgICAgIDxwcmU+TGluayBjYXRyZSBwYWdpbmEgcHJlY2VkZW50YTogeyRjZ3NpbXBsZS0+Z2V0X3NpYmxpbmcoJnF1b3Q7cHJldiZxdW90OywmcXVvdDtwcmV2X3NpYmxpbmcmcXVvdDspfXtpZiAhZW1wdHkoJHByZXZfc2libGluZyl9e2Ntc19zZWxmbGluayBwYWdlPSZxdW90OyRwcmV2X3NpYmxpbmcmcXVvdDsgdGV4dD0mcXVvdDtQcmV2aW91cyZxdW90O317L2lmfTwvcHJlPjxici8+DQogICAgPC9saT4NCjwvdWw+DQo8aDQ+QWx0ZSBmdW5jdGlpIHNtYXJ0eTwvaDQ+DQo8dWw+DQogICAgPGxpPjxzdHJvbmc+e21vZHVsZV9hY3Rpb25fbGlua308L3N0cm9uZz4NCiAgICA8cD5VbiBwbHVnaW4gc21hcnR5IGNhcmUgcG9hdGUgY3JlYSB1biBsaW5rIGNhdHJlIGFjdGl1bmVhIHVudWkgbW9kdWwuPC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPm1vZHVsZSAtIE1vZHVsdWwgY2F0cmUgY2FyZSBzZSBjcmVhemEgbGluazwvbGk+DQogICAgICAgPGxpPmFjdGlvbiAoZGVmYXVsdCkgLSBBY3RpdW5lYSBjYXJlIHNlIGFwZWxlYXphIGluIG1vZHVsPC9saT4NCiAgICAgICA8bGk+dGV4dCAtIFRleHR1bCBjYXJlIHNlIHB1bmUgaW4gbGluazwvbGk+DQogICAgICAgPGxpPnBhZ2UgLSBTcGVjaWZpY2F0aSBwYWdpbmEgZGUgZGVzdGluYXRpZTwvbGk+DQogICAgICAgPGxpPnVybG9ubHkgLSBJbiBsb2Mgc2Egc2UgZ2VuZXJlemUgdW4gbGluaywgc2UgZ2VuZXJlYXphIGRvYXIgdXJsLXVsPC9saT4NCiAgICAgICA8bGk+anNmcmllbmRseSAtIEZvbG9zaXQgaW1wcmV1bmEgY3UgcGFyYW1ldHJ1bCB1cmxvbmx5IGFjZXN0IHBhcmFtZXRydSB2YSBhc2lndXJhIGNhIG91dHB1dHVsIHZhIGZpIHVuIHVybCBqYXZhc2NyaXB0IGZyaWVuZGx5LjwvbGk+DQogICAgICAgPGxpPmNvbmZtZXNzYWdlIC0gVW4gbWVzYWogZGUgY29uZmlybWFyZSBkZSBhZmlzYXQgY2FuZCBsaW5rdWwgZXN0ZSBhY2Nlc2F0LjwvbGk+DQogICAgICAgPGxpPmltYWdlIC0gTyBpbWFnaW5lIGNhcmUgc2UgZm9sb3Nlc3RlIHBlbnRydSBsaW5rPC9saT4NCiAgICAgICA8bGk+aW1hZ2Vvbmx5IC0gRGFjYSBvIGltYWdpbmUgZXN0ZSBzcGVjaWZpY2F0YSwgc2UgY3JlYXphIHVuIGxpbmsgbnVtYWkgaW1hZ2luZS4gVGV4dHVsIHZhIGZpIGZvbG9zaXQgcGVudHJ1IGF0cmlidXR1bCB0aXRsdTwvbGk+DQogICAgICAgPC91bD4NCiAgICA8YnIvPjwvcD4NCiAgICA8cD5PcmljZSBhbHQgYXJndW1lbnQgYWwgcGx1Z2luLXVsdWkgc21hcnR5IHZhIGZpIGFkYXVnYXQgbGEgVVJMLXVsIGdlbmVyYXQuPC9wPiAgIDxwPkV4ZW1wbHU6DQo8cHJlPnttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSYjMDM5O05vdXRhdGkmIzAzOTsgYWN0aW9uPSYjMDM5O2Zlc3VibWl0JiMwMzk7IHRleHQ9JiMwMzk7VHJpbWl0ZXRpIHVuIGFydGljb2wgbm91JiMwMzk7fTwvcHJlPjxici8+PC9wPjwvbGk+DQoNCg0KICAgIDxsaT48c3Ryb25nPntzZXNzaW9uX3B1dH08L3N0cm9uZz4NCiAgICA8cD5VbiBwbHVnaW4gc21hcnR5IGNhcmUgcG9hdGUgc3RvY2EgZGF0ZSBpbiBzZXNpdW5lYSB1dGlsaXphdG9yLiBBY2VzdGUgZGF0ZSBzdW50IGFwb2kgZGlzcG9uaWJpbGUgcHJpbiBpbnRlcm1lZGl1bCBhcnJheS11bHVpICRzbWFydHkuc2Vzc2lvbiBpbiB1cm1hdG9hcmVsZSBwYWdpbmkuPC9wPg0KICAgIDxwPkFyZ3VtZW50ZToNCiAgICAgICA8dWw+DQogICAgICAgPGxpPnZhciAtIE51bWVsZSB2YXJpYWJpbGUgY2FyZSBzZSBjcmVhemEgaW4gc2VzaXVuZS48L2xpPg0KICAgICAgIDxsaT52YWx1ZSAtIFZhbG9hcmVhIGRvcml0YSBhIHZhcmlhYmlsZWkuPC9saT4NCiAgICAgICA8L3VsPg0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4ZW1wbHU6DQogICAgPHByZT57c2Vzc2lvbl9wdXQgdmFyPSYjMDM5O3Rlc3QmIzAzOTsgdmFsdWU9JiMwMzk7YmxhaCYjMDM5O308L3ByZT48YnIvPjwvcD48L2xpPg0KDQogICAgPGxpPjxzdHJvbmc+e3Nlc3Npb25fZXJhc2V9PC9zdHJvbmc+DQogICAgPHA+VW4gcGx1Z2luIHNtYXJ0eSBjYXJlIHBvYXRlIHN0ZXJnZSBkYXRlIGRpbiBzZXNpdW5lYSB1dGlsaXphdG9yLjwvcD4NCiAgICA8cD5Bcmd1bWVudGU6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT52YXIgLSBOdW1lbGUgdmFyaWFiaWxlaSBkZSBzdGVycyBkaW4gc2VzaXVuZS48L2xpPg0KICAgICAgIDwvdWw+DQogICAgPGJyLz48L3A+DQogICAgPHA+RXhlbXBsdToNCiAgICA8cHJlPntzZXNzaW9uX2VyYXNlIHZhcj0mIzAzOTt0ZXN0JiMwMzk7fTwvcHJlPjxici8+PC9wPjwvbGk+DQoNCiAgICA8bGk+PHN0cm9uZz57Y2dyZXBlYXR9PC9zdHJvbmc+DQogICAgPHA+VW4gYWx0IHBsdWdpbiBzbWFydHkgY2FyZSBwZXJtaXRlIHJlcGV0YXJlIGRlIHRleHQ8L3A+DQogICAgPHA+QXJndW1lbnRlOjwvcD4NCiAgICAgIDx1bD4NCiAgICAgICAgPGxpPnRleHQgLSBUZXh0dWwgY2FyZSBzZSByZXBldGE8L2xpPg0KICAgICAgICA8bGk+Y291bnQgLSBOdW1hcnVsIGRlIG9yaSBpbiBjYXJlIGFyIHRyZWJ1aSBzYSBzZSByZXBldGU8L2xpPg0KICAgICAgICA8bGk+YXNzaWduIC0gQWxvY2Egb3V0cHV0LXVsIGNhdHJlIHZhcmlhYmlsYSBzbWFydHkgc3BlY2lmaWNhdGE8L2xpPg0KICAgICAgPC91bD4NCiAgICA8YnIvPg0KICAgIDxwPkV4ZW1wbHU6IDxwcmU+e2NncmVwZWF0IHRleHQ9JiMwMzk7dGhpcyYjMDM5OyBjb3VudD0mIzAzOTs1JiMwMzk7fTwvcHJlPjxici8+PC9wPg0KICAgIDwvbGk+DQo8L3VsPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj48Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZz48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gDQpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4nOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdDYWxndXlzIFNpbXBsZSBTbWFydHkgVG9vbHMgJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnQ0dTaW1wbGVTbWFydHkgYSBmb3N0IGluc3RhbGF0JzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdDR1NpbXBsZVNtYXJ0eSBhIGZvc3QgZGV6aW5zdGFsYXQnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjM1NzM4NDM3MTc3MDg5OTI1MDAuMTI1MDA1NjI2Ny4xMjUwNTkwMTY4LjEyNTA1OTMzOTkuMTcnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjUwNTc5MTYwLjE0LjMudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWRldi5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY3Q9L3Byb2plY3QvZmlsZXMvNnx1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sncWNiJ10gPSAnMTkxMjQzODI2Nic7CiRsYW5nWydxY2EnXSA9ICcxMjQ5OTgwODM1LTkyNTkzNDkyLTc5NTY3NjA4JzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ru_RU.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NHU2ltcGxlU21hcnR5ICc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBzb21lIHNpbXBsZSBzbWFydHkgdXRpbGl0aWVzIGZvciB1c2UgaW4gYXBwbGljYXRpb25zIG9yIGZvciBjdXN0b21pemluZyB0aGUgYmVoYXZpb3VyIG9mIHlvdXIgQ01TIE1hZGUgU2ltcGxlIHBhZ2VzLjwvcD4NCjxoMz5Ib3cgRG8gSSBVc2UgSXQ6PC9oMz4NCjxwPldoZW4gdGhpcyBtb2R1bGUgaXMgaW5zdGFsbGVkLCBhIG5ldyBzbWFydHkgb2JqZWN0IG5hbWVkIGNnc2ltcGxlIGlzIGF1dG9tYXRpY2FsbHkgYXZhaWxhYmxlIHRvIHlvdXIgcGFnZSB0ZW1wbGF0ZXMsIGdsb2JhbCBjb250ZW50IGJsb2NrcywgYW5kIHZhcmlvdXMgbW9kdWxlIHRlbXBsYXRlcy4gIFRoaXMgc21hcnR5IG9iamVjdCBoYXMgbnVtZXJvdXMgZnVuY3Rpb25zIHRoYXQgeW91IGNhbiBjYWxsIGF0IGFueSB0aW1lLjwvcD4NCjxoND5BdmFpbGFibGUgRnVuY3Rpb25zOjwvaDQ+DQo8dWw+DQo8bGk+PHN0cm9uZz5tb2R1bGVfaW5zdGFsbGVkPC9zdHJvbmc+KCRtb2R1bGVuYW1lLFskYXNzaWduXSkNCiAgICA8cD5UZXN0IGlmIGEgcGFydGljdWxhciBtb2R1bGUgaXMgaW5zdGFsbGVkLjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgICAgPGxpPiRtb2R1bGVuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIG1vZHVsZSB0byBjaGVjazwvbGk+DQogICAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+e2lmICRjZ3NpbXBsZS0+bW9kdWxlX2luc3RhbGxlZChcJ0Zyb250RW5kVXNlcnNcJyl9Rm91bmQgRkVVey9pZn08L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5tb2R1bGVfdmVyc2lvbjwvc3Ryb25nPigkbW9kdWxlbmFtZSxbJGFzc2lnbl0pDQogICAgPHA+UmV0dXJuIHRoZSB2ZXJzaW9uIG51bWJlciBvZiBhIHNwZWNpZmljIGluc3RhbGxlZCBtb2R1bGU8L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICAgIDxsaT4kbW9kdWxlbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBtb2R1bGUgdG8gY2hlY2s8L2xpPg0KICAgICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPnskY2dzaW1wbGUtPm1vZHVsZV92ZXJzaW9uKFwnRnJvbnRFbmRVc2Vyc1wnLFwnZmV1X3ZlcnNpb25cJyl9V2UgaGF2ZSBWZXJzaW9uIHskZmV1X3ZlcnNpb259IG9mIEZyb250RW5kVXNlcnM8L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRfcGFyZW50X2FsaWFzPC9zdHJvbmc+KFskYWxpYXNdLFskYXNzaWduXSkNCiAgICA8cD5SZXR1cm5zIHRoZSBhbGlhcyBvZiB0aGUgc3BlY2lmaWVkIHBhZ2VzIHBhcmVudC4gUmV0dXJucyBhbiBlbXB0eSBzdHJpbmcgaWYgdGhlcmUgaXMgbm8gcGFyZW50LjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gZmluZCB0aGUgcGFyZW50IG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPlRoZSBwYXJlbnQgcGFnZSBhbGlhcyBpcyB7JGNnc2ltcGxlLT5nZXRfcGFyZW50X2FsaWFzKCl9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3Jvb3RfYWxpYXM8L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQ0KICAgIDxwPlJldHVybnMgdGhlIGFsaWFzIG9mIHRoZSBzcGVjaWZpZWQgcGFnZXMgcm9vdCBwYXJlbnQuIFJldHVybnMgYW4gZW1wdHkgc3RyaW5nIGlmIHRoZXJlIGlzIG5vIHJvb3QgcGFyZW50LjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gZmluZCB0aGUgcm9vdCBwYXJlbnQgb2YuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+VGhlIHJvb3QgcGFyZW50IHBhZ2UgYWxpYXMgaXMgeyRjZ3NpbXBsZS0+Z2V0X3Jvb3RfYWxpYXMoKX08L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRfcGFnZV90aXRsZTwvc3Ryb25nPihbJGFsaWFzXSxbJGFzc2lnbl0pDQogICAgPHA+UmV0dXJucyB0aGUgdGl0bGUgb2YgdGhlIHNwZWNpZmllZCBwYWdlLjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gZmluZCB0aGUgdGl0bGUgb2YuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+VGhlIHRpdGxlIG9mIHRoZSBjdXJyZW50IHBhZ2UgaXMgeyRjZ3NpbXBsZS0+Z2V0X3BhZ2VfdGl0bGUoKX08L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5oYXNfY2hpbGRyZW48L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQ0KICAgIDxwPlRlc3QgaWYgdGhlIHNwZWNpZmllZCBwYWdlIGhhcyBjaGlsZHJlbi48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIHRlc3QuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPnskY2dzaW1wbGUtPmhhc19jaGlsZHJlbihcJ1wnLCRoYXNfY2hpbGRyZW4pfXtpZiAkaGFzX2NoaWxkcmVufVRoZSBjdXJyZW50IHBhZ2UgaGFzIGNoaWxkcmVue2Vsc2V9VGhlIGN1cnJlbnQgcGFnZSBoYXMgbm8gY2hpbGRyZW57L2lmfTwvcHJlPg0KICAgIDwvcD4NCjwvbGk+DQoNCiAgICA8bGk+PHN0cm9uZz5nZXRfcGFnZV9jb250ZW50PC9zdHJvbmc+KCRhbGlhcyxbJGJsb2NrXSxbJGFzc2lnbl0pDQogICAgPHA+UmV0dXJucyB0aGUgdGV4dCBvZiBhIHNwZWNpZmljIGNvbnRlbnQgYmxvY2sgb2YgYW5vdGhlciBwYWdlLjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT4kYWxpYXMgLSBUaGUgcGFnZSBhbGlhcyB0byBleHRyYWN0IGNvbnRlbnQgZnJvbS48L2xpPg0KICAgICAgIDxsaT5bJGJsb2NrXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgdGhlIGNvbnRlbnQgYmxvY2sgaW4gdGhlIHNwZWNpZmllZCBwYWdlLiAgaWYgdGhpcyB2YXJpYWJsZSBpcyBub3Qgc3BlY2lmaWVkLCBcJ2NvbnRlbnRfZW5cJyBpcyBhc3N1bWVkLjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+VGhlIHRpdGxlIG9mIHRoZSBjdXJyZW50IHBhZ2UgaXMgeyRjZ3NpbXBsZS0+Z2V0X3BhZ2VfdGl0bGUoKX08L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8L3VsPic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ9CY0L3RgdGC0YDRg9C80LXQvdGC0YsgQ2FsZ3V5cyBTaW1wbGUgU21hcnR5JzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnQ0dTaW1wbGVTbWFydHkg0LHRi9C7INGD0YHRgtCw0L3QvtCy0LvQtdC9JzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdDR1NpbXBsZVNtYXJ0eSDQsdGL0Lsg0YPQtNCw0LvRkdC9JzsKJGxhbmdbJ3FjYSddID0gJ1AwLTYzNjYxMTc1OC0xMjkwNzczMDU0MDMwJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI5MzEzNDE3MC4xMS42LnV0bWNzcj1kZXYuY21zbWFkZXNpbXBsZS5vcmd8dXRtY2NuPShyZWZlcnJhbCl8dXRtY21kPXJlZmVycmFsfHV0bWNjdD0vYnVnL3ZpZXcvNTc3NSc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjU4MTEwMzgwOS4xMjkwNzczMDQ3LjEyOTMxMjEwNzYuMTI5MzEzNDE3MC4xMSc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMuMi4xMC4xMjkzMTM0MTcwJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sk_SK.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1JveiZzY2Fyb247JmlhY3V0ZTtyZW4mZWFjdXRlOyBzbWFydHknOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdDYWxndXlzIFNpbXBsZSBTbWFydHkgbiZhYWN1dGU7c3Ryb2plJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnQ0dTaW1wbGVTbWFydHkgamUgbmFpbiZzY2Fyb247dGFsb3ZhbiZ5YWN1dGU7JzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdDR1NpbXBsZVNtYXJ0eSBib2wgb2RzdHImYWFjdXRlO25lbiZ5YWN1dGU7JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTM0MzUxMzUzNy4yLjIudXRtY3NyPWZlZWRidXJuZXJ8dXRtY2NuPUZlZWQ6IGNtc21hZGVzaW1wbGUvYmxvZyAoQ01TIE1hZGUgU2ltcGxlKXx1dG1jbWQ9ZmVlZCc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjExNTY2ODU4OTguMTM0MzUxMzA5Mi4xMzQzNTEzNTM3LjEzNDM1NTIxNDAuMyc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sr_YU.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NHU2ltcGxlU21hcnR5JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIHNvbWUgc2ltcGxlIHNtYXJ0eSB1dGlsaXRpZXMgZm9yIHVzZSBpbiBhcHBsaWNhdGlvbnMgb3IgZm9yIGN1c3RvbWl6aW5nIHRoZSBiZWhhdmlvdXIgb2YgeW91ciBDTVMgTWFkZSBTaW1wbGUgcGFnZXMuPC9wPg0KPGgzPkhvdyBEbyBJIFVzZSBJdDo8L2gzPg0KPHA+V2hlbiB0aGlzIG1vZHVsZSBpcyBpbnN0YWxsZWQsIGEgbmV3IHNtYXJ0eSBvYmplY3QgbmFtZWQgY2dzaW1wbGUgaXMgYXV0b21hdGljYWxseSBhdmFpbGFibGUgdG8geW91ciBwYWdlIHRlbXBsYXRlcywgZ2xvYmFsIGNvbnRlbnQgYmxvY2tzLCBhbmQgdmFyaW91cyBtb2R1bGUgdGVtcGxhdGVzLiAgVGhpcyBzbWFydHkgb2JqZWN0IGhhcyBudW1lcm91cyBmdW5jdGlvbnMgdGhhdCB5b3UgY2FuIGNhbGwgYXQgYW55IHRpbWUuPC9wPg0KPGg0PkF2YWlsYWJsZSBGdW5jdGlvbnM6PC9oND4NCjx1bD4NCjxsaT48c3Ryb25nPnNlbGZfdXJsPC9zdHJvbmc+KFskYXNzaWduXSkNCiAgICA8cD5SZXR1cm4gdGhlIGN1cnJlbnQgVVJMPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5tb2R1bGVfaW5zdGFsbGVkPC9zdHJvbmc+KCRtb2R1bGVuYW1lWywkYXNzaWduXSkNCiAgICA8cD5UZXN0IGlmIGEgcGFydGljdWxhciBtb2R1bGUgaXMgaW5zdGFsbGVkLjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgICAgPGxpPiRtb2R1bGVuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIG1vZHVsZSB0byBjaGVjazwvbGk+DQogICAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+e2lmICRjZ3NpbXBsZS0+bW9kdWxlX2luc3RhbGxlZCgmIzAzOTtGcm9udEVuZFVzZXJzJiMwMzk7KX1Gb3VuZCBGRVV7L2lmfTwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+bW9kdWxlX3ZlcnNpb248L3N0cm9uZz4oJG1vZHVsZW5hbWVbLCRhc3NpZ25dKQ0KICAgIDxwPlJldHVybiB0aGUgdmVyc2lvbiBudW1iZXIgb2YgYSBzcGVjaWZpYyBpbnN0YWxsZWQgbW9kdWxlPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgICA8bGk+JG1vZHVsZW5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgbW9kdWxlIHRvIGNoZWNrPC9saT4NCiAgICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT57JGNnc2ltcGxlLT5tb2R1bGVfdmVyc2lvbigmIzAzOTtGcm9udEVuZFVzZXJzJiMwMzk7LCYjMDM5O2ZldV92ZXJzaW9uJiMwMzk7KX1XZSBoYXZlIFZlcnNpb24geyRmZXVfdmVyc2lvbn0gb2YgRnJvbnRFbmRVc2VyczwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3BhcmVudF9hbGlhczwvc3Ryb25nPihbJGFsaWFzXSxbJGFzc2lnbl0pDQogICAgPHA+UmV0dXJucyB0aGUgYWxpYXMgb2YgdGhlIHNwZWNpZmllZCBwYWdlcyBwYXJlbnQuIFJldHVybnMgYW4gZW1wdHkgc3RyaW5nIGlmIHRoZXJlIGlzIG5vIHBhcmVudC48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHBhcmVudCBvZi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT5UaGUgcGFyZW50IHBhZ2UgYWxpYXMgaXMgeyRjZ3NpbXBsZS0+Z2V0X3BhcmVudF9hbGlhcygpfTwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3Jvb3RfYWxpYXM8L3N0cm9uZz4oWyRhbGlhc11bLCRhc3NpZ25dKQ0KICAgIDxwPlJldHVybnMgdGhlIGFsaWFzIG9mIHRoZSBzcGVjaWZpZWQgcGFnZXMgcm9vdCBwYXJlbnQuIFJldHVybnMgYW4gZW1wdHkgc3RyaW5nIGlmIHRoZXJlIGlzIG5vIHJvb3QgcGFyZW50LjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gZmluZCB0aGUgcm9vdCBwYXJlbnQgb2YuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+VGhlIHJvb3QgcGFyZW50IHBhZ2UgYWxpYXMgaXMgeyRjZ3NpbXBsZS0+Z2V0X3Jvb3RfYWxpYXMoKX08L3ByZT48YnIvPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPmdldF9wYWdlX3RpdGxlPC9zdHJvbmc+KFskYWxpYXNdWywkYXNzaWduXSkNCiAgICA8cD5SZXR1cm5zIHRoZSB0aXRsZSBvZiB0aGUgc3BlY2lmaWVkIHBhZ2UuPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byBmaW5kIHRoZSB0aXRsZSBvZi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT5UaGUgdGl0bGUgb2YgdGhlIGN1cnJlbnQgcGFnZSBpcyB7JGNnc2ltcGxlLT5nZXRfcGFnZV90aXRsZSgpfTwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+Z2V0X3BhZ2VfbWVudXRleHQ8L3N0cm9uZz4oWyRhbGlhc11bLCRhc3NpZ25dKQ0KICAgIDxwPlJldHVybnMgdGhlIG1lbnV0ZXh0IG9mIHRoZSBzcGVjaWZpZWQgcGFnZS48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHRpdGxlIG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPlRoZSBtZW51dGV4dCBvZiB0aGUgY3VycmVudCBwYWdlIGlzIHskY2dzaW1wbGUtPmdldF9wYWdlX21lbnV0ZXh0KCl9PC9wcmU+PGJyLz4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRfcGFnZV90eXBlPC9zdHJvbmc+KFskYWxpYXNdWywkYXNzaWduXSkNCiAgICA8cD5SZXR1cm5zIHRoZSBtZW51dGV4dCBvZiB0aGUgc3BlY2lmaWVkIGNvbnRlbnQgb2JqZWN0IChieSBhbGlhcyk8L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHRpdGxlIG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPlRoZSB0eXBlIG9mIHRoZSBjdXJyZW50IHBhZ2UgaXMgeyRjZ3NpbXBsZS0+Z2V0X3BhZ2VfdHlwZSgpfTwvcHJlPjxici8+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+aGFzX2NoaWxkcmVuPC9zdHJvbmc+KFskYWxpYXNdWywkYXNzaWduXSkNCiAgICA8cD5UZXN0IGlmIHRoZSBzcGVjaWZpZWQgcGFnZSBoYXMgY2hpbGRyZW4uPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byB0ZXN0LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT57JGNnc2ltcGxlLT5oYXNfY2hpbGRyZW4oJiMwMzk7JiMwMzk7LCYjMDM5O2hhc19jaGlsZHJlbiYjMDM5Oyl9e2lmICRoYXNfY2hpbGRyZW59VGhlIGN1cnJlbnQgcGFnZSBoYXMgY2hpbGRyZW57ZWxzZX1UaGUgY3VycmVudCBwYWdlIGhhcyBubyBjaGlsZHJlbnsvaWZ9PC9wcmU+PGJyLz4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRfY2hpbGRyZW48L3N0cm9uZz4oWyRhbGlhc11bLCRzaG93aW5hY3RpdmVdWywkYXNzaWduXSkNCiAgIDxwPlJldHVybiBhbiBhcnJheSBjb250YWluaW5nIGluZm9ybWF0aW9uIGFib3V0IGEgcGFnZXMgY2hpbGRyZW4gKGlmIGFueSk8L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIHRlc3QuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgICAgIDxsaT5bJHNob3dpbmFjdGl2ZV0gLSAob3B0aW9uYWwpIFdldGhlciBpbmFjdGl2ZSBwYWdlcyBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlIHJlc3VsdCAoZGVmYXVsdHMgdG8gZmFsc2UpLjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RmllbGRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+YWxpYXMgLSB0aGUgcGFnZSBhbGlhcyBvZiB0aGUgY2hpbGQ8L2xpPg0KICAgICAgIDxsaT5pZCAtIHRoZSBwYWdlIGlkIG9mIHRoZSBjaGlsZDwvbGk+DQogICAgICAgPGxpPnRpdGxlIC0gdGhlIHBhZ2UgaWQgb2YgdGhlIGNoaWxkPC9saT4NCiAgICAgICA8bGk+bWVudXRleHQgLSB0aGUgbWVudSB0ZXh0IG9mIHRoZSBjaGlsZDwvbGk+DQogICAgICAgPGxpPnNob3dfaW5fbWVudSAtIHdldGhlciB0aGlzIGNoaWxkIHBhZ2UgaXMgdmlzaWJsZSBpbiBtZW51cy48L2xpPg0KICAgICAgIDwvdWw+DQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+DQp7JGNnc2ltcGxlLT5nZXRfY2hpbGRyZW4oJiMwMzk7JiMwMzk7LCYjMDM5OyYjMDM5OywmIzAzOTtjaGlsZHJlbiYjMDM5Oyl9DQp7aWYgY291bnQoJGNoaWxkcmVuKX0NCiAgIHtmb3JlYWNoIGZyb209JGNoaWxkcmVuIGl0ZW09JiMwMzk7Y2hpbGQmIzAzOTt9DQogICAgICB7aWYgJGNoaWxkLnNob3dfaW5fbWVudX0NCiAgICAgICAgQ2hpbGQ6ICBpZCA9IHskY2hpbGQuaWR9IGFsaWFzID0geyRjaGlsZC5hbGlhc308YnIvPg0KICAgICAgey9pZn0NCiAgIHsvZm9yZWFjaH0NCnsvaWZ9DQogICAgPC9wcmU+PGJyLz4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRfcGFnZV9jb250ZW50PC9zdHJvbmc+KCRhbGlhc1ssJGJsb2NrXVssJGFzc2lnbl0pDQogICAgPHA+UmV0dXJucyB0aGUgdGV4dCBvZiBhIHNwZWNpZmljIGNvbnRlbnQgYmxvY2sgb2YgYW5vdGhlciBwYWdlLjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT4kYWxpYXMgLSBUaGUgcGFnZSBhbGlhcyB0byBleHRyYWN0IGNvbnRlbnQgZnJvbS48L2xpPg0KICAgICAgIDxsaT5bJGJsb2NrXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgdGhlIGNvbnRlbnQgYmxvY2sgaW4gdGhlIHNwZWNpZmllZCBwYWdlLiAgaWYgdGhpcyB2YXJpYWJsZSBpcyBub3Qgc3BlY2lmaWVkLCAmIzAzOTtjb250ZW50X2VuJiMwMzk7IGlzIGFzc3VtZWQuPC9saT4NCiAgICAgICA8bGk+WyRhc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT5UaGUgJiMwMzk7c2Vjb25kJiMwMzk7IGJsb2NrIG9mIHRoZSAmIzAzOTthYm91dCYjMDM5OyBwYWdlIGlzIHskY2dzaW1wbGUtPmdldF9wYWdlX2NvbnRlbnQoJiMwMzk7YWJvdXQmIzAzOTssJiMwMzk7c2Vjb25kJiMwMzk7LCYjMDM5O2ZvbyYjMDM5Oyl9e2V2YWwgdmFyPSRmb299PC9wcmU+PGJyLz4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRfc2libGluZzwvc3Ryb25nPigkZGlyZWN0aW9uWywkYXNzaWduXVssJGFsaWFzXSkNCiAgICA8cD5SZXR1cm5zIHRoZSBhbGlhcyBvZiB0aGUgbmV4dCBvciBwcmV2aW91cyBzaWJsaW5nIHRvIHRoZSBzcGVjaWZpZWQNCiAgICAgICBwYWdlLiBvciBmYWxzZS48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+JGRpcmVjdGlvbiAtIHRoZSBkaXJlY3Rpb24gdG8gbG9vayBpbi4gIHBvc3NpYmxlIHZhbHVlcyBhcmUgcHJldixwcmV2aW91cywtMSxuZXh0LDE8L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIHRoZSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHNpYmxpbmcgZm9yLiAgSWYgdGhpcyBpcyBub3Qgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4NCiAgICA8YnIvPjwvcD4NCiAgICAgICA8cD5FeGFtcGxlOjxici8+DQogICAgICAgPHByZT5MaW5rIHRvIHByZXZpb3VzIHNpYmxpbmc6IHskY2dzaW1wbGUtPmdldF9zaWJsaW5nKCZxdW90O3ByZXYmcXVvdDssJnF1b3Q7cHJldl9zaWJsaW5nJnF1b3Q7KX17aWYgIWVtcHR5KCRwcmV2X3NpYmxpbmcpfXtjbXNfc2VsZmxpbmsgcGFnZT0mcXVvdDskcHJldl9zaWJsaW5nJnF1b3Q7IHRleHQ9JnF1b3Q7UHJldmlvdXMmcXVvdDt9ey9pZn08L3ByZT48YnIvPg0KICAgIDwvbGk+DQo8L3VsPg0KPGg0Pk90aGVyIFNtYXJ0eSBmdW5jdGlvbnM8L2g0Pg0KPHVsPg0KICAgIDxsaT48c3Ryb25nPnttb2R1bGVfYWN0aW9uX2xpbmt9PC9zdHJvbmc+DQogICAgPHA+QSBzbWFydHkgcGx1Z2luIHRoYXQgY2FuIGNyZWF0ZSBhIGxpbmsgdG8gYSBtb2R1bGUgYWN0aW9uLjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5tb2R1bGUgLSBUaGUgbW9kdWxlIHRvIGNyZWF0ZSBhIGxpbmsgdG88L2xpPg0KICAgICAgIDxsaT5hY3Rpb24gKGRlZmF1bHQpIC0gVGhlIGFjdGlvbiB0byBjYWxsIHdpdGhpbiB0aGUgbW9kdWxlPC9saT4NCiAgICAgICA8bGk+dGV4dCAtIFRoZSB0ZXh0IHRvIHB1dCBpbiB0aGUgbGluazwvbGk+DQogICAgICAgPGxpPnBhZ2UgLSBTcGVjaWZ5IHRoZSBkZXN0aW5hdGlvbiBwYWdlPC9saT4NCiAgICAgICA8bGk+dXJsb25seSAtIEluc3RlYWQgb2YgZ2VuZXJhdGluZyBhIGxpbmssIGdlbmVyYXRlIGp1c3QgdGhlIHVybDwvbGk+DQogICAgICAgPGxpPmpzZnJpZW5kbHkgLSBVc2VkIHdpdGggdGhlIHVybG9ubHkgcGFyYW1ldGVyIHRoaXMgcGFyYW1ldGVyIHdpbGwgZW5zdXJlIHRoYXQgYSBqYXZhc2NycHQgZnJpZW5kbHkgdXJsIGlzIG91dHB1dC48L2xpPg0KICAgICAgIDxsaT5jb25mbWVzc2FnZSAtIEEgY29uZmlybWF0aW9uIG1lc3NhZ2UgdG8gZGlzcGxheSB3aGVuIHRoZSBsaW5rIGlzIGNsaWNrZWQuPC9saT4NCiAgICAgICA8bGk+aW1hZ2UgLSBBbiBpbWFnZSB0byB1c2Ugb24gdGhlIGxpbms8L2xpPg0KICAgICAgIDxsaT5pbWFnZW9ubHkgLSBJZiBhbiBpbWFnZSBpcyBzcGVjaWZpZWQsIGNyZWF0ZSBhIGxpbmsgb25seSBjb25zaXN0aW5nIG9mIHRoZSBpbWFnZS4gIFRoZSB0ZXh0IHdpbGwgYmUgdXNlZCBmb3IgdGhlIHRpdGxlIGF0dHJpYnV0ZTwvbGk+DQogICAgICAgPC91bD4NCiAgICA8YnIvPjwvcD4NCiAgICA8cD5Bbnkgb3RoZXIgYXJndW1lbnRzIHRvIHRoZSBzbWFydHkgcGx1Z2luIHdpbGwgYmUgYWRkZWQgdG8gdGhlIFVSTCBnZW5lcmF0ZWQuPC9wPiAgIDxwPkV4YW1wbGU6DQo8cHJlPnttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSYjMDM5O05ld3MmIzAzOTsgYWN0aW9uPSYjMDM5O2Zlc3VibWl0JiMwMzk7IHRleHQ9JiMwMzk7U3VibWl0IGEgTmV3IE5ld3MgQXJ0aWNsZSYjMDM5O308L3ByZT48YnIvPjwvcD48L2xpPg0KDQoNCiAgICA8bGk+PHN0cm9uZz57c2Vzc2lvbl9wdXR9PC9zdHJvbmc+DQogICAgPHA+QSBzbWFydHkgcGx1Z2luIHRoYXQgY2FuIHN0b3JlIGRhdGEgaW4gdGhlIHVzZXIgc2Vzc2lvbi4gVGhpcyBkYXRhIGlzIHRoZW4gYWNjZXNzaWJsZSB2aWEgdGhlICRzbWFydHkuc2Vzc2lvbiBhcnJheSBpbiBzdWJzZXF1ZW50IHBhZ2VzLjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT52YXIgLSBUaGUgbmFtZSBvZiB0aGUgdmFyaWFibGUgdG8gY3JlYXRlIGluIHRoZSBzZXNzaW9uLjwvbGk+DQogICAgICAgPGxpPnZhbHVlIC0gVGhlIGRlc2lyZWQgdmFsdWUgb2YgdGhlIHZhcmlhYmxlLjwvbGk+DQogICAgICAgPC91bD4NCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOg0KICAgIDxwcmU+e3Nlc3Npb25fcHV0IHZhcj0mIzAzOTt0ZXN0JiMwMzk7IHZhbHVlPSYjMDM5O2JsYWgmIzAzOTt9PC9wcmU+PGJyLz48L3A+PC9saT4NCg0KICAgIDxsaT48c3Ryb25nPntzZXNzaW9uX2VyYXNlfTwvc3Ryb25nPg0KICAgIDxwPkEgc21hcnR5IHBsdWdpbiB0aGF0IGNhbiBlcmFzZSBkYXRhIGZyb20gdGhlIHVzZXIgc2Vzc2lvbi48L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+dmFyIC0gVGhlIG5hbWUgb2YgdGhlIHZhcmlhYmxlIHRvIGVyYXNlIGluIHRoZSBzZXNzaW9uLjwvbGk+DQogICAgICAgPC91bD4NCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOg0KICAgIDxwcmU+e3Nlc3Npb25fZXJhc2UgdmFyPSYjMDM5O3Rlc3QmIzAzOTt9PC9wcmU+PGJyLz48L3A+PC9saT4NCg0KICAgIDxsaT48c3Ryb25nPntjZ3JlcGVhdH08L3N0cm9uZz4NCiAgICA8cD5Bbm90aGVyIHNtYXJ0eSBwbHVnaW4gdGhhdCB3aWxsIGFsbG93IHJlcGVhdGluZyB0ZXh0PC9wPg0KICAgIDxwPkFyZ3VtZW50czo8L3A+DQogICAgICA8dWw+DQogICAgICAgIDxsaT50ZXh0IC0gVGhlIHRleHQgdG8gYmUgcmVwZWF0ZWQ8L2xpPg0KICAgICAgICA8bGk+Y291bnQgLSBUaGUgbnVtYmVyIG9mIHRpbWVzIGl0IHNob3VsZCBiZSByZXBlYXRlZDwvbGk+DQogICAgICAgIDxsaT5hc3NpZ24gLSBBc3NpZ24gdGhlIG91dHB1dCB0byB0aGUgc3BlY2lmaWVkIHNtYXJ0eSB2YXJpYWJsZTwvbGk+DQogICAgICA8L3VsPg0KICAgIDxici8+DQogICAgPHA+RXhhbXBsZTogPHByZT57Y2dyZXBlYXQgdGV4dD0mIzAzOTt0aGlzJiMwMzk7IGNvdW50PSYjMDM5OzUmIzAzOTt9PC9wcmU+PGJyLz48L3A+DQogICAgPC9saT4NCjwvdWw+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPjxjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPg0KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUNCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMNCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQpidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0NhbGd1eXMgU2ltcGxlIFNtYXJ0eSBhbGF0aSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0NHU2ltcGxlU21hcnR5IGplIGluc3RhbGlyYW4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0NHU2ltcGxlU21hcnR5IGplIHVrbG9uamVuJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMjc4MzM0NjY2LjEyOTE5MTYwNjYuMTI5MTkxNjA2Ni4xMjkxOTE4MDE0LjInOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyOTE5MTYwNjYuMS4xLnV0bWNzcj0oZGlyZWN0KXx1dG1jY249KGRpcmVjdCl8dXRtY21kPShub25lKSc7CiRsYW5nWydxY2EnXSA9ICdQMC0xMjQ1MzY0MTAxLTEyOTE5MTYwNjYzNzUnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sv_SE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NHU2ltcGxlU21hcnR5IG1vZHVsJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIHNvbWUgc2ltcGxlIHNtYXJ0eSB1dGlsaXRpZXMgZm9yIHVzZSBpbiBhcHBsaWNhdGlvbnMgb3IgZm9yIGN1c3RvbWl6aW5nIHRoZSBiZWhhdmlvdXIgb2YgeW91ciBDTVMgTWFkZSBTaW1wbGUgcGFnZXMuPC9wPg0KPGgzPkhvdyBEbyBJIFVzZSBJdDo8L2gzPg0KPHA+V2hlbiB0aGlzIG1vZHVsZSBpcyBpbnN0YWxsZWQsIGEgbmV3IHNtYXJ0eSBvYmplY3QgbmFtZWQgY2dzaW1wbGUgaXMgYXV0b21hdGljYWxseSBhdmFpbGFibGUgdG8geW91ciBwYWdlIHRlbXBsYXRlcywgZ2xvYmFsIGNvbnRlbnQgYmxvY2tzLCBhbmQgdmFyaW91cyBtb2R1bGUgdGVtcGxhdGVzLiAgVGhpcyBzbWFydHkgb2JqZWN0IGhhcyBudW1lcm91cyBmdW5jdGlvbnMgdGhhdCB5b3UgY2FuIGNhbGwgYXQgYW55IHRpbWUuPC9wPg0KPGg0PkF2YWlsYWJsZSBGdW5jdGlvbnM6PC9oND4NCjx1bD4NCjxsaT48c3Ryb25nPm1vZHVsZV9pbnN0YWxsZWQ8L3N0cm9uZz4oJG1vZHVsZW5hbWUsWyRhc3NpZ25dKQ0KICAgIDxwPlRlc3QgaWYgYSBwYXJ0aWN1bGFyIG1vZHVsZSBpcyBpbnN0YWxsZWQuPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgICA8bGk+JG1vZHVsZW5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgbW9kdWxlIHRvIGNoZWNrPC9saT4NCiAgICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT57aWYgJGNnc2ltcGxlLT5tb2R1bGVfaW5zdGFsbGVkKCYjMDM5O0Zyb250RW5kVXNlcnMmIzAzOTspfUZvdW5kIEZFVXsvaWZ9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KPGxpPjxzdHJvbmc+bW9kdWxlX3ZlcnNpb248L3N0cm9uZz4oJG1vZHVsZW5hbWUsWyRhc3NpZ25dKQ0KICAgIDxwPlJldHVybiB0aGUgdmVyc2lvbiBudW1iZXIgb2YgYSBzcGVjaWZpYyBpbnN0YWxsZWQgbW9kdWxlPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgICA8bGk+JG1vZHVsZW5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgbW9kdWxlIHRvIGNoZWNrPC9saT4NCiAgICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT57JGNnc2ltcGxlLT5tb2R1bGVfdmVyc2lvbigmIzAzOTtGcm9udEVuZFVzZXJzJiMwMzk7LCYjMDM5O2ZldV92ZXJzaW9uJiMwMzk7KX1XZSBoYXZlIFZlcnNpb24geyRmZXVfdmVyc2lvbn0gb2YgRnJvbnRFbmRVc2VyczwvcHJlPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPmdldF9wYXJlbnRfYWxpYXM8L3N0cm9uZz4oWyRhbGlhc10sWyRhc3NpZ25dKQ0KICAgIDxwPlJldHVybnMgdGhlIGFsaWFzIG9mIHRoZSBzcGVjaWZpZWQgcGFnZXMgcGFyZW50LiBSZXR1cm5zIGFuIGVtcHR5IHN0cmluZyBpZiB0aGVyZSBpcyBubyBwYXJlbnQuPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byBmaW5kIHRoZSBwYXJlbnQgb2YuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+VGhlIHBhcmVudCBwYWdlIGFsaWFzIGlzIHskY2dzaW1wbGUtPmdldF9wYXJlbnRfYWxpYXMoKX08L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRfcm9vdF9hbGlhczwvc3Ryb25nPihbJGFsaWFzXSxbJGFzc2lnbl0pDQogICAgPHA+UmV0dXJucyB0aGUgYWxpYXMgb2YgdGhlIHNwZWNpZmllZCBwYWdlcyByb290IHBhcmVudC4gUmV0dXJucyBhbiBlbXB0eSBzdHJpbmcgaWYgdGhlcmUgaXMgbm8gcm9vdCBwYXJlbnQuPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byBmaW5kIHRoZSByb290IHBhcmVudCBvZi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT5UaGUgcm9vdCBwYXJlbnQgcGFnZSBhbGlhcyBpcyB7JGNnc2ltcGxlLT5nZXRfcm9vdF9hbGlhcygpfTwvcHJlPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPmdldF9wYWdlX3RpdGxlPC9zdHJvbmc+KFskYWxpYXNdLFskYXNzaWduXSkNCiAgICA8cD5SZXR1cm5zIHRoZSB0aXRsZSBvZiB0aGUgc3BlY2lmaWVkIHBhZ2UuPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byBmaW5kIHRoZSB0aXRsZSBvZi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT5UaGUgdGl0bGUgb2YgdGhlIGN1cnJlbnQgcGFnZSBpcyB7JGNnc2ltcGxlLT5nZXRfcGFnZV90aXRsZSgpfTwvcHJlPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPmdldF9wYWdlX21lbnV0ZXh0PC9zdHJvbmc+KFskYWxpYXNdLFskYXNzaWduXSkNCiAgICA8cD5SZXR1cm5zIHRoZSBtZW51dGV4dCBvZiB0aGUgc3BlY2lmaWVkIHBhZ2UuPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPlskYWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byBmaW5kIHRoZSB0aXRsZSBvZi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPg0KICAgICAgIDwvdWw+ICANCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT5UaGUgbWVudXRleHQgb2YgdGhlIGN1cnJlbnQgcGFnZSBpcyB7JGNnc2ltcGxlLT5nZXRfcGFnZV90aXRsZSgpfTwvcHJlPg0KICAgIDwvcD4NCjwvbGk+DQoNCjxsaT48c3Ryb25nPmhhc19jaGlsZHJlbjwvc3Ryb25nPihbJGFsaWFzXSxbJGFzc2lnbl0pDQogICAgPHA+VGVzdCBpZiB0aGUgc3BlY2lmaWVkIHBhZ2UgaGFzIGNoaWxkcmVuLjwvcD4NCiAgICA8cD5Bcmd1bWVudHM6DQogICAgICAgPHVsPg0KICAgICAgIDxsaT5bJGFsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgdG8gdGVzdC4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+eyRjZ3NpbXBsZS0+aGFzX2NoaWxkcmVuKCYjMDM5OyYjMDM5OywkaGFzX2NoaWxkcmVuKX17aWYgJGhhc19jaGlsZHJlbn1UaGUgY3VycmVudCBwYWdlIGhhcyBjaGlsZHJlbntlbHNlfVRoZSBjdXJyZW50IHBhZ2UgaGFzIG5vIGNoaWxkcmVuey9pZn08L3ByZT4NCiAgICA8L3A+DQo8L2xpPg0KDQo8bGk+PHN0cm9uZz5nZXRfY2hpbGRyZW48L3N0cm9uZz4oWyRhbGlhc10sWyRzaG93aW5hY3RpdmVdLFskYXNzaWduXSkNCiAgIDxwPlJldHVybiBhbiBhcnJheSBjb250YWluaW5nIGluZm9ybWF0aW9uIGFib3V0IGEgcGFnZXMgY2hpbGRyZW4gKGlmIGFueSk8L3A+DQogICAgPHA+QXJndW1lbnRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+WyRhbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIHRlc3QuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPg0KICAgICAgIDxsaT5bJHNob3dpbmFjdGl2ZV0gLSAob3B0aW9uYWwpIFdldGhlciBpbmFjdGl2ZSBwYWdlcyBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlIHJlc3VsdCAoZGVmYXVsdHMgdG8gZmFsc2UpLjwvbGk+DQogICAgICAgPGxpPlskYXNzaWduXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4NCiAgICAgICA8L3VsPiAgDQogICAgPGJyLz48L3A+DQogICAgPHA+RmllbGRzOg0KICAgICAgIDx1bD4NCiAgICAgICA8bGk+YWxpYXMgLSB0aGUgcGFnZSBhbGlhcyBvZiB0aGUgY2hpbGQ8L2xpPg0KICAgICAgIDxsaT5pZCAtIHRoZSBwYWdlIGlkIG9mIHRoZSBjaGlsZDwvbGk+DQogICAgICAgPGxpPnRpdGxlIC0gdGhlIHBhZ2UgaWQgb2YgdGhlIGNoaWxkPC9saT4NCiAgICAgICA8bGk+bWVudXRleHQgLSB0aGUgbWVudSB0ZXh0IG9mIHRoZSBjaGlsZDwvbGk+DQogICAgICAgPC91bD4NCiAgICA8YnIvPjwvcD4NCiAgICA8cD5FeGFtcGxlOjxici8+DQogICAgPHByZT4NCnskY2dzaW1wbGUtPmdldF9jaGlsZHJlbigmIzAzOTsmIzAzOTssJiMwMzk7JiMwMzk7LCRjaGlsZHJlbil9DQp7aWYgY291bnQoJGNoaWxkcmVuKX0NCiAgIHtmb3JlYWNoIGZyb209JGNoaWxkcmVuIGl0ZW09JiMwMzk7Y2hpbGQmIzAzOTt9DQogICAgICB7aWYgJGNoaWxkLnNob3dfaW5fbWVudX0NCiAgICAgICAgQ2hpbGQ6ICBpZCA9IHskY2hpbGQuaWR9IGFsaWFzID0geyRjaGlsZC5hbGlhc308YnIvPg0KICAgICAgey9pZn0NCiAgIHsvZm9yZWFjaH0NCnsvaWZ9DQogICAgPC9wcmU+DQogICAgPC9wPg0KPC9saT4NCg0KICAgIDxsaT48c3Ryb25nPmdldF9wYWdlX2NvbnRlbnQ8L3N0cm9uZz4oJGFsaWFzLFskYmxvY2tdLFskYXNzaWduXSkNCiAgICA8cD5SZXR1cm5zIHRoZSB0ZXh0IG9mIGEgc3BlY2lmaWMgY29udGVudCBibG9jayBvZiBhbm90aGVyIHBhZ2UuPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPiRhbGlhcyAtIFRoZSBwYWdlIGFsaWFzIHRvIGV4dHJhY3QgY29udGVudCBmcm9tLjwvbGk+DQogICAgICAgPGxpPlskYmxvY2tdIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiB0aGUgY29udGVudCBibG9jayBpbiB0aGUgc3BlY2lmaWVkIHBhZ2UuICBpZiB0aGlzIHZhcmlhYmxlIGlzIG5vdCBzcGVjaWZpZWQsICYjMDM5O2NvbnRlbnRfZW4mIzAzOTsgaXMgYXNzdW1lZC48L2xpPg0KICAgICAgIDxsaT5bJGFzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+DQogICAgICAgPC91bD4gIA0KICAgIDxici8+PC9wPg0KICAgIDxwPkV4YW1wbGU6PGJyLz4NCiAgICA8cHJlPlRoZSB0aXRsZSBvZiB0aGUgY3VycmVudCBwYWdlIGlzIHskY2dzaW1wbGUtPmdldF9wYWdlX3RpdGxlKCl9PC9wcmU+DQogICAgPC9wPg0KPC9saT4NCjwvdWw+DQo8aDQ+T3RoZXIgU21hcnR5IGZ1bmN0aW9uczwvaDQ+DQo8dWw+DQogICAgPGxpPjxzdHJvbmc+e21vZHVsZV9hY3Rpb25fbGlua308L3N0cm9uZz4NCiAgICA8cD5BIHNtYXJ0eSBwbHVnaW4gdGhhdCBjYW4gY3JlYXRlIGEgbGluayB0byBhIG1vZHVsZSBhY3Rpb24uPC9wPg0KICAgIDxwPkFyZ3VtZW50czoNCiAgICAgICA8dWw+DQogICAgICAgPGxpPm1vZHVsZSAtIFRoZSBtb2R1bGUgdG8gY3JlYXRlIGEgbGluayB0bzwvbGk+DQogICAgICAgPGxpPmFjdGlvbiAoZGVmYXVsdCkgLSBUaGUgYWN0aW9uIHRvIGNhbGwgd2l0aGluIHRoZSBtb2R1bGU8L2xpPg0KICAgICAgIDxsaT50ZXh0IC0gVGhlIHRleHQgdG8gcHV0IGluIHRoZSBsaW5rPC9saT4NCiAgICAgICA8bGk+cGFnZSAtIFNwZWNpZnkgdGhlIGRlc3RpbmF0aW9uIHBhZ2U8L2xpPg0KICAgICAgIDxsaT51cmxvbmx5IC0gSW5zdGVhZCBvZiBnZW5lcmF0aW5nIGEgbGluaywgZ2VuZXJhdGUganVzdCB0aGUgdXJsPC9saT4NCiAgICAgICA8bGk+Y29uZm1lc3NhZ2UgLSBBIGNvbmZpcm1hdGlvbiBtZXNzYWdlIHRvIGRpc3BsYXkgd2hlbiB0aGUgbGluayBpcyBjbGlja2VkLjwvbGk+DQogICAgICAgPGxpPmltYWdlIC0gQW4gaW1hZ2UgdG8gdXNlIG9uIHRoZSBsaW5rPC9saT4NCiAgICAgICA8bGk+aW1hZ2Vvbmx5IC0gSWYgYW4gaW1hZ2UgaXMgc3BlY2lmaWVkLCBjcmVhdGUgYSBsaW5rIG9ubHkgY29uc2lzdGluZyBvZiB0aGUgaW1hZ2UuICBUaGUgdGV4dCB3aWxsIGJlIHVzZWQgZm9yIHRoZSB0aXRsZSBhdHRyaWJ1dGU8L2xpPg0KICAgICAgIDwvdWw+DQogICAgPGJyLz48L3A+DQogICAgPHA+QW55IG90aGVyIGFyZ3VtZW50cyB0byB0aGUgc21hcnR5IHBsdWdpbiB3aWxsIGJlIGFkZGVkIHRvIHRoZSBVUkwgZ2VuZXJhdGVkLjwvcD4gICA8cD5FeGFtcGxlOg0KPHByZT57bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0mIzAzOTtOZXdzJiMwMzk7IGFjdGlvbj0mIzAzOTtmZXN1Ym1pdCYjMDM5OyB0ZXh0PSYjMDM5O1N1Ym1pdCBhIE5ldyBOZXdzIEFydGljbGUmIzAzOTt9PC9wcmU+PC9wPjwvbGk+DQoNCiAgICA8bGk+PHN0cm9uZz57Y2dyZXBlYXR9PC9zdHJvbmc+DQogICAgPHA+QW5vdGhlciBzbWFydHkgcGx1Z2luIHRoYXQgd2lsbCBhbGxvdyByZXBlYXRpbmcgdGV4dDwvcD4NCiAgICA8cD5Bcmd1bWVudHM6PC9wPg0KICAgICAgPHVsPg0KICAgICAgICA8bGk+dGV4dCAtIFRoZSB0ZXh0IHRvIGJlIHJlcGVhdGVkPC9saT4NCiAgICAgICAgPGxpPmNvdW50IC0gVGhlIG51bWJlciBvZiB0aW1lcyBpdCBzaG91bGQgYmUgcmVwZWF0ZWQ8L2xpPg0KICAgICAgICA8bGk+YXNzaWduIC0gQXNzaWduIHRoZSBvdXRwdXQgdG8gdGhlIHNwZWNpZmllZCBzbWFydHkgdmFyaWFibGU8L2xpPg0KICAgICAgPC91bD4NCiAgICA8YnIvPg0KICAgIDxwPkV4YW1wbGU6IDxwcmU+e2NncmVwZWF0IHRleHQ9JiMwMzk7dGhpcyYjMDM5OyBjb3VudD0mIzAzOTs1JiMwMzk7fTwvcHJlPjwvcD4NCiAgICA8L2xpPg0KPC91bD4NCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+PGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQ2FsZ3V5cy1TaW1wbGUtU21hcnR5IHZlcmt0eWcnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdDR1NpbXBsZVNtYXJ0eSAmYXVtbDtyIG51IGluc3RhbGxlcmFkJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdDR1NpbXBsZVNtYXJ0eSAmYXVtbDtyIG51IGJvcnR0YWdlbic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE4NDQ4NTQzMjY1NTczNzgwMDAuMTIyMDcxMjAxNi4xMjMzNDc5NTk2LjEyMzM1MDUzMDMuMzEzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTIzMzUwNTMwMy4zMTMuMzAudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWZvcnVtLmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU2ltcGxlU21hcnR5IChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRoYXQgcHJvdmlkZXMgc2ltcGxlIHNtYXJ0eQojICBtZXRob2RzIGFuZCBmdW5jdGlvbnMgdG8gZWFzZSBkZXZlbG9waW5nIENNUyBNYWRlIHNpbXBsZSBwb3dlcmVkCiMgIHdlYnNpdGVzLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCmlmKCB2ZXJzaW9uX2NvbXBhcmUocGhwdmVyc2lvbigpLCc1LjQuMTEnKSA8IDAgKSB7CiAgICByZXR1cm4gIk1pbmltdW0gUEhQIHZlcnNpb24gb2YgNS40LjExIHJlcXVpcmVkIjsKfQoKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU2ltcGxlU21hcnR5IChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRoYXQgcHJvdmlkZXMgc2ltcGxlIHNtYXJ0eQojICBtZXRob2RzIGFuZCBmdW5jdGlvbnMgdG8gZWFzZSBkZXZlbG9waW5nIENNUyBNYWRlIHNpbXBsZSBwb3dlcmVkCiMgIHdlYnNpdGVzLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCmlmKCB2ZXJzaW9uX2NvbXBhcmUocGhwdmVyc2lvbigpLCc1LjQuMTEnKSA8IDAgKSB7CiAgICByZXR1cm4gIk1pbmltdW0gUEhQIHZlcnNpb24gb2YgNS40LjExIHJlcXVpcmVkIjsKfQoKPz4=]]></data>
	</file>
</module>
