<?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>CMSForms</name>
	<version>0.3.2</version>
  <mincmsversion>1.10.3</mincmsversion>
	<help><![CDATA[PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PC91bD4=]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIgJmx0O2N5YmVydG90b3BoZUBnbWFpbC5jb20mZ3Q7PGJyIC8+PGJyIC8+VmVyc2lvbjogMC4zLjI8YnIgLz4=]]></about>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/COMMIT_EDITMSG</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Q01TIDEuMTAK]]></data>
	</file>
	<file>
	  <filename>/.git/config</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[W2NvcmVdCglyZXBvc2l0b3J5Zm9ybWF0dmVyc2lvbiA9IDAKCWZpbGVtb2RlID0gdHJ1ZQoJYmFyZSA9IGZhbHNlCglsb2dhbGxyZWZ1cGRhdGVzID0gdHJ1ZQoJaWdub3JlY2FzZSA9IHRydWUKW3JlbW90ZSAib3JpZ2luIl0KCXVybCA9IGdpdEBnaXRodWIuY29tOnRvdG9waGUvQ01TRm9ybXMuZ2l0CglmZXRjaCA9ICtyZWZzL2hlYWRzLyo6cmVmcy9yZW1vdGVzL29yaWdpbi8qClticmFuY2ggIm1hc3RlciJdCglyZW1vdGUgPSBvcmlnaW4KCW1lcmdlID0gcmVmcy9oZWFkcy9tYXN0ZXIK]]></data>
	</file>
	<file>
	  <filename>/.git/description</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[VW5uYW1lZCByZXBvc2l0b3J5OyBlZGl0IHRoaXMgZmlsZSAnZGVzY3JpcHRpb24nIHRvIG5hbWUgdGhlIHJlcG9zaXRvcnkuCg==]]></data>
	</file>
	<file>
	  <filename>/.git/FETCH_HEAD</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[M2Y1ZWRkYzg2OTZjMTIyYjgzYTdmYzgwMzhiODcxMjgxNzRkOGIwNQkJYnJhbmNoICdtYXN0ZXInIG9mIGdpdGh1Yi5jb206dG90b3BoZS9DTVNGb3Jtcwo=]]></data>
	</file>
	<file>
	  <filename>/.git/HEAD</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[cmVmOiByZWZzL2hlYWRzL21hc3Rlcgo=]]></data>
	</file>
	<file>
	  <filename>/.git/hooks/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/hooks/applypatch-msg.sample</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyEvYmluL3NoCiMKIyBBbiBleGFtcGxlIGhvb2sgc2NyaXB0IHRvIGNoZWNrIHRoZSBjb21taXQgbG9nIG1lc3NhZ2UgdGFrZW4gYnkKIyBhcHBseXBhdGNoIGZyb20gYW4gZS1tYWlsIG1lc3NhZ2UuCiMKIyBUaGUgaG9vayBzaG91bGQgZXhpdCB3aXRoIG5vbi16ZXJvIHN0YXR1cyBhZnRlciBpc3N1aW5nIGFuCiMgYXBwcm9wcmlhdGUgbWVzc2FnZSBpZiBpdCB3YW50cyB0byBzdG9wIHRoZSBjb21taXQuICBUaGUgaG9vayBpcwojIGFsbG93ZWQgdG8gZWRpdCB0aGUgY29tbWl0IG1lc3NhZ2UgZmlsZS4KIwojIFRvIGVuYWJsZSB0aGlzIGhvb2ssIHJlbmFtZSB0aGlzIGZpbGUgdG8gImFwcGx5cGF0Y2gtbXNnIi4KCi4gZ2l0LXNoLXNldHVwCnRlc3QgLXggIiRHSVRfRElSL2hvb2tzL2NvbW1pdC1tc2ciICYmCglleGVjICIkR0lUX0RJUi9ob29rcy9jb21taXQtbXNnIiAkezErIiRAIn0KOgo=]]></data>
	</file>
	<file>
	  <filename>/.git/hooks/commit-msg.sample</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyEvYmluL3NoCiMKIyBBbiBleGFtcGxlIGhvb2sgc2NyaXB0IHRvIGNoZWNrIHRoZSBjb21taXQgbG9nIG1lc3NhZ2UuCiMgQ2FsbGVkIGJ5ICJnaXQgY29tbWl0IiB3aXRoIG9uZSBhcmd1bWVudCwgdGhlIG5hbWUgb2YgdGhlIGZpbGUKIyB0aGF0IGhhcyB0aGUgY29tbWl0IG1lc3NhZ2UuICBUaGUgaG9vayBzaG91bGQgZXhpdCB3aXRoIG5vbi16ZXJvCiMgc3RhdHVzIGFmdGVyIGlzc3VpbmcgYW4gYXBwcm9wcmlhdGUgbWVzc2FnZSBpZiBpdCB3YW50cyB0byBzdG9wIHRoZQojIGNvbW1pdC4gIFRoZSBob29rIGlzIGFsbG93ZWQgdG8gZWRpdCB0aGUgY29tbWl0IG1lc3NhZ2UgZmlsZS4KIwojIFRvIGVuYWJsZSB0aGlzIGhvb2ssIHJlbmFtZSB0aGlzIGZpbGUgdG8gImNvbW1pdC1tc2ciLgoKIyBVbmNvbW1lbnQgdGhlIGJlbG93IHRvIGFkZCBhIFNpZ25lZC1vZmYtYnkgbGluZSB0byB0aGUgbWVzc2FnZS4KIyBEb2luZyB0aGlzIGluIGEgaG9vayBpcyBhIGJhZCBpZGVhIGluIGdlbmVyYWwsIGJ1dCB0aGUgcHJlcGFyZS1jb21taXQtbXNnCiMgaG9vayBpcyBtb3JlIHN1aXRlZCB0byBpdC4KIwojIFNPQj0kKGdpdCB2YXIgR0lUX0FVVEhPUl9JREVOVCB8IHNlZCAtbiAncy9eXCguKj5cKS4qJC9TaWduZWQtb2ZmLWJ5OiBcMS9wJykKIyBncmVwIC1xcyAiXiRTT0IiICIkMSIgfHwgZWNobyAiJFNPQiIgPj4gIiQxIgoKIyBUaGlzIGV4YW1wbGUgY2F0Y2hlcyBkdXBsaWNhdGUgU2lnbmVkLW9mZi1ieSBsaW5lcy4KCnRlc3QgIiIgPSAiJChncmVwICdeU2lnbmVkLW9mZi1ieTogJyAiJDEiIHwKCSBzb3J0IHwgdW5pcSAtYyB8IHNlZCAtZSAnL15bIAldKjFbIAldL2QnKSIgfHwgewoJZWNobyA+JjIgRHVwbGljYXRlIFNpZ25lZC1vZmYtYnkgbGluZXMuCglleGl0IDEKfQo=]]></data>
	</file>
	<file>
	  <filename>/.git/hooks/post-commit.sample</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyEvYmluL3NoCiMKIyBBbiBleGFtcGxlIGhvb2sgc2NyaXB0IHRoYXQgaXMgY2FsbGVkIGFmdGVyIGEgc3VjY2Vzc2Z1bAojIGNvbW1pdCBpcyBtYWRlLgojCiMgVG8gZW5hYmxlIHRoaXMgaG9vaywgcmVuYW1lIHRoaXMgZmlsZSB0byAicG9zdC1jb21taXQiLgoKOiBOb3RoaW5nCg==]]></data>
	</file>
	<file>
	  <filename>/.git/hooks/post-receive.sample</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyEvYmluL3NoCiMKIyBBbiBleGFtcGxlIGhvb2sgc2NyaXB0IGZvciB0aGUgInBvc3QtcmVjZWl2ZSIgZXZlbnQuCiMKIyBUaGUgInBvc3QtcmVjZWl2ZSIgc2NyaXB0IGlzIHJ1biBhZnRlciByZWNlaXZlLXBhY2sgaGFzIGFjY2VwdGVkIGEgcGFjawojIGFuZCB0aGUgcmVwb3NpdG9yeSBoYXMgYmVlbiB1cGRhdGVkLiAgSXQgaXMgcGFzc2VkIGFyZ3VtZW50cyBpbiB0aHJvdWdoCiMgc3RkaW4gaW4gdGhlIGZvcm0KIyAgPG9sZHJldj4gPG5ld3Jldj4gPHJlZm5hbWU+CiMgRm9yIGV4YW1wbGU6CiMgIGFhNDUzMjE2ZDFiM2U0OWU3ZjZmOTg0NDFmYTU2OTQ2ZGRjZDZhMjAgNjhmN2FiZjRlNmY5MjI4MDc4ODlmNTJiYzA0M2VjZDMxYjc5ZjgxNCByZWZzL2hlYWRzL21hc3RlcgojCiMgc2VlIGNvbnRyaWIvaG9va3MvIGZvciBhIHNhbXBsZSwgb3IgdW5jb21tZW50IHRoZSBuZXh0IGxpbmUgYW5kCiMgcmVuYW1lIHRoZSBmaWxlIHRvICJwb3N0LXJlY2VpdmUiLgoKIy4gL3Vzci9zaGFyZS9kb2MvZ2l0LWNvcmUvY29udHJpYi9ob29rcy9wb3N0LXJlY2VpdmUtZW1haWwK]]></data>
	</file>
	<file>
	  <filename>/.git/hooks/post-update.sample</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyEvYmluL3NoCiMKIyBBbiBleGFtcGxlIGhvb2sgc2NyaXB0IHRvIHByZXBhcmUgYSBwYWNrZWQgcmVwb3NpdG9yeSBmb3IgdXNlIG92ZXIKIyBkdW1iIHRyYW5zcG9ydHMuCiMKIyBUbyBlbmFibGUgdGhpcyBob29rLCByZW5hbWUgdGhpcyBmaWxlIHRvICJwb3N0LXVwZGF0ZSIuCgpleGVjIGdpdCB1cGRhdGUtc2VydmVyLWluZm8K]]></data>
	</file>
	<file>
	  <filename>/.git/hooks/pre-applypatch.sample</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyEvYmluL3NoCiMKIyBBbiBleGFtcGxlIGhvb2sgc2NyaXB0IHRvIHZlcmlmeSB3aGF0IGlzIGFib3V0IHRvIGJlIGNvbW1pdHRlZAojIGJ5IGFwcGx5cGF0Y2ggZnJvbSBhbiBlLW1haWwgbWVzc2FnZS4KIwojIFRoZSBob29rIHNob3VsZCBleGl0IHdpdGggbm9uLXplcm8gc3RhdHVzIGFmdGVyIGlzc3VpbmcgYW4KIyBhcHByb3ByaWF0ZSBtZXNzYWdlIGlmIGl0IHdhbnRzIHRvIHN0b3AgdGhlIGNvbW1pdC4KIwojIFRvIGVuYWJsZSB0aGlzIGhvb2ssIHJlbmFtZSB0aGlzIGZpbGUgdG8gInByZS1hcHBseXBhdGNoIi4KCi4gZ2l0LXNoLXNldHVwCnRlc3QgLXggIiRHSVRfRElSL2hvb2tzL3ByZS1jb21taXQiICYmCglleGVjICIkR0lUX0RJUi9ob29rcy9wcmUtY29tbWl0IiAkezErIiRAIn0KOgo=]]></data>
	</file>
	<file>
	  <filename>/.git/hooks/pre-commit.sample</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyEvYmluL3NoCiMKIyBBbiBleGFtcGxlIGhvb2sgc2NyaXB0IHRvIHZlcmlmeSB3aGF0IGlzIGFib3V0IHRvIGJlIGNvbW1pdHRlZC4KIyBDYWxsZWQgYnkgImdpdCBjb21taXQiIHdpdGggbm8gYXJndW1lbnRzLiAgVGhlIGhvb2sgc2hvdWxkCiMgZXhpdCB3aXRoIG5vbi16ZXJvIHN0YXR1cyBhZnRlciBpc3N1aW5nIGFuIGFwcHJvcHJpYXRlIG1lc3NhZ2UgaWYKIyBpdCB3YW50cyB0byBzdG9wIHRoZSBjb21taXQuCiMKIyBUbyBlbmFibGUgdGhpcyBob29rLCByZW5hbWUgdGhpcyBmaWxlIHRvICJwcmUtY29tbWl0Ii4KCmlmIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgSEVBRCA+L2Rldi9udWxsIDI+JjEKdGhlbgoJYWdhaW5zdD1IRUFECmVsc2UKCSMgSW5pdGlhbCBjb21taXQ6IGRpZmYgYWdhaW5zdCBhbiBlbXB0eSB0cmVlIG9iamVjdAoJYWdhaW5zdD00YjgyNWRjNjQyY2I2ZWI5YTA2MGU1NGJmOGQ2OTI4OGZiZWU0OTA0CmZpCgojIElmIHlvdSB3YW50IHRvIGFsbG93IG5vbi1hc2NpaSBmaWxlbmFtZXMgc2V0IHRoaXMgdmFyaWFibGUgdG8gdHJ1ZS4KYWxsb3dub25hc2NpaT0kKGdpdCBjb25maWcgaG9va3MuYWxsb3dub25hc2NpaSkKCiMgQ3Jvc3MgcGxhdGZvcm0gcHJvamVjdHMgdGVuZCB0byBhdm9pZCBub24tYXNjaWkgZmlsZW5hbWVzOyBwcmV2ZW50CiMgdGhlbSBmcm9tIGJlaW5nIGFkZGVkIHRvIHRoZSByZXBvc2l0b3J5LiBXZSBleHBsb2l0IHRoZSBmYWN0IHRoYXQgdGhlCiMgcHJpbnRhYmxlIHJhbmdlIHN0YXJ0cyBhdCB0aGUgc3BhY2UgY2hhcmFjdGVyIGFuZCBlbmRzIHdpdGggdGlsZGUuCmlmIFsgIiRhbGxvd25vbmFzY2lpIiAhPSAidHJ1ZSIgXSAmJgoJIyBOb3RlIHRoYXQgdGhlIHVzZSBvZiBicmFja2V0cyBhcm91bmQgYSB0ciByYW5nZSBpcyBvayBoZXJlLCAoaXQncwoJIyBldmVuIHJlcXVpcmVkLCBmb3IgcG9ydGFiaWxpdHkgdG8gU29sYXJpcyAxMCdzIC91c3IvYmluL3RyKSwgc2luY2UKCSMgdGhlIHNxdWFyZSBicmFja2V0IGJ5dGVzIGhhcHBlbiB0byBmYWxsIGluIHRoZSBkZXNpZ25hdGVkIHJhbmdlLgoJdGVzdCAiJChnaXQgZGlmZiAtLWNhY2hlZCAtLW5hbWUtb25seSAtLWRpZmYtZmlsdGVyPUEgLXogJGFnYWluc3QgfAoJICBMQ19BTEw9QyB0ciAtZCAnWyAtfl1cMCcpIgp0aGVuCgllY2hvICJFcnJvcjogQXR0ZW1wdCB0byBhZGQgYSBub24tYXNjaWkgZmlsZSBuYW1lLiIKCWVjaG8KCWVjaG8gIlRoaXMgY2FuIGNhdXNlIHByb2JsZW1zIGlmIHlvdSB3YW50IHRvIHdvcmsiCgllY2hvICJ3aXRoIHBlb3BsZSBvbiBvdGhlciBwbGF0Zm9ybXMuIgoJZWNobwoJZWNobyAiVG8gYmUgcG9ydGFibGUgaXQgaXMgYWR2aXNhYmxlIHRvIHJlbmFtZSB0aGUgZmlsZSAuLi4iCgllY2hvCgllY2hvICJJZiB5b3Uga25vdyB3aGF0IHlvdSBhcmUgZG9pbmcgeW91IGNhbiBkaXNhYmxlIHRoaXMiCgllY2hvICJjaGVjayB1c2luZzoiCgllY2hvCgllY2hvICIgIGdpdCBjb25maWcgaG9va3MuYWxsb3dub25hc2NpaSB0cnVlIgoJZWNobwoJZXhpdCAxCmZpCgpleGVjIGdpdCBkaWZmLWluZGV4IC0tY2hlY2sgLS1jYWNoZWQgJGFnYWluc3QgLS0K]]></data>
	</file>
	<file>
	  <filename>/.git/hooks/pre-rebase.sample</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyEvYmluL3NoCiMKIyBDb3B5cmlnaHQgKGMpIDIwMDYsIDIwMDggSnVuaW8gQyBIYW1hbm8KIwojIFRoZSAicHJlLXJlYmFzZSIgaG9vayBpcyBydW4ganVzdCBiZWZvcmUgImdpdCByZWJhc2UiIHN0YXJ0cyBkb2luZwojIGl0cyBqb2IsIGFuZCBjYW4gcHJldmVudCB0aGUgY29tbWFuZCBmcm9tIHJ1bm5pbmcgYnkgZXhpdGluZyB3aXRoCiMgbm9uLXplcm8gc3RhdHVzLgojCiMgVGhlIGhvb2sgaXMgY2FsbGVkIHdpdGggdGhlIGZvbGxvd2luZyBwYXJhbWV0ZXJzOgojCiMgJDEgLS0gdGhlIHVwc3RyZWFtIHRoZSBzZXJpZXMgd2FzIGZvcmtlZCBmcm9tLgojICQyIC0tIHRoZSBicmFuY2ggYmVpbmcgcmViYXNlZCAob3IgZW1wdHkgd2hlbiByZWJhc2luZyB0aGUgY3VycmVudCBicmFuY2gpLgojCiMgVGhpcyBzYW1wbGUgc2hvd3MgaG93IHRvIHByZXZlbnQgdG9waWMgYnJhbmNoZXMgdGhhdCBhcmUgYWxyZWFkeQojIG1lcmdlZCB0byAnbmV4dCcgYnJhbmNoIGZyb20gZ2V0dGluZyByZWJhc2VkLCBiZWNhdXNlIGFsbG93aW5nIGl0CiMgd291bGQgcmVzdWx0IGluIHJlYmFzaW5nIGFscmVhZHkgcHVibGlzaGVkIGhpc3RvcnkuCgpwdWJsaXNoPW5leHQKYmFzZWJyYW5jaD0iJDEiCmlmIHRlc3QgIiQjIiA9IDIKdGhlbgoJdG9waWM9InJlZnMvaGVhZHMvJDIiCmVsc2UKCXRvcGljPWBnaXQgc3ltYm9saWMtcmVmIEhFQURgIHx8CglleGl0IDAgOyMgd2UgZG8gbm90IGludGVycnVwdCByZWJhc2luZyBkZXRhY2hlZCBIRUFECmZpCgpjYXNlICIkdG9waWMiIGluCnJlZnMvaGVhZHMvPz8vKikKCTs7CiopCglleGl0IDAgOyMgd2UgZG8gbm90IGludGVycnVwdCBvdGhlcnMuCgk7Owplc2FjCgojIE5vdyB3ZSBhcmUgZGVhbGluZyB3aXRoIGEgdG9waWMgYnJhbmNoIGJlaW5nIHJlYmFzZWQKIyBvbiB0b3Agb2YgbWFzdGVyLiAgSXMgaXQgT0sgdG8gcmViYXNlIGl0PwoKIyBEb2VzIHRoZSB0b3BpYyByZWFsbHkgZXhpc3Q/CmdpdCBzaG93LXJlZiAtcSAiJHRvcGljIiB8fCB7CgllY2hvID4mMiAiTm8gc3VjaCBicmFuY2ggJHRvcGljIgoJZXhpdCAxCn0KCiMgSXMgdG9waWMgZnVsbHkgbWVyZ2VkIHRvIG1hc3Rlcj8Kbm90X2luX21hc3Rlcj1gZ2l0IHJldi1saXN0IC0tcHJldHR5PW9uZWxpbmUgXm1hc3RlciAiJHRvcGljImAKaWYgdGVzdCAteiAiJG5vdF9pbl9tYXN0ZXIiCnRoZW4KCWVjaG8gPiYyICIkdG9waWMgaXMgZnVsbHkgbWVyZ2VkIHRvIG1hc3RlcjsgYmV0dGVyIHJlbW92ZSBpdC4iCglleGl0IDEgOyMgd2UgY291bGQgYWxsb3cgaXQsIGJ1dCB0aGVyZSBpcyBubyBwb2ludC4KZmkKCiMgSXMgdG9waWMgZXZlciBtZXJnZWQgdG8gbmV4dD8gIElmIHNvIHlvdSBzaG91bGQgbm90IGJlIHJlYmFzaW5nIGl0Lgpvbmx5X25leHRfMT1gZ2l0IHJldi1saXN0IF5tYXN0ZXIgIl4kdG9waWMiICR7cHVibGlzaH0gfCBzb3J0YApvbmx5X25leHRfMj1gZ2l0IHJldi1saXN0IF5tYXN0ZXIgICAgICAgICAgICR7cHVibGlzaH0gfCBzb3J0YAppZiB0ZXN0ICIkb25seV9uZXh0XzEiID0gIiRvbmx5X25leHRfMiIKdGhlbgoJbm90X2luX3RvcGljPWBnaXQgcmV2LWxpc3QgIl4kdG9waWMiIG1hc3RlcmAKCWlmIHRlc3QgLXogIiRub3RfaW5fdG9waWMiCgl0aGVuCgkJZWNobyA+JjIgIiR0b3BpYyBpcyBhbHJlYWR5IHVwLXRvLWRhdGUgd2l0aCBtYXN0ZXIiCgkJZXhpdCAxIDsjIHdlIGNvdWxkIGFsbG93IGl0LCBidXQgdGhlcmUgaXMgbm8gcG9pbnQuCgllbHNlCgkJZXhpdCAwCglmaQplbHNlCglub3RfaW5fbmV4dD1gZ2l0IHJldi1saXN0IC0tcHJldHR5PW9uZWxpbmUgXiR7cHVibGlzaH0gIiR0b3BpYyJgCgkvb3B0L2xvY2FsL2Jpbi9wZXJsIC1lICcKCQlteSAkdG9waWMgPSAkQVJHVlswXTsKCQlteSAkbXNnID0gIiogJHRvcGljIGhhcyBjb21taXRzIGFscmVhZHkgbWVyZ2VkIHRvIHB1YmxpYyBicmFuY2g6XG4iOwoJCW15ICglbm90X2luX25leHQpID0gbWFwIHsKCQkJL14oWzAtOWEtZl0rKSAvOwoJCQkoJDEgPT4gMSk7CgkJfSBzcGxpdCgvXG4vLCAkQVJHVlsxXSk7CgkJZm9yIG15ICRlbGVtIChtYXAgewoJCQkJL14oWzAtOWEtZl0rKSAoLiopJC87CgkJCQlbJDEgPT4gJDJdOwoJCQl9IHNwbGl0KC9cbi8sICRBUkdWWzJdKSkgewoJCQlpZiAoIWV4aXN0cyAkbm90X2luX25leHR7JGVsZW0tPlswXX0pIHsKCQkJCWlmICgkbXNnKSB7CgkJCQkJcHJpbnQgU1RERVJSICRtc2c7CgkJCQkJdW5kZWYgJG1zZzsKCQkJCX0KCQkJCXByaW50IFNUREVSUiAiICRlbGVtLT5bMV1cbiI7CgkJCX0KCQl9CgknICIkdG9waWMiICIkbm90X2luX25leHQiICIkbm90X2luX21hc3RlciIKCWV4aXQgMQpmaQoKZXhpdCAwCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpUaGlzIHNhbXBsZSBob29rIHNhZmVndWFyZHMgdG9waWMgYnJhbmNoZXMgdGhhdCBoYXZlIGJlZW4KcHVibGlzaGVkIGZyb20gYmVpbmcgcmV3b3VuZC4KClRoZSB3b3JrZmxvdyBhc3N1bWVkIGhlcmUgaXM6CgogKiBPbmNlIGEgdG9waWMgYnJhbmNoIGZvcmtzIGZyb20gIm1hc3RlciIsICJtYXN0ZXIiIGlzIG5ldmVyCiAgIG1lcmdlZCBpbnRvIGl0IGFnYWluIChlaXRoZXIgZGlyZWN0bHkgb3IgaW5kaXJlY3RseSkuCgogKiBPbmNlIGEgdG9waWMgYnJhbmNoIGlzIGZ1bGx5IGNvb2tlZCBhbmQgbWVyZ2VkIGludG8gIm1hc3RlciIsCiAgIGl0IGlzIGRlbGV0ZWQuICBJZiB5b3UgbmVlZCB0byBidWlsZCBvbiB0b3Agb2YgaXQgdG8gY29ycmVjdAogICBlYXJsaWVyIG1pc3Rha2VzLCBhIG5ldyB0b3BpYyBicmFuY2ggaXMgY3JlYXRlZCBieSBmb3JraW5nIGF0CiAgIHRoZSB0aXAgb2YgdGhlICJtYXN0ZXIiLiAgVGhpcyBpcyBub3Qgc3RyaWN0bHkgbmVjZXNzYXJ5LCBidXQKICAgaXQgbWFrZXMgaXQgZWFzaWVyIHRvIGtlZXAgeW91ciBoaXN0b3J5IHNpbXBsZS4KCiAqIFdoZW5ldmVyIHlvdSBuZWVkIHRvIHRlc3Qgb3IgcHVibGlzaCB5b3VyIGNoYW5nZXMgdG8gdG9waWMKICAgYnJhbmNoZXMsIG1lcmdlIHRoZW0gaW50byAibmV4dCIgYnJhbmNoLgoKVGhlIHNjcmlwdCwgYmVpbmcgYW4gZXhhbXBsZSwgaGFyZGNvZGVzIHRoZSBwdWJsaXNoIGJyYW5jaCBuYW1lCnRvIGJlICJuZXh0IiwgYnV0IGl0IGlzIHRyaXZpYWwgdG8gbWFrZSBpdCBjb25maWd1cmFibGUgdmlhCiRHSVRfRElSL2NvbmZpZyBtZWNoYW5pc20uCgpXaXRoIHRoaXMgd29ya2Zsb3csIHlvdSB3b3VsZCB3YW50IHRvIGtub3c6CgooMSkgLi4uIGlmIGEgdG9waWMgYnJhbmNoIGhhcyBldmVyIGJlZW4gbWVyZ2VkIHRvICJuZXh0Ii4gIFlvdW5nCiAgICB0b3BpYyBicmFuY2hlcyBjYW4gaGF2ZSBzdHVwaWQgbWlzdGFrZXMgeW91IHdvdWxkIHJhdGhlcgogICAgY2xlYW4gdXAgYmVmb3JlIHB1Ymxpc2hpbmcsIGFuZCB0aGluZ3MgdGhhdCBoYXZlIG5vdCBiZWVuCiAgICBtZXJnZWQgaW50byBvdGhlciBicmFuY2hlcyBjYW4gYmUgZWFzaWx5IHJlYmFzZWQgd2l0aG91dAogICAgYWZmZWN0aW5nIG90aGVyIHBlb3BsZS4gIEJ1dCBvbmNlIGl0IGlzIHB1Ymxpc2hlZCwgeW91IHdvdWxkCiAgICBub3Qgd2FudCB0byByZXdpbmQgaXQuCgooMikgLi4uIGlmIGEgdG9waWMgYnJhbmNoIGhhcyBiZWVuIGZ1bGx5IG1lcmdlZCB0byAibWFzdGVyIi4KICAgIFRoZW4geW91IGNhbiBkZWxldGUgaXQuICBNb3JlIGltcG9ydGFudGx5LCB5b3Ugc2hvdWxkIG5vdAogICAgYnVpbGQgb24gdG9wIG9mIGl0IC0tIG90aGVyIHBlb3BsZSBtYXkgYWxyZWFkeSB3YW50IHRvCiAgICBjaGFuZ2UgdGhpbmdzIHJlbGF0ZWQgdG8gdGhlIHRvcGljIGFzIHBhdGNoZXMgYWdhaW5zdCB5b3VyCiAgICAibWFzdGVyIiwgc28gaWYgeW91IG5lZWQgZnVydGhlciBjaGFuZ2VzLCBpdCBpcyBiZXR0ZXIgdG8KICAgIGZvcmsgdGhlIHRvcGljIChwZXJoYXBzIHdpdGggdGhlIHNhbWUgbmFtZSkgYWZyZXNoIGZyb20gdGhlCiAgICB0aXAgb2YgIm1hc3RlciIuCgpMZXQncyBsb29rIGF0IHRoaXMgZXhhbXBsZToKCgkJICAgby0tLW8tLS1vLS0tby0tLW8tLS1vLS0tby0tLW8tLS1vLS0tbyAibmV4dCIKCQkgIC8gICAgICAgLyAgICAgICAgICAgLyAgICAgICAgICAgLwoJCSAvICAgYS0tLWEtLS1iIEEgICAgIC8gICAgICAgICAgIC8KCQkvICAgLyAgICAgICAgICAgICAgIC8gICAgICAgICAgIC8KCSAgICAgICAvICAgLyAgIGMtLS1jLS0tYy0tLWMgQiAgICAgICAgIC8KCSAgICAgIC8gICAvICAgLyAgICAgICAgICAgICBcICAgICAgICAgLwoJICAgICAvICAgLyAgIC8gICBiLS0tYiBDICAgICBcICAgICAgIC8KCSAgICAvICAgLyAgIC8gICAvICAgICAgICAgICAgIFwgICAgIC8KICAgIC0tLW8tLS1vLS0tby0tLW8tLS1vLS0tby0tLW8tLS1vLS0tby0tLW8tLS1vICJtYXN0ZXIiCgoKQSwgQiBhbmQgQyBhcmUgdG9waWMgYnJhbmNoZXMuCgogKiBBIGhhcyBvbmUgZml4IHNpbmNlIGl0IHdhcyBtZXJnZWQgdXAgdG8gIm5leHQiLgoKICogQiBoYXMgZmluaXNoZWQuICBJdCBoYXMgYmVlbiBmdWxseSBtZXJnZWQgdXAgdG8gIm1hc3RlciIgYW5kICJuZXh0IiwKICAgYW5kIGlzIHJlYWR5IHRvIGJlIGRlbGV0ZWQuCgogKiBDIGhhcyBub3QgbWVyZ2VkIHRvICJuZXh0IiBhdCBhbGwuCgpXZSB3b3VsZCB3YW50IHRvIGFsbG93IEMgdG8gYmUgcmViYXNlZCwgcmVmdXNlIEEsIGFuZCBlbmNvdXJhZ2UKQiB0byBiZSBkZWxldGVkLgoKVG8gY29tcHV0ZSAoMSk6CgoJZ2l0IHJldi1saXN0IF5tYXN0ZXIgXnRvcGljIG5leHQKCWdpdCByZXYtbGlzdCBebWFzdGVyICAgICAgICBuZXh0CgoJaWYgdGhlc2UgbWF0Y2gsIHRvcGljIGhhcyBub3QgbWVyZ2VkIGluIG5leHQgYXQgYWxsLgoKVG8gY29tcHV0ZSAoMik6CgoJZ2l0IHJldi1saXN0IG1hc3Rlci4udG9waWMKCglpZiB0aGlzIGlzIGVtcHR5LCBpdCBpcyBmdWxseSBtZXJnZWQgdG8gIm1hc3RlciIuCg==]]></data>
	</file>
	<file>
	  <filename>/.git/hooks/prepare-commit-msg.sample</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyEvYmluL3NoCiMKIyBBbiBleGFtcGxlIGhvb2sgc2NyaXB0IHRvIHByZXBhcmUgdGhlIGNvbW1pdCBsb2cgbWVzc2FnZS4KIyBDYWxsZWQgYnkgImdpdCBjb21taXQiIHdpdGggdGhlIG5hbWUgb2YgdGhlIGZpbGUgdGhhdCBoYXMgdGhlCiMgY29tbWl0IG1lc3NhZ2UsIGZvbGxvd2VkIGJ5IHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgY29tbWl0CiMgbWVzc2FnZSdzIHNvdXJjZS4gIFRoZSBob29rJ3MgcHVycG9zZSBpcyB0byBlZGl0IHRoZSBjb21taXQKIyBtZXNzYWdlIGZpbGUuICBJZiB0aGUgaG9vayBmYWlscyB3aXRoIGEgbm9uLXplcm8gc3RhdHVzLAojIHRoZSBjb21taXQgaXMgYWJvcnRlZC4KIwojIFRvIGVuYWJsZSB0aGlzIGhvb2ssIHJlbmFtZSB0aGlzIGZpbGUgdG8gInByZXBhcmUtY29tbWl0LW1zZyIuCgojIFRoaXMgaG9vayBpbmNsdWRlcyB0aHJlZSBleGFtcGxlcy4gIFRoZSBmaXJzdCBjb21tZW50cyBvdXQgdGhlCiMgIkNvbmZsaWN0czoiIHBhcnQgb2YgYSBtZXJnZSBjb21taXQuCiMKIyBUaGUgc2Vjb25kIGluY2x1ZGVzIHRoZSBvdXRwdXQgb2YgImdpdCBkaWZmIC0tbmFtZS1zdGF0dXMgLXIiCiMgaW50byB0aGUgbWVzc2FnZSwganVzdCBiZWZvcmUgdGhlICJnaXQgc3RhdHVzIiBvdXRwdXQuICBJdCBpcwojIGNvbW1lbnRlZCBiZWNhdXNlIGl0IGRvZXNuJ3QgY29wZSB3aXRoIC0tYW1lbmQgb3Igd2l0aCBzcXVhc2hlZAojIGNvbW1pdHMuCiMKIyBUaGUgdGhpcmQgZXhhbXBsZSBhZGRzIGEgU2lnbmVkLW9mZi1ieSBsaW5lIHRvIHRoZSBtZXNzYWdlLCB0aGF0IGNhbgojIHN0aWxsIGJlIGVkaXRlZC4gIFRoaXMgaXMgcmFyZWx5IGEgZ29vZCBpZGVhLgoKY2FzZSAiJDIsJDMiIGluCiAgbWVyZ2UsKQogICAgL29wdC9sb2NhbC9iaW4vcGVybCAtaS5iYWsgLW5lICdzL14vIyAvLCBzL14jICMvIy8gaWYgL15Db25mbGljdHMvIC4uIC8jLzsgcHJpbnQnICIkMSIgOzsKCiMgLHx0ZW1wbGF0ZSwpCiMgICAvb3B0L2xvY2FsL2Jpbi9wZXJsIC1pLmJhayAtcGUgJwojICAgICAgcHJpbnQgIlxuIiAuIGBnaXQgZGlmZiAtLWNhY2hlZCAtLW5hbWUtc3RhdHVzIC1yYAojCSBpZiAvXiMvICYmICRmaXJzdCsrID09IDAnICIkMSIgOzsKCiAgKikgOzsKZXNhYwoKIyBTT0I9JChnaXQgdmFyIEdJVF9BVVRIT1JfSURFTlQgfCBzZWQgLW4gJ3MvXlwoLio+XCkuKiQvU2lnbmVkLW9mZi1ieTogXDEvcCcpCiMgZ3JlcCAtcXMgIl4kU09CIiAiJDEiIHx8IGVjaG8gIiRTT0IiID4+ICIkMSIK]]></data>
	</file>
	<file>
	  <filename>/.git/hooks/update.sample</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyEvYmluL3NoCiMKIyBBbiBleGFtcGxlIGhvb2sgc2NyaXB0IHRvIGJsb2NrcyB1bmFubm90YXRlZCB0YWdzIGZyb20gZW50ZXJpbmcuCiMgQ2FsbGVkIGJ5ICJnaXQgcmVjZWl2ZS1wYWNrIiB3aXRoIGFyZ3VtZW50czogcmVmbmFtZSBzaGExLW9sZCBzaGExLW5ldwojCiMgVG8gZW5hYmxlIHRoaXMgaG9vaywgcmVuYW1lIHRoaXMgZmlsZSB0byAidXBkYXRlIi4KIwojIENvbmZpZwojIC0tLS0tLQojIGhvb2tzLmFsbG93dW5hbm5vdGF0ZWQKIyAgIFRoaXMgYm9vbGVhbiBzZXRzIHdoZXRoZXIgdW5hbm5vdGF0ZWQgdGFncyB3aWxsIGJlIGFsbG93ZWQgaW50byB0aGUKIyAgIHJlcG9zaXRvcnkuICBCeSBkZWZhdWx0IHRoZXkgd29uJ3QgYmUuCiMgaG9va3MuYWxsb3dkZWxldGV0YWcKIyAgIFRoaXMgYm9vbGVhbiBzZXRzIHdoZXRoZXIgZGVsZXRpbmcgdGFncyB3aWxsIGJlIGFsbG93ZWQgaW4gdGhlCiMgICByZXBvc2l0b3J5LiAgQnkgZGVmYXVsdCB0aGV5IHdvbid0IGJlLgojIGhvb2tzLmFsbG93bW9kaWZ5dGFnCiMgICBUaGlzIGJvb2xlYW4gc2V0cyB3aGV0aGVyIGEgdGFnIG1heSBiZSBtb2RpZmllZCBhZnRlciBjcmVhdGlvbi4gQnkgZGVmYXVsdAojICAgaXQgd29uJ3QgYmUuCiMgaG9va3MuYWxsb3dkZWxldGVicmFuY2gKIyAgIFRoaXMgYm9vbGVhbiBzZXRzIHdoZXRoZXIgZGVsZXRpbmcgYnJhbmNoZXMgd2lsbCBiZSBhbGxvd2VkIGluIHRoZQojICAgcmVwb3NpdG9yeS4gIEJ5IGRlZmF1bHQgdGhleSB3b24ndCBiZS4KIyBob29rcy5kZW55Y3JlYXRlYnJhbmNoCiMgICBUaGlzIGJvb2xlYW4gc2V0cyB3aGV0aGVyIHJlbW90ZWx5IGNyZWF0aW5nIGJyYW5jaGVzIHdpbGwgYmUgZGVuaWVkCiMgICBpbiB0aGUgcmVwb3NpdG9yeS4gIEJ5IGRlZmF1bHQgdGhpcyBpcyBhbGxvd2VkLgojCgojIC0tLSBDb21tYW5kIGxpbmUKcmVmbmFtZT0iJDEiCm9sZHJldj0iJDIiCm5ld3Jldj0iJDMiCgojIC0tLSBTYWZldHkgY2hlY2sKaWYgWyAteiAiJEdJVF9ESVIiIF07IHRoZW4KCWVjaG8gIkRvbid0IHJ1biB0aGlzIHNjcmlwdCBmcm9tIHRoZSBjb21tYW5kIGxpbmUuIiA+JjIKCWVjaG8gIiAoaWYgeW91IHdhbnQsIHlvdSBjb3VsZCBzdXBwbHkgR0lUX0RJUiB0aGVuIHJ1biIgPiYyCgllY2hvICIgICQwIDxyZWY+IDxvbGRyZXY+IDxuZXdyZXY+KSIgPiYyCglleGl0IDEKZmkKCmlmIFsgLXogIiRyZWZuYW1lIiAtbyAteiAiJG9sZHJldiIgLW8gLXogIiRuZXdyZXYiIF07IHRoZW4KCWVjaG8gIlVzYWdlOiAkMCA8cmVmPiA8b2xkcmV2PiA8bmV3cmV2PiIgPiYyCglleGl0IDEKZmkKCiMgLS0tIENvbmZpZwphbGxvd3VuYW5ub3RhdGVkPSQoZ2l0IGNvbmZpZyAtLWJvb2wgaG9va3MuYWxsb3d1bmFubm90YXRlZCkKYWxsb3dkZWxldGVicmFuY2g9JChnaXQgY29uZmlnIC0tYm9vbCBob29rcy5hbGxvd2RlbGV0ZWJyYW5jaCkKZGVueWNyZWF0ZWJyYW5jaD0kKGdpdCBjb25maWcgLS1ib29sIGhvb2tzLmRlbnljcmVhdGVicmFuY2gpCmFsbG93ZGVsZXRldGFnPSQoZ2l0IGNvbmZpZyAtLWJvb2wgaG9va3MuYWxsb3dkZWxldGV0YWcpCmFsbG93bW9kaWZ5dGFnPSQoZ2l0IGNvbmZpZyAtLWJvb2wgaG9va3MuYWxsb3dtb2RpZnl0YWcpCgojIGNoZWNrIGZvciBubyBkZXNjcmlwdGlvbgpwcm9qZWN0ZGVzYz0kKHNlZCAtZSAnMXEnICIkR0lUX0RJUi9kZXNjcmlwdGlvbiIpCmNhc2UgIiRwcm9qZWN0ZGVzYyIgaW4KIlVubmFtZWQgcmVwb3NpdG9yeSIqIHwgIiIpCgllY2hvICIqKiogUHJvamVjdCBkZXNjcmlwdGlvbiBmaWxlIGhhc24ndCBiZWVuIHNldCIgPiYyCglleGl0IDEKCTs7CmVzYWMKCiMgLS0tIENoZWNrIHR5cGVzCiMgaWYgJG5ld3JldiBpcyAwMDAwLi4uMDAwMCwgaXQncyBhIGNvbW1pdCB0byBkZWxldGUgYSByZWYuCnplcm89IjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiCmlmIFsgIiRuZXdyZXYiID0gIiR6ZXJvIiBdOyB0aGVuCgluZXdyZXZfdHlwZT1kZWxldGUKZWxzZQoJbmV3cmV2X3R5cGU9JChnaXQgY2F0LWZpbGUgLXQgJG5ld3JldikKZmkKCmNhc2UgIiRyZWZuYW1lIiwiJG5ld3Jldl90eXBlIiBpbgoJcmVmcy90YWdzLyosY29tbWl0KQoJCSMgdW4tYW5ub3RhdGVkIHRhZwoJCXNob3J0X3JlZm5hbWU9JHtyZWZuYW1lIyNyZWZzL3RhZ3MvfQoJCWlmIFsgIiRhbGxvd3VuYW5ub3RhdGVkIiAhPSAidHJ1ZSIgXTsgdGhlbgoJCQllY2hvICIqKiogVGhlIHVuLWFubm90YXRlZCB0YWcsICRzaG9ydF9yZWZuYW1lLCBpcyBub3QgYWxsb3dlZCBpbiB0aGlzIHJlcG9zaXRvcnkiID4mMgoJCQllY2hvICIqKiogVXNlICdnaXQgdGFnIFsgLWEgfCAtcyBdJyBmb3IgdGFncyB5b3Ugd2FudCB0byBwcm9wYWdhdGUuIiA+JjIKCQkJZXhpdCAxCgkJZmkKCQk7OwoJcmVmcy90YWdzLyosZGVsZXRlKQoJCSMgZGVsZXRlIHRhZwoJCWlmIFsgIiRhbGxvd2RlbGV0ZXRhZyIgIT0gInRydWUiIF07IHRoZW4KCQkJZWNobyAiKioqIERlbGV0aW5nIGEgdGFnIGlzIG5vdCBhbGxvd2VkIGluIHRoaXMgcmVwb3NpdG9yeSIgPiYyCgkJCWV4aXQgMQoJCWZpCgkJOzsKCXJlZnMvdGFncy8qLHRhZykKCQkjIGFubm90YXRlZCB0YWcKCQlpZiBbICIkYWxsb3dtb2RpZnl0YWciICE9ICJ0cnVlIiBdICYmIGdpdCByZXYtcGFyc2UgJHJlZm5hbWUgPiAvZGV2L251bGwgMj4mMQoJCXRoZW4KCQkJZWNobyAiKioqIFRhZyAnJHJlZm5hbWUnIGFscmVhZHkgZXhpc3RzLiIgPiYyCgkJCWVjaG8gIioqKiBNb2RpZnlpbmcgYSB0YWcgaXMgbm90IGFsbG93ZWQgaW4gdGhpcyByZXBvc2l0b3J5LiIgPiYyCgkJCWV4aXQgMQoJCWZpCgkJOzsKCXJlZnMvaGVhZHMvKixjb21taXQpCgkJIyBicmFuY2gKCQlpZiBbICIkb2xkcmV2IiA9ICIkemVybyIgLWEgIiRkZW55Y3JlYXRlYnJhbmNoIiA9ICJ0cnVlIiBdOyB0aGVuCgkJCWVjaG8gIioqKiBDcmVhdGluZyBhIGJyYW5jaCBpcyBub3QgYWxsb3dlZCBpbiB0aGlzIHJlcG9zaXRvcnkiID4mMgoJCQlleGl0IDEKCQlmaQoJCTs7CglyZWZzL2hlYWRzLyosZGVsZXRlKQoJCSMgZGVsZXRlIGJyYW5jaAoJCWlmIFsgIiRhbGxvd2RlbGV0ZWJyYW5jaCIgIT0gInRydWUiIF07IHRoZW4KCQkJZWNobyAiKioqIERlbGV0aW5nIGEgYnJhbmNoIGlzIG5vdCBhbGxvd2VkIGluIHRoaXMgcmVwb3NpdG9yeSIgPiYyCgkJCWV4aXQgMQoJCWZpCgkJOzsKCXJlZnMvcmVtb3Rlcy8qLGNvbW1pdCkKCQkjIHRyYWNraW5nIGJyYW5jaAoJCTs7CglyZWZzL3JlbW90ZXMvKixkZWxldGUpCgkJIyBkZWxldGUgdHJhY2tpbmcgYnJhbmNoCgkJaWYgWyAiJGFsbG93ZGVsZXRlYnJhbmNoIiAhPSAidHJ1ZSIgXTsgdGhlbgoJCQllY2hvICIqKiogRGVsZXRpbmcgYSB0cmFja2luZyBicmFuY2ggaXMgbm90IGFsbG93ZWQgaW4gdGhpcyByZXBvc2l0b3J5IiA+JjIKCQkJZXhpdCAxCgkJZmkKCQk7OwoJKikKCQkjIEFueXRoaW5nIGVsc2UgKGlzIHRoZXJlIGFueXRoaW5nIGVsc2U/KQoJCWVjaG8gIioqKiBVcGRhdGUgaG9vazogdW5rbm93biB0eXBlIG9mIHVwZGF0ZSB0byByZWYgJHJlZm5hbWUgb2YgdHlwZSAkbmV3cmV2X3R5cGUiID4mMgoJCWV4aXQgMQoJCTs7CmVzYWMKCiMgLS0tIEZpbmlzaGVkCmV4aXQgMAo=]]></data>
	</file>
	<file>
	  <filename>/.git/index</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[RElSQwAAAAIAAAAGTqbH1AAAAABOpsfUAAAAAA4AAAUAB1lFAACBpAAAAfUAAAAUAAADJz65W8/D9o7BOSnxAE2GEmEUGgcHABNDTVNGb3Jtcy5tb2R1bGUucGhwAAAAAAAAAE6LB8oAAAAATX5GWAAAAAAOAAAFAAZDOQAAgaQAAAH1AAAAFAAAAZ1bW4hqs+H8slqgB1a5bozZWKIXtgAObGFuZy9lbl9VUy5waHAAAAAATqbHzwAAAABOpsfPAAAAAA4AAAUABp54AACBpAAAAfUAAAAUAAAq3skESTgvQ5wXQVtrH3x3goFIXgtSAB1saWIvY2xhc3Nlcy9DTVNGb3JtLmNsYXNzLnBocAAAAAAATqFrhgAAAABOoWuGAAAAAA4AAAUABosGAACBpAAAAfUAAAAUAAAUIauipOI1dPP/ZVdH+T3cLHwhNGuYACZsaWIvY2xhc3Nlcy9DTVNGb3JtVmFsaWRhdG9yLmNsYXNzLnBocAAAAABOpsYgAAAAAE6mxiAAAAAADgAABQAGsI8AAIGkAAAB9QAAABQAAGKtLphAW2e20NJCsOu+1A/I3V9BDr4AI2xpYi9jbGFzc2VzL0NNU0Zvcm1XaWRnZXQuY2xhc3MucGhwAAAAAAAAAE6T/3wAAAAATOUizgAAAAAOAAAFAAZF3gAAgaQAAAH1AAAAFAAAAm8mDGhHhFLDjGeju5IHN2qPJ2tEMAAYdGVtcGxhdGVzL2FkbWluLmZvcm0udHBsAABwZSF+9FPra17IobPLUwUTb9SYVQ==]]></data>
	</file>
	<file>
	  <filename>/.git/info/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/info/exclude</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyBnaXQgbHMtZmlsZXMgLS1vdGhlcnMgLS1leGNsdWRlLWZyb209LmdpdC9pbmZvL2V4Y2x1ZGUKIyBMaW5lcyB0aGF0IHN0YXJ0IHdpdGggJyMnIGFyZSBjb21tZW50cy4KIyBGb3IgYSBwcm9qZWN0IG1vc3RseSBpbiBDLCB0aGUgZm9sbG93aW5nIHdvdWxkIGJlIGEgZ29vZCBzZXQgb2YKIyBleGNsdWRlIHBhdHRlcm5zICh1bmNvbW1lbnQgdGhlbSBpZiB5b3Ugd2FudCB0byB1c2UgdGhlbSk6CiMgKi5bb2FdCiMgKn4K]]></data>
	</file>
	<file>
	  <filename>/.git/logs/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/logs/HEAD</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBjODgyMDdmM2I1N2QzMTQ5ZjMyZmFiNzY3OGUzNTA3NzlmZWU0MWU2IEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllciA8Y3liZXJ0b3RvcGhlQGdtYWlsLmNvbT4gMTMwNjMxMjExMiArMDIwMAljb21taXQgKGluaXRpYWwpOiBGaXJzdCBDTVNGb3JtcyBjb21taXQKYzg4MjA3ZjNiNTdkMzE0OWYzMmZhYjc2NzhlMzUwNzc5ZmVlNDFlNiBiN2UxMjcwMmU5YjUxNzE1MTNmYjY4YzJhYzZhMWZhOTYxMzFhYmQyIEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllciA8Y3liZXJ0b3RvcGhlQGdtYWlsLmNvbT4gMTMxNzgwMjYwNiArMDIwMAljb21taXQ6IFZlcnNpb24gMC4wLjI0CmI3ZTEyNzAyZTliNTE3MTUxM2ZiNjhjMmFjNmExZmE5NjEzMWFiZDIgM2Y1ZWRkYzg2OTZjMTIyYjgzYTdmYzgwMzhiODcxMjgxNzRkOGIwNSBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIgPGN5YmVydG90b3BoZUBnbWFpbC5jb20+IDEzMTc4MDM4NjAgKzAyMDAJcHVsbCA6IEZhc3QtZm9yd2FyZAozZjVlZGRjODY5NmMxMjJiODNhN2ZjODAzOGI4NzEyODE3NGQ4YjA1IDE4YzYwMjhkN2Q4YjIzODQzYzIzODhkZTViNTczNWQ5Nzk2MDVmZmEgSmVhbi1DaHJpc3RvcGhlIEN1dmVsaWVyIDx0b3RvcGhlQFRvdG9waGUtTWFjQm9vay1BaXIubG9jYWw+IDEzMjAxNjM1NDggKzAxMDAJY29tbWl0OiBDTVMgMS4xMAo=]]></data>
	</file>
	<file>
	  <filename>/.git/logs/refs/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/logs/refs/heads/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/logs/refs/heads/master</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBjODgyMDdmM2I1N2QzMTQ5ZjMyZmFiNzY3OGUzNTA3NzlmZWU0MWU2IEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllciA8Y3liZXJ0b3RvcGhlQGdtYWlsLmNvbT4gMTMwNjMxMjExMiArMDIwMAljb21taXQgKGluaXRpYWwpOiBGaXJzdCBDTVNGb3JtcyBjb21taXQKYzg4MjA3ZjNiNTdkMzE0OWYzMmZhYjc2NzhlMzUwNzc5ZmVlNDFlNiBiN2UxMjcwMmU5YjUxNzE1MTNmYjY4YzJhYzZhMWZhOTYxMzFhYmQyIEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllciA8Y3liZXJ0b3RvcGhlQGdtYWlsLmNvbT4gMTMxNzgwMjYwNiArMDIwMAljb21taXQ6IFZlcnNpb24gMC4wLjI0CmI3ZTEyNzAyZTliNTE3MTUxM2ZiNjhjMmFjNmExZmE5NjEzMWFiZDIgM2Y1ZWRkYzg2OTZjMTIyYjgzYTdmYzgwMzhiODcxMjgxNzRkOGIwNSBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIgPGN5YmVydG90b3BoZUBnbWFpbC5jb20+IDEzMTc4MDM4NjAgKzAyMDAJcHVsbCA6IEZhc3QtZm9yd2FyZAozZjVlZGRjODY5NmMxMjJiODNhN2ZjODAzOGI4NzEyODE3NGQ4YjA1IDE4YzYwMjhkN2Q4YjIzODQzYzIzODhkZTViNTczNWQ5Nzk2MDVmZmEgSmVhbi1DaHJpc3RvcGhlIEN1dmVsaWVyIDx0b3RvcGhlQFRvdG9waGUtTWFjQm9vay1BaXIubG9jYWw+IDEzMjAxNjM1NDggKzAxMDAJY29tbWl0OiBDTVMgMS4xMAo=]]></data>
	</file>
	<file>
	  <filename>/.git/logs/refs/remotes/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/logs/refs/remotes/origin/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/logs/refs/remotes/origin/master</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBjODgyMDdmM2I1N2QzMTQ5ZjMyZmFiNzY3OGUzNTA3NzlmZWU0MWU2IEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllciA8Y3liZXJ0b3RvcGhlQGdtYWlsLmNvbT4gMTMwNjMxMjMzNSArMDIwMAl1cGRhdGUgYnkgcHVzaApjODgyMDdmM2I1N2QzMTQ5ZjMyZmFiNzY3OGUzNTA3NzlmZWU0MWU2IGI3ZTEyNzAyZTliNTE3MTUxM2ZiNjhjMmFjNmExZmE5NjEzMWFiZDIgSmVhbi1DaHJpc3RvcGhlIEN1dmVsaWVyIDxjeWJlcnRvdG9waGVAZ21haWwuY29tPiAxMzE3ODAyODc3ICswMjAwCXVwZGF0ZSBieSBwdXNoCmI3ZTEyNzAyZTliNTE3MTUxM2ZiNjhjMmFjNmExZmE5NjEzMWFiZDIgM2Y1ZWRkYzg2OTZjMTIyYjgzYTdmYzgwMzhiODcxMjgxNzRkOGIwNSBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIgPGN5YmVydG90b3BoZUBnbWFpbC5jb20+IDEzMTc4MDM4NjAgKzAyMDAJcHVsbCA6IGZhc3QtZm9yd2FyZAozZjVlZGRjODY5NmMxMjJiODNhN2ZjODAzOGI4NzEyODE3NGQ4YjA1IDE4YzYwMjhkN2Q4YjIzODQzYzIzODhkZTViNTczNWQ5Nzk2MDVmZmEgSmVhbi1DaHJpc3RvcGhlIEN1dmVsaWVyIDx0b3RvcGhlQFRvdG9waGUtTWFjQm9vay1BaXIubG9jYWw+IDEzMjAxNjM1ODcgKzAxMDAJdXBkYXRlIGJ5IHB1c2gK]]></data>
	</file>
	<file>
	  <filename>/.git/objects/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/06/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/06/2c16b18c42a1621d7b51947e2a8d05a7a72a85</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eAErKUpNVTA0MWEwNDAwMzFRcPYNdssvyi3Wy81PKc1J1SvIKGDY/9t74Rf9hGcZk+NO9z1elcPAeT/FxAAIFHIS89IZbgrs0jDItVDbG+oRLWv1ahvLI8W3UOnMJIYbWloS6etfHbpbc7p3PbPKxHW7f/dAZEtScwtyEktSixkUrA7FtLA8etB5ZDKX9o4w13tN16YDADrQPSI=]]></data>
	</file>
	<file>
	  <filename>/.git/objects/1c/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/1c/977e3c6f3ec43440ae7fe18f6379fb44512e50</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eAErKUpNVTA0MWEwNDAwMzFRcPYNdssvyi3Wy81PKc1J1SvIKGCw2xl9/vC3voOWmh8ZfNuEEkWk2NlNDIBAIScxL53hpsAuDYNcC7W9oR7RslavtrE8UnwLlc5MYsiy1d0fMOHp+/fzXonmxeSnKIp78kJkS1JzC3ISS1KLGRSsDsW0sDx60HlkMpf2jjDXe03XpgMAtEA4Cg==]]></data>
	</file>
	<file>
	  <filename>/.git/objects/2e/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/2e/98405b67b6d0d242b0ebbed40fc8dd5f410ebe</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/.git/objects/3d/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/3d/c9451096caeee98d85595f58568ac8144cc418</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/.git/objects/3e/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/3e/b95bcfc3f68ec13929f1004d861261141a0707</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eAGtks1OHDEMx3udPIVPnbISMwuXFrZSS6dLRdXtBQTHUWbGu4lI4pAPVIT2gfoafbImg9BqEHComkMUO9bP9t/uFHXwYf7+zcdPVljG6hkrVjREhcfQrM7hlJz2sA8XQnrQ4wcIVNbDgLeoyKLzEAgEN4NCWI/h6YYgUDpYOzIBzQDJ0/H+Oj+5tUr2PEgynhWsaMjeObkRwR/Dd+RmvxFO+kBWIDQxJZHoUgUrcskNb6ER3Gpu4AuqjYw6fR3OD+bw5zeb1Yw5vInSYUumRxikM1zju7Y9PfuxbNs9qKCslezqXnHv0depx9xiNdpVkqBc/CPiSg4bDP8BdMmVHHggN2GxscI8k4eR4K+sq8+Oh3mxe1bY2CVpYR1Nn+WFbxh+5v73YHruwWGIzkD5yCsXxTQEts/iLtO8E3lK3OHm1UF1WC6eoEbzed5JDILcFAc73kv7kFK8xltqLtUOuuP1dx26QONyfd7kqKonPRa8ZbnMegYNaY0m5N3V0CiKwxGcfV1C2q4t+wumdQJr]]></data>
	</file>
	<file>
	  <filename>/.git/objects/3f/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/3f/5eddc8696c122b83a7fc8038b87128174d8b05</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eAGljk0KwjAQhV3nFLMXpZO0mRREhO68RTKZ0Ir9IU09v1W8gW/34Psej+dxHArouj6ULALCkZDYWWeJhWLruEkmBStaYiIM2hnDyanFZ5kKBBLUVGlpQ4OEDX5Yx9qz9Zh8a9GgD1Erv5V+znAXP526Pg9rmZdeoNte8hwkw+XBfONfOwe5wm6Sq4yrGzhWexR/v5Yd/mdFdc95iy0UWYt6AzXhTpo=]]></data>
	</file>
	<file>
	  <filename>/.git/objects/5b/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/5b/5b886ab3e1fcb25aa00756b96e8cd958a217b6</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eAFtkcFOwzAMhrkuT2FNdAGpYkJw2wYnngA4V25raLTMaet0rG9Pko6tB5RL7Py/P9sprSvh+fHpZvvaNq1Stxb5G3aAfY/jnVpcznoNb6eKWm8ci1L6y5CtCyMFHVo/ati9gP5oCFIeMgEjkJ4edL74k1fI7HxR0v+uZSZLmDRQ0tw+8J7dD0/VJ9jnPAXRqvMzRyBQgLoB7bWxVBy5TlJo8EjgXcT40LXggUKjShs+ojV1YKOZmVMIK4vd4DaZrPp0iTNGUrIk+zR9zA1suoEmfNgG2p6wHoFORrwkrZClyoPjs+r9GueXtccPuN/8AruGfdA=]]></data>
	</file>
	<file>
	  <filename>/.git/objects/6a/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/6a/3d2dbf5090e5efef9eea156e5c6f642117490d</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eAErKUpNVTA2YTAxAAKF5JzE4uLUYoYM5XqmSefqLufK7Kmb/Ui0SvBFwHMAImQP9g==]]></data>
	</file>
	<file>
	  <filename>/.git/objects/18/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/18/c6028d7d8b23843c2388de5b5735d979605ffa</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eAGtjk1qwzAQRrvWKWZfHDQa/YyhlLbeFbJqLyCPR9jEiYKq9Pwt6RW6+uDBe3xSz+etg0vpoTdVQBlTUpJYSMWT9zZrKopcIqWxzN4HdBqsueamlw5Ugi6LcByjoHMzU05F2BLPnNAxJr/wbIPJt77WBu+aL8O0tu2r1+uqMN2+dd+0wVOvd/Ly+bfDMctbrafhdWuHvUrenwHJWYwUPMOjRWuN3N/3X/1/u2Y6fgAe0JofDvFYjQ==]]></data>
	</file>
	<file>
	  <filename>/.git/objects/20/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/20/3ac25c8404e2e089c4930a2bb85645de82d697</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eAErKUpNVTAxYjA0MDAzMVFITMnNzNNLyy/K1SspyGFQ48lwbwk63JO+ePckdvOsfvVsFwMAh2EQiQ==]]></data>
	</file>
	<file>
	  <filename>/.git/objects/20/6a2b625e699dbd06225b2c7a84b05f36bf506d</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eAErKUpNVTA0NWAwNDAwMzFRcPYNdssvytVLzkksLtYryChg0GR43uGtfF3JtX3SzSkc/SoZfokHURWHJeZkpiSW5Bch6QqyvuQmJ7HiwhbxWZNPTv3iFX1L/zqqrvDMlPTUEiQtF1etlI6dfFVmWVDPYWP3rcqr3jwSAgAx6Duz]]></data>
	</file>
	<file>
	  <filename>/.git/objects/26/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/26/0c68478452c38c67a3bb9207376a8f276b4430</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eAHdUtFKwzAU9bX5ilAM6x6koODD7AIOOhwMHXXic7fcboGstyTZppT+u0mcrMjAd59yyTn3Xs45d6VwRe9v765aWVFpDNjkukK9G3bE/4T6hm9Lk2uN2iTDLhPyQI39VDCO16hQj6gG8RDz9kQ2Wzye2amj8zaVVUeiH8YG7BOUAsI8Ep0B3/ouhcNNMgiL1qo0Zhw35QbwALpSeIw5iaLfoIUPG3M2f5zkczbKwtYLNFk3e8+bPS/eloxmsONsOVu8six15R9tF1WzvCheCj/ACyXR9ztw/vV0aaid2qkEJZzD/0Nb1vgcepFO9tZi7U/Eu+DRHjhFtKe8wzF8AeywyTs=]]></data>
	</file>
	<file>
	  <filename>/.git/objects/26/e6fc244e2d0c176d80a57182cd525d3be4c72b</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eAGtks1O3DAQx7nGTzEnwq5EsiAkVLZSKWGpqNheqOgxcpLZtVXbY/xRgRAP1NfgyWpnoVokuFSdg+XMjH+Zmf90ijo4Pj7a+fjJCstYPWXFkoao8ASa5TVckNMe9uG7kB70GACBynoY8Bcqsug8BALBzaAQVmN6OiEIlA5WjkxAM0DydLz/ma/cWiV7HiQZzwpWNGTvnVyL4E/gK3Kz3wgnfSArEJqYfiLRpQqW5JIbdqER3Gpu4AzVWkadQoezgxk8/WbTmjGHt1E6bMn0CIN0hmvca9uLy6tF206ggrJWsqt7xb1HX6cec4vV+F2lEZTzf0T8kMMaw38A3XAlBx7IvWKxscKsyUYSvMtz9dmx0Ys9sMLGLo0WVtH0ebzwBcO33P+kSPYADkN0BsoXSDkvINnjmw9vkrKJsTfJKc+2xZhVs+rwqJy/hN7DfI5BkHtFgS3Me4In8NtlbXgLzaX6C93i9fcdukDj9pyuc1bVkx5pudJ6Cg1pjSbk1dTQKIrDB7g8X0Bankf2B8EN/bE=]]></data>
	</file>
	<file>
	  <filename>/.git/objects/29/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/29/00e7884b23d722458792d994088f24684e61c1</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eAHNWWtP41Ya3q/JrziDQp1UJMxWqtRCSMswYZcVDBQyWq0Qihz7JDlbx7Z8bNiIzn/v855bbMdhYKTVLkJgn8t7v3sWJTP20/uff/zL8Jd0mbbbrcPv263WZCkkCyJfSuaLFcsTtvTjMOLs7OqOnSfZSrJHnq1ZKOZznvE4j9YDXMPvaZEvk+yI/YP7cf9smQmZJ+kSF4tHHgmesWGwnvEsT9Tyr4uVL6JBkKxGuHuWpOtMLJa5fOF+n10lGcCy79jZ0k9Xfsw+8GghihXrsx/e//U9AF2KgMcBP2J/u7kkqtqt7w/bbc0POCAGWvw/OY9D2TpbyevZv3mQt5/pYJolOV54yDqrJCwiPo39FT+ubIjwmB0esgnYmgMUu/hY2c54XmQxDlVW/SAXSXxcQ8EhrZCdMG/Bc696ARzk65RQV+A8iRBnJe74Weavu70qLWa7cmUpwpDH0+abdykPxFwEzG7LZfIUsyRmOfib8YWIq3TNBY9CuU3CXTFT4pD0l7lTNfIjf8ajDfVQlieL2UrkHjsZMQ9A6PmA1v00jdZ6+VQ9qtXAh2YjvXymn9V6DIXq1U/0pNbSjD+KpJB6/ca+AXgPPFXlSvp55NNZkedJvCHQUnfgGcR0s2QkZABTnmVJtrkDlVTOkESnaSaSTORrKG7uR3JLrzlfpZGf8w0YkoFWiqZ/GIpH7ZQne6m/4AlccB4lT3vkO636bg4p7I32L08/jC/3j4aHuNx4TsRpQQcvPt18nuyzIV+N9icXN3f7w0M8fu0ek/k64id7QRKR12c8PAas8e3t9S1BMEj1g9aJllWJo69D0BeNZszNdLT/4fNkcv2J0KQjz+gUci9mEax5XsB94HBsOg2gzzwrgrxbdukD1hEh/mi/xIN121679QxonRwxsD8qBQForgyALMgcEuTCAFdastBowz6XtjVW2jRxod36ojylRj387ErFCNBeiRWGSjFnmx2EkTSRuYc9xYIlb3NTbRMZQLYTXxHlIvWznMJktyYNR4ODZERgohU48lYWwCE5Rz/0c59CWyM+eFLApbRocIH7wbJrgNqQ5EvW0c8b1vR7f+QgGLZa4K4Gphb/Xg+NQkQDPBfbGIGybxvS7Mo2cY0yQP4MeaZEQMgos1x/vD5il9enH9lkfHVzeToZs/Pb6yt2fnE5Hgwo1XZsvIDE5wJpCkmBLB1JLZfdUGSUtrb+T6cEYTrt9XpswD5e3I7PJte3/5rejW9Ob0/xiFXPQkbY3HnGD1ciHpB+B3kaeSactjpyBcOhGBfzJ3anXpChiF690x+hphCLuOvRXQ9uR27WO1ZidmfAyColpmRSZAHvKpKSzEfFYYlTV03IBBR7I2QK26/JbCpzkFJDPuWPftT1fhkRa5tLmkInPpBPACoSdWChrGkQobrRoLVvK1ha9rssHZ48MfTCvM2TKi5ICOYdNvSslKtij12V9+6AuvAAAt3KLnyg/u/ch2E551qg1vMj1lmg5CGVUOwQEnR11ZKNdYStHvoe7r1EFUneQ0/ZORIOILQ6y3wVETUE85UA+qMzOHnOz2EAd0pHBp8Kxxq1C8r61QZQYy5ApOKQezXBR+noTc6vw6RhYwA+bFSB9C4oMWolt74Yfq22iW0SIfy5ZdbiIqKlRg8HtPMEdeX/tS7GcWi4/UYuYUmXVN11O6rII+2IPOJVm9b1370+og2ZDlnJbedvQP2ga7Jup16ckS0+O0ue6oLYnur1bP4ja6qUdvaIxVqvGaAvi9NgqPuONXyPMlvd5Gr4KEloygHMJGblN2Rw3+A4yjB1oWwTpXIdjcM5hZW0Xn5QzkH2it+aghttFnL/p2o1uh1KJQcdakYOOljORbzYVKlWB8Z1TOg3XZaFQG4MCCqsgNbtAHPQiETRrEocQs5OUFzoXL5V4lRT/L2CpqxLOzQpiXhH68Gr8Ch3bkEDk1e2iKEwBb+ghu9izp4488NQZVx5QG9L/5FTfzzjjEoi9I2u/NHdkE7X1hQ1OQixJNM6gUo32ySmSJlPSRY2kqmLQ1P3lamUvzN7URGKJqSIQuZHT/5aKlpVg0dpWDVskgeF6k8QnCXq5ncQ19uphkFaTVED4gOY12N//IEq1W0EScj1hvIH9EoOEQn+f8+RMRT8o+DyKiHsDvzaBVwStq6nfcGYwwtxSF/XPmhiUSlvV6AYo9IJmghvxGVO1T3CFAIaYKM37YLbeLgM3srRkGMSJfljc+BBt2yF5qqcE7pl+C/FXgpmsODX9gwu6mq590fUmW+qMRcireBMmm8kc+nLsWr7u44sX24mAbbHfxuFYt51JUgJATAYW0SpUsaCtpZSpw5uFOC25VFVj+pYNPcE9Jnu/heQ2g4I48OmDokw2iP90bcySn4QJEWM+lWbLcUyo4Eee3fC3jsWm6VmBOa07SRL85tGpceJ0rlVubn5zuAvMQKlNAJAZVG1Got8i4NdEMhkqyBK/gB1Qra7hTKqyIRqd9Qg3rCI7FyJK5PeG6mypu5aJfkqvW5GWiPW0TdJ4tqqNkW1N4yEAah6DiOtylQMtZp1Tg8jKEvOBqObn4G2QcdiHnhqSqWpLYMoIovRhQdNoCJcPSpSDa3lq0TsQLND4De0UxPQIv7Kpw+BqXSITKq+raijDavrl8IKMuCYdEBTHSkx5TtwzJ54IZ/7qEuoECDP3Tb7e3f44V5VFwbILmMSUteRqFusTZeyy/R2/Nvn8d3ENoQiHNhxqGkDiVvDlQ1FJUZtDGz0BCFpqCtejVhPg9+GF9rabiiE1GPj6NWozeT3bbjxKaXeVgh5o0pEK2qUlKcoJoMlD35XNRjNsBk+tDA7uIZ8SR9G0RVtUVHl1p0oYRnapL9ZKzeFXEIym46FLO1lozBn3yifRtXcYXxlxVMPPy+2VdaR30ApbJd4o5+atLCiHFn9oSNmv2LQTbYF7z03n0fQBfMFhkXQSNlX7ccTdMBqm7yUZmWmYdrcpoRwYGHs8l8aLDTjK8nBpJYtzLsKOpuZ0aUYGoFeCcSI4aVRhx5mWqKkLWemdpZF7DaWckDhQnWN4uYiwiWMUilhRqmmhnJIXyrsvtQ+DFrSGXwR6pNWM/R5sPTdBwNymOqUEhSkU9rQIsPatv9XPkXQTfTqFSPRQI+Otg7a0ZqdF9Ll/kh1/frRDcz0q1aUCBXjJkpoTDSscyTaDFJihp18h5G25qoxbu8QcWOBPrSmNBpqnJRZtXL1u0qwyg90ut7oVJ+iGsH1ArpsrSrVXUCmdshUwjW2qg5AG428wF019FfOOHQstg1u4+igJEq0F9tzBONJVtNfoYD0R5R/af8JbCa+mQ==]]></data>
	</file>
	<file>
	  <filename>/.git/objects/52/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/52/3bd2461e18a8d0b4179a93c995f44a5bda2fd7</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/.git/objects/54/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/54/23c0a7bbee30d63a971994403b7cd418af35ff</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/.git/objects/64/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/64/494aedcdec22638ac295bd4c7d924c3d3b02a2</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/.git/objects/68/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/68/237f0292ce7ed36d1cbc7e9be2157a11e850e7</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eAErKUpNVTA0NWAwNDAwMzFRcPYNdssvytVLzkksLtYryChgOMniaaHvPEfcMTpbvqa8qdEjjjsIVXFYYk5mSmJJfhGSrtWLljwyLfn8PzXc/aftHZ0aRZPsGai6wjNT0lNLkLTozXCITt924ZLThtf7rvCfuBvvyLcPAJREOrU=]]></data>
	</file>
	<file>
	  <filename>/.git/objects/81/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/81/bf1d21c3ca6e2079efcb918443f624ffb7753d</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eAGtkt9LwzAQx31t/op7sttg7RyCsgn+KJsozhdlPpa0vS3BNIlJKo6xP8h/w7/MtGO6gUMQ7yEkd7lP7u6bTKgMTvqnB2fnmmlC4g4JJqqoBA4gmTzAWJnSQhceGbdQNgFgKLSFAl9RKI3GglPAqCwEwqy57ldwDLmBmVHSoSzAezKaP9dbqrXgOXVcSUsCEiRKLwyfM2cHcItUdhNmuHVKM4Sk8o9wNL6CiTLeDYeQMKpLKuEKxZxXpQ/1e0c9+HgnnZgQgy8VN5gqmSMU3EhaYitNxzd3ozRtQwRhLHgW54Jaizb2PdYtRs058iMIh39EPPFiju4fQFMqeEGdMjss0lRYa7KWBN/qudrasdaLLEmgq8yPFmaVzOvxwjW6+7r/duBtGRh0lZEQbiDhMIDVj1lTL6sHtNrwbcESNoBe1Iv6x+FwT/Zl5ZgyO8mwlb1P5F94o5Jy8QXd4uWLDI1TzY+5mNe3olyVDW1FPgHE2/K0]]></data>
	</file>
	<file>
	  <filename>/.git/objects/93/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/93/b36de1c75689f0d12e811ff35f4dcf18a8eb4d</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eAErKUpNVTA0NWAwNDAwMzFRcPYNdssvytVLzkksLtYryChgSPH0env2jVJy16Gpe31qJ/nYWjMtQlUclpiTmZJYkl+EpMv2pKvAtFPvXva2RsZHhHWdEPE5IoGqKzwzJT21BElLiPKB5bvfGVyzmi45xcG65orEetP/AKmQO90=]]></data>
	</file>
	<file>
	  <filename>/.git/objects/ab/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/ab/a2a4e23574f3ff655747f93ddc2c7c21346b98</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/.git/objects/b5/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/b5/81abfb649b945bb782cc5daf72d264c3c2ba9f</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eAErKUpNVTA0MWEwNDAwMzFRcPYNdssvyi3Wy81PKc1J1SvIKGBo3C+rePhUnkLl+9MTW5y/qfzfXmprYgAECjmJeekMNwV2aRjkWqjtDfWIlrV6tY3lkeJbqHRmEsPBpxeFz5fK9qx4vr0026YuqibwMzdEtiQ1tyAnsSS1mEHB6lBMC8ujB51HJnNp7whzvdd0bToA/EE8MA==]]></data>
	</file>
	<file>
	  <filename>/.git/objects/b7/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/b7/e12702e9b5171513fb68c2ac6a1fa96131abd2</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eAGtjstKBDEQAD3nK/ouDp3OG0SEvfkB3tOZjhPYmSzZrODfO/gNXguqqNL3vU0gr5/mEAF2UWeu7G3iZB1ziFSKW3MNtJK3xRTinKq65SHHhBIjYaiGXViNtqkaqpmDD1GMwxBSFbFavMqPufUBH5KPl8s22n322yZweXzLtcmA1/LDMmb/w+9fe27XpfT9DbTRISJ59PCMhKhOei7P0/mHmPqUcW/9AFxwIat+ASw0VJ0=]]></data>
	</file>
	<file>
	  <filename>/.git/objects/bf/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/bf/fb4ba1f42f60e668935ecb8ee3aa6c0009df64</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eAGtks1OwzAMx7k2T+ET3SatLbuANiQ+qg2BGBfQOFZp6y0RaRKSFDFNPBCvwZORdhpsEhMSwocoseNfbP+TC5XD8eDk4PRMM01I3CPBVJW1wCGk03uYKFNZ6MMD4xaqNgAMhbZQ4gsKpdFYcAoYlaVAmLfX/QqOITcwN0o6lCV4T06Lp2ZLtRa8oI4raUlAglTppeEL5uwQbpDKfsoMt05phpDW/hGOxlcwVca74RBSRnVFJVyiWPC68qFBcpTAxzvpxYQYfK65wUzJAqHkRtIKO1k2ub4dZ1kXIghjwfO4ENRatLHvsWkxas+RH0E4+iPikZcLdP8AmlHBS+qU2WGRtsJGk7Uk+NrM1TaOtV5kRQJd5360MK9l0YwXrtDdNf13A2+rwKCrjYRwAwlHAbz9mDXzsnpApwvfFqxgA0iiJBok4WhP9kXtmDI7ybCVvU/kX3jjinLxBd3iFcscjVPtjzlfNLeiQlUt7Y18AsJD8rA=]]></data>
	</file>
	<file>
	  <filename>/.git/objects/c1/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/c1/e5d113cf751d8ca8e7b7756b3c7e5a7c51f30b</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eAErKUpNVTA2YTAxAAKF5JzE4uLUYobJm3MfHg/r/HBRr1H+c7zveYkVr30BPkMRaQ==]]></data>
	</file>
	<file>
	  <filename>/.git/objects/c8/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/c8/8207f3b57d3149f32fab7678e350779fee41e6</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eAGtjkEKwjAQRV3nFLMXJTNtkwoiQqELwZUnSNPBBhoj6VTw9ga9grvPg/94PsUYBIj0RjIzaEMezYCtr8mhIRzt0OChtkyuHXXjrLNlNcqtMqUMF3aPXTflsEh6Tgzd+uI5cIajfw+cJX3x+R5dmPc+xRNgpU2FhEiw1aS1KrQkSPn8Qab6kBeB7nrrU44L/OTqA9nwSU0=]]></data>
	</file>
	<file>
	  <filename>/.git/objects/c9/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/c9/0449382f439c17415b6b1f7c778281485e0b52</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/.git/objects/d1/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/d1/aaa91b5d93d51ca6528cc33347b523aaece212</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/.git/objects/d8/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/d8/2a2a1867afeac2dd7ccb8daf032491aebbfb8c</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eAErKUpNVTA2YTAxAAKF5JzE4uLUYgaFLO2kuMy5e9mUonWqWjbEm+0PyAUADcwN4A==]]></data>
	</file>
	<file>
	  <filename>/.git/objects/d9/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/d9/10ba28306d3826bd55485b1d3aeab604e221ed</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eAErKUpNVTA2ZzA0MDAzMVFIzYsPDdYryChgiI7uyNr88M+mqAXsYTvzem5GLBLfBgBSbxFu]]></data>
	</file>
	<file>
	  <filename>/.git/objects/ec/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/ec/d717c86867ce7d98c5f3fb6e2edf71b2833cf8</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eAErKUpNVTA0MWEwNDAwMzFRcPYNdssvyi3Wy81PKc1J1SvIKGBQe/ZHxU+XRzy3YWlh09mgWOsnx7VNDIBAIScxL53hpsAuDYNcC7W9oR7RslavtrE8UnwLlc5MYjj49KLw+VLZnhXPt5dm29RF1QR+5obIlqTmFuQklqQWMyhYHYppYXn0oPPIZC7tHWGu95quTQcAOyA6Zg==]]></data>
	</file>
	<file>
	  <filename>/.git/objects/info/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/pack/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/ORIG_HEAD</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[YjdlMTI3MDJlOWI1MTcxNTEzZmI2OGMyYWM2YTFmYTk2MTMxYWJkMgo=]]></data>
	</file>
	<file>
	  <filename>/.git/refs/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/refs/heads/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/refs/heads/master</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[MThjNjAyOGQ3ZDhiMjM4NDNjMjM4OGRlNWI1NzM1ZDk3OTYwNWZmYQo=]]></data>
	</file>
	<file>
	  <filename>/.git/refs/remotes/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/refs/remotes/origin/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/refs/remotes/origin/master</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[MThjNjAyOGQ3ZDhiMjM4NDNjMjM4OGRlNWI1NzM1ZDk3OTYwNWZmYQo=]]></data>
	</file>
	<file>
	  <filename>/.git/refs/tags/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/CMSForms.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qCglNb2R1bGU6IENNUyBGb3JtcyAtIFRoaXMgbW9kdWxlIGhlbHBzIGRldmVsb3BlcnMgdG8gaGFuZGxlIGZvcm1zIGZvciB0aGVpciBmcm9udGVuZCBvciBiYWNrZW5kIGFwcGxpY2F0aW9ucwoJCglDb3B5cmlnaHRzOiBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIgLSAyMDEyIMKpCiovCgpyZXF1aXJlX29uY2UgZGlybmFtZShfX0ZJTEVfXykgLiAnL2xpYi9jbGFzc2VzL0NNU0Zvcm0uY2xhc3MucGhwJzsKcmVxdWlyZV9vbmNlIGRpcm5hbWUoX19GSUxFX18pIC4gJy9saWIvY2xhc3Nlcy9DTVNGb3JtV2lkZ2V0LmNsYXNzLnBocCc7CnJlcXVpcmVfb25jZSBkaXJuYW1lKF9fRklMRV9fKSAuICcvbGliL2NsYXNzZXMvQ01TRm9ybVZhbGlkYXRvci5jbGFzcy5waHAnOwoKY2xhc3MgQ01TRm9ybXMgZXh0ZW5kcyBDTVNNb2R1bGUKewoJcHVibGljIGZ1bmN0aW9uIEdldE5hbWUoKSAgICAgICAgICAgICAgIHsgcmV0dXJuICdDTVNGb3Jtcyc7CSAgICAgICAgICAgICAgIH0KCXB1YmxpYyBmdW5jdGlvbiBHZXRWZXJzaW9uKCkgICAgICAgICAgICB7IHJldHVybiAnMC4zLjInOyAgICAgICAgICAgICAgICAgICAgfQoJcHVibGljIGZ1bmN0aW9uIEdldEF1dGhvcigpICAgICAgICAgICAgIHsgcmV0dXJuICdKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXInOyB9CglwdWJsaWMgZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKSAgICAgICAgeyByZXR1cm4gJ2N5YmVydG90b3BoZUBnbWFpbC5jb20nOyAgIH0KICAvKiBDb21tZW50IGZyb20gQ2xvdWQ5IElERSAqLwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiRsYW5nID0gYXJyYXkoCgkKCQoJCgkKCQovLyBFeGNlcHRpb25zCgonZmllbGRfaXNfZW1wdHknID0+ICdUaGUgZmllbGQgJXMgaXMgZW1wdHkuJywJCidmaWVsZF9jYW5ub3RfYmVfZW1wdHknID0+ICdUaGUgZmllbGQgIiVzIiBjYW5ub3QgYmUgZW1wdHkuJywJCid1bmtub3duIGZpZWxkJyA9PiAnVW5rbm93biBmaWVsZCAiJXMiJywKJ2ZpZWxkcyBub3QgZXF1YWwnID0+ICdUaGUgIiVzIiBhbmQgIiVzIiBoYXZlIHRvIGJlIHRoZSBzYW1lLicsCidpbnZhbGlkIGVtYWlsJyA9PiAnVGhlIGVtYWlsICZsYXF1bzslcyZyYXF1bzsgaXMgbm90IHZhbGlkLicsCidmaWVsZCBub3QgdW5pcXVlJyA9PiAnJXMgYWxyZWFkeSBleGlzdHMuJywKJ3NlbGVjdCBvbmUnID0+ICdTZWxlY3Qgb25lJywKCQoJCgkKCQoJCgkKKTs=]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/classes/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/classes/CMSForm.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiAgLyoKICAgIFRoaXMgY2xhc3MgYWltIHRvIGhhbmRsZSBDTVMgRm9ybXMgdmVyeSBkaWZmZXJlbnRseS4KICAgIAogICAgQXV0aG9yOiBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIgPGN5YmVydG90b3BoZUBnbWFpbC5jb20+CiAgICBDb3B5cmlnaHRzOiBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIgMjAxMgogICAgTGljZW5jZTogR1BMICAgIAogIAogICovCgpjbGFzcyBDTVNGb3JtICAvL2V4dGVuZHMgIENtc09iamVjdAp7CiAgCiAgcHJvdGVjdGVkICRtb2R1bGVfbmFtZTsKICBwcm90ZWN0ZWQgJGlkOyAvLyBUaGUgZm9ybSBJRAogIHByb3RlY3RlZCAkcmV0dXJuaWQ7CiAgcHJvdGVjdGVkICRhY3Rpb247ICAKICBwcm90ZWN0ZWQgJG1ldGhvZCA9ICdnZXQnOwogIHByb3RlY3RlZCAkZW5jdHlwZTsKICAKICBwcm90ZWN0ZWQgJHdpZGdldHMgPSBhcnJheSgpOyAvLyBUaGUgZm9ybSB3aWRnZXRzCiAgcHJvdGVjdGVkICRoaWRkZW5fd2lkZ2V0cyA9IGFycmF5KCk7IC8vIFNwZWNpZmljIHdpZGdldHMgc2hvd24gb24gdGhlIGJlZ2luOwogIHByb3RlY3RlZCAkZmllbGRzZXRzID0gYXJyYXkoKTsgLy8gU3ViIGZvcm1zIGZvciBmaWVsZHNldHMKICAKICBwcm90ZWN0ZWQgJGxhYmVscyA9IGFycmF5KAogICAgJ3N1Ym1pdCcgPT4gJ1N1Ym1pdCcsCiAgICAnYXBwbHknID0+ICdBcHBseScsCiAgICAnY2FuY2VsJyA9PiAnQ2FuY2VsJywKICAgICduZXh0JyA9PiAnTmV4dCcsCiAgICAncHJldmlvdXMnID0+ICdQcmV2aW91cycKICAgICk7CiAgICAKICBwcm90ZWN0ZWQgJGFjdGl2ZV9idXR0b25zID0gYXJyYXkoJ3N1Ym1pdCcsJ2NhbmNlbCcpOwogIHByb3RlY3RlZCAkZm9ybV9lcnJvcnMgPSBhcnJheSgpOyAKICBwcm90ZWN0ZWQgJHNob3dfcHJpb3JpdHkgPSBmYWxzZTsKICAKICBwcm90ZWN0ZWQgJHRlbXBsYXRlcyA9IGFycmF5KAogICAgJ3dpZGdldCcgPT4gJzxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgIDxkaXYgY2xhc3M9InBhZ2V0ZXh0Ij4lTEFCRUwlOjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiPiVJTlBVVCUgPGVtPiVUSVBTJTwvZW0+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InBhZ2VpbnB1dCIgc3R5bGU9ImNvbG9yOiByZWQ7Ij4lRVJST1JTJTwvZGl2PgogICAgPC9kaXY+JywKICAgICdlcnJvcnMnID0+ICc8ZGl2IHN0eWxlPSJjb2xvcjogcmVkOyI+JUVSUk9SUyU8L2Rpdj4nLAogICAgJ2J1dHRvbnMnID0+ICc8cD4lQlVUVE9OUyU8L3A+JwogICAgKTsKICAKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJG1vZHVsZV9uYW1lLCAkaWQsICRhY3Rpb24sICRyZXR1cm5pZCkKICB7CiAgICAkdGhpcy0+bW9kdWxlX25hbWUgPSAkbW9kdWxlX25hbWU7CiAgICAkdGhpcy0+aWQgPSAkaWQ7CiAgICAkdGhpcy0+cmV0dXJuaWQgPSAkcmV0dXJuaWQ7CiAgICAkdGhpcy0+YWN0aW9uID0gJGFjdGlvbjsKICAgIAogICAgcmV0dXJuICR0aGlzOwogIH0KICAKICBwdWJsaWMgZnVuY3Rpb24gZ2V0SWQoKQogIHsKICAgIHJldHVybiAkdGhpcy0+aWQ7CiAgfQogIAogIHB1YmxpYyBmdW5jdGlvbiBzZXRNZXRob2QoJG1ldGhvZCA9ICdnZXQnKQogIHsKICAgIGlmICgkbWV0aG9kID09ICdwb3N0JykKICAgIHsKICAgICAgJHRoaXMtPm1ldGhvZCA9ICdwb3N0JzsKICAgIH0KICAgIAogICAgcmV0dXJuICR0aGlzOwogIH0KICAKICBwdWJsaWMgZnVuY3Rpb24gc2V0TXVsdGlwYXJ0Rm9ybSgpCiAgewogICAgJHRoaXMtPm1ldGhvZCA9ICdwb3N0JzsKICAgICR0aGlzLT5lbmN0eXBlID0gJ211bHRpcGFydC9mb3JtLWRhdGEnOwogICAgCiAgICByZXR1cm4gJHRoaXM7CiAgfQogIAogIHB1YmxpYyBmdW5jdGlvbiBwcm9jZXNzKCkKICB7CiAgICAkc3RhdGUgPSB0cnVlOwogICAgZm9yZWFjaCgkdGhpcy0+d2lkZ2V0cyBhcyAkd2lkZ2V0KQogICAgewogICAgICBpZigkd2lkZ2V0LT5wcm9jZXNzKCkgPT09IGZhbHNlKQogICAgICB7CiAgICAgICAgJHN0YXRlID0gZmFsc2U7CiAgICAgIH0KICAgIH0KICAgIAogICAgZm9yZWFjaCgkdGhpcy0+aGlkZGVuX3dpZGdldHMgYXMgJHdpZGdldCkKICAgIHsKICAgICAgaWYoJHdpZGdldC0+cHJvY2VzcygpID09PSBmYWxzZSkKICAgICAgewogICAgICAgICRzdGF0ZSA9IGZhbHNlOwogICAgICB9CiAgICB9ICAgIAogICAgCiAgICBmb3JlYWNoKCR0aGlzLT5maWVsZHNldHMgYXMgJGZpZWxkc2V0KQogICAgewogICAgICBpZigkZmllbGRzZXQtPnByb2Nlc3MoKSA9PT0gZmFsc2UpCiAgICAgIHsKICAgICAgICAkc3RhdGUgPSBmYWxzZTsKICAgICAgfQogICAgfQogICAgcmV0dXJuICRzdGF0ZTsKICB9CiAgCiAgcHVibGljIGZ1bmN0aW9uIHJlbmRlcl8oKQogIHsgIAogICAgLy8gVE9ETzogTE9BRCBURU1QTEFURSBGUk9NIEZJTEUuLi4KICAgICR0ZW1wbGF0ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKGRpcm5hbWUoZGlybmFtZShkaXJuYW1lKF9fRklMRV9fKSkpIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICd0ZW1wbGF0ZXMnIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICdhZG1pbi5mb3JtLnRwbCcpOwogICAgCiAgICAkc21hcnR5ID0gbmV3IFNtYXJ0eSgpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdmb3JtJywgJHRoaXMpOyAgICAKICAgICRzbWFydHktPl9jb21waWxlX3NvdXJjZSgndGVtcG9yYXJ5IHRlbXBsYXRlJywgJHRlbXBsYXRlLCAkX2NvbXBpbGVkICk7CiAgICBAb2Jfc3RhcnQoKTsKICAgICRzbWFydHktPl9ldmFsKCc/PicgLiAkX2NvbXBpbGVkKTsKICAgICRfY29udGVudHMgPSBAb2JfZ2V0X2NvbnRlbnRzKCk7CiAgICBAb2JfZW5kX2NsZWFuKCk7CiAgICByZXR1cm4gJF9jb250ZW50czsKICB9CiAgCiAgcHVibGljIGZ1bmN0aW9uIHJlbmRlcigpCiAgewogICAgJGZpbGUgPSBkaXJuYW1lKGRpcm5hbWUoZGlybmFtZShfX0ZJTEVfXykpKSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAndGVtcGxhdGVzJyAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAnYWRtaW4uZm9ybS50cGwnOwogICAgLy8gJGZpbGUyID0gJ2FkbWluLmZvcm0udHBsJzsKICAgIC8vIFdlIGxvYWQgdGhlIHRlbXBsYXRlIGhlcmUgYmVjYXVzZSBvZiBTbWFydHkgcmVzdHJpY3Rpb25zCiAgICAvLyAkdGVtcGxhdGUgPSBmaWxlX2dldF9jb250ZW50cygkZmlsZSk7CiAgICAKICAgICRjbXNfc21hcnR5ID0gIGNtc21zKCktPkdldFNtYXJ0eSgpOwogICAgCiAgICAkc21hcnR5ID0gbmV3IFNtYXJ0eSgpOwogICAgJHNtYXJ0eS0+Y29tcGlsZV9kaXIgPSAkY21zX3NtYXJ0eS0+Y29tcGlsZV9kaXI7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2Zvcm0nLCAkdGhpcyk7CiAgICAKICAgIHJldHVybiAkc21hcnR5LT5mZXRjaCgnZmlsZTonLiRmaWxlKTsKICAgIAogICAgLy8gcmV0dXJuICRzbWFydHktPmRpc3BsYXkoJ3N0cmluZzonLiR0ZW1wbGF0ZSk7CiAgICAvLyByZXR1cm4gJHNtYXJ0eS0+ZGlzcGxheSgnbW9kdWxlX2ZpbGVfdHBsOkNNU0Zvcm1zOycuJGZpbGUyKTsKICAgIC8vIHJldHVybiAkc21hcnR5LT5kaXNwbGF5KCRmaWxlKTsKICAgIAogIH0KICAKICBwdWJsaWMgZnVuY3Rpb24gc2V0VGVtcGxhdGUoJHRlbXBsYXRlX25hbWUsICR0ZW1wbGF0ZSkKICB7CiAgICAkdGhpcy0+dGVtcGxhdGVzWyR0ZW1wbGF0ZV9uYW1lXSA9ICR0ZW1wbGF0ZTsKICB9CiAgCiAgcHVibGljIGZ1bmN0aW9uIGdldEhlYWRlcnMoKQogIHsKICAgIGlmIChjbXNfdXRpbHM6OmdldF9tb2R1bGUoJHRoaXMtPm1vZHVsZV9uYW1lKSkKICAgIHsgICAgICAKICAgICAgJGh0bWwgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJHRoaXMtPm1vZHVsZV9uYW1lKS0+Q3JlYXRlRm9ybVN0YXJ0KCR0aGlzLT5pZCwgJHRoaXMtPmFjdGlvbiwgJHRoaXMtPnJldHVybmlkLCAkdGhpcy0+bWV0aG9kLCAkdGhpcy0+ZW5jdHlwZSk7CiAgICAgIGZvcmVhY2goJHRoaXMtPmhpZGRlbl93aWRnZXRzIGFzICR3aWRnZXQpCiAgICAgIHsKICAgICAgICAkaHRtbCAuPSAkd2lkZ2V0LT5nZXRJbnB1dCgpOwogICAgICB9ICAgICAgCiAgICAgIHJldHVybiAkaHRtbDsKICAgIH0KICAgIHJldHVybiBudWxsOwogIH0KICAKICBwdWJsaWMgZnVuY3Rpb24gZ2V0Rm9vdGVycygpCiAgewogICAgaWYgKChjbXNfdXRpbHM6OmdldF9tb2R1bGUoJHRoaXMtPm1vZHVsZV9uYW1lKSkpCiAgICB7ICAgICAgCiAgICAgICRodG1sID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCR0aGlzLT5tb2R1bGVfbmFtZSktPkNyZWF0ZUZvcm1FbmQoKTsKICAgICAgcmV0dXJuICRodG1sOwogICAgfQogICAgcmV0dXJuIG51bGw7CiAgfQogIAogIHB1YmxpYyBmdW5jdGlvbiBzZXRMYWJlbCgkbGFiZWwsICR0aXRsZSkKICB7CiAgICAkdGhpcy0+bGFiZWxzWyRsYWJlbF0gPSAkdGl0bGU7CiAgICAKICAgIHJldHVybiAkdGhpczsKICB9CiAgCiAgcHVibGljIGZ1bmN0aW9uIHNldExhYmVscygkbGFiZWxzID0gYXJyYXkoKSkKICB7CiAgICBmb3JlYWNoKCRsYWJlbHMgYXMgJGxhYmVsID0+ICR0aXRsZSkKICAgIHsKICAgICAgJHRoaXMtPnNldExhYmVsKCRsYWJlbCwgJHRpdGxlKTsKICAgIH0KICAgIAogICAgcmV0dXJuICR0aGlzOwogIH0gIAogIAogIHB1YmxpYyBmdW5jdGlvbiBzZXRCdXR0b25zKCRidXR0b25zID0gYXJyYXkoKSkKICB7CiAgICBpZiAoaXNfYXJyYXkoJGJ1dHRvbnMpKSAgJHRoaXMtPmFjdGl2ZV9idXR0b25zID0gJGJ1dHRvbnM7CiAgICAKICAgIHJldHVybiAkdGhpczsKICB9CiAgCiAgcHVibGljIGZ1bmN0aW9uIGdldEJ1dHRvbnMoKQogIHsKICAgICRodG1sID0gJyc7CiAgICBmb3JlYWNoKCR0aGlzLT5hY3RpdmVfYnV0dG9ucyBhcyAkYnV0dG9uKQogICAgewogICAgICAvLyAkaHRtbCAuPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJHRoaXMtPm1vZHVsZV9uYW1lKS0+Q3JlYXRlSW5wdXRTdWJtaXQoJHRoaXMtPmlkLCAkYnV0dG9uLCAkdGhpcy0+bGFiZWxzWyRidXR0b25dKTsKICAgICAgJGh0bWwgLj0gIGNtc191dGlsczo6Z2V0X21vZHVsZSgkdGhpcy0+bW9kdWxlX25hbWUpLT5DcmVhdGVJbnB1dFN1Ym1pdCgkdGhpcy0+aWQsICRidXR0b24sICR0aGlzLT5sYWJlbHNbJGJ1dHRvbl0sICdjbGFzcz0ic3VibWl0IicpOwogICAgfQogICAgCiAgICByZXR1cm4gJGh0bWw7CiAgfQogIAogIHB1YmxpYyBmdW5jdGlvbiBzZXRXaWRnZXQoJG5hbWUsJHR5cGUsJHNldHRpbmdzID0gYXJyYXkoKSkKICB7CiAgICAkd2lkZ2V0ID0gbmV3IENNU0Zvcm1XaWRnZXQoJHRoaXMsJHRoaXMtPmlkLCR0aGlzLT5tb2R1bGVfbmFtZSwkbmFtZSwkdHlwZSwkc2V0dGluZ3MpOwogICAgaWYgKCR0eXBlID09ICdoaWRkZW4nKQogICAgewogICAgICAkdGhpcy0+aGlkZGVuX3dpZGdldHNbJG5hbWVdID0gJHdpZGdldDsKICAgIH0KICAgIGVsc2VpZiAoJHR5cGUgPT0gJ2ZpbGUnKQogICAgewogICAgICAkdGhpcy0+c2V0TXVsdGlwYXJ0Rm9ybSgpOyAvLyBJZiB3ZSBhZGQgZmlsZXMsIHdlIGhhdmUgdG8gYmUgcG9zdGVkIG11bHRpcGFydCBmb3Jtcy4uLgogICAgICAkdGhpcy0+d2lkZ2V0c1skbmFtZV0gPSAkd2lkZ2V0OwogICAgfSAgICAKICAgIGVsc2VpZiAoJHR5cGUgPT0gJ3Bhc3N3b3JkJykKICAgIHsKICAgICAgJHRoaXMtPnNldE1ldGhvZCgncG9zdCcpOyAvLyBJZiB3ZSBhc2sgcGFzc3dvcmQsIHdlIHNob3VsZCBhbHdheXMgcG9zdCB0aGUgZm9ybSBmb3Igc2VjdXJpdHkgcmVhc29uICEKICAgICAgJHRoaXMtPndpZGdldHNbJG5hbWVdID0gJHdpZGdldDsKICAgIH0gICAgCiAgICBlbHNlaWYgKCgkdHlwZSA9PSAndGV4dGFyZWEnKSB8fCAoJHR5cGUgPT0gJ2NvZGVhcmVhJykpCiAgICB7IAogICAgICAkdGhpcy0+c2V0TWV0aG9kKCdwb3N0Jyk7IC8vIElmIHdlIGFzayBwYXNzd29yZCwgd2Ugc2hvdWxkIGFsd2F5cyBwb3N0IHRoZSBmb3JtIGZvciBzZWN1cml0eSByZWFzb24gIQogICAgICAkdGhpcy0+d2lkZ2V0c1skbmFtZV0gPSAkd2lkZ2V0OwogICAgfQogICAgZWxzZQogICAgewogICAgICAkdGhpcy0+d2lkZ2V0c1skbmFtZV0gPSAkd2lkZ2V0OwogICAgfQogICAgCiAgICByZXR1cm4gJHRoaXMtPmdldFdpZGdldCgkbmFtZSk7CiAgfQogIAogIHB1YmxpYyBmdW5jdGlvbiBnZXRXaWRnZXRzKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPndpZGdldHM7CiAgfQogIAogIHB1YmxpYyBmdW5jdGlvbiAmIGdldFdpZGdldCgkbmFtZSkKICB7CiAgICBpZiAoaXNzZXQoJHRoaXMtPndpZGdldHNbJG5hbWVdKSkKICAgIHsKICAgICAgcmV0dXJuICR0aGlzLT53aWRnZXRzWyRuYW1lXTsKICAgIH0KICAgIGVsc2VpZiAoaXNzZXQoJHRoaXMtPmhpZGRlbl93aWRnZXRzWyRuYW1lXSkpCiAgICB7CiAgICAgIHJldHVybiAkdGhpcy0+aGlkZGVuX3dpZGdldHNbJG5hbWVdOwogICAgfQogICAgZWxzZQogICAgewogICAgICByZXR1cm4gbnVsbDsKICAgIH0KICB9CiAgCiAgcHVibGljIGZ1bmN0aW9uIGhpZGVXaWRnZXQoJG5hbWUpCiAgewogICAgaWYgKGlzc2V0KCR0aGlzLT53aWRnZXRzWyRuYW1lXSkpCiAgICB7CiAgICAgICR0aGlzLT53aWRnZXRzWyRuYW1lXS0+aGlkZSgpOwogICAgfQogICAgZWxzZWlmIChpc3NldCgkdGhpcy0+aGlkZGVuX3dpZGdldHNbJG5hbWVdKSkKICAgIHsKICAgICAgJHRoaXMtPmhpZGRlbl93aWRnZXRzWyRuYW1lXS0+aGlkZSgpOwogICAgfQogIH0KICAKICBwdWJsaWMgZnVuY3Rpb24gcmVtb3ZlV2lkZ2V0KCRuYW1lKQogIHsKICAgIGlmIChpc3NldCgkdGhpcy0+d2lkZ2V0c1skbmFtZV0pKQogICAgewogICAgICB1bnNldCgkdGhpcy0+d2lkZ2V0c1skbmFtZV0pOwogICAgfQogICAgZWxzZWlmIChpc3NldCgkdGhpcy0+aGlkZGVuX3dpZGdldHNbJG5hbWVdKSkKICAgIHsKICAgICAgdW5zZXQoJHRoaXMtPmhpZGRlbl93aWRnZXRzWyRuYW1lXSk7CiAgICB9CiAgfQogIAogIHB1YmxpYyBmdW5jdGlvbiBzaG93V2lkZ2V0cygkdGVtcGxhdGU9bnVsbCwgJGZvcmNlPWZhbHNlKQogIHsKICAgICRodG1sID0gJyc7ICAKICAgIGZvcmVhY2goJHRoaXMtPndpZGdldHMgYXMgJHdpZGdldCkKICAgIHsKICAgICAgJGh0bWwgLj0gJHdpZGdldC0+c2hvdygkdGVtcGxhdGUsICRmb3JjZSk7CiAgICB9CiAgICByZXR1cm4gJGh0bWw7CiAgfQogIAogIHB1YmxpYyBmdW5jdGlvbiBzaG93V2lkZ2V0KCRuYW1lLCAkdGVtcGxhdGU9bnVsbCwgJGZvcmNlPWZhbHNlKQogIHsKICAgICRodG1sID0gJyc7IAogICAgaWYgKGlzc2V0KCR0aGlzLT53aWRnZXRzWyRuYW1lXSkpCiAgICB7CiAgICAgICAkd2lkZ2V0ID0gJHRoaXMtPndpZGdldHNbJG5hbWVdOwogICAgICAgJGh0bWwgLj0gJHdpZGdldC0+c2hvdygkdGVtcGxhdGUsICRmb3JjZSk7CiAgICB9CiAgICByZXR1cm4gJGh0bWw7CiAgfQogIAogIHB1YmxpYyBmdW5jdGlvbiBoYXNFcnJvcnMoKQogIHsKICAgICRoYXNfZXJyb3JzID0gZmFsc2U7CiAgICAKICAgIGZvcmVhY2goJHRoaXMtPndpZGdldHMgYXMgJHdpZGdldCkKICAgIHsKICAgICAgaWYoJHdpZGdldC0+aGFzRXJyb3JzKCkpCiAgICAgIHsKICAgICAgICAkaGFzX2Vycm9ycyA9IHRydWU7CiAgICAgIH0KICAgIH0KICAgIAogICAgZm9yZWFjaCgkdGhpcy0+aGlkZGVuX3dpZGdldHMgYXMgJHdpZGdldCkKICAgIHsKICAgICAgaWYoJHdpZGdldC0+aGFzRXJyb3JzKCkpCiAgICAgIHsKICAgICAgICAkaGFzX2Vycm9ycyA9IHRydWU7CiAgICAgIH0KICAgIH0KICAgIAogICAgZm9yZWFjaCgkdGhpcy0+ZmllbGRzZXRzIGFzICRmaWVsZHNldCkKICAgIHsKICAgICAgaWYoJGZpZWxkc2V0LT5oYXNFcnJvcnMoKSkKICAgICAgewogICAgICAgICRoYXNfZXJyb3JzID0gdHJ1ZTsKICAgICAgfQogICAgfQogICAgCiAgICBpZiAoY291bnQoJHRoaXMtPmZvcm1fZXJyb3JzKSAhPSAwKQogICAgewogICAgICAkaGFzX2Vycm9ycyA9IHRydWU7CiAgICB9CiAgICAKICAgIHJldHVybiAkaGFzX2Vycm9yczsgCiAgfQogIAogIHB1YmxpYyBmdW5jdGlvbiBub0Vycm9yKCkKICB7CiAgICByZXR1cm4gISR0aGlzLT5oYXNFcnJvcnMoKTsKICB9CiAgCiAgcHVibGljIGZ1bmN0aW9uIGdldEVycm9ycygpCiAgewogICAgcmV0dXJuICR0aGlzLT5mb3JtX2Vycm9yczsKICB9CiAgCiAgcHVibGljIGZ1bmN0aW9uIGdldEFsbEVycm9ycygpCiAgewogICAgJGVycm9ycyA9ICR0aGlzLT5mb3JtX2Vycm9yczsKICAgIAogICAgZm9yZWFjaCgkdGhpcy0+d2lkZ2V0cyBhcyAkd2lkZ2V0KQogICAgIHsKICAgICAgIGlmKCR3aWRnZXQtPmhhc0Vycm9ycygpKQogICAgICAgewogICAgICAgICAkZXJyb3JzWyR3aWRnZXQtPmdldE5hbWUoKV0gPSAkd2lkZ2V0LT5nZXRFcnJvcnMoKTsKICAgICAgIH0KICAgICB9CiAgICAKICAgIHJldHVybiAkZXJyb3JzOwogIH0KICAKICBwdWJsaWMgZnVuY3Rpb24gc2hvd0Vycm9ycygpCiAgewogICAgJGh0bWwgPSAnJzsKICAgIGlmKGNvdW50KCR0aGlzLT5mb3JtX2Vycm9ycykgPiAwKQogICAgewogICAgICAkaHRtbCAuPSAnPHVsIGNsYXNzPSJlcnJvcnMiPic7CiAgICAgIGZvcmVhY2goJHRoaXMtPmZvcm1fZXJyb3JzIGFzICRwcmlvcml0eSA9PiAkZXJyb3JzKQogICAgICB7CiAgICAgICAgJGh0bWwgLj0gJzxsaT4nOwogICAgICAgIGlmICgkdGhpcy0+c2hvd19wcmlvcml0eSkgICRodG1sIC49ICc8ZW0gY2xhc3M9ImZvcm1fZXJyb3JfcHJpb3JpdHkiPicuJHByaW9yaXR5Lic8L2VtPic7CiAgICAgICAgJGh0bWwgLj0gJzx1bD4nOwogICAgICAgIGZvcmVhY2goJGVycm9ycyBhcyAkZXJyb3IpCiAgICAgICAgewogICAgICAgICAgJGh0bWwgLj0gJzxsaT4nLiRlcnJvci4nPC9saT4nOwogICAgICAgIH0gICAgICAgIAogICAgICAgICRodG1sIC49ICc8L3VsPjwvbGk+JzsKICAgICAgfQogICAgICAkaHRtbCAuPSAnPC91bD4nOwogICAgfQogICAgcmV0dXJuICRodG1sOwogIH0KICAKICBwdWJsaWMgZnVuY3Rpb24gc2V0RXJyb3IoJG1lc3NhZ2UsJHByaW9yaXR5PSdkZWZhdWx0JykKICB7CiAgICAkdGhpcy0+Zm9ybV9lcnJvcnNbJHByaW9yaXR5XVtdID0gJG1lc3NhZ2U7CiAgfQogIAogIHB1YmxpYyBmdW5jdGlvbiBpc1N1Ym1pdHRlZCgpCiAgewogICAgaWYgKGlzc2V0KCRfUkVRVUVTVFskdGhpcy0+aWQuJ3N1Ym1pdCddKSkKICAgIHsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgICByZXR1cm4gZmFsc2U7CiAgfQogIAogIHB1YmxpYyBmdW5jdGlvbiBpc0FwcGxpZWQoKQogIHsKICAgIGlmIChpc3NldCgkX1JFUVVFU1RbJHRoaXMtPmlkLidhcHBseSddKSkKICAgIHsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgICByZXR1cm4gZmFsc2U7CiAgfSAgCiAgCiAgcHVibGljIGZ1bmN0aW9uIGlzQ2FuY2VsbGVkKCkKICB7CiAgICBpZiAoaXNzZXQoJF9SRVFVRVNUWyR0aGlzLT5pZC4nY2FuY2VsJ10pKQogICAgewogICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KICAgIHJldHVybiBmYWxzZTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBpc1Bvc3RlZCgpCiAgewogICAgZm9yZWFjaCgkdGhpcy0+YWN0aXZlX2J1dHRvbnMgYXMgJGJ1dHRvbikKICAgIHsKICAgICAgaWYoJGJ1dHRvbiAhPSAnJykKICAgICAgewogICAgICAgIGlmKCR0aGlzLT5pc1B1c2hlZCgkYnV0dG9uKSkKICAgICAgICB7CiAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KICAgIC8vIEFkZCBjaGVjayBmb3IgbmV4dCBhbmQgcHJldmlvdXMKICAgIC8vIGlmICgkdGhpcy0+aXNTdWJtaXR0ZWQoKSB8fCAkdGhpcy0+aXNBcHBsaWVkKCkpCiAgICAvLyB7CiAgICAvLyAgIHJldHVybiB0cnVlOwogICAgLy8gfQogICAgcmV0dXJuIGZhbHNlOwogIH0KICAKICBwdWJsaWMgZnVuY3Rpb24gaXNQdXNoZWQoJGJ1dHRvbikKICB7CiAgICBpZiAoaXNzZXQoJF9SRVFVRVNUWyR0aGlzLT5pZC4kYnV0dG9uXSkpCiAgICB7CiAgICAgIHJldHVybiB0cnVlOwogICAgfQogICAgcmV0dXJuIGZhbHNlOwogIH0KICAKICBwdWJsaWMgZnVuY3Rpb24gaXNTZW50KCkKICB7CiAgICAgIGZvcmVhY2goJHRoaXMtPmFjdGl2ZV9idXR0b25zIGFzICRidXR0b24pCiAgICAgIHsKICAgICAgICAgIGlmIChpc3NldCgkX1JFUVVFU1RbJHRoaXMtPmlkLiRidXR0b25dKSkKICAgICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICB9CiAgICAgIH0KICAgICAgCiAgICAgIHJldHVybiBmYWxzZTsKICB9CiAgCiAgCiAgCiAgcHVibGljIGZ1bmN0aW9uIHNldEZpZWxkc2V0KCRuYW1lLCAkbGVnZW5kPScnKQogIHsKICAgIGlmKCFpc3NldCgkdGhpcy0+ZmllbGRzZXRzWyRuYW1lXSkpCiAgICAkdGhpcy0+ZmllbGRzZXRzWyRuYW1lXSA9IG5ldyBDTVNGb3JtRmllbGRzZXQoJHRoaXMsJG5hbWUsJGxlZ2VuZCk7CiAgfQogIAogIHB1YmxpYyBmdW5jdGlvbiAmIGdldEZpZWxkc2V0KCRuYW1lKQogIHsKICAgIGlmIChpc3NldCgkdGhpcy0+ZmllbGRzZXRzWyRuYW1lXSkpCiAgICB7CiAgICAgIHJldHVybiAkdGhpcy0+ZmllbGRzZXRzWyRuYW1lXTsKICAgIH0KICAgIHJldHVybiBudWxsOwogIH0KICAKICBwdWJsaWMgZnVuY3Rpb24gZ2V0RmllbGRzZXRzKCkKICB7CiAgICAvLyByZXR1cm4gJHRoaXMtPmZpZWxkc2V0czsKICB9CiAgCiAgcHVibGljIGZ1bmN0aW9uIHJlbmRlckZpZWxkc2V0cygkd2lkZ2V0X3RlbXBsYXRlID0gbnVsbCwgJGxlZ2VuZCA9IHRydWUpCiAgewogICAgJGh0bWwgPSAnJzsKICAgIGZvcmVhY2goJHRoaXMtPmZpZWxkc2V0cyBhcyAkZmllbGRzZXQpCiAgICB7CiAgICAgICRodG1sIC49ICRmaWVsZHNldC0+cmVuZGVyKCR3aWRnZXRfdGVtcGxhdGUsICRsZWdlbmQpOwogICAgfQogICAgcmV0dXJuICRodG1sOwogIH0KICAKICBwdWJsaWMgZnVuY3Rpb24gcmVuZGVyRmllbGRzZXQoJG5hbWUsICR3aWRnZXRfdGVtcGxhdGUgPSBudWxsKQogIHsKICAgIGlmIChpc3NldCgkdGhpcy0+ZmllbGRzZXRzWyRuYW1lXSkpCiAgICB7CiAgICAgIHJldHVybiAkdGhpcy0+ZmllbGRzZXRzWyRuYW1lXS0+cmVuZGVyKCR3aWRnZXRfdGVtcGxhdGUpOwogICAgfQogICAgcmV0dXJuIG51bGw7CiAgfQogIAp9CgpjbGFzcyBDTVNGb3JtRmllbGRzZXQgZXh0ZW5kcyBDTVNGb3JtCnsKICBwcm90ZWN0ZWQgJHBhcmVudF9mb3JtOwogIHByb3RlY3RlZCAkbmFtZTsKICBwcm90ZWN0ZWQgJGxlZ2VuZDsKICBwcm90ZWN0ZWQgJGNsYXNzOwogIHByb3RlY3RlZCAkcmVuZGVyZWQgPSBmYWxzZTsKICAKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGZvcm0sICRuYW1lLCAkbGVnZW5kID0gJycpCiAgewogICAgcGFyZW50OjpfX2NvbnN0cnVjdCgkZm9ybS0+bW9kdWxlX25hbWUsICRmb3JtLT5pZCwgJGZvcm0tPmFjdGlvbiwgJGZvcm0tPnJldHVybmlkKTsKICAgICR0aGlzLT5uYW1lID0gJG5hbWU7CiAgICBpZigkbGVnZW5kID09ICcnKQogICAgewogICAgICAkdGhpcy0+bGVnZW5kID0gJG5hbWU7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICR0aGlzLT5sZWdlbmQgPSAkbGVnZW5kOwogICAgfQogICAgJHRoaXMtPnBhcmVudF9mb3JtID0mICRmb3JtOwogIH0KICAKICBwdWJsaWMgZnVuY3Rpb24gc2V0Q2xhc3MoJGNsYXNzKQogIHsKICAgICR0aGlzLT5jbGFzcyA9ICRjbGFzczsKICB9CiAgCiAgcHVibGljIGZ1bmN0aW9uIHJlbmRlcigkd2lkZ2V0X3RlbXBsYXRlPW51bGwsICRsZWdlbmQgPSB0cnVlKQogIHsKICAgICRodG1sID0gJyc7CiAgICBpZighJHRoaXMtPnJlbmRlcmVkKQogICAgewogICAgICAkaHRtbCAuPSAnPGZpZWxkc2V0JzsKICAgICAgJGh0bWwgLj0gKCR0aGlzLT5jbGFzcyk/JyBjbGFzcz0iJyAuICR0aGlzLT5jbGFzcyAuICciJzonJzsKICAgICAgJGh0bWwgLj0nPic7CiAgICAgIGlmKCRsZWdlbmQpICRodG1sIC49JzxsZWdlbmQ+Jy4kdGhpcy0+bGVnZW5kLic8L2xlZ2VuZD4nOwogICAgICAkaHRtbCAuPSAkdGhpcy0+c2hvd1dpZGdldHMoJHdpZGdldF90ZW1wbGF0ZSk7CiAgICAgICRodG1sIC49ICc8L2ZpZWxkc2V0Pic7CiAgICAgICR0aGlzLT5yZW5kZXJlZCA9IHRydWU7CiAgICB9CiAgICByZXR1cm4gJGh0bWw7CiAgICAKICB9CiAgCiAgcHVibGljIGZ1bmN0aW9uIHNldFdpZGdldCgkbmFtZSwkdHlwZSwkc2V0dGluZ3MgPSBhcnJheSgpKQogIHsKICAgIGlmICgkdHlwZSA9PSAnZmlsZScpCiAgICB7CiAgICAgICR0aGlzLT5wYXJlbnRfZm9ybS0+c2V0TXVsdGlwYXJ0Rm9ybSgpOwogICAgfQogICAgcGFyZW50OjpzZXRXaWRnZXQoJG5hbWUsJHR5cGUsJHNldHRpbmdzKTsKICB9CiAgCn0K]]></data>
	</file>
	<file>
	  <filename>/lib/classes/CMSFormValidator.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiAgLyoKICAgIFRoaXMgY2xhc3MgYWltIHRvIGhhbmRsZSBDTVMgRm9ybXMgdmVyeSBkaWZmZXJlbnRseS4KICAgIAogICAgQXV0aG9yOiBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIgPGN5YmVydG90b3BoZUBnbWFpbC5jb20+CiAgICBDb3B5cmlnaHRzOiBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIgMjAxMgogICAgTGljZW5jZTogR1BMICAgIAogIAogICovCiAgCmNsYXNzIENNU0Zvcm1WYWxpZGF0b3IKewogIHByb3RlY3RlZCAkd2lkZ2V0OwogIHByb3RlY3RlZCAkdmFsaWRhdG9yOwogIHByb3RlY3RlZCAkcGFyYW1zOwogIAogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgmJHdpZGdldCwkdmFsaWRhdG9yLCRwYXJhbXMpCiAgewogICAgJHRoaXMtPndpZGdldCA9ICR3aWRnZXQ7CiAgICAkdGhpcy0+dmFsaWRhdG9yID0gJHZhbGlkYXRvcjsKICAgICR0aGlzLT5wYXJhbXMgPSAkcGFyYW1zOwogICAgCiAgICByZXR1cm4gJHRoaXM7CiAgfQogIAogIHB1YmxpYyBmdW5jdGlvbiBjaGVjaygpCiAgewogICAgc3dpdGNoKCR0aGlzLT52YWxpZGF0b3IpCiAgICB7CiAgICAgIGNhc2UgJ25vdF9lbXB0eSc6CiAgICAgICAgcmV0dXJuICR0aGlzLT5DaGVja05vdEVtcHR5KCk7CiAgICAgIGNhc2UgJ2VxdWFsX2ZpZWxkJzoKICAgICAgICByZXR1cm4gJHRoaXMtPkNoZWNrRXF1YWxGaWVsZCgpOwogICAgICBjYXNlICdlbWFpbCc6CiAgICAgICAgcmV0dXJuICR0aGlzLT5DaGVja0VtYWlsKCk7CiAgICAgIGNhc2UgJ3VuaXF1ZSc6CiAgICAgICAgcmV0dXJuICR0aGlzLT5DaGVja1VuaXF1ZSgpOwogICAgICBkZWZhdWx0OgogICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ1Vua25vd24gZm9ybSB2YWxpZGF0b3IgIicuJHRoaXMtPnZhbGlkYXRvciAuJyIuJyk7CiAgICB9CiAgICByZXR1cm4gdHJ1ZTsKICB9CiAgCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldEVycm9yTWVzc2FnZSgkbWVzc2FnZSwgJHZhbHVlKQogIHsKICAgIGlmKGlzX2FycmF5KCR0aGlzLT5wYXJhbXMpICYmIGlzc2V0KCR0aGlzLT5wYXJhbXNbJ2Vycm9yX21lc3NhZ2UnXSkgJiYgJHRoaXMtPnBhcmFtc1snZXJyb3JfbWVzc2FnZSddICE9ICcnKQogICAgewogICAgICByZXR1cm4gJHRoaXMtPnBhcmFtc1snZXJyb3JfbWVzc2FnZSddOwogICAgfQogICAgZWxzZQogICAgewogICAgICAkZXJyb3IgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NNU0Zvcm1zJyktPmxhbmcoJG1lc3NhZ2UsICR2YWx1ZSk7CiAgICAgIHJldHVybiAkZXJyb3I7CiAgICB9CiAgfQogIAogIHByb3RlY3RlZCBmdW5jdGlvbiBDaGVja1VuaXF1ZSgpCiAgewogICAgJHZhbHVlID0gJHRoaXMtPndpZGdldC0+Z2V0VmFsdWUoKTsKICAgIGlmIChjYWxsX3VzZXJfZnVuYygkdGhpcy0+cGFyYW1zLCAkdmFsdWUpICE9PSBudWxsKQogICAgewogICAgICBnbG9iYWwgJGdDbXM7CiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJHRoaXMtPmdldEVycm9yTWVzc2FnZSgnZmllbGQgbm90IHVuaXF1ZScsICR2YWx1ZSkpOwogICAgfQogICAgcmV0dXJuIHRydWU7CiAgfQogIAogIHByb3RlY3RlZCBmdW5jdGlvbiBDaGVja05vdEVtcHR5KCkKICB7ICAKICAgIGdsb2JhbCAkZ0NtczsKICAgICR2YWx1ZXMgPSAkdGhpcy0+d2lkZ2V0LT5nZXRWYWx1ZXMoKTsKICAgICR2YWx1ZSA9ICR0aGlzLT53aWRnZXQtPmdldFZhbHVlKCk7CiAgICBpZiAoaXNfYXJyYXkoJHZhbHVlcykgJiYgY291bnQoJHZhbHVlcykgPT0gMCkKICAgIHsKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbigkdGhpcy0+Z2V0RXJyb3JNZXNzYWdlKCdmaWVsZF9jYW5ub3RfYmVfZW1wdHknLCAkdGhpcy0+d2lkZ2V0LT5nZXRGcmllbmRseU5hbWUoKSkpOwogICAgfQogICAgZWxzZWlmKGVtcHR5KCR2YWx1ZXMpKQogICAgewogICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCR0aGlzLT5nZXRFcnJvck1lc3NhZ2UoJ2ZpZWxkX2Nhbm5vdF9iZV9lbXB0eScsICR0aGlzLT53aWRnZXQtPmdldEZyaWVuZGx5TmFtZSgpKSk7CiAgICB9CiAgICBlbHNlaWYoZW1wdHkoJHZhbHVlKSkKICAgIHsKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbigkdGhpcy0+Z2V0RXJyb3JNZXNzYWdlKCdmaWVsZF9jYW5ub3RfYmVfZW1wdHknLCAkdGhpcy0+d2lkZ2V0LT5nZXRGcmllbmRseU5hbWUoKSkpOwogICAgfQogICAgcmV0dXJuIHRydWU7CiAgfQogIAogIHByb3RlY3RlZCBmdW5jdGlvbiBDaGVja0VxdWFsRmllbGQoKQogIHsKICAgIGdsb2JhbCAkZ0NtczsKICAgICAgJHZhbHVlMSA9IHNlcmlhbGl6ZSgkdGhpcy0+d2lkZ2V0LT5nZXRWYWx1ZXMoKSk7CiAgICAgIAogICAgICB0cnkKICAgICAgewogICAgICAgICR2YWx1ZTIgPSBzZXJpYWxpemUoJHRoaXMtPndpZGdldC0+Z2V0Rm9ybSgpLT5nZXRXaWRnZXQoJHRoaXMtPnBhcmFtcyktPmdldFZhbHVlcygpKTsKICAgICAgfQogICAgICBjYXRjaChFeGNlcHRpb24gJGUpCiAgICAgIHsKICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCR0aGlzLT5nZXRFcnJvck1lc3NhZ2UoJ3Vua25vd24gZmllbGQnLCAkdGhpcy0+cGFyYW1zKSk7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICAgIAogICAgICBpZiAoJHZhbHVlMSAhPSAkdmFsdWUyKQogICAgICB7CiAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbigkdGhpcy0+Z2V0RXJyb3JNZXNzYWdlKCdmaWVsZHMgbm90IGVxdWFsJywgJHRoaXMtPndpZGdldC0+Z2V0RnJpZW5kbHlOYW1lKCksICR0aGlzLT53aWRnZXQtPmdldEZvcm0oKS0+Z2V0V2lkZ2V0KCR0aGlzLT5wYXJhbXMpLT5nZXRGcmllbmRseU5hbWUoKSkpOwogICAgICB9CiAgICAgIAogICAgICByZXR1cm4gdHJ1ZTsKICAgIAogIH0KICAKICBwcm90ZWN0ZWQgZnVuY3Rpb24gQ2hlY2tFbWFpbCgpCiAgewogICAgJGVtYWlsID0gaW1wbG9kZSgnfCcsICR0aGlzLT53aWRnZXQtPmdldFZhbHVlcygpKTsKICAgIGlmICghc2VsZjo6dmFsaWRFbWFpbCgkZW1haWwpKQogICAgewogICAgICBnbG9iYWwgJGdDbXM7CiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJHRoaXMtPmdldEVycm9yTWVzc2FnZSgnaW52YWxpZCBlbWFpbCcsICRlbWFpbCkpOwogICAgfQogICAgcmV0dXJuIHRydWU7CiAgfQogIC8vIEV4dGVybmFsIGZ1bmN0aW9ucwogIC8qKgogIFZhbGlkYXRlIGFuIGVtYWlsIGFkZHJlc3MuCiAgUHJvdmlkZSBlbWFpbCBhZGRyZXNzIChyYXcgaW5wdXQpCiAgUmV0dXJucyB0cnVlIGlmIHRoZSBlbWFpbCBhZGRyZXNzIGhhcyB0aGUgZW1haWwgCiAgYWRkcmVzcyBmb3JtYXQgYW5kIHRoZSBkb21haW4gZXhpc3RzLgogICovCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiB2YWxpZEVtYWlsKCRlbWFpbCkKICB7CiAgICAgJGlzVmFsaWQgPSB0cnVlOwogICAgICRhdEluZGV4ID0gc3RycnBvcygkZW1haWwsICJAIik7CiAgICAgaWYgKGlzX2Jvb2woJGF0SW5kZXgpICYmICEkYXRJbmRleCkKICAgICB7CiAgICAgICAgJGlzVmFsaWQgPSBmYWxzZTsKICAgICB9CiAgICAgZWxzZQogICAgIHsKICAgICAgICAkZG9tYWluID0gc3Vic3RyKCRlbWFpbCwgJGF0SW5kZXgrMSk7CiAgICAgICAgJGxvY2FsID0gc3Vic3RyKCRlbWFpbCwgMCwgJGF0SW5kZXgpOwogICAgICAgICRsb2NhbExlbiA9IHN0cmxlbigkbG9jYWwpOwogICAgICAgICRkb21haW5MZW4gPSBzdHJsZW4oJGRvbWFpbik7CiAgICAgICAgaWYgKCRsb2NhbExlbiA8IDEgfHwgJGxvY2FsTGVuID4gNjQpCiAgICAgICAgewogICAgICAgICAgIC8vIGxvY2FsIHBhcnQgbGVuZ3RoIGV4Y2VlZGVkCiAgICAgICAgICAgJGlzVmFsaWQgPSBmYWxzZTsKICAgICAgICB9CiAgICAgICAgZWxzZSBpZiAoJGRvbWFpbkxlbiA8IDEgfHwgJGRvbWFpbkxlbiA+IDI1NSkKICAgICAgICB7CiAgICAgICAgICAgLy8gZG9tYWluIHBhcnQgbGVuZ3RoIGV4Y2VlZGVkCiAgICAgICAgICAgJGlzVmFsaWQgPSBmYWxzZTsKICAgICAgICB9CiAgICAgICAgZWxzZSBpZiAoJGxvY2FsWzBdID09ICcuJyB8fCAkbG9jYWxbJGxvY2FsTGVuLTFdID09ICcuJykKICAgICAgICB7CiAgICAgICAgICAgLy8gbG9jYWwgcGFydCBzdGFydHMgb3IgZW5kcyB3aXRoICcuJwogICAgICAgICAgICRpc1ZhbGlkID0gZmFsc2U7CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYgKHByZWdfbWF0Y2goJy9cXC5cXC4vJywgJGxvY2FsKSkKICAgICAgICB7CiAgICAgICAgICAgLy8gbG9jYWwgcGFydCBoYXMgdHdvIGNvbnNlY3V0aXZlIGRvdHMKICAgICAgICAgICAkaXNWYWxpZCA9IGZhbHNlOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmICghcHJlZ19tYXRjaCgnL15bQS1aYS16MC05XFwtXFwuXSskLycsICRkb21haW4pKQogICAgICAgIHsKICAgICAgICAgICAvLyBjaGFyYWN0ZXIgbm90IHZhbGlkIGluIGRvbWFpbiBwYXJ0CiAgICAgICAgICAgJGlzVmFsaWQgPSBmYWxzZTsKICAgICAgICB9CiAgICAgICAgZWxzZSBpZiAocHJlZ19tYXRjaCgnL1xcLlxcLi8nLCAkZG9tYWluKSkKICAgICAgICB7CiAgICAgICAgICAgLy8gZG9tYWluIHBhcnQgaGFzIHR3byBjb25zZWN1dGl2ZSBkb3RzCiAgICAgICAgICAgJGlzVmFsaWQgPSBmYWxzZTsKICAgICAgICB9CiAgICAgICAgZWxzZSBpZgogICghcHJlZ19tYXRjaCgnL14oXFxcXC58W0EtWmEtejAtOSEjJSZgXz1cXC8kXCcqKz9ee318fi4tXSkrJC8nLAogICAgICAgICAgICAgICAgICAgc3RyX3JlcGxhY2UoIlxcXFwiLCIiLCRsb2NhbCkpKQogICAgICAgIHsKICAgICAgICAgICAvLyBjaGFyYWN0ZXIgbm90IHZhbGlkIGluIGxvY2FsIHBhcnQgdW5sZXNzIAogICAgICAgICAgIC8vIGxvY2FsIHBhcnQgaXMgcXVvdGVkCiAgICAgICAgICAgaWYgKCFwcmVnX21hdGNoKCcvXiIoXFxcXCJ8W14iXSkrIiQvJywKICAgICAgICAgICAgICAgc3RyX3JlcGxhY2UoIlxcXFwiLCIiLCRsb2NhbCkpKQogICAgICAgICAgIHsKICAgICAgICAgICAgICAkaXNWYWxpZCA9IGZhbHNlOwogICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKCRpc1ZhbGlkICYmICEoY2hlY2tkbnNycigkZG9tYWluLCJNWCIpIHx8IAogICBjaGVja2Ruc3JyKCRkb21haW4sIkEiKSkpCiAgICAgICAgewogICAgICAgICAgIC8vIGRvbWFpbiBub3QgZm91bmQgaW4gRE5TCiAgICAgICAgICAgJGlzVmFsaWQgPSBmYWxzZTsKICAgICAgICB9CiAgICAgfQogICAgIHJldHVybiAkaXNWYWxpZDsKICB9Cn0=]]></data>
	</file>
	<file>
	  <filename>/lib/classes/CMSFormWidget.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiAgLyoKICAgIFRoaXMgY2xhc3MgYWltIHRvIGhhbmRsZSBDTVMgRm9ybXMgdmVyeSBkaWZmZXJlbnRseS4KICAgIAogICAgQXV0aG9yOiBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIgPGN5YmVydG90b3BoZUBnbWFpbC5jb20+CiAgICBDb3B5cmlnaHRzOiBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIgMjAxMgogICAgTGljZW5jZTogR1BMICAgIAogIAogICovCgpjbGFzcyBDTVNGb3JtV2lkZ2V0ICAvL2V4dGVuZHMgQ21zT2JqZWN0CnsKICAvLyBTZXR0aW5ncwogIHByb3RlY3RlZCAkaWQ7IC8vIFRoZSBmb3JtIElECiAgcHJvdGVjdGVkICRtb2R1bGVfbmFtZTsKICBwcm90ZWN0ZWQgJG5hbWU7IC8vIFRoZSBpbnB1dCBuYW1lCiAgcHJvdGVjdGVkICR0eXBlOwogIHByb3RlY3RlZCAkaW5wdXQ7CiAgcHJvdGVjdGVkICR2YWx1ZXMgPSBhcnJheSgpOwogIHByb3RlY3RlZCAkc2V0dGluZ3MgPSBhcnJheSgpOwogIHByb3RlY3RlZCAkZm9ybV9lcnJvcnM7CiAgcHJvdGVjdGVkICRzaG93X3ByaW9yaXR5ID0gZmFsc2U7Ci8vICBwcm90ZWN0ZWQgJHZhbGlkYXRpb25zID0gYXJyYXkoKTsKICBwcm90ZWN0ZWQgJHNob3duZWQgPSBmYWxzZTsKICBwcm90ZWN0ZWQgJGZvcm07CiAgCiAgcHJvdGVjdGVkICRpc192YWxpZCA9IHRydWU7CiAgcHJvdGVjdGVkICR0ZW1wbGF0ZSA9ICclSU5QVVQlJzsKICAKICBwdWJsaWMgc3RhdGljICRmaWVsZHMgPSBhcnJheSgKICAgICd0ZXh0JyAgICAgICA9PiBhcnJheSgndGl0bGUnID0+ICdUZXh0IGZpZWxkJywgJ2FkbycgPT4gJ0MoMjU1KScpLAogICAgJ3RleHRhcmVhJyAgID0+IGFycmF5KCd0aXRsZScgPT4gJ1RleHQgYXJlYScsICAgJ2FkbycgPT4gJ1hMJyksCiAgICAnY2hlY2tib3gnICAgPT4gYXJyYXkoJ3RpdGxlJyA9PiAnQ2hlY2tib3gnLCAgICdhZG8nID0+ICdJJyksCiAgICAnc2VsZWN0JyAgICAgPT4gYXJyYXkoJ3RpdGxlJyA9PiAnU2VsZWN0JywgICAgICdhZG8nID0+ICdDKDI1NSknKSwKICAgICdwYXNzd29yZCcgID0+IGFycmF5KCd0aXRsZScgPT4gJ1Bhc3N3b3JkJywgICAnYWRvJyA9PiAnQygyNTUpJyksCiAgICAnZGF0ZScgICAgICAgPT4gYXJyYXkoJ3RpdGxlJyA9PiAnRGF0ZScsICAgICAgICdhZG8nID0+ICdEVCcpLAogICAgJ3RpbWUnICAgICAgID0+IGFycmF5KCd0aXRsZScgPT4gJ1RpbWUnLCAgICAgICAnYWRvJyA9PiAnRFQnKSwKICAgICdmaWxlJyAgICAgICA9PiBhcnJheSgndGl0bGUnID0+ICdGaWxlJywgICAgICAgJ2FkbycgPT4gJ0MoMjU1KScpKTsKICAgIAogIHB1YmxpYyBzdGF0aWMgJGNvdW50cmllcyA9IGFycmF5KAogICAgJ0FGJyA9PiAnQWZnaGFuaXN0YW4nLCAnQUwnID0+ICdBbGJhbmlhJywgJ0RaJyA9PiAnQWxnZXJpYScsICdBUycgPT4gJ0FtZXJpY2FuIFNhbW9hJywgJ0FEJyA9PiAnQW5kb3JyYScsICdBTycgPT4gJ0FuZ29sYScsICdBSScgPT4gJ0FuZ3VpbGxhJywgJ0FRJyA9PiAnQW50YXJjdGljYScsICdBRycgPT4gJ0FudGlndWEgYW5kIEJhcmJ1ZGEnLCAnQVInID0+ICdBcmdlbnRpbmEnLCAnQU0nID0+ICdBcm1lbmlhJywgJ0FXJyA9PiAnQXJ1YmEnLCAnQVUnID0+ICdBdXN0cmFsaWEnLCAnQVQnID0+ICdBdXN0cmlhJywgJ0FaJyA9PiAnQXplcmJhaWphbicsICdCUycgPT4gJ0JhaGFtYXMnLCAnQkgnID0+ICdCYWhyYWluJywgJ0JEJyA9PiAnQmFuZ2xhZGVzaCcsICdCQicgPT4gJ0JhcmJhZG9zJywgJ0JZJyA9PiAnQmVsYXJ1cycsICdCRScgPT4gJ0JlbGdpdW0nLCAnQlonID0+ICdCZWxpemUnLCAnQkonID0+ICdCZW5pbicsICdCTScgPT4gJ0Jlcm11ZGEnLCAnQlQnID0+ICdCaHV0YW4nLCAnQk8nID0+ICdCb2xpdmlhJywgJ0JBJyA9PiAnQm9zbmlhIGFuZCBIZXJ6ZWdvdmluYScsICdCVycgPT4gJ0JvdHN3YW5hJywgJ0JWJyA9PiAnQm91dmV0IElzbGFuZCcsICdCUicgPT4gJ0JyYXppbCcsICdJTycgPT4gJ0JyaXRpc2ggSW5kaWFuIE9jZWFuIFRlcnJpdG9yeScsICdWRycgPT4gJ0JyaXRpc2ggVmlyZ2luIElzbGFuZHMnLCAnQk4nID0+ICdCcnVuZWknLCAnQkcnID0+ICdCdWxnYXJpYScsICdCRicgPT4gJ0J1cmtpbmEgRmFzbycsICdCSScgPT4gJ0J1cnVuZGknLCAnS0gnID0+ICdDYW1ib2RpYScsICdDTScgPT4gJ0NhbWVyb29uJywgJ0NBJyA9PiAnQ2FuYWRhJywgJ0NWJyA9PiAnQ2FwZSBWZXJkZScsICdLWScgPT4gJ0NheW1hbiBJc2xhbmRzJywgJ0NGJyA9PiAnQ2VudHJhbCBBZnJpY2FuIFJlcHVibGljJywgJ1REJyA9PiAnQ2hhZCcsICdDTCcgPT4gJ0NoaWxlJywgJ0NOJyA9PiAnQ2hpbmEnLCAnQ1gnID0+ICdDaHJpc3RtYXMgSXNsYW5kJywgJ0NDJyA9PiAnQ29jb3MgKEtlZWxpbmcpIElzbGFuZHMnLCAnQ08nID0+ICdDb2xvbWJpYScsICdLTScgPT4gJ0NvbW9yb3MnLCAnQ0cnID0+ICdDb25nbycsICdDSycgPT4gJ0Nvb2sgSXNsYW5kcycsICdDUicgPT4gJ0Nvc3RhIFJpY2EnLCAnSFInID0+ICdDcm9hdGlhJywgJ0NVJyA9PiAnQ3ViYScsICdDWScgPT4gJ0N5cHJ1cycsICdDWicgPT4gJ0N6ZWNoIFJlcHVibGljJywgJ0NJJyA9PiAnQ8O0dGUgZFwnSXZvaXJlJywgJ0NEJyA9PiAnRGVtb2NyYXRpYyBSZXB1YmxpYyBvZiB0aGUgQ29uZ28nLCAnREsnID0+ICdEZW5tYXJrJywgJ0RKJyA9PiAnRGppYm91dGknLCAnRE0nID0+ICdEb21pbmljYScsICdETycgPT4gJ0RvbWluaWNhbiBSZXB1YmxpYycsICdFQycgPT4gJ0VjdWFkb3InLCAnRUcnID0+ICdFZ3lwdCcsICdTVicgPT4gJ0VsIFNhbHZhZG9yJywgJ0dRJyA9PiAnRXF1YXRvcmlhbCBHdWluZWEnLCAnRVInID0+ICdFcml0cmVhJywgJ0VFJyA9PiAnRXN0b25pYScsICdFVCcgPT4gJ0V0aGlvcGlhJywgJ0ZLJyA9PiAnRmFsa2xhbmQgSXNsYW5kcycsICdGTycgPT4gJ0Zhcm9lIElzbGFuZHMnLCAnRkonID0+ICdGaWppJywgJ0ZJJyA9PiAnRmlubGFuZCcsICdGUicgPT4gJ0ZyYW5jZScsICdHRicgPT4gJ0ZyZW5jaCBHdWlhbmEnLCAnUEYnID0+ICdGcmVuY2ggUG9seW5lc2lhJywgJ1RGJyA9PiAnRnJlbmNoIFNvdXRoZXJuIFRlcnJpdG9yaWVzJywgJ0dBJyA9PiAnR2Fib24nLCAnR00nID0+ICdHYW1iaWEnLCAnR0UnID0+ICdHZW9yZ2lhJywgJ0RFJyA9PiAnR2VybWFueScsICdHSCcgPT4gJ0doYW5hJywgJ0dJJyA9PiAnR2licmFsdGFyJywgJ0dSJyA9PiAnR3JlZWNlJywgJ0dMJyA9PiAnR3JlZW5sYW5kJywgJ0dEJyA9PiAnR3JlbmFkYScsICdHUCcgPT4gJ0d1YWRlbG91cGUnLCAnR1UnID0+ICdHdWFtJywgJ0dUJyA9PiAnR3VhdGVtYWxhJywgJ0dOJyA9PiAnR3VpbmVhJywgJ0dXJyA9PiAnR3VpbmVhLUJpc3NhdScsICdHWScgPT4gJ0d1eWFuYScsICdIVCcgPT4gJ0hhaXRpJywgJ0hNJyA9PiAnSGVhcmQgSXNsYW5kIGFuZCBNY0RvbmFsZCBJc2xhbmRzJywgJ0hOJyA9PiAnSG9uZHVyYXMnLCAnSEsnID0+ICdIb25nIEtvbmcgUy5BLlIuLCBDaGluYScsICdIVScgPT4gJ0h1bmdhcnknLCAnSVMnID0+ICdJY2VsYW5kJywgJ0lOJyA9PiAnSW5kaWEnLCAnSUQnID0+ICdJbmRvbmVzaWEnLCAnSVInID0+ICdJcmFuJywgJ0lRJyA9PiAnSXJhcScsICdJRScgPT4gJ0lyZWxhbmQnLCAnSUwnID0+ICdJc3JhZWwnLCAnSVQnID0+ICdJdGFseScsICdKTScgPT4gJ0phbWFpY2EnLCAnSlAnID0+ICdKYXBhbicsICdKTycgPT4gJ0pvcmRhbicsICdLWicgPT4gJ0themFraHN0YW4nLCAnS0UnID0+ICdLZW55YScsICdLSScgPT4gJ0tpcmliYXRpJywgJ0tWJyA9PiAnS29zb3ZvJywgJ0tXJyA9PiAnS3V3YWl0JywgJ0tHJyA9PiAnS3lyZ3l6c3RhbicsICdMQScgPT4gJ0xhb3MnLCAnTFYnID0+ICdMYXR2aWEnLCAnTEInID0+ICdMZWJhbm9uJywgJ0xTJyA9PiAnTGVzb3RobycsICdMUicgPT4gJ0xpYmVyaWEnLCAnTFknID0+ICdMaWJ5YScsICdMSScgPT4gJ0xpZWNodGVuc3RlaW4nLCAnTFQnID0+ICdMaXRodWFuaWEnLCAnTFUnID0+ICdMdXhlbWJvdXJnJywgJ01PJyA9PiAnTWFjYW8gUy5BLlIuLCBDaGluYScsICdNSycgPT4gJ01hY2Vkb25pYScsICdNRycgPT4gJ01hZGFnYXNjYXInLCAnTVcnID0+ICdNYWxhd2knLCAnTVknID0+ICdNYWxheXNpYScsICdNVicgPT4gJ01hbGRpdmVzJywgJ01MJyA9PiAnTWFsaScsICdNVCcgPT4gJ01hbHRhJywgJ01IJyA9PiAnTWFyc2hhbGwgSXNsYW5kcycsICdNUScgPT4gJ01hcnRpbmlxdWUnLCAnTVInID0+ICdNYXVyaXRhbmlhJywgJ01VJyA9PiAnTWF1cml0aXVzJywgJ1lUJyA9PiAnTWF5b3R0ZScsICdNWCcgPT4gJ01leGljbycsICdGTScgPT4gJ01pY3JvbmVzaWEnLCAnTUQnID0+ICdNb2xkb3ZhJywgJ01DJyA9PiAnTW9uYWNvJywgJ01OJyA9PiAnTW9uZ29saWEnLCAnTVMnID0+ICdNb250c2VycmF0JywgJ01BJyA9PiAnTW9yb2NjbycsICdNWicgPT4gJ01vemFtYmlxdWUnLCAnTU0nID0+ICdNeWFubWFyJywgJ05BJyA9PiAnTmFtaWJpYScsICdOUicgPT4gJ05hdXJ1JywgJ05QJyA9PiAnTmVwYWwnLCAnTkwnID0+ICdOZXRoZXJsYW5kcycsICdBTicgPT4gJ05ldGhlcmxhbmRzIEFudGlsbGVzJywgJ05DJyA9PiAnTmV3IENhbGVkb25pYScsICdOWicgPT4gJ05ldyBaZWFsYW5kJywgJ05JJyA9PiAnTmljYXJhZ3VhJywgJ05FJyA9PiAnTmlnZXInLCAnTkcnID0+ICdOaWdlcmlhJywgJ05VJyA9PiAnTml1ZScsICdORicgPT4gJ05vcmZvbGsgSXNsYW5kJywgJ0tQJyA9PiAnTm9ydGggS29yZWEnLCAnTVAnID0+ICdOb3J0aGVybiBNYXJpYW5hIElzbGFuZHMnLCAnTk8nID0+ICdOb3J3YXknLCAnT00nID0+ICdPbWFuJywgJ1BLJyA9PiAnUGFraXN0YW4nLCAnUFcnID0+ICdQYWxhdScsICdQUycgPT4gJ1BhbGVzdGluaWFuIFRlcnJpdG9yeScsICdQQScgPT4gJ1BhbmFtYScsICdQRycgPT4gJ1BhcHVhIE5ldyBHdWluZWEnLCAnUFknID0+ICdQYXJhZ3VheScsICdQRScgPT4gJ1BlcnUnLCAnUEgnID0+ICdQaGlsaXBwaW5lcycsICdQTicgPT4gJ1BpdGNhaXJuJywgJ1BMJyA9PiAnUG9sYW5kJywgJ1BUJyA9PiAnUG9ydHVnYWwnLCAnUFInID0+ICdQdWVydG8gUmljbycsICdRQScgPT4gJ1FhdGFyJywgJ1JPJyA9PiAnUm9tYW5pYScsICdSVScgPT4gJ1J1c3NpYScsICdSVycgPT4gJ1J3YW5kYScsICdSRScgPT4gJ1LDqXVuaW9uJywgJ1NIJyA9PiAnU2FpbnQgSGVsZW5hJywgJ0tOJyA9PiAnU2FpbnQgS2l0dHMgYW5kIE5ldmlzJywgJ0xDJyA9PiAnU2FpbnQgTHVjaWEnLCAnUE0nID0+ICdTYWludCBQaWVycmUgYW5kIE1pcXVlbG9uJywgJ1ZDJyA9PiAnU2FpbnQgVmluY2VudCBhbmQgdGhlIEdyZW5hZGluZXMnLCAnV1MnID0+ICdTYW1vYScsICdTTScgPT4gJ1NhbiBNYXJpbm8nLCAnU1QnID0+ICdTYW8gVG9tZSBhbmQgUHJpbmNpcGUnLCAnU0EnID0+ICdTYXVkaSBBcmFiaWEnLCAnU04nID0+ICdTZW5lZ2FsJywgJ1NQJyA9PiAnU2VyYmlhJywgJ1JTJyA9PiAnU2VyYmlhJywgJ1NDJyA9PiAnU2V5Y2hlbGxlcycsICdTTCcgPT4gJ1NpZXJyYSBMZW9uZScsICdTRycgPT4gJ1NpbmdhcG9yZScsICdTSycgPT4gJ1Nsb3Zha2lhJywgJ1NJJyA9PiAnU2xvdmVuaWEnLCAnU0InID0+ICdTb2xvbW9uIElzbGFuZHMnLCAnU08nID0+ICdTb21hbGlhJywgJ1pBJyA9PiAnU291dGggQWZyaWNhJywgJ0dTJyA9PiAnU291dGggR2VvcmdpYSBhbmQgdGhlIFNvdXRoIFNhbmR3aWNoIElzbGFuZHMnLCAnS1InID0+ICdTb3V0aCBLb3JlYScsICdFUycgPT4gJ1NwYWluJywgJ0xLJyA9PiAnU3JpIExhbmthJywgJ1NEJyA9PiAnU3VkYW4nLCAnU1InID0+ICdTdXJpbmFtZScsICdTSicgPT4gJ1N2YWxiYXJkIGFuZCBKYW4gTWF5ZW4nLCAnU1onID0+ICdTd2F6aWxhbmQnLCAnU0UnID0+ICdTd2VkZW4nLCAnQ0gnID0+ICdTd2l0emVybGFuZCcsICdTWScgPT4gJ1N5cmlhJywgJ1RXJyA9PiAnVGFpd2FuJywgJ1RKJyA9PiAnVGFqaWtpc3RhbicsICdUWicgPT4gJ1RhbnphbmlhJywgJ1RIJyA9PiAnVGhhaWxhbmQnLCAnVEwnID0+ICdUaW1vci1MZXN0ZScsICdURycgPT4gJ1RvZ28nLCAnVEsnID0+ICdUb2tlbGF1JywgJ1RPJyA9PiAnVG9uZ2EnLCAnVFQnID0+ICdUcmluaWRhZCBhbmQgVG9iYWdvJywgJ1ROJyA9PiAnVHVuaXNpYScsICdUUicgPT4gJ1R1cmtleScsICdUTScgPT4gJ1R1cmttZW5pc3RhbicsICdUQycgPT4gJ1R1cmtzIGFuZCBDYWljb3MgSXNsYW5kcycsICdUVicgPT4gJ1R1dmFsdScsICdWSScgPT4gJ1UuUy4gVmlyZ2luIElzbGFuZHMnLCAnVUcnID0+ICdVZ2FuZGEnLCAnVUEnID0+ICdVa3JhaW5lJywgJ0FFJyA9PiAnVW5pdGVkIEFyYWIgRW1pcmF0ZXMnLCAnR0InID0+ICdVbml0ZWQgS2luZ2RvbScsICdVUycgPT4gJ1VuaXRlZCBTdGF0ZXMnLCAnVU0nID0+ICdVbml0ZWQgU3RhdGVzIE1pbm9yIE91dGx5aW5nIElzbGFuZHMnLCAnVVknID0+ICdVcnVndWF5JywgJ1VaJyA9PiAnVXpiZWtpc3RhbicsICdWVScgPT4gJ1ZhbnVhdHUnLCAnVkEnID0+ICdWYXRpY2FuJywgJ1ZFJyA9PiAnVmVuZXp1ZWxhJywgJ1ZOJyA9PiAnVmlldG5hbScsICdXRicgPT4gJ1dhbGxpcyBhbmQgRnV0dW5hJywgJ0VIJyA9PiAnV2VzdGVybiBTYWhhcmEnLCAnWUUnID0+ICdZZW1lbicsICdZVScgPT4gJ1l1Z29zbGF2aWEnLCAnWk0nID0+ICdaYW1iaWEnLCAnWlcnID0+ICdaaW1iYWJ3ZScKICAgICk7CiAgCiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRmb3JtLCAkaWQsICRtb2R1bGVfbmFtZSwgJG5hbWUsICR0eXBlLCRzZXR0aW5ncz1hcnJheSgpKSB7CiAgICAkdGhpcy0+Zm9ybSA9ICYkZm9ybTsKICAgICR0aGlzLT5pZCA9ICRpZDsKICAgICR0aGlzLT5tb2R1bGVfbmFtZSA9ICRtb2R1bGVfbmFtZTsKICAgICR0aGlzLT5uYW1lID0gaXNzZXQoJHNldHRpbmdzWyduYW1lJ10pPyRzZXR0aW5nc1snbmFtZSddOiRuYW1lOwogICAgJHRoaXMtPnR5cGUgPSAkdHlwZTsKICAgICR0aGlzLT5zZXR0aW5ncyA9ICRzZXR0aW5nczsKICAgICR0aGlzLT5pbml0KCk7CiAgICAKICAgIHJldHVybiAkdGhpczsKICB9CiAgCiAgLy8gU0VUVVAKICAKICBwdWJsaWMgZnVuY3Rpb24gaGlkZSgpICB7CiAgICAkdGhpcy0+dHlwZSA9ICdoaWRkZW4nOwogICAgJHRoaXMtPnNldHRpbmdzWydsYWJlbCddID0gJyc7CiAgfQogIAogIC8vIEZJTEwKICAKICBwdWJsaWMgZnVuY3Rpb24gcmVmcmVzaCgpIHsKICAgIC8vIFRPRE86IENoZWNrIGNvbnNlcXVlbmNlcwogICAgJHRoaXMtPmluaXQoKTsKICB9CiAgCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIGluaXQoKSB7CiAgICAkdGhpcy0+aW5pdFZhbHVlcygpOwogIH0KICAKICBwcm90ZWN0ZWQgZnVuY3Rpb24gaW5pdFZhbHVlcygpIHsgIAogICAgICBnbG9iYWwgJGdDbXM7CiAgICAgIHN3aXRjaCgkdGhpcy0+dHlwZSkKICAgICAgewogICAgICAgIGNhc2UgJ2NoZWNrYm94JzoKICAgICAgICAgIGlmKAogICAgICAgICAgICAhaXNzZXQoJF9SRVFVRVNUWyR0aGlzLT5pZC4kdGhpcy0+bmFtZV0pCiAgICAgICAgICAgICYmCiAgICAgICAgICAgICgKICAgICAgICAgICAgICBpc3NldCgkX1JFUVVFU1RbJHRoaXMtPmlkLidzdWJtaXQnXSkKICAgICAgICAgICAgICB8fAogICAgICAgICAgICAgIGlzc2V0KCRfUkVRVUVTVFskdGhpcy0+aWQuJ2FwcGx5J10pCiAgICAgICAgICAgICkKCiAgICAgICAgICApCiAgICAgICAgICB7CiAgICAgICAgICAgIC8vIENhc2Ugd2hlbiBjaGVja2JveCBpcyB1bmNoZWNrZWQgYW5kIGZvcm0gaXMgc3VibWl0dGVkLCB3ZSBzaG91bGQgZW1wdHkgdGhlIHZhbHVlCiAgICAgICAgICAgICR0aGlzLT5zZXRWYWx1ZXMoKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgIGlmIChpc3NldCgkX1JFUVVFU1RbJHRoaXMtPmlkLiR0aGlzLT5uYW1lXSkpCiAgICAgICAgICB7CiAgICAgICAgICAgIGlmIChpc19hcnJheSgkX1JFUVVFU1RbJHRoaXMtPmlkLiR0aGlzLT5uYW1lXSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAkdGhpcy0+c2V0VmFsdWVzKCRfUkVRVUVTVFskdGhpcy0+aWQuJHRoaXMtPm5hbWVdKTsKICAgICAgICAgICAgfSAKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgJHRoaXMtPnNldFZhbHVlcyhodG1sX2VudGl0eV9kZWNvZGUoJF9SRVFVRVNUWyR0aGlzLT5pZC4kdGhpcy0+bmFtZV0pKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgZWxzZWlmKGlzc2V0KCR0aGlzLT5zZXR0aW5nc1sndmFsdWUnXSkpCiAgICAgICAgICB7CiAgICAgICAgICAgICR0aGlzLT5zZXRWYWx1ZXMoJHRoaXMtPnNldHRpbmdzWyd2YWx1ZSddKTsKICAgICAgICAgIH0KICAgICAgICAgIGVsc2VpZigKICAgICAgICAgICAgaXNzZXQoJHRoaXMtPnNldHRpbmdzWydvYmplY3QnXSkgJiYgIWlzc2V0KCRfUkVRVUVTVFskdGhpcy0+aWQuJ3N1Ym1pdCddKSAmJiAhaXNzZXQoJF9SRVFVRVNUWyR0aGlzLT5pZC4nYXBwbHknXSkpCiAgICAgICAgICB7CiAgICAgICAgICAgICR0aGlzLT5zZXRWYWx1ZXMoJHRoaXMtPmZldGNoVmFsdWVzKCkpOwogICAgICAgICAgfQogICAgICAgICAgZWxzZWlmKGlzc2V0KCR0aGlzLT5zZXR0aW5nc1sncHJlZmVyZW5jZSddKSAmJiBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJHRoaXMtPm1vZHVsZV9uYW1lKS0+Z2V0UHJlZmVyZW5jZSgkdGhpcy0+c2V0dGluZ3NbJ3ByZWZlcmVuY2UnXSkgIT0gJycpCiAgICAgICAgICB7CiAgICAgICAgICAgICR0aGlzLT5zZXRWYWx1ZXMoY21zX3V0aWxzOjpnZXRfbW9kdWxlKCR0aGlzLT5tb2R1bGVfbmFtZSktPmdldFByZWZlcmVuY2UoJHRoaXMtPnNldHRpbmdzWydwcmVmZXJlbmNlJ10pKTsKICAgICAgICAgICAgLy8kdGhpcy0+c2V0VmFsdWVzKGNtc191dGlsczo6Z2V0X21vZHVsZSgkdGhpcy0+bW9kdWxlX25hbWUpLT5nZXRQcmVmZXJlbmNlKCR0aGlzLT5zZXR0aW5nc1sncHJlZmVyZW5jZSddKSk7CiAgICAgICAgICB9CgogICAgICAgICAgaWYoaXNzZXQoJHRoaXMtPnNldHRpbmdzWydkZWZhdWx0X3ZhbHVlJ10pICYmICEkdGhpcy0+Zm9ybS0+aXNQb3N0ZWQoKSkgCiAgICAgICAgICB7CiAgICAgICAgICAgIGlmICgkdGhpcy0+aXNFbXB0eSgpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgJHRoaXMtPnNldFZhbHVlcygkdGhpcy0+c2V0dGluZ3NbJ2RlZmF1bHRfdmFsdWUnXSk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIAogICAgICAgICAgYnJlYWs7CiAgICAgIH0KICB9CgogIHByb3RlY3RlZCBmdW5jdGlvbiBmZXRjaFZhbHVlcygpICB7CiAgICAgIGlmKGlzc2V0KCR0aGlzLT5zZXR0aW5nc1snb2JqZWN0J10pICYmIGlzX29iamVjdCgkdGhpcy0+c2V0dGluZ3NbJ29iamVjdCddKSkKICAgICAgewogICAgICAgIGlmIChpc3NldCgkdGhpcy0+c2V0dGluZ3NbJ2dldF9tZXRob2QnXSkpCiAgICAgICAgewogICAgICAgICAgcmV0dXJuICR0aGlzLT5zZXR0aW5nc1snb2JqZWN0J10tPnskdGhpcy0+c2V0dGluZ3NbJ2dldF9tZXRob2QnXX0oKTsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICRuYW1lID0gaXNzZXQoJHRoaXMtPnNldHRpbmdzWydmaWVsZF9uYW1lJ10pPyR0aGlzLT5zZXR0aW5nc1snZmllbGRfbmFtZSddOiR0aGlzLT5uYW1lOwogICAgCiAgICAgICAgICBpZihtZXRob2RfZXhpc3RzKCR0aGlzLT5zZXR0aW5nc1snb2JqZWN0J10sICdnZXQnKSkKICAgICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5zZXR0aW5nc1snb2JqZWN0J10tPmdldCgkbmFtZSk7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlCiAgICAgICAgICB7CiAgICAgICAgICAgICAgdHJ5CiAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5zZXR0aW5nc1snb2JqZWN0J10tPiRuYW1lOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBjYXRjaChFeGNlcHRpb24gJGUpCiAgICAgICAgICAgICAgewogICAgICAgICAgICAgIC8vICBkaWUoJ3VuYWJsZSB0byBkbycpOyAvLyBUT0RPOiBUcmVhdGggZXJyb3IKICAgICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSAgICAgIAogICAgICB9CiAgfQogIAogIC8vIFJFTkRFUgogIAogIHB1YmxpYyBmdW5jdGlvbiBfX3RvU3RyaW5nKCkgIHsKICAgIC8vIFRPRE86IFJFRkFDVE9SSU5HCiAgICBpZiAoJHRoaXMtPnR5cGUgPT0gJ2hpZGRlbicpCiAgICB7CiAgICAgIHJldHVybiAkdGhpcy0+Z2V0SW5wdXQoKTsKICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgJGh0bWwgPSAnCiAgICAgIDxkaXYgY2xhc3M9ImZvcm1fd2lkZ2V0Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtX2xhYmVsIj48bGFiZWwgZm9yPSInLiR0aGlzLT5pZC4kdGhpcy0+bmFtZS4nIj4nLiR0aGlzLT5nZXRMYWJlbCgpLic8L2xhYmVsPjwvZGl2Pic7ICAgICAgICAgICAgCiAgICAgIGlmIChjb3VudCgkdGhpcy0+Zm9ybV9lcnJvcnMpKQogICAgICB7CiAgICAgICAgJGh0bWwgLj0gJzxkaXYgY2xhc3M9ImZvcm1fZXJyb3JzIj4nIC4gJHRoaXMtPnNob3dFcnJvcnMoKSAuICc8L2Rpdj4nOwogICAgICB9ICAgICAgICAKICAgICAgJGh0bWwgLj0gJwogICAgICAgIDxkaXYgY2xhc3M9ImZvcm1faW5wdXQiPicuJHRoaXMtPmdldElucHV0KCkuJzwvZGl2PgogICAgICA8L2Rpdj4nOwogICAgICByZXR1cm4gJGh0bWw7CiAgICB9CiAgfQogIAogIHB1YmxpYyBmdW5jdGlvbiBzaG93KCR0ZW1wbGF0ZSA9IG51bGwsICRmb3JjZSA9IGZhbHNlKSAgewogICAgLy8gVE9ETzogUkVGQUNUT1JJTkcKICAgIAogICAgaWYgKCghJHRoaXMtPnNob3duZWQgfHwgJGZvcmNlKSkKICAgIHsKICAgICAgJGh0bWwgPSAnJzsKICAgICAgaWYoaXNzZXQoJHRoaXMtPnNldHRpbmdzWyd3aXRoX2RpdiddKSkKICAgICAgewogICAgICAgICRjbGFzcyA9IGlzc2V0KCR0aGlzLT5zZXR0aW5nc1snY2xhc3MnXSk/JyBjbGFzcz0iJy4kdGhpcy0+c2V0dGluZ3NbJ2NsYXNzJ10uJyInOicgY2xhc3M9ImZpZWxkXycuJHRoaXMtPm5hbWUuJyInOwogICAgICAgICRodG1sIC49ICc8ZGl2Jy4kY2xhc3MuJz4nOwogICAgICB9CiAgICAgIGlmICghaXNfbnVsbCgkdGVtcGxhdGUpICYmICgkdGhpcy0+dHlwZSAhPSAnaGlkZGVuJykpCiAgICAgIHsKICAgICAgICAkdGV4dCA9IHN0cl9yZXBsYWNlKCclTEFCRUwlJywgJHRoaXMtPmdldExhYmVsKCksICR0ZW1wbGF0ZSk7CiAgICAgICAgJHRleHQgPSBzdHJfcmVwbGFjZSgnJUxBQkVMX1RBRyUnLCAkdGhpcy0+Z2V0TGFiZWxUYWcoKSwgJHRleHQpOwogICAgICAgICR0ZXh0ID0gc3RyX3JlcGxhY2UoJyVJTlBVVCUnLCAkdGhpcy0+Z2V0SW5wdXQoKSwgJHRleHQpOwogICAgICAgICR0ZXh0ID0gc3RyX3JlcGxhY2UoJyVFUlJPUlMlJywgJHRoaXMtPnNob3dFcnJvcnMoKSwgJHRleHQpOwogICAgICAgICR0ZXh0ID0gc3RyX3JlcGxhY2UoJyVUSVBTJScsICR0aGlzLT5nZXRUaXBzKCksICR0ZXh0KTsKICAgICAgICAkaHRtbCAuPSAkdGV4dDsKICAgICAgfQogICAgICBlbHNlCiAgICAgIHsKICAgICAgICAkaHRtbCAuPSAkdGhpczsgICAgICAgIAogICAgICB9ICAgIAogICAgICBpZihpc3NldCgkdGhpcy0+c2V0dGluZ3NbJ3dpdGhfZGl2J10pKQogICAgICB7CiAgICAgICAgJGh0bWwgLj0gJzwvZGl2Pic7CiAgICAgIH0KICAgICAgJHRoaXMtPnNob3duZWQgPSB0cnVlOwogICAgICByZXR1cm4gJGh0bWw7CiAgICB9CiAgICByZXR1cm4gbnVsbDsKICB9CiAgCiAgcHVibGljIGZ1bmN0aW9uIGdldE5hbWUoKSAgewogICAgcmV0dXJuICR0aGlzLT5uYW1lOwogIH0KICAKICBwdWJsaWMgZnVuY3Rpb24gZ2V0U2V0dGluZygkc2V0dGluZywgJGRlZmF1bHRfdmFsdWUgPSBudWxsKSB7CiAgICByZXR1cm4gaXNzZXQoJHRoaXMtPnNldHRpbmdzWyRzZXR0aW5nXSk/JHRoaXMtPnNldHRpbmdzWyRzZXR0aW5nXTokZGVmYXVsdF92YWx1ZTsKICB9CiAgCiAgcHVibGljIGZ1bmN0aW9uIHNldFNldHRpbmcoJHNldHRpbmcsICR2YWx1ZSkgIHsKICAgICR0aGlzLT5zZXR0aW5nc1skc2V0dGluZ10gPSAkdmFsdWU7CiAgfQogIAogIHB1YmxpYyBmdW5jdGlvbiBnZXRGb3JtKCkgewogICAgaWYoIWlzX29iamVjdCgkdGhpcy0+Zm9ybSkpCiAgICB7CiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0FuIGVycm9yIG9jY3VyZWQgcmV0cmlldmluZyB0aGUgZm9ybSBvYmplY3QuJyk7CiAgICB9CiAgICByZXR1cm4gJHRoaXMtPmZvcm07CiAgfQogIAogIAogIHB1YmxpYyBmdW5jdGlvbiBnZXRGcmllbmRseU5hbWUoKSB7CiAgICBpZiAoaXNzZXQoJHRoaXMtPnNldHRpbmdzWydsYWJlbCddKSkKICAgIHsKICAgICAgcmV0dXJuICR0aGlzLT5zZXR0aW5nc1snbGFiZWwnXTsKICAgIH0KICAgIC8vIFRyeSB0byBnZXQgaXQgZnJvbSBsYW5ndWFnZSBmaWxlCiAgICBnbG9iYWwgJGdDbXM7CiAgICBpZiAoY21zX3V0aWxzOjpnZXRfbW9kdWxlKCR0aGlzLT5tb2R1bGVfbmFtZSkpCiAgICB7CiAgICAgIHJldHVybiBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJHRoaXMtPm1vZHVsZV9uYW1lKS0+bGFuZygnZm9ybV8nLiR0aGlzLT5uYW1lKTsKICAgIH0KICAgIHJldHVybiBudWxsOwogIH0KICAgIAogIHB1YmxpYyBmdW5jdGlvbiBnZXRMYWJlbCgpICB7CiAgICByZXR1cm4gJHRoaXMtPmdldEZyaWVuZGx5TmFtZSgpOwogIH0KICAKICBwdWJsaWMgZnVuY3Rpb24gZ2V0TGFiZWxUYWcoKSB7CiAgICByZXR1cm4gJzxsYWJlbCBmb3I9IicuJHRoaXMtPmlkLiR0aGlzLT5uYW1lLiciPicgLiAkdGhpcy0+Z2V0TGFiZWwoKSAuICc8L2xhYmVsPic7CiAgfQogIAogIHB1YmxpYyBmdW5jdGlvbiBnZXRUaXBzKCkgewogICAgaWYgKGlzc2V0KCR0aGlzLT5zZXR0aW5nc1sndGlwcyddKSkKICAgIHsKICAgICAgcmV0dXJuICR0aGlzLT5zZXR0aW5nc1sndGlwcyddOwogICAgfQogICAgLy8gVHJ5IHRvIGdldCBpdCBmcm9tIGxhbmd1YWdlIGZpbGUKICAgIGdsb2JhbCAkZ0NtczsKICAgIGlmIChjbXNfdXRpbHM6OmdldF9tb2R1bGUoJHRoaXMtPm1vZHVsZV9uYW1lKSkKICAgIHsKICAgICAgLy8gVE9ETzogVGhpcyBzaG91bGQgYmUgc2hvd24gb25seSBpdCB0aGUgbGFuZyBrZXkgZXhpc3RzLi4uCiAgICAgIC8vcmV0dXJuIGNtc191dGlsczo6Z2V0X21vZHVsZSgkdGhpcy0+bW9kdWxlX25hbWUpLT5sYW5nKCd0aXBzXycuJHRoaXMtPm5hbWUpOwogICAgfQogICAgcmV0dXJuIG51bGw7CiAgfQogIAogIHB1YmxpYyBmdW5jdGlvbiBnZXRJbnB1dCgpICB7ICAKICAgIGlmICghZW1wdHkoJHRoaXMtPmlucHV0KSkKICAgIHsKICAgICAgcmV0dXJuICR0aGlzLT5pbnB1dDsKICAgIH0KICAgIAogICAgZ2xvYmFsICRnQ21zOwogICAgaWYgKGNtc191dGlsczo6Z2V0X21vZHVsZSgkdGhpcy0+bW9kdWxlX25hbWUpKQogICAgewogICAgICBzd2l0Y2goJHRoaXMtPnR5cGUpCiAgICAgIHsKICAgICAgICBjYXNlICd0ZXh0JzoKICAgICAgICAgIHJldHVybiAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCk7ICAgICAgICAKICAgICAgICBjYXNlICdoaWRkZW4nOgogICAgICAgICAgcmV0dXJuIGNtc191dGlsczo6Z2V0X21vZHVsZSgkdGhpcy0+bW9kdWxlX25hbWUpLT5DcmVhdGVJbnB1dEhpZGRlbigkdGhpcy0+aWQsICR0aGlzLT5uYW1lLCAkdGhpcy0+Z2V0VmFsdWUoKSk7CiAgICAgICAgY2FzZSAnc2VsZWN0JzoKICAgICAgICAgIHJldHVybiBzZWxmOjpDcmVhdGVTZWxlY3RvcigkdGhpcy0+aWQsICR0aGlzLT5uYW1lLCAkdGhpcy0+Z2V0VmFsdWVzKCksICR0aGlzLT5zZXR0aW5ncyk7CiAgICAgICAgY2FzZSAnY291bnRyaWVzJzoKICAgICAgICAgIHJldHVybiBzZWxmOjpDcmVhdGVDb3VudHJpZXNTZWxlY3RvcigkdGhpcy0+aWQsICR0aGlzLT5uYW1lLCAkdGhpcy0+Z2V0VmFsdWVzKCksICR0aGlzLT5zZXR0aW5ncyk7CiAgICAgICAgY2FzZSAnY2hlY2tib3gnOgogICAgICAgICAgcmV0dXJuIGNtc191dGlsczo6Z2V0X21vZHVsZSgkdGhpcy0+bW9kdWxlX25hbWUpLT5DcmVhdGVJbnB1dENoZWNrYm94KCR0aGlzLT5pZCwgJHRoaXMtPm5hbWUsICcxJywgKGludGVnZXIpJHRoaXMtPmdldFZhbHVlKCkpOwogICAgICAgIGNhc2UgJ3RleHRhcmVhJzoKICAgICAgICAgIGlmIChpc3NldCgkdGhpcy0+c2V0dGluZ3NbJ3Nob3dfd3lzaXd5ZyddKSAmJiAkdGhpcy0+c2V0dGluZ3NbJ3Nob3dfd3lzaXd5ZyddID09IHRydWUpCiAgICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJHRoaXMtPm1vZHVsZV9uYW1lKS0+Q3JlYXRlVGV4dEFyZWEodHJ1ZSwgJHRoaXMtPmlkLCAkdGhpcy0+Z2V0VmFsdWUoKSwgJHRoaXMtPm5hbWUsICR0aGlzLT5nZXRTZXR0aW5nKCdjbGFzcycpLCAkdGhpcy0+Z2V0U2V0dGluZygnaHRtbGlkJykpOyAgICAgICAgICAgIAogICAgICAgICAgfQogICAgICAgICAgZWxzZQogICAgICAgICAgewogICAgICAgICAgICByZXR1cm4gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCR0aGlzLT5tb2R1bGVfbmFtZSktPkNyZWF0ZVRleHRBcmVhKAogICAgICAgICAgICAgIGZhbHNlLAogICAgICAgICAgICAgICR0aGlzLT5pZCwKICAgICAgICAgICAgICAkdGhpcy0+Z2V0VmFsdWUoKSwgCiAgICAgICAgICAgICAgJHRoaXMtPm5hbWUsCiAgICAgICAgICAgICAgaXNzZXQoJHRoaXMtPnNldHRpbmdzWydjbGFzc25hbWUnXSk/JHRoaXMtPnNldHRpbmdzWydjbGFzc25hbWUnXTonJywKICAgICAgICAgICAgICBpc3NldCgkdGhpcy0+c2V0dGluZ3NbJ2h0bWxpZCddKT8kdGhpcy0+c2V0dGluZ3NbJ2h0bWxpZCddOicnLAogICAgICAgICAgICAgIGlzc2V0KCR0aGlzLT5zZXR0aW5nc1snZW5jb2RpbmcnXSk/JHRoaXMtPnNldHRpbmdzWydlbmNvZGluZyddOicnLAogICAgICAgICAgICAgIGlzc2V0KCR0aGlzLT5zZXR0aW5nc1snc3R5bGVzaGVldCddKT8kdGhpcy0+c2V0dGluZ3NbJ3N0eWxlc2hlZXQnXTonJywKICAgICAgICAgICAgICBpc3NldCgkdGhpcy0+c2V0dGluZ3NbJ2NvbHMnXSk/JHRoaXMtPnNldHRpbmdzWydjb2xzJ106JzgwJywKICAgICAgICAgICAgICBpc3NldCgkdGhpcy0+c2V0dGluZ3NbJ3Jvd3MnXSk/JHRoaXMtPnNldHRpbmdzWydyb3dzJ106JzE1JywgICAgICAgICAgICAKICAgICAgICAgICAgICBpc3NldCgkdGhpcy0+c2V0dGluZ3NbJ2ZvcmNld3lzaXd5ZyddKT8kdGhpcy0+c2V0dGluZ3NbJ2ZvcmNld3lzaXd5ZyddOicnLCAgICAgICAgICAKICAgICAgICAgICAgICBpc3NldCgkdGhpcy0+c2V0dGluZ3NbJ3dhbnRlZHN5bnRheCddKT8kdGhpcy0+c2V0dGluZ3NbJ3dhbnRlZHN5bnRheCddOicnLCAgICAgICAgICAgIAogICAgICAgICAgICAgIGlzc2V0KCR0aGlzLT5zZXR0aW5nc1snYWRkdGV4dCddKT8kdGhpcy0+c2V0dGluZ3NbJ2FkZHRleHQnXTonJyAgICAKICAgICAgICAgICAgICApOwogICAgICAgICAgfQogICAgICAgIGNhc2UgJ2NvZGVhcmVhJzoKICAgICAgICAgIHJldHVybiBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJHRoaXMtPm1vZHVsZV9uYW1lKS0+Q3JlYXRlU3ludGF4QXJlYSgkdGhpcy0+aWQsICR0aGlzLT5nZXRWYWx1ZSgpLCAkdGhpcy0+bmFtZSwncGFnZWJpZ3RleHRhcmVhJywgJycsJycsICcnLCA5MCwgMTUpOwogICAgICAgIGNhc2UgJ3RpbWUnOgogICAgICAgICAgcmV0dXJuIHNlbGY6OkNyZWF0ZVRpbWVTZWxlY3QoJHRoaXMtPmlkLCR0aGlzLT5uYW1lLCR0aGlzLT5nZXRWYWx1ZXMoKSk7CiAgICAgICAgY2FzZSAnZGF0ZSc6CiAgICAgICAgICByZXR1cm4gc2VsZjo6Q3JlYXRlRGF0ZVNlbGVjdCgkdGhpcy0+aWQsJHRoaXMtPm5hbWUsJHRoaXMtPmdldFZhbHVlcygpLCAkdGhpcy0+c2V0dGluZ3MpOwogICAgICAgIGNhc2UgJ3BhZ2VzJzoKICAgICAgICAgICR0aGlzLT5zZXR0aW5nc1sndmFsdWVzJ10gPSBhcnJheSgwID0+ICcmbGFxdW87ICcgLiBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NNU0Zvcm1zJyktPmxhbmcoJ3NlbGVjdCBvbmUnKSAuICcgJnJhcXVvOycpICsgc2VsZjo6Z2V0UGFnZXNMaXN0KCR0aGlzLT5pZCwgJHRoaXMtPm5hbWUsJHRoaXMtPmdldFZhbHVlKCksICR0aGlzLT5zZXR0aW5ncyk7OwogICAgICAgICAgcmV0dXJuIHNlbGY6OkNyZWF0ZVNlbGVjdG9yKCR0aGlzLT5pZCwgJHRoaXMtPm5hbWUsICR0aGlzLT5nZXRWYWx1ZXMoKSwgJHRoaXMtPnNldHRpbmdzKTsKCiAgICAgICAgY2FzZSAnc3RhdGljJzoKICAgICAgICAgIHJldHVybiAkdGhpcy0+Z2V0VmFsdWUoKTsKICAgICAgICBjYXNlICdmaWxlJzoKICAgICAgICAgIHJldHVybiAkdGhpcy0+Z2V0VXBsb2FkRmllbGQoKTsKICAgICAgICBjYXNlICdwYXNzd29yZCc6CiAgICAgICAgICByZXR1cm4gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCR0aGlzLT5tb2R1bGVfbmFtZSktPkNyZWF0ZUlucHV0UGFzc3dvcmQoJHRoaXMtPmlkLCAkdGhpcy0+bmFtZSwgJHRoaXMtPmdldFZhbHVlKCkKICAgICAgICAgICxpc3NldCgkdGhpcy0+c2V0dGluZ3NbJ3NpemUnXSk/JHRoaXMtPnNldHRpbmdzWydzaXplJ106MjApOwogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgfQogICAgfQogICAgcmV0dXJuIG51bGw7CiAgICAKICB9CiAgCiAgcHVibGljIGZ1bmN0aW9uIENyZWF0ZUlucHV0VGV4dCgpCiAgewogICAgJGlucHV0ID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCR0aGlzLT5tb2R1bGVfbmFtZSktPkNyZWF0ZUlucHV0VGV4dCgkdGhpcy0+aWQsICR0aGlzLT5uYW1lLCAkdGhpcy0+Z2V0VmFsdWUoKSwgaXNzZXQoJHRoaXMtPnNldHRpbmdzWydzaXplJ10pPyR0aGlzLT5zZXR0aW5nc1snc2l6ZSddOjgwLCBpc3NldCgkdGhpcy0+c2V0dGluZ3NbJ21heGxlbmd0aCddKT8kdGhpcy0+c2V0dGluZ3NbJ21heGxlbmd0aCddOjI1NSk7CiAgICAgCiAgICBpZihpc3NldCgkdGhpcy0+c2V0dGluZ3NbJ2NsYXNzbmFtZSddKSkKICAgIHsKICAgICAgLy8gT3ZlcmxvYWQgdGhpcyAiIyNAIcKnJCMiIGNsYXNzIHN5c3RlbQogICAgICAvLyBJbiBmcmVuY2ggaW4gdGhlIHRleHQ6IE5vbSBkZSBEaWV1IGRlIHB1dGFpbiBkZSBib3JkZWwgZGUgbWVyZGUgZGUgc2Fsb3BlcmllIGRlIGNvbm5hcmQgZCdlbmN1bMOpIGRlIHRhIG3DqHJlCiAgICAgIC8vIChodHRwOi8vd3d3LmltZGIuY29tL3RpdGxlL3R0MDIzNDIxNS90cml2aWE/dGFiPXRyJml0ZW09dHIwNzUyMzgyKQogICAgICAvLyAoU29ycnkgZm9yIHBydWRlIGVhcnMsIHRoaXMgaXMganVzdCBhIGNvbW1lbnQgaW4gYSBzb3VyY2UgY29kZS4uLikKICAgICAgJGlucHV0ID0gc3RyX3JlcGxhY2UoJ2NsYXNzPSJjbXNfdGV4dGZpZWxkIicsICdjbGFzcz0iJy4kdGhpcy0+c2V0dGluZ3NbJ2NsYXNzbmFtZSddLiciJywgJGlucHV0KTsKICAgIH0KICAgIAogICAgcmV0dXJuICRpbnB1dDsKICB9CgogIC8vIFBST0NFU1MKICAKICBwdWJsaWMgZnVuY3Rpb24gcHJvY2Vzcygkc2F2ZSA9IHRydWUpIHsKICAgIC8vIFZhbGlkYXRlCiAgICAkdGhpcy0+dmFsaWRhdGUoKTsKICAgIAogICAgLy8gU2F2ZSB2YWx1ZXMKICAgIGlmICgkc2F2ZSA9PSB0cnVlKQogICAgewogICAgICAkdGhpcy0+c2F2ZSgpOwogICAgfQogIH0KICAKICAvLyBWQUxJREFUSU9OCiAgCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIHZhbGlkYXRlKCkgewogICAgaWYgKGlzc2V0KCR0aGlzLT5zZXR0aW5nc1sndmFsaWRhdG9ycyddKSAmJiBpc19hcnJheSgkdGhpcy0+c2V0dGluZ3NbJ3ZhbGlkYXRvcnMnXSkpCiAgICB7CiAgICAgIC8vdmFyX2R1bXAoJHRoaXMtPnNldHRpbmdzWyd2YWxpZGF0b3JzJ10pOwogICAgICAvLyBDSEFOR0UgVEhBVAogICAgICAKICAgICAgZm9yZWFjaCAoJHRoaXMtPnNldHRpbmdzWyd2YWxpZGF0b3JzJ10gYXMgJHZhbGlkYXRvciA9PiAkdmFsdWUpCiAgICAgIHsKICAgICAgICAkdmFsaWRhdGUgPSBuZXcgQ01TRm9ybVZhbGlkYXRvcigkdGhpcywkdmFsaWRhdG9yLCR2YWx1ZSk7CiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgaWYoJHZhbGlkYXRlLT5jaGVjaygpID09PSBmYWxzZSkgJHRoaXMtPmlzX3ZhbGlkID0gZmFsc2U7CiAgICAgICAgfQogICAgICAgIGNhdGNoKEV4Y2VwdGlvbiAkZSkKICAgICAgICB7CiAgICAgICAgICAkdGhpcy0+c2V0RXJyb3IoJGUtPmdldE1lc3NhZ2UoKSwgJ2Zvcm0gZXJyb3InKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgIH0KICAgIH0KICB9CiAgCiAgcHVibGljIGZ1bmN0aW9uIGlzVmFsaWQoKSB7CiAgICBpZiAoKCR0aGlzLT5pc192YWxpZCA9PSBmYWxzZSApIHx8ICR0aGlzLT5oYXNFcnJvcnMoKSkKICAgIHsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgcmV0dXJuIHRydWU7CiAgfQogIAogIHB1YmxpYyBmdW5jdGlvbiBzZXRWYWxpZGF0b3IoJHZhbGlkYXRvciwgJHBhcmFtcyA9IGFycmF5KCkpIHsKICAgIHJldHVybiAkdGhpcy0+YWRkVmFsaWRhdG9yKCR2YWxpZGF0b3IsICRwYXJhbXMpOwogIH0KICAKICBwdWJsaWMgZnVuY3Rpb24gYWRkVmFsaWRhdG9yKCR2YWxpZGF0b3IsICRwYXJhbXMgPSBhcnJheSgpKSB7CiAgICAkdGhpcy0+c2V0dGluZ3NbJ3ZhbGlkYXRvcnMnXVskdmFsaWRhdG9yXSA9ICRwYXJhbXM7CiAgfQogIAogIHB1YmxpYyBmdW5jdGlvbiByZW1vdmVWYWxpZGF0b3IoJHZhbGlkYXRvcikgewogICAgdW5zZXQoJHRoaXMtPnNldHRpbmdzWyd2YWxpZGF0b3JzJ11bJHZhbGlkYXRvcl0pOwogIH0KICAKICAvLyBTQVZFCiAgCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIHNhdmUoKSB7CiAgICBpZigkdGhpcy0+aXNWYWxpZCgpID09IHRydWUpCiAgICB7CiAgICAgIGlmIChpc3NldCgkdGhpcy0+c2V0dGluZ3NbJ29iamVjdCddKSkKICAgICAgewogICAgICAgICR0aGlzLT5zYXZlT2JqZWN0KCk7CiAgICAgIH0KICAgICAgaWYgKGlzc2V0KCR0aGlzLT5zZXR0aW5nc1sncHJlZmVyZW5jZSddKSkKICAgICAgewogICAgICAgICR0aGlzLT5zYXZlUHJlZmVyZW5jZSgpOwogICAgICB9CiAgICB9CiAgfQogIAogIHByb3RlY3RlZCBmdW5jdGlvbiBzYXZlT2JqZWN0KCkgewogICAgaWYoaXNfb2JqZWN0KCR0aGlzLT5zZXR0aW5nc1snb2JqZWN0J10pICYmICR0aGlzLT50eXBlICE9ICdmaWxlJykKICAgIHsKICAgICAgLy8gVGhpcyBkbyBub3Qgc2F2ZSB0aGUgb2JqZWN0IHN0YXRlLCBzbyB3ZSBoYXZlIHRvIGRvIGl0IG91dHNpZGUgdGhlIGZvcm0KCiAgICAgIGlmICgkdGhpcy0+dHlwZSA9PSAnZGF0ZScpCiAgICAgIHsKICAgICAgICAvLyR2YWx1ZXMgPSAkdGhpcy0+dmFsdWVzOyBBbHdheXMgc2F2ZSBpdCBhcyBhIHN0cmluZwogICAgICAgIGlmIChjb3VudCgkdGhpcy0+dmFsdWVzKSA+IDEpCiAgICAgICAgeyAgICAgICAgICAKICAgICAgICAgICR2YWx1ZXMgPSAkdGhpcy0+dmFsdWVzWycwJ10gLiAnLScgLiAkdGhpcy0+dmFsdWVzWycxJ10gLiAnLScgLiAkdGhpcy0+dmFsdWVzWycyJ107CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAkdmFsdWVzID0gJHRoaXMtPmdldFZhbHVlKCk7CiAgICAgICAgfQogICAgICB9CiAgICAgIGVsc2VpZiAoJHRoaXMtPnR5cGUgPT0gJ3RpbWUnKQogICAgICB7CiAgICAgICAgLy8kdmFsdWVzID0gJHRoaXMtPnZhbHVlczsgQWx3YXlzIHNhdmUgaXQgYXMgYSBzdHJpbmcKICAgICAgICBpZiAoY291bnQoJHRoaXMtPnZhbHVlcykgPiAxKQogICAgICAgIHsgICAgICAgICAgCiAgICAgICAgICAkdmFsdWVzID0gJHRoaXMtPnZhbHVlc1snMCddIC4gJzonIC4gJHRoaXMtPnZhbHVlc1snMSddIC4gJzonIC4gJHRoaXMtPnZhbHVlc1snMiddOwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgJHZhbHVlcyA9ICR0aGlzLT5nZXRWYWx1ZSgpOwogICAgICAgIH0KICAgICAgfQogICAgICBlbHNlCiAgICAgIHsKICAgICAgICAkdmFsdWVzID0gJHRoaXMtPmdldFZhbHVlKCk7CiAgICAgIH0gICAgCiAgICAKICAgICAgaWYgKGlzc2V0KCR0aGlzLT5zZXR0aW5nc1snc2V0X21ldGhvZCddKSkKICAgICAgewogICAgICAgICR0aGlzLT5zZXR0aW5nc1snb2JqZWN0J10tPnskdGhpcy0+c2V0dGluZ3NbJ3NldF9tZXRob2QnXX0oJHZhbHVlcyk7CiAgICAgIH0KICAgICAgZWxzZQogICAgICB7CiAgICAgICAgaWYgKGlzc2V0KCR0aGlzLT5zZXR0aW5nc1snZmllbGRfbmFtZSddKSkKICAgICAgICB7CiAgICAgICAgICAkbmFtZSA9ICR0aGlzLT5zZXR0aW5nc1snZmllbGRfbmFtZSddOwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgJG5hbWUgPSAkdGhpcy0+bmFtZTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgaWYobWV0aG9kX2V4aXN0cygkdGhpcy0+c2V0dGluZ3NbJ29iamVjdCddLCAnc2V0JykpCiAgICAgICAgeyAgICAKICAgICAgICAgICR0aGlzLT5zZXR0aW5nc1snb2JqZWN0J10tPnNldCgkbmFtZSwgJHZhbHVlcyk7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICB0cnkKICAgICAgICAgIHsKICAgICAgICAgICAgJHRoaXMtPnNldHRpbmdzWydvYmplY3QnXS0+JG5hbWUgPSAkdmFsdWVzOwogICAgICAgICAgfQogICAgICAgICAgY2F0Y2goRXhjZXB0aW9uICRlKQogICAgICAgICAgewogICAgICAgICAgICBkaWUoJ3VuYWJsZSB0byBkbycpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICAKICAgICAgfQogICAgfQogIH0KICAKICBwcm90ZWN0ZWQgZnVuY3Rpb24gc2F2ZVByZWZlcmVuY2UoKSB7CiAgICBpZihpc3NldCgkdGhpcy0+c2V0dGluZ3NbJ3ByZWZlcmVuY2UnXSkgJiYgIWlzc2V0KCRfUkVRVUVTVFskdGhpcy0+aWQuJ2NhbmNlbCddKSkKICAgIHsKICAgICAgLy8gQ2hlY2sgaWYgdGhlcmUgaXMgbm8gY2FuY2VsIGJ1dHRvbiBmaXJzdCBiZWNhdXNlIHdlIHNhdmUgdGhlIHZhbHVlIGRpcmVjdGx5ICEKICAgICAgY21zX3V0aWxzOjpnZXRfbW9kdWxlKCR0aGlzLT5tb2R1bGVfbmFtZSktPnNldFByZWZlcmVuY2UoJHRoaXMtPnNldHRpbmdzWydwcmVmZXJlbmNlJ10sICR0aGlzLT5nZXRWYWx1ZSgpKTsKICAgIH0KICB9CiAgCiAgLy8gQUNDRVNTCiAgCiAgcHVibGljIGZ1bmN0aW9uIGdldFZhbHVlKCkgIHsKICAgIGlmICgoJHRoaXMtPnR5cGUgPT0gJ2RhdGUnKSAmJiAgKGNvdW50KCR0aGlzLT52YWx1ZXMpID4gMSkpCiAgICB7CiAgICAgIHJldHVybiAkdGhpcy0+dmFsdWVzWycwJ10gLiAnLScgLiAkdGhpcy0+dmFsdWVzWycxJ10gLiAnLScgLiAkdGhpcy0+dmFsdWVzWycyJ107CiAgICB9ICAKICAgIGVsc2VpZiAoKCR0aGlzLT50eXBlID09ICd0aW1lJykgJiYgIChjb3VudCgkdGhpcy0+dmFsdWVzKSA+IDEpKQogICAgewogICAgICByZXR1cm4gJHRoaXMtPnZhbHVlc1snMCddIC4gJzonIC4gJHRoaXMtPnZhbHVlc1snMSddIC4gJzonIC4gJHRoaXMtPnZhbHVlc1snMiddOwogICAgfQogICAgZWxzZWlmIChjb3VudCgkdGhpcy0+dmFsdWVzKSA9PSAxKQogICAgewogICAgICByZXNldCgkdGhpcy0+dmFsdWVzKTsKICAgICAgcmV0dXJuIChzdHJpbmcpIGN1cnJlbnQoJHRoaXMtPnZhbHVlcyk7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgIHJldHVybiAoc3RyaW5nKSBpbXBsb2RlKCd8fHwnLCR0aGlzLT52YWx1ZXMpOwogICAgfSAgICAKICB9CiAgCiAgcHVibGljIGZ1bmN0aW9uIHNldFZhbHVlKCR2YWx1ZSwgJGtleSA9IDApICB7CiAgICAkdGhpcy0+dmFsdWVzWyRrZXldID0gKHN0cmluZykkdmFsdWU7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gcmVtb3ZlVmFsdWVJZkVxdWFsKCR2YWx1ZSkgIHsKICAgIGlmKCR0aGlzLT5nZXRWYWx1ZSgpID09ICR2YWx1ZSkKICAgIHsKICAgICAgJHRoaXMtPnNldFZhbHVlcyhhcnJheSgpKTsKICAgIH0KICB9CiAgCiAgcHVibGljIGZ1bmN0aW9uIGdldFZhbHVlcygpIHsKICAgIHJldHVybiAkdGhpcy0+dmFsdWVzOwogIH0KICAKICBwdWJsaWMgZnVuY3Rpb24gc2V0VmFsdWVzKCR2YWx1ZXMgPSBhcnJheSgpKSAgewogICAgaWYgKGlzX2FycmF5KCR2YWx1ZXMpKQogICAgewogICAgICAkdGhpcy0+dmFsdWVzID0gJHZhbHVlczsKICAgIH0KICAgIGVsc2VpZiAoc3RycG9zKCR2YWx1ZXMsICd8fHwnKSAhPT0gZmFsc2UpCiAgICB7CiAgICAgICR0aGlzLT52YWx1ZXMgPSBleHBsb2RlKCd8fHwnLCAkdmFsdWVzKTsKICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgJHRoaXMtPnZhbHVlc1swXSA9ICR2YWx1ZXM7CiAgICB9ICAgIAogIH0gIAogIAogIHB1YmxpYyBmdW5jdGlvbiBzZXREZWZhdWx0VmFsdWVzKCR2YWx1ZXMpIHsKICAgIGlmIChpc19hcnJheSgkdmFsdWVzKSkKICAgIHsKICAgICAgJHRoaXMtPnZhbHVlcyA9ICR2YWx1ZXM7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICR0aGlzLT52YWx1ZXMgPSBhcnJheSgkdmFsdWVzKTsKICAgIH0KICB9CiAgICAKICBwdWJsaWMgZnVuY3Rpb24gaXNFbXB0eSgpIHsKICAgIGlmICgoY291bnQoJHRoaXMtPnZhbHVlcykgPT0gMSkgJiYgKGVtcHR5KCR0aGlzLT52YWx1ZXNbMF0pKSB8fCAoY291bnQoJHRoaXMtPnZhbHVlcykgPT0gMCkpCiAgICAgIHJldHVybiB0cnVlOwogICAgICByZXR1cm4gZmFsc2U7CiAgfQogICAgCiAgcHVibGljIGZ1bmN0aW9uIGdldFN0cmluZ1ZhbHVlKCkgIHsKICAgIC8vREVQUkVDQVRFRAogICAgcmV0dXJuICR0aGlzLT5nZXRWYWx1ZSgpOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIGdldFZhbHVlc1RvU3RyaW5nKCkgewogICAgLy8gREVQUkVDQVRFRAogICAgcmV0dXJuIChzdHJpbmcpJHRoaXMtPmdldFZhbHVlKCk7CiAgfQogIAogIHB1YmxpYyBmdW5jdGlvbiBpc0VtcHR5VmFsdWVzKCkgewogICAgLy9ERVBSRUNBVEVECiAgICAKICAgIGlmIChpc19hcnJheSgkdGhpcy0+dmFsdWVzKSkKICAgIHsKICAgICAgcmV0dXJuICR0aGlzLT5pc0VtcHR5KCk7CiAgICB9CiAgICBlbHNlaWYoZW1wdHkoJHRoaXMtPnZhbHVlcykpCiAgICB7CiAgICAgIHJldHVybiB0cnVlOwogICAgfQogICAgcmV0dXJuIGZhbHNlOwogIH0KICAKICAvLyBESVZFUlMKICAKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldEZpZWxkc0xpc3QoKSAgewogICAgJGxpc3QgPSBhcnJheSgpOwogICAgZm9yZWFjaChzZWxmOjokZmllbGRzIGFzICR0eXBlID0+ICRmaWVsZCkKICAgIHsKICAgICAgJGxpc3RbJHR5cGVdID0gJGZpZWxkWyd0aXRsZSddOwogICAgfQogICAgcmV0dXJuICRsaXN0OwogIH0KICAKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldEFkb1R5cGUoJHR5cGUpICB7CiAgICBpZiAoaXNzZXQoc2VsZjo6JGZpZWxkc1skdHlwZV1bJ2FkbyddKSkKICAgIHsKICAgICAgcmV0dXJuIHNlbGY6OiRmaWVsZHNbJHR5cGVdWydhZG8nXTsKICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgcmV0dXJuICdDKDI1NSknOyAvLyBCZXR0ZXIgdGhhbiBub3RoaW5nLi4uCiAgICB9CiAgfQogICAgICAgIAogIHB1YmxpYyBmdW5jdGlvbiBnZXRVcGxvYWRGaWVsZCgpICB7CiAgICAkZmllbGQgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJHRoaXMtPm1vZHVsZV9uYW1lKS0+Q3JlYXRlSW5wdXRGaWxlKCR0aGlzLT5pZCwgJHRoaXMtPm5hbWUsICcnLCBpc3NldCgkdGhpcy0+c2V0dGluZ3NbJ3NpemUnXSk/JHRoaXMtPnNldHRpbmdzWydzaXplJ106MzApOwogICAgJGh0bWwgPSAnPHNwYW4+JzsKICAgIGlmICghJHRoaXMtPmlzRW1wdHkoKSkKICAgIHsKICAgICAgaWYoaXNzZXQoJHRoaXMtPnNldHRpbmdzWydkaXJlY3RfbGluayddKSAmJiAkdGhpcy0+c2V0dGluZ3NbJ2RpcmVjdF9saW5rJ10gIT0gJycpCiAgICAgIHsKICAgICAgICAkZmlsZV91cmwgPSAkdGhpcy0+c2V0dGluZ3NbJ2RpcmVjdF9saW5rJ107CiAgICAgIH0KICAgICAgZWxzZQogICAgICB7CiAgICAgICAgJGZpbGVfdXJsID0gaXNzZXQoJHRoaXMtPnNldHRpbmdzWydiYXNlX3VybCddKT8kdGhpcy0+c2V0dGluZ3NbJ2Jhc2VfdXJsJ106Jyc7CiAgICAgICAgaWYgKChzdWJzdHIoJGZpbGVfdXJsLCAtMSkgIT0gJy8nKSAmJiAoc3Vic3RyKCR0aGlzLT5nZXRWYWx1ZSgpLDAsMSkgIT0gJy8nKSkgJGZpbGVfdXJsIC4nLyc7CiAgICAgICAgJGZpbGVfdXJsIC49ICR0aGlzLT5nZXRWYWx1ZSgpOwogICAgICAgICRmaWxlX3VybCA9IHN0cl9yZXBsYWNlKERJUkVDVE9SWV9TRVBBUkFUT1IsICcvJywgJGZpbGVfdXJsKTsKICAgICAgfQogICAgICAKICAgICAgaWYgKHNlbGY6OmlzSW1hZ2UoJHRoaXMtPmdldFZhbHVlKCkpKQogICAgICB7CiAgICAgICAgJHRleHQgPSAnPGltZyBzcmM9IicuJGZpbGVfdXJsLiciIC8+JzsKICAgICAgfQogICAgICBlbHNlCiAgICAgIHsKICAgICAgICAkdGV4dCA9IGJhc2VuYW1lKCR0aGlzLT52YWx1ZXNbMF0pOwogICAgICB9CiAgICAgIAogICAgICAkaHRtbCAuPSAnPHNwYW4gc3R5bGU9ImRpc3BsYXk6YmxvY2s7IG1hcmdpbi1ib3R0b206IDdweDsiPjxhIGhyZWY9IicuJGZpbGVfdXJsLiAnIiByZWw9ImV4dGVybmFsIiA+Jy4gJHRleHQgLic8L2E+PC9zcGFuPiAnOwogICAgICAKICAgICAgaWYgKGlzc2V0KCR0aGlzLT5zZXR0aW5nc1snZGVsZXRlX2NoZWNrYm94J10pKQogICAgICB7CiAgICAgICAgJGZpZWxkIC49ICcgJyAuICBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJHRoaXMtPm1vZHVsZV9uYW1lKS0+Q3JlYXRlSW5wdXRDaGVja2JveCgkdGhpcy0+aWQsICR0aGlzLT5zZXR0aW5nc1snZGVsZXRlX2NoZWNrYm94J10sICcxJykgLiAnICcgLiAgY21zX3V0aWxzOjpnZXRfbW9kdWxlKCR0aGlzLT5tb2R1bGVfbmFtZSktPmxhbmcoJ2RlbGV0ZScpOwogICAgICB9CiAgICB9CiAgICAKICAKICAgIAogICAgJGh0bWwgLj0gJGZpZWxkIC4gJzwvc3Bhbj4nOwogICAgcmV0dXJuICRodG1sOwogIH0KICAKICAvLyBUb29scwogIAogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0UGFnZXNMaXN0KCRpZCwkbmFtZSwkdmFsdWUsJHNldHRpbmdzID0gYXJyYXkoKSkgewogICAgCiAgICAkcGFnZXMgPSBjbXNtcygpLT5HZXRDb250ZW50T3BlcmF0aW9ucygpLT5HZXRBbGxDb250ZW50KCk7CiAgICAkYXJyYXkgPSBhcnJheSgpOwogICAgCiAgICBpZiAoaXNzZXQoJHNldHRpbmdzWydjaGlsZHJlbm9mJ10pKQogICAgewogICAgICAkY2hpbGRyZW5vZiA9IHNlbGY6OmdldFBhZ2VJZCgkc2V0dGluZ3NbJ2NoaWxkcmVub2YnXSk7CiAgICB9CiAgCiAgICBpZiAoaXNzZXQoJHNldHRpbmdzWydzdGFydF9wYWdlJ10pKQogICAgewogICAgICAkc3RhcnRfcGFnZSA9IHNlbGY6OmdldFBhZ2VJZCgkc2V0dGluZ3NbJ3N0YXJ0X3BhZ2UnXSk7CiAgICB9CiAgICAKICAgIGZvcmVhY2goJHBhZ2VzIGFzICRwYWdlKQogICAgewogICAgICBpZiAoCiAgICAgICAgKCFpc3NldCgkc3RhcnRfcGFnZSkgJiYgIWlzc2V0KCRjaGlsZHJlbm9mKSkgCiAgICAgICAgfHwKICAgICAgICAoaXNzZXQoJGNoaWxkcmVub2YpICYmICgkcGFnZS0+UGFyZW50SWQoKSA9PSAkY2hpbGRyZW5vZikpIC8vIExpc3Qgb2YgYWxsIGNoaWxkcmVucwogICAgICAgIHx8CiAgICAgICAgKGlzc2V0KCRzdGFydF9wYWdlKSAmJiAoc3RycG9zKCRwYWdlLT5JZEhpZXJhcmNoeSgpLCAkc3RhcnRfcGFnZS4nLicpID09PSAwKSkgLy8gTGlzdCBvZiBhbGwgZGVzY2VuZGFudHMKICAgICAgICApCiAgICAgIHsKICAgICAgICAkYXJyYXlbJHBhZ2UtPklkKCldID0gJHBhZ2UtPkhpZXJhcmNoeSgpLicuIC0gJy4kcGFnZS0+TmFtZSgpOwogICAgICB9CiAgICAgIAogICAgfQogICAgICAgIAogICAgcmV0dXJuICRhcnJheTsKICB9CiAgCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRQYWdlSWQoJGFsaWFzKSAgewogICAgJG1hbmFnZXIgPSBjbXNtcygpLT5HZXRIaWVyYXJjaHlNYW5hZ2VyKCk7CiAgICAkbm9kZSA9ICRtYW5hZ2VyLT5zdXJlR2V0Tm9kZUJ5QWxpYXMoJGFsaWFzKTsKICAgIGlmICgkbm9kZSkgewogICAgICAgICRjb250ZW50ID0gJG5vZGUtPkdldENvbnRlbnQoKTsKICAgICAgICBpZiAoJGNvbnRlbnQpCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gJGNvbnRlbnQtPklkKCk7CiAgICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgICAkbm9kZSA9ICRtYW5hZ2VyLT5zdXJlR2V0Tm9kZUJ5SWQoJGFsaWFzKTsKICAgICAgICBpZiAoJG5vZGUpIHsKICAgICAgICAgIHJldHVybiAkYWxpYXM7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIG51bGw7CiAgfQogIAogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gY3JlYXRlUGFnZVNlbGVjdCgkaWQsJG5hbWUsJHZhbHVlLCRzZXR0aW5ncyA9IGFycmF5KCkpIHsKICAgICRwYWdlcyA9IGNtc21zKCktPkdldENvbnRlbnRPcGVyYXRpb25zKCktPkdldEFsbENvbnRlbnQoKTsKICAgIAogICAgJGh0bWwgPSAnPHNlbGVjdCBuYW1lPSInLiRpZC4kbmFtZS4nIj48b3B0aW9uPicuJGdDbXMtPm1vZHVsZXNbJ0NNU0Zvcm1zJ11bJ29iamVjdCddLT5sYW5nKCdzZWxlY3Qgb25lJykuJzwvb3B0aW9uPic7CiAgICAKICAgIGZvcmVhY2goJHBhZ2VzIGFzICRwYWdlKQogICAgewogICAgICAkaHRtbCAuPSAnPG9wdGlvbiB2YWx1ZT0iJyAuICRwYWdlLT5JZCgpIC4gJyInOwogICAgICAKICAgICAgaWYoJHZhbHVlID09ICRwYWdlLT5JZCgpKQogICAgICB7CiAgICAgICAgJGh0bWwgLj0gJyBzZWxlY3RlZD0ic2VsZWN0ZWQiJzsKICAgICAgfSAgICAgIAogICAgICAKICAgICAgJGh0bWwgLj0gJz4nIC4gJHBhZ2UtPkhpZXJhcmNoeSgpLicuIC0gJy4kcGFnZS0+TmFtZSgpIC4gJzwvb3B0aW9uPic7CiAgICB9CiAgICAKICAgICRodG1sIC49ICc8L3NlbGVjdD4nOyAgICAKICAgIAogICAgcmV0dXJuICRodG1sOwogIH0KICAKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGNyZWF0ZURhdGVTZWxlY3QoJGlkLCRuYW1lLCR2YWx1ZXMsJHNldHRpbmdzKSAgewogICAgaWYgKGNvdW50KCR2YWx1ZXMpID09IDEpCiAgICB7CiAgICAgIGlmIChzdHJwb3MoJHZhbHVlc1swXSwgJy0nKSAhPT0gZmFsc2UpICR2YWx1ZXMgPSBleHBsb2RlKCctJywkdmFsdWVzWzBdKTsKICAgIH0KICAgICRzdGFydF95ZWFyID0gaXNzZXQoJHNldHRpbmdzWydzdGFydF95ZWFyJ10pPyRzZXR0aW5nc1snc3RhcnRfeWVhciddOmRhdGUoJ1knKTsKICAgICRudW1iZXJfeWVhcnMgPSBpc3NldCgkc2V0dGluZ3NbJ251bWJlcl95ZWFycyddKT8kc2V0dGluZ3NbJ251bWJlcl95ZWFycyddOjIwOwogICAgJGVuZF95ZWFyID0gJHN0YXJ0X3llYXIgKyAkbnVtYmVyX3llYXJzOwogICAgCiAgICAkeWVhciA9IHNlbGY6OkNyZWF0ZUlucHV0U2VsZWN0TGlzdCgkaWQsJG5hbWUuJ1swXScsc2VsZjo6Q3JlYXRlTnVtYmVyTGlzdCgkZW5kX3llYXIsJHN0YXJ0X3llYXIpLGFycmF5KCR2YWx1ZXNbMF0pLDEsJycsZmFsc2UpOwogICAgJG1vbnRoID0gc2VsZjo6Q3JlYXRlSW5wdXRTZWxlY3RMaXN0KCRpZCwkbmFtZS4nWzFdJyxzZWxmOjpDcmVhdGVNb250aHNMaXN0KCksYXJyYXkoJHZhbHVlc1sxXSksMSwnJyxmYWxzZSk7CiAgICAkZGF5ID0gc2VsZjo6Q3JlYXRlSW5wdXRTZWxlY3RMaXN0KCRpZCwkbmFtZS4nWzJdJyxzZWxmOjpDcmVhdGVOdW1iZXJMaXN0KDMxLDEpLGFycmF5KCR2YWx1ZXNbMl0pLDEsJycsZmFsc2UpOwogICAgaWYgKGlzc2V0KCRzZXR0aW5nc1snZXVyb3BlYW5fZGF0ZSddKSkKICAgIHsKICAgICAgcmV0dXJuICRkYXkgLiAkbW9udGggLiAkeWVhcjsKICAgIH0KICAgIHJldHVybiAkeWVhciAuICRtb250aCAuICRkYXk7CiAgfQogIAogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gQ3JlYXRlVGltZVNlbGVjdCgkaWQsJG5hbWUsJHZhbHVlcykgIHsKICAgIGlmIChjb3VudCgkdmFsdWVzKSA9PSAxKQogICAgewogICAgICBpZiAoc3RycG9zKCR2YWx1ZXNbMF0sICc6JykgIT09IGZhbHNlKSAkdmFsdWVzID0gZXhwbG9kZSgnOicsJHZhbHVlc1swXSk7CiAgICB9CiAgICAkaG91cnMgPSBzZWxmOjpDcmVhdGVJbnB1dFNlbGVjdExpc3QoJGlkLCRuYW1lLidbMF0nLHNlbGY6OkNyZWF0ZU51bWJlckxpc3QoMjMpLGFycmF5KCR2YWx1ZXNbMF0pLDEsJycsZmFsc2UpOwogICAgJG1pbnV0ZXMgPSBzZWxmOjpDcmVhdGVJbnB1dFNlbGVjdExpc3QoJGlkLCRuYW1lLidbMV0nLHNlbGY6OkNyZWF0ZU51bWJlckxpc3QoNTkpLGFycmF5KCR2YWx1ZXNbMV0pLDEsJycsZmFsc2UpOwogICAgJHNlY29uZHMgPSBzZWxmOjpDcmVhdGVJbnB1dFNlbGVjdExpc3QoJGlkLCRuYW1lLidbMl0nLHNlbGY6OkNyZWF0ZU51bWJlckxpc3QoNTkpLGFycmF5KCR2YWx1ZXNbMl0pLDEsJycsZmFsc2UpOwogICAgcmV0dXJuICRob3VycyAuICcgOiAnIC4gJG1pbnV0ZXMgLiAnIDogJyAuICRzZWNvbmRzOwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBDcmVhdGVNb250aHNMaXN0KCkgewogICAgJG1vbnRocyA9IGFycmF5KCk7CiAgICBmb3IgKCRpID0gMTsgJGkgPD0gMTI7ICsrJGkpIHsKICAgICAgJHQgPSBta3RpbWUoMCwgMCwgMCwgJGksIDEsIDIwMDApOwogICAgICAkbW9udGhzWyRpXSA9IGRhdGUoJ00nLCAkdCk7CiAgICB9CiAgICByZXR1cm4gJG1vbnRoczsKICB9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gQ3JlYXRlTnVtYmVyTGlzdCgkZW5kLCAkc3RhcnQ9MCkgewogICAgaWYgKCgkZW5kIDwgMCl8fCghaXNfbnVtZXJpYygkZW5kKSkpICRlbmQgPSAxOwogICAgJGxpc3QgPSBhcnJheSgpOwogICAgZm9yICgkaSA9ICRzdGFydDsgJGkgPD0gJGVuZDsgJGkrKykKICAgIHsKICAgICAgJGxpc3RbJGldID0gKHN0cmluZykkaTsKICAgIH0KICAgIHJldHVybiAkbGlzdDsKICB9CiAgCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBDcmVhdGVDb3VudHJpZXNTZWxlY3RvcigkaWQsJG5hbWUsJHZhbHVlcywkc2V0dGluZ3MpIHsKICAgICRzZXR0aW5nc1sndmFsdWVzJ10gPSBzZWxmOjokY291bnRyaWVzOwogICAgcmV0dXJuIHNlbGY6OkNyZWF0ZVNlbGVjdG9yKCRpZCwkbmFtZSwkdmFsdWVzLCRzZXR0aW5ncyk7CiAgfQogIAogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gQ3JlYXRlU2VsZWN0b3IoJGlkLCRuYW1lLCR2YWx1ZXMsJHNldHRpbmdzKSAgewogICAgaWYoaXNzZXQoJHNldHRpbmdzWydleHBhbmRlZCddKSAmJiAkc2V0dGluZ3NbJ2V4cGFuZGVkJ10gPT0gdHJ1ZSkKICAgIHsKICAgICAgcmV0dXJuIHNlbGY6OkNyZWF0ZUlucHV0RXhwYW5kZWRMaXN0KCRpZCwgJG5hbWUsIGlzc2V0KCRzZXR0aW5nc1sndmFsdWVzJ10pPyRzZXR0aW5nc1sndmFsdWVzJ106YXJyYXkoKSwgJHZhbHVlcywgaXNzZXQoJHNldHRpbmdzWydhZGR0ZXh0J10pPyRzZXR0aW5nc1snYWRkdGV4dCddOicnLCBpc3NldCgkc2V0dGluZ3NbJ211bHRpcGxlJ10pP3RydWU6ZmFsc2UsICRzZXR0aW5ncyk7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICRpdGVtcyA9IGlzc2V0KCRzZXR0aW5nc1sndmFsdWVzJ10pPyRzZXR0aW5nc1sndmFsdWVzJ106YXJyYXkoKTsKICAgICAgaWYoaXNzZXQoJHNldHRpbmdzWydpbmNsdWRlX2N1c3RvbSddKSkKICAgICAgewogICAgICAgICRpdGVtcyA9IGFycmF5KCcnID0+ICRzZXR0aW5nc1snaW5jbHVkZV9jdXN0b20nXSkgKyAkaXRlbXM7CiAgICAgIH0KICAgICAgcmV0dXJuIHNlbGY6OkNyZWF0ZUlucHV0U2VsZWN0TGlzdCgkaWQsICRuYW1lLCAkaXRlbXMsICR2YWx1ZXMsIGlzc2V0KCRzZXR0aW5nc1snc2l6ZSddKT8kc2V0dGluZ3NbJ3NpemUnXToxLCAnJywgaXNzZXQoJHNldHRpbmdzWydtdWx0aXBsZSddKT90cnVlOmZhbHNlKTsKICAgIH0KICB9CiAgCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBDcmVhdGVJbnB1dFNlbGVjdExpc3QoJGlkLCAkbmFtZSwgJGl0ZW1zLCAkc2VsZWN0ZWRpdGVtcz1hcnJheSgpLCAkc2l6ZT0zLCAkYWRkdHRleHQ9JycsICRtdWx0aXBsZSA9IHRydWUpIHsKICAgICRpZCA9IGNtc19odG1sZW50aXRpZXMoJGlkKTsKICAgICRuYW1lID0gY21zX2h0bWxlbnRpdGllcygkbmFtZSk7CiAgICAkc2l6ZSA9IGNtc19odG1sZW50aXRpZXMoJHNpemUpOwogICAgJG11bHRpcGxlID0gY21zX2h0bWxlbnRpdGllcygkbXVsdGlwbGUpOwogIAogICAgaWYoJG11bHRpcGxlID09IHRydWUpCiAgICB7CiAgICAgICRuYW1lIC49ICdbXSc7CiAgICB9CiAgCiAgICAkdGV4dCA9ICc8c2VsZWN0IG5hbWU9IicuJGlkLiRuYW1lLiciIGlkPSInLiRpZC4kbmFtZS4nIic7CiAgICBpZiAoJGFkZHR0ZXh0ICE9ICcnKQogICAgewogICAgICAkdGV4dCAuPSAnICcgLiAkYWRkdHRleHQ7CiAgICB9CiAgICBpZiggJG11bHRpcGxlICkKICAgICAgewogICAgICAkdGV4dCAuPSAnIG11bHRpcGxlPSJtdWx0aXBsZSIgJzsKICAgICAgfQogICAgICAKICAgICAgaWYgKCRzaXplID4gMSkKICAgICAgewogICAgICAgICR0ZXh0IC49ICcgc2l6ZT0iJy4kc2l6ZS4nIic7CiAgICAgIH0KICAgIAogICAgJHRleHQgLj0gJz4nOwogICAgCiAgICAkY291bnQgPSAwOwogICAgZm9yZWFjaCAoJGl0ZW1zIGFzICRrZXk9PiR2YWx1ZSkKICAgIHsKICAgICAgaWYgKGlzX2FycmF5KCR2YWx1ZSkpCiAgICAgICB7CiAgICAgICAgJHRleHQgLj0gJzxvcHRncm91cCBsYWJlbD0iJyAuICRrZXkgLiAnIj4nOwogICAgICAgIGZvcmVhY2ggKCR2YWx1ZSBhcyAka2V5MiA9PiAkZW50cnkpCiAgICAgICAgewogICAgICAgICAgJHRleHQgLj0gc2VsZjo6Z2VuZXJhdGVPcHRpb24oJGtleTIsICRlbnRyeSwgJHNlbGVjdGVkaXRlbXMpOwogICAgICAgICAgJGNvdW50Kys7CiAgICAgICAgfQogICAgICAgICR0ZXh0IC49ICc8L29wdGdyb3VwPic7CiAgICAgIH0KICAgICAgZWxzZQogICAgICB7CiAgICAgICAgJHRleHQgLj0gc2VsZjo6Z2VuZXJhdGVPcHRpb24oJGtleSwgJHZhbHVlLCAkc2VsZWN0ZWRpdGVtcyk7CiAgICAgICAgJGNvdW50Kys7CiAgICAgIH0KICAgIH0KICAgICR0ZXh0IC49ICc8L3NlbGVjdD4nLiJcbiI7CiAgCiAgICByZXR1cm4gJHRleHQ7CiAgfQogIAogIHByb3RlY3RlZCBzdGF0aWMgZnVuY3Rpb24gZ2VuZXJhdGVPcHRpb24oJGtleSwgJHZhbHVlLCAkc2VsZWN0ZWRpdGVtcykgIHsKICAgIC8vIGlmIChpc19hcnJheSgkdmFsdWUpKQogICAgLy8gICAgewogICAgLy8gICAgICRhcnJheSA9IGFycmF5X3NoaWZ0KCR2YWx1ZSk7CiAgICAvLyAgICAgJGtleSA9IGltcGxvZGUoJ3wnLGFycmF5X2tleXMoJGFycmF5KSk7CiAgICAvLyAgICAgJHZhbHVlID0gaW1wbG9kZSgnfCcsICRhcnJheSk7CiAgICAvLyAgIH0KCiAgICAvLyR2YWx1ZSA9IGNtc19odG1sZW50aXRpZXMoJHZhbHVlKTsKICAgICR2YWx1ZSA9ICR2YWx1ZTsKCiAgICAkdGV4dCA9ICc8b3B0aW9uIHZhbHVlPSInLiRrZXkuJyInOwogICAgaWYgKGluX2FycmF5KCRrZXksICRzZWxlY3RlZGl0ZW1zKSkKICAgIHsKICAgICAgJHRleHQgLj0gJyAnIC4gJ3NlbGVjdGVkPSJzZWxlY3RlZCInOwogICAgfQogICAgJHRleHQgLj0gJz4nOwogICAgJHRleHQgLj0gJHZhbHVlOwogICAgJHRleHQgLj0gJzwvb3B0aW9uPic7CiAgICAKICAgIHJldHVybiAkdGV4dDsgIAogIH0KICAKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIENyZWF0ZUlucHV0RXhwYW5kZWRMaXN0KCRpZCwgJG5hbWUsICRpdGVtcywgJHNlbGVjdGVkaXRlbXM9YXJyYXkoKSwgJGFkZHR0ZXh0PScnLCAkbXVsdGlwbGUgPSB0cnVlLCAkcGFyYW1zID0gYXJyYXkoKSkgewogICAgZ2xvYmFsICRnQ21zOwogICAgJGlkID0gY21zX2h0bWxlbnRpdGllcygkaWQpOwogICAgJG5hbWUgPSBjbXNfaHRtbGVudGl0aWVzKCRuYW1lKTsKICAgICRtdWx0aXBsZSA9IGNtc19odG1sZW50aXRpZXMoJG11bHRpcGxlKTsKICAKICAgICRsaXN0ID0gYXJyYXkoKTsKICAgIGZvcmVhY2goJGl0ZW1zIGFzICRrZXkgPT4gJGl0ZW0pCiAgICB7CiAgICAgIGlmIChpc19hcnJheSgkaXRlbSkpCiAgICAgIHsKICAgICAgICAkbGlzdFtdID0gYXJyYXkoJ2xhYmVsJyA9PiAnPHN0cm9uZz4nIC4gJGtleSAuICc8L3N0cm9uZz4nLCAnaW5wdXQnID0+ICcnKTsKICAKICAgICAgICBmb3JlYWNoKCRpdGVtIGFzICRrZXkyID0+ICRlbnRyeSkKICAgICAgICB7CiAgICAgICAgICAgc2VsZjo6Z2VuZXJhdGVFeHBhbmRlZExpc3QoJGxpc3QsICRpZCwgJGVudHJ5LCAkbmFtZSwgJGtleTIsICRzZWxlY3RlZGl0ZW1zLCAkbXVsdGlwbGUsICRhZGR0dGV4dCk7CiAgICAgICAgfQogICAgICAgIAogICAgICB9CiAgICAgIGVsc2UKICAgICAgewogICAgICAgIHNlbGY6OmdlbmVyYXRlRXhwYW5kZWRMaXN0KCRsaXN0LCAkaWQsICRpdGVtLCAkbmFtZSwgJGtleSwgJHNlbGVjdGVkaXRlbXMsICRtdWx0aXBsZSwgJGFkZHR0ZXh0KTsKICAgICAgfQogICAgfQogICAgCiAgICBpZihpc3NldCgkcGFyYW1zWydtb2RlJ10pICYmICgkcGFyYW1zWydtb2RlJ10gPT0gJ2h0bWwnKSkKICAgIHsKICAgICAgLy8gVE9ETwogICAgICByZXR1cm4gJ05vdCBpbXBsZW1lbnRlZCB5ZXQnOwogICAgfQogICAgZWxzZWlmKGlzc2V0KCRwYXJhbXNbJ21vZGUnXSkgJiYgKCRwYXJhbXNbJ21vZGUnXSA9PSAnYXJyYXknKSkKICAgIHsKICAgICAgcmV0dXJuICRsaXN0OwogICAgfQogICAgZWxzZQogICAgewogICAgICAkaHRtbCA9ICcnOwogICAgICBpZiAoY291bnQoJGxpc3QpID4gMCkKICAgICAgewogICAgICAgICRodG1sIC49ICc8dWw+JzsKICAgICAgICBmb3JlYWNoKCRsaXN0IGFzICRpdGVtKQogICAgICAgIHsKICAgICAgICAgICRodG1sIC49ICc8bGk+Jy4kaXRlbVsnaW5wdXQnXS4gJyAnLiAkaXRlbVsnbGFiZWwnXSAuJzwvbGk+JzsKICAgICAgICB9CiAgICAgICAgJGh0bWwgLj0gJzwvdWw+JzsKICAgICAgfQogICAgICByZXR1cm4gJGh0bWw7CiAgICB9CiAgCiAgfQogIAogIHByb3RlY3RlZCBzdGF0aWMgZnVuY3Rpb24gZ2VuZXJhdGVFeHBhbmRlZExpc3QoJiRsaXN0LCAkaWQsICRpdGVtLCAkbmFtZSwgJGtleSwgJHNlbGVjdGVkaXRlbXMsICRtdWx0aXBsZSwgJGFkZHR0ZXh0KSB7CiAgICBpZiAoaW5fYXJyYXkoJGtleSwgJHNlbGVjdGVkaXRlbXMpKQogICAgewogICAgICAkdGV4dCA9ICcgY2hlY2tlZD0iY2hlY2tlZCInIC4gJyAnIC4gJGFkZHR0ZXh0OwogICAgfQogICAgZWxzZQogICAgewogICAgICAkdGV4dCA9ICcgJyAuICRhZGR0dGV4dDsKICAgIH0KICAgIAogICAgaWYoJG11bHRpcGxlKQogICAgeyAgICAgICAgCiAgICAgICRsaXN0W10gPSBhcnJheSgKICAgICAgICAnbGFiZWwnID0+ICc8bGFiZWwgZm9yPSInLiRpZC4kbmFtZS4nWycuJGtleS4nXSI+JyAuICRpdGVtIC4gJzwvbGFiZWw+JywKICAgICAgICAnaW5wdXQnID0+ICc8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9IicuJGlkLiRuYW1lLidbJy4ka2V5LiddIiBpZD0iJy4kaWQuJG5hbWUuJ1snLiRrZXkuJ10iIHZhbHVlPSInLiRrZXkuJyInLiR0ZXh0LicgLz4nCiAgICAgICAgKTsKICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgJGxpc3RbXSA9IGFycmF5KAogICAgICAgICdsYWJlbCcgPT4gJzxsYWJlbCBmb3I9IicuJGlkLiRuYW1lLiRrZXkuJyI+JyAuICRpdGVtIC4gJzwvbGFiZWw+JywKICAgICAgICAnaW5wdXQnID0+ICc8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9IicuJGlkLiRuYW1lLiciIGlkPSInLiRpZC4kbmFtZS4ka2V5LiciIHZhbHVlPSInLiRrZXkuJyInLiR0ZXh0LicgLz4nCiAgICAgICAgKTsKICAgIH0KICAgIHJldHVybiAkbGlzdDsKICB9CiAgCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBpc0ltYWdlKCRmaWxlbmFtZSkgewogICAgJHZhbGlkX2V4dGVuc2lvbnMgPSBhcnJheSgnanBlZycsJ2pwZycsJ2dpZicsJ3BuZycpOwogICAgaWYgKGluX2FycmF5KHNlbGY6OmdldEZpbGVFeHRlbnNpb24oJGZpbGVuYW1lKSwkdmFsaWRfZXh0ZW5zaW9ucykpCiAgICB7CiAgICAgIHJldHVybiB0cnVlOwogICAgfQogICAgcmV0dXJuIGZhbHNlOwogIH0KICAKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldEZpbGVFeHRlbnNpb24oJGZpbGVuYW1lKSAgewogICAgJGZpbGUgPSBleHBsb2RlKCcuJywgJGZpbGVuYW1lKTsKICAgICAgaWYgKGNvdW50KCRmaWxlKSA+IDEpCiAgICAgIHsKICAgICAgICByZXR1cm4gc3RydG9sb3dlcihlbmQoJGZpbGUpKTsKICAgICAgfQogICAgICBlbHNlIAogICAgICB7CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgIH0KICB9CgogIC8vIEVSUk9SUwogICAgCiAgcHVibGljIGZ1bmN0aW9uIGhhc0Vycm9ycygpIHsKICAgIGlmIChjb3VudCgkdGhpcy0+Zm9ybV9lcnJvcnMpID09IDApCiAgICB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB0cnVlOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIG5vRXJyb3IoKSB7CiAgICByZXR1cm4gISR0aGlzLT5oYXNFcnJvcnMoKTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBnZXRFcnJvcnMoKSB7CiAgICByZXR1cm4gJHRoaXMtPmZvcm1fZXJyb3JzOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHNob3dFcnJvcnMoKSAgewogICAgJGh0bWwgPSAnJzsKICAgIGlmKGNvdW50KCR0aGlzLT5mb3JtX2Vycm9ycykgPiAwKQogICAgewogICAgICAkaHRtbCAuPSAnPHVsIGNsYXNzPSJmb3JtX3dpZGdldF9lcnJvcnMiPic7CiAgICAgIGZvcmVhY2goJHRoaXMtPmZvcm1fZXJyb3JzIGFzICRwcmlvcml0eSA9PiAkZXJyb3JzKQogICAgICB7CiAgICAgICAgJGh0bWwgLj0gJzxsaT4nOwogICAgICAgIGlmICgkdGhpcy0+c2hvd19wcmlvcml0eSkgJGh0bWwgLj0gJzxlbSBjbGFzcz0iZm9ybV93aWRnZXRfZXJyb3JfcHJpb3JpdHkiPicuJHByaW9yaXR5Lic8L2VtPic7CiAgICAgICAgJGh0bWwgLj0gJzx1bD4nOwogICAgICAgIGZvcmVhY2goJGVycm9ycyBhcyAkZXJyb3IpCiAgICAgICAgewogICAgICAgICAgJGh0bWwgLj0gJzxsaSBjbGFzcz0iZm9ybV93aWRnZXRfZXJyb3JfbWVzc2FnZSI+Jy4kZXJyb3IuJzwvbGk+JzsKICAgICAgICB9ICAgICAgICAKICAgICAgICAkaHRtbCAuPSAnPC91bD48L2xpPic7CiAgICAgIH0KICAgICAgJGh0bWwgLj0gJzwvdWw+JzsKICAgIH0KICAgIHJldHVybiAkaHRtbDsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBzZXRFcnJvcigkbWVzc2FnZSwkcHJpb3JpdHk9J2RlZmF1bHQnKSAgewogICAgJHRoaXMtPmZvcm1fZXJyb3JzWyRwcmlvcml0eV1bXSA9ICRtZXNzYWdlOwogIH0KCn0=]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/admin.form.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRmb3JtKX0Ke2lmICRmb3JtLT5oYXNFcnJvcnMoKX08ZGl2IHN0eWxlPSJjb2xvcjogcmVkOyI+eyRmb3JtLT5zaG93RXJyb3JzKCl9PC9kaXY+ey9pZn0KCXskZm9ybS0+Z2V0SGVhZGVycygpfQoJCgl7JGZvcm0tPnNob3dXaWRnZXRzKCc8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxkaXYgY2xhc3M9InBhZ2V0ZXh0Ij4lTEFCRUwlOjwvZGl2PgoJCTxkaXYgY2xhc3M9InBhZ2VpbnB1dCI+JUlOUFVUJSA8ZW0+JVRJUFMlPC9lbT48L2Rpdj4KCQk8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiIHN0eWxlPSJjb2xvcjogcmVkOyI+JUVSUk9SUyU8L2Rpdj4KCTwvZGl2PicpfQoJCgl7JGZvcm0tPnJlbmRlckZpZWxkc2V0cygnPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8ZGl2IGNsYXNzPSJwYWdldGV4dCI+JUxBQkVMJTo8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiPiVJTlBVVCUgPGVtPiVUSVBTJTwvZW0+PC9kaXY+CgkJPGRpdiBjbGFzcz0icGFnZWlucHV0IiBzdHlsZT0iY29sb3I6IHJlZDsiPiVFUlJPUlMlPC9kaXY+Cgk8L2Rpdj4nKX0KCQoJPHA+CgkJeyRmb3JtLT5nZXRCdXR0b25zKCl9Cgk8L3A+Cgl7JGZvcm0tPmdldEZvb3RlcnMoKX0Key9pZn0=]]></data>
	</file>
</module>
