Received: from localhost ([::1]:58795 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.80.1) (envelope-from ) id 1XSRUa-0001Fo-3X; Fri, 12 Sep 2014 07:06:28 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:56442 helo=jukni.digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.80.1) (envelope-from ) id 1XSRUT-0001Ei-R6 for wikineurotic@lojban.org; Fri, 12 Sep 2014 07:06:25 -0700 Received: by jukni.digitalkingdom.org (sSMTP sendmail emulation); Fri, 12 Sep 2014 07:06:21 -0700 From: "Apache" Date: Fri, 12 Sep 2014 07:06:21 -0700 To: wikineurotic@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: -0.9 (/) X-Spam_score: -0.9 X-Spam_score_int: -8 X-Spam_bar: / Subject: [Wikineurotic] Wiki page CLL, aka Reference Grammar, Errata changed by ionac X-BeenThere: wikineurotic@lojban.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: webmaster@lojban.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikineurotic-bounces@lojban.org VGhlIHBhZ2UgQ0xMLCBha2EgUmVmZXJlbmNlIEdyYW1tYXIsIEVycmF0YSB3YXMgY2hhbmdlZCBi eSBpb25hYyBhdCAxNDowNSBHTVQKQ29tbWVudDogMTgvMjUKCllvdSBjYW4gdmlldyB0aGUgcGFn ZSBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOgogCmh0dHA6Ly93d3cubG9qYmFuLm9yZy90aWtpL0NM TCUyQyUyMGFrYSUyMFJlZmVyZW5jZSUyMEdyYW1tYXIlMkMlMjBFcnJhdGEKCllvdSBjYW4gdmll dyBhIGRpZmYgYmFjayB0byB0aGUgcHJldmlvdXMgdmVyc2lvbiBieSBmb2xsb3dpbmcgdGhpcyBs aW5rOiAKaHR0cDovL3d3dy5sb2piYW4ub3JnL3Rpa2kvdGlraS1wYWdlaGlzdG9yeS5waHA/cGFn ZT1DTEwlMkMlMjBha2ElMjBSZWZlcmVuY2UlMjBHcmFtbWFyJTJDJTIwRXJyYXRhJmNvbXBhcmU9 MSZvbGR2ZXI9MjI3Jm5ld3Zlcj0yMjgKCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKgpUaGUgY2hhbmdlcyBpbiB0aGlzIHZlcnNpb24g Zm9sbG93IGJlbG93LCBmb2xsb3dlZCBhZnRlciBieSB0aGUgY3VycmVudCBmdWxsIHBhZ2UgdGV4 dC4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioKCgorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKwpAQCAtTGluZXM6IDU1OS01NjIgY2hhbmdlZCB0byArTGluZXM6IDU1OS01NjQg QEAKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSsKKiogSXQgbmVlZHMgInZlaSIgaW4gZnJvbnQgdG8gYmUgYSBxdWFudGlmaWVyIChhbiBv cGVyYW5kIGJ5IGl0c2VsZiBpcyBub3QgYSBwZXJtaXR0ZWQgZnJhZ21lbnQpLiBBbHNvLCB0aGUg Zm9sbG93aW5nIHRleHQgbWVudGlvbnMgInRlJ3UiIGJ1dCB0aGUgZXhhbXBsZSBvbWl0cyBpdC4K KioqIE5vbmUgb2YgdGhvc2UgZXhhbXBsZXMgcGFyc2Ugd2l0aG91dCB7bGl9LCB3aGljaCBJIGhh dmUgYWRkZWQgdG8gYWxsLiAgUmVwbGFjZWQgdGhlIG9uZSBpbiBxdWVzdGlvbiB3aXRoICJsaSBt bydlIHZvYm9pIHJlbm9tZWkgdGUndSBzdSdpIHplIiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3Vz bWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKKyAKKyAqIFNlY3Rpb24gMjUu ICBUaGUgcmFmc2kgZm9yICJzbydlIiwgLXNvcC0sIGlzIG1pc3NpbmcsIHRoZSByYWZzaSBmb3Ig dGhlIGZvbGxvd2luZyBmb3VyIHdvcmRzIGFyZSBsaXN0ZWQgdW5kZXIgdGhlIHdyb25nIHdvcmQu ICBUaGF0IGlzLCAtc29yLSBpcyBhY3R1YWxseSB0aGUgcmFmc2kgZm9yICJzbydpIiwgYW5kIC1k YXotIGlzIHRoZSByYWZzaSBmb3IgImRhJ2EiLgoKLS0tCgoKCgoqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpUaGUgbmV3IHBhZ2UgY29u dGVudCBmb2xsb3dzIGJlbG93LgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKgoKVGhpcyBwYWdlIGlzIGZvciBlcnJhdGEgaW4gKChUaGUg Q29tcGxldGUgTG9qYmFuIExhbmd1YWdlKSksIHRoYXQgaXMgZm9yIG1pc3Rha2VzIHN1Y2ggYXMg dHlwb3MsIG9yIHNlbGYtY29udHJhZGljdGlvbnMsIG9yIGNvbnRyYWRpY3Rpb25zIHdpdGggb3Ro ZXIgYmFzZWxpbmVkIGxhbmd1YWdlIGRlZmluaXRpb24gbWF0ZXJpYWwuIFRoaXMgaXMgX19ub3Rf XyBhIHBhZ2UgdG8gcHV0IGRlc2lkZXJhdGEgKHN1Z2dlc3Rpb25zIGZvciBpbXByb3ZlbWVudCk7 IHN1Y2ggc3VnZ2VzdGlvbnMgc2hvdWxkIGdvIHRvICgoU3VnZ2VzdGlvbnMgZm9yIENMTCwgc2Vj b25kIGVkaXRpb24pKS4gIFRoaXMgaXMgYWxzbyBub3QgYSBwYWdlIHRvIHB1dCBlcnJhdGEgcmVz dWx0aW5nIGZyb20gdGhlIDR0aCBCYXNlbGluZSBHcmFtbWFyIHByb3Bvc2FsIChpLmUuLCB0aGUg KChQRUcpKSBncmFtbWFyKTsgUEVHIGdyYW1tYXIgZXJyYXRhIHNob3VsZCBnbyB0byAoKENMTCBQ RUcgRXJyYXRhKSkuCgoKCkFuIG9ubGluZSB2ZXJzaW9uIG9mIHRoZSBDTEwgaW5jb3Jwb3JhdGlu ZyB0aGUgY2hhbmdlcyBvbiB0aGlzIHBhZ2UgW2h0dHA6Ly9sb2piYW4uZ2l0aHViLmNvbS9jbGwv fGlzIGF2YWlsYWJsZV0uCgoKClNlZSBhbHNvIFtXaGF0K2lzK0xvamJhbiUzRitlcnJhdGEmYmw9 eXxXaGF0IGlzIExvamJhbj8gZXJyYXRhXSAoZm9yIHRoZSBwdWJsaXNoZWQgdmVyc2lvbiksIExl dmVsIDAgQm9va2xldCBFcnJhdGEgW3Rpa2ktZWRpdHBhZ2UucGhwP3BhZ2U9TGV2ZWwrMCtCb29r bGV0K0VycmF0YSZsYW5nPXw/XSAoZm9yIHRoZSBwcmUtcHVibGljYXRpb24gcmV2aWV3czsgbm93 IGZpbmlzaGVkKSwgYW5kIFtMZXNzb25zK0VycmF0YSZibD15fExlc3NvbnMgRXJyYXRhXSAoZm9y IHRoZSBiZWdpbm5lcnMnIGNvdXJzZSkuCgoKClRoZSAiJydJTkNMVURFRCBJTiBEQUctQ0xMJyci IHRhZyBtZWFucyB0aGF0IGh0dHA6Ly9sb2piYW4uZ2l0aHViLmNvbS9jbGwvIGluY2x1ZGVzIHRo aXMgZml4LCB3aGljaCBhbHNvIG1lYW5zIGl0J2xsIHByb2JhYmx5IGJlIGluIHRoZSBuZXh0IENM TCB2ZXJzaW9uLgoKCgotLS0KCgoKIUNoYXB0ZXIgMQoKCgoqIFRoZXJlIGlzIGEgcGFyYWdyYXBo IGF0IHRoZSB2ZXJ5IGJlZ2lubmluZyBvZiBDTEwsIG9uIHBhZ2UgNCwgd2l0aCB0aGUgc2VudGVu Y2UgJyciSW4gZXNzZW5jZSwgQ2hhcHRlciAyIGdpdmVzIGEgYnJpZWYgb3ZlcnZpZXcgb2YgdGhl IGxhbmd1YWdlLCBDaGFwdGVyIDIxIGdpdmVzIHRoZSBmb3JtYWwgc3RydWN0dXJlIG9mIHRoZSBs YW5ndWFnZSwgYW5kIHRoZSBjaGFwdGVycyBpbiBiZXR3ZWVuIHB1dCBzZW1hbnRpYyBib25lcyBv biB0aGF0IGZvcm1hbCBmbGVzaC4iJycKCioqIFdvdWxkbid0IGl0IG1ha2UgbW9yZSBzZW5zZSB0 byBzYXkgInB1dCBzZW1hbnRpYyBmbGVzaCBvbiB0aG9zZSBmb3JtYWwgYm9uZXMiPyAoKEFwcHJv dmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoK KiBTZWN0aW9uIDYsIGl0IHNheXMgIkxhcnJ5IEhvcm4ncyB3b3JrICcnVGhlIE5hdHVyYWwgSGlz dG9yeSBvZiBOZWdhdGlvbicnIi4gSXQgd291bGQgYXBwZWFyIHRoYXQgZXZlcnlvbmUgZWxzZSBj YWxscyBpdCAnJ19fQV9fIE5hdHVyYWwgSGlzdG9yeSBvZiBOZWdhdGlvbicnLCBieSBfX0xhdXJl bmNlX18gKFIuKSBIb3JuLgoKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycgKHpvcnQncyBmb3Jr IGF0IGxlYXN0KSBidXQgbmVlZHMgYXBwcm92YWwKCgoKLS0tCgohQ2hhcHRlciAyCgoKCiogU2Vj dGlvbiA1IGV4YW1wbGUgNS43IHVzZXMgInRpIiB0byBwb2ludCBhdCBhIGxhbmd1YWdlLCBhbmQg c2hvdWxkIGhhdmUgaXRzIGFjY29tcGFueWluZyBub3RlIGNoYW5nZWQgdG8gbW9yZSBhY2N1cmF0 ZWx5IHJlZmxlY3QgdGhhdCB0aGlzIGlzIG5vdCBob3cgInRpIiB3b3Jrcy4KCgoKKiBTZWN0aW9u IDYgRXhhbXBsZSA2LjUgaGFzICJjdSIgYXMgZWxpZGFibGUsIHdoZW4gaW4gZmFjdCBpdCBpcyBz aW1wbHkgaWxsZWdhbCB0aGVyZS4gIFJlbW92ZWQuICAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoK KiogdWFuYWksIEkgc3RpbGwgc2VlICJjdSIgaW4gREFHLUNMTC4KCgoKKiBTZWN0aW9uIDggcGFn ZSAxNyBjbGFpbXMgdGhhdCAieHUiIGlzIGRpc2N1c3NlZCBpbiBzZWN0aW9uIDEuNywgd2hpY2gg aGFwcGVucyB0byBsaXN0IHRoZSBjYXB0aW9ucyBmb3IgYWxsIHRoZSBjaGFwdGVyIHBpY3R1cmVz LgoKKiogSXQgc2hvdWxkIHJlZmVyIHRvIFNlY3Rpb24gMTUuICAoKEFwcHJvdmVkIEVycmF0dW18 amNvd2FuIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCioqKiBUaGUgbGluayBp biB0aGUgY3VycmVudCBEQUctQ0xMIGlzIHBvaW50aW5nIHRvICIyLzIvMTUiIGluc3RlYWQgb2Yg dG8gIjIvMTUiLgoKCgoqIFNlY3Rpb24gMTAgc2F5cyB0aGF0IGV4YW1wbGUgMTAuMyAobWkgdGF2 bGEgZG8gbGUgdGF2bGEga3UpIG1lYW5zIHRoZSBzYW1lIGFzIChtaSB0YXZsYSBkbyBsZSB0YXZs YSBrdSkuIEV4YW1wbGUgMTAuMyBzaG91bGQgYmUgIm1pIHRhdmxhIGRvIGxlIHRhdmxhIiwgYXMg aXQgZGVzY3JpYmVzIGhvdyAia3UiIG1heSBiZSBvbWl0dGVkLgoKKiogSXQgYXBwZWFycyB0aGF0 IGV4YW1wbGUgMTAuMyBpcyBpbmNvcnJlY3Qgb25seSBpbiB0aGUgb25saW5lIHZlcnNpb24sIG5v dCB0aGUgcHVibGlzaGVkIGJvb2suCgoKCiogU2VjdGlvbiAxNyBzYXlzICJOb3RlIHRoYXQgRXhh bXBsZSAxNy4zICBoYXMgYW5kIHJlcXVpcmVzIGEg4oCcY3XigJ0gdG8gcHJldmVudCDigJxiYWpy YeKAnSBhbmQg4oCca2xhbWHigJ0gZnJvbSBmb3JtaW5nIGEgdGFucnUsIGJ1dCBFeGFtcGxlIDE3 LjQgIGFuZCBFeGFtcGxlIDE3LjUgIGxhY2sgdGhlIHVubmVjZXNzYXJ5IOKAnGN14oCdLiIsIGJ1 dCBleGFtcGxlIDE3LjMgaXMgImxhIGRqYW4uIH5ucH5bY3Vdfi9ucH4ga2xhbWEgbGUgemFyY2ki LgoKKiogSXQgYXBwZWFycyB0aGF0IHRoZSBvZmZlbmRpbmcgc2VudGVuY2UgaXMgcHJlc2VudCBv bmx5IGluIHRoZSBvbmxpbmUgdmVyc2lvbiwgbm90IHRoZSBwdWJsaXNoZWQgYm9vay4KCgoKKiBF eGFtcGxlIDE3LjkgaXMgImxlIHZpIHRhdmxhIGt1IGN1IGJhIGtsYW1hIiBpbiB0aGUgb25saW5l IHZlcnNpb24sIGFuZCB0b3RhbGx5IGJyb2tlbiBpbiB0aGUgcHVibGlzaGVkIGJvb2suCgoqKiBH byB3aXRoIHRoZSBvbmxpbmUgdmVyc2lvbi4gICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMg QXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIEV4YW1wbGUgMTcuOSBpbiBk YWctY2xsIGFzIG9mIDIwMTItMDUtMDUgaXMgImxlIHZpIHRhdmxhIH5ucH5ba3Vdfi9ucH4gY3Ug YmEga2xhbWEiLiBTaW5jZSB0aGUgc2FtZSBzZWN0aW9uIGhhcyBleHBsYWluZWQgdGhhdCB0ZW5z ZSB0YWdzIG1ha2UgImN1IiB1bm5lY2Vzc2FyeSwgSSB0aGluayB0aGUgZXhhbXBsZSBzaG91bGQg YmUgImxlIHZpIHRhdmxhIH5ucH5ba3VdIFtjdV1+L25wfiBiYSBrbGFtYSIuCgoKCi0tLQoKCgoh IENoYXB0ZXIgMwoKCgpBIGxvdCBvZiB0aGUgSVBBIGV4YW1wbGVzIHVzZSBhIHNwYWNlIHRvIGlu ZGljYXRlIGEgc3lsbGFibGUgYnJlYWsuIFRoaXMgaXMgbm90IHN0YW5kYXJkIElQQSB1c2FnZTsg YWNjb3JkaW5nIHRvIElQQSwgdGhlIHBlcmlvZCDigJwu4oCdIHNob3VsZCBiZSB1c2VkIHRvIGlu ZGljYXRlIGEgc3lsbGFibGUgZGl2aXNpb24uCgoKCiogU2VjdGlvbiAyLCBwYWdlIDMwOiBpbiB0 aGUgdGFibGUgdGhlIGRlc2NyaXB0aW9uIG9mICJhcG9zdHJvcGhlIiBzaG91bGQgcmVhZCAiYW4g dW52b2ljZWQgZ2xvdHRhbCBzcGlyYW50Iiwgbm90ICJhIHVudm9pY2VkIi4KCioqICgoQXBwcm92 ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoK CgoqIFNlY3Rpb24gMiwgZGlnaXRhbCB2ZXJzaW9uLiAgVGhlIElQQSB0YWJsZSBnb3QgaG9ycmli bHkgbWFuZ2xlZCBzb21ld2hlcmUgYWxvbmcgdGhlIHdheS4gIEl0IHNob3VsZCBsb29rIGxpa2Ug KFNBTVBBIGNvbHVtbiBhZGRlZCk6CgoKCnx8IExldHRlciB8IElQQSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgU0FNUEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8IERlc2NyaXB0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAKCiAnICAgICAgfCBbaF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IFtoXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhbiB1bnZv aWNlZCBnbG90dGFsIHNwaXJhbnQgICAgICAgICAgICAgICAgICAgICAgCgogLCAgICAgIHwgLS0t ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAtLS0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdGhlIHN5bGxhYmxlIHNlcGFyYXRvciAgICAg ICAgICAgICAgICAgICAgICAgICAgIAoKIC4gICAgICB8IFvKlF0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IFs/XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCBhIGdsb3R0YWwgc3RvcCBvciBhIHBhdXNlICAgICAgICAgICAgICAgICAgICAg ICAgCgogYSAgICAgIHwgW2FdLCBbyZFdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg W2FdLCBbQV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGFuIG9wZW4g dm93ZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiBiICAgICAgfCBbYl0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtiXSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhIHZvaWNlZCBiaWxhYmlhbCBzdG9wICAgICAg ICAgICAgICAgICAgICAgICAgICAgCgogYyAgICAgIHwgW8qDXSwgW8qCXSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IFtTXSwgW3NgXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCBhbiB1bnZvaWNlZCBwb3N0YWx2ZW9sYXIgZnJpY2F0aXZlICAgICAgICAgICAg ICAgICAgICAgCgogZCAgICAgIHwgW2RdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCBbZF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSB2 b2ljZWQgZGVudGFsL2FsdmVvbGFyIHN0b3AgICAgICAgICAgICAgICAgICAgIAoKIGUgICAgICB8 IFvJm10sIFtlXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtFXSwgW2VdICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhIGZyb250IG1pZCB2b3dlbCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogZiAgICAgIHwgW2ZdLCBbybhdICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgW2ZdLCBbcFxdICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8IGFuIHVudm9pY2VkIGxhYmlhbCBmcmljYXRpdmUgICAgICAgICAgICAg ICAgICAgICAKCiBnICAgICAgfCBbyaFdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCBbZ10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSB2 b2ljZWQgdmVsYXIgc3RvcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKIGkgICAgICB8 IFtpXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW2ldICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgZnJvbnQgY2xvc2Ugdm93ZWwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAKCiBqICAgICAgfCBbypJdLCBbypBdICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgW1pdLCBbemBdICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8IGEgdm9pY2VkIHBvc3RhbHZlb2xhciBmcmljYXRpdmUgICAgICAgICAg ICAgICAgICAgICAgICAKCiBrICAgICAgfCBba10gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IFtrXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCBhbiB1bnZvaWNlZCB2ZWxhciBzdG9wICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogbCAg ICAgIHwgW2xdLCBbbMypXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtsXSwgW2w9 XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhIHZvaWNlZCBsYXRlcmFs IGFwcHJveGltYW50IChtYXkgYmUgc3lsbGFiaWMpICAgCgogbSAgICAgIHwgW21dLCBbbcypXSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFttXSwgW209XSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCBhIHZvaWNlZCBiaWxhYmlhbCBuYXNhbCAobWF5IGJlIHN5 bGxhYmljKSAgICAgICAgCgogbiAgICAgIHwgW25dLCBbbsypXSwgW8WLXSwgW8WLzKldICAgICAg ICAgICAgICAgICAgICAgfCBbbl0sIFtuPV0sIFtOXSwgW049XSAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgYSB2b2ljZWQgZGVudGFsIG9yIHZlbGFyIG5hc2FsIChtYXkgYmUgc3lsbGFiaWMp IAoKIG8gICAgICB8IFtvXSwgW8mUXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtv XSwgW09dICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhIGJhY2sgbWlk IHZvd2VsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogcCAgICAgIHwgW3BdICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbcF0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4gdW52b2ljZWQgYmlsYWJpYWwgc3RvcCAgICAg ICAgICAgICAgICAgICAgICAgIAoKIHIgICAgICB8IFtyXSwgW8m5XSwgW8m+XSwgW8qAXSwgW3LM qV0sIFvJucypXSwgW8m+zKldLCBbyoDMqV0gfCBbcl0sIFtyXF0sIFs0XSwgW1JcXSwgW3I9XSwg W3JcPV0sIFs0PV0sIFtSXD1dIHwgYSByaG90aWMgc291bmQgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIAoKIHMgICAgICB8IFtzXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgW3NdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IGFuIHVudm9pY2VkIGFsdmVvbGFyIHNpYmlsYW50ICAgICAgICAgICAgICAgICAgICAKCiB0ICAg ICAgfCBbdF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFt0XSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhbiB1bnZvaWNlZCBkZW50YWwv YWx2ZW9sYXIgc3RvcCAgICAgICAgICAgICAgICAgCgogdSAgICAgIHwgW3VdICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCBbdV0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgYSBiYWNrIGNsb3NlIHZvd2VsICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIAoKIHYgICAgICB8IFt2XSwgW86yXSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8IFt2XSwgW0JdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBh IHZvaWNlZCBsYWJpYWwgZnJpY2F0aXZlICAgICAgICAgICAgICAgICAgICAgIAoKIHggICAgICB8 IFt4XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW3hdICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGFuIHVudm9pY2VkIHZlbGFyIGZyaWNh dGl2ZSAgICAgICAgICAgICAgICAgICAgICAKCiB5ICAgICAgfCBbyZldICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCBbQF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgYSBjZW50cmFsIG1pZCB2b3dlbCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIAoKIHogICAgICB8IFt6XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgW3pdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9p Y2VkIGFsdmVvbGFyIHNpYmlsYW50ICAgICAgICAgICAgICAgICAgICAgICB8fAoKCgoqKiBTb3J0 LW9mICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKTsgd2hhdCBJIGFjdHVh bGx5IGRpZCBpcyBoYWQgQXJudCByZXZpZXcgd2hhdCBzb21lb25lIGVudGVyZWQgaW4gREFHLUNM TCwgd2hpY2ggcHJlc3VtYWJseSB3YXMgYmFzZWQgb24gdGhlIGFib3ZlLiAgJydJTkNMVURFRCBJ TiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDIsIHBhZ2UgMzAuIGZvciB0aGUgc2Vjb25kIGVuZyAo aW1tZWRpYXRlbHkgdG8gdGhlIGxlZnQgb2YgIihtYXkgYmUgc3lsbGFiaWMpIikgdGhlIHN5bGxh YmljaXR5IG1hcmtlciBpcyBjb25jZWFsZWQgYnkgdGhlIHJpZ2h0IHRhaWwuCgoqKiBJIGNhbiBq dXN0IGJhcmVseSBzZWUgdGhlIG1hcmtlciB1bmRlciBhIGdvb2QgbGlnaHQuICAgKChBcHByb3Zl ZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqKiogRm9yIGZ1dHVyZSBlZGl0aW9ucyA6LSkg LCBub3RlIHRoYXQgdGhlIElQQSBhcHByb3ZlcyBwdXR0aW5nIGRpYWNyaXRpY3MgYWJvdmUgcmF0 aGVyIHRoYW4gYmVsb3cgdGhlIGxldHRlciBpbiBjYXNlcyBsaWtlIHRoZXNlLiBVbmZvcnR1bmF0 ZWx5LCB0aGUgZm9udHMgaGl0aGVydG8gYXZhaWxhYmxlIGhhdmUgbm90IG1hZGUgdGhpcyBmYWNp bGl0eSBhdmFpbGFibGUsIHNvIG91dHNpZGUgdGhlIGpvdXJuYWwgb2YgdGhlIElQQSBpdHNlbGYs IHN1Y2ggb3Zlci1kaWFjcml0aWNzIGFyZSBzZWxkb20gc2Vlbi4g4oCUIG5pdGNpb24KCgoKKiBJ biBzZWN0aW9uIDMuMiwgdGhlIGNvbW1hIHNob3VsZCAocHJvYmFibHkpIGJlIHJlcHJlc2VudGVk IGJ5IHRoZSBJUEEgbm90YXRpb24gWy58Ll0sIGFzIHRoZSBwZXJpb2QgaXMgdXNlZCBpbiBJUEEg dG8gZGVub3RlIHN5bGxhYmxlIGJyZWFrcy4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBw cm92ZWQpKQoKCgoqIFNlY3Rpb24gMiwgcGFnZSAzMC4gRm9yIHRoZSBMb2piYW4gcGhvbmVtZSAv ci8sIHRoZSBJUEEgc3ltYm9sIGZvciBhIGRlbnRhbC9hbHZlb2xhciB2b2ljZWQgYXBpY2FsIHRh cCBpcyBnaXZlbiB3aXRoIGEgc3lsbGFiaWNpdHkgbWFya2VyIGJlbG93LiBBIHRhcCBjYW4ndCBi ZSBzeWxsYWJpYywgYmVjYXVzZSBpdCBpcyBieSBkZWZpbml0aW9uIGluc3RhbnRhbmVvdXMuICAo KEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkgSnVzdCByZW1vdmUgdGhhdCBjYXNl IGFsdG9nZXRoZXIuCgoKCiogU2VjdGlvbiAyLiAgVGhlIGRlc2NyaXB0aW9ucyBvZiAnJ2MnJyBh bmQgJydqJycgYXJlIGxpc3RlZCBhcyAiY29yb25hbCBzaWJpbGFudCJzLiAgVGhlIGRlc2NyaXB0 aW9ucyBzaG91bGQgcmVhZCAidm9pY2VsZXNzIHBvc3RhbHZlb2xhciBmcmljYXRpdmUiIGFuZCAi dm9pY2VkIHBvc3RhbHZlb2xhciBmcmljYXRpdmUiLCByZXNwZWN0aXZlbHkuICAoKEFwcHJvdmVk IEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDMsIHRoaXJkIHBhcmFncmFw aCAocGFnZSAzMSk6ICJhIHVudm9pY2VkIHZvd2VsIGdsaWRlIiBzaG91bGQgYmUgImFuIHVudm9p Y2VkIHZvd2VsIGdsaWRlIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92 ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNiwgcGFnZSAzNi4gSVBB IGZvciB0aGUgdW5hY2NlcHRhYmxlIEFtZXJpY2FuIGZsYXAgdmFyaWFudCBvZiBpbnRlcnZvY2Fs aWMgJyd0Jycgc2hvd3MgdGhlIEdBICcncicnIHNvdW5kICh1cHNpZGUtZG93biByKSBpbnN0ZWFk IG9mIHRoZSBmbGFwIChsaWtlIGFuIHIgd2l0aCBubyB2ZXJ0aWNhbCBiaXQgYXQgdGhlIHRvcCDi gJQgc2VlIHRoZSBsaXN0IG9mIGFjY2VwdGlibGUgJydyJycgdmFyaWFudHMgb24gb24gcGFnZSA0 NCB3aGVyZSBpdCBhcHBlYXJzIGNvcnJlY3RseSkgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4g QXBwcm92ZWQpKQoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcn SU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA2LCBwYWdlIDM2LiAoU2FtZSBhcyBw cmV2aW91cyBlcnJhdHVtKSBUaGUgY29uc29uYW50IGlzIHJlZmVycmVkIHRvIGFzIGEgZmxhcCwg d2hpbGUgaXQgaXMgYWN0dWFsbHkgYSB0YXAuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFw cHJvdmVkKSkKCgoKKiBTZWN0aW9uIDcuIEluIGJldHdlZW4gdGhlIHNoYWRlZCBib3hlcywgImEg cGFpcmluZyBvZiB2b2ljZWQgYW5kIHVudm9pY2VkIGVxdWl2YWxlbnQgdm93ZWxzIiBzaG91bGQg cmVhZCAiYSBwYWlyaW5nIG9mIHZvaWNlZCBhbmQgdW52b2ljZWQgZXF1aXZhbGVudCBjb25zb25h bnRzIi4KCgoKKiBTZWN0aW9uIDgsIHBhZ2UgMzguIElQQSBmb3IgcHJvbnVuY2lhdGlvbiBvZiAi eGFwY2tlIiBoYXMgYyB3aGVyZSBpdCBzaG91bGQgaGF2ZSBTIChsb25nIHMpLiAgKChBcHByb3Zl ZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA5LCBwYWdlIDQwLiBJUEEg Zm9yIHByb251bmNpYXRpb24gb2YgImRpa3lqdm8iIGhhcyBqIHdoZXJlIGl0IHNob3VsZCBoYXZl IFogKHRoYXQgbGl0dGxlIHNjcmlwdCB6IHRoaW5nKSAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dh biBBcHByb3ZlZCkpCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkg JydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDEyLCBwYWdlIDQ2LiBXaGF0IHNo b3VsZCBiZSB0aGUgQ3lyaWxsaWMgbGV0dGVyIDsgaXMgcHJpbnRlZCBhcyBzb21ldGhpbmcgdGhh dCBsb29rcyBsaWtlIHRoZSBHcmVlayBsZXR0ZXIgLiBJcyB0aGlzIG9ubHkgYSB0eXBvZ3JhcGhp Y2FsIHZhcmlhbnQgb2YgdGhlIDssIG9yIGlzIGl0IGEgdmFyaWFudD8KCgoKKiogVGhpcyBlcnJh dHVtIGlzIGluZGVjaXBoZXJhYmxlIGFuZCBzaG91bGQgYmUgZHJvcHBlZCwgdW5sZXNzIHNvbWVv bmUgY2FuIHJlY29uc3RydWN0IGl0LiAgVGhlIEN5cmlsbGljIGxldHRlcnMgbG9vayBmaW5lLiAg LS1qY293YW4KCgoKKiBTZWN0aW9uIDEyLCBwYWdlIDQ2LiBSZXBsYWNlIHRoZSB3b3JkcyAidGhl IGhhcmQgc2lnbiIgd2l0aCBhbiBhY3R1YWwgaGFyZCBzaWduLCBVKzA0NEEgQ1lSSUxMSUMgU01B TEwgTEVUVEVSIEhBUkQgU0lHTi4KCgoKKiBTZWN0aW9uIDEyLCBwYWdlIDQ3LiAiYXJlLyJlc3Nl IiBzaG91bGQgcHJvYmFibHkgYmUgImFyZSIvImVzc2UiICh0aGUgYWN1dGUgb24gdGhlIGEgbWF5 IG9yIG1heSBub3QgaGF2ZSBiZWVuIGxlZnQgb2ZmLCBidXQgdGhlIGNsb3NpbmcgcXVvdGUgYWZ0 ZXIgYXJlIGlzIGRlZmluYXRlbHkgbWlzc2luZy4pCgoqKiBNeSBjb3B5IHNob3dzIHRoZSBhY3V0 ZS4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVE IElOIERBRy1DTEwnJwoKCgotLS0KCgoKIUNoYXB0ZXIgNAoKCgoqIFNlY3Rpb24gNCwgcGFnZSA1 NC4gVGhlIGJvb2sgc3RhdGVzIHRoYXQgZnUnaXZsYSB3aXRoIGEgZm9ybSBsaWtlICcnc3BhJ2kn JyBhcmUgdmFsaWQuIFRoZXkgYXJlIG5vdCwgdGhleSBmYWlsIHRoZSBzbGlua3UnaSB0ZXN0LiAo KEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xM JycKCgoKKiBTZWN0aW9uIDYsIHAgNTgsICItbGFjIiBpbiB0aGUgdGhpcmQgdGFibGUgaW4gdGhh dCBzZWN0aW9uIHNob3VsZCBiZSAiLWxhYy0iCgoKCiogU2VjdGlvbiA2LCBpdCBzYXlzICJNb3N0 IGNtYXZvIHRoYXQgaGF2ZSByYWZzaSBhcmUgb25lcyB1c2VkIGluIGNvbXBvc2luZyB0YW5ydSAo Zm9yIGEgY29tcGxldGUgbGlzdCwgc2VlIENoYXB0ZXIgMTIpIiwgYnV0IHRoZXJlIGlzIG5vIHN1 Y2ggbGlzdCBpbiBDaGFwdGVyIDEyLCBvciBhbnl3aGVyZSBpbiB0aGUgYm9vayAoanUnb3NhaSku IFBlcmhhcHMgaXQgd2FudHMgdG8gcG9pbnQgdG8gdGhlIGxpc3Qgb2YgUEEgcmFmc2kgaW4gQ2hh cHRlciAxOCBzZWN0aW9uIDI1PyBPciB0byB0aGUgbGlzdHMgb2YgdGFucnUgaW4gQ2hhcHRlciA1 IHNlY3Rpb25zIDE0IGFuZCAxNT8KCioqIFdoYXQgSSBwcm9iYWJseSBtZWFudCB3YXMgdGhhdCBD aGFwdGVyIDEyLCB0YWtlbiBhcyBhIHdob2xlLCBkaXNjdXNzZXMgdGhlIGNtYXZvIHVzZWQgaW4g Y29uc3RydWN0aW5nIHRhbnJ1LiAgSSBkb24ndCB0aGluayBhbnkgc3BlY2lmaWMgbGlzdCBldmVy IGV4aXN0ZWQuICBJJ2QganVzdCBkcm9wIHRoZSBwYXJlbnRoZXRpY2FsIHNlbnRlbmNlLgoKCgoq IFNlY3Rpb24gNiwganVzdCBhZnRlciBleGFtcGxlIDYuOS4gSXQgc2F5cyAic29tZSBvZiB0aGUg dW5yZWR1Y2VkIGZvcm1zIGluIHRoZSBwcmV2aW91cyBleGFtcGxlIiwgYnV0IGl0IGlzIG5vdCBy ZWZlcnJpbmcgdG8gdGhlIHByZXZpb3VzIGV4YW1wbGU6IGl0IGlzIHJlZmVycmluZyBhbGwgdGhl IHdheSBiYWNrIHRvIGV4YW1wbGVzIDYuMSBhbmQgNi4yLCBzbyBpdCBzaG91bGQgYmUgInNvbWUg b2YgdGhlIHVucmVkdWNlZCBmb3JtcyBpbiB0aGUgcHJldmlvdXMgZXhhbXBsZV9fc19fIi4KCioq ICcnSU5DTFVERUQgSU4gREFHLUNMTCcnICh6b3J0J3MgZm9yayBhdCBsZWFzdCkKCihBcHByb3Zl ZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICBSZWZlciBleHBsaWNpdGx5IHRvIDYuMSBhbmQg Ni4yCgoKCiogU2VjdGlvbiA3LCBwYWdlIDYwLiBJbiBleGFtcGxlIDYuMTYsIHRoZSB3b3JkICJ4 YXJueWthcmNlIiBpcyBnbG9zc2VkIGFzICJ3YXItY2FyIi4gRWl0aGVyIHRoZSBnbG9zcyBzaG91 bGQgYmUgdXBkYXRlZCB0byByZWZsZWN0IHRoZSB2ZWxqdm8gKCJzdHViYm9ybi1jYXIiKSwgb3Ig dGhlIGx1anZvIHNob3VsZCBiZSB1cGRhdGVkIHRvIHJlZmxlY3QgdGhlIGdsb3NzICJqYW1rYXJj ZSIKCioqIFRoZSBsYXR0ZXIgKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkp ICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA3LCBtYWtpbmcgYSB0eXBlIDMg ZnUnaXZsYSwgc3RlcCA1IHNob3VsZCByZWFkICJzdGVwcyAxLTQiLCBub3QgInN0ZXBzIDEtNSIu ICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDcsIHN0 ZXAgNSBvZiB0aGUgU3RhZ2UgMyBmdSdpdmxhOiAiaWYgdGhlIHJhZnNpIGVuZHMgaW4gJydyJycg YW5kIHRoZSByZXN0IG9mIHRoZSBmdSdpdmxhIGJlZ2lucyB3aXRoICcnbicnIChvciB2aWNlIHZl cnNhKSB1c2UgYW4gJydsJyctaHlwaGVuIiBzaG91bGQgcmVhZCAgImlmIHRoZSByYWZzaSBlbmRz IGluICcncicnIGFuZCB0aGUgcmVzdCBvZiB0aGUgZnUnaXZsYSBiZWdpbnMgd2l0aCAnJ24nJywg Jyd0YycnLCAnJ3RzJycsICcnZHonJyBvciAnJ2RqJycsIG9yIHRoZSByYWZzaSBlbmRzIGluICcn bicnIGFuZCB0aGUgcmVzdCBvZiB0aGUgZnUnaXZsYSBiZWdpbnMgd2l0aCAnJ3InJyB1c2UgYW4g JydsJyctaHlwaGVuIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoq IFRoZSBlbmQgb2Ygc2VjdGlvbiA3IHNlZW1zIHRvIGltcGx5IHRoYXQgY21lbmUgYXJlIGV4ZW1w dCBmcm9tIHRoZSBub3JtYWwgcmVzdHJpY3Rpb25zIG9uIGNvbnNvbmFudCBjbHVzdGVycyBhcyBs b25nIGFzIGVhY2ggY29uc29uYW50IHBhaXIgaXMgdmFsaWQuCgoKCiogU2VjdGlvbiA4LiBFeGFt cGxlIDguMTAgJydkamFuZGpvbnonJyBpcyBub3QgdmFsaWQgbG9qYmFuIGFzIGl0IGNvbnRhaW5z IHRoZSBmb3JiaWRkZW4gY29uc29uYW50IHNlcXVlbmNlIGBuZGpgLiAgICAoKEFwcHJvdmVkIEVy cmF0dW18amNvd2FuIEFwcHJvdmVkKSkgIFJlcGxhY2Ugd2l0aCBhIGRpZmZlcmVudCBuYW1lLgoK KiogUmVwbGFjaW5nIHdpdGggIkpvaG4gQnJvd24iIGFzICJkamFuYnJhdW4iLiAtLXJscG93ZWxs ICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA4LCBwYWdlIDY2LiBFeGFtcGxl IDguMTIuIFNheXMgdGhhdCB0aGUgZ2lzbXUgInNvbHJpIiBtZWFucyAiYWN0dWFsbHksICdwZXJ0 YWluaW5nIHRvIHRoZSBzdW4nIi4gVGhpcyBpcyBmYWxzZS4gQWNjb3JkaW5nIHRvIHRoZSBnaXNt dSBsaXN0LCBpdCBtZWFucyAnJ2lzJydhIHN1bi4KCioqIExlYXZlIHRoaXMgb25lIGFsb25lLiAg QXMgYSBzZWx0YXUsICJzb2xyaSIgZG9lcyBpbmRlZWQgbWVhbiAic29sYXIiLiAgLS1qY293YW4K CgoKKiBTZWN0aW9uIDExLCA1YSkgJydFeGFtaW5lIGFsbCB0aGUgQy9DIGNvbnNvbmFudCBwYWly cyB0aGF0IGpvaW4gdGhlIENWQyByYWZzaSwgYW5kIGFsc28gdGhlIHBhaXIgYmV0d2VlbiB0aGUg bGFzdCBDVkMgYW5kIHRoZSBYIHBvcnRpb24sIGlnbm9yaW5nIGFueSAieSItaHlwaGVuIGJlZm9y ZSB0aGUgWC4nJyBzaG91bGQgcmVhZCBpbnN0ZWFkOiAnJ0V4YW1pbmUgYWxsIHRoZSBDL0MgY29u c29uYW50IHBhaXJzIHVwIHRvIHRoZSBmaXJzdCAieSItaHlwaGVuLCBvciB1cCB0byB0aGUgZW5k IG9mIHRoZSB3b3JkIGluIGNhc2UgdGhlcmUgYXJlIG5vICJ5Ii1oeXBoZW5zLicnCgoqKiAoKEFw cHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xM JycKCgoKKiBTZWN0aW9uIDEyLiBJbiBFeGFtcGxlcyAxMi4yLCAxMi4zIGFuZCAxMi40IHRoZSBj YWxjdWxhdGlvbnMgYXJlIGdpdmVuIGFzIDMyNTAwIG1pbnVzIHRoZSBzY29yZSwgaW5zdGVhZCBv ZiBzaW1wbHkgdGhlIHNjb3JlLiAoUHJvYmFibHkgZnJvbSBwcmV2aW91cyB2ZXJzaW9ucyBvZiB0 aGUgYWxnb3JpdGhtLikgICAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoK CiogU2VjdGlvbiAxMywgcGFnZSA3NCwgdGhpcmQgdGFibGU6IHRoZXJlIGlzIG5vIHNwYWNlIGJl dHdlZW4gImxvamJhdWdyaSIgYW5kICJsb2piYW5neWdyaSIsIHNvIHRoYXQgdGhleSBhcmUgcnVu IGludG8gb25lIHdvcmQgaW4gdGhlIHNlY29uZCBjb2x1bW4gb2YgdGhlIHRhYmxlLiAgKChBcHBy b3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAxNSBzdGF0ZXMgdGhh dCAiZHppcG8iIGNvbWVzIGZyb20gImNhZHp1IGNpcG5pIiAoIndhbGtpbmcgYmlyZCIpLiAgVGhp cyBmYWlscyB0byBtYWtlIHNlbnNlIGVpdGhlciBldHltb2xvZ2ljYWxseSBvciBzZW1hbnRpY2Fs bHkgKElmIHRoZSBuYW1lIHJlZmVycyB0byBwZW5ndWlucywgdGhlcmUgYXJlIGEgbG90IG9mIG90 aGVyIGZlYXR1cmVzIG9mIEFudGFyY3RpY2EgdGhhdCBhcmUgbW9yZSBwcm9taW5lbnQgYW5kIG5v dCBzaGFyZWQgYnkgb3RoZXIgcGxhY2VzKS4gIEkgc3VzcGVjdCB0aGF0IHRoZSB3b3JkIG1heSBh Y3R1YWxseSBjb21lIGZyb20gImRpemxvIGRhcGx1IiAoImxvdyBpc2xhbmQiKSwgd2hpY2ggaXMg YSBzb21ld2hhdCBtb3JlIHJlYXNvbmFibGUgbmFtZS4KCioqIE5vdCBhbiBlcnJhdHVtLCB0aGUg d29yZCByZWFsbHkgZG9lcyBjb21lIGZyb20gImNhRFp1IGNJUG5pIi4gVGhhdCBpdCBmYWlscyB0 byBtYWtlIHNlbnNlIGRvZXNuJ3QgY2hhbmdlIHRoZSBmYWN0IHRoYXQgdGhhdCBpcyBob3cgdGhl eSBjb25zdHJ1Y3RlZCBpdC4gVGhlIGV0eW1vbG9naWVzIG9mICJiZW1ybyIgYW5kICJrZXRjbyIg bWFrZSBldmVuIGxlc3Mgc2Vuc2UsIGJ5IHRoZSB3YXkuCgoqKiogQ29ycmVjdCwgYnV0IHRoZSBl dHltb2xvZ2llcyBhcmUgd2hhdCB0aGV5IGFyZS4gIC0tamNvd2FuCgoKCi0tLQoKCgohQ2hhcHRl ciA1CgoKCiogU2VjdGlvbiA2LCBleGFtcGxlIDYuMTU6IEl0IHNheXMge3hhbWd1IGpvIGNvcnR1 IG51bnRhdmxhfSwgYW5kIHRoZSBnbG9zcyBzYXlzIHsoZ29vZCBpZi1hbmQtb25seS1pZiBzaG9y dCkgc3BlZWNofSwgYnV0IHtjb3J0dX0gbWVhbnMgImh1cnQiLCBub3QgInNob3J0Ii4KCioqICcn SU5DTFVERUQgSU4gREFHLUNMTCcnICAoY2hhbmdlZCB0byB7dG9yZHV9KSAoaW4gem9ydCdzIGZv cmsgYXQgbGVhc3QpICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIEV4 YW1wbGUgNi4xNjogdmFqbmkganUgc2VscGx1a2EgbnVudGF2bGEgLCAgKGltcG9ydGFudCB3aGV0 aGVyLW9yLW5vdCBwbGVhc2luZykgZXZlbnQtb2YtdGFsa2luZwoKKiogU2hvdWxkIGJlIHBsdWth LCBub3Qgc2VscGx1a2EuICAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkg JydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDggc2F5cyAiaW52b2x2aW5nIHNl bG1hJ28gVk9oQSBhbmQgR09oSSwgZXhwbGFpbmVkIGluIENoYXB0ZXIgNyIsIGJ1dCBWT2hBIGRv ZXNuJ3QgYXBwZWFyIGluIENoYXB0ZXIgNy4gVk9oQSBkb2Vzbid0IGV2ZW4gc2VlbSB0byBiZSBh IHNlbG1hJ28sIGZvciB0aGF0IG1hdHRlci4gQWxzbywgcHJvYmFibHkgR09oSSBzaG91bGQgYmUg R09oQT8KCgoKKiBTZWN0aW9uIDgsIHBhZ2UgOTYvOTc6IEV4YW1wbGUgOC4xMyBuZWVkcyBzb21l IGtpbmQgb2YgdGVybWluYXRvciAobGlrZSAiYmUnbyIpIGJlZm9yZSB0aGUgImNvIi4gICAoKEFw cHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBBbHNvLCB0aGUgcHJlY2VkaW5n IHBhcmFncmFwaCBzdWdnZXN0cyB0aGF0ICJiZSIgaXMgdGhlIG9ubHkgd2F5IHRvIGZpbGwgc2Vs YnJpIHBsYWNlcyBvdGhlciB0aGFuIHgxLiBUaGlzIGlzIG5vdCB0aGUgY2FzZTogIm1pIGxlIHph cmNpIGN1IGtsYW1hIGNvIHN1dHJhIiB3b3VsZCBhbHMKCm8gd29yay4KCioqIEkgZG9uJ3QgYWdy ZWUgdGhhdCB0aGVyZSdzIGFueSBzdWNoIHN1Z2dlc3Rpb24sIGFsdGhvdWdoIGFkZGluZyBhIHNl Y29uZCBwb3NzaWJpbGl0eSBpcyBmaW5lIHdpdGggbWUuICAtLWpjb3dhbgoKCgoqIFNlY3Rpb24g OSBsaXN0cyAia2VpIiBhcyB0aGUgdGVybWluYXRvciBmb3IgbnUsIGJ1dCBpdCdzIG5vdCBvbmx5 IGZvciBudSwgYnV0IGZvciBhbGwgb2YgTlUuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFw cHJvdmVkKSkKCgoKKiBTZWN0aW9uIDE0LCBwYWdlIDEwNCBzYXlzICJkYWR5bHNpIiBmb3IgImRh ZHlzbGkiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5D TFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxNCwgcGFnZSAxMDUgdXNlcyAiemRhbmkg bGlqZ3JpIiBpbiB0aGUgZXhhbXBsZSBsaXN0LCBidXQgdGhlIHBhcmFncmFwaCBhZnRlciwgYXMg d2VsbCBhcyB0aGUgbmV4dCBsaXN0LCByZWZlciB0byAiemRhbmkgbGluamkiIGFuZCAibGluamkg emRhbmkiLgoKCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMTA1IGhhcyB0aGUgbHVqdm8gImNwdW1pJ2ki IGJ1dCBkZWZpbmVzIGl0IGF0IHRoZSBib3R0b20gb2YgdGhlIHNldCBhcyAiY3BhbWknaSIuCgoq KiBjdWFtaSdpIHMgcHVsbC1tYWNoaW5lLCBzbyB1c2luZyB0aGF0ICgoQXBwcm92ZWQgRXJyYXR1 bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rp b24gMTQsIHBhZ2UgMTA2IHNheXMgInBsaXNlIHRhcGxhIiBmb3IgImFwcGxlIGNha2UiLiBEb2Vz IFR1cmtpc2ggcmVhbGx5IHJlZmVyIHRvIGEgY2FrZSBhcyBhIHRpbGUsIG9yIGlzIHRoaXMgYSBt aXN1bmRlcnN0YW5kaW5nIG9mIHRoZSBkZWZpbml0aW9uIG9mICJ0YXBsYSI/CgoqKiBObywgaXQn cyB0aGF0IHt0YXBsYX0gY2FuIG1lYW4gYm90aCBjYWtlIGFuZCB0aWxlLCBhcyB0aGUgZ2lzbXUg bGlzdCBzaG93czsgaXQncyBhIGdlbmVyaWMgd29yZCBmb3IgYSBmbGF0IDMtRCBzaGFwZSwgb3Ig c2hvcnQgY3lsaW5kZXIuICBTdGV0LiAgLS1qY293YW4KCgoKKiBTZWN0aW9uIDE0LCBwYWdlIDEw OCBzYXlzICJ0dW1sYSBzcGlzYSIuIFRoaXMgc2hvdWxkIHByb2JhYmx5IGJlICJ0dW1sYSBwYWdi dSIsIHNpbmNlIHBpZWNlcyBvZiBsYW5kIGFyZSBub3QgYWN0dWFsbHkgZGV0YWNoZWQuCgoqKiBX aGF0IG1ha2VzIHlvdSB0aGluayB0aGF0IHNwaXNhIGhhdmUgdG8gYmUgZGV0YWNoZWQ/ICBTdGV0 LiAgLS1qY293YW4KCgoKKiBTZWN0aW9uIDE0LCBwYWdlIDEwOSBzYXlzICJyb3N0dSBtb2p5c3Un YSIuICJyb3N0dSIgaXMgbm90IGEgTG9qYmFuIGdpc211LCBub3IgYW4gT2xkIExvZ2xhbiBwcmlt aXRpdmUuIEl0J3Mgc3VwcG9zZWQgdG8gYmUgIm1yb3N0Cgp1Ii4KCioqICJNcm9zdHUiIGlzIGNv cnJlY3QsIGFuZCB0aGF0J3MgdGhlIHJlYWRpbmcgb2YgdGhlIG9ubGluZSB2ZXJzaW9uLiAgKChB cHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAxNCwgIm51bmtp bGJyYSIgaXMgY2xlYXJseSBub3QgInNoYXJwZW5lciIsIGFuZCBldmVuIGlmIGl0IHdhcyB1c2lu ZyB0aGUgcmlnaHQgcmFmc2kgZm9yIGNhYnJhLCB0aGF0IHN0cmlrZXMgbWUgYXMgYSBwcmV0dHkg Y3JhcHB5IGx1anZvOyBuZWVkcyB6ZW5iYSBvciB6bWFkdSBvciBiaW54byBvciBzb21ldGhpbmcu CgoKCiogU2VjdGlvbiAxNCwgcGFnZSAxMTIgbGlzdHMgbnVtZXJvdXMgdGFucnUgZXhhbXBsZXMg d2hvc2UgbWVhbmluZ3MgYXJlIGh5cGVybnltcyBvZiB0aGUgdGVydGF1IGluc3RlYWQgb2YgaHlw b255bXMuIFRoaXMgY29udHJhZGljdHMgdGhlIHByaW1hcmluZXNzIG9mIHRoZSB0ZXJ0YXUgYXMg ZGVmaW5lZCBvbiBwYWdlIDg0LiBUaGUgd29yZCAiamEiIHNob3VsZCBwcm9iYWJseSBiZSBpbnNl cnRlZCBiZXR3ZWVuIHRoZSBjb25zdGl0dWVudHMsIG9yIHRoZSBlbnRpcmUgc2VjdGlvbiBzaG91 bGQgYmUgcmVtb3ZlZC4KCioqIFN0ZXQuICBMaW9ucyBjYW4ndCBiZSBtYWRlIG9mIHN0b25lLCBi dXQge3Jva2NpIGNpbmZvfSBpcyBhIGxlZ2l0aW1hdGUgdGFucnUgbm9uZXRoZWxlc3MuICAtLWpj b3dhbgoKCgotLS0KCgoKIUNoYXB0ZXIgNgoKCgoqIEVuZCBvZiBzZWN0aW9uIDIsIGl0IHNheXMg ImNvbXBvdW5kIG5lZ2F0b3IgYGBuYWt1JycgKGRpc2N1c3NlZCBpbiBDaGFwdGVyIDE1KSIsIGJ1 dCAibmFrdSIgaXMgbmV2ZXIgbWVudGlvbmVkIGluIGNoYXB0ZXIgMTU7IGluZGVlZCwgdGhlIG9u bHkgdXNlcyBvZiB0aGUgd29yZCB7a3V9IGF0IGFsbCBhcmUgYWZ0ZXIgdGhlIHdvcmRzIHtqaSd1 fSBvciB7bmEnaX0uIENoYXB0ZXIgMTYgdGFsa3MgYWJvdXQge25ha3V9LgoKKiogJydJTkNMVURF RCBJTiBEQUctQ0xMJycgKHpvcnQncyBmb3JrIGF0IGxlYXN0KSBidXQgbmVlZHMgYXBwcm92YWwK CgoKKiBTZWN0aW9uIDEyLCBwLiAxMzggY2xhaW1zIHRoYXQgdGhlIHN1bXRpIGluIGV4YW1wbGVz IDEyLjIgYW5kIDEyLjMgb3BlcmF0ZSBsaWtlIGV4YW1wbGVzIDIuNSBhbmQgMy42IHJlc3BlY3Rp dmVseS4gIjIuNiBhbmQgMy42IiBpcyBhbG1vc3Qgc3VyZWx5IHdoYXQgd2FzIG1lYW50LiAgKChB cHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcn CgoKCiogSW4gc2VjdGlvbiAxMSBFeGFtcGxlIDExLjIgb2NjdXJzIHR3aWNlLgoKKiogKChBcHBy b3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcn CgoKCiogU2VjdGlvbiAyIGhhcyBleGFtcGxlcyAyLjMgYW5kIDIuNSB0byBzaG93IHRoZSBkaWZm ZXJlbmNlIGJldHdlZW4ge2xvfSBhbmQge2xlfS4gRXhhbXBsZSAyLjUgYW5kIHRoZSBzdWJzZXF1 ZW50IHRleHQgc2F5IHRoYXQge2xvIG5hbm11IGN1IG5pbm11fSBpcyBuZWNlc3NhcmlseSBmYWxz ZSBpbiBsb2piYW4gc2luY2Uge25vZGEgbmFubXUgZ2knZSBuaW5tdX0uIFRoaXMgY29udHJpYnV0 ZXMgdG8gdHJhbnMtZXJhc3VyZSwgYW5kIHNob3VsZCBiZSByZXZpc2VkLgoKCgoqIEluIHNlY3Rp b24gNSBiZXR3ZWVuIGV4YW1wbGVzIDUuMiBhbmQgNS4zLCBpdCBzYXlzIHRoYXQgdGhlIHR5cGlj YWwgbGlvbiBiZXN0IGV4ZW1wbGlmaWVzIHRoZSBzZXQgb2YgbGlvbnMuIFRoaXMgaXMgZmFsc2Us IGl0IGV4ZW1wbGlmaWVzIG5vdCB0aGUgc2V0LCBidXQgdGhlIG1lbWJlcnMgb2YgdGhhdCBzZXQu CgoKCi0tLQoKCgohIENoYXB0ZXIgNwoKCgoqIFNlY3Rpb24gNiwgcGFnZSAxNTUgaGFzIGEgbm90 ZSBiZWxvdyBleGFtcGxlIDYuMTMgdGhhdCBzYXlzLCBpbiBwYXJ0OiAiVGhlIExvamJhbiBkb2Vz IG5vdCBjb250YWluIGFuIGVxdWl2YWxlbnQgb2YgdGhlICJteSIgaW4gY29sbG9xdWlhbCBFbmds aXNoOyIgYW5kIHRoZW4gZ29lcyBvbiB0byBleHBsYWluIGhvdyBleGFtcGxlIDYuMTMgY291bGQg YmUgbW9kaWZpZWQgdG8gaW5jbHVkZSAgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHRoZSBzcGVh a2VyIGFuZCB0aGVpciBzb24gYW5kIGRhdWdodGVyLiAgSSBiZWxpZXZlIHlvdSBjb3VsZCBzYXkg ImxlIG1pIGJlcnNhIiBvciAibGUgYmVyc2EgcGUgbWkiIHRvIGV4cHJlc3MgdGhlIEVuZ2xpc2gg Im15LCIgdGhlcmVmb3IgcmVtb3ZpbmcgdGhlIChwcmVzdW1hYmx5IGluYWNjdXJhdGUpIG5vdGUg YW5kIG1ha2luZyB0aGUgTG9qYmFuIHRyYW5zbGF0aW9uIG1vcmUgYWNjdXJhdGUuCgoqKiBTdXJl IHlvdSBjb3VsZCwgYnV0IHRoZSBwb2ludCBvZiB0aGUgbm90ZSAod2hpY2ggaXMgJydub3QnJyBp bmFjY3VyYXRlKSBpcyBub3QgdGVhY2hpbmcgaG93IHRvIHVzZSByZWxhdGl2ZSBjbGF1c2VzLCBi dXQgdG8gY2xhcmlmeSB0aGF0IHRoZSBpZGlvbWF0aWMgRW5nbGlzaCB2ZXJzaW9uIGNvbnRhaW5z IG1vcmUgaW5mb3JtYXRpb24gdGhhbiB0aGUgTG9qYmFuIHZlcnNpb24gZG9lcy4gIFN0ZXQuCgoK CiogU2VjdGlvbiA2LCBwYWdlIDE1NiBoYXMgJydrYXJjYScnIGZvciAnJ2thcmNlJycuICAoKEFw cHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBBZnRlciBleGFtcGxlIDYuMTgg aXMgYSBwYXJhZ3JhcGggdGhhdCBxdW90ZXMgbm9uLWV4aXN0ZW50IHRleHQgZnJvbSBleGFtcGxl IDYuMTAuICAiZ28nZSByYSdvIiBzaG91bGQgcmVhZCAiZ28naSByYSdvIiBhbmQgImRvIGdvJ2Ui IHNob3VsZCByZWFkICJtaSBnbydpIgoKKiogVGhlIGNvcnJlY3QgY29ycmVjdGlvbiBpcyB0byBy ZXBsYWNlICJCJ3Mgc3RhdGVtZW50IiB3aXRoICJBJ3Mgc2Vjb25kIHN0YXRlbWVudCIuICAoKEFw cHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCioqKiBOb3QgcmVhbGx5LiAiZ28nZSBy YSdvIiBpbiBBJ3Mgc2Vjb25kIHN0YXRlbWVudCB3b3VsZCBtZWFuIHRoZSBzYW1lIGFzICJnbydl Iiwgd2hpY2ggaXMgd3JvbmcuIFRoZSBvcmlnaW5hbCBjb3JyZWN0aW9uIGlzIHZhbGlkIHRob3Vn aC4KCgoKKlNlY3Rpb24gNiwgdGhlIGV4Y2VwdGlvbnMgdG8gdGhlIGFuYXBob3JhIHJ1bGVzIGFy ZSBhbG1vc3QgY2VydGFpbmx5IGluY29tcGxldGUuIEluIHBhcnRpY3VsYXIgIm1hIiBhbmQgImNl J3UiIGRlZmluaXRlbHkgd2FycmFudCBleGNlcHRpb25zLgoKCgoqIFNlY3Rpb24gNywgZXhhbXBs ZSA3LjcgaGFzICJtaSB6YmFzdSBsb2kgbXVkcmkgemknbyIgZm9yICJtaSB6YmFzdSBsZSBkaW5q dSB6aSdvIgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5D TFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA4LCBwLiAxNTggaW1wbGllcyB0aGF0ICcn dm8nYScnLXNlcmllcyBhbmFwaG9yYSByZWZlciB0byBzdW10aSBvZiB0aGUgYnJpZGkgdGhleSB0 aGVtc2VsdmVzIGFyZSBzdW10aSBvZi4gVGhpcyBjb250cmFkaWN0cyB0aGUgY21hdm8gbGlzdCwg YW5kIGlzIGluY29ycmVjdDogJyd2bydhJyctc2VyaWVzIGFuYXBob3JhIChhY2NvcmRpbmcgdG8g dGhlIG1hJ29zdGUpIHJlZmVyIHRvIHN1bXRpIG9mIHRoZSBvdXRlcm1vc3QgYnJpZGkgd2l0aGlu IHRoZSBjdXJyZW50IHNlbnRlbmNlLiBUaGlzIG1ha2VzIHRoZW0gbG9nb3Bob3JzL2xvbmcgZGlz dGFuY2UgcmVmbGV4aXZlcywgcmF0aGVyIHRoYW4gc2hvcnQtZGlzdGFuY2UgcmVmbGV4aXZlcywg YXMgaXMgbm9ybWFsIGluIGh1bWFuIGxhbmd1YWdlLiBUaHVzLCBpbiAnJ21pIG5lbGNpIGxlbnUg ZG8gcHJhbWkgdm8nYScnLCAnJ3ZvJ2EnJ21lYW5zICcnbWknJywgbm90ICcnZG8nJy4KCioqX18t LT5fXygoV2h5IHRoZSBCb29rIGlzIFJpZ2h0IGFuZCB0aGUgbWEnb3N0ZSBpcyBXcm9uZykpCgoq KipXaGljaCBvZiB0aGUgdHdvIGNhc2VzIGlzIG5vcm1hbCBpbiBodW1hbiBsYW5ndWFnZT8gSWYg eW91J2Qgd3JpdHRlbiBpdCBpbiBMb2piYW4sIEknZCBrbm93IQoKKioqKiBJJ2QgZ3Vlc3MgdGhh dCBzaG9ydC1kaXN0YW5jZSBpcyBub3JtYWwsIGIvYyBvdGhlcndpc2UgaXQgd291bGQgbm90IGJl IHdvcnRoIGNvbXBhcmluZyB0aGUgdHdvLiBCdXQgb2YgY291cnNlIGluIGxvamJhbiB3ZSB3b3Vs ZG4ndCBoYXZlIHRvIGdsb3JrIHRoYXQuCgoqKioqKiBTaG9ydC1kaXN0YW5jZSBpcyBpbmRlZWQg bm9ybWFsLCBidXQgTG9qYmFuaXN0cyBoYXZlIGNvbnNpc3RlbnRseSB1c2VkIGxvbmctZGlzdGFu Y2UuICBOaWNrIHdyb3RlIGEgcGVlci1yZXZpZXdlZCBwYXBlciBvbiB0aGlzLiAgLS1qY293YW4K CgoKKiBFeGFtcGxlIDcuOC41IChwMTU5KTogYmFqcmEgb24gdGhpcmQgbGluZSBzaG91bGQgYmUg YmFqeWtsYSwgbGlrZSB0aGUgb3RoZXJzLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21p cyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA4LCBpdCBz YXlzICJFeGFtcGxlIDkuMyBpcyBhIHRydWx5IHByZWduYW50IHF1ZXN0aW9uLi4uIiB3aGVuIGV4 YW1wbGUgOS4yIGlzIHRoZSBwcmVnbmFudCBxdWVzdGlvbiwgYW5kIGV4YW1wbGUgOS4zIGlzIGEg YmV0dGVyIHdheSBvZiBleHByZXNzaW5nICJXaG8gYXJlIHlvdT8iCgoKCiogU2VjdGlvbiAxNSwg aXQgc2F5cyAiRmluYWxseSwgbHVqdm8gaW52b2x2aW5nIGBgemknbycnIGFyZSBhbHNvIHBvc3Np YmxlLCBhbmQgYXJlIGZ1bGx5IGRpc2N1c3NlZCBpbiBDaGFwdGVyIDEyIiwgYnV0IG5vd2hlcmUg ZG9lcyBDaGFwdGVyIDEyIG1lbnRpb24gdGhlIHdvcmQge3ppJ299LCBtdWNoIGxlc3MgbHVqdm8g aW52b2x2aW5nIGl0LiBUaGlzIGlzIHByb2JhYmx5IGEgQ2hhcHRlciAxMiBlcnJhdHVtLgoKLS0t CgoKCiFDaGFwdGVyIDgKCgoKKiBTZWN0aW9uIDEuIEV4YW1wbGUgMS44IGlzIHNhaWQgdG8gYmUg ZXF1aXZhbGVudCB0byBFeGFtcGxlIDEuNCwgd2hlbiBpdCBpcyBpbnN0ZWFkIGVxdWl2YWxlbnQg dG8gRXhhbXBsZSAxLjUuCgoKCiogSW4gU2VjdGlvbiAzIHRoZSBleGFtcGxlIDMuMjAgc2hvdWxk IGhhdmUge3hhbmNlfSBpbnN0ZWFkIG9mIHt4YW5jaX0sIHdoaWNoIGlzIGRlZmluaXRlbHkgYSB0 eXBvLiAtLWlkb250a253CgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVk KSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDgsIHAuIDE4MTogIDguMSkg JydsaSBwYWkgbm9pIG5hJ2UgZnJpbnUgbmFtY3UnJ3Nob3VsZCBiZSAnJ2xpIHBhaSBub2kgbmEn ZSBmcmludSBjdSBuYW1jdScnLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkp CgoKCiogU2VjdGlvbiA4LCBFeGFtcGxlIDguNiwgdGhlIHRoaXJkIGxpbmUsICJJIHJ1bm5pbmds eS1nbyB0by10aGlzIFtyZWNpcHJvY2l0eV0gW3gzIG9mIHRoaXMgYnJpZGldIGZyb20tdGhhdCIs IGlzIG5vdCB0aGUgdXN1YWwgZGVjZW50IEVuZ2xpc2ggb25lIHdvdWxkIGV4cGVjdCBpbiB0aGF0 IHBvc2l0aW9uOyByZXBsYWNlZCB3aXRoICJJIHJ1biB0byB0aGlzIGZyb20gdGhhdCBhbmQgdmlj ZSB2ZXJzYS4iIGlzIGRhZy1jbGwgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9u IDksIGV4YW1wbGUgOS4yIGlzICcnY28nbyB4aXJtYScnLiBUaGVuLCAnJ05vdGUgdGhhdCBFeGFt cGxlIDkuMiBzYXlzIGZhcmV3ZWxsIHRvIHNvbWV0aGluZyB3aGljaCBkb2VzbuKAmXQgcmVhbGx5 IGhhdmUgdG8gYmUgYSBob3JzZSwgc29tZXRoaW5nIHRoYXQgdGhlIHNwZWFrZXIgc2ltcGx5IHRo aW5rcyBvZiBhcyBiZWluZyBhIGhvcnNlLCBvciBldmVuIG1pZ2h0IGJlIHNvbWV0aGluZyAoYSBw ZXJzb24sIGZvciBleGFtcGxlKSB3aG8gaXMgbmFtZWQgIkhvcnNlIi4gSW4gYSBzZW5zZSwgRXhh bXBsZSA5LjIgaXMgYW1iaWd1b3VzIGJldHdlZW4gImNvJ28gbGUgeGlybWEiIGFuZCAiY28nbyBs YSB4aXJtYSInJy4gSXMgdGhpcyB0cnVlPwoKKiogWWVzLCBpbiB0aGUgc2Vuc2UgdGhhdCBhbGwg dXNlcyBvZiAibGUiICcnbWlnaHQnJyBtZWFuICJsYSIuICBCdXQgaXQncyBwcm9iYWJseSBtb3Jl IGNvbmZ1c2luZyB0aGFuIGl0J3Mgd29ydGguICBUcnVuY2F0ZSBhZnRlciAidGhpbmtzIG9mIGFz IGJlaW5nIGEgaG9yc2UiLiAgLS1qY293YW4KCgoKKiBTZWN0aW9uIDkgc2F5cyAnJ0luIHZvY2F0 aXZlIHBocmFzZXMgd2hpY2ggYXJlIHNpbXBsZSBuYW1lcyAoYWZ0ZXIgdGhlIHZvY2F0aXZlIHdv cmRzKSwgYW55IHJlbGF0aXZlIGNsYXVzZXMgbXVzdCBjb21lIGp1c3QgYWZ0ZXIgdGhlIG5hbWVz JycuIFRoaXMgaXNuJ3QgdHJ1ZS4gUmVsYXRpdmUgY2xhdXNlcyBjYW4gZ28gYmV0d2VlbiB0aGUg dm9jYXRpdmUgYW5kIHRoZSBjbWV2bGEuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJv dmVkKSkgIERyb3AgaXQ7IGl0IHJlZmxlY3RzIGFuIGVhcmxpZXIgc3RhdGUgb2YgdGhlIGxhbmd1 YWdlLgoKCgoqIFNlY3Rpb24gMTAsIGV4YW1wbGUgMTAuMyB1c2VzICJrZSdhIGdvaSBrbydlIHpv J3Uga28nYSB6YmFzdSBrZSdhIiBidXQgZ2xvc3NlcyBpdCBhcyAiKElUID0gaXQyIDogaXQxIGJ1 aWx0IGl0MikiLiBUaGUgYXNzaWduZWQgImtvJ2UiIGlzIG5vdCB1c2VkIGFzIGV4cGVjdGVkIG9y IGRlc2NyaWJlZCwgYW5kIHNob3VsZCBwcm9iYWJseSBiZSAia28nYSB6YmFzdSBrbydlIi4gICgo QXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSAgWWVzLCAia28nYSB6YmFzdSBrbydl IiBpcyBjbGVhcmx5IHdoYXQncyBtZWFudC4KCgoKLS0tCgohQ2hhcHRlciA5CgoKCiogU2VjdGlv biA2LCBwbGFjZSBzdHJ1Y3R1cmUgb2YgJydwaWxubycnIGlzIG1pc3NpbmcgImZvciBwdXJwb3Nl IHgzIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24g OCwgdGhlIGV4YW1wbGVzIDguNSBhbmQgOC42IGFyZSBzdXBwb3NlZCB0byBtZWFuIHRoZSBzYW1l IHRoaW5nLCBidXQgZG8gbm90LgoKKiogUGxlYXNlIGVsYWJvcmF0ZS4gIC0tamNvd2FuCgoqKiog OC41IG1lYW5zICJJIGdhdmUgdGhlIGJvb2sgdG8gSm9obiwgYmVjYXVzZSBKb2huIGdhdmUgdGhl IG1vbmV5IHRvIG1lIiBidXQgOC42IG1lYW5zICJKb2huIGdhdmUgdGhlIG1vbmV5IHRvIG1lIGJl Y2F1c2UgSSBnYXZlIHRoZSBib29rIHRvIEpvaG4uIgoKKiogJydJTkNMVURFRCBJTiBEQUctQ0xM JycgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAxMSwg ZGVzY3JpcHRpb24gb2YgdGhlIG1lYW5pbmcgb2YgIi5pamUgc2VyaSdhIHR1J2UiIGNvbnRyYWRp Y3RzIHRoZSBleHBsYW5hdGlvbiBvZiBFeGFtcGxlIDkuOSwgd2hpY2ggd291bGQgc3VnZ2VzdCAi LmlqZSByaSdhIHR1J2UiLgoKCgoqIHNlY3Rpb24gMTcsICJwZXJ0YWluZWQgdG8gYnkgY29uY2Vy bmluZyIgc2hvdWxkIGJlIHNlcGFyYXRlZCwgd2l0aCAiY29uY2VybmluZyIgc2hvdWxkIGJlIGlu IHRoZSBsYXN0IGNvbHVtbiBvZiB0aGUgdGFibGUKCgoKKiBzZWN0aW9uIDE3ICJmcm9tIHNvdXJj ZSBhcyBhbiBvcmlnaW4gb2YiIHNob3VsZCBiZSB0d28gZW50cmllczsgImZyb20gc291cmNlIiBh bmQgImFzIGFuIG9yaWdpbiBvZiIgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKLS0tCgoKCiFD aGFwdGVyIDEwCgoKCiogU2VjdGlvbiA0LCAid2hlbiBib3RoIHNwYXRpYWwgYW5kIHRlbXBvcmFs IHRlbnNlIGNtYXZvIGFyZSBnaXZlbiBpbiBhIHNpbmdsZSB0ZW5zZSBjb25zdHJ1Y3QsIHRoZSB0 ZW1wb3JhbCB0ZW5zZSBpcyBleHByZXNzZWQgZmlyc3QiIGRpc2FncmVlcyB3aXRoIHRoZSBydWxl IHNpbXBsZS10ZW5zZS1tb2RhbC05NzIgaW4gdGhlIEJORiBncmFtbWFyLgoKCgoqIFNlY3Rpb24g OSwgZXhhbXBsZSA5Ljkgb24gcGFnZSAyMjcgaGFzICJjaXJsaSIgZm9yICJjaXJsYSIuCgoqKiAo KEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUct Q0xMJycKCgoKKiBTZWN0aW9uIDEyLCBleGFtcGxlIDEyLjYgdHJhbnNsYXRlcyBtb3JzaSBhcyAi ZGllIiByYXRoZXIgdGhhbiAiYW0gZGVhZCIgaW4gdGhlIHRyYW5zbGF0aW9uIChhcyBvcHBvc2Vk IHRvIHRoZSBnbG9zcykuCgoKCiogU2VjdGlvbiAxNiwgYXQgdGhlIGVuZCwgdGhlIFggYW5kIFkg aW4gdGhlIDMgZm9ybXMgZG9uJ3QgZml0IHByb3Blcmx5ICh0aGUgM3JkIGRvZXNuJ3QgbWF0Y2gg dGhlIGZpcnN0IHR3bykuIEkgcmVjb21tZW5kLCBjb3B5aW5nIGZyb20gU2VjdGlvbiAyMyAod2hl cmUgdGhleSBhcmUgd3JpdHRlbiBhZ2FpbiBjb3JyZWN0bHkpOgoKICAgICAgIFggLmkgVEVOU0Ug Ym8gWQoKICAgICAgIFRFTlNFIGdpIFggZ2kgWQoKICAgICAgIFkgVEVOU0UgbGUgbnUgWAoKCgoq IFNlY3Rpb24gMTcsIGV4YW1wbGUgMTcuMTIgc2hvdWxkIG5vdCBoYXZlIHRoZSBzZWNvbmQgImJl dnJpIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xV REVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTgsIGV4YW1wbGUgMTguOSBpcyBzdXBwb3Nl ZCB0byBzaG93IHNjYWxhciBuZWdhdGlvbiBvZiB0ZW5zZXMgbm90IGxpbWl0ZWQgdG8gUFUgYW5k IEZBaEEsIGJ1dCB0aGUgZXhhbXBsZSB0ZW5zZSBpcyByaSd1IChGQWhBMikuCgoKCiogU2VjdGlv biAxOSwgZXhhbXBsZSAxOS4xMCBzaG91bGQgaGF2ZSAiYmEiLCBub3QgInB1IiwgYW5kICJbZnV0 dXJlXSIsIG5vdCAiW3Bhc3RdIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQp KQoKCgoqIFNlY3Rpb24gMjUsIGV4YW1wbGVzIDI1LjEgYW5kIDI1LjIgaGF2ZSAnJ2x1J2EnJyBm b3IgJydsYSd1JycuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkg JydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDI1LCB0aGlzIHdob2xlIHNlY3Rp b24gaXMgYXQgb2RkcyB3aXRoIHRoZSBmb3JtYWwgZ3JhbW1hci4gSXQgc2F5czogJydJdCBpcyBn cmFtbWF0aWNhbCBmb3IgYSB0ZXJtc2V0IHRvIGJlIHBsYWNlZCBhZnRlciBhIHRlbnNlIG9yIG1v ZGFsIHRhZyByYXRoZXIgdGhhbiBhIHN1bXRpJycuICBCdXQgdGhhdCBpcyBpbiBmYWN0IGluY29y cmVjdCwgaXQgaXMgbm90IGdyYW1tYXRpY2FsIGZvciBhIHRlcm1zZXQgdG8gYmUgdGhlIGFyZ3Vt ZW50IG9mIGEgdGFnLgoKKiogVW5mb3J0dW5hdGVseSB0cnVlLiAgVGVybXNldHMgc3VjayByb2Nr cywgYW5kIHNvbWUgd29yayB3aWxsIGhhdmUgdG8gYmUgZG9uZSB0byBtYWtlIGV2ZXJ5dGhpbmcg c2FpZCBhYm91dCB0aGVtIGNvbnNpc3RlbnQgLS0gaWYgaXQgaXMgZXZlbiBwb3NzaWJsZS4gIFBl cnNvbmFsbHksIEknZCBsaWtlIHRvIGp1c3QgYnVybiB0aGVtLiAgLS1qY293YW4gICcnJ05PRklY JycnCgoKCiogU2VjdGlvbiAyNzogTU9oSSBzZWUgU2VjdGlvbiAyOCwgbm90IDI3LiAgKChBcHBy b3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCi0tLQoKCgohQ2hhcHRlciAxMQoKCgoq IFNlY3Rpb24gNDogVGhlIHVzZSBvZiBrYSBpbiBFeGFtcGxlIDQuNCAocGFnZSAyNTkpIGlzIGVy cm9uZW91czsgaXQgc2hvdWxkIGJlIGR1J3UuIC0tKChKb2huIENvd2FuKSkgKChBcHByb3ZlZCBF cnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogTGFzdCBwYXJhZ3JhcGggb2Ygc2VjdGlvbiA3 IHJlZmVyZW5jZXMgY2hhcHRlciA1IGZvciBhIGRpc2N1c3Npb24gb2YgImx1J2UiLiAgbHUnZSBp c24ndCBtZW50aW9uZWQgaW4gY2hhcHRlciA1LiAgUHJvYmFibHkgY2hhcHRlciA2IGlzIG1lYW50 IGhlcmUuCgoqKiBZZXMsIHNob3VsZCBiZSBTZWN0aW9uIDUuMTAuICAgICgoQXBwcm92ZWQgRXJy YXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gOSwgcGFnZSAyNjYgaGFzICJzYW8n cmR6aWZhJ2EiIGluc3RlYWQgb2YgInNhJ29yZHppZmEnYSIuCgoqKiAoKEFwcHJvdmVkIEVycmF0 dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBUaGUg c2FtZSBleGFtcGxlICg5LjYpIGFsc28gaGFzIGt1Y3RyYSBpbnN0ZWFkIG9mIGt1Y3RhaQoKKiog KChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFH LUNMTCcnCgoKCiogVGhlIGJvb2sgdGl0bGUgaW4gZXhhbXBsZSA5LjYgc2VlbXMgdG8gYmUgaW5j b3JyZWN0OiAiVGhlIENydWNpZml4aW9uIG9mIEplc3VzIENvbnNpZGVyZWQgQXMgQSBEb3duaGls bCBCaWN5Y2xlIFJhY2UiIGlzIGFjdHVhbGx5ICJbaHR0cDovL3d3dy5ldmVyZ3JlZW5yZXZpZXcu Y29tLzEwMi9maWN0aW9uL2R1by5odG1sfFRoZSBDcnVjaWZpeGlvbiBDb25zaWRlcmVkIEFzIEFu IFVwaGlsbCBCaWN5Y2xlIFJhY2VdLiIKCioqIFVuYXBwcm92ZWQKCgoKKiBTZWN0aW9uIDEwOiBQ YXJhZ3JhcGggYWJvdmUgZXhhbXBsZSAxMC43IHJlZmVyZW5jZXMgIkNoYXB0ZXIgMTEiLiBUaGF0 IHNob3VsZCByZWFkICJDaGFwdGVyIDEwIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNt aXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTE6IEV4 YW1wbGUgMTEuNSBpcyB7c3Unb2RhIHBvaSB2ZXJiYSBjdSBrbGFtYSByb2RlIHBvaSBja3VsZSBu YWt1fS4gSXQgc2hvdWxkIGJlIHtzdSdvZGEgcG9pIHZlcmJhIGN1IGtsYW1hIHJvZGUgcG9pIGNr dWxlIGt1J28gbmFrdX0gb3IgYW4gZXF1aXZhbGVudDsgYXMgaXQgc3RhbmRzIHRoZSBuYWt1IGlz IHVuZGVzaXJhYmx5IGluIHRoZSByZWxhdGl2ZSBjbGF1c2UuCgoKCiogU2VjdGlvbiAxMiwgcGFn ZSAyNjkgaGFzIGV4YW1wbGVzIDEzLjEgYW5kIDEzLjIsIHRob3NlIHNob3VsZCBiZSBjYWxsZWQg MTIuMSBhbmQgMTIuMi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgot LS0KCgoKIUNoYXB0ZXIgMTIKCgoKKiBTZWN0aW9uIDIsIHBhZ2UgMjc1LiBUaGUgcGFyYWdyYXBo IHVuZGVyIEV4YW1wbGUgMi4zIHJlZmVycyB0byBpdCBhcyBFeGFtcGxlIDIuNCAoMi40IGRvZXNu J3QgZXZlbiBleGlzdCkuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoK KiBTZWN0aW9uIDUsIHJpZ2h0IGFmdGVyIGV4YW1wbGUgNS43LiBJdCBzYXlzICJhIiBpbnN0ZWFk IG9mICJhbiIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0 aW9uIDYsIHBhZ2UgMjgwLiBFeGFtcGxlIDYuNiBzaG91bGQgaGF2ZSBhIHNwYWNlIGJldHdlZW4g ImxhIHNwYXQuIiBhbmQgIm5vaSIuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFw cHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDcsIHBhZ2UgMjgy LiBFeGFtcGxlIDcuNSBoYXMgImJhbnNvaSIgaW5zdGVhZCBvZiAiYmFsc29pIi4KCioqICgoQXBw cm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwn JwoKCgoqIFNlY3Rpb24gMTEsIHBhZ2UgMjg1IGhhcyAieGFzY2FrY3VybnUiIGluc3RlYWQgb2Yg Inhhc3ljYWtjdXJudSIuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVk KSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDEyIHJlZmVycyB0byAibnVu a2xhbWEiIGFzIHRoZSBzYW1lIGx1anZvIGFzICJudW5rbGEiLiAgRXZlbiBpZiB0aGVzZSBhcmUg ZXF1aXZhbGVudCBhbHRlcm5hdGl2ZXMgaXQgd291bGQgYmUgbGVzcyBjb25mdXNpbmcgdG8gYmUg Y29uc2lzdGVudC4KCgoKKiBTZWN0aW9uIDEyIGNsYWltcyB0aGF0IC1qYXgtIGlzIGEgcmFmc2kg Zm9yIHtqYWl9LCBidXQgaXQgaXNuJ3QgaW4gW2h0dHA6Ly93d3cubG9qYmFuLm9yZy9wdWJsaWNh dGlvbnMvd29yZGxpc3RzL3JhZnNpLnR4dHxodHRwOi8vd3d3LmxvamJhbi5vcmcvcHVibGljYXRp b25zL3dvcmRsaXN0cy9yYWZzaS50eHRdLiBEb2VzIHtqYWl9IGhhdmUgYSByYWZzaSBvciBub3Q/ CgoqKiBJdCBzaG91bGQsIGJ1dCBzb21laG93IGl0IG5ldmVyIGdvdCBpbnRvIHRoZSBnaXNtdSBs aXN0LCBhbmQgY29uc2VxdWVudGx5IG5vdCBpbnRvIHRoZSByYWZzaSBsaXN0IGVpdGhlci4gIFN0 ZXQsIGFuZCB3ZSdsbCBhZGQgaXQgdG8gdGhlIGdpc211IGxpc3QuICAtLWpjb3dhbgoKCgoqIFNl Y3Rpb24gMTIsIHJpZ2h0IGF0IHRoZSBlbmQsIHNheXMgdGhhdCB7ZmFpfSBpcyBleHBsYWluZWQg aW4gQ2hhcHRlciAxMSwgYnV0IENoYXB0ZXIgMTEgbWFrZXMgbm8gbWVudGlvbiBvZiB7ZmFpfS4g T25seSBjaGFwdGVycyA5IGFuZCAxMCBkby4KCioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcnICh6 b3J0J3MgZm9yayBhdCBsZWFzdCkgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQp KQoKCgoqIFNlY3Rpb24gMTQsIGV4YW1wbGUgMTQuMi4gTWlzc2luZyA8IC9wcmUgPiB0YWcsIGFu ZCBtaXNzaW5nIDwgcHJlPiB0YWcgZm9sbG93aW5nIGV4cGxhbmF0b3J5IHBhcmFncmFwaC4KCgoK KiBTZWN0aW9uIDE0LCBwYWdlIDI5MS4gVGhlIHBhcmFncmFwaCB1bmRlciBleGFtcGxlIDE0Ljcg c2F5cyAic2UgeGFuY2UgbWluZHUiIGluc3RlYWQgb2YgInNlIHhhbmNlIG1pbmRlIi4KCioqICgo QXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1D TEwnJwoKCgoqIFNlY3Rpb24gMTUsIHR3byBwYXJhZ3JhcGhzIGJlZm9yZSBleGFtcGxlIDE1Ljcu IEl0IHNheXMgIlRoZXJlIGFyZSBzb21lIGNvbXBhcmF0aXZlIGNvbmNlcHRzIHdoaWNoIGFyZSBp biB3aGljaCB0aGUgJ3NlIHptYWR1JyBpcyBkaWZmaWN1bHQgdG8gc3BlY2lmeS4iIFRoZSAid2hp Y2ggYXJlIGluIHdoaWNoIiBzZWVtcyBncmFtbWF0aWNhbGx5IGluY29ycmVjdC4KCioqIERyb3Ag IndoaWNoIGFyZSIuICAtLWpjb3dhbiAgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92 ZWQpKQoKCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUuMSwgdGhlIHg0IG9mIHt6bWFkdX0gYW5k IHttbGVjYX0gc2hvdWxkIGJlICJieSBhbW91bnQiIG9yICJieSBxdWFudGl0eSIsIG5vdCAiaW4g cXVhbnRpdHkiLgoKCgoqIFNlY3Rpb24gMTUsIHBhZ2UgMjk0LCBleGFtcGxlIDE1LjE0LiAibGEg YWluY3RhaW4iIG5lZWRzIGEgcGVyaW9kIGJlZm9yZSBpdCBiZWNhdXNlIGl0IHN0YXJ0cyB3aXRo IGEgdm93ZWwuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJ TkNMVURFRCBJTiBEQUctQ0xMJycKCgoKLS0tCgoKCiFDaGFwdGVyIDEzCgoKCiogTWFueSBpbmNp ZGVudHMgb2Ygbm90IGhhdmluZyBwZXJpb2RzIGluIGZyb250IG9mIHZvd2VsLWluaXRpYWwgY21h dm8uCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURF RCBJTiBEQUctQ0xMJycKCgoKKiBJbiBzZWN0aW9uIDIsIHAuIDMwMCByZWZlcmVuY2VzIHRvIHRo ZSBleGFtcGxlcyBmb3IgLnVlIGFuZCAudWVjdSdpIGFyZSBmbGlwcGVkLiAgKChBcHByb3ZlZCBF cnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAzLCBwYWdlIDMwMywgZXhhbXBs ZSAzLjkuICJlJ2UiIG5lZWRzIGEgcGVyaW9kIGJlZm9yZSBpdC4KCioqICgoQXBwcm92ZWQgRXJy YXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNl Y3Rpb24gMywgcGFnZSAzMDMsIGV4YW1wbGUgMy4xMC4gInRpc25hIiBuZWVkcyB0byBiZSByZXBs YWNlZCB3aXRoICJ0aXN5Z2F1Ii4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBw cm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNCwgcGFnZSAzMDUu IFRoZSBzY2FsZSB3aXRoIHRoZSBnaXNtdSBtbmVtb25pY3MgaXMgbWlzYWxpZ25lZCB3aXRoIHRo ZSBzY2FsZSB3aXRoIHRoZSBtZW1iZXJzIG9mIHNlbG1hJ28gQ0FJLiAic2FpIiBzaG91bGQgYmUg dGFiYmVkIG9uZSBwbGFjZSBsZWZ0LCBzbyB0aGF0IGl0IGFsaWducyB3aXRoIHRzYWxpLCAmYy4K CgoKKiBTZWN0aW9uIDcsIGl0IHNheXMgIkl0IGlzIG5vdCBjbGVhciBob3cgbXVjaCB1c2UgbG9n aWNhbGx5IGNvbm5lY3RlZCBhYnN0cmFjdG9ycyB3aWxsIGJlOiBzZWUgQ2hhcHRlciAxMy4iIEl0 IHNob3VsZCBiZSAiQ2hhcHRlciAxNS4iCgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJyAoem9y dCdzIGZvcmsgYXQgbGVhc3QpIGJ1dCBuZWVkcyBhcHByb3ZhbAoKKiBTZWN0aW9uIDEwLCBwYWdl IDMxMy4gVGhlcmUgaXMgYSBtaXNzaW5nIHNwYWNlIGJldHdlZW4gImNvbnRpbnVlIGVtb3Rpb24i IGFuZCAiZW5kIGVtb3Rpb24iLgoKCgoqIFNlY3Rpb24gMTUuIEEgc2FtcGxlIGRpYWxvZ3VlICAx NS40KSAvIH5ucH5bQ29tbWVudF0gUGFtIHNheXMsIFtQbGVhc2VdIEFsaWNlLCBbZW5kLW9mLWNv bW1lbnRdIC8gW0NvbW1lbnRdIFBhbSBzYXlzLCBbZW5kLW9mLWNvbW1lbnRdIFtQbGVhc2VdIEFs aWNlLC9+L25wfiAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCioqICgoQXBw cm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwn JwoKCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUuNSAveGFtZ3UvZ2xla2kvID8KCioqICgoQXBw cm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwn JwoKCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUuMTApIC9maSdpIHJvIHp2YXRpIGtvIHBpbnhl IHBhIGNrYWZpL2ZpJ2kgcm8genZhdGkgLmkga28gcGlueGUgcGEgY2thZmkvCgoqKiBObywgdGhp cyBvbmUgaXMgcGVyZmVjdGx5IGZpbmU6ICJmaSdpIHJvIHp2YXRpIiBpcyBhIHZvY2F0aXZlIHBo cmFzZSwgd2hpY2ggaXMgYSBmcmVlIG1vZGlmaWVyLCBtZWFuaW5nIHRoYXQgaXQgY2FuIG9jY3Vy IGFsbW9zdCBhbnl3aGVyZS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoK CgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUuMTMpIC9maSdvIHNlbHBsZWppIG1pL2ZpJ28gcGxl amkgbWkvCgoqKiBBbmQgIndpdGggcGF5ZXIiIHJhdGhlciB0aGFuICJ3aXRoIHBheW1lbnQiOyBl eSdzIG5vdCBwYXlpbmcgd2l0aCBlbXNlbGYhIC0tIGNhbWd1c21pcwoKKiogKChBcHByb3ZlZCBF cnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiog U2VjdGlvbiAxNSwgZXhhbXBsZSAxNS4xMy4gV3JvbmcgdXNlIG9mIHtzZWxmdX0uIHtiZXZyaX0g d291bGQgZml0IGJldHRlci4KCi0tLQoKCgohQ2hhcHRlciAxNAoKCgoqIFNlY3Rpb24gOCwgcmln aHQgYmVmb3JlIGV4YW1wbGUgOC45IGlzICJwcm9kdWNpbmcgZXhhbXBsZSA4LjEwIiB3aGljaCBz aG91bGQgaW4gZmFjdCByZWFkICJwcm9kdWNpbmcgZXhhbXBsZSA4LjkiLiAgKChBcHByb3ZlZCBF cnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA5OiBiZXR3ZWVuIGV4YW1wbGUg OS4xMCBhbmQgOS4xMSwgImlkZW50aWZpZWQiIHNob3VsZCByZWFkICJpZGVudGljYWwiCgoqKiAo KEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUct Q0xMJycKCgoKKiBTZWN0aW9uIDExLCByaWdodCBiZWZvcmUgc2VjdGlvbiAxMi4gSXQgc2F5cyAi dGVybXNldHMuLi5hcmUgZXhwbGFpbmVkIGluIENoYXB0ZXIgMTIgYW5kIENoYXB0ZXIgMTYiIGJ1 dCBjaGFwdGVyIDEyICh3aGljaCBpcyBvbiBsdWp2bykgbWFrZXMgYWJzb2x1dGVseSBubyBtZW50 aW9uIG9mIHRlcm1zZXRzLiBDaGFwdGVycyA5IGFuZCAxMCBkaXNjdXNzIHRlcm1zZXRzLiAgKChB cHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAxNCwgZXhhbXBs ZSAxNC4xNSBpcyBub3QgZ3JhbW1hdGljYWwgKGFjY29yZGluZyB0byBqYm9maSdlIGFuZCBjYW14 ZXMpIGJlY2F1c2UgaXQgc2F5cyAicGUnZSAuZSIgd2hlbiBpdCBzaG91bGQgc2F5ICJwZSdlIGpl Ii4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTQs IGV4YW1wbGUgMTQuMTYgbWVudGlvbnMgInNvcm1lIiwgd2hpY2ggaXMgcHJvYmFibHkgT2xkIExv Z2xhbiwgYW5kIHNob3VsZCBiZSByZXBsYWNlZCBieSAibWVuc2kiLgoKKiogKChBcHByb3ZlZCBF cnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiog U2VjdGlvbiAxNCwgInRoZSBzdGF0ZWQgZ2xvc3Mgb2YgVEZUVGFzIOKAnG9ubHkgaWbigJ0gd29y a3MgbmF0dXJhbGx5IG9ubHkgd2hlbiB0aGUgcmlnaHQtaGFuZCBicmlkaSBpcyB0cnVlOyBpZiBp dCBpcyBmYWxzZSwgdGhlIGxlZnQtaGFuZCBicmlkaSBtYXkgYmUgZWl0aGVyIHRydWUgb3IgZmFs c2UuIiBjaGFuZ2VkIHRvICJ0aGUgc3RhdGVkIGdsb3NzIG9mIFRGVFRhcyDigJxvbmx5IGlm4oCd IHdvcmtzIG5hdHVyYWxseSBvbmx5IHdoZW4gdGhlIHJpZ2h0LWhhbmQgYnJpZGkgaXMgZmFsc2U7 IGlmIGl0IGlzIHRydWUsIHRoZSBsZWZ0LWhhbmQgYnJpZGkgbWF5IGJlIGVpdGhlciB0cnVlIG9y IGZhbHNlLiIKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lO Q0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTUsIHJpZ2h0IGFmdGVyIDE1LjksIGl0 IHNheXMgImV4YW1wbGUgMTQuMTciIHdoZXJlIGl0IHNob3VsZCBzYXkgImV4YW1wbGUgMTUuOSIg KDE0LjE3IGRvZXMgbm90IGV4aXN0KS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92 ZWQpKQoKCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUuOCBpcyBtaXNzaW5nIGEgZG90IGFmdGVy ICJsYSBsb2piYW4iLgoKCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUuOSBpcyBub3QgZ3JhbW1h dGljYWw7IGl0IHNob3VsZCBiZSAibGEgZGphbi4gZmEndSBsYSBmcmFuay4gY3Vza3UgbnUnaSBi YXUgbGEgbG9qYmFuLiBwZSdlIGZhJ3UgYmFpIGxhIGRqb3Jkai4iLgoKCgoqIFNlY3Rpb24gMTcs IGV4YW1wbGUgMTcuNCBpcyB3cm9uZy4gIFRoZSBzZWN0aW9uIGV4cGxhaW5zIHRoYXQgbWVrc28g b3BlcmF0b3JzIGNhbiBiZSBsb2dpY2FsbHkgY29ubmVjdGVkIHVzaW5nIHtndSdlIC4uLiBnaSAu Li59LCBidXQgdGhpcyBleGFtcGxlIHRyaWVzIHRvIGNvbm5lY3QgdGhlbSB3aXRoIHtnZSAuLi4g Z2kgLi4ufS4gIFJlcGxhY2Uge2dlfSB3aXRoIHtndSdlfSBpbiB0aGUgZXhhbXBsZSB0byBjb3Jy ZWN0IGl0LgoKCgoqIFNlY3Rpb24gMTksIGV4YW1wbGUgMTkuNCBpcyB0cmFuc2xhdGVkIGFzICJJ IG9waW5lIHRoZSBmYWN0LXRoYXQgYS1tYXNzLW9mIGxpdmluZy10aGluZ3MgaXMtYXQgSnVwaXRl ciBvci1lbHNlIEkgb3BpbmUgdGhlIGZhY3QtdGhhdCBhLW1hc3Mtb2YgbGl2aW5nLXRoaW5ncyBp c24ndC1hdCBKdXBpdGVyIiBidXQgcmVhbGx5IGl0J3MgIkkgb3BpbmUgdGhlIGZhY3QtdGhhdCBh LW1hc3Mtb2YgbGl2aW5nLXRoaW5ncyBpcy1hdCBKdXBpdGVyIG9yLWVsc2UgSSBfX2RvLW5vdF9f IG9waW5lIHRoZSBmYWN0LXRoYXQgYS1tYXNzLW9mIGxpdmluZy10aGluZ3MgX19pcy1hdF9fIEp1 cGl0ZXIiLiBTbyAxOS40IGlzIGFjdHVhbGx5IHRydWUsIG5vdCBmYWxzZSBhcyBpdCBpcyBjbGFp bWVkIHRvIGJlLgoKKiogQ29ycmVjdCwgc28gdGhpcyBleGFtcGxlIHdpbGwgbmVlZCByZXBsYWNp bmcuICAgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIEFsc28gdGhl cmUgaXNuJ3QgcmVhbGx5IGEgcmVhc29uIGZvciBpdCB0byBzYXkgYSBtYXNzIG9mIGxpdmluZyB0 aGluZ3MgYW5kIG5vdCBzb21lIGluZGl2aWR1YWwgbGl2aW5nIHRoaW5ncy4KCioqIFN0ZXQuICBU aGUgYXV0aG9yIHByZWZlcnMgaXQgdGhhdCB3YXksIHRoYW5reW91dmVyeW11Y2guICAtLWpjb3dh bi4KCgoKCgotLS0KCgoKISBDaGFwdGVyIDE1CgoKCiogU2VjdGlvbiAyLCBtaXNzaW5nIDwgL3By ZSA+IHRhZyBhZnRlciBleGFtcGxlIDIuOCBhbmQgPCBwcmU+IHRhZyBiZWZvcmUgZXhhbXBsZSAy LjkuCgoKCiogU2VjdGlvbiA0LCBleGFtcGxlIDQuMTIgL25ha2UvbmEnZWtlLwoKCgoqIFNlY3Rp b24gOSwgdHdvIHBhcmFncmFwaHMgYWJvdmUgZXhhbXBsZSA5LjQgdGhlIHdvcmQgIm5lZ2F0aXYi IHNob3VsZCBiZSAibmVnYXRpdmUiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3Zl ZCkpCgoKCiogU2VjdGlvbiA5OiBJcyB0aGVyZSBzdXBwb3NlZCB0byBiZSBhbnkgZGlmZmVyZW5j ZSBiZXR3ZWVuIGV4LiA5LjUgYW5kIDkuNj8KCioqIFRoYXQgcHJvYmxlbSBpcyBvbmx5IGluIHRo ZSBvbmxpbmUgdmVyc2lvbi4KCgoKKiBTZWN0aW9uIDEwLCB0aHJlZSBwYXJhZ3JhcGhzIGFmdGVy IGV4YW1wbGUgMTAuMTQsIHRoZXJlJ3MgYSBzZW1pY29sb24gd2hpY2ggc2hvdWxkIGJlIGEgY29t bWEgYWZ0ZXIgIihzYXksIGEgc3BlbGxpbmcgZXJyb3IpIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxq Y293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTAsIGl0IHNheXMgIidqaSd1bmEnaWt1JyBt ZXRhbGluZ3Vpc3RpY2FsbHkgc2F5cyB0aGF0IHNvbWV0aGluZyBpcyB3cm9uZyB3aXRoIHRoYXQg YXNzdW1wdGlvbi4gKFNlZSBDaGFwdGVyIDEwLikiLiBTaG91bGRuJ3QgdGhhdCBiZSBDaGFwdGVy IDksIG1vZGFscz8KCioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcnICh6b3J0J3MgZm9yayBhdCBs ZWFzdCkgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgotLS0KCgoKIUNoYXB0 ZXIgMTYKCgoKKiBTZWN0aW9uIDUsIGV4YW1wbGUgNS41OiBFbmdsaXNoIGhhcyAiZXZlcnkgWSIg d2hlbiBpdCBzaG91bGQgcmVhZCAiZXZlcnkgWCIKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1n dXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNiwg ZXhhbXBsZSA2LjYgaGFzIGEgbWlzc2luZyAiY3UiIGJlZm9yZSAidmlza2EiLgoKKiogKChBcHBy b3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcn CgoKCiogU2VjdGlvbiA4LCB0aGUgZXhwbGFuYXRpb24gb2YgZXhhbXBsZSA4LjMgc2F5cyAiYW55 IGVudGl0eSB3aGljaCBpcyBvbmUgaXMgYWxzbyB0aGUgb3RoZXIiLiBUaGF0IHdvdWxkIGJlIHRy dWUgaWYgdGhlIGV4YW1wbGUgdXNlZCB7Z299LCBidXQgaXQgdXNlcyB7Z2FuYWl9LiA4LjMgZG9l cyBub3QgY2xhaW0gdGhhdCBpZiBzb21ldGhpbmcgd2Fsa3MgYWNyb3NzIHRoZSBmaWVsZCB0aGVu IGl0IGdvZXMgdG8gdGhlIHN0b3JlLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3Zl ZCkpICBDaGFuZ2UgaXQgdG8gdXNlIHtnb30uICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqKiBT YW1lIHBsYWNlOiBuZWVkcyB0byBibyB7ZGEgZ299LCBub3Qge2dvIGRhfSAgQW5kIHRoZSBnbG9z cyBzaG91bGQgYmUgIkZvci1ldmVyeSBYOiBYIGlzLWEtZ29lci10byB0aGUgc3RvcmUgaWYtYW5k LW9ubHktaWYgaXQgaXMtYS13YWxrZXItb24gdGhlIGZpZWxkLiIgJydJTkNMVURFRCBJTiBEQUct Q0xMJycKCgoKKiBTZWN0aW9uIDgsIGV4YW1wbGUgOC4zLiBFaXRoZXIgdGhlIHtkYX0gc2hvdWxk IGNvbWUgYmVmb3JlIHRoZSB7Z2FuYWl9IChvciwgYnkgdGhlIHByZXZpb3VzIF4gZXJyYXR1bSwg e2dvfSkgYW5kIHRoZSBnbG9zcyBzaG91bGQgYmUgY2hhbmdlZCB0byBvbmx5IG1lbnRpb24gIlgi IG9uY2UsIG9yIGEge2RhfSBzaG91bGQgYmUgaW5zZXJ0ZWQgYmVmb3JlIHtjYWR6dX0uCgoqKiAn J0lOQ0xVREVEIElOIERBRy1DTEwnJyAgY2hvc2UgZmlyc3Qgb3B0aW9uIHNpbmNlIGl0J3MgdGVy c2VyICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgYnV0IG5lZWRzIGFwcHJvdmFsCgoKCiogVGhpczog IkFkamFjZW50IG5lZ2F0aW9uIGJvdW5kYXJpZXMgaW4gdGhlIHByZW5leCBjYW4gYmUgZHJvcHBl ZCwiIHJlYWRzIGJldHRlciBhcyAiQWRqYWNlbnQgcGFpcnMgb2YgbmVnYXRpb24gYm91bmRhcmll cyBpbiB0aGUgcHJlbmV4IGNhbiBiZSBkcm9wcGVkLCIKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxj YW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKioqIFRoZSBvbmxp bmUgdmVyc2lvbiBzYXlzICJBZGphY2VudCBkb3VibGUgbmVnYXRpb24gYm91bmRhcmllcyIsIGJ1 dCBJJ20gb2theSB3aXRoIGVpdGhlciAiZG91YmxlIiBvciAicGFpcnMgb2YiLiAgLS1qY293YW4K CgoKKiBTZWN0aW9uIDEwLCBleC4gMTAuNSBhbmQgMTAuNiBoYXZlIGEgcHJlbmV4LCAibmFrdSB6 byd1IiwgYWZ0ZXIgYW4gaWplay4gVGhpcyBpcyBub3QgYWxsb3dlZCBieSB0aGUgZ3JhbW1hci4g SXQgY291bGQgYmUgZml4ZWQgYnkgcmVtb3ZpbmcgdGhlICJ6byd1IiBhbmQgdXNpbmcgIm5ha3Ui IG91dHNpZGUgdGhlIHByZW5leCwgYWx0aG91Z2ggdGhpcyBpcyBvbmx5IGV4cGxhaW5lZCBpbiB0 aGUgZm9sbG93aW5nIFNlY3Rpb24gMTEuCgoqKiBUaGlzIGlzIGEgYmlnIHByb2JsZW0sIGFuZCBJ J20gbm90IHN1cmUgd2hhdCBzaG91bGQgYmUgZml4ZWQuICAtLWpjb3dhbiAgJycnTk9GSVgnJycK CiogU2VjdGlvbiAxMiwgZXguIDEyLjcgYW5kIDEyLjkgaGF2ZSBtaXNzaW5nICJjdSJzLgoKKiog KChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFH LUNMTCcnCgoKCiogU2VjdGlvbiAxNCwgRXhhbXBsZSAxNC4xIGhhcyAiYmxhY2kiIChnbGFzcykg bm90ICJibGFiaSIgKHdoaXRlKSBhcyBwZXIgdGhlIEVuZ2xpc2guCgoqKiAoKEFwcHJvdmVkIEVy cmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKLS0t CgoKCiFDaGFwdGVyIDE3CgoKCiogU2VjdGlvbiA1LCBhZnRlciBleGFtcGxlIDUuMSwgcGFyYWdy YXBoIHN0YXJ0aW5nICJIb3dldmVyLCAiIGhhcyBpbmNvcnJlY3QgZm9udC4gICgoQXBwcm92ZWQg RXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gNSwgaW4gdGhlIHNlY29uZCBw YXJhZ3JhcGggYWZ0ZXIgZXhhbXBsZSA1LjEsIHNheXMgJ3RoZSBsZXJmdSB3b3JkIOKAnHR54oCd IHdvdWxkIHJlcHJlc2VudCBub3QgTGF0aW4g4oCcdOKAnSBidXQgR3JlZWsg4oCcdGF14oCdLicg U2hvdWxkbid0IGl0IGJlICJ0eS4iPwoKCgoqIFNlY3Rpb24gOSwgcGFnZSA0MjEuIGxlcmZ1IHN0 cmluZ3MgYXJlIHdyaXR0ZW4gd2l0aG91dCBwYXVzZXMgb3Igc3BhY2VzLCBldmVuIHRob3VnaCBC WSB3b3JkcyBoYXZlIHRvIGVuZCB3aXRoIGEgY29uc29uYW50LgoKKiogU3RldC4gIEJZIHdvcmRz IGRvIG5vdCBlbmQgd2l0aCBhIGNvbnNvbmFudCwgYW5kIGEgc3RyaW5nIG9mIHRoZW0gY2FuIG5l dmVyIGJlIGFtYmlndW91cywgc28gcGF1c2VzL3NwYWNlcyBhcmUgbm90IHJlcXVpcmVkLiAgLS1q Y293YW4KCgoKKiBTZWN0aW9uIDksIEV4YW1wbGUgOS40OiBzaG91bGRuJ3QgInN5bXlqeSIgYmUg InN5bXlkeSIgKGxvamJhbiBtb3JwaG9sb2d5KT8gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4g QXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTAuIEFmdGVyIEV4YW1wbGUgMTAuNC41LCB0aGUgcmVm ZXJlbmNlIHRvIEV4YW1wbGUgMTAuNCBzaG91bGQgYmUgaW5zdGVhZCB0byBFeGFtcGxlIDEwLjQu NS4KCioqSW4gdGhlIGN1cnJlbnQgREFHLUNMTCwgdGhlIGV4YW1wbGVzIG51bWJlcmluZyBpcyBz YW5lLCBidXQgYWZ0ZXIgRXhhbXBsZSAxMC4zLCB0aGUgdHdvIHJlZmVyZW5jZXMgdG8gRXhhbXBs ZSAxMC40IHNob3VsZCBiZSB0byBFeGFtcGxlIDEwLjMuCgoKCiogUmlnaHQgYmVmb3JlIHNlY3Rp b24gMTIsIHRoZXJlIGlzIGEgbGluZSBicmVhayBpbiB0aGUgbWlkZGxlIG9mIHRoZSBwYXJhZ3Jh cGguICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBJbiBzZWN0aW9u IDEzLCB0aGUgZmlyc3QgcGFyYWdyYXBoIHN0YXRlcyAiSGlzdG9yaWNhbGx5LCB0aGVzZSBjaGFy YWN0ZXIgc2V0cyBoYXZlIG9ubHkgY292ZXJlZCB0aGUgRW5nbGlzaCBhbHBoYWJldCBhbmQgYSBm ZXcgc2VsZWN0ZWQgcHVuY3R1YXRpb24gbWFya3MuIiwgd2hpY2ggaXMgaW5jb3JyZWN0LiBUaGVy ZSBoYXZlIGJlZW4gbXVsdGl0dWRlcyBvZiBjaGFyYWN0ZXIgc2V0cyBmb3Igd3JpdGluZyBzeXN0 ZW1zIG90aGVyIHRoYW4gdGhlIEVuZ2xpc2ggYWxwaGFiZXQuCgoqKiBDaGFuZ2UgdG8gc29tZXRo aW5nIGFsb25nIHRoZSBsaW5lIG9mICJIaXN0b3JpY2FsbHksIGVhY2ggb2YgdGhlc2UgY2hhcmFj dGVyIHNldHMgaGFzIG9ubHkgY292ZXJlZCBhIHBhcnRpY3VsYXIgd3JpdGluZyBzeXN0ZW0uIgoK CgoqIFNlY3Rpb24gMTcsIHBhZ2UgNDI3LiAiLnR2cml5ZG9zLiBidSIgYmVnaW5zIHdpdGggdGhl IGNvbnNvbmFudCBjbHVzdGVyLCB3aGljaCBpc24ndCBldmVuIHBlcm1pc3NpYmxlIG1lZGlhbGx5 LgoKKiogY2hhbmdlIHRvIHR5dnJpeWRvcwoKKioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNt aXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKioqKiBBY3R1YWxseSwgaXQg c2hvdWxkIGJlICJ0eXZyZG9zLiBidSIgIC0tamNvd2FuCgoKCiogSW4gdGhlIHRhYmxlIGluIHNl Y3Rpb24gMTksIHRoZSBsZXJ2bGEgZm9yIG92ZXItZG90ICgiLmdhcm1vYy4gYnUiKSBhbmQgb3Zl ci1yaW5nICgiLmdhcmppbi4gYnUiKSBzaG91bGQgYmUgdXBkYXRlZCB0byB0aGVpciBwb3N0LVJl YWxsb2NhdGlvbiBmb3JtcywgIi5nYXBtb2MuIGJ1IiBhbmQgIi5nYXB5amluLiBidSIuCgoqKiog KChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFH LUNMTCcnCgoKCiogU2VjdGlvbiAxOSBoYXMgdHdvIGNvbHVtbnMgcnVuIHRvZ2V0aGVyIGluIHRo ZSByb3cgdGhhdCBzYXlzICJEYW5pc2gvTGF0aW4gYWV0ZWkgLmFidSAuZWJ1IGZvaSIKCgoKLS0t CgohQ2hhcHRlciAxOAoKCgoqIFNlY3Rpb24gMywgZXguIDMuMTAsIHNob3VsZCB0cmFuc2xhdGUg YXMgIi4xMDEyMDAxIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoq IEluIHNlY3Rpb24gNCBleGFtcGxlIDQuNSBpcyBsaW5rZWQgaW5zdGVhZCBvZiA0LjcgLSAiRXhh bXBsZSA0LjUgaXMgbm90IGBgMSBtaW51cyAyJycsIFsuLi58Li4uXSIgd2hlcmUgZXhhbXBsZSA0 LjUgaXMganVzdCAidGUnbyIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkK CgoKKiBTZWN0aW9uIDUsIHA0MzcgZXg1LjkgW2dsb3NzXTogb3VyIC0+IGZvdXIgKChBcHByb3Zl ZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoK CgoqIFNlY3Rpb24gNiwgcDQzODogaiB2dSd1IC0+IHZ1J3UgICgoQXBwcm92ZWQgRXJyYXR1bXxq Y293YW4gQXBwcm92ZWQpKQoKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTdGFydCBv ZiBzZWN0aW9uIDExIHNob3VsZCByZWFkIHRoZXJlIGFyZSBmaXZlIG1lbWJlcnMgb2YgTU9JIChu b3QgZm91cikuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBJbiBz ZWN0aW9uIDExLCBleCAxMS4xMCBvbiB2YSdlICJzb2ZpJ3VwYW5vIiBpbiB0aGUgZXhhbXBsZSBp cyBnbG9zc2VkIGFzICI4LzEwIiBpbnN0ZWFkIG9mICI5LzEwIi4gICgoQXBwcm92ZWQgRXJyYXR1 bXxqY293YW4gQXBwcm92ZWQpKQoKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBJbiBz ZWN0aW9uIDExLCAibGVpIHJhdGN1IHBvaSB6dmF0aSBsZSBwYW5rYSBjdSBzbyd1bWVpIGZvIGxv J2kgcmF0Y3UiLCBidXQgdGhlcmUgaXMgbm8gNHRoIHBsYWNlIG9mIG1laS4KCioqIFJlbW92ZSB0 aGUgImZvIjsgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICcnSU5DTFVERUQg SU4gREFHLUNMTCcnCgoKCiogRXhhbXBsZSAxNC40IG5lZWRzIGEgc3ViLTIgYWZ0ZXIgYm90aCBu dW1iZXJzLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5D TFVERUQgSU4gREFHLUNMTCcnCgoKCiogSW4gc2VjdGlvbiAxNywgZXhhbXBsZSAxNy41LCB7Z2l9 IHNob3VsZCBiZSByZXBsYWNlZCBieSB7Z3UnZX0sIGJlY2F1c2UgbWVrc28gb3BlcmF0b3JzIGFy ZSB0byBiZSBjb25uZWN0ZWQgYnkgZ3VoZWtzLiAgVGhpcyBpcyBlc3NlbnRpYWxseSB0aGUgc2Ft ZSBtaXN0YWtlIGFzIGluIGV4YW1wbGUgMTQvMTcuNC4KCgoKKiBJbiBzZWN0aW9uIDE3LCB0aGUg RW5nbGlzaCB0cmFuc2xhdGlvbiBmb3IgZXhhbXBsZSAxNy42IGhhcyB0aGUgZm9ybXVsYSByZW5k ZXJlZCB3cm9uZyBpbiB0aGUgSFRNTCB2ZXJzaW9uLiAgVGhlIGZyYWN0aW9uIGJhciBzaG91bGQg YmUgYWRkZWQgKGl0IGlzIGludmlzYmxlIGN1cnJlbnRseSksIGFuZCB0aGUgd29yZHMgInRoZW4g eCA9IiBzaG91bGQgYmUgdmVydGljYWxseSBhbGlnbmVkIHRvIHRoZSBmcmFjdGlvbiBiYXIgKHRo ZXkgYXJlIGN1cnJlbnRseSBhbGlnbmVkIHRvIHRoZSBudW1lcmF0b3IpLgoKCgoqIEluIHNlY3Rp b24gMTcsIGF0IHRoZSBib3R0b20gb2YgcGFnZSA0NTQsIHRoZSBxdWFkcmF0aWMgZm9ybXVsYSBz aG91bGQgYmUgZGVzY3JpYmVkIGFzIGEgY2xhc3NpYyBleGFtcGxlIG9mIG9wZXJhdG9yIGxvZ2lj YWwgY29ubmVjdGlvbiwgbm90IG9wZXJhbmQuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFw cHJvdmVkKSkKCgoKKiBTZWN0aW9uIDIwLCBwNDU4OiAtZXN0YWJsaXNoZWQgLT4gZXN0YWJsaXNo ZWQgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMjEg c3RhdGVzIHRoYXQgdGhlIHJhZnNpIG9mICJmcmludSIgbWF5IGJlIHVzZWQgYXMgcmFmc2kgZm9y ICJmaSd1IjsgaG93ZXZlciwgImZyaW51IiBsb3N0IGJvdGggb2YgaXRzIHNob3J0IHJhZnNpIGlu IHRoZSBSZWFsbG9jYXRpb24sIHNvIHRoaXMgcmVhbGx5IGlzbid0IHZlcnkgdXNlZnVsLiBUaGUg dGFibGUgYmVsb3cgbGlzdHMgImZpJ3UiIGFzIGEgcmFmc2kgdXNhYmxlIGZvciAiZmkndSIsIHRo ZXJlZm9yZSBvZiAiZnJpbnUiOyB0aGUgZ2ltc3RlIGxpc3RzICJmaSd1IiBhcyBhIHJhZnNpIG9m ICJjZmlwdSIuCgoqKiBUaGlzIGlzIGEgc2VyaW91cyBwcm9ibGVtIHdoaWNoIG5lZWRzIHNvbWUg dGhvdWdodC4gIFRoZXJlIG5lZWRzIHRvIGJlIGEgcmFmc2kgZm9yIGZpJ3Ugc29tZWhvdy4gIC0t amNvd2FuICAnJydOT0ZJWCcnJwoKCgoqIFNlY3Rpb24gMjIgZXhhbXBsZSAyMi4zLCAibW8nZSB2 b2JvaSByZW5vbWVpIHN1J2kgemUiLCBkb2VzIG5vdCBwYXJzZS4KCioqIEl0IG5lZWRzICJ2ZWki IGluIGZyb250IHRvIGJlIGEgcXVhbnRpZmllciAoYW4gb3BlcmFuZCBieSBpdHNlbGYgaXMgbm90 IGEgcGVybWl0dGVkIGZyYWdtZW50KS4gQWxzbywgdGhlIGZvbGxvd2luZyB0ZXh0IG1lbnRpb25z ICJ0ZSd1IiBidXQgdGhlIGV4YW1wbGUgb21pdHMgaXQuCgoqKiogTm9uZSBvZiB0aG9zZSBleGFt cGxlcyBwYXJzZSB3aXRob3V0IHtsaX0sIHdoaWNoIEkgaGF2ZSBhZGRlZCB0byBhbGwuICBSZXBs YWNlZCB0aGUgb25lIGluIHF1ZXN0aW9uIHdpdGggImxpIG1vJ2Ugdm9ib2kgcmVub21laSB0ZSd1 IHN1J2kgemUiICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xV REVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMjUuICBUaGUgcmFmc2kgZm9yICJzbydlIiwg LXNvcC0sIGlzIG1pc3NpbmcsIHRoZSByYWZzaSBmb3IgdGhlIGZvbGxvd2luZyBmb3VyIHdvcmRz IGFyZSBsaXN0ZWQgdW5kZXIgdGhlIHdyb25nIHdvcmQuICBUaGF0IGlzLCAtc29yLSBpcyBhY3R1 YWxseSB0aGUgcmFmc2kgZm9yICJzbydpIiwgYW5kIC1kYXotIGlzIHRoZSByYWZzaSBmb3IgImRh J2EiLgoKCgotLS0KCiFDaGFwdGVyIDE5CgoKCiogU2VjdGlvbiA0LCBwNDY3IGV4NC4zOiB6dSdv IC0+IHpvJ3UgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiogKChBcHBy b3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcn CgoKCiogU2VjdGlvbiA2LCBwYWdlIDQ3Mi4gRXhhbXBsZSA2LjYgZW5kcyB3aXRoICJrbGFtYSIs IGJ1dCBmb3IgdGhlIGFyZ3VtZW50IHRvIG1ha2Ugc2Vuc2UsIGl0IGhhcyB0byBzYXkgIm51bmts YSIuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURF RCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDcsIEV4YW1wbGUgNy4xIGhhcyBhcyB0aGUgRW5n bGlzaDogIkkgZ28tdG8gKGZpcnN0bHkpIHRoZSBzdG9yZSBhbmQgKHNlY29uZGx5KSB0aGUgbWFy a2V0LiIgICJ0aGUgbWFya2V0IiBzaG91bGQgYmUgInRoZSBob3VzZSIuCgoqKiAoKEFwcHJvdmVk IEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoK KiBFeGFtcGxlIDExLjgsIHRoZXJlJ3MgYSBkZW5wYWJ1IGFmdGVyIHt6YSdlfSBhbmQgbm8gZGVu cGFidSBhZnRlciB7YWxiZWluaWFzfS4KCioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcnICh6b3J0 J3MgZm9yayBhdCBsZWFzdCkgYnV0IG5lZWRzIGFwcHJvdmFsCgoKCiogU2VjdGlvbiAxMSwgdGhl IHBhcmFncmFwaCBhZnRlciBleGFtcGxlIDExLjggc2F5cyAiY3RpaXB5cmlzIiBidXQgaXQgc2hv dWxkIGJlICJja2lpcHlyaXMiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkp CgotLS0KCgoKIUNoYXB0ZXIgMjAKCgoKKiBTZWN0aW9uIExFLCBwYWdlIDQ5OC4gSW4gImxlIGdl cmt1IGtsYW1hIGxlIHpkYW5pIiwgImN1IiBpcyBtaXNzaW5nLgoKKiogKChBcHByb3ZlZCBFcnJh dHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2Vj dGlvbiBUVWhFLCBwYWdlIDUwNS4gSW4gInhhZ21hdSB6byd1IHR1J2UgZ2FuYWkgY2lkamEgZ2kg Y25pbm8gLmkgZ2FuYWkgdmFuanUgZ2kgdG9sY2knbyB0dSd1IiwgImNuaW5vIiBzaG91bGQgYmUg cmVwbGFjZWQgYnkgImNpdG5vIi4gIEFsc28sIGEgcHJlbmV4IGNhbid0IGhhdmUgYSBzZWxicmks IHNvICcneGFnbWF1Jycgc2hvdWxkIGJlIHJlcGxhY2VkIGJ5ICcnbG8geGFnbWF1JycuCgoqKiAo KEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUct Q0xMJycKCgoKKiBTZWN0aW9uIFNFLCBwYWdlIDUwNDogbWlzc2luZyAiY3UiIGFmdGVyICJ6YXJj aSIuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURF RCBJTiBEQUctQ0xMJycKCgoKKiBJbiB0aGUgcGFzc2FnZXMgb24gVkVJIGFuZCBWRWhPLCB0aGUg ImJvInMgc2hvdWxkIGJlIGNoYW5nZWQgdG8gImJpJ2Uicy4gICgoQXBwcm92ZWQgRXJyYXR1bXxq Y293YW4gQXBwcm92ZWQpKQoKCgotLS0KCgoKIUNoYXB0ZXIgMjEKCgoKKiBJbiB0aGUgQk5GIGdy YW1tYXIsIHRoZSBydWxlIHNpbXBsZS10ZW5zZS1tb2RhbC05NzIgaXMgbWlzc2luZyBhICJ8IiBi ZWZvcmUgdGhlIENVaEUuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoK KiBJbiB0aGUgQk5GIGdyYW1tYXIsIHRoZSBydWxlIHNpbXBsZS10ZW5zZS1tb2RhbC05NzIgaGFz IGFuIGV4dHJhIG5ld2xpbmUgaW4gdGhlIHNwYWNlL3RpbWUgc3VicGhyYXNlLgoKCgoqIEluIHRo ZSBCTkYgZ3JhbW1hciwgdGhlIHJ1bGUgc2VsYnJpLTEtMTMxIGlzIG1pc3NpbmcgYSAifCIgYmVm b3JlIHRoZSBOQS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIElu IHRoZSBCTkYgZ3JhbW1hciwgdGhlIHJ1bGUgdGFucnUtdW5pdC0yLTE1MiBpcyBtaXNzaW5nIGEg InwiIGJlZm9yZSB0aGUgSkFJLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkp CgoKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVE IElOIERBRy1DTEwnJyA7IGJpemFyZWxseSwgdGhlIFdvcmQgZG9jIHRoZSBib29rIHdhcyBwcmlu dGVkIGZyb20gZG9lcyBub3QgaGF2ZSB0aGlzIHByb2JsZW0gYXQgYWxsLgoKCgoqIEluIHRoZSBC TkYgZ3JhbW1hciwgdGhlIHJ1bGUgb3BlcmF0b3ItMS0zNzEgaXMgbWlzc2luZyB0d28gInwiLiAg KChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogSW4gdGhlIEJORiBncmFt bWFyLCB0aGUgcnVsZSBtZXgtb3BlcmF0b3ItMzc0IGlzIG1pc3NpbmcgYSAifCIgYmVmb3JlIHRo ZSBNQWhPIGFuZCBhbm90aGVyIGJlZm9yZSB0aGUgVlVoVS4gICgoQXBwcm92ZWQgRXJyYXR1bXxq Y293YW4gQXBwcm92ZWQpKQoKCgoqIEluIHRoZSBCTkYgZ3JhbW1hciwgdGhlIHJ1bGUgb3BlcmFu ZC0zLTM4NSBpcyBtaXNzaW5nIGEgInwiIGJlZm9yZSB0aGUgTkloRS4gICgoQXBwcm92ZWQgRXJy YXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIEluIHRoZSBCTkYgZ3JhbW1hciwgaW4gdGhlIHJ1 bGUgdGltZV8xMDMwLCB0aGUgIlpFaEEgW1BVIFtOQUldIF0iIHNob3VsZCBiZSBlbmNsb3NlZCBp biBwYXJlbnRoZXNlcy4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCldpa2luZXVyb3Rp YyBtYWlsaW5nIGxpc3QKV2lraW5ldXJvdGljQGxvamJhbi5vcmcKaHR0cDovL21haWwubG9qYmFu Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpa2luZXVyb3RpYwo=