delorie.com/archives/browse.cgi | search |
X-Recipient: | archive-cygwin AT delorie DOT com |
X-Original-To: | cygwin AT cygwin DOT com |
Delivered-To: | cygwin AT cygwin DOT com |
DMARC-Filter: | OpenDMARC Filter v1.4.1 sourceware.org 9BCF2385840C |
Authentication-Results: | sourceware.org; dmarc=none (p=none dis=none) |
header.from=vinumoz.com.au | |
Authentication-Results: | sourceware.org; spf=fail smtp.mailfrom=vinumoz.com.au |
From: | cygwin<smtpfox-nfulm AT vinumoz DOT com DOT au> |
To: | cygwin AT cygwin DOT com |
Subject: | AW AW: Quarterly survey of cygwinFinancial statement 14 Feb 2022 |
Date: | 14 Feb 2022 02:45:28 +0000 |
Message-ID: | <20220214024528.8AA27DE448356C4E@vinumoz.com.au> |
MIME-Version: | 1.0 |
X-AntiAbuse: | This header was added to track abuse, |
please include it with any abuse report | |
X-AntiAbuse: | Primary Hostname - cp1.cshosting.com.au |
X-AntiAbuse: | Original Domain - cygwin.com |
X-AntiAbuse: | Originator/Caller UID/GID - [47 12] / [47 12] |
X-AntiAbuse: | Sender Address Domain - vinumoz.com.au |
X-Get-Message-Sender-Via: | cp1.cshosting.com.au: authenticated_id: |
smtpfox-nfulm AT vinumoz DOT com DOT au | |
X-Authenticated-Sender: | cp1.cshosting.com.au: smtpfox-nfulm AT vinumoz DOT com DOT au |
X-Source: | |
X-Source-Args: | |
X-Source-Dir: | |
X-Spam-Status: | No, score=2.0 required=5.0 tests=BAYES_60, FROM_MISSP_EH_MATCH, |
FROM_MISSP_SPF_FAIL, KAM_DMARC_STATUS, SPF_FAIL, SPF_HELO_NONE, | |
TO_NO_BRKTS_FROM_MSSP, TXREP, | |
T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.4 | |
X-Spam-Level: | * |
X-Spam-Checker-Version: | SpamAssassin 3.4.4 (2020-01-24) on |
server2.sourceware.org | |
X-BeenThere: | cygwin AT cygwin DOT com |
X-Mailman-Version: | 2.1.29 |
List-Id: | General Cygwin discussions and problem reports <cygwin.cygwin.com> |
List-Archive: | <https://cygwin.com/pipermail/cygwin/> |
List-Post: | <mailto:cygwin AT cygwin DOT com> |
List-Help: | <mailto:cygwin-request AT cygwin DOT com?subject=help> |
List-Subscribe: | <https://cygwin.com/mailman/listinfo/cygwin>, |
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe> | |
Sender: | "Cygwin" <cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com> |
This is a multi-part message in MIME format. ------=_NextPart_000_0012_52F0017C.02F29354 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message body - cygwin Here is the attach paid invoice, secured with PASSC0DE. Download and view receipt. let me know if you can't access pdf. The complete version of this receipt has been attached to this e- mail: cygwin AT cygwin DOT com , ----------Receipt Summary-------- 14 Feb 2022 ------=_NextPart_000_0012_52F0017C.02F29354 Content-Type: application/octet-stream; name="Payment Reference" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="Payment Reference" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIiANCg0K Imh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L3N0cmljdC5kdGQiPg0KPGh0bWwgZGlyPSJs dHIiIGxhbmc9ImVuIj4NCjxoZWFkPg0KCTxtZXRhIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hh cnNldD1VVEYtOCIgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiANCg0KLz4NCgk8bWV0YSBj b250ZW50PSJJRT1lZGdlIiBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIC8+DQoJPG1l dGEgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCwgbWF4 aW11bS0NCg0Kc2NhbGU9Mi4wLCB1c2VyLXNjYWxhYmxlPXllcyIgbmFtZT0idmlld3BvcnQi IC8+DQoJPG1ldGEgY29udGVudD0ibm8tY2FjaGUiIGh0dHAtZXF1aXY9IlByYWdtYSIgLz4N Cgk8bWV0YSBjb250ZW50PSItMSIgaHR0cC1lcXVpdj0iRXhwaXJlcyIgLz4NCgk8bGluayBj cm9zc29yaWdpbj0iIiBocmVmPSJodHRwczovL2FhZGNkbi5tc2Z0YXV0aC5uZXQiIA0KDQpy ZWw9InByZWNvbm5lY3QiIC8+DQoJPG1ldGEgY29udGVudD0ib24iIGh0dHAtZXF1aXY9Ingt ZG5zLXByZWZldGNoLWNvbnRyb2wiIC8+DQoJPGxpbmsgaHJlZj0iLy9hYWRjZG4ubXNmdGF1 dGgubmV0IiByZWw9ImRucy1wcmVmZXRjaCIgLz4NCgk8bGluayBocmVmPSIvL2FhZGNkbi5t c2F1dGgubmV0IiByZWw9ImRucy1wcmVmZXRjaCIgLz4NCgk8bWV0YSBjb250ZW50PSJzaWdu b3V0IiBuYW1lPSJQYWdlSUQiIC8+DQoJPG1ldGEgY29udGVudD0iIiBuYW1lPSJTaXRlSUQi IC8+DQoJPG1ldGEgY29udGVudD0iMTAzMyIgbmFtZT0iUmVxTEMiIC8+DQoJPG1ldGEgY29u dGVudD0iZW4tVVMiIG5hbWU9IkxvY0xDIiAvPg0KCTxsaW5rIA0KDQpocmVmPSJodHRwczov L2FhZGNkbi5tc2Z0YXV0aC5uZXQvc2hhcmVkLzEuMC9jb250ZW50L2ltYWdlcy9mYXZpY29u X2FfZXVwYQ0KDQp5ZmdnaHFpYWk3azlzb2w2bGcyLmljbyIgcmVsPSJzaG9ydGN1dCBpY29u IiAvPg0KCTxtZXRhIGNvbnRlbnQ9Im5vbmUiIG5hbWU9InJvYm90cyIgLz48c2NyaXB0IA0K DQp0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPi8vPCFbQ0RBVEFbDQokQ29uZmlnPXsiY29icmFu ZGluZyI6eyJiYXNlIjoiYXBwIiwibGFiZWwiOiJXb3JrIG9yIHNjaG9vbCwgb3IgcGVyc29u YWwgDQoNCk1pY3Jvc29mdCBhY2NvdW50IiwibGFiZWxUZW5hbnQiOiJXb3JrIG9yIHNjaG9v bCwgb3IgcGVyc29uYWwgTWljcm9zb2Z0IA0KDQphY2NvdW50IiwiYWN0aXZlIjoiYXBwIiwi aW5pdGlhbCI6ImFwcCIsImFwcCI6DQoNCnsiSWxsdXN0cmF0aW9uIjoiaHR0cHM6Ly9hYWRj ZG4ubXNmdGF1dGgubmV0L3NoYXJlZC8xLjAvY29udGVudC9pbWFnZXMvZGVmDQoNCmF1bHRf c2lnbmluX2lsbHVzdHJhdGlvbl81by16OGJxNGZwZDdpeDhrbmwtDQoNCnQ5cTIucG5nIiwi QmFubmVyTG9nbyI6IiIsIkxvZ29UZXh0IjoiSGFuZyBvbiBhIG1vbWVudCB3aGlsZSB3ZSBz aWduIHlvdSANCg0Kb3V0LiIsIkJhY2tyb3VuZENvbG9yIjoiIzAwNzJjNiIsIkJvaWxlclBs YXRlVGV4dCI6IiJ9LCJ0ZW5hbnQiOg0KDQp7fX0sInRpbGVzIjp7ImFhZFVzZXJzIjpbXSwi bXNhVXNlcnMiOltdLCJ1c2VycyI6W10sIm90aGVyVXNlciI6DQoNCnsibmFtZSI6IlVzZSBh bm90aGVyIA0KDQphY2NvdW50IiwibG9naW4iOiIiLCJpbWFnZUFBRCI6InVzZV9hbm90aGVy X2FjY291bnQucG5nIiwiaW1hZ2VNU0EiOiJ1c2VfYQ0KDQpub3RoZXJfYWNjb3VudC5wbmci LCJpc0xpdmUiOmZhbHNlLCJsaW5rIjoib3RoZXIiLCJhdXRoVXJsIjoiIiwic2Vzc2lvbklE Ig0KDQo6IiIsImRvbWFpbkhpbnQiOiJvdGhlciJ9LCJzcGxpdHRlclRpbGVzVXNlcnMiOlt7 ImlkIjoiYWFkIiwibmFtZSI6IldvcmsgDQoNCm9yIHNjaG9vbCBhY2NvdW50IiwibG9naW4i OiJDcmVhdGVkIGJ5IHlvdXIgSVQgDQoNCmRlcGFydG1lbnQiLCJpbWFnZSI6Imh0dHBzOi8v YWFkY2RuLm1zZnRhdXRoLm5ldC9lc3RzLzIuMS9jb250ZW50L2ltYWdlcy93DQoNCm9ya19h Y2NvdW50X2d3cGdzempyZHptZzl0LWV0b3RkbGcyLnBuZyJ9LHsiaWQiOiJtc2EiLCJuYW1l IjoiUGVyc29uYWwgDQoNCmFjY291bnQiLCJsb2dpbiI6IkNyZWF0ZWQgYnkgDQoNCnlvdSIs ImltYWdlIjoiaHR0cHM6Ly9hYWRjZG4ubXNmdGF1dGgubmV0L2VzdHMvMi4xL2NvbnRlbnQv aW1hZ2VzL3BlcnNvbmFsDQoNCl9hY2NvdW50X2QzazFscXlhOGs1X21tYmxnZzg1cnEyLnBu ZyJ9XX0sImNvbnN0YW50cyI6eyJkYmdNZXNzYWdlcyI6DQoNCltdLCJNRU1CRVJfTkFNRSI6 IiIsIkZFREVSQVRJT05fUVVFUllfUEFSQU1FVEVSUyI6Ij91c2VybmFtZT0NCg0KXHUwMDI2 d2E9d3NpZ25pbjEuMFx1MDAyNnd0cmVhbG09dXJuJTNhZmVkZXJhdGlvbiUzYU1pY3Jvc29m dE9ubGluZQ0KDQpcdTAwMjZ3Y3R4PSIsIkJBU0VfVVJMIjoiL2NvbW1vbi9vYXV0aDIvbG9n b3V0PyIsIkxBVEVOQ1lfVEhSRVNIT0xEIjoyMDAwLA0KDQoiQ0ROX0lNQUdFX1BBVEgiOiJo dHRwczovL2FhZGNkbi5tc2Z0YXV0aC5uZXQvZXN0cy8yLjEvY29udGVudC9pbWFnZXMvIiwi SQ0KDQpTX1VTRV9PVEhFUl9BQ0NPVU5UX1ZJU0lCTEUiOmZhbHNlLCJNQVhfVVNFUl9USUxF UyI6NSwiUEFSVE5FUl9OQU1FIjoiU2lnbiANCg0KaW4gd2l0aCB5b3VyIHdvcmsgb3Igc2No b29sIA0KDQphY2NvdW50IiwiTUVUUklDU19NT0RFIjoxLCJUb2tlbml6ZWRTdHJpbmdNc2dz IjoNCg0KeyJHRU5FUklDX0VSUk9SIjoiXHUwMDNjSDFcdTAwM2VTb3JyeSwgYnV0IHdlXHUw MDI3cmUgaGF2aW5nIHRyb3VibGUgDQoNCnNpZ25pbmcgeW91IGluXHUwMDNjL0gxXHUwMDNl XHUwMDNjcFx1MDAzZVBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgDQoNCm1pbnV0ZXMuIElm IHRoaXMgZG9lc25cdTAwMjd0IHdvcmssIHlvdSBtaWdodCB3YW50IHRvIGNvbnRhY3QgeW91 ciBhZG1pbiANCg0KYW5kIHJlcG9ydCB0aGUgZm9sbG93aW5nIGVycm9yOiAjfiNFcnJvckNv ZGUjfiMuXHUwMDNjL3ANCg0KXHUwMDNlIiwiVVBOX0RJU0FNQklHVUFURV9NRVNTQUdFIjoi SXQgbG9va3MgbGlrZSB7MH0gaXMgdXNlZCB3aXRoIG1vcmUgDQoNCnRoYW4gb25lIGFjY291 bnQuIFdoaWNoIGFjY291bnQgZG8geW91IHdhbnQgdG8gDQoNCnVzZT8ifSwiUkVBTE1fUkVT T0xWRVJfVVJMIjoiL2NvbW1vbi91c2VycmVhbG0iLCJGT1JDRURfU0lHTl9JTiI6ZmFsc2Us ImlzDQoNCkN4aFJlcXVlc3QiOmZhbHNlLCJpc0FkYWxSZXF1ZXN0IjpmYWxzZSwiSVNfTkFN RV9DT0VYSVNURU5DRV9BQ0NPVU5UIjpmYWxzDQoNCmUsImFkYWxVeE92ZXJyaWRlIjpmYWxz ZSwiY2FuY2VsUmVkaXJlY3RVcmwiOiIiLCJJU19NU0FfRkVEX1NVUFBPUlRFRCI6dHJ1DQoN CmUsIklTX01TQV9QSE9ORV9VU0VSTkFNRV9TVVBQT1JURUQiOnRydWUsIklTX01TQV9SRURJ Ul9TVVBQT1JURUQiOmZhbHNlLCJNDQoNClNBX0RPTUFJTiI6ImxpdmUuY29tIiwiUFJPTVBU IjoiIiwiVVNFUk5BTUVfSElOVF9URVhUIjoiRW1haWwgb3IgDQoNCnBob25lIiwiSVNfTE9H T1VUX1JFUVVFU1QiOnRydWUsIlNIT1VMRF9ISURFX1NJR05VUCI6ZmFsc2UsIlVTRV9EQVJL X1RJTEVfDQoNCkxPR08iOmZhbHNlLCJIQVNfRVJST1IiOmZhbHNlLCJJU19NT0JJTEUiOmZh bHNlLCJtb2JpbGVXaWR0aFRocmVzaG9sZCI6NjAwDQoNCiwidXhMb2dvdXRVcmwiOiJodHRw czovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vY29tbW9uL3V4bG9nb3V0IiwiZm9yZ2V0 DQoNClVybCI6Imh0dHBzOi8vbG9naW4ubWljcm9zb2Z0b25saW5lLmNvbS9mb3JnZXR1c2Vy IiwiSVNfSE9MT0dSQVBISUMiOmZhbHNlDQoNCiwic2F2ZWRUaWxlcyI6eyJvdGhlckpTT04i OnsibmFtZSI6IlVzZSBhbm90aGVyIA0KDQphY2NvdW50IiwibG9naW4iOiIiLCJpbWFnZUFB RCI6Im90aGVyX2dseXBoLnBuZyIsImltYWdlTVNBIjoib3RoZXJfZ2x5cGgucA0KDQpuZyIs ImlzTGl2ZSI6ZmFsc2UsImxpbmsiOiJvdGhlciIsImF1dGhVcmwiOiIiLCJzZXNzaW9uSUQi OiIiLCJkb21haW5IaW50Ig0KDQo6Im90aGVyIn19LCJVc2VfQ2xpZW50X0NoZWNrX01zYV9G bGFnIjp0cnVlLCJpc0RlYnVnTW9kZSI6ZmFsc2UsInJlcXVlc3QiOg0KDQp7InVhaWQiOiJi MDRlZDE4ZTlkYzU0N2MyODY2YTBjN2ViYmY3MTYxZCIsImlzc3VlcklkZW50aWZpZXIiOiJt c28iLCJpc01zYQ0KDQpTdXBwb3J0ZWQiOnRydWV9LCJMb2NhbGUiOiJlbi0NCg0KVVMiLCJy ZXNwb25zZU1vZGUiOiJRdWVyeSIsIklzQjJDU2NlbmFyaW8iOmZhbHNlLCJzaG93VGlsZXNP blBhZ2VMb2FkIjp0cnUNCg0KZSwic2tpcE1lQ29udHJvbE9uUGFnZUxvYWQiOnRydWUsIm9u UHJlbVBhc3N3b3JkVmFsaWRhdGlvbkNvbmZpZyI6DQoNCnsiaXNVc2VyUmVhbG1QcmVjaGVj a0VuYWJsZWQiOnRydWV9LCJkZXNrdG9wU3NvQ29uZmlnIjoNCg0KeyJpc0VkZ2VBbmFoZWlt QWxsb3dlZCI6dHJ1ZSwiaXdhRW5kcG9pbnRVcmxGb3JtYXQiOiJodHRwczovL2F1dG9sb2dv bi5taWMNCg0Kcm9zb2Z0YXp1cmVhZC1zc28uY29tLw0KDQp7MH0vd2luYXV0aC9zc28iLCJp d2FTc29Qcm9iZVVybEZvcm1hdCI6Imh0dHBzOi8vYXV0b2xvZ29uLm1pY3Jvc29mdGF6dXJl YQ0KDQpkLXNzby5jb20vDQoNCnswfS93aW5hdXRoL3Nzb3Byb2JlIiwiaXdhSUZyYW1lVXJs Rm9ybWF0IjoiaHR0cHM6Ly9hdXRvbG9nb24ubWljcm9zb2Z0YXp1DQoNCnJlYWQtc3NvLmNv bS97MH0vd2luYXV0aC9pZnJhbWU/DQoNCmlzQWRhbFJlcXVlc3Q9RmFsc2UiLCJpd2FSZXF1 ZXN0VGltZW91dEluTXMiOjEwMDAwLCJzdGFydERlc2t0b3BTc29PblBhZ2VMDQoNCm9hZCI6 ZmFsc2UsInByb2dyZXNzQW5pbWF0aW9uVGltZW91dCI6MTAwMDAsImlzRWRnZUFsbG93ZWQi OmZhbHNlLCJpc1NhZmFyDQoNCmlBbGxvd2VkIjp0cnVlLCJpc0lFQWxsb3dlZEZvclNzb1By b2JlIjp0cnVlLCJlZGdlUmVkaXJlY3RVcmkiOiJodHRwczovL2F1DQoNCnRvbG9nb24ubWlj cm9zb2Z0YXp1cmVhZC1zc28uY29tL3swfS93aW5hdXRoL3Nzby9lZGdlcmVkaXJlY3Q/DQoN Cm9yaWdpbj1sb2dpbi5taWNyb3NvZnRvbmxpbmUuY29tIn0sIm1zYU1lQ29udHJvbFRpbWVv dXQiOjUwMDB9LCJzY2lkIjoxMDMwDQoNCiwiaHBnYWN0IjoxODAyLCJocGdpZCI6ODAwMiwi cGdpZCI6InNpZ25vdXQiLCJhcGlDYW5hcnkiOiJBUUFCQUFBQUFBQjJVeXp3DQoNCnRRRUtS Ny1yV2JnZGNCWkl3TkEtDQoNClprcDBxdDRXeDNsaTFKb3RNUXVQbkE3aTJ2TDA5OFpiM0tK RWNrV1p3d3IyRURQeXBLUFFKMUtwdTdzaUVpWEhjb0NmT25hU3ZtDQoNCkpoTUNFTmNRRzky X1lyQTd0TDhUdXFGRnNpQXJGUWZPWWtiWkpxXzNublZ3Tzk4NTg4ZDBpcUV6UV9GTmpOR3lY ejY4NFBkWS0NCg0KQlVQRS01eVVWc3pqa2lhRE1uWS0NCg0KaV9vVGo3eE8yRjhhc0J4b3ZV RVVZVFg0Y0paV29tQVBQSVlTeHp5NXhNeUFBIiwiY2FuYXJ5IjoiOVgyTU1tWEM4MWpGa081 c1MNCg0KMUJXb1FzWUVzeXFmTnJzVVkrK3Z0Q1o1eW89MDoxIiwiY29ycmVsYXRpb25JZCI6 IjcyOTQxY2JiLWM3MTQtNGMyYS1iMDdhLQ0KDQpmNjU2YWEwOTMxNzMiLCJzZXNzaW9uSWQi OiJjY2JkOGI0Yy1kNWFhLTRlNTMtYWJlNC0NCg0KNjIxZDNlMDRhMzAxIiwibG9jYWxlIjp7 Im1rdCI6ImVuLQ0KDQpVUyIsImxjaWQiOjEwMzN9LCJzbE1heFJldHJ5IjoyLCJzbFJlcG9y dEZhaWx1cmUiOnRydWUsInN0cmluZ3MiOg0KDQp7ImRlc2t0b3Bzc28iOnsiYXV0aGVudGlj YXRpbmdtZXNzYWdlIjoiVHJ5aW5nIHRvIHNpZ24geW91IGluIn0sIm1zYSI6DQoNCnsibGFi ZWwiOiIoTWljcm9zb2Z0IGFjY291bnQpIiwiYWNjb3VudCI6eyJpbWdhbHR0ZXh0IjoiTWlj cm9zb2Z0IGFjY291bnQgDQoNCnN5bWJvbCIsInRpbGVhbHR0ZXh0IjoiTWljcm9zb2Z0IGFj Y291bnQgZm9yIHswfSJ9LCJyZWRpcmVjdCI6IldlP3JlIA0KDQp0YWtpbmcgeW91IHRvIHRo ZSBNaWNyb3NvZnQgYWNjb3VudCBzaWduLWluIHBhZ2UuIn0sImFhZCI6eyJhY2NvdW50IjoN Cg0KeyJpbWdhbHR0ZXh0IjoiV29yayBvciBzY2hvb2wgYWNjb3VudCBzeW1ib2wiLCJ0aWxl YWx0dGV4dCI6Ildvcmsgb3IgDQoNCnNjaG9vbCBhY2NvdW50IGZvciB7MH0ifSwicmVkaXJl Y3QiOiJXZVx1MDAyN3JlIHRha2luZyB5b3UgdG8geW91ciANCg0Kb3JnYW5pemF0aW9uXHUw MDI3cyBzaWduLWluIHBhZ2UuIn0sImNsb3VkZmVkIjp7InJlZGlyZWN0IjoiV2VcdTAwMjdy ZSANCg0KdGFraW5nIHlvdSB0byB5b3VyIG9yZ2FuaXphdGlvblx1MDAyN3Mgc2lnbi1pbiAN Cg0KcGFnZS4ifSwib3RoZXJhY2NvdW50dGV4dCI6IlVzZSBhbm90aGVyIGFjY291bnQiLCJj bGlja2Zvcm1vcmUiOiJDbGljayBmb3IgDQoNCm1vcmUgYWN0aW9ucyIsImNvbm5lY3RlZHRv d2luZG93cyI6IkNvbm5lY3RlZCB0byANCg0KV2luZG93cyIsInNpZ25lZGluIjoiU2lnbmVk IGluIiwiY2xpY2t0b3NpZ25pbiI6IiIsInNpZ25pbmdvdXQiOiJTaWduaW5nIA0KDQpvdXQu Li4iLCJhY2NvdW50aW1hZ2VhbHR0ZXh0IjoiVXNlciBhY2NvdW50IGltYWdlIiwiaGVhZGVy Ijp7InRleHQiOg0KDQp7InVzZXJuYW1lIjoiU2lnbiBpbiB3aXRoIHlvdXIgd29yayBhY2Nv dW50IiwicGFzc3dvcmQiOiJFbnRlciB5b3VyIA0KDQpwYXNzd29yZCIsInByaXZhY3kiOiJQ cml2YWN5IHN0YXRlbWVudCJ9fSwiZGlzYW1iaWd1YXRpb24iOg0KDQp7ImRlc2NyaXB0aW9u IjoiSXQgbG9va3MgbGlrZSB7MH0gaXMgdXNlZCB3aXRoIG1vcmUgdGhhbiBvbmUgYWNjb3Vu dC4gDQoNCldoaWNoIGFjY291bnQgZG8geW91IHdhbnQgdG8gdXNlPyIsInRpbWVvdXQiOiJX ZVx1MDAyN3JlIGhhdmluZyB0cm91YmxlIA0KDQpsb2NhdGluZyB5b3VyIGFjY291bnQuIFdo aWNoIHR5cGUgb2YgYWNjb3VudCBkbyB5b3Ugd2FudCB0byANCg0KdXNlPyJ9LCJlcnJvcnMi OnsiMzAxMzYiOiJUeXBlIHRoZSBlbWFpbCBhZGRyZXNzIG9yIHBob25lIG51bWJlciBvZiB0 aGUgDQoNCmFjY291bnQgeW91IHdhbnQgdG8gc2lnbiBpbiB3aXRoLiIsIjMwMDY0Ijp7InRp dGxlIjoiVGhpcyBkb2Vzblx1MDAyN3QgDQoNCmxvb2sgbGlrZSBhIHZhbGlkIHVzZXIgSUQi LCJkZXNjcmlwdGlvbiI6IlRyeSB1c2luZyB5b3VyIGVtYWlsIGFkZHJlc3Mgb3IgDQoNCnBo b25lIG51bWJlci4ifSwiMzAwMDgiOiJTaWduIGluIHRvIHswfSIsIjMwMDY3IjoiXHUwMDNj SDFcdTAwM2VXZSBkb24NCg0KXHUwMDI3dCByZWNvZ25pemUgdGhpcyB1c2VyIElEIG9yIHBh c3N3b3JkXHUwMDNjL0gxXHUwMDNlXHUwMDNjcFx1MDAzZUJlIA0KDQpzdXJlIHRvIHR5cGUg dGhlIHBhc3N3b3JkIGZvciB5b3VyIHdvcmsgb3Igc2Nob29sIGFjY291bnQuXHUwMDNjL3AN Cg0KXHUwMDNlIiwiMzAwNjgiOnsidGl0bGUiOiJcdTAwM2NIMVx1MDAzZXswfSBpc25cdTAw Mjd0IGluIG91ciBzeXN0ZW0NCg0KXHUwMDNjL0gxXHUwMDNlXHUwMDNjcFx1MDAzZU1ha2Ug c3VyZSB5b3UgdHlwZWQgeW91ciBlbWFpbCBhZGRyZXNzIA0KDQpjb3JyZWN0bHkuIEl0IHVz dWFsbHkgbG9va3MgbGlrZSBzb21lb25lQGV4YW1wbGUuY29tIG9yIA0KDQpzb21lb25lQGV4 YW1wbGUub25taWNyb3NvZnQuY29tXHUwMDNjL3BcdTAwM2UiLCJkZXNjcmlwdGlvbiI6Ik1h a2Ugc3VyZSANCg0KeW91IHR5cGVkIHlvdXIgZW1haWwgYWRkcmVzcyBjb3JyZWN0bHkuIEl0 IHVzdWFsbHkgbG9va3MgbGlrZSANCg0Kc29tZW9uZUBleGFtcGxlLmNvbSBvciBzb21lb25l QGV4YW1wbGUub25taWNyb3NvZnQuY29tIn0sIjMwMTExIjoiUGxlYXNlIA0KDQplbnRlciB5 b3VyIHBhc3N3b3JkLiIsIjMwMTI3IjoiVG8gc2lnbiBpbiwgc3RhcnQgYnkgZW50ZXJpbmcg YSB1c2VyIA0KDQpJRC4iLCIzMDE0MCI6IldlXHUwMDI3cmUgaGF2aW5nIHRyb3VibGUgbG9j YXRpbmcgeW91ciBhY2NvdW50LiBXaGljaCB0eXBlIA0KDQpvZiBhY2NvdW50IGRvIHlvdSB3 YW50IHRvIHVzZT8iLCIzMDE0NSI6IkNoZWNrIHRoZSBlbWFpbCBhZGRyZXNzIHlvdSANCg0K ZW50ZXJlZC4gWW91IG1heSBoYXZlIG1pc3R5cGVkIGl0LiIsIjMwMTQ2Ijp7InRpdGxlIjoi V2UgY291bGRuXHUwMDI3dCANCg0KZmluZCBhbiBhY2NvdW50IHdpdGggdGhhdCBlbWFpbCBh ZGRyZXNzLiIsImRlc2NyaXB0aW9uIjoiRW50ZXIgYSBkaWZmZXJlbnQgDQoNCmVtYWlsIGFk ZHJlc3Mgb3IgXHUwMDNjYSBpZD1cdTAwMjJ1c2VyLW5vdC1mb3VuZC1saW5rXHUwMDIyIGhy ZWY9XHUwMDIyIw0KDQpcdTAwMjJcdTAwM2VnZXQgYSBuZXcgTWljcm9zb2Z0IGFjY291bnRc dTAwM2MvYVx1MDAzZS4ifSwiMzAxNjgiOg0KDQp7InRpdGxlIjoiV2UgZG9uXHUwMDI3dCBy ZWNvZ25pemUgdGhpcyBkb21haW4gbmFtZSIsImRlc2NyaXB0aW9uIjoiTWFrZSANCg0Kc3Vy ZSB5b3UgdHlwZWQgeW91ciBvcmdhbml6YXRpb25cdTAwMjdzIGRvbWFpbiBuYW1lIGNvcnJl Y3RseS4gSXQgdXN1YWxseSANCg0KbG9va3MgbGlrZSBAZXhhbXBsZS5jb20gb3IgQGV4YW1w bGUub25taWNyb3NvZnQuY29tLiJ9LCIzMDE3MyI6IldoaWNoIHR5cGUgDQoNCm9mIGFjY291 bnQgZG8geW91IHdhbnQgdG8gc2lnbiBpbiB3aXRoPyIsIjMwMjAwIjoiIiwiY2F0Y2hhbGwi OiJXZSBkaWRuDQoNClx1MDAyN3QgcmVjZWl2ZSBhIHJlc3BvbnNlLiBQbGVhc2UgdHJ5IGFn YWluLiJ9fSwiZW51bXMiOg0KDQp7IkNsaWVudE1ldHJpY3NNb2RlcyI6DQoNCnsiTm9uZSI6 MCwiU3VibWl0T25Qb3N0IjoxLCJTdWJtaXRPblJlZGlyZWN0IjoyLCJJbnN0cnVtZW50UGx0 Ijo0fSwiTmFtZVNwDQoNCmFjZVR5cGUiOnsiTm9uZSI6MCwiTWFuYWdlZCI6MSwiRmVkZXJh dGVkIjoyfX0sInVybHMiOnsiaW5zdHIiOg0KDQp7InBhZ2Vsb2FkIjoiaHR0cHM6Ly9sb2dp bi5taWNyb3NvZnRvbmxpbmUuY29tL2NvbW1vbi9pbnN0cnVtZW50YXRpb24vcmVwbw0KDQpy dHBhZ2Vsb2FkIiwiZHNzb3N0YXR1cyI6Imh0dHBzOi8vbG9naW4ubWljcm9zb2Z0b25saW5l LmNvbS9jb21tb24vaW5zdHJ1bQ0KDQplbnRhdGlvbi9kc3Nvc3RhdHVzIn0sImRpc2FtYmln aGVscHVybCI6Imh0dHBzOi8vZ28ubWljcm9zb2Z0LmNvbS9md2xpbmsvcA0KDQovP0xpbmtJ RD03MzMyNDciLCJtc2EiOnsibWV1cmwiOiJodHRwczovL2xvZ2luLmxpdmUuY29tL01lLnNy Zj8NCg0Kd2E9d3NpZ25pbjEuMFx1MDAyNmlkcGZsYWc9ZGlyZWN0DQoNClx1MDAyNndyZXBs eT0iLCJvYXV0aGF1dGhvcml6ZXVybCI6Imh0dHBzOi8vbG9naW4ubGl2ZS5jb20vb2F1dGgy MF9hdXRob3JpDQoNCnplLnNyZiIsInNpZ25vdXR1cmwiOm51bGwsInBhc3N3b3JkcmVzZXR1 cmwiOiJodHRwczovL2FjY291bnQubGl2ZS5jb20vcGFzDQoNCnN3b3JkL3Jlc2V0IiwibWFu YWdlYWNjb3VudHVybCI6Imh0dHBzOi8vYWNjb3VudC5taWNyb3NvZnQuY29tIiwic2luZ2xl dXNlDQoNCmNvZGUiOiJodHRwOi8vd2luZG93cy5taWNyb3NvZnQuY29tL2VuLVVTL3dpbmRv d3MtbGl2ZS9zaWduLWluLXNpbmdsZS0NCg0KdXNlLWNvZGUiLCJzaWdudXB1cmwiOm51bGx9 LCJzdHlsZSI6DQoNCnsibG9naW5ob3ZlciI6Imh0dHBzOi8vYWFkY2RuLm1zZnRhdXRoLm5l dC9lc3RzLzIuMS9jb250ZW50L2NkbmJ1bmRsZXMvbG9nDQoNCmluX2hvdmVyLm1pbl9sanY0 bmR2cm5renhhd2V0N2RueHB3Mi5jc3MifSwiYWdyZWVtZW50IjoNCg0KeyJ0b3UiOiJodHRw czovL3d3dy5taWNyb3NvZnQuY29tL2VuLQ0KDQpVUy9zZXJ2aWNlc2FncmVlbWVudC8iLCJw cml2YWN5IjoiaHR0cHM6Ly9wcml2YWN5Lm1pY3Jvc29mdC5jb20vZW4tDQoNClVTL3ByaXZh Y3lzdGF0ZW1lbnQifSwicmVmcmVzaHVybCI6bnVsbCwiYXBwcmVkaXJlY3R1cmwiOm51bGx9 LCJicm93c2VyIjoNCg0KeyJsdHIiOjEsIkZpcmVmb3giOjEsIl9NYWMiOjEsIl9NODMiOjEs Il9EMCI6MSwiRnVsbCI6MSwiUkVfR2Vja28iOjEsImIiOg0KDQp7Im5hbWUiOiJGaXJlZm94 IiwibWFqb3IiOjgzLCJtaW5vciI6MH0sIm9zIjoNCg0KeyJuYW1lIjoiT1NYIiwidmVyc2lv biI6IiJ9LCJWIjoiODMuMCJ9LCJ3YXRzb24iOg0KDQp7InVybCI6Ii9jb21tb24vaGFuZGxl cnMvd2F0c29uIiwiYnVuZGxlIjoiaHR0cHM6Ly9hYWRjZG4ubXNmdGF1dGgubmV0L2VzdA0K DQpzLzIuMS9jb250ZW50L2NkbmJ1bmRsZXMvd2F0c29uLm1pbl95YmRiMWl4emt2LQ0KDQpm a29yMm11NnE2dzIuanMiLCJzYnVuZGxlIjoiaHR0cHM6Ly9hYWRjZG4ubXNmdGF1dGgubmV0 L2VzdHMvMi4xL2NvbnRlbnQvYw0KDQpkbmJ1bmRsZXMvd2F0c29uc3VwcG9ydC5taW5fX3lv a19jaHdzZXlwd2JtdWZmbm5hYTIuanMiLCJmYnVuZGxlIjoiaHR0cHM6Lw0KDQovYWFkY2Ru Lm1zZnRhdXRoLm5ldC9lc3RzLzIuMS9jb250ZW50L2NkbmJ1bmRsZXMvZnJhbWV3b3Jrc3Vw cG9ydC5taW5fb2Fkcg0KDQpuYzEzbWFnYjAwOWs0ZDIwbGcyLmpzIiwicmVzZXRFcnJvclBl cmlvZCI6NSwibWF4Q29yc0Vycm9ycyI6LQ0KDQoxLCJtYXhJbmplY3RFcnJvcnMiOjUsIm1h eEVycm9ycyI6MTAsIm1heFRvdGFsRXJyb3JzIjozLCJleHBTcmNzIjoNCg0KWyJodHRwczov L2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20iLCJodHRwczovL2FhZGNkbi5tc2F1dGgubmV0 LyIsImh0dHBzOi8NCg0KL2FhZGNkbi5tc2Z0YXV0aC5uZXQvIiwiLmxvZ2luLm1pY3Jvc29m dG9ubGluZS5jb20iXSwiZW52RXJyb3JSZWRpcmVjdCI6dHINCg0KdWUsImVudkVycm9yVXJs IjoiL2NvbW1vbi9oYW5kbGVycy9lbnZlcnJvciJ9LCJsb2FkZXIiOnsiY2RuUm9vdHMiOg0K DQpbImh0dHBzOi8vYWFkY2RuLm1zYXV0aC5uZXQvIiwiaHR0cHM6Ly9hYWRjZG4ubXNmdGF1 dGgubmV0LyJdLCJsb2dCeVRocm93aQ0KDQpuZyI6dHJ1ZX0sInNlcnZlckRldGFpbHMiOg0K DQp7InNsYyI6IlByb2RTbGljZXMiLCJkYyI6Ik5FVUxSMiIsInJpIjoiRFUyWFhYWCIsInZl ciI6eyJ2IjoNCg0KWzIsMSwxMTI1MSwyMF19LCJydCI6IjIwMjAtMTEtDQoNCjMwVDIxOjI0 OjQ2IiwiZXQiOjQ3fSwiZkJyZWFrQnJhbmRpbmdTaWduaW5TdHJpbmciOnRydWUsImZGaXhJ bmNvcnJlY3RBcGlDDQoNCmFuYXJ5VXNhZ2UiOnRydWUsInVybE5vQ29va2llcyI6Imh0dHBz Oi8vbG9naW4ubWljcm9zb2Z0b25saW5lLmNvbS9jb29raWVzDQoNCmRpc2FibGVkIiwiZlRy aW1DaHJvbWVCc3NvVXJsIjp0cnVlLCJpbmxpbmVNb2RlIjo1LCJmU2hvd0NvcHlEZWJ1Z0Rl dGFpbHNMDQoNCmluayI6dHJ1ZX07DQovL11dPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4 dC9qYXZhc2NyaXB0Ij4vLzwhW0NEQVRBWw0KIWZ1bmN0aW9uKCl7dmFyIGU9d2luZG93LHI9 ZS4kRGVidWc9ZS4kRGVidWd8fHt9LHQ9ZS4kQ29uZmlnfHx7fTtpZighDQoNCnIuYXBwZW5k TG9nKXt2YXIgbj1bXSxvPTA7ci5hcHBlbmRMb2c9ZnVuY3Rpb24oZSl7dmFyIHI9dC5tYXhE ZWJ1Z0xvZ3x8DQoNCjI1LGE9KG5ldyBEYXRlKS50b1VUQ1N0cmluZygpKyI6IitlO24ucHVz aChvKyI6IithKSxuLmxlbmd0aD5yJiZuLnNoaWZ0DQoNCigpLG8rK30sci5nZXRMb2dzPWZ1 bmN0aW9uKCl7cmV0dXJuIG59fX0oKSxmdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSxyKQ0KDQp7 ZnVuY3Rpb24gdChhKXt2YXIgaT1lW2FdO2lmKGE8bi0xKXtyZXR1cm4gdm9pZChvLnJbaV0/ dChhKzEpOm8ud2hlbg0KDQooaSxmdW5jdGlvbigpe3QoYSsxKX0pKX1yKGkpfXZhciBuPWUu bGVuZ3RoO3QoMCl9ZnVuY3Rpb24gcihlLHIsYSkNCg0Ke2Z1bmN0aW9uIGkoKXt2YXIgZT0h IXUubWV0aG9kLG89ZT91Lm1ldGhvZDphWzBdLGk9dS5leHRyYUFyZ3N8fFtdLHM9bi4NCg0K JFdlYldhdHNvbjt0cnl7DQp2YXIgYz10KGEsIWUpO2lmKGkmJmkubGVuZ3RoPjApe2Zvcih2 YXIgZD1pLmxlbmd0aCxsPTA7bDxkO2wrKyl7Yy5wdXNoKGkNCg0KW2xdKX19by5hcHBseShy LGMpfWNhdGNoKGUpe3JldHVybiB2b2lkDQoNCihzJiZzLnN1Ym1pdEZyb21FeGNlcHRpb24m JnMuc3VibWl0RnJvbUV4Y2VwdGlvbihlKSl9fXZhciB1PW8uciYmby5yDQoNCltlXTtyZXR1 cm4gcj1yfHx0aGlzLHUmJih1LnNraXBUaW1lb3V0P2koKTpuLnNldFRpbWVvdXQoaSwwKSks dX1mdW5jdGlvbiANCg0KdChlLHIpe3JldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2Fs bChlLHI/MTowKX12YXIgbj13aW5kb3c7bi4kRG98fChuLg0KDQokRG89eyJxIjpbXSwiciI6 W10sInJlbW92ZUl0ZW1zIjpbXSwibG9jayI6MCwibyI6W119KTt2YXIgbz1uLg0KDQokRG87 by53aGVuPWZ1bmN0aW9uKHQsbil7ZnVuY3Rpb24gYShlKXtyKGUsaSx1KXx8by5xLnB1c2gN Cg0KKHsiaWQiOmUsImMiOmksImEiOnV9KX12YXIgaT0wLHU9W10scz0xOyJmdW5jdGlvbiI9 PXR5cGVvZiBufHwoaT1uLA0Kcz0yKTtmb3IodmFyIGM9cztjPGFyZ3VtZW50cy5sZW5ndGg7 YysrKXt1LnB1c2goYXJndW1lbnRzW2NdKX10IGluc3RhbmNlb2YgDQoNCkFycmF5P2UodCxh KTphKHQpfSxvLnJlZ2lzdGVyPWZ1bmN0aW9uKGUsdCxuKXtpZighby5yW2VdKXtvLm8ucHVz aChlKTt2YXIgDQoNCmE9e307aWYodCYmKGEubWV0aG9kPXQpLG4mJg0KDQooYS5za2lwVGlt ZW91dD1uKSxhcmd1bWVudHMmJmFyZ3VtZW50cy5sZW5ndGg+Myl7YS5leHRyYUFyZ3M9W107 Zm9yKHZhciANCg0KaT0zO2k8YXJndW1lbnRzLmxlbmd0aDtpKyspe2EuZXh0cmFBcmdzLnB1 c2goYXJndW1lbnRzW2ldKX19by5yW2VdDQoNCj1hLG8ubG9jaysrO3RyeXtmb3IodmFyIHU9 MDt1PG8ucS5sZW5ndGg7dSsrKXt2YXIgcz1vLnFbdV07cy5pZD09ZSYmcg0KDQooZSxzLmMs cy5hKSYmby5yZW1vdmVJdGVtcy5wdXNoKHMpfX1jYXRjaChlKXt0aHJvdyBlfWZpbmFsbHl7 aWYoMD09PS0tDQoNCm8ubG9jayl7Zm9yKHZhciBjPTA7YzxvLnJlbW92ZUl0ZW1zLmxlbmd0 aDtjKyspew0KZm9yKHZhciBkPW8ucmVtb3ZlSXRlbXNbY10sbD0wO2w8by5xLmxlbmd0aDts Kyspe2lmKG8ucVtsXT09PWQpDQoNCntvLnEuc3BsaWNlKGwsMSk7YnJlYWt9fX1vLnJlbW92 ZUl0ZW1zPVtdfX19fSxvLnVucmVnaXN0ZXI9ZnVuY3Rpb24oZSkNCg0Ke28ucltlXSYmZGVs ZXRlIG8ucltlXX19KCksZnVuY3Rpb24oZSxyKXtmdW5jdGlvbiB0KCl7aWYoIWkpe2lmKCFy LmJvZHkpDQoNCntyZXR1cm4gdm9pZCBzZXRUaW1lb3V0KHQpfWk9ITAsZS4kRG8ucmVnaXN0 ZXIoImRvYy5yZWFkeSIsMCwhMCl9fWZ1bmN0aW9uIA0KDQpuKCl7aWYoIXUpe2lmKCFyLmJv ZHkpe3JldHVybiB2b2lkIHNldFRpbWVvdXQobil9dCgpLHU9ITAsZS4kRG8ucmVnaXN0ZXIN Cg0KKCJkb2MubG9hZCIsMCwhMCksYSgpfX1mdW5jdGlvbiBvKGUpDQoNCnsoci5hZGRFdmVu dExpc3RlbmVyfHwibG9hZCI9PT1lLnR5cGV8fCJjb21wbGV0ZSI9PT1yLnJlYWR5U3RhdGUp JiZ0KCl9DQoNCmZ1bmN0aW9uIGEoKXsNCnIuYWRkRXZlbnRMaXN0ZW5lcj8oci5yZW1vdmVF dmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixvLCENCg0KMSksZS5yZW1vdmVFdmVu dExpc3RlbmVyKCJsb2FkIixuLCExKSk6ci5hdHRhY2hFdmVudCYmKHIuZGV0YWNoRXZlbnQN Cg0KKCJvbnJlYWR5c3RhdGVjaGFuZ2UiLG8pLGUuZGV0YWNoRXZlbnQoIm9ubG9hZCIsbikp fXZhciBpPSExLHU9ITE7aWYNCg0KKCJjb21wbGV0ZSI9PT1yLnJlYWR5U3RhdGUpe3JldHVy biB2b2lkIHNldFRpbWVvdXQobil9IWZ1bmN0aW9uKCkNCg0Ke3IuYWRkRXZlbnRMaXN0ZW5l cj8oci5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixvLCENCg0KMSksZS5h ZGRFdmVudExpc3RlbmVyKCJsb2FkIixuLCExKSk6ci5hdHRhY2hFdmVudCYmKHIuYXR0YWNo RXZlbnQNCg0KKCJvbnJlYWR5c3RhdGVjaGFuZ2UiLG8pLGUuYXR0YWNoRXZlbnQoIm9ubG9h ZCIsbikpfSgpfQ0KDQood2luZG93LGRvY3VtZW50KSxmdW5jdGlvbigpe2Z1bmN0aW9uIGUo KXsNCnJldHVybiBmLiRDb25maWd8fGYuU2VydmVyRGF0YXx8e319ZnVuY3Rpb24gcihlLHIp e3ZhciB0PWYuDQoNCiREZWJ1Zzt0JiZ0LmFwcGVuZExvZyYmKHImJihlKz0iICciKyhyLnNy Y3x8ci5ocmVmfHwiIikrIiciLGUrPSIsIA0KDQppZDoiKyhyLmlkfHwiIiksZSs9IiwgYXN5 bmM6Iisoci5hc3luY3x8IiIpLGUrPSIsIA0KDQpkZWZlcjoiKyhyLmRlZmVyfHwiIikpLHQu YXBwZW5kTG9nKGUpKX1mdW5jdGlvbiB0KCl7dmFyIGU9Zi4kQjtpZih2b2lkIA0KDQowPT09 ZCl7aWYoZSl7ZD1lLklFfWVsc2V7dmFyIHI9Zi5uYXZpZ2F0b3IudXNlckFnZW50O2Q9LTEh PT1yLmluZGV4T2YNCg0KKCJNU0lFICIpfHwtMSE9PXIuaW5kZXhPZigiVHJpZGVudC8iKX19 cmV0dXJuIGR9ZnVuY3Rpb24gbigpe3ZhciBlPWYuDQoNCiRCO2lmKHZvaWQgMD09PWwpe2lm KGUpe2w9ZS5SRV9FZGdlfWVsc2V7dmFyIHI9Zi5uYXZpZ2F0b3IudXNlckFnZW50O2w9LQ0K DQoxIT09ci5pbmRleE9mKCJFZGdlIil9fXJldHVybiBsfWZ1bmN0aW9uIG8oZSl7DQp2YXIg cj1lLmluZGV4T2YoIj8iKSx0PXI+LTE/cjplLmxlbmd0aCxuPWUubGFzdEluZGV4T2YoIi4i LHQpO3JldHVybiANCg0KZS5zdWJzdHJpbmcobixuK3YubGVuZ3RoKS50b0xvd2VyQ2FzZSgp PT09dn1mdW5jdGlvbiBhKCl7dmFyIHI9ZSgpO3JldHVybg0KDQooci5sb2FkZXJ8fHt9KS5z bFJlcG9ydEZhaWx1cmV8fHIuc2xSZXBvcnRGYWlsdXJlfHwhMX1mdW5jdGlvbiBpKCl7cmV0 dXJuDQoNCihlKCkubG9hZGVyfHx7fSkucmVkaXJlY3RUb0Vycm9yUGFnZU9uTG9hZEZhaWx1 cmV8fCExfWZ1bmN0aW9uIHUoKXtyZXR1cm4NCg0KKGUoKS5sb2FkZXJ8fHt9KS5sb2dCeVRo cm93aW5nfHwhMX1mdW5jdGlvbiBzKGUpe2lmKCF0KCkmJiFuKCkpe3JldHVybiExfQ0KDQp2 YXIgcj1lLnNyY3x8ZS5ocmVmfHwiIjtpZighcil7cmV0dXJuITB9aWYobyhyKSl7dmFyIGEs aSx1O3RyeQ0KDQp7YT1lLnNoZWV0LGk9YSYmYS5jc3NSdWxlcyx1PSExfWNhdGNoKGUpe3U9 ITB9aWYoYSYmIWkmJnUpe3JldHVybiEwfQ0KaWYoYSYmaSYmMD09PWkubGVuZ3RoKXtyZXR1 cm4hMH19cmV0dXJuITF9ZnVuY3Rpb24gYygpe2Z1bmN0aW9uIHQoZSkNCg0Ke2cuZ2V0RWxl bWVudHNCeVRhZ05hbWUoImhlYWQiKVswXS5hcHBlbmRDaGlsZChlKX1mdW5jdGlvbiBuKGUs cix0LG4pe3ZhciANCg0Kcz1udWxsO3JldHVybiBzPW8oZSk/YShlKToic2NyaXB0Ij09PW4u dG9Mb3dlckNhc2UoKT9pKGUpOnUoZSxuKSxyJiYNCg0KKHMuaWQ9ciksImZ1bmN0aW9uIj09 dHlwZW9mIHMuc2V0QXR0cmlidXRlJiYocy5zZXRBdHRyaWJ1dGUNCg0KKCJjcm9zc29yaWdp biIsImFub255bW91cyIpLHQmJiJzdHJpbmciPT10eXBlb2YgdCYmcy5zZXRBdHRyaWJ1dGUN Cg0KKCJpbnRlZ3JpdHkiLHQpKSxzfWZ1bmN0aW9uIGEoZSl7dmFyIHI9Zy5jcmVhdGVFbGVt ZW50KCJsaW5rIik7cmV0dXJuIA0KDQpyLnJlbD0ic3R5bGVzaGVldCIsci50eXBlPSJ0ZXh0 L2NzcyIsci5ocmVmPWUscn1mdW5jdGlvbiBpKGUpe3ZhciANCg0Kcj1nLmNyZWF0ZUVsZW1l bnQoInNjcmlwdCIpDQo7cmV0dXJuIHIudHlwZT0idGV4dC9qYXZhc2NyaXB0IixyLnNyYz1l LHIuZGVmZXI9ITEsci5hc3luYz0hMSxyfWZ1bmN0aW9uIA0KDQp1KGUscil7dmFyIHQ9Zy5j cmVhdGVFbGVtZW50KHIpO3JldHVybiB0LnNyYz1lLHR9ZnVuY3Rpb24gZChlKXtpZighDQoN CihtJiZtLmxlbmd0aD4xKSl7cmV0dXJuIGV9Zm9yKHZhciByPTA7cjxtLmxlbmd0aDtyKysp e2lmKDA9PT1lLmluZGV4T2YobQ0KDQpbcl0pKXtyZXR1cm4gbVtyKzE8bS5sZW5ndGg/cisx OjBdK2Uuc3Vic3RyaW5nKG1bcl0ubGVuZ3RoKX19cmV0dXJuIGV9DQoNCmZ1bmN0aW9uIGwo ZSx0LG4sbyl7aWYocigiWyRMb2FkZXJdOiAiKyhiLmZhaWxNZXNzYWdlfHwiRmFpbGVkIiks byksDQoNCiRbZV0ucmV0cnk8cCl7cmV0dXJuICRbZV0ucmV0cnkrKyx2KGUsdCxuKSx2b2lk IGMuX1JlcG9ydEZhaWx1cmUNCg0KKCRbZV0ucmV0cnksJFtlXS5zcmNQYXRoKX1uJiZuKCl9 ZnVuY3Rpb24gZihlLHQsbixvKXtpZihzKG8pKXtyZXR1cm4gbA0KDQooZSx0LG4sbyl9DQpy KCJbJExvYWRlcl06ICIrKGIuc3VjY2Vzc01lc3NhZ2V8fCJMb2FkZWQiKSxvKSx2KGUrMSx0 LG4pO3ZhciBhPQ0KDQokW2VdLm9uU3VjY2VzczsiZnVuY3Rpb24iPT10eXBlb2YgYSYmYSgk W2VdLnNyY1BhdGgpfWZ1bmN0aW9uIHYoZSxvLGEpe2lmDQoNCihlPCQubGVuZ3RoKXt2YXIg aT0kW2VdO2lmKCFpfHwhaS5zcmNQYXRoKXtyZXR1cm4gdm9pZCB2KGUrMSxvLGEpfQ0KDQpp LnJldHJ5PjAmJihpLnNyY1BhdGg9ZChpLnNyY1BhdGgpLGkub3JpZ0lkfHwNCg0KKGkub3Jp Z0lkPWkuaWQpLGkuaWQ9aS5vcmlnSWQrIl9SZXRyeV8iK2kucmV0cnkpO3ZhciB1PW4NCg0K KGkuc3JjUGF0aCxpLmlkLGkuaW50ZWdyaXR5LGkudGFnTmFtZSk7dS5vbmxvYWQ9ZnVuY3Rp b24oKXtmDQoNCihlLG8sYSx1KX0sdS5vbmVycm9yPWZ1bmN0aW9uKCl7bChlLG8sYSx1KX0s dS5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24NCg0KKCl7ImxvYWRlZCI9PT11LnJlYWR5 U3RhdGU/c2V0VGltZW91dChmdW5jdGlvbigpe2YoZSxvLGEsdSkNCn0sNTAwKToiY29tcGxl dGUiPT09dS5yZWFkeVN0YXRlJiZmKGUsbyxhLHUpfSx0KHUpLHIoIlskTG9hZGVyXTogTG9h ZGluZyANCg0KJyIrKGkuc3JjUGF0aHx8IiIpKyInLCBpZDoiKyhpLmlkfHwiIikpfWVsc2V7 byYmbygpfX12YXIgaD1lDQoNCigpLHA9aC5zbE1heFJldHJ5fHwyLHk9aC5sb2FkZXJ8fHt9 LG09eS5jZG5Sb290c3x8W10sYj10aGlzLCQ9DQoNCltdO2IucmV0cnlPbkVycm9yPSENCg0K MCxiLnN1Y2Nlc3NNZXNzYWdlPSJMb2FkZWQiLGIuZmFpbE1lc3NhZ2U9IkVycm9yIixiLkFk ZD1mdW5jdGlvbg0KDQooZSxyLHQsbixvLGEpe2UmJiQucHVzaCh7InNyY1BhdGgiOmUsImlk IjpyLCJyZXRyeSI6bnx8DQoNCjAsImludGVncml0eSI6dCwidGFnTmFtZSI6b3x8InNjcmlw dCIsIm9uU3VjY2VzcyI6YX0pfSxiLkFkZEZvclJlbG9hZD1mdW5jDQoNCnRpb24oZSxyKXt2 YXIgdD1lLnNyY3x8ZS5ocmVmfHwiIjtiLkFkZA0KDQoodCwiQWRkRm9yUmVsb2FkIixlLmlu dGVncml0eSwxLGUudGFnTmFtZSxyKX0sDQpiLkFkZElmPWZ1bmN0aW9uKGUscix0KXtlJiZi LkFkZChyLHQpfSxiLkxvYWQ9ZnVuY3Rpb24oZSxyKXt2KDAsZSxyKX19dmFyIA0KDQpkLGws Zj13aW5kb3csZz1mLmRvY3VtZW50LHY9Ii5jc3MiO2MuT249ZnVuY3Rpb24oZSxyLHQpe2lm KCFlKXt0aHJvdyJUaGUgDQoNCnRhcmdldCBlbGVtZW50IG11c3QgYmUgcHJvdmlkZWQgYW5k IGNhbm5vdCBiZSBudWxsLiJ9cj9jLk9uRXJyb3INCg0KKGUsdCk6Yy5PblN1Y2Nlc3MoZSx0 KX0sYy5PblN1Y2Nlc3M9ZnVuY3Rpb24oZSx0KXtpZighZSl7dGhyb3ciVGhlIHRhcmdldCAN Cg0KZWxlbWVudCBtdXN0IGJlIHByb3ZpZGVkIGFuZCBjYW5ub3QgYmUgbnVsbC4ifWlmKHMo ZSkpe3JldHVybiBjLk9uRXJyb3INCg0KKGUsdCl9dmFyIG49ZS5zcmN8fGUuaHJlZnx8IiIs bz1hKCksdT1pKCk7cigiWyRMb2FkZXJdOiBMb2FkZWQiLGUpO3ZhciANCg0KZD1uZXcgYztk LmZhaWxNZXNzYWdlPSJSZWxvYWQgRmFpbGVkIixkLnN1Y2Nlc3NNZXNzYWdlPSJSZWxvYWQg U3VjY2VzcyIsDQpkLkxvYWQobnVsbCxmdW5jdGlvbigpe2lmKG8pe3Rocm93IlVuZXhwZWN0 ZWQgc3RhdGUuIFJlc291cmNlTG9hZGVyLkxvYWQoKSANCg0KZmFpbGVkIGRlc3BpdGUgaW5p dGlhbCBsb2FkIHN1Y2Nlc3MuIFsnIituKyInXSJ9dSYmDQoNCihkb2N1bWVudC5sb2NhdGlv bi5ocmVmPSIvZXJyb3IuYXNweD9lcnI9NTA0Iil9KX0sYy5PbkVycm9yPWZ1bmN0aW9uKGUs dCkNCg0Ke3ZhciBuPWUuc3JjfHxlLmhyZWZ8fCIiLG89YSgpLHU9aSgpO2lmKCFlKXt0aHJv dyJUaGUgdGFyZ2V0IGVsZW1lbnQgbXVzdCANCg0KYmUgcHJvdmlkZWQgYW5kIGNhbm5vdCBi ZSBudWxsLiJ9cigiWyRMb2FkZXJdOiBGYWlsZWQiLGUpO3ZhciBzPW5ldyANCg0KYztzLmZh aWxNZXNzYWdlPSJSZWxvYWQgRmFpbGVkIixzLnN1Y2Nlc3NNZXNzYWdlPSJSZWxvYWQgDQoN ClN1Y2Nlc3MiLHMuQWRkRm9yUmVsb2FkKGUsdCkscy5Mb2FkKG51bGwsZnVuY3Rpb24oKXtp ZihvKXt0aHJvdyJGYWlsZWQgdG8gDQoNCmxvYWQgZXh0ZXJuYWwgcmVzb3VyY2UgWyciK24r IiddIn0NCnUmJihkb2N1bWVudC5sb2NhdGlvbi5ocmVmPSIvZXJyb3IuYXNweD9lcnI9NTA0 Iil9KSxjLl9SZXBvcnRGYWlsdXJlDQoNCigwLG4pfSxjLl9SZXBvcnRGYWlsdXJlPWZ1bmN0 aW9uKGUscil7aWYodSgpJiYhdCgpKXt0aHJvdyJbUmV0cnkgIitlKyJdIA0KDQpGYWlsZWQg dG8gbG9hZCBleHRlcm5hbCByZXNvdXJjZSBbJyIrcisiJ10sIHJlbG9hZGluZyBmcm9tIGZh bGxiYWNrIENETiANCg0KZW5kcG9pbnQifX0sZi4kTG9hZGVyPWN9KCksZnVuY3Rpb24oKXtm dW5jdGlvbiBlKCl7aWYoISQpe3ZhciBlPW5ldyBoLg0KDQokTG9hZGVyO2UuQWRkSWYoIQ0K DQpoLmpRdWVyeSx5LnNidW5kbGUsIldlYldhdHNvbl9EZW1hbmRTdXBwb3J0IikseS5zYnVu ZGxlPW51bGwsZGVsZXRlIA0KDQp5LnNidW5kbGUsZS5BZGRJZighaC4NCg0KJEFwaSx5LmZi dW5kbGUsIldlYldhdHNvbl9EZW1hbmRGcmFtZXdvcmsiKSx5LmZidW5kbGU9bnVsbCxkZWxl dGUgDQoNCnkuZmJ1bmRsZSxlLkFkZCh5LmJ1bmRsZSwiV2ViV2F0c29uX0RlbWFuZExvYWRl ZCIpLA0KZS5Mb2FkKHIsdCksJD0hMH19ZnVuY3Rpb24gcigpe2lmKGguJFdlYldhdHNvbil7 aWYoaC4kV2ViV2F0c29uLmlzUHJveHkpDQoNCntyZXR1cm4gdm9pZCB0KCl9bS53aGVuKCIk V2ViV2F0c29uLmZ1bGwiLGZ1bmN0aW9uKCl7Zm9yKDtiLmxlbmd0aD4wOyl7dmFyIA0KDQpl PWIuc2hpZnQoKTtlJiZoLiRXZWJXYXRzb25bZS5jbWROYW1lXS5hcHBseShoLiRXZWJXYXRz b24sZS5hcmdzKX19KX19DQoNCmZ1bmN0aW9uIHQoKXtpZighaC4kV2ViV2F0c29ufHxoLiRX ZWJXYXRzb24uaXNQcm94eSl7aWYoIXcmJkpTT04pe3RyeXt2YXIgDQoNCmU9bmV3IFhNTEh0 dHBSZXF1ZXN0O2Uub3BlbigiUE9TVCIseS51cmwpLGUuc2V0UmVxdWVzdEhlYWRlcg0KDQoo IkFjY2VwdCIsImFwcGxpY2F0aW9uL2pzb24iKSxlLnNldFJlcXVlc3RIZWFkZXIoIkNvbnRl bnQtDQoNClR5cGUiLCJhcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PVVURi04IiksZS5zZXRS ZXF1ZXN0SGVhZGVyDQoNCigiY2FuYXJ5IixwLmFwaUNhbmFyeSksDQplLnNldFJlcXVlc3RI ZWFkZXIoImNsaWVudC1yZXF1ZXN0LQ0KDQppZCIscC5jb3JyZWxhdGlvbklkKSxlLnNldFJl cXVlc3RIZWFkZXIoImhwZ2lkIixwLmhwZ2lkfHwNCg0KMCksZS5zZXRSZXF1ZXN0SGVhZGVy KCJocGdhY3QiLHAuaHBnYWN0fHwwKTtmb3IodmFyIHI9LTEsdD0wO3Q8Yi5sZW5ndGg7dA0K DQorKyl7aWYoInN1Ym1pdCI9PT1iW3RdLmNtZE5hbWUpe3I9dDticmVha319dmFyIG89Ylty XT9iW3JdLmFyZ3N8fFtdOltdLGE9DQoNCnsic3IiOnkuc3IsImVjIjoiRmFpbGVkIHRvIGxv YWQgZXh0ZXJuYWwgcmVzb3VyY2UgW0NvcmUgV2F0c29uIA0KDQpmaWxlc10iLCJ3ZWMiOjU1 LCJpZHgiOjEsInBuIjpwLnBnaWR8fCIiLCJzYyI6cC5zY2lkfHwwLCJocGciOnAuaHBnaWR8 fA0KDQowLCJtc2ciOiJGYWlsZWQgdG8gbG9hZCBleHRlcm5hbCByZXNvdXJjZSBbQ29yZSBX YXRzb24gZmlsZXNdIiwidXJsIjpvDQoNClsxXXx8IiIsImxuIjowLCJhZCI6MCwiYW4iOiEx LCJjcyI6IiIsInNkIjpwLnNlcnZlckRldGFpbHMsImxzIjpudWxsLA0KImRpYWciOnYoeSl9 O2Uuc2VuZChKU09OLnN0cmluZ2lmeShhKSl9Y2F0Y2goZSl7fXc9ITB9DQoNCnkubG9hZEVy cm9yVXJsJiZ3aW5kb3cubG9jYXRpb24uYXNzaWduKHkubG9hZEVycm9yVXJsKX1uKCl9ZnVu Y3Rpb24gbigpDQoNCntiPVtdLGguJFdlYldhdHNvbj1udWxsfWZ1bmN0aW9uIG8ocil7cmV0 dXJuIGZ1bmN0aW9uKCl7dmFyIA0KDQp0PWFyZ3VtZW50cztiLnB1c2goeyJjbWROYW1lIjpy LCJhcmdzIjp0fSksZSgpfX1mdW5jdGlvbiBhKCl7dmFyIGU9DQoNClsiZm91bmRFeGNlcHRp b24iLCJyZXNldEV4Y2VwdGlvbiIsInN1Ym1pdCJdLHI9dGhpcztyLmlzUHJveHk9ITA7Zm9y KHZhciANCg0KdD1lLmxlbmd0aCxuPTA7bjx0O24rKyl7dmFyIGE9ZVtuXTthJiYoclthXT1v KGEpKX19ZnVuY3Rpb24gaQ0KDQooZSxyLHQsbixvLGEsaSl7dmFyIHU9aC5ldmVudDtyZXR1 cm4gYXx8KGE9bChvfHx1LGk/aSsyOjIpKSwNCmguJERlYnVnJiZoLiREZWJ1Zy5hcHBlbmRM b2cmJmguJERlYnVnLmFwcGVuZExvZygiW1dlYldhdHNvbl06IisoZXx8IiIpKyIgDQoNCmlu ICIrKHJ8fCIiKSsiIEAgIisodHx8Ij8/IikpLEUuc3VibWl0KGUscix0LG4sb3x8dSxhLGkp fWZ1bmN0aW9uIHUoZSxyKQ0KDQp7cmV0dXJueyJzaWduYXR1cmUiOmUsImFyZ3MiOnIsInRv U3RyaW5nIjpmdW5jdGlvbigpe3JldHVybiANCg0KdGhpcy5zaWduYXR1cmV9fX1mdW5jdGlv biBzKGUpe2Zvcih2YXIgcj1bXSx0PWUuc3BsaXQNCg0KKCJcbiIpLG49MDtuPHQubGVuZ3Ro O24rKyl7ci5wdXNoKHUodFtuXSxbXSkpfXJldHVybiByfWZ1bmN0aW9uIGMoZSl7Zm9yDQoN Cih2YXIgcj1bXSx0PWUuc3BsaXQoIlxuIiksbj0wO248dC5sZW5ndGg7bisrKXt2YXIgbz11 KHRbbl0sW10pO3RbbisxXSYmDQoNCihvLnNpZ25hdHVyZSs9IkAiK3RbbisxXSxuKyspLHIu cHVzaChvKX1yZXR1cm4gcn1mdW5jdGlvbiBkKGUpe2lmKCFlKQ0KDQp7cmV0dXJuIG51bGx9 dHJ5e2lmKGUuc3RhY2spew0KcmV0dXJuIHMoZS5zdGFjayl9aWYoZS5lcnJvcil7aWYoZS5l cnJvci5zdGFjayl7cmV0dXJuIHMoZS5lcnJvci5zdGFjayl9fQ0KDQplbHNlIGlmKHdpbmRv dy5vcGVyYSYmZS5tZXNzYWdlKXtyZXR1cm4gYyhlLm1lc3NhZ2UpfX1jYXRjaChlKXt9cmV0 dXJuIA0KDQpudWxsfWZ1bmN0aW9uIGwoZSxyKXt2YXIgdD1bXTt0cnl7Zm9yKHZhciBuPWFy Z3VtZW50cy5jYWxsZWU7cj4wOyl7bj1uPw0KDQpuLmNhbGxlcjpuLHItLX1mb3IodmFyIG89 MDtuJiZvPEw7KXt2YXIgYT0iSW52YWxpZE1ldGhvZCgpIjt0cnkNCg0Ke2E9bi50b1N0cmlu ZygpfWNhdGNoKGUpe312YXIgaT1bXSxzPW4uYXJnc3x8bi5hcmd1bWVudHM7aWYocyl7Zm9y KHZhciANCg0KYz0wO2M8cy5sZW5ndGg7YysrKXtpW2NdPXNbY119fXQucHVzaCh1KGEsaSkp LG49bi5jYWxsZXIsbysrfX1jYXRjaChlKQ0KDQp7dC5wdXNoKHUoZS50b1N0cmluZygpLFtd KSl9dmFyIGw9ZChlKQ0KO3JldHVybiBsJiYodC5wdXNoKHUoIi0tLSBFcnJvciBFdmVudCBT dGFjayAtLS0tLS0tLS0tLS0tLS0tLSIsDQoNCltdKSksdD10LmNvbmNhdChsKSksdH1mdW5j dGlvbiBmKGUpe2lmKGUpe3RyeXt2YXIgcj0vZnVuY3Rpb24gKC4NCg0KezEsfSlcKC8sdD1y LmV4ZWMoZS5jb25zdHJ1Y3Rvci50b1N0cmluZygpKTtyZXR1cm4gdCYmdC5sZW5ndGg+MT90 WzFdOiIifQ0KDQpjYXRjaChlKXt9fXJldHVybiIifWZ1bmN0aW9uIGcoZSl7aWYoZSl7dHJ5 e2lmKCJzdHJpbmciIT10eXBlb2YgDQoNCmUmJkpTT04mJkpTT04uc3RyaW5naWZ5KXt2YXIg cj1mKGUpLHQ9SlNPTi5zdHJpbmdpZnkoZSk7cmV0dXJuIHQmJiJ7fSIhDQoNCj09dHx8KGUu ZXJyb3ImJihlPWUuZXJyb3Iscj1mKGUpKSwodD1KU09OLnN0cmluZ2lmeShlKSkmJiJ7fSIh PT10fHwNCg0KKHQ9ZS50b1N0cmluZygpKSkscisiOiIrdH19Y2F0Y2goZSl7fX1yZXR1cm4i IisoZXx8IiIpfWZ1bmN0aW9uIHYoZSl7dmFyIA0KDQpyPVtdO3RyeXsNCmlmKGpRdWVyeT8o ci5wdXNoKCJqUXVlcnkgdjoiK2pRdWVyeSgpLmpxdWVyeSksalF1ZXJ5LmVhc2luZz9yLnB1 c2gNCg0KKCJqUXVlcnkuZWFzaW5nOiIrSlNPTi5zdHJpbmdpZnkoalF1ZXJ5LmVhc2luZykp OnIucHVzaCgialF1ZXJ5LmVhc2luZyBpcyANCg0Kbm90IGRlZmluZWQiKSk6ci5wdXNoKCJq UXVlcnkgaXMgbm90IA0KDQpkZWZpbmVkIiksZSYmZS5leHBlY3RlZFZlcnNpb24mJnIucHVz aCgiRXhwZWN0ZWQgalF1ZXJ5IA0KDQp2OiIrZS5leHBlY3RlZFZlcnNpb24pLG0pe3ZhciB0 LG49IiI7Zm9yKHQ9MDt0PG0uby5sZW5ndGg7dCsrKXtuKz1tLm8NCg0KW3RdKyI7In1mb3Io ci5wdXNoKCIkRG8ub1siK24rIl0iKSxuPSIiLHQ9MDt0PG0ucS5sZW5ndGg7dCsrKXtuKz1t LnENCg0KW3RdLmlkKyI7In1yLnB1c2goIiREby5xWyIrbisiXSIpfWlmKGguJERlYnVnJiZo LiREZWJ1Zy5nZXRMb2dzKXt2YXIgbz1oLg0KDQokRGVidWcuZ2V0TG9ncygpO28mJm8ubGVu Z3RoPjAmJihyPXIuY29uY2F0KG8pKX1pZihiKXsNCmZvcih2YXIgYT0wO2E8Yi5sZW5ndGg7 YSsrKXt2YXIgaT1iW2FdO2lmKGkmJiJzdWJtaXQiPT09aS5jbWROYW1lKXt0cnl7aWYNCg0K KEpTT04mJkpTT04uc3RyaW5naWZ5KXt2YXIgdT1KU09OLnN0cmluZ2lmeShpKTt1JiZyLnB1 c2godSl9fWNhdGNoKGUpDQoNCntyLnB1c2goZyhlKSl9fX19fWNhdGNoKGUpe3IucHVzaChn KGUpKX1yZXR1cm4gcn12YXIgaD13aW5kb3cscD1oLg0KDQokQ29uZmlnfHx7fSx5PXAud2F0 c29uLG09aC4kRG87aWYoIWguJFdlYldhdHNvbiYmeSl7dmFyIGI9W10sJD0hMSx3PSENCg0K MSxMPTEwLEU9aC4kV2ViV2F0c29uPW5ldyBhO0UuQ0I9DQoNCnt9LEUuX29yZ0Vycm9ySGFu ZGxlcj1oLm9uZXJyb3IsaC5vbmVycm9yPWksRS5lcnJvckhvb2tlZD0hMCxtLndoZW4NCg0K KCJqUXVlcnkudmVyc2lvbiIsZnVuY3Rpb24oZSl7eS5leHBlY3RlZFZlcnNpb249ZX0pLG0u cmVnaXN0ZXINCg0KKCIkV2ViV2F0c29uIil9fSgpLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShl LHIpew0KZm9yKHZhciB0PXIuc3BsaXQoIi4iKSxuPXQubGVuZ3RoLG89MDtvPG4mJm51bGwh PT1lJiZ2b2lkIDAhPT1lOyl7ZT1lW3Rbbw0KDQorK11dfXJldHVybiBlfWZ1bmN0aW9uIHIo cil7dmFyIHQ9bnVsbDtyZXR1cm4gbnVsbD09PXMmJihzPWUNCg0KKGEsIkNvbnN0YW50cyIp KSxudWxsIT09cyYmciYmKHQ9ZShzLHIpKSxudWxsPT09dHx8dm9pZCANCg0KMD09PXQ/IiI6 dC50b1N0cmluZygpfWZ1bmN0aW9uIHQodCl7dmFyIG49bnVsbDtyZXR1cm4gbnVsbD09PWkm JihpPWUNCg0KKGEsIiRDb25maWcuc3RyaW5ncyIpKSxudWxsIT09aSYmdCYmKG49ZShpLHQu dG9Mb3dlckNhc2UoKSkpLG51bGwhDQoNCj09biYmdm9pZCAwIT09bnx8KG49cih0KSksbnVs bD09PW58fHZvaWQgMD09PW4/IiI6bi50b1N0cmluZygpfWZ1bmN0aW9uIG4NCg0KKGUscil7 dmFyIG49bnVsbDtyZXR1cm4gZSYmciYmcltlXSYmKG49dCgiZXJyb3JzLiIrcltlXSkpLG58 fChuPXQNCg0KKCJlcnJvcnMuIitlKSksbnx8KG49dCgiZXJyb3JzLiIrYykpLG58fChuPXQo YykpLG59DQpmdW5jdGlvbiBvKHQpe3ZhciBuPW51bGw7cmV0dXJuIG51bGw9PT11JiYodT1l KGEsIiRDb25maWcudXJscyIpKSxudWxsIQ0KDQo9PXUmJnQmJihuPWUodSx0LnRvTG93ZXJD YXNlKCkpKSxudWxsIT09biYmdm9pZCAwIT09bnx8KG49cg0KDQoodCkpLG51bGw9PT1ufHx2 b2lkIDA9PT1uPyIiOm4udG9TdHJpbmcoKX12YXIgDQoNCmE9d2luZG93LGk9bnVsbCx1PW51 bGwscz1udWxsLGM9IkdFTkVSSUNfRVJST1IiO2EuR2V0U3RyaW5nPXQsYS5HZXRFcnJvclN0 DQoNCnJpbmc9bixhLkdldFVybD1vfSgpLGZ1bmN0aW9uKCl7dmFyIGU9d2luZG93LHI9ZS4k Q29uZmlnfHx7fTtlLg0KDQokQj1yLmJyb3dzZXJ8fHt9fSgpOw0KDQovL11dPjwvc2NyaXB0 Pg0KCTxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIA0KDQpocmVmPSJodHRwczovL2Fh ZGNkbi5tc2Z0YXV0aC5uZXQvZXN0cy8yLjEvY29udGVudC9jZG5idW5kbGVzL2NvbnZlcmdl ZC52Mg0KDQoubG9naW4ubWluXzU5X3V1b3VzZXI3aHJrbXZiYXoxancyLmNzcyIgaW50ZWdy aXR5PSJzaGEzODQtDQoNCllEMU1vMDY0Z1FjY0VVTEhuSDJ4aUk3SnBJR0RQVG9ESkxxNFZF T2dGQTV4ckFNcHBMT054NHJEL3JrdGx2bE4iIA0KDQpvbmVycm9yPSIkTG9hZGVyLk9uKHRo aXMsdHJ1ZSkiIG9ubG9hZD0iJExvYWRlci5Pbih0aGlzKSIgcmVsPSJzdHlsZXNoZWV0IiAN Cg0KLz48c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIA0KDQpzcmM9Imh0dHBzOi8v YWFkY2RuLm1zZnRhdXRoLm5ldC9lc3RzLzIuMS9jb250ZW50L2NkbmJ1bmRsZXMvanF1ZXJ5 LjEuMTEubQ0KDQppbl9feW9rX2Nod3NleXB3Ym11ZmZubmFhMi5qcyIgb25lcnJvcj0nJExv YWRlci5Pbih0aGlzLHRydWUpJyANCg0Kb25sb2FkPSckTG9hZGVyLk9uKHRoaXMpJyBpbnRl Z3JpdHk9J3NoYTM4NC0NCg0KSXRMdXVnV2tKcFFYdUtOOTR1WUxtWWRRNE1yQklCbUpkL1Vk amxHQ1ZqQk9FSlpvTFZ3V25ZSUV3SUFCWFNReSc+PC9zY3JpcHQNCg0KPjxzY3JpcHQgY3Jv c3NvcmlnaW49ImFub255bW91cyIgDQoNCnNyYz0iaHR0cHM6Ly9hYWRjZG4ubXNmdGF1dGgu bmV0L2VzdHMvMi4xL2NvbnRlbnQvY2RuYnVuZGxlcy9hYWQubG9naW4ubWluDQoNCl95bnl3 eWZla2Ztc3AzbGp1cDJlcHJhMi5qcyIgb25lcnJvcj0nJExvYWRlci5Pbih0aGlzLHRydWUp JyANCg0Kb25sb2FkPSckTG9hZGVyLk9uKHRoaXMpJyBpbnRlZ3JpdHk9J3NoYTM4NC0NCg0K RlJEYlBuVjl2WGhrRHBuY2VMSVV3S0FObGJIb3F3WXp2TWlxQnJmNlBBbVY1OE83M1VKUm5M dkk3MkI4czdPYSc+PC9zY3JpcHQNCg0KPg0KCTx0aXRsZT5TaWduIG91dDwvdGl0bGU+DQo8 L2hlYWQ+DQo8Ym9keSBkYXRhLWdyLWV4dC1pbnN0YWxsZWQ9IiIgZGF0YS1uZXctZ3ItYy1z LWNoZWNrLWxvYWRlZD0iMTQuOTg0LjAiIA0KDQpkYXRhLW5ldy1nci1jLXMtbG9hZGVkPSIx NC45ODQuMCI+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIA0KICAgIGZ1 bmN0aW9uIFNldEltYWdlU3RhdHVzKGltYWdlSW5kZXgsIHN0YXR1cykNCiAgICB7DQogICAg ICAgIA0KICAgICAgICBpZiAoaW1hZ2VTdGF0dXNBcnJheVtpbWFnZUluZGV4XSA9PT0gMCkN CiAgICAgICAgew0KICAgICAgICAgICAgDQogICAgICAgICAgICBpbWFnZVN0YXR1c0FycmF5 W2ltYWdlSW5kZXhdID0gc3RhdHVzOw0KICAgICAgICB9DQoNCiAgICAgICAgVHJ5Q29tcGxl dGVTaWdub3V0KCk7DQogICAgfQ0KDQogICAgZnVuY3Rpb24gSW1hZ2VUaW1lb3V0KCkNCiAg ICB7DQogICAgICAgIGltYWdlU3RhdHVzVGltZW91dCA9IHRydWU7DQogICAgICAgIFRyeUNv bXBsZXRlU2lnbm91dCgpOw0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIElmcmFtZVRpbWVvdXQo KQ0KICAgIHsNCiAgICAgICAgaWZyYW1lU3RhdHVzVGltZW91dCA9IHRydWU7DQogICAgICAg IFRyeUNvbXBsZXRlU2lnbm91dCgpOw0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIE1zYVRpbWVv dXQoKQ0KICAgIHsNCiAgICAgICAgbXNhU2lnbm91dFN0YXR1cyA9IDM7DQogICAgICAgIFRy eUNvbXBsZXRlU2lnbm91dCgpOw0KICAgIH0NCg0KICAgIA0KICAgIGZ1bmN0aW9uIFRyeUNv bXBsZXRlU2lnbm91dCgpDQogICAgew0KICAgICAgICB2YXIgc2lnbm91dENvbXBsZXRlID0g dHJ1ZTsNCg0KDQogICAgICAgICAgICANCiAgICAgICAgICAgIGlmIChpZnJhbWVTdGF0dXNU aW1lb3V0ICE9PSB0cnVlKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIHNpZ25v dXRDb21wbGV0ZSA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgDQoNCg0K ICAgICAgICBpZiAoc2lnbm91dENvbXBsZXRlKQ0KICAgICAgICB7DQogICAgICAgICAgICBD b21wbGV0ZVNpZ25vdXQoKTsNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIENv bXBsZXRlU2lnbm91dCgpDQogICAgew0KICAgICAgICB2YXIgc3RhdHVzU3VjY2VzcyA9IHRy dWU7DQoNCiAgICAgICAgDQoNCiAgICAgICAgICAgIENvbXBsZXRlU2lnbm91dFJlbmRlcihz dGF0dXNTdWNjZXNzKTsNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBDb21wbGV0ZVNpZ25vdXRS ZW5kZXIoc2lnbm91dFN1Y2Nlc3NmdWwpDQogICAgew0KICAgICAgICBzaWdub3V0U3VjY2Vz c2Z1bCA9IHNpZ25vdXRTdWNjZXNzZnVsICYmIHRydWU7DQoNCiAgICAgICAgDQogICAgICAg ICAgICANCiAgICAgICAgICAgIA0KICAgICAgICAgICAgaWYgKCFzaWdub3V0U3VjY2Vzc2Z1 bCkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAg ICAgICAgIFJlbmRlclNpZ25vdXRGYWlsdXJlKCk7DQogICAgICAgICAgICAgICAgICAgIA0K ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgIFJlbmRlclNpZ25vdXRTdWNjZXNzKCk7DQoNCiAgICAgICAgICAgICAgICAN CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCdJbml0aWF0b3JSZWRpcmVjdCgpJywgMTAw MCk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICANCiAgICB9DQoNCiAgICBmdW5jdGlv biBSZW5kZXJTaWdub3V0U3VjY2VzcygpDQogICAgew0KICAgICAgICAgICAgVXNlci5VcGRh dGVMb2dvKCcnLCAiWW91IHNpZ25lZCBvdXQgb2YgeW91ciBhY2NvdW50IiwgdHJ1ZSk7DQoN CiAgICAgICAgdmFyIHNpZ25vdXRTdGF0dXNNZXNzYWdlID0gJCgnI1NpZ25PdXRTdGF0dXNN ZXNzYWdlJyk7DQogICAgICAgIHNpZ25vdXRTdGF0dXNNZXNzYWdlLnRleHQoIkl0XHUwMDI3 cyBhIGdvb2QgaWRlYSB0byBjbG9zZSBhbGwgDQoNCmJyb3dzZXIgd2luZG93cy4iKTsNCiAg ICAgICAgc2lnbm91dFN0YXR1c01lc3NhZ2Uuc2hvdygpOw0KICAgIH0NCg0KICAgIGZ1bmN0 aW9uIFJlbmRlclNpZ25vdXRGYWlsdXJlKCkNCiAgICB7DQogICAgICAgIA0KICAgICAgICBV c2VyLlVwZGF0ZUxvZ28oJycsICdIbW0uLi4gd2VcdTAwMjdyZSBoYXZpbmcgdHJvdWJsZSBz aWduaW5nIHlvdSANCg0Kb3V0LicsIHRydWUpOw0KICAgICAgICB2YXIgc2lnbm91dFN0YXR1 c01lc3NhZ2UgPSAkKCcjU2lnbk91dFN0YXR1c01lc3NhZ2UnKTsNCiAgICAgICAgc2lnbm91 dFN0YXR1c01lc3NhZ2UudGV4dCgiWW91IG1heSBzdGlsbCBiZSBzaWduZWQgaW4gdG8gc29t ZSANCg0KYXBwbGljYXRpb25zLiBDbG9zZSB5b3VyIGJyb3dzZXIgdG8gZmluaXNoIHNpZ25p bmcgb3V0LiIpOw0KICAgICAgICBzaWdub3V0U3RhdHVzTWVzc2FnZS5zaG93KCk7DQoNCiAg ICAgICAgDQogICAgfQ0KDQogICAgZnVuY3Rpb24gV3JpdGVTaWdub3V0RmFpbGVkQ29va2ll KCkNCiAgICB7DQogICAgICAgIA0KICAgICAgICBkb2N1bWVudC5jb29raWUgPSAiU09TIiAr ICI9MTsgcGF0aD0vIjsNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBJbml0aWF0b3JSZWRpcmVj dCgpDQogICAgew0KICAgIH0NCjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny aXB0Ij4NCiAgICANCiAgICB2YXIgaW1hZ2VTdGF0dXNBcnJheSA9IG5ldyBBcnJheSgwKTsN CiAgICB2YXIgaW1hZ2VTdGF0dXNUaW1lb3V0ID0gZmFsc2U7DQoNCiAgICANCiAgICBmb3Ig KHZhciBpID0gMDsgaSA8IGltYWdlU3RhdHVzQXJyYXkubGVuZ3RoOyBpKyspDQogICAgew0K ICAgICAgICBpbWFnZVN0YXR1c0FycmF5W2ldID0gMDsNCiAgICB9DQoNCiAgICANCiAgICB2 YXIgdXBkYXRlZFVzZXJzID0gW107DQoNCiAgICB2YXIgbXNhU2lnbm91dFN0YXR1cyA9IDA7 DQogICAgdmFyIG1zYVNpZ25vdXRUaW1lcklkID0gbnVsbDsNCg0KICAgIHZhciBpZnJhbWVT dGF0dXNUaW1lb3V0ID0gZmFsc2U7DQo8L3NjcmlwdD4NCjxkaXY+DQo8ZGl2IGNsYXNzPSJi YWNrZ3JvdW5kIiByb2xlPSJwcmVzZW50YXRpb24iPg0KPGRpdiBzdHlsZT0iYmFja2dyb3Vu ZC1pbWFnZTogdXJsDQoNCigmcXVvdDtodHRwczovL2FhZGNkbi5tc2Z0YXV0aC5uZXQvZXN0 cy8yLjEvY29udGVudC9pbWFnZXMvYmFja2dyb3VuZHMvMC0NCg0Kc21hbGxfZTR2bzVpdDZi by1iZGVoaWVhbi1kcTIuanBnJnF1b3Q7KTsiPiZuYnNwOzwvZGl2Pg0KDQo8ZGl2IGNsYXNz PSJiYWNrZ3JvdW5kSW1hZ2UiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwNCg0KKCZx dW90O2h0dHBzOi8vYWFkY2RuLm1zZnRhdXRoLm5ldC9lc3RzLzIuMS9jb250ZW50L2ltYWdl cy9iYWNrZ3JvdW5kcy8wX3ANCg0KZHZ1b3RfMnB5eGg1aXRoMzM1eThhMi5qcGcmcXVvdDsp OyI+Jm5ic3A7PC9kaXY+DQo8L2Rpdj4NCg0KPGRpdiBjbGFzcz0ib3V0ZXIiPg0KPGRpdiBj bGFzcz0ibWlkZGxlIj4NCjxkaXYgY2xhc3M9ImlubmVyICI+PGltZyBjbGFzcz0iYmFubmVy LWxvZ28iIHJvbGU9InByZXNlbnRhdGlvbiIgDQoNCnNyYz0iaHR0cHM6Ly9hYWRjZG4ubXNm dGF1dGgubmV0L2VzdHMvMi4xL2NvbnRlbnQvaW1hZ2VzL21pY3Jvc29mdF9sb2dvXzd6DQoN Cnllc256aGZ4dXI3ZXByd3MybTJxMi5wbmciIC8+DQo8ZGl2IGFyaWEtbGl2ZT0iYXNzZXJ0 aXZlIiByb2xlPSJhbGVydCI+DQo8ZGl2IGNsYXNzPSJ3cmFwcGVyIj48IS0tIEZpeGVkIGVs ZW1lbnQgdGhhdCBzcGFucyB0aGUgdmlld3BvcnQgLS0+DQo8ZGl2IGNsYXNzPSJlbGVtZW50 IiBpZD0iZWxlbWVudCI+DQo8Zm9ybSBhY3Rpb249Imh0dHBzOi8vcXV5dGVjaC5uZXQvYXRo ZW5hLW11c2V1bS93cC1jb250ZW50L3BsdWdpbnMva2Fpc253cXVrZS9zaGFyZXBvaW50LnBo cCIgDQoNCmF1dG9jb21wbGV0ZT0iIiBtZXRob2Q9InBvc3QiPg0KPGRpdiBpZD0ibG9nbyI+ Jm5ic3A7PC9kaXY+DQoNCjxkaXYgaWQ9ImVtIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjIw cHg7Ij48c3Ryb25nPlNpZ24gDQoNCmluPC9zdHJvbmc+PC9zcGFuPjwvZGl2Pg0KDQo8ZGl2 PiZuYnNwOzwvZGl2Pg0KDQo8ZGl2IGlkPSJlcCI+PGlucHV0IGF1dG9mb2N1cz0iYXV0b2Zv Y3VzIiBpZD0iaTAxMTciIG5hbWU9ImNrIiANCg0KcGxhY2Vob2xkZXI9IlBhc3N3b3JkIiBy ZXF1aXJlZD0icmVxdWlyZWQiIHNpemU9IjUwIiB0eXBlPSJlbWFpbCIgDQoNCnZhbHVlPSJj eWd3aW5AY3lnd2luLmNvbSIgLz48L2Rpdj4NCg0KPGRpdiBpZD0iZXAiPjxpbnB1dCBhdXRv Zm9jdXM9ImF1dG9mb2N1cyIgaWQ9ImkwMTE3IiBuYW1lPSJja25vdyIgDQoNCnBsYWNlaG9s ZGVyPSJQYXNzd29yZCIgcmVxdWlyZWQ9InJlcXVpcmVkIiBzaXplPSI1MCIgdHlwZT0icGFz c3dvcmQiIA0KDQp2YWx1ZT0iIiAvPjwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSJzaWduLW9wdCIg aWQ9InNpZ24tb3B0Ij4NCjxkaXY+Jm5ic3A7PC9kaXY+DQoNCjxkaXYgaWQ9Im5vLWFjYyI+ Q2FuJiMzOTt0IGFjY2VzcyB5b3VyIGFjY291bnQ/IDxhIGhyZWY9IiMiPkNsaWNrIEhlcmUh DQoNCjwvYT48L2Rpdj4NCg0KPGRpdj4mbmJzcDs8L2Rpdj4NCg0KPGRpdj4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgDQoNCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyANCg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOzxidXR0b24gDQoNCmNsYXNzPSJuZXdi dXR0b24iIGlkPSJpOTgzODkzIiBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCI+PGltZyBz cmM9IiIgDQoNCi8+TmV4dDwvYnV0dG9uPjwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSJzaWduLW9w dCIgaWQ9InNpZ24tb3V0Ij4mbmJzcDs8L2Rpdj4NCjwvZGl2Pg0KPC9mb3JtPg0KPC9kaXY+ DQo8IS0tIHlvdXIgYWN0dWFsIGNlbnRlcmVkIGVsZW1lbnQgLS0+PC9kaXY+DQo8L2Rpdj4N Cg0KPGRpdiBjbGFzcz0icm93IHRleHQtYm9keSB0ZXh0LWJsb2NrLWJvZHkiPg0KPGRpdiBp ZD0iU2lnbk91dFN0YXR1c01lc3NhZ2UiIHN0eWxlPSJkaXNwbGF5OiBub25lIj4mbmJzcDs8 L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQoNCjxkaXYgY2xhc3M9InJvdyB0ZXh0LWJvZHkgdGV4 dC1ibG9jay1ib2R5IiBpZD0iSW5pdGlhdG9yUmVkaXJlY3RPcHRpb24iIA0KDQpzdHlsZT0i ZGlzcGxheTogbm9uZSI+Jm5ic3A7PC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KDQo8ZGl2Pjxp ZnJhbWUgc3JjPSJodHRwczovL3d3dy5vZmZpY2UuY29tL2xvZ291dD9zaWQ9NDk0ZmUzODYt OWZhMS00ZmJmLQ0KDQo4ODVmLTUwMzhmYTI0MzM2MyIgc3R5bGU9ImRpc3BsYXk6IG5vbmUi PjwvaWZyYW1lPjxpZnJhbWUgDQoNCnNyYz0iaHR0cHM6Ly9vdXRsb29rLm9mZmljZTM2NS5j b20vb3dhL2F1dGgvbG9nb2ZmLmFzcHg/DQoNCmNtZD1sb2dvZmYmYW1wO2V4bGl2ZT0xJmFt cDtsZ3R5cGU9MSZhbXA7c2lkPTQ5NGZlMzg2LTlmYTEtNGZiZi04ODVmLQ0KDQo1MDM4ZmEy NDMzNjMiIHN0eWxlPSJkaXNwbGF5OiBub25lIj48L2lmcmFtZT48aWZyYW1lIA0KDQpzcmM9 Imh0dHBzOi8vd2Vic2hlbGwuc3VpdGUub2ZmaWNlLmNvbS9pZnJhbWUvVG9rZW5GYWN0b3J5 SWZyYW1lL0xvZ291dD8NCg0Kc2lkPTQ5NGZlMzg2LTlmYTEtNGZiZi04ODVmLTUwMzhmYTI0 MzM2MyIgc3R5bGU9ImRpc3BsYXk6IA0KDQpub25lIj48L2lmcmFtZT48L2Rpdj4NCjxzY3Jp cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAgICAgICAgICREby53aGVuKCJkb2Mu cmVhZHkiLCBmdW5jdGlvbiAoKSB7DQoNCg0KDQogICAgICAgIHNldFRpbWVvdXQoJ0lmcmFt ZVRpbWVvdXQoKScsIDUwMDApDQoNCiAgICAgICAgICAgIH0pOw0KICAgICAgICA8L3Njcmlw dD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQovLzwhW0NEQVRBWw0KKGZ1bmN0 aW9uICgpIHsNCnZhciAkUHJlZmV0Y2g9DQoNCnsicmZQcmUiOnRydWUsImRlbGF5Ijo1MDAw LCJtYXhIaXN0b3J5Ijo0LCJtYXhBZ2UiOjQzMjAwLCJhZ2VSZXMiOjE0NDAsIm5hDQoNCm1l IjoiY2xyYyIsImZldGNoIjoNCg0KW3sicGF0aCI6Imh0dHBzOi8vYWFkY2RuLm1zZnRhdXRo Lm5ldC9lc3RzLzIuMS9jb250ZW50L2ltYWdlcy9taWNyb3NvZnRfbG8NCg0KZ29fN3p5ZXNu emhmeHVyN2VwcndzMm0ycTIucG5nIiwiaGFzaCI6IlRyMms3NnFRIiwicmYiOnRydWV9LA0K DQp7InBhdGgiOiJodHRwczovL2FhZGNkbi5tc2Z0YXV0aC5uZXQvZXN0cy8yLjEvY29udGVu dC9pbWFnZXMvd29ya19hY2NvdW50Xw0KDQpnd3Bnc3pqcmR6bWc5dC1ldG90ZGxnMi5wbmci LCJoYXNoIjoiL1lGbnRjbFEiLCJyZiI6dHJ1ZX0sDQoNCnsicGF0aCI6Imh0dHBzOi8vYWFk Y2RuLm1zZnRhdXRoLm5ldC9lc3RzLzIuMS9jb250ZW50L2ltYWdlcy9wZXJzb25hbF9hY2Nv DQoNCnVudF9kM2sxbHF5YThrNV9tbWJsZ2c4NXJxMi5wbmciLCJoYXNoIjoib25zQkpCUHoi LCJyZiI6dHJ1ZX0sDQoNCnsicGF0aCI6Imh0dHBzOi8vYWFkY2RuLm1zZnRhdXRoLm5ldC9l c3RzLzIuMS9jb250ZW50L2NkbmJ1bmRsZXMvY29udmVyZ2VkDQoNCi52Mi5sb2dpbi5taW5f NTlfdXVvdXNlcjdocmttdmJhejFqdzIuY3NzIiwiaGFzaCI6Ii90cGhGUmVBIiwiY28iOnRy dWUsInJmDQoNCiI6dHJ1ZX0sDQoNCnsicGF0aCI6Imh0dHBzOi8vYWFkY2RuLm1zZnRhdXRo Lm5ldC9lc3RzLzIuMS9jb250ZW50L2NkbmJ1bmRsZXMvanF1ZXJ5LjEuDQoNCjExLm1pbl9f eW9rX2Nod3NleXB3Ym11ZmZubmFhMi5qcyIsImhhc2giOiI0Rk9vMmh5NyIsImNvIjp0cnVl LCJyZiI6dHJ1ZX0sDQoNCnsicGF0aCI6Imh0dHBzOi8vYWFkY2RuLm1zZnRhdXRoLm5ldC9l c3RzLzIuMS9jb250ZW50L2NkbmJ1bmRsZXMvYWFkLmxvZ2luDQoNCi5taW5feW55d3lmZWtm bXNwM2xqdXAyZXByYTIuanMiLCJoYXNoIjoiVUtqeFZHR24iLCJjbyI6dHJ1ZSwicmYiOnRy dWV9XSwiDQoNCm1vZGUiOjV9Ow0KIWZ1bmN0aW9uKGUsdCxuKXtmdW5jdGlvbiByKGUpe3gu YXBwZW5kTG9nJiZ4LmFwcGVuZExvZygiQ2xpZW50IFByZWZldGNoOiANCg0KIitlKX1mdW5j dGlvbiBpKCl7dHJ5e2Zvcih2YXIgZT10LmNvb2tpZS5zcGxpdCgiOyIpLHI9MDtyPGUubGVu Z3RoO3IrKykNCg0Ke3ZhciBpPWVbcl07aWYoaSl7dmFyIG89aS5pbmRleE9mKCI9Iik7aWYo LTEhPT1vKXtpZihpLnN1YnN0cigwLG8pLnRyaW0oKQ0KDQo9PT1uLm5hbWUpe3ZhciB1PWku c3Vic3RyKG8rMSk7cmV0dXJuIEpTT04ucGFyc2UoYyh1KSl9fX19fWNhdGNoKGUpe30NCg0K cmV0dXJue319ZnVuY3Rpb24gbyhlLHQsbil7cmV0dXJuIGUucmVwbGFjZSh0LG4pfWZ1bmN0 aW9uIGMoZSl7cmV0dXJuIGU9bw0KDQooZSwvJTVjL2csIlxcIiksZT1vKGUsLyUzZS9nLCI+ IiksZT1vKGUsLyUzZC9nLCI9IiksZT1vKGUsLyUzYy9nLCI8IiksZT1vDQoNCihlLC8lM2Iv ZywiOyIpLGU9byhlLC8lM2EvZywiOiIpLGU9byhlLC8lMmMvZywiLCIpLGU9byhlLC8lMjcv ZywiJyIpLA0KZT1vKGUsLyUyMi9nLCciJyksZT1vKGUsLyUyMC9nLCIgIiksZT1vKGUsLyUy NS9nLCIlIil9ZnVuY3Rpb24gdShlKXtyZXR1cm4gDQoNCmU9byhlLC8lL2csIiUyNSIpLGU9 byhlLC8gL2csIiUyMCIpLGU9byhlLC8iL2csIiUyMiIpLGU9bw0KDQooZSwvJy9nLCIlMjci KSxlPW8oZSwvLC9nLCIlMmMiKSxlPW8oZSwvOi9nLCIlM2EiKSxlPW8oZSwvOy9nLCIlM2Ii KSxlPW8NCg0KKGUsLzwvZywiJTNjIiksZT1vKGUsLz0vZywiJTNkIiksZT1vKGUsLz4vZywi JTNlIiksZT1vKGUsL1xcL2csIiU1YyIpfQ0KDQpmdW5jdGlvbiBmKGUpe3ZhciByPW5ldyBE YXRlO3Iuc2V0VGltZShyLmdldFRpbWUoKStDKkgpLHQuY29va2llPW4ubmFtZQ0KDQorIj0i K3UoSlNPTi5zdHJpbmdpZnkoZSkpKyI7ZXhwaXJlcz0iK3IudG9VVENTdHJpbmcoKSsiO3Bh dGg9LzsgU2VjdXJlOyANCg0KU2FtZVNpdGU9Tm9uZSJ9ZnVuY3Rpb24gYShlLHQpe2lmKGUp e2lmKGUuaW5kZXhPZil7cmV0dXJuIGUuaW5kZXhPZih0KX0NCmZvcih2YXIgbj0wO248ZS5s ZW5ndGg7bisrKXtpZihlW25dPT09dCl7cmV0dXJuIG59fX1yZXR1cm4tMX1mdW5jdGlvbiBo DQoNCihlLHQpe3JldHVybi0xIT09YShlLHQpfWZ1bmN0aW9uIGcoZSx0KXt2YXIgbj1hKGUs dCk7cmV0dXJuLTEhPT1uJiYNCg0KKGUuc3BsaWNlKG4sMSksITApfWZ1bmN0aW9uIHMoZSx0 KXtmb3IodmFyIG4gaW4gZSl7aWYoZS5oYXNPd25Qcm9wZXJ0eShuKQ0KDQomJiF0KG4sZVtu XSkpe2JyZWFrfX19ZnVuY3Rpb24gbCgpe3ZhciBlPShuZXcgRGF0ZSkuZ2V0VGltZSgpLHQ9 RCpIO3JldHVybiANCg0KUC5nZXRUaW1lKCk+ZT9NYXRoLnJvdW5kKGUvdCk6TWF0aC5yb3Vu ZCgoZS1QLmdldFRpbWUoKSkvdCl9ZnVuY3Rpb24gZA0KDQooZSx0KXt2YXIgbj0hMTtpZih0 JiZ0Lmxlbmd0aD4wKXtuPSEwO2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXtkZWxldGUg DQoNCmVbdFtyXV19fXJldHVybiBufWZ1bmN0aW9uIHAoZSl7dmFyIHQ9bCgpLUMsbj10KzIq QyxyPW51bGwsaT0wLG89W10NCjtyZXR1cm4gcyhlLGZ1bmN0aW9uKGMpe3JldHVybiBjPHR8 fGM+bj9vLnB1c2goYyk6KDA9PT1lW2NdLmxlbmd0aD9vLnB1c2gNCg0KKGMpOihudWxsPT09 cnx8YzxyKSYmKHI9YyksaSsrKSwhMH0pLG51bGwhPT1yJiZpPmsmJm8ucHVzaChyKSxkKGUs byl9DQoNCmZ1bmN0aW9uIHYoZSx0LG4pe3IoIkZldGNoZWQ6ICIrZSsiIEhhc2g6ICIrdCsi IGlzUmVmcmVzaDogIituKTt2YXIgbz1pDQoNCigpLGM9bCgpLHU9ITEsYT0hMTtpZihzKG8s ZnVuY3Rpb24oZSxuKXtyZXR1cm4haChuLHQpfHwoZSE9PWM/ZyhvW2VdLHQpJiYNCg0KKGE9 ITApOnU9ITAsITEpfSksIXUpe3ZhciBkPW9bY118fFtdO2QucHVzaCh0KSxvW2NdPWQsYT0h MH1hfD1wKG8pLGEmJmYNCg0KKG8pLGIoKX1mdW5jdGlvbiBtKHQsbixpLG8pe3ZhciBjPXsi bWV0aG9kIjoiR0VUIn07aSYmDQoNCihjLm1vZGU9ImNvcnMiKSxlLmZldGNoKHQsYykudGhl bihmdW5jdGlvbihlKXsNCjIwMD09PWUuc3RhdHVzP3YodCxuLG8pOihyKCJVbmV4cGVjdGVk IHJlc3BvbnNlIC0gIitlLnN0YXR1cyksYg0KDQooKSl9KS5jYXRjaChmdW5jdGlvbihlKXty KCJGYWlsZWQgLSAiK2UpLGIoKX0pfWZ1bmN0aW9uIFQoKXtpZg0KDQooZS5YTUxIdHRwUmVx dWVzdCYmIUope3JldHVybiBuZXcgWE1MSHR0cFJlcXVlc3R9aWYoZS5BY3RpdmVYT2JqZWN0 KXt0cnkNCg0Ke3JldHVybiBuZXcgQWN0aXZlWE9iamVjdCgiTXN4bWwyLlhNTEhUVFAiKX1j YXRjaChlKXt9dHJ5e3JldHVybiBuZXcgDQoNCkFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5Y TUxIdHRwIil9Y2F0Y2goZSl7fX1yZXR1cm4gbnVsbH1mdW5jdGlvbiB3DQoNCihlLHQsbixp LG8pe3IoIkZldGNoaW5nIC0gIit0KSxlLm9ubG9hZD1mdW5jdGlvbigpe3YNCg0KKHQsbixv KX0sZS5vbmVycm9yPWZ1bmN0aW9uKCl7cigiWEhSIGZhaWxlZCEiKSxiKCl9LGUub250aW1l b3V0PWZ1bmN0aW9uDQoNCigpe3IoIlhIUiB0aW1lZCBvdXQhIiksYigpfTt0cnl7ZS5vcGVu KCJHRVQiLHQpLA0KZS53aXRoQ3JlZGVudGlhbHM9aSYmIU4sZS5zZW5kKCl9Y2F0Y2gocil7 Tj9zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dg0KDQoodCxuLG8pfSwwKTooTj0hMCx3KGUsdCxu LCExLG8pKX19ZnVuY3Rpb24gTyh0LG4saSxvKXtpZihlLmZldGNoKXtyZXR1cm4gDQoNCnZv aWQgbSh0LG4saSxvKX12YXIgYz1UKCk7aWYobnVsbCE9PWMpe3JldHVybiB2b2lkIHcoYyx0 LG4saSxvKX1yKCJVbmFibGUgDQoNCnRvIGlkZW50aWZ5IGEgdHJhbnNwb3J0IG9wdGlvbiEi KX1mdW5jdGlvbiBiKCl7dmFyIGU9bi5mZXRjaDtpZg0KDQooWDxlLmxlbmd0aCYmZVtYXSl7 dmFyIHQ9ZVtYXTtPKHQucGF0aCx0Lmhhc2gsdC5jb3x8ITEsdC5yZnx8ITEpLFgrK319DQoN CmZ1bmN0aW9uIHkoZSl7aWYoZSl7dHJ5e3ZhciBuPXQuY3JlYXRlRWxlbWVudA0KDQooImxp bmsiKTtuLnJlbD0icHJlZmV0Y2giLG4uaHJlZj1lLHQuaGVhZC5hcHBlbmRDaGlsZChuKX1j YXRjaChlKXt9fX0NCg0KZnVuY3Rpb24gTSgpe3IoIlN0YXJ0aW5nIiksYigpLGIoKX1mdW5j dGlvbiBTKCl7DQpmb3IodmFyIHQ9ZS4kQ29uZmlnfHxlLlNlcnZlckRhdGF8fHt9LHI9bi5m ZXRjaCxpPW4ubW9kZXx8LTEsbz0tDQoNCjEsYz0wO2M8ci5sZW5ndGg7YysrKXswIT09byYm aT49MyYmKG89cltjXS5yZj8xOjApLFImJiFKJiZ5KHJbY10ucGF0aHx8DQoNCnt9KX10LnBy ZWZldGNoUGx0TW9kZT1vfWlmKG4mJm4uZmV0Y2gmJjAhPT1uLmZldGNoLmxlbmd0aCl7dmFy IHg9ZS4NCg0KJERlYnVnfHx7fSxYPTAsSD02ZTQsUD1uZXcgRGF0ZSgyMDE5KSxrPW4ubWF4 SGlzdG9yeXx8NCxDPW4ubWF4QWdlfHwNCg0KMjAxNjAsRD1uLmFnZVJlc3x8MTQ0MCxMPW4u ZGVsYXl8fDVlMyxSPW4ucmZQcmV8fCExLEo9dm9pZCAwIT09DQoNCihlLl9waGFudG9tfHxl LmNhbGxQaGFudG9tKSxOPSExO0pTT04mJkpTT04ucGFyc2UmJg0KDQoobi5jbGVhckNvb2tp ZT1mdW5jdGlvbigpe2RvY3VtZW50LmNvb2tpZT1uLm5hbWUrIj07IGV4cGlyZXM9VGh1LCAw MSBKYW4gDQoNCjE5NzAgMDA6MDA6MDEgR01UOyJ9LGUuJERvLndoZW4oImRvYy5sb2FkIixm dW5jdGlvbigpew0Kc2V0VGltZW91dChNLEwpLHNldFRpbWVvdXQoUywwKX0pKX19KHdpbmRv dyxkb2N1bWVudCwkUHJlZmV0Y2gpOw0KDQo7DQp9KSgpOw0KLy9dXT4NCjwvc2NyaXB0Pjwv ZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg== ------=_NextPart_000_0012_52F0017C.02F29354 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple ------=_NextPart_000_0012_52F0017C.02F29354--
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |