ZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3BlbGwvcHQvbWFpbi5hYXAgYi9ydW50aW1lL3NwZWxsL3B0L21haW4uYWFwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxYzY4OWIKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3NwZWxsL3B0L21haW4uYWFwCkBAIC0wLDAgKzEsMTIzIEBACisjIEFhcCByZWNpcGUgZm9yIFBvcnR1Z3Vlc2UgVmltIHNwZWxsIGZpbGVzLgorCisjIFVzZSBhIGZyZXNobHkgY29tcGlsZWQgVmltIGlmIGl0IGV4aXN0cy4KK0BpZiBvcy5wYXRoLmV4aXN0cygnLi4vLi4vLi4vc3JjL3ZpbScpOgorICAgIFZJTSA9IC4uLy4uLy4uL3NyYy92aW0KK0BlbHNlOgorICAgIDpwcm9nc2VhcmNoIFZJTSB2aW0KKworU1BFTExESVIgPSAuLgorRklMRVMgICAgPSBwdF9QVC5hZmYgcHRfUFQuZGljCisJICAgcHRfQlIuYWZmIHB0X0JSLmRpYworCithbGw6ICRTUEVMTERJUi9wdC5sYXRpbjEuc3BsICRTUEVMTERJUi9wdC51dGYtOC5zcGwgXAorICAgICAgICAuLi9SRUFETUVfcHQudHh0CisKKyRTUEVMTERJUi9wdC5sYXRpbjEuc3BsIDogJEZJTEVTCisgICAgICAgIDpzeXMgZW52IExBTkc9cHRfUFQuSVNPODg1OS0xCisJCSRWSU0gLXUgTk9ORSAtZSAtYyAibWtzcGVsbCEgJFNQRUxMRElSL3B0IHB0X1BUIHB0X0JSIiAtYyBxCisKKyRTUEVMTERJUi9wdC51dGYtOC5zcGwgOiAkRklMRVMKKyAgICAgICAgOnN5cyBlbnYgTEFORz1wdF9QVC5VVEYtOAorCQkkVklNIC11IE5PTkUgLWUgLWMgIm1rc3BlbGwhICRTUEVMTERJUi9wdCBwdF9QVCBwdF9CUiIgLWMgcQorCisuLi9SRUFETUVfcHQudHh0OiBSRUFETUVfcHRfUFQudHh0IFJFQURNRV9wdF9CUi50eHQKKyAgICAgICAgOnByaW50IHB0X1BUID4hJHRhcmdldAorICAgICAgICA6Y2F0IFJFQURNRV9wdF9QVC50eHQgfCA6ZXZhbCByZS5zdWIoJ1xyJywgJycsIHN0ZGluKSA+PiR0YXJnZXQKKyAgICAgICAgOnByaW50ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSA+PiR0YXJnZXQKKyAgICAgICAgOnByaW50IHB0X0JSOiA+PiR0YXJnZXQKKyAgICAgICAgOmNhdCBSRUFETUVfcHRfQlIudHh0IHwgOmV2YWwgcmUuc3ViKCdccicsICcnLCBzdGRpbikgPj4kdGFyZ2V0CisKKyMKKyMgRmV0Y2hpbmcgdGhlIGZpbGVzIGZyb20gT3Blbk9mZmljZS5vcmcuCisjCitPT0RJUiA9IGh0dHA6Ly9mdHAuc2VydmljZXMub3Blbm9mZmljZS5vcmcvcHViL09wZW5PZmZpY2Uub3JnL2NvbnRyaWIvZGljdGlvbmFyaWVzCis6YXR0ciB7ZmV0Y2ggPSAkT09ESVIvJWZpbGUlfSBwdF9QVC56aXAgcHRfQlIuemlwCisKKyMgVGhlIGZpbGVzIGRvbid0IGRlcGVuZCBvbiB0aGUgLnppcCBmaWxlIHNvIHRoYXQgd2UgY2FuIGRlbGV0ZSBpdC4KKyMgT25seSBkb3dubG9hZCB0aGUgemlwIGZpbGUgaWYgdGhlIHRhcmdldHMgZG9uJ3QgZXhpc3QuCitwdF9QVC5hZmYgcHRfUFQuZGljOiB7YnVpbGRjaGVjaz19CisgICAgICAgIDphc3NlcnRwa2cgdW56aXAgcGF0Y2gKKyAgICAgICAgOmZldGNoIHB0X1BULnppcAorICAgICAgICA6c3lzICRVTlpJUCBwdF9QVC56aXAKKyAgICAgICAgOmRlbGV0ZSBwdF9QVC56aXAKKyAgICAgICAgOnN5cyAkVklNIHB0X1BULmRpYyAtZSAtYyAic2V0IGZmPXVuaXgiIC1jIHVwZGF0ZSAtYyBxCisgICAgICAgIDpzeXMgJFZJTSBSRUFETUVfcHRfUFQudHh0IC1lIC1jICJzZXQgZmY9dW5peCIgLWMgdXBkYXRlIC1jIHEKKyAgICAgICAgQGlmIG5vdCBvcy5wYXRoLmV4aXN0cygncHRfUFQub3JpZy5hZmYnKToKKyAgICAgICAgICAgIDpjb3B5IHB0X1BULmFmZiBwdF9QVC5vcmlnLmFmZgorICAgICAgICBAaWYgbm90IG9zLnBhdGguZXhpc3RzKCdwdF9QVC5vcmlnLmRpYycpOgorICAgICAgICAgICAgOmNvcHkgcHRfUFQuZGljIHB0X1BULm9yaWcuZGljCisgICAgICAgIEBpZiBvcy5wYXRoLmV4aXN0cygncHRfUFQuZGlmZicpOgorICAgICAgICAgICAgOnN5cyBwYXRjaCA8cHRfUFQuZGlmZgorCitwdF9CUi5hZmYgcHRfQlIuZGljOiB7YnVpbGRjaGVjaz19CisgICAgICAgIDphc3NlcnRwa2cgdW56aXAgcGF0Y2gKKyAgICAgICAgOmZldGNoIHB0X0JSLnppcAorICAgICAgICA6c3lzICRVTlpJUCBwdF9CUi56aXAKKyAgICAgICAgOmRlbGV0ZSBwdF9CUi56aXAKKyAgICAgICAgOnN5cyAkVklNIHB0X0JSLmFmZiAtZSAtYyAic2V0IGZmPXVuaXgiIC1jIHVwZGF0ZSAtYyBxCisgICAgICAgIDpzeXMgJFZJTSBwdF9CUi5kaWMgLWUgLWMgInNldCBmZj11bml4IiAtYyB1cGRhdGUgLWMgcQorICAgICAgICA6c3lzICRWSU0gUkVBRE1FX3B0X0JSLnR4dCAtZSAtYyAic2V0IGZmPXVuaXgiIC1jIHVwZGF0ZSAtYyBxCisgICAgICAgIEBpZiBub3Qgb3MucGF0aC5leGlzdHMoJ3B0X0JSLm9yaWcuYWZmJyk6CisgICAgICAgICAgICA6Y29weSBwdF9CUi5hZmYgcHRfQlIub3JpZy5hZmYKKyAgICAgICAgQGlmIG5vdCBvcy5wYXRoLmV4aXN0cygncHRfQlIub3JpZy5kaWMnKToKKyAgICAgICAgICAgIDpjb3B5IHB0X0JSLmRpYyBwdF9CUi5vcmlnLmRpYworICAgICAgICBAaWYgb3MucGF0aC5leGlzdHMoJ3B0X0JSLmRpZmYnKToKKyAgICAgICAgICAgIDpzeXMgcGF0Y2ggPHB0X0JSLmRpZmYKKworCisjIEdlbmVyYXRlIGRpZmYgZmlsZXMsIHNvIHRoYXQgb3RoZXJzIGNhbiBnZXQgdGhlIE9wZW5PZmZpY2UgZmlsZXMgYW5kIGFwcGx5CisjIHRoZSBkaWZmcyB0byBnZXQgdGhlIFZpbSB2ZXJzaW9ucy4KKworZGlmZjoKKyAgICAgICAgOmFzc2VydHBrZyBkaWZmCisgICAgICAgIDpzeXMge2ZvcmNlfSBkaWZmIC1hIC1DIDEgcHRfUFQub3JpZy5hZmYgcHRfUFQuYWZmID5wdF9QVC5kaWZmCisgICAgICAgIDpzeXMge2ZvcmNlfSBkaWZmIC1hIC1DIDEgcHRfUFQub3JpZy5kaWMgcHRfUFQuZGljID4+cHRfUFQuZGlmZgorICAgICAgICA6c3lzIHtmb3JjZX0gZGlmZiAtYSAtQyAxIHB0X0JSLm9yaWcuYWZmIHB0X0JSLmFmZiA+cHRfQlIuZGlmZgorCTpzeXMge2ZvcmNlfSBkaWZmIC1hIC1DIDEgcHRfQlIub3JpZy5kaWMgcHRfQlIuZGljID4+cHRfQlIuZGlmZgorCisKKyMgQ2hlY2sgZm9yIHVwZGF0ZWQgT3Blbk9mZmljZSBzcGVsbCBmaWxlcy4gIFdoZW4gdGhlcmUgYXJlIGNoYW5nZXMgdGhlCisjICIubmV3LmFmZiIgYW5kICIubmV3LmRpYyIgZmlsZXMgYXJlIGxlZnQgYmVoaW5kIGZvciBtYW51YWwgaW5zcGVjdGlvbi4KKworY2hlY2s6IGNoZWNrLXVzIGNoZWNrLWF1CisKK2NoZWNrLXVzOgorICAgICAgICA6YXNzZXJ0cGtnIHVuemlwIGRpZmYKKyAgICAgICAgOmZldGNoIHB0X1BULnppcAorICAgICAgICA6bWtkaXIgdG1wCisgICAgICAgIDpjZCB0bXAKKyAgICAgICAgQHRyeToKKyAgICAgICAgICAgIEBpbXBvcnQgc3RhdAorICAgICAgICAgICAgOnN5cyAkVU5aSVAgLi4vcHRfUFQuemlwCisgICAgICAgICAgICA6c3lzIHtmb3JjZX0gZGlmZiAuLi9wdF9QVC5vcmlnLmFmZiBwdF9QVC5hZmYgPmQKKyAgICAgICAgICAgIEBpZiBvcy5zdGF0KCdkJylbc3RhdC5TVF9TSVpFXSA+IDA6CisgICAgICAgICAgICAgICAgOmNvcHkgcHRfUFQuYWZmIC4uL3B0X1BULm5ldy5hZmYKKyAgICAgICAgICAgIDpzeXMge2ZvcmNlfSBkaWZmIC4uL3B0X1BULm9yaWcuZGljIHB0X1BULmRpYyA+ZAorICAgICAgICAgICAgQGlmIG9zLnN0YXQoJ2QnKVtzdGF0LlNUX1NJWkVdID4gMDoKKyAgICAgICAgICAgICAgICA6Y29weSBwdF9QVC5kaWMgLi4vcHRfUFQubmV3LmRpYworICAgICAgICBAZmluYWxseToKKyAgICAgICAgICAgIDpjZCAuLgorICAgICAgICAgICAgOmRlbGV0ZSB7cn17Zn17cX0gdG1wCisgICAgICAgICAgICA6ZGVsZXRlIHB0X1BULnppcAorCitjaGVjay1hdToKKyAgICAgICAgOmFzc2VydHBrZyB1bnppcCBkaWZmCisgICAgICAgIDpmZXRjaCBwdF9CUi56aXAKKyAgICAgICAgOm1rZGlyIHRtcAorICAgICAgICA6Y2QgdG1wCisgICAgICAgIEB0cnk6CisgICAgICAgICAgICBAaW1wb3J0IHN0YXQKKyAgICAgICAgICAgIDpzeXMgJFVOWklQIC4uL3B0X0JSLnppcAorICAgICAgICAgICAgOnN5cyB7Zm9yY2V9IGRpZmYgLi4vcHRfQlIub3JpZy5hZmYgcHRfQlIuYWZmID5kCisgICAgICAgICAgICBAaWYgb3Muc3RhdCgnZCcpW3N0YXQuU1RfU0laRV0gPiAwOgorICAgICAgICAgICAgICAgIDpjb3B5IHB0X0JSLmFmZiAuLi9wdF9CUi5uZXcuYWZmCisgICAgICAgICAgICA6c3lzIHtmb3JjZX0gZGlmZiAuLi9wdF9CUi5vcmlnLmRpYyBwdF9CUi5kaWMgPmQKKyAgICAgICAgICAgIEBpZiBvcy5zdGF0KCdkJylbc3RhdC5TVF9TSVpFXSA+IDA6CisgICAgICAgICAgICAgICAgOmNvcHkgcHRfQlIuZGljIC4uL3B0X0JSLm5ldy5kaWMKKyAgICAgICAgQGZpbmFsbHk6CisgICAgICAgICAgICA6Y2QgLi4KKyAgICAgICAgICAgIDpkZWxldGUge3J9e2Z9e3F9IHRtcAorICAgICAgICAgICAgOmRlbGV0ZSBwdF9CUi56aXAKKworIyB2aW06IHNldCBzdHM9NCBzdz00IDoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3BlbGwvcHQvcHRfQlIuZGlmZiBiL3J1bnRpbWUvc3BlbGwvcHQvcHRfQlIuZGlmZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMGIxZDdhCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zcGVsbC9wdC9wdF9CUi5kaWZmCkBAIC0wLDAgKzEsNDYgQEAKKyoqKiBwdF9CUi5vcmlnLmFmZglXZWQgQXVnIDMxIDIwOjA1OjE4IDIwMDUKKy0tLSBwdF9CUi5hZmYJV2VkIEF1ZyAzMSAyMDowNToxOCAyMDA1CisqKioqKioqKioqKioqKioKKyoqKiAzLDQgKioqKgorLS0tIDMsMjIgLS0tLQorICAKKysgRk9MICDf4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb4+fr7/P3+/worKyBMT1cgIN/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vj5+vv8/f7/CisrIFVQUCAg38DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW2Nna29zd3v8KKysgCisrIFNPRk9GUk9NIGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVrg4eLj5OXm5+jp6uvs7e7v8PHy8/T19vj5+vv8/f7f/8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW2Nna29zd3r8KKysgU09GT1RPICAgZWJjdGVmZ2hlamtsbm5lcGtyc3RldnZrZXNlYmN0ZWZnaGVqa2xubmVwa3JzdGV2dmtlc2VlZWVlZWVjZWVlZWVlZWVkbmVlZWVlZWVlZWVlcHNlZWVlZWVlZWNlZWVlZWVlZWRuZWVlZWVlZWVlZWVwPworKyAKKysgTUFQIDkKKysgTUFQIGHg4eLj5OUKKysgTUFQIGXo6errCisrIE1BUCBp7O3u7worKyBNQVAgb/Lz9PX2CisrIE1BUCB1+fr7/AorKyBNQVAgbvEKKysgTUFQIGPnCisrIE1BUCB5//0KKysgTUFQIHPfCisrIAorICAjIFBsdXJhbCBhcGVuYXMKKyoqKioqKioqKioqKioqKgorKioqIDUyNiw1MzQgKioqKgorICBTRlggSSAgIGFyICAgICAg6nMgICAgICAgZGFyCishIFNGWCBJICAgaWFyICAgICBlaWEgICAgICAgW15daWFyCishIFNGWCBJICAgaWFyICAgICBlaWFtICAgICAgIFteXWlhcgorISBTRlggSSAgIGlhciAgICAgZWlhcyAgICAgICBbXl1pYXIKKyEgU0ZYIEkgICBpYXIgICAgIGVpZSAgICAgICBbXl1pYXIKKyEgU0ZYIEkgICBpYXIgICAgIGVpZW0gICAgICAgW15daWFyCishIFNGWCBJICAgaWFyICAgICBlaWVzICAgICAgIFteXWlhcgorISBTRlggSSAgIGlhciAgICAgZWlvICAgICAgIFteXWlhcgorICBTRlggSSAgIG9pYXIgICAg82lhICAgICAgIG9pYXIKKy0tLSA1NDQsNTUyIC0tLS0KKyAgU0ZYIEkgICBhciAgICAgIOpzICAgICAgIGRhcgorISBTRlggSSAgIGlhciAgICAgZWlhICAgICAgIFteb11pYXIKKyEgU0ZYIEkgICBpYXIgICAgIGVpYW0gICAgICAgW15vXWlhcgorISBTRlggSSAgIGlhciAgICAgZWlhcyAgICAgICBbXm9daWFyCishIFNGWCBJICAgaWFyICAgICBlaWUgICAgICAgW15vXWlhcgorISBTRlggSSAgIGlhciAgICAgZWllbSAgICAgICBbXm9daWFyCishIFNGWCBJICAgaWFyICAgICBlaWVzICAgICAgIFteb11pYXIKKyEgU0ZYIEkgICBpYXIgICAgIGVpbyAgICAgICBbXm9daWFyCisgIFNGWCBJICAgb2lhciAgICDzaWEgICAgICAgb2lhcgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zcGVsbC9wdC9wdF9QVC5kaWZmIGIvcnVudGltZS9zcGVsbC9wdC9wdF9QVC5kaWZmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1M2EyZDIKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3NwZWxsL3B0L3B0X1BULmRpZmYKQEAgLTAsMCArMSwyNyBAQAorKioqIHB0X1BULm9yaWcuYWZmCVdlZCBBdWcgMzEgMjA6MDU6MTYgMjAwNQorLS0tIHB0X1BULmFmZglXZWQgQXVnIDMxIDIwOjA1OjE2IDIwMDUKKyoqKioqKioqKioqKioqKgorKioqIDMsNCAqKioqCistLS0gMywyNCAtLS0tCisgIAorKyBGT0wgIN/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vj5+vv8/f7/CisrIExPVyAg3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX2+Pn6+/z9/v8KKysgVVBQICDfwMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbY2drb3N3e/worKyAKKysgU09GT0ZST00gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWuDh4uPk5ebn6Onq6+zt7u/w8fLz9PX2+Pn6+/z9/t//wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbY2drb3N3evworKyBTT0ZPVE8gICBlYmN0ZWZnaGVqa2xubmVwa3JzdGV2dmtlc2ViY3RlZmdoZWprbG5uZXBrcnN0ZXZ2a2VzZWVlZWVlZWNlZWVlZWVlZWRuZWVlZWVlZWVlZWVwc2VlZWVlZWVlY2VlZWVlZWVlZG5lZWVlZWVlZWVlZXA/CisrIAorKyBNSURXT1JECScKKysgCisrIE1BUCA5CisrIE1BUCBh4OHi4+TlCisrIE1BUCBl6Onq6worKyBNQVAgaezt7u8KKysgTUFQIG/y8/T19gorKyBNQVAgdfn6+/wKKysgTUFQIG7xCisrIE1BUCBj5worKyBNQVAgef/9CisrIE1BUCBz3worKyAKKyAgUEZYIEEgWSAxCg==