Received: from localhost ([::1]:45386 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1S0nSQ-0004eg-EB; Thu, 23 Feb 2012 21:12:38 -0800 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:52396 helo=jukni.digitalkingdom.org) by stodi.digitalkingdom.org with esmtps (TLSv1:AES256-SHA:256) (Exim 4.76) (envelope-from ) id 1S0nSH-0004eT-E3 for wikineurotic@lojban.org; Thu, 23 Feb 2012 21:12:34 -0800 Received: from jukni.digitalkingdom.org (localhost [127.0.0.1]) by jukni.digitalkingdom.org (8.14.5/8.14.5) with ESMTP id q1O5CSQa028825 for ; Thu, 23 Feb 2012 21:12:28 -0800 Received: (from apache@localhost) by jukni.digitalkingdom.org (8.14.5/8.14.5/Submit) id q1O5CSOG028824; Thu, 23 Feb 2012 21:12:28 -0800 Date: Thu, 23 Feb 2012 21:12:28 -0800 X-Authentication-Warning: jukni.digitalkingdom.org: apache set sender to webmaster@lojban.org using -f To: wikineurotic@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 From: webmaster@lojban.org Message-ID: X-MIME-Autoconverted: from 8bit to quoted-printable by jukni.digitalkingdom.org id q1O5CSQa028825 X-Spam-Score: 2.6 (++) X-Spam_score: 2.6 X-Spam_score_int: 26 X-Spam_bar: ++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page CLL, aka Reference Grammar, Errata was changed by asiz at 05:12 UTC Comment: Chapter 15 example 4.12 erratum. You can view the page by following this link: http://www.lojban.org/tiki/CLL%2C%20aka%20Reference%20Grammar%2C%20Errata [...] Content analysis details: (2.6 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS 0.6 TO_NO_BRKTS_DYNIP To: misformatted and dynamic rDNS Subject: [Wikineurotic] Wiki page CLL, aka Reference Grammar, Errata changed by asiz X-BeenThere: wikineurotic@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikineurotic-bounces@lojban.org VGhlIHBhZ2UgQ0xMLCBha2EgUmVmZXJlbmNlIEdyYW1tYXIsIEVycmF0YSB3YXMgY2hhbmdlZCBi eSBhc2l6IGF0IDA1OjEyIFVUQwpDb21tZW50OiBDaGFwdGVyIDE1IGV4YW1wbGUgNC4xMiBlcnJh dHVtLgoKWW91IGNhbiB2aWV3IHRoZSBwYWdlIGJ5IGZvbGxvd2luZyB0aGlzIGxpbms6CiAKaHR0 cDovL3d3dy5sb2piYW4ub3JnL3Rpa2kvQ0xMJTJDJTIwYWthJTIwUmVmZXJlbmNlJTIwR3JhbW1h ciUyQyUyMEVycmF0YQoKWW91IGNhbiB2aWV3IGEgZGlmZiBiYWNrIHRvIHRoZSBwcmV2aW91cyB2 ZXJzaW9uIGJ5IGZvbGxvd2luZyB0aGlzIGxpbms6IApodHRwOi8vd3d3LmxvamJhbi5vcmcvdGlr aS90aWtpLXBhZ2VoaXN0b3J5LnBocD9wYWdlPUNMTCUyQyUyMGFrYSUyMFJlZmVyZW5jZSUyMEdy YW1tYXIlMkMlMjBFcnJhdGEmY29tcGFyZT0xJm9sZHZlcj0yMTEmbmV3dmVyPTIxMgoKCioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClRo ZSBjaGFuZ2VzIGluIHRoaXMgdmVyc2lvbiBmb2xsb3cgYmVsb3csIGZvbGxvd2VkIGFmdGVyIGJ5 IHRoZSBjdXJyZW50IGZ1bGwgcGFnZSB0ZXh0LgoqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKCistKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCkBAIC1MaW5lczogNDMwLTQzMyBj aGFuZ2VkIHRvICtMaW5lczogNDMwLTQzNSBAQAorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwoKKiBTZWN0aW9uIDIsIG1pc3NpbmcgPCAv cHJlID4gdGFnIGFmdGVyIGV4YW1wbGUgMi44IGFuZCA8IHByZT4gdGFnIGJlZm9yZSBleGFtcGxl IDIuOS4KKyAKKyAqIFNlY3Rpb24gNCwgZXhhbXBsZSA0LjEyIC9uYWtlL25hJ2VrZS8KCiogU2Vj dGlvbiA5LCB0d28gcGFyYWdyYXBocyBhYm92ZSBleGFtcGxlIDkuNCB0aGUgd29yZCAibmVnYXRp diIgc2hvdWxkIGJlICJuZWdhdGl2ZSIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJv dmVkKSkKCgoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqClRoZSBuZXcgcGFnZSBjb250ZW50IGZvbGxvd3MgYmVsb3cuCioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgpUaGlz IHBhZ2UgaXMgZm9yIGVycmF0YSBpbiAoKFRoZSBDb21wbGV0ZSBMb2piYW4gTGFuZ3VhZ2UpKSwg dGhhdCBpcyBmb3IgbWlzdGFrZXMgc3VjaCBhcyB0eXBvcywgb3Igc2VsZi1jb250cmFkaWN0aW9u cywgb3IgY29udHJhZGljdGlvbnMgd2l0aCBvdGhlciBiYXNlbGluZWQgbGFuZ3VhZ2UgZGVmaW5p dGlvbiBtYXRlcmlhbC4gVGhpcyBpcyBfX25vdF9fIGEgcGFnZSB0byBwdXQgZGVzaWRlcmF0YSAo c3VnZ2VzdGlvbnMgZm9yIGltcHJvdmVtZW50KTsgc3VjaCBzdWdnZXN0aW9ucyBzaG91bGQgZ28g dG8gKChTdWdnZXN0aW9ucyBmb3IgQ0xMLCBzZWNvbmQgZWRpdGlvbikpLiAgVGhpcyBpcyBhbHNv IG5vdCBhIHBhZ2UgdG8gcHV0IGVycmF0YSByZXN1bHRpbmcgZnJvbSB0aGUgNHRoIEJhc2VsaW5l IEdyYW1tYXIgcHJvcG9zYWwgKGkuZS4sIHRoZSAoKFBFRykpIGdyYW1tYXIpOyBQRUcgZ3JhbW1h ciBlcnJhdGEgc2hvdWxkIGdvIHRvICgoQ0xMIFBFRyBFcnJhdGEpKS4KCkFuIG9ubGluZSB2ZXJz aW9uIG9mIHRoZSBDTEwgaW5jb3Jwb3JhdGluZyB0aGUgY2hhbmdlcyBvbiB0aGlzIHBhZ2UgW2h0 dHA6Ly9kYWcuZ2l0aHViLmNvbS9jbGwvfGlzIGF2YWlsYWJsZV0uCgpTZWUgYWxzbyBbV2hhdCtp cytMb2piYW4lM0YrZXJyYXRhJmJsPXl8V2hhdCBpcyBMb2piYW4/IGVycmF0YV0gKGZvciB0aGUg cHVibGlzaGVkIHZlcnNpb24pLCBMZXZlbCAwIEJvb2tsZXQgRXJyYXRhIFt0aWtpLWVkaXRwYWdl LnBocD9wYWdlPUxldmVsKzArQm9va2xldCtFcnJhdGEmbGFuZz18P10gKGZvciB0aGUgcHJlLXB1 YmxpY2F0aW9uIHJldmlld3M7IG5vdyBmaW5pc2hlZCksIGFuZCBbTGVzc29ucytFcnJhdGEmYmw9 eXxMZXNzb25zIEVycmF0YV0gKGZvciB0aGUgYmVnaW5uZXJzJyBjb3Vyc2UpLgoKVGhlICInJ0lO Q0xVREVEIElOIERBRy1DTEwnJyIgdGFnIG1lYW5zIHRoYXQgaHR0cDovL2RhZy5naXRodWIuY29t L2NsbC8gaW5jbHVkZXMgdGhpcyBmaXgsIHdoaWNoIGFsc28gbWVhbnMgaXQnbGwgcHJvYmFibHkg YmUgaW4gdGhlIG5leHQgQ0xMIHZlcnNpb24uCgotLS0KCiFDaGFwdGVyIDEKCiogVGhlcmUgaXMg YSBwYXJhZ3JhcGggYXQgdGhlIHZlcnkgYmVnaW5uaW5nIG9mIENMTCwgb24gcGFnZSA0LCB3aXRo IHRoZSBzZW50ZW5jZSAnJyJJbiBlc3NlbmNlLCBDaGFwdGVyIDIgZ2l2ZXMgYSBicmllZiBvdmVy dmlldyBvZiB0aGUgbGFuZ3VhZ2UsIENoYXB0ZXIgMjEgZ2l2ZXMgdGhlIGZvcm1hbCBzdHJ1Y3R1 cmUgb2YgdGhlIGxhbmd1YWdlLCBhbmQgdGhlIGNoYXB0ZXJzIGluIGJldHdlZW4gcHV0IHNlbWFu dGljIGJvbmVzIG9uIHRoYXQgZm9ybWFsIGZsZXNoLiInJwoqKiBXb3VsZG4ndCBpdCBtYWtlIG1v cmUgc2Vuc2UgdG8gc2F5ICJwdXQgc2VtYW50aWMgZmxlc2ggb24gdGhvc2UgZm9ybWFsIGJvbmVz Ij8gKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFH LUNMTCcnCgoqIFNlY3Rpb24gNiwgaXQgc2F5cyAiTGFycnkgSG9ybidzIHdvcmsgJydUaGUgTmF0 dXJhbCBIaXN0b3J5IG9mIE5lZ2F0aW9uJyciLiBJdCB3b3VsZCBhcHBlYXIgdGhhdCBldmVyeW9u ZSBlbHNlIGNhbGxzIGl0ICcnX19BX18gTmF0dXJhbCBIaXN0b3J5IG9mIE5lZ2F0aW9uJycsIGJ5 IF9fTGF1cmVuY2VfXyAoUi4pIEhvcm4uCioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcnICh6b3J0 J3MgZm9yayBhdCBsZWFzdCkgYnV0IG5lZWRzIGFwcHJvdmFsCgotLS0KIUNoYXB0ZXIgMgoKKiBT ZWN0aW9uIDUgZXhhbXBsZSA1LjcgdXNlcyAidGkiIHRvIHBvaW50IGF0IGEgbGFuZ3VhZ2UsIGFu ZCBzaG91bGQgaGF2ZSBpdHMgYWNjb21wYW55aW5nIG5vdGUgY2hhbmdlZCB0byBtb3JlIGFjY3Vy YXRlbHkgcmVmbGVjdCB0aGF0IHRoaXMgaXMgbm90IGhvdyAidGkiIHdvcmtzLgoKKiBTZWN0aW9u IDYgRXhhbXBsZSA2LjUgaGFzICJjdSIgYXMgZWxpZGFibGUsIHdoZW4gaW4gZmFjdCBpdCBpcyBz aW1wbHkgaWxsZWdhbCB0aGVyZS4gIFJlbW92ZWQuICAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoq KiB1YW5haSwgSSBzdGlsbCBzZWUgImN1IiBpbiBEQUctQ0xMLgoKKiBTZWN0aW9uIDggcGFnZSAx NyBjbGFpbXMgdGhhdCAieHUiIGlzIGRpc2N1c3NlZCBpbiBzZWN0aW9uIDEuNywgd2hpY2ggaGFw cGVucyB0byBsaXN0IHRoZSBjYXB0aW9ucyBmb3IgYWxsIHRoZSBjaGFwdGVyIHBpY3R1cmVzLgoq KiBJdCBzaG91bGQgcmVmZXIgdG8gU2VjdGlvbiAxNS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293 YW4gQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoqKiogVGhlIGxpbmsgaW4gdGhl IGN1cnJlbnQgREFHLUNMTCBpcyBwb2ludGluZyB0byAiMi8yLzE1IiBpbnN0ZWFkIG9mIHRvICIy LzE1Ii4KCiogU2VjdGlvbiAxMCBzYXlzIHRoYXQgZXhhbXBsZSAxMC4zIChtaSB0YXZsYSBkbyBs ZSB0YXZsYSBrdSkgbWVhbnMgdGhlIHNhbWUgYXMgKG1pIHRhdmxhIGRvIGxlIHRhdmxhIGt1KS4g RXhhbXBsZSAxMC4zIHNob3VsZCBiZSAibWkgdGF2bGEgZG8gbGUgdGF2bGEiLCBhcyBpdCBkZXNj cmliZXMgaG93ICJrdSIgbWF5IGJlIG9taXR0ZWQuCioqIEl0IGFwcGVhcnMgdGhhdCBleGFtcGxl IDEwLjMgaXMgaW5jb3JyZWN0IG9ubHkgaW4gdGhlIG9ubGluZSB2ZXJzaW9uLCBub3QgdGhlIHB1 Ymxpc2hlZCBib29rLgoKKiBTZWN0aW9uIDE3IHNheXMgIk5vdGUgdGhhdCBFeGFtcGxlIDE3LjMg IGhhcyBhbmQgcmVxdWlyZXMgYSDigJxjdeKAnSB0byBwcmV2ZW50IOKAnGJhanJh4oCdIGFuZCDi gJxrbGFtYeKAnSBmcm9tIGZvcm1pbmcgYSB0YW5ydSwgYnV0IEV4YW1wbGUgMTcuNCAgYW5kIEV4 YW1wbGUgMTcuNSAgbGFjayB0aGUgdW5uZWNlc3Nhcnkg4oCcY3XigJ0uIiwgYnV0IGV4YW1wbGUg MTcuMyBpcyAibGEgZGphbi4gfm5wfltjdV1+L25wfiBrbGFtYSBsZSB6YXJjaSIuCioqIEl0IGFw cGVhcnMgdGhhdCB0aGUgb2ZmZW5kaW5nIHNlbnRlbmNlIGlzIHByZXNlbnQgb25seSBpbiB0aGUg b25saW5lIHZlcnNpb24sIG5vdCB0aGUgcHVibGlzaGVkIGJvb2suCgoqIEV4YW1wbGUgMTcuOSBp cyAibGUgdmkgdGF2bGEga3UgY3UgYmEga2xhbWEiIGluIHRoZSBvbmxpbmUgdmVyc2lvbiwgYW5k IHRvdGFsbHkgYnJva2VuIGluIHRoZSBwdWJsaXNoZWQgYm9vay4KKiogR28gd2l0aCB0aGUgb25s aW5lIHZlcnNpb24uICAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJ TkNMVURFRCBJTiBEQUctQ0xMJycKCi0tLQoKISBDaGFwdGVyIDMKCkEgbG90IG9mIHRoZSBJUEEg ZXhhbXBsZXMgdXNlIGEgc3BhY2UgdG8gaW5kaWNhdGUgYSBzeWxsYWJsZSBicmVhay4gVGhpcyBp cyBub3Qgc3RhbmRhcmQgSVBBIHVzYWdlOyBhY2NvcmRpbmcgdG8gSVBBLCB0aGUgcGVyaW9kIOKA nC7igJ0gc2hvdWxkIGJlIHVzZWQgdG8gaW5kaWNhdGUgYSBzeWxsYWJsZSBkaXZpc2lvbi4KCiog U2VjdGlvbiAyLCBwYWdlIDMwOiBpbiB0aGUgdGFibGUgdGhlIGRlc2NyaXB0aW9uIG9mICJhcG9z dHJvcGhlIiBzaG91bGQgcmVhZCAiYW4gdW52b2ljZWQgZ2xvdHRhbCBzcGlyYW50Iiwgbm90ICJh IHVudm9pY2VkIi4KKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcn SU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gMiwgZGlnaXRhbCB2ZXJzaW9uLiAgVGhl IElQQSB0YWJsZSBnb3QgaG9ycmlibHkgbWFuZ2xlZCBzb21ld2hlcmUgYWxvbmcgdGhlIHdheS4g IEl0IHNob3VsZCBsb29rIGxpa2UgKFNBTVBBIGNvbHVtbiBhZGRlZCk6Cgp8fCBMZXR0ZXIgfCBJ UEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFNBTVBBICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBEZXNjcmlwdGlvbiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgCiAnICAgICAgfCBbaF0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IFtoXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCBhbiB1bnZvaWNlZCBnbG90dGFsIHNwaXJhbnQgICAgICAgICAgICAgICAgICAg ICAgCiAsICAgICAgfCAtLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IC0t LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0aGUgc3lsbGFi bGUgc2VwYXJhdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAuICAgICAgfCBbypRdICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbP10gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSBnbG90dGFsIHN0b3Agb3IgYSBwYXVzZSAgICAg ICAgICAgICAgICAgICAgICAgIAogYSAgICAgIHwgW2FdLCBbyZFdICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgW2FdLCBbQV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8IGFuIG9wZW4gdm93ZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK IGIgICAgICB8IFtiXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW2JdICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9pY2VkIGJpbGFi aWFsIHN0b3AgICAgICAgICAgICAgICAgICAgICAgICAgICAKIGMgICAgICB8IFvKg10sIFvKgl0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbU10sIFtzYF0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgYW4gdW52b2ljZWQgcG9zdGFsdmVvbGFyIGZyaWNhdGl2 ZSAgICAgICAgICAgICAgICAgICAgIAogZCAgICAgIHwgW2RdICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCBbZF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgYSB2b2ljZWQgZGVudGFsL2FsdmVvbGFyIHN0b3AgICAgICAgICAgICAgICAgICAg IAogZSAgICAgIHwgW8mbXSwgW2VdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW0Vd LCBbZV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgZnJvbnQgbWlk IHZvd2VsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKIGYgICAgICB8IFtmXSwgW8m4 XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtmXSwgW3BcXSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCBhbiB1bnZvaWNlZCBsYWJpYWwgZnJpY2F0aXZlICAg ICAgICAgICAgICAgICAgICAgCiBnICAgICAgfCBbyaFdICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCBbZ10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgYSB2b2ljZWQgdmVsYXIgc3RvcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog aSAgICAgIHwgW2ldICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbaV0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSBmcm9udCBjbG9zZSB2 b3dlbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogaiAgICAgIHwgW8qSXSwgW8qQXSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtaXSwgW3pgXSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCBhIHZvaWNlZCBwb3N0YWx2ZW9sYXIgZnJpY2F0aXZlICAg ICAgICAgICAgICAgICAgICAgICAgCiBrICAgICAgfCBba10gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8IFtrXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCBhbiB1bnZvaWNlZCB2ZWxhciBzdG9wICAgICAgICAgICAgICAgICAgICAgICAgICAg CiBsICAgICAgfCBbbF0sIFtszKldICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW2xd LCBbbD1dICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9pY2VkIGxh dGVyYWwgYXBwcm94aW1hbnQgKG1heSBiZSBzeWxsYWJpYykgICAKIG0gICAgICB8IFttXSwgW23M qV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbbV0sIFttPV0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSB2b2ljZWQgYmlsYWJpYWwgbmFzYWwgKG1heSBi ZSBzeWxsYWJpYykgICAgICAgIAogbiAgICAgIHwgW25dLCBbbsypXSwgW8WLXSwgW8WLzKldICAg ICAgICAgICAgICAgICAgICAgfCBbbl0sIFtuPV0sIFtOXSwgW049XSAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgYSB2b2ljZWQgZGVudGFsIG9yIHZlbGFyIG5hc2FsIChtYXkgYmUgc3lsbGFi aWMpIAogbyAgICAgIHwgW29dLCBbyZRdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg W29dLCBbT10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgYmFjayBt aWQgdm93ZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKIHAgICAgICB8IFtwXSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW3BdICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8IGFuIHVudm9pY2VkIGJpbGFiaWFsIHN0b3AgICAg ICAgICAgICAgICAgICAgICAgICAKIHIgICAgICB8IFtyXSwgW8m5XSwgW8m+XSwgW8qAXSwgW3LM qV0sIFvJucypXSwgW8m+zKldLCBbyoDMqV0gfCBbcl0sIFtyXF0sIFs0XSwgW1JcXSwgW3I9XSwg W3JcPV0sIFs0PV0sIFtSXD1dIHwgYSByaG90aWMgc291bmQgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIAogcyAgICAgIHwgW3NdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCBbc10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg YW4gdW52b2ljZWQgYWx2ZW9sYXIgc2liaWxhbnQgICAgICAgICAgICAgICAgICAgIAogdCAgICAg IHwgW3RdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbdF0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4gdW52b2ljZWQgZGVudGFsL2Fs dmVvbGFyIHN0b3AgICAgICAgICAgICAgICAgIAogdSAgICAgIHwgW3VdICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCBbdV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgYSBiYWNrIGNsb3NlIHZvd2VsICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIAogdiAgICAgIHwgW3ZdLCBbzrJdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgW3ZdLCBbQl0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9p Y2VkIGxhYmlhbCBmcmljYXRpdmUgICAgICAgICAgICAgICAgICAgICAgCiB4ICAgICAgfCBbeF0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFt4XSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhbiB1bnZvaWNlZCB2ZWxhciBmcmljYXRpdmUg ICAgICAgICAgICAgICAgICAgICAgCiB5ICAgICAgfCBbyZldICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCBbQF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgYSBjZW50cmFsIG1pZCB2b3dlbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IAogeiAgICAgIHwgW3pdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbel0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSB2b2ljZWQgYWx2 ZW9sYXIgc2liaWxhbnQgICAgICAgICAgICAgICAgICAgICAgIHx8CgoqKiBTb3J0LW9mICgoQXBw cm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKTsgd2hhdCBJIGFjdHVhbGx5IGRpZCBp cyBoYWQgQXJudCByZXZpZXcgd2hhdCBzb21lb25lIGVudGVyZWQgaW4gREFHLUNMTCwgd2hpY2gg cHJlc3VtYWJseSB3YXMgYmFzZWQgb24gdGhlIGFib3ZlLiAgJydJTkNMVURFRCBJTiBEQUctQ0xM JycKCiogU2VjdGlvbiAyLCBwYWdlIDMwLiBmb3IgdGhlIHNlY29uZCBlbmcgKGltbWVkaWF0ZWx5 IHRvIHRoZSBsZWZ0IG9mICIobWF5IGJlIHN5bGxhYmljKSIpIHRoZSBzeWxsYWJpY2l0eSBtYXJr ZXIgaXMgY29uY2VhbGVkIGJ5IHRoZSByaWdodCB0YWlsLgoqKiBJIGNhbiBqdXN0IGJhcmVseSBz ZWUgdGhlIG1hcmtlciB1bmRlciBhIGdvb2QgbGlnaHQuICAgKChBcHByb3ZlZCBFcnJhdHVtfGpj b3dhbiBBcHByb3ZlZCkpCioqKiBGb3IgZnV0dXJlIGVkaXRpb25zIDotKSAsIG5vdGUgdGhhdCB0 aGUgSVBBIGFwcHJvdmVzIHB1dHRpbmcgZGlhY3JpdGljcyBhYm92ZSByYXRoZXIgdGhhbiBiZWxv dyB0aGUgbGV0dGVyIGluIGNhc2VzIGxpa2UgdGhlc2UuIFVuZm9ydHVuYXRlbHksIHRoZSBmb250 cyBoaXRoZXJ0byBhdmFpbGFibGUgaGF2ZSBub3QgbWFkZSB0aGlzIGZhY2lsaXR5IGF2YWlsYWJs ZSwgc28gb3V0c2lkZSB0aGUgam91cm5hbCBvZiB0aGUgSVBBIGl0c2VsZiwgc3VjaCBvdmVyLWRp YWNyaXRpY3MgYXJlIHNlbGRvbSBzZWVuLiDigJQgbml0Y2lvbgoKKiBJbiBzZWN0aW9uIDMuMiwg dGhlIGNvbW1hIHNob3VsZCAocHJvYmFibHkpIGJlIHJlcHJlc2VudGVkIGJ5IHRoZSBJUEEgbm90 YXRpb24gWy58Ll0sIGFzIHRoZSBwZXJpb2QgaXMgdXNlZCBpbiBJUEEgdG8gZGVub3RlIHN5bGxh YmxlIGJyZWFrcy4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiBTZWN0 aW9uIDIsIHBhZ2UgMzAuIEZvciB0aGUgTG9qYmFuIHBob25lbWUgL3IvLCB0aGUgSVBBIHN5bWJv bCBmb3IgYSBkZW50YWwvYWx2ZW9sYXIgdm9pY2VkIGFwaWNhbCB0YXAgaXMgZ2l2ZW4gd2l0aCBh IHN5bGxhYmljaXR5IG1hcmtlciBiZWxvdy4gQSB0YXAgY2FuJ3QgYmUgc3lsbGFiaWMsIGJlY2F1 c2UgaXQgaXMgYnkgZGVmaW5pdGlvbiBpbnN0YW50YW5lb3VzLiAgKChBcHByb3ZlZCBFcnJhdHVt fGpjb3dhbiBBcHByb3ZlZCkpIEp1c3QgcmVtb3ZlIHRoYXQgY2FzZSBhbHRvZ2V0aGVyLgoKKiBT ZWN0aW9uIDIuICBUaGUgZGVzY3JpcHRpb25zIG9mICcnYycnIGFuZCAnJ2onJyBhcmUgbGlzdGVk IGFzICJjb3JvbmFsIHNpYmlsYW50InMuICBUaGUgZGVzY3JpcHRpb25zIHNob3VsZCByZWFkICJ2 b2ljZWxlc3MgcG9zdGFsdmVvbGFyIGZyaWNhdGl2ZSIgYW5kICJ2b2ljZWQgcG9zdGFsdmVvbGFy IGZyaWNhdGl2ZSIsIHJlc3BlY3RpdmVseS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBw cm92ZWQpKQoKKiBTZWN0aW9uIDMsIHRoaXJkIHBhcmFncmFwaCAocGFnZSAzMSk6ICJhIHVudm9p Y2VkIHZvd2VsIGdsaWRlIiBzaG91bGQgYmUgImFuIHVudm9pY2VkIHZvd2VsIGdsaWRlIi4KKiog KChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFH LUNMTCcnCgoqIFNlY3Rpb24gNiwgcGFnZSAzNi4gSVBBIGZvciB0aGUgdW5hY2NlcHRhYmxlIEFt ZXJpY2FuIGZsYXAgdmFyaWFudCBvZiBpbnRlcnZvY2FsaWMgJyd0Jycgc2hvd3MgdGhlIEdBICcn cicnIHNvdW5kICh1cHNpZGUtZG93biByKSBpbnN0ZWFkIG9mIHRoZSBmbGFwIChsaWtlIGFuIHIg d2l0aCBubyB2ZXJ0aWNhbCBiaXQgYXQgdGhlIHRvcCDigJQgc2VlIHRoZSBsaXN0IG9mIGFjY2Vw dGlibGUgJydyJycgdmFyaWFudHMgb24gb24gcGFnZSA0NCB3aGVyZSBpdCBhcHBlYXJzIGNvcnJl Y3RseSkgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoqKiAoKEFwcHJvdmVk IEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiog U2VjdGlvbiA2LCBwYWdlIDM2LiAoU2FtZSBhcyBwcmV2aW91cyBlcnJhdHVtKSBUaGUgY29uc29u YW50IGlzIHJlZmVycmVkIHRvIGFzIGEgZmxhcCwgd2hpbGUgaXQgaXMgYWN0dWFsbHkgYSB0YXAu ICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiA3LiBJbiBi ZXR3ZWVuIHRoZSBzaGFkZWQgYm94ZXMsICJhIHBhaXJpbmcgb2Ygdm9pY2VkIGFuZCB1bnZvaWNl ZCBlcXVpdmFsZW50IHZvd2VscyIgc2hvdWxkIHJlYWQgImEgcGFpcmluZyBvZiB2b2ljZWQgYW5k IHVudm9pY2VkIGVxdWl2YWxlbnQgY29uc29uYW50cyIuCgoqIFNlY3Rpb24gOCwgcGFnZSAzOC4g SVBBIGZvciBwcm9udW5jaWF0aW9uIG9mICJ4YXBja2UiIGhhcyBjIHdoZXJlIGl0IHNob3VsZCBo YXZlIFMgKGxvbmcgcykuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiog U2VjdGlvbiA5LCBwYWdlIDQwLiBJUEEgZm9yIHByb251bmNpYXRpb24gb2YgImRpa3lqdm8iIGhh cyBqIHdoZXJlIGl0IHNob3VsZCBoYXZlIFogKHRoYXQgbGl0dGxlIHNjcmlwdCB6IHRoaW5nKSAg KChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCioqICgoQXBwcm92ZWQgRXJyYXR1 bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9u IDEyLCBwYWdlIDQ2LiBXaGF0IHNob3VsZCBiZSB0aGUgQ3lyaWxsaWMgbGV0dGVyIDsgaXMgcHJp bnRlZCBhcyBzb21ldGhpbmcgdGhhdCBsb29rcyBsaWtlIHRoZSBHcmVlayBsZXR0ZXIgLiBJcyB0 aGlzIG9ubHkgYSB0eXBvZ3JhcGhpY2FsIHZhcmlhbnQgb2YgdGhlIDssIG9yIGlzIGl0IGEgdmFy aWFudD8KCioqIFRoaXMgZXJyYXR1bSBpcyBpbmRlY2lwaGVyYWJsZSBhbmQgc2hvdWxkIGJlIGRy b3BwZWQsIHVubGVzcyBzb21lb25lIGNhbiByZWNvbnN0cnVjdCBpdC4gIFRoZSBDeXJpbGxpYyBs ZXR0ZXJzIGxvb2sgZmluZS4gIC0tamNvd2FuCgoqIFNlY3Rpb24gMTIsIHBhZ2UgNDYuIFJlcGxh Y2UgdGhlIHdvcmRzICJ0aGUgaGFyZCBzaWduIiB3aXRoIGFuIGFjdHVhbCBoYXJkIHNpZ24sIFUr MDQ0QSBDWVJJTExJQyBTTUFMTCBMRVRURVIgSEFSRCBTSUdOLgoKKiBTZWN0aW9uIDEyLCBwYWdl IDQ3LiAiYXJlLyJlc3NlIiBzaG91bGQgcHJvYmFibHkgYmUgImFyZSIvImVzc2UiICh0aGUgYWN1 dGUgb24gdGhlIGEgbWF5IG9yIG1heSBub3QgaGF2ZSBiZWVuIGxlZnQgb2ZmLCBidXQgdGhlIGNs b3NpbmcgcXVvdGUgYWZ0ZXIgYXJlIGlzIGRlZmluYXRlbHkgbWlzc2luZy4pCioqIE15IGNvcHkg c2hvd3MgdGhlIGFjdXRlLgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVk KSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCi0tLQoKIUNoYXB0ZXIgNAoKKiBTZWN0aW9uIDQs IHBhZ2UgNTQuIFRoZSBib29rIHN0YXRlcyB0aGF0IGZ1J2l2bGEgd2l0aCBhIGZvcm0gbGlrZSAn J3NwYSdpJycgYXJlIHZhbGlkLiBUaGV5IGFyZSBub3QsIHRoZXkgZmFpbCB0aGUgc2xpbmt1J2kg dGVzdC4gKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4g REFHLUNMTCcnCgoqIFNlY3Rpb24gNiwgcCA1OCwgIi1sYWMiIGluIHRoZSB0aGlyZCB0YWJsZSBp biB0aGF0IHNlY3Rpb24gc2hvdWxkIGJlICItbGFjLSIKCiogU2VjdGlvbiA2LCBpdCBzYXlzICJN b3N0IGNtYXZvIHRoYXQgaGF2ZSByYWZzaSBhcmUgb25lcyB1c2VkIGluIGNvbXBvc2luZyB0YW5y dSAoZm9yIGEgY29tcGxldGUgbGlzdCwgc2VlIENoYXB0ZXIgMTIpIiwgYnV0IHRoZXJlIGlzIG5v IHN1Y2ggbGlzdCBpbiBDaGFwdGVyIDEyLCBvciBhbnl3aGVyZSBpbiB0aGUgYm9vayAoanUnb3Nh aSkuIFBlcmhhcHMgaXQgd2FudHMgdG8gcG9pbnQgdG8gdGhlIGxpc3Qgb2YgUEEgcmFmc2kgaW4g Q2hhcHRlciAxOCBzZWN0aW9uIDI1PyBPciB0byB0aGUgbGlzdHMgb2YgdGFucnUgaW4gQ2hhcHRl ciA1IHNlY3Rpb25zIDE0IGFuZCAxNT8KKiogV2hhdCBJIHByb2JhYmx5IG1lYW50IHdhcyB0aGF0 IENoYXB0ZXIgMTIsIHRha2VuIGFzIGEgd2hvbGUsIGRpc2N1c3NlcyB0aGUgY21hdm8gdXNlZCBp biBjb25zdHJ1Y3RpbmcgdGFucnUuICBJIGRvbid0IHRoaW5rIGFueSBzcGVjaWZpYyBsaXN0IGV2 ZXIgZXhpc3RlZC4gIEknZCBqdXN0IGRyb3AgdGhlIHBhcmVudGhldGljYWwgc2VudGVuY2UuCgoq IFNlY3Rpb24gNiwganVzdCBhZnRlciBleGFtcGxlIDYuOS4gSXQgc2F5cyAic29tZSBvZiB0aGUg dW5yZWR1Y2VkIGZvcm1zIGluIHRoZSBwcmV2aW91cyBleGFtcGxlIiwgYnV0IGl0IGlzIG5vdCBy ZWZlcnJpbmcgdG8gdGhlIHByZXZpb3VzIGV4YW1wbGU6IGl0IGlzIHJlZmVycmluZyBhbGwgdGhl IHdheSBiYWNrIHRvIGV4YW1wbGVzIDYuMSBhbmQgNi4yLCBzbyBpdCBzaG91bGQgYmUgInNvbWUg b2YgdGhlIHVucmVkdWNlZCBmb3JtcyBpbiB0aGUgcHJldmlvdXMgZXhhbXBsZV9fc19fIi4KKiog JydJTkNMVURFRCBJTiBEQUctQ0xMJycgKHpvcnQncyBmb3JrIGF0IGxlYXN0KQooQXBwcm92ZWQg RXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSAgUmVmZXIgZXhwbGljaXRseSB0byA2LjEgYW5kIDYu MgoKKiBTZWN0aW9uIDcsIHBhZ2UgNjAuIEluIGV4YW1wbGUgNi4xNiwgdGhlIHdvcmQgInhhcm55 a2FyY2UiIGlzIGdsb3NzZWQgYXMgIndhci1jYXIiLiBFaXRoZXIgdGhlIGdsb3NzIHNob3VsZCBi ZSB1cGRhdGVkIHRvIHJlZmxlY3QgdGhlIHZlbGp2byAoInN0dWJib3JuLWNhciIpLCBvciB0aGUg bHVqdm8gc2hvdWxkIGJlIHVwZGF0ZWQgdG8gcmVmbGVjdCB0aGUgZ2xvc3MgImphbWthcmNlIgoq KiBUaGUgbGF0dGVyICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lO Q0xVREVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDcsIG1ha2luZyBhIHR5cGUgMyBmdSdpdmxh LCBzdGVwIDUgc2hvdWxkIHJlYWQgInN0ZXBzIDEtNCIsIG5vdCAic3RlcHMgMS01Ii4gICgoQXBw cm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiBTZWN0aW9uIDcsIHN0ZXAgNSBvZiB0 aGUgU3RhZ2UgMyBmdSdpdmxhOiAiaWYgdGhlIHJhZnNpIGVuZHMgaW4gJydyJycgYW5kIHRoZSBy ZXN0IG9mIHRoZSBmdSdpdmxhIGJlZ2lucyB3aXRoICcnbicnIChvciB2aWNlIHZlcnNhKSB1c2Ug YW4gJydsJyctaHlwaGVuIiBzaG91bGQgcmVhZCAgImlmIHRoZSByYWZzaSBlbmRzIGluICcncicn IGFuZCB0aGUgcmVzdCBvZiB0aGUgZnUnaXZsYSBiZWdpbnMgd2l0aCAnJ24nJywgJyd0YycnLCAn J3RzJycsICcnZHonJyBvciAnJ2RqJycsIG9yIHRoZSByYWZzaSBlbmRzIGluICcnbicnIGFuZCB0 aGUgcmVzdCBvZiB0aGUgZnUnaXZsYSBiZWdpbnMgd2l0aCAnJ3InJyB1c2UgYW4gJydsJyctaHlw aGVuIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiBUaGUgZW5kIG9m IHNlY3Rpb24gNyBzZWVtcyB0byBpbXBseSB0aGF0IGNtZW5lIGFyZSBleGVtcHQgZnJvbSB0aGUg bm9ybWFsIHJlc3RyaWN0aW9ucyBvbiBjb25zb25hbnQgY2x1c3RlcnMgYXMgbG9uZyBhcyBlYWNo IGNvbnNvbmFudCBwYWlyIGlzIHZhbGlkLgoKKiBTZWN0aW9uIDguIEV4YW1wbGUgOC4xMCAnJ2Rq YW5kam9ueicnIGlzIG5vdCB2YWxpZCBsb2piYW4gYXMgaXQgY29udGFpbnMgdGhlIGZvcmJpZGRl biBjb25zb25hbnQgc2VxdWVuY2UgYG5kamAuICAgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4g QXBwcm92ZWQpKSAgUmVwbGFjZSB3aXRoIGEgZGlmZmVyZW50IG5hbWUuCioqIFJlcGxhY2luZyB3 aXRoICJKb2huIEJyb3duIiBhcyAiZGphbmJyYXVuIi4gLS1ybHBvd2VsbCAnJ0lOQ0xVREVEIElO IERBRy1DTEwnJwoKKiBTZWN0aW9uIDgsIHBhZ2UgNjYuIEV4YW1wbGUgOC4xMi4gU2F5cyB0aGF0 IHRoZSBnaXNtdSAic29scmkiIG1lYW5zICJhY3R1YWxseSwgJ3BlcnRhaW5pbmcgdG8gdGhlIHN1 biciLiBUaGlzIGlzIGZhbHNlLiBBY2NvcmRpbmcgdG8gdGhlIGdpc211IGxpc3QsIGl0IG1lYW5z ICcnaXMnJ2Egc3VuLgoqKiBMZWF2ZSB0aGlzIG9uZSBhbG9uZS4gIEFzIGEgc2VsdGF1LCAic29s cmkiIGRvZXMgaW5kZWVkIG1lYW4gInNvbGFyIi4gIC0tamNvd2FuCgoqIFNlY3Rpb24gMTEsIDVh KSAnJ0V4YW1pbmUgYWxsIHRoZSBDL0MgY29uc29uYW50IHBhaXJzIHRoYXQgam9pbiB0aGUgQ1ZD IHJhZnNpLCBhbmQgYWxzbyB0aGUgcGFpciBiZXR3ZWVuIHRoZSBsYXN0IENWQyBhbmQgdGhlIFgg cG9ydGlvbiwgaWdub3JpbmcgYW55ICJ5Ii1oeXBoZW4gYmVmb3JlIHRoZSBYLicnIHNob3VsZCBy ZWFkIGluc3RlYWQ6ICcnRXhhbWluZSBhbGwgdGhlIEMvQyBjb25zb25hbnQgcGFpcnMgdXAgdG8g dGhlIGZpcnN0ICJ5Ii1oeXBoZW4sIG9yIHVwIHRvIHRoZSBlbmQgb2YgdGhlIHdvcmQgaW4gY2Fz ZSB0aGVyZSBhcmUgbm8gInkiLWh5cGhlbnMuJycKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1 c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gMTIuIElu IEV4YW1wbGVzIDEyLjIsIDEyLjMgYW5kIDEyLjQgdGhlIGNhbGN1bGF0aW9ucyBhcmUgZ2l2ZW4g YXMgMzI1MDAgbWludXMgdGhlIHNjb3JlLCBpbnN0ZWFkIG9mIHNpbXBseSB0aGUgc2NvcmUuIChQ cm9iYWJseSBmcm9tIHByZXZpb3VzIHZlcnNpb25zIG9mIHRoZSBhbGdvcml0aG0uKSAgICAoKEFw cHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiAxMywgcGFnZSA3NCwg dGhpcmQgdGFibGU6IHRoZXJlIGlzIG5vIHNwYWNlIGJldHdlZW4gImxvamJhdWdyaSIgYW5kICJs b2piYW5neWdyaSIsIHNvIHRoYXQgdGhleSBhcmUgcnVuIGludG8gb25lIHdvcmQgaW4gdGhlIHNl Y29uZCBjb2x1bW4gb2YgdGhlIHRhYmxlLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHBy b3ZlZCkpCgoqIFNlY3Rpb24gMTUgc3RhdGVzIHRoYXQgImR6aXBvIiBjb21lcyBmcm9tICJjYWR6 dSBjaXBuaSIgKCJ3YWxraW5nIGJpcmQiKS4gIFRoaXMgZmFpbHMgdG8gbWFrZSBzZW5zZSBlaXRo ZXIgZXR5bW9sb2dpY2FsbHkgb3Igc2VtYW50aWNhbGx5IChJZiB0aGUgbmFtZSByZWZlcnMgdG8g cGVuZ3VpbnMsIHRoZXJlIGFyZSBhIGxvdCBvZiBvdGhlciBmZWF0dXJlcyBvZiBBbnRhcmN0aWNh IHRoYXQgYXJlIG1vcmUgcHJvbWluZW50IGFuZCBub3Qgc2hhcmVkIGJ5IG90aGVyIHBsYWNlcyku ICBJIHN1c3BlY3QgdGhhdCB0aGUgd29yZCBtYXkgYWN0dWFsbHkgY29tZSBmcm9tICJkaXpsbyBk YXBsdSIgKCJsb3cgaXNsYW5kIiksIHdoaWNoIGlzIGEgc29tZXdoYXQgbW9yZSByZWFzb25hYmxl IG5hbWUuCioqIE5vdCBhbiBlcnJhdHVtLCB0aGUgd29yZCByZWFsbHkgZG9lcyBjb21lIGZyb20g ImNhRFp1IGNJUG5pIi4gVGhhdCBpdCBmYWlscyB0byBtYWtlIHNlbnNlIGRvZXNuJ3QgY2hhbmdl IHRoZSBmYWN0IHRoYXQgdGhhdCBpcyBob3cgdGhleSBjb25zdHJ1Y3RlZCBpdC4gVGhlIGV0eW1v bG9naWVzIG9mICJiZW1ybyIgYW5kICJrZXRjbyIgbWFrZSBldmVuIGxlc3Mgc2Vuc2UsIGJ5IHRo ZSB3YXkuCioqKiBDb3JyZWN0LCBidXQgdGhlIGV0eW1vbG9naWVzIGFyZSB3aGF0IHRoZXkgYXJl LiAgLS1qY293YW4KCi0tLQoKIUNoYXB0ZXIgNQoKKiBTZWN0aW9uIDYsIGV4YW1wbGUgNi4xNTog SXQgc2F5cyB7eGFtZ3Ugam8gY29ydHUgbnVudGF2bGF9LCBhbmQgdGhlIGdsb3NzIHNheXMgeyhn b29kIGlmLWFuZC1vbmx5LWlmIHNob3J0KSBzcGVlY2h9LCBidXQge2NvcnR1fSBtZWFucyAiaHVy dCIsIG5vdCAic2hvcnQiLgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJyAgKGNoYW5nZWQgdG8g e3RvcmR1fSkgKGluIHpvcnQncyBmb3JrIGF0IGxlYXN0KSAoKEFwcHJvdmVkIEVycmF0dW18amNv d2FuIEFwcHJvdmVkKSkKCiogRXhhbXBsZSA2LjE2OiB2YWpuaSBqdSBzZWxwbHVrYSBudW50YXZs YSAsICAoaW1wb3J0YW50IHdoZXRoZXItb3Itbm90IHBsZWFzaW5nKSBldmVudC1vZi10YWxraW5n CioqIFNob3VsZCBiZSBwbHVrYSwgbm90IHNlbHBsdWthLiAgKChBcHByb3ZlZCBFcnJhdHVtfGNh bWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gOCBz YXlzICJpbnZvbHZpbmcgc2VsbWEnbyBWT2hBIGFuZCBHT2hJLCBleHBsYWluZWQgaW4gQ2hhcHRl ciA3IiwgYnV0IFZPaEEgZG9lc24ndCBhcHBlYXIgaW4gQ2hhcHRlciA3LiBWT2hBIGRvZXNuJ3Qg ZXZlbiBzZWVtIHRvIGJlIGEgc2VsbWEnbywgZm9yIHRoYXQgbWF0dGVyLiBBbHNvLCBwcm9iYWJs eSBHT2hJIHNob3VsZCBiZSBHT2hBPwoKKiBTZWN0aW9uIDgsIHBhZ2UgOTYvOTc6IEV4YW1wbGUg OC4xMyBuZWVkcyBzb21lIGtpbmQgb2YgdGVybWluYXRvciAobGlrZSAiYmUnbyIpIGJlZm9yZSB0 aGUgImNvIi4gICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogQWxzbywg dGhlIHByZWNlZGluZyBwYXJhZ3JhcGggc3VnZ2VzdHMgdGhhdCAiYmUiIGlzIHRoZSBvbmx5IHdh eSB0byBmaWxsIHNlbGJyaSBwbGFjZXMgb3RoZXIgdGhhbiB4MS4gVGhpcyBpcyBub3QgdGhlIGNh c2U6ICJtaSBsZSB6YXJjaSBjdSBrbGFtYSBjbyBzdXRyYSIgd291bGQgYWxzCm8gd29yay4KKiog SSBkb24ndCBhZ3JlZSB0aGF0IHRoZXJlJ3MgYW55IHN1Y2ggc3VnZ2VzdGlvbiwgYWx0aG91Z2gg YWRkaW5nIGEgc2Vjb25kIHBvc3NpYmlsaXR5IGlzIGZpbmUgd2l0aCBtZS4gIC0tamNvd2FuCgoq IFNlY3Rpb24gOSBsaXN0cyAia2VpIiBhcyB0aGUgdGVybWluYXRvciBmb3IgbnUsIGJ1dCBpdCdz IG5vdCBvbmx5IGZvciBudSwgYnV0IGZvciBhbGwgb2YgTlUuICAoKEFwcHJvdmVkIEVycmF0dW18 amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiAxNCwgcGFnZSAxMDQgc2F5cyAiZGFkeWxzaSIg Zm9yICJkYWR5c2xpIi4KKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkp ICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMTA1IHVzZXMgInpk YW5pIGxpamdyaSIgaW4gdGhlIGV4YW1wbGUgbGlzdCwgYnV0IHRoZSBwYXJhZ3JhcGggYWZ0ZXIs IGFzIHdlbGwgYXMgdGhlIG5leHQgbGlzdCwgcmVmZXIgdG8gInpkYW5pIGxpbmppIiBhbmQgImxp bmppIHpkYW5pIi4KCiogU2VjdGlvbiAxNCwgcGFnZSAxMDUgaGFzIHRoZSBsdWp2byAiY3B1bWkn aSIgYnV0IGRlZmluZXMgaXQgYXQgdGhlIGJvdHRvbSBvZiB0aGUgc2V0IGFzICJjcGFtaSdpIi4K KiogY3VhbWknaSBzIHB1bGwtbWFjaGluZSwgc28gdXNpbmcgdGhhdCAoKEFwcHJvdmVkIEVycmF0 dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlv biAxNCwgcGFnZSAxMDYgc2F5cyAicGxpc2UgdGFwbGEiIGZvciAiYXBwbGUgY2FrZSIuIERvZXMg VHVya2lzaCByZWFsbHkgcmVmZXIgdG8gYSBjYWtlIGFzIGEgdGlsZSwgb3IgaXMgdGhpcyBhIG1p c3VuZGVyc3RhbmRpbmcgb2YgdGhlIGRlZmluaXRpb24gb2YgInRhcGxhIj8KKiogTm8sIGl0J3Mg dGhhdCB7dGFwbGF9IGNhbiBtZWFuIGJvdGggY2FrZSBhbmQgdGlsZSwgYXMgdGhlIGdpc211IGxp c3Qgc2hvd3M7IGl0J3MgYSBnZW5lcmljIHdvcmQgZm9yIGEgZmxhdCAzLUQgc2hhcGUsIG9yIHNo b3J0IGN5bGluZGVyLiAgU3RldC4gIC0tamNvd2FuCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMTA4IHNh eXMgInR1bWxhIHNwaXNhIi4gVGhpcyBzaG91bGQgcHJvYmFibHkgYmUgInR1bWxhIHBhZ2J1Iiwg c2luY2UgcGllY2VzIG9mIGxhbmQgYXJlIG5vdCBhY3R1YWxseSBkZXRhY2hlZC4KKiogV2hhdCBt YWtlcyB5b3UgdGhpbmsgdGhhdCBzcGlzYSBoYXZlIHRvIGJlIGRldGFjaGVkPyAgU3RldC4gIC0t amNvd2FuCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMTA5IHNheXMgInJvc3R1IG1vanlzdSdhIi4gInJv c3R1IiBpcyBub3QgYSBMb2piYW4gZ2lzbXUsIG5vciBhbiBPbGQgTG9nbGFuIHByaW1pdGl2ZS4g SXQncyBzdXBwb3NlZCB0byBiZSAibXJvc3QKdSIuCioqICJNcm9zdHUiIGlzIGNvcnJlY3QsIGFu ZCB0aGF0J3MgdGhlIHJlYWRpbmcgb2YgdGhlIG9ubGluZSB2ZXJzaW9uLiAgKChBcHByb3ZlZCBF cnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqIFNlY3Rpb24gMTQsICJudW5raWxicmEiIGlzIGNs ZWFybHkgbm90ICJzaGFycGVuZXIiLCBhbmQgZXZlbiBpZiBpdCB3YXMgdXNpbmcgdGhlIHJpZ2h0 IHJhZnNpIGZvciBjYWJyYSwgdGhhdCBzdHJpa2VzIG1lIGFzIGEgcHJldHR5IGNyYXBweSBsdWp2 bzsgbmVlZHMgemVuYmEgb3Igem1hZHUgb3IgYmlueG8gb3Igc29tZXRoaW5nLgoKKiBTZWN0aW9u IDE0LCBwYWdlIDExMiBsaXN0cyBudW1lcm91cyB0YW5ydSBleGFtcGxlcyB3aG9zZSBtZWFuaW5n cyBhcmUgaHlwZXJueW1zIG9mIHRoZSB0ZXJ0YXUgaW5zdGVhZCBvZiBoeXBvbnltcy4gVGhpcyBj b250cmFkaWN0cyB0aGUgcHJpbWFyaW5lc3Mgb2YgdGhlIHRlcnRhdSBhcyBkZWZpbmVkIG9uIHBh Z2UgODQuIFRoZSB3b3JkICJqYSIgc2hvdWxkIHByb2JhYmx5IGJlIGluc2VydGVkIGJldHdlZW4g dGhlIGNvbnN0aXR1ZW50cywgb3IgdGhlIGVudGlyZSBzZWN0aW9uIHNob3VsZCBiZSByZW1vdmVk LgoqKiBTdGV0LiAgTGlvbnMgY2FuJ3QgYmUgbWFkZSBvZiBzdG9uZSwgYnV0IHtyb2tjaSBjaW5m b30gaXMgYSBsZWdpdGltYXRlIHRhbnJ1IG5vbmV0aGVsZXNzLiAgLS1qY293YW4KCi0tLQoKIUNo YXB0ZXIgNgoKKiBFbmQgb2Ygc2VjdGlvbiAyLCBpdCBzYXlzICJjb21wb3VuZCBuZWdhdG9yIGBg bmFrdScnIChkaXNjdXNzZWQgaW4gQ2hhcHRlciAxNSkiLCBidXQgIm5ha3UiIGlzIG5ldmVyIG1l bnRpb25lZCBpbiBjaGFwdGVyIDE1OyBpbmRlZWQsIHRoZSBvbmx5IHVzZXMgb2YgdGhlIHdvcmQg e2t1fSBhdCBhbGwgYXJlIGFmdGVyIHRoZSB3b3JkcyB7amkndX0gb3Ige25hJ2l9LiBDaGFwdGVy IDE2IHRhbGtzIGFib3V0IHtuYWt1fS4KKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycgKHpvcnQn cyBmb3JrIGF0IGxlYXN0KSBidXQgbmVlZHMgYXBwcm92YWwKCiogU2VjdGlvbiAxMiwgcC4gMTM4 IGNsYWltcyB0aGF0IHRoZSBzdW10aSBpbiBleGFtcGxlcyAxMi4yIGFuZCAxMi4zIG9wZXJhdGUg bGlrZSBleGFtcGxlcyAyLjUgYW5kIDMuNiByZXNwZWN0aXZlbHkuICIyLjYgYW5kIDMuNiIgaXMg YWxtb3N0IHN1cmVseSB3aGF0IHdhcyBtZWFudC4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4g QXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBJbiBzZWN0aW9uIDExIEV4YW1w bGUgMTEuMiBvY2N1cnMgdHdpY2UuCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBw cm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDIgaGFzIGV4YW1wbGVz IDIuMyBhbmQgMi41IHRvIHNob3cgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB7bG99IGFuZCB7bGV9 LiBFeGFtcGxlIDIuNSBhbmQgdGhlIHN1YnNlcXVlbnQgdGV4dCBzYXkgdGhhdCB7bG8gbmFubXUg Y3UgbmlubXV9IGlzIG5lY2Vzc2FyaWx5IGZhbHNlIGluIGxvamJhbiBzaW5jZSB7bm9kYSBuYW5t dSBnaSdlIG5pbm11fS4gVGhpcyBjb250cmlidXRlcyB0byB0cmFucy1lcmFzdXJlLCBhbmQgc2hv dWxkIGJlIHJldmlzZWQuCgoqIEluIHNlY3Rpb24gNSBiZXR3ZWVuIGV4YW1wbGVzIDUuMiBhbmQg NS4zLCBpdCBzYXlzIHRoYXQgdGhlIHR5cGljYWwgbGlvbiBiZXN0IGV4ZW1wbGlmaWVzIHRoZSBz ZXQgb2YgbGlvbnMuIFRoaXMgaXMgZmFsc2UsIGl0IGV4ZW1wbGlmaWVzIG5vdCB0aGUgc2V0LCBi dXQgdGhlIG1lbWJlcnMgb2YgdGhhdCBzZXQuCgotLS0KCiEgQ2hhcHRlciA3CgoqIFNlY3Rpb24g NiwgcGFnZSAxNTUgaGFzIGEgbm90ZSBiZWxvdyBleGFtcGxlIDYuMTMgdGhhdCBzYXlzLCBpbiBw YXJ0OiAiVGhlIExvamJhbiBkb2VzIG5vdCBjb250YWluIGFuIGVxdWl2YWxlbnQgb2YgdGhlICJt eSIgaW4gY29sbG9xdWlhbCBFbmdsaXNoOyIgYW5kIHRoZW4gZ29lcyBvbiB0byBleHBsYWluIGhv dyBleGFtcGxlIDYuMTMgY291bGQgYmUgbW9kaWZpZWQgdG8gaW5jbHVkZSAgdGhlIHJlbGF0aW9u c2hpcCBiZXR3ZWVuIHRoZSBzcGVha2VyIGFuZCB0aGVpciBzb24gYW5kIGRhdWdodGVyLiAgSSBi ZWxpZXZlIHlvdSBjb3VsZCBzYXkgImxlIG1pIGJlcnNhIiBvciAibGUgYmVyc2EgcGUgbWkiIHRv IGV4cHJlc3MgdGhlIEVuZ2xpc2ggIm15LCIgdGhlcmVmb3IgcmVtb3ZpbmcgdGhlIChwcmVzdW1h Ymx5IGluYWNjdXJhdGUpIG5vdGUgYW5kIG1ha2luZyB0aGUgTG9qYmFuIHRyYW5zbGF0aW9uIG1v cmUgYWNjdXJhdGUuCioqIFN1cmUgeW91IGNvdWxkLCBidXQgdGhlIHBvaW50IG9mIHRoZSBub3Rl ICh3aGljaCBpcyAnJ25vdCcnIGluYWNjdXJhdGUpIGlzIG5vdCB0ZWFjaGluZyBob3cgdG8gdXNl IHJlbGF0aXZlIGNsYXVzZXMsIGJ1dCB0byBjbGFyaWZ5IHRoYXQgdGhlIGlkaW9tYXRpYyBFbmds aXNoIHZlcnNpb24gY29udGFpbnMgbW9yZSBpbmZvcm1hdGlvbiB0aGFuIHRoZSBMb2piYW4gdmVy c2lvbiBkb2VzLiAgU3RldC4KCiogU2VjdGlvbiA2LCBwYWdlIDE1NiBoYXMgJydrYXJjYScnIGZv ciAnJ2thcmNlJycuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogQWZ0 ZXIgZXhhbXBsZSA2LjE4IGlzIGEgcGFyYWdyYXBoIHRoYXQgcXVvdGVzIG5vbi1leGlzdGVudCB0 ZXh0IGZyb20gZXhhbXBsZSA2LjEwLiAgImdvJ2UgcmEnbyIgc2hvdWxkIHJlYWQgImdvJ2kgcmEn byIgYW5kICJkbyBnbydlIiBzaG91bGQgcmVhZCAibWkgZ28naSIKKiogVGhlIGNvcnJlY3QgY29y cmVjdGlvbiBpcyB0byByZXBsYWNlICJCJ3Mgc3RhdGVtZW50IiB3aXRoICJBJ3Mgc2Vjb25kIHN0 YXRlbWVudCIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKKioqIE5vdCBy ZWFsbHkuICJnbydlIHJhJ28iIGluIEEncyBzZWNvbmQgc3RhdGVtZW50IHdvdWxkIG1lYW4gdGhl IHNhbWUgYXMgImdvJ2UiLCB3aGljaCBpcyB3cm9uZy4gVGhlIG9yaWdpbmFsIGNvcnJlY3Rpb24g aXMgdmFsaWQgdGhvdWdoLgoKKiBTZWN0aW9uIDcsIGV4YW1wbGUgNy43IGhhcyAibWkgemJhc3Ug bG9pIG11ZHJpIHppJ28iIGZvciAibWkgemJhc3UgbGUgZGluanUgemknbyIKKiogKChBcHByb3Zl ZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoq IFNlY3Rpb24gOCwgcC4gMTU4IGltcGxpZXMgdGhhdCAnJ3ZvJ2EnJy1zZXJpZXMgYW5hcGhvcmEg cmVmZXIgdG8gc3VtdGkgb2YgdGhlIGJyaWRpIHRoZXkgdGhlbXNlbHZlcyBhcmUgc3VtdGkgb2Yu IFRoaXMgY29udHJhZGljdHMgdGhlIGNtYXZvIGxpc3QsIGFuZCBpcyBpbmNvcnJlY3Q6ICcndm8n YScnLXNlcmllcyBhbmFwaG9yYSAoYWNjb3JkaW5nIHRvIHRoZSBtYSdvc3RlKSByZWZlciB0byBz dW10aSBvZiB0aGUgb3V0ZXJtb3N0IGJyaWRpIHdpdGhpbiB0aGUgY3VycmVudCBzZW50ZW5jZS4g VGhpcyBtYWtlcyB0aGVtIGxvZ29waG9ycy9sb25nIGRpc3RhbmNlIHJlZmxleGl2ZXMsIHJhdGhl ciB0aGFuIHNob3J0LWRpc3RhbmNlIHJlZmxleGl2ZXMsIGFzIGlzIG5vcm1hbCBpbiBodW1hbiBs YW5ndWFnZS4gVGh1cywgaW4gJydtaSBuZWxjaSBsZW51IGRvIHByYW1pIHZvJ2EnJywgJyd2bydh JydtZWFucyAnJ21pJycsIG5vdCAnJ2RvJycuCioqX18tLT5fXygoV2h5IHRoZSBCb29rIGlzIFJp Z2h0IGFuZCB0aGUgbWEnb3N0ZSBpcyBXcm9uZykpCioqKldoaWNoIG9mIHRoZSB0d28gY2FzZXMg aXMgbm9ybWFsIGluIGh1bWFuIGxhbmd1YWdlPyBJZiB5b3UnZCB3cml0dGVuIGl0IGluIExvamJh biwgSSdkIGtub3chCioqKiogSSdkIGd1ZXNzIHRoYXQgc2hvcnQtZGlzdGFuY2UgaXMgbm9ybWFs LCBiL2Mgb3RoZXJ3aXNlIGl0IHdvdWxkIG5vdCBiZSB3b3J0aCBjb21wYXJpbmcgdGhlIHR3by4g QnV0IG9mIGNvdXJzZSBpbiBsb2piYW4gd2Ugd291bGRuJ3QgaGF2ZSB0byBnbG9yayB0aGF0Lgoq KioqKiBTaG9ydC1kaXN0YW5jZSBpcyBpbmRlZWQgbm9ybWFsLCBidXQgTG9qYmFuaXN0cyBoYXZl IGNvbnNpc3RlbnRseSB1c2VkIGxvbmctZGlzdGFuY2UuICBOaWNrIHdyb3RlIGEgcGVlci1yZXZp ZXdlZCBwYXBlciBvbiB0aGlzLiAgLS1qY293YW4KCiogRXhhbXBsZSA3LjguNSAocDE1OSk6IGJh anJhIG9uIHRoaXJkIGxpbmUgc2hvdWxkIGJlIGJhanlrbGEsIGxpa2UgdGhlIG90aGVycy4KKiog KChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFH LUNMTCcnCgoqIFNlY3Rpb24gOCwgaXQgc2F5cyAiRXhhbXBsZSA5LjMgaXMgYSB0cnVseSBwcmVn bmFudCBxdWVzdGlvbi4uLiIgd2hlbiBleGFtcGxlIDkuMiBpcyB0aGUgcHJlZ25hbnQgcXVlc3Rp b24sIGFuZCBleGFtcGxlIDkuMyBpcyBhIGJldHRlciB3YXkgb2YgZXhwcmVzc2luZyAiV2hvIGFy ZSB5b3U/IgoKKiBTZWN0aW9uIDE1LCBpdCBzYXlzICJGaW5hbGx5LCBsdWp2byBpbnZvbHZpbmcg YGB6aSdvJycgYXJlIGFsc28gcG9zc2libGUsIGFuZCBhcmUgZnVsbHkgZGlzY3Vzc2VkIGluIENo YXB0ZXIgMTIiLCBidXQgbm93aGVyZSBkb2VzIENoYXB0ZXIgMTIgbWVudGlvbiB0aGUgd29yZCB7 emknb30sIG11Y2ggbGVzcyBsdWp2byBpbnZvbHZpbmcgaXQuIFRoaXMgaXMgcHJvYmFibHkgYSBD aGFwdGVyIDEyIGVycmF0dW0uCi0tLQoKIUNoYXB0ZXIgOAoKKiBJbiBTZWN0aW9uIDMgdGhlIGV4 YW1wbGUgMy4yMCBzaG91bGQgaGF2ZSB7eGFuY2V9IGluc3RlYWQgb2Yge3hhbmNpfSwgd2hpY2gg aXMgZGVmaW5pdGVseSBhIHR5cG8uIC0taWRvbnRrbncKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNh bWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gOCwg cC4gMTgxOiAgOC4xKSAnJ2xpIHBhaSBub2kgbmEnZSBmcmludSBuYW1jdScnc2hvdWxkIGJlICcn bGkgcGFpIG5vaSBuYSdlIGZyaW51IGN1IG5hbWN1JycuICAoKEFwcHJvdmVkIEVycmF0dW18amNv d2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiA4LCBFeGFtcGxlIDguNiwgdGhlIHRoaXJkIGxpbmUs ICJJIHJ1bm5pbmdseS1nbyB0by10aGlzIFtyZWNpcHJvY2l0eV0gW3gzIG9mIHRoaXMgYnJpZGld IGZyb20tdGhhdCIsIGlzIG5vdCB0aGUgdXN1YWwgZGVjZW50IEVuZ2xpc2ggb25lIHdvdWxkIGV4 cGVjdCBpbiB0aGF0IHBvc2l0aW9uOyByZXBsYWNlZCB3aXRoICJJIHJ1biB0byB0aGlzIGZyb20g dGhhdCBhbmQgdmljZSB2ZXJzYS4iIGlzIGRhZy1jbGwgJydJTkNMVURFRCBJTiBEQUctQ0xMJycK CiogU2VjdGlvbiA5LCBleGFtcGxlIDkuMiBpcyAnJ2NvJ28geGlybWEnJy4gVGhlbiwgJydOb3Rl IHRoYXQgRXhhbXBsZSA5LjIgc2F5cyBmYXJld2VsbCB0byBzb21ldGhpbmcgd2hpY2ggZG9lc27i gJl0IHJlYWxseSBoYXZlIHRvIGJlIGEgaG9yc2UsIHNvbWV0aGluZyB0aGF0IHRoZSBzcGVha2Vy IHNpbXBseSB0aGlua3Mgb2YgYXMgYmVpbmcgYSBob3JzZSwgb3IgZXZlbiBtaWdodCBiZSBzb21l dGhpbmcgKGEgcGVyc29uLCBmb3IgZXhhbXBsZSkgd2hvIGlzIG5hbWVkICJIb3JzZSIuIEluIGEg c2Vuc2UsIEV4YW1wbGUgOS4yIGlzIGFtYmlndW91cyBiZXR3ZWVuICJjbydvIGxlIHhpcm1hIiBh bmQgImNvJ28gbGEgeGlybWEiJycuIElzIHRoaXMgdHJ1ZT8KKiogWWVzLCBpbiB0aGUgc2Vuc2Ug dGhhdCBhbGwgdXNlcyBvZiAibGUiICcnbWlnaHQnJyBtZWFuICJsYSIuICBCdXQgaXQncyBwcm9i YWJseSBtb3JlIGNvbmZ1c2luZyB0aGFuIGl0J3Mgd29ydGguICBUcnVuY2F0ZSBhZnRlciAidGhp bmtzIG9mIGFzIGJlaW5nIGEgaG9yc2UiLiAgLS1qY293YW4KCiogU2VjdGlvbiA5IHNheXMgJydJ biB2b2NhdGl2ZSBwaHJhc2VzIHdoaWNoIGFyZSBzaW1wbGUgbmFtZXMgKGFmdGVyIHRoZSB2b2Nh dGl2ZSB3b3JkcyksIGFueSByZWxhdGl2ZSBjbGF1c2VzIG11c3QgY29tZSBqdXN0IGFmdGVyIHRo ZSBuYW1lcycnLiBUaGlzIGlzbid0IHRydWUuIFJlbGF0aXZlIGNsYXVzZXMgY2FuIGdvIGJldHdl ZW4gdGhlIHZvY2F0aXZlIGFuZCB0aGUgY21ldmxhLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dh biBBcHByb3ZlZCkpICBEcm9wIGl0OyBpdCByZWZsZWN0cyBhbiBlYXJsaWVyIHN0YXRlIG9mIHRo ZSBsYW5ndWFnZS4KCi0tLQohQ2hhcHRlciA5CgoqIFNlY3Rpb24gNiwgcGxhY2Ugc3RydWN0dXJl IG9mICcncGlsbm8nJyBpcyBtaXNzaW5nICJmb3IgcHVycG9zZSB4MyIuICAoKEFwcHJvdmVkIEVy cmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiA4LCB0aGUgZXhhbXBsZXMgOC41IGFu ZCA4LjYgYXJlIHN1cHBvc2VkIHRvIG1lYW4gdGhlIHNhbWUgdGhpbmcsIGJ1dCBkbyBub3QuCioq IFBsZWFzZSBlbGFib3JhdGUuICAtLWpjb3dhbgoqKiogOC41IG1lYW5zICJJIGdhdmUgdGhlIGJv b2sgdG8gSm9obiwgYmVjYXVzZSBKb2huIGdhdmUgdGhlIG1vbmV5IHRvIG1lIiBidXQgOC42IG1l YW5zICJKb2huIGdhdmUgdGhlIG1vbmV5IHRvIG1lIGJlY2F1c2UgSSBnYXZlIHRoZSBib29rIHRv IEpvaG4uIgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJyAoKEFwcHJvdmVkIEVycmF0dW18amNv d2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiAxMSwgZGVzY3JpcHRpb24gb2YgdGhlIG1lYW5pbmcg b2YgIi5pamUgc2VyaSdhIHR1J2UiIGNvbnRyYWRpY3RzIHRoZSBleHBsYW5hdGlvbiBvZiBFeGFt cGxlIDkuOSwgd2hpY2ggd291bGQgc3VnZ2VzdCAiLmlqZSByaSdhIHR1J2UiLgoKKiBzZWN0aW9u IDE3LCAiZnJvbSBzb3VyY2UgYXMgYW4gb3JpZ2luIG9mIiBzaG91bGQgYmUgdHdvIGVudHJpZXM7 ICJmcm9tIHNvdXJjZSIgYW5kICJhcyBhbiBvcmlnaW4gb2YiICcnSU5DTFVERUQgSU4gREFHLUNM TCcnCgotLS0KCiFDaGFwdGVyIDEwCgoqIFNlY3Rpb24gNCwgIndoZW4gYm90aCBzcGF0aWFsIGFu ZCB0ZW1wb3JhbCB0ZW5zZSBjbWF2byBhcmUgZ2l2ZW4gaW4gYSBzaW5nbGUgdGVuc2UgY29uc3Ry dWN0LCB0aGUgdGVtcG9yYWwgdGVuc2UgaXMgZXhwcmVzc2VkIGZpcnN0IiBkaXNhZ3JlZXMgd2l0 aCB0aGUgcnVsZSBzaW1wbGUtdGVuc2UtbW9kYWwtOTcyIGluIHRoZSBCTkYgZ3JhbW1hci4KCiog U2VjdGlvbiA5LCBleGFtcGxlIDkuOSBvbiBwYWdlIDIyNyBoYXMgImNpcmxpIiBmb3IgImNpcmxh Ii4KKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQg SU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gMTIsIGV4YW1wbGUgMTIuNiB0cmFuc2xhdGVzIG1vcnNp IGFzICJkaWUiIHJhdGhlciB0aGFuICJhbSBkZWFkIiBpbiB0aGUgdHJhbnNsYXRpb24gKGFzIG9w cG9zZWQgdG8gdGhlIGdsb3NzKS4KCiogU2VjdGlvbiAxNiwgYXQgdGhlIGVuZCwgdGhlIFggYW5k IFkgaW4gdGhlIDMgZm9ybXMgZG9uJ3QgZml0IHByb3Blcmx5ICh0aGUgM3JkIGRvZXNuJ3QgbWF0 Y2ggdGhlIGZpcnN0IHR3bykuIEkgcmVjb21tZW5kLCBjb3B5aW5nIGZyb20gU2VjdGlvbiAyMyAo d2hlcmUgdGhleSBhcmUgd3JpdHRlbiBhZ2FpbiBjb3JyZWN0bHkpOgogICAgICAgWCAuaSBURU5T RSBibyBZCiAgICAgICBURU5TRSBnaSBYIGdpIFkKICAgICAgIFkgVEVOU0UgbGUgbnUgWAoKKiBT ZWN0aW9uIDE3LCBleGFtcGxlIDE3LjEyIHNob3VsZCBub3QgaGF2ZSB0aGUgc2Vjb25kICJiZXZy aSIuCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVE IElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDE4LCBleGFtcGxlIDE4LjkgaXMgc3VwcG9zZWQgdG8g c2hvdyBzY2FsYXIgbmVnYXRpb24gb2YgdGVuc2VzIG5vdCBsaW1pdGVkIHRvIFBVIGFuZCBGQWhB LCBidXQgdGhlIGV4YW1wbGUgdGVuc2UgaXMgcmkndSAoRkFoQTIpLgoKKiBTZWN0aW9uIDE5LCBl eGFtcGxlIDE5LjEwIHNob3VsZCBoYXZlICJiYSIsIG5vdCAicHUiLCBhbmQgIltmdXR1cmVdIiwg bm90ICJbcGFzdF0iLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqIFNl Y3Rpb24gMjUsIGV4YW1wbGVzIDI1LjEgYW5kIDI1LjIgaGF2ZSAnJ2x1J2EnJyBmb3IgJydsYSd1 JycuCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVE IElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDI1LCB0aGlzIHdob2xlIHNlY3Rpb24gaXMgYXQgb2Rk cyB3aXRoIHRoZSBmb3JtYWwgZ3JhbW1hci4gSXQgc2F5czogJydJdCBpcyBncmFtbWF0aWNhbCBm b3IgYSB0ZXJtc2V0IHRvIGJlIHBsYWNlZCBhZnRlciBhIHRlbnNlIG9yIG1vZGFsIHRhZyByYXRo ZXIgdGhhbiBhIHN1bXRpJycuICBCdXQgdGhhdCBpcyBpbiBmYWN0IGluY29ycmVjdCwgaXQgaXMg bm90IGdyYW1tYXRpY2FsIGZvciBhIHRlcm1zZXQgdG8gYmUgdGhlIGFyZ3VtZW50IG9mIGEgdGFn LgoqKiBVbmZvcnR1bmF0ZWx5IHRydWUuICBUZXJtc2V0cyBzdWNrIHJvY2tzLCBhbmQgc29tZSB3 b3JrIHdpbGwgaGF2ZSB0byBiZSBkb25lIHRvIG1ha2UgZXZlcnl0aGluZyBzYWlkIGFib3V0IHRo ZW0gY29uc2lzdGVudCAtLSBpZiBpdCBpcyBldmVuIHBvc3NpYmxlLiAgUGVyc29uYWxseSwgSSdk IGxpa2UgdG8ganVzdCBidXJuIHRoZW0uICAtLWpjb3dhbiAgJycnTk9GSVgnJycKCiogU2VjdGlv biAyNzogTU9oSSBzZWUgU2VjdGlvbiAyOCwgbm90IDI3LiAgKChBcHByb3ZlZCBFcnJhdHVtfGpj b3dhbiBBcHByb3ZlZCkpCgotLS0KCiFDaGFwdGVyIDExCgoqIFNlY3Rpb24gNDogVGhlIHVzZSBv ZiBrYSBpbiBFeGFtcGxlIDQuNCAocGFnZSAyNTkpIGlzIGVycm9uZW91czsgaXQgc2hvdWxkIGJl IGR1J3UuIC0tKChKb2huIENvd2FuKSkgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3Zl ZCkpCgoqIExhc3QgcGFyYWdyYXBoIG9mIHNlY3Rpb24gNyByZWZlcmVuY2VzIGNoYXB0ZXIgNSBm b3IgYSBkaXNjdXNzaW9uIG9mICJsdSdlIi4gIGx1J2UgaXNuJ3QgbWVudGlvbmVkIGluIGNoYXB0 ZXIgNS4gIFByb2JhYmx5IGNoYXB0ZXIgNiBpcyBtZWFudCBoZXJlLgoqKiBZZXMsIHNob3VsZCBi ZSBTZWN0aW9uIDUuMTAuICAgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoK KiBTZWN0aW9uIDksIHBhZ2UgMjY2IGhhcyAic2FvJ3JkemlmYSdhIiBpbnN0ZWFkIG9mICJzYSdv cmR6aWZhJ2EiLgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJ TkNMVURFRCBJTiBEQUctQ0xMJycKCiogVGhlIHNhbWUgZXhhbXBsZSAoOS42KSBhbHNvIGhhcyBr dWN0cmEgaW5zdGVhZCBvZiBrdWN0YWkKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBB cHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFRoZSBib29rIHRpdGxlIGluIGV4 YW1wbGUgOS42IHNlZW1zIHRvIGJlIGluY29ycmVjdDogIlRoZSBDcnVjaWZpeGlvbiBvZiBKZXN1 cyBDb25zaWRlcmVkIEFzIEEgRG93bmhpbGwgQmljeWNsZSBSYWNlIiBpcyBhY3R1YWxseSAiW2h0 dHA6Ly93d3cuZXZlcmdyZWVucmV2aWV3LmNvbS8xMDIvZmljdGlvbi9kdW8uaHRtbHxUaGUgQ3J1 Y2lmaXhpb24gQ29uc2lkZXJlZCBBcyBBbiBVcGhpbGwgQmljeWNsZSBSYWNlXS4iCioqIFVuYXBw cm92ZWQKCiogU2VjdGlvbiAxMDogUGFyYWdyYXBoIGFib3ZlIGV4YW1wbGUgMTAuNyByZWZlcmVu Y2VzICJDaGFwdGVyIDExIi4gVGhhdCBzaG91bGQgcmVhZCAiQ2hhcHRlciAxMCIuCioqICgoQXBw cm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwn JwoKKiBTZWN0aW9uIDEyLCBwYWdlIDI2OSBoYXMgZXhhbXBsZXMgMTMuMSBhbmQgMTMuMiwgdGhv c2Ugc2hvdWxkIGJlIGNhbGxlZCAxMi4xIGFuZCAxMi4yLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpj b3dhbiBBcHByb3ZlZCkpCgotLS0KCiFDaGFwdGVyIDEyCgoqIFNlY3Rpb24gMiwgcGFnZSAyNzUu IFRoZSBwYXJhZ3JhcGggdW5kZXIgRXhhbXBsZSAyLjMgcmVmZXJzIHRvIGl0IGFzIEV4YW1wbGUg Mi40ICgyLjQgZG9lc24ndCBldmVuIGV4aXN0KS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4g QXBwcm92ZWQpKQoKKiBTZWN0aW9uIDUsIHJpZ2h0IGFmdGVyIGV4YW1wbGUgNS43LiBJdCBzYXlz ICJhIiBpbnN0ZWFkIG9mICJhbiIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVk KSkKCiogU2VjdGlvbiA2LCBwYWdlIDI4MC4gRXhhbXBsZSA2LjYgc2hvdWxkIGhhdmUgYSBzcGFj ZSBiZXR3ZWVuICJsYSBzcGF0LiIgYW5kICJub2kiLgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2Ft Z3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlvbiA3LCBw YWdlIDI4Mi4gRXhhbXBsZSA3LjUgaGFzICJiYW5zb2kiIGluc3RlYWQgb2YgImJhbHNvaSIuCioq ICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERB Ry1DTEwnJwoKKiBTZWN0aW9uIDExLCBwYWdlIDI4NSBoYXMgInhhc2Nha2N1cm51IiBpbnN0ZWFk IG9mICJ4YXN5Y2FrY3VybnUiLgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJv dmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlvbiAxMiBjbGFpbXMgdGhhdCAt amF4LSBpcyBhIHJhZnNpIGZvciB7amFpfSwgYnV0IGl0IGlzbid0IGluIFtodHRwOi8vd3d3Lmxv amJhbi5vcmcvcHVibGljYXRpb25zL3dvcmRsaXN0cy9yYWZzaS50eHR8aHR0cDovL3d3dy5sb2pi YW4ub3JnL3B1YmxpY2F0aW9ucy93b3JkbGlzdHMvcmFmc2kudHh0XS4gRG9lcyB7amFpfSBoYXZl IGEgcmFmc2kgb3Igbm90PwoqKiBJdCBzaG91bGQsIGJ1dCBzb21laG93IGl0IG5ldmVyIGdvdCBp bnRvIHRoZSBnaXNtdSBsaXN0LCBhbmQgY29uc2VxdWVudGx5IG5vdCBpbnRvIHRoZSByYWZzaSBs aXN0IGVpdGhlci4gIFN0ZXQsIGFuZCB3ZSdsbCBhZGQgaXQgdG8gdGhlIGdpc211IGxpc3QuICAt LWpjb3dhbgoKKiBTZWN0aW9uIDEyLCByaWdodCBhdCB0aGUgZW5kLCBzYXlzIHRoYXQge2ZhaX0g aXMgZXhwbGFpbmVkIGluIENoYXB0ZXIgMTEsIGJ1dCBDaGFwdGVyIDExIG1ha2VzIG5vIG1lbnRp b24gb2Yge2ZhaX0uIE9ubHkgY2hhcHRlcnMgOSBhbmQgMTAgZG8uCioqICcnSU5DTFVERUQgSU4g REFHLUNMTCcnICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293 YW4gQXBwcm92ZWQpKQoKKiBTZWN0aW9uIDE0LCBleGFtcGxlIDE0LjIuIE1pc3NpbmcgPCAvcHJl ID4gdGFnLCBhbmQgbWlzc2luZyA8IHByZT4gdGFnIGZvbGxvd2luZyBleHBsYW5hdG9yeSBwYXJh Z3JhcGguCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMjkxLiBUaGUgcGFyYWdyYXBoIHVuZGVyIGV4YW1w bGUgMTQuNyBzYXlzICJzZSB4YW5jZSBtaW5kdSIgaW5zdGVhZCBvZiAic2UgeGFuY2UgbWluZGUi LgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJ TiBEQUctQ0xMJycKCiogU2VjdGlvbiAxNSwgdHdvIHBhcmFncmFwaHMgYmVmb3JlIGV4YW1wbGUg MTUuNy4gSXQgc2F5cyAiVGhlcmUgYXJlIHNvbWUgY29tcGFyYXRpdmUgY29uY2VwdHMgd2hpY2gg YXJlIGluIHdoaWNoIHRoZSAnc2Ugem1hZHUnIGlzIGRpZmZpY3VsdCB0byBzcGVjaWZ5LiIgVGhl ICJ3aGljaCBhcmUgaW4gd2hpY2giIHNlZW1zIGdyYW1tYXRpY2FsbHkgaW5jb3JyZWN0LgoqKiBE cm9wICJ3aGljaCBhcmUiLiAgLS1qY293YW4gICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFw cHJvdmVkKSkKCiogU2VjdGlvbiAxNSwgcGFnZSAyOTQsIGV4YW1wbGUgMTUuMTQuICJsYSBhaW5j dGFpbiIgbmVlZHMgYSBwZXJpb2QgYmVmb3JlIGl0IGJlY2F1c2UgaXQgc3RhcnRzIHdpdGggYSB2 b3dlbC4KKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVE RUQgSU4gREFHLUNMTCcnCgotLS0KCiFDaGFwdGVyIDEzCgoqIE1hbnkgaW5jaWRlbnRzIG9mIG5v dCBoYXZpbmcgcGVyaW9kcyBpbiBmcm9udCBvZiB2b3dlbC1pbml0aWFsIGNtYXZvLgoqKiAoKEFw cHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xM JycKCiogSW4gc2VjdGlvbiAyLCBwLiAzMDAgcmVmZXJlbmNlcyB0byB0aGUgZXhhbXBsZXMgZm9y IC51ZSBhbmQgLnVlY3UnaSBhcmUgZmxpcHBlZC4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4g QXBwcm92ZWQpKQoKKiBTZWN0aW9uIDMsIHBhZ2UgMzAzLCBleGFtcGxlIDMuOS4gImUnZSIgbmVl ZHMgYSBwZXJpb2QgYmVmb3JlIGl0LgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFw cHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlvbiAzLCBwYWdlIDMwMywg ZXhhbXBsZSAzLjEwLiAidGlzbmEiIG5lZWRzIHRvIGJlIHJlcGxhY2VkIHdpdGggInRpc3lnYXUi LgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJ TiBEQUctQ0xMJycKCiogU2VjdGlvbiA0LCBwYWdlIDMwNS4gVGhlIHNjYWxlIHdpdGggdGhlIGdp c211IG1uZW1vbmljcyBpcyBtaXNhbGlnbmVkIHdpdGggdGhlIHNjYWxlIHdpdGggdGhlIG1lbWJl cnMgb2Ygc2VsbWEnbyBDQUkuICJzYWkiIHNob3VsZCBiZSB0YWJiZWQgb25lIHBsYWNlIGxlZnQs IHNvIHRoYXQgaXQgYWxpZ25zIHdpdGggdHNhbGksICZjLgoKKiBTZWN0aW9uIDcsIGl0IHNheXMg Ikl0IGlzIG5vdCBjbGVhciBob3cgbXVjaCB1c2UgbG9naWNhbGx5IGNvbm5lY3RlZCBhYnN0cmFj dG9ycyB3aWxsIGJlOiBzZWUgQ2hhcHRlciAxMy4iIEl0IHNob3VsZCBiZSAiQ2hhcHRlciAxNS4i CioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcnICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgYnV0IG5l ZWRzIGFwcHJvdmFsCiogU2VjdGlvbiAxMCwgcGFnZSAzMTMuIFRoZXJlIGlzIGEgbWlzc2luZyBz cGFjZSBiZXR3ZWVuICJjb250aW51ZSBlbW90aW9uIiBhbmQgImVuZCBlbW90aW9uIi4KCiogU2Vj dGlvbiAxNS4gQSBzYW1wbGUgZGlhbG9ndWUgIDE1LjQpIC8gfm5wfltDb21tZW50XSBQYW0gc2F5 cywgW1BsZWFzZV0gQWxpY2UsIFtlbmQtb2YtY29tbWVudF0gLyBbQ29tbWVudF0gUGFtIHNheXMs IFtlbmQtb2YtY29tbWVudF0gW1BsZWFzZV0gQWxpY2UsL34vbnB+ICgoQXBwcm92ZWQgRXJyYXR1 bXxqY293YW4gQXBwcm92ZWQpKQoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJv dmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlvbiAxNSwgZXhhbXBsZSAxNS41 IC94YW1ndS9nbGVraS8gPwoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVk KSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlvbiAxNSwgZXhhbXBsZSAxNS4xMCkg L2ZpJ2kgcm8genZhdGkga28gcGlueGUgcGEgY2thZmkvZmknaSBybyB6dmF0aSAuaSBrbyBwaW54 ZSBwYSBja2FmaS8KKiogTm8sIHRoaXMgb25lIGlzIHBlcmZlY3RseSBmaW5lOiAiZmknaSBybyB6 dmF0aSIgaXMgYSB2b2NhdGl2ZSBwaHJhc2UsIHdoaWNoIGlzIGEgZnJlZSBtb2RpZmllciwgbWVh bmluZyB0aGF0IGl0IGNhbiBvY2N1ciBhbG1vc3QgYW55d2hlcmUuICAoKEFwcHJvdmVkIEVycmF0 dW18amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiAxNSwgZXhhbXBsZSAxNS4xMykgL2ZpJ28g c2VscGxlamkgbWkvZmknbyBwbGVqaSBtaS8KKiogQW5kICJ3aXRoIHBheWVyIiByYXRoZXIgdGhh biAid2l0aCBwYXltZW50IjsgZXkncyBub3QgcGF5aW5nIHdpdGggZW1zZWxmISAtLSBjYW1ndXNt aXMKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQg SU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUuMTMuIFdyb25nIHVzZSBvZiB7 c2VsZnV9LiB7YmV2cml9IHdvdWxkIGZpdCBiZXR0ZXIuCi0tLQoKIUNoYXB0ZXIgMTQKCiogU2Vj dGlvbiA4LCByaWdodCBiZWZvcmUgZXhhbXBsZSA4LjkgaXMgInByb2R1Y2luZyBleGFtcGxlIDgu MTAiIHdoaWNoIHNob3VsZCBpbiBmYWN0IHJlYWQgInByb2R1Y2luZyBleGFtcGxlIDguOSIuICAo KEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiA5OiBiZXR3ZWVu IGV4YW1wbGUgOS4xMCBhbmQgOS4xMSwgImlkZW50aWZpZWQiIHNob3VsZCByZWFkICJpZGVudGlj YWwiCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVE IElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDExLCByaWdodCBiZWZvcmUgc2VjdGlvbiAxMi4gSXQg c2F5cyAidGVybXNldHMuLi5hcmUgZXhwbGFpbmVkIGluIENoYXB0ZXIgMTIgYW5kIENoYXB0ZXIg MTYiIGJ1dCBjaGFwdGVyIDEyICh3aGljaCBpcyBvbiBsdWp2bykgbWFrZXMgYWJzb2x1dGVseSBu byBtZW50aW9uIG9mIHRlcm1zZXRzLiBDaGFwdGVycyA5IGFuZCAxMCBkaXNjdXNzIHRlcm1zZXRz LiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqIFNlY3Rpb24gMTQsIGV4 YW1wbGUgMTQuMTUgaXMgbm90IGdyYW1tYXRpY2FsIChhY2NvcmRpbmcgdG8gamJvZmknZSBhbmQg Y2FteGVzKSBiZWNhdXNlIGl0IHNheXMgInBlJ2UgLmUiIHdoZW4gaXQgc2hvdWxkIHNheSAicGUn ZSBqZSIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiAx NCwgZXhhbXBsZSAxNC4xNiBtZW50aW9ucyAic29ybWUiLCB3aGljaCBpcyBwcm9iYWJseSBPbGQg TG9nbGFuLCBhbmQgc2hvdWxkIGJlIHJlcGxhY2VkIGJ5ICJtZW5zaSIuCioqICgoQXBwcm92ZWQg RXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBT ZWN0aW9uIDE0LCAidGhlIHN0YXRlZCBnbG9zcyBvZiBURlRUYXMg4oCcb25seSBpZuKAnSB3b3Jr cyBuYXR1cmFsbHkgb25seSB3aGVuIHRoZSByaWdodC1oYW5kIGJyaWRpIGlzIHRydWU7IGlmIGl0 IGlzIGZhbHNlLCB0aGUgbGVmdC1oYW5kIGJyaWRpIG1heSBiZSBlaXRoZXIgdHJ1ZSBvciBmYWxz ZS4iIGNoYW5nZWQgdG8gInRoZSBzdGF0ZWQgZ2xvc3Mgb2YgVEZUVGFzIOKAnG9ubHkgaWbigJ0g d29ya3MgbmF0dXJhbGx5IG9ubHkgd2hlbiB0aGUgcmlnaHQtaGFuZCBicmlkaSBpcyBmYWxzZTsg aWYgaXQgaXMgdHJ1ZSwgdGhlIGxlZnQtaGFuZCBicmlkaSBtYXkgYmUgZWl0aGVyIHRydWUgb3Ig ZmFsc2UuIgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNM VURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlvbiAxNSwgcmlnaHQgYWZ0ZXIgMTUuOSwgaXQgc2F5 cyAiZXhhbXBsZSAxNC4xNyIgd2hlcmUgaXQgc2hvdWxkIHNheSAiZXhhbXBsZSAxNS45IiAoMTQu MTcgZG9lcyBub3QgZXhpc3QpLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkp CgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUuOSBpcyBub3QgZ3JhbW1hdGljYWw7IGl0IHNob3Vs ZCBiZSAibGEgZGphbi4gZmEndSBsYSBmcmFuay4gY3Vza3UgbnUnaSBiYXUgbGEgbG9qYmFuLiBw ZSdlIGZhJ3UgYmFpIGxhIGRqb3Jkai4iLgoKKiBTZWN0aW9uIDE5LCBleGFtcGxlIDE5LjQgaXMg dHJhbnNsYXRlZCBhcyAiSSBvcGluZSB0aGUgZmFjdC10aGF0IGEtbWFzcy1vZiBsaXZpbmctdGhp bmdzIGlzLWF0IEp1cGl0ZXIgb3ItZWxzZSBJIG9waW5lIHRoZSBmYWN0LXRoYXQgYS1tYXNzLW9m IGxpdmluZy10aGluZ3MgaXNuJ3QtYXQgSnVwaXRlciIgYnV0IHJlYWxseSBpdCdzICJJIG9waW5l IHRoZSBmYWN0LXRoYXQgYS1tYXNzLW9mIGxpdmluZy10aGluZ3MgaXMtYXQgSnVwaXRlciBvci1l bHNlIEkgX19kby1ub3RfXyBvcGluZSB0aGUgZmFjdC10aGF0IGEtbWFzcy1vZiBsaXZpbmctdGhp bmdzIF9faXMtYXRfXyBKdXBpdGVyIi4gU28gMTkuNCBpcyBhY3R1YWxseSB0cnVlLCBub3QgZmFs c2UgYXMgaXQgaXMgY2xhaW1lZCB0byBiZS4KKiogQ29ycmVjdCwgc28gdGhpcyBleGFtcGxlIHdp bGwgbmVlZCByZXBsYWNpbmcuICAgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQp KQoKKiBBbHNvIHRoZXJlIGlzbid0IHJlYWxseSBhIHJlYXNvbiBmb3IgaXQgdG8gc2F5IGEgbWFz cyBvZiBsaXZpbmcgdGhpbmdzIGFuZCBub3Qgc29tZSBpbmRpdmlkdWFsIGxpdmluZyB0aGluZ3Mu CioqIFN0ZXQuICBUaGUgYXV0aG9yIHByZWZlcnMgaXQgdGhhdCB3YXksIHRoYW5reW91dmVyeW11 Y2guICAtLWpjb3dhbi4KCgotLS0KCiEgQ2hhcHRlciAxNQoKKiBTZWN0aW9uIDIsIG1pc3Npbmcg PCAvcHJlID4gdGFnIGFmdGVyIGV4YW1wbGUgMi44IGFuZCA8IHByZT4gdGFnIGJlZm9yZSBleGFt cGxlIDIuOS4KCiogU2VjdGlvbiA0LCBleGFtcGxlIDQuMTIgL25ha2UvbmEnZWtlLwoKKiBTZWN0 aW9uIDksIHR3byBwYXJhZ3JhcGhzIGFib3ZlIGV4YW1wbGUgOS40IHRoZSB3b3JkICJuZWdhdGl2 IiBzaG91bGQgYmUgIm5lZ2F0aXZlIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92 ZWQpKQoKKiBTZWN0aW9uIDk6IElzIHRoZXJlIHN1cHBvc2VkIHRvIGJlIGFueSBkaWZmZXJlbmNl IGJldHdlZW4gZXguIDkuNSBhbmQgOS42PwoqKiBUaGF0IHByb2JsZW0gaXMgb25seSBpbiB0aGUg b25saW5lIHZlcnNpb24uCgoqIFNlY3Rpb24gMTAsIHRocmVlIHBhcmFncmFwaHMgYWZ0ZXIgZXhh bXBsZSAxMC4xNCwgdGhlcmUncyBhIHNlbWljb2xvbiB3aGljaCBzaG91bGQgYmUgYSBjb21tYSBh ZnRlciAiKHNheSwgYSBzcGVsbGluZyBlcnJvcikiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dh biBBcHByb3ZlZCkpCgoqIFNlY3Rpb24gMTAsIGl0IHNheXMgIidqaSd1bmEnaWt1JyBtZXRhbGlu Z3Vpc3RpY2FsbHkgc2F5cyB0aGF0IHNvbWV0aGluZyBpcyB3cm9uZyB3aXRoIHRoYXQgYXNzdW1w dGlvbi4gKFNlZSBDaGFwdGVyIDEwLikiLiBTaG91bGRuJ3QgdGhhdCBiZSBDaGFwdGVyIDksIG1v ZGFscz8KKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycgKHpvcnQncyBmb3JrIGF0IGxlYXN0KSAo KEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKLS0tCgohQ2hhcHRlciAxNgoKKiBT ZWN0aW9uIDUsIGV4YW1wbGUgNS41OiBFbmdsaXNoIGhhcyAiZXZlcnkgWSIgd2hlbiBpdCBzaG91 bGQgcmVhZCAiZXZlcnkgWCIKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3Zl ZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gNiwgZXhhbXBsZSA2LjYgaGFz IGEgbWlzc2luZyAiY3UiIGJlZm9yZSAidmlza2EiLgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2Ft Z3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlvbiA4LCB0 aGUgZXhwbGFuYXRpb24gb2YgZXhhbXBsZSA4LjMgc2F5cyAiYW55IGVudGl0eSB3aGljaCBpcyBv bmUgaXMgYWxzbyB0aGUgb3RoZXIiLiBUaGF0IHdvdWxkIGJlIHRydWUgaWYgdGhlIGV4YW1wbGUg dXNlZCB7Z299LCBidXQgaXQgdXNlcyB7Z2FuYWl9LiA4LjMgZG9lcyBub3QgY2xhaW0gdGhhdCBp ZiBzb21ldGhpbmcgd2Fsa3MgYWNyb3NzIHRoZSBmaWVsZCB0aGVuIGl0IGdvZXMgdG8gdGhlIHN0 b3JlLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICBDaGFuZ2UgaXQgdG8g dXNlIHtnb30uICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCioqIFNhbWUgcGxhY2U6IG5lZWRzIHRv IGJvIHtkYSBnb30sIG5vdCB7Z28gZGF9ICBBbmQgdGhlIGdsb3NzIHNob3VsZCBiZSAiRm9yLWV2 ZXJ5IFg6IFggaXMtYS1nb2VyLXRvIHRoZSBzdG9yZSBpZi1hbmQtb25seS1pZiBpdCBpcy1hLXdh bGtlci1vbiB0aGUgZmllbGQuIiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDgs IGV4YW1wbGUgOC4zLiBFaXRoZXIgdGhlIHtkYX0gc2hvdWxkIGNvbWUgYmVmb3JlIHRoZSB7Z2Fu YWl9IChvciwgYnkgdGhlIHByZXZpb3VzIF4gZXJyYXR1bSwge2dvfSkgYW5kIHRoZSBnbG9zcyBz aG91bGQgYmUgY2hhbmdlZCB0byBvbmx5IG1lbnRpb24gIlgiIG9uY2UsIG9yIGEge2RhfSBzaG91 bGQgYmUgaW5zZXJ0ZWQgYmVmb3JlIHtjYWR6dX0uCioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcn ICBjaG9zZSBmaXJzdCBvcHRpb24gc2luY2UgaXQncyB0ZXJzZXIgKHpvcnQncyBmb3JrIGF0IGxl YXN0KSBidXQgbmVlZHMgYXBwcm92YWwKCiogVGhpczogIkFkamFjZW50IG5lZ2F0aW9uIGJvdW5k YXJpZXMgaW4gdGhlIHByZW5leCBjYW4gYmUgZHJvcHBlZCwiIHJlYWRzIGJldHRlciBhcyAiQWRq YWNlbnQgcGFpcnMgb2YgbmVnYXRpb24gYm91bmRhcmllcyBpbiB0aGUgcHJlbmV4IGNhbiBiZSBk cm9wcGVkLCIKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5D TFVERUQgSU4gREFHLUNMTCcnCioqKiBUaGUgb25saW5lIHZlcnNpb24gc2F5cyAiQWRqYWNlbnQg ZG91YmxlIG5lZ2F0aW9uIGJvdW5kYXJpZXMiLCBidXQgSSdtIG9rYXkgd2l0aCBlaXRoZXIgImRv dWJsZSIgb3IgInBhaXJzIG9mIi4gIC0tamNvd2FuCgoqIFNlY3Rpb24gMTAsIGV4LiAxMC41IGFu ZCAxMC42IGhhdmUgYSBwcmVuZXgsICJuYWt1IHpvJ3UiLCBhZnRlciBhbiBpamVrLiBUaGlzIGlz IG5vdCBhbGxvd2VkIGJ5IHRoZSBncmFtbWFyLiBJdCBjb3VsZCBiZSBmaXhlZCBieSByZW1vdmlu ZyB0aGUgInpvJ3UiIGFuZCB1c2luZyAibmFrdSIgb3V0c2lkZSB0aGUgcHJlbmV4LCBhbHRob3Vn aCB0aGlzIGlzIG9ubHkgZXhwbGFpbmVkIGluIHRoZSBmb2xsb3dpbmcgU2VjdGlvbiAxMS4KKiog VGhpcyBpcyBhIGJpZyBwcm9ibGVtLCBhbmQgSSdtIG5vdCBzdXJlIHdoYXQgc2hvdWxkIGJlIGZp eGVkLiAgLS1qY293YW4gICcnJ05PRklYJycnCiogU2VjdGlvbiAxMiwgZXguIDEyLjcgYW5kIDEy LjkgaGF2ZSBtaXNzaW5nICJjdSJzLgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFw cHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlvbiAxNCwgRXhhbXBsZSAx NC4xIGhhcyAiYmxhY2kiIChnbGFzcykgbm90ICJibGFiaSIgKHdoaXRlKSBhcyBwZXIgdGhlIEVu Z2xpc2guCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xV REVEIElOIERBRy1DTEwnJwoKLS0tCgohQ2hhcHRlciAxNwoKKiBTZWN0aW9uIDUsIGFmdGVyIGV4 YW1wbGUgNS4xLCBwYXJhZ3JhcGggc3RhcnRpbmcgIkhvd2V2ZXIsICIgaGFzIGluY29ycmVjdCBm b250LiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqIFNlY3Rpb24gOSwg cGFnZSA0MjEuIGxlcmZ1IHN0cmluZ3MgYXJlIHdyaXR0ZW4gd2l0aG91dCBwYXVzZXMgb3Igc3Bh Y2VzLCBldmVuIHRob3VnaCBCWSB3b3JkcyBoYXZlIHRvIGVuZCB3aXRoIGEgY29uc29uYW50Lgoq KiBTdGV0LiAgQlkgd29yZHMgZG8gbm90IGVuZCB3aXRoIGEgY29uc29uYW50LCBhbmQgYSBzdHJp bmcgb2YgdGhlbSBjYW4gbmV2ZXIgYmUgYW1iaWd1b3VzLCBzbyBwYXVzZXMvc3BhY2VzIGFyZSBu b3QgcmVxdWlyZWQuICAtLWpjb3dhbgoKKiBTZWN0aW9uIDksIEV4YW1wbGUgOS40OiBzaG91bGRu J3QgInN5bXlqeSIgYmUgInN5bXlkeSIgKGxvamJhbiBtb3JwaG9sb2d5KT8gICgoQXBwcm92ZWQg RXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiBTZWN0aW9uIDEwLiBBZnRlciBFeGFtcGxlIDEw LjQuNSwgdGhlIHJlZmVyZW5jZSB0byBFeGFtcGxlIDEwLjQgc2hvdWxkIGJlIGluc3RlYWQgdG8g RXhhbXBsZSAxMC40LjUuCioqSW4gdGhlIGN1cnJlbnQgREFHLUNMTCwgdGhlIGV4YW1wbGVzIG51 bWJlcmluZyBpcyBzYW5lLCBidXQgYWZ0ZXIgRXhhbXBsZSAxMC4zLCB0aGUgdHdvIHJlZmVyZW5j ZXMgdG8gRXhhbXBsZSAxMC40IHNob3VsZCBiZSB0byBFeGFtcGxlIDEwLjMuCgoqIFJpZ2h0IGJl Zm9yZSBzZWN0aW9uIDEyLCB0aGVyZSBpcyBhIGxpbmUgYnJlYWsgaW4gdGhlIG1pZGRsZSBvZiB0 aGUgcGFyYWdyYXBoLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqIFNl Y3Rpb24gMTcsIHBhZ2UgNDI3LiAiLnR2cml5ZG9zLiBidSIgYmVnaW5zIHdpdGggdGhlIGNvbnNv bmFudCBjbHVzdGVyLCB3aGljaCBpc24ndCBldmVuIHBlcm1pc3NpYmxlIG1lZGlhbGx5LgoqKiBj aGFuZ2UgdG8gdHl2cml5ZG9zCioqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJv dmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKKioqKiBBY3R1YWxseSwgaXQgc2hvdWxkIGJl ICJ0eXZyZG9zLiBidSIgIC0tamNvd2FuCgoqIEluIHRoZSB0YWJsZSBpbiBzZWN0aW9uIDE5LCB0 aGUgbGVydmxhIGZvciBvdmVyLWRvdCAoIi5nYXJtb2MuIGJ1IikgYW5kIG92ZXItcmluZyAoIi5n YXJqaW4uIGJ1Iikgc2hvdWxkIGJlIHVwZGF0ZWQgdG8gdGhlaXIgcG9zdC1SZWFsbG9jYXRpb24g Zm9ybXMsICIuZ2FwbW9jLiBidSIgYW5kICIuZ2FweWppbi4gYnUiLgoqKiogKChBcHByb3ZlZCBF cnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNl Y3Rpb24gMTkgaGFzIHR3byBjb2x1bW5zIHJ1biB0b2dldGhlciBpbiB0aGUgcm93IHRoYXQgc2F5 cyAiRGFuaXNoL0xhdGluIGFldGVpIC5hYnUgLmVidSBmb2kiCgotLS0KCiFDaGFwdGVyIDE4Cgoq IFNlY3Rpb24gMywgZXguIDMuMTAsIHNob3VsZCB0cmFuc2xhdGUgYXMgIi4xMDEyMDAxIi4gICgo QXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiBJbiBzZWN0aW9uIDQgZXhhbXBs ZSA0LjUgaXMgbGlua2VkIGluc3RlYWQgb2YgNC43IC0gIkV4YW1wbGUgNC41IGlzIG5vdCBgYDEg bWludXMgMicnLCBbLi4ufC4uLl0iIHdoZXJlIGV4YW1wbGUgNC41IGlzIGp1c3QgInRlJ28iLiAg KChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqIFNlY3Rpb24gNSwgcDQzNyBl eDUuOSBbZ2xvc3NdOiBvdXIgLT4gZm91ciAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJv dmVkKSkKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlvbiA2LCBwNDM4OiBqIHZ1 J3UgLT4gdnUndSAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCioqICcnSU5D TFVERUQgSU4gREFHLUNMTCcnCgoqIFN0YXJ0IG9mIHNlY3Rpb24gMTEgc2hvdWxkIHJlYWQgdGhl cmUgYXJlIGZpdmUgbWVtYmVycyBvZiBNT0kgKG5vdCBmb3VyKS4gICgoQXBwcm92ZWQgRXJyYXR1 bXxqY293YW4gQXBwcm92ZWQpKQoKKiBJbiBzZWN0aW9uIDExLCBleCAxMS4xMCBvbiB2YSdlICJz b2ZpJ3VwYW5vIiBpbiB0aGUgZXhhbXBsZSBpcyBnbG9zc2VkIGFzICI4LzEwIiBpbnN0ZWFkIG9m ICI5LzEwIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoqKiAnJ0lOQ0xV REVEIElOIERBRy1DTEwnJwoKKiBJbiBzZWN0aW9uIDExLCAibGVpIHJhdGN1IHBvaSB6dmF0aSBs ZSBwYW5rYSBjdSBzbyd1bWVpIGZvIGxvJ2kgcmF0Y3UiLCBidXQgdGhlcmUgaXMgbm8gNHRoIHBs YWNlIG9mIG1laS4KKiogUmVtb3ZlIHRoZSAiZm8iOyAoKEFwcHJvdmVkIEVycmF0dW18amNvd2Fu IEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogRXhhbXBsZSAxNC40IG5lZWRz IGEgc3ViLTIgYWZ0ZXIgYm90aCBudW1iZXJzLgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3Vz bWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogSW4gc2VjdGlvbiAxNywg YXQgdGhlIGJvdHRvbSBvZiBwYWdlIDQ1NCwgdGhlIHF1YWRyYXRpYyBmb3JtdWxhIHNob3VsZCBi ZSBkZXNjcmliZWQgYXMgYSBjbGFzc2ljIGV4YW1wbGUgb2Ygb3BlcmF0b3IgbG9naWNhbCBjb25u ZWN0aW9uLCBub3Qgb3BlcmFuZC4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQp KQoKKiBTZWN0aW9uIDIwLCBwNDU4OiAtZXN0YWJsaXNoZWQgLT4gZXN0YWJsaXNoZWQgICgoQXBw cm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiBTZWN0aW9uIDIxIHN0YXRlcyB0aGF0 IHRoZSByYWZzaSBvZiAiZnJpbnUiIG1heSBiZSB1c2VkIGFzIHJhZnNpIGZvciAiZmkndSI7IGhv d2V2ZXIsICJmcmludSIgbG9zdCBib3RoIG9mIGl0cyBzaG9ydCByYWZzaSBpbiB0aGUgUmVhbGxv Y2F0aW9uLCBzbyB0aGlzIHJlYWxseSBpc24ndCB2ZXJ5IHVzZWZ1bC4gVGhlIHRhYmxlIGJlbG93 IGxpc3RzICJmaSd1IiBhcyBhIHJhZnNpIHVzYWJsZSBmb3IgImZpJ3UiLCB0aGVyZWZvcmUgb2Yg ImZyaW51IjsgdGhlIGdpbXN0ZSBsaXN0cyAiZmkndSIgYXMgYSByYWZzaSBvZiAiY2ZpcHUiLgoq KiBUaGlzIGlzIGEgc2VyaW91cyBwcm9ibGVtIHdoaWNoIG5lZWRzIHNvbWUgdGhvdWdodC4gIFRo ZXJlIG5lZWRzIHRvIGJlIGEgcmFmc2kgZm9yIGZpJ3Ugc29tZWhvdy4gIC0tamNvd2FuICAnJydO T0ZJWCcnJwoKKiBTZWN0aW9uIDIyIGV4YW1wbGUgMjIuMywgIm1vJ2Ugdm9ib2kgcmVub21laSBz dSdpIHplIiwgZG9lcyBub3QgcGFyc2UuCioqIEl0IG5lZWRzICJ2ZWkiIGluIGZyb250IHRvIGJl IGEgcXVhbnRpZmllciAoYW4gb3BlcmFuZCBieSBpdHNlbGYgaXMgbm90IGEgcGVybWl0dGVkIGZy YWdtZW50KS4gQWxzbywgdGhlIGZvbGxvd2luZyB0ZXh0IG1lbnRpb25zICJ0ZSd1IiBidXQgdGhl IGV4YW1wbGUgb21pdHMgaXQuCioqKiBOb25lIG9mIHRob3NlIGV4YW1wbGVzIHBhcnNlIHdpdGhv dXQge2xpfSwgd2hpY2ggSSBoYXZlIGFkZGVkIHRvIGFsbC4gIFJlcGxhY2VkIHRoZSBvbmUgaW4g cXVlc3Rpb24gd2l0aCAibGkgbW8nZSB2b2JvaSByZW5vbWVpIHRlJ3Ugc3UnaSB6ZSIgKChBcHBy b3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcn CgotLS0KIUNoYXB0ZXIgMTkKCiogU2VjdGlvbiA0LCBwNDY3IGV4NC4zOiB6dSdvIC0+IHpvJ3Ug ICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoqKiAoKEFwcHJvdmVkIEVycmF0 dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlv biA2LCBwYWdlIDQ3Mi4gRXhhbXBsZSA2LjYgZW5kcyB3aXRoICJrbGFtYSIsIGJ1dCBmb3IgdGhl IGFyZ3VtZW50IHRvIG1ha2Ugc2Vuc2UsIGl0IGhhcyB0byBzYXkgIm51bmtsYSIuCioqICgoQXBw cm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwn JwoKKiBTZWN0aW9uIDcsIEV4YW1wbGUgNy4xIGhhcyBhcyB0aGUgRW5nbGlzaDogIkkgZ28tdG8g KGZpcnN0bHkpIHRoZSBzdG9yZSBhbmQgKHNlY29uZGx5KSB0aGUgbWFya2V0LiIgICJ0aGUgbWFy a2V0IiBzaG91bGQgYmUgInRoZSBob3VzZSIuCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNt aXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBFeGFtcGxlIDExLjgsIHRo ZXJlJ3MgYSBkZW5wYWJ1IGFmdGVyIHt6YSdlfSBhbmQgbm8gZGVucGFidSBhZnRlciB7YWxiZWlu aWFzfS4KKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycgKHpvcnQncyBmb3JrIGF0IGxlYXN0KSBi dXQgbmVlZHMgYXBwcm92YWwKCiogU2VjdGlvbiAxMSwgdGhlIHBhcmFncmFwaCBhZnRlciBleGFt cGxlIDExLjggc2F5cyAiY3RpaXB5cmlzIiBidXQgaXQgc2hvdWxkIGJlICJja2lpcHlyaXMiLiAg KChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCi0tLQoKIUNoYXB0ZXIgMjAKCiog U2VjdGlvbiBMRSwgcGFnZSA0OTguIEluICJsZSBnZXJrdSBrbGFtYSBsZSB6ZGFuaSIsICJjdSIg aXMgbWlzc2luZy4KKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcn SU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gVFVoRSwgcGFnZSA1MDUuIEluICJ4YWdt YXUgem8ndSB0dSdlIGdhbmFpIGNpZGphIGdpIGNuaW5vIC5pIGdhbmFpIHZhbmp1IGdpIHRvbGNp J28gdHUndSIsICJjbmlubyIgc2hvdWxkIGJlIHJlcGxhY2VkIGJ5ICJjaXRubyIuICBBbHNvLCBh IHByZW5leCBjYW4ndCBoYXZlIGEgc2VsYnJpLCBzbyAnJ3hhZ21hdScnIHNob3VsZCBiZSByZXBs YWNlZCBieSAnJ2xvIHhhZ21hdScnLgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFw cHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlvbiBTRSwgcGFnZSA1MDQ6 IG1pc3NpbmcgImN1IiBhZnRlciAiemFyY2kiLgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3Vz bWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogSW4gdGhlIHBhc3NhZ2Vz IG9uIFZFSSBhbmQgVkVoTywgdGhlICJibyJzIHNob3VsZCBiZSBjaGFuZ2VkIHRvICJiaSdlInMu ICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCi0tLQoKIUNoYXB0ZXIgMjEK CiogSW4gdGhlIEJORiBncmFtbWFyLCB0aGUgcnVsZSBzaW1wbGUtdGVuc2UtbW9kYWwtOTcyIGlz IG1pc3NpbmcgYSAifCIgYmVmb3JlIHRoZSBDVWhFLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dh biBBcHByb3ZlZCkpCgoqIEluIHRoZSBCTkYgZ3JhbW1hciwgdGhlIHJ1bGUgc2ltcGxlLXRlbnNl LW1vZGFsLTk3MiBoYXMgYW4gZXh0cmEgbmV3bGluZSBpbiB0aGUgc3BhY2UvdGltZSBzdWJwaHJh c2UuCgoqIEluIHRoZSBCTkYgZ3JhbW1hciwgdGhlIHJ1bGUgc2VsYnJpLTEtMTMxIGlzIG1pc3Np bmcgYSAifCIgYmVmb3JlIHRoZSBOQS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92 ZWQpKQoKKiBJbiB0aGUgQk5GIGdyYW1tYXIsIHRoZSBydWxlIHRhbnJ1LXVuaXQtMi0xNTIgaXMg bWlzc2luZyBhICJ8IiBiZWZvcmUgdGhlIEpBSS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4g QXBwcm92ZWQpKQoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcn SU5DTFVERUQgSU4gREFHLUNMTCcnIDsgYml6YXJlbGx5LCB0aGUgV29yZCBkb2MgdGhlIGJvb2sg d2FzIHByaW50ZWQgZnJvbSBkb2VzIG5vdCBoYXZlIHRoaXMgcHJvYmxlbSBhdCBhbGwuCgoqIElu IHRoZSBCTkYgZ3JhbW1hciwgdGhlIHJ1bGUgb3BlcmF0b3ItMS0zNzEgaXMgbWlzc2luZyB0d28g InwiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqIEluIHRoZSBCTkYg Z3JhbW1hciwgdGhlIHJ1bGUgbWV4LW9wZXJhdG9yLTM3NCBpcyBtaXNzaW5nIGEgInwiIGJlZm9y ZSB0aGUgTUFoTyBhbmQgYW5vdGhlciBiZWZvcmUgdGhlIFZVaFUuICAoKEFwcHJvdmVkIEVycmF0 dW18amNvd2FuIEFwcHJvdmVkKSkKCiogSW4gdGhlIEJORiBncmFtbWFyLCB0aGUgcnVsZSBvcGVy YW5kLTMtMzg1IGlzIG1pc3NpbmcgYSAifCIgYmVmb3JlIHRoZSBOSWhFLiAgKChBcHByb3ZlZCBF cnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqIEluIHRoZSBCTkYgZ3JhbW1hciwgaW4gdGhlIHJ1 bGUgdGltZV8xMDMwLCB0aGUgIlpFaEEgW1BVIFtOQUldIF0iIHNob3VsZCBiZSBlbmNsb3NlZCBp biBwYXJlbnRoZXNlcy4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpXaWtpbmV1cm90 aWMgbWFpbGluZyBsaXN0Cldpa2luZXVyb3RpY0Bsb2piYW4ub3JnCmh0dHA6Ly9tYWlsLmxvamJh bi5vcmcvbWFpbG1hbi9saXN0aW5mby93aWtpbmV1cm90aWMK