# wlk_qt v0.9.8 # A quicktime embed plugin for all those new H264 movies. (With Javascript Option!) # Walker Hamilton # http://www.walkerhamilton.com # ...................................................................... # This is a plugin for Textpattern - http://textpattern.com/ # To install: textpattern > admin > plugins # Paste the following text into the 'Install plugin' box: # ...................................................................... YTo5OntzOjc6InZlcnNpb24iO3M6NToiMC45LjgiO3M6NjoiYXV0aG9yIjtzOjE1OiJXYWxr ZXIgSGFtaWx0b24iO3M6MTA6ImF1dGhvcl91cmkiO3M6Mjk6Imh0dHA6Ly93d3cud2Fsa2Vy aGFtaWx0b24uY29tIjtzOjExOiJkZXNjcmlwdGlvbiI7czo4MToiQSBxdWlja3RpbWUgZW1i ZWQgcGx1Z2luIGZvciBhbGwgdGhvc2UgbmV3IEgyNjQgbW92aWVzLiAoV2l0aCBKYXZhc2Ny aXB0IE9wdGlvbiEpIjtzOjQ6InR5cGUiO2k6MDtzOjQ6Im5hbWUiO3M6Njoid2xrX3F0Ijtz OjQ6ImhlbHAiO3M6Njk4NzoiCTxoMT53bGtfcXQ8L2gxPgoJPHA+djAuOS43IDogRml4ZWQg YSBwcm9ibGVtIHdoZXJlYnkgaXQgd291bGRuJiM4MjE3O3QgcHJvcGVybHkgZGV0ZWN0IG1v dmllcyBiZWNhdXNlIG9mIGlmOmVsc2Ugc3RhdGVtZW50IG9yZGVyLjwvcD4KCTxwPlRoaXMg cGx1Z2luIGlzIGFuIGludGVncmF0aW9uIG9mIHRoZSBRdWlja3RpbWUgUGxheWVyLjxiciAv PgpUaGlzIHBsdWdpbiBlbWJlZHMgcXVpY2t0aW1lIHZpZGVvcyBpbiB5b3VyIHRleHRwYXR0 ZXJuIGZvcm1zLjwvcD4KCTxoMj5JbnN0YWxsYXRpb248L2gyPgoJPHA+U2luY2UgeW91IGNh biByZWFkIHRoaXMgaGVscCwgeW91IGhhdmUgaW5zdGFsbGVkIHRoZSBwbHVnaW4gdG8gdHhw LjxiciAvPgpEaWQgeW91IGFjdGl2YXRlIGl0PzwvcD4KCTxoMj5Vc2FnZTwvaDI+Cgk8cD5Q bGFjZSB0aGUgd2xrX3F0IHRhZyBpbiBhbiBhcnRpY2xlLCBmb3JtIG9yIHBhZ2UuPC9wPgoJ PHA+R28gdG8gPGVtPmFkbWluPC9lbT4gLT4gPGVtPnByZWZlcmVuY2VzPC9lbT4gLT4gPGVt PmFkdmFuY2VkIHByZWZlcmVuY2VzPC9lbT4gYW5kIGNyZWF0ZSBhIGN1c3RvbSBmb3JtIGZp ZWxkIGNhbGxlZCB2aWRlby48L3A+Cgk8cD5lbWJlZCB0aGUgdGFnIGluIHlvdXIgYXJ0aWNs ZSBvciBwYWdlIGZvcm0uPC9wPgo8Y29kZT4mbHQ7dHhwOndsa19xdCB3aWR0aD0iMzIwIiBo ZWlnaHQ9IjI0MCIgLyZndDs8L2NvZGU+Cgk8cD5JdCB0YWtlcyBhIGZldyBvcHRpb25zOjwv cD4KCTx1bD4KCQk8bGk+PHN0cm9uZz53aWR0aDwvc3Ryb25nPiAmIzgyMTE7IHNwZWNpZmll cyB3aWR0aC4gZGVmYXVsdHMgdG8gMzIwcHguPC9saT4KCQk8bGk+PHN0cm9uZz5oZWlnaHQ8 L3N0cm9uZz4gJiM4MjExOyBzcGVjaWZpZXMgaGVpZ2h0LiBkZWZhdWx0cyB0byAyNTZweC4g KHRha2UgeW91ciBtb3ZpZSBzaXplIGFuZCBhZGQgMTZweCBpZiB5b3Ugd2FudCB0aGUgY29u dHJvbGxlciB0byBkaXNwbGF5IHByb3Blcmx5KTwvbGk+CgkJPGxpPjxzdHJvbmc+Y29udHJv bGxlcjwvc3Ryb25nPiAmIzgyMTE7IGNhbiBiZSB0cnVlIG9yIGZhbHNlLiBkZWZhdWx0cyB0 byB0cnVlLiB0aGlzIG1lYW5zLCBpdCBkaXNwbGF5cyB0aGUgY29udHJvbGxlciBieSBkZWZh dWx0LjwvbGk+CgkJPGxpPjxzdHJvbmc+YXV0b3BsYXk8L3N0cm9uZz4gJiM4MjExOyBjYW4g YmUgdHJ1ZSBvciBmYWxzZS4gZGVmYXVsdHMgdG8gdHJ1ZS4gdGhpcyBtZWFucyB0aGUgbW92 aWUgc3RhcnRzIHBsYXlpbmcgYXV0b21hdGljYWxseS48L2xpPgoJCTxsaT48c3Ryb25nPnF0 dHlwZTwvc3Ryb25nPiAmIzgyMTE7IGNhbiBiZSBzZXQgdG8gdGhlIG1pbWUtdHlwZSB5b3Ug d2FudC4gZGVmYXVsdHMgdG8gJiM4MjE2O3ZpZGVvL3F1aWNrdGltZSYjODIxNzsuIHlvdSBj YW4gZmluZCBtb3JlIG1pbWUtdHlwZXMgc29tZXBsYWNlIGxpa2UmIzgyMzA7Li4gPGEgaHJl Zj0iaHR0cDovL3d3dy53ZWJtYXN0ZXItdG9vbGtpdC5jb20vbWltZS10eXBlcy5zaHRtbCI+ aGVyZTwvYT48L2xpPgoJCTxsaT48c3Ryb25nPnNjYWxlPC9zdHJvbmc+ICYjODIxMTsgY2Fu IGJlIHNldCB0byAmIzgyMTY7VG9GaXQmIzgyMTc7LCAmIzgyMTY7QXNwZWN0JiM4MjE3Oywg b3IgPGVtPm48L2VtPiAoX25fIGJlaW5nIGEgbnVtYmVyIHRoYXQgZGV0ZXJtaW5lcyB0aGUg c2NhbGluZyBmYWN0b3IpLiBUbyBGaXQgZml0cyBpdCB0byB0aGUgd2lkdGggYW5kIGhlaWdo dCB5b3Ugc3BlY2lmeS4gQXNwZWN0IGZpdHMgaXQgd2l0aGluIHRoZSB3aWR0aCBhbmQgaGVp Z2h0IHlvdSBzcGVjaWZ5IHdoaWxlIHByZXNldmVyaW5nIHRoZSBhc3BlY3QgcmF0aW8uPC9s aT4KCQk8bGk+PHN0cm9uZz5qczwvc3Ryb25nPiAmIzgyMTE7IGNhbiBiZSBzZXQgdG8gdHJ1 ZSBvciBmYWxzZS4gZGVmYXVsdHMgdG8gZmFsc2UuIGlmIGl0JiM4MjE3O3MgdHJ1ZSwgdGhl biB0aGUgcXVpY2t0aW1lIG1vdmllIGlzIGVtYmVkZGVkIGluIHRoZSBwYWdlIHVzaW5nIGph dmFzY3JpcHQmIzgyMzA7dGhpcyBpcyBhIGJpdCBtb3JlIGNvbXBsaWNhdGVkLiBNYWtlIHN1 cmUgeW91IHJlYWQgYWJvdXQgdGhpcyBvcHRpb24gbGF0ZXIuIChJdCYjODIxNztzIGhlbHBm dWwgZm9yIEVvbGFzIGRpc2FibGVkIGJyb3dzZXJzKTwvbGk+CgkJPGxpPjxzdHJvbmc+Ymdj b2xvcjwvc3Ryb25nPiAmIzgyMTE7IGNhbiBiZSBzZXQgdG8gYSBoZXggdmFsdWUgb3IgYSBz aW1wbGUgY29sb3IgbmFtZSwgZS5nLiAmIzgyMjA7cmVkJiM4MjIxOyBvciAmIzgyMjA7NWE1 YTVhJiM4MjIxOy4gSWYgbm90IHNldCwgZG9lcyBub3QgZ2V0IHdyaXR0ZW4gdG8gcGFnZS4g RG9lcyBub3QgZ2V0IHdyaXR0ZW4gdG8gcGFnZSBpZiB0aGUgdmFsdWUgaXMgbm90IGEgaGV4 IHZhbHVlIG9yIG9uZSBvZiB0aGUgc3VwcG9ydGVkIGNvbG9ycyBmb3VuZCBvbiA8YSBocmVm PSJodHRwOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9kb2N1bWVudGF0aW9uL1F1aWNrVGltZS9D b25jZXB0dWFsL1FUU2NyaXB0aW5nX0hUTUwvUVRTY3JpcHRpbmdfSFRNTF9Eb2N1bWVudC9j aGFwdGVyXzEwMDBfc2VjdGlvbl8zLmh0bWwiPnRoaXMgcGFnZTwvYT4uPC9saT4KCQk8bGk+ PHN0cm9uZz5tdm5hbWU8L3N0cm9uZz4gJiM4MjExOyBjYW4gYmUgc2V0IHRvIGEgc3RyIHRo YXQgbmFtZXMgdGhlIG1vdmllIChmb3IgdGFnZXRpbmcgZnJvbSBhbm90aGVyIG1vdmllKS4g SWYgbm90IHNldCwgZG9lcyBub3QgZ2V0IHdyaXR0ZW4gdG8gcGFnZS48L2xpPgoJCTxsaT48 c3Ryb25nPmZvdjwvc3Ryb25nPiAmIzgyMTE7IENhbiBiZSBzZXQgdG8gYSBudW1iZXIgKDAt MzYwKSB0aGF0IGluZGljYXRlcyB0aGUgaW5pdGlhbCBmaWVsZCBvZiB2aWV3IGZvciBRVFZS LiBJZiBub3Qgc2V0LCBkb2VzIG5vdCBnZXQgd3JpdHRlbiB0byBwYWdlLjwvbGk+CgkJPGxp PjxzdHJvbmc+bm9kZTwvc3Ryb25nPiAmIzgyMTE7IENhbiBiZSBzZXQgdG8gYSBudW1iZXIg dGhhdCBpbmRpY2F0ZXMgdGhlIGluaXRpYWwgbm9kZSBvZiBhIG11bHRpbm9kZSBRVFZSIG1v dmllLiBJZiBub3Qgc2V0LCBkb2VzIG5vdCBnZXQgd3JpdHRlbiB0byBwYWdlLjwvbGk+CgkJ PGxpPjxzdHJvbmc+cGFuPC9zdHJvbmc+ICYjODIxMTsgQ2FuIGJlIHNldCB0byBhIG51bWJl ciAoMC0zNjApIHRoYXQgaW5kaWNhdGVzIGluaXRpYWwgcGFuIGRlZ3JlZXMuIElmIG5vdCBz ZXQsIGRvZXMgbm90IGdldCB3cml0dGVuIHRvIHBhZ2UuPC9saT4KCQk8bGk+PHN0cm9uZz50 aWx0PC9zdHJvbmc+ICYjODIxMTsgQ2FuIGJlIHNldCB0byBhIG51bWJlciAoMC0zNjApIHRo YXQgaW5kaWNhdGVzIGluaXRpYWwgdGlsdCBkZWdyZWVzLiBJZiBub3Qgc2V0LCBkb2VzIG5v dCBnZXQgd3JpdHRlbiB0byBwYWdlLjwvbGk+CgkJPGxpPjxzdHJvbmc+a2lvc2ttb2RlPC9z dHJvbmc+ICYjODIxMTsgSWYgeW91IHNwZWNpZnkgdGhpcyBpbiB0aGUgd2xrX3F0IHR4cCB0 YWcsIGl0IHR1cm5zIGl0IG9uLiBJZiB5b3Ugd2FudCBpdCB0byByZW1haW4gb2ZmLCBqdXN0 IGRvbiYjODIxNzt0IHNwZWNpZnkgaXQuPC9saT4KCQk8bGk+PHN0cm9uZz5sb29wPC9zdHJv bmc+ICYjODIxMTsgQWxsb3dzIHlvdSB0byBzZXQgdGhlIG1vdmllIG9yIGF1ZGlvIHRvIGxv b3AuIENhbiBiZSBzZXQgdG8gdHJ1ZSBvciBwYWxpbmRyb21lIChiZWF0cyBtZSksIG9yIGZh bHNlLiBPdXRwdXRzIG5vIGxvb3Agc2V0dGluZ3MgaWYgeW91IGRvbiYjODIxNzt0IHNwZWNp ZnkgaXQuPC9saT4KCQk8bGk+PHN0cm9uZz5maWVsZG5hbWU8L3N0cm9uZz4gJiM4MjExOyBU aGlzIGFsbG93cyB5b3UgdG8gc3BlY2lmeSBhIHBhcnRpY3VsYXIgY3VzdG9tX2ZpZWxkIGJ5 IG5hbWUgdGhhdCB3bGtfcXQgc2hvdWxkIGNoZWNrIGluIHRvIHNlZSBpZiBhIG1vdmllIGlz IHNldC4gKGRlZmF1bHRzIHRvICYjODIyMDt2aWRlbyYjODIyMTspPC9saT4KCQk8bGk+PHN0 cm9uZz5wb3N0ZXJtb3ZpZTwvc3Ryb25nPiAmIzgyMTE7IFRoaXMgaXMgdXNlZCBpZiB5b3Ug d2FudCB0byBzcGVjaWZ5IGEgcGFydGljdWxhciBwb3N0ZXJtb3ZpZS4gUG9zdGVyIG1vdmll cyBhcmUgc2luZ2xlIHNlY29uZCwgbG9vcGluZyBtb3ZpZXMgb3IgaW1hZ2UgZmlsZXMgKHBu ZyBvciBqcGVnKSB0aGF0IGFyZSBjbGlja2VkIG9uIHRvIGxvYWQgdGhlICYjODIyMDttYWlu JiM4MjIxOyBtb3ZpZS4gU2V0IHRoaXMgdG8gdGhlIGlkIyBvZiB0aGUgaW1hZ2Ugb3IgZmls ZSB5b3Ugd2FudCB0byB1c2UuIElmIHlvdSYjODIxNztyZSB1c2luZyBhbiBpbWFnZSByYXRo ZXIgdGhhbiBhIGxvb3BpbmcgbW92aWUgbWFrZSBzdXJlIHlvdSBzcGVjaWZ5IHBtdHlwZT0m IzgyMjE7aW1hZ2UvcXVpY2t0aW1lJiM4MjIxOyBpbiB0aGUgd2xrX3F0IHRhZy48L2xpPgoJ CTxsaT48c3Ryb25nPnBtdHlwZTwvc3Ryb25nPiAmIzgyMTE7IFRoaXMgY2FuIGJlIHVzZWQg dG8gc3BlY2lmeSB3aGF0IHR5cGUgb2YgcG9zdGVyIG1vdmllIHlvdSYjODIxNztsbCBiZSB1 c2luZyB0byBmcm9udCB5b3VyIG1vdmllcyAoVGhpcyBpcyBvcHRpb25hbCkuIElmIG5vdCBz ZXQgYW5kIGEgcG9zdGVybW92aWUgaXMgc3BlY2lmaWVkLCBpdCB1c2VzICYjODIyMDt2aWRl by9xdWlja3RpbWUmIzgyMjE7IGJ5IGRlZmF1bHQuPC9saT4KCTwvdWw+Cgk8dWw+CgkJPGxp PjxzdHJvbmc+cG1maWVsZG5hbWU8L3N0cm9uZz4gJiM4MjExOyBUaGlzIGFsbG93cyB5b3Ug dG8gc3BlY2lmeSBhIHBhcnRpY3VsYXIgY3VzdG9tX2ZpZWxkIGJ5IG5hbWUgdGhhdCB3bGtf cXQgc2hvdWxkIGNoZWNrIGluIHRvIHNlZSBpZiBhIG1vdmllIGlzIHNldC4gKGRlZmF1bHRz IHRvICYjODIyMDtwb3N0ZXImIzgyMjE7KQoJPGgyPkVtYmVkZGluZyBhIHNwZWNpZmljIG1v dmllIGluIGEgcGFnZTo8L2gyPgoJPHA+SWYgeW91IHNwZWNpZnkgdmlkZW8gYXMgYW4gYXR0 cmlidXRlIHlvdSBjYW4gdXNlIHRoZSBmaWxlIG51bWJlciBmcm9tIHRoZSBmaWxlcyB0YWIg KGlmIHlvdSB1cGxvYWRlZCB0aGUgdmlkZW8gaW4gdGhpcyBtYW5uZXIpPC9wPgo8Y29kZT4m bHQ7dHhwOndsa19xdCB2aWRlbz0iNiIgLyZndDs8L2NvZGU+Cgk8cD5vciB5b3UgY2FuIHVz ZSB0aGUgZnVsbCBwYXRoIHRvIHRoZSBmaWxlLjwvcD4KPGNvZGU+Jmx0O3R4cDp3bGtfcXQg dmlkZW89Imh0dHA6Ly93d3cubXlkb21haW4uY29tL21vdmllcy9teW1vdmllLm1vdiIgLyZn dDs8L2NvZGU+Cgk8aDI+QXR0YWNoaW5nIGEgbW92aWUgdG8gYW4gYXJ0aWNsZTo8L2gyPgoJ PHA+SW4gdGhpcyBjYXNlLCB5b3UgdXNlIHRoYXQgY3VzdG9tICYjODIxNjt2aWRlbyYjODIx NzsgZmllbGQgYW5kIGVudGVyIHRoZSBmdWxsIHBhdGggb3IgeW91ciBmaWxlIG51bWJlciBp biB0aGF0IGZpZWxkLiBUaGUgdGhlIGZvcm0gYmVpbmcgdXNlZCB0byBvdXRwdXQgdGhlIGFy dGljbGUgc2ltcGx5IG5lZWRzIDx0eHA6d2xrX3F0IC8+IGluIGl0IHNvbWV3aGVyZSAod2l0 aCBhbnkgb3RoZXIgYXR0cmlidXRlcyB5b3Ugd2FudCB0byBzcGVjaWZ5ICYjODIxMTsgZS5n LiB3aWR0aCwgaGVpZ2h0LCBhdXRvcGxheSkuPC9wPgoJPHA+TXkgZm9ybSBsb29rcyBsaWtl IHRoaXM6PC9wPgoJPHA+YmMuLiA8aDM+PHR4cDpwZXJtbGluaz48dHhwOnRpdGxlIC8+PC90 eHA6cGVybWxpbms+PC9oMz48YnIgLz4KPHR4cDp3bGtfcXQgd2lkdGg9IjMyMCIgaGVpZ2h0 PSIyNDAiIC8+PGJyIC8+Cjx0eHA6Ym9keSAvPjwvcD4KCTxwPlRoYXQgb3V0cHV0cyB0aGUg YXJ0aWNsZSBvbiB0aGUgcGFnZSB3aGVyZSB0aGlzIGZvcm0gaXMgdXNlZCB3aXRoIHRoZSB0 aXRsZSBvZiB0aGUgYXJ0aWNsZSBhcyBhIGhlYWRlciB0aGVuIHRoZSBtb3ZpZSBhcyAzMjBw eCBieSAyNDBweCwgdGhlbiB0aGUgdGV4dCB0aGF0IHdhcyBpbiB0aGUgYm9keSBmaWVsZCBv ZiB0aGUgYXJ0aWNsZSBmb3JtLjwvcD4KCTxoMj5FbWJlZGRpbmcgd2l0aCBKYXZhc2NyaXB0 LjwvaDI+Cgk8cD5Zb3UgbXVzdCBmaXJzdCB1cGxvYWQgPGEgaHJlZj0iaHR0cDovL2Rldi5z aWduYWxmYWRlLmNvbS90eHAvd2xrX2pzLnppcCI+d2xrX3F0LmpzPC9hPiB0byB5b3VyIHNl cnZlci4gKHlvdSYjODIxNztsbCBuZWVkIHRvIGRvd25sb2FkIGl0LCB1bnppcCBpdCwgdGhl biB1cGxvYWQgaXQpPC9wPgoJPHA+VGhlbiBwdXQgdGhpcyBpbiB0aGUgaGVhZGVyIG9mIHRo ZSBwYWdlIHlvdSB3aXNoIHRvIGRpc3BsYXkgbW92aWVzIG9uIChldmVyeSBwYWdlJiM4MjMw Oy55ZXMpOjwvcD4KPGNvZGU+Jmx0O3R4cDp3bGtfc2NyaXB0bGluayBwYXRoPSJodHRwOi8v bXlkb21haW4uY29tL3RoZS9wYXRoL3RvL3dsa19xdC5qcyIgLyZndDs8L2NvZGU+Cgk8cD5X aGVyZSB5b3UgZmluZCAmIzgyMjA7aHR0cDovL215ZG9tYWluLmNvbS90aGUvcGF0aC90by93 bGtfcXQuanMmIzgyMjE7LCBtYWtlIHN1cmUgeW91IHB1dCB0aGUgZnVsbCBwYXRoIHRvIHRo ZSBmaWxlLjwvcD4KCTxwPlRoZW4sIGxpa2Ugbm9ybWFsLCBwdXQgdGhlIHR4cDp3bGtfcXQg aW50byB0aGUgZm9ybSB3aGVyZSB5b3Ugbm9ybWFsbHkgd291bGQgd2l0aCBhbGwgdGhlIG9w dGlvbnMgeW91IG5vcm1hbGx5IHVzZTo8L3A+Cgk8cD5iYy4uIDxoMz48dHhwOnBlcm1saW5r Pjx0eHA6dGl0bGUgLz48L3R4cDpwZXJtbGluaz48L2gzPjxiciAvPgo8dHhwOndsa19xdCB3 aWR0aD0iMzIwIiBoZWlnaHQ9IjI0MCIganM9InRydWUiIC8+PGJyIC8+Cjx0eHA6Ym9keSAv PjwvcD4KCTxwPk5vdGljZSB0aGF0IHlvdSBoYXZlIHRvIGFkZCA8Y29kZT5qcz0idHJ1ZSI8 L2NvZGU+IHRvIHRoZSBvcHRpb25zLjwvcD4KCTxwPnAucy4gSWYgeW91IHVzZSBqYXZhc2Ny aXB0IGVtYmVkJiM4MjMwOy4uaXQgYXV0b21hdGljYWxseSBnZXRzIGEgZGl2IHdpdGggaWQ9 JiM4MjIxO3dsa19xdF92aWRlbyYjODIyMTsgd3JhcHBlZCBhcm91bmQgaXQhPC9wPgoJPHA+ SG9wZWZ1bGx5IHlvdSYjODIxNztyZSByb2NraW4mIzgyMTc7IGphdmFzY3JpcHQgZW1iZWRz IG5vdyEgJiM0MjtmaW5nZXJzIGNyb3NzZWQmIzQyOzwvcD4KCgogIjtzOjQ6ImNvZGUiO3M6 MTQ4Nzg6ImZ1bmN0aW9uIHdsa19xdCgkYXR0cykgewoJCWdsb2JhbCAkcHJlZnM7CgkJZ2xv YmFsICRwZXJtbGlua19tb2RlOwoJCWdsb2JhbCAkdGhpc2FydGljbGU7CgoJCSRjb2xvckFy ciA9IGFycmF5KCdCTEFDSycsJ0dSRUVOJywnU0lMVkVSJywnTElNRScsJ0dSQVknLCdPTElW RScsJ1dISVRFJywnWUVMTE9XJywnTUFST09OJywnTkFWWScsJ1JFRCcsJ0JMVUUnLCdQVVJQ TEUnLCdURUFMJywnRlVDSFNJQScsJ0FRVUEnKTsKCgkJZXh0cmFjdChsQXR0cyhhcnJheSgK CQkJJ3ZpZGVvJz0+JycsCgkJCSdwb3N0ZXJtb3ZpZSc9PicnLAoJCQkncG1zZXQnPT4ndHJ1 ZScsCgkJCSd3aWR0aCc9PiAoIWVtcHR5KCRwcmVmc1snd2xrX3F0X3dpZHRoJ10pKT8kcHJl ZnNbJ3dsa19xdF93aWR0aCddOiczMjAnLAoJCQknaGVpZ2h0Jz0+ICghZW1wdHkoJHByZWZz Wyd3bGtfcXRfaGVpZ2h0J10pKT8kcHJlZnNbJ3dsa19xdF9oZWlnaHQnXTonMjU2JywKCQkJ J3NjYWxlJz0+ICghZW1wdHkoJHByZWZzWyd3bGtfcXRfc2NhbGUnXSkpPyRwcmVmc1snd2xr X3F0X3NjYWxlJ106J3RvZml0JywKCQkJJ2NvbnRyb2xsZXInPT4oIWVtcHR5KCRwcmVmc1sn d2xrX3F0X2NvbnRyb2xsZXInXSkpPyRwcmVmc1snd2xrX3F0X2NvbnRyb2xsZXInXTondHJ1 ZScsCiAgICAgICAgICAgICdhdXRvcGxheSc9PighZW1wdHkoJHByZWZzWyd3bGtfcXRfYXV0 b3BsYXknXSkpPyRwcmVmc1snd2xrX3F0X2F1dG9wbGF5J106J3RydWUnLAoJCQkncXR0eXBl Jz0+KCFlbXB0eSgkcHJlZnNbJ3dsa19xdF9xdHR5cGUnXSkpPyRwcmVmc1snd2xrX3F0X3F0 dHlwZSddOid2aWRlby9xdWlja3RpbWUnLAoJCQkncG10eXBlJz0+KCFlbXB0eSgkcHJlZnNb J3dsa19xdF9wbXR5cGUnXSkpPyRwcmVmc1snd2xrX3F0X3BtdHlwZSddOid2aWRlby9xdWlj a3RpbWUnLAoJCQknanMnPT4oIWVtcHR5KCRwcmVmc1snd2xrX3F0X3F0dHlwZSddKSk/JHBy ZWZzWyd3bGtfcXRfanMnXTonZmFsc2UnLAoJCQknZmllbGRuYW1lJz0+KCFlbXB0eSgkcHJl ZnNbJ3dsa19xdF9maWVsZG5hbWUnXSkpPyRwcmVmc1snd2xrX3F0X2ZpZWxkbmFtZSddOid2 aWRlbycsCgkJCSdiZ2NvbG9yJz0+KCFlbXB0eSgkcHJlZnNbJ3dsa19xdF9iZ2NvbG9yJ10p KT8kcHJlZnNbJ3dsa19xdF9iZ2NvbG9yJ106JycsCgkJCSdtdm5hbWUnPT4oIWVtcHR5KCRw cmVmc1snd2xrX3F0X212bmFtZSddKSk/JHByZWZzWyd3bGtfcXRfbXZuYW1lJ106JycsCgkJ CSdub2RlJz0+KCFlbXB0eSgkcHJlZnNbJ3dsa19xdF9ub2RlJ10pKT8kcHJlZnNbJ3dsa19x dF9ub2RlJ106JycsCgkJCSdwYW4nPT4oIWVtcHR5KCRwcmVmc1snd2xrX3F0X3BhbiddKSk/ JHByZWZzWyd3bGtfcXRfcGFuJ106JycsCgkJCSd0aWx0Jz0+KCFlbXB0eSgkcHJlZnNbJ3ds a19xdF90aWx0J10pKT8kcHJlZnNbJ3dsa19xdF90aWx0J106JycsCgkJCSdmb3YnPT4oIWVt cHR5KCRwcmVmc1snd2xrX3F0X2ZvdiddKSk/JHByZWZzWyd3bGtfcXRfZm92J106JycsCgkJ CSdraW9za21vZGUnPT4oIWVtcHR5KCRwcmVmc1snd2xrX3F0X2tpb3NrbW9kZSddKSk/J3Ry dWUnOidmYWxzZScsCgkJCSdsb29wJz0+KCFlbXB0eSgkcHJlZnNbJ3dsa19xdF9sb29wJ10p KT8kcHJlZnNbJ3dsa19xdF9sb29wJ106JycsCgkJCSdwbWZpZWxkbmFtZSc9PighZW1wdHko JHByZWZzWyd3bGtfcXRfcG1maWVsZG5hbWUnXSkpPyRwcmVmc1snd2xrX3F0X3BtZmllbGRu YW1lJ106J3Bvc3Rlcm1vdmllJywKICAgICAgICAgICAgJ2RlYnVnJz0+ICdmYWxzZScKCQkp LCRhdHRzKSk7CgoJCWlmKCRtdm5hbWUhPScnKQoJCXsKCQkJJHJtY2hyYXJyID0gYXJyYXko JyYnLCAnKicsICdeJywgJyUnLCAnIScsICdAJywgJyMnLCAnJCcsICd7JywgJ30nLCAnWycs ICddJywgJzwnLCAnPicsICdcXCcsICcvJyk7CgkJCSRtdm5hbWVmaW5hbCA9IHN0cl9yZXBs YWNlKCRybWNocmFyciwgIiIsICRtdm5hbWUpOwoJCX0KCgoJCS8qCgoJCQlDaGVja2luZyB0 byBtYWtlIHN1cmUgdGhlIHZpZGVvIGlzIHNldCBhbmQgd29ya3MKCgkJKi8KCQlpZighZW1w dHkoJHZpZGVvKSl7CgkJCWlmKHByZWdfbWF0Y2goIi9cLy8iLCAkdmlkZW8pKXsKCQkJCQlp ZihmaWxlX2V4aXN0cygkdmlkZW8pKXsKCQkJCQkJJHZpZGVvID0gaHUuJHZpZGVvOwoJCQkJ CQkkbXNnW10gPSAndHhwOndsa19xdDogdmlkZW89Jy4kYXR0c1sndmlkZW8nXS4nLiBGaWxl IGZvdW5kIGFuZCB1c2VkIHdpdGggdHhwIHByZWYgcGF0aCBmcm9tIHJvb3QgJy4kcHJlZnNb InBhdGhfZnJvbV9yb290Il07CgkJCQkJfQoJCQkJCWVsc2V7CgkJCQkJCSR2aWRlbyA9ICR2 aWRlbzsKCQkJCQkJJG1zZ1tdID0gJ3R4cDp3bGtfcXQgV2FybmluZzogdmlkZW89Jy4kYXR0 c1sndmlkZW8nXS4nLiBQbHVnaW4gY2FuXCd0IHZlcmlmeSBmaWxlIGV4aXN0ZW5zaW9uLiBN YWtlIHN1cmUgdGhhdCBnaXZlbiBmaWxlICcuJGF0dHNbJ3ZpZGVvJ10uJyBleGlzdHMgYW5k IGhhcyB2YWlsZCBwYXRoLic7CgkJCQkJfQoJCQl9CgkJCWVsc2V7CgkJCQlpZihpc19udW1l cmljKCR2aWRlbykpewoJCQkJCSR2aWRlbyA9IHdsa19xdF9nZXRfZmlsZSgnaWQ9IicuYWRk c2xhc2hlcygkdmlkZW8pLiciJyk7CgkJCQkJJG1zZ1tdID0oJHZpZGVvID09IGZhbHNlKT8n dHhwOndsa19xdCBFcnJvcjogdmlkZW89Jy4kYXR0c1sndmlkZW8nXS4nLiBObyBmaWxlIHdp dGggdGhpcyBpZCBpcyBzdG9yZWQgaW4gdHhwLic6Jyc7CgkJCQl9IGVsc2UgewoJCQkJCSR2 aWRlbyA9IHdsa19xdF9nZXRfZmlsZSgnZmlsZW5hbWU9IicuYWRkc2xhc2hlcygkdmlkZW8p LiciJyk7CgkJCQkJJG1zZ1tdID0oJHZpZGVvID09IGZhbHNlKT8ndHhwOndsa19xdCBFcnJv cjogdmlkZW89Jy4kYXR0c1sndmlkZW8nXS4nLiBObyBmaWxlIHdpdGggdGhpcyBuYW1lIGlz IHN0b3JlZCBpbiB0eHAuJzonJzsKCQkJCX0KCQkJfQoJCX0gZWxzZSB7CgkJCWlmKCFlbXB0 eSgkdGhpc2FydGljbGVbJGZpZWxkbmFtZV0pKXsKCQkJCWlmKGlzX251bWVyaWMoJHRoaXNh cnRpY2xlWyRmaWVsZG5hbWVdKSl7CgkJCQkJCSR2aWRlbyA9IHdsa19xdF9nZXRfZmlsZSgn aWQ9IicuYWRkc2xhc2hlcygkdGhpc2FydGljbGVbJGZpZWxkbmFtZV0pLiciJyk7CgkJCQkJ CSRtc2dbXSA9KCR2aWRlbyA9PSBmYWxzZSk/J3R4cDp3bGtfcXQgRXJyb3I6IEN1c3RvbUZp ZWxkWycuJGZpZWxkbmFtZS4nXT0nLiR0aGlzYXJ0aWNsZVskZmllbGRuYW1lXS4nLiBObyBm aWxlIHdpdGggdGhpcyBpZCBpcyBzdG9yZWQgaW4gdHhwLic6Jyc7CgkJCQl9IGVsc2UgaWYo cHJlZ19tYXRjaCgiL1wvLyIsICR0aGlzYXJ0aWNsZVskZmllbGRuYW1lXSkpIHsKCQkJCQlp ZihmaWxlX2V4aXN0cygkdGhpc2FydGljbGVbJGZpZWxkbmFtZV0pKXsKCQkJCQkJJHZpZGVv ID0gaHUuJHRoaXNhcnRpY2xlWyRmaWVsZG5hbWVdOwoJCQkJCQkkbXNnW10gPSAndHhwOnds a19xdDogQ3VzdG9tRmllbGRbJy4kZmllbGRuYW1lLiddPScuJHRoaXNhcnRpY2xlWyRmaWVs ZG5hbWVdLicuIEZpbGUgZm91bmQgYW5kIHVzZWQgd2l0aCB0eHAgcHJlZiBwYXRoIGZyb20g cm9vdCcuJHByZWZzWyJwYXRoX2Zyb21fcm9vdCJdOwoJCQkJCX0gZWxzZSB7CgkJCQkJCSR2 aWRlbyA9ICR0aGlzYXJ0aWNsZVskZmllbGRuYW1lXTsKCQkJCQkJJG1zZ1tdID0gJ3R4cDp3 bGtfcXQgV2FybmluZzogQ3VzdG9tRmllbGRbdmlkZW9dPScuJHRoaXNhcnRpY2xlWyRmaWVs ZG5hbWVdLicuIE1ha2Ugc3VyZSB0aGF0IGdpdmVuIGZpbGUgZXhpc3RzIGFuZCBoYXMgdmFp bGQgcGF0aC4nOwoJCQkJCX0KCQkJCX0gZWxzZSB7CgkJCQkJJHZpZGVvID0gd2xrX3F0X2dl dF9maWxlKCdmaWxlbmFtZT0iJy5hZGRzbGFzaGVzKCR0aGlzYXJ0aWNsZVskZmllbGRuYW1l XSkuJyInKTsKCQkJCQkkbXNnW10gPSgkdmlkZW8gPT0gZmFsc2UpPyd0eHA6d2xrX3F0IEVy cm9yOiBDdXN0b21GaWVsZFsnLiRmaWVsZG5hbWUuJ109Jy4kdGhpc2FydGljbGVbJGZpZWxk bmFtZV0uJy4gTm8gZmlsZSB3aXRoIHRoaXMgbmFtZSBpcyBzdG9yZWQgaW4gdHhwLic6Jyc7 CgkJCQl9CgoJCQl9CgkJCWVsc2UKCQkJCSRtc2dbXSA9ICd0eHA6d2xrX3F0IEVycm9yOiBO byB2aWRlbyBkZWZpbmVkLiBVc2UgdGhlIGF0dHJpYnV0ZSB2aWRlbyBvciBhIGN1c3RvbS1m aWVsZCBuYW1lZCB2aWRlbyB0byBkZWZpbmUgYSB2aWRlbyBmaWxlLic7CgkJfQoJCS8vRW5k IHZpZGVvIGNoZWNrCgoJCS8qCgoJCQlDaGVja2luZyBGb3IgUG9zdGVyTW92aWUgYmVpbmcg c2V0CgoJCSovCgkJaWYoIWVtcHR5KCRwb3N0ZXJtb3ZpZSkpewoJCQlpZihwcmVnX21hdGNo KCIvXC8vIiwgJHBvc3Rlcm1vdmllKSl7CgkJCQkJaWYoZmlsZV9leGlzdHMoJHBvc3Rlcm1v dmllKSl7CgkJCQkJCSRwb3N0ZXJtb3ZpZSA9IGh1LiRwb3N0ZXJtb3ZpZTsKCQkJCQkJJG1z Z1tdID0gJ3R4cDp3bGtfcXQ6IHBvc3Rlcm1vdmllPScuJGF0dHNbJ3Bvc3Rlcm1vdmllJ10u Jy4gRmlsZSBmb3VuZCBhbmQgdXNlZCB3aXRoIHR4cCBwcmVmIHBhdGggZnJvbSByb290Jy4k cHJlZnNbInBhdGhfZnJvbV9yb290Il07CgkJCQkJfQoJCQkJCWVsc2V7CgkJCQkJCSRwb3N0 ZXJtb3ZpZSA9ICRwb3N0ZXJtb3ZpZTsKCQkJCQkJJG1zZ1tdID0gJ3R4cDp3bGtfcXQgV2Fy bmluZzogcG9zdGVybW92aWU9Jy4kYXR0c1sncG9zdGVybW92aWUnXS4nLiBQbHVnaW4gY2Fu XCd0IHZlcmlmeSBmaWxlIGV4aXN0ZW5jZS4gTWFrZSBzdXJlIHRoYXQgZ2l2ZW4gZmlsZSAn LiRhdHRzWydwb3N0ZXJtb3ZpZSddLicgZXhpc3RzIGFuZCBoYXMgdmFpbGQgcGF0aC4nOwoJ CQkJCX0KCQkJfQoJCQllbHNlewoJCQkJaWYoaXNfbnVtZXJpYygkcG9zdGVybW92aWUpKXsK CQkJCQkkcG9zdGVybW92aWUgPSB3bGtfcXRfZ2V0X2Zyb250KCdpZD0iJy5hZGRzbGFzaGVz KCRwb3N0ZXJtb3ZpZSkuJyInLCAkcG10eXBlKTsKCQkJCQkkbXNnW10gPSgkcG9zdGVybW92 aWUgPT0gZmFsc2UpPyd0eHA6d2xrX3F0IEVycm9yOiB2aWRlbz0nLiRhdHRzWydwb3N0ZXJt b3ZpZSddLicuIE5vIGltYWdlIG9yIGZpbGUgd2l0aCB0aGlzIGlkIGlzIHN0b3JlZCBpbiB0 eHAuJzonJzsKCQkJCX0KCQkJCWVsc2V7CgkJCQkJJHBvc3Rlcm1vdmllID0gd2xrX3F0X2dl dF9mcm9udCgnbmFtZT0iJy5hZGRzbGFzaGVzKCRwb3N0ZXJtb3ZpZSkuJyInLCAkcG10eXBl KTsKCQkJCQkkbXNnW10gPSgkcG9zdGVybW92aWUgPT0gZmFsc2UpPyd0eHA6d2xrX3F0IEVy cm9yOiB2aWRlbz0nLiRhdHRzWydwb3N0ZXJtb3ZpZSddLicuIE5vIGltYWdlIG9yIGZpbGUg d2l0aCB0aGlzIG5hbWUgaXMgc3RvcmVkIGluIHR4cC4nOicnOwoJCQkJfQoJCQl9CgkJfSBl bHNlIHsKCQkJaWYoIWVtcHR5KCR0aGlzYXJ0aWNsZVskcG1maWVsZG5hbWVdKSl7CgkJCQlp ZihwcmVnX21hdGNoKCIvXC8vIiwgJHRoaXNhcnRpY2xlWyRwbWZpZWxkbmFtZV0pKXsKCQkJ CQlpZihmaWxlX2V4aXN0cygkdGhpc2FydGljbGVbJHBtZmllbGRuYW1lXSkpewoJCQkJCQkk cG9zdGVybW92aWUgPSBodS4kdGhpc2FydGljbGVbJHBtZmllbGRuYW1lXTsKCQkJCQkJJG1z Z1tdID0gJ3R4cDp3bGtfcXQ6IEN1c3RvbUZpZWxkWycuJHBtZmllbGRuYW1lLiddPScuJHRo aXNhcnRpY2xlWyRwbWZpZWxkbmFtZV0uJy4gRmlsZSBmb3VuZCBhbmQgdXNlZCB3aXRoIHR4 cCBwcmVmIHBhdGggZnJvbSByb290Jy4kcHJlZnNbInBhdGhfZnJvbV9yb290Il07CgkJCQkJ fQoJCQkJCWVsc2V7CgkJCQkJCSRwb3N0ZXJtb3ZpZSA9ICR0aGlzYXJ0aWNsZVskcG1maWVs ZG5hbWVdOwoJCQkJCQkkbXNnW10gPSAndHhwOndsa19xdCBXYXJuaW5nOiBDdXN0b21GaWVs ZFsnLiRwbWZpZWxkbmFtZS4nXT0nLiR0aGlzYXJ0aWNsZVskcG1maWVsZG5hbWVdLicuIE1h a2Ugc3VyZSB0aGF0IGdpdmVuIGZpbGUgZXhpc3RzIGFuZCBoYXMgdmFpbGQgcGF0aC4nOwoJ CQkJCX0KCQkJCX0KCQkJCWVsc2V7CgkJCQkJaWYoaXNfbnVtZXJpYygkdGhpc2FydGljbGVb JHBtZmllbGRuYW1lXSkpewoJCQkJCQkkcG9zdGVybW92aWUgPSB3bGtfcXRfZ2V0X2Zyb250 KCdpZD0iJy5hZGRzbGFzaGVzKCR0aGlzYXJ0aWNsZVskcG1maWVsZG5hbWVdKS4nIicsICRw bXR5cGUpOwoJCQkJCQkkbXNnW10gPSgkcG9zdGVybW92aWUgPT0gZmFsc2UpPyd0eHA6d2xr X3F0IEVycm9yOiBDdXN0b21GaWVsZFsnLiRwbWZpZWxkbmFtZS4nXT0nLiR0aGlzYXJ0aWNs ZVskcG1maWVsZG5hbWVdLicuIE5vIGZpbGUgd2l0aCB0aGlzIGlkIGlzIHN0b3JlZCBpbiB0 eHAuJzonJzsKCQkJCQl9CgkJCQkJZWxzZXsKCQkJCQkJJHBvc3Rlcm1vdmllID0gd2xrX3F0 X2dldF9mcm9udCgnbmFtZT0iJy5hZGRzbGFzaGVzKCR0aGlzYXJ0aWNsZVskcG1maWVsZG5h bWVdKS4nIicsICRwbXR5cGUpOwoJCQkJCQkkbXNnW10gPSgkcG9zdGVybW92aWUgPT0gZmFs c2UpPyd0eHA6d2xrX3F0IEVycm9yOiBDdXN0b21GaWVsZFsnLiRwbWZpZWxkbmFtZS4nXT0n LiR0aGlzYXJ0aWNsZVskcG1maWVsZG5hbWVdLicuIE5vIGZpbGUgd2l0aCB0aGlzIG5hbWUg aXMgc3RvcmVkIGluIHR4cC4nOicnOwoJCQkJCX0KCgkJCQl9CgoJCQl9IGVsc2UgewoJCQkJ JHBtc2V0ID0gZmFsc2U7CgkJCX0KCQl9CgkJLy9lbmQgcG9zdGVybW92aWUgY2hlY2sKCgkJ aWYoJGRlYnVnID09ICdmYWxzZScgJiYgJHZpZGVvICE9ICcnICYmICRqcyAhPSAndHJ1ZScp ewogICAgICAgICAgICAkb3V0W109JzxPQkpFQ1QgQ0xBU1NJRD0iY2xzaWQ6MDJCRjI1RDUt OEMxNy00QjIzLUJDODAtRDM0ODhBQkREQzZCIiBDT0RFQkFTRT0iaHR0cDovL3d3dy5hcHBs ZS5jb20vcXRhY3RpdmV4L3F0cGx1Z2luLmNhYiN2ZXJzaW9uPTcsMCwwLDAiIFdJRFRIPSIn LiR3aWR0aC4nIiBIRUlHSFQ9IicuJGhlaWdodC4nIj4nOwogICAgICAgICAgICAkb3V0W109 JzxQQVJBTSBOQU1FPSJzY2FsZSIgVkFMVUU9IicuJHNjYWxlLiciPic7CgogICAgICAgICAg ICBpZigkcG1zZXQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgCSRvdXRbXT0nPFBBUkFN IE5BTUU9ImNvbnRyb2xsZXIiIFZBTFVFPSJmYWxzZSI+JzsKICAgICAgICAgICAgCSRvdXRb XT0nPFBBUkFNIE5BTUU9ImF1dG9wbGF5IiBWQUxVRT0iVHJ1ZSI+JzsKICAgICAgICAgICAg CSRvdXRbXT0nPFBBUkFNIE5BTUU9ImhyZWYiIFZBTFVFPSInLiR2aWRlby4nIj4nOwogICAg ICAgICAgICAJJG91dFtdPSc8UEFSQU0gTkFNRT0idGFyZ2V0IiBWQUxVRT0ibXlzZWxmIj4n OwogICAgICAgICAgICAJJG91dFtdPSc8UEFSQU0gTkFNRT0ic3JjIiBWQUxVRT0iJy4kcG9z dGVybW92aWUuJyI+JzsKICAgICAgICAgICAgCSRvdXRbXT0nPFBBUkFNIE5BTUU9InR5cGUi IFZBTFVFPSJ2aWRlby9xdWlja3RpbWUiPic7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAg ICAgICAgIAkkb3V0W109JzxQQVJBTSBOQU1FPSJjb250cm9sbGVyIiBWQUxVRT0iJy4kY29u dHJvbGxlci4nIj4nOwogICAgICAgICAgICAJJG91dFtdPSc8UEFSQU0gTkFNRT0iYXV0b3Bs YXkiIFZBTFVFPSInLiRhdXRvcGxheS4nIj4nOwogICAgICAgICAgICAJJG91dFtdPSc8UEFS QU0gTkFNRT0ic3JjIiBWQUxVRT0iJy4kdmlkZW8uJyI+JzsKICAgICAgICAgICAgCSRvdXRb XT0nPFBBUkFNIE5BTUU9InR5cGUiIFZBTFVFPSInLiRxdHR5cGUuJyI+JzsKICAgICAgICAg ICAgfQoKICAgICAgICAgICAgJG91dFtdPSc8UEFSQU0gTkFNRT0idGFyZ2V0IiBWQUxVRT0i bXlzZWxmIj4nOwogICAgICAgICAgICBpZigkYmdjb2xvciE9JycpCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgCWlmKGluX2FycmF5KHN0cnRvdXBwZXIoJGJnY29sb3IpLCAkY29sb3JB cnIpKSB7CiAgICAgICAgICAgIAkJJG91dFtdPSc8UEFSQU0gTkFNRT0iYmdjb2xvciIgVkFM VUU9Iicuc3RydG9sb3dlcigkYmdjb2xvcikuJyI+JzsKICAgICAgICAgICAgCX0gZWxzZSBp ZihzdHJsZW4oJGJnY29sb3IpPT0nNicpIHsKICAgICAgICAgICAgCQkkb3V0W109JzxQQVJB TSBOQU1FPSJiZ2NvbG9yIiBWQUxVRT0iIycuc3RydG91cHBlcigkYmdjb2xvcikuJyI+JzsK ICAgICAgICAgICAgCX0KICAgICAgICAgICAgfQogICAgICAgICAgICBpZihpc3NldCgkbXZu YW1lZmluYWwpKQogICAgICAgICAgICB7CiAgICAgICAgICAgIAkkb3V0W109JzxQQVJBTSBO QU1FPSJtb3ZpZW5hbWUiIFZBTFVFPSInLiRtdm5hbWVmaW5hbC4nIj4nOwogICAgICAgICAg ICB9CiAgICAgICAgICAgIGlmKCRub2RlIT0nJykKICAgICAgICAgICAgewogICAgICAgICAg ICAJaWYoaXNfbnVtZXJpYygkbm9kZSkpCiAgICAgICAgICAgIAl7CiAgICAgICAgICAgIAkJ JG91dFtdPSc8UEFSQU0gTkFNRT0ibm9kZSIgVkFMVUU9IicuJG5vZGUuJyI+JzsKICAgICAg ICAgICAgCX0KICAgICAgICAgICAgfQogICAgICAgICAgICBpZigkcGFuIT0nJykKICAgICAg ICAgICAgewogICAgICAgICAgICAJaWYoaXNfbnVtZXJpYygkcGFuKSkKICAgICAgICAgICAg CXsKICAgICAgICAgICAgCQkkb3V0W109JzxQQVJBTSBOQU1FPSJwYW4iIFZBTFVFPSInLiRw YW4uJyI+JzsKICAgICAgICAgICAgCX0KICAgICAgICAgICAgfQogICAgICAgICAgICBpZigk a2lvc2ttb2RlPT0ndHJ1ZScpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgCSRvdXRbXT0n PFBBUkFNIE5BTUU9Imtpb3NrbW9kZSIgVkFMVUU9InRydWUiPic7CiAgICAgICAgICAgIH0K ICAgICAgICAgICAgaWYoJHRpbHQhPScnKQogICAgICAgICAgICB7CiAgICAgICAgICAgIAlp Zihpc19udW1lcmljKCR0aWx0KSkKICAgICAgICAgICAgCXsKICAgICAgICAgICAgCQkkb3V0 W109JzxQQVJBTSBOQU1FPSJ0aWx0IiBWQUxVRT0iJy4kdGlsdC4nIj4nOwogICAgICAgICAg ICAJfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmKCRmb3YhPScnKQogICAgICAgICAg ICB7CiAgICAgICAgICAgIAlpZihpc19udW1lcmljKCRmb3YpKQogICAgICAgICAgICAJewog ICAgICAgICAgICAJCSRvdXRbXT0nPFBBUkFNIE5BTUU9ImZvdiIgVkFMVUU9IicuJGZvdi4n Ij4nOwogICAgICAgICAgICAJfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmKCRsb29w IT0nJykKICAgICAgICAgICAgewoJCQkJJG91dFtdPSc8UEFSQU0gTkFNRT0ibG9vcCIgVkFM VUU9IicuJGxvb3AuJyI+JzsKICAgICAgICAgICAgfQogICAgICAgICAgICAkb3V0W109JzxQ QVJBTSBOQU1FPSJwbHVnaW5zcGFnZSIgVkFMVUU9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3F1 aWNrdGltZS9kb3dubG9hZC9pbmRleC5odG1sIj4nOwogICAgICAgICAgICAkb3V0W109JzxF TUJFRCBXSURUSD0iJy4kd2lkdGguJyIgSEVJR0hUPSInLiRoZWlnaHQuJyIgU0NBTEU9Iicu JHNjYWxlLiciIFRBUkdFVD0ibXlzZWxmIic7CiAgICAgICAgICAgIGlmKCRwbXNldCkKICAg ICAgICAgICAgewogICAgICAgICAgICAJJG91dFtdID0nIEFVVE9QTEFZPSJ0cnVlIiBTUkM9 IicuJHBvc3Rlcm1vdmllLiciIEhSRUY9IicuJHZpZGVvLiciIHR5cGU9IicuJHBtdHlwZS4n IiBDT05UUk9MTEVSPSJmYWxzZSInOwogICAgICAgICAgICAJaWYoJHBtdHlwZT09J3ZpZGVv L3F1aWNrdGltZScpCgkJCQl7CgkJCQkJJG91dFtdID0nIExPT1A9InRydWUiJzsKCQkJCX0K ICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgCSRvdXRbXSA9JyBBVVRPUExBWT0i Jy4kYXV0b3BsYXkuJyIgU1JDPSInLiR2aWRlby4nIiB0eXBlPSInLiRxdHR5cGUuJyIgQ09O VFJPTExFUj0iJy4kY29udHJvbGxlci4nIic7CiAgICAgICAgICAgIAlpZigkbG9vcCE9Jycp CgkJCQl7CgkJCQkJJG91dFtdID0nIExPT1A9IicuJGxvb3AuJyInOwoJCQkJfQogICAgICAg ICAgICB9CiAgICAgICAgICAgIGlmKCRiZ2NvbG9yIT0nJykKICAgICAgICAgICAgewogICAg ICAgICAgICAJaWYoaW5fYXJyYXkoc3RydG91cHBlcigkYmdjb2xvciksICRjb2xvckFycikp IHsKICAgICAgICAgICAgCQkkb3V0W109JyBCR0NPTE9SPSInLnN0cnRvbG93ZXIoJGJnY29s b3IpLiciJzsKICAgICAgICAgICAgCX0gZWxzZSBpZihzdHJsZW4oJGJnY29sb3IpPT0nNicp IHsKICAgICAgICAgICAgCQkkb3V0W109JyBCR0NPTE9SPSIjJy5zdHJ0b3VwcGVyKCRiZ2Nv bG9yKS4nIic7CiAgICAgICAgICAgIAl9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYo aXNzZXQoJG12bmFtZWZpbmFsKSkKICAgICAgICAgICAgewogICAgICAgICAgICAJJG91dFtd PScgTU9WSUVOQU1FPSInLiRtdm5hbWVmaW5hbC4nIic7CiAgICAgICAgICAgIH0KICAgICAg ICAgICAgaWYoJG5vZGUhPScnKQogICAgICAgICAgICB7CiAgICAgICAgICAgIAlpZihpc19u dW1lcmljKCRub2RlKSkKICAgICAgICAgICAgCXsKICAgICAgICAgICAgCQkkb3V0W109JyBO T0RFPSInLiRub2RlLiciJzsKICAgICAgICAgICAgCX0KICAgICAgICAgICAgfQogICAgICAg ICAgICBpZigkcGFuIT0nJykKICAgICAgICAgICAgewogICAgICAgICAgICAJaWYoaXNfbnVt ZXJpYygkcGFuKSkKICAgICAgICAgICAgCXsKICAgICAgICAgICAgCQkkb3V0W109JyBQQU49 IicuJHBhbi4nIic7CiAgICAgICAgICAgIAl9CiAgICAgICAgICAgIH0KICAgICAgICAgICAg aWYoJHRpbHQhPScnKQogICAgICAgICAgICB7CiAgICAgICAgICAgIAlpZihpc19udW1lcmlj KCR0aWx0KSkKICAgICAgICAgICAgCXsKICAgICAgICAgICAgCQkkb3V0W109JyBUSUxUPSIn LiR0aWx0LiciJzsKICAgICAgICAgICAgCX0KICAgICAgICAgICAgfQogICAgICAgICAgICBp ZigkZm92IT0nJykKICAgICAgICAgICAgewogICAgICAgICAgICAJaWYoaXNfbnVtZXJpYygk Zm92KSkKICAgICAgICAgICAgCXsKICAgICAgICAgICAgCQkkb3V0W109JyBGT1Y9IicuJGZv di4nIic7CiAgICAgICAgICAgIAl9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYoJGtp b3NrbW9kZT09J3RydWUnKQogICAgICAgICAgICB7CiAgICAgICAgICAgIAkkb3V0W109JyBL SU9TS01PREU9InRydWUiJzsKICAgICAgICAgICAgfQogICAgICAgICAgICAkb3V0W109JyBQ TFVHSU5TUEFHRT0iaHR0cDovL3d3dy5hcHBsZS5jb20vcXVpY2t0aW1lL2Rvd25sb2FkL2lu ZGV4Lmh0bWwiPjwvRU1CRUQ+JzsKICAgICAgICAgICAgJG91dFtdPSc8L09CSkVDVD4nOwog ICAgICAgICAgICBlY2hvIGltcGxvZGUoIiIsJG1zZyk7CiAgICAgICAgICAgIHJldHVybiBp bXBsb2RlKCIiLCRvdXQpOwoJCX0gZWxzZSBpZigkZGVidWcgPT0gJ2ZhbHNlJyAmJiAkdmlk ZW8gIT0gJycgJiYgJGpzID09ICd0cnVlJyl7CgkJCSRvdXQgPSAnPGRpdiBpZD0id2xrX3F0 X3ZpZGVvIj4nOwogICAgICAgICAgICAkb3V0IC49ICcKICAgICAgICAgICAgCQk8c2NyaXB0 IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgICAgIAkJJzsKICAgICAgICAgICAg JG91dCAuPSAid3JpdGVfd2xrcXQoJyR2aWRlbycsICckd2lkdGgnLCAnJGhlaWdodCcsICck Y29udHJvbGxlcicsICckc2NhbGUnLCAnJHF0dHlwZScsICckYXV0b3BsYXknLCI7CiAgICAg ICAgICAgIGlmKCRiZ2NvbG9yIT0nJykKICAgICAgICAgICAgewogICAgICAgICAgICAJaWYo aW5fYXJyYXkoc3RydG91cHBlcigkYmdjb2xvciksICRjb2xvckFycikpIHsKICAgICAgICAg ICAgCQkkb3V0IC49IiAnIi5zdHJ0b2xvd2VyKCRiZ2NvbG9yKS4iJywiOwogICAgICAgICAg ICAJfSBlbHNlIGlmKHN0cmxlbigkYmdjb2xvcik9PSc2JykgewogICAgICAgICAgICAJCSRv dXQgLj0iICcjIi5zdHJ0b3VwcGVyKCRiZ2NvbG9yKS4iJywiOwogICAgICAgICAgICAJfSBl bHNlIHsgJG91dCAuPSAnIG51bGwsJzsgfQogICAgICAgICAgICB9IGVsc2UgeyAkb3V0IC49 ICcgbnVsbCwnOyB9CiAgICAgICAgICAgIGlmKGlzc2V0KCRtdm5hbWVmaW5hbCkpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgCSRvdXQgLj0gIiAnIi4kbXZuYW1lZmluYWwuIiciOwog ICAgICAgICAgICB9IGVsc2UgeyAkb3V0IC49ICcgbnVsbCwnOyB9CiAgICAgICAgICAgIGlm KCRub2RlIT0nJykKICAgICAgICAgICAgewogICAgICAgICAgICAJaWYoaXNfbnVtZXJpYygk bm9kZSkpCiAgICAgICAgICAgIAl7CiAgICAgICAgICAgIAkJJG91dCAuPSIgJyIuJG5vZGUu IicsIjsKICAgICAgICAgICAgCX0gZWxzZSB7ICRvdXQgLj0gJyBudWxsLCc7IH0KICAgICAg ICAgICAgfSBlbHNlIHsgJG91dCAuPSAnIG51bGwsJzsgfQogICAgICAgICAgICBpZigkcGFu IT0nJykKICAgICAgICAgICAgewogICAgICAgICAgICAJaWYoaXNfbnVtZXJpYygkcGFuKSkK ICAgICAgICAgICAgCXsKICAgICAgICAgICAgCQkkb3V0IC49IiAnIi4kcGFuLiInLCI7CiAg ICAgICAgICAgIAl9IGVsc2UgeyAkb3V0IC49ICcgbnVsbCwnOyB9CiAgICAgICAgICAgIH0g ZWxzZSB7ICRvdXQgLj0gJyBudWxsLCc7IH0KICAgICAgICAgICAgaWYoJHRpbHQhPScnKQog ICAgICAgICAgICB7CiAgICAgICAgICAgIAlpZihpc19udW1lcmljKCR0aWx0KSkKICAgICAg ICAgICAgCXsKICAgICAgICAgICAgCQkkb3V0IC49IiAnIi4kdGlsdC4iJywiOwogICAgICAg ICAgICAJfSBlbHNlIHsgJG91dCAuPSAnIG51bGwsJzsgfQogICAgICAgICAgICB9IGVsc2Ug eyAkb3V0IC49ICcgbnVsbCwnOyB9CiAgICAgICAgICAgIGlmKCRmb3YhPScnKQogICAgICAg ICAgICB7CiAgICAgICAgICAgIAlpZihpc19udW1lcmljKCRmb3YpKQogICAgICAgICAgICAJ ewogICAgICAgICAgICAJCSRvdXQgLj0iICciLiRmb3YuIicsIjsKICAgICAgICAgICAgCX0g ZWxzZSB7ICRvdXQgLj0gJyBudWxsLCc7IH0KICAgICAgICAgICAgfSBlbHNlIHsgJG91dCAu PSAnIG51bGwsJzsgfQogICAgICAgICAgICBpZigka2lvc2ttb2RlPT0ndHJ1ZScpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgCSRvdXQgLj0iICd0cnVlJywiOwogICAgICAgICAgIAl9 IGVsc2UgeyAkb3V0IC49ICcgbnVsbCwnOyB9CiAgICAgICAgICAgIGlmKCRwbXNldCkKICAg ICAgICAgICAgewogICAgICAgICAgICAJaWYoJHBtdHlwZT09J3ZpZGVvL3F1aWNrdGltZScp CiAgICAgICAgICAgIAl7CiAgICAgICAgICAgIAkJJG91dCAuPSIgJ3RydWUnLCI7CiAgICAg ICAgICAgIAl9IGVsc2UgewogICAgICAgICAgICAJCSRvdXQgLj0iICdmYWxzZScsIjsKICAg ICAgICAgICAgCX0KICAgICAgICAgICAgfSBlbHNlIHsKCQkJCWlmKCRsb29wIT0nJykKCQkJ CXsKCQkJCQkkb3V0IC49IiAnIi4kbG9vcC4iJywiOwoJCQkJfSBlbHNlIHsgJG91dCAuPSAn IG51bGwsJzsgfQoJCQl9CiAgICAgICAgICAgIGlmKCRwbXR5cGUhPScnKQogICAgICAgICAg ICB7CgkJCQkkb3V0IC49IiAnIi4kcG10eXBlLiInLCI7CiAgICAgICAgICAgIH0gZWxzZSB7 ICRvdXQgLj0gJyBudWxsLCc7IH0KICAgICAgICAgICAgaWYoJHBvc3Rlcm1vdmllIT0nJykK ICAgICAgICAgICAgewoJCQkJJG91dCAuPSIgJyIuJHBvc3Rlcm1vdmllLiInIjsKICAgICAg ICAgICAgfSBlbHNlIHsgJG91dCAuPSAnIG51bGwnOyB9CgogICAgICAgICAgICAkb3V0IC49 ICIpOyI7CiAgICAgICAgICAgICRvdXQgLj0gJwogICAgICAgICAgICAJCTwvc2NyaXB0Pjwv ZGl2PgogICAgICAgICAgICAJCSc7CiAgICAgICAgICAgIHJldHVybiAkb3V0OwoJCX0KCX0K CglmdW5jdGlvbiB3bGtfc2NyaXB0bGluaygkYXR0cykgewoJCSRqc2VtYmVkID0gJzxzY3Jp cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IicuJGF0dHNbJ3BhdGgnXS4nIj48L3Nj cmlwdD4nOwoJCXJldHVybiAkanNlbWJlZDsKCX0KCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KLy8JCQkJR2V0IEZpbGUKLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KCiAgICBmdW5jdGlvbiB3bGtfcXRfZ2V0X2ZpbGUoJHdoZXJlKQog ICAgewoJCWdsb2JhbCAkcGVybWxpbmtfbW9kZTsKCQkkdGhpc2ZpbGUgPSBmaWxlRG93bmxv YWRGZXRjaEluZm8oJHdoZXJlKTsKCQlpZighZW1wdHkoJHRoaXNmaWxlWydmaWxlbmFtZSdd KSkKICAgICAgICB7CgkJCS8vJHBsYXllciA9ICgkcGVybWxpbmtfbW9kZSA9PSAnbWVzc3kn KSA/CgkJCQkvL2h1LidpbmRleC5waHA/cz1maWxlX2Rvd25sb2FkJmFtcDtpZD0nLiR0aGlz ZmlsZVsnaWQnXToKCQkJCS8vaHUuZ1R4dCgnZmlsZV9kb3dubG9hZCcpLicvJy4kdGhpc2Zp bGVbJ2lkJ107CiRwbGF5ZXIgPSBodS4nZmlsZXMvJy4kdGhpc2ZpbGVbJ2ZpbGVuYW1lJ107 CgkJfQoJCWVsc2UKICAgICAgICB7CgkJCSRwbGF5ZXIgPSBmYWxzZTsKCQl9CgkJcmV0dXJu ICRwbGF5ZXI7Cgl9CgogICAgZnVuY3Rpb24gd2xrX3F0X2dldF9mcm9udCgkd2hlcmUsICR0 aGV0eXBlKQogICAgewoJCWdsb2JhbCAkcGVybWxpbmtfbW9kZSwgJHR4cGNmZzsKCQlpZigk dGhldHlwZT09J3ZpZGVvL3F1aWNrdGltZScpIHsKCQkJJHRoaXNmaWxlID0gZmlsZURvd25s b2FkRmV0Y2hJbmZvKCR3aGVyZSk7CgkJCSRwbGF5ZXIgPSBodS4nZmlsZXMvJzsKCQl9IGVs c2UgaWYoJHRoZXR5cGU9PSdpbWFnZS9xdWlja3RpbWUnKSB7CgkJCSRxdWVyeSA9IHNhZmVf cXVlcnkoJ1NFTEVDVCBpZCwgZXh0IEZST00gJy4kdHhwY2ZnWyd0YWJsZV9wcmVmaXgnXS4n dHhwX2ltYWdlIFdIRVJFICcuJHdoZXJlLicgTElNSVQgMScpOwoJCQkkaW1ncm93ID0gbXlz cWxfZmV0Y2hfcm93KCRxdWVyeSk7CgkJCSR0aGlzZmlsZSA9IGFycmF5KCdmaWxlbmFtZSc9 PiRpbWdyb3dbMF0uJGltZ3Jvd1sxXSk7CgkJCSRwbGF5ZXIgPSBodS4naW1hZ2VzLyc7CgkJ fQoJCWlmKCFlbXB0eSgkdGhpc2ZpbGVbJ2ZpbGVuYW1lJ10pKQogICAgICAgIHsKCQkJJHBs YXllciAuPSAkdGhpc2ZpbGVbJ2ZpbGVuYW1lJ107CgkJfSBlbHNlIHsKCQkJJHBsYXllciA9 IGZhbHNlOwoJCX0KCQlyZXR1cm4gJHBsYXllcjsKCX0KCgoiO3M6MzoibWQ1IjtzOjMyOiIy OWFjNWJmNDg0ZGU5MWQ3ODNhM2U3NzVmZTc5MGYxNiI7fQ==