# Name: smd_pullquote v0.1a # Type: Client side plugin # Pulls text from articles for magazine-style quotes. Uses jQuery. # Author: Stef Dawson # URL: http://stefdawson.com/ # Recommended load order: 5 # ..................................................................... # This is a plugin for Textpattern - http://textpattern.com/ # To install: textpattern > admin > plugins # Paste the following text into the 'Install plugin' box: # ..................................................................... YToxMTp7czo0OiJuYW1lIjtzOjEzOiJzbWRfcHVsbHF1b3RlIjtzOjY6ImF1dGhvciI7czox MToiU3RlZiBEYXdzb24iO3M6MTA6ImF1dGhvcl91cmkiO3M6MjI6Imh0dHA6Ly9zdGVmZGF3 c29uLmNvbS8iO3M6NzoidmVyc2lvbiI7czo0OiIwLjFhIjtzOjExOiJkZXNjcmlwdGlvbiI7 czo2NDoiUHVsbHMgdGV4dCBmcm9tIGFydGljbGVzIGZvciBtYWdhemluZS1zdHlsZSBxdW90 ZXMuIFVzZXMgalF1ZXJ5LiI7czo0OiJoZWxwIjtzOjE5MDM5OiI8ZGl2IGlkPSJzbWRfaGVs cCI+DQo8aDEgaWQ9InRvcCI+c21kX3B1bGxxdW90ZTwvaDE+DQo8cD5Gb3IgbW9yZSBpbmZv cm1hdGlvbiBvbiB1c2FnZSwgYnVncywgZmVhdHVyZXMgZXRjLCBwbGVhc2UgPGEgaHJlZj0i aHR0cDovL2ZvcnVtLnRleHRwYXR0ZXJuLmNvbS92aWV3dG9waWMucGhwP2lkPTI0NDc2Ij52 aXNpdCB0aGUgZm9ydW0gdGhyZWFkPC9hPi48L3A+DQoNCjxwIGNsYXNzPSJyZXF1aXJlZCI+ UmVxdWlyZXMgPGEgaHJlZj0iaHR0cDovL3N0ZWZkYXdzb24uY29tL2Rvd25sb2Fkcy9zbWRf bGliX3YwLjMudHh0Ij5zbWRfbGliIHYwLjM8L2E+IHRvIGJlIGluc3RhbGxlZCBhbmQgYWN0 aXZhdGVkLjxwPg0KPHAgY2xhc3M9InJlcXVpcmVkIj5SZXF1aXJlcyA8YSBocmVmPSJodHRw Oi8vanF1ZXJ5LmNvbS8iPmpRdWVyeTwvYT4gdG8gYmUgYXZhaWxhYmxlLiBGcm9tIFRYUCB2 NC4wLjUgdGhpcyBpcyBkaXN0cmlidXRlZCBieSBkZWZhdWx0LjxwPg0KDQo8aDIgaWQ9ImNv bnRlbnRzIj5Db250ZW50czwvaDI+DQo8dWw+DQo8bGk+PGEgaHJlZj0iI292ZXJ2aWV3Ij5P dmVydmlldzwvYT48L2xpPg0KPGxpPjxhIGhyZWY9IiNwcmVyZXEiPkJlZm9yZSB5b3UgYmVn aW48L2E+PC9saT4NCjxsaT48YSBocmVmPSIjYXR0cyI+QXR0cmlidXRlczwvYT4NCjx1bD4N CjxsaT48YSBocmVmPSIjanF1ZXJ5Ij5qcXVlcnk8L2E+PC9saT4NCjxsaT48YSBocmVmPSIj anFjbGFzaHZhciI+anFfY2xhc2h2YXI8L2E+PC9saT4NCjxsaT48YSBocmVmPSIjc2VhcmNo Y2xhc3MiPnNlYXJjaF9jbGFzczwvYT48L2xpPg0KPGxpPjxhIGhyZWY9IiN3cmFwdGFnIj53 cmFwdGFnPC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iI2NsYXNzIj5jbGFzczwvYT48L2xpPg0K PGxpPjxhIGhyZWY9IiNjb250YWluZXIiPmNvbnRhaW5lcjwvYT48L2xpPg0KPGxpPjxhIGhy ZWY9IiNpbnNlcnRtZXRob2QiPmluc2VydF9tZXRob2Q8L2E+PC9saT4NCjxsaT48YSBocmVm PSIjbGltaXQiPmxpbWl0PC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iI3JhbmRvbSI+cmFuZG9t PC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iI2hpZGVvcmlnIj5oaWRlX29yaWdpbmFsczwvYT48 L2xpPg0KPGxpPjxhIGhyZWY9IiNjaG9wcGVyIj5jaG9wcGVyPC9hPjwvbGk+DQo8bGk+PGEg aHJlZj0iI29taXNzaW9ucyI+b21pc3Npb25zPC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iI3N0 YXJ0Ij5zdGFydDwvYT48L2xpPg0KPGxpPjxhIGhyZWY9IiNlbmQiPmVuZDwvYT48L2xpPg0K PGxpPjxhIGhyZWY9IiNwb3MiPnBvczwvYT48L2xpPg0KPC91bD48L2xpPg0KPGxpPjxhIGhy ZWY9IiNleGFtcGxlcyI+RXhhbXBsZXM8L2E+PC9saT4NCjxsaT48YSBocmVmPSIjc3R5bGlu ZyI+U3R5bGluZzwvYT48L2xpPg0KPC91bD4NCg0KPGgyIGlkPSJvdmVydmlldyI+T3ZlcnZp ZXc8L2gyPg0KPHA+RXZlciB3YW50ZWQgdG8gaGF2ZSB0aG9zZSBtYWdhemluZS1zdHlsZSBw dWxscXVvdGVzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20geW91ciBhcnRpY2xlIGNv bnRlbnQ/IFRoaXMgaXMgdGhlIHBsdWdpbiBmb3IgeW91ITwvcD4NCjxwPkZlYXR1cmVzOjwv cD4NCjx1bD4NCjxsaT5Vc2luZyBtYXJrdXAgeW91IHRlbGwgdGhlIHBsdWdpbiB3aGljaCBi aXRzIG9mIHlvdXIgYXJ0aWNsZXMgYXJlIHRvIGJlIGRpc3BsYXllZCBhbmQgc3R5bGVkIHNl cGFyYXRlbHk6IG5vIG5lZWQgdG8gaGFuZGxlIHF1b3RlcyBzZXBhcmF0ZWx5IGZyb20gY29u dGVudDwvbGk+DQo8bGk+V29yZHMgZnJvbSB0aGUgZnVsbCBib2R5IHRleHQgY2FuIGJlIGN1 dCBmcm9tIHRoZSBxdW90ZXMgdG8gbWFrZSB0aGVtIHNob3J0ZXI7IG9taXR0ZWQgd29yZHMg YXJlIHJlcGxhY2VkIHdpdGggY2hhcmFjdGVycyBvZiB5b3VyIGNob2ljZTwvbGk+DQo8bGk+ RGlzcGxheSBvbmUgb3IgbW9yZSBxdW90ZXMgcmFuZG9tbHkgZnJvbSBhIHBhZ2UsIG9wdGlv bmFsbHkgcmVtb3ZpbmcgdGhlIG9yaWdpbmFsczwvbGk+DQo8bGk+UG9zaXRpb24gdGhlIHF1 b3RlcyBhbnl3aGVyZSB5b3UgbGlrZSB2aWEgQ1NTLCBvciB1c2UgcnVkaW1lbnRhcnkgbWF0 aHMgdG8ga2VlcCB0aGUgcXVvdGUgbmVhciB0byBpdHMgcG9zaXRpb24gb24gdGhlIHBhZ2Uu IFNlZSA8YSBocmVmPSIjcG9zIj5wb3M8L2E+LCA8YSBocmVmPSIjY29udGFpbmVyIj5jb250 YWluZXI8L2E+IGFuZCA8YSBocmVmPSIjaW5zZXJ0bWV0aG9kIj5pbnNlcnRfbWV0aG9kPC9h PjwvbGk+DQo8bGk+S2V5IGF0dHJpYnV0ZXMgY292ZXJlZCBieSBNTFAgZm9yIG11bHRpLWxp bmd1YWwgY29udHJvbCBvdmVyIHF1b3RlczwvbGk+DQo8L3VsPg0KDQo8aDIgaWQ9InByZXJl cSI+QmVmb3JlIHlvdSBiZWdpbjwvaDI+DQo8cD5UaGUgcGx1Z2luIHJlbGllcyBoZWF2aWx5 IG9uIGphdmFzY3JpcHQgYW5kIDxhIGhyZWY9Imh0dHA6Ly9qcXVlcnkuY29tIj5qUXVlcnk8 L2E+LiBGcm9tIFRYUCB2NC4wLjUgalF1ZXJ5IGlzIHNoaXBwZWQgYW5kIGluc3RhbGxlZCB3 aXRoIHRoZSBiYXNlIHBhY2thZ2UuIFlvdSBtYXkgbmVlZCB0byB1cGdyYWRlIHRoZSB2ZXJz aW9uIHRoYXQgc2hpcHMgd2l0aCB0ZXh0cGF0dGVybiB0byBhIGxhdGVyIHZlcnNpb24gc2lu Y2UgdGhpcyBwbHVnaW4gd2FzIGRldmVsb3BlZCB3aXRoIGpRdWVyeSB2MS4yLjE7IHRoZSB2 ZXJzaW9uIHRoYXQgc2hpcHMgd2l0aCBUWFAgaXMgYW4gZWFybGllciB2ZXJzaW9uLiBOb3Rl IHRoYXQgaWYgeW91IHVzZSBvdGhlciBqYXZhc2NyaXB0IGxpYnJhcmllcyBvbiB0aGUgc2Ft ZSBwYWdlIChlLmcuIG1vb3Rvb2xzKSB5b3UgbWF5IG5lZWQgdG8gdGVsbCB0aGUgcGx1Z2lu IHdoaWNoIGlzIHdoaWNoIHRvIGF2b2lkIGNsYXNoZXMuIFNlZSA8YSBocmVmPSIjanF1ZXJ5 Ij5qcXVlcnk8L2E+IGFuZCA8YSBocmVmPSIjanFjbGFzaHZhciI+anFfY2xhc2h2YXI8L2E+ IGZvciBtb3JlLjwvcD4NCjxwPlRoZSBnZW5lcmFsIGlkZWEgaXMgdGhhdCBhcyB5b3Ugd3Jp dGUgeW91ciBhcnRpY2xlLCB5b3Ugd3JhcCBhbnkga2lsbGVyIHF1b3RlcyB3aXRoIHNvbWUg bWFya3VwOyB1c3VhbGx5IGEgPGNvZGU+Jmx0O3NwYW4mZ3Q7PC9jb2RlPiBlbGVtZW50IHNp bmNlIHRoZXkgYXJlICJpbnZpc2libGUiIGluIHRoZSBjb250ZW50LiBHaXZlIGVhY2ggcXVv dGUgdGhlIHNhbWUgY2xhc3MgbmFtZSAoYnkgZGVmYXVsdCBpdCdzIDxjb2RlPnBxPC9jb2Rl PiBidXQgY2FuIGJlIGNoYW5nZWQgd2l0aCB0aGUgPGEgaHJlZj0iI3NlYXJjaGNsYXNzIj5z ZWFyY2hfY2xhc3M8L2E+IG9wdGlvbikgYW5kIHlvdXIgcXVvdGVzIHdpbGwgYmUgY29waWVk IGZyb20geW91ciBkb2N1bWVudCBpbnRvIHNlcGFyYXRlIGVsZW1lbnRzIHJlYWR5IHRvIGJl IHBvc2l0aW9uZWQvc3R5bGVkLjwvcD4NCjxwPkFic29sdXRlIHBvc2l0aW9uaW5nIHdvcmtz IGJlc3QgYnV0IHlvdSBtYXkgaGF2ZSBzdWNjZXNzIHdpdGggZmxvYXRzLCBvciBldmVuIGlu bGluZSBkZXBlbmRpbmcgb24geW91ciBsZXZlbCBvZiBpbmdlbnVpdHkuPC9wPg0KDQo8aDIg aWQ9ImF0dHMiPkF0dHJpYnV0ZXM8L2gyPg0KPGgzIGlkPSJqcXVlcnkiPjxjb2RlPmpxdWVy eTwvY29kZT48L2gzPg0KPHA+Rm9yIGEgZGVmYXVsdCBpbnN0YWxsYXRpb24geW91IHNob3Vs ZCBub3QgbmVlZCB0byBjaGFuZ2UgdGhpcy4gSXQgc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRo ZSA8Y29kZT5qcXVlcnkuanM8L2NvZGU+IGxpYnJhcnkgZmlsZS4gRGVmYXVsdHMgdG8gPGNv ZGU+L3RleHRwYXR0ZXJuL2pxdWVyeS5qczwvY29kZT4uIEdpdmUgaXQgdGhlIGZ1bGwgcGF0 aCB0byB0aGUgbGlicmFyeSBvbiB5b3VyIHNlcnZlciBvciwgaWYgeW91IGhhdmUgYWxyZWFk eSBsb2FkZWQgdGhlIGxpYnJhcnkgZWFybGllciBvbiB0aGUgcGFnZSwgc3BlY2lmeSA8Y29k ZT5qcXVlcnk9IiI8L2NvZGU+LjwvcD4NCg0KPGgzIGlkPSJqcWNsYXNodmFyIj48Y29kZT5q cV9jbGFzaHZhcjwvY29kZT48L2gzPg0KPHA+WW91IHNob3VsZCBub3QgbmVlZCB0byBjaGFu Z2UgdGhpcyB1bmxlc3MgeW91IGFyZSB1c2luZyBhbm90aGVyIGphdmFzY3JpcHQgbGlicmFy eSBzdWNoIGFzIG1vb3Rvb2xzIG9uIHRoZSBzYW1lIHBhZ2UuIFRvIGF2b2lkIHRoZSBsaWJy YXJpZXMgY2xhc2hpbmcsIGpRdWVyeSBwcm92aWRlcyBhIGZhY2lsaXR5IHRvIGlkZW50aWZ5 IGl0c2VsZiB1bmlxdWVseSB0byB0aGUgamF2YXNjcmlwdCBpbnRlcnByZXRlci4gU3BlY2lm eSB0aGUgdW5pcXVlIHZhcmlhYmxlIHlvdSB3aXNoIGpxdWVyeSB0byB1c2UgaGVyZS48L3A+ DQo8cD5CeSBkZWZhdWx0IGl0IHVzZXMgPGNvZGU+anE8L2NvZGU+LiBJZiB5b3UgaGF2ZSBh bHJlYWR5IHNldCB1cCB0aGUganF1ZXJ5IDxjb2RlPi5ub0NvbmZsaWN0KCk8L2NvZGU+IHZh cmlhYmxlIGVsc2V3aGVyZSBvbiB0aGUgcGFnZSwgc2ltcGx5IHNwZWNpZnkgdGhlIHZhcmlh YmxlIG5hbWUgeW91IHVzZWQgYW5kIGl0IHdpbGwgY29udGludWUgdG8gdXNlIGl0IChpbiB0 aGlzIGNhc2UsIGl0IHdpbGwgbm90IHJlZGVmaW5lIHRoZSB2YXJpYWJsZSkuIElmIHlvdSBz cGVjaWZ5IGEgZGlmZmVyZW50IG5hbWUsIG9yIG9uZSB0aGF0IGlzIHByZXZpb3VzbHkgdW5k ZWZpbmVkLCB0aGUgdmFyaWFibGUgd2lsbCBiZSBjcmVhdGVkIGFuZCB1c2VkIGZvciBzbWRf cHVsbHF1b3RlLjwvcD4NCg0KPGgzIGlkPSJzZWFyY2hjbGFzcyI+PGNvZGU+c2VhcmNoX2Ns YXNzPC9jb2RlPjwvaDM+DQo8cD5PbmNlIHRoZSBwYWdlIGlzIGRpc3BsYXllZCB0aGUgcGx1 Z2luIGdvZXMgdGhyb3VnaCB0aGUgZG9jdW1lbnQgYW5kIGxvb2tzIGZvciBhbGwgb2NjdXJy ZW5jZXMgb2YgY29udGVudCB3cmFwcGVkIHdpdGggYW4gSFRNTCBlbGVtZW50IG9mIGEgcGFy dGljdWxhciBjbGFzcy4gQnkgZGVmYXVsdCBpdCdzIDxjb2RlPnBxPC9jb2RlPi4gSWYgeW91 IGRvbid0IGxpa2UgdGhhdCwgY2hhbmdlIGl0IHdpdGggdGhpcyBvcHRpb24uPC9wPg0KPHA+ TGV0J3MgYXNzdW1lIHlvdXIgY29udGVudCBpczoNCg0KPGJsb2NrcXVvdGU+PHA+VGhlIGxp b24gaXMgYSBtYWduaWZpY2VudCBhbmltYWwgYnV0IGRvbid0IGJlIGx1bGxlZCBpbnRvIGEg ZmFsc2Ugc2Vuc2Ugb2Ygc2VjdXJpdHkgYnkgaXRzIGxvb2tzLiBCZW5lYXRoIHRoZSBjdWRk bHkgZXh0ZXJpb3IgbGllIHRlZXRoIC0gYmlnIHRlZXRoIC0gYW5kICZsdDtzcGFuIGNsYXNz PSJwcSImZ3Q7aWYgaXQgaGFzbid0IGVhdGVuIGZvciBhIHdoaWxlIHlvdSBjb3VsZCBiZSBu ZXh0IG9uIHRoZSBtZW51Jmx0Oy9zcGFuJmd0Oy48L3A+PC9ibG9ja3F1b3RlPg0KDQo8cD5V c2luZyB0aGUgPGNvZGU+c3BhbjwvY29kZT4gaW4gdGhhdCBtYW5uZXIgdGVsbHMgdGhlIHBs dWdpbiB0aGF0IHRoZSB0ZXh0ICJpZiBpdCBoYXNuJ3QgZWF0ZW4gZm9yIGEgd2hpbGUgeW91 IGNvdWxkIGJlIG5leHQgb24gdGhlIG1lbnUiIHNob3VsZCBiZSAncHVsbGVkJyAoY29waWVk KSBvdXQgb2YgdGhlIHRleHQgaW50byBpdHMgb3duIGVsZW1lbnQgc28geW91IGNhbiBzdHls ZSBpdC48L3A+DQo8cD5Zb3UgY2FuIHNwZWNpZnkgYXMgbWFueSBvZiB0aGVzZSBhcyB5b3Ug bGlrZSwganVzdCBnaXZlIGVhY2ggb25lIHRoZSBzYW1lIGNsYXNzLiBBbmQgZG9uJ3QgbmVz dCB0aGVtLjwvcD4NCg0KPGgzIGlkPSJ3cmFwdGFnIj48Y29kZT53cmFwdGFnPC9jb2RlPjwv aDM+DQo8cD5FdmVyeSBxdW90ZSBwdWxsZWQgZnJvbSB0aGUgZG9jdW1lbnQgd2lsbCBiZSBw bGFjZWQgaW50byBzZXBhcmF0ZSBlbGVtZW50cywgZWFjaCB3cmFwcGVkIGluIHRoaXMgdGFn LiBCeSBkZWZhdWx0IGl0IGlzIHRoZSAmbHQ7cSZndDsgdGFnIGJ1dCB5b3UgY2FuIHNwZWNp ZnkgYW55dGhpbmcgeW91IGxpa2UgaGVyZTogPGNvZGU+ZGl2PC9jb2RlPiwgPGNvZGU+c3Bh bjwvY29kZT4sIDxjb2RlPnA8L2NvZGU+LCB3aGF0ZXZlci4gU2VlIDxhIGhyZWY9IiNzdGFy dCI+c3RhcnQ8L2E+IGFuZCA8YSBocmVmPSIjZW5kIj5lbmQ8L2E+IGZvciBtb3JlLjwvcD4N Cg0KPGgzIGlkPSJjbGFzcyI+PGNvZGU+Y2xhc3M8L2NvZGU+PC9oMz4NCjxwPkV2ZXJ5IHF1 b3RlIHB1bGxlZCBmcm9tIHRoZSBkb2N1bWVudCBpcyBhc3NpZ25lZCB0aGUgc2FtZSBjbGFz cyBmb3IgZWFzeSBzdHlsaW5nLiBTcGVjaWZ5IGl0IGhlcmUuIERlZmF1bHQ6IDxjb2RlPnBR dW90ZTwvY29kZT4gKG5vdGUgdGhlIGNhcGl0YWwgUSEpPC9wPg0KDQo8aDMgaWQ9ImNvbnRh aW5lciI+PGNvZGU+Y29udGFpbmVyPC9jb2RlPjwvaDM+DQo8cD5BbGwgcHVsbHF1b3RlcyBh cmUgaW5qZWN0ZWQgaW50byB0aGUgZG9jdW1lbnQgYWZ0ZXIgaXQgaXMgcmVuZGVyZWQgdG8g dGhlIHBhZ2UuIFNwZWNpZnkgaGVyZSBhIERPTSBlbGVtZW50LCBpZCBvciBjbGFzcyBuYW1l IHdoZXJlIHlvdSB3YW50IHRoZW0gdG8gZ28uIEJ5IGRlZmF1bHQgaXQgaXMgPGNvZGU+Ym9k eTwvY29kZT4uPC9wPg0KPHA+SWYgeW91IGFyZSBzcGVjaWZ5aW5nIGEgcmF3IGh0bWwgZWxl bWVudCwganVzdCBnaXZlIGl0cyBuYW1lOiBlLmcuIDxjb2RlPmNvbnRhaW5lcj0iYm9keSI8 L2NvZGU+LjwvcD4NCjxwPklmIHlvdSB3aXNoIHRoZSBxdW90ZXMgdG8gYmUgaW5zZXJ0ZWQg aW50byBhbiBlbGVtZW50IHdpdGggYSBzcGVjaWZpYyBpZCwgdXNlIDxjb2RlPmNvbnRhaW5l cj0iI215SUQiPC9jb2RlPi48L3A+DQo8cD5TaW1pbGFybHksIGlmIHlvdSB3YW50IHRoZSBx dW90ZXMgdG8gYmUgaW5zZXJ0ZWQgaW50byBhbiBlbGVtZW50IHdpdGggYSBzcGVjaWZpYyBj bGFzcywgdXNlIDxjb2RlPmNvbnRhaW5lcj0iLm15Q2xhc3MiPC9jb2RlPi4gVGhlIDxhIGhy ZWY9IiNpbnNlcnRtZXRob2QiPmluc2VydF9tZXRob2Q8L2E+IGF0dHJpYnV0ZSBzcGVjaWZp ZXMgZXhhY3RseSBob3cgdGhlIGVsZW1lbnQgaXMgaW5zZXJ0ZWQuPC9wPg0KPHA+Tm90ZSB0 aGF0IGlmIHlvdSBjaG9vc2UgYSBjbGFzcyBhbmQgaXQgZXhpc3RzIGluIG1vcmUgdGhhbiBv bmUgcGxhY2Ugb24gdGhlIHBhZ2UsIHRoZSBxdW90ZXMgd2lsbCBiZSBkdXBsaWNhdGVkLiBU aGlzICdmZWF0dXJlJyBjb3VsZCBiZSB1c2VkIGFzIGEgc3BlY2lhbCBlZmZlY3QgYnV0IGl0 J3MgdW5saWtlbHkgdG8gYmUgb2YgYW55IHByYWN0aWNhbCB1c2UuPC9wPg0KDQo8aDMgaWQ9 Imluc2VydG1ldGhvZCI+PGNvZGU+aW5zZXJ0X21ldGhvZDwvY29kZT48L2gzPg0KPHA+T25j ZSB5b3UgaGF2ZSBjaG9zZW4gYW4gZWxlbWVudCB0byBjb250YWluIHlvdXIgcXVvdGVzLCB5 b3UgY2FuIHNwZWNpZnkgaG93IHlvdSB3YW50IHRoZW0gaW5qZWN0ZWQgaW50byB0aGF0IGVs ZW1lbnQuIFRoZSBkZWZhdWx0IGlzIDxjb2RlPmFwcGVuZDwvY29kZT4gdG8gYWRkIHRoZSBx dW90ZXMgdG8gdGhlIGVuZCBvZiB3aGF0ZXZlciBpcyBhbHJlYWR5IHRoZXJlLjwvcD4NCjxo ND5PcHRpb25zPC9oND4NCjx1bD4NCjxsaT48Y29kZT5hcHBlbmQ8L2NvZGU+PGJyPg0KdGhl IGRlZmF1bHQ6IGluc2VydHMgdGhlIHF1b3RlcyBhZnRlciB3aGF0ZXZlciBpcyBhbHJlYWR5 IGluc2lkZSB0aGUgZWxlbWVudDwvbGk+DQo8bGk+PGNvZGU+cHJlcGVuZDwvY29kZT48YnI+ DQppbnNlcnRzIHRoZSBxdW90ZXMgYmVmb3JlIHdoYXRldmVyIGlzIGFscmVhZHkgaW5zaWRl IHRoZSBlbGVtZW50PC9saT4NCjxsaT48Y29kZT5hZnRlcjwvY29kZT48YnI+DQphZGRzIHRo ZSBxdW90ZXMgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIGNob3NlbiBlbGVtZW50PC9saT4NCjxs aT48Y29kZT5iZWZvcmU8L2NvZGU+PGJyPg0KcHV0cyB0aGUgcXVvdGVzIGltbWVkaWF0ZWx5 IGluIGZyb250IG9mIHRoZSBjaG9zZW4gZWxlbWVudDwvbGk+DQo8bGk+PGNvZGU+cmVwbGFj ZVdpdGg8L2NvZGU+PGJyPg0KcmVwbGFjZXMgdGhlIGdpdmVuIGVsZW1lbnQgZW50aXJlbHkg YnkgdGhlIHF1b3Rlcy4gVGhpcyBtYXkgaGF2ZSBvZGQgcmVzdWx0cyBpZiB5b3UgaGF2ZSBl bGVjdGVkIHRvIGRpc3BsYXkgbW9yZSB0aGFuIG9uZSBxdW90ZS4gU2VlIDxhIGhyZWY9IiNs aW1pdCI+bGltaXQ8L2E+PC9saT4NCjwvdWw+DQoNCjxoMyBpZD0ibGltaXQiPjxjb2RlPmxp bWl0PC9jb2RlPjwvaDM+DQo8cD5TcGVjaWZ5IHRoZSBtYXhpbXVtIG51bWJlciBvZiBxdW90 ZXMgeW91IHdpc2ggdG8gaGF2ZSByZW5kZXJlZCB0byB0aGUgcGFnZS4gQnkgZGVmYXVsdCBp dCBpcyBlbXB0eSAob3IgIjAiKSB3aGljaCBtZWFucyAiYWxsIG9mIHRoZW0iLjwvcD4NCg0K PGgzIGlkPSJyYW5kb20iPjxjb2RlPnJhbmRvbTwvY29kZT48L2gzPg0KPHA+U2V0IHRoaXMg b24gdG8gcmFuZG9tbHkgcGljayA8YSBocmVmPSIjbGltaXQiPmxpbWl0PC9hPiBxdW90ZXMg ZnJvbSB0aGUgcGFnZSBhbmQgZGlzcGxheSB0aGVtLjwvcD4NCjxoND5PcHRpb25zPC9oND4N Cjx1bD4NCjxsaT48Y29kZT4wPC9jb2RlPjxicj4NCnRoZSBkZWZhdWx0OiBvZmYsIGkuZS4g cGljayB0aGUgcXVvdGVzIG9mZiB0aGUgcGFnZSBpbiB0aGUgb3JkZXIgdGhleSBhcHBlYXI8 L2xpPg0KPGxpPjxjb2RlPjE8L2NvZGU+PGJyPg0Kb246IHBpY2sgcmFuZG9tIHF1b3RlcyBm cm9tIHRoZSBwYWdlIGFuZCBkaXNwbGF5IHRoZW0uIFRoZSBudW1iZXIgb2YgcXVvdGVzIGNo b3NlbiBpcyBnb3Zlcm5lZCBieSB0aGUgbGltaXQgb3B0aW9uPC9saT4NCjwvdWw+DQoNCjxo MyBpZD0iaGlkZW9yaWciPjxjb2RlPmhpZGVfb3JpZ2luYWxzPC9jb2RlPjwvaDM+DQo8cD5T ZXQgdGhpcyB0byByZW1vdmUgdGhlIG9yaWdpbmFsIHF1b3RlcyBmcm9tIHRoZSBzb3VyY2Ug ZG9jdW1lbnQgYW5kIG9ubHkgbGVhdmUgdGhlIHB1bGxxdW90ZXMgdGhlbXNlbHZlcy4gSXQg aGFzIGEgZmV3IGxldmVscyBvZiBzZXZlcml0eS48L3A+DQo8aDQ+T3B0aW9uczwvaDQ+DQo8 dWw+DQo8bGk+PGNvZGU+MDwvY29kZT48YnI+DQp0aGUgZGVmYXVsdDogb3JpZ2luYWwgcXVv dGVzIGFyZSBkaXNwbGF5ZWQgaW4gY29udGV4dDwvbGk+DQo8bGk+PGNvZGU+MTwvY29kZT48 YnI+DQpvcmlnaW5hbCBxdW90ZXMgYXJlIHJlbW92ZWQgZnJvbSB0aGUgZG9jdW1lbnQgYm9k eSwgbGVhdmluZyBqdXN0IHRoZSBwdWxscXVvdGVzIGJlaGluZCwgYnV0IDxlbT5vbmx5PC9l bT4gZm9yIHRob3NlIHF1b3RlcyB0aGF0IGFyZSBhY3R1YWxseSB1c2VkPC9saT4NCjxsaT48 Y29kZT4yPC9jb2RlPjxicj4NCmFsbCBvcmlnaW5hbCBxdW90ZXMgYXJlIHJlbW92ZWQgZnJv bSB0aGUgZG9jdW1lbnQgYm9keSwgaXJyZXNwZWN0aXZlIG9mIHdoZXRoZXIgdGhlIHF1b3Rl IHdhcyB1c2VkLiBOb3RlIHRoYXQgaW4gdGhlIGxhdHRlciB0d28gY2FzZXMgdGhlIHdob2xl IHF1b3RlIGlzIHJlbW92ZWQsIGlycmVzcGVjdGl2ZSBvZiBhbnkgd29yZHMgPGEgaHJlZj0i I2Nob3BwZXIiPmNob3BwZWQgb3V0PC9hPi48L2xpPg0KPC91bD4NCg0KPHA+VXNpbmcgPGNv ZGU+aGlkZV9vcmlnaW5hbHM9IjIiPC9jb2RlPiBtaWdodCBiZSB1c2VmdWwgZm9yIGEgc2lt cGxlICJxdW90ZSBvZiB0aGUgZGF5IiB3aGVyZSB5b3UgY2FuIGxvYWQgYWxsIHRoZSBxdW90 ZXMgb250byB0aGUgcGFnZSBhbmQgaGF2ZSB0aGUgcGx1Z2luIGNob29zZSBvbmUgcmFuZG9t bHkuPC9wPg0KDQo8aDMgaWQ9ImNob3BwZXIiPjxjb2RlPmNob3BwZXI8L2NvZGU+PC9oMz4N CjxwPlNvbWV0aW1lcyBxdW90ZXMgYXJlIHRvbyBsb25nIHRvIG1ha2UgaW50byBwdWxscXVv dGVzIGFuZCBhYnJpZGdlZCB2ZXJzaW9ucyB3b3JrIGJldHRlci4gVGhpcyBvcHRpb25zIHNw ZWNpZmllcyBhIGNoYXJhY3RlciBzZXF1ZW5jZSB0byBhbGxvdyB3b3JkcyB0byBiZSBvbWl0 dGVkIGZyb20gcXVvdGVzOyBhbnkgd29yZHMgYmV0d2VlbiBwYWlycyBvZiBjaGFyYWN0ZXIg c2VxdWVuY2VzIGRlZmluZWQgYnkgdGhlIDxjb2RlPmNob3BwZXI8L2NvZGU+IGF0dHJpYnV0 ZSB3aWxsIGJlIHJlbW92ZWQgZnJvbSB0aGUgcXVvdGUuIFRoZSBkZWZhdWx0IGNoYXJhY3Rl ciBzZXF1ZW5jZSBpcyA8Y29kZT5+fjwvY29kZT4gKHR3byB0aWxkZXMpLjwvcD4NCjxwPlRo ZSBtaXNzaW5nIHRleHQgaXMgcmVwbGFjZWQgd2l0aCB0aGUgY2hhcmFjdGVyIHNlcXVlbmNl IGRlZmluZWQgYnkgPGEgaHJlZj0iI29taXNzaW9ucyI+b21pc3Npb25zPC9hPi48L3A+DQo8 cD5Gb3IgZXhhbXBsZSwgc3BlY2lmeWluZyB0aGUgc2VudGVuY2U6DQoNCjxibG9ja3F1b3Rl PjxwPkkgY2Fubm90IGhlbHAgaXR+fjsgcmVhc29uIGhhcyBub3RoaW5nIHRvIGRvIHdpdGgg aXQ7IH5+SSBsb3ZlIGhlciBhZ2FpbnN0IHJlYXNvbi48L3A+PC9ibG9ja3F1b3RlPg0KDQo8 cD5Xb3VsZCByZW5kZXIgdGhpcyB0byB0aGUgcGFnZTo8L3A+DQoNCjxwcmU+Jmx0O3EgY2xh c3M9InBRdW90ZSImZ3Q7SSBjYW5ub3QgaGVscCBpdCAmaGVsbGlwOyBJIGxvdmUgaGVyDQog ICAgIGFnYWluc3QgcmVhc29uJmx0Oy9xJmd0OzwvcHJlPg0KDQo8cD5Zb3UgY2FuIHNwZWNp ZnkgYXMgbWFueSBwYWlycyBvZiBjaGFyYWN0ZXJzIHdpdGhpbiBhIHB1bGxxdW90ZSBhcyB5 b3UgbGlrZSBhbmQgdGhlIHRleHQgYmV0d2VlbiBlYWNoIHNldCB3aWxsIGJlIG9taXR0ZWQu IElmIHlvdSBkbyBub3QgbGlrZSB0aGUgY2hhcmFjdGVyIHNlcXVlbmNlIG9yIGFyZSB1c2lu ZyB0aGF0IHBhcnRpY3VsYXIgc2VxdWVuY2Ugd2l0aGluIHlvdXIgYm9keSB0ZXh0LCBjaGFu Z2UgaXQgdG8gYW55dGhpbmcgeW91IGxpa2Ugd2l0aCB0aGlzIG9wdGlvbi4gT25jZSBlYWNo IHF1b3RlIGhhcyBiZWVuIGdlbmVyYXRlZCwgdGhlIGNoYXJhY3RlciBzZXF1ZW5jZSBpcyBy ZW1vdmVkIGZyb20gdGhlIGRvY3VtZW50IGJvZHkgc28gaXQgZG9lc24ndCBjbHV0dGVyIHVw IHlvdXIgYmVhdXRpZnVsIHByb3NlITwvcD4NCg0KPGgzIGlkPSJvbWlzc2lvbnMiPjxjb2Rl Pm9taXNzaW9uczwvY29kZT48L2gzPg0KPHA+QXMgc2hvd24gaW4gdGhlIDxhIGhyZWY9IiNj aG9wcGVyIj5leGFtcGxlIGZvciB0aGUgY2hvcHBlciBvcHRpb248L2E+LCBvbWl0dGVkIGNo YXJhY3RlcnMgYXJlIHJlcGxhY2VkIHdpdGggd2hhdGV2ZXIgY2hhcmFjdGVyIGVudGl0eSBv ciBzZXF1ZW5jZSBpcyBkZWZpbmVkIGluIHRoaXMgYXR0cmlidXRlLiBCeSBkZWZhdWx0IGl0 IGlzIHRoZSBlbGxpcHNpcyAoJmFtcDtoZWxsaXA7IG9yICcmaGVsbGlwOycpLjwvcD4NCjxw PkFsb25nIHdpdGggYSBmZXcgb2YgdGhlIG90aGVyIGF0dHJpYnV0ZXMsIHRoaXMgb25lIGlz IE11bHRpLUxpbmd1YWwgUHVibGlzaGluZyBwYWNrIChNTFApIGF3YXJlIHNvIHlvdSBjYW4g c3BlY2lmeSBhIGRpZmZlcmVudCBjaGFyYWN0ZXIgc2VxdWVuY2UgcGVyIGxhbmd1YWdlLjwv cD4NCg0KPGgzIGlkPSJzdGFydCI+PGNvZGU+c3RhcnQ8L2NvZGU+PC9oMz4NCjxwPlRoZSBj aGFyYWN0ZXIgc2VxdWVuY2UgdG8gYWRkIHRvIHRoZSBzdGFydCBvZiBldmVyeSBxdW90ZS4g QnkgZGVmYXVsdCB0aGlzIGlzIGVtcHR5IGJlY2F1c2UgZ29vZCBicm93c2VycyByZW5kZXIg dGhlIEhUTUwgPGNvZGU+cTwvY29kZT4gZWxlbWVudCB3aXRoIGxhbmd1YWdlLXNwZWNpZmlj IHF1b3RlIGNoYXJhY3RlcnMgYXV0b21hdGljYWxseS4gU2hvdWxkIHlvdSB3aXNoIHRvIDxh IGhyZWY9IiN3cmFwdGFnIj5jaGFuZ2UgdGhlIHdyYXB0YWc8L2E+IGhvd2V2ZXIsIDxjb2Rl PnN0YXJ0PC9jb2RlPiBhbmQgaXRzIGNvcnJlc3BvbmRpbmcgZnJpZW5kIDxhIGhyZWY9IiNl bmQiPmVuZDwvYT4gbWF5IGJlIHVzZWZ1bC4gTm90ZSB0aGF0IGJyb3dzZXJzIHRoYXQgc3Vw cG9ydCB0aGUgQ1NTMiA8Y29kZT5iZWZvcmU8L2NvZGU+IGFuZCA8Y29kZT5hZnRlcjwvY29k ZT4gcHNldWRvLWVsZW1lbnRzIGNhbiBhbHNvIGFkZCBjaGFyYWN0ZXJzIHZpYSB0aGUgPGNv ZGU+Y29udGVudDo8L2NvZGU+IHByb3BlcnR5LiBUaGlzIG9wdGlvbiBpcyBNTFAtYXdhcmUu PC9wPg0KDQo8aDMgaWQ9ImVuZCI+PGNvZGU+ZW5kPC9jb2RlPjwvaDM+DQo8cD5Db21wbGVt ZW50cyA8YSBocmVmPSIjc3RhcnQiPnN0YXJ0PC9hPiBhbmQgc3BlY2lmaWVzIHRoZSBjaGFy YWN0ZXIgc2VxdWVuY2UgdG8gYWRkIHRvIHRoZSBlbmQgb2YgZXZlcnkgcXVvdGUuIEJ5IGRl ZmF1bHQgdGhpcyBpcyBlbXB0eSBiZWNhdXNlIGdvb2QgYnJvd3NlcnMgcmVuZGVyIHRoZSBI VE1MIDxjb2RlPnE8L2NvZGU+IGVsZW1lbnQgd2l0aCBsYW5ndWFnZS1zcGVjaWZpYyBxdW90 ZSBjaGFyYWN0ZXJzIGF1dG9tYXRpY2FsbHkuIFRoaXMgb3B0aW9uIGlzIE1MUC1hd2FyZS48 L3A+DQoNCjxoMyBpZD0icG9zIj48Y29kZT5wb3M8L2NvZGU+PC9oMz4NCjxwPkFsdGhvdWdo IHBvc2l0aW9uaW5nIGNhbiBiZSBkb25lIGVudGlyZWx5IGluIENTUyAoYW5kIHByb2JhYmx5 IHNob3VsZCksIHRoZXJlIGFyZSB0aW1lcyB3aGVuIGl0IGlzIHVzZWZ1bCB0byBzcGVjaWZ5 IHBvc2l0aW9ucyBmcm9tIHRoZSBwbHVnaW4uIE9uZSBzdWNoIGNhc2UgaXMgd2hlcmUgeW91 IHdhbnQgdGhlIHF1b3RlIHRvIGJlIHB1bGxlZCBvdXQgYWxvbmdzaWRlIHRoZSBwbGFjZSB0 aGF0IHRoZSBmdWxsIHF1b3RlIGFwcGVhcnMgaW4gY29udGV4dC4gVGhlIHBvcyBhdHRyaWJ1 dGUgaGVscHMgeW91IGFjaGlldmUgdGhpcy48L3A+DQo8cD5JdCB0YWtlcyBhIHBhaXIgb2Yg YXJndW1lbnRzLCBzZXBhcmF0ZWQgYnkgYSBjb21tYS4gSWYgdGhlIG9wdGlvbiBpcyBvbWl0 dGVkIG9yIG1hbGZvcm1lZCwgaXQgaXMgZGlzYWJsZWQgYW5kIHBvc2l0aW9uaW5nIGlzIHRo ZXJlZm9yZSBjb21wbGV0ZWx5IHVuZGVyIENTUyBjb250cm9sLiBPdGhlcndpc2UsIHNwZWNp ZnkgeCBhbmQgeSBjby1vcmRpbmF0ZXMgb2Ygd2hlcmUgeW91IHdpc2ggdGhlIHB1bGxxdW90 ZXMgdG8gYXBwZWFyLiBUaGlzIG9wdGlvbiBpcyBiZXN0IGV4cGxhaW5lZCBieSBleGFtcGxl OjwvcD4NCjxwPihub3RlOiBpdCBpcyBhc3N1bWVkIHRoYXQgdGhlIHBRdW90ZSBlbGVtZW50 IGlzIGFzc2lnbmVkIDxjb2RlPnBvc2l0aW9uOmFic29sdXRlOzwvY29kZT4gdmlhIENTUy4g U2VlIDxhIGhyZWY9IiNzdHlsaW5nIj5zdHlsaW5nPC9hPiBmb3IgZXhhbXBsZXMpPC9wPg0K DQo8dGFibGUgaWQ9ImVndGFiIj4NCjx0cj48dGg+cG9zPTwvdGg+PHRoPnJlc3VsdDwvdGg+ PHRoPnJlbWFya3M8L3RoPjwvdHI+DQo8dHI+PHRkPiI1MCwgMjAwIjwvdGQ+PHRkPmFsbCBx dW90ZXMgYXBwZWFyIGF0IDUwcHggZnJvbSB0aGUgbGVmdCBlZGdlIGFuZCAyMDBweCBmcm9t IHRoZSB0b3AgZWRnZSBvZiB0aGUgPGEgaHJlZj0iI2NvbnRhaW5lciI+Y29udGFpbmVyPC9h PjwvdGQ+PHRkPndpdGhvdXQgYW55IHVuaXRzIHNwZWNpZmllZCwgJ3B4JyBpcyBhc3N1bWVk PC90ZD48L3RyPg0KPHRyPjx0ZD4iMTAlLCAxNTAiPC90ZD48dGQ+cXVvdGVzIGFwcGVhciAx MCUgZnJvbSB0aGUgbGVmdCBlZGdlIGFuZCAxNTBweCBmcm9tIHRoZSB0b3AgZWRnZTwvdGQ+ PHRkPlJlc2l6aW5nIHRoZSBob3Jpem9udGFsIGF4aXMgb2YgdGhlIGJyb3dzZXIgd2luZG93 IG1vdmVzIHRoZSBxdW90ZXM8L3RkPjwvdHI+DQo8dHI+PHRkPiI0MHB0LCB5IjwvdGQ+PHRk PnF1b3RlcyBhcHBlYXIgNDBwdHMgZnJvbSB0aGUgbGVmdCBlZGdlIGFuZCBhdCB0aGUgc2Ft ZSB2ZXJ0aWNhbCBwb3NpdGlvbiBhcyB0aGUgcGxhY2UgdGhlIG9yaWdpbmFsIHF1b3RlIGFw cGVhcnM8L3RkPjx0ZD5zb21lIHZhcmlhdGlvbiBpbiB5IHBvc2l0aW9uIHNvbWV0aW1lcyBv Y2N1cnMgZGVwZW5kaW5nIG9uIHRoZSBjb250YWluaW5nIGVsZW1lbnQ8L3RkPjwvdHI+DQo8 dHI+PHRkPiJ4LTgwLCB5KzUwIjwvdGQ+PHRkPnF1b3RlcyBhcHBlYXIgODBweCB0byB0aGUg bGVmdCBvZiB0aGUgb3JpZ2luYWwgcXVvdGUgYW5kIDUwcHggYmVsb3cgaXQ8L3RkPjx0ZD55 b3UgY2FuIHVzZSArIC0gKiBvciAvIHRvIHBlcmZvcm0gc2ltcGxlIG1hdGhzIG9uIHggYW5k IHkgY28tb3JkaW5hdGVzPC90ZD48L3RyPg0KPC90YWJsZT4NCg0KPHA+WW91IGNhbiB1c2Ug YW55IHZhbGlkIENTUyB1bml0IG9mIGxlbmd0aCBtZWFzdXJlbWVudCwgc3VjaCBhcyAlLCBw eCwgZW0sIGV4LCBwdCwgY20gYW5kIHNvIG9uLjwvcD4NCg0KPGgyPjxhIGlkPSJleGFtcGxl cyI+PC9hPkV4YW1wbGVzPC9oMj4NCjxwPjwvcD4NCg0KPGgzIGlkPSJlZzEiPjxjb2RlPkV4 YW1wbGUgMTwvY29kZT48L2gzPg0KPHByZT4mbHQ7dHhwOnNtZF9wdWxscXVvdGUgLyZndDs8 L3ByZT4NCg0KPHA+VmFuaWxsYSB1c2FnZToganVzdCBwdXRzIHRoZSBqYXZhc2NyaXB0IG9u IHRoZSBwYWdlLCBzY2FucyBmb3IgYWxsIGNsYXNzIGRlZmluaXRpb25zIGxhYmVsbGVkICdw cScgYW5kIGNyZWF0ZXMgcHVsbHF1b3RlcyBpbiBIVE1MICdxJyB0YWdzLiBTdHlsZSB0byB0 YXN0ZS48L3A+DQoNCjxoMyBpZD0iZWcyIj48Y29kZT5FeGFtcGxlIDI8L2NvZGU+PC9oMz4N CjxwcmU+Jmx0O3R4cDpzbWRfcHVsbHF1b3RlIHdyYXB0YWc9ImRpdiIgc3RhcnQ9IiZhbXA7 bGFxdW87Ig0KICAgICBlbmQ9IiZhbXA7cmFxdW87IiBjbGFzcz0ibXlRdW90ZXMiIC8mZ3Q7 PC9wcmU+DQoNCjxwPldyYXBzIGVhY2ggcXVvdGUgaW4gYSA8Y29kZT4mbHQ7ZGl2Jmd0Ozwv Y29kZT4gdGFnLCBwcmVwZW5kcyBlYWNoIHF1b3RlIHdpdGggYSBsZWZ0LWFuZ2xlIHF1b3Rl IGFuZCBhcHBlbmRzIGVhY2ggcXVvdGUgd2l0aCBhIHJpZ2h0LWFuZ2xlIHF1b3RlIHN5bWJv bC4gU2V0cyB0aGUgY2xhc3MgYXR0cmlidXRlIG9mIHRoZSBkaXYgdGFncyB0byA8Y29kZT5t eVF1b3RlczwvY29kZT48L3A+DQoNCjxoMyBpZD0iZWczIj48Y29kZT5FeGFtcGxlIDM8L2Nv ZGU+PC9oMz4NCjxwcmU+Jmx0O3R4cDpzbWRfcHVsbHF1b3RlIHdyYXB0YWc9InAiIHNlYXJj aF9jbGFzcz0iQVF1b3RlIg0KICAgICBjaG9wcGVyPSJARExNQCIgb21pc3Npb25zPSIuLi4u LiIgLyZndDs8L3ByZT4NCg0KPHA+U2VhcmNoZXMgdGhlIGRvY3VtZW50IGZvciBlbGVtZW50 cyB3aXRoIGEgY2xhc3Mgb2YgPGNvZGU+QVF1b3RlPC9jb2RlPiBhbmQgb21pdHMgd29yZHMg YmV0d2VlbiBwYWlycyBvZiA8Y29kZT5ARExNQDwvY29kZT4uIEVhY2ggb21pdHRlZCBzZXQg b2Ygd29yZHMgaXMgcmVwbGFjZWQgd2l0aCBhIHNlcmllcyBvZiBkb3RzLjwvcD4NCg0KPGJs b2NrcXVvdGU+PHA+Jmx0O3NwYW4gY2xhc3M9IkFRdW90ZSImZ3Q7SSBjYW5ub3QgaGVscCBp dEBETE1AOyByZWFzb24gaGFzIG5vdGhpbmcgdG8gZG8gd2l0aCBpdDsgQERMTUBJIGxvdmUg aGVyIGFnYWluc3QgcmVhc29uLiZsdDsvc3BhbiZndDs8L3A+PC9ibG9ja3F1b3RlPg0KDQo8 cD5nZW5lcmF0ZXMgYSBwdWxscXVvdGUgbGlrZSB0aGlzOjwvcD4NCg0KPGJsb2NrcXVvdGU+ PHA+Jmx0O3AgY2xhc3M9InBRdW90ZSImZ3Q7SSBjYW5ub3QgaGVscCBpdC4uLi4uIEkgbG92 ZSBoZXIgYWdhaW5zdCByZWFzb24uJmx0Oy9wJmd0OzwvcD48L2Jsb2NrcXVvdGU+DQoNCjxo MyBpZD0iZWc0Ij48Y29kZT5FeGFtcGxlIDQ8L2NvZGU+PC9oMz4NCjxwcmU+Jmx0O3R4cDpz bWRfcHVsbHF1b3RlIGpxdWVyeT0iIiBqcV9jbGFzaHZhcj0ialF1ZXJ5Ig0KICAgICBjb250 YWluZXI9IiNxdW90ZUhvbGRlciIgaW5zZXJ0X21ldGhvZD0icHJlcGVuZCIgLyZndDs8L3By ZT4NCg0KPHA+VGVsbHMgdGhlIHBsdWdpbiBub3QgdG8gbG9hZCB0aGUganF1ZXJ5IGxpYnJh cnkgKHRoZSBhc3N1bXB0aW9uIGJlaW5nIHRoYXQgaXQgaXMgYWxyZWFkeSBsb2FkZWQpIGFu ZCB0byB1c2UgdGhlIG5vQ29uZmxpY3QoKSB2YXJpYWJsZSBuYW1lICdqUXVlcnknIChpZiBp dCBoYXMgbm90IGFscmVhZHkgYmVlbiBzZXQgdXAgaXQgd2lsbCBiZSBhc3NpZ25lZCkuIFRo ZSBxdW90ZXMgYXJlIHRoZW4gdG9sZCB0byBhdHRhY2ggdGhlbXNlbHZlcyB0byB0aGUgZWxl bWVudCB3aXRoIGFuIGlkIG9mIDxjb2RlPiNxdW90ZUhvbGRlcjwvY29kZT4gYW5kIHRoZXkg YXJlIHRvIGJlIHBsYWNlZCBpbW1lZGlhdGVseSBpbiBmcm9udCBvZiBhbnkgY29udGVudCB0 aGF0IG1heSBhbHJlYWR5IGJlIGluIHRoZSBlbGVtZW50LjwvcD4NCg0KPGgzIGlkPSJlZzUi Pjxjb2RlPkV4YW1wbGUgNTwvY29kZT48L2gzPg0KPHByZT4mbHQ7dHhwOnNtZF9wdWxscXVv dGUgbGltaXQ9IjEiIHJhbmRvbT0iMSIgcG9zPSI2MCwgMjMwIiAvJmd0OzwvcHJlPg0KDQo8 cD5Pbmx5IHNob3dzIDEgcXVvdGUgb24gdGhlIHBhZ2UgKHRoZSBsaW1pdCBhdHRyaWJ1dGUp LCB0ZWxsaW5nIHRoZSBwbHVnaW4gdG8gY2hvb3NlIGEgcmFuZG9tIHF1b3RlIGZyb20gdGhv c2UgZGVmaW5lZCBpbiB0aGUgc291cmNlIGFuZCBwbGFjZSBpdCBhdCBhIHBvc2l0aW9uIDYw cHggZnJvbSB0aGUgbGVmdCBlZGdlIGFuZCAyMzBweCBmcm9tIHRoZSB0b3AgZWRnZSBvZiB0 aGUgY29udGFpbmluZyBlbGVtZW50ICh0aGUgZGVmYXVsdCA8Y29kZT4mbHQ7Ym9keSZndDs8 L2NvZGU+IGluIHRoaXMgY2FzZSkuPC9wPg0KPHA+VXNpbmcgPGNvZGU+bGltaXQ9IjIiIHJh bmRvbT0iMSI8L2NvZGU+IGluc3RlYWQgd291bGQgcHVsbCB0d28gcmFuZG9tIHF1b3RlcyBm cm9tIHRoZSB0ZXh0IGFuZCBwdXQgdGhlbSBpbiBleGFjdGx5IHRoZSBzYW1lIHNwb3Qgb24g dGhlIHBhZ2UuIFNlZSA8YSBocmVmPSIjc3R5bGluZyI+c3R5bGluZzwvYT4gZm9yIHdheXMg dG8gc2VwYXJhdGUgdGhlbS48L3A+DQo8cD5Vc2luZyA8Y29kZT5saW1pdD0iMiIgcmFuZG9t PSIwIjwvY29kZT4gKG9yIG9taXR0aW5nIHJhbmRvbSkgd291bGQgcHVsbCB0aGUgZmlyc3Qg dHdvIHF1b3RlcyBmcm9tIHRoZSB0ZXh0IGFuZCBwdXQgdGhlbSBpbiBleGFjdGx5IHRoZSBz YW1lIHNwb3Qgb24gdGhlIHBhZ2UuPC9wPg0KDQo8aDI+PGEgaWQ9InN0eWxpbmciPjwvYT5T dHlsaW5nPC9oMj4NCjxwPlRvIHN0eWxlIHF1b3RlcyB3aGVuIHVzaW5nIHRoZSA8YSBocmVm PSIjcG9zIj5wb3M8L2E+IGF0dHJpYnV0ZSB5b3UgY2FuIHVzZSBzb21ldGhpbmcgbGlrZSB0 aGlzOjwvcD4NCg0KPHByZT4NCi5wUXVvdGUgew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCW1h cmdpbjoxZW07DQoJcGFkZGluZzouNWVtOw0KCWZvbnQtc2l6ZToxLjFlbTsNCgl0ZXh0LWFs aWduOnJpZ2h0Ow0KCWZvbnQtc3R5bGU6aXRhbGljOw0KCWNvbG9yOiMyMjI7DQoJbGluZS1o ZWlnaHQ6MS4zNTsNCgl3aWR0aDoxMjBweDsNCn0NCjwvcHJlPg0KDQo8cD5BZGQgPGNvZGU+ dG9wOjwvY29kZT4gYW5kIDxjb2RlPmxlZnQ6PC9jb2RlPiBkZWZpbml0aW9ucyBpZiB5b3Ug d2FudCB0byBmaXggdGhlIGxvY2F0aW9uIGFuZCBvbmx5IGludGVuZCBoYXZpbmcgMSBxdW90 ZSBwZXIgcGFnZSwgb3IgcHJlZmVyIG5vdCB0byB1c2UgdGhlIDxjb2RlPnBvczwvY29kZT4g YXR0cmlidXRlLjwvcD4NCg0KPHA+Rm9yIG11bHRpcGxlLCBmaXhlZC1wb3NpdGlvbiBxdW90 ZXMgeW91IGNvdWxkIHVzZSB0aGlzIHR5cGUgb2Ygc3R5bGluZzo8L3A+DQo8cHJlPg0KLnBR dW90ZSB7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJdG9wOjUwcHg7DQoJbGVmdDoxMDBweDsN Cn0NCi5wUXVvdGUgKyAucFF1b3RlIHsNCgl0b3A6NDUwcHg7DQoJcmlnaHQ6MzBweDsNCn0N CjwvcHJlPg0KPC9kaXY+CjwhLS0gLS0tIEJFR0lOIFBMVUdJTiBDU1MgLS0tIC0tPgo8c3R5 bGUgdHlwZT0idGV4dC9jc3MiPg0KI3NtZF9oZWxwIHsgbGluZS1oZWlnaHQ6MS41IDt9DQoj c21kX2hlbHAgY29kZSB7IGZvbnQtd2VpZ2h0OmJvbGQ7IGZvbnQ6IDEwNSUvMTMwJSAiQ291 cmllciBOZXciLCBjb3VyaWVyLCBtb25vc3BhY2U7IGJhY2tncm91bmQtY29sb3I6ICNGRkZG Q0M7fQ0KI3NtZF9oZWxwIGNvZGUuYmxvY2sgeyBmb250LXdlaWdodDpub3JtYWw7IGJvcmRl cjoxcHggZG90dGVkICM5OTk7IGJhY2tncm91bmQtY29sb3I6ICNmMGU2OGM7IGRpc3BsYXk6 YmxvY2s7IG1hcmdpbjoxMHB4IDEwcHggMjBweDsgcGFkZGluZzoxMHB4OyB9DQojc21kX2hl bHAgYTpsaW5rLCAjc21kX2hlbHAgYTp2aXNpdGVkIHsgY29sb3I6ICMwMGM7IHRleHQtZGVj b3JhdGlvbjogbm9uZTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGJsdWU7IHBhZGRpbmct Ym90dG9tOjFweDt9DQojc21kX2hlbHAgYTpob3ZlciwgI3NtZF9oZWxwIGE6YWN0aXZlIHsg Y29sb3I6IGJsdWU7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgYm9yZGVyLWJvdHRvbTogMnB4 IHNvbGlkIGJsdWU7IHBhZGRpbmctYm90dG9tOjFweDt9DQojc21kX2hlbHAgaDEgeyBjb2xv cjogIzM2OTsgZm9udDogMjBweCBHZW9yZ2lhLCBzYW5zLXNlcmlmOyBtYXJnaW46IDA7IHRl eHQtYWxpZ246IGNlbnRlcjsgfQ0KI3NtZF9oZWxwIGgyIHsgYm9yZGVyLWJvdHRvbTogMXB4 IHNvbGlkIGJsYWNrOyBwYWRkaW5nOjEwcHggMCAwOyBjb2xvcjogIzM2OTsgZm9udDogMTdw eCBHZW9yZ2lhLCBzYW5zLXNlcmlmOyB9DQojc21kX2hlbHAgaDMgeyBjb2xvcjogIzA3OTsg Zm9udDogYm9sZCAxMnB4IEFyaWFsLCBzYW5zLXNlcmlmOyBsZXR0ZXItc3BhY2luZzogMXB4 OyBtYXJnaW46IDEwcHggMCAwO3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IHRleHQtZGVj b3JhdGlvbjp1bmRlcmxpbmU7fQ0KI3NtZF9oZWxwIGg0IHsgZm9udDogYm9sZCAxMXB4IEFy aWFsLCBzYW5zLXNlcmlmOyBsZXR0ZXItc3BhY2luZzogMXB4OyBtYXJnaW46IDEwcHggMCAw IDt0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9DQojc21kX2hlbHAgLmF0bm0geyBmb250 LXdlaWdodDpib2xkOyBjb2xvcjojMzNkOyB9DQojc21kX2hlbHAgLm1hbmQgeyBiYWNrZ3Jv dW5kOiNlZWU7IGJvcmRlcjoxcHggZG90dGVkICM5OTk7IH0NCiNzbWRfaGVscCB0YWJsZSB7 d2lkdGg6OTAlOyB0ZXh0LWFsaWduOmNlbnRlcjsgcGFkZGluZy1ib3R0b206MWVtO30NCiNz bWRfaGVscCB0ZCwgI3NtZF9oZWxwIHRoIHtib3JkZXI6MXB4IHNvbGlkICM5OTk7IHBhZGRp bmc6LjVlbSAwO30NCiNzbWRfaGVscCB1bCB7IGxpc3Qtc3R5bGUtdHlwZTpzcXVhcmU7IH0N CiNzbWRfaGVscCBsaSB7IG1hcmdpbjo1cHggMjBweCA1cHggMzBweDsgfQ0KI3NtZF9oZWxw IC5icmVhayB7IG1hcmdpbi10b3A6NXB4OyB9DQo8L3N0eWxlPgo8IS0tIC0tLSBFTkQgUExV R0lOIENTUyAtLS0gLS0+IjtzOjQ6ImNvZGUiO3M6NTI4NToiLy8gdjAuMSAgIEluaXRpYWwg cmVsZWFzZQ0KLy8gdjAuMWEgIFJlbW92ZWQgYm9ndXMgbGVhZGluZyBzbGFzaCBvbiA8c2Ny aXB0PiB0YWcuIFRoYW5rcyBzZ29vZHdpbg0KDQpmdW5jdGlvbiBzbWRfcHVsbHF1b3RlKCRh dHRzKSB7DQoJcmVxdWlyZV9wbHVnaW4oJ3NtZF9saWInKTsNCg0KCS8vIE1MUCBzdXBwb3J0 DQoJZ2xvYmFsICRzbWRfcHF1b0xhbmc7DQoJJHNtZF9wcXVvX3N0ciA9IGFycmF5KA0KCQkn cHFfc2VhcmNoX2NsYXNzJyA9PiAncHEnLA0KCQkncHFfY2xhc3MnID0+ICdwUXVvdGUnLA0K CQkncHFfc3RhcnQnID0+ICcnLA0KCQkncHFfZW5kJyA9PiAnJywNCgkJJ3BxX29taXQnID0+ ICcmaGVsbGlwOycsDQoJKTsNCgkkc21kX3BxdW9MYW5nID0gbmV3IHNtZF9NTFAoJ3NtZF9w dWxscXVvdGUnLCAnc21kX3BxdW8nLCAkc21kX3BxdW9fc3RyKTsNCg0KCS8vIFByb2Nlc3Mg dGhlIGFyZ3MNCgkkaW5zZXJ0TWV0aG9kcyA9IGFycmF5KCJhcHBlbmQiLCAicHJlcGVuZCIs ICJhZnRlciIsICJiZWZvcmUiLCAicmVwbGFjZVdpdGgiKTsNCglleHRyYWN0KGxBdHRzKGFy cmF5KA0KCQknanF1ZXJ5JwkJCQk9PiAnL3RleHRwYXR0ZXJuL2pxdWVyeS5qcycsDQoJCSdq cV9jbGFzaHZhcicJCT0+ICdqcScsDQoJCSdjb250YWluZXInCQkJPT4gJ2JvZHknLA0KCQkn aW5zZXJ0X21ldGhvZCcJPT4gJGluc2VydE1ldGhvZHNbMF0sDQoJCSdzZWFyY2hfY2xhc3Mn CQk9PiAkc21kX3BxdW9MYW5nLT5nVHh0KCJwcV9zZWFyY2hfY2xhc3MiKSwNCgkJJ2NsYXNz JwkJCQk9PiAkc21kX3BxdW9MYW5nLT5nVHh0KCJwcV9jbGFzcyIpLA0KCQknd3JhcHRhZycJ CQk9PiAncScsDQoJCSdsaW1pdCcJCQkJPT4gJzAnLA0KCQkncmFuZG9tJwkJCQk9PiAnMCcs DQoJCSdjaG9wcGVyJwkJCT0+ICd+ficsDQoJCSdzdGFydCcJCQkJPT4gJHNtZF9wcXVvTGFu Zy0+Z1R4dCgicHFfc3RhcnQiKSwNCgkJJ2VuZCcJCQkJCT0+ICRzbWRfcHF1b0xhbmctPmdU eHQoInBxX2VuZCIpLA0KCQknb21pc3Npb25zJwkJCT0+ICRzbWRfcHF1b0xhbmctPmdUeHQo InBxX29taXQiKSwNCgkJJ2hpZGVfb3JpZ2luYWxzJwk9PiAnMCcsDQoJCSdwb3MnCQkJCQk9 PiAnJywNCgkpLCAkYXR0cykpOw0KDQoJJHJldCA9ICIiOw0KCWlmICghZW1wdHkoJGpxdWVy eSkpIHsNCgkJJHJldCAuPSAnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i Jy4kanF1ZXJ5LiciPjwvc2NyaXB0Pic7DQoJfQ0KCSRyZXQgLj0gJzxzY3JpcHQgdHlwZT0i dGV4dC9qYXZhc2NyaXB0Ij4nLm47DQoJJHJldCAuPSAnPCEtLScubjsNCg0KCWlmICghZW1w dHkoJGpxX2NsYXNodmFyKSkgew0KCQkkcmV0IC49ICdpZiAodHlwZW9mICQnLiRqcV9jbGFz aHZhci4nID09IFwndW5kZWZpbmVkXCcpIHsnLm47DQoJCSRyZXQgLj0gJyB2YXIgJCcuJGpx X2NsYXNodmFyLicgPSBqUXVlcnkubm9Db25mbGljdCgpOycubjsNCgkJJHJldCAuPSAnfScu bjsNCgl9DQoJJGpxX2NsYXNodmFyID0gIiQiLiRqcV9jbGFzaHZhcjsNCg0KCS8vIENoZWNr IHJlbGV2YW50IHBhc3NlZCBhcmdzIGFyZSByZWFzb25hYmxlDQoJJGxpbWl0ID0gKHRyaW0o JGxpbWl0KSA9PSAiIikgPyAwIDogJGxpbWl0Ow0KCSRjb250YWluZXIgPSAodHJpbSgkY29u dGFpbmVyKSA9PSAiIikgPyAiYm9keSIgOiAkY29udGFpbmVyOw0KCSRpbnNlcnRfbWV0aG9k ID0gKGluX2FycmF5KCRpbnNlcnRfbWV0aG9kLCAkaW5zZXJ0TWV0aG9kcykpID8gJGluc2Vy dF9tZXRob2QgOiAkaW5zZXJ0TWV0aG9kc1swXTsNCg0KCS8vIFdyaXRlIHRoZSBqYXZhc2Ny aXB0IHRvIHRoZSBwYWdlLg0KCS8vIENhbGxiYWNrIGZvciBhcnJheS5zb3J0KCkgdG8gcmFu ZG9tbHkgb3JkZXIgdGhlIGFycmF5DQoJJHJldCAuPSAnZnVuY3Rpb24gcmFuZE9yZGVyKCkg eycubjsNCgkkcmV0IC49ICcgcmV0dXJuIChNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkpLTAu NSk7Jy5uOw0KIAkkcmV0IC49ICd9Jy5uOw0KDQoJLy8gQ2hvb3NlIE4gbnVtYmVycyBmcm9t IGEgbGlzdCBvZiBNIChyYW5naW5nIGZyb20gMCAtIE0tMSkuDQoJLy8gSWYgdHlwID0gInJu ZCIsIGNob29zZSB0aGVtIHJhbmRvbWx5OyBpZiB0eXA9ImFsbCIgZ2VuZXJhdGUgYSBjb21w bGV0ZSByYW5nZS4NCgkvLyBPcmlnaW5hbCByYW5kb20gYWxnb3JpdGhtIGJ5IERvbmFsZCBL bnV0aC4NCgkkcmV0IC49ICdmdW5jdGlvbiBnZW5MaXN0KE0sTix0eXApIHsnLm47DQoJJHJl dCAuPSAnIGFyeSA9IFtdOycubjsNCgkkcmV0IC49ICcgZm9yIChpZHg9MDsgaWR4PE0gJiYg Tj4wOyArK2lkeCkgeycubjsNCgkkcmV0IC49ICcgIGlmICgoTWF0aC5mbG9vcihNYXRoLnJh bmRvbSgpKihNLWlkeCkpKTxOIHx8IHR5cCA9PSAiYWxsIikgeycubjsNCgkkcmV0IC49ICcg ICBhcnkucHVzaChpZHgpOycubjsNCgkkcmV0IC49ICcgICBOPU4tMTsnLm47DQoJJHJldCAu PSAnICB9Jy5uOw0KCSRyZXQgLj0gJyB9Jy5uOw0KCSRyZXQgLj0gJyByZXR1cm4oYXJ5KTsn Lm47DQoJJHJldCAuPSAnfScubjsNCg0KCS8vIEZpbmQgZWFjaCBxdW90ZSwgZ3JhYiB0aGUg dGV4dCwgY2hvcCBvdXQgYW55IG9taXNzaW9ucywgbWFrZSB0aGUgcHVsbHF1b3RlLA0KCS8v IHRoZW4gcmVtb3ZlIHRoZSBjaG9wcGVyIHN5bWJvbHMgZnJvbSB0aGUgb3JpZ2luYWwgdGV4 dCBvbiB0aGUgcGFnZQ0KCSRyZXQgLj0gJ2Z1bmN0aW9uIHNtZF9wdWxscXVvdGUoKSB7Jy5u Ow0KCSRyZXQgLj0gJyB2YXIgc25pcFJlZyA9IC8nLiRjaG9wcGVyLicuKz8nLiRjaG9wcGVy LicvZ2k7Jy5uOw0KCSRyZXQgLj0gJyB2YXIgY2xlYVJlZyA9IC8nLiRjaG9wcGVyLicvZ2k7 Jy5uOw0KCSRyZXQgLj0gJyB2YXIgbnVtUXVvdGVzID0gJy4gJGpxX2NsYXNodmFyLicoIi4n LiRzZWFyY2hfY2xhc3MuJyIpLmxlbmd0aDsnLm47DQoJJHJldCAuPSAnIHZhciBxdW90ZXMg PSBbXTsnLm47DQoJJHJldCAuPSAnIHZhciBxdW90ZUN0ciA9IDA7Jy5uOw0KCSRyZXQgLj0g JyB2YXIgcXVvdGVQb3MgPSBbXTsnLm47DQoJJHJldCAuPSAnIHZhciBsaW0gPSAoJyAuJGxp bWl0LiAnID4gbnVtUXVvdGVzIHx8ICcgLiRsaW1pdC4gJyA9PSAwKSA/IG51bVF1b3RlcyA6 ICcgLiRsaW1pdC4gJzsnLm47DQoJJHJldCAuPSAoJHJhbmRvbT09MCkgPyAnIGNob3NlbiA9 IGdlbkxpc3QobnVtUXVvdGVzLCBsaW0sICJhbGwiKTsnLm4gOiAnIGNob3NlbiA9IGdlbkxp c3QobnVtUXVvdGVzLCBsaW0sICJybmQiKTsnLm47DQoJJHJldCAuPSAoJHJhbmRvbT09MCkg PyAnJyA6ICcgY2hvc2VuLnNvcnQocmFuZE9yZGVyKScubjsNCgkkcmV0IC49ICcgJyAuJGpx X2NsYXNodmFyLiAnKCIuJy4kc2VhcmNoX2NsYXNzLiciKS5lYWNoKGZ1bmN0aW9uKCkgeycu bjsNCgkkcmV0IC49ICcgIHZhciAkdGhpcyA9ICcuJGpxX2NsYXNodmFyLicodGhpcyk7Jy5u Ow0KCSRyZXQgLj0gJyAgdHh0ID0gJHRoaXMudGV4dCgpOycubjsNCgkkcmV0IC49ICcgIHJl cCA9IHR4dC5yZXBsYWNlKHNuaXBSZWcsICInLiRvbWlzc2lvbnMuJyIpOycubjsNCgkkcmV0 IC49ICcgIHF1b3Rlcy5wdXNoKHJlcCk7Jy5uOw0KCSRyZXQgLj0gJyAgcXVvdGVQb3MucHVz aCgkdGhpcy5vZmZzZXQoKSk7Jy5uOw0KCSRyZXQgLj0gJyAgJHRoaXMudGV4dCh0eHQucmVw bGFjZShjbGVhUmVnLCAiIikpOycubjsNCglpZiAoJGhpZGVfb3JpZ2luYWxzID09ICIxIikg ew0KCQkkcmV0IC49ICcgIChjaG9zZW4uZXhpc3RzKHF1b3RlQ3RyKSkgPyAkdGhpcy5lbXB0 eSgpIDogIiI7Jy5uOw0KCX0gZWxzZSBpZiAoJGhpZGVfb3JpZ2luYWxzID09ICIyIikgew0K CQkkcmV0IC49ICcgICR0aGlzLmVtcHR5KCk7Jy5uOw0KCX0NCgkkcmV0IC49ICcgIHF1b3Rl Q3RyKys7Jy5uOw0KCSRyZXQgLj0gJyAgfSk7Jy5uOw0KDQoJLy8gSW5zZXJ0IHRoZSBwdWxs cXVvdGVzIGludG8gdGhlIHBhZ2UgY29udGVudCBpbiB0aGUgY2hvc2VuIG9yZGVyDQoJJHJl dCAuPSAnIGZvciAodmFyIGlkeCA9IDA7IGlkeCA8IGNob3Nlbi5sZW5ndGg7IGlkeCsrKSB7 Jy5uOw0KCSRyZXQgLj0gJyAgJyAuJGpxX2NsYXNodmFyLiAnKCInLiRjb250YWluZXIuJyIp LicgLiRpbnNlcnRfbWV0aG9kLiAnKFwnPCcuJHdyYXB0YWcuICgoJGNsYXNzPT0iIikgPyAi IiA6ICcgY2xhc3M9IicuJGNsYXNzLiciJykgLiAnPicgLiRzdGFydC4gJ1wnK3F1b3Rlc1tj aG9zZW5baWR4XV0rXCcnIC4kZW5kLiAnPC8nLiR3cmFwdGFnLic+XCcpOycubjsNCg0KCS8v IENhbGN1bGF0ZSB0aGUgcG9zaXRpb24gaWYgYXBwbGljYWJsZQ0KCSR0b3AgPSAiIjsNCgkk bGVmdCA9ICIiOw0KCSR1bml0cyA9ICJweCI7DQoJJGV4cHIgPSAiW2VtfGV4fHB4fGlufGNt fG1tfHB0fHBjfCVdIjsNCgkkdWV4cHIgPSAiW15lbXxleHxweHxpbnxjbXxtbXxwdHxwY3wl XSI7DQoJaWYgKCRwb3MgIT0gIiIpIHsNCgkJJHBvc1BhcnRzID0gZXhwbG9kZSgiLCIsICRw b3MpOw0KCQlpZiAoY291bnQoJHBvc1BhcnRzKSA9PSAyKSB7DQoJCQkkbHVuaXRzID0gdHJp bShlcmVnX3JlcGxhY2UoJHVleHByLCAiIiwgJHBvc1BhcnRzWzBdKSk7DQoJCQkkdHVuaXRz ID0gdHJpbShlcmVnX3JlcGxhY2UoJHVleHByLCAiIiwgJHBvc1BhcnRzWzFdKSk7DQoJCQkk bGVmdCA9IHN0cl9yZXBsYWNlKCJ4IiwgInF1b3RlUG9zW2Nob3NlbltpZHhdXS5sZWZ0Iiwg dHJpbShlcmVnX3JlcGxhY2UoJGV4cHIsICIiLCAkcG9zUGFydHNbMF0pKSk7DQoJCQkkdG9w ID0gc3RyX3JlcGxhY2UoInkiLCAicXVvdGVQb3NbY2hvc2VuW2lkeF1dLnRvcCIsIHRyaW0o ZXJlZ19yZXBsYWNlKCRleHByLCAiIiwgJHBvc1BhcnRzWzFdKSkpOw0KCQl9IGVsc2Ugew0K CQkJJHBvcyA9ICIiOw0KCQl9DQoJfQ0KCSRyZXQgLj0gKCRwb3M9PSIiKSA/ICIiIDogJyAg JyAuJGpxX2NsYXNodmFyLiAnKCIuJyAuJGNsYXNzLiAnOmVxKCIraWR4KyIpIikuY3NzKHt0 b3A6ICcuJHRvcC4nKyInLigoJHR1bml0cyE9IiIpID8gJHR1bml0cyA6ICR1bml0cyApLici LCBsZWZ0OiAnLiRsZWZ0LicrIicuKCgkbHVuaXRzPT0iIikgPyAkdW5pdHMgOiAkbHVuaXRz ICkuJyJ9KTsnLm47DQoJJHJldCAuPSAnIH0nLm47DQoNCgkkcmV0IC49ICd9Jy5uOw0KDQoJ Ly8gUnVuIHNtZF9wdWxscXVvdGUgb24gRE9NIHJlYWR5DQoJJHJldCAuPSAkanFfY2xhc2h2 YXIuJyhmdW5jdGlvbigpIHsnLm47DQoJJHJldCAuPSAnIHNtZF9wdWxscXVvdGUoKTsnLm47 DQoJJHJldCAuPSAnfSk7Jy5uOw0KCSRyZXQgLj0gJy0tPicubjsNCgkkcmV0IC49ICc8L3Nj cmlwdD4nLm47DQoNCglyZXR1cm4gJHJldDsNCn0iO3M6NDoidHlwZSI7czoxOiIwIjtzOjU6 ImZsYWdzIjtzOjE6IjAiO3M6NToib3JkZXIiO3M6MToiNSI7czozOiJtZDUiO3M6MzI6Ijgy NDhhNGQ2OTE2M2U3YmE3YTEwYTBiZWY5MGZjYWRlIjt9