SF.net SVN: phpwiki:[11109] trunk
carstenklapp--- via phpwiki-checkins <[email protected]> Sat, 15 Feb 2025 05:18:08 +0000
| Newsgroups | gmane.comp.web.wiki.phpwiki.checkins |
|---|---|
| Message-ID | <[email protected]> |
UmV2aXNpb246IDExMTA5CiAgICAgICAgICBodHRwOi8vc291cmNlZm9yZ2UubmV0L3AvcGhwd2lr aS9jb2RlLzExMTA5CkF1dGhvcjogICBjYXJzdGVua2xhcHAKRGF0ZTogICAgIDIwMjUtMDItMTUg MDU6MTg6MDggKzAwMDAgKFNhdCwgMTUgRmViIDIwMjUpCkxvZyBNZXNzYWdlOgotLS0tLS0tLS0t LQpCdWdmaXhlcyBhbmQgaW1wcm92ZW1lbnRzIHRvIGxvYWRpbmcvc2F2aW5nIHBhZ2VzIGFzIGZp bGVzLiBzZWUgUmVsZWFzZU5vdGVzLgoKTW9kaWZpZWQgUGF0aHM6Ci0tLS0tLS0tLS0tLS0tCiAg ICB0cnVuay9saWIvUGFnZVBlcm0ucGhwCiAgICB0cnVuay9saWIvbG9hZHNhdmUucGhwCiAgICB0 cnVuay9saWIvbWFpbi5waHAKICAgIHRydW5rL2xpYi9taW1lbGliLnBocAogICAgdHJ1bmsvbGli L3BsdWdpbi9QYWdlRHVtcC5waHAKICAgIHRydW5rL2xpYi9wbHVnaW4vV2lraUZvcm0ucGhwCiAg ICB0cnVuay9wZ3NyYy9SZWxlYXNlTm90ZXMKCk1vZGlmaWVkOiB0cnVuay9saWIvUGFnZVBlcm0u cGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tIHRydW5rL2xpYi9QYWdlUGVybS5waHAJMjAyNS0wMi0xNCAyMzoy MjozNyBVVEMgKHJldiAxMTEwOCkKKysrIHRydW5rL2xpYi9QYWdlUGVybS5waHAJMjAyNS0wMi0x NSAwNToxODowOCBVVEMgKHJldiAxMTEwOSkKQEAgLTE5NCw2ICsxOTQsNyBAQAogICAgICAgICBj YXNlICd6aXBodG1sJzoKICAgICAgICAgY2FzZSAnZHVtcGh0bWwnOgogICAgICAgICBjYXNlICdk dW1wc2VyaWFsJzoKKyAgICAgICAgY2FzZSAnZHVtcHN2bic6CiAgICAgICAgICAgICByZXR1cm4g J2R1bXAnOwogCiAgICAgICAgIC8vIGludmVudCBhIG5ldyBhY2Nlc3MtcGVybSBtYXNzZWRpdD8g b3Igc3dpdGNoIGJhY2sgdG8gY2hhbmdlLCBvciBrZWVwIGl0IGF0IGVkaXQ/CgpNb2RpZmllZDog dHJ1bmsvbGliL2xvYWRzYXZlLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB0cnVuay9saWIvbG9hZHNhdmUu cGhwCTIwMjUtMDItMTQgMjM6MjI6MzcgVVRDIChyZXYgMTExMDgpCisrKyB0cnVuay9saWIvbG9h ZHNhdmUucGhwCTIwMjUtMDItMTUgMDU6MTg6MDggVVRDIChyZXYgMTExMDkpCkBAIC0xMjAsNyAr MTIwLDcgQEAKIAogLyoqCiAgKiBGb3IgcmVmZXJlbmNlIHNlZToKLSAqIGh0dHA6Ly93d3cubmFj cy51Y2kuZWR1L2luZGl2L2Vob29kL01JTUUvMjA0NS9yZmMyMDQ1Lmh0bWwKKyAqIGh0dHBzOi8v d3d3LmlldGYub3JnL3JmYy9yZmMyMDQ1LnR4dAogICogaHR0cDovL3d3dy5mYXFzLm9yZy9yZmNz L3JmYzIwNDUuaHRtbAogICogKFJGQyAxNTIxIGhhcyBiZWVuIHN1cGVyY2VlZGVkIGJ5IFJGQyAy MDQ1ICYgb3RoZXJzKS4KICAqCkBAIC0xMjgsOSArMTI4LDEwIEBACiAvKgogICogQHBhcmFtIFdp a2lEQl9QYWdlICRwYWdlCiAgKiBAcGFyYW0gaW50ICRudmVyc2lvbnMKKyAqIEBwYXJhbSBib29s ICRmb3Jzdm4KICAqIEByZXR1cm4gc3RyaW5nCiAgKi8KLWZ1bmN0aW9uIE1haWxpZnlQYWdlKCRw YWdlLCAkbnZlcnNpb25zID0gMSkKK2Z1bmN0aW9uIE1haWxpZnlQYWdlKCRwYWdlLCAkbnZlcnNp b25zID0gMSwgJGZvcnN2biA9IGZhbHNlKQogewogICAgICRjdXJyZW50ID0gJHBhZ2UtPmdldEN1 cnJlbnRSZXZpc2lvbihmYWxzZSk7CiAgICAgJGhlYWQgPSAnJzsKQEAgLTE0Niw3ICsxNDcsMjAg QEAKICAgICAgICAgLy8gcmVxdWlyZXMgYSBkZXN0aW5hdGlvbiBmaWVsZC4KICAgICAgICAgJGhl YWQgLj0gIlRvOiAkZnJvbSAoUGhwV2lraSlcclxuIjsKICAgICB9Ci0gICAgJGhlYWQgLj0gIkRh dGU6ICIgLiBSZmMyODIyRGF0ZVRpbWUoJGN1cnJlbnQtPmdldCgnbXRpbWUnKSkgLiAiXHJcbiI7 CisgICAgaWYgKCEkZm9yc3ZuKSB7CisgICAgICAgIC8vIG5vcm1hbCBkdW1wcyB1c2UgZGF0ZSBt b2RpZmllZAorICAgICAgICAkaGVhZCAuPSAiRGF0ZTogIiAuIFJmYzI4MjJEYXRlVGltZSgkY3Vy cmVudC0+Z2V0KCdtdGltZScpKSAuICJcclxuIjsKKyAgICB9IGVsc2UgeworICAgICAgICAkdXNl X3BhZ2VfY3JlYXRpb25kYXRlX2luc3RlYWQgPSAwOworICAgICAgICBpZiAoJHVzZV9wYWdlX2Ny ZWF0aW9uZGF0ZV9pbnN0ZWFkKSB7CisgICAgICAgICAgICAkaGVhZCAuPSAiRGF0ZTogIiAuIFJm YzI4MjJEYXRlVGltZSgkcGFnZS0+Z2V0KCdkYXRlJykpIC4gIlxyXG4iOworICAgICAgICAgICAg Ly8gZm9yIHNwZWNpYWwgcGFnZWR1bXBzIHdoZXJlIHlvdSBkb24ndCB3YW50IHRvIGNoYW5nZSB0 aGUgZGF0ZQorICAgICAgICAgICAgLy8gIGluIGR1bXBlZCBwZ3NyYywgdXNlIGNyZWF0aW9uIGRh dGUKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIC8vIG5vcm1hbCBkdW1wcyB1c2UgZGF0 ZSBtb2RpZmllZAorICAgICAgICAgICAgJGhlYWQgLj0gIkRhdGU6ICIgLiBSZmMyODIyRGF0ZVRp bWUoJGN1cnJlbnQtPmdldCgnbXRpbWUnKSkgLiAiXHJcbiI7CisgICAgICAgIH0KKyAgICB9CiAg ICAgJGhlYWQgLj0gc3ByaW50ZigKICAgICAgICAgIk1pbWUtVmVyc2lvbjogMS4wIChQcm9kdWNl ZCBieSBQaHBXaWtpICVzKVxyXG4iLAogICAgICAgICBQSFBXSUtJX1ZFUlNJT04KQEAgLTE1NSw3 ICsxNjksNyBAQAogICAgICRpdGVyID0gJHBhZ2UtPmdldEFsbFJldmlzaW9ucygpOwogICAgICRw YXJ0cyA9IGFycmF5KCk7CiAgICAgd2hpbGUgKCRyZXZpc2lvbiA9ICRpdGVyLT5uZXh0KCkpIHsK LSAgICAgICAgJHBhcnRzW10gPSBNaW1laWZ5UGFnZVJldmlzaW9uKCRwYWdlLCAkcmV2aXNpb24p OworICAgICAgICAkcGFydHNbXSA9IE1pbWVpZnlQYWdlUmV2aXNpb24oJHBhZ2UsICRyZXZpc2lv biwgJGZvcnN2bik7CiAgICAgICAgIGlmICgkbnZlcnNpb25zID4gMCAmJiBjb3VudCgkcGFydHMp ID49ICRudmVyc2lvbnMpIHsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CkBAIC0xOTIs NyArMjA2LDcgQEAKICAgICAgICAgZ2xvYmFsICRyZXF1ZXN0OwogICAgICAgICAkYWN0aW9uID0g JHJlcXVlc3QtPmdldEFyZygnYWN0aW9uJyk7CiAgICAgfQotICAgIGlmICgkYWN0aW9uICE9ICdk dW1wc2VyaWFsJykgeyAvLyB6aXAsIHppcGh0bWwsIGR1bXBodG1sCisgICAgaWYgKCgkYWN0aW9u ICE9ICdkdW1wc2VyaWFsJykgJiYgKCRhY3Rpb24gIT0gJ2R1bXBzdm4nKSkgeyAvLyB6aXAsIHpp cGh0bWwsIGR1bXBodG1sCiAgICAgICAgIC8vIEZvciBldmVyeSAlMkYgd2Ugd2lsbCBuZWVkIHRv IG1rZGlyIC1wIGRpcm5hbWUoJHBhZ2VuYW1lKQogICAgICAgICAkZW5jID0gcHJlZ19yZXBsYWNl KCcvJTJGLycsICcvJywgJGVuYyk7CiAgICAgfQpAQCAtMjk2LDcgKzMxMCw3IEBACiAKICAgICAk RXJyb3JNYW5hZ2VyLT5wb3BFcnJvckhhbmRsZXIoKTsKIAotICAgIGhlYWRlcignQ29udGVudC1U cmFuc2Zlci1FbmNvZGluZzogYmluYXJ5Jyk7CisgICAgaGVhZGVyKCJDb250ZW50LVR5cGU6IGFw cGxpY2F0aW9uL29jdGV0LXN0cmVhbSIpOwogICAgIGhlYWRlcignQ29udGVudC1EaXNwb3NpdGlv bjogYXR0YWNobWVudDsgZmlsZW5hbWU9IicuJHppcG5hbWUuJyInKTsKICAgICBoZWFkZXIoJ0Nv bnRlbnQtTGVuZ3RoOiAnLmZpbGVzaXplKCR0bXBmaWxlbmFtZSkpOwogCkBAIC0zMDgsNiArMzIy LDEyOSBAQAogLyoqCiAgKiBAcGFyYW0gV2lraVJlcXVlc3QgJHJlcXVlc3QKICAqLworZnVuY3Rp b24gRHVtcFNWTlRvRGlyKCYkcmVxdWVzdCkgLy90aGlzIGlzIG1vc3RseSBhIGNvcHkgb2YgRHVt cFRvRGlyCit7CisgICAgJGRpcmVjdG9yeSA9ICRyZXF1ZXN0LT5nZXRBcmcoJ2RpcmVjdG9yeScp OworICAgIGlmIChlbXB0eSgkZGlyZWN0b3J5KSkgeworICAgICAgICAkZGlyZWN0b3J5ID0gREVG QVVMVF9EVU1QX0RJUjsKKyAgICB9CisgICAgaWYgKGVtcHR5KCRkaXJlY3RvcnkpKSB7CisgICAg ICAgICRodG1sID0gSFRNTDo6cCgKKyAgICAgICAgICAgIGFycmF5KCdjbGFzcycgPT4gJ2Vycm9y JyksCisgICAgICAgICAgICBfKCJZb3UgbXVzdCBzcGVjaWZ5IGEgZGlyZWN0b3J5IHRvIGR1bXAg dG8iKQorICAgICAgICApOworICAgICAgICBTdGFydExvYWREdW1wKCRyZXF1ZXN0LCBfKCJEdW1w aW5nIFBhZ2VzIGZvciBkZXZlbG9wZXIiKSwgJGh0bWwpOworICAgICAgICBFbmRMb2FkRHVtcCgk cmVxdWVzdCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvLyBzZWUgaWYgd2UgY2Fu IGFjY2VzcyB0aGUgZGlyZWN0b3J5IHRoZSB1c2VyIHdhbnRzIHVzIHRvIHVzZQorICAgIGlmICgh ZmlsZV9leGlzdHMoJGRpcmVjdG9yeSkpIHsKKyAgICAgICAgaWYgKCFta2Rpcl9wKCRkaXJlY3Rv cnksIDA3NTUpKSB7CisgICAgICAgICAgICAkaHRtbCA9IEhUTUw6OnAoCisgICAgICAgICAgICAg ICAgYXJyYXkoJ2NsYXNzJyA9PiAnZXJyb3InKSwKKyAgICAgICAgICAgICAgICBmbXQoIkNhbm5v dCBjcmVhdGUgZGlyZWN0b3J5IOKAnCVz4oCdIiwgJGRpcmVjdG9yeSkKKyAgICAgICAgICAgICk7 CisgICAgICAgICAgICBTdGFydExvYWREdW1wKCRyZXF1ZXN0LCBfKCJEdW1waW5nIFBhZ2VzIGZv ciBkZXZlbG9wZXIiKSwgJGh0bWwpOworICAgICAgICAgICAgRW5kTG9hZER1bXAoJHJlcXVlc3Qp OworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgJGh0 bWwgPSBIVE1MOjpwKGZtdCgKKyAgICAgICAgICAgICAgICAiQ3JlYXRlZCBkaXJlY3Rvcnkg4oCc JXPigJ0gZm9yIHRoZSBwYWdlIGR1bXAuLi4iLAorICAgICAgICAgICAgICAgICRkaXJlY3RvcnkK KyAgICAgICAgICAgICkpOworICAgICAgICB9CisgICAgfSBlbHNlaWYgKCFpc193cml0YWJsZSgk ZGlyZWN0b3J5KSkgeworICAgICAgICAkaHRtbCA9IEhUTUw6OnAoCisgICAgICAgICAgICBhcnJh eSgnY2xhc3MnID0+ICdlcnJvcicpLAorICAgICAgICAgICAgZm10KAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICJDYW5ub3QgdXNlIGRpcmVjdG9yeSDigJwlc+KAnSwgaXQgaXMgbm90IHdy aXRhYmxlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlyZWN0b3J5CisgICAgICAg ICAgICAgICAgICAgICAgICApCisgICAgICAgICk7CisgICAgICAgIFN0YXJ0TG9hZER1bXAoJHJl cXVlc3QsIF8oIkR1bXBEdW1waW5nIFBhZ2VzIGZvciBTVk4iKSwgJGh0bWwpOworICAgICAgICBF bmRMb2FkRHVtcCgkcmVxdWVzdCk7CisgICAgICAgIHJldHVybjsKKyAgICB9IGVsc2UgeworICAg ICAgICAkaHRtbCA9IEhUTUw6OnAoZm10KCJVc2luZyBkaXJlY3Rvcnkg4oCcJXPigJ0iLCAkZGly ZWN0b3J5KSk7CisgICAgfQorCisgICAgU3RhcnRMb2FkRHVtcCgkcmVxdWVzdCwgXygiRHVtcGlu ZyBQYWdlcyBmb3IgU1ZOIiksICRodG1sKTsKKworICAgICRkYmkgPSYgJHJlcXVlc3QtPl9kYmk7 CisgICAgJHRoaXNwYWdlID0gJHJlcXVlc3QtPmdldEFyZygncGFnZW5hbWUnKTsgLy8gZm9yICJS ZXR1cm4gdG8gLi4uIgorICAgIGlmICgkZXhjbHVkZSA9ICRyZXF1ZXN0LT5nZXRBcmcoJ2V4Y2x1 ZGUnKSkgeyAvLyBleGNsdWRlIHdoaWNoIHBhZ2VuYW1lcworICAgICAgICAkZXhjbHVkZUxpc3Qg PSBleHBsb2RlUGFnZUxpc3QoJGV4Y2x1ZGUpOworICAgIH0gZWxzZSB7CisgICAgICAgICRleGNs dWRlTGlzdCA9IGFycmF5KCk7CisgICAgfQorICAgICRpbmNsdWRlX2VtcHR5ID0gZmFsc2U7Cisg ICAgaWYgKCRyZXF1ZXN0LT5nZXRBcmcoJ2luY2x1ZGUnKSA9PSAnZW1wdHknKSB7CisgICAgICAg ICRpbmNsdWRlX2VtcHR5ID0gdHJ1ZTsKKyAgICB9CisgICAgaWYgKCRwYWdlcyA9ICRyZXF1ZXN0 LT5nZXRBcmcoJ3BhZ2VzJykpIHsgLy8gd2hpY2ggcGFnZW5hbWVzCisgICAgICAgIGlmICgkcGFn ZXMgPT0gJ1tdJykgeyAvLyBjdXJyZW50IHBhZ2UKKyAgICAgICAgICAgICRwYWdlcyA9ICR0aGlz cGFnZTsKKyAgICAgICAgfQorICAgICAgICAkcGFnZV9pdGVyID0gbmV3IFdpa2lEQl9BcnJheV9Q YWdlSXRlcmF0b3IoZXhwbG9kZVBhZ2VMaXN0KCRwYWdlcykpOworICAgIH0gZWxzZSB7CisgICAg ICAgICRwYWdlX2l0ZXIgPSAkZGJpLT5nZXRBbGxQYWdlcygkaW5jbHVkZV9lbXB0eSwgZmFsc2Us IGZhbHNlLCAkZXhjbHVkZUxpc3QpOworICAgIH0KKworICAgICRyZXF1ZXN0X2FyZ3MgPSAkcmVx dWVzdC0+YXJnczsKKyAgICAkdGltZW91dCA9ICghJHJlcXVlc3QtPmdldEFyZygnc3RhcnRfZGVi dWcnKSkgPyAzMCA6IDI0MDsKKworICAgIHdoaWxlICgkcGFnZSA9ICRwYWdlX2l0ZXItPm5leHQo KSkgeworICAgICAgICAkcmVxdWVzdC0+YXJncyA9ICRyZXF1ZXN0X2FyZ3M7IC8vIHNvbWUgcGx1 Z2lucyBtaWdodCBjaGFuZ2UgdGhlbSAoZXNwLiBvbiBQT1NUKQorICAgICAgICBsb25nZXJfdGlt ZW91dCgkdGltZW91dCk7IC8vIFJlc2V0IHdhdGNoZG9nCisKKyAgICAgICAgJHBhZ2VuYW1lID0g JHBhZ2UtPmdldE5hbWUoKTsKKyAgICAgICAgUHJpbnRYTUwoSFRNTDo6YnIoKSwgJHBhZ2VuYW1l LCAnIC4uLiAnKTsKKyAgICAgICAgZmx1c2goKTsKKworICAgICAgICBpZiAoaW5fYXJyYXkoJHBh Z2VuYW1lLCAkZXhjbHVkZUxpc3QpKSB7CisgICAgICAgICAgICBQcmludFhNTChfKCJTa2lwcGVk IikpOworICAgICAgICAgICAgZmx1c2goKTsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAg ICB9CisgICAgICAgIC8vJGZpbGVuYW1lID0gRmlsZW5hbWVGb3JQYWdlKCRwYWdlbmFtZSwgJ2R1 bXBzdm4nKTsvL3doeSBkb2Vzbid0IHRoaXMgd29ya3p6egorICAgICAgICAkZmlsZW5hbWUgPSBy YXd1cmxlbmNvZGUoJHBhZ2VuYW1lKTsvL3RoaXMgd29ya3MKKyAgICAgICAgJG1zZyA9IEhUTUwo KTsKKyAgICAgICAgaWYgKCRwYWdlLT5nZXROYW1lKCkgIT0gJGZpbGVuYW1lKSB7CisgICAgICAg ICAgICAkbXNnLT5wdXNoQ29udGVudCgKKyAgICAgICAgICAgICAgICBIVE1MOjpzbWFsbChmbXQo InNhdmVkIGFzICVzIiwgJGZpbGVuYW1lKSksCisgICAgICAgICAgICAgICAgIiAuLi4gIgorICAg ICAgICAgICAgKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICgkcmVxdWVzdC0+Z2V0QXJnKCdp bmNsdWRlJykgPT0gJ2FsbCcpIHsKKyAgICAgICAgICAgICRkYXRhID0gTWFpbGlmeVBhZ2UoJHBh Z2UsIDAsIHRydWUpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgJGRhdGEgPSBNYWls aWZ5UGFnZSgkcGFnZSwgMSwgdHJ1ZSk7CisgICAgICAgIH0KKworICAgICAgICBpZiAoISgkZmQg PSBmb3BlbigkZGlyZWN0b3J5IC4gIi8iIC4gJGZpbGVuYW1lLCAid2IiKSkpIHsKKyAgICAgICAg ICAgICRtc2ctPnB1c2hDb250ZW50KEhUTUw6OnN0cm9uZyhmbXQoCisgICAgICAgICAgICAgICAg ImNvdWxkbid0IG9wZW4gZmlsZSDigJwlc+KAnSBmb3Igd3JpdGluZyIsCisgICAgICAgICAgICAg ICAgIiRkaXJlY3RvcnkvJGZpbGVuYW1lIgorICAgICAgICAgICAgKSkpOworICAgICAgICAgICAg JHJlcXVlc3QtPmZpbmlzaCgkbXNnKTsKKyAgICAgICAgfQorCisgICAgICAgICRudW0gPSBmd3Jp dGUoJGZkLCAkZGF0YSwgc3RybGVuKCRkYXRhKSk7CisgICAgICAgICRtc2ctPnB1c2hDb250ZW50 KEhUTUw6OnNtYWxsKGZtdCgiJXMgYnl0ZXMgd3JpdHRlbiIsICRudW0pKSk7CisgICAgICAgIFBy aW50WE1MKCRtc2cpOworICAgICAgICBmbHVzaCgpOworICAgICAgICBhc3NlcnQoJG51bSA9PSBz dHJsZW4oJGRhdGEpKTsKKyAgICAgICAgZmNsb3NlKCRmZCk7CisgICAgfQorCisgICAgRW5kTG9h ZER1bXAoJHJlcXVlc3QpOworfQorCisvKioKKyAqIEBwYXJhbSBXaWtpUmVxdWVzdCAkcmVxdWVz dAorICovCiBmdW5jdGlvbiBEdW1wVG9EaXIoJiRyZXF1ZXN0KQogewogICAgICRkaXJlY3Rvcnkg PSAkcmVxdWVzdC0+Z2V0QXJnKCdkaXJlY3RvcnknKTsKQEAgLTM5Myw3ICs1MzAsOCBAQAogICAg ICAgICAgICAgZmx1c2goKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9Ci0gICAg ICAgICRmaWxlbmFtZSA9IEZpbGVuYW1lRm9yUGFnZSgkcGFnZW5hbWUpOworICAgICAgICAvLyRm aWxlbmFtZSA9IEZpbGVuYW1lRm9yUGFnZSgkcGFnZW5hbWUsICdkdW1wc2VyaWFsJyk7Ly93aHkg ZG9lc24ndCB0aGlzIHdvcmt6enoKKyAgICAgICAgJGZpbGVuYW1lID0gcmF3dXJsZW5jb2RlKCRw YWdlbmFtZSk7Ly90aGlzIHdvcmtzCiAgICAgICAgICRtc2cgPSBIVE1MKCk7CiAgICAgICAgIGlm ICgkcGFnZS0+Z2V0TmFtZSgpICE9ICRmaWxlbmFtZSkgewogICAgICAgICAgICAgJG1zZy0+cHVz aENvbnRlbnQoCkBAIC05MTMsNyArMTA1MSw3IEBACiAKICAgICAgICAgJEVycm9yTWFuYWdlci0+ cG9wRXJyb3JIYW5kbGVyKCk7CiAKLSAgICAgICAgaGVhZGVyKCdDb250ZW50LVRyYW5zZmVyLUVu Y29kaW5nOiBiaW5hcnknKTsKKyAgICAgICAgaGVhZGVyKCJDb250ZW50LVR5cGU6IGFwcGxpY2F0 aW9uL29jdGV0LXN0cmVhbSIpOwogICAgICAgICBoZWFkZXIoJ0NvbnRlbnQtRGlzcG9zaXRpb246 IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPSInLiR6aXBuYW1lLiciJyk7CiAgICAgICAgIGhlYWRlcign Q29udGVudC1MZW5ndGg6ICcuZmlsZXNpemUoJHRtcGZpbGVuYW1lKSk7CiAKQEAgLTk2Miw3ICsx MTAwLDcgQEAKIAogLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLwogLy8KLS8vICBGdW5jdGlvbnMgZm9yIHJlc3RvcmluZy4KKy8v ICBGdW5jdGlvbnMgZm9yIHJlc3RvcmluZyB0byBkYXRhYmFzZS4gVGhpcyBpcyByZWFsbHkgaGFj a2lzaAogLy8KIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8KIApAQCAtOTc2LDkgKzExMTQsMTMgQEAKICAgICAgICAgUHJpbnRY TUwoSFRNTDo6cChIVE1MOjpzdHJvbmcoXygiRW1wdHkgcGFnZW5hbWUhIikpKSk7CiAgICAgICAg IHJldHVybjsKICAgICB9CisgICAgLy9wcmludF9yKCR2ZXJzaW9uZGF0YSk7CiAKKyAgICBpZiAo ZW1wdHkoJHZlcnNpb25kYXRhWydhdXRob3InXSkpIHsKKyAgICAgLy8gICAkdmVyc2lvbmRhdGFb J2F1dGhvciddID0gQURNSU5fVVNFUjsgLy91c2UgYWRtaW4KKyAgICB9CiAgICAgaWYgKGVtcHR5 KCR2ZXJzaW9uZGF0YVsnYXV0aG9yX2lkJ10pKSB7Ci0gICAgICAgICR2ZXJzaW9uZGF0YVsnYXV0 aG9yX2lkJ10gPSAkdmVyc2lvbmRhdGFbJ2F1dGhvciddOworICAgICAgICAkdmVyc2lvbmRhdGFb J2F1dGhvcl9pZCddID0gQURNSU5fVVNFUjsgLy91c2UgYWRtaW4KICAgICB9CiAKICAgICAvLyBy ZW1vdmUgaW52YWxpZCBiYWNrZW5kIHNwZWNpZmljIGNoYXJzLiB1dGY4IGlzc3VlcyBtb3N0bHkK QEAgLTk5Myw2ICsxMTM1LDEwIEBACiAgICAgaWYgKCRwYWdlbmFtZSA9PSBfXygiSW50ZXJXaWtp TWFwIikpIHsKICAgICAgICAgJGNvbnRlbnQgPSBfdHJ5aW5zZXJ0SW50ZXJXaWtpTWFwKCRjb250 ZW50KTsKICAgICB9CisgICAgLy8gZWNobyAiPHByZT4iOworICAgIC8vIGVjaG8gIm1ldGFkYXRh ICRwYWdlZGF0YSBmb3VuZCBpbiBwZ3NyYyBpczpcbiI7CisgICAgLy8gcHJpbnRfcigkcGFnZWRh dGEpOworICAgIC8vIGVjaG8gIjwvcHJlPiI7CiAKICAgICAkZGJpID0mICRyZXF1ZXN0LT5fZGJp OwogICAgICRwYWdlID0gJGRiaS0+Z2V0UGFnZSgkcGFnZW5hbWUpOwpAQCAtMTAzMSwxMyArMTE3 Nyw2IEBACiAgICAgICAgICAgICByZXR1cm47IC8vZWFybHkgcmV0dXJuCiAgICAgICAgIH0KICAg ICB9Ci0gICAgaWYgKCEkc2tpcCkgewotICAgICAgICBmb3JlYWNoICgkcGFnZWRhdGEgYXMgJGtl eSA9PiAkdmFsdWUpIHsKLSAgICAgICAgICAgIGlmICghZW1wdHkoJHZhbHVlKSkgewotICAgICAg ICAgICAgICAgICRwYWdlLT5zZXQoJGtleSwgJHZhbHVlKTsKLSAgICAgICAgICAgIH0KLSAgICAg ICAgfQotICAgIH0KIAogICAgICRtZXNnID0gSFRNTDo6c3BhbigpOwogICAgIGlmICgkc291cmNl KSB7CkBAIC0xMDQ4LDkgKzExODcsOCBAQAogICAgICAgICAkY3VycmVudCA9ICRwYWdlLT5nZXRD dXJyZW50UmV2aXNpb24oKTsKICAgICB9CiAgICAgaWYgKCRjdXJyZW50LT5nZXRWZXJzaW9uKCkg PT0gMCkgewotICAgICAgICAkdmVyc2lvbmRhdGFbJ2F1dGhvciddID0gQURNSU5fVVNFUjsKLSAg ICAgICAgJHZlcnNpb25kYXRhWydhdXRob3JfaWQnXSA9IEFETUlOX1VTRVI7CiAgICAgICAgICRt ZXNnLT5wdXNoQ29udGVudCgnIC0gJywgXygiTmV3IHBhZ2UiKSk7CisgICAgICAgICRpc25ld3Bh Z2UgPSB0cnVlOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGlmICgoISRjdXJyZW50LT5oYXNEZWZh dWx0Q29udGVudHMoKSkKICAgICAgICAgICAgICYmICgkY3VycmVudC0+Z2V0UGFja2VkQ29udGVu dCgpICE9ICRjb250ZW50KQpAQCAtMTA2MSwxMCArMTE5OSw2IEBACiAgICAgICAgICAgICAgICAg ICAgIGZtdCgiaGFzIGVkaXQgY29uZmxpY3RzIC0gb3ZlcndyaXRpbmcgYW55d2F5IikKICAgICAg ICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICRza2lwID0gZmFsc2U7Ci0gICAgICAgICAg ICAgICAgaWYgKHN1YnN0cl9jb3VudCgkc291cmNlLCAncGdzcmMnKSkgewotICAgICAgICAgICAg ICAgICAgICAkdmVyc2lvbmRhdGFbJ2F1dGhvciddID0gQURNSU5fVVNFUjsKLSAgICAgICAgICAg ICAgICAgICAgLy8gYnV0IGxlYXZlIGF1dGhvcmlkIGFzIHVzZXJpZCB3aG8gbG9hZGVkIHRoZSBm aWxlCi0gICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAg ICAgICBpZiAoaXNzZXQoJGVkaXRbJ2tlZXBfb2xkJ10pKSB7CiAgICAgICAgICAgICAgICAgICAg ICRtZXNnLT5wdXNoQ29udGVudCgnICcsIGZtdCgia2VlcCBvbGQiKSk7CkBAIC0xMDg4LDkgKzEy MjIsOSBAQAogICAgIH0KIAogICAgIGlmICghJHNraXApIHsKKyAgICAgICAgLy8gU0FWRSBUSEUg REFUQSBJTlRPIFRIRSBEQVRBQkFTRQogICAgICAgICAvLyBpbiBjYXNlIG9mIGZhaWx1cmVzIHBy aW50IHRoZSBjdWxwcml0OgogICAgICAgICBQcmludFhNTChIVE1MOjpzcGFuKFdpa2lMaW5rKCRw YWdlbmFtZSkpKTsKLSAgICAgICAgZmx1c2goKTsKICAgICAgICAgJG5ldyA9ICRwYWdlLT5zYXZl KCRjb250ZW50LCBXSUtJREJfRk9SQ0VfQ1JFQVRFLCAkdmVyc2lvbmRhdGEpOwogICAgICAgICAk ZGJpLT50b3VjaCgpOwogICAgICAgICAkbWVzZy0+cHVzaENvbnRlbnQoJyAnLCBmbXQoCkBAIC0x MDk3LDYgKzEyMzEsODQgQEAKICAgICAgICAgICAgICItIHNhdmVkIHRvIGRhdGFiYXNlIGFzIHZl cnNpb24gJWQiLAogICAgICAgICAgICAgJG5ldy0+Z2V0VmVyc2lvbigpCiAgICAgICAgICkpOwor ICAgICAgICAvL3VwZGF0ZSBtZXRhZGF0YSBvZiBwYWdlOiBsb2NrZWQsIGRhdGUsIGhpdHMgaWYg bmV3IHBhZ2UKKyAgICAgICAgLy8kbWVzZy0+cHVzaENvbnRlbnQoIiAoYWxzbyBzZXR0aW5nIG1l dGFkYXRhKSIpOworICAgICAgICAvLyRtZXNnLT5wdXNoQ29udGVudCgiIERFQlVHOiAoXCRpc25l d3BhZ2U9JGlzbmV3cGFnZSkiKTsKKworICAgICAgICAvLyBzZXQgaGl0cworICAgICAgICBpZiAo JGlzbmV3cGFnZSkgeyAvL2Rvbid0IGxvYWQgaGl0cyBmcm9tIHBnc3JjIGlmIHBhZ2UgZXhpc3Rz IGluIGRhdGFiYXNlLCBvbmx5IGlmIG5ldworICAgICAgICAgICAgaWYgKGlzc2V0KCRwYWdlZGF0 YVsnaGl0cyddKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAvL3Nhbml0aXplIGhp dHMuCisgICAgICAgICAgICAgICAgJHBhZ2VkYXRhWydoaXRzJ10gPSBpbnR2YWwoJHBhZ2VkYXRh WydoaXRzJ10pOworICAgICAgICAgICAgICAgICRtZXNnLT5wdXNoQ29udGVudCgiLCBMb2FkaW5n IGhpdHM9Ii4kcGFnZWRhdGFbJ2hpdHMnXSk7CisgICAgICAgICAgICAgICAgJHBhZ2UtPnNldCgn aGl0cycsICRwYWdlZGF0YVsnaGl0cyddKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlm IChpc3NldCgkcGFnZWRhdGFbJ3Blcm0nXSkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg ICAgLy90b2RvOiBzYW5pdGl6ZSBhY2w/CisgICAgICAgICAgICAgICAgJG1lc2ctPnB1c2hDb250 ZW50KCIsIExvYWRpbmcgYWNsPSIuJHBhZ2VkYXRhWydwZXJtJ10pOworICAgICAgICAgICAgICAg ICRwYWdlLT5zZXQoJ3Blcm0nLCAkcGFnZWRhdGFbJ3Blcm0nXSk7CisgICAgICAgICAgICB9Cisg ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpZiAoaXNzZXQoJHBhZ2VkYXRhWydoaXRzJ10p KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICRtZXNnLT5wdXNoQ29udGVudCgiLCBO b3Qgb3ZlcndyaXRpbmcgaGl0cyIpOworICAgICAgICAgICAgICAgIC8vdW5zZXQoJHBhZ2VkYXRh WydoaXRzJ10pOy8va2VlcCBoaXRzIGZyb20gbG9hZGluZyBvdmVyIGV4aXN0aW5nIHBhZ2UKKyAg ICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChpc3NldCgkcGFnZWRhdGFbJ3Blcm0nXSkpCisg ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgJG1lc2ctPnB1c2hDb250ZW50KCIsIE5vdCBv dmVyd3JpdGluZyBhY2wiKTsKKyAgICAgICAgICAgICAgICAvL3Vuc2V0KCRwYWdlZGF0YVsncGVy bSddKTsvL2tlZXAgYWNsIGZyb20gbG9hZGluZyBvdmVyIGV4aXN0aW5nIHBhZ2UKKyAgICAgICAg ICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIC8vIHNldCBwYWdlIGxvY2tlZAorICAgICAgICAv LyBob3cgdG8gZ2V0IGN1cnJlbnQgcGFnZSBsb2NrIHN0YXR1cz8/IHRvIGN1c3RvbWlzZSBtZXNz YWdlcyBtb3JlCisgICAgICAgIGlmICgkcGFnZWRhdGFbJ2xvY2tlZCddKSB7CisgICAgICAgICAg ICAkbWVzZy0+cHVzaENvbnRlbnQoIiwgTE9DS0lORyIpOworICAgICAgICAgICAgJHBhZ2UtPnNl dCgnbG9ja2VkJywgJHBhZ2VkYXRhWydsb2NrZWQnXSk7CisgICAgICAgIH0gZWxzZSB7CisgICAg ICAgICAgICBkZWZpbmUgKCdBTExPV19QR1NSQ19UT19VTkxPQ0tfUEFHRVMnICwwKTsvL2RlYnVn Z2luZyBhbmQgc2VjdXJpdHkKKyAgICAgICAgICAgIGlmIChkZWZpbmVkKCdBTExPV19QR1NSQ19U T19VTkxPQ0tfUEFHRVMnKSAmJiBBTExPV19QR1NSQ19UT19VTkxPQ0tfUEFHRVMpIHsKKyAgICAg ICAgICAgICAgICAkbWVzZy0+cHVzaENvbnRlbnQoIiwgVU5MT0NLSU5HIik7CisgICAgICAgICAg ICAgICAgJHBhZ2UtPnNldCgnbG9ja2VkJywgZmFsc2UpOworICAgICAgICAgICAgfSBlbHNlIHsK KyAgICAgICAgICAgICAgICBpZiAoJGlzbmV3cGFnZSkgeworICAgICAgICAgICAgICAgICAgICAk bWVzZy0+cHVzaENvbnRlbnQoIiwgdW5sb2NrZWQiKTsKKyAgICAgICAgICAgICAgICB9IGVsc2Ug eworICAgICAgICAgICAgICAgICAgICAkbWVzZy0+cHVzaENvbnRlbnQoIiwgSWdub3JpbmcgVU5M T0NLRUQiKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgLy91bnNldCgkcGFn ZWRhdGFbJ2xvY2tlZCddKTsvL2tlZXAgbG9ja2VkIGZyb20gbG9hZGluZyBvdmVyIGV4aXN0aW5n IHBhZ2UKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIC8vIHNldCBwYWdlIGNy ZWF0aW9uIGRhdGUKKyAgICAgICAgJHBhZ2UtPnNldCgnZGF0ZScsICRwYWdlZGF0YVsnZGF0ZSdd KTsKKy8vICAgICAgICB1bnNldCgkcGFnZWRhdGFbJ2RhdGUnXSk7CisKKyAgICAgICAgLy8gc2V0 IHBhZ2Ugb3duZXIKKyAgICAgICAgaWYgKCRwYWdlZGF0YVsnb3duZXInXSkgeworICAgICAgICAg ICAgJHBhZ2UtPnNldCgnb3duZXInLCAkcGFnZWRhdGFbJ293bmVyJ10pOworICAgICAgICB9Cisv LyAgICAgICAgdW5zZXQoJHBhZ2VkYXRhWydvd25lciddKTsKKworICAgICAgICAvLyBpZiB3ZSB3 YW50IHRvIGxvYWQgb3RoZXIgZmllbGRzIGluIHRoZSBmdXR1cmUgZnJvbQorICAgICAgICAvLyBN SU1FIGZpbGUsIGhlcmUgaXMgd2hlcmUgd2UgZG8gaXQ6CisgICAgICAgIC8vCisgICAgICAgIC8v IGNvbW1lbnQgb3V0IHRoZSBiZWxvdyB0byBkaXNjYXJkIHJlbWFpbmluZyBkYXRhIGZyb20gbG9h ZGVkIGZpbGUgZm9yIHNlY3VyaXR5LgorICAgICAgICAvLyBsb2FkaW5nIHJlbWFpbmluZyBkYXRh OgorICAgICAgICAvLyBpZiAoJHM9c2l6ZW9mKCRwYWdlZGF0YSkpIHsKKyAgICAgICAgLy8gICAg IGVjaG8gIjxwcmU+JHMgZXh0cmEgcGFnZWRhdGEgZW50cmllcyBmb3VuZCBpbiBsb2FkZWQgZmls ZTpcbiI7CisgICAgICAgIC8vICAgICBwcmludF9yKCRwYWdlZGF0YSk7Ly90aGlzIGZvcm1hdHRp bmcgaXMgZmluZSwgbm9ybWFsIHVzZXJzIHdpbGwgbmV2ZXIgZ2V0IGhlcmUKKyAgICAgICAgLy8g ICAgIGVjaG8gIjwvcHJlPiI7CisgICAgICAgIC8vICAgICBmb3JlYWNoICgkcGFnZWRhdGEgYXMg JGtleSA9PiAkdmFsdWUpIHsKKyAgICAgICAgLy8gICAgICAgICAkbWVzZy0+cHVzaENvbnRlbnQo Iiwgc2V0dGluZyAnJGtleSc9JyR2YWx1ZSciKTsKKyAgICAgICAgLy8gICAgICAgICAkcGFnZS0+ c2V0KCRrZXksICR2YWx1ZSk7CisgICAgICAgIC8vICAgICB9CisgICAgCisgICAgICAgIC8vIH0K KwogICAgICAgICAkbWVzZy0+cHVzaENvbnRlbnQoSFRNTDo6YnIoKSk7CiAgICAgfQogICAgIGlm ICgkbmVlZHNfbWVyZ2UpIHsKQEAgLTExOTUsNyArMTQwNyw3IEBACiAgICAgICAgICAgICAgICAg ICAgICdtZXRob2QnID0+ICdwb3N0JyksCiAgICAgICAgICAgICAgICAgSGlkZGVuSW5wdXRzKCRy ZXF1ZXN0LT5nZXRBcmdzKCksIGZhbHNlLCBhcnJheSgndmVyaWZ5JykpLAogICAgICAgICAgICAg ICAgIEhpZGRlbklucHV0cyhhcnJheSgndmVyaWZ5JyA9PiAxKSksCi0gICAgICAgICAgICAgICAg QnV0dG9uKCdzdWJtaXQ6dmVyaWZ5JywgXygiWWVzIiksICdidXR0b24nKSwKKyAgICAgICAgICAg ICAgICBCdXR0b24oJ3N1Ym1pdDp2ZXJpZnknLCBfKCJSZXZlcnQiKSwgJ2J1dHRvbicpLAogICAg ICAgICAgICAgICAgIEhUTUw6OnJhdygnJm5ic3A7JyksCiAgICAgICAgICAgICAgICAgQnV0dG9u KCdzdWJtaXQ6Y2FuY2VsJywgXygiQ2FuY2VsIiksICdidXR0b24nKQogICAgICAgICAgICAgKQoK TW9kaWZpZWQ6IHRydW5rL2xpYi9tYWluLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB0cnVuay9saWIvbWFp bi5waHAJMjAyNS0wMi0xNCAyMzoyMjozNyBVVEMgKHJldiAxMTEwOCkKKysrIHRydW5rL2xpYi9t YWluLnBocAkyMDI1LTAyLTE1IDA1OjE4OjA4IFVUQyAocmV2IDExMTA5KQpAQCAtNTk1LDYgKzU5 NSw3IEBACiAgICAgICAgICAgICAgICAgJ2RpZmYnID0+IF8oImRpZmYgdGhpcyBwYWdlIiksCiAg ICAgICAgICAgICAgICAgJ2R1bXBodG1sJyA9PiBfKCJkdW1wIEhUTUwgcGFnZXMiKSwKICAgICAg ICAgICAgICAgICAnZHVtcHNlcmlhbCcgPT4gXygiZHVtcCBzZXJpYWwgcGFnZXMiKSwKKyAgICAg ICAgICAgICAgICAnZHVtcHN2bicgPT4gXygiZHVtcCBwYWdlcyBmb3Igc3ZuIiksCiAgICAgICAg ICAgICAgICAgJ2VkaXQnID0+IF8oImVkaXQgdGhpcyBwYWdlIiksCiAgICAgICAgICAgICAgICAg J3JlbmFtZScgPT4gXygicmVuYW1lIHRoaXMgcGFnZSIpLAogICAgICAgICAgICAgICAgICdyZXZl cnQnID0+IF8oInJldmVydCB0byBhIHByZXZpb3VzIHZlcnNpb24gb2YgdGhpcyBwYWdlIiksCkBA IC02NDAsNiArNjQxLDcgQEAKICAgICAgICAgICAgICAgICAnZGlmZicgPT4gXygiRGlmZmluZyBw YWdlcyIpLAogICAgICAgICAgICAgICAgICdkdW1waHRtbCcgPT4gXygiRHVtcGluZyBIVE1MIHBh Z2VzIiksCiAgICAgICAgICAgICAgICAgJ2R1bXBzZXJpYWwnID0+IF8oIkR1bXBpbmcgc2VyaWFs IHBhZ2VzIiksCisgICAgICAgICAgICAgICAgJ2R1bXBzdm4nID0+IF8oImR1bXAgcGFnZXMgZm9y IHN2biIpLAogICAgICAgICAgICAgICAgICdlZGl0JyA9PiBfKCJFZGl0aW5nIHBhZ2VzIiksCiAg ICAgICAgICAgICAgICAgJ3JldmVydCcgPT4gXygiUmV2ZXJ0aW5nIHRvIGEgcHJldmlvdXMgdmVy c2lvbiBvZiBwYWdlcyIpLAogICAgICAgICAgICAgICAgICdjcmVhdGUnID0+IF8oIkNyZWF0aW5n IHBhZ2VzIiksCkBAIC0xMzg1LDYgKzEzODcsMTIgQEAKICAgICAgICAgZWNobyAiUGhwV2lraSAi IC4gUEhQV0lLSV9WRVJTSU9OIC4gIlxuIjsKICAgICB9CiAKKyAgICBwdWJsaWMgZnVuY3Rpb24g YWN0aW9uX2R1bXBzdm4oKQorICAgIHsKKyAgICAgICAgaW5jbHVkZV9vbmNlICdsaWIvbG9hZHNh dmUucGhwJzsKKyAgICAgICAgRHVtcFNWTlRvRGlyKCR0aGlzKTsKKyAgICB9CisKICAgICBwdWJs aWMgZnVuY3Rpb24gYWN0aW9uX2R1bXBzZXJpYWwoKQogICAgIHsKICAgICAgICAgaW5jbHVkZV9v bmNlICdsaWIvbG9hZHNhdmUucGhwJzsKCk1vZGlmaWVkOiB0cnVuay9saWIvbWltZWxpYi5waHAK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0gdHJ1bmsvbGliL21pbWVsaWIucGhwCTIwMjUtMDItMTQgMjM6MjI6Mzcg VVRDIChyZXYgMTExMDgpCisrKyB0cnVuay9saWIvbWltZWxpYi5waHAJMjAyNS0wMi0xNSAwNTox ODowOCBVVEMgKHJldiAxMTEwOSkKQEAgLTEyOSwxMCArMTI5LDExIEBACiAvKioKICAqIEBwYXJh bSBXaWtpREJfUGFnZSAkcGFnZQogICogQHBhcmFtIFdpa2lEQl9QYWdlUmV2aXNpb24gJHJldmlz aW9uCisgKiBAcGFyYW0gYm9vbCAkZm9yc3ZuCiAgKiBAcmV0dXJuIHN0cmluZwogICovCiAKLWZ1 bmN0aW9uIE1pbWVpZnlQYWdlUmV2aXNpb24oJiRwYWdlLCAmJHJldmlzaW9uKQorZnVuY3Rpb24g TWltZWlmeVBhZ2VSZXZpc2lvbigmJHBhZ2UsICYkcmV2aXNpb24sICRmb3Jzdm4pCiB7CiAgICAg Ly8gJHdpa2lkYiA9JiAkcmV2aXNpb24tPl93aWtpZGI7CiAgICAgLy8gJHBhZ2UgPSAkd2lraWRi LT5nZXRQYWdlKCRyZXZpc2lvbi0+Z2V0TmFtZSgpKTsKQEAgLTE1Myw2ICsxNTQsOSBAQAogICAg IGlmIChFTkFCTEVfRVhURVJOQUxfUEFHRVMgJiYgJHBhZ2UtPmdldCgnZXh0ZXJuYWwnKSkgewog ICAgICAgICAkcGFyYW1zWydmbGFncyddID0gKCRwYXJhbXNbJ2ZsYWdzJ10gPyAkcGFyYW1zWydm bGFncyddIC4gJyxFWFRFUk5BTF9QQUdFJyA6ICdFWFRFUk5BTF9QQUdFJyk7CiAgICAgfQorICAg IGlmICgkcGFyYW1zWydmbGFncyddID09ICcnKSB7CisgICAgICAgIHVuc2V0KCRwYXJhbXNbJ2Zs YWdzJ10pOworICAgIH0KICAgICBpZiAoJHJldmlzaW9uLT5nZXQoJ2F1dGhvcl9pZCcpKSB7CiAg ICAgICAgICRwYXJhbXNbJ2F1dGhvcl9pZCddID0gJHJldmlzaW9uLT5nZXQoJ2F1dGhvcl9pZCcp OwogICAgIH0KQEAgLTE3MCw3ICsxNzQsNDAgQEAKICAgICAgICAgJHBhcmFtc1snYWNsJ10gPSAk YWNsLT5hc0FjbExpbmVzKCk7CiAgICAgICAgIC8vVE9ETzogY29udmVydCB0byBtdWx0aXBsZSBs aW5lcz8gYWNsLXZpZXcgPT4gZ3JvdXBzLC4uLjsgYWNsLWVkaXQgPT4gZ3JvdXBzLC4uLgogICAg IH0KKyAgICBpZiAoJGZvcnN2bikKKyAgICB7CisgICAgICAgIC8vIFN0cmlwIG91dCBhbGwgdGhp cyBqdW5rOgorICAgICAgICAvLyB2ZXJzaW9uPTc0OworICAgICAgICAvLyBsYXN0bW9kaWZpZWQ9 MTA0MTU2MTU1MjsKKyAgICAgICAgLy8gYXV0aG9yX2lkPTEyNy4wLjAuMTsKKyAgICAgICAgLy8g aGl0cz0xNDYKKyAgICAgICAgLy8gb3duZXIKKyAgICAgICAgLy8gYWNsCisgICAgICAgIC8vIHN1 bW1hcnkKKyAgICAgICAgJGtpbGxtZSA9IGFycmF5KAorICAgICAgICAgICAgLy8iYXV0aG9yIiwK KyAgICAgICAgICAgICJ2ZXJzaW9uIiwKKyAgICAgICAgICAgICJsYXN0bW9kaWZpZWQiLAorICAg ICAgICAgICAgImF1dGhvcl9pZCIsCisgICAgICAgICAgICAiaGl0cyIsCisgICAgICAgICAgICAi b3duZXIiLAorICAgICAgICAgIC8vICAiYWNsIiwKKyAgICAgICAgICAgICJzdW1tYXJ5IgorICAg ICAgICApOworICAgICAgICBmb3JlYWNoICgka2lsbG1lIGFzICRwYXR0ZXJuKQorICAgICAgICB7 CisgICAgICAgICAgICB1bnNldCgkcGFyYW1zWyRwYXR0ZXJuXSk7CisgICAgICAgIH0KKyAgICAg ICAgLy9BZGQgaW4gc3RhbmRhcmQgc3R1ZmYgZm9yIGR1bXBpbmcKKyAgICAgICAgJHBhcmFtc1sn YXV0aG9yJ10gPSBfKCJUaGUgUGhwV2lraSBUZWFtIik7CisgICAgfQogCisgICAgaWYgKFNUUklD VF9NQUlMQUJMRV9QQUdFRFVNUFMpIHsKKyAgICAgICAgJHBhcmFtc1snY2hhcnNldCddID0gJ1VT LUFTQ0lJJzsgLy9raW5kIG9mIGEga2x1ZGdlIHRvIGFzc3VtZSB3aXRob3V0IG1hc3NhZ2luZyB0 ZXh0PworICAgIH0gZWxzZSB7CisgICAgICAgICRwYXJhbXNbJ2NoYXJzZXQnXSA9ICdVVEYtOCc7 IC8va2luZCBvZiBhIGtsdWRnZSB0byBhc3N1bWUgd2l0aG91dCBjaGVja2luZz8KKyAgICB9CisK ICAgICAvLyBOb24tVVMtQVNDSUkgaXMgbm90IGFsbG93ZWQgaW4gTWltZSBoZWFkZXJzIChhdCBs ZWFzdCBub3Qgd2l0aG91dAogICAgIC8vIHNwZWNpYWwgaGFuZGxpbmcpIC0tLSBzbyB3ZSB1cmxl bmNvZGUgYWxsIHBhcmFtZXRlciB2YWx1ZXMuCiAgICAgZm9yZWFjaCAoJHBhcmFtcyBhcyAka2V5 ID0+ICR2YWwpIHsKCk1vZGlmaWVkOiB0cnVuay9saWIvcGx1Z2luL1BhZ2VEdW1wLnBocAo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLSB0cnVuay9saWIvcGx1Z2luL1BhZ2VEdW1wLnBocAkyMDI1LTAyLTE0IDIzOjIy OjM3IFVUQyAocmV2IDExMTA4KQorKysgdHJ1bmsvbGliL3BsdWdpbi9QYWdlRHVtcC5waHAJMjAy NS0wMi0xNSAwNToxODowOCBVVEMgKHJldiAxMTEwOSkKQEAgLTEsNiArMSw2IEBACiA8P3BocAog LyoqCi0gKiBDb3B5cmlnaHQgwqkgMjAwMyAkVGhlUGhwV2lraVByb2dyYW1taW5nVGVhbQorICog Q29weXJpZ2h0IMKpIDIwMDMtMjAyNSAkVGhlUGhwV2lraVByb2dyYW1taW5nVGVhbQogICoKICAq IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIFBocFdpa2kuCiAgKgpAQCAtOTQsNyArOTQsOCBAQAogCiAg ICAgICAgICRwID0gJGRiaS0+Z2V0UGFnZSgkcGFnZSk7CiAgICAgICAgIGluY2x1ZGVfb25jZSAn bGliL2xvYWRzYXZlLnBocCc7Ci0gICAgICAgICRtYWlsaWZpZWQgPSBNYWlsaWZ5UGFnZSgkcCwg KCRmb3JtYXQgPT0gJ2JhY2t1cCcpID8gOTkgOiAxKTsKKyAgICAgICAgLy8gd2UgbGV0IE1haWxp ZnlQYWdlIGhhbmRsZSBmb3Jzdm4gZm9ybWF0IG5vdyBpbnN0ZWFkIG9mIHRyeWluZyB0byBzdHJp cCBpdCBvdXQgbGF0ZXIKKyAgICAgICAgJG1haWxpZmllZCA9IE1haWxpZnlQYWdlKCRwLCAoJGZv cm1hdCA9PSAnYmFja3VwJykgPyA5OSA6IDEsICgkZm9ybWF0ID09ICdmb3Jzdm4nKSkgOwogCiAg ICAgICAgIC8vIGZpeHVwX2hlYWRlcnMgbWFzc2FnZXMgdGhlIHBhZ2UgZHVtcCBoZWFkZXJzIGRl cGVuZGluZyBvbgogICAgICAgICAvLyB0aGUgJ2Zvcm1hdCcgYXJndW1lbnQsICdub3JtYWwnKGRl ZmF1bHQpIG9yICdmb3Jzdm4nLgpAQCAtMTA0LDkgKzEwNSw4IEBACiAKICAgICAgICAgJHRoaXMt PnBhZ2VuYW1lID0gJHBhZ2U7CiAgICAgICAgICR0aGlzLT5nZW5lcmF0ZU1lc3NhZ2VJZCgkbWFp bGlmaWVkKTsKLSAgICAgICAgaWYgKCRmb3JtYXQgPT0gJ2ZvcnN2bicpIHsKLSAgICAgICAgICAg ICR0aGlzLT5maXh1cF9oZWFkZXJzX2ZvcnN2bigkbWFpbGlmaWVkKTsKLSAgICAgICAgfSBlbHNl IHsgLy8gYmFja3VwIG9yIG5vcm1hbAorICAgICAgICBpZiAoJGZvcm1hdCAhPSAnZm9yc3ZuJykg eworICAgICAgICAgICAgLy8gZm9ybWF0IGlzIGJhY2t1cCBvciBub3JtYWwKICAgICAgICAgICAg ICR0aGlzLT5maXh1cF9oZWFkZXJzKCRtYWlsaWZpZWQpOwogICAgICAgICB9CiAKQEAgLTExNCwy MyArMTE0LDIxIEBACiAgICAgICAgICAgICAvLyBUT0RPOiB3ZSBuZWVkIGEgd2F5IHRvIGhvb2sg aW50byB0aGUgZ2VuZXJhdGVkIGhlYWRlcnMsIHRvIG92ZXJyaWRlCiAgICAgICAgICAgICAvLyBD b250ZW50LVR5cGUsIFNldC1Db29raWUsIENhY2hlLWNvbnRyb2wsIC4uLgogICAgICAgICAgICAg JHJlcXVlc3QtPmRpc2NhcmRPdXRwdXQoKTsgLy8gSGlqYWNrIHRoZSBodHRwIHJlcXVlc3QgZnJv bSBQaHBXaWtpLgotICAgICAgICAgICAgb2JfZW5kX2NsZWFuKCk7IC8vIGNsZWFuIHVwIGFmdGVy IGhpamFja2luZyAkcmVxdWVzdAorICAgICAgICAgICAgLy8gY2xlYW4gdXAgYWZ0ZXIgaGlqYWNr aW5nICRyZXF1ZXN0LAorICAgICAgICAgICAgLy8gYnV0IHRoaXMgY2F1c2VzIGZpbGVzIG5vdCB0 byBkb3dubG9hZCByaWdodCBhd2F5IHdpdGhvdXQgY2xpY2tpbmcgcmVzdW1lIGluIGJyb3dzZXIK KyAgICAgICAgICAgIC8vb2JfZW5kX2NsZWFuKCk7CiAgICAgICAgICAgICAvL3doaWxlIChAb2Jf ZW5kX2ZsdXNoKCkpOyAvL2RlYnVnZ2luZwotICAgICAgICAgICAgJGZpbGVuYW1lID0gRmlsZW5h bWVGb3JQYWdlKCRwYWdlKTsKKyAgICAgICAgICAgIC8vd2luZG93cyBmb3JtYXRzIGZpbGVuYW1l cyBvbiBpdHMgb3duIGV2ZW4gaWYgdGhleSBhcmUgdXJsZW5jb2RlZAorICAgICAgICAgICAgJGZp bGVuYW1lID0gRmlsZW5hbWVGb3JQYWdlKCRwYWdlLCAkZm9ybWF0KTsKKyAgICAgICAgICAgIGhl YWRlcigiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iKTsKICAgICAgICAg ICAgIGhlYWRlcigiQ29udGVudC1kaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9XCIi CiAgICAgICAgICAgICAgICAgLiAkZmlsZW5hbWUgLiAiXCIiKTsKICAgICAgICAgICAgIC8vIFdl IGdlbmVyYXRlIDMgQ29udGVudC1UeXBlIGhlYWRlcnMhIGZpcnN0IGluIGxvYWRzYXZlLAogICAg ICAgICAgICAgLy8gdGhlbiBoZXJlIGFuZCB0aGUgbWltaWZpZWQgc3RyaW5nICRtYWlsaWZpZWQg YWxzbyBoYXMgaXQhCiAgICAgICAgICAgICAvLyBUaGlzIG9uZSBpcyBjb3JyZWN0IGFuZCBvdmVy d3JpdGVzIHRoZSBvdGhlcnMuCi0gICAgICAgICAgICBoZWFkZXIoIkNvbnRlbnQtVHlwZTogYXBw bGljYXRpb24vb2N0ZXQtc3RyZWFtOyBuYW1lPVwiIgotICAgICAgICAgICAgICAgIC4gJGZpbGVu YW1lIC4gIlwiOyBjaGFyc2V0PVwiIiAuICdVVEYtOCcKLSAgICAgICAgICAgICAgICAuICJcIiIp OwogICAgICAgICAgICAgJHJlcXVlc3QtPmNoZWNrVmFsaWRhdG9ycygpOwotICAgICAgICAgICAg Ly8gbGV0ICRyZXF1ZXN0IHByb3ZpZGUgbGFzdCBtb2RpZmllZCAmIGV0YWcKLSAgICAgICAgICAg IGhlYWRlcigiQ29udGVudC1JZDogPCIgLiAkdGhpcy0+TWVzc2FnZUlkIC4gIj4iKTsKICAgICAg ICAgICAgIC8vIGJlIG5pY2UgdG8gaHR0cCBrZWVwYWxpdmV+cwogICAgICAgICAgICAgaGVhZGVy KCJDb250ZW50LUxlbmd0aDogIiAuIHN0cmxlbigkbWFpbGlmaWVkKSk7Ci0KICAgICAgICAgICAg IC8vIEhlcmUgY29tZXMgb3VyIHByZXBhcmVkIG1pbWUgZmlsZQogICAgICAgICAgICAgZWNobyAk bWFpbGlmaWVkOwogICAgICAgICAgICAgZXhpdCgpOyAvLyBub3JldHVybiEgcGhwIGV4aXRzLgpA QCAtMTM3LDcgKzEzNSw3IEBACiAgICAgICAgIH0KICAgICAgICAgLy8gV2UgYXJlIGRpc3BsYWlu ZyBpbmxpbmUgcHJldmlldyBpbiBhIFdpa2lQYWdlLCBzbyB3cmFwIHRoZQogICAgICAgICAvLyB0 ZXh0IGlmIGl0IGlzIHRvbyBsb25nLS11bmxlc3MgcXVvdGVkLXByaW50YWJsZSAoVE9ETykuCi0g ICAgICAgICRtYWlsaWZpZWQgPSB3b3Jkd3JhcCgkbWFpbGlmaWVkLCA3MCk7CisgICAgICAgICRt YWlsaWZpZWQgPSB3b3Jkd3JhcCgkbWFpbGlmaWVkLCA3OCk7CiAKICAgICAgICAgJGRsc3ZuID0g QnV0dG9uKAogICAgICAgICAgICAgYXJyYXkoIC8vJ3BhZ2UnID0+ICRwYWdlLApAQCAtMTQ0LDcg KzE0Miw3IEBACiAgICAgICAgICAgICAgICAgJ2FjdGlvbicgPT4gJHRoaXMtPmdldE5hbWUoKSwK ICAgICAgICAgICAgICAgICAnZm9ybWF0JyA9PiAnZm9yc3ZuJywKICAgICAgICAgICAgICAgICAn ZG93bmxvYWQnID0+IHRydWUpLAotICAgICAgICAgICAgXygiRG93bmxvYWQgZm9yIFN1YnZlcnNp b24iKSwKKyAgICAgICAgICAgIF8oIkRvd25sb2FkIGFzIGRldmVsb3BlciBmb3JtYXQiKSwKICAg ICAgICAgICAgICRwYWdlCiAgICAgICAgICk7CiAgICAgICAgICRkbCA9IEJ1dHRvbigKQEAgLTE3 Myw3ICsxNzEsNyBAQAogICAgICAgICB9CiAKICAgICAgICAgaWYgKCRmb3JtYXQgPT0gJ2ZvcnN2 bicpIHsKLSAgICAgICAgICAgICRkZXNjID0gXygiKGZvcm1hdHRlZCBmb3IgUGhwV2lraSBkZXZl bG9wZXJzIGFzIHBnc3JjIHRlbXBsYXRlLCBub3QgZm9yIGJhY2tpbmcgdXApIik7CisgICAgICAg ICAgICAkZGVzYyA9IF8oIihmb3JtYXR0ZWQgZm9yIFBocFdpa2kgZGV2ZWxvcGVycy90cmFuc2xh dG9ycyBhcyBwZ3NyYyB0ZW1wbGF0ZSwgbm90IGZvciBiYWNraW5nIHVwKSIpOwogICAgICAgICAg ICAgJGFsdHByZXZpZXdidXR0b25zID0gSFRNTCgKICAgICAgICAgICAgICAgICBCdXR0b24oCiAg ICAgICAgICAgICAgICAgICAgIGFycmF5KCdhY3Rpb24nID0+ICR0aGlzLT5nZXROYW1lKCkpLApA QCAtMzAyLDM4ICszMDAsNCBAQAogCiAgICAgICAgICRtYWlsaWZpZWQgPSBpbXBsb2RlKCJcbiIs IGFycmF5X3ZhbHVlcygkcmV0dXJuKSk7CiAgICAgfQotCi0gICAgcHVibGljIGZ1bmN0aW9uIGZp eHVwX2hlYWRlcnNfZm9yc3ZuKCYkbWFpbGlmaWVkKQotICAgIHsKLSAgICAgICAgJGFycmF5ID0g ZXhwbG9kZSgiXG4iLCAkbWFpbGlmaWVkKTsKLQotICAgICAgICAvLyBNYXNzYWdlIGhlYWRlcnMg dG8gcHJlcGFyZSBmb3IgZGV2ZWxvcGVyIGNoZWNraW4gdG8gU3VidmVyc2lvbi4KLSAgICAgICAg LyoKLSAgICAgICAgICAgIFN0cmlwIG91dCBhbGwgdGhpcyBqdW5rOgotICAgICAgICAgICAgYXV0 aG9yPU1lTWU7Ci0gICAgICAgICAgICB2ZXJzaW9uPTc0OwotICAgICAgICAgICAgbGFzdG1vZGlm aWVkPTEwNDE1NjE1NTI7Ci0gICAgICAgICAgICBhdXRob3JfaWQ9MTI3LjAuMC4xOwotICAgICAg ICAgICAgaGl0cz0xNDY7Ci0gICAgICAgICovCi0gICAgICAgICRraWxsbWUgPSBhcnJheSgiYXV0 aG9yIiwgInZlcnNpb24iLCAibGFzdG1vZGlmaWVkIiwKLSAgICAgICAgICAgICJhdXRob3JfaWQi LCAiaGl0cyIsICJvd25lciIsICJhY2wiKTsKLSAgICAgICAgLy8gVWx0cmFOYXN0eSwgZml4bWU6 Ci0gICAgICAgIGZvcmVhY2ggKCRraWxsbWUgYXMgJHBhdHRlcm4pIHsKLSAgICAgICAgICAgICRh cnJheSA9IHByZWdfcmVwbGFjZSgKLSAgICAgICAgICAgICAgICAiL15cc1xzJHBhdHRlcm5cPS4q Oy8iLAotICAgICAgICAgICAgICAgIC8qJHJlcGxhY2VtZW50ID0qLwotICAgICAgICAgICAgICAg ICJ6enpqdW5rIiwKLSAgICAgICAgICAgICAgICAkYXJyYXkKLSAgICAgICAgICAgICk7Ci0gICAg ICAgIH0KLSAgICAgICAgLy8gcmVtb3ZlIGRlbGV0ZWQgdmFsdWVzIGZyb20gYXJyYXkKLSAgICAg ICAgZm9yICgkaSA9IDA7ICRpIDwgY291bnQoJGFycmF5KTsgJGkrKykgewotICAgICAgICAgICAg aWYgKHRyaW0oJGFycmF5WyRpXSkgIT0gInp6emp1bmsiKSB7IC8vbmFzdHksIGZpeG1lCi0gICAg ICAgICAgICAgICAgJHJldHVybltdID0gJGFycmF5WyRpXTsKLSAgICAgICAgICAgIH0KLSAgICAg ICAgfQotCi0gICAgICAgICRtYWlsaWZpZWQgPSBpbXBsb2RlKCJcbiIsICRyZXR1cm4pOwotICAg IH0KIH0KCk1vZGlmaWVkOiB0cnVuay9saWIvcGx1Z2luL1dpa2lGb3JtLnBocAo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLSB0cnVuay9saWIvcGx1Z2luL1dpa2lGb3JtLnBocAkyMDI1LTAyLTE0IDIzOjIyOjM3IFVU QyAocmV2IDExMTA4KQorKysgdHJ1bmsvbGliL3BsdWdpbi9XaWtpRm9ybS5waHAJMjAyNS0wMi0x NSAwNToxODowOCBVVEMgKHJldiAxMTEwOSkKQEAgLTkxLDYgKzkxLDE3IEBACiAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICRjbGFzcyA9ICd3aWtpYWRtaW4nOwogICAgICAgICAg ICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSAnZHVtcHN2bic6CisgICAgICAgICAgICAg ICAgJGlucHV0WyduYW1lJ10gPSAnZGlyZWN0b3J5JzsKKyAgICAgICAgICAgICAgICAkaW5wdXRb J3JlcXVpcmVkJ10gPSAncmVxdWlyZWQnOworICAgICAgICAgICAgICAgIGlmICghJGRlZmF1bHQp IHsKKyAgICAgICAgICAgICAgICAgICAgJGlucHV0Wyd2YWx1ZSddID0gREVGQVVMVF9EVU1QX0RJ UjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKCEkYnV0dG9udGV4dCkg eworICAgICAgICAgICAgICAgICAgICAkYnV0dG9udGV4dCA9IF8oIkR1bXAgUGFnZXMgZm9yIGRl dmVsb3BlciIpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAkY2xhc3MgPSAn d2lraWFkbWluJzsKKyAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgJ2R1 bXBodG1sJzoKICAgICAgICAgICAgICAgICAkaW5wdXRbJ25hbWUnXSA9ICdkaXJlY3RvcnknOwog ICAgICAgICAgICAgICAgICRpbnB1dFsncmVxdWlyZWQnXSA9ICdyZXF1aXJlZCc7CgpNb2RpZmll ZDogdHJ1bmsvcGdzcmMvUmVsZWFzZU5vdGVzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHRydW5rL3Bnc3JjL1Jl bGVhc2VOb3RlcwkyMDI1LTAyLTE0IDIzOjIyOjM3IFVUQyAocmV2IDExMTA4KQorKysgdHJ1bmsv cGdzcmMvUmVsZWFzZU5vdGVzCTIwMjUtMDItMTUgMDU6MTg6MDggVVRDIChyZXYgMTExMDkpCkBA IC0xLDQgKzEsNCBAQAotRGF0ZTogRnJpLCAxNCBGZWIgMjAyNSAyMzowOTowOCArMDAwMAorRGF0 ZTogU2F0LCAxNSBGZWIgMjAyNSAwNDo1ODoyMCArMDAwMAogTWltZS1WZXJzaW9uOiAxLjAgKFBy b2R1Y2VkIGJ5IFBocFdpa2kgMS42LjUpCiBDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3gtcGhw d2lraTsKICAgcGFnZW5hbWU9UmVsZWFzZU5vdGVzOwpAQCAtMjksMTEgKzI5LDI2IEBACiAqIEFk ZGVkIDQwNCBlcnJvciB0byB+SHR0cENsaWVudC5waHAgd2hpY2ggaXMgZGlzcGxheWVkIG5vdyBp bgogICB+UGhvdG9BbGJ1bVBsdWdpbi4gUmVtb3ZlZCB1cmwgb2YgZGVmdW5jdCBleGFtcGxlIHdl YnNpdGUgdGhhdCBicm9rZQogICBQaHBXaWtpTWFudWFsLgotKiAqKkltcG9ydGFudCBidWdmaXgg Zm9yIFBIUDguMyBhbmQgbmV3ZXI6KiogRml4ZWQgZ2FyYmxlZCBwYWdlcyBkdWUgdG8KLSAgZGVw cmVjaWF0ZWQgZXJyb3JzLiBBbHNvIHRyeSBoYXJkZXIgdG8gc3VwcHJlc3MgZGVwcmVjaWF0ZWQg ZXJyb3JzIG9uIGFsbAotICBQSFAgdmVyc2lvbnMuIFNldCAjI0RFQlVHPTIjIyBpbiAjI2NvbmZp Zy5pbmkjIyB0byB2aWV3IGRlcHJlY2lhdGVkIGVycm9ycywKLSAgYW5kICMjREVCVUc9MSMjIGZv ciBiYXNpYyBlcnJvcnMuIEFkZGVkIGhvb2tzIGZvciBjc3MgZm9ybWF0dGluZyBvZgorKiAqKklt cG9ydGFudCBidWdmaXggZm9yIFBIUDguMyBhbmQgbmV3ZXI6KiogRml4ZWQgZ2FyYmxlZCBkaXNw bGF5IG9mIHBhZ2VzCisgIGR1ZSB0byBkZXByZWNpYXRlZCBlcnJvcnMuIEFsc28gdHJ5IGhhcmRl ciB0byBzdXBwcmVzcyBkZXByZWNpYXRlZCBlcnJvcnMgb24KKyAgYWxsIFBIUCB2ZXJzaW9ucy4g U2V0ICMjREVCVUc9MiMjIGluICMjY29uZmlnLmluaSMjIHRvIHZpZXcgZGVwcmVjaWF0ZWQKKyAg ZXJyb3JzLCBhbmQgIyNERUJVRz0xIyMgZm9yIGJhc2ljIGVycm9ycy4gQWRkZWQgaG9va3MgZm9y IGNzcyBmb3JtYXR0aW5nIG9mCiAgIGRlcHJlY2lhdGVkIGVycm9ycy4KKyogSW1wcm92ZW1lbnRz IGFuZCBidWdmaXhlcyB0byBsb2FkaW5nIGFuZCBzYXZpbmcgcGFnZXMgdG8gZmlsZWR1bXBzOgor ICAtIGZpeGVkIGRvd25sb2FkIG9mIGluZGl2aWR1YWwgZHVtcCBmaWxlcyBzdGFsbGluZyBpbiBj aHJvbWUgKG11c3QgYWx3YXlzCisgICAgY2xpY2sgcmVzdW1lKS4KKyAgLSBmaXhlZCBwYWdlIGxv Y2sgc3RhdHVzIG5vdCBhbHdheXMgbG9hZGluZywgZXNwZWNpYWxseSBmb3IgdmlyZ2luIHdpa2ku CisgIC0gU2VjdXJpdHk6IFByZXZlbnRlZCB1bmxvY2tpbmcgZXhpc3RpbmcgcGFnZSB3aGVuIGxv YWRpbmcgZHVtcGVkIGZpbGUKKyAgICB3aXRob3V0IGxvY2sgZmxhZy4KKyAgLSBTZWN1cml0eTog UGFnZSBoaXRzIGFuZCBhY2wgYXJlIG9ubHkgbG9hZGVkIHdoZW4gcGFnZSBkb2Vzbid0IGV4aXN0 IGluCisgICAgZGF0YWJhc2UuIFRvIGRvIGEgY29tcGxldGUgcmVzdG9yZSBvZiBhIHBhZ2UsIGRl bGV0ZSBpdCBmaXJzdC4KKyAgLSBGaXhlZCBwYWdlIG1ldGFkYXRhIGNoYW5nZXMgaW5jb3JyZWN0 bHkgYmVpbmcgYXBwbGllZCB0byBkYXRhYmFzZSB3aGVuCisgICAgYXR0ZW1wdGluZyB0byBsb2Fk IGEgZmlsZSBhbmQgaXQgd2FzIHNraXBwZWQuCisgIC0gV2hlbiBhIGZpbGUgaXMgbG9hZGVkIHRo ZSBzdGF0dXMgbm93IHJlcG9ydHMgdGhlIGxvYWRlZCBwYWdlIGxvY2sgc3RhdHVzLgorICAtIFJl bW92ZWQgaW52YWxpZCBodHRwIGhlYWRlcnMuCisgIC0gQWRkZWQgZHVtcHN2biBhY3Rpb24sIG1h aW5seSBmb3IgZGV2ZWxvcGVycyBhbmQgdHJhbnNsYXRvcnMgb2YgcGdzcmMgZmlsZXMuCisgIC0g Rml4ZWQgZmlsZW5hbWVzIHNvbWV0aW1lcyBub3QgYmVpbmcgdXJsZW5jb2RlZCBwcm9wZXJseS4K KyAgLSBJbXByb3ZlZCBmaWx0ZXJpbmcgb2YgdW5rbm93biBwYWdlIG1ldGFkYXRhIGJlaW5nIGxv YWRlZCBpbnRvIGRhdGFiYXNlLgogCiA9PSAxLjYuNCAyMDI0LTAzLTEzIE1hcmMtRXRpZW5uZSBW YXJnZW5hdSwgQ2hyaXN0b2YgTWVlcndhbGQgPT0KIAoKVGhpcyB3YXMgc2VudCBieSB0aGUgU291 cmNlRm9yZ2UubmV0IGNvbGxhYm9yYXRpdmUgZGV2ZWxvcG1lbnQgcGxhdGZvcm0sIHRoZSB3b3Js ZCdzIGxhcmdlc3QgT3BlbiBTb3VyY2UgZGV2ZWxvcG1lbnQgc2l0ZS4KCgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KcGhwd2lraS1jaGVja2lucyBtYWls aW5nIGxpc3QKcGhwd2lraS1jaGVja2luc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKaHR0cHM6Ly9s aXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGluZm8vcGhwd2lraS1jaGVja2lucwo=