From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Rex Dieter To: git-commits@fedoraproject.org Subject: [rpms/amarok] epel10.2: - amarok-2.2.0 Date: Mon, 06 Jul 2026 18:30:55 GMT Message-ID: <178336265584.1.6475058094518080141.rpms-amarok-8ee4419382ab@fedoraproject.org> List-ID: X-Git-Repo: rpms/amarok X-Git-Branch: epel10.2 X-Git-Rev: 8ee4419382abd241ff2bcf514a7b621069c6a9f8 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvYW1hcm9rCkJyYW5j aCA6IGVwZWwxMC4yCkNvbW1pdCA6IDhlZTQ0MTkzODJhYmQyNDFmZjJiY2Y1MTRhN2I2MjEwNjlj NmE5ZjgKQXV0aG9yIDogUmV4IERpZXRlciA8cmRpZXRlckBmZWRvcmFwcm9qZWN0Lm9yZz4KRGF0 ZSAgIDogMjAwOS0wOS0yOVQxMTo1MDowMiswMDowMApTdGF0cyAgOiArMTAvLTEzNTQgaW4gNCBm aWxlKHMpClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvYW1hcm9r L2MvOGVlNDQxOTM4MmFiZDI0MWZmMmJjZjUxNGE3YjYyMTA2OWM2YTlmOD9icmFuY2g9ZXBlbDEw LjIKCkxvZzoKLSBhbWFyb2stMi4yLjAKCi0tLQpkaWZmIC0tZ2l0IGEvLmN2c2lnbm9yZSBiLy5j dnNpZ25vcmUKaW5kZXggMDYxNWVlNy4uZTgxZDFjYiAxMDA2NDQKLS0tIGEvLmN2c2lnbm9yZQor KysgYi8uY3ZzaWdub3JlCkBAIC0xICsxIEBACi1hbWFyb2stMi4xLjkwLnRhci5iejIKK2FtYXJv ay0yLjIuMC50YXIuYnoyCgpkaWZmIC0tZ2l0IGEvYW1hcm9rLnNwZWMgYi9hbWFyb2suc3BlYwpp bmRleCBjN2FiOGNhLi4zMTM3NThlIDEwMDY0NAotLS0gYS9hbWFyb2suc3BlYworKysgYi9hbWFy b2suc3BlYwpAQCAtMSwyMyArMSwxNyBAQAogCi0lZGVmaW5lIHNuYXAgMjAwOTA5MjNnaXQKLQog TmFtZTogICAgYW1hcm9rCiBTdW1tYXJ5OiBNZWRpYSBwbGF5ZXIKLVZlcnNpb246IDIuMS45MAot UmVsZWFzZTogMi4le3NuYXB9JXs/ZGlzdH0KK1ZlcnNpb246IDIuMi4wCitSZWxlYXNlOiAxJXs/ ZGlzdH0KIAogR3JvdXA6IAkgQXBwbGljYXRpb25zL011bHRpbWVkaWEKIExpY2Vuc2U6IEdQTHYy KwogVXJsOiAgICAgaHR0cDovL2FtYXJvay5rZGUub3JnLwotU291cmNlMDogaHR0cDovL2Rvd25s b2FkLmtkZS5vcmcvdW5zdGFibGUvYW1hcm9rLyV7dmVyc2lvbn0vc3JjL2FtYXJvay0le3ZlcnNp b259LnRhci5iejIKLSNTb3VyY2UwOiAgYW1hcm9rLSV7dmVyc2lvbn0tJXtzbmFwfS50YXIuYnoy CitTb3VyY2UwOiBodHRwOi8vZG93bmxvYWQua2RlLm9yZy9zdGFibGUvYW1hcm9rLyV7dmVyc2lv bn0vc3JjL2FtYXJvay0le3ZlcnNpb259LnRhci5iejIKIEJ1aWxkUm9vdDogJXtfdG1wcGF0aH0v JXtuYW1lfS0le3ZlcnNpb259LSV7cmVsZWFzZX0tcm9vdC0lKCV7X19pZF91fSAtbikKIAogUGF0 Y2g1MDogYW1hcm9rLTIuMC45MC1xdHNjcmlwdF9ub3RfcmVxdWlyZWQucGF0Y2gKIAotIyBtb3N0 bHkgYTogIGdpdCBkaWZmIHYyLjEuOTAKLVBhdGNoMTAwOiBwb3N0LTIuMS45MC0le3NuYXB9LnBh dGNoIAotCiBCdWlsZFJlcXVpcmVzOiBjdXJsLWRldmVsCiBCdWlsZFJlcXVpcmVzOiBkZXNrdG9w LWZpbGUtdXRpbHMKIEJ1aWxkUmVxdWlyZXM6IGdldHRleHQKQEAgLTM4LDggKzMyLDcgQEAgQnVp bGRSZXF1aXJlczogc29wcmFuby1kZXZlbAogQnVpbGRSZXF1aXJlczogdGFnbGliLWRldmVsID49 IDEuNgogQnVpbGRSZXF1aXJlczogdGFnbGliLWV4dHJhcy1kZXZlbCA+PSAxLjAuMAogCi0lZ2xv YmFsIGtkZWxpYnM0X3ZlcnNpb24gJSgoa2RlNC1jb25maWcgLS12ZXJzaW9uIDI+L2Rldi9udWxs IHx8IGVjaG8gS0RFIDQuMi4wKSB8IGdyZXAgJ15LREUnIHwgY3V0IC1kJyAnIC1mMiB8IGN1dCAt ZCctJyAtZjEpCi0lez9fcXQ0X3ZlcnNpb246UmVxdWlyZXM6IHF0NCV7P19pc2F9ID49ICV7X3F0 NF92ZXJzaW9ufX0KKyVnbG9iYWwga2RlbGliczRfdmVyc2lvbiAlKChrZGU0LWNvbmZpZyAtLXZl cnNpb24gMj4vZGV2L251bGwgfHwgZWNobyBLREUgNC4zLjApIHwgZ3JlcCAnXktERScgfCBjdXQg LWQnICcgLWYyIHwgY3V0IC1kJy0nIC1mMSkKIEJ1aWxkUmVxdWlyZXM6IHF0c2NyaXB0YmluZGlu Z3MKIFJlcXVpcmVzOiBxdHNjcmlwdGJpbmRpbmdzJXs/X2lzYX0KIFJlcXVpcmVzOiAle25hbWV9 LXV0aWxzID0gJXt2ZXJzaW9ufS0le3JlbGVhc2V9CkBAIC02NSw2ICs1OCw3IEBAIFN1bW1hcnk6 IFJ1bnRpbWUgbGlicmFyaWVzIGZvciAle25hbWV9CiBHcm91cDogICBTeXN0ZW0gRW52aXJvbm1l bnQvTGlicmFyaWVzCiBSZXF1aXJlczogJXtuYW1lfSA9ICV7dmVyc2lvbn0tJXtyZWxlYXNlfQog JXs/a2RlbGliczRfdmVyc2lvbjpSZXF1aXJlczoga2RlbGliczQlez9faXNhfSA+PSAle2tkZWxp YnM0X3ZlcnNpb259fQorJXs/X3F0NF92ZXJzaW9uOlJlcXVpcmVzOiBxdDQlez9faXNhfSA+PSAl e19xdDRfdmVyc2lvbn19CiAlZGVzY3JpcHRpb24gbGlicwogJXtzdW1tYXJ5fS4KIApAQCAtODEs NyArNzUsNiBAQCBPYnNvbGV0ZXM6IGFtYXJvay11dGlsaXRpZXMgPCAyLjAuOTYKICVzZXR1cCAt cSAKIAogJXBhdGNoNTAgLXAxIC1iIC5xdHNjcmlwdF9ub3RfcmVxdWlyZWQKLSVwYXRjaDEwMCAt cDEgLWIgLjIwMDkwOTIzZ2l0CiAKIAogJWJ1aWxkCkBAIC0xNzMsNiArMTY2LDkgQEAgZmkKIAog CiAlY2hhbmdlbG9nCisqIFR1ZSBTZXAgMjkgMjAwOSBSZXggRGlldGVyIDxyZGlldGVyQGZlZG9y YXByb2plY3Qub3JnPiAyLjIuMC0xCistIGFtYXJvay0yLjIuMAorCiAqIFdlZCBTZXAgMjMgMjAw OSBSZXggRGlldGVyIDxyZGlldGVyQGZlZG9yYXByb2plY3Qub3JnPiAyLjEuOTAtMi4yMDA5MDky M2dpdAogLSAyMDA5MDkyM2dpdCBzbmFwc2hvdAogCgpkaWZmIC0tZ2l0IGEvcG9zdC0yLjEuOTAt MjAwOTA5MjNnaXQucGF0Y2ggYi9wb3N0LTIuMS45MC0yMDA5MDkyM2dpdC5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjdiMTQ0ZS4uMDAwMDAwMAotLS0gYS9wb3N0LTIuMS45 MC0yMDA5MDkyM2dpdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEzNDAgKzAsMCBAQAotZGlm ZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwotaW5kZXggMmQ5NzU1OS4uNmE0ZTMwNyAx MDA2NDQKLS0tLSBhL0NoYW5nZUxvZwotKysrIGIvQ2hhbmdlTG9nCi1AQCAtMiw2ICsyLDIwIEBA IEFtYXJvayBDaGFuZ2VMb2cKLSA9PT09PT09PT09PT09PT09Ci0gKEMpIDIwMDItMjAwOSB0aGUg QW1hcm9rIGF1dGhvcnMuCi0gCi0rVkVSU0lPTiAyLjIKLSsgIENIQU5HRVM6Ci0rICAgICogTW9y ZSBjb2xsZWN0aW9uIHNjYW5uaW5nIHNwZWVkdXBzLgotKwotKyAgQlVHRklYRVM6Ci0rICAgICog Rml4IHBob3RvcyBhcHBsZXQgbm90IHdvcmtpbmcgYWZ0ZXIgcmVzdW1pbmcgcGxheWJhY2suIChC UiAyMDY4MjkpCi0rICAgICogRml4IHJlZ3Jlc3Npb24gd2hlcmUgdGhlIGdlbnJlIGZpZWxkIGlu IHRoZSBUYWcgRGlhbG9nIHdvdWxkIHNob3cgdGhlCi0rICAgICAgY29tcG9zZXIgb2YgdGhlIHRy YWNrLiAoQlIgMjA4MjU1KQotKyAgICAqIERvbid0IHJlc2h1ZmZsZSB0aGUgcGxheWxpc3QgZXZl cnkgdGltZSB0aGUgYWN0aXZlIHRyYWNrIGNoYW5nZXMgd2hlbgotKyAgICAqIHVzaW5nIGEgcmFu ZG9tIHNvcnQgb3JkZXIuCi0rICAgICogRml4IHRoZSBWYXJpb3VzIEFydGlzdCBub2RlIHNvbWV0 aW1lcyBiZWluZyBzaG93biBpbiB0aGUgQ29sbGVjdGlvbgotKyAgICAgIEJyb3dzZXIgd2l0aCBu b3RoaW5nIHVuZGVybmVhdGggaXQgKG9yIGFuIGVtcHR5ICJVbmtub3duIiBhbGJ1bSkuCi0rICAg ICogRml4IHNvbWUgdHJhY2tzJyB0YWdzIG5vdCBiZWluZyBzYXZlZCBjb3JyZWN0bHkgdG8gdGhl IGRhdGFiYXNlLgotKyAgICAgIChCUiAyMDIwMjEpCi0gCi0gVkVSU0lPTiAyLjItcmMxCi0gICBG RUFUVVJFUzoKLUBAIC0yMyw2ICszNyw3IEBAIFZFUlNJT04gMi4yLXJjMQotICAgICAqIEFkZGVk ICJMb2NrIGxheW91dCIgb3B0aW9uIHRvIHRoZSBtYWluIHdpbmRvdydzIGNvbnRleHQgbWVudS4g ICAgCi0gCi0gICBCVUdGSVhFUzoKLSsgICAgKiBGaXggd2lraXBlZGlhIGVuZ2luZSByZWZpbmVk IHNlYXJjaCBicm9rZW4uIChCUiAyMDgwMjQpCi0gICAgICogQ3Jhc2ggaW4gUVRleHRDb2RlYyB3 aGlsZSBzY2FubmluZyBjb2xsZWN0aW9uIGhhcyBiZWVuIGZpeGVkLgotICAgICAgIEFwcGFyZW50 bHkuIChCUiAxOTE0NDcpCi0gICAgICogQSBkaWFsb2cgd2l0aCAiQ2FuIG5vdCB3cml0ZSBwbGF5 bGlzdCAoLykiIHdhcyBkaXNwbGF5ZWQgd2hlbiB1c2luZwotZGlmZiAtLWdpdCBhL3NyYy9jb2xs ZWN0aW9uL2lwaG9uZW9zL2FtYXJva19jb2xsZWN0aW9uLWlwaG9uZW9zY29sbGVjdGlvbi5kZXNr dG9wIGIvc3JjL2NvbGxlY3Rpb24vaXBob25lb3MvYW1hcm9rX2NvbGxlY3Rpb24taXBob25lb3Nj b2xsZWN0aW9uLmRlc2t0b3AKLWluZGV4IDgwMzk2ZWYuLjM3M2Q3MWMgMTAwNjQ0Ci0tLS0gYS9z cmMvY29sbGVjdGlvbi9pcGhvbmVvcy9hbWFyb2tfY29sbGVjdGlvbi1pcGhvbmVvc2NvbGxlY3Rp b24uZGVza3RvcAotKysrIGIvc3JjL2NvbGxlY3Rpb24vaXBob25lb3MvYW1hcm9rX2NvbGxlY3Rp b24taXBob25lb3Njb2xsZWN0aW9uLmRlc2t0b3AKLUBAIC0xNyw2ICsxNyw3IEBAIE5hbWVbbm5d PVNrcml2ZXZlcm5hIHNhbWxpbmcgZm9yIGlQaG9uZSBPUyAzLjAKLSBOYW1lW3BsXT1Lb2xla2Nq YSB0eWxrby1kby1vZGN6eXR1IGlQaG9uZSBPUyAzLjAKLSBOYW1lW3B0XT1Db2xlY8Onw6NvIEFw ZW5hcyBwYXJhIExlaXR1cmEgZG8gaVBob25lIE9TIDMuMAotIE5hbWVbcHRfQlJdPUNvbGXDp8Oj byBTb21lbnRlIHBhcmEgTGVpdHVyYSBkbyBpUGhvbmUgT1MgMy4wCi0rTmFtZVtydV090JrQvtC7 0LvQtdC60YbQuNGPIGlQaG9uZSBPUyAzLjAgKNGC0L7Qu9GM0LrQviDQtNC70Y8g0YfRgtC10L3Q uNGPKQotIE5hbWVbc3JdPdCX0LHQuNGA0LrQsCDQmOKAkdGE0L7QvSDQntCh4oCR0LAgMy4wICAo 0YHQsNC80L4g0LfQsCDRh9C40YLQsNGa0LUpCi0gTmFtZVtzckBsYXRpbl09WmJpcmthIGlQaG9u ZU9T4oCRYSAzLjAgIChzYW1vIHphIMSNaXRhbmplKQotIE5hbWVbc3ZdPWlQaG9uZSBPUyAzLjAg c2tyaXZza3lkZGFkIHNhbWxpbmcKLUBAIC00MCw2ICs0MSw3IEBAIENvbW1lbnRbbm5dPUFtYXJv ay1zYW1saW5nc3RpbGxlZ2cgZm9yIGlQaG9uZSBPUyAzLjAKLSBDb21tZW50W3BsXT1XdHljemth IGtvbGVrY2ppIHR5bGtvLWRvLW9kY3p5dHUgaVBob25lIE9TIDMuMCBkbGEgQW1hcm9rYQotIENv bW1lbnRbcHRdPVVtICdwbHVnaW4nIGRhIGNvbGVjw6fDo28sIGFwZW5hcyBwYXJhIGxlaXR1cmEs IGRvIGlQaG9uZSBPUyAzLjAgcGFyYSBvIEFtYXJvawotIENvbW1lbnRbcHRfQlJdPVBsdWdpbiBk ZSBjb2xlw6fDo28gc29tZW50ZSBwYXJhIExlaXR1cmEgZG8gaVBob25lIE9TIDMuMCwgcGFyYSBv IEFtYXJvawotK0NvbW1lbnRbcnVdPdCc0L7QtNGD0LvRjCDQutC+0LvQu9C10LrRhtC40Y8gaVBo b25lIE9TIDMuMCAo0YLQvtC70YzQutC+INC00LvRjyDRh9GC0LXQvdC40Y8pCi0gQ29tbWVudFtz cl090J/RgNC40LrRmdGD0YfQsNC6INC30LHQuNGA0LrQtSDQvdCwINCY4oCR0YTQvtC9INCe0KHi gJHRgyAzLjAgKNGB0LDQvNC+INC30LAg0YfQuNGC0LDRmtC1KSDQt9CwINCQ0LzQsNGA0L7Qugot IENvbW1lbnRbc3JAbGF0aW5dPVByaWtsanXEjWFrIHpiaXJrZSBuYSBpUGhvbmVPU+KAkXUgMy4w IChzYW1vIHphIMSNaXRhbmplKSB6YSBBbWFyb2sKLSBDb21tZW50W3N2XT1JbnN0aWNrc3Byb2dy YW0gbWVkIGlQaG9uZSBPUyAzLjAgc2tyaXZza3lkZGFkIHNhbWxpbmcgZsO2ciBBbWFyb2sKLWRp ZmYgLS1naXQgYS9zcmMvY29sbGVjdGlvbi9pcG9kY29sbGVjdGlvbi9hbWFyb2tfY29sbGVjdGlv bi1pcG9kY29sbGVjdGlvbi5kZXNrdG9wIGIvc3JjL2NvbGxlY3Rpb24vaXBvZGNvbGxlY3Rpb24v YW1hcm9rX2NvbGxlY3Rpb24taXBvZGNvbGxlY3Rpb24uZGVza3RvcAotaW5kZXggNGZkYTYxNy4u NDhjNjQwYSAxMDA2NDQKLS0tLSBhL3NyYy9jb2xsZWN0aW9uL2lwb2Rjb2xsZWN0aW9uL2FtYXJv a19jb2xsZWN0aW9uLWlwb2Rjb2xsZWN0aW9uLmRlc2t0b3AKLSsrKyBiL3NyYy9jb2xsZWN0aW9u L2lwb2Rjb2xsZWN0aW9uL2FtYXJva19jb2xsZWN0aW9uLWlwb2Rjb2xsZWN0aW9uLmRlc2t0b3AK LUBAIC0zNiw3ICszNiw3IEBAIE5hbWVbcGxdPUtvbGVrY2phIGlQb2QKLSBOYW1lW3B0XT1Db2xl Y8Onw6NvIGRvIElQb2QKLSBOYW1lW3B0X0JSXT1Db2xlw6fDo28gaVBvZAotIE5hbWVbcm9dPUNv bGVjyJtpZSBJcG9kCi0tTmFtZVtydV090JrQvtC70LvQtdC60YbQuNGPIElwb2QKLStOYW1lW3J1 XT3QmtC+0LvQu9C10LrRhtC40Y8gaVBvZAotIE5hbWVbc2xdPVpiaXJrYSBpUG9kCi0gTmFtZVtz cl090JfQsdC40YDQutCwINC44oCR0L/QvtC00LAKLSBOYW1lW3NyQGxhdGluXT1aYmlya2EgaVBv ZGEKLUBAIC04NCw3ICs4NCw3IEBAIENvbW1lbnRbcGxdPVd0eWN6a2Ega29sZWtjamkgaVBvZGEg ZGxhIEFtYXJva2EKLSBDb21tZW50W3B0XT1VbSAncGx1Z2luJyBkYSBjb2xlY8Onw6NvIGRvIElQ b2QgcGFyYSBvIEFtYXJvawotIENvbW1lbnRbcHRfQlJdPVBsdWctaW4gZGUgY29sZcOnw6NvIGlQ b2QgcGFyYSBvIEFtYXJvawotIENvbW1lbnRbcm9dPU1vZHVsIGRlIGNvbGVjyJtpZSBJcG9kIHBl bnRydSBBbWFyb2sKLS1Db21tZW50W3J1XT3QnNC+0LTRg9C70Ywg0LrQvtC70LvQtdC60YbQuNC4 IElwb2Qg0LTQu9GPIEFtYXJvawotK0NvbW1lbnRbcnVdPdCc0L7QtNGD0LvRjCDQutC+0LvQu9C1 0LrRhtC40LggaVBvZCDQtNC70Y8gQW1hcm9rCi0gQ29tbWVudFtzbF09VnN0YXZlayB6YSB6Ymly a28gaVBvZCB6YSBBbWFyb2sKLSBDb21tZW50W3NyXT3Qn9GA0LjQutGZ0YPRh9Cw0Log0LfQsdC4 0YDQutC1INC90LAg0LjigJHQv9C+0LTRgyDQt9CwINCQ0LzQsNGA0L7QugotIENvbW1lbnRbc3JA bGF0aW5dPVByaWtsanXEjWFrIHpiaXJrZSBuYSBpUG9kdSB6YSBBbWFyb2sKLWRpZmYgLS1naXQg YS9zcmMvY29sbGVjdGlvbi9teXNxbGVjb2xsZWN0aW9uL2FtYXJva19jb2xsZWN0aW9uLW15c3Fs ZWNvbGxlY3Rpb24uZGVza3RvcCBiL3NyYy9jb2xsZWN0aW9uL215c3FsZWNvbGxlY3Rpb24vYW1h cm9rX2NvbGxlY3Rpb24tbXlzcWxlY29sbGVjdGlvbi5kZXNrdG9wCi1pbmRleCBjM2FlMTJkLi4x ZGVjZWJiIDEwMDY0NAotLS0tIGEvc3JjL2NvbGxlY3Rpb24vbXlzcWxlY29sbGVjdGlvbi9hbWFy b2tfY29sbGVjdGlvbi1teXNxbGVjb2xsZWN0aW9uLmRlc2t0b3AKLSsrKyBiL3NyYy9jb2xsZWN0 aW9uL215c3FsZWNvbGxlY3Rpb24vYW1hcm9rX2NvbGxlY3Rpb24tbXlzcWxlY29sbGVjdGlvbi5k ZXNrdG9wCi1AQCAtMTgsNiArMTgsNyBAQCBOYW1lW25uXT1NeVNRTGUtc2FtbGluZwotIE5hbWVb cGxdPUtvbGVrY2phIE15U1FMZQotIE5hbWVbcHRdPUNvbGVjw6fDo28gZGUgTXlTUUxlCi0gTmFt ZVtwdF9CUl09Q29sZcOnw6NvIE15U1FMZQotK05hbWVbcnVdPdCa0L7Qu9C70LXQutGG0LjRjyBN eVNRTGUKLSBOYW1lW3NyXT3Ql9Cx0LjRgNC60LAg0L3QsCDQnNCw0ZjQodCa0YPQm2XigJHRgwot IE5hbWVbc3JAbGF0aW5dPVpiaXJrYSBuYSBNeVNRTGXigJF1Ci0gTmFtZVtzdl09TXlTUUwtc2Ft bGluZwotZGlmZiAtLWdpdCBhL3NyYy9jb2xsZWN0aW9uL215c3Fsc2VydmVyY29sbGVjdGlvbi9h bWFyb2tfY29sbGVjdGlvbi1teXNxbHNlcnZlcmNvbGxlY3Rpb24uZGVza3RvcCBiL3NyYy9jb2xs ZWN0aW9uL215c3Fsc2VydmVyY29sbGVjdGlvbi9hbWFyb2tfY29sbGVjdGlvbi1teXNxbHNlcnZl cmNvbGxlY3Rpb24uZGVza3RvcAotaW5kZXggMzk1N2Q2NS4uZDI3MjZkMiAxMDA2NDQKLS0tLSBh L3NyYy9jb2xsZWN0aW9uL215c3Fsc2VydmVyY29sbGVjdGlvbi9hbWFyb2tfY29sbGVjdGlvbi1t eXNxbHNlcnZlcmNvbGxlY3Rpb24uZGVza3RvcAotKysrIGIvc3JjL2NvbGxlY3Rpb24vbXlzcWxz ZXJ2ZXJjb2xsZWN0aW9uL2FtYXJva19jb2xsZWN0aW9uLW15c3Fsc2VydmVyY29sbGVjdGlvbi5k ZXNrdG9wCi1AQCAtMTgsNiArMTgsNyBAQCBOYW1lW25uXT1NeVNRTFNlcnZlci1zYW1saW5nCi0g TmFtZVtwbF09S29sZWtjamEgTXlTUUxTZXJ2ZXIKLSBOYW1lW3B0XT1Db2xlY8Onw6NvIGRlIE15 U1FMIChTZXJ2aWRvcikKLSBOYW1lW3B0X0JSXT1Db2xlw6fDo28gTXlTUUxTZXJ2ZXIKLStOYW1l W3J1XT3QmtC+0LvQu9C10LrRhtC40Y8gTXlTUUxTZXJ2ZXIKLSBOYW1lW3NyXT3Ql9Cx0LjRgNC6 0LAg0L3QsCDRgdC10YDQstC10YDRgyDQnNCw0ZjQodCa0YPQm+KAkdCwCi0gTmFtZVtzckBsYXRp bl09WmJpcmthIG5hIHNlcnZlcnUgTXlTUUzigJFhCi0gTmFtZVtzdl09TXlTUUxTZXJ2ZXItc2Ft bGluZwotZGlmZiAtLWdpdCBhL3NyYy9jb2xsZWN0aW9uL3NxbGNvbGxlY3Rpb24vU2NhblJlc3Vs dFByb2Nlc3Nvci5jcHAgYi9zcmMvY29sbGVjdGlvbi9zcWxjb2xsZWN0aW9uL1NjYW5SZXN1bHRQ cm9jZXNzb3IuY3BwCi1pbmRleCBkY2M0NWY4Li5jOTY5NGY0IDEwMDY0NAotLS0tIGEvc3JjL2Nv bGxlY3Rpb24vc3FsY29sbGVjdGlvbi9TY2FuUmVzdWx0UHJvY2Vzc29yLmNwcAotKysrIGIvc3Jj L2NvbGxlY3Rpb24vc3FsY29sbGVjdGlvbi9TY2FuUmVzdWx0UHJvY2Vzc29yLmNwcAotQEAgLTEx NCw3ICsxMTQsNyBAQCBTY2FuUmVzdWx0UHJvY2Vzc29yOjpkb25lV2l0aEltYWdlcygpCi0gICAg ICAgICBpZigga2V5LmZpcnN0LmlzRW1wdHkoKSB8fCBrZXkuc2Vjb25kLmlzRW1wdHkoKSApCi0g ICAgICAgICAgICAgY29udGludWU7Ci0gCi0tICAgICAgICBpbnQgYXJ0aXN0ID0gYXJ0aXN0SWQo IGtleS5maXJzdCApOwotKyAgICAgICAgaW50IGFydGlzdCA9IGdlbmVyaWNJZCggImFydGlzdHMi LCBrZXkuZmlyc3QgKTsKLSAgICAgICAgIGludCBhbGJ1bSAgPSBhbGJ1bUlkKCBrZXkuc2Vjb25k LCBhcnRpc3QgKTsKLSAKLSAgICAgICAgIC8vIFdpbGwgYXV0b21hdGljYWxseSBhZGQgdGhlIGlt YWdlIHBhdGggdG8gdGhlIGRhdGFiYXNlIGlmIG5lZWRlZAotQEAgLTI2MSw3ICsyNjEsNyBAQCBT Y2FuUmVzdWx0UHJvY2Vzc29yOjpwcm9jZXNzRGlyZWN0b3J5KCBjb25zdCBRTGlzdDxRVmFyaWFu dE1hcCA+ICZkYXRhICkKLSAgICAgewotICAgICAgICAgZm9yZWFjaCggY29uc3QgUVZhcmlhbnRN YXAgJnJvdywgZGF0YSApCi0gICAgICAgICB7Ci0tICAgICAgICAgICAgaW50IGFydGlzdCA9IGFy dGlzdElkKCByb3cudmFsdWUoIEZpZWxkOjpBUlRJU1QgKS50b1N0cmluZygpICk7Ci0rICAgICAg ICAgICAgaW50IGFydGlzdCA9IGdlbmVyaWNJZCggImFydGlzdHMiLCByb3cudmFsdWUoIEZpZWxk OjpBUlRJU1QgKS50b1N0cmluZygpICk7Ci0gICAgICAgICAgICAgYWRkVHJhY2soIHJvdywgYXJ0 aXN0ICk7Ci0gICAgICAgICB9Ci0gICAgIH0KLUBAIC0yNjksNyArMjY5LDcgQEAgU2NhblJlc3Vs dFByb2Nlc3Nvcjo6cHJvY2Vzc0RpcmVjdG9yeSggY29uc3QgUUxpc3Q8UVZhcmlhbnRNYXAgPiAm ZGF0YSApCi0gICAgIHsKLSAgICAgICAgIFFTdHJpbmcgYWxidW1BcnRpc3QgPSBmaW5kQWxidW1B cnRpc3QoIGFydGlzdHMsIGRhdGEuY291bnQoKSApOwotICAgICAgICAgLy9hbiBlbXB0eSBzdHJp bmcgbWVhbnMgdGhhdCBubyBhbGJ1bWFydGlzdCB3YXMgZm91bmQKLS0gICAgICAgIGludCBhcnRp c3QgPSBhbGJ1bUFydGlzdC5pc0VtcHR5KCkgPyAwIDogYXJ0aXN0SWQoIGFsYnVtQXJ0aXN0ICk7 Ci0rICAgICAgICBpbnQgYXJ0aXN0ID0gYWxidW1BcnRpc3QuaXNFbXB0eSgpID8gMCA6IGdlbmVy aWNJZCggImFydGlzdHMiLCBhbGJ1bUFydGlzdCApOwotIAotICAgICAgICAgZGVidWcoKSA8PCAi YWxidW1hcnRpc3QgIiA8PCBhbGJ1bUFydGlzdCA8PCAiZm9yIGFydGlzdHMiIDw8IGFydGlzdHM7 Ci0gICAgICAgICBmb3JlYWNoKCBjb25zdCBRVmFyaWFudE1hcCAmcm93LCBkYXRhICkKLUBAIC0z ODMsMzcgKzM4MywyMyBAQCBTY2FuUmVzdWx0UHJvY2Vzc29yOjphZGRUcmFjayggY29uc3QgUVZh cmlhbnRNYXAgJnRyYWNrRGF0YSwgaW50IGFsYnVtQXJ0aXN0SWQgKQotICAgICB9Ci0gCi0gICAg IGlmKCBkaXIuY291bnQoKSA9PSAxICkKLS0gICAgewotICAgICAgICAgY29tcGlsYXRpb25JZCA9 IGNoZWNrRXhpc3RpbmdBbGJ1bXMoIGFsYnVtTmFtZSApOwotLSAgICB9Ci0gCi0tICAgIGlmKCAw ID09IGNvbXBpbGF0aW9uSWQgKQotLSAgICB7Ci0tICAgICAgICBhbGJ1bSA9IGFsYnVtSWQoIGFs YnVtTmFtZSwgYWxidW1BcnRpc3RJZCApOwotLSAgICB9Ci0rICAgIC8vcnVuIGEgc2luZ2xlIHF1 ZXJ5IHRvIGZldGNoIHRoZXNlIGF0IG9uY2UsIHRvIHNhdmUgdGltZQotKyAgICAvL3RoZW4gdmFs dWVzIHdpbGwgYmUgY2FjaGVkIGluIGxvY2FsIG1hcHMsIHNvIGNhbiB1c2UgdGhlIHNhbWUgY2Fs bHMgYmVsb3cKLSsgICAgZGF0YWJhc2VJZEZldGNoKCB0cmFja0RhdGEudmFsdWUoIEZpZWxkOjpB UlRJU1QgKS50b1N0cmluZygpLAotKyAgICAgICAgICAgICAgICAgICAgIHRyYWNrRGF0YS52YWx1 ZSggRmllbGQ6OkdFTlJFICkudG9TdHJpbmcoKSwKLSsgICAgICAgICAgICAgICAgICAgICB0cmFj a0RhdGEudmFsdWUoIEZpZWxkOjpDT01QT1NFUiApLnRvU3RyaW5nKCksCi0rICAgICAgICAgICAg ICAgICAgICAgdHJhY2tEYXRhLnZhbHVlKCBGaWVsZDo6WUVBUiApLnRvU3RyaW5nKCksCi0rICAg ICAgICAgICAgICAgICAgICAgYWxidW1OYW1lLCBhbGJ1bUFydGlzdElkLCBjb21waWxhdGlvbklk ICk7Ci0gCi0tICAgIGJvb2wgbmVlZFRvUXVlcnkgPSBmYWxzZTsKLS0gICAgaWYoICFtX2FydGlz dHMuY29udGFpbnMoIHRyYWNrRGF0YS52YWx1ZSggRmllbGQ6OkFSVElTVCApLnRvU3RyaW5nKCkg KSB8fAotLSAgICAgICAgIW1fZ2VucmUuY29udGFpbnMoIHRyYWNrRGF0YS52YWx1ZSggRmllbGQ6 OkdFTlJFICkudG9TdHJpbmcoKSApICB8fAotLSAgICAgICAgIW1fY29tcG9zZXIuY29udGFpbnMo IHRyYWNrRGF0YS52YWx1ZSggRmllbGQ6OkNPTVBPU0VSICkudG9TdHJpbmcoKSApIHx8Ci0tICAg ICAgICAhbV95ZWFyLmNvbnRhaW5zKCB0cmFja0RhdGEudmFsdWUoIEZpZWxkOjpZRUFSICkudG9T dHJpbmcoKSApICkKLS0gICAgICAgICAgICBuZWVkVG9RdWVyeSA9IHRydWU7Ci0rICAgIGludCBh cnRpc3QgPSBnZW5lcmljSWQoICJhcnRpc3RzIiwgdHJhY2tEYXRhLnZhbHVlKCBGaWVsZDo6QVJU SVNUICkudG9TdHJpbmcoKSApOwotKyAgICBpbnQgZ2VucmUgPSBnZW5lcmljSWQoICJnZW5yZXMi LCB0cmFja0RhdGEudmFsdWUoIEZpZWxkOjpHRU5SRSApLnRvU3RyaW5nKCkgKTsKLSsgICAgaW50 IGNvbXBvc2VyID0gZ2VuZXJpY0lkKCAiY29tcG9zZXJzIiwgdHJhY2tEYXRhLnZhbHVlKCBGaWVs ZDo6Q09NUE9TRVIgKS50b1N0cmluZygpICk7Ci0rICAgIGludCB5ZWFyID0gZ2VuZXJpY0lkKCAi eWVhcnMiLCB0cmFja0RhdGEudmFsdWUoIEZpZWxkOjpZRUFSICkudG9TdHJpbmcoKSApOwotIAot LSAgICBpZiggbmVlZFRvUXVlcnkgKQotLSAgICB7Ci0tICAgICAgICAvL3J1biBhIHNpbmdsZSBx dWVyeSB0byBmZXRjaCB0aGVzZSBhdCBvbmNlLCB0byBzYXZlIHRpbWUKLS0gICAgICAgIC8vdGhl biB2YWx1ZXMgd2lsbCBiZSBjYWNoZWQgaW4gbG9jYWwgbWFwcywgc28gY2FuIHVzZSB0aGUgc2Ft ZSBjYWxscyBiZWxvdwotLSAgICAgICAgZGF0YWJhc2VJZEZldGNoKCB0cmFja0RhdGEudmFsdWUo IEZpZWxkOjpBUlRJU1QgKS50b1N0cmluZygpLAotLSAgICAgICAgICAgICAgICAgICAgICAgICB0 cmFja0RhdGEudmFsdWUoIEZpZWxkOjpHRU5SRSApLnRvU3RyaW5nKCksCi0tICAgICAgICAgICAg ICAgICAgICAgICAgIHRyYWNrRGF0YS52YWx1ZSggRmllbGQ6OkNPTVBPU0VSICkudG9TdHJpbmco KSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tEYXRhLnZhbHVlKCBGaWVsZDo6WUVB UiApLnRvU3RyaW5nKCksCi0tICAgICAgICAgICAgICAgICAgICAgICAgIGFsYnVtTmFtZSwgYWxi dW1BcnRpc3RJZCApOwotLSAgICB9Ci0tCi0tICAgIGludCBhcnRpc3QgPSBhcnRpc3RJZCggdHJh Y2tEYXRhLnZhbHVlKCBGaWVsZDo6QVJUSVNUICkudG9TdHJpbmcoKSApOwotLSAgICBpbnQgZ2Vu cmUgPSBnZW5yZUlkKCB0cmFja0RhdGEudmFsdWUoIEZpZWxkOjpHRU5SRSApLnRvU3RyaW5nKCkg KTsKLS0gICAgaW50IGNvbXBvc2VyID0gY29tcG9zZXJJZCggdHJhY2tEYXRhLnZhbHVlKCBGaWVs ZDo6Q09NUE9TRVIgKS50b1N0cmluZygpICk7Ci0tICAgIGludCB5ZWFyID0geWVhcklkKCB0cmFj a0RhdGEudmFsdWUoIEZpZWxkOjpZRUFSICkudG9TdHJpbmcoKSApOwotKyAgICBpZiggIWNvbXBp bGF0aW9uSWQgKQotKyAgICAgICAgYWxidW0gPSBhbGJ1bUlkKCBhbGJ1bU5hbWUsIGFsYnVtQXJ0 aXN0SWQgKTsKLSAKLSAgICAgUVN0cmluZyB1aWQgPSB0cmFja0RhdGEudmFsdWUoIEZpZWxkOjpV TklRVUVJRCApLnRvU3RyaW5nKCk7Ci0gCi1AQCAtNDczLDEzMSArNDU5LDg2IEBAIFNjYW5SZXN1 bHRQcm9jZXNzb3I6OmFkZFRyYWNrKCBjb25zdCBRVmFyaWFudE1hcCAmdHJhY2tEYXRhLCBpbnQg YWxidW1BcnRpc3RJZCApCi0gfQotIAotIGludAotLVNjYW5SZXN1bHRQcm9jZXNzb3I6OmFydGlz dElkKCBjb25zdCBRU3RyaW5nICZhcnRpc3QgKQotK1NjYW5SZXN1bHRQcm9jZXNzb3I6OmdlbmVy aWNJZCggY29uc3QgUVN0cmluZyAma2V5LCBjb25zdCBRU3RyaW5nICZ2YWx1ZSApCi0gewotLSAg ICBpZiggbV9hcnRpc3RzLmNvbnRhaW5zKCBhcnRpc3QgKSApCi0tICAgICAgICByZXR1cm4gbV9h cnRpc3RzLnZhbHVlKCBhcnRpc3QgKTsKLS0gICAgUVN0cmluZyBxdWVyeSA9IFFTdHJpbmcoICJT RUxFQ1QgaWQgRlJPTSBhcnRpc3RzX3RlbXAgV0hFUkUgbmFtZSA9ICclMSc7IiApLmFyZyggbV9j b2xsZWN0aW9uLT5lc2NhcGUoIGFydGlzdCApICk7Ci0tICAgIFFTdHJpbmdMaXN0IHJlcyA9IG1f Y29sbGVjdGlvbi0+cXVlcnkoIHF1ZXJ5ICk7Ci0tICAgIGludCBpZCA9IDA7Ci0tICAgIGlmKCBy ZXMuaXNFbXB0eSgpICkKLS0gICAgICAgIGlkID0gYXJ0aXN0SW5zZXJ0KCBhcnRpc3QgKTsKLSsg ICAgUU1hcDxRU3RyaW5nLCBpbnQ+ICpjdXJyTWFwOwotKyAgICBpZigga2V5ID09ICJhcnRpc3Rz IiApCi0rICAgICAgICBjdXJyTWFwID0gJm1fYXJ0aXN0czsKLSsgICAgZWxzZSBpZigga2V5ID09 ICJnZW5yZXMiICkKLSsgICAgICAgIGN1cnJNYXAgPSAmbV9nZW5yZXM7Ci0rICAgIGVsc2UgaWYo IGtleSA9PSAieWVhcnMiICkKLSsgICAgICAgIGN1cnJNYXAgPSAmbV95ZWFyczsKLSsgICAgZWxz ZSBpZigga2V5ID09ICJjb21wb3NlcnMiICkKLSsgICAgICAgIGN1cnJNYXAgPSAmbV9jb21wb3Nl cnM7Ci0gICAgIGVsc2UKLS0gICAgICAgIGlkID0gcmVzWzBdLnRvSW50KCk7Ci0tICAgIG1fYXJ0 aXN0cy5pbnNlcnQoIGFydGlzdCwgaWQgKTsKLS0gICAgcmV0dXJuIGlkOwotLX0KLS0KLS1pbnQK LS1TY2FuUmVzdWx0UHJvY2Vzc29yOjphcnRpc3RJbnNlcnQoIGNvbnN0IFFTdHJpbmcgJmFydGlz dCApCi0tewotLSAgICBRU3RyaW5nIGluc2VydCA9IFFTdHJpbmcoICJJTlNFUlQgSU5UTyBhcnRp c3RzX3RlbXAoIG5hbWUgKSBWQUxVRVMgKCclMScpOyIgKS5hcmcoIG1fY29sbGVjdGlvbi0+ZXNj YXBlKCBhcnRpc3QgKSApOwotLSAgICBpbnQgaWQgPSBtX2NvbGxlY3Rpb24tPmluc2VydCggaW5z ZXJ0LCAiYXJ0aXN0c190ZW1wIiApOwotLSAgICByZXR1cm4gaWQ7Ci0tfQotLQotLWludAotLVNj YW5SZXN1bHRQcm9jZXNzb3I6OmdlbnJlSWQoIGNvbnN0IFFTdHJpbmcgJmdlbnJlICkKLS17Ci0t ICAgIGlmKCBtX2dlbnJlLmNvbnRhaW5zKCBnZW5yZSApICkKLS0gICAgICAgIHJldHVybiBtX2dl bnJlLnZhbHVlKCBnZW5yZSApOwotLSAgICBRU3RyaW5nIHF1ZXJ5ID0gUVN0cmluZyggIlNFTEVD VCBpZCBGUk9NIGdlbnJlc190ZW1wIFdIRVJFIG5hbWUgPSAnJTEnOyIgKS5hcmcoIG1fY29sbGVj dGlvbi0+ZXNjYXBlKCBnZW5yZSApICk7Ci0tICAgIFFTdHJpbmdMaXN0IHJlcyA9IG1fY29sbGVj dGlvbi0+cXVlcnkoIHF1ZXJ5ICk7Ci0tICAgIGludCBpZCA9IDA7Ci0tICAgIGlmKCByZXMuaXNF bXB0eSgpICkKLS0gICAgICAgIGlkID0gZ2VucmVJbnNlcnQoIGdlbnJlICk7Ci0tICAgIGVsc2UK LS0gICAgICAgIGlkID0gcmVzWzBdLnRvSW50KCk7Ci0tICAgIG1fZ2VucmUuaW5zZXJ0KCBnZW5y ZSwgaWQgKTsKLS0gICAgcmV0dXJuIGlkOwotLX0KLS0KLS1pbnQKLS1TY2FuUmVzdWx0UHJvY2Vz c29yOjpnZW5yZUluc2VydCggY29uc3QgUVN0cmluZyAmZ2VucmUgKQotLXsKLS0gICAgUVN0cmlu ZyBpbnNlcnQgPSBRU3RyaW5nKCAiSU5TRVJUIElOVE8gZ2VucmVzX3RlbXAoIG5hbWUgKSBWQUxV RVMgKCclMScpOyIgKS5hcmcoIG1fY29sbGVjdGlvbi0+ZXNjYXBlKCBnZW5yZSApICk7Ci0tICAg IGludCBpZCA9IG1fY29sbGVjdGlvbi0+aW5zZXJ0KCBpbnNlcnQsICJnZW5yZXNfdGVtcCIgKTsK LS0gICAgcmV0dXJuIGlkOwotLX0KLS0KLS1pbnQKLS1TY2FuUmVzdWx0UHJvY2Vzc29yOjpjb21w b3NlcklkKCBjb25zdCBRU3RyaW5nICZjb21wb3NlciApCi0tewotLSAgICBpZiggbV9jb21wb3Nl ci5jb250YWlucyggY29tcG9zZXIgKSApCi0tICAgICAgICByZXR1cm4gbV9jb21wb3Nlci52YWx1 ZSggY29tcG9zZXIgKTsKLS0gICAgUVN0cmluZyBxdWVyeSA9IFFTdHJpbmcoICJTRUxFQ1QgaWQg RlJPTSBjb21wb3NlcnNfdGVtcCBXSEVSRSBuYW1lID0gJyUxJzsiICkuYXJnKCBtX2NvbGxlY3Rp b24tPmVzY2FwZSggY29tcG9zZXIgKSApOwotLSAgICBRU3RyaW5nTGlzdCByZXMgPSBtX2NvbGxl Y3Rpb24tPnF1ZXJ5KCBxdWVyeSApOwotLSAgICBpbnQgaWQgPSAwOwotLSAgICBpZiggcmVzLmlz RW1wdHkoKSApCi0tICAgICAgICBpZCA9IGNvbXBvc2VySW5zZXJ0KCBjb21wb3NlciApOwotLSAg ICBlbHNlCi0tICAgICAgICBpZCA9IHJlc1swXS50b0ludCgpOwotLSAgICBtX2NvbXBvc2VyLmlu c2VydCggY29tcG9zZXIsIGlkICk7Ci0tICAgIHJldHVybiBpZDsKLS19Ci0rICAgIHsKLSsgICAg ICAgIGRlYnVnKCkgPDwgIkhvbHkgaGVsbCBCYXRtYW4sIHdoYXQganVzdCBoYXBwZW5lZCBpbiBn ZW5lcmljSWQ/IjsKLSsgICAgICAgIHJldHVybiAtOTk5OTsKLSsgICAgfQotIAotLWludAotLVNj YW5SZXN1bHRQcm9jZXNzb3I6OmNvbXBvc2VySW5zZXJ0KCBjb25zdCBRU3RyaW5nICZjb21wb3Nl ciApCi0tewotLSAgICBRU3RyaW5nIGluc2VydCA9IFFTdHJpbmcoICJJTlNFUlQgSU5UTyBjb21w b3NlcnNfdGVtcCggbmFtZSApIFZBTFVFUyAoJyUxJyk7IiApLmFyZyggbV9jb2xsZWN0aW9uLT5l c2NhcGUoIGNvbXBvc2VyICkgKTsKLS0gICAgaW50IGlkID0gbV9jb2xsZWN0aW9uLT5pbnNlcnQo IGluc2VydCwgImNvbXBvc2Vyc190ZW1wIiApOwotLSAgICByZXR1cm4gaWQ7Ci0tfQotKyAgICBp ZiggY3Vyck1hcC0+Y29udGFpbnMoIHZhbHVlICkgKQotKyAgICAgICAgcmV0dXJuIGN1cnJNYXAt PnZhbHVlKCB2YWx1ZSApOwotIAotLWludAotLVNjYW5SZXN1bHRQcm9jZXNzb3I6OnllYXJJZCgg Y29uc3QgUVN0cmluZyAmeWVhciApCi0tewotLSAgICBpZiggbV95ZWFyLmNvbnRhaW5zKCB5ZWFy ICkgKQotLSAgICAgICAgcmV0dXJuIG1feWVhci52YWx1ZSggeWVhciApOwotLSAgICBRU3RyaW5n IHF1ZXJ5ID0gUVN0cmluZyggIlNFTEVDVCBpZCBGUk9NIHllYXJzX3RlbXAgV0hFUkUgbmFtZSA9 ICclMSc7IiApLmFyZyggbV9jb2xsZWN0aW9uLT5lc2NhcGUoIHllYXIgKSApOwotKyAgICBRU3Ry aW5nIHF1ZXJ5ID0gUVN0cmluZyggIlNFTEVDVCBpZCBGUk9NICUxX3RlbXAgV0hFUkUgbmFtZSA9 ICclMic7IiApLmFyZygga2V5LCBtX2NvbGxlY3Rpb24tPmVzY2FwZSggdmFsdWUgKSApOwotICAg ICBRU3RyaW5nTGlzdCByZXMgPSBtX2NvbGxlY3Rpb24tPnF1ZXJ5KCBxdWVyeSApOwotICAgICBp bnQgaWQgPSAwOwotICAgICBpZiggcmVzLmlzRW1wdHkoKSApCi0tICAgICAgICBpZCA9IHllYXJJ bnNlcnQoIHllYXIgKTsKLSsgICAgICAgIGlkID0gZ2VuZXJpY0luc2VydCgga2V5LCB2YWx1ZSAp OwotICAgICBlbHNlCi0gICAgICAgICBpZCA9IHJlc1swXS50b0ludCgpOwotLSAgICBtX3llYXIu aW5zZXJ0KCB5ZWFyLCBpZCApOwotKyAgICBjdXJyTWFwLT5pbnNlcnQoIHZhbHVlLCBpZCApOwot ICAgICByZXR1cm4gaWQ7Ci0gfQotIAotIGludAotLVNjYW5SZXN1bHRQcm9jZXNzb3I6OnllYXJJ bnNlcnQoIGNvbnN0IFFTdHJpbmcgJnllYXIgKQotK1NjYW5SZXN1bHRQcm9jZXNzb3I6OmdlbmVy aWNJbnNlcnQoIGNvbnN0IFFTdHJpbmcgJmtleSwgY29uc3QgUVN0cmluZyAmdmFsdWUgKQotIHsK LS0gICAgUVN0cmluZyBpbnNlcnQgPSBRU3RyaW5nKCAiSU5TRVJUIElOVE8geWVhcnNfdGVtcCgg bmFtZSApIFZBTFVFUyAoJyUxJyk7IiApLmFyZyggbV9jb2xsZWN0aW9uLT5lc2NhcGUoIHllYXIg KSApOwotLSAgICBpbnQgaWQgPSBtX2NvbGxlY3Rpb24tPmluc2VydCggaW5zZXJ0LCAieWVhcnNf dGVtcCIgKTsKLSsgICAgUVN0cmluZyBpbnNlcnQgPSBRU3RyaW5nKCAiSU5TRVJUIElOVE8gJTFf dGVtcCggbmFtZSApIFZBTFVFUyAoJyUyJyk7IiApLmFyZygga2V5LCBtX2NvbGxlY3Rpb24tPmVz Y2FwZSggdmFsdWUgKSApOwotKyAgICBpbnQgaWQgPSBtX2NvbGxlY3Rpb24tPmluc2VydCggaW5z ZXJ0LCBRU3RyaW5nKCAiJTFfdGVtcCIgKS5hcmcoIGtleSApICk7Ci0gICAgIHJldHVybiBpZDsK LSB9Ci0gCi0gdm9pZAotLVNjYW5SZXN1bHRQcm9jZXNzb3I6OmRhdGFiYXNlSWRGZXRjaCggY29u c3QgUVN0cmluZyAmYXJ0aXN0LCBjb25zdCBRU3RyaW5nICZnZW5yZSwgY29uc3QgUVN0cmluZyAm Y29tcG9zZXIsIGNvbnN0IFFTdHJpbmcgJnllYXIsIGNvbnN0IFFTdHJpbmcgJmFsYnVtLCBpbnQg YWxidW1BcnRpc3RJZCApCi0rU2NhblJlc3VsdFByb2Nlc3Nvcjo6ZGF0YWJhc2VJZEZldGNoKCBj b25zdCBRU3RyaW5nICZhcnRpc3QsIGNvbnN0IFFTdHJpbmcgJmdlbnJlLCBjb25zdCBRU3RyaW5n ICZjb21wb3NlciwgY29uc3QgUVN0cmluZyAmeWVhciwgY29uc3QgUVN0cmluZyAmYWxidW0sIGlu dCBhbGJ1bUFydGlzdElkLCBpbnQgY29tcGlsYXRpb25JZCApCi0gewotICAgICAvL0RFQlVHX0JM T0NLCi0tICAgIFFfVU5VU0VEKCBhbGJ1bSApOwotLSAgICBRX1VOVVNFRCggYWxidW1BcnRpc3RJ ZCApOwotKyAgICBRUGFpcjxRU3RyaW5nLCBpbnQ+IGFsYnVtS2V5KCBhbGJ1bSwgYWxidW1BcnRp c3RJZCApOwotKyAgICBib29sIGFsYnVtRm91bmQgPSBjb21waWxhdGlvbklkIHx8IG1fYWxidW1z LmNvbnRhaW5zKCBhbGJ1bUtleSApOwotKyAgICBib29sIGFydGlzdEZvdW5kID0gbV9hcnRpc3Rz LmNvbnRhaW5zKCBhcnRpc3QgKTsKLSsgICAgYm9vbCBnZW5yZUZvdW5kID0gbV9nZW5yZXMuY29u dGFpbnMoIGdlbnJlICk7Ci0rICAgIGJvb2wgY29tcG9zZXJGb3VuZCA9IG1fY29tcG9zZXJzLmNv bnRhaW5zKCBjb21wb3NlciApOwotKyAgICBib29sIHllYXJGb3VuZCA9IG1feWVhcnMuY29udGFp bnMoIHllYXIgKTsKLSsKLSsgICAgaWYoIGFsYnVtRm91bmQgJiYgYXJ0aXN0Rm91bmQgJiYgZ2Vu cmVGb3VuZCAmJiBjb21wb3NlckZvdW5kICYmIHllYXJGb3VuZCApCi0rICAgICAgICByZXR1cm47 IC8vbm90aGluZyB0byBkbwotKwotICAgICBpbnQgbCA9IDA7IC8vYWxidW0KLS0gICAgYm9vbCBh bGJ1bUZvdW5kID0gZmFsc2U7Ci0gICAgIGludCBhID0gMDsgLy9hcnRpc3QKLS0gICAgYm9vbCBh cnRpc3RGb3VuZCA9IGZhbHNlOwotICAgICBpbnQgZyA9IDA7IC8vZ2VucmUKLS0gICAgYm9vbCBn ZW5yZUZvdW5kID0gZmFsc2U7Ci0gICAgIGludCBjID0gMDsgLy9jb21wb3NlcgotLSAgICBib29s IGNvbXBvc2VyRm91bmQgPSBmYWxzZTsKLSAgICAgaW50IHkgPSAwOyAvL3llYXIKLS0gICAgYm9v bCB5ZWFyRm91bmQgPSBmYWxzZTsKLSAKLSAgICAgUVN0cmluZyBxdWVyeTsKLS0vKgotLSAgICBp ZiggYWxidW1BcnRpc3RJZCA9PSAwICkKLS0gICAgICAgIHF1ZXJ5ICs9IFFTdHJpbmcoICJTRUxF Q1QgaWQsIENPTkNBVCgnQUxCVU1OQU1FXycsIG5hbWUpIEFTIG5hbWUgRlJPTSBhbGJ1bXNfdGVt cCBXSEVSRSBhcnRpc3QgSVMgTlVMTCBBTkQgbmFtZSA9ICclMScgIiApCi0tICAgICAgICAgICAg ICAgICAgICAuYXJnKCBtX2NvbGxlY3Rpb24tPmVzY2FwZSggYWxidW0gKSApOwotLSAgICBlbHNl Ci0tICAgICAgICBxdWVyeSArPSBRU3RyaW5nKCAiU0VMRUNUIGlkLCBDT05DQVQoJ0FMQlVNTkFN RV8nLCBuYW1lKSBBUyBuYW1lIEZST00gYWxidW1zX3RlbXAgV0hFUkUgYXJ0aXN0ID0gJTEgQU5E IG5hbWUgPSAnJTInICIgKQotLSAgICAgICAgICAgICAgICAgICAgICAgIC5hcmcoIFFTdHJpbmc6 Om51bWJlciggYWxidW1BcnRpc3RJZCApLCBtX2NvbGxlY3Rpb24tPmVzY2FwZSggYWxidW0gKSAp OwotLSovCi0tICAgIHF1ZXJ5ICs9IFFTdHJpbmcoICJTRUxFQ1QgaWQsIENPTkNBVCgnQVJUSVNU TkFNRV8nLCBuYW1lKSBBUyBuYW1lIEZST00gYXJ0aXN0c190ZW1wIFdIRVJFIG5hbWUgPSAnJTEn ICIgKS5hcmcoIG1fY29sbGVjdGlvbi0+ZXNjYXBlKCBhcnRpc3QgKSApOwotLSAgICBxdWVyeSAr PSBRU3RyaW5nKCAiVU5JT04gQUxMIFNFTEVDVCBpZCwgQ09OQ0FUKCdHRU5SRU5BTUVfJywgbmFt ZSkgQVMgbmFtZSBGUk9NIGdlbnJlc190ZW1wIFdIRVJFIG5hbWUgPSAnJTEnICIgKS5hcmcoIG1f Y29sbGVjdGlvbi0+ZXNjYXBlKCBnZW5yZSApICk7Ci0tICAgIHF1ZXJ5ICs9IFFTdHJpbmcoICJV TklPTiBBTEwgU0VMRUNUIGlkLCBDT05DQVQoJ0NPTVBPU0VSTkFNRV8nLCBuYW1lKSBBUyBuYW1l IEZST00gY29tcG9zZXJzX3RlbXAgV0hFUkUgbmFtZSA9ICclMScgIiApLmFyZyggbV9jb2xsZWN0 aW9uLT5lc2NhcGUoIGNvbXBvc2VyICkgKTsKLS0gICAgcXVlcnkgKz0gUVN0cmluZyggIlVOSU9O IEFMTCBTRUxFQ1QgaWQsIENPTkNBVCgnWUVBUlNOQU1FXycsIG5hbWUpIEFTIG5hbWUgRlJPTSB5 ZWFyc190ZW1wIFdIRVJFIG5hbWUgPSAnJTEnOyIgKS5hcmcoIG1fY29sbGVjdGlvbi0+ZXNjYXBl KCB5ZWFyICkgKTsKLSsgICAgaWYoICFhbGJ1bUZvdW5kICkKLSsgICAgewotKyAgICAgICAgaWYo IGFsYnVtQXJ0aXN0SWQgPT0gMCApCi0rICAgICAgICAgICAgcXVlcnkgKz0gUVN0cmluZyggIlNF TEVDVCBpZCwgQ09OQ0FUKCdBTEJVTU5BTUVfJywgbmFtZSkgQVMgbmFtZSBGUk9NIGFsYnVtc190 ZW1wIFdIRVJFIGFydGlzdCBJUyBOVUxMIEFORCBuYW1lID0gJyUxJyAiICkKLSsgICAgICAgICAg ICAgICAgICAgICAgICAuYXJnKCBtX2NvbGxlY3Rpb24tPmVzY2FwZSggYWxidW0gKSApOwotKyAg ICAgICAgZWxzZQotKyAgICAgICAgICAgIHF1ZXJ5ICs9IFFTdHJpbmcoICJTRUxFQ1QgaWQsIENP TkNBVCgnQUxCVU1OQU1FXycsIG5hbWUpIEFTIG5hbWUgRlJPTSBhbGJ1bXNfdGVtcCBXSEVSRSBh cnRpc3QgPSAlMSBBTkQgbmFtZSA9ICclMicgIiApCi0rICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC5hcmcoIFFTdHJpbmc6Om51bWJlciggYWxidW1BcnRpc3RJZCApLCBtX2NvbGxlY3Rpb24t PmVzY2FwZSggYWxidW0gKSApOwotKyAgICB9Ci0rICAgIGlmKCAhYXJ0aXN0Rm91bmQgKQotKyAg ICAgICAgcXVlcnkgKz0gUVN0cmluZyggIlVOSU9OIEFMTCBTRUxFQ1QgaWQsIENPTkNBVCgnQVJU SVNUTkFNRV8nLCBuYW1lKSBBUyBuYW1lIEZST00gYXJ0aXN0c190ZW1wIFdIRVJFIG5hbWUgPSAn JTEnICIgKS5hcmcoIG1fY29sbGVjdGlvbi0+ZXNjYXBlKCBhcnRpc3QgKSApOwotKyAgICBpZigg IWdlbnJlRm91bmQgKQotKyAgICAgICAgcXVlcnkgKz0gUVN0cmluZyggIlVOSU9OIEFMTCBTRUxF Q1QgaWQsIENPTkNBVCgnR0VOUkVOQU1FXycsIG5hbWUpIEFTIG5hbWUgRlJPTSBnZW5yZXNfdGVt cCBXSEVSRSBuYW1lID0gJyUxJyAiICkuYXJnKCBtX2NvbGxlY3Rpb24tPmVzY2FwZSggZ2VucmUg KSApOwotKyAgICBpZiggIWNvbXBvc2VyRm91bmQgKQotKyAgICAgICAgcXVlcnkgKz0gUVN0cmlu ZyggIlVOSU9OIEFMTCBTRUxFQ1QgaWQsIENPTkNBVCgnQ09NUE9TRVJOQU1FXycsIG5hbWUpIEFT IG5hbWUgRlJPTSBjb21wb3NlcnNfdGVtcCBXSEVSRSBuYW1lID0gJyUxJyAiICkuYXJnKCBtX2Nv bGxlY3Rpb24tPmVzY2FwZSggY29tcG9zZXIgKSApOwotKyAgICBpZiggIXllYXJGb3VuZCApCi0r ICAgICAgICBxdWVyeSArPSBRU3RyaW5nKCAiVU5JT04gQUxMIFNFTEVDVCBpZCwgQ09OQ0FUKCdZ RUFSU05BTUVfJywgbmFtZSkgQVMgbmFtZSBGUk9NIHllYXJzX3RlbXAgV0hFUkUgbmFtZSA9ICcl MSc7IiApLmFyZyggbV9jb2xsZWN0aW9uLT5lc2NhcGUoIHllYXIgKSApOwotKyAgICBpZiggcXVl cnkuc3RhcnRzV2l0aCggIlVOSU9OIEFMTCAiICkgKQotKyAgICAgICAgcXVlcnkucmVtb3ZlKCAw LCAxMCApOwotKyAgICAgICAgCi0gICAgIFFTdHJpbmdMaXN0IHJlcyA9IG1fY29sbGVjdGlvbi0+ cXVlcnkoIHF1ZXJ5ICk7Ci0gICAgIGludCBpbmRleCA9IDA7Ci0gICAgIFFTdHJpbmcgZmlyc3Q7 Ci1AQCAtNjA3LDU4ICs1NDgsNTUgQEAgU2NhblJlc3VsdFByb2Nlc3Nvcjo6ZGF0YWJhc2VJZEZl dGNoKCBjb25zdCBRU3RyaW5nICZhcnRpc3QsIGNvbnN0IFFTdHJpbmcgJmdlbnIKLSAgICAgICAg IGZpcnN0ID0gcmVzLmF0KCBpbmRleCsrICk7Ci0gICAgICAgICBzZWNvbmQgPSByZXMuYXQoIGlu ZGV4KysgKTsKLSAgICAgICAgICAgICAgYSA9IGZpcnN0LnRvSW50KCk7Ci0tICAgICAgICBpZigg c2Vjb25kID09IFFTdHJpbmcoICJBTEJVTU5BTUVfIiArIGFsYnVtICkgKQotKyAgICAgICAgaWYo ICFhbGJ1bUZvdW5kICYmIHNlY29uZCA9PSBRU3RyaW5nKCAiQUxCVU1OQU1FXyIgKyBhbGJ1bSAp ICkKLSAgICAgICAgIHsKLSAgICAgICAgICAgICBsID0gZmlyc3QudG9JbnQoKTsKLSAgICAgICAg ICAgICBhbGJ1bUZvdW5kID0gdHJ1ZTsKLSAgICAgICAgIH0KLS0gICAgICAgIGVsc2UgaWYoIHNl Y29uZCA9PSBRU3RyaW5nKCAiQVJUSVNUTkFNRV8iICsgYXJ0aXN0ICkgKQotKyAgICAgICAgZWxz ZSBpZiggIWFydGlzdEZvdW5kICYmIHNlY29uZCA9PSBRU3RyaW5nKCAiQVJUSVNUTkFNRV8iICsg YXJ0aXN0ICkgKQotICAgICAgICAgewotICAgICAgICAgICAgIGEgPSBmaXJzdC50b0ludCgpOwot ICAgICAgICAgICAgIGFydGlzdEZvdW5kID0gdHJ1ZTsKLSAgICAgICAgIH0KLS0gICAgICAgIGVs c2UgaWYoIHNlY29uZCA9PSBRU3RyaW5nKCAiR0VOUkVOQU1FXyIgKyBnZW5yZSApICkKLSsgICAg ICAgIGVsc2UgaWYoICFnZW5yZUZvdW5kICYmIHNlY29uZCA9PSBRU3RyaW5nKCAiR0VOUkVOQU1F XyIgKyBnZW5yZSApICkKLSAgICAgICAgIHsKLSAgICAgICAgICAgICBnID0gZmlyc3QudG9JbnQo KTsKLSAgICAgICAgICAgICBnZW5yZUZvdW5kID0gdHJ1ZTsKLSAgICAgICAgIH0KLS0gICAgICAg IGVsc2UgaWYoIHNlY29uZCA9PSBRU3RyaW5nKCAiQ09NUE9TRVJOQU1FXyIgKyBjb21wb3NlciAp ICkKLSsgICAgICAgIGVsc2UgaWYoICFjb21wb3NlckZvdW5kICYmIHNlY29uZCA9PSBRU3RyaW5n KCAiQ09NUE9TRVJOQU1FXyIgKyBjb21wb3NlciApICkKLSAgICAgICAgIHsKLSAgICAgICAgICAg ICBjID0gZmlyc3QudG9JbnQoKTsKLSAgICAgICAgICAgICBjb21wb3NlckZvdW5kID0gdHJ1ZTsK LSAgICAgICAgIH0KLS0gICAgICAgIGVsc2UgaWYoIHNlY29uZCA9PSBRU3RyaW5nKCAiWUVBUlNO QU1FXyIgKyB5ZWFyICkgKQotKyAgICAgICAgZWxzZSBpZiggIXllYXJGb3VuZCAmJiBzZWNvbmQg PT0gUVN0cmluZyggIllFQVJTTkFNRV8iICsgeWVhciApICkKLSAgICAgICAgIHsKLSAgICAgICAg ICAgICB5ID0gZmlyc3QudG9JbnQoKTsKLSAgICAgICAgICAgICB5ZWFyRm91bmQgPSB0cnVlOwot ICAgICAgICAgfQotICAgICB9Ci0tICAgIC8qCi0gICAgIGlmKCAhYWxidW1Gb3VuZCApCi0gICAg IHsKLS0gICAgICAgIFFQYWlyPFFTdHJpbmcsIGludD4ga2V5KCBhbGJ1bSwgYWxidW1BcnRpc3RJ ZCApOwotLSAgICAgICAgbV9hbGJ1bXMuaW5zZXJ0KCBrZXksIGFsYnVtSW5zZXJ0KCBhbGJ1bSwg YWxidW1BcnRpc3RJZCApICk7Ci0rICAgICAgICBtX2FsYnVtcy5pbnNlcnQoIGFsYnVtS2V5LCBh bGJ1bUluc2VydCggYWxidW0sIGFsYnVtQXJ0aXN0SWQgKSApOwotICAgICAgICAgYWxidW1Gb3Vu ZCA9IHRydWU7Ci0gICAgIH0KLS0gICAgKi8KLSAgICAgaWYoICFhcnRpc3RGb3VuZCApCi0gICAg IHsKLS0gICAgICAgIG1fYXJ0aXN0cy5pbnNlcnQoIGFydGlzdCwgYXJ0aXN0SW5zZXJ0KCBhcnRp c3QgKSApOwotKyAgICAgICAgbV9hcnRpc3RzLmluc2VydCggYXJ0aXN0LCBnZW5lcmljSW5zZXJ0 KCAiYXJ0aXN0cyIsIGFydGlzdCApICk7Ci0gICAgICAgICBhcnRpc3RGb3VuZCA9IHRydWU7Ci0g ICAgIH0KLSAgICAgaWYoICFnZW5yZUZvdW5kICkKLSAgICAgewotLSAgICAgICAgbV9nZW5yZS5p bnNlcnQoIGdlbnJlLCBnZW5yZUluc2VydCggZ2VucmUgKSApOwotKyAgICAgICAgbV9nZW5yZXMu aW5zZXJ0KCBnZW5yZSwgZ2VuZXJpY0luc2VydCggImdlbnJlcyIsIGdlbnJlICkgKTsKLSAgICAg ICAgIGdlbnJlRm91bmQgPSB0cnVlOwotICAgICB9Ci0gICAgIGlmKCAhY29tcG9zZXJGb3VuZCAp Ci0gICAgIHsKLS0gICAgICAgIG1fY29tcG9zZXIuaW5zZXJ0KCBjb21wb3NlciwgY29tcG9zZXJJ bnNlcnQoIGNvbXBvc2VyICkgKTsKLSsgICAgICAgIG1fY29tcG9zZXJzLmluc2VydCggY29tcG9z ZXIsIGdlbmVyaWNJbnNlcnQoICJjb21wb3NlcnMiLCBjb21wb3NlciApICk7Ci0gICAgICAgICBj b21wb3NlckZvdW5kID0gdHJ1ZTsKLSAgICAgfQotICAgICBpZiggIXllYXJGb3VuZCApCi0gICAg IHsKLS0gICAgICAgIG1feWVhci5pbnNlcnQoIHllYXIsIHllYXJJbnNlcnQoIHllYXIgKSApOwot KyAgICAgICAgbV95ZWFycy5pbnNlcnQoIHllYXIsIGdlbmVyaWNJbnNlcnQoICJ5ZWFycyIsIHll YXIgKSApOwotICAgICAgICAgeWVhckZvdW5kID0gdHJ1ZTsKLSAgICAgfQotIH0KLWRpZmYgLS1n aXQgYS9zcmMvY29sbGVjdGlvbi9zcWxjb2xsZWN0aW9uL1NjYW5SZXN1bHRQcm9jZXNzb3IuaCBi L3NyYy9jb2xsZWN0aW9uL3NxbGNvbGxlY3Rpb24vU2NhblJlc3VsdFByb2Nlc3Nvci5oCi1pbmRl eCBmZmZjOWU3Li40OWMyYjhiIDEwMDY0NAotLS0tIGEvc3JjL2NvbGxlY3Rpb24vc3FsY29sbGVj dGlvbi9TY2FuUmVzdWx0UHJvY2Vzc29yLmgKLSsrKyBiL3NyYy9jb2xsZWN0aW9uL3NxbGNvbGxl Y3Rpb24vU2NhblJlc3VsdFByb2Nlc3Nvci5oCi1AQCAtNTgsMTUgKzU4LDkgQEAgY2xhc3MgU2Nh blJlc3VsdFByb2Nlc3NvciA6IHB1YmxpYyBRT2JqZWN0Ci0gICAgIHByaXZhdGU6Ci0gICAgICAg ICB2b2lkIGFkZFRyYWNrKCBjb25zdCBRVmFyaWFudE1hcCAmdHJhY2tEYXRhLCBpbnQgYWxidW1B cnRpc3RJZCApOwotIAotLSAgICAgICAgaW50IGFydGlzdElkKCBjb25zdCBRU3RyaW5nICZhcnRp c3QgKTsKLS0gICAgICAgIGludCBhcnRpc3RJbnNlcnQoIGNvbnN0IFFTdHJpbmcgJmFydGlzdCAp OwotLSAgICAgICAgaW50IGdlbnJlSWQoIGNvbnN0IFFTdHJpbmcgJmdlbnJlICk7Ci0tICAgICAg ICBpbnQgZ2VucmVJbnNlcnQoIGNvbnN0IFFTdHJpbmcgJmdlbnJlICk7Ci0tICAgICAgICBpbnQg Y29tcG9zZXJJZCggY29uc3QgUVN0cmluZyAmY29tcG9zZXIgKTsKLS0gICAgICAgIGludCBjb21w b3Nlckluc2VydCggY29uc3QgUVN0cmluZyAmY29tcG9zZXIgKTsKLS0gICAgICAgIGludCB5ZWFy SWQoIGNvbnN0IFFTdHJpbmcgJnllYXIgKTsKLS0gICAgICAgIGludCB5ZWFySW5zZXJ0KCBjb25z dCBRU3RyaW5nICZ5ZWFyICk7Ci0tICAgICAgICB2b2lkIGRhdGFiYXNlSWRGZXRjaCggY29uc3Qg UVN0cmluZyAmYXJ0aXN0LCBjb25zdCBRU3RyaW5nICZnZW5yZSwgY29uc3QgUVN0cmluZyAmY29t cG9zZXIsIGNvbnN0IFFTdHJpbmcgJnllYXIsIGNvbnN0IFFTdHJpbmcgJmFsYnVtLCBpbnQgYWxi dW1BcnRpc3RJZCApOwotKyAgICAgICAgaW50IGdlbmVyaWNJZCggY29uc3QgUVN0cmluZyAma2V5 LCBjb25zdCBRU3RyaW5nICZ2YWx1ZSApOwotKyAgICAgICAgaW50IGdlbmVyaWNJbnNlcnQoIGNv bnN0IFFTdHJpbmcgJmtleSwgY29uc3QgUVN0cmluZyAmdmFsdWUgKTsKLSsgICAgICAgIHZvaWQg ZGF0YWJhc2VJZEZldGNoKCBjb25zdCBRU3RyaW5nICZhcnRpc3QsIGNvbnN0IFFTdHJpbmcgJmdl bnJlLCBjb25zdCBRU3RyaW5nICZjb21wb3NlciwgY29uc3QgUVN0cmluZyAmeWVhciwgY29uc3Qg UVN0cmluZyAmYWxidW0sIGludCBhbGJ1bUFydGlzdElkLCBpbnQgY29tcGlsYXRpb25JZCApOwot ICAgICAgICAgaW50IGltYWdlSWQoIGNvbnN0IFFTdHJpbmcgJmltYWdlLCBpbnQgYWxidW1JZCAp OwotICAgICAgICAgaW50IGFsYnVtSWQoIGNvbnN0IFFTdHJpbmcgJmFsYnVtLCBpbnQgYXJ0aXN0 SWQgKTsKLSAgICAgICAgIGludCBhbGJ1bUluc2VydCggY29uc3QgUVN0cmluZyAmYWxidW0sIGlu dCBhcnRpc3RJZCApOwotQEAgLTkwLDkgKzg0LDkgQEAgY2xhc3MgU2NhblJlc3VsdFByb2Nlc3Nv ciA6IHB1YmxpYyBRT2JqZWN0Ci0gICAgICAgICBib29sIG1fc2V0dXBDb21wbGV0ZTsKLSAKLSAg ICAgICAgIFFNYXA8UVN0cmluZywgaW50PiBtX2FydGlzdHM7Ci0tICAgICAgICBRTWFwPFFTdHJp bmcsIGludD4gbV9nZW5yZTsKLS0gICAgICAgIFFNYXA8UVN0cmluZywgaW50PiBtX3llYXI7Ci0t ICAgICAgICBRTWFwPFFTdHJpbmcsIGludD4gbV9jb21wb3NlcjsKLSsgICAgICAgIFFNYXA8UVN0 cmluZywgaW50PiBtX2dlbnJlczsKLSsgICAgICAgIFFNYXA8UVN0cmluZywgaW50PiBtX3llYXJz OwotKyAgICAgICAgUU1hcDxRU3RyaW5nLCBpbnQ+IG1fY29tcG9zZXJzOwotICAgICAgICAgUU1h cDxRUGFpcjxRU3RyaW5nLCBpbnQ+LCBpbnQ+IG1fYWxidW1zOwotICAgICAgICAgUU1hcDxRUGFp cjxRU3RyaW5nLCBpbnQ+LCBpbnQ+IG1faW1hZ2VzOwotICAgICAgICAgUU1hcDxRU3RyaW5nLCBp bnQ+IG1fZGlyZWN0b3JpZXM7Ci1kaWZmIC0tZ2l0IGEvc3JjL2NvbGxlY3Rpb24vc3FsY29sbGVj dGlvbi9TcWxRdWVyeU1ha2VyLmNwcCBiL3NyYy9jb2xsZWN0aW9uL3NxbGNvbGxlY3Rpb24vU3Fs UXVlcnlNYWtlci5jcHAKLWluZGV4IGE2Zjk4ZmIuLjEwY2M2MjkgMTAwNjQ0Ci0tLS0gYS9zcmMv Y29sbGVjdGlvbi9zcWxjb2xsZWN0aW9uL1NxbFF1ZXJ5TWFrZXIuY3BwCi0rKysgYi9zcmMvY29s bGVjdGlvbi9zcWxjb2xsZWN0aW9uL1NxbFF1ZXJ5TWFrZXIuY3BwCi1AQCAtOTkyLDYgKzk5Miw3 IEBAIFNxbFF1ZXJ5TWFrZXI6OmhhbmRsZUFydGlzdHMoIGNvbnN0IFFTdHJpbmdMaXN0ICZyZXN1 bHQgKQotIHZvaWQKLSBTcWxRdWVyeU1ha2VyOjpoYW5kbGVBbGJ1bXMoIGNvbnN0IFFTdHJpbmdM aXN0ICZyZXN1bHQgKQotIHsKLSsgICAgREVCVUdfQkxPQ0sKLSAgICAgQWxidW1MaXN0IGFsYnVt czsKLSAgICAgU3FsUmVnaXN0cnkqIHJlZyA9IG1fY29sbGVjdGlvbi0+cmVnaXN0cnkoKTsKLSAg ICAgZm9yKCBRU3RyaW5nTGlzdEl0ZXJhdG9yIGl0ZXIoIHJlc3VsdCApOyBpdGVyLmhhc05leHQo KTsgKQotQEAgLTk5OSw2ICsxMDAwLDEwIEBAIFNxbFF1ZXJ5TWFrZXI6OmhhbmRsZUFsYnVtcygg Y29uc3QgUVN0cmluZ0xpc3QgJnJlc3VsdCApCi0gICAgICAgICBRU3RyaW5nIG5hbWUgPSBpdGVy Lm5leHQoKTsKLSAgICAgICAgIFFTdHJpbmcgaWQgPSBpdGVyLm5leHQoKTsKLSAgICAgICAgIFFT dHJpbmcgYXJ0aXN0ID0gaXRlci5uZXh0KCk7Ci0rICAgICAgICAvL0hBQ0s6IFRoZSBmb2xsb3dp bmcgaXMgYSBIQUNLIGFuZCBzaG91bGQgYmUgZml4ZWQgYnkgZml4aW5nIHRoZSBIQUNLCi0rICAg ICAgICAvL29mIGFsd2F5cyBpbmNsdWRpbmcgdGhlICJ0cmFja3MiIHRhYmxlIGluIHF1ZXJpZXMg aW4gU3FsUXVlcnlNYWtlcgotKyAgICAgICAgaWYoIG5hbWUuaXNFbXB0eSgpICYmIGlkLmlzRW1w dHkoKSAmJiBhcnRpc3QuaXNFbXB0eSgpICkKLSsgICAgICAgICAgICBjb250aW51ZTsKLSAgICAg ICAgIGFsYnVtcy5hcHBlbmQoIHJlZy0+Z2V0QWxidW0oIG5hbWUsIGlkLnRvSW50KCksIGFydGlz dC50b0ludCgpICkgKTsKLSAgICAgfQotICAgICBlbWl0T3JTdG9yZVByb3BlclJlc3VsdCggQWxi dW1QdHIsIGFsYnVtcyApOwotZGlmZiAtLWdpdCBhL3NyYy9jb2xsZWN0aW9uL3Vtc2NvbGxlY3Rp b24vYW1hcm9rX2NvbGxlY3Rpb24tdW1zY29sbGVjdGlvbi5kZXNrdG9wIGIvc3JjL2NvbGxlY3Rp b24vdW1zY29sbGVjdGlvbi9hbWFyb2tfY29sbGVjdGlvbi11bXNjb2xsZWN0aW9uLmRlc2t0b3AK LWluZGV4IDAxMjRjMWIuLjFiMDE2ZTAgMTAwNjQ0Ci0tLS0gYS9zcmMvY29sbGVjdGlvbi91bXNj b2xsZWN0aW9uL2FtYXJva19jb2xsZWN0aW9uLXVtc2NvbGxlY3Rpb24uZGVza3RvcAotKysrIGIv c3JjL2NvbGxlY3Rpb24vdW1zY29sbGVjdGlvbi9hbWFyb2tfY29sbGVjdGlvbi11bXNjb2xsZWN0 aW9uLmRlc2t0b3AKLUBAIC0xNSw2ICsxNSw3IEBAIE5hbWVbbm5dPVVuaXZlcnNlbGwgbWFzc2Vs YWdyaW5nc3NhbWxpbmcKLSBOYW1lW3BsXT1Lb2xla2NqYSBuYSB1cnrEhWR6ZW5pdSBkYW55Y2gK LSBOYW1lW3B0XT1Db2xlY8Onw6NvIGRlIEFybWF6ZW5hbWVudG8gZW0gTWFzc2EgVW5pdmVyc2Fs Ci0gTmFtZVtwdF9CUl09Q29sZcOnw6NvIGRlIEFybWF6ZW5hbWVudG8gVW5pdmVyc2FsIGVtIE1h c3NhCi0rTmFtZVtydV090JrQvtC70LvQtdC60YbQuNGPIFVNUwotIE5hbWVbc3JdPdCX0LHQuNGA 0LrQsCDQvdCwINGD0L3QuNCy0LXRgNC30LDQu9C90L7QvCDQvNCw0YHQvtCy0L3QvtC8INGB0LrQ u9Cw0LTQuNGI0YLRgwotIE5hbWVbc3JAbGF0aW5dPVpiaXJrYSBuYSB1bml2ZXJ6YWxub20gbWFz b3Zub20gc2tsYWRpxaF0dQotIE5hbWVbc3ZdPVNhbWxpbmcgcMOlIGdlbmVyZWxsIGxhZ3Jpbmdz ZW5oZXQKLWRpZmYgLS1naXQgYS9zcmMvY29udGV4dC9BcHBsZXQuY3BwIGIvc3JjL2NvbnRleHQv QXBwbGV0LmNwcAotaW5kZXggMzhiYzcwOS4uYWIyYzBhYyAxMDA2NDQKLS0tLSBhL3NyYy9jb250 ZXh0L0FwcGxldC5jcHAKLSsrKyBiL3NyYy9jb250ZXh0L0FwcGxldC5jcHAKLUBAIC0zOSw3ICsz OSw4IEBAIG5hbWVzcGFjZSBDb250ZXh0Ci0gQ29udGV4dDo6QXBwbGV0OjpBcHBsZXQoIFFPYmpl Y3QgKiBwYXJlbnQsIGNvbnN0IFFWYXJpYW50TGlzdCYgYXJncyApCi0gICAgIDogUGxhc21hOjpB cHBsZXQoIHBhcmVudCwgYXJncyApCi0gICAgICwgbV9jb2xsYXBzZWQoIGZhbHNlICkKLS0gICAg LCBtX2FuaW1hdGlvbklkKCAwICkKLSsgICAgLCBtX2FuaW1hdGlvbklkT24oIDAgKQotKyAgICAs IG1fYW5pbWF0aW9uSWRPZmYoIDAgKQotICAgICAsIG1fdHJhbnNpZW50KCAwICkKLSAgICAgLCBt X3N0YW5kYXJkUGFkZGluZyggNi4wICkKLSAgICAgLCBtX3RleHRCYWNrZ3JvdW5kKCAwICkKLUBA IC01MCw4ICs1MSwxMCBAQCBDb250ZXh0OjpBcHBsZXQ6OkFwcGxldCggUU9iamVjdCAqIHBhcmVu dCwgY29uc3QgUVZhcmlhbnRMaXN0JiBhcmdzICkKLSAKLSBDb250ZXh0OjpBcHBsZXQ6On5BcHBs ZXQoICkKLSB7Ci0tICAgIGlmICggbV9hbmltYXRpb25JZCAhPSAwKQotLSAgICAgICAgUGxhc21h OjpBbmltYXRvcjo6c2VsZigpLT5zdG9wQ3VzdG9tQW5pbWF0aW9uKCBtX2FuaW1hdGlvbklkICk7 Ci0rICAgIGlmICggbV9hbmltYXRpb25JZE9uICE9IDAgKQotKyAgICAgICAgUGxhc21hOjpBbmlt YXRvcjo6c2VsZigpLT5zdG9wQ3VzdG9tQW5pbWF0aW9uKCBtX2FuaW1hdGlvbklkT24gKTsKLSsg ICAgaWYgKCBtX2FuaW1hdGlvbklkT2ZmICE9IDAgKQotKyAgICAgICAgUGxhc21hOjpBbmltYXRv cjo6c2VsZigpLT5zdG9wQ3VzdG9tQW5pbWF0aW9uKCBtX2FuaW1hdGlvbklkT2ZmICk7Ci0gfQot IAotIAotQEAgLTIyOCwzOSArMjMxLDUxIEBAIENvbnRleHQ6OkFwcGxldDo6YWRkQWN0aW9uKCBR QWN0aW9uICphY3Rpb24sIGNvbnN0IGludCBzaXplICkKLSB2b2lkCi0gQ29udGV4dDo6QXBwbGV0 OjpzZXRDb2xsYXBzZU9uKCkKLSB7Ci0rICAgIC8vIFdlIGFyZSBhc2tlZCB0byBjb2xsYXBzZSwg YnV0IHRoZSBhcHBsZXQgaXMgYWxyZWFkeSBhbmltYXRpbmcgdG8gY29sbGFwc2UsIGRvIG5vdGhp bmcKLSsgICAgaWYgKCBtX2FuaW1hdGlvbklkT24gIT0gMCApCi0rICAgICAgICByZXR1cm47Ci0r Ci0rICAgIC8vIFdlIGFyZSBhbHJlYWR5IGNvbGxhcHNlZAotICAgICBpZiAoIHNpemUoKS5oZWln aHQoKSA9PSBtX2hlaWdodENvbGxhcHNlT24gKQotICAgICAgICAgcmV0dXJuOwotKwotICAgICBk ZWJ1ZygpIDw8ICJjb2xsYXBzaW5nIGFwcGxldCB0by4uLiIgPDwgbV9oZWlnaHRDb2xsYXBzZU9u OwotICAgICBpZiggbV9oZWlnaHRDb2xsYXBzZU9mZiA9PSAtMSApCi0gICAgICAgICBtX2FuaW1G cm9tSGVpZ2h0ID0gc2l6ZSgpLmhlaWdodCgpOwotICAgICBlbHNlCi0gICAgICAgICBtX2FuaW1G cm9tSGVpZ2h0ID0gbV9oZWlnaHRDb2xsYXBzZU9mZjsKLSAKLS0gICAgaWYgKCBtX2FuaW1hdGlv bklkICE9IDAgKSAvLyB3YXJuaW5nIHdlIGFyZSBtb3ZpbmcgcmlnaHQgbm93Ci0rICAgIGlmICgg bV9hbmltYXRpb25JZE9mZiAhPSAwICkgLy8gd2FybmluZyB3ZSBhcmUgZXh0YW5kaW5nIHJpZ2h0 IG5vdyB3ZSBzaG91bGQgc3RvcAotICAgICB7Ci0gICAgICAgICAvLyBzdG9wIHRoZSBhbmltCi0t ICAgICAgICBQbGFzbWE6OkFuaW1hdG9yOjpzZWxmKCktPnN0b3BDdXN0b21BbmltYXRpb24oIG1f YW5pbWF0aW9uSWQgKTsKLS0gICAgICAgIG1fYW5pbWF0aW9uSWQgPSAwOwotKyAgICAgICAgUGxh c21hOjpBbmltYXRvcjo6c2VsZigpLT5zdG9wQ3VzdG9tQW5pbWF0aW9uKCBtX2FuaW1hdGlvbklk T2ZmICk7Ci0rICAgICAgICBtX2FuaW1hdGlvbklkT2ZmID0gMDsKLSAgICAgfQotICAgICBtX2Nv bGxhcHNlZCA9IGZhbHNlOwotLSAgICBtX2FuaW1hdGlvbklkID0gUGxhc21hOjpBbmltYXRvcjo6 c2VsZigpLT5jdXN0b21BbmltYXRpb24oMjAsIDEwMDAsIFBsYXNtYTo6QW5pbWF0b3I6OkVhc2VJ bkN1cnZlLCB0aGlzLCAiYW5pbWF0ZU9uIiApOwotKyAgICBtX2FuaW1hdGlvbklkT24gPSBQbGFz bWE6OkFuaW1hdG9yOjpzZWxmKCktPmN1c3RvbUFuaW1hdGlvbigyMCwgMTAwMCwgUGxhc21hOjpB bmltYXRvcjo6RWFzZUluQ3VydmUsIHRoaXMsICJhbmltYXRlT24iICk7Ci0gfQotIAotIHZvaWQK LSBDb250ZXh0OjpBcHBsZXQ6OnNldENvbGxhcHNlT2ZmKCkKLSB7Ci0gICAgIERFQlVHX0JMT0NL Ci0tICAgIGRlYnVnKCkgPDwgImhlaWdodDoiIDw8IHNpemUoKS5oZWlnaHQoKSA8PCAidGFyZ2V0 OiIgPDwgbV9oZWlnaHRDb2xsYXBzZU9mZiA8PCAibV9jb2xsYXBzZWQ6IiA8PCBtX2NvbGxhcHNl ZDsKLSsKLSsgICAgLy8gV2UgYXJlIGFza2VkIHRvIGV4dGVuZCwgYnV0IHRoZSBhcHBsZXQgaXMg YWxyZWFkeSBhbmltYXRpbmcgdG8gZXh0ZW5kLCBkbyBub3RoaW5nCi0rICAgIGlmICggbV9hbmlt YXRpb25JZE9mZiAhPSAwICkKLSsgICAgICAgIHJldHVybjsKLSsgICAgCi0rICAgIC8vIEFwcGxl dCBhbHJlYWR5IGV4dGVuZGVkCi0gICAgIGlmICggc2l6ZSgpLmhlaWdodCgpID09IG1faGVpZ2h0 Q29sbGFwc2VPZmYgKQotICAgICAgICAgcmV0dXJuOwotIAotKyAgICBkZWJ1ZygpIDw8ICJoZWln aHQ6IiA8PCBzaXplKCkuaGVpZ2h0KCkgPDwgInRhcmdldDoiIDw8IG1faGVpZ2h0Q29sbGFwc2VP ZmYgPDwgIm1fY29sbGFwc2VkOiIgPDwgbV9jb2xsYXBzZWQ7Ci0gICAgIGlmKCBtX2hlaWdodENv bGxhcHNlT2ZmID09IC0xKSAvLyBpZiBpdCdzIHNlbGYtZXhwYW5kaW5nLCBkb24ndCBhbmltYXRl IGFzIHdlIGRvbid0IGtub3cgd2hlcmUgd2UncmUgZ29pbmcuIGFsc28sIGlmIHdlJ3JlIHNocmlu a2luZwotICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzdG9wIHRoYXQgYW5kIGV4cGFuZCByZWdhcmRs ZXNzCi0tICAgICAgICAvLyBzdG9wIHRoZSBhbmltCi0tICAgICAgICBpZiggbV9hbmltYXRpb25J ZCAhPSAwICkKLSsgICAgICAgIC8vIHN0b3AgdGhlIGFuaW1hdGlvbiBvbiBub3cKLSsgICAgICAg IGlmKCBtX2FuaW1hdGlvbklkT24gIT0gMCApCi0gICAgICAgICB7Ci0tICAgICAgICAgICAgUGxh c21hOjpBbmltYXRvcjo6c2VsZigpLT5zdG9wQ3VzdG9tQW5pbWF0aW9uKCBtX2FuaW1hdGlvbklk ICk7Ci0tICAgICAgICAgICAgbV9hbmltYXRpb25JZCA9IDA7Ci0rICAgICAgICAgICAgUGxhc21h OjpBbmltYXRvcjo6c2VsZigpLT5zdG9wQ3VzdG9tQW5pbWF0aW9uKCBtX2FuaW1hdGlvbklkT24g KTsKLSsgICAgICAgICAgICBtX2FuaW1hdGlvbklkT24gPSAwOwotICAgICAgICAgfQotICAgICAg ICAgbV9oZWlnaHRDdXJyZW50ID0gIG1faGVpZ2h0Q29sbGFwc2VPZmY7Ci0gICAgICAgICBlbWl0 IHNpemVIaW50Q2hhbmdlZChRdDo6UHJlZmVycmVkU2l6ZSk7Ci1AQCAtMjY5LDE0ICsyODQsMTQg QEAgQ29udGV4dDo6QXBwbGV0OjpzZXRDb2xsYXBzZU9mZigpCi0gICAgICAgICByZXR1cm47Ci0g ICAgIH0KLSAKLS0gICAgaWYgKCBtX2FuaW1hdGlvbklkICE9IDAgKSAvLyB3YXJuaW5nIHdlIGFy ZSBtb3ZpbmcgcmlnaHQgbm93Ci0rICAgIGlmICggbV9hbmltYXRpb25JZE9uICE9IDAgKSAvLyB3 YXJuaW5nIHdlIGFyZSBjb2xsYXBzaW5nIHJpZ2h0IG5vdywgc3RvcCB0aGF0IGFuZCByZXZlcnNl IGl0ICEKLSAgICAgewotICAgICAgICAgLy8gc3RvcCB0aGUgYW5pbQotLSAgICAgICAgUGxhc21h OjpBbmltYXRvcjo6c2VsZigpLT5zdG9wQ3VzdG9tQW5pbWF0aW9uKCBtX2FuaW1hdGlvbklkICk7 Ci0tICAgICAgICBtX2FuaW1hdGlvbklkID0gMDsKLSsgICAgICAgIFBsYXNtYTo6QW5pbWF0b3I6 OnNlbGYoKS0+c3RvcEN1c3RvbUFuaW1hdGlvbiggbV9hbmltYXRpb25JZE9uICk7Ci0rICAgICAg ICBtX2FuaW1hdGlvbklkT24gPSAwOwotICAgICB9Ci0gICAgIG1fY29sbGFwc2VkID0gdHJ1ZSA7 Ci0tICAgIG1fYW5pbWF0aW9uSWQgPSBQbGFzbWE6OkFuaW1hdG9yOjpzZWxmKCktPmN1c3RvbUFu aW1hdGlvbigyMCwgMTAwMCwgUGxhc21hOjpBbmltYXRvcjo6RWFzZUluQ3VydmUsIHRoaXMsICJh bmltYXRlT2ZmIiApOwotKyAgICBtX2FuaW1hdGlvbklkT2ZmID0gUGxhc21hOjpBbmltYXRvcjo6 c2VsZigpLT5jdXN0b21BbmltYXRpb24oMjAsIDEwMDAsIFBsYXNtYTo6QW5pbWF0b3I6OkVhc2VJ bkN1cnZlLCB0aGlzLCAiYW5pbWF0ZU9mZiIgKTsKLSB9Ci0gCi0gdm9pZAotQEAgLTI4NSw2ICsz MDAsMTkgQEAgQ29udGV4dDo6QXBwbGV0OjpzZXRDb2xsYXBzZUhlaWdodCggaW50IGggKQotICAg ICBtX2hlaWdodENvbGxhcHNlT24gPSBoOwotIH0KLSAKLStib29sCi0rQ29udGV4dDo6QXBwbGV0 Ojppc0FwcGxldENvbGxhcHNlZCgpCi0rewotKyAgICByZXR1cm4gKCBtX2hlaWdodENvbGxhcHNl T24gPT0gbV9oZWlnaHRDdXJyZW50ICk7Ci0rfQotKwotK2Jvb2wKLStDb250ZXh0OjpBcHBsZXQ6 OmlzQXBwbGV0RXh0ZW5kZWQoKQotK3sKLSsgICAgcmV0dXJuICggbV9oZWlnaHRDb2xsYXBzZU9m ZiA9PSBtX2hlaWdodEN1cnJlbnQgKTsKLSt9Ci0rCi0rCi0gdm9pZAotIENvbnRleHQ6OkFwcGxl dDo6YW5pbWF0ZU9uKCBxcmVhbCBhbmltICkKLSB7Ci1AQCAtMzAyLDIyICszMzAsMjAgQEAgQ29u dGV4dDo6QXBwbGV0OjphbmltYXRlT2ZmKCBxcmVhbCBhbmltICkKLSB2b2lkCi0gQ29udGV4dDo6 QXBwbGV0OjphbmltYXRlRW5kKCBpbnQgaWQgKQotIHsKLS0gICAgaWYoIGlkID09IG1fYW5pbWF0 aW9uSWQgKQotKyAgICBpZiggaWQgPT0gbV9hbmltYXRpb25JZE9uICkKLSAgICAgewotLSAgICAg ICAgaWYoICFtX2NvbGxhcHNlZCApCi0tICAgICAgICB7Ci0tICAgICAgICAgICAgUGxhc21hOjpB cHBsZXQ6OnJlc2l6ZSggc2l6ZSgpLndpZHRoKCksIG1faGVpZ2h0Q29sbGFwc2VPbiApOwotLSAg ICAgICAgICAgIG1fY29sbGFwc2VkID0gdHJ1ZTsKLS0gICAgICAgIH0KLS0gICAgICAgIGVsc2UK LS0gICAgICAgIHsKLS0gICAgICAgICAgICBQbGFzbWE6OkFwcGxldDo6cmVzaXplKCBzaXplKCku d2lkdGgoKSwgbV9oZWlnaHRDb2xsYXBzZU9mZiApOwotLSAgICAgICAgICAgIG1fY29sbGFwc2Vk ID0gZmFsc2U7Ci0tICAgICAgICB9Ci0tICAgICAgICB1cGRhdGVHZW9tZXRyeSgpOwotLSAgICAg ICAgZW1pdCBzaXplSGludENoYW5nZWQoUXQ6OlByZWZlcnJlZFNpemUpOwotLSAgICAgICAgbV9h bmltYXRpb25JZCA9IDA7Ci0rICAgICAgICBQbGFzbWE6OkFwcGxldDo6cmVzaXplKCBzaXplKCku d2lkdGgoKSwgbV9oZWlnaHRDb2xsYXBzZU9uICk7Ci0rICAgICAgICBtX2NvbGxhcHNlZCA9IHRy dWU7Ci0rICAgICAgICBtX2FuaW1hdGlvbklkT24gPSAwOwotKyAgICB9Ci0rICAgIGlmICggaWQg PT0gbV9hbmltYXRpb25JZE9mZiApCi0rICAgIHsKLSsgICAgICAgIFBsYXNtYTo6QXBwbGV0Ojpy ZXNpemUoIHNpemUoKS53aWR0aCgpLCBtX2hlaWdodENvbGxhcHNlT2ZmICk7Ci0rICAgICAgICBt X2NvbGxhcHNlZCA9IGZhbHNlOwotKyAgICAgICAgbV9hbmltYXRpb25JZE9mZiA9IDA7Ci0gICAg IH0KLSsgICAgdXBkYXRlR2VvbWV0cnkoKTsKLSsgICAgZW1pdCBzaXplSGludENoYW5nZWQoUXQ6 OlByZWZlcnJlZFNpemUpOwotIH0KLSAKLSAKLWRpZmYgLS1naXQgYS9zcmMvY29udGV4dC9BcHBs ZXQuaCBiL3NyYy9jb250ZXh0L0FwcGxldC5oCi1pbmRleCA3ODExNjI0Li45Zjg2MTU4IDEwMDY0 NAotLS0tIGEvc3JjL2NvbnRleHQvQXBwbGV0LmgKLSsrKyBiL3NyYy9jb250ZXh0L0FwcGxldC5o Ci1AQCAtNjIsNiArNjIsOSBAQCBjbGFzcyBBTUFST0tfRVhQT1JUIEFwcGxldCA6IHB1YmxpYyBQ bGFzbWE6OkFwcGxldAotICAgICAgICAgdm9pZCBzZXRDb2xsYXBzZU9mZigpOwotICAgICAgICAg dm9pZCBzZXRDb2xsYXBzZUhlaWdodCggaW50ICk7Ci0gCi0rICAgICAgICBib29sIGlzQXBwbGV0 Q29sbGFwc2VkKCk7Ci0rICAgICAgICBib29sIGlzQXBwbGV0RXh0ZW5kZWQoKTsKLSsKLSAgICAg ICAgIC8qKgotICAgICAgICAgICAqIHNpemVIaW50IGlzIHJlaW1wbGVtZW50ZWQgaGVyZSBvbmx5 IGZvciBhbGwgdGhlIGFwcGxldC4KLSAgICAgICAgICAgKi8KLUBAIC04Niw3ICs4OSw4IEBAIGNs YXNzIEFNQVJPS19FWFBPUlQgQXBwbGV0IDogcHVibGljIFBsYXNtYTo6QXBwbGV0Ci0gICAgICAg ICBpbnQgIG1faGVpZ2h0Q3VycmVudDsKLSAgICAgICAgIGludCAgbV9oZWlnaHRDb2xsYXBzZU9u OwotICAgICAgICAgaW50ICBtX2hlaWdodENvbGxhcHNlT2ZmOwotLSAgICAgICAgaW50ICBtX2Fu aW1hdGlvbklkOwotKyAgICAgICAgaW50ICBtX2FuaW1hdGlvbklkT247Ci0rICAgICAgICBpbnQg IG1fYW5pbWF0aW9uSWRPZmY7Ci0gICAgICAgICBpbnQgIG1fYW5pbUZyb21IZWlnaHQ7Ci0gCi0g ICAgIHByaXZhdGU6Ci1kaWZmIC0tZ2l0IGEvc3JjL2NvbnRleHQvYXBwbGV0cy9pbmZvL2FtYXJv ay1jb250ZXh0LWFwcGxldC1pbmZvLmRlc2t0b3AgYi9zcmMvY29udGV4dC9hcHBsZXRzL2luZm8v YW1hcm9rLWNvbnRleHQtYXBwbGV0LWluZm8uZGVza3RvcAotaW5kZXggN2M2MTgxNS4uODFmMmUx ZCAxMDA2NDQKLS0tLSBhL3NyYy9jb250ZXh0L2FwcGxldHMvaW5mby9hbWFyb2stY29udGV4dC1h cHBsZXQtaW5mby5kZXNrdG9wCi0rKysgYi9zcmMvY29udGV4dC9hcHBsZXRzL2luZm8vYW1hcm9r LWNvbnRleHQtYXBwbGV0LWluZm8uZGVza3RvcAotQEAgLTE2LDYgKzE2LDcgQEAgTmFtZVtubl09 SW5mbwotIE5hbWVbcGxdPUluZm9ybWFjamEKLSBOYW1lW3B0XT1JbmZvcm1hw6fDo28KLSBOYW1l W3B0X0JSXT1JbmZvcm1hw6fDo28KLStOYW1lW3J1XT3QodCy0LXQtNC10L3QuNGPCi0gTmFtZVtz cl090J/QvtC00LDRhtC4Ci0gTmFtZVtzckBsYXRpbl09UG9kYWNpCi0gTmFtZVtzdl09SW5mb3Jt YXRpb24KLWRpZmYgLS1naXQgYS9zcmMvY29udGV4dC9hcHBsZXRzL3Bob3Rvcy9QaG90b3NBcHBs ZXQuY3BwIGIvc3JjL2NvbnRleHQvYXBwbGV0cy9waG90b3MvUGhvdG9zQXBwbGV0LmNwcAotaW5k ZXggNGNjNDcxNC4uODg0YTdmMyAxMDA2NDQKLS0tLSBhL3NyYy9jb250ZXh0L2FwcGxldHMvcGhv dG9zL1Bob3Rvc0FwcGxldC5jcHAKLSsrKyBiL3NyYy9jb250ZXh0L2FwcGxldHMvcGhvdG9zL1Bo b3Rvc0FwcGxldC5jcHAKLUBAIC0xMTYsNyArMTE2LDcgQEAgUGhvdG9zQXBwbGV0Ojp+UGhvdG9z QXBwbGV0KCkKLSB2b2lkCi0gUGhvdG9zQXBwbGV0OjplbmdpbmVOZXdUcmFja1BsYXlpbmcoICkK LSB7Ci0tIC8vICAgREVCVUdfQkxPQ0sKLSsgICAgREVCVUdfQkxPQ0sKLSAgICAgbV9zdG9wcGVk c3RhdGUgPSBmYWxzZTsKLSAgICAgZGF0YUVuZ2luZSggImFtYXJvay1waG90b3MiICktPnF1ZXJ5 KCBRU3RyaW5nKCAicGhvdG9zIiApICk7Ci0gfQotQEAgLTEyNCwxMyArMTI0LDE0IEBAIFBob3Rv c0FwcGxldDo6ZW5naW5lTmV3VHJhY2tQbGF5aW5nKCApCi0gdm9pZAotIFBob3Rvc0FwcGxldDo6 ZW5naW5lUGxheWJhY2tFbmRlZCggaW50LCBpbnQsIFBsYXliYWNrRW5kZWRSZWFzb24gKQotIHsK LS0vLyAgICBERUJVR19CTE9DSwotKyAgICBERUJVR19CTE9DSwotICAgICBtX3N0b3BwZWRzdGF0 ZSA9IHRydWU7OwotICAgICBtX2hlYWRlclRleHQtPnNldFRleHQoIGkxOG4oICJQaG90b3MiICkg KyBRU3RyaW5nKCAiIDogIiApICsgaTE4biggIk5vIHRyYWNrIHBsYXlpbmciICkgKTsKLSAgICAg bV93aWRnZXQtPmNsZWFyKCk7Ci0gICAgIG1fd2lkZ2V0LT5oaWRlKCk7Ci0gICAgIHNldEJ1c3ko IGZhbHNlICk7Ci0gICAgIHNldENvbGxhcHNlT24oKTsKLSsgICAgZGF0YUVuZ2luZSggImFtYXJv ay1waG90b3MiICktPnF1ZXJ5KCBRU3RyaW5nKCAicGhvdG9zOnN0b3BwZWQiICkgKTsKLSB9Ci0g Ci0gdm9pZCAKLUBAIC0yMTUsMTQgKzIxNiwyMiBAQCBQaG90b3NBcHBsZXQ6OmRhdGFVcGRhdGVk KCBjb25zdCBRU3RyaW5nJiBuYW1lLCBjb25zdCBQbGFzbWE6OkRhdGFFbmdpbmU6OkRhdGEmCi0g ICAgIH0KLSAgICAgZWxzZSBpZiAoIGRhdGEuY29udGFpbnMoICJkYXRhIiApICkKLSAgICAgewot LSAgICAgICAgbV9oZWFkZXJUZXh0LT5zZXRUZXh0KCBpMThuKCAiUGhvdG9zIiApICsgUVN0cmlu ZyggIiA6ICIgKSArIGRhdGFbICJhcnRpc3QiIF0udG9TdHJpbmcoKSApOwotLSAgICAgICAgdXBk YXRlQ29uc3RyYWludHMoKTsKLS0gICAgICAgIHVwZGF0ZSgpOwotLSAgICAgICAgc2V0Q29sbGFw c2VPZmYoKTsKLS0gICAgICAgIC8vIFNlbmQgdGhlIGRhdGEgdG8gdGhlIHNjcm9sbGluZyB3aWRn ZXQKLS0gICAgICAgIG1fd2lkZ2V0LT5zZXRQaXhtYXBMaXN0KCBkYXRhWyAiZGF0YSIgXS52YWx1 ZTwgUUxpc3QgPCBQaG90b3NJbmZvICogPiA+KCkgKTsKLS0gICAgICAgIG1fd2lkZ2V0LT5zaG93 KCk7Ci0tICAgICAgICBzZXRCdXN5KGZhbHNlKTsKLSsgICAgICAgIC8vIERvIG5vdCBzaG93IHNv bWUgcGljdHVyZSBpZiB3ZSdyZSBzdGlsbCBhbmltYXRpbmcgYXMgaXQgY2FuIGxlYWQgdG8gdHJv dWJsZQotKyAgICAgICAgLy8gbGV0J3MgaG9wZSBhbmltYXRpbmcgdGltZSB3aWxsIGJlIHNob3J0 ZXIgdGhhbiBmZXRjaGluZyB0aW1lIG9mIGFsbCB0aGUgcGljdHVyZSA6LwotKyAgICAgICAgLy8g dGhpcyBhbHNvIHByZXZlbnQgdGhlIHN0dXBpZCBlZmZlY3Qgb2YgcmVhbmltYXRpbmcgc2V2ZXJh bCB0aW1lLgotKyAgICAgICAgaWYgKCBpc0FwcGxldEV4dGVuZGVkKCkgKQotKyAgICAgICAgewot KyAgICAgICAgICAgIG1faGVhZGVyVGV4dC0+c2V0VGV4dCggaTE4biggIlBob3RvcyIgKSArIFFT dHJpbmcoICIgOiAiICkgKyBkYXRhWyAiYXJ0aXN0IiBdLnRvU3RyaW5nKCkgKTsKLSsgICAgICAg ICAgICB1cGRhdGVDb25zdHJhaW50cygpOwotKyAgICAgICAgICAgIHVwZGF0ZSgpOwotKyAgICAg ICAgICAgIHNldENvbGxhcHNlT2ZmKCk7Ci0rICAgICAgICAgICAgLy8gU2VuZCB0aGUgZGF0YSB0 byB0aGUgc2Nyb2xsaW5nIHdpZGdldAotKyAgICAgICAgICAgIG1fd2lkZ2V0LT5zZXRQaXhtYXBM aXN0KCBkYXRhWyAiZGF0YSIgXS52YWx1ZTwgUUxpc3QgPCBQaG90b3NJbmZvICogPiA+KCkgKTsK LSsgICAgICAgICAgICBtX3dpZGdldC0+c2hvdygpOwotKyAgICAgICAgICAgIHNldEJ1c3koZmFs c2UpOwotKyAgICAgICAgfQotKyAgICAgICAgZWxzZQotKyAgICAgICAgICAgIHJldHVybjsKLSAg ICAgfQotICAgICB1cGRhdGVDb25zdHJhaW50cygpOwotICAgICB1cGRhdGUoKTsKLWRpZmYgLS1n aXQgYS9zcmMvY29udGV4dC9hcHBsZXRzL3Bob3Rvcy9QaG90b3NTY3JvbGxXaWRnZXQuY3BwIGIv c3JjL2NvbnRleHQvYXBwbGV0cy9waG90b3MvUGhvdG9zU2Nyb2xsV2lkZ2V0LmNwcAotaW5kZXgg NzFkM2QyOC4uMzFjNzFhZCAxMDA2NDQKLS0tLSBhL3NyYy9jb250ZXh0L2FwcGxldHMvcGhvdG9z L1Bob3Rvc1Njcm9sbFdpZGdldC5jcHAKLSsrKyBiL3NyYy9jb250ZXh0L2FwcGxldHMvcGhvdG9z L1Bob3Rvc1Njcm9sbFdpZGdldC5jcHAKLUBAIC0xMTIsOTAgKzExMiw5NCBAQCB2b2lkIFBob3Rv c1Njcm9sbFdpZGdldDo6c2V0UGl4bWFwTGlzdCAoUUxpc3QgPCBQaG90b3NJbmZvICogPiBsaXN0 KQotICAgICBpZiAoIGxpc3QgPT0gbV9jdXJyZW50bGlzdCApCi0gICAgICAgICByZXR1cm47Ci0g Ci0tICAgIGRlYnVnKCkgPDwgImFkZGluZyAiIDw8IGxpc3QuY291bnQoKSA8PCAibmV3IHBpY3Mi OwotKyAgLy8gIGRlYnVnKCkgPDwgImFkZGluZyAiIDw8IGxpc3QuY291bnQoKSA8PCAibmV3IHBp Y3MiOwotICAgICAvLyBJZiBhIG5ldyBvbmUgYXJyaXZlZCwgd2UgY2hhbmdlLgotICAgICBmb3Jl YWNoKCBQaG90b3NJbmZvICppdGVtLCBsaXN0ICkKLSAgICAgewotICAgICAgICAgaWYgKCAhbV9j dXJyZW50bGlzdC5jb250YWlucyggaXRlbSApICkKLSAgICAgICAgIHsKLS0gICAgICAgICAgICBz d2l0Y2ggKCBtX21vZGUgKQotKyAgICAgICAgICAgIGlmICggIWl0ZW0tPnBob3RvLT5pc051bGwo KSApCi0gICAgICAgICAgICAgewotLSAgICAgICAgICAgICAgICBjYXNlIFBIT1RPU19NT0RFX0lO VEVSQUNUSVZFIDoKLSsgICAgICAgICAgICAgICAgc3dpdGNoICggbV9tb2RlICkKLSAgICAgICAg ICAgICAgICAgewotLQotLSAgICAgICAgICAgICAgICAgICAgaWYgKCAhbV9pZCApIC8vIGNhcmVm dWwgd2UncmUgYW5pbWF0aW5nCi0rICAgICAgICAgICAgICAgICAgICBjYXNlIFBIT1RPU19NT0RF X0lOVEVSQUNUSVZFIDoKLSAgICAgICAgICAgICAgICAgICAgIHsKLS0gICAgICAgICAgICAgICAg ICAgICAgICBQbGFzbWE6OkFuaW1hdG9yOjpzZWxmKCktPnN0b3BDdXN0b21BbmltYXRpb24oIG1f aWQgKTsKLS0gICAgICAgICAgICAgICAgICAgICAgICBtX2lkID0gMDsKLS0gICAgICAgICAgICAg ICAgICAgIH0KLS0gICAgICAgICAgICAgICAgICAgIERyYWdQaXhtYXBJdGVtICpkcmFncGl4ID0g bmV3IERyYWdQaXhtYXBJdGVtKCB0aGlzICk7Ci0tICAgICAgICAgICAgICAgICAgICBkcmFncGl4 LT5zZXRQaXhtYXAoIFRoZTo6c3ZnSGFuZGxlcigpLT5hZGRCb3JkZXJzVG9QaXhtYXAoCi0tICAg ICAgICAgICAgICAgICAgICBpdGVtLT5waG90by0+c2NhbGVkVG9IZWlnaHQoIChpbnQpIHNpemUo KS5oZWlnaHQoKSAtIDQgKiBtX21hcmdpbiwgIFF0OjpTbW9vdGhUcmFuc2Zvcm1hdGlvbiApLCA1 LCAiIiwgdHJ1ZSApICk7Ci0tICAgICAgICAgICAgICAgICAgICBkcmFncGl4LT5zZXRQb3MoIG1f YWN0dWFscG9zLCAwICk7Ci0tICAgICAgICAgICAgICAgICAgICBkcmFncGl4LT5TZXRDbGlja2Fi bGVVcmwoIGl0ZW0tPnVybHBhZ2UgKTsKLS0gICAgICAgICAgICAgICAgICAgIGRyYWdwaXgtPnNo b3coKTsKLSAKLS0gICAgICAgICAgICAgICAgICAgIG1fcGl4bWFwbGlzdCA8PCBkcmFncGl4Owot KyAgICAgICAgICAgICAgICAgICAgICAgIGlmICggIW1faWQgKSAvLyBjYXJlZnVsIHdlJ3JlIGFu aW1hdGluZwotKyAgICAgICAgICAgICAgICAgICAgICAgIHsKLSsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUGxhc21hOjpBbmltYXRvcjo6c2VsZigpLT5zdG9wQ3VzdG9tQW5pbWF0aW9uKCBt X2lkICk7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1faWQgPSAwOwotKyAgICAgICAg ICAgICAgICAgICAgICAgIH0KLSAKLS0gICAgICAgICAgICAgICAgICAgIGludCBkZWx0YSA9IGRy YWdwaXgtPmJvdW5kaW5nUmVjdCgpLndpZHRoKCkgKyBtX21hcmdpbjsKLS0gICAgICAgICAgICAg ICAgICAgIG1fc2Nyb2xsbWF4ICs9IGRlbHRhOwotLSAgICAgICAgICAgICAgICAgICAgbV9hY3R1 YWxwb3MgKz0gZGVsdGE7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgRHJhZ1BpeG1hcEl0ZW0g KmRyYWdwaXggPSBuZXcgRHJhZ1BpeG1hcEl0ZW0oIHRoaXMgKTsKLSsgICAgICAgICAgICAgICAg ICAgICAgICBkcmFncGl4LT5zZXRQaXhtYXAoIFRoZTo6c3ZnSGFuZGxlcigpLT5hZGRCb3JkZXJz VG9QaXhtYXAoCi0rICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS0+cGhvdG8tPnNjYWxlZFRv SGVpZ2h0KCAoaW50KSBzaXplKCkuaGVpZ2h0KCkgLSA0ICogbV9tYXJnaW4sICBRdDo6U21vb3Ro VHJhbnNmb3JtYXRpb24gKSwgNSwgIiIsIHRydWUgKSApOwotKyAgICAgICAgICAgICAgICAgICAg ICAgIGRyYWdwaXgtPnNldFBvcyggbV9hY3R1YWxwb3MsIDAgKTsKLSsgICAgICAgICAgICAgICAg ICAgICAgICBkcmFncGl4LT5TZXRDbGlja2FibGVVcmwoIGl0ZW0tPnVybHBhZ2UgKTsKLSsgICAg ICAgICAgICAgICAgICAgICAgICBkcmFncGl4LT5zaG93KCk7Ci0gCi0tICAgICAgICAgICAgICAg ICAgICBicmVhazsKLS0gICAgICAgICAgICAgICAgfQotLSAgICAgICAgICAgICAgICBjYXNlIFBI T1RPU19NT0RFX0FVVE9NQVRJQyA6Ci0tICAgICAgICAgICAgICAgIHsKLSsgICAgICAgICAgICAg ICAgICAgICAgICBtX3BpeG1hcGxpc3QgPDwgZHJhZ3BpeDsKLSAKLS0gICAgICAgICAgICAgICAg ICAgIERyYWdQaXhtYXBJdGVtICpkcmFncGl4ID0gbmV3IERyYWdQaXhtYXBJdGVtKCB0aGlzICk7 Ci0tICAgICAgICAgICAgICAgICAgICBkcmFncGl4LT5zZXRQaXhtYXAoIFRoZTo6c3ZnSGFuZGxl cigpLT5hZGRCb3JkZXJzVG9QaXhtYXAoCi0tICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS0+ cGhvdG8tPnNjYWxlZFRvSGVpZ2h0KCAoaW50KSBzaXplKCkuaGVpZ2h0KCkgLSA0ICogbV9tYXJn aW4sICBRdDo6U21vb3RoVHJhbnNmb3JtYXRpb24gKSwgNSwgIiIsIHRydWUgKSApOwotLSAgICAg ICAgICAgICAgICAgICAgZHJhZ3BpeC0+U2V0Q2xpY2thYmxlVXJsKCBpdGVtLT51cmxwYWdlICk7 Ci0rICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRlbHRhID0gZHJhZ3BpeC0+Ym91bmRpbmdS ZWN0KCkud2lkdGgoKSArIG1fbWFyZ2luOwotKyAgICAgICAgICAgICAgICAgICAgICAgIG1fc2Ny b2xsbWF4ICs9IGRlbHRhOwotKyAgICAgICAgICAgICAgICAgICAgICAgIG1fYWN0dWFscG9zICs9 IGRlbHRhOwotIAotLSAgICAgICAgICAgICAgICAgICAgaWYgKCBtX2lkID09IDAgKSAvLyBvbmx5 IHBvcyBhbmQgc2hvdyBpZiBubyBhbmltYXRpb24sIG90aGVyd2lzZSBpdCB3aWxsIGJlIHNldCBh dCB0aGUgZW5kIGF1dG9tYXRpY2FsbHkKLSsgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsK LSsgICAgICAgICAgICAgICAgICAgIH0KLSsgICAgICAgICAgICAgICAgICAgIGNhc2UgUEhPVE9T X01PREVfQVVUT01BVElDIDoKLSAgICAgICAgICAgICAgICAgICAgIHsKLS0gICAgICAgICAgICAg ICAgICAgICAgICBpZiAoICEgbV9waXhtYXBsaXN0LmVtcHR5KCkgKQotLSAgICAgICAgICAgICAg ICAgICAgICAgIHsKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJhZ3BpeC0+c2V0UG9z KCBtX3BpeG1hcGxpc3QubGFzdCgpLT5ib3VuZGluZ1JlY3QoKS53aWR0aCgpICsgbV9waXhtYXBs aXN0Lmxhc3QoKS0+cG9zKCkueCgpICsgbV9tYXJnaW4gLCAwICkgOwotLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICBkcmFncGl4LT5zaG93KCk7Ci0tICAgICAgICAgICAgICAgICAgICAgICAg fQotLSAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKLSsKLSsgICAgICAgICAgICAgICAgICAg ICAgICBEcmFnUGl4bWFwSXRlbSAqZHJhZ3BpeCA9IG5ldyBEcmFnUGl4bWFwSXRlbSggdGhpcyAp OwotKyAgICAgICAgICAgICAgICAgICAgICAgIGRyYWdwaXgtPnNldFBpeG1hcCggVGhlOjpzdmdI YW5kbGVyKCktPmFkZEJvcmRlcnNUb1BpeG1hcCgKLSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaXRlbS0+cGhvdG8tPnNjYWxlZFRvSGVpZ2h0KCAoaW50KSBzaXplKCkuaGVpZ2h0KCkgLSA0 ICogbV9tYXJnaW4sICBRdDo6U21vb3RoVHJhbnNmb3JtYXRpb24gKSwgNSwgIiIsIHRydWUgKSAp OwotKyAgICAgICAgICAgICAgICAgICAgICAgIGRyYWdwaXgtPlNldENsaWNrYWJsZVVybCggaXRl bS0+dXJscGFnZSApOwotKwotKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICggbV9pZCA9PSAw ICkgLy8gb25seSBwb3MgYW5kIHNob3cgaWYgbm8gYW5pbWF0aW9uLCBvdGhlcndpc2UgaXQgd2ls bCBiZSBzZXQgYXQgdGhlIGVuZCBhdXRvbWF0aWNhbGx5Ci0gICAgICAgICAgICAgICAgICAgICAg ICAgewotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2FjdHVhbHBvcyA9IDA7Ci0tICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGRyYWdwaXgtPnNldFBvcyggbV9hY3R1YWxwb3MsIDAg KSA7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyYWdwaXgtPnNob3coKTsKLSsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCAhIG1fcGl4bWFwbGlzdC5lbXB0eSgpICkKLSsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgewotKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZHJhZ3BpeC0+c2V0UG9zKCBtX3BpeG1hcGxpc3QubGFzdCgpLT5ib3VuZGluZ1JlY3Qo KS53aWR0aCgpICsgbV9waXhtYXBsaXN0Lmxhc3QoKS0+cG9zKCkueCgpICsgbV9tYXJnaW4gLCAw ICkgOwotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJhZ3BpeC0+c2hvdygpOwot KyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0rICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGVsc2UKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgewotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbV9hY3R1YWxwb3MgPSAwOwotKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZHJhZ3BpeC0+c2V0UG9zKCBtX2FjdHVhbHBvcywgMCApIDsKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGRyYWdwaXgtPnNob3coKTsKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgIH0KLS0gICAgICAgICAg ICAgICAgICAgIH0KLSAKLS0gICAgICAgICAgICAgICAgICAgIG1fcGl4bWFwbGlzdCA8PCBkcmFn cGl4OwotKyAgICAgICAgICAgICAgICAgICAgICAgIG1fcGl4bWFwbGlzdCA8PCBkcmFncGl4Owot IAotLSAgICAgICAgICAgICAgICAgICAgLy8gc2V0IGEgdGltZXIgYWZ0ZXIgYW5kIGxhdW5jaAot LSAgICAgICAgICAgICAgICAgICAgUVRpbWVyOjpzaW5nbGVTaG90KCBtX2ludGVydmFsLCB0aGlz LCBTTE9UKCBhdXRvbWF0aWNBbmltQmVnaW4oKSApICk7Ci0rICAgICAgICAgICAgICAgICAgICAg ICAgLy8gc2V0IGEgdGltZXIgYWZ0ZXIgYW5kIGxhdW5jaAotKyAgICAgICAgICAgICAgICAgICAg ICAgIFFUaW1lcjo6c2luZ2xlU2hvdCggbV9pbnRlcnZhbCwgdGhpcywgU0xPVCggYXV0b21hdGlj QW5pbUJlZ2luKCkgKSApOwotIAotLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0tICAgICAg ICAgICAgICAgIH0KLS0gICAgICAgICAgICAgICAgY2FzZSBQSE9UT1NfTU9ERV9GQURJTkcgOgot LSAgICAgICAgICAgICAgICB7Ci0tCi0tICAgICAgICAgICAgICAgICAgICBEcmFnUGl4bWFwSXRl bSAqZHJhZ3BpeCA9IG5ldyBEcmFnUGl4bWFwSXRlbSggdGhpcyApOwotLSAgICAgICAgICAgICAg ICAgICAgZHJhZ3BpeC0+c2V0UGl4bWFwKCBUaGU6OnN2Z0hhbmRsZXIoKS0+YWRkQm9yZGVyc1Rv UGl4bWFwKAotLSAgICAgICAgICAgICAgICAgICAgaXRlbS0+cGhvdG8tPnNjYWxlZFRvSGVpZ2h0 KCAoaW50KSBzaXplKCkuaGVpZ2h0KCkgLSA0ICogbV9tYXJnaW4sICBRdDo6U21vb3RoVHJhbnNm b3JtYXRpb24gKSwgNSwgIiIsIHRydWUgKSApOwotLSAgICAgICAgICAgICAgICAgICAgZHJhZ3Bp eC0+c2V0UG9zKCAoIHNpemUoKS53aWR0aCgpIC0gZHJhZ3BpeC0+Ym91bmRpbmdSZWN0KCkud2lk dGgoKSApIC8gMiwgMCApOwotLSAgICAgICAgICAgICAgICAgICAgZHJhZ3BpeC0+U2V0Q2xpY2th YmxlVXJsKCBpdGVtLT51cmxwYWdlICk7Ci0tICAgICAgICAgICAgICAgICAgICBkcmFncGl4LT5o aWRlKCk7Ci0tICAgICAgICAgICAgICAgICAgICBtX3BpeG1hcGxpc3QgPDwgZHJhZ3BpeDsKLS0g ICAgICAgICAgICAgICAgICAgIGlmICggbV9waXhtYXBsaXN0LnNpemUoKSA9PSAxICkKLS0gICAg ICAgICAgICAgICAgICAgIHsKLS0gICAgICAgICAgICAgICAgICAgICAgICBkcmFncGl4LT5zaG93 KCk7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgbV90aW1lci0+c3RhcnQoIG1faW50ZXJ2YWwg KTsKLSsgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAg IH0KLSsgICAgICAgICAgICAgICAgICAgIGNhc2UgUEhPVE9TX01PREVfRkFESU5HIDoKLSsgICAg ICAgICAgICAgICAgICAgIHsKLSAKLS0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotKyAgICAg ICAgICAgICAgICAgICAgICAgIERyYWdQaXhtYXBJdGVtICpkcmFncGl4ID0gbmV3IERyYWdQaXht YXBJdGVtKCB0aGlzICk7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgZHJhZ3BpeC0+c2V0UGl4 bWFwKCBUaGU6OnN2Z0hhbmRsZXIoKS0+YWRkQm9yZGVyc1RvUGl4bWFwKAotKyAgICAgICAgICAg ICAgICAgICAgICAgIGl0ZW0tPnBob3RvLT5zY2FsZWRUb0hlaWdodCggKGludCkgc2l6ZSgpLmhl aWdodCgpIC0gNCAqIG1fbWFyZ2luLCAgUXQ6OlNtb290aFRyYW5zZm9ybWF0aW9uICksIDUsICIi LCB0cnVlICkgKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICBkcmFncGl4LT5zZXRQb3MoICgg c2l6ZSgpLndpZHRoKCkgLSBkcmFncGl4LT5ib3VuZGluZ1JlY3QoKS53aWR0aCgpICkgLyAyLCAw ICk7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgZHJhZ3BpeC0+U2V0Q2xpY2thYmxlVXJsKCBp dGVtLT51cmxwYWdlICk7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgZHJhZ3BpeC0+aGlkZSgp OwotKyAgICAgICAgICAgICAgICAgICAgICAgIG1fcGl4bWFwbGlzdCA8PCBkcmFncGl4OwotKyAg ICAgICAgICAgICAgICAgICAgICAgIGlmICggbV9waXhtYXBsaXN0LnNpemUoKSA9PSAxICkKLSsg ICAgICAgICAgICAgICAgICAgICAgICB7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRy YWdwaXgtPnNob3coKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV90aW1lci0+c3Rh cnQoIG1faW50ZXJ2YWwgKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICB9Ci0rCi0rICAgICAg ICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0rICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAg ICAgICAgICAgIH0KLSAgICAgICAgICAgICB9Ci0gICAgICAgICB9Ci0gICAgIH0KLSAgICAgbV9j dXJyZW50bGlzdCA9IGxpc3Q7Ci0tICAgIGRlYnVnKCkgPDwgInRvdGFsIGNvdW50OiAiIDw8IG1f cGl4bWFwbGlzdC5jb3VudCgpOwotKyAgLy8gIGRlYnVnKCkgPDwgInRvdGFsIGNvdW50OiAiIDw8 IG1fcGl4bWFwbGlzdC5jb3VudCgpOwotIH0KLSAKLSB2b2lkIFBob3Rvc1Njcm9sbFdpZGdldDo6 aG92ZXJFbnRlckV2ZW50KFFHcmFwaGljc1NjZW5lSG92ZXJFdmVudCopCi1AQCAtMjY2LDEwICsy NzAsMTMgQEAgdm9pZCBQaG90b3NTY3JvbGxXaWRnZXQ6OnJlc2l6ZShxcmVhbCB3aWQsIHFyZWFs IGhlaSkKLSAgICAgICAgIHsKLSAgICAgICAgICAgICBmb3JlYWNoIChEcmFnUGl4bWFwSXRlbSAq aXRlbSwgbV9waXhtYXBsaXN0KQotICAgICAgICAgICAgIHsKLS0gICAgICAgICAgICAgICAgaWYg KCBzaXplKCkuaGVpZ2h0KCkgIT0gaGVpICkKLS0gICAgICAgICAgICAgICAgICAgIGl0ZW0tPnNl dFBpeG1hcCggaXRlbS0+cGl4bWFwKCkuc2NhbGVkVG9IZWlnaHQoIChpbnQpIGhlaSAtIDQgKiBt X21hcmdpbiwgIFF0OjpTbW9vdGhUcmFuc2Zvcm1hdGlvbiApICk7Ci0tICAgICAgICAgICAgICAg IGlmICggc2l6ZSgpLndpZHRoKCkgIT0gd2lkICkKLS0gICAgICAgICAgICAgICAgICAgIGl0ZW0t PnNldFBvcyggKCB3aWQgLSBpdGVtLT5ib3VuZGluZ1JlY3QoKS53aWR0aCgpICkgLyAyLCAwICk7 Ci0rICAgICAgICAgICAgICAgIGlmICggIWl0ZW0tPnBpeG1hcCgpLmlzTnVsbCgpICkKLSsgICAg ICAgICAgICAgICAgewotKyAgICAgICAgICAgICAgICAgICAgaWYgKCBzaXplKCkuaGVpZ2h0KCkg IT0gaGVpICkKLSsgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLT5zZXRQaXhtYXAoIGl0ZW0t PnBpeG1hcCgpLnNjYWxlZFRvSGVpZ2h0KCAoaW50KSBoZWkgLSA0ICogbV9tYXJnaW4sICBRdDo6 U21vb3RoVHJhbnNmb3JtYXRpb24gKSApOwotKyAgICAgICAgICAgICAgICAgICAgaWYgKCBzaXpl KCkud2lkdGgoKSAhPSB3aWQgKQotKyAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0tPnNldFBv cyggKCB3aWQgLSBpdGVtLT5ib3VuZGluZ1JlY3QoKS53aWR0aCgpICkgLyAyLCAwICk7Ci0rICAg ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgYnJlYWs7Ci0gICAg ICAgICB9Ci1kaWZmIC0tZ2l0IGEvc3JjL2NvbnRleHQvYXBwbGV0cy9waG90b3MvYW1hcm9rLWNv bnRleHQtYXBwbGV0LXBob3Rvcy5kZXNrdG9wIGIvc3JjL2NvbnRleHQvYXBwbGV0cy9waG90b3Mv YW1hcm9rLWNvbnRleHQtYXBwbGV0LXBob3Rvcy5kZXNrdG9wCi1pbmRleCAyZmVkMzM3Li44NjY2 MmU4IDEwMDY0NAotLS0tIGEvc3JjL2NvbnRleHQvYXBwbGV0cy9waG90b3MvYW1hcm9rLWNvbnRl eHQtYXBwbGV0LXBob3Rvcy5kZXNrdG9wCi0rKysgYi9zcmMvY29udGV4dC9hcHBsZXRzL3Bob3Rv cy9hbWFyb2stY29udGV4dC1hcHBsZXQtcGhvdG9zLmRlc2t0b3AKLUBAIC0xNyw2ICsxNyw3IEBA IE5hbWVbbm5dPUJpbGV0ZQotIE5hbWVbcGxdPVpkasSZY2lhCi0gTmFtZVtwdF09Rm90b2dyYWZp YXMKLSBOYW1lW3B0X0JSXT1Gb3RvcwotK05hbWVbcnVdPdCk0L7RgtC+0LPRgNCw0YTQuNC4Ci0g TmFtZVtzcl090KTQvtGC0L7Qs9GA0LDRhNC40ZjQtQotIE5hbWVbc3JAbGF0aW5dPUZvdG9ncmFm aWplCi0gTmFtZVtzdl09Rm90b24KLWRpZmYgLS1naXQgYS9zcmMvY29udGV4dC9lbmdpbmVzL2N1 cnJlbnQvYW1hcm9rLWRhdGEtZW5naW5lLWN1cnJlbnQuZGVza3RvcCBiL3NyYy9jb250ZXh0L2Vu Z2luZXMvY3VycmVudC9hbWFyb2stZGF0YS1lbmdpbmUtY3VycmVudC5kZXNrdG9wCi1pbmRleCA2 NjMxNTNmLi40NTM1NGI5IDEwMDY0NAotLS0tIGEvc3JjL2NvbnRleHQvZW5naW5lcy9jdXJyZW50 L2FtYXJvay1kYXRhLWVuZ2luZS1jdXJyZW50LmRlc2t0b3AKLSsrKyBiL3NyYy9jb250ZXh0L2Vu Z2luZXMvY3VycmVudC9hbWFyb2stZGF0YS1lbmdpbmUtY3VycmVudC5kZXNrdG9wCi1AQCAtMzMs NyArMzMsNyBAQCBOYW1lW3BsXT1Nb2R1xYIgZGFueWNoIGJpZcW8xIVjeWNoIGluZm9ybWFjamkK LSBOYW1lW3B0XT1Nb3RvciBkZSBEYWRvcyBkYSBJbmZvcm1hw6fDo28gQWN0dWFsCi0gTmFtZVtw dF9CUl09TWVjYW5pc21vIGRlIERhZG9zIGRhcyBJbmZvcm1hw6fDtWVzIEF0dWFpcwotIE5hbWVb cm9dPU1vdG9yIGRlIGRhdGUgSW5mb3JtYcibaWUgY3VyZW50xIMKLS1OYW1lW3J1XT3QlNCy0LjQ ttC+0Log0LTQsNC90L3Ri9GFINC00LvRjyDRgtC10LrRg9GJ0LjRhSDRgdCy0LXQtNC10L3QuNC5 Ci0rTmFtZVtydV090JjRgdGC0L7Rh9C90LjQuiDQtNCw0L3QvdGL0YUg0LTQu9GPINGC0LXQutGD 0YnQuNGFINGB0LLQtdC00LXQvdC40LkKLSBOYW1lW3NsXT1Qb2RhdGtvdm5pIHBvZ29uIHphIHBv ZGF0a2UgdHJlbnV0bmkgc2tsYWRiaQotIE5hbWVbc3JdPdCU0LDRgtC+0LzQvtGC0L7RgCDRgtC1 0LrRg9Gb0LjRhSDQv9C+0LTQsNGC0LDQutCwCi0gTmFtZVtzckBsYXRpbl09RGF0b21vdG9yIHRl a3XEh2loIHBvZGF0YWthCi1kaWZmIC0tZ2l0IGEvc3JjL2NvbnRleHQvZW5naW5lcy9pbmZvL2Ft YXJvay1kYXRhLWVuZ2luZS1pbmZvLmRlc2t0b3AgYi9zcmMvY29udGV4dC9lbmdpbmVzL2luZm8v YW1hcm9rLWRhdGEtZW5naW5lLWluZm8uZGVza3RvcAotaW5kZXggYTI5MDQwYy4uZGUxNmI2YiAx MDA2NDQKLS0tLSBhL3NyYy9jb250ZXh0L2VuZ2luZXMvaW5mby9hbWFyb2stZGF0YS1lbmdpbmUt aW5mby5kZXNrdG9wCi0rKysgYi9zcmMvY29udGV4dC9lbmdpbmVzL2luZm8vYW1hcm9rLWRhdGEt ZW5naW5lLWluZm8uZGVza3RvcAotQEAgLTE0LDYgKzE0LDcgQEAgTmFtZVtubl09RGF0YW1vdG9y IGZvciBpbmZvcm1hc2pvbgotIE5hbWVbcGxdPU1vZHXFgiBkYW55Y2ggaW5mb3JtYWNqaQotIE5h bWVbcHRdPU1vdG9yIGRlIERhZG9zIGRhIEluZm9ybWHDp8OjbwotIE5hbWVbcHRfQlJdPU1lY2Fu aXNtbyBkZSBEYWRvcyBkYXMgSW5mb3JtYcOnw7VlcwotK05hbWVbcnVdPdCY0YHRgtC+0YfQvdC4 0Log0LTQsNC90L3Ri9GFINC00LvRjyDRgdCy0LXQtNC10L3QuNC5Ci0gTmFtZVtzcl090JTQsNGC 0L7QvNC+0YLQvtGAINC/0L7QtNCw0YLQsNC60LAKLSBOYW1lW3NyQGxhdGluXT1EYXRvbW90b3Ig cG9kYXRha2EKLSBOYW1lW3N2XT1EYXRhZ3LDpG5zc25pdHQgZsO2ciBpbmZvcm1hdGlvbgotZGlm ZiAtLWdpdCBhL3NyYy9jb250ZXh0L2VuZ2luZXMvbHlyaWNzL2FtYXJvay1kYXRhLWVuZ2luZS1s eXJpY3MuZGVza3RvcCBiL3NyYy9jb250ZXh0L2VuZ2luZXMvbHlyaWNzL2FtYXJvay1kYXRhLWVu Z2luZS1seXJpY3MuZGVza3RvcAotaW5kZXggZmNkYjE4OS4uMTM0MTc2ZSAxMDA2NDQKLS0tLSBh L3NyYy9jb250ZXh0L2VuZ2luZXMvbHlyaWNzL2FtYXJvay1kYXRhLWVuZ2luZS1seXJpY3MuZGVz a3RvcAotKysrIGIvc3JjL2NvbnRleHQvZW5naW5lcy9seXJpY3MvYW1hcm9rLWRhdGEtZW5naW5l LWx5cmljcy5kZXNrdG9wCi1AQCAtMzMsNyArMzMsNyBAQCBOYW1lW3BsXT1Nb2R1xYIgZGFueWNo IHRla3N0w7N3Ci0gTmFtZVtwdF09TW90b3IgZGUgRGFkb3MgZGUgTGV0cmFzIE11c2ljYWlzCi0g TmFtZVtwdF9CUl09TWVjYW5pc21vIGRlIERhZG9zIGRhcyBMZXRyYXMKLSBOYW1lW3JvXT1Nb3Rv ciBkZSBkYXRlIFZlcnN1cmkKLS1OYW1lW3J1XT3QlNCy0LjQttC+0Log0LTQsNC90L3Ri9GFINC0 0LvRjyDRgtC10LrRgdGC0L7QsiDQv9C10YHQtdC9Ci0rTmFtZVtydV090JjRgdGC0L7Rh9C90LjQ uiDQtNCw0L3QvdGL0YUg0LTQu9GPINGC0LXQutGB0YLQvtCyINC/0LXRgdC10L0KLSBOYW1lW3Ns XT1Qb2RhdGtvdm5pIHBvZ29uIHphIGJlc2VkaWxhCi0gTmFtZVtzcl090JTQsNGC0L7QvNC+0YLQ vtGAINGB0YLQuNGF0L7QstCwCi0gTmFtZVtzckBsYXRpbl09RGF0b21vdG9yIHN0aWhvdmEKLWRp ZmYgLS1naXQgYS9zcmMvY29udGV4dC9lbmdpbmVzL3Bob3Rvcy9QaG90b3NFbmdpbmUuY3BwIGIv c3JjL2NvbnRleHQvZW5naW5lcy9waG90b3MvUGhvdG9zRW5naW5lLmNwcAotaW5kZXggNzU1OGRh OC4uZGZiMTNhZiAxMDA2NDQKLS0tLSBhL3NyYy9jb250ZXh0L2VuZ2luZXMvcGhvdG9zL1Bob3Rv c0VuZ2luZS5jcHAKLSsrKyBiL3NyYy9jb250ZXh0L2VuZ2luZXMvcGhvdG9zL1Bob3Rvc0VuZ2lu ZS5jcHAKLUBAIC02NSw2ICs2NSw3IEBAIFBob3Rvc0VuZ2luZTo6c291cmNlcygpIGNvbnN0Ci0g Ym9vbCAKLSBQaG90b3NFbmdpbmU6OnNvdXJjZVJlcXVlc3RFdmVudCggY29uc3QgUVN0cmluZyYg bmFtZSApCi0gewotKyAgICBERUJVR19CTE9DSwotICAgICBtX3JlcXVlc3RlZCA9IHRydWU7IC8v IHNvbWVvbmUgaXMgYXNraW5nIGZvciBkYXRhLCBzbyB3ZSB0dXJuIG91cnNlbHZlcyBvbiA6KQot ICAgICBRU3RyaW5nTGlzdCB0b2tlbnMgPSBuYW1lLnNwbGl0KCAnOicgKTsKLSAKLUBAIC04Niw3 ICs4NywxOCBAQCBQaG90b3NFbmdpbmU6OnNvdXJjZVJlcXVlc3RFdmVudCggY29uc3QgUVN0cmlu ZyYgbmFtZSApCi0gICAgICAgICAgICAgbV9yZWxvYWQgPSB0cnVlOwotICAgICAgICAgfQotICAg ICB9Ci0tICAgICAgICAKLSsKLSsgICAgLy8gd2UndmUgYmVlbiBub3RpZmllZCBieSB0aGUgYXBw bGV0IHRvIGJlIGluIHN0YXRlIHN0b3AgPDMKLSsgICAgZWxzZSBpZiAoIHRva2Vucy5jb250YWlu cyggInN0b3BwZWQiICkgJiYgdG9rZW5zLnNpemUoKSA+IDEgKQotKyAgICB7Ci0rICAgICAgICBp ZiAoIHRva2Vucy5hdCggMSApID09IFFTdHJpbmcoICJzdG9wcGVkIiApICkKLSsgICAgICAgIHsK LSsgICAgICAgICAgICByZW1vdmVTb3VyY2UoICJwaG90b3MiICk7Ci0rICAgICAgICAgICAgbV9y ZWxvYWQgPSB0cnVlOwotKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSsgICAgICAgIH0KLSsg ICAgfQotKyAgICAKLSAgICAgcmVtb3ZlQWxsRGF0YSggbmFtZSApOwotICAgICBzZXREYXRhKCBu YW1lLCBRVmFyaWFudCgpICk7Ci0gICAgIHVwZGF0ZSgpOwotZGlmZiAtLWdpdCBhL3NyYy9jb250 ZXh0L2VuZ2luZXMvcGhvdG9zL2FtYXJvay1kYXRhLWVuZ2luZS1waG90b3MuZGVza3RvcCBiL3Ny Yy9jb250ZXh0L2VuZ2luZXMvcGhvdG9zL2FtYXJvay1kYXRhLWVuZ2luZS1waG90b3MuZGVza3Rv cAotaW5kZXggYzBlODkzZi4uZDExYzQzYyAxMDA2NDQKLS0tLSBhL3NyYy9jb250ZXh0L2VuZ2lu ZXMvcGhvdG9zL2FtYXJvay1kYXRhLWVuZ2luZS1waG90b3MuZGVza3RvcAotKysrIGIvc3JjL2Nv bnRleHQvZW5naW5lcy9waG90b3MvYW1hcm9rLWRhdGEtZW5naW5lLXBob3Rvcy5kZXNrdG9wCi1A QCAtMTUsNiArMTUsNyBAQCBOYW1lW25uXT1EYXRhbW90b3IgZm9yIGJpbGV0ZQotIE5hbWVbcGxd PU1vZHXFgiBkYW55Y2ggemRqxJnEhwotIE5hbWVbcHRdPU1vdG9yIGRlIERhZG9zIGRlIEZvdG9n cmFmaWFzCi0gTmFtZVtwdF9CUl09TWVjYW5pc21vIGRlIERhZG9zIGRlIEZvdG9zCi0rTmFtZVty dV090JjRgdGC0L7Rh9C90LjQuiDQtNCw0L3QvdGL0YUg0YTQvtGC0L7Qs9GA0LDRhNC40LkKLSBO YW1lW3NyXT3QlNCw0YLQvtC80L7RgtC+0YAg0YTQvtGC0L7Qs9GA0LDRhNC40ZjQsAotIE5hbWVb c3JAbGF0aW5dPURhdG9tb3RvciBmb3RvZ3JhZmlqYQotIE5hbWVbc3ZdPURhdGFncsOkbnNzbml0 dCBmw7ZyIGZvdG9uCi1kaWZmIC0tZ2l0IGEvc3JjL2NvbnRleHQvZW5naW5lcy9zb25na2ljay9h bWFyb2stZGF0YS1lbmdpbmUtc29uZ2tpY2suZGVza3RvcCBiL3NyYy9jb250ZXh0L2VuZ2luZXMv c29uZ2tpY2svYW1hcm9rLWRhdGEtZW5naW5lLXNvbmdraWNrLmRlc2t0b3AKLWluZGV4IGVlMWNh OTMuLjIyMTM1MzMgMTAwNjQ0Ci0tLS0gYS9zcmMvY29udGV4dC9lbmdpbmVzL3NvbmdraWNrL2Ft YXJvay1kYXRhLWVuZ2luZS1zb25na2ljay5kZXNrdG9wCi0rKysgYi9zcmMvY29udGV4dC9lbmdp bmVzL3NvbmdraWNrL2FtYXJvay1kYXRhLWVuZ2luZS1zb25na2ljay5kZXNrdG9wCi1AQCAtMzMs NyArMzMsNyBAQCBOYW1lW3BsXT1Nb2R1xYIgZGFueWNoIFNvbmdraWNrCi0gTmFtZVtwdF09TW90 b3IgZGUgRGFkb3MgZG8gU29uZ2tpY2sKLSBOYW1lW3B0X0JSXT1NZWNhbmlzbW8gZGUgRGFkb3Mg ZG8gU29uZ2tpY2sKLSBOYW1lW3JvXT1Nb3RvciBkZSBkYXRlIFNvbmdraWNrCi0tTmFtZVtydV09 0JTQstC40LbQvtC6INC00LDQvdC90YvRhSBTb25na2ljawotK05hbWVbcnVdPdCY0YHRgtC+0YfQ vdC40Log0LTQsNC90L3Ri9GFIFNvbmdraWNrCi0gTmFtZVtzbF09UG9kYXRrb3ZuaSBwb2dvbiB6 YSBTb25na2ljawotIE5hbWVbc3JdPdCU0LDRgtC+0LzQvtGC0L7RgCDQodC+0L3Qs9C60LjQutCw Ci0gTmFtZVtzckBsYXRpbl09RGF0b21vdG9yIFNvbmdraWNrYQotZGlmZiAtLWdpdCBhL3NyYy9j b250ZXh0L2VuZ2luZXMvdmlkZW9jbGlwL2FtYXJvay1kYXRhLWVuZ2luZS12aWRlb2NsaXAuZGVz a3RvcCBiL3NyYy9jb250ZXh0L2VuZ2luZXMvdmlkZW9jbGlwL2FtYXJvay1kYXRhLWVuZ2luZS12 aWRlb2NsaXAuZGVza3RvcAotaW5kZXggOWZjZTVkNy4uN2QzYzk4YiAxMDA2NDQKLS0tLSBhL3Ny Yy9jb250ZXh0L2VuZ2luZXMvdmlkZW9jbGlwL2FtYXJvay1kYXRhLWVuZ2luZS12aWRlb2NsaXAu ZGVza3RvcAotKysrIGIvc3JjL2NvbnRleHQvZW5naW5lcy92aWRlb2NsaXAvYW1hcm9rLWRhdGEt ZW5naW5lLXZpZGVvY2xpcC5kZXNrdG9wCi1AQCAtMjAsNyArMjAsNyBAQCBOYW1lW3BhXT3gqLXg qYDgqKHgqL/gqJMg4KiV4Kiy4Ki/4Kmx4KiqIOCooeCovuCon+CoviDgqIfgqbDgqJzgqKMKLSBO YW1lW3BsXT1Nb2R1xYIgZGFueWNoIGtsaXDDs3cgd2lkZW8KLSBOYW1lW3B0XT1Nb3RvciBkZSBE YWRvcyBkZSAnQ2xpcHMnIGRlIFbDrWRlbwotIE5hbWVbcHRfQlJdPU1vdG9yIGRlIGRhZG9zIGRl IGNsaXBlIGRlIHbDrWRlbwotLU5hbWVbcnVdPdCU0LLQuNC20L7QuiDQtNCw0L3QvdGL0YUg0LTQ u9GPINCy0LjQtNC10L7QutC70LjQv9C+0LIKLStOYW1lW3J1XT3QmNGB0YLQvtGH0L3QuNC6INC0 0LDQvdC90YvRhSDQtNC70Y8g0LLQuNC00LXQvtC60LvQuNC/0L7QsgotIE5hbWVbc2xdPVBvZGF0 a292bmkgcG9nb24gemEgdmlkZW8gcG9zbmV0a2UKLSBOYW1lW3NyXT3QlNCw0YLQvtC80L7RgtC+ 0YAg0LLQuNC00LXQviDQuNGB0LXRh9Cw0LrQsAotIE5hbWVbc3JAbGF0aW5dPURhdG9tb3RvciB2 aWRlbyBpc2XEjWFrYQotZGlmZiAtLWdpdCBhL3NyYy9jb250ZXh0L2VuZ2luZXMvd2lraXBlZGlh L1dpa2lwZWRpYUVuZ2luZS5jcHAgYi9zcmMvY29udGV4dC9lbmdpbmVzL3dpa2lwZWRpYS9XaWtp cGVkaWFFbmdpbmUuY3BwCi1pbmRleCAxMTAyM2NiLi4xM2RlNThkIDEwMDY0NAotLS0tIGEvc3Jj L2NvbnRleHQvZW5naW5lcy93aWtpcGVkaWEvV2lraXBlZGlhRW5naW5lLmNwcAotKysrIGIvc3Jj L2NvbnRleHQvZW5naW5lcy93aWtpcGVkaWEvV2lraXBlZGlhRW5naW5lLmNwcAotQEAgLTIyMiw5 ICsyMjIsMTEgQEAgV2lraXBlZGlhRW5naW5lOjp3aWtpUmVzdWx0KCBLSm9iKiBqb2IgKQotICAg ICAgICAgbV93aWtpID0gUVN0cmluZzo6ZnJvbVV0ZjgoIHN0b3JlZEpvYi0+ZGF0YSgpLmRhdGEo KSwgc3RvcmVkSm9iLT5kYXRhKCkuc2l6ZSgpICk7Ci0gCi0gCi0tICAgIC8vIFJlZmluZWQgc2Vh cmNoIHRoaW5nCi0rICAgIC8vIEZJWE1FOiBGb3Igbm93IHdlIHRlc3QgaWYgd2UgZ290IGFuIGFy dGljbGUgb3Igbm90IHdpdGggYSB0ZXN0IG9uIHRoaXMgc3RyaW5nICJ3Z0FydGljbGVJZD0wIgot KyAgICAvLyBUaGlzIGlzIGJhZAotICAgICBpZiggbV93aWtpLmNvbnRhaW5zKCAid2dBcnRpY2xl SWQ9MCIgKSApIC8vIFRoZSBhcnRpY2xlIGRvZXMgbm90IGV4aXN0Ci0gICAgIHsKLSsgICAgICAg IC8vIFJlZmluZWQgc2VhcmNoIGlzIGRvbmUgaGVyZSAKLSAgICAgICAgIGlmICggbV90cmllZFJl ZmluZWRTZWFyY2ggPT0gLTEgKQotICAgICAgICAgewotICAgICAgICAgICAgIGRlYnVnKCkgPDwg IldlIGFscmVhZHkgdHJpZWQgc29tZSByZWZpbmVkIHNlYXJjaC4gTGV0cyBlbmQgdGhpcyBtYWRu ZXNzLi4uIjsKLWRpZmYgLS1naXQgYS9zcmMvY29udGV4dC9lbmdpbmVzL3dpa2lwZWRpYS9hbWFy b2stZGF0YS1lbmdpbmUtd2lraXBlZGlhLmRlc2t0b3AgYi9zcmMvY29udGV4dC9lbmdpbmVzL3dp a2lwZWRpYS9hbWFyb2stZGF0YS1lbmdpbmUtd2lraXBlZGlhLmRlc2t0b3AKLWluZGV4IDRlODY0 ZWIuLmE5N2ZjM2MgMTAwNjQ0Ci0tLS0gYS9zcmMvY29udGV4dC9lbmdpbmVzL3dpa2lwZWRpYS9h bWFyb2stZGF0YS1lbmdpbmUtd2lraXBlZGlhLmRlc2t0b3AKLSsrKyBiL3NyYy9jb250ZXh0L2Vu Z2luZXMvd2lraXBlZGlhL2FtYXJvay1kYXRhLWVuZ2luZS13aWtpcGVkaWEuZGVza3RvcAotQEAg LTMzLDcgKzMzLDcgQEAgTmFtZVtwbF09TW9kdcWCIGRhbnljaCBXaWtpcGVkaWkKLSBOYW1lW3B0 XT1Nb3RvciBkZSBEYWRvcyBkbyBXaWtpcMOpZGlhCi0gTmFtZVtwdF9CUl09TWVjYW5pc21vIGRl IERhZG9zIGRhIFdpa2lwZWRpYQotIE5hbWVbcm9dPU1vdG9yIGRlIGRhdGUgV2lraXBlZGlhCi0t TmFtZVtydV090JTQstC40LbQvtC6INC00LDQvdC90YvRhSDQktC40LrQuNC/0LXQtNC40LgKLStO YW1lW3J1XT3QmNGB0YLQvtGH0L3QuNC6INC00LDQvdC90YvRhSDQktC40LrQuNC/0LXQtNC40LgK LSBOYW1lW3NsXT1Qb2RhdGtvdm5pIHBvZ29uIHphIFdpa2lwZWRpam8KLSBOYW1lW3NyXT3QlNCw 0YLQvtC80L7RgtC+0YAg0JLQuNC60LjQv9C10LTQuNGY0LUKLSBOYW1lW3NyQGxhdGluXT1EYXRv bW90b3IgV2lraXBlZGlqZQotZGlmZiAtLWdpdCBhL3NyYy9jb250ZXh0L3NjcmlwdGVuZ2luZS9q YXZhc2NyaXB0L2FtYXJvay1zY3JpcHRlbmdpbmUtYXBwbGV0LXNpbXBsZS1qYXZhc2NyaXB0LmRl c2t0b3AgYi9zcmMvY29udGV4dC9zY3JpcHRlbmdpbmUvamF2YXNjcmlwdC9hbWFyb2stc2NyaXB0 ZW5naW5lLWFwcGxldC1zaW1wbGUtamF2YXNjcmlwdC5kZXNrdG9wCi1pbmRleCA0OTljNTg3Li5k NGI1MGU5IDEwMDY0NAotLS0tIGEvc3JjL2NvbnRleHQvc2NyaXB0ZW5naW5lL2phdmFzY3JpcHQv YW1hcm9rLXNjcmlwdGVuZ2luZS1hcHBsZXQtc2ltcGxlLWphdmFzY3JpcHQuZGVza3RvcAotKysr IGIvc3JjL2NvbnRleHQvc2NyaXB0ZW5naW5lL2phdmFzY3JpcHQvYW1hcm9rLXNjcmlwdGVuZ2lu ZS1hcHBsZXQtc2ltcGxlLWphdmFzY3JpcHQuZGVza3RvcAotQEAgLTE4LDYgKzE4LDcgQEAgTmFt ZVtubl09SmF2YVNjcmlwdC1lbGVtZW50IGZvciBBbWFyb2sKLSBOYW1lW3BsXT1BcGxldCBKYXZh U2NyaXB0dSBBbWFyb2thCi0gTmFtZVtwdF09J0FwcGxldCcgZGUgSmF2YVNjcmlwdCBkbyBBbWFy b2sKLSBOYW1lW3B0X0JSXT1NaW5pYXBsaWNhdGl2byBKYXZhU2NyaXB0IGRvIEFtYXJvawotK05h bWVbcnVdPdCQ0L/Qu9C10YIgSmF2YVNjcmlwdCDQtNC70Y8gQW1hcm9rCi0gTmFtZVtzcl090IjQ sNCy0LDRgdC60YDQuNC/0YLQvdC4INCw0L/Qu9C10YIg0LfQsCDQkNC80LDRgNC+0LoKLSBOYW1l W3NyQGxhdGluXT1KYXZhc2NyaXB0IGFwbGV0IHphIEFtYXJvawotIE5hbWVbc3ZdPUFtYXJvayBK YXZhc2NyaXB0LW1pbmlwcm9ncmFtCi1AQCAtNDUsNiArNDYsNyBAQCBDb21tZW50W25uXT1Jbm5l YnlnZCBBbWFyb2stZWxlbWVudCBza3JpdmVuIGkgSmF2YVNjcmlwdAotIENvbW1lbnRbcGxdPU5h dHl3bnkgYXBwbGV0IEFtYXJva2EgbmFwaXNhbnkgdyBKYXZhU2NyaXBjaWUKLSBDb21tZW50W3B0 XT1VbWEgJ2FwcGxldCcgbmF0aXZhIGRvIEFtYXJvaywgZmVpdGEgZW0gSmF2YVNjcmlwdAotIENv bW1lbnRbcHRfQlJdPU1pbmlhcGxpY2F0aXZvIG5hdGl2byBkbyBBbWFyb2sgZXNjcml0byBlbSBK YXZhU2NyaXB0Ci0rQ29tbWVudFtydV090JDQv9C70LXRgiBBbWFyb2ssINC90LDQv9C40YHQsNC9 0L3Ri9C5INC90LAg0Y/Qt9GL0LrQtSBKYXZhU2NyaXB0Ci0gQ29tbWVudFtzcl090KHQsNC80L7R gdCy0L7RmNC90Lgg0JDQvNCw0YDQvtC60L7QsiDQsNC/0LvQtdGCINC90LDQv9C40YHQsNC9INGD INGY0LDQstCw0YHQutGA0LjQv9GC0YMKLSBDb21tZW50W3NyQGxhdGluXT1TYW1vc3Zvam5pIEFt YXJva292IGFwbGV0IG5hcGlzYW4gdSBKYXZhU2NyaXB0dQotIENvbW1lbnRbc3ZdPUVnZXQgQW1h cm9rIG1pbmlwcm9ncmFtIHNrcml2ZXQgaSBKYXZhc2NyaXB0Ci1kaWZmIC0tZ2l0IGEvc3JjL2Nv bnRleHQvc2NyaXB0ZW5naW5lL2phdmFzY3JpcHQvYW1hcm9rLXNjcmlwdGVuZ2luZS1ydW5uZXIt amF2YXNjcmlwdC5kZXNrdG9wIGIvc3JjL2NvbnRleHQvc2NyaXB0ZW5naW5lL2phdmFzY3JpcHQv YW1hcm9rLXNjcmlwdGVuZ2luZS1ydW5uZXItamF2YXNjcmlwdC5kZXNrdG9wCi1pbmRleCBhYTc5 ZDczLi41NjcyYjhmIDEwMDY0NAotLS0tIGEvc3JjL2NvbnRleHQvc2NyaXB0ZW5naW5lL2phdmFz Y3JpcHQvYW1hcm9rLXNjcmlwdGVuZ2luZS1ydW5uZXItamF2YXNjcmlwdC5kZXNrdG9wCi0rKysg Yi9zcmMvY29udGV4dC9zY3JpcHRlbmdpbmUvamF2YXNjcmlwdC9hbWFyb2stc2NyaXB0ZW5naW5l LXJ1bm5lci1qYXZhc2NyaXB0LmRlc2t0b3AKLUBAIC0xNyw2ICsxNyw3IEBAIE5hbWVbbm5dPUph dmFTY3JpcHQta8O4eXJhciBmb3IgQW1hcm9rCi0gTmFtZVtwbF09SmF2YVNjcmlwdCBSdW5uZXIg QW1hcm9rYQotIE5hbWVbcHRdPUV4ZWN1w6fDo28gZGUgSmF2YVNjcmlwdCBkbyBBbWFyb2sKLSBO YW1lW3B0X0JSXT1FeGVjdXRvciBKYXZhU2NyaXB0IGRvIEFtYXJvawotK05hbWVbcnVdPdCc0L7Q tNGD0LvRjCDQt9Cw0L/Rg9GB0LrQsCBKYXZhU2NyaXB0INC00LvRjyBBbWFyb2sKLSBOYW1lW3Ny XT3QkNC80LDRgNC+0LrQvtCyINC40LfQstC+0ZLQsNGHINGY0LDQstCw0YHQutGA0LjQv9GC0LAK LSBOYW1lW3NyQGxhdGluXT1BbWFyb2tvdiBpenZvxJFhxI0gSmF2YVNjcmlwdGEKLSBOYW1lW3N2 XT1BbWFyb2sgSmF2YXNjcmlwdC1rw7ZycHJvZ3JhbQotZGlmZiAtLWdpdCBhL3NyYy9jb250ZXh0 L3NlcnZpY2V0eXBlcy9hbWFyb2tfZGF0YV9lbmdpbmUuZGVza3RvcCBiL3NyYy9jb250ZXh0L3Nl cnZpY2V0eXBlcy9hbWFyb2tfZGF0YV9lbmdpbmUuZGVza3RvcAotaW5kZXggNmU0MmIyYi4uZmFj MWQxZiAxMDA2NDQKLS0tLSBhL3NyYy9jb250ZXh0L3NlcnZpY2V0eXBlcy9hbWFyb2tfZGF0YV9l bmdpbmUuZGVza3RvcAotKysrIGIvc3JjL2NvbnRleHQvc2VydmljZXR5cGVzL2FtYXJva19kYXRh X2VuZ2luZS5kZXNrdG9wCi1AQCAtMzMsNyArMzMsNyBAQCBOYW1lW3BsXT1Nb2R1xYIgZGFueWNo IEFtYXJva2EKLSBOYW1lW3B0XT1Nb3RvciBkZSBEYWRvcyBkbyBBbWFyb2sKLSBOYW1lW3B0X0JS XT1Nb3RvciBkZSBEYWRvcyBkbyBBbWFyb2sKLSBOYW1lW3JvXT1Nb3RvciBkZSBkYXRlIEFtYXJv awotLU5hbWVbcnVdPdCU0LLQuNC20L7QuiDQtNCw0L3QvdGL0YUgQW1hcm9rCi0rTmFtZVtydV09 0JjRgdGC0L7Rh9C90LjQuiDQtNCw0L3QvdGL0YUgQW1hcm9rCi0gTmFtZVtzbF09UG9kYXRrb3Zu aSBwb2dvbiB6YSBBbWFyb2sKLSBOYW1lW3NyXT3QlNCw0YLQvtC80L7RgtC+0YAg0JDQvNCw0YDQ vtC60LAKLSBOYW1lW3NyQGxhdGluXT1EYXRvbW90b3IgQW1hcm9rYQotQEAgLTgzLDcgKzgzLDcg QEAgQ29tbWVudFtwbF09TW9kdcWCIGRhbnljaCBBbWFyb2thCi0gQ29tbWVudFtwdF09TW90b3Ig ZGUgRGFkb3MgZG8gQW1hcm9rCi0gQ29tbWVudFtwdF9CUl09TWVjYW5pc21vIGRlIERhZG9zIGRv IEFtYXJvawotIENvbW1lbnRbcm9dPU1vdG9yIGRlIGRhdGUgQW1hcm9rCi0tQ29tbWVudFtydV09 0JTQstC40LbQvtC6INC00LDQvdC90YvRhSBBbWFyb2sKLStDb21tZW50W3J1XT3QmNGB0YLQvtGH 0L3QuNC6INC00LDQvdC90YvRhSBBbWFyb2sKLSBDb21tZW50W3NsXT1Qb2RhdGtvdm5pIHBvZ29u IHphIEFtYXJvawotIENvbW1lbnRbc3JdPdCU0LDRgtC+0LzQvtGC0L7RgCDQkNC80LDRgNC+0LrQ sAotIENvbW1lbnRbc3JAbGF0aW5dPURhdG9tb3RvciBBbWFyb2thCi1kaWZmIC0tZ2l0IGEvc3Jj L2RpYWxvZ3MvVGFnRGlhbG9nLmNwcCBiL3NyYy9kaWFsb2dzL1RhZ0RpYWxvZy5jcHAKLWluZGV4 IDU4ZjJlZjQuLjA4ZGY4NjggMTAwNjQ0Ci0tLS0gYS9zcmMvZGlhbG9ncy9UYWdEaWFsb2cuY3Bw Ci0rKysgYi9zcmMvZGlhbG9ncy9UYWdEaWFsb2cuY3BwCi1AQCAtODg4LDcgKzg4OCw3IEBAIHZv aWQgVGFnRGlhbG9nOjpyZWFkVGFncygpCi0gICAgIGlmKCBtX2N1cnJlbnREYXRhLmNvbnRhaW5z KCBNZXRhOjpGaWVsZDo6Q09NUE9TRVIgKSApCi0gICAgICAgICBzZWxlY3RPckluc2VydFRleHQo IG1fY3VycmVudERhdGEudmFsdWUoIE1ldGE6OkZpZWxkOjpDT01QT1NFUiApLnRvU3RyaW5nKCks IHVpLT5rQ29tYm9Cb3hfY29tcG9zZXIgKTsKLSAgICAgZWxzZQotLSAgICAgICAgc2VsZWN0T3JJ bnNlcnRUZXh0KCBRU3RyaW5nKCksIHVpLT5rQ29tYm9Cb3hfZ2VucmUgKTsKLSsgICAgICAgIHNl bGVjdE9ySW5zZXJ0VGV4dCggUVN0cmluZygpLCB1aS0+a0NvbWJvQm94X2NvbXBvc2VyICk7Ci0g ICAgIHVpLT5yYXRpbmdXaWRnZXQtPnNldFJhdGluZyggbV9jdXJyZW50RGF0YS52YWx1ZSggTWV0 YTo6RmllbGQ6OlJBVElORyApLnRvSW50KCkgKTsKLSAgICAgdWktPnJhdGluZ1dpZGdldC0+c2V0 TWF4UmF0aW5nKCAxMCApOwotICAgICB1aS0+cVNwaW5Cb3hfdHJhY2stPnNldFZhbHVlKCBtX2N1 cnJlbnREYXRhLnZhbHVlKCBNZXRhOjpGaWVsZDo6VFJBQ0tOVU1CRVIgKS50b0ludCgpICk7Ci1k aWZmIC0tZ2l0IGEvc3JjL2ltYWdlcy9zcGxhc2hfc2NyZWVuLmpwZyBiL3NyYy9pbWFnZXMvc3Bs YXNoX3NjcmVlbi5qcGcKLWluZGV4IDY1MjFlYWQuLjcwYTYzM2IgMTAwNjQ0Ci1CaW5hcnkgZmls ZXMgYS9zcmMvaW1hZ2VzL3NwbGFzaF9zY3JlZW4uanBnIGFuZCBiL3NyYy9pbWFnZXMvc3BsYXNo X3NjcmVlbi5qcGcgZGlmZmVyCi1kaWZmIC0tZ2l0IGEvc3JjL21haW4uY3BwIGIvc3JjL21haW4u Y3BwCi1pbmRleCA4NWU3Yzg4Li5lYmM4MzAwIDEwMDY0NAotLS0tIGEvc3JjL21haW4uY3BwCi0r KysgYi9zcmMvbWFpbi5jcHAKLUBAIC00MCw3ICs0MCw3IEBAIGludCBtYWluKCBpbnQgYXJnYywg Y2hhciAqYXJndltdICkKLSAgICAgICAgICAgICBraTE4bigiRGV2ZWxvcGVyIChoeWRyb2dlbiki KSwgInBhcmFsbGVsZ3JhcGVmcnVpdEBnbWFpbC5jb20iICk7Ci0gICAgIGFib3V0RGF0YS5hZGRB dXRob3IoIGtpMThuKCJJYW4gJ1RoZSBCZWFyZCcgTW9ucm9lIiksCi0gICAgICAgICAgICAga2kx OG4oIkRldmVsb3BlciAoZWVhbikiKSwgImlhbkBtb25yb2UubnUiLCAiaHR0cDovL3d3dy5tb25y b2UubnUvIiApOwotLSAgICBhYm91dERhdGEuYWRkQXV0aG9yKCBraTE4bigiSmVmZiAnSVJPQ0tT T0hBUkQnIE1pdGNoZWxsIiksCi0rICAgIGFib3V0RGF0YS5hZGRBdXRob3IoIGtpMThuKCJKZWZm ICdJUk9LU09IQVJEJyBNaXRjaGVsbCIpLAotICAgICAgICAgICAgIGtpMThuKCJEZXZlbG9wZXIg KGplZmZlcmFpKSIpLCAibWl0Y2hlbGxAa2RlLm9yZyIsICJodHRwOi8vYW1hcm9rLmtkZS5vcmcv YmxvZy9jYXRlZ29yaWVzLzEzLWplZmZlcmFpIiApOwotICAgICBhYm91dERhdGEuYWRkQXV0aG9y KCBraTE4bigiTGVvIEZyYW5jaGkiKSwKLSAgICAgICAgICAgICBraTE4bigiRGV2ZWxvcGVyIChs ZnJhbmNoaSkiKSwgImxmcmFuY2hpQGtkZS5vcmciICk7Ci1kaWZmIC0tZ2l0IGEvc3JjL3BsYXls aXN0L1BsYXlsaXN0TW9kZWwuY3BwIGIvc3JjL3BsYXlsaXN0L1BsYXlsaXN0TW9kZWwuY3BwCi1p bmRleCBiNDYzMDBjLi5jNmFkNjE2IDEwMDY0NAotLS0tIGEvc3JjL3BsYXlsaXN0L1BsYXlsaXN0 TW9kZWwuY3BwCi0rKysgYi9zcmMvcGxheWxpc3QvUGxheWxpc3RNb2RlbC5jcHAKLUBAIC02MTAs NiArNjEwLDcgQEAgUGxheWxpc3Q6Ok1vZGVsOjptZXRhZGF0YUNoYW5nZWQoIE1ldGE6OlRyYWNr UHRyIHRyYWNrICkKLSAgICAgICAgIHsKLSAgICAgICAgICAgICBlbWl0IGRhdGFDaGFuZ2VkKCBj cmVhdGVJbmRleCggaSwgMCApLCBjcmVhdGVJbmRleCggaSwgY29sdW1uQ291bnQoKSAtIDEgKSAp OwotICAgICAgICAgICAgIGVtaXQgbWV0YWRhdGFVcGRhdGVkKCk7Ci0rICAgICAgICAgICAgZGVi dWcoKTw8Ik1ldGFkYXRhIHVwZGF0ZWQgZm9yIHRyYWNrIjw8dHJhY2stPnByZXR0eU5hbWUoKTsK LSAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgIH0KLSAgICAgfQotQEAgLTYyMSwxMyArNjIy LDEyIEBAIFBsYXlsaXN0OjpNb2RlbDo6bWV0YWRhdGFDaGFuZ2VkKCBNZXRhOjpBbGJ1bVB0ciBh bGJ1bSApCi0gICAgIE1ldGE6OlRyYWNrTGlzdCB0cmFja3MgPSBhbGJ1bS0+dHJhY2tzKCk7Ci0g ICAgIGZvcmVhY2goIE1ldGE6OlRyYWNrUHRyIHRyYWNrLCB0cmFja3MgKQotICAgICAgICAgbWV0 YWRhdGFDaGFuZ2VkKCB0cmFjayApOwotKyAgICBkZWJ1ZygpPDwiQWxidW0gbWV0YWRhdGEgY2hh bmdlZCI7Ci0gfQotIAotIGJvb2wKLSBQbGF5bGlzdDo6TW9kZWw6OmV4cG9ydFBsYXlsaXN0KCBj b25zdCBRU3RyaW5nICZwYXRoICkgY29uc3QKLSB7Ci0tICAgIERFQlVHX0JMT0NLCi0tICAgIGRl YnVnKCkgPDwgIldBUk5JTkc6IFlvdSBzaG91bGRuJ3Qgc2VlIHRoaXMgYXQgYW55IHRpbWUgZXhj ZXB0IG9uIGV4aXQuIjsKLSAgICAgcmV0dXJuIFRoZTo6cGxheWxpc3RNYW5hZ2VyKCktPmV4cG9y dFBsYXlsaXN0KCB0cmFja3MoKSwgcGF0aCApOwotIH0KLSAKLWRpZmYgLS1naXQgYS9zcmMvcGxh eWxpc3QvcHJveHltb2RlbHMvRmlsdGVyUHJveHkuY3BwIGIvc3JjL3BsYXlsaXN0L3Byb3h5bW9k ZWxzL0ZpbHRlclByb3h5LmNwcAotaW5kZXggMjM0MWJlNC4uNTI1NDIzNiAxMDA2NDQKLS0tLSBh L3NyYy9wbGF5bGlzdC9wcm94eW1vZGVscy9GaWx0ZXJQcm94eS5jcHAKLSsrKyBiL3NyYy9wbGF5 bGlzdC9wcm94eW1vZGVscy9GaWx0ZXJQcm94eS5jcHAKLUBAIC0zMiw3ICszMiw3IEBAIEZpbHRl clByb3h5OjpGaWx0ZXJQcm94eSggQWJzdHJhY3RNb2RlbCAqYmVsb3dNb2RlbCwgUU9iamVjdCAq cGFyZW50ICkKLSAgICAgY29ubmVjdCggc291cmNlTW9kZWwoKSwgU0lHTkFMKCByZW1vdmVkSWRz KCBjb25zdCBRTGlzdDxxdWludDY0PiYgKSApLCB0aGlzLCBTTE9UKCBzbG90UmVtb3ZlZElkcygg Y29uc3QgUUxpc3Q8cXVpbnQ2ND4mICkgKSApOwotICAgICBjb25uZWN0KCBzb3VyY2VNb2RlbCgp LCBTSUdOQUwoIGFjdGl2ZVRyYWNrQ2hhbmdlZCggY29uc3QgcXVpbnQ2NCApICksIHRoaXMsIFNJ R05BTCggYWN0aXZlVHJhY2tDaGFuZ2VkKCBxdWludDY0ICkgKSApOwotICAgICBjb25uZWN0KCBz b3VyY2VNb2RlbCgpLCBTSUdOQUwoIG1ldGFkYXRhVXBkYXRlZCgpICksIHRoaXMsIFNJR05BTCgg bWV0YWRhdGFVcGRhdGVkKCkgKSApOwotLSAgICBjb25uZWN0KCB0aGlzLCBTSUdOQUwoIG1ldGFk YXRhVXBkYXRlZCgpICksIHRoaXMsIFNMT1QoIGludmFsaWRhdGUoKSApICk7Ci0rICAgIGNvbm5l Y3QoIHRoaXMsIFNJR05BTCggbWV0YWRhdGFVcGRhdGVkKCkgKSwgdGhpcywgU0xPVCggc2xvdElu dmFsaWRhdGVGaWx0ZXIoKSApICk7Ci0gCi0gICAgIEtDb25maWdHcm91cCBjb25maWcgPSBBbWFy b2s6OmNvbmZpZygiUGxheWxpc3QgU2VhcmNoIik7Ci0gICAgIG1fcGFzc1Rocm91Z2ggPSAhY29u ZmlnLnJlYWRFbnRyeSggIlNob3dPbmx5TWF0Y2hlcyIsIHRydWUgKTsKLWRpZmYgLS1naXQgYS9z cmMvcGxheWxpc3QvcHJveHltb2RlbHMvRmlsdGVyUHJveHkuaCBiL3NyYy9wbGF5bGlzdC9wcm94 eW1vZGVscy9GaWx0ZXJQcm94eS5oCi1pbmRleCA0Nzg3NmFkLi42NWVjZTA5IDEwMDY0NAotLS0t IGEvc3JjL3BsYXlsaXN0L3Byb3h5bW9kZWxzL0ZpbHRlclByb3h5LmgKLSsrKyBiL3NyYy9wbGF5 bGlzdC9wcm94eW1vZGVscy9GaWx0ZXJQcm94eS5oCi1AQCAtMTIyLDYgKzEyMiwxMiBAQCBwcm90 ZWN0ZWQgc2xvdHM6Ci0gICAgICAqLwotICAgICB2b2lkIHNsb3RSZW1vdmVkSWRzKCBjb25zdCBR TGlzdDxxdWludDY0PiAmaWRzICk7Ci0gCi0rICAgIC8qKgotKyAgICAgKiBTbG90IHRoYXQgd3Jh cHMgYXJvdW5kIHRoZSBtZXRob2QgaW52YWxpZGF0ZUZpbHRlcigpIHNvIG9uZSBkb2Vzbid0IHRy aWdnZXIgdGhlCi0rICAgICAqIHNvcnRpbmcgaW52YWxpZGF0aW9uIHRvbyBieSB1c2luZyBpbnZh bGlkYXRlKCkuCi0rICAgICAqLwotKyAgICB2b2lkIHNsb3RJbnZhbGlkYXRlRmlsdGVyKCl7IGlu dmFsaWRhdGVGaWx0ZXIoKTsgfQotKwotIHNpZ25hbHM6Ci0gICAgIC8qKgotICAgICAgKiBTaWdu YWwgZm9yd2FyZGVkIGZyb20gdGhlIHNvdXJjZSBtb2RlbC4KLWRpZmYgLS1naXQgYS9zcmMvcGxh eWxpc3QvcHJveHltb2RlbHMvU29ydFByb3h5LmNwcCBiL3NyYy9wbGF5bGlzdC9wcm94eW1vZGVs cy9Tb3J0UHJveHkuY3BwCi1pbmRleCA0NjY1M2MxLi5lZmJhMmNkIDEwMDY0NAotLS0tIGEvc3Jj L3BsYXlsaXN0L3Byb3h5bW9kZWxzL1NvcnRQcm94eS5jcHAKLSsrKyBiL3NyYy9wbGF5bGlzdC9w cm94eW1vZGVscy9Tb3J0UHJveHkuY3BwCi1AQCAtMzUsNyArMzUsNyBAQCBTb3J0UHJveHk6OlNv cnRQcm94eSggQWJzdHJhY3RNb2RlbCAqYmVsb3dNb2RlbCwgUU9iamVjdCAqcGFyZW50ICkKLSAg ICAgY29ubmVjdCggc291cmNlTW9kZWwoKSwgU0lHTkFMKCByZW1vdmVkSWRzKCBjb25zdCBRTGlz dDxxdWludDY0PiYgKSApLCB0aGlzLCBTSUdOQUwoIHJlbW92ZWRJZHMoIGNvbnN0IFFMaXN0PCBx dWludDY0ID4mICkgKSApOwotICAgICBjb25uZWN0KCBzb3VyY2VNb2RlbCgpLCBTSUdOQUwoIGFj dGl2ZVRyYWNrQ2hhbmdlZCggY29uc3QgcXVpbnQ2NCApICksIHRoaXMsIFNJR05BTCggYWN0aXZl VHJhY2tDaGFuZ2VkKCBxdWludDY0ICkgKSApOwotICAgICBjb25uZWN0KCBzb3VyY2VNb2RlbCgp LCBTSUdOQUwoIG1ldGFkYXRhVXBkYXRlZCgpICksIHRoaXMsIFNJR05BTCggbWV0YWRhdGFVcGRh dGVkKCkgKSApOwotLSAgICBjb25uZWN0KCB0aGlzLCBTSUdOQUwoIG1ldGFkYXRhVXBkYXRlZCgp ICksIHRoaXMsIFNMT1QoIGludmFsaWRhdGUoKSApICk7Ci0rICAgIGNvbm5lY3QoIHRoaXMsIFNJ R05BTCggbWV0YWRhdGFVcGRhdGVkKCkgKSwgdGhpcywgU0xPVCggaW52YWxpZGF0ZVNvcnRpbmco KSApICk7Ci0gCi0gICAgIC8vbmVlZGVkIGJ5IEdyb3VwaW5nUHJveHk6Ci0gICAgIGNvbm5lY3Qo IHNvdXJjZU1vZGVsKCksIFNJR05BTCggbGF5b3V0Q2hhbmdlZCgpICksIHRoaXMsIFNJR05BTCgg bGF5b3V0Q2hhbmdlZCgpICkgKTsKLUBAIC00OCw2ICs0OCwyNyBAQCBTb3J0UHJveHk6On5Tb3J0 UHJveHkoKQotIHZvaWQKLSBTb3J0UHJveHk6OmludmFsaWRhdGVTb3J0aW5nKCkKLSB7Ci0rICAg IGlmKCBtX3NjaGVtZS5sZW5ndGgoKSApCi0rICAgIHsKLSsgICAgICAgIGlmKCAhKCBtX3NjaGVt ZS5sZXZlbCggbV9zY2hlbWUubGVuZ3RoKCkgLSAxICkuY2F0ZWdvcnkoKSA9PSAtMSApICkgLy9p ZiBpdCdzIG5vdCByYW5kb20KLSsgICAgICAgIHsKLSsgICAgICAgICAgICBpbnZhbGlkYXRlKCk7 Ci0rICAgICAgICB9Ci0rICAgIH0KLSsgICAgZWxzZQotKyAgICAgICAgaW52YWxpZGF0ZSgpOwot KyAgICAvL0ZJWE1FOiB0aGlzIGlzIGEgYmFuZC1haWQgc28gdGhhdCB0aGUgcGxheWxpc3QgZG9l c24ndCByZXNodWZmbGUgZXZlcnkgdGltZSB0aGUgY3VycmVudCB0cmFjayBjaGFuZ2VzCi0rICAg IC8vIEhvd2V2ZXIgdGhlIHJlYWwgaXNzdWUgaXMgZGVlcGVyLCB0aGUgT2JzZXJ2ZXIgc2VlbXMg dG8gbm90aWZ5IG1ldGFkYXRhQ2hhbmdlZCgpIGV2ZW4gaWYgdGhlIG1ldGFkYXRhCi0rICAgIC8v IG9mIGEgdHJhY2sgZG9lc24ndCBjaGFuZ2UgYnV0IGp1c3QgdGhlIGN1cnJlbnRseSBhY3RpdmUg dHJhY2sgY2hhbmdlcywgYW5kIHRoaXMgcmVzdWx0cyBpbiB0aGUgcGxheWxpc3QKLSsgICAgLy8g YmVpbmcgcmVzb3J0ZWQgb24gZXZlcnkgIm5leHQiLCAicHJldmlvdXMiIG9yIHRyYWNrIHNlbGVj dGlvbi4gVHdpY2UuIFRoaXMgaXMgYSBCYWQgVGhpbmcgKFRNKSBhbmQgdmVyeQotKyAgICAvLyBp bmVmZmljaWVudC4KLSsgICAgLy8gV2UncmUgc2hpcHBpbmcgMi4yIGFzIGl0IGlzLCBiZWNhdXNl IGl0J3Mgd2F5IHRvbyBsYXRlIHRvIGdvIHBva2luZyBhcm91bmQgT2JzZXJ2ZXIsIGJ1dCB0aGlz IG5lZWRzCi0rICAgIC8vIHRvIGJlIHNvbHZlZCBBU0FQIHBvc3QtMi4yLiAgICAgIC0tVMOpbyAy My85LzIwMDkKLSt9Ci0rCi0rdm9pZAotK1NvcnRQcm94eTo6cmVzZXRTb3J0aW5nKCkKLSt7Ci0g ICAgIG1fc2NoZW1lID0gU29ydFNjaGVtZSgpOwotICAgICByZXNldCgpOwotIH0KLUBAIC02NCw3 ICs4NSw3IEBAIFNvcnRQcm94eTo6bGVzc1RoYW4oIGNvbnN0IFFNb2RlbEluZGV4ICYgbGVmdCwg Y29uc3QgUU1vZGVsSW5kZXggJiByaWdodCApIGNvbnN0Ci0gdm9pZAotIFNvcnRQcm94eTo6dXBk YXRlU29ydE1hcCggU29ydFNjaGVtZSBzY2hlbWUgKQotIHsKLS0gICAgaW52YWxpZGF0ZVNvcnRp bmcoKTsKLSsgICAgcmVzZXRTb3J0aW5nKCk7Ci0gICAgIG1fc2NoZW1lID0gc2NoZW1lOwotICAg ICBzb3J0KCAwICk7ICAvLzAgaXMgYSBkdW1teSBjb2x1bW4KLSAgICAgLy9IQUNLOiBzb3J0KCkg aW52ZXJ0cyB0aGUgc29ydE9yZGVyIG9uIGVhY2ggY2FsbCwgdGhpcyBrZWVwcyB0aGUgb3JkZXIg YXNjZW5kaW5nLgotZGlmZiAtLWdpdCBhL3NyYy9wbGF5bGlzdC9wcm94eW1vZGVscy9Tb3J0UHJv eHkuaCBiL3NyYy9wbGF5bGlzdC9wcm94eW1vZGVscy9Tb3J0UHJveHkuaAotaW5kZXggZWJjNzQ1 Zi4uMzZjYjcwNCAxMDA2NDQKLS0tLSBhL3NyYy9wbGF5bGlzdC9wcm94eW1vZGVscy9Tb3J0UHJv eHkuaAotKysrIGIvc3JjL3BsYXlsaXN0L3Byb3h5bW9kZWxzL1NvcnRQcm94eS5oCi1AQCAtNjMs NyArNjMsNyBAQCBwdWJsaWMgc2xvdHM6Ci0gICAgIC8qKgotICAgICAgKiBSZXNldHMgdGhlIHBy b3h5IHRvIGl0cyBvcmlnaW5hbCBwYXNzLXRocm91Z2ggc3RhdGUuCi0gICAgICAqLwotLSAgICB2 b2lkIGludmFsaWRhdGVTb3J0aW5nKCk7Ci0rICAgIHZvaWQgcmVzZXRTb3J0aW5nKCk7Ci0gCi0g cHJvdGVjdGVkOgotICAgICAvKioKLUBAIC04Miw2ICs4MiwxMiBAQCBwcm90ZWN0ZWQ6Ci0gICAg ICAqLwotICAgICB2aXJ0dWFsIGludCByb3dUb1NvdXJjZSggaW50IHJvdyApIGNvbnN0OwotIAot K3Byb3RlY3RlZCBzbG90czoKLSsgICAgLyoqCi0rICAgICAqIFJlYXBwbGllcyB0aGUgY3VycmVu dCBzb3J0aW5nIHNjaGVtZS4KLSsgICAgICovCi0rICAgIHZvaWQgaW52YWxpZGF0ZVNvcnRpbmco KTsKLSsKLSBwcml2YXRlOgotICAgICBTb3J0U2NoZW1lIG1fc2NoZW1lOyAgICAgICAgICAgICAg IC8vISBUaGUgY3VycmVudCBzb3J0aW5nIHNjaGVtZS4KLSB9OwotZGlmZiAtLWdpdCBhL3NyYy9z ZXJ2aWNlcy9tcDN0dW5lcy9hbWFyb2tfc2VydmljZV9tcDN0dW5lcy5kZXNrdG9wIGIvc3JjL3Nl cnZpY2VzL21wM3R1bmVzL2FtYXJva19zZXJ2aWNlX21wM3R1bmVzLmRlc2t0b3AKLWluZGV4IGQy YjNhNzkuLjhiMDkzN2QgMTAwNjQ0Ci0tLS0gYS9zcmMvc2VydmljZXMvbXAzdHVuZXMvYW1hcm9r X3NlcnZpY2VfbXAzdHVuZXMuZGVza3RvcAotKysrIGIvc3JjL3NlcnZpY2VzL21wM3R1bmVzL2Ft YXJva19zZXJ2aWNlX21wM3R1bmVzLmRlc2t0b3AKLUBAIC03MCw3ICs3MCw3IEBAIENvbW1lbnRb cGxdPVByemVnbMSFZGFqIGkgc8WCdWNoYWogbXV6eWtpIHByemVjaG93eXdhbmVqIG5hIHR3b2lt IGtvbmNpZSBNcDN0dW5lCi0gQ29tbWVudFtwdF09TmF2ZWdhciBlIGVzY3V0YXIgYSBtw7pzaWNh IGdyYXZhZGEgbmEgc3VhIGNvbnRhIGRvIG1wM3R1bmVzCi0gQ29tbWVudFtwdF9CUl09TmF2ZWd1 ZSBlIGVzY3V0ZSBhcyBtw7pzaWNhcyBhcm1hemVuYWRhcyBuYSBzdWEgY29udGEgZG8gbXAzdHVu ZXMKLSBDb21tZW50W3JvXT1SxINzZm9pyJtpIMiZaSBhc2N1bHRhyJtpIG11emljYSBzdG9jYXTE gyDDrm4gY29udHVsIGR1bW5lYXZvYXN0csSDIG1wM3R1bmVzCi0tQ29tbWVudFtydV090J7QsdC3 0L7RgCDQuCDQv9GA0L7RgdC70YPRiNC40LLQsNC90LjQtSDQvNGD0LfRi9C60LgsINGB0L7RhdGA 0LDQvdC10L3QvdC+0Lkg0LIg0LDQutC60LDRg9C90YLQtSBNcDN0dW5lcwotK0NvbW1lbnRbcnVd PdCe0LHQt9C+0YAg0Lgg0L/RgNC+0YHQu9GD0YjQuNCy0LDQvdC40LUg0LzRg9C30YvQutC4LCDR gdC+0YXRgNCw0L3QtdC90L3QvtC5INCyINGD0YfRkdGC0L3QvtC5INC30LDQv9C40YHQuCBNcDN0 dW5lcwotIENvbW1lbnRbc2xdPUJyc2thanRlIHBvIGdsYXNiaSwga2kgam8gaW1hdGUgc2hyYW5q ZW5vIG5hIHN2b2plbSByYcSNdW51IE1QM3R1bmVzLCBpbiBqbyBwb3NsdcWhYWp0ZQotIENvbW1l bnRbc3JdPdCf0YDQtdCz0LvQtdC00LDRmNGC0LUg0Lgg0YHQu9GD0YjQsNGY0YLQtSDQvNGD0LfQ uNC60YMg0YHQsCDRgdCy0L7QsyDQvdCw0LvQvtCz0LAg0L3QsCDQnNCfM+KAkdGC0ZjRg9C90YHR gwotIENvbW1lbnRbc3JAbGF0aW5dPVByZWdsZWRhanRlIGkgc2x1xaFhanRlIG11emlrdSBzYSBz dm9nIG5hbG9nYSBuYSBNUDNUdW5lc3UKLWRpZmYgLS1naXQgYS9zcmMvc2VydmljZXMvb3BtbGRp cmVjdG9yeS9hbWFyb2tfc2VydmljZV9vcG1sZGlyZWN0b3J5LmRlc2t0b3AgYi9zcmMvc2Vydmlj ZXMvb3BtbGRpcmVjdG9yeS9hbWFyb2tfc2VydmljZV9vcG1sZGlyZWN0b3J5LmRlc2t0b3AKLWlu ZGV4IGY4MjFlMTcuLjAzYzA4YzggMTAwNjQ0Ci0tLS0gYS9zcmMvc2VydmljZXMvb3BtbGRpcmVj dG9yeS9hbWFyb2tfc2VydmljZV9vcG1sZGlyZWN0b3J5LmRlc2t0b3AKLSsrKyBiL3NyYy9zZXJ2 aWNlcy9vcG1sZGlyZWN0b3J5L2FtYXJva19zZXJ2aWNlX29wbWxkaXJlY3RvcnkuZGVza3RvcAot QEAgLTI3LDcgKzI3LDcgQEAgTmFtZVtwbF09S2F0YWxvZyBwb2RjYXN0w7N3Ci0gTmFtZVtwdF09 UGFzdGEgZGUgJ1BvZGNhc3RzJwotIE5hbWVbcHRfQlJdPVBvZGNhc3QgRGlyZWN0b3J5Ci0gTmFt ZVtyb109RGlyZWN0b3IgUG9kY2FzdAotLU5hbWVbcnVdPdCa0LDRgtCw0LvQvtCzINC00LvRjyBw b2RjYXN0J9C+0LIKLStOYW1lW3J1XT3QmtCw0YLQsNC70L7QsyDQv9C+0LTQutCw0YHRgtC+0LIK LSBOYW1lW3NsXT1JbWVuaWsgcG9kY2FzdG92Ci0gTmFtZVtzcl090KTQsNGB0YbQuNC60LvQsCDQ v9C+0LTQtdC80LjRgdC40ZjQsAotIE5hbWVbc3JAbGF0aW5dPUZhc2Npa2xhIHBvZGVtaXNpamEK LUBAIC02OSw3ICs2OSw3IEBAIENvbW1lbnRbcGxdPVByemVnbMSFZGFqIGkgemFwaXN6IHNpxJkg ZG8gb2dyb21uZWogbGlzdHkgcG9kY2FzdMOzdwotIENvbW1lbnRbcHRdPU5hdmVnYXIgZSBpbnNj cmV2ZXIgbnVtYSBlbm9ybWUgbGlzdGEgZGUgJ3BvZGNhc3RzJwotIENvbW1lbnRbcHRfQlJdPU5h dmVndWUgZSBpbnNjcsOqdmEtc2Ugw6AgdW1hIGxpc3RhIGVub3JtZSBkZSBwb2RjYXN0cwotIENv bW1lbnRbcm9dPVLEg3Nmb2nIm2kgyJlpIGFib25hyJtpLXbEgyBsYSBvIGxpc3TEgyB1cmlhyJnE gyBkZSBwb2RjYXN0dXJpCi0tQ29tbWVudFtydV090J7QsdC30L7RgCDQuCDQv9C+0LTQv9C40YHQ utCwINC90LAg0L7Qs9GA0L7QvNC90YvQuSDRgdC/0LjRgdC+0LogcG9kY2FzdCfQvtCyCi0rQ29t bWVudFtydV090J7QsdC30L7RgCDQuCDQv9C+0LTQv9C40YHQutCwINC90LAg0L7Qs9GA0L7QvNC9 0YvQuSDRgdC/0LjRgdC+0Log0L/QvtC00LrQsNGB0YLQvtCyCi0gQ29tbWVudFtzbF09QnJza2Fq dGUgcG8gb2JzZcW+bmkgemJpcmtpIHBvZGNhc3RvdiBpbiBzZSBuYXJvxI1pdGUgbmFuamUKLSBD b21tZW50W3NyXT3Qn9GA0LXQs9C70LXQtNCw0ZjRgtC1INC4INC/0YDQtdGC0L/Qu9Cw0YLQuNGC 0LUg0YHQtSDQvdCwINC+0LPRgNC+0LzQvdGDINC70LjRgdGC0YMg0L/QvtC00LXQvNC40YHQuNGY 0LAKLSBDb21tZW50W3NyQGxhdGluXT1QcmVnbGVkYWp0ZSBpIHByZXRwbGF0aXRlIHNlIG5hIG9n cm9tbnUgbGlzdHUgcG9kZW1pc2lqYQoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmlu ZGV4IDQ1ZDQzZDAuLjgzZTUwMGMgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpA QCAtMSArMSBAQAotZWM3MjdlZDcyYzVkMzcxZmI2NTljZTBjM2MxZTYxMzYgIGFtYXJvay0yLjEu OTAudGFyLmJ6MgorNWEwMTg4YzVlYjdkMzQzMTA5YjgyOTY0OTQyZDhlYjUgIGFtYXJvay0yLjIu MC50YXIuYnoyCg==