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: Owen W. Taylor To: git-commits@fedoraproject.org Subject: [rpms/rpkg] 1.70-1: Add patch from upstream pull-request to add a flatpak-build subcommand Date: Mon, 10 Aug 2026 21:43:58 GMT Message-ID: <178639823828.1.10460689309413768079.rpms-rpkg-05492aceb1fa@fedoraproject.org> List-ID: X-Git-Repo: rpms/rpkg X-Git-Branch: 1.70-1 X-Git-Rev: 05492aceb1fad4c7dedafd945f302d11ba4717e3 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvcnBrZwogICAgICAgICAgICBCcmFuY2ggOiAxLjcwLTEKICAgICAgICAgICAg Q29tbWl0IDogMDU0OTJhY2ViMWZhZDRjN2RlZGFmZDk0NWYzMDJkMTFiYTQ3MTdlMwogICAgICAg ICAgICBBdXRob3IgOiBPd2VuIFcuIFRheWxvciA8b3RheWxvckBmaXNoc291cC5uZXQ+CiAgICAg ICAgICAgIERhdGUgICA6IDIwMTgtMDktMjFUMTE6MTc6MzktMDQ6MDAKICAgICAgICAgICAgU3Rh dHMgIDogKzExNDAvLTIgaW4gMiBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAgICA6IGh0dHBzOi8v c3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvcnBrZy9jLzA1NDkyYWNlYjFmYWQ0YzdkZWRhZmQ5 NDVmMzAyZDExYmE0NzE3ZTM/YnJhbmNoPTEuNzAtMQoKICAgICAgICAgICAgTG9nOgogICAgICAg ICAgICBBZGQgcGF0Y2ggZnJvbSB1cHN0cmVhbSBwdWxsLXJlcXVlc3QgdG8gYWRkIGEgZmxhdHBh ay1idWlsZCBzdWJjb21tYW5kCgpTZWUgaHR0cHM6Ly9wYWd1cmUuaW8vcnBrZy9wdWxsLXJlcXVl c3QvMzYxCgpUaGlzIGFsc28gYWRkcyBQeVlBTUwgZGVwZW5kZW5jaWVzIC0gd2l0aG91dCB0aGlz LCB0aGUgc3BlYyBmaWxlIGRpZG4ndAp3b3JrIG9uIEVQRUw2L0VQRUw3IGFuZCBpdCB3YXMgaGFy ZCB0byB0ZXN0IHRoZSBjb25kaXRpb25hbGl6YXRpb24uCgotLS0KZGlmZiAtLWdpdCBhL2FkZC1m bGF0cGFrLWJ1aWxkLnBhdGNoIGIvYWRkLWZsYXRwYWstYnVpbGQucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDlhYThhZgotLS0gL2Rldi9udWxsCisrKyBiL2FkZC1m bGF0cGFrLWJ1aWxkLnBhdGNoCkBAIC0wLDAgKzEsMTExMCBAQAorZGlmZiAtLWdpdCBhL2V0Yy9i YXNoX2NvbXBsZXRpb24uZC9ycGtnLmJhc2ggYi9ldGMvYmFzaF9jb21wbGV0aW9uLmQvcnBrZy5i YXNoCitpbmRleCA5ZGQ4ZGUzLi5jNTY0YWZjIDEwMDY0NAorLS0tIGEvZXRjL2Jhc2hfY29tcGxl dGlvbi5kL3Jwa2cuYmFzaAorKysrIGIvZXRjL2Jhc2hfY29tcGxldGlvbi5kL3Jwa2cuYmFzaAor QEAgLTM0LDggKzM0LDggQEAgX3Jwa2coKQorIAorICAgICBsb2NhbCBvcHRpb25zPSItLWhlbHAg LXYgLXEiCisgICAgIGxvY2FsIG9wdGlvbnNfdmFsdWU9Ii0tZGlzdCAtLXJlbGVhc2UgLS11c2Vy IC0tcGF0aCIKKy0gICAgbG9jYWwgY29tbWFuZHM9ImJ1aWxkIGNoYWluLWJ1aWxkIGNpIGNsZWFu IGNsb2cgY2xvbmUgY28gY29udGFpbmVyLWJ1aWxkIGNvbnRhaW5lci1idWlsZC1jb25maWcgY29t bWl0IGNvbXBpbGUgY29wci1idWlsZCBkaWZmIGdpbW1lc3BlYyBnaXR1cmwgaGVscCBcCistICAg IGdpdGJ1aWxkaGFzaCBpbXBvcnQgaW5zdGFsbCBsaW50IGxvY2FsIG1vY2tidWlsZCBtb2NrLWNv bmZpZyBuZXcgbmV3LXNvdXJjZXMgcGF0Y2ggcHJlcCBwdWxsIHB1c2ggc2NyYXRjaC1idWlsZCBz b3VyY2VzIFwKKysgICAgbG9jYWwgY29tbWFuZHM9ImJ1aWxkIGNoYWluLWJ1aWxkIGNpIGNsZWFu IGNsb2cgY2xvbmUgY28gY29udGFpbmVyLWJ1aWxkIGNvbnRhaW5lci1idWlsZC1jb25maWcgY29t bWl0IGNvbXBpbGUgY29wci1idWlsZCBkaWZmIGZsYXRwYWstYnVpbGQgXAorKyAgICBnaW1tZXNw ZWMgZ2l0dXJsIGhlbHAgZ2l0YnVpbGRoYXNoIGltcG9ydCBpbnN0YWxsIGxpbnQgbG9jYWwgbW9j a2J1aWxkIG1vY2stY29uZmlnIG5ldyBuZXctc291cmNlcyBwYXRjaCBwcmVwIHB1bGwgcHVzaCBz Y3JhdGNoLWJ1aWxkIHNvdXJjZXMgXAorICAgICBzcnBtIHN3aXRjaC1icmFuY2ggdGFnIHVudXNl ZC1wYXRjaGVzIHVwbG9hZCB2ZXJpZnktZmlsZXMgdmVycmVsIgorIAorICAgICAjIHBhcnNlIG1h aW4gb3B0aW9ucyBhbmQgZ2V0IGNvbW1hbmQKK0BAIC0xNTIsNiArMTUyLDEyIEBAIF9ycGtnKCkK KyAgICAgICAgICAgICBhZnRlcj0iZmlsZSIKKyAgICAgICAgICAgICBhZnRlcl9tb3JlPXRydWUK KyAgICAgICAgICAgICA7OworKyAgICAgICAgZmxhdHBhay1idWlsZCkKKysgICAgICAgICAgICBv cHRpb25zPSItLXNjcmF0Y2ggLS1ub3dhaXQiCisrICAgICAgICAgICAgb3B0aW9uc190YXJnZXQ9 Ii0tdGFyZ2V0IgorKyAgICAgICAgICAgIG9wdGlvbnNfc3RyaW5nPSItLXJlcG8tdXJsIgorKyAg ICAgICAgICAgIG9wdGlvbnNfYXJjaGVzPSItLWFyY2hlcyIKKysgICAgICAgICAgICA7OworICAg ICAgICAgaW1wb3J0KQorICAgICAgICAgICAgIG9wdGlvbnM9Ii0tY3JlYXRlIgorICAgICAgICAg ICAgIG9wdGlvbnNfYnJhbmNoPSItLWJyYW5jaCIKK2RpZmYgLS1naXQgYS9weXJwa2cvX19pbml0 X18ucHkgYi9weXJwa2cvX19pbml0X18ucHkKK2luZGV4IDY5NmM5YzMuLmFhMjNjYmQgMTAwNjQ0 CistLS0gYS9weXJwa2cvX19pbml0X18ucHkKKysrKyBiL3B5cnBrZy9fX2luaXRfXy5weQorQEAg LTM5LDYgKzM5LDcgQEAgZnJvbSBzaXgubW92ZXMgaW1wb3J0IGNvbmZpZ3BhcnNlcgorIGZyb20g c2l4Lm1vdmVzIGltcG9ydCB1cmxsaWIKKyBmcm9tIHNpeC5tb3Zlcy51cmxsaWIucGFyc2UgaW1w b3J0IHVybGpvaW4KKyBpbXBvcnQgcmVxdWVzdHMKKytpbXBvcnQgeWFtbAorIAorIGZyb20gcHly cGtnLmVycm9ycyBpbXBvcnQgSGFzaHR5cGVNaXhpbmdFcnJvciwgcnBrZ0Vycm9yLCBycGtnQXV0 aEVycm9yLCBcCisgICAgIFVua25vd25UYXJnZXRFcnJvcgorQEAgLTQ3LDYgKzQ4LDEzIEBAIGZy b20gcHlycGtnLmxvb2thc2lkZSBpbXBvcnQgQ0dJTG9va2FzaWRlQ2FjaGUKKyBmcm9tIHB5cnBr Zy5zb3VyY2VzIGltcG9ydCBTb3VyY2VzRmlsZQorIGZyb20gcHlycGtnLnV0aWxzIGltcG9ydCBj YWNoZWRfcHJvcGVydHksIGxvZ19yZXN1bHQsIGZpbmRfbWUKKyAKKytQWTI2ID0gc3lzLnZlcnNp b25faW5mbyA8ICgyLCA3LCAwKQorKworK2lmIG5vdCBQWTI2OgorKyAgICBpbXBvcnQgZ2kKKysg ICAgZ2kucmVxdWlyZV92ZXJzaW9uKCdNb2R1bGVtZCcsICcxLjAnKSAgIyByYWlzZXMgVmFsdWVF cnJvcgorKyAgICBmcm9tIGdpLnJlcG9zaXRvcnkgaW1wb3J0IE1vZHVsZW1kICAjIG5vcWEKKysK KyAKKyBjbGFzcyBOdWxsSGFuZGxlcihsb2dnaW5nLkhhbmRsZXIpOgorICAgICAiIiJOdWxsIGxv Z2dlciB0byBhdm9pZCBzcHVyaW91cyBtZXNzYWdlcywgYWRkIGEgaGFuZGxlciBpbiBhcHAgY29k ZSIiIgorQEAgLTE1Niw2ICsxNjQsOCBAQCBjbGFzcyBDb21tYW5kcyhvYmplY3QpOgorICAgICAg ICAgc2VsZi5fdGFyZ2V0ID0gdGFyZ2V0CisgICAgICAgICAjIFRoZSBidWlsZCB0YXJnZXQgZm9y IGNvbnRhaW5lcnMgd2l0aGluIHRoZSBidWlsZHN5c3RlbQorICAgICAgICAgc2VsZi5fY29udGFp bmVyX2J1aWxkX3RhcmdldCA9IHRhcmdldAorKyAgICAgICAgIyBUaGUgYnVpbGQgdGFyZ2V0IGZv ciBmbGF0cGFrcyB3aXRoaW4gdGhlIGJ1aWxkc3lzdGVtCisrICAgICAgICBzZWxmLl9mbGF0cGFr X2J1aWxkX3RhcmdldCA9IHRhcmdldAorICAgICAgICAgIyBUaGUgdG9wIHVybCB0byBvdXIgYnVp bGQgc2VydmVyCisgICAgICAgICBzZWxmLl90b3B1cmwgPSBOb25lCisgICAgICAgICAjIFRoZSB1 c2VyIHRvIHVzZSBvciBkaXNjb3ZlcgorQEAgLTE5MSw2ICsyMDEsOCBAQCBjbGFzcyBDb21tYW5k cyhvYmplY3QpOgorICAgICAgICAgc2VsZi5sb29rYXNpZGVfbmFtZXNwYWNlZCA9IGxvb2thc2lk ZV9uYW1lc3BhY2VkCisgICAgICAgICAjIERlcHJlY2F0ZXMgc2VsZi5tb2R1bGVfbmFtZQorICAg ICAgICAgc2VsZi5fcmVwb19uYW1lID0gTm9uZQorKyAgICAgICAgIyBBUEkgVVJMIGZvciB0aGUg bW9kdWxlIGJ1aWxkIHNlcnZlcgorKyAgICAgICAgc2VsZi5tb2R1bGVfYXBpX3VybCA9IE5vbmUK KyAKKyAgICAgIyBEZWZpbmUgcHJvcGVydGllcyBoZXJlCisgICAgICMgUHJvcGVydGllcyBhbGxv dyB1cyB0byAibGF6eSBsb2FkIiB2YXJpb3VzIGF0dHJpYnV0ZXMsIHdoaWNoIGFsc28gbWVhbnMK K0BAIC04ODcsNiArODk5LDk5IEBAIGNsYXNzIENvbW1hbmRzKG9iamVjdCk6CisgICAgICAgICAi IiJUaGlzIGNyZWF0ZXMgYSB0YXJnZXQgYmFzZWQgb24gZ2l0IGJyYW5jaCBhbmQgbmFtZXNwYWNl LiIiIgorICAgICAgICAgc2VsZi5fY29udGFpbmVyX2J1aWxkX3RhcmdldCA9ICclcy0lcy1jYW5k aWRhdGUnICUgKHNlbGYuYnJhbmNoX21lcmdlLCBzZWxmLm5zKQorIAorKyAgICBAcHJvcGVydHkK KysgICAgZGVmIGZsYXRwYWtfYnVpbGRfdGFyZ2V0KHNlbGYpOgorKyAgICAgICAgIiIiVGhpcyBw cm9wZXJ0eSBlbnN1cmVzIHRoZSB0YXJnZXQgZm9yIGNvbnRhaW5lciBidWlsZHMuIiIiCisrICAg ICAgICBpZiBub3Qgc2VsZi5fZmxhdHBha19idWlsZF90YXJnZXQ6CisrICAgICAgICAgICAgc2Vs Zi5sb2FkX2ZsYXRwYWtfYnVpbGRfdGFyZ2V0KCkKKysgICAgICAgIHJldHVybiBzZWxmLl9mbGF0 cGFrX2J1aWxkX3RhcmdldAorKworKyAgICBkZWYgX2ZpbmRfcGxhdGZvcm1fc3RyZWFtKHNlbGYs IG5hbWUsIHN0cmVhbSwgdmVyc2lvbj1Ob25lKToKKysgICAgICAgICIiIlJlY3Vyc2l2ZWx5IHNl YXJjaCBmb3IgdGhlIHBsYXRmb3JtIG1vZHVsZSBpbiBkZXBlbmRlbmNpZXMgdG8gZmluZCBpdHMg c3RyZWFtLgorKworKyAgICAgICAgVGhlIHN0cmVhbSBvZiB0aGUgJ3BsYXRmb3JtJyBwc2V1ZG8t bW9kdWxlIGRldGVybWluZXMgd2hhdCBiYXNlIHBhY2thZ2Ugc2V0CisrICAgICAgICB3ZSBuZWVk IGZvciB0aGUgcnVudGltZSAtIGFuZCB0aHVzIHdoYXQgYnVpbGQgdGFyZ2V0IHdlIG5lZWQuCisr ICAgICAgICAiIiIKKysKKysgICAgICAgIGlmIHZlcnNpb24gaXMgbm90IE5vbmU6CisrICAgICAg ICAgICAgbnN2YyA9IG5hbWUgKyAnOicgKyBzdHJlYW0gKyAnOicgKyB2ZXJzaW9uCisrICAgICAg ICBlbHNlOgorKyAgICAgICAgICAgIG5zdmMgPSBuYW1lICsgJzonICsgc3RyZWFtCisrCisrICAg ICAgICBidWlsZCA9IHNlbGYubW9kdWxlX2dldF9sYXRlc3RfYnVpbGQobnN2YykKKysKKysgICAg ICAgIGlmIGJ1aWxkIGlzIE5vbmU6CisrICAgICAgICAgICAgcmFpc2UgcnBrZ0Vycm9yKCJDYW5u b3QgZmluZCBhbnkgYnVpbGRzIGZvciBtb2R1bGUgJXM6JXMiICUKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKG5hbWUsIHN0cmVhbSkpCisrCisrICAgICAgICBtbWRfc3RyID0gYnVpbGRb J21vZHVsZW1kJ10KKysKKysgICAgICAgIG9iamVjdHMgPSBNb2R1bGVtZC5vYmplY3RzX2Zyb21f c3RyaW5nKG1tZF9zdHIpCisrICAgICAgICBtb2R1bGVzID0gW28gZm9yIG8gaW4gb2JqZWN0cyBp ZiBpc2luc3RhbmNlKG8sICBNb2R1bGVtZC5Nb2R1bGUpXQorKyAgICAgICAgaWYgbGVuKG1vZHVs ZXMpICE9IDE6CisrICAgICAgICAgICAgcmFpc2UgcnBrZ0Vycm9yKCJGYWlsZWQgdG8gbG9hZCBt b2R1bGVtZCBmb3IgJXMiICUgbnN2YykKKysKKysgICAgICAgICMgU3RyZWFtcyBzaG91bGQgYWxy ZWFkeSBiZSBleHBhbmRlZCBpbiB0aGUgbW9kdWxlbWQncyB0aGF0IHdlIHJldHJpZXZlCisrICAg ICAgICAjIGZyb20gTUJTIC0gbW9kdWxlcyB3ZXJlIGJ1aWx0IGFnYWluc3QgYSBwYXJ0aWN1bGFy IGRlcGVuZGVuY3kuCisrICAgICAgICBkZWYgZ2V0X3N0cmVhbShyZXEsIHJlcV9zdHJlYW0pOgor KyAgICAgICAgICAgIHJlcV9zdHJlYW1fbGlzdCA9IHJlcV9zdHJlYW0uZ2V0KCkKKysgICAgICAg ICAgICBpZiBsZW4ocmVxX3N0cmVhbV9saXN0KSAhPSAxOgorKyAgICAgICAgICAgICAgICByYWlz ZSBycGtnRXJyb3IoIiVzOiBzdHJlYW0gbGlzdCBmb3IgJyVzJyBpcyBub3QgZXhwYW5kZWQgKCVz KSIgJQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5zdmMsIHJlcSwgcmVxX3N0 cmVhbV9saXN0KSkKKysgICAgICAgICAgICByZXR1cm4gcmVxX3N0cmVhbV9saXN0WzBdCisrCisr ICAgICAgICAjIFdlIGZpcnN0IGxvb2sgZm9yICdwbGF0Zm9ybScgYXMgYSBkaXJlY3QgZGVwZW5k ZW5jeSBvZiB0aGlzIG1vZHVsZSwKKysgICAgICAgICMgYmVmb3JlIHJlY3Vyc2luZyBpbnRvIHRo ZSBkZXBlbmRlbmNpZXMKKysgICAgICAgIGZvciBkZXAgaW4gbW9kdWxlc1swXS5wZWVrX2RlcGVu ZGVuY2llcygpOgorKyAgICAgICAgICAgIGZvciByZXEsIHJlcV9zdHJlYW0gaW4gZGVwLnBlZWtf cmVxdWlyZXMoKS5pdGVtcygpOgorKyAgICAgICAgICAgICAgICBpZiByZXEgPT0gJ3BsYXRmb3Jt JzoKKysgICAgICAgICAgICAgICAgICAgIHJldHVybiBnZXRfc3RyZWFtKHJlcSwgcmVxX3N0cmVh bSkKKysKKysgICAgICAgICMgTm93IHJlY3Vyc2UgaW50byB0aGUgZGVwZW5kZW5jaWVzCisrICAg ICAgICBmb3IgZGVwIGluIG1vZHVsZXNbMF0ucGVla19kZXBlbmRlbmNpZXMoKToKKysgICAgICAg ICAgICBmb3IgcmVxLCByZXFfc3RyZWFtIGluIGRlcC5wZWVrX3JlcXVpcmVzKCkuaXRlbXMoKToK KysgICAgICAgICAgICAgICAgcGxhdGZvcm1fc3RyZWFtID0gc2VsZi5fZmluZF9wbGF0Zm9ybV9z dHJlYW0ocmVxLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBnZXRfc3RyZWFtKHJlcSwgcmVxX3N0cmVhbSkpCisrICAgICAgICAg ICAgICAgIGlmIHBsYXRmb3JtX3N0cmVhbToKKysgICAgICAgICAgICAgICAgICAgIHJldHVybiBw bGF0Zm9ybV9zdHJlYW0KKysKKysgICAgICAgIHJldHVybiBOb25lCisrCisrICAgIGRlZiBsb2Fk X2ZsYXRwYWtfYnVpbGRfdGFyZ2V0KHNlbGYpOgorKyAgICAgICAgIiIiVGhpcyBsb2NhdGVzIGEg dGFyZ2V0IGFwcHJvcHJpYXRlIGZvciB0aGUgcnVudGltZSB0aGF0IHRoZSBGbGF0cGFrIHRhcmdl dHMuIiIiCisrCisrICAgICAgICAjIEZpbmQgdGhlIG1vZHVsZSB3ZSBhcmUgZ29pbmcgdG8gYnVp bGQgZnJvbSBjb250YWluZXIueWFtbAorKyAgICAgICAgeWFtbF9wYXRoID0gb3MucGF0aC5qb2lu KHNlbGYucGF0aCwgImNvbnRhaW5lci55YW1sIikKKysgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4 aXN0cyh5YW1sX3BhdGgpOgorKyAgICAgICAgICAgIHJhaXNlIHJwa2dFcnJvcigiQ2Fubm90IGZp bmQgJ2NvbnRhaW5lci55YW1sJyB0byBkZXRlcm1pbmUgYnVpbGQgdGFyZ2V0LiIpCisrCisrICAg ICAgICB3aXRoIG9wZW4oeWFtbF9wYXRoKSBhcyBmOgorKyAgICAgICAgICAgIGNvbnRhaW5lcl95 YW1sID0geWFtbC5zYWZlX2xvYWQoZikKKysKKysgICAgICAgIGNvbXBvc2UgPSBjb250YWluZXJf eWFtbC5nZXQoJ2NvbXBvc2UnLCB7fSkKKysgICAgICAgIG1vZHVsZXMgPSBjb21wb3NlLmdldCgn bW9kdWxlcycsIFtdKQorKyAgICAgICAgaWYgbm90IG1vZHVsZXM6CisrICAgICAgICAgICAgcmFp c2UgcnBrZ0Vycm9yKCJObyBtb2R1bGVzIGxpc3RlZCBpbiAnY29udGFpbmVyLnlhbWwnIikKKysg ICAgICAgIGlmIGxlbihtb2R1bGVzKSA+IDE6CisrICAgICAgICAgICAgcmFpc2UgcnBrZ0Vycm9y KCJNdWx0aXBsZSBtb2R1bGVzIGxpc3RlZCBpbiAnY29udGFpbmVyLnlhbWwnIikKKysgICAgICAg IG1vZHVsZSA9IG1vZHVsZXNbMF0KKysKKysgICAgICAgIHBhcnRzID0gbW9kdWxlLnNwbGl0KCc6 JykKKysgICAgICAgIGlmIGxlbihwYXJ0cykgPT0gMjoKKysgICAgICAgICAgICBuYW1lLCBzdHJl YW0gPSBwYXJ0cworKyAgICAgICAgICAgIHZlcnNpb24gPSBOb25lCisrICAgICAgICBlbGlmIGxl bihwYXJ0cykgPT0gMzoKKysgICAgICAgICAgICBuYW1lLCBzdHJlYW0sIHZlcnNpb24gPSBwYXJ0 cworKyAgICAgICAgZWxzZToKKysgICAgICAgICAgICByYWlzZSBycGtnRXJyb3IoIk1vZHVsZSBp biBjb250YWluZXIueWFtbCBzaG91bGQgYmUgTkFNRTpTVFJFQU1bOlZFUlNJT05dIikKKysKKysg ICAgICAgIHBsYXRmb3JtX3N0cmVhbSA9IHNlbGYuX2ZpbmRfcGxhdGZvcm1fc3RyZWFtKG5hbWUs IHN0cmVhbSwgdmVyc2lvbj12ZXJzaW9uKQorKyAgICAgICAgaWYgcGxhdGZvcm1fc3RyZWFtIGlz IE5vbmU6CisrICAgICAgICAgICAgcmFpc2UgcnBrZ0Vycm9yKCJVbmFibGUgdG8gZmluZCAncGxh dGZvcm0nIG1vZHVsZSBpbiB0aGUgZGVwZW5kZW5jaWVzIG9mICclcyc7ICIKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgImNhbid0IGRldGVybWluZSB0YXJnZXQiICUgbW9kdWxlKQorKwor KyAgICAgICAgc2VsZi5fZmxhdHBha19idWlsZF90YXJnZXQgPSAnJXMtZmxhdHBhay1jYW5kaWRh dGUnICUgcGxhdGZvcm1fc3RyZWFtCisrCisgICAgIEBwcm9wZXJ0eQorICAgICBkZWYgdG9wdXJs KHNlbGYpOgorICAgICAgICAgIiIiVGhpcyBwcm9wZXJ0eSBlbnN1cmVzIHRoZSB0b3B1cmwgYXR0 cmlidXRlIiIiCitAQCAtMjgyNCwxMCArMjkyOSwxNCBAQCBjbGFzcyBDb21tYW5kcyhvYmplY3Qp OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga29qaWNvbmZpZz1Ob25lLCBrb2ppcHJv ZmlsZT1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRfY2xpZW50PU5v bmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrb2ppX3Rhc2tfd2F0Y2hlcj1Ob25l LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm93YWl0PUZhbHNlKToKKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG5vd2FpdD1GYWxzZSwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGZsYXRwYWs9RmFsc2UpOgorKworICAgICAgICAgIyBjaGVjayBpZiByZXBvIGlz IGRpcnR5IGFuZCBhbGwgY29tbWl0cyBhcmUgcHVzaGVkCisgICAgICAgICBzZWxmLmNoZWNrX3Jl cG8oKQorLSAgICAgICAgY29udGFpbmVyX3RhcmdldCA9IHNlbGYudGFyZ2V0IGlmIHRhcmdldF9v dmVycmlkZSBlbHNlIHNlbGYuY29udGFpbmVyX2J1aWxkX3RhcmdldAorKyAgICAgICAgY29udGFp bmVyX3RhcmdldCA9IHNlbGYudGFyZ2V0IGlmIHRhcmdldF9vdmVycmlkZSBcCisrICAgICAgICAg ICAgZWxzZSBzZWxmLmZsYXRwYWtfYnVpbGRfdGFyZ2V0IGlmIGZsYXRwYWsgXAorKyAgICAgICAg ICAgIGVsc2Ugc2VsZi5jb250YWluZXJfYnVpbGRfdGFyZ2V0CisgCisgICAgICAgICAjIFRoaXMg aXMgZm9yIGJhY2t3YXJkLWNvbXBhdGliaWxpdHkgb2YgZGVwcmVjYXRlZCBrb2ppY29uZmlnLgor ICAgICAgICAgIyBTaWduYXR1cmUgb2YgY29udGFpbmVyX2J1aWxkX2tvamkgaXMgbm90IGNoYW5n ZWQgaW4gY2FzZSBzb21lb25lCitAQCAtMjg3MSw2ICsyOTgwLDkgQEAgY2xhc3MgQ29tbWFuZHMo b2JqZWN0KToKKyAgICAgICAgICAgICAgICAgICAgIHJhaXNlIHJwa2dFcnJvcignQ2Fubm90IG92 ZXJyaWRlIGFyY2hlcyBmb3Igbm9uLXNjcmF0Y2ggYnVpbGRzJykKKyAgICAgICAgICAgICAgICAg dGFza19vcHRzWydhcmNoX292ZXJyaWRlJ10gPSAnICcuam9pbihhcmNoZXMpCisgCisrICAgICAg ICAgICAgaWYgZmxhdHBhazoKKysgICAgICAgICAgICAgICAgdGFza19vcHRzWydmbGF0cGFrJ10g PSBUcnVlCisrCisgICAgICAgICAgICAgcHJpb3JpdHkgPSBvcHRzLmdldCgicHJpb3JpdHkiLCBO b25lKQorICAgICAgICAgICAgIHRhc2tfaWQgPSBzZWxmLmtvamlzZXNzaW9uLmJ1aWxkQ29udGFp bmVyKHNvdXJjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb250YWluZXJfdGFyZ2V0LAorQEAgLTI5MzMsMTMgKzMwNDUsMTIgQEAgY2xh c3MgQ29tbWFuZHMob2JqZWN0KToKKyAgICAgICAgIGNtZC5leHRlbmQoW3Byb2plY3QsIHNycG1f bmFtZV0pCisgICAgICAgICBzZWxmLl9ydW5fY29tbWFuZChjbWQpCisgCistICAgIGRlZiBtb2R1 bGVfYnVpbGRfY2FuY2VsKHNlbGYsIGFwaV91cmwsIGJ1aWxkX2lkLCBhdXRoX21ldGhvZCwKKysg ICAgZGVmIG1vZHVsZV9idWlsZF9jYW5jZWwoc2VsZiwgYnVpbGRfaWQsIGF1dGhfbWV0aG9kLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvaWRjX2lkX3Byb3ZpZGVyPU5vbmUsIG9pZGNf Y2xpZW50X2lkPU5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9pZGNfY2xpZW50 X3NlY3JldD1Ob25lLCBvaWRjX3Njb3Blcz1Ob25lKToKKyAgICAgICAgICIiIgorICAgICAgICAg Q2FuY2VsIGFuIE1CUyBidWlsZAorIAorLSAgICAgICAgOnBhcmFtIHN0ciBhcGlfdXJsOiBVUkwg b2YgdGhlIE1CUyBBUEkKKyAgICAgICAgIDpwYXJhbSBpbnQgYnVpbGRfaWQ6IGJ1aWxkIElEIHRv IGNhbmNlbAorICAgICAgICAgOnBhcmFtIHN0ciBhdXRoX21ldGhvZDogYXV0aGVudGljYXRpb24g bWV0aG9kIHVzZWQgYnkgdGhlIE1CUworICAgICAgICAgOmt3YXJnIHN0ciBvaWRjX2lkX3Byb3Zp ZGVyOiB0aGUgT0lEQyBwcm92aWRlciB3aGVuIE1CUyBpcyB1c2luZyBPSURDCitAQCAtMjk1Myw4 ICszMDY0LDggQEAgY2xhc3MgQ29tbWFuZHMob2JqZWN0KToKKyAgICAgICAgICAgICBmb3IgYXV0 aGVudGljYXRpb24KKyAgICAgICAgICIiIgorICAgICAgICAgIyBNYWtlIHN1cmUgdGhlIGJ1aWxk IHRoZXkgYXJlIHRyeWluZyB0byBjYW5jZWwgZXhpc3RzCistICAgICAgICBzZWxmLm1vZHVsZV9n ZXRfYnVpbGQoYXBpX3VybCwgYnVpbGRfaWQpCistICAgICAgICB1cmwgPSBzZWxmLm1vZHVsZV9n ZXRfdXJsKGFwaV91cmwsIGJ1aWxkX2lkLCBhY3Rpb249J1BBVENIJykKKysgICAgICAgIHNlbGYu bW9kdWxlX2dldF9idWlsZChidWlsZF9pZCkKKysgICAgICAgIHVybCA9IHNlbGYubW9kdWxlX2dl dF91cmwoYnVpbGRfaWQsIGFjdGlvbj0nUEFUQ0gnKQorICAgICAgICAgcmVzcCA9IHNlbGYubW9k dWxlX3NlbmRfYXV0aG9yaXplZF9yZXF1ZXN0KAorICAgICAgICAgICAgICdQQVRDSCcsIHVybCwg eydzdGF0ZSc6ICdmYWlsZWQnfSwgYXV0aF9tZXRob2QsIG9pZGNfaWRfcHJvdmlkZXIsCisgICAg ICAgICAgICAgb2lkY19jbGllbnRfaWQsIG9pZGNfY2xpZW50X3NlY3JldCwgb2lkY19zY29wZXMs IHRpbWVvdXQ9NjApCitAQCAtMjk2NywxOCArMzA3OCwxNyBAQCBjbGFzcyBDb21tYW5kcyhvYmpl Y3QpOgorICAgICAgICAgICAgICAgICAnVGhlIGNhbmNlbGxhdGlvbiBvZiBtb2R1bGUgYnVpbGQg I3swfSBmYWlsZWQgd2l0aDpcbnsxfScKKyAgICAgICAgICAgICAgICAgLmZvcm1hdChidWlsZF9p ZCwgZXJyb3JfbXNnKSkKKyAKKy0gICAgZGVmIG1vZHVsZV9idWlsZF9pbmZvKHNlbGYsIGFwaV91 cmwsIGJ1aWxkX2lkKToKKysgICAgZGVmIG1vZHVsZV9idWlsZF9pbmZvKHNlbGYsIGJ1aWxkX2lk KToKKyAgICAgICAgICIiIgorICAgICAgICAgU2hvdyBpbmZvcm1hdGlvbiBhYm91dCBhbiBNQlMg YnVpbGQKKyAKKy0gICAgICAgIDpwYXJhbSBzdHIgYXBpX3VybDogVVJMIG9mIHRoZSBNQlMgQVBJ CisgICAgICAgICA6cGFyYW0gaW50IGJ1aWxkX2lkOiBidWlsZCBJRCB0byBxdWVyeSBNQlMgYWJv dXQKKyAgICAgICAgICIiIgorICAgICAgICAgIyBMb2FkIHRoZSBLb2ppIHNlc3Npb24gYW5vbnlt b3VzbHkgc28gd2UgZ2V0IGFjY2VzcyB0byB0aGUgS29qaSB3ZWIKKyAgICAgICAgICMgVVJMCisg ICAgICAgICBzZWxmLmxvYWRfa29qaXNlc3Npb24oYW5vbj1UcnVlKQorICAgICAgICAgc3RhdGVf bmFtZXMgPSBzZWxmLm1vZHVsZV9nZXRfa29qaV9zdGF0ZV9kaWN0KCkKKy0gICAgICAgIGRhdGEg PSBzZWxmLm1vZHVsZV9nZXRfYnVpbGQoYXBpX3VybCwgYnVpbGRfaWQpCisrICAgICAgICBkYXRh ID0gc2VsZi5tb2R1bGVfZ2V0X2J1aWxkKGJ1aWxkX2lkKQorICAgICAgICAgcHJpbnQoJ05hbWU6 ICAgICAgICAgICB7MH0nLmZvcm1hdChkYXRhWyduYW1lJ10pKQorICAgICAgICAgcHJpbnQoJ1N0 cmVhbTogICAgICAgICB7MH0nLmZvcm1hdChkYXRhWydzdHJlYW0nXSkpCisgICAgICAgICBwcmlu dCgnVmVyc2lvbjogICAgICAgIHswfScuZm9ybWF0KGRhdGFbJ3ZlcnNpb24nXSkpCitAQCAtMzAw MCwxNCArMzExMCwxMyBAQCBjbGFzcyBDb21tYW5kcyhvYmplY3QpOgorICAgICAgICAgICAgICAg ICBzdGF0ZV9uYW1lc1t0YXNrX2RhdGEuZ2V0KCdzdGF0ZScsIE5vbmUpXSkpCisgICAgICAgICAg ICAgcHJpbnQoJyAgICBLb2ppIFRhc2s6ICB7MH1cbicuZm9ybWF0KGtvamlfdGFza191cmwpKQor IAorLSAgICBkZWYgbW9kdWxlX2dldF9idWlsZChzZWxmLCBhcGlfdXJsLCBidWlsZF9pZCk6Cisr ICAgIGRlZiBtb2R1bGVfZ2V0X2J1aWxkKHNlbGYsIGJ1aWxkX2lkKToKKyAgICAgICAgICIiIgor ICAgICAgICAgR2V0IGFuIE1CUyBidWlsZAorLSAgICAgICAgOnBhcmFtIGFwaV91cmw6IGEgc3Ry aW5nIG9mIHRoZSBVUkwgb2YgdGhlIE1CUyBBUEkKKyAgICAgICAgIDpwYXJhbSBidWlsZF9pZDog YW4gaW50ZWdlciBvZiB0aGUgYnVpbGQgSUQgdG8gcXVlcnkgTUJTIGFib3V0CisgICAgICAgICA6 cmV0dXJuOiBOb25lIG9yIGEgZGljdGlvbmFyeSByZXByZXNlbnRpbmcgdGhlIG1vZHVsZSBidWls ZAorICAgICAgICAgIiIiCistICAgICAgICB1cmwgPSBzZWxmLm1vZHVsZV9nZXRfdXJsKGFwaV91 cmwsIGJ1aWxkX2lkKQorKyAgICAgICAgdXJsID0gc2VsZi5tb2R1bGVfZ2V0X3VybChidWlsZF9p ZCkKKyAgICAgICAgIHJlc3BvbnNlID0gcmVxdWVzdHMuZ2V0KHVybCwgdGltZW91dD02MCkKKyAg ICAgICAgIGlmIHJlc3BvbnNlLm9rOgorICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5qc29u KCkKK0BAIC0zMDIwLDExICszMTI5LDQyIEBAIGNsYXNzIENvbW1hbmRzKG9iamVjdCk6CisgICAg ICAgICAgICAgICAgICdUaGUgZm9sbG93aW5nIGVycm9yIG9jY3VycmVkIHdoaWxlIGdldHRpbmcg aW5mb3JtYXRpb24gb24gJworICAgICAgICAgICAgICAgICAnbW9kdWxlIGJ1aWxkICN7MH06XG57 MX0nLmZvcm1hdChidWlsZF9pZCwgZXJyb3JfbXNnKSkKKyAKKy0gICAgZGVmIG1vZHVsZV9nZXRf dXJsKHNlbGYsIGFwaV91cmwsIGJ1aWxkX2lkLCBhY3Rpb249J0dFVCcpOgorKyAgICBkZWYgbW9k dWxlX2dldF9sYXRlc3RfYnVpbGQoc2VsZiwgbnN2Yyk6CisrICAgICAgICAiIiIKKysgICAgICAg IEdldCB0aGUgbGF0ZXN0IE1CUyBidWlsZCBmb3IgYSBwYXJ0aWN1bGFyIG1vZHVsZS4gSWYgdGhl IG1vZHVsZSBpcworKyAgICAgICAgYnVpbHQgd2l0aCBtdWx0aXBsZSBjb250ZXh0cywgYSByYW5k b20gb25lIHdpbGwgYmUgcmV0dXJuZWQuCisrCisrICAgICAgICA6cGFyYW0gbnN2YzogYSBOQU1F OlNUUkVBTTpWRVJTSU9OOkNPTlRFWFQgdG8gZmlsdGVyIHRoZSBxdWVyeQorKyAgICAgICAgICAg ICAgIChtYXkgYmUgcGFydGlhbCAtIGUuZy4gb25seSBOQU1FIG9yIG9ubHkgTkFNRTpTVFJFQU0p CisrICAgICAgICA6cmV0dXJuOiB0aGUgbGF0ZXN0IGJ1aWxkCisrICAgICAgICAiIiIKKysgICAg ICAgIHVybCA9IHNlbGYubW9kdWxlX2dldF91cmwoTm9uZSkKKysgICAgICAgIHBhcmFtcyA9IHsK KysgICAgICAgICAgICAnbnN2Yyc6IG5zdmMsCisrICAgICAgICAgICAgJ29yZGVyX2Rlc2NfYnkn OiAndmVyc2lvbicsCisrICAgICAgICAgICAgJ3Blcl9wYWdlJzogMQorKyAgICAgICAgfQorKwor KyAgICAgICAgcmVzcG9uc2UgPSByZXF1ZXN0cy5nZXQodXJsLCB0aW1lb3V0PTYwLCBwYXJhbXM9 cGFyYW1zKQorKyAgICAgICAgaWYgcmVzcG9uc2Uub2s6CisrICAgICAgICAgICAgaiA9IHJlc3Bv bnNlLmpzb24oKQorKyAgICAgICAgICAgIGlmIGxlbihqWydpdGVtcyddKSA9PSAwOgorKyAgICAg ICAgICAgICAgICByZXR1cm4gTm9uZQorKyAgICAgICAgICAgIGVsc2U6CisrICAgICAgICAgICAg ICAgIHJldHVybiBqWydpdGVtcyddWzBdCisrICAgICAgICBlbHNlOgorKyAgICAgICAgICAgIHRy eToKKysgICAgICAgICAgICAgICAgZXJyb3JfbXNnID0gcmVzcG9uc2UuanNvbigpWydtZXNzYWdl J10KKysgICAgICAgICAgICBleGNlcHQgKFZhbHVlRXJyb3IsIEtleUVycm9yKToKKysgICAgICAg ICAgICAgICAgZXJyb3JfbXNnID0gcmVzcG9uc2UudGV4dAorKyAgICAgICAgICAgIHJhaXNlIHJw a2dFcnJvcigKKysgICAgICAgICAgICAgICAgJ1RoZSBmb2xsb3dpbmcgZXJyb3Igb2NjdXJyZWQg d2hpbGUgZ2V0dGluZyBpbmZvcm1hdGlvbiBvbiAnCisrICAgICAgICAgICAgICAgICdtb2R1bGUg I3swfTpcbnsxfScuZm9ybWF0KG5zdmMsIGVycm9yX21zZykpCisrCisrICAgIGRlZiBtb2R1bGVf Z2V0X3VybChzZWxmLCBidWlsZF9pZCwgYWN0aW9uPSdHRVQnKToKKyAgICAgICAgICIiIgorICAg ICAgICAgR2V0IHRoZSBwcm9wZXIgTUJTIEFQSSBVUkwgZm9yIHRoZSBkZXNpcmVkIGFjdGlvbgor IAorLSAgICAgICAgOnBhcmFtIHN0ciBhcGlfdXJsOiBhIHN0cmluZyBvZiB0aGUgVVJMIG9mIHRo ZSBNQlMgQVBJCisgICAgICAgICA6cGFyYW0gaW50IGJ1aWxkX2lkOiBhbiBpbnRlZ2VyIG9mIHRo ZSBtb2R1bGUgYnVpbGQgZGVzaXJlZC4gSWYgdGhpcyBpcworICAgICAgICAgICAgIHNldCB0byBO b25lLCB0aGVuIHRoZSBiYXNlIFVSTCBmb3IgYWxsIG1vZHVsZSBidWlsZHMgaXMgcmV0dXJuZWQu CisgICAgICAgICA6cGFyYW0gc3RyIGFjdGlvbjogYSBzdHJpbmcgZGV0ZXJtaW5pbmcgdGhlIEhU VFAgYWN0aW9uLiBJZiB0aGlzIGlzIHNldAorQEAgLTMwMzMsNyArMzE3Myw3IEBAIGNsYXNzIENv bW1hbmRzKG9iamVjdCk6CisgICAgICAgICA6cmV0dXJuOiBhIHN0cmluZyBvZiB0aGUgZGVzaXJl ZCBNQlMgQVBJIFVSTC4KKyAgICAgICAgIDpydHlwZTogc3RyCisgICAgICAgICAiIiIKKy0gICAg ICAgIHVybCA9IHVybGpvaW4oYXBpX3VybCwgJ21vZHVsZS1idWlsZHMvJykKKysgICAgICAgIHVy bCA9IHVybGpvaW4oc2VsZi5tb2R1bGVfYXBpX3VybCwgJ21vZHVsZS1idWlsZHMvJykKKyAgICAg ICAgIGlmIGJ1aWxkX2lkIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgIHVybCA9ICd7MH17MX0n LmZvcm1hdCh1cmwsIGJ1aWxkX2lkKQorICAgICAgICAgZWxzZToKK0BAIC0zMTcyLDExICszMzEy LDEwIEBAIGNsYXNzIENvbW1hbmRzKG9iamVjdCk6CisgICAgICAgICAgICAgZWxzZToKKyAgICAg ICAgICAgICAgICAgcmFpc2UKKyAKKy0gICAgZGVmIG1vZHVsZV9vdmVydmlldyhzZWxmLCBhcGlf dXJsLCBsaW1pdD0xMCwgZmluaXNoZWQ9VHJ1ZSk6CisrICAgIGRlZiBtb2R1bGVfb3ZlcnZpZXco c2VsZiwgbGltaXQ9MTAsIGZpbmlzaGVkPVRydWUpOgorICAgICAgICAgIiIiCisgICAgICAgICBT aG93IHRoZSBvdmVydmlldyBvZiB0aGUgbGF0ZXN0IGJ1aWxkcyBpbiBNQlMKKyAKKy0gICAgICAg IDpwYXJhbSBzdHIgYXBpX3VybDogYSBzdHJpbmcgb2YgdGhlIFVSTCBvZiB0aGUgTUJTIEFQSQor ICAgICAgICAgOnBhcmFtIGludCBsaW1pdDogYW4gaW50ZWdlciBvZiB0aGUgbnVtYmVyIG9mIG1v c3QgcmVjZW50IG1vZHVsZSBidWlsZHMKKyAgICAgICAgICAgICB0byBkaXNwbGF5LiBUaGlzIGRl ZmF1bHRzIHRvIDEwLgorICAgICAgICAgOnBhcmFtIGJvb2wgZmluaXNoZWQ6IGEgYm9vbGVhbiB0 aGF0IGRldGVybWluZXMgaWYgb25seSBmaW5pc2hlZCBvcgorQEAgLTMxOTMsNyArMzMzMiw3IEBA IGNsYXNzIENvbW1hbmRzKG9iamVjdCk6CisgICAgICAgICAgICAgJ2ZhaWxlZCc6IDQsCisgICAg ICAgICAgICAgJ3JlYWR5JzogNSwKKyAgICAgICAgIH0KKy0gICAgICAgIGJhc2V1cmwgPSBzZWxm Lm1vZHVsZV9nZXRfdXJsKGFwaV91cmwsIGJ1aWxkX2lkPU5vbmUpCisrICAgICAgICBiYXNldXJs ID0gc2VsZi5tb2R1bGVfZ2V0X3VybChidWlsZF9pZD1Ob25lKQorICAgICAgICAgaWYgZmluaXNo ZWQ6CisgICAgICAgICAgICAgIyBUaGVzZSBhcmUgdGhlIHN0YXRlcyB3aGVuIGEgYnVpbGQgaXMg ZmluaXNoZWQKKyAgICAgICAgICAgICBzdGF0ZXMgPSBbYnVpbGRfc3RhdGVzWydkb25lJ10sIGJ1 aWxkX3N0YXRlc1sncmVhZHknXSwKK0BAIC0zMzM5LDE0ICszNDc4LDEzIEBAIGNsYXNzIENvbW1h bmRzKG9iamVjdCk6CisgICAgICAgICAgICAgcmFpc2UgcnBrZ0Vycm9yKCdBbiB1bnN1cHBvcnRl ZCBNQlMgImF1dGhfbWV0aG9kIiB3YXMgcHJvdmlkZWQnKQorICAgICAgICAgcmV0dXJuIHJlc3AK KyAKKy0gICAgZGVmIG1vZHVsZV9zdWJtaXRfYnVpbGQoc2VsZiwgYXBpX3VybCwgc2NtX3VybCwg YnJhbmNoLCBhdXRoX21ldGhvZCwKKysgICAgZGVmIG1vZHVsZV9zdWJtaXRfYnVpbGQoc2VsZiwg c2NtX3VybCwgYnJhbmNoLCBhdXRoX21ldGhvZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgb3B0aW9uYWw9Tm9uZSwgb2lkY19pZF9wcm92aWRlcj1Ob25lLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBvaWRjX2NsaWVudF9pZD1Ob25lLCBvaWRjX2NsaWVudF9zZWNyZXQ9Tm9u ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2lkY19zY29wZXM9Tm9uZSk6CisgICAg ICAgICAiIiIKKyAgICAgICAgIFN1Ym1pdCBhIG1vZHVsZSBidWlsZCB0byB0aGUgTUJTCisgCist ICAgICAgICA6cGFyYW0gYXBpX3VybDogYSBzdHJpbmcgb2YgdGhlIFVSTCBvZiB0aGUgTUJTIEFQ SQorICAgICAgICAgOnBhcmFtIHNjbV91cmw6IGEgc3RyaW5nIG9mIHRoZSBtb2R1bGUncyBTQ00g VVJMCisgICAgICAgICA6cGFyYW0gYnJhbmNoOiBhIHN0cmluZyBvZiB0aGUgbW9kdWxlJ3MgYnJh bmNoCisgICAgICAgICA6cGFyYW0gc3RyIGF1dGhfbWV0aG9kOiBhIHN0cmluZyBvZiB0aGUgYXV0 aGVudGljYXRpb24gbWV0aG9kIHVzZWQgYnkKK0BAIC0zMzc4LDcgKzM1MTYsNyBAQCBjbGFzcyBD b21tYW5kcyhvYmplY3QpOgorICAgICAgICAgICAgICAgICAnT3B0aW9uYWwgYXJndW1lbnRzIGFy ZSBub3QgaW4gdGhlIHByb3BlciAia2V5PXZhbHVlIiBmb3JtYXQnKQorIAorICAgICAgICAgYm9k eS51cGRhdGUob3B0aW9uYWxfZGljdCkKKy0gICAgICAgIHVybCA9IHNlbGYubW9kdWxlX2dldF91 cmwoYXBpX3VybCwgYnVpbGRfaWQ9Tm9uZSwgYWN0aW9uPSdQT1NUJykKKysgICAgICAgIHVybCA9 IHNlbGYubW9kdWxlX2dldF91cmwoYnVpbGRfaWQ9Tm9uZSwgYWN0aW9uPSdQT1NUJykKKyAgICAg ICAgIHJlc3AgPSBzZWxmLm1vZHVsZV9zZW5kX2F1dGhvcml6ZWRfcmVxdWVzdCgKKyAgICAgICAg ICAgICAnUE9TVCcsIHVybCwgYm9keSwgYXV0aF9tZXRob2QsIG9pZGNfaWRfcHJvdmlkZXIsIG9p ZGNfY2xpZW50X2lkLAorICAgICAgICAgICAgIG9pZGNfY2xpZW50X3NlY3JldCwgb2lkY19zY29w ZXMsIHRpbWVvdXQ9MTIwKQorQEAgLTMzOTksMTMgKzM1MzcsMTIgQEAgY2xhc3MgQ29tbWFuZHMo b2JqZWN0KToKKyAgICAgICAgIGJ1aWxkcyA9IGRhdGEgaWYgaXNpbnN0YW5jZShkYXRhLCBsaXN0 KSBlbHNlIFtkYXRhXQorICAgICAgICAgcmV0dXJuIFtidWlsZFsnaWQnXSBmb3IgYnVpbGQgaW4g YnVpbGRzXQorIAorLSAgICBkZWYgbW9kdWxlX3dhdGNoX2J1aWxkKHNlbGYsIGFwaV91cmwsIGJ1 aWxkX2lkcyk6CisrICAgIGRlZiBtb2R1bGVfd2F0Y2hfYnVpbGQoc2VsZiwgYnVpbGRfaWRzKToK KyAgICAgICAgICIiIgorICAgICAgICAgV2F0Y2hlcyB0aGUgZmlyc3QgTUJTIGJ1aWxkIGluIHRo ZSBsaXN0IGluIGEgbG9vcCB0aGF0IHVwZGF0ZXMgZXZlcnkgMTUKKyAgICAgICAgIHNlY29uZHMu IFRoZSBsb29wIGVuZHMgd2hlbiB0aGUgYnVpbGQgc3RhdGUgaXMgJ2ZhaWxlZCcsICdkb25lJywg b3IKKyAgICAgICAgICdyZWFkeScuCisgCistICAgICAgICA6cGFyYW0gc3RyIGFwaV91cmw6IGEg c3RyaW5nIG9mIHRoZSBVUkwgb2YgdGhlIE1CUyBBUEkKKyAgICAgICAgIDpwYXJhbSBidWlsZF9p ZHM6IGEgbGlzdCBvZiBtb2R1bGUgYnVpbGQgSURzCisgICAgICAgICA6dHlwZSBidWlsZF9pZHM6 IGxpc3RbaW50XQorICAgICAgICAgIiIiCitAQCAtMzQyMyw3ICszNTYwLDcgQEAgY2xhc3MgQ29t bWFuZHMob2JqZWN0KToKKyAgICAgICAgIGRvbmUgPSBGYWxzZQorICAgICAgICAgd2hpbGUgbm90 IGRvbmU6CisgICAgICAgICAgICAgc3RhdGVfbmFtZXMgPSBzZWxmLm1vZHVsZV9nZXRfa29qaV9z dGF0ZV9kaWN0KCkKKy0gICAgICAgICAgICBidWlsZCA9IHNlbGYubW9kdWxlX2dldF9idWlsZChh cGlfdXJsLCBidWlsZF9pZCkKKysgICAgICAgICAgICBidWlsZCA9IHNlbGYubW9kdWxlX2dldF9i dWlsZChidWlsZF9pZCkKKyAgICAgICAgICAgICB0YXNrcyA9IHt9CisgICAgICAgICAgICAgaWYg J3JwbXMnIGluIGJ1aWxkWyd0YXNrcyddOgorICAgICAgICAgICAgICAgICB0YXNrcyA9IGJ1aWxk Wyd0YXNrcyddWydycG1zJ10KK0BAIC0zNDk0LDYgKzM2MzEsMTAgQEAgY2xhc3MgQ29tbWFuZHMo b2JqZWN0KToKKyAgICAgICAgIDpwYXJhbSBhcGlfdXJsOiBhIHN0cmluZyBvZiB0aGUgVVJMIG9m IHRoZSBNQlMgQVBJCisgICAgICAgICA6cmV0dXJuOiBhbiBpbnQgb2YgdGhlIEFQSSB2ZXJzaW9u CisgICAgICAgICAiIiIKKysKKysgICAgICAgICMgV2UgZG9uJ3QgdXNlIHNlbGYubW9kdWxlX2Fw aV91cmwgc2luY2UgdGhpcyBpcyB1c2VkIGV4Y2x1c2l2ZWx5IGJ5IHRoZSBjb2RlCisrICAgICAg ICAjIHRoYXQgaXMgbG9hZGluZyBhbmQgdmFsaWRhdGluZyB0aGUgQVBJIFVSTCBiZWZvcmUgc2V0 dGluZyBpdC4KKysKKyAgICAgICAgIHVybCA9ICd7MH0vYWJvdXQvJy5mb3JtYXQoYXBpX3VybC5y c3RyaXAoJy8nKSkKKyAgICAgICAgIHJlc3BvbnNlID0gcmVxdWVzdHMuZ2V0KHVybCwgdGltZW91 dD02MCkKKyAgICAgICAgIGlmIHJlc3BvbnNlLm9rOgorZGlmZiAtLWdpdCBhL3B5cnBrZy9jbGku cHkgYi9weXJwa2cvY2xpLnB5CitpbmRleCA0NGJlYjljLi4zNmZlNzEwIDEwMDY0NAorLS0tIGEv cHlycGtnL2NsaS5weQorKysrIGIvcHlycGtnL2NsaS5weQorQEAgLTMxLDcgKzMxLDcgQEAgaW1w b3J0IGtvamlfY2xpLmxpYgorIGltcG9ydCBweXJwa2cudXRpbHMgYXMgdXRpbHMKKyBpbXBvcnQg c2l4CisgCistZnJvbSBweXJwa2cgaW1wb3J0IHJwa2dFcnJvciwgbG9nIGFzIHJwa2dMb2dnZXIK Kytmcm9tIHB5cnBrZyBpbXBvcnQgUFkyNiwgcnBrZ0Vycm9yLCBsb2cgYXMgcnBrZ0xvZ2dlcgor IGZyb20gc2l4Lm1vdmVzIGltcG9ydCBjb25maWdwYXJzZXIKKyAKKyAKK0BAIC00MjQsNiArNDI0 LDcgQEAgY2xhc3MgY2xpQ2xpZW50KG9iamVjdCk6CisgCisgICAgICAgICAjIEFkZCBhIGNvbW1v biBwYXJzZXJzCisgICAgICAgICBzZWxmLnJlZ2lzdGVyX2J1aWxkX2NvbW1vbigpCisrICAgICAg ICBzZWxmLnJlZ2lzdGVyX2NvbnRhaW5lcl9idWlsZF9jb21tb24oKQorICAgICAgICAgc2VsZi5y ZWdpc3Rlcl9ycG1fY29tbW9uKCkKKyAKKyAgICAgICAgICMgT3RoZXIgdGFyZ2V0cworQEAgLTQz OCw2ICs0MzksOCBAQCBjbGFzcyBjbGlDbGllbnQob2JqZWN0KToKKyAgICAgICAgIHNlbGYucmVn aXN0ZXJfY29udGFpbmVyX2J1aWxkKCkKKyAgICAgICAgIHNlbGYucmVnaXN0ZXJfY29udGFpbmVy X2J1aWxkX3NldHVwKCkKKyAgICAgICAgIHNlbGYucmVnaXN0ZXJfZGlmZigpCisrICAgICAgICBp ZiBub3QgUFkyNjoKKysgICAgICAgICAgICBzZWxmLnJlZ2lzdGVyX2ZsYXRwYWtfYnVpbGQoKQor ICAgICAgICAgc2VsZi5yZWdpc3Rlcl9naW1tZXNwZWMoKQorICAgICAgICAgc2VsZi5yZWdpc3Rl cl9naXRidWlsZGhhc2goKQorICAgICAgICAgc2VsZi5yZWdpc3Rlcl9naXRjcmVkKCkKK0BAIC0x Mzc5LDExICsxMzgyLDU0IEBAIHNlZSBBUEkgS0VZIHNlY3Rpb24gb2YgY29wci1jbGkoMSkgbWFu IHBhZ2UuCisgICAgICAgICAgICAgJ3ZlcnJlbCcsIGhlbHA9J1ByaW50IHRoZSBuYW1lLXZlcnNp b24tcmVsZWFzZScpCisgICAgICAgICB2ZXJyZWxfcGFyc2VyLnNldF9kZWZhdWx0cyhjb21tYW5k PXNlbGYudmVycmVsKQorIAorKyAgICBkZWYgcmVnaXN0ZXJfY29udGFpbmVyX2J1aWxkX2NvbW1v bihzZWxmKToKKysgICAgICAgIHBhcnNlciA9IEFyZ3VtZW50UGFyc2VyKAorKyAgICAgICAgICAg ICdjb250YWluZXJfYnVpbGRfY29tbW9uJywgYWRkX2hlbHA9RmFsc2UsIGFsbG93X2FiYnJldj1G YWxzZSkKKysKKysgICAgICAgIHNlbGYuY29udGFpbmVyX2J1aWxkX3BhcnNlcl9jb21tb24gPSBw YXJzZXIKKysKKysgICAgICAgIHBhcnNlci5hZGRfYXJndW1lbnQoCisrICAgICAgICAgICAgJy0t dGFyZ2V0JywKKysgICAgICAgICAgICBoZWxwPSdPdmVycmlkZSB0aGUgZGVmYXVsdCB0YXJnZXQn LAorKyAgICAgICAgICAgIGRlZmF1bHQ9Tm9uZSkKKysKKysgICAgICAgIHBhcnNlci5hZGRfYXJn dW1lbnQoCisrICAgICAgICAgICAgJy0tbm93YWl0JywKKysgICAgICAgICAgICBhY3Rpb249J3N0 b3JlX3RydWUnLAorKyAgICAgICAgICAgIGRlZmF1bHQ9RmFsc2UsCisrICAgICAgICAgICAgaGVs cD0iRG9uJ3Qgd2FpdCBvbiBidWlsZCIpCisrCisrICAgICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50 KAorKyAgICAgICAgICAgICctLXNjcmF0Y2gnLAorKyAgICAgICAgICAgIGhlbHA9J1NjcmF0Y2gg YnVpbGQnLAorKyAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIpCisrCisrICAgICAgICBw YXJzZXIuYWRkX2FyZ3VtZW50KAorKyAgICAgICAgICAgICctLWFyY2hlcycsCisrICAgICAgICAg ICAgYWN0aW9uPSdzdG9yZScsCisrICAgICAgICAgICAgbmFyZ3M9JyonLAorKyAgICAgICAgICAg IGhlbHA9J0xpbWl0IGEgc2NyYXRjaCBidWlsZCB0byBhbiBhcmNoLiBNYXkgaGF2ZSBtdWx0aXBs ZSBhcmNoZXMuJykKKysKKysgICAgICAgIHBhcnNlci5hZGRfYXJndW1lbnQoCisrICAgICAgICAg ICAgJy0tc2tpcC1yZW1vdGUtcnVsZXMtdmFsaWRhdGlvbicsCisrICAgICAgICAgICAgYWN0aW9u PSdzdG9yZV90cnVlJywKKysgICAgICAgICAgICBkZWZhdWx0PUZhbHNlLAorKyAgICAgICAgICAg IGhlbHA9IkRvbid0IGNoZWNrIGlmIHRoZXJlJ3MgYSB2YWxpZCBnYXRpbmcueWFtbCBmaWxlIGlu IHRoZSByZXBvIikKKysKKyAgICAgZGVmIHJlZ2lzdGVyX2NvbnRhaW5lcl9idWlsZChzZWxmKToK KyAgICAgICAgIHNlbGYuY29udGFpbmVyX2J1aWxkX3BhcnNlciA9IHNlbGYuc3VicGFyc2Vycy5h ZGRfcGFyc2VyKAorICAgICAgICAgICAgICdjb250YWluZXItYnVpbGQnLAorICAgICAgICAgICAg IGhlbHA9J0J1aWxkIGEgY29udGFpbmVyJywKKy0gICAgICAgICAgICBkZXNjcmlwdGlvbj0nQnVp bGQgYSBjb250YWluZXInKQorKyAgICAgICAgICAgIGRlc2NyaXB0aW9uPSdCdWlsZCBhIGNvbnRh aW5lcicsCisrICAgICAgICAgICAgcGFyZW50cz1bc2VsZi5jb250YWluZXJfYnVpbGRfcGFyc2Vy X2NvbW1vbl0pCisrCisrICAgICAgICAjIFRoZXNlIGFyZ3VtZW50cyBhcmUgc3BlY2lmaWMgdG8g bm9uLUZsYXRwYWsgY29udGFpbmVycworKyAgICAgICAgIworKyAgICAgICAgIyAtLWNvbXBvc2Ut aWQgaXMgaW1wbGVtZW50ZWQgZm9yIEZsYXRwYWtzIGFzIGEgc2lkZS1lZmZlY3Qgb2YgdGhlIGlu dGVybmFsCisrICAgICAgICAjICAgICAgaW1wbGVtZW50YXRpb24sIGJ1dCBpdCBpcyB1bmxpa2Vs eSB0byBiZSB1c2VmdWwgdG8gdHJpZ2dlciB0aHJvdWdoIHJwa2cuCisrICAgICAgICAjIC0tIHNp Z25pbmctaW50ZW50IGlzIG5vdCBpbXBsZW1lbnRlZCBmb3IgRmxhdHBha3MsIHRob3VnaCBpdCBj b3VsZCBiZSB1c2VmdWwKKysgICAgICAgICMgLS1yZXBvLXVybCBtYWtlcyBubyBzZW5zZSBmb3Ig ZmxhcHRha3MsIHNpbmNlIHRoZXkgbXVzdCBiZSBidWlsdCBmcm9tIGEKKysgICAgICAgICMgICAg ICBjb21wb3NlIG9mIGEgc2luZ2xlIG1vZHVsZS4KKyAKKyAgICAgICAgIGdyb3VwID0gc2VsZi5j b250YWluZXJfYnVpbGRfcGFyc2VyLmFkZF9tdXR1YWxseV9leGNsdXNpdmVfZ3JvdXAoKQorICAg ICAgICAgZ3JvdXAuYWRkX2FyZ3VtZW50KAorQEAgLTE0MDUsMzUgKzE0NTEsMTYgQEAgc2VlIEFQ SSBLRVkgc2VjdGlvbiBvZiBjb3ByLWNsaSgxKSBtYW4gcGFnZS4KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJ0Nhbm5vdCBiZSB1c2VkIHdpdGggLS1zaWduaW5nLWludGVudCBvciAt LWNvbXBvc2UtaWQnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFyZ3M9JysnKQorIAor LSAgICAgICAgc2VsZi5jb250YWluZXJfYnVpbGRfcGFyc2VyLmFkZF9hcmd1bWVudCgKKy0gICAg ICAgICAgICAnLS10YXJnZXQnLAorLSAgICAgICAgICAgIGhlbHA9J092ZXJyaWRlIHRoZSBkZWZh dWx0IHRhcmdldCcsCistICAgICAgICAgICAgZGVmYXVsdD1Ob25lKQorLQorLSAgICAgICAgc2Vs Zi5jb250YWluZXJfYnVpbGRfcGFyc2VyLmFkZF9hcmd1bWVudCgKKy0gICAgICAgICAgICAnLS1u b3dhaXQnLAorLSAgICAgICAgICAgIGFjdGlvbj0nc3RvcmVfdHJ1ZScsCistICAgICAgICAgICAg ZGVmYXVsdD1GYWxzZSwKKy0gICAgICAgICAgICBoZWxwPSJEb24ndCB3YWl0IG9uIGJ1aWxkIikK Ky0KKy0gICAgICAgIHNlbGYuY29udGFpbmVyX2J1aWxkX3BhcnNlci5hZGRfYXJndW1lbnQoCist ICAgICAgICAgICAgJy0tc2NyYXRjaCcsCistICAgICAgICAgICAgaGVscD0nU2NyYXRjaCBidWls ZCcsCistICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIikKKy0KKy0gICAgICAgIHNlbGYu Y29udGFpbmVyX2J1aWxkX3BhcnNlci5hZGRfYXJndW1lbnQoCistICAgICAgICAgICAgJy0tYXJj aGVzJywKKy0gICAgICAgICAgICBhY3Rpb249J3N0b3JlJywKKy0gICAgICAgICAgICBuYXJncz0n KicsCistICAgICAgICAgICAgaGVscD0nTGltaXQgYSBzY3JhdGNoIGJ1aWxkIHRvIGFuIGFyY2gu IE1heSBoYXZlIG11bHRpcGxlIGFyY2hlcy4nKQorKyAgICAgICAgc2VsZi5jb250YWluZXJfYnVp bGRfcGFyc2VyLnNldF9kZWZhdWx0cyhjb21tYW5kPXNlbGYuY29udGFpbmVyX2J1aWxkKQorIAor LSAgICAgICAgc2VsZi5jb250YWluZXJfYnVpbGRfcGFyc2VyLmFkZF9hcmd1bWVudCgKKy0gICAg ICAgICAgICAnLS1za2lwLXJlbW90ZS1ydWxlcy12YWxpZGF0aW9uJywKKy0gICAgICAgICAgICBh Y3Rpb249J3N0b3JlX3RydWUnLAorLSAgICAgICAgICAgIGRlZmF1bHQ9RmFsc2UsCistICAgICAg ICAgICAgaGVscD0iRG9uJ3QgY2hlY2sgaWYgdGhlcmUncyBhIHZhbGlkIGdhdGluZy55YW1sIGZp bGUgaW4gdGhlIHJlcG8iKQorKyAgICBkZWYgcmVnaXN0ZXJfZmxhdHBha19idWlsZChzZWxmKToK KysgICAgICAgIHNlbGYuZmxhdHBha19idWlsZF9wYXJzZXIgPSBzZWxmLnN1YnBhcnNlcnMuYWRk X3BhcnNlcigKKysgICAgICAgICAgICAnZmxhdHBhay1idWlsZCcsCisrICAgICAgICAgICAgaGVs cD0nQnVpbGQgYSBGbGF0cGFrJywKKysgICAgICAgICAgICBkZXNjcmlwdGlvbj0nQnVpbGQgYSBG bGF0cGFrJywKKysgICAgICAgICAgICBwYXJlbnRzPVtzZWxmLmNvbnRhaW5lcl9idWlsZF9wYXJz ZXJfY29tbW9uXSkKKyAKKy0gICAgICAgIHNlbGYuY29udGFpbmVyX2J1aWxkX3BhcnNlci5zZXRf ZGVmYXVsdHMoY29tbWFuZD1zZWxmLmNvbnRhaW5lcl9idWlsZCkKKysgICAgICAgIHNlbGYuZmxh dHBha19idWlsZF9wYXJzZXIuc2V0X2RlZmF1bHRzKGNvbW1hbmQ9c2VsZi5mbGF0cGFrX2J1aWxk KQorIAorICAgICBkZWYgcmVnaXN0ZXJfY29udGFpbmVyX2J1aWxkX3NldHVwKHNlbGYpOgorICAg ICAgICAgc2VsZi5jb250YWluZXJfYnVpbGRfc2V0dXBfcGFyc2VyID0gXAorQEAgLTE3NjIsNyAr MTc4OSw3IEBAIHNlZSBBUEkgS0VZIHNlY3Rpb24gb2YgY29wci1jbGkoMSkgbWFuIHBhZ2UuCisg ICAgICAgICAjIEtlZXAgaXQgYXJvdW5kIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5CisgICAg ICAgICBzZWxmLmNvbnRhaW5lcl9idWlsZCgpCisgCistICAgIGRlZiBjb250YWluZXJfYnVpbGQo c2VsZik6CisrICAgIGRlZiBjb250YWluZXJfYnVpbGQoc2VsZiwgZmxhdHBhaz1GYWxzZSk6Cisg ICAgICAgICB0YXJnZXRfb3ZlcnJpZGUgPSBGYWxzZQorICAgICAgICAgIyBPdmVycmlkZSB0aGUg dGFyZ2V0IGlmIHdlIHdlcmUgc3VwcGxpZWQgb25lCisgICAgICAgICBpZiBzZWxmLmFyZ3MudGFy Z2V0OgorQEAgLTE3NzEsMTEgKzE3OTgsMTUgQEAgc2VlIEFQSSBLRVkgc2VjdGlvbiBvZiBjb3By LWNsaSgxKSBtYW4gcGFnZS4KKyAKKyAgICAgICAgIG9wdHMgPSB7InNjcmF0Y2giOiBzZWxmLmFy Z3Muc2NyYXRjaCwKKyAgICAgICAgICAgICAgICAgInF1aWV0Ijogc2VsZi5hcmdzLnEsCistICAg ICAgICAgICAgICAgICJ5dW1fcmVwb3VybHMiOiBzZWxmLmFyZ3MucmVwb191cmwsCisgICAgICAg ICAgICAgICAgICJnaXRfYnJhbmNoIjogc2VsZi5jbWQuYnJhbmNoX21lcmdlLAorLSAgICAgICAg ICAgICAgICAiYXJjaGVzIjogc2VsZi5hcmdzLmFyY2hlcywKKysgICAgICAgICAgICAgICAgImFy Y2hlcyI6IHNlbGYuYXJncy5hcmNoZXN9CisrCisrICAgICAgICBpZiBub3QgZmxhdHBhazoKKysg ICAgICAgICAgICBvcHRzLnVwZGF0ZSh7CisrICAgICAgICAgICAgICAgICJ5dW1fcmVwb3VybHMi OiBzZWxmLmFyZ3MucmVwb191cmwsCisgICAgICAgICAgICAgICAgICJjb21wb3NlX2lkcyI6IHNl bGYuYXJncy5jb21wb3NlX2lkcywKKy0gICAgICAgICAgICAgICAgInNpZ25pbmdfaW50ZW50Ijog c2VsZi5hcmdzLnNpZ25pbmdfaW50ZW50fQorKyAgICAgICAgICAgICAgICAic2lnbmluZ19pbnRl bnQiOiBzZWxmLmFyZ3Muc2lnbmluZ19pbnRlbnQsCisrICAgICAgICAgICAgfSkKKyAKKyAgICAg ICAgIHNlY3Rpb25fbmFtZSA9ICIlcy5jb250YWluZXItYnVpbGQiICUgc2VsZi5uYW1lCisgICAg ICAgICBlcnJfbXNnID0gIk1pc3NpbmcgJShvcHRpb24pcyBvcHRpb24gaW4gWyUocGx1Z2luLnNl Y3Rpb24pc10gc2VjdGlvbi4gIiBcCitAQCAtMTgwOCw2ICsxODM5LDEwIEBAIHNlZSBBUEkgS0VZ IHNlY3Rpb24gb2YgY29wci1jbGkoMSkgbWFuIHBhZ2UuCisgCisgICAgICAgICBzZWxmLmNoZWNr X3JlbW90ZV9ydWxlc19nYXRpbmcoKQorIAorKyAgICAgICAgIyBXZSB1c2UgTUJTIHRvIGZpbmQg aW5mb3JtYXRpb24gYWJvdXQgdGhlIG1vZHVsZSB0byBidWlsZCBpbnRvIGEgRmxhdHBhaworKyAg ICAgICAgaWYgZmxhdHBhazoKKysgICAgICAgICAgICBzZWxmLnNldF9tb2R1bGVfYXBpX3VybCgp CisrCisgICAgICAgICBzZWxmLmNtZC5jb250YWluZXJfYnVpbGRfa29qaSgKKyAgICAgICAgICAg ICB0YXJnZXRfb3ZlcnJpZGUsCisgICAgICAgICAgICAgb3B0cz1vcHRzLAorQEAgLTE4MTUsNyAr MTg1MCwxMSBAQCBzZWUgQVBJIEtFWSBzZWN0aW9uIG9mIGNvcHItY2xpKDEpIG1hbiBwYWdlLgor ICAgICAgICAgICAgIGtvamlwcm9maWxlPWtvamlwcm9maWxlLAorICAgICAgICAgICAgIGJ1aWxk X2NsaWVudD1idWlsZF9jbGllbnQsCisgICAgICAgICAgICAga29qaV90YXNrX3dhdGNoZXI9a29q aV9jbGkubGliLndhdGNoX3Rhc2tzLAorLSAgICAgICAgICAgIG5vd2FpdD1zZWxmLmFyZ3Mubm93 YWl0KQorKyAgICAgICAgICAgIG5vd2FpdD1zZWxmLmFyZ3Mubm93YWl0LAorKyAgICAgICAgICAg IGZsYXRwYWs9ZmxhdHBhaykKKysKKysgICAgZGVmIGZsYXRwYWtfYnVpbGQoc2VsZik6CisrICAg ICAgICBzZWxmLmNvbnRhaW5lcl9idWlsZChmbGF0cGFrPVRydWUpCisgCisgICAgIGRlZiBjb250 YWluZXJfYnVpbGRfc2V0dXAoc2VsZik6CisgICAgICAgICBzZWxmLmNtZC5jb250YWluZXJfYnVp bGRfc2V0dXAoZ2V0X2F1dG9yZWJ1aWxkPXNlbGYuYXJncy5nZXRfYXV0b3JlYnVpbGQsCitAQCAt MTkyMyw3ICsxOTYyLDcgQEAgc2VlIEFQSSBLRVkgc2VjdGlvbiBvZiBjb3ByLWNsaSgxKSBtYW4g cGFnZS4KKyAKKyAgICAgZGVmIG1vZHVsZV9idWlsZChzZWxmKToKKyAgICAgICAgICIiIkJ1aWxk cyBhIG1vZHVsZSB1c2luZyBNQlMiIiIKKy0gICAgICAgIGFwaV91cmwgPSBzZWxmLm1vZHVsZV9h cGlfdXJsCisrICAgICAgICBzZWxmLnNldF9tb2R1bGVfYXBpX3VybCgpCisgICAgICAgICBzZWxm Lm1vZHVsZV92YWxpZGF0ZV9jb25maWcoKQorICAgICAgICAgc2NtX3VybCwgYnJhbmNoID0gc2Vs Zi5jbWQubW9kdWxlX2dldF9zY21faW5mbygKKyAgICAgICAgICAgICBzZWxmLmFyZ3Muc2NtX3Vy bCwgc2VsZi5hcmdzLmJyYW5jaCkKK0BAIC0xOTMzLDcgKzE5NzIsNyBAQCBzZWUgQVBJIEtFWSBz ZWN0aW9uIG9mIGNvcHItY2xpKDEpIG1hbiBwYWdlLgorICAgICAgICAgaWYgbm90IHNlbGYuYXJn cy5xOgorICAgICAgICAgICAgIHByaW50KCdTdWJtaXR0aW5nIHRoZSBtb2R1bGUgYnVpbGQuLi4n KQorICAgICAgICAgYnVpbGRfaWRzID0gc2VsZi5fY21kLm1vZHVsZV9zdWJtaXRfYnVpbGQoCist ICAgICAgICAgICAgYXBpX3VybCwgc2NtX3VybCwgYnJhbmNoLCBhdXRoX21ldGhvZCwgc2VsZi5h cmdzLm9wdGlvbmFsLAorKyAgICAgICAgICAgIHNjbV91cmwsIGJyYW5jaCwgYXV0aF9tZXRob2Qs IHNlbGYuYXJncy5vcHRpb25hbCwKKyAgICAgICAgICAgICBvaWRjX2lkX3Byb3ZpZGVyLCBvaWRj X2NsaWVudF9pZCwgb2lkY19jbGllbnRfc2VjcmV0LCBvaWRjX3Njb3BlcykKKyAgICAgICAgIGlm IHNlbGYuYXJncy53YXRjaDoKKyAgICAgICAgICAgICBzZWxmLm1vZHVsZV93YXRjaF9idWlsZChi dWlsZF9pZHMpCitAQCAtMTk0OCw3ICsxOTg3LDcgQEAgc2VlIEFQSSBLRVkgc2VjdGlvbiBvZiBj b3ByLWNsaSgxKSBtYW4gcGFnZS4KKyAKKyAgICAgZGVmIG1vZHVsZV9idWlsZF9jYW5jZWwoc2Vs Zik6CisgICAgICAgICAiIiJDYW5jZWwgYW4gTUJTIGJ1aWxkIiIiCistICAgICAgICBhcGlfdXJs ID0gc2VsZi5tb2R1bGVfYXBpX3VybAorKyAgICAgICAgc2VsZi5zZXRfbW9kdWxlX2FwaV91cmwo KQorICAgICAgICAgYnVpbGRfaWQgPSBzZWxmLmFyZ3MuYnVpbGRfaWQKKyAgICAgICAgIGF1dGhf bWV0aG9kLCBvaWRjX2lkX3Byb3ZpZGVyLCBvaWRjX2NsaWVudF9pZCwgb2lkY19jbGllbnRfc2Vj cmV0LCBcCisgICAgICAgICAgICAgb2lkY19zY29wZXMgPSBzZWxmLm1vZHVsZV9nZXRfYXV0aF9j b25maWcoKQorQEAgLTE5NTYsMTQgKzE5OTUsMTUgQEAgc2VlIEFQSSBLRVkgc2VjdGlvbiBvZiBj b3ByLWNsaSgxKSBtYW4gcGFnZS4KKyAgICAgICAgIGlmIG5vdCBzZWxmLmFyZ3MucToKKyAgICAg ICAgICAgICBwcmludCgnQ2FuY2VsbGluZyBtb2R1bGUgYnVpbGQgI3swfS4uLicuZm9ybWF0KGJ1 aWxkX2lkKSkKKyAgICAgICAgIHNlbGYuY21kLm1vZHVsZV9idWlsZF9jYW5jZWwoCistICAgICAg ICAgICAgYXBpX3VybCwgYnVpbGRfaWQsIGF1dGhfbWV0aG9kLCBvaWRjX2lkX3Byb3ZpZGVyLCBv aWRjX2NsaWVudF9pZCwKKysgICAgICAgICAgICBidWlsZF9pZCwgYXV0aF9tZXRob2QsIG9pZGNf aWRfcHJvdmlkZXIsIG9pZGNfY2xpZW50X2lkLAorICAgICAgICAgICAgIG9pZGNfY2xpZW50X3Nl Y3JldCwgb2lkY19zY29wZXMpCisgICAgICAgICBpZiBub3Qgc2VsZi5hcmdzLnE6CisgICAgICAg ICAgICAgICAgIHByaW50KCdUaGUgbW9kdWxlIGJ1aWxkICN7MH0gd2FzIGNhbmNlbGxlZCcuZm9y bWF0KGJ1aWxkX2lkKSkKKyAKKyAgICAgZGVmIG1vZHVsZV9idWlsZF9pbmZvKHNlbGYpOgorICAg ICAgICAgIiIiU2hvdyBpbmZvcm1hdGlvbiBhYm91dCBhbiBNQlMgYnVpbGQiIiIKKy0gICAgICAg IHNlbGYuY21kLm1vZHVsZV9idWlsZF9pbmZvKHNlbGYubW9kdWxlX2FwaV91cmwsIHNlbGYuYXJn cy5idWlsZF9pZCkKKysgICAgICAgIHNlbGYuc2V0X21vZHVsZV9hcGlfdXJsKCkKKysgICAgICAg IHNlbGYuY21kLm1vZHVsZV9idWlsZF9pbmZvKHNlbGYuYXJncy5idWlsZF9pZCkKKyAKKyAgICAg ZGVmIG1vZHVsZV9idWlsZF9sb2NhbChzZWxmKToKKyAgICAgICAgICIiIkJ1aWxkIGEgbW9kdWxl IGxvY2FsbHkgdXNpbmcgbWJzLW1hbmFnZXIiIiIKK0BAIC0yMDcyLDE0ICsyMTEyLDE4IEBAIHNl ZSBBUEkgS0VZIHNlY3Rpb24gb2YgY29wci1jbGkoMSkgbWFuIHBhZ2UuCisgICAgICAgICAgICAg ICAgIGFwaV91cmwucnN0cmlwKCcvJyksIGFwaV92ZXJzaW9uKQorICAgICAgICAgcmV0dXJuIHNl bGYuX21vZHVsZV9hcGlfdXJsCisgCisrICAgIGRlZiBzZXRfbW9kdWxlX2FwaV91cmwoc2VsZik6 CisrICAgICAgICBzZWxmLmNtZC5tb2R1bGVfYXBpX3VybCA9IHNlbGYubW9kdWxlX2FwaV91cmwK KysKKyAgICAgZGVmIG1vZHVsZV9idWlsZF93YXRjaChzZWxmKToKKyAgICAgICAgICIiIldhdGNo IGFuIE1CUyBidWlsZCBmcm9tIHRoZSBjb21tYW5kLWxpbmUiIiIKKyAgICAgICAgIHNlbGYubW9k dWxlX3dhdGNoX2J1aWxkKFtzZWxmLmFyZ3MuYnVpbGRfaWRdKQorIAorICAgICBkZWYgbW9kdWxl X292ZXJ2aWV3KHNlbGYpOgorICAgICAgICAgIiIiU2hvdyB0aGUgb3ZlcnZpZXcgb2YgdGhlIGxh dGVzdCBidWlsZHMgaW4gdGhlIE1CUyIiIgorKyAgICAgICAgc2VsZi5zZXRfbW9kdWxlX2FwaV91 cmwoKQorICAgICAgICAgc2VsZi5jbWQubW9kdWxlX292ZXJ2aWV3KAorLSAgICAgICAgICAgIHNl bGYubW9kdWxlX2FwaV91cmwsIHNlbGYuYXJncy5saW1pdCwKKysgICAgICAgICAgICBzZWxmLmFy Z3MubGltaXQsCisgICAgICAgICAgICAgZmluaXNoZWQ9KG5vdCBzZWxmLmFyZ3MudW5maW5pc2hl ZCkpCisgCisgICAgIGRlZiBtb2R1bGVfdmFsaWRhdGVfY29uZmlnKHNlbGYpOgorQEAgLTIxMzQs NyArMjE3OCw4IEBAIHNlZSBBUEkgS0VZIHNlY3Rpb24gb2YgY29wci1jbGkoMSkgbWFuIHBhZ2Uu CisgICAgICAgICA6cGFyYW0gYnVpbGRfaWRzOiBhIGxpc3Qgb2YgbW9kdWxlIGJ1aWxkIElEcwor ICAgICAgICAgOnR5cGUgYnVpbGRfaWRzOiBsaXN0W2ludF0KKyAgICAgICAgICIiIgorLSAgICAg ICAgc2VsZi5jbWQubW9kdWxlX3dhdGNoX2J1aWxkKHNlbGYubW9kdWxlX2FwaV91cmwsIGJ1aWxk X2lkcykKKysgICAgICAgIHNlbGYuc2V0X21vZHVsZV9hcGlfdXJsKCkKKysgICAgICAgIHNlbGYu Y21kLm1vZHVsZV93YXRjaF9idWlsZChidWlsZF9pZHMpCisgCisgICAgIGRlZiBuZXcoc2VsZik6 CisgICAgICAgICBuZXdfZGlmZiA9IHNlbGYuY21kLm5ldygpCitkaWZmIC0tZ2l0IGEvcmVxdWly ZW1lbnRzL2ZlZG9yYS1weTIudHh0IGIvcmVxdWlyZW1lbnRzL2ZlZG9yYS1weTIudHh0CitpbmRl eCAwY2Y3OWRlLi5lOTdjOWM4IDEwMDY0NAorLS0tIGEvcmVxdWlyZW1lbnRzL2ZlZG9yYS1weTIu dHh0CisrKysgYi9yZXF1aXJlbWVudHMvZmVkb3JhLXB5Mi50eHQKK0BAIC0xLDEwICsxLDEzIEBA CisrbGlibW9kdWxlbWQKKyBweXRob24yLWNjY29sdXRpbHMKKyBweXRob24yLUdpdFB5dGhvbgor K3B5dGhvbjItZ29iamVjdC1iYXNlCisgcHl0aG9uMi1rb2ppCisgcHl0aG9uMi1weWN1cmwKKyBw eXRob24tc2l4CisgcHl0aG9uMi1ycG0gICMgcnBtLXB5dGhvbiBvcmlnaW5hbGx5CisgcHl0aG9u Mi1yZXF1ZXN0cworK1B5WUFNTAorICMgcHl0aG9uMi1vcGVuaWRjLWNsaWVudCAjIHVzZWQgZm9y IE1CUyBPSURDIGF1dGhlbnRpY2F0aW9uCisgIyBweXRob24yLXJlcXVlc3RzLWtlcmJlcm9zICMg dXNlZCBmb3IgTUJTIEtlcmJlcm9zIGF1dGhlbnRpY2F0aW9uCisgCitkaWZmIC0tZ2l0IGEvcmVx dWlyZW1lbnRzL2ZlZG9yYS1weTMudHh0IGIvcmVxdWlyZW1lbnRzL2ZlZG9yYS1weTMudHh0Citp bmRleCBjYzk5OTEyLi5jYjcxNTQ5IDEwMDY0NAorLS0tIGEvcmVxdWlyZW1lbnRzL2ZlZG9yYS1w eTMudHh0CisrKysgYi9yZXF1aXJlbWVudHMvZmVkb3JhLXB5My50eHQKK0BAIC0xLDEwICsxLDEz IEBACisrbGlibW9kdWxlbWQKKyBweXRob24zLWNjY29sdXRpbHMKKyBweXRob24zLUdpdFB5dGhv bgorK3B5dGhvbjMtZ29iamVjdC1iYXNlCisgcHl0aG9uMy1rb2ppCisgcHl0aG9uMy1weWN1cmwK KyBweXRob24zLXNpeAorIHB5dGhvbjMtcnBtICAjIHJwbS1weXRob24gb3JpZ2luYWxseQorIHB5 dGhvbjMtcmVxdWVzdHMKKytweXRob24zLXlhbWwKKyAjIHB5dGhvbjMtb3BlbmlkYy1jbGllbnQg IyB1c2VkIGZvciBNQlMgT0lEQyBhdXRoZW50aWNhdGlvbgorICMgcHl0aG9uMy1yZXF1ZXN0cy1r ZXJiZXJvcyAjIHVzZWQgZm9yIE1CUyBLZXJiZXJvcyBhdXRoZW50aWNhdGlvbgorIAorZGlmZiAt LWdpdCBhL3JlcXVpcmVtZW50cy9weXBpLnR4dCBiL3JlcXVpcmVtZW50cy9weXBpLnR4dAoraW5k ZXggNWQzNWYzYi4uZTRjNDNiYiAxMDA2NDQKKy0tLSBhL3JlcXVpcmVtZW50cy9weXBpLnR4dAor KysrIGIvcmVxdWlyZW1lbnRzL3B5cGkudHh0CitAQCAtOCw2ICs4LDcgQEAga29qaSA+PSAxLjE1 CisgcHljdXJsID49IDcuMTkKKyByZXF1ZXN0cworIHNpeCA+PSAxLjkuMAorK1B5WUFNTAorIAor ICMgcnBtLXB5LWluc3RhbGxlcgorICMKK2RpZmYgLS1naXQgYS90ZXN0cy90ZXN0X2NsaS5weSBi L3Rlc3RzL3Rlc3RfY2xpLnB5CitpbmRleCBlYTM1YWZlLi43NDVhOTdjIDEwMDY0NAorLS0tIGEv dGVzdHMvdGVzdF9jbGkucHkKKysrKyBiL3Rlc3RzL3Rlc3RfY2xpLnB5CitAQCAtMjMsNiArMjMs NyBAQCBmcm9tIHNpeC5tb3ZlcyBpbXBvcnQgaHR0cF9jbGllbnQKKyAKKyBpbXBvcnQgZ2l0Cisg aW1wb3J0IHB5cnBrZy5jbGkKKytmcm9tIHB5cnBrZyBpbXBvcnQgUFkyNgorIAorIHRyeToKKyAg ICAgaW1wb3J0IG9wZW5pZGNfY2xpZW50CitAQCAtMTk3LDcgKzE5OCw3IEBAIGNsYXNzIFRlc3RD b250YWluZXJCdWlsZFdpdGhLb2ppKENsaVRlc3RDYXNlKToKKyAgICAgICAgICAgICBzZWxmLmNv bnRhaW5lcl9idWlsZF9rb2ppX3BhdGNoZXIuc3RhcnQoKQorIAorICAgICBkZWYgdGVhckRvd24o c2VsZik6CistICAgICAgICBzZWxmLm1vY2tfY29udGFpbmVyX2J1aWxkX2tvamkuc3RvcCgpCisr ICAgICAgICBzZWxmLmNvbnRhaW5lcl9idWlsZF9rb2ppX3BhdGNoZXIuc3RvcCgpCisgICAgICAg ICBzdXBlcihUZXN0Q29udGFpbmVyQnVpbGRXaXRoS29qaSwgc2VsZikudGVhckRvd24oKQorIAor ICAgICBkZWYgdGVzdF91c2luZ19rb2ppcHJvZmlsZShzZWxmKToKK0BAIC0yMjMsNyArMjI0LDgg QEAgY2xhc3MgVGVzdENvbnRhaW5lckJ1aWxkV2l0aEtvamkoQ2xpVGVzdENhc2UpOgorICAgICAg ICAgICAgIGtvamlwcm9maWxlPSdrb2ppJywKKyAgICAgICAgICAgICBidWlsZF9jbGllbnQ9dXRp bHMuYnVpbGRfY2xpZW50LAorICAgICAgICAgICAgIGtvamlfdGFza193YXRjaGVyPWtvamlfY2xp LmxpYi53YXRjaF90YXNrcywKKy0gICAgICAgICAgICBub3dhaXQ9RmFsc2UKKysgICAgICAgICAg ICBub3dhaXQ9RmFsc2UsCisrICAgICAgICAgICAgZmxhdHBhaz1GYWxzZQorICAgICAgICAgKQor IAorICAgICBkZWYgdGVzdF9vdmVycmlkZV90YXJnZXQoc2VsZik6CitAQCAtMjUwLDcgKzI1Miw4 IEBAIGNsYXNzIFRlc3RDb250YWluZXJCdWlsZFdpdGhLb2ppKENsaVRlc3RDYXNlKToKKyAgICAg ICAgICAgICBrb2ppcHJvZmlsZT0na29qaScsCisgICAgICAgICAgICAgYnVpbGRfY2xpZW50PXV0 aWxzLmJ1aWxkX2NsaWVudCwKKyAgICAgICAgICAgICBrb2ppX3Rhc2tfd2F0Y2hlcj1rb2ppX2Ns aS5saWIud2F0Y2hfdGFza3MsCistICAgICAgICAgICAgbm93YWl0PUZhbHNlCisrICAgICAgICAg ICAgbm93YWl0PUZhbHNlLAorKyAgICAgICAgICAgIGZsYXRwYWs9RmFsc2UKKyAgICAgICAgICkK KyAKKyAgICAgZGVmIHRlc3RfdXNpbmdfZGVwcmVjYXRlZF9rb2ppY29uZmlnKHNlbGYpOgorQEAg LTI4Niw3ICsyODksOCBAQCBjbGFzcyBUZXN0Q29udGFpbmVyQnVpbGRXaXRoS29qaShDbGlUZXN0 Q2FzZSk6CisgICAgICAgICAgICAga29qaXByb2ZpbGU9Tm9uZSwKKyAgICAgICAgICAgICBidWls ZF9jbGllbnQ9dXRpbHMuYnVpbGRfY2xpZW50LAorICAgICAgICAgICAgIGtvamlfdGFza193YXRj aGVyPWtvamlfY2xpLmxpYi53YXRjaF90YXNrcywKKy0gICAgICAgICAgICBub3dhaXQ9RmFsc2UK KysgICAgICAgICAgICBub3dhaXQ9RmFsc2UsCisrICAgICAgICAgICAgZmxhdHBhaz1GYWxzZQor ICAgICAgICAgKQorIAorICAgICBkZWYgdGVzdF91c2VfY29udGFpbmVyX2J1aWxkX293bl9jb25m aWcoc2VsZik6CitAQCAtMzA0LDYgKzMwOCw0MyBAQCBjbGFzcyBUZXN0Q29udGFpbmVyQnVpbGRX aXRoS29qaShDbGlUZXN0Q2FzZSk6CisgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdrb2ppLWNv bnRhaW5lcicsIGt3YXJnc1sna29qaXByb2ZpbGUnXSkKKyAgICAgICAgIHNlbGYuYXNzZXJ0RXF1 YWwoJ2tvamknLCBrd2FyZ3NbJ2J1aWxkX2NsaWVudCddKQorIAorKyAgICBAdW5pdHRlc3Quc2tp cElmKAorKyAgICAgICAgUFkyNiwKKysgICAgICAgICdTa2lwIG9uIG9sZCBQeXRob24gdmVyc2lv bnMgd2hlcmUgbGlibW9kdWxlbWQgaXMgbm90IGF2YWlsYWJsZS4nKQorKyAgICBAcGF0Y2goJ3Jl cXVlc3RzLmdldCcpCisrICAgIGRlZiB0ZXN0X2ZsYXRwYWsoc2VsZiwgbW9ja19nZXQpOgorKyAg ICAgICAgbW9ja19ydiA9IE1vY2soKQorKyAgICAgICAgbW9ja19ydi5vayA9IFRydWUKKysgICAg ICAgIG1vY2tfcnYuanNvbi5yZXR1cm5fdmFsdWUgPSB7CisrICAgICAgICAgICAgJ2F1dGhfbWV0 aG9kJzogJ29pZGMnLAorKyAgICAgICAgICAgICdhcGlfdmVyc2lvbic6IDIKKysgICAgICAgIH0K KysKKysgICAgICAgIG1vY2tfZ2V0LnJldHVybl92YWx1ZSA9IG1vY2tfcnYKKysKKysgICAgICAg IGNsaV9jbWQgPSBbJ3Jwa2cnLCAnLS1wYXRoJywgc2VsZi5jbG9uZWRfcmVwb19wYXRoLAorKyAg ICAgICAgICAgICAgICAgICAnZmxhdHBhay1idWlsZCddCisrCisrICAgICAgICB3aXRoIHBhdGNo KCdzeXMuYXJndicsIG5ldz1jbGlfY21kKToKKysgICAgICAgICAgICBjbGkgPSBzZWxmLm5ld19j bGkoKQorKyAgICAgICAgICAgIGNsaS5mbGF0cGFrX2J1aWxkKCkKKysKKysgICAgICAgIHNlbGYu bW9ja19jb250YWluZXJfYnVpbGRfa29qaS5hc3NlcnRfY2FsbGVkX29uY2Vfd2l0aCgKKysgICAg ICAgICAgICBGYWxzZSwKKysgICAgICAgICAgICBvcHRzPXsKKysgICAgICAgICAgICAgICAgJ3Nj cmF0Y2gnOiBGYWxzZSwKKysgICAgICAgICAgICAgICAgJ3F1aWV0JzogRmFsc2UsCisrICAgICAg ICAgICAgICAgICdnaXRfYnJhbmNoJzogJ2VuZy1yaGVsLTcnLAorKyAgICAgICAgICAgICAgICAn YXJjaGVzJzogTm9uZSwKKysgICAgICAgICAgICB9LAorKyAgICAgICAgICAgIGtvamljb25maWc9 Tm9uZSwKKysgICAgICAgICAgICBrb2ppcHJvZmlsZT0na29qaScsCisrICAgICAgICAgICAgYnVp bGRfY2xpZW50PXV0aWxzLmJ1aWxkX2NsaWVudCwKKysgICAgICAgICAgICBrb2ppX3Rhc2tfd2F0 Y2hlcj1rb2ppX2NsaS5saWIud2F0Y2hfdGFza3MsCisrICAgICAgICAgICAgbm93YWl0PUZhbHNl LAorKyAgICAgICAgICAgIGZsYXRwYWs9VHJ1ZQorKyAgICAgICAgKQorKworIAorIGNsYXNzIFRl c3RDbG9nKENsaVRlc3RDYXNlKToKKyAKK2RpZmYgLS1naXQgYS90ZXN0cy90ZXN0X2ZsYXRwYWtf YnVpbGQucHkgYi90ZXN0cy90ZXN0X2ZsYXRwYWtfYnVpbGQucHkKK25ldyBmaWxlIG1vZGUgMTAw NjQ0CitpbmRleCAwMDAwMDAwLi45N2FiNDU2CistLS0gL2Rldi9udWxsCisrKysgYi90ZXN0cy90 ZXN0X2ZsYXRwYWtfYnVpbGQucHkKK0BAIC0wLDAgKzEsMzA1IEBACisraW1wb3J0IG9zCisraW1w b3J0IHN1YnByb2Nlc3MKKytmcm9tIHRleHR3cmFwIGltcG9ydCBkZWRlbnQKKysKKyt0cnk6Cisr ICAgIGltcG9ydCB1bml0dGVzdDIgYXMgdW5pdHRlc3QKKytleGNlcHQgSW1wb3J0RXJyb3I6Cisr ICAgIGltcG9ydCB1bml0dGVzdAorKworK2Zyb20gbW9jayBpbXBvcnQgTW9jaywgcGF0Y2gKKytp bXBvcnQgcmVxdWVzdHMKKysKKytmcm9tIHB5cnBrZyBpbXBvcnQgUFkyNgorK2Zyb20gdXRpbHMg aW1wb3J0IENvbW1hbmRUZXN0Q2FzZQorKworK0VPR19NT0RVTEVNRCA9ICIiIgorK2RvY3VtZW50 OiBtb2R1bGVtZAorK3ZlcnNpb246IDIKKytkYXRhOgorKyAgbmFtZTogZW9nCisrICBzdHJlYW06 IGYyOAorKyAgdmVyc2lvbjogMjAxNzA2MjkyMTM0MjgKKysgIHN1bW1hcnk6IEV5ZSBvZiBHTk9N RSBBcHBsaWNhdGlvbiBNb2R1bGUKKysgIGRlc2NyaXB0aW9uOiBUaGUgRXllIG9mIEdOT01FIGlt YWdlIHZpZXdlciAoZW9nKSBpcyB0aGUgb2ZmaWNpYWwgaW1hZ2Ugdmlld2VyIGZvcgorKyAgICB0 aGUgR05PTUUgZGVza3RvcC4gSXQgY2FuIHZpZXcgc2luZ2xlIGltYWdlIGZpbGVzIGluIGEgdmFy aWV0eSBvZiBmb3JtYXRzLCBhcworKyAgICB3ZWxsIGFzIGxhcmdlIGltYWdlIGNvbGxlY3Rpb25z LgorKyAgbGljZW5zZToKKysgICAgbW9kdWxlOiBbTUlUXQorKyAgZGVwZW5kZW5jaWVzOgorKyAg LSBidWlsZHJlcXVpcmVzOgorKyAgICAgIGZsYXRwYWstcnVudGltZTogW2YyOF0KKysgICAgcmVx dWlyZXM6CisrICAgICAgZmxhdHBhay1ydW50aW1lOiBbZjI4XQorKyAgcHJvZmlsZXM6CisrICAg IGRlZmF1bHQ6CisrICAgICAgcnBtczogW2VvZ10KKysgIGNvbXBvbmVudHM6CisrICAgIHJwbXM6 IHt9CisrICB4bWQ6CisrICAgIG1iczogT01JVFRFRAorKyIiIgorKworK0ZMQVRQQUtfUlVOVElN RV9NT0RVTEVNRCA9ICIiIgorK2RvY3VtZW50OiBtb2R1bGVtZAorK3ZlcnNpb246IDIKKytkYXRh OgorKyAgbmFtZTogZmxhdHBhay1ydW50aW1lCisrICBzdHJlYW06IGYyOAorKyAgdmVyc2lvbjog MjAxNzA3MDExNTIyMDkKKysgIHN1bW1hcnk6IEZsYXRwYWsgUnVudGltZQorKyAgZGVzY3JpcHRp b246IExpYnJhcmllcyBhbmQgZGF0YSBmaWxlcyBzaGFyZWQgYmV0d2VlbiBhcHBsaWNhdGlvbnMK KysgIGFwaToKKysgICAgcnBtczogW2xpYnJzdmcyLCBnbm9tZS10aGVtZXMtc3RhbmRhcmQsIGFi YXR0aXMtY2FudGFyZWxsLWZvbnRzLCByZXN0LCB4a2V5Ym9hcmQtY29uZmlnLAorKyAgICAgIGFk d2FpdGEtY3Vyc29yLXRoZW1lLCBweXRob24zLWdvYmplY3QtYmFzZSwganNvbi1nbGliLCB6ZW5p dHksIGdzZXR0aW5ncy1kZXNrdG9wLXNjaGVtYXMsCisrICAgICAgZ2xpYi1uZXR3b3JraW5nLCBn b2JqZWN0LWludHJvc3BlY3Rpb24sIGdvYmplY3QtaW50cm9zcGVjdGlvbi1kZXZlbCwgZmxhdHBh ay1ycG0tbWFjcm9zLAorKyAgICAgIHB5dGhvbjMtZ29iamVjdCwgZ3Zmcy1jbGllbnQsIGNvbG9y ZC1saWJzLCBmbGF0cGFrLXJ1bnRpbWUtY29uZmlnLCBodW5zcGVsbC1lbi1HQiwKKysgICAgICBs aWJzb3VwLCBnbGliMi1kZXZlbCwgaHVuc3BlbGwtZW4tVVMsIGF0LXNwaTItY29yZSwgZ3RrMywg bGliWHRzdCwgYWR3YWl0YS1ndGsyLXRoZW1lLAorKyAgICAgIGxpYm5vdGlmeSwgYWR3YWl0YS1p Y29uLXRoZW1lLCBsaWJnY2FiMSwgbGlieGtiY29tbW9uLCBsaWJhcHBzdHJlYW0tZ2xpYiwgcHl0 aG9uMy1jYWlybywKKysgICAgICBnbm9tZS1kZXNrdG9wMywgbGliZXBveHksIGh1bnNwZWxsLCBs aWJndXNiLCBnbGliMiwgZW5jaGFudCwgYXQtc3BpMi1hdGtdCisrICBkZXBlbmRlbmNpZXM6Cisr ICAtIGJ1aWxkcmVxdWlyZXM6CisrICAgICAgcGxhdGZvcm06IFtmMjhdCisrICAgIHJlcXVpcmVz OgorKyAgICAgIHBsYXRmb3JtOiBbZjI4XQorKyAgbGljZW5zZToKKysgICAgbW9kdWxlOiBbTUlU XQorKyAgcHJvZmlsZXM6CisrICAgIGJ1aWxkcm9vdDoKKysgICAgICBycG1zOiBbZmxhdHBhay1y cG0tbWFjcm9zLCBmbGF0cGFrLXJ1bnRpbWUtY29uZmlnXQorKyAgICBydW50aW1lOgorKyAgICAg IHJwbXM6IFtsaWJ3YXlsYW5kLXNlcnZlciwgbGlicnN2ZzIsIGxpYlgxMSwgbGliZmRpc2ssIGFk d2FpdGEtY3Vyc29yLXRoZW1lLAorKyAgICAgICAgbGlic21hcnRjb2xzLCBwb3B0LCBnZGJtLCBs aWJnbHZuZCwgb3BlbnNzbC1saWJzLCBnb2JqZWN0LWludHJvc3BlY3Rpb24sIHN5c3RlbWQsCisr ICAgICAgICBuY3Vyc2VzLWJhc2UsIGxjbXMyLCBsaWJwY2FwLCBjcnlwdG8tcG9saWNpZXMsIGZv bnRjb25maWcsIGxpYmFjbCwgbGlid2F5bGFuZC1jdXJzb3IsCisrICAgICAgICBsaWJzZWNjb21w LCBnbXAsIGpiaWdraXQtbGlicywgYnppcDItbGlicywgbGlidW5pc3RyaW5nLCBmcmVldHlwZSwg bmV0dGxlLAorKyAgICAgICAgbGliaWRuLCBweXRob24zLXNpeCwgZ3RrMiwgZ3RrMywgY2EtY2Vy dGlmaWNhdGVzLCBsaWJkcm0sIHJlc3QsIGx6bywgbGliY2FwLAorKyAgICAgICAgZ251dGxzLCBw YW5nbywgdXRpbC1saW51eCwgYmFzZXN5c3RlbSwgcDExLWtpdCwgbGliZ2NhYjEsIGlwdGFibGVz LWxpYnMsIGRidXMsCisrICAgICAgICBweXRob24zLWdvYmplY3QtYmFzZSwgY3J5cHRzZXR1cC1s aWJzLCBrcmI1LWxpYnMsIHNxbGl0ZS1saWJzLCBrbW9kLWxpYnMsCisrICAgICAgICBsaWJtb2Rt YW4sIGxpYmFyY2hpdmUsIGVuY2hhbnQsIGxpYlhmaXhlcywgc3lzdGVtZC1saWJzLCBzaGFyZWQt bWltZS1pbmZvLAorKyAgICAgICAgY29yZXV0aWxzLWNvbW1vbiwgbGliZ2x2bmQtZ2x4LCBhYmF0 dGlzLWNhbnRhcmVsbC1mb250cywgY2Fpcm8sIGF1ZGl0LWxpYnMsCisrICAgICAgICBsaWJ3YXls YW5kLWNsaWVudCwgbGlicGNpYWNjZXNzLCBzZWQsIGxpYmdjYywgbGliWHJlbmRlciwganNvbi1n bGliLCBsaWJ4c2htZmVuY2UsCisrICAgICAgICBnbGliLW5ldHdvcmtpbmcsIGxpYmRiLCBmZWRv cmEtbW9kdWxhci1yZXBvcywga2V5dXRpbHMtbGlicywgaHdkYXRhLCBnbGliYywKKysgICAgICAg IGxpYnByb3h5LCBweXRob24zLXB5cGFyc2luZywgZGV2aWNlLW1hcHBlciwgbGliZ3BnLWVycm9y LCBzeXN0ZW0tcHl0aG9uLCBzaGFkb3ctdXRpbHMsCisrICAgICAgICBsaWJYdHN0LCBsaWJzdGVt bWVyLCBkYnVzLWxpYnMsIGxpYnBuZywgY2Fpcm8tZ29iamVjdCwgbGliWGF1LCBwY3JlLCBweXRo b24zLXBhY2thZ2luZywKKysgICAgICAgIGF0LXNwaTItY29yZSwgZ2F3aywgbWVzYS1saWJnbGFw aSwgbGliWGluZXJhbWEsIGFkd2FpdGEtZ3RrMi10aGVtZSwgbGliWDExLWNvbW1vbiwKKysgICAg ICAgIGRldmljZS1tYXBwZXItbGlicywgcHl0aG9uMy1hcHBkaXJzLCBsaWJYcmFuZHIsIGJhc2gs IGdsaWJjLWNvbW1vbiwgbGlic2VsaW51eCwKKysgICAgICAgIGVsZnV0aWxzLWxpYnMsIGxpYnhr YmNvbW1vbiwgbGlianBlZy10dXJibywgbGlidXVpZCwgYXRrLCBhY2wsIGxpYm1vdW50LCBsejQt bGlicywKKysgICAgICAgIG5jdXJzZXMsIGxpYmd1c2IsIGdsaWIyLCBweXRob24zLCBsaWJwd3F1 YWxpdHksIGF0LXNwaTItYXRrLCBsaWJhdHRyLCBsaWJjcnlwdCwKKysgICAgICAgIGdub21lLXRo ZW1lcy1zdGFuZGFyZCwgbGlidGlmZiwgaGFyZmJ1enosIGxpYnN0ZGMrKywgbGliWGNvbXBvc2l0 ZSwgeGtleWJvYXJkLWNvbmZpZywKKysgICAgICAgIGxpYnhjYiwgbGlibm90aWZ5LCBzeXN0ZW1k LXBhbSwgcmVhZGxpbmUsIGxpYlh4Zjg2dm0sIHB5dGhvbjMtY2Fpcm8sIGd0ay11cGRhdGUtaWNv bi1jYWNoZSwKKysgICAgICAgIHB5dGhvbjMtcGlwLCBtZXNhLWxpYkVHTCwgemVuaXR5LCBweXRo b24zLWdvYmplY3QsIGxpYlhjdXJzb3IsIHR6ZGF0YSwgZ3Zmcy1jbGllbnQsCisrICAgICAgICBs aWJ2ZXJ0bywgbGliYmxraWQsIGNyYWNrbGliLCBsaWJ1c2J4LCBsaWJjcm9jbywgbGliZGF0cmll LCBnZGstcGl4YnVmMiwgbGliWGksCisrICAgICAgICBxcmVuY29kZS1saWJzLCBweXRob24zLWxp YnMsIGdyYXBoaXRlMiwgbWVzYS1saWJ3YXlsYW5kLWVnbCwgbWVzYS1saWJHTCwgcGl4bWFuLAor KyAgICAgICAgbGliWGV4dCwgZ2xpYmMtYWxsLWxhbmdwYWNrcywgaW5mbywgZ3JlcCwgZmVkb3Jh LW1vZHVsYXItcmVsZWFzZSwgc2V0dXAsIHpsaWIsCisrICAgICAgICBsaWJ0YXNuMSwgbGliZXBv eHksIGh1bnNwZWxsLCBsaWJzZW1hbmFnZSwgcHl0aG9uMy1zZXR1cHRvb2xzLCBmb250cGFja2Fn ZXMtZmlsZXN5c3RlbSwKKysgICAgICAgIGxpYnNpZ3NlZ3YsIGhpY29sb3ItaWNvbi10aGVtZSwg bGlieG1sMiwgZXhwYXQsIGxpYmdjcnlwdCwgZW1hY3MtZmlsZXN5c3RlbSwKKysgICAgICAgIGdz ZXR0aW5ncy1kZXNrdG9wLXNjaGVtYXMsIGNoa2NvbmZpZywgeHotbGlicywgbWVzYS1saWJnYm0s IGxpYnRoYWksIGNvcmV1dGlscywKKysgICAgICAgIGNvbG9yZC1saWJzLCBsaWJjYXAtbmcsIGZs YXRwYWstcnVudGltZS1jb25maWcsIGVsZnV0aWxzLWxpYmVsZiwgaHVuc3BlbGwtZW4tR0IsCisr ICAgICAgICBsaWJzb3VwLCBwYW0sIGh1bnNwZWxsLWVuLVVTLCBqYXNwZXItbGlicywgcDExLWtp dC10cnVzdCwgYXZhaGktbGlicywgZWxmdXRpbHMtZGVmYXVsdC15YW1hLXNjb3BlLAorKyAgICAg ICAgbGlidXRlbXB0ZXIsIGFkd2FpdGEtaWNvbi10aGVtZSwgbmN1cnNlcy1saWJzLCBsaWJpZG4y LCBzeXN0ZW0tcHl0aG9uLWxpYnMsCisrICAgICAgICBsaWJmZmksIGxpYlhkYW1hZ2UsIGxpYmds dm5kLWVnbCwgbGliWGZ0LCBjdXBzLWxpYnMsIHVzdHIsIGxpYmNvbV9lcnIsIGxpYmFwcHN0cmVh bS1nbGliLAorKyAgICAgICAgZ25vbWUtZGVza3RvcDMsIGdkay1waXhidWYyLW1vZHVsZXMsIGxp YnNlcG9sLCBmaWxlc3lzdGVtLCBnemlwLCBtcGZyXQorKyAgICBzZGs6CisrICAgICAgcnBtczog W2djY10KKysgIGNvbXBvbmVudHM6CisrICAgIHJwbXM6IHt9CisrICB4bWQ6CisrICAgIGZsYXRw YWs6CisrICAgICAgIyBUaGlzIGdpdmVzIGluZm9ybWF0aW9uIGFib3V0IGhvdyB0byBtYXAgdGhp cyBtb2R1bGUgaW50byBGbGF0cGFrIHRlcm1zCisrICAgICAgIyB0aGlzIGlzIHVzZWQgd2hlbiBi dWlsZGluZyBhcHBsaWNhdGlvbiBtb2R1bGVzIGFnYWluc3QgdGhpcyBtb2R1bGUuCisrICAgICAg YnJhbmNoOiBmMjgKKysgICAgICBydW50aW1lczogIyBLZXlzIGFyZSBwcm9maWxlIG5hbWVzCisr ICAgICAgICBydW50aW1lOgorKyAgICAgICAgICBpZDogb3JnLmZlZG9yYXByb2plY3QuUGxhdGZv cm0KKysgICAgICAgICAgc2RrOiBvcmcuZmVkb3JhcHJvamVjdC5TZGsKKysgICAgICAgIHNkazoK KysgICAgICAgICAgaWQ6IG9yZy5mZWRvcmFwcm9qZWN0LlNkaworKyAgICAgICAgICBydW50aW1l OiBvcmcuZmVkb3JhcHJvamVjdC5QbGF0Zm9ybQorKyAgICBtYnM6IE9NSVRURUQKKysiIiIgICMg bm9xYQorKworK1VORVhQQU5ERURfTU9EVUxFTUQgPSAiIiIKKytkb2N1bWVudDogbW9kdWxlbWQK Kyt2ZXJzaW9uOiAyCisrZGF0YToKKysgIG5hbWU6IG5vZGVwcworKyAgc3RyZWFtOiBmMjgKKysg IHZlcnNpb246IDIwMTgxMjM0NTY3ODkwCisrICBzdW1tYXJ5OiBObyBkZXBlbmRlbmNpZXMKKysg IGRlc2NyaXB0aW9uOiBUaGlzIG1vZHVsZSBoYXMgbm8gZGVwcworKyAgbGljZW5zZToKKysgICAg bW9kdWxlOiBbTUlUXQorKyAgZGVwZW5kZW5jaWVzOgorKyAgLSBidWlsZHJlcXVpcmVzOgorKyAg ICAgIHBsYXRmb3JtOiBbZjI3LCBmMjhdCisrICAgIHJlcXVpcmVzOgorKyAgICAgIHBsYXRmb3Jt OiBbZjI3LCBmMjhdCisrICBjb21wb25lbnRzOgorKyAgICBycG1zOiB7fQorKyIiIgorKworK05P REVQU19NT0RVTEVNRCA9ICIiIgorK2RvY3VtZW50OiBtb2R1bGVtZAorK3ZlcnNpb246IDIKKytk YXRhOgorKyAgbmFtZTogbm9kZXBzCisrICBzdHJlYW06IGYyOAorKyAgdmVyc2lvbjogMjAxODEy MzQ1Njc4OTAKKysgIHN1bW1hcnk6IE5vIGRlcGVuZGVuY2llcworKyAgZGVzY3JpcHRpb246IFRo aXMgbW9kdWxlIGhhcyBubyBkZXBzCisrICBsaWNlbnNlOgorKyAgICBtb2R1bGU6IFtNSVRdCisr ICBkZXBlbmRlbmNpZXM6IFtdCisrICBjb21wb25lbnRzOgorKyAgICBycG1zOiB7fQorKyIiIgor KworK0JVSUxEUyA9IHsKKysgICAgJ2VvZzpmMjgnOiBbCisrICAgICAgICB7J21vZHVsZW1kJzog RU9HX01PRFVMRU1EfQorKyAgICBdLAorKyAgICAnZW9nOmYyODoyMDE3MDYyOTIxMzQyOCc6IFsK KysgICAgICAgIHsnbW9kdWxlbWQnOiBFT0dfTU9EVUxFTUR9CisrICAgIF0sCisrICAgICdmbGF0 cGFrLXJ1bnRpbWU6ZjI4JzogWworKyAgICAgICAgeydtb2R1bGVtZCc6IEZMQVRQQUtfUlVOVElN RV9NT0RVTEVNRH0KKysgICAgXSwKKysgICAgJ2JhZC1tb2R1bGVtZDpmMjgnOiBbCisrICAgICAg ICB7J21vZHVsZW1kJzogIkJMQUgifQorKyAgICBdLAorKyAgICAndW5leHBhbmRlZDpmMjgnOiBb CisrICAgICAgICB7J21vZHVsZW1kJzogVU5FWFBBTkRFRF9NT0RVTEVNRH0KKysgICAgXSwKKysg ICAgJ25vZGVwczpmMjgnOiBbCisrICAgICAgICB7J21vZHVsZW1kJzogTk9ERVBTX01PRFVMRU1E fQorKyAgICBdLAorK30KKysKKysKKytAdW5pdHRlc3Quc2tpcElmKAorKyAgICBQWTI2LAorKyAg ICAnU2tpcCBvbiBvbGQgUHl0aG9uIHZlcnNpb25zIHdoZXJlIGxpYm1vZHVsZW1kIGlzIG5vdCBh dmFpbGFibGUuJykKKytjbGFzcyBGbGF0cGFrQnVpbGRDYXNlKENvbW1hbmRUZXN0Q2FzZSk6Cisr ICAgIGRlZiBzZXRfY29udGFpbmVyX21vZHVsZXMoc2VsZiwgY29udGFpbmVyX21vZHVsZXMpOgor KyAgICAgICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbihzZWxmLnJlcG9fcGF0aCwgJ2NvbnRhaW5l ci55YW1sJyksICd3JykgYXMgZjoKKysgICAgICAgICAgICBmLndyaXRlKGRlZGVudCgiIiJcCisr ICAgICAgICAgICAgICAgIGNvbXBvc2U6CisrICAgICAgICAgICAgICAgICAgICBtb2R1bGVzOiB7 MH0KKysgICAgICAgICAgICAgICAgIiIiLmZvcm1hdChjb250YWluZXJfbW9kdWxlcykpKQorKyAg ICAgICAgZ2l0X2NtZHMgPSBbCisrICAgICAgICAgICAgWydnaXQnLCAnYWRkJywgJ2NvbnRhaW5l ci55YW1sJ10sCisrICAgICAgICAgICAgWydnaXQnLCAnY29tbWl0JywgJy1tJywgJ1VwZGF0ZSBj b250YWluZXIueWFtbCddLAorKyAgICAgICAgXQorKyAgICAgICAgZm9yIGNtZCBpbiBnaXRfY21k czoKKysgICAgICAgICAgICBzZWxmLnJ1bl9jbWQoY21kLCBjd2Q9c2VsZi5yZXBvX3BhdGgsCisr ICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsIHN0ZGVycj1z dWJwcm9jZXNzLlBJUEUpCisrICAgICAgICBnaXRfY21kcyA9IFsKKysgICAgICAgICAgICBbJ2dp dCcsICdmZXRjaCcsICdvcmlnaW4nXSwKKysgICAgICAgICAgICBbJ2dpdCcsICdyZXNldCcsICct LWhhcmQnLCAnb3JpZ2luL21hc3RlciddLAorKyAgICAgICAgXQorKyAgICAgICAgZm9yIGNtZCBp biBnaXRfY21kczoKKysgICAgICAgICAgICBzZWxmLnJ1bl9jbWQoY21kLCBjd2Q9c2VsZi5jbG9u ZWRfcmVwb19wYXRoLAorKyAgICAgICAgICAgICAgICAgICAgICAgICBzdGRvdXQ9c3VicHJvY2Vz cy5QSVBFLCBzdGRlcnI9c3VicHJvY2Vzcy5QSVBFKQorKworKyAgICBkZWYgc2V0VXAoc2VsZik6 CisrICAgICAgICBzdXBlcihGbGF0cGFrQnVpbGRDYXNlLCBzZWxmKS5zZXRVcCgpCisrCisrICAg ICAgICBzZWxmLmNtZCA9IHNlbGYubWFrZV9jb21tYW5kcygpCisrICAgICAgICBzZWxmLmNtZC5t b2R1bGVfYXBpX3VybCA9ICJodHRwczovL21icy5leGFtcGxlLmNvbS9tb2R1bGUtYnVpbGQtc2Vy dmljZS8xLyIKKysKKysgICAgICAgIHNlbGYucmVxdWVzdHNfZ2V0X3AgPSBwYXRjaCgncmVxdWVz dHMuZ2V0JykKKysgICAgICAgIHNlbGYubW9ja19yZXF1ZXN0c19nZXQgPSBzZWxmLnJlcXVlc3Rz X2dldF9wLnN0YXJ0KCkKKysKKysgICAgICAgIGRlZiBtb2NrX2dldCh1cmwsIHBhcmFtcz1Ob25l LCB0aW1lb3V0PU5vbmUpOgorKyAgICAgICAgICAgIG5zdmMgPSBwYXJhbXNbJ25zdmMnXQorKyAg ICAgICAgICAgIGRlbCBwYXJhbXNbJ25zdmMnXQorKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1 YWxzKHBhcmFtcywgeworKyAgICAgICAgICAgICAgICAnb3JkZXJfZGVzY19ieSc6ICd2ZXJzaW9u JywKKysgICAgICAgICAgICAgICAgJ3Blcl9wYWdlJzogMQorKyAgICAgICAgICAgIH0pCisrCisr ICAgICAgICAgICAgcmVzcG9uc2UgPSBNb2NrKHJlcXVlc3RzLlJlc3BvbnNlKQorKyAgICAgICAg ICAgIHJlc3BvbnNlLm9rID0gVHJ1ZQorKyAgICAgICAgICAgIHJlc3BvbnNlLmpzb24ucmV0dXJu X3ZhbHVlID0geydpdGVtcyc6IEJVSUxEUy5nZXQobnN2YywgW10pfQorKworKyAgICAgICAgICAg IHJldHVybiByZXNwb25zZQorKworKyAgICAgICAgc2VsZi5tb2NrX3JlcXVlc3RzX2dldC5zaWRl X2VmZmVjdCA9IG1vY2tfZ2V0CisrCisrICAgICAgICBzZWxmLmxvYWRfa3JiX3VzZXJfcCA9IHBh dGNoKCdweXJwa2cuQ29tbWFuZHMuX2xvYWRfa3JiX3VzZXInKQorKyAgICAgICAgc2VsZi5tb2Nr X2xvYWRfa3JiX3VzZXIgPSBzZWxmLmxvYWRfa3JiX3VzZXJfcC5zdGFydCgpCisrCisrICAgICAg ICBzZXNzaW9uID0gTW9jaygpCisrICAgICAgICBzZWxmLmtvamlzZXNzaW9uID0gc2Vzc2lvbgor KyAgICAgICAgc2Vzc2lvbi5zeXN0ZW0ubGlzdE1ldGhvZHMucmV0dXJuX3ZhbHVlID0gWydidWls ZENvbnRhaW5lciddCisrCisrICAgICAgICBkZWYgbG9hZF9rb2ppc2Vzc2lvbihzZWxmKToKKysg ICAgICAgICAgICBzZWxmLl9rb2ppc2Vzc2lvbiA9IHNlc3Npb24KKysKKysgICAgICAgIHNlbGYu bG9hZF9rb2ppc2Vzc2lvbl9wID0gcGF0Y2goJ3B5cnBrZy5Db21tYW5kcy5sb2FkX2tvamlzZXNz aW9uJywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3PWxvYWRf a29qaXNlc3Npb24pCisrICAgICAgICBzZWxmLm1vY2tfbG9hZF9rb2ppc2Vzc2lvbiA9IHNlbGYu bG9hZF9rb2ppc2Vzc2lvbl9wLnN0YXJ0KCkKKysKKysgICAgICAgIHNlc3Npb24uZ2V0QnVpbGRU YXJnZXQucmV0dXJuX3ZhbHVlID0geydkZXN0X3RhZyc6ICdmMjgtZmxhdHBhayd9CisrICAgICAg ICBzZXNzaW9uLmdldFRhZy5yZXR1cm5fdmFsdWUgPSB7J2xvY2tlZCc6IEZhbHNlfQorKworKyAg ICBkZWYgdGVhckRvd24oc2VsZik6CisrICAgICAgICBzZWxmLnJlcXVlc3RzX2dldF9wLnN0b3Ao KQorKyAgICAgICAgc2VsZi5sb2FkX2tyYl91c2VyX3Auc3RvcCgpCisrICAgICAgICBzZWxmLmxv YWRfa29qaXNlc3Npb25fcC5zdG9wKCkKKysKKysgICAgICAgIHN1cGVyKEZsYXRwYWtCdWlsZENh c2UsIHNlbGYpLnRlYXJEb3duKCkKKysKKysgICAgZGVmIHRlc3RfZmluZF90YXJnZXQoc2VsZik6 CisrICAgICAgICBzZWxmLnNldF9jb250YWluZXJfbW9kdWxlcyhbJ2VvZzpmMjgnXSkKKysgICAg ICAgIGFzc2VydCBzZWxmLmNtZC5mbGF0cGFrX2J1aWxkX3RhcmdldCA9PSAnZjI4LWZsYXRwYWst Y2FuZGlkYXRlJworKworKyAgICBkZWYgdGVzdF9maW5kX3RhcmdldF92ZXJzaW9uKHNlbGYpOgor KyAgICAgICAgc2VsZi5zZXRfY29udGFpbmVyX21vZHVsZXMoWydlb2c6ZjI4OjIwMTcwNjI5MjEz NDI4J10pCisrICAgICAgICBhc3NlcnQgc2VsZi5jbWQuZmxhdHBha19idWlsZF90YXJnZXQgPT0g J2YyOC1mbGF0cGFrLWNhbmRpZGF0ZScKKysKKysgICAgZGVmIG1vZHVsZV9mYWlsdXJlKHNlbGYs IGNvbnRhaW5lcl9tb2R1bGVzLCBleGNlcHRpb25fc3RyKToKKysgICAgICAgIGlmIGNvbnRhaW5l cl9tb2R1bGVzIGlzIG5vdCBOb25lOgorKyAgICAgICAgICAgIHNlbGYuc2V0X2NvbnRhaW5lcl9t b2R1bGVzKGNvbnRhaW5lcl9tb2R1bGVzKQorKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNl cyhFeGNlcHRpb24pIGFzIGU6CisrICAgICAgICAgICAgc2VsZi5jbWQubG9hZF9mbGF0cGFrX2J1 aWxkX3RhcmdldCgpCisrICAgICAgICBzZWxmLmFzc2VydEluKGV4Y2VwdGlvbl9zdHIsIHN0cihl LmV4Y2VwdGlvbikpCisrCisrICAgIGRlZiB0ZXN0X2ZpbmRfdGFyZ2V0X25vX2NvbnRhaW5lcl95 YW1sKHNlbGYpOgorKyAgICAgICAgc2VsZi5tb2R1bGVfZmFpbHVyZShOb25lLCAiQ2Fubm90IGZp bmQgJ2NvbnRhaW5lci55YW1sJyIpCisrCisrICAgIGRlZiB0ZXN0X2ZpbmRfdGFyZ2V0X25vX21v ZHVsZXMoc2VsZik6CisrICAgICAgICBzZWxmLm1vZHVsZV9mYWlsdXJlKFtdLCAiTm8gbW9kdWxl cyBsaXN0ZWQgaW4gJ2NvbnRhaW5lci55YW1sJyIpCisrCisrICAgIGRlZiB0ZXN0X2ZpbmRfdGFy Z2V0X211bHRpcGxlX21vZHVsZXMoc2VsZik6CisrICAgICAgICBzZWxmLm1vZHVsZV9mYWlsdXJl KFsnZW9nOmYyOCcsICdmb286ZjI4J10sCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICJN dWx0aXBsZSBtb2R1bGVzIGxpc3RlZCBpbiAnY29udGFpbmVyLnlhbWwnIikKKysKKysgICAgZGVm IHRlc3RfZmluZF90YXJnZXRfYmFkX25zdihzZWxmKToKKysgICAgICAgIHNlbGYubW9kdWxlX2Zh aWx1cmUoWydOT1RfQV9NT0RVTEUnXSwgInNob3VsZCBiZSBOQU1FOlNUUkVBTVs6VkVSU0lPTl0i KQorKworKyAgICBkZWYgdGVzdF9maW5kX3RhcmdldF9ub19idWlsZHMoc2VsZik6CisrICAgICAg ICBzZWxmLm1vZHVsZV9mYWlsdXJlKFsnZW9nOmYxJ10sICJDYW5ub3QgZmluZCBhbnkgYnVpbGRz IGZvciBtb2R1bGUiKQorKworKyAgICBkZWYgdGVzdF9maW5kX3RhcmdldF9iYWRfbW9kdWxlbWQo c2VsZik6CisrICAgICAgICBzZWxmLm1vZHVsZV9mYWlsdXJlKFsnYmFkLW1vZHVsZW1kOmYyOCdd LCAiRmFpbGVkIHRvIGxvYWQgbW9kdWxlbWQiKQorKworKyAgICBkZWYgdGVzdF9maW5kX3Rhcmdl dF91bmV4cGVjdGVkKHNlbGYpOgorKyAgICAgICAgc2VsZi5tb2R1bGVfZmFpbHVyZShbJ3VuZXhw YW5kZWQ6ZjI4J10sICJzdHJlYW0gbGlzdCBmb3IgJ3BsYXRmb3JtJyBpcyBub3QgZXhwYW5kZWQi KQorKworKyAgICBkZWYgdGVzdF9maW5kX3RhcmdldF9ub19wbGF0Zm9ybShzZWxmKToKKysgICAg ICAgIHNlbGYubW9kdWxlX2ZhaWx1cmUoWydub2RlcHM6ZjI4J10sICJVbmFibGUgdG8gZmluZCAn cGxhdGZvcm0nIG1vZHVsZSBpbiB0aGUgZGVwZW5kZW5jaWVzIikKKysKKysgICAgZGVmIHRlc3Rf ZmxhdHBha19idWlsZChzZWxmKToKKysgICAgICAgIHNlbGYuc2V0X2NvbnRhaW5lcl9tb2R1bGVz KFsnZW9nOmYyOCddKQorKyAgICAgICAgc2VsZi5jbWQuY29udGFpbmVyX2J1aWxkX2tvamkobm93 YWl0PVRydWUsIGZsYXRwYWs9VHJ1ZSkKKysKKysgICAgICAgIHNlc3Npb24gPSBzZWxmLmtvamlz ZXNzaW9uCisrICAgICAgICBzZXNzaW9uLmdldEJ1aWxkVGFyZ2V0LmFzc2VydF9jYWxsZWRfd2l0 aCgnZjI4LWZsYXRwYWstY2FuZGlkYXRlJykKKysgICAgICAgIHNlc3Npb24uZ2V0VGFnLmFzc2Vy dF9jYWxsZWRfd2l0aCgnZjI4LWZsYXRwYWsnKQorKworKyAgICAgICAgc2Vzc2lvbi5idWlsZENv bnRhaW5lci5hc3NlcnRfY2FsbGVkKCkKKysgICAgICAgIGFyZ3MsIGt3YXJncyA9IHNlc3Npb24u YnVpbGRDb250YWluZXIuY2FsbF9hcmdzCisrICAgICAgICBzb3VyY2UsIGNvbnRhaW5lcl90YXJn ZXQsIHRhc2tpbmZvID0gYXJncworKworKyAgICAgICAgYXNzZXJ0IGNvbnRhaW5lcl90YXJnZXQg PT0gJ2YyOC1mbGF0cGFrLWNhbmRpZGF0ZScKCmRpZmYgLS1naXQgYS9ycGtnLnNwZWMgYi9ycGtn LnNwZWMKaW5kZXggZTEwYzYyMy4uNzJiYmJjNCAxMDA2NDQKLS0tIGEvcnBrZy5zcGVjCisrKyBi L3Jwa2cuc3BlYwpAQCAtNCw3ICs0LDcgQEAKIAogTmFtZTogICAgICAgICAgIHJwa2cKIFZlcnNp b246ICAgICAgICAxLjU2Ci1SZWxlYXNlOiAgICAgICAgMSV7P2Rpc3R9CitSZWxlYXNlOiAgICAg ICAgMiV7P2Rpc3R9CiAKIFN1bW1hcnk6ICAgICAgICBQeXRob24gbGlicmFyeSBmb3IgaW50ZXJh Y3Rpbmcgd2l0aCBycG0rZ2l0CiBMaWNlbnNlOiAgICAgICAgR1BMdjIrIGFuZCBMR1BMdjIKQEAg LTIyLDYgKzIyLDggQEAgQnVpbGRBcmNoOiAgICAgIG5vYXJjaAogIyBhbmQgdGhlcmUgaXMgb25s eSBvbGQgcnBtLXB5dGhvbiBwYWNrYWdlIGluIEVMNiBhbmQgNywgc28ganVzdCBzaW1wbHkgdG8K ICMgcmVtb3ZlIHJwbS1weS1pbnN0YWxsZXIgZm9yIG5vdy4KIFBhdGNoMDogICAgICAgICByZW1v dmUta29qaS1hbmQtcnBtLXB5LWluc3RhbGxlci1mcm9tLXJlcXVpcmVzLnBhdGNoCisjIGh0dHBz Oi8vcGFndXJlLmlvL3Jwa2cvcHVsbC1yZXF1ZXN0LzM2MQorUGF0Y2gxOiAgICAgICAgIGFkZC1m bGF0cGFrLWJ1aWxkLnBhdGNoCiAKICVpZiAwJXs/ZmVkb3JhfSB8fCAwJXs/cmhlbH0gPiA3CiAj IEVuYWJsZSBweXRob24zIGJ1aWxkIGJ5IGRlZmF1bHQKQEAgLTUyLDYgKzU0LDcgQEAgQnVpbGRS ZXF1aXJlczogIHB5dGhvbjItZGV2ZWwKIEJ1aWxkUmVxdWlyZXM6ICBweXRob24yLWtvamkgPj0g MS4xNQogQnVpbGRSZXF1aXJlczogIHB5dGhvbjItY2Njb2x1dGlscwogQnVpbGRSZXF1aXJlczog IHB5dGhvbjItb3BlbmlkYy1jbGllbnQKK0J1aWxkUmVxdWlyZXM6ICBQeVlBTUwKIAogJWlmIDAl ez9yaGVsfQogQnVpbGRSZXF1aXJlczogIEdpdFB5dGhvbgpAQCAtNjAsMTEgKzYzLDE2IEBAIEJ1 aWxkUmVxdWlyZXM6ICBweXRob24tcmVxdWVzdHMKIEJ1aWxkUmVxdWlyZXM6ICBweXRob24tc2l4 ID49IDEuOS4wCiAlZWxzZQogQnVpbGRSZXF1aXJlczogIHB5dGhvbjItR2l0UHl0aG9uCitCdWls ZFJlcXVpcmVzOiAgcHl0aG9uMi1nb2JqZWN0LWJhc2UKIEJ1aWxkUmVxdWlyZXM6ICBweXRob24y LXB5Y3VybAogQnVpbGRSZXF1aXJlczogIHB5dGhvbjItcmVxdWVzdHMKIEJ1aWxkUmVxdWlyZXM6 ICBweXRob24yLXNpeCA+PSAxLjkuMAogJWVuZGlmCiAKKyVpZiAwJXs/cmhlbH0gJiYgMCV7P3Jo ZWx9ID09IDcKK0J1aWxkUmVxdWlyZXM6ICBweXRob24tZ29iamVjdC1iYXNlCislZW5kaWYKKwog JWlmIDAlez9yaGVsfSAmJiAwJXs/cmhlbH0gPCA3CiBCdWlsZFJlcXVpcmVzOiAgcHl0aG9uLWFy Z3BhcnNlCiBCdWlsZFJlcXVpcmVzOiAgcHl0aG9uLW1vY2sKQEAgLTc1LDYgKzgzLDcgQEAgQnVp bGRSZXF1aXJlczogIHB5dGhvbi11bml0dGVzdDIKIEJ1aWxkUmVxdWlyZXM6ICBweXRob24yLW1v Y2sKIEJ1aWxkUmVxdWlyZXM6ICBweXRob24yLW5vc2UKIEJ1aWxkUmVxdWlyZXM6ICBweXRob24y LXNldHVwdG9vbHMKK0J1aWxkUmVxdWlyZXM6ICBsaWJtb2R1bGVtZAogJWVuZGlmCiAKIEJ1aWxk UmVxdWlyZXM6ICBycG1saW50CkBAIC04Niw2ICs5NSw3IEBAIFJlcXVpcmVzOiAgICAgICBycG1s aW50CiAKIFJlcXVpcmVzOiAgICAgICBweXRob24yLWNjY29sdXRpbHMKIFJlcXVpcmVzOiAgICAg ICBweXRob24yLWtvamkgPj0gMS4xNQorUmVxdWlyZXM6ICAgICAgIFB5WUFNTAogCiAlaWYgMCV7 P3JoZWx9CiBSZXF1aXJlczogICAgICAgR2l0UHl0aG9uID49IDAuMi4wCkBAIC05OCwxMCArMTA4 LDE4IEBAIFJlcXVpcmVzOiAgICAgICBweXRob24yLUdpdFB5dGhvbgogUmVxdWlyZXM6ICAgICAg IHB5dGhvbjItcnBtCiBSZXF1aXJlczogICAgICAgcHl0aG9uMi1weWN1cmwKIFJlcXVpcmVzOiAg ICAgICBweXRob24yLXNpeCA+PSAxLjkuMAorUmVxdWlyZXM6ICAgICAgIHB5dGhvbjItZ29iamVj dC1iYXNlCisKK1JlcXVpcmVzOiAgICAgICBsaWJtb2R1bGVtZAogJWVuZGlmCiAKICVpZiAwJXs/ cmhlbH0gJiYgMCV7P3JoZWx9IDwgNwotUmVxdWlyZXM6ICBweXRob24tYXJncGFyc2UKK1JlcXVp cmVzOiAgICAgICBweXRob24tYXJncGFyc2UKKyVlbmRpZgorCislaWYgMCV7P3JoZWx9ICYmIDAl ez9yaGVsfSA9PSA3CitSZXF1aXJlczogICAgICAgcHl0aG9uLWdvYmplY3QtYmFzZQorUmVxdWly ZXM6ICAgICAgIGxpYm1vZHVsZW1kCiAlZW5kaWYKIAogUmVxdWlyZXM6ICAgICAgICV7bmFtZX0t Y29tbW9uID0gJXt2ZXJzaW9ufS0le3JlbGVhc2V9CkBAIC0xMzUsNiArMTUzLDggQEAgQnVpbGRS ZXF1aXJlczogIHB5dGhvbjMtc2l4ID49IDEuOS4wCiBCdWlsZFJlcXVpcmVzOiAgcHl0aG9uMy1y ZXF1ZXN0cwogQnVpbGRSZXF1aXJlczogIHB5dGhvbjMtc2V0dXB0b29scwogQnVpbGRSZXF1aXJl czogIHB5dGhvbjMtbm9zZQorQnVpbGRSZXF1aXJlczogIHB5dGhvbjMtZ29iamVjdC1iYXNlCitC dWlsZFJlcXVpcmVzOiAgcHl0aG9uMy1QeVlBTUwKIAogQnVpbGRSZXF1aXJlczogIHJwbWxpbnQK IApAQCAtMTQ5LDYgKzE2OSw5IEBAIFJlcXVpcmVzOiAgICAgICBweXRob24zLWtvamkgPj0gMS4x NQogUmVxdWlyZXM6ICAgICAgIHB5dGhvbjMtcnBtCiBSZXF1aXJlczogICAgICAgcHl0aG9uMy1w eWN1cmwKIFJlcXVpcmVzOiAgICAgICBweXRob24zLXNpeCA+PSAxLjkuMAorUmVxdWlyZXM6ICAg ICAgIHB5dGhvbjMtZ29iamVjdC1iYXNlCitSZXF1aXJlczogICAgICAgcHl0aG9uMy1QeVlBTUwK K1JlcXVpcmVzOiAgICAgICBsaWJtb2R1bGVtZAogCiBSZXF1aXJlczogICAgICAgJXtuYW1lfS1j b21tb24gPSAle3ZlcnNpb259LSV7cmVsZWFzZX0KIApAQCAtMTczLDYgKzE5Niw3IEBAIENvbW1v biBmaWxlcyBmb3IgcHl0aG9uMi0le25hbWV9IGFuZCBweXRob24zLSV7bmFtZX0uCiAlcHJlcAog JXNldHVwIC1xCiAlcGF0Y2gwIC1wMQorJXBhdGNoMSAtcDEKIAogCiAlYnVpbGQKQEAgLTI0Niw2 ICsyNzAsMTAgQEAgbm9zZXRlc3RzIHRlc3RzCiAKIAogJWNoYW5nZWxvZworKiBGcmkgU2VwICA3 IDIwMTggT3dlbiBUYXlsb3IgPG90YXlsb3JAcmVkaGF0LmNvbT4gLSAxLjU2LTIKKy0gQWRkIHBh dGNoIGZyb20gdXBzdHJlYW0gcHVsbC1yZXF1ZXN0IHRvIGFkZCBhIGZsYXRwYWstYnVpbGQgc3Vi Y29tbWFuZAorLSBBZGQgUHlZQU1MIGRlcGVuZGVuY2llcyBzbyB0aGF0IHRoZSBzcGVjIGZpbGUg YXQgbGVhc3QgYnVpbGRzIG9uIGVwZWw2L2VwZWw3CisKICogVHVlIEF1ZyAyMSAyMDE4IENoZW54 aW9uZyBRaSA8Y3FpQHJlZGhhdC5jb20+IC0gMS41Ni0xCiAtIFZhbGlkYXRlIGdyZWVud2F2ZSBw b2xpY3kgZWFybHkgaW4gQ29tbWFuZHMuYnVpbGQgKGNxaSkKIC0gUmVmaW5lIGVycm9yIG1lc3Nh Z2UgZm9yIGZhaWx1cmUgZ2F0aW5nLnlhbWwgdmFsaWRhdGlvbiAoY3FpKQo=