ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA5NWNmNDViLi44NzNjMWM0IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNyBAQAorMjAxNC0wMy0wMiAgU3RlcGhlbiBIb2xzYXBwbGUgIDxzaG9sc2FwcEBnbWFpbC5jb20+CisKKwkqIE9wZW5TU0wvY3J5cHRvLnB5OiBBZGQgYGBnZXRfZXh0ZW5zaW9uc2BgIG1ldGhvZCB0byBgYFg1MDlSZXFgYC4KKwogMjAxNC0wMS0wOSAgSmVhbi1QYXVsIENhbGRlcm9uZSAgPGV4YXJrdW5AdHdpc3RlZG1hdHJpeC5jb20+CiAKIAkqIE9wZW5TU0w6IFBvcnQgdG8gdGhlIGNmZmktYmFzZWQgT3BlblNTTCBiaW5kaW5ncyBwcm92aWRlZCBieQpkaWZmIC0tZ2l0IGEvT3BlblNTTC9TU0wucHkgYi9PcGVuU1NML1NTTC5weQppbmRleCBhMjU3ZjE2Li42N2U0YzgyIDEwMDY0NAotLS0gYS9PcGVuU1NML1NTTC5weQorKysgYi9PcGVuU1NML1NTTC5weQpAQCAtMjM1LDYgKzIzNSw3IEBACiAgICAgbmV3IFNTTCBjb25uZWN0aW9ucy4KICAgICAiIiIKICAgICBfbWV0aG9kcyA9IHsKKyAgICAgICAgU1NMdjJfTUVUSE9EOiAiU1NMdjJfbWV0aG9kIiwKICAgICAgICAgU1NMdjNfTUVUSE9EOiAiU1NMdjNfbWV0aG9kIiwKICAgICAgICAgU1NMdjIzX01FVEhPRDogIlNTTHYyM19tZXRob2QiLAogICAgICAgICBUTFN2MV9NRVRIT0Q6ICJUTFN2MV9tZXRob2QiLApkaWZmIC0tZ2l0IGEvT3BlblNTTC9jcnlwdG8ucHkgYi9PcGVuU1NML2NyeXB0by5weQppbmRleCBkMDAyNmJkLi5lZDBiNjI5IDEwMDY0NAotLS0gYS9PcGVuU1NML2NyeXB0by5weQorKysgYi9PcGVuU1NML2NyeXB0by5weQpAQCAtNjk3LDYgKzY5NywyMSBAQAogICAgICAgICAgICAgX3JhaXNlX2N1cnJlbnRfZXJyb3IoKQogCiAKKyAgICBkZWYgZ2V0X2V4dGVuc2lvbnMoc2VsZik6CisgICAgICAgICIiIgorICAgICAgICBHZXQgZXh0ZW5zaW9ucyB0byB0aGUgcmVxdWVzdC4KKworICAgICAgICA6cmV0dXJuOiBBIDpweTpjbGFzczpgbGlzdGAgb2YgOnB5OmNsYXNzOmBYNTA5RXh0ZW5zaW9uYCBvYmplY3RzLgorICAgICAgICAiIiIKKyAgICAgICAgZXh0cyA9IFtdCisgICAgICAgIG5hdGl2ZV9leHRzX29iaiA9IF9saWIuWDUwOV9SRVFfZ2V0X2V4dGVuc2lvbnMoc2VsZi5fcmVxKQorICAgICAgICBmb3IgaSBpbiByYW5nZShfbGliLnNrX1g1MDlfRVhURU5TSU9OX251bShuYXRpdmVfZXh0c19vYmopKToKKyAgICAgICAgICAgIGV4dCA9IFg1MDlFeHRlbnNpb24uX19uZXdfXyhYNTA5RXh0ZW5zaW9uKQorICAgICAgICAgICAgZXh0Ll9leHRlbnNpb24gPSBfbGliLnNrX1g1MDlfRVhURU5TSU9OX3ZhbHVlKG5hdGl2ZV9leHRzX29iaiwgaSkKKyAgICAgICAgICAgIGV4dHMuYXBwZW5kKGV4dCkKKyAgICAgICAgcmV0dXJuIGV4dHMKKworCiAgICAgZGVmIHNpZ24oc2VsZiwgcGtleSwgZGlnZXN0KToKICAgICAgICAgIiIiCiAgICAgICAgIFNpZ24gdGhlIGNlcnRpZmljYXRlIHJlcXVlc3QgdXNpbmcgdGhlIHN1cHBsaWVkIGtleSBhbmQgZGlnZXN0CmRpZmYgLS1naXQgYS9PcGVuU1NML3Rlc3QvdGVzdF9jcnlwdG8ucHkgYi9PcGVuU1NML3Rlc3QvdGVzdF9jcnlwdG8ucHkKaW5kZXggNGU0MmY3MC4uYTM2ODVhOSAxMDA2NDQKLS0tIGEvT3BlblNTTC90ZXN0L3Rlc3RfY3J5cHRvLnB5CisrKyBiL09wZW5TU0wvdGVzdC90ZXN0X2NyeXB0by5weQpAQCAtMTEwOCw3ICsxMTA4LDMyIEBACiAgICAgICAgIHJlcXVlc3QgPSBYNTA5UmVxKCkKICAgICAgICAgcmVxdWVzdC5hZGRfZXh0ZW5zaW9ucyhbCiAgICAgICAgICAgICAgICAgWDUwOUV4dGVuc2lvbihiKCdiYXNpY0NvbnN0cmFpbnRzJyksIFRydWUsIGIoJ0NBOmZhbHNlJykpXSkKLSAgICAgICAgIyBYWFggQWRkIGdldF9leHRlbnNpb25zIHNvIHRoZSByZXN0IG9mIHRoaXMgdW5pdCB0ZXN0IGNhbiBiZSB3cml0dGVuLgorICAgICAgICBleHRzID0gcmVxdWVzdC5nZXRfZXh0ZW5zaW9ucygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGV4dHMpLCAxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4dHNbMF0uZ2V0X3Nob3J0X25hbWUoKSwgYignYmFzaWNDb25zdHJhaW50cycpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4dHNbMF0uZ2V0X2NyaXRpY2FsKCksIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXh0c1swXS5nZXRfZGF0YSgpLCBiKCcwXHgwMCcpKQorCisKKyAgICBkZWYgdGVzdF9nZXRfZXh0ZW5zaW9ucyhzZWxmKToKKyAgICAgICAgIiIiCisgICAgICAgIDpweTpvYmo6YFg1MDlSZXEuZ2V0X2V4dGVuc2lvbnNgIHJldHVybnMgYSA6cHk6b2JqOmBsaXN0YCBvZgorICAgICAgICBleHRlbnNpb25zIGFkZGVkIHRvIHRoaXMgWDUwOSByZXF1ZXN0LgorICAgICAgICAiIiIKKyAgICAgICAgcmVxdWVzdCA9IFg1MDlSZXEoKQorICAgICAgICBleHRzID0gcmVxdWVzdC5nZXRfZXh0ZW5zaW9ucygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXh0cywgW10pCisgICAgICAgIHJlcXVlc3QuYWRkX2V4dGVuc2lvbnMoWworICAgICAgICAgICAgICAgIFg1MDlFeHRlbnNpb24oYignYmFzaWNDb25zdHJhaW50cycpLCBUcnVlLCBiKCdDQTp0cnVlJykpLAorICAgICAgICAgICAgICAgIFg1MDlFeHRlbnNpb24oYigna2V5VXNhZ2UnKSwgRmFsc2UsIGIoJ2RpZ2l0YWxTaWduYXR1cmUnKSldKQorICAgICAgICBleHRzID0gcmVxdWVzdC5nZXRfZXh0ZW5zaW9ucygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGV4dHMpLCAyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4dHNbMF0uZ2V0X3Nob3J0X25hbWUoKSwgYignYmFzaWNDb25zdHJhaW50cycpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4dHNbMF0uZ2V0X2NyaXRpY2FsKCksIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXh0c1swXS5nZXRfZGF0YSgpLCBiKCcwXHgwM1x4MDFceDAxXHhmZicpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4dHNbMV0uZ2V0X3Nob3J0X25hbWUoKSwgYigna2V5VXNhZ2UnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHRzWzFdLmdldF9jcml0aWNhbCgpLCAwKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4dHNbMV0uZ2V0X2RhdGEoKSwgYignXHgwM1x4MDJceDA3XHg4MCcpKQogCiAKICAgICBkZWYgdGVzdF9hZGRfZXh0ZW5zaW9uc193cm9uZ19hcmdzKHNlbGYpOgpkaWZmIC0tZ2l0IGEvZGFwcGVyL1JFQURNRS5EZWJpYW4gYi9kYXBwZXIvUkVBRE1FLkRlYmlhbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODg0ZGViOC4uMDAwMDAwMAotLS0gYS9kYXBwZXIvUkVBRE1FLkRlYmlhbgorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLURlYmlhbiBub3RlcyAtLSBweU9wZW5TU0wKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotVGhlIHNvdXJjZSBwYWNrYWdlIGlzIHNwbGl0IHVwIG92ZXIgZm91ciBiaW5hcnkgcGFja2FnZXM6Ci0KLSogcHl0aG9uMi4yLXB5b3BlbnNzbCAtLSBjb21waWxlZCBmb3IgUHl0aG9uIDIuMgotKiBweXRob24yLjMtcHlvcGVuc3NsIC0tIGNvbXBpbGVkIGZvciBQeXRob24gMi4zCi0qIHB5dGhvbi1weW9wZW5zc2wgICAgLS0gZHVtbXkgcGFja2FnZSB0aGF0IGRlcGVuZHMgb24gdGhlIGRlZmF1bHQKLSAgICAgICAgICAgICAgICAgICAgICAgICBQeXRob24gdmVyc2lvbiAoY3VycmVudGx5IDIuMykKLSogcHlvcGVuc3NsLWRvYyAgICAgICAtLSBkb2N1bWVudGF0aW9uIGZvciBweU9wZW5TU0wKLQotCi1NYXJ0aW4gU2rDtmdyZW4gPHNqb2dyZW5AZGViaWFuLm9yZz4KZGlmZiAtLWdpdCBhL2RhcHBlci9jaGFuZ2Vsb2cgYi9kYXBwZXIvY2hhbmdlbG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhOWRiODc5Li4wMDAwMDAwCi0tLSBhL2RhcHBlci9jaGFuZ2Vsb2cKKysrIC9kZXYvbnVsbApAQCAtMSwyMDEgKzAsMCBAQAotcHlvcGVuc3NsICgwLjYtMnVidW50dTMpIGRhcHBlcjsgdXJnZW5jeT1sb3cKLQotICAqIERyb3AgcHl0aG9uMi4zIHBhY2thZ2UuCi0KLSAtLSBNYXR0aGlhcyBLbG9zZSA8ZG9rb0B1YnVudHUuY29tPiAgVHVlLCAxNCBGZWIgMjAwNiAxNTozMjo0NyArMDAwMAotCi1weW9wZW5zc2wgKDAuNi0ydWJ1bnR1MikgZGFwcGVyOyB1cmdlbmN5PWxvdwotCi0gICogUmVidWlsZCBhZ2FpbnN0IG9wZW5zc2wgMC45LjguCi0KLSAtLSBNYXJ0aW4gUGl0dCA8bWFydGluLnBpdHRAdWJ1bnR1LmNvbT4gIE1vbiwgMzAgSmFuIDIwMDYgMTI6NTQ6NTIgKzAwMDAKLQotcHlvcGVuc3NsICgwLjYtMnVidW50dTEpIGJyZWV6eTsgdXJnZW5jeT1sb3cKLQotICAqIFN5bmNocm9uaXplIHdpdGggRGViaWFuLgotCi0gLS0gTWF0dGhpYXMgS2xvc2UgPGRva29AdWJ1bnR1LmNvbT4gIFdlZCwgMjcgSnVsIDIwMDUgMDg6NTI6NDQgKzAwMDAKLQotcHlvcGVuc3NsICgwLjYtMikgdW5zdGFibGU7IHVyZ2VuY3k9bG93Ci0KLSAgKiBBZGQgc3VwcG9ydCBmb3IgcHl0aG9uIDIuNC4gKENsb3NlczogIzI5Nzg3MCkKLSAgKiBCdWlsZC1kZXBlbmQgb24gdjAuOS43IG9mIG9wZW5zc2wuCi0KLSAtLSBNYXJ0aW4gU2pvZ3JlbiA8c2pvZ3JlbkBkZWJpYW4ub3JnPiAgTW9uLCAxNCBNYXIgMjAwNSAwODo1NjoyNyArMDEwMAotCi1weW9wZW5zc2wgKDAuNi0xdWJ1bnR1MykgaG9hcnk7IHVyZ2VuY3k9bG93Ci0KLSAgKiBEcm9wIHB5dGhvbjIuMiBwYWNrYWdlLgotCi0gLS0gTWF0dGhpYXMgS2xvc2UgPGRva29AdWJ1bnR1LmNvbT4gIE1vbiwgMjQgSmFuIDIwMDUgMDg6MTc6MTkgKzAxMDAKLQotcHlvcGVuc3NsICgwLjYtMXVidW50dTIpIGhvYXJ5OyB1cmdlbmN5PWxvdwotCi0gICogVGlnaHRlbiBidWlsZCBkZXBlbmRlbmN5IG9uIHB5dGhvbi4KLQotIC0tIE1hdHRoaWFzIEtsb3NlIDxtQGtsb3NlLmluLWJlcmxpbi5kZT4gIFRodSwgMTYgRGVjIDIwMDQgMjI6NTY6NTMgKzAxMDAKLQotcHlvcGVuc3NsICgwLjYtMXVidW50dTEpIGhvYXJ5OyB1cmdlbmN5PWxvdwotCi0gICogU3VwcG9ydCBweXRob24yLjQgYXMgZGVmYXVsdCBweXRob24gdmVyc2lvbi4KLQotIC0tIE1hdHRoaWFzIEtsb3NlIDxtQGtsb3NlLmluLWJlcmxpbi5kZT4gIFdlZCwgMTUgRGVjIDIwMDQgMjA6NTk6MTEgKzAxMDAKLQotcHlvcGVuc3NsICgwLjYtMSkgdW5zdGFibGU7IHVyZ2VuY3k9bG93Ci0KLSAgKiBOZXcgdXBzdHJlYW0gcmVsZWFzZSwgaW5jbHVkaW5nOgotICAgIC0gQWRkIE5ldHNjYXBlIFNQS0kgZXh0ZW5zaW9ucy4gKENsb3NlczogIzIwNTEzMikKLSAgICAtIEFkZCBYNTA5LnN1YmplY3RfbmFtZV9oYXNoLCBYNTA5LmRpZ2VzdC4gKENsb3NlczogIzIwNTEzNikKLSAgICAtIEZpeCBmdWxsIG5hbWVzIG9mIGV4Y2VwdGlvbnMuIChDbG9zZXM6ICMyNTAzNDIpCi0gICAgLSBBZGQgU1NMLkNvbnRleHQudXNlX2NlcnRpZmljYXRlX2NoYWluX2ZpbGUuIChDbG9zZXM6ICMyNjAxMzQpCi0gICogRG9jcyBhcmUgYnVpbHQgdXBzdHJlYW0sIHNvIHRoZSBidWlsZC1kZXBzIGhhdmUgYmVlbiB0cmltbWVkLgotICAgIFRoaXMgYWxzbyBtZWFucyB0aGF0IEhUTUwgYW5kIHRleHQgZG9jdW1lbnRhdGlvbiBhcmUgYmFjay4KLSAgKiBCdW1wZWQgc3RhbmRhcmRzLXZlcnNpb24uCi0gICogVXNlIGRoX3B5dGhvbi4KLQotIC0tIE1hcnRpbiBTam9ncmVuIDxzam9ncmVuQGRlYmlhbi5vcmc+ICBGcmksIDEzIEF1ZyAyMDA0IDIwOjUzOjI3ICswMjAwCi0KLXB5b3BlbnNzbCAoMC41LjEtNCkgdW5zdGFibGU7IHVyZ2VuY3k9bG93Ci0KLSAgKiBEcm9wIEhUTUwgYW5kIHRleHQgZG9jdW1lbnRhdGlvbiBzaW5jZSBsYXRleDJodG1sIG1vdmVkIHRvIG5vbi1mcmVlLgotICAgIFRoaXMgaXMgYSB0ZW1wb3Jhcnkgc29sdXRpb24sIHVudGlsIEkgY2FuIGhhY2sgbWtob3d0byB0byB1c2Ugc29tZXRoaW5nCi0gICAgZWxzZS4gKENsb3NlczogIzIyMTM0NCkKLSAgKiBGaXggdGhlIGNvcHlyaWdodCBmaWxlIHRvIG1lbnRpb24gdGhlIGNvcHlyaWdodCBob2xkZXIuCi0KLSAtLSBNYXJ0aW4gU2pvZ3JlbiA8c2pvZ3JlbkBkZWJpYW4ub3JnPiAgTW9uLCAxNSBEZWMgMjAwMyAyMDoxNjoyNSArMDEwMAotCi1weW9wZW5zc2wgKDAuNS4xLTMpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdwotCi0gICogTUFOSUZFU1QuaW46IEluY2x1ZGUgdGhlIHNyYy9SQVRJT05BTEUgZmlsZS4gKENsb3NlczogIzE5NzQwMSkKLSAgKiBkb2MvcHlPcGVuU1NMLnRleDogRml4IHR5cG8uIChDbG9zZXM6ICMxOTc0MzUpCi0gICogRHJvcCBQeXRob24gMS41IGFuZCAyLjEgc3VwcG9ydC4KLSAgKiBNYWtlIHB5dGhvbi1weW9wZW5zc2wgZGVwZW5kIG9uIHB5dGhvbjIuMy1weW9wZW5zc2wsIHdoaWNoIGlzIG5vIGxvbmdlcgotICAgICJleHBlcmltZW50YWwiLgotCi0gLS0gTWFydGluIFNqb2dyZW4gPHNqb2dyZW5AZGViaWFuLm9yZz4gIE1vbiwgMTEgQXVnIDIwMDMgMTg6Mzc6MDcgKzAyMDAKLQotcHlvcGVuc3NsICgwLjUuMS0yKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKLQotICAqIE1ha2Ugc3VyZSBuYW1lcyBpbiBjb250cm9sIGFuZCBjaGFuZ2Vsb2cgbWF0Y2guIFN0dXBpZCBjaGFuZ2Vsb2dzLCBibGVoLgotICAqIENoYW5nZSBzZWN0aW9uIHRvICdweXRob24nLgotICAqIFJlYnVpbGQgd2l0aCBvcGVuc3NsIDAuOS43LiAoQ2xvc2VzOiAjMTg5ODI2KQotICAqIF9faW5pdF9fLnB5OiBJbXBvcnQgdHNhZmUgbW9kdWxlLgotICAqIHRzYWZlLnB5OiBBZGQgc29tZSBtaXNzaW5nIG1ldGhvZHMuCi0gICogZGViaWFuL2NvcHlyaWdodDogRml4IEF1dGhvcihzKSBib2lsZXJwbGF0ZSB0aGluZ3kgdG8gc2h1dCBsaW50aWFuIHVwLgotCi0gLS0gTWFydGluIFNqb2dyZW4gPHNqb2dyZW5AZGViaWFuLm9yZz4gIFN1biwgMjAgQXByIDIwMDMgMTc6NTA6MjQgKzAyMDAKLQotcHlvcGVuc3NsICgwLjUuMS0xKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKLQotICAqIE5ldyB1cHN0cmVhbSB2ZXJzaW9uLiAoQ2xvc2VzOiAjMTU5NTMwKQotICAqIEFkZGVkIGEgcHl0aG9uLXB5b3BlbnNzbCBkdW1teSBwYWNrYWdlLgotICAqIEFkZGVkIGFuIGV4cGVyaW1lbnRhbCBweXRob24yLjMtcHlvcGVuc3NsIHBhY2thZ2UuCi0KLSAtLSBNYXJ0aW4gU2rDtmdyZW4gPG1hcnRpbkBzdHJha3QuY29tPiAgU3VuLCAyNSBBdWcgMjAwMiAxMjowODozMSArMDIwMAotCi1weW9wZW5zc2wgKDAuNS0xKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKLQotICAqIE5ldyB1cHN0cmVhbSB2ZXJzaW9uCi0gICogU3VwcG9ydCBmb3IgcHl0aG9uMS41LgotICAqIEZpeCBzdHVwaWQgbWlzdGFrZXMgZm9yIHB5dGhvbiAxLjUgYW5kIHB5dGhvbiAyLjEuCi0KLSAtLSBNYXJ0aW4gU2rDtmdyZW4gPG1hcnRpbkBzdHJha3QuY29tPiAgV2VkLCAyNCBKdWwgMjAwMiAwOTowNToyOCArMDIwMAotCi1weW9wZW5zc2wgKDAuNC4xLTgpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdwotCi0gICogQWRkZWQgZXhhbXBsZXMgdG8gcHlvcGVuc3NsLWRvYwotCi0gLS0gTWFydGluIFNqw7ZncmVuIDxtYXJ0aW5Ac3RyYWt0LmNvbT4gIFdlZCwgIDUgSnVuIDIwMDIgMTQ6NTg6MDQgKzAyMDAKLQotcHlvcGVuc3NsICgwLjQuMS03KSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKLQotICAqIFRoZSBjdXRlIGFycm93IGljb25zIGluIHRoZSBIVE1MIGRvY3VtZW50YXRpb24gc2hvdWxkIGJlIHRoZXJlIG5vdyB0b28uCi0KLSAtLSBNYXJ0aW4gU2rDtmdyZW4gPG1hcnRpbkBzdHJha3QuY29tPiAgVGh1LCAzMCBNYXkgMjAwMiAwMDo1Mzo0NCArMDIwMAotCi1weW9wZW5zc2wgKDAuNC4xLTYpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdwotCi0gICogQ29tbWVudGVkIG91dCBzb21lIHVudXNlZCB0aGluZ3MgaW4gZGViaWFuL3J1bGVzCi0KLSAtLSBNYXJ0aW4gU2rDtmdyZW4gPG1hcnRpbkBzdHJha3QuY29tPiAgV2VkLCAyOSBNYXkgMjAwMiAxMToyMDozMyArMDIwMAotCi1weW9wZW5zc2wgKDAuNC4xLTUpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdwotCi0gICogQWRkaW5nIHRvIHRoZSBidWlsZC1kZXBlbmRzLgotICAqIEluaXRpYWwgdXBsb2FkIChDbG9zZXM6ICMxNDA2ODcpCi0KLSAtLSBNYXJ0aW4gU2rDtmdyZW4gPG1hcnRpbkBzdHJha3QuY29tPiAgU2F0LCAgNiBBcHIgMjAwMiAxNDoxNTo0OSArMDIwMAotCi1weW9wZW5zc2wgKDAuNC4xLTQpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdwotCi0gICogRml4ZXMgaW4gcGFja2FnaW5nLCBpdCBzaG91bGRuJ3QgYmUgcmVnYXJkZWQgYSBuYXRpdmUgcGFja2FnZSBub3cuCi0KLSAtLSBNYXJ0aW4gU2rDtmdyZW4gPG1hcnRpbkBzdHJha3QuY29tPiAgU2F0LCAgNiBBcHIgMjAwMiAxMToyNjozOSArMDIwMAotCi1weW9wZW5zc2wgKDAuNC4xLTMpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdwotCi0gICogTW92ZWQgZnJvbSBub24tVVMgdG8gbWFpbi9kZXZlbAotCi0gLS0gTWFydGluIFNqw7ZncmVuIDxtYXJ0aW5Ac3RyYWt0LmNvbT4gIEZyaSwgIDUgQXByIDIwMDIgMjI6NDQ6MTAgKzAyMDAKLQotcHlvcGVuc3NsICgwLjQuMS0yKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKLQotICAqIEZpeGVzIGluIHRoZSBwYWNrYWdpbmcsIGRlcGVuZGVuY2llcyBhbmQgYnVpbGQgZGVwZW5kZW5jaWVzIHNob3VsZCBiZQotICAgIGFsbCByaWdodCBub3cuCi0KLSAtLSBNYXJ0aW4gU2rDtmdyZW4gPG1hcnRpbkBzdHJha3QuY29tPiAgVGh1LCAxMCBKYW4gMjAwMiAxMDowMDowNiArMDEwMAotCi1weW9wZW5zc2wgKDAuNC4xLTEpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdwotCi0gICogTmV3ICJ1cHN0cmVhbSIgcmVsZWFzZQotICAqIE5ldyBwYWNrYWdpbmcsIHB5dGhvbjIuMS1weW9wZW5zc2wsIHB5dGhvbjIuMi1weW9wZW5zc2wsIHB5b3BlbnNzbC1kb2MKLQotIC0tIE1hcnRpbiBTasO2Z3JlbiA8bWFydGluQHN0cmFrdC5jb20+ICBNb24sICA3IEphbiAyMDAyIDE1OjM4OjUxICswMTAwCi0KLXB5b3BlbnNzbCAoMC40LTQpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdwotCi0gICogR3JyciwgdGhpcyB0aW1lIHRoZW4uLi4KLQotIC0tIE1hcnRpbiBTasO2Z3JlbiA8bWFydGluQHN0cmFrdC5jb20+ICBGcmksIDE3IEF1ZyAyMDAxIDE0OjUzOjE5ICswMjAwCi0KLXB5b3BlbnNzbCAoMC40LTMpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdwotCi0gICogRml4ZWQgYSBiaWcgbmFzdHkgYnVnCi0KLSAtLSBNYXJ0aW4gU2rDtmdyZW4gPG1hcnRpbkBzdHJha3QuY29tPiAgRnJpLCAxNyBBdWcgMjAwMSAxNDozMzowNiArMDIwMAotCi1weW9wZW5zc2wgKDAuNC0yKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKLQotICAqIEZpeGVzCi0KLSAtLSBNYXJ0aW4gU2rDtmdyZW4gPG1hcnRpbkBzdHJha3QuY29tPiAgRnJpLCAxNyBBdWcgMjAwMSAxMzo1MzoxMSArMDIwMAotCi1weW9wZW5zc2wgKDAuNC0xKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKLQotICAqIE5ldyAidXBzdHJlYW0iIHZlcnNpb24KLQotIC0tIE1hcnRpbiBTasO2Z3JlbiA8bWFydGluQHN0cmFrdC5jb20+ICBUaHUsICA5IEF1ZyAyMDAxIDEyOjMyOjQ3ICswMjAwCi0KLXB5b3BlbnNzbCAoMC4zLTMpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdwotCi0gICogWDUwOSBvYmplY3RzIG5vdyBoYXMgYSBoYXNfZXhwaXJlZCBtZXRob2QKLQotIC0tIE1hcnRpbiBTasO2Z3JlbiA8bWFydGluQHN0cmFrdC5jb20+ICBUdWUsICA3IEF1ZyAyMDAxIDE0OjE2OjEzICswMjAwCi0KLXB5b3BlbnNzbCAoMC4zLTIpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdwotCi0gICogWDUwOU5hbWUgb2JqZWN0cyBub3cgaGFzIGEgY29tcGFyZSBtZXRob2QgCi0KLSAtLSBNYXJ0aW4gU2rDtmdyZW4gPG1hcnRpbkBzdHJha3QuY29tPiAgVHVlLCAgNyBBdWcgMjAwMSAxMDo1Mzo1OCArMDIwMAotCi1weW9wZW5zc2wgKDAuMy0xKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKLQotICAqIE5ldyAidXBzdHJlYW0iIHZlcnNpb24KLQotIC0tIE1hcnRpbiBTasO2Z3JlbiA8bWFydGluQHN0cmFrdC5jb20+ICBGcmksICAzIEF1ZyAyMDAxIDE2OjM2OjI2ICswMjAwCi0KLXB5b3BlbnNzbCAoMC4xLTEpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdwotCi0gICogSW5pdGlhbCB2ZXJzaW9uLgotCi0gLS0gQW5kZXJzIEhhbW1hcnF1aXN0IDxpa29Ac3RyYWt0LmNvbT4gIE1vbiwgMjMgSnVsIDIwMDEgMTU6MTc6MzggKzAyMDAKZGlmZiAtLWdpdCBhL2RhcHBlci9jb250cm9sIGIvZGFwcGVyL2NvbnRyb2wKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVkMzNhN2YuLjAwMDAwMDAKLS0tIGEvZGFwcGVyL2NvbnRyb2wKKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi1Tb3VyY2U6IHB5b3BlbnNzbAotU2VjdGlvbjogcHl0aG9uCi1Qcmlvcml0eTogb3B0aW9uYWwKLU1haW50YWluZXI6IE1hcnRpbiBTam9ncmVuIDxzam9ncmVuQGRlYmlhbi5vcmc+Ci1CdWlsZC1EZXBlbmRzOiBkZWJoZWxwZXIgKD4+IDQuMi4yOCksIHB5dGhvbiAoPj0gMi40KSwgcHl0aG9uMi40LWRldiwgbGlic3NsLWRldiAoPj0gMC45LjcpCi1TdGFuZGFyZHMtVmVyc2lvbjogMy42LjEKLQotUGFja2FnZTogcHl0aG9uMi40LXB5b3BlbnNzbAotQXJjaGl0ZWN0dXJlOiBhbnkKLURlcGVuZHM6ICR7c2hsaWJzOkRlcGVuZHN9LCAke3B5dGhvbjpEZXBlbmRzfQotU3VnZ2VzdHM6IHB5b3BlbnNzbC1kb2MKLURlc2NyaXB0aW9uOiBQeXRob24gd3JhcHBlciBhcm91bmQgdGhlIE9wZW5TU0wgbGlicmFyeSwgZXhwZXJpbWVudGFsIQotIEluY2x1ZGVzOiBTU0wgQ29udGV4dCBvYmplY3RzLCBTU0wgQ29ubmVjdGlvbiBvYmplY3RzLCB1c2luZwotIFB5dGhvbiBzb2NrZXRzIGFzIHRyYW5zcG9ydCBsYXllci4gVGhlIENvbm5lY3Rpb24gb2JqZWN0Ci0gd3JhcHMgYWxsIHRoZSBzb2NrZXQgbWV0aG9kcyBhbmQgY2FuIHRoZXJlZm9yZSBiZSB1c2VkCi0gaW50ZXJjaGFuZ2VhYmx5LgotCi1QYWNrYWdlOiBweXRob24tcHlvcGVuc3NsCi1BcmNoaXRlY3R1cmU6IGFsbAotRGVwZW5kczogJHtweXRob246RGVwZW5kc30KLURlc2NyaXB0aW9uOiBQeXRob24gd3JhcHBlciBhcm91bmQgdGhlIE9wZW5TU0wgbGlicmFyeSAoZHVtbXkgcGFja2FnZSkKLSBUaGlzIGlzIGEgZHVtbXkgcGFja2FnZSB0aGF0IGRlcGVuZHMgb24gdGhlIHZlcnNpb24gb2YgcHlPcGVuU1NMCi0gdGhhdCBpcyBjb21waWxlZCBmb3IgdGhlIGRlZmF1bHQgdmVyc2lvbiBvZiBQeXRob24uCi0KLVBhY2thZ2U6IHB5b3BlbnNzbC1kb2MKLVNlY3Rpb246IGRvYwotQXJjaGl0ZWN0dXJlOiBhbGwKLVN1Z2dlc3RzOiBweXRob24tcHlvcGVuc3NsCi1EZXNjcmlwdGlvbjogRG9jdW1lbnRhdGlvbiBmb3IgcHlPcGVuU1NMCi0gVGhpcyBwYWNrYWdlIHByb3ZpZGVzIGRvY3VtZW50YXRpb24gZm9yIHRoZSBweU9wZW5TU0wgcGFja2FnZSwKLSBpbiBIVE1MLCBwb3N0c2NyaXB0IGFuZCB0ZXh0IGZvcm1hdHMuCmRpZmYgLS1naXQgYS9kYXBwZXIvY29weXJpZ2h0IGIvZGFwcGVyL2NvcHlyaWdodApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjcwNTM5OS4uMDAwMDAwMAotLS0gYS9kYXBwZXIvY29weXJpZ2h0CisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotVGhpcyBwYWNrYWdlIHdhcyBkZWJpYW5pemVkIGJ5IE1hcnRpbiBTasO2Z3JlbiA8c2pvZ3JlbkBkZWJpYW4ub3JnPiBvbgotTW9uLCAgNyBKYW4gMjAwMiAxNjoyNTo1OCArMDEwMC4KLQotSXQgd2FzIGRvd25sb2FkZWQgZnJvbSBweW9wZW5zc2wuc291cmNlZm9yZ2UubmV0Ci0KLVVwc3RyZWFtIEF1dGhvcjogTWFydGluIFNqw7ZncmVuIDxtc2pvZ3JlbkBnbWFpbC5jb20+Ci0KLUNvcHlyaWdodCAoQykgMjAwMS0yMDA0IEFCIFN0cmFrdAotCi1UaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi1tb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi1MaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLXZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi1idXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLUxlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLUEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlICh2ZXJzaW9uIDIuMSkKLWNhbiBiZSBmb3VuZCBpbiAvdXNyL3NoYXJlL2NvbW1vbi1saWNlbnNlcy9MR1BMIG9uIERlYmlhbiBzeXN0ZW1zLAotb3IgaW4gdGhlIGZpbGUgQ09QWUlORyBpbiB0aGUgc291cmNlIHBhY2thZ2UuCmRpZmYgLS1naXQgYS9kYXBwZXIvcHlvcGVuc3NsLWRvYy5kb2MtYmFzZSBiL2RhcHBlci9weW9wZW5zc2wtZG9jLmRvYy1iYXNlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNTdlYjNmLi4wMDAwMDAwCi0tLSBhL2RhcHBlci9weW9wZW5zc2wtZG9jLmRvYy1iYXNlCisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotRG9jdW1lbnQ6IHB5b3BlbnNzbC1tYW51YWwKLVRpdGxlOiBQeXRob24gT3BlblNTTCBNYW51YWwKLUF1dGhvcjogTWFydGluIFNq9mdyZW4KLUFic3RyYWN0OiBNYW51YWwgZm9yIHRoZSBweU9wZW5TU0wgcGFja2FnZS4KLSAgVGhpcyBtb2R1bGUgaXMgYSByYXRoZXIgdGhpbiB3cmFwcGVyIGFyb3VuZCAoYSBzdWJzZXQgb2YpIHRoZQotICBPcGVuU1NMIGxpYnJhcnkuIFdpdGggdGhpbiB3cmFwcGVyIEkgbWVhbiB0aGF0IGEgbG90IG9mIHRoZQotICBvYmplY3QgbWV0aG9kcyBkbyBub3RoaW5nIG1vcmUgdGhhbiBjYWxsaW5nIGEgY29ycmVzcG9uZGluZwotICBmdW5jdGlvbiBpbiB0aGUgT3BlblNTTCBsaWJyYXJ5LgotU2VjdGlvbjogQXBwcy9wcm9ncmFtbWluZwotCi1Gb3JtYXQ6IEhUTUwKLUluZGV4OiAvdXNyL3NoYXJlL2RvYy9weW9wZW5zc2wtZG9jL2h0bWwvaW5kZXguaHRtbAotRmlsZXM6IC91c3Ivc2hhcmUvZG9jL3B5b3BlbnNzbC1kb2MvaHRtbC8qCmRpZmYgLS1naXQgYS9kYXBwZXIvcHlvcGVuc3NsLWRvYy5kb2NzIGIvZGFwcGVyL3B5b3BlbnNzbC1kb2MuZG9jcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDE0OWRiMS4uMDAwMDAwMAotLS0gYS9kYXBwZXIvcHlvcGVuc3NsLWRvYy5kb2NzCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1kb2MvcHlPcGVuU1NMLnBzCi1kb2MvcHlPcGVuU1NMLnR4dAotZG9jL2h0bWwKLWRlYmlhbi9SRUFETUUuRGViaWFuCmRpZmYgLS1naXQgYS9kYXBwZXIvcHlvcGVuc3NsLWRvYy5leGFtcGxlcyBiL2RhcHBlci9weW9wZW5zc2wtZG9jLmV4YW1wbGVzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMzk3MjFlLi4wMDAwMDAwCi0tLSBhL2RhcHBlci9weW9wZW5zc2wtZG9jLmV4YW1wbGVzCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotZXhhbXBsZXMvKgpkaWZmIC0tZ2l0IGEvZGFwcGVyL3B5dGhvbi1weW9wZW5zc2wuZG9jcyBiL2RhcHBlci9weXRob24tcHlvcGVuc3NsLmRvY3MKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUxNzQ3MjguLjAwMDAwMDAKLS0tIGEvZGFwcGVyL3B5dGhvbi1weW9wZW5zc2wuZG9jcworKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLWRlYmlhbi9SRUFETUUuRGViaWFuCmRpZmYgLS1naXQgYS9kYXBwZXIvcnVsZXMgYi9kYXBwZXIvcnVsZXMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDIwMDc0ODUuLjAwMDAwMDAKLS0tIGEvZGFwcGVyL3J1bGVzCisrKyAvZGV2L251bGwKQEAgLTEsMTAzICswLDAgQEAKLSMhL3Vzci9iaW4vbWFrZSAtZgotIyBTYW1wbGUgZGViaWFuL3J1bGVzIHRoYXQgdXNlcyBkZWJoZWxwZXIuIAotIyBHTlUgY29weXJpZ2h0IDE5OTcgYnkgSm9leSBIZXNzLgotIwotIyBUaGlzIHZlcnNpb24gaXMgZm9yIGEgaHlwb3RoZXRpY2FsIHBhY2thZ2UgdGhhdCBidWlsZHMgYW4KLSMgYXJjaGl0ZWN0dXJlLWRlcGVuZGFudCBwYWNrYWdlLCBhcyB3ZWxsIGFzIGFuIGFyY2hpdGVjdHVyZS1pbmRlcGVuZGVudAotIyBwYWNrYWdlLgotCi0jIFVuY29tbWVudCB0aGlzIHRvIHR1cm4gb24gdmVyYm9zZSBtb2RlLiAKLSNleHBvcnQgREhfVkVSQk9TRT0xCi0KLSMgVGhpcyBpcyB0aGUgZGViaGVscGVyIGNvbXBhdGFiaWxpdHkgdmVyc2lvbiB0byB1c2UuCi1leHBvcnQgREhfQ09NUEFUPTMKLQotVkVSU0lPTlMgPSAyLjMgMi40IDIuNQotCi1jb25maWd1cmU6IGNvbmZpZ3VyZS1zdGFtcAotY29uZmlndXJlLXN0YW1wOgotCWRoX3Rlc3RkaXIKLQotCWZvciB2ZXIgaW4gJChWRVJTSU9OUyk7IGRvIFwKLQkgICAgY3AgZGViaWFuL3B5dGhvbi1weW9wZW5zc2wuZG9jcyBkZWJpYW4vcHl0aG9uJCR2ZXItcHlvcGVuc3NsLmRvY3M7IFwKLQlkb25lCi0KLQl0b3VjaCBjb25maWd1cmUtc3RhbXAKLQotYnVpbGQ6IGNvbmZpZ3VyZS1zdGFtcCBidWlsZC1zdGFtcAotYnVpbGQtc3RhbXA6Ci0JZGhfdGVzdGRpcgotCi0JZm9yIHZlciBpbiAkKFZFUlNJT05TKTsgZG8gXAotCSAgICAvdXNyL2Jpbi9weXRob24kJHZlciBzZXR1cC5weSBidWlsZDsgXAotCWRvbmUKLQotCXRvdWNoIGJ1aWxkLXN0YW1wCi0KLWNsZWFuOgotCWRoX3Rlc3RkaXIKLQlkaF90ZXN0cm9vdAotCXJtIC1mIGJ1aWxkLXN0YW1wIGNvbmZpZ3VyZS1zdGFtcAotCi0JZm9yIHZlciBpbiAkKFZFUlNJT05TKTsgZG8gXAotCSAgICBybSAtZiBkZWJpYW4vcHl0aG9uJCR2ZXItcHlvcGVuc3NsLmRvY3M7IFwKLQlkb25lCi0Jcm0gLXJmIGJ1aWxkCi0KLQlkaF9jbGVhbgotCi1pbnN0YWxsOiBESF9PUFRJT05TPQotaW5zdGFsbDogYnVpbGQKLQlkaF90ZXN0ZGlyCi0JZGhfdGVzdHJvb3QKLQlkaF9jbGVhbiAtawotCWRoX2luc3RhbGxkaXJzCi0KLQlmb3IgdmVyIGluICQoVkVSU0lPTlMpOyBkbyBcCi0JICAgIC91c3IvYmluL3B5dGhvbiQkdmVyIHNldHVwLnB5IGluc3RhbGwgLS1wcmVmaXg9JChDVVJESVIpL2RlYmlhbi9weXRob24kJHZlci1weW9wZW5zc2wvdXNyOyBcCi0JZG9uZQotCi0jIEJ1aWxkIGFyY2hpdGVjdHVyZS1pbmRlcGVuZGVudCBmaWxlcyBoZXJlLgotIyBQYXNzIC1pIHRvIGFsbCBkZWJoZWxwZXIgY29tbWFuZHMgaW4gdGhpcyB0YXJnZXQgdG8gcmVkdWNlIGNsdXR0ZXIuCi1iaW5hcnktaW5kZXA6IGJ1aWxkIGluc3RhbGwKLQlkaF90ZXN0ZGlyIC1pCi0JZGhfdGVzdHJvb3QgLWkKLQlkaF9pbnN0YWxsZG9jcyAtaQotCWRoX2luc3RhbGxleGFtcGxlcyAtaQotIwlkaF9pbnN0YWxsbWVudSAtaQotIwlkaF9pbnN0YWxsY3JvbiAtaQotIwlkaF9pbnN0YWxsaW5mbyAtaQotCWRoX2luc3RhbGxjaGFuZ2Vsb2dzIENoYW5nZUxvZyAtaQotIwlkaF9saW5rIC1pCi0JZGhfY29tcHJlc3MgLWkKLQlkaF9maXhwZXJtcyAtaQotCWRoX3B5dGhvbiAtaQotCWRoX2luc3RhbGxkZWIgLWkKLQlkaF9nZW5jb250cm9sIC1pCi0JZGhfbWQ1c3VtcyAtaQotCWRoX2J1aWxkZGViIC1pCi0KLSMgQnVpbGQgYXJjaGl0ZWN0dXJlLWRlcGVuZGVudCBmaWxlcyBoZXJlLgotYmluYXJ5LWFyY2g6IGJ1aWxkIGluc3RhbGwKLQlkaF90ZXN0ZGlyIC1hCi0JZGhfdGVzdHJvb3QgLWEKLQlkaF9pbnN0YWxsZG9jcyAtYQotCWRoX2luc3RhbGxleGFtcGxlcyAtYQotIwlkaF9pbnN0YWxsbWVudSAtYQotIwlkaF9pbnN0YWxsY3JvbiAtYQotIwlkaF9pbnN0YWxsaW5mbyAtYQotCWRoX2luc3RhbGxjaGFuZ2Vsb2dzIENoYW5nZUxvZyAtYQotCWRoX3N0cmlwIC1hCi0jCWRoX2xpbmsgLWEKLQlkaF9jb21wcmVzcyAtYQotCWRoX2ZpeHBlcm1zIC1hCi0JZGhfcHl0aG9uIC1hCi0JZGhfbWFrZXNobGlicyAtYQotCWRoX2luc3RhbGxkZWIgLWEKLQlkaF9zaGxpYmRlcHMgLWEKLQlkaF9nZW5jb250cm9sIC1hCi0JZGhfbWQ1c3VtcyAtYQotCWRoX2J1aWxkZGViIC1hCi0KLWJpbmFyeTogYmluYXJ5LWluZGVwIGJpbmFyeS1hcmNoCi0uUEhPTlk6IGJ1aWxkIGNsZWFuIGJpbmFyeS1pbmRlcCBiaW5hcnktYXJjaCBiaW5hcnkgaW5zdGFsbCBjb25maWd1cmUKZGlmZiAtLWdpdCBhL2RvYy9hcGkvY3J5cHRvLnJzdCBiL2RvYy9hcGkvY3J5cHRvLnJzdAppbmRleCA3Yzc3YjAzLi5lZTkzY2ZiIDEwMDY0NAotLS0gYS9kb2MvYXBpL2NyeXB0by5yc3QKKysrIGIvZG9jL2FwaS9jcnlwdG8ucnN0CkBAIC00ODUsNiArNDg1LDEzIEBACiAgICAgR2V0IHRoZSB2ZXJzaW9uIChSRkMgMjQ1OSwgNC4xLjIuMSkgb2YgdGhlIGNlcnRpZmljYXRlIHJlcXVlc3QuCiAKIAorLi4gcHk6bWV0aG9kOjogWDUwOVJlcS5nZXRfZXh0ZW5zaW9ucygpCisKKyAgICBHZXQgZXh0ZW5zaW9ucyB0byB0aGUgcmVxdWVzdC4KKworICAgIC4uIHZlcnNpb25hZGRlZDo6IDAuMTUKKworCiAuLiBfb3BlbnNzbC14NTA5c3RvcmU6CiAKIFg1MDlTdG9yZSBvYmplY3RzCmRpZmYgLS1naXQgYS9ldGNoL1JFQURNRS5EZWJpYW4gYi9ldGNoL1JFQURNRS5EZWJpYW4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg4NGRlYjguLjAwMDAwMDAKLS0tIGEvZXRjaC9SRUFETUUuRGViaWFuCisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotRGViaWFuIG5vdGVzIC0tIHB5T3BlblNTTAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi1UaGUgc291cmNlIHBhY2thZ2UgaXMgc3BsaXQgdXAgb3ZlciBmb3VyIGJpbmFyeSBwYWNrYWdlczoKLQotKiBweXRob24yLjItcHlvcGVuc3NsIC0tIGNvbXBpbGVkIGZvciBQeXRob24gMi4yCi0qIHB5dGhvbjIuMy1weW9wZW5zc2wgLS0gY29tcGlsZWQgZm9yIFB5dGhvbiAyLjMKLSogcHl0aG9uLXB5b3BlbnNzbCAgICAtLSBkdW1teSBwYWNrYWdlIHRoYXQgZGVwZW5kcyBvbiB0aGUgZGVmYXVsdAotICAgICAgICAgICAgICAgICAgICAgICAgIFB5dGhvbiB2ZXJzaW9uIChjdXJyZW50bHkgMi4zKQotKiBweW9wZW5zc2wtZG9jICAgICAgIC0tIGRvY3VtZW50YXRpb24gZm9yIHB5T3BlblNTTAotCi0KLU1hcnRpbiBTasO2Z3JlbiA8c2pvZ3JlbkBkZWJpYW4ub3JnPgpkaWZmIC0tZ2l0IGEvZXRjaC9jaGFuZ2Vsb2cgYi9ldGNoL2NoYW5nZWxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDZiOGM4Ni4uMDAwMDAwMAotLS0gYS9ldGNoL2NoYW5nZWxvZworKysgL2Rldi9udWxsCkBAIC0xLDE4OSArMCwwIEBACi1weW9wZW5zc2wgKDAuNi0yLjMpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdwotCi0gICogTm9uLW1haW50YWluZXIgdXBsb2FkLgotICAqIFVwZGF0ZSBQYWNrYWdlIGZvciBsYXN0IHB5dGhvbiBwb2xpY3kgKENsb3NlczogIzM3MzU0OCkuCi0KLSAtLSBQaWVycmUgSGFib3V6aXQgPG1hZGNvZGVyQGRlYmlhbi5vcmc+ICBGcmksIDMwIEp1biAyMDA2IDEzOjMxOjEwICswMjAwCi0KLXB5b3BlbnNzbCAoMC42LTIuMikgdW5zdGFibGU7IHVyZ2VuY3k9bG93Ci0KLSAgKiBOb24tbWFpbnRhaW5lciB1cGxvYWQuCi0gICogSW5jbHVkZSBwYXRjaCBmcm9tIEN5cmlsIExhY291eCA8Y2xhY291eEBlYXN0ZXItZWdncy5jb20+LAotICAgIGZpeGluZyBTZWdtZW50YXRpb24gZmF1bHQgd2hlbiBjcmVhdGluZyB4NTA5IGV4dGVuc2lvbi4KLSAgICAoQ2xvc2VzOiAjMzU1OTQ3KQotCi0gLS0gSnVsaWVuIERhbmpvdSA8YWNpZEBkZWJpYW4ub3JnPiAgRnJpLCAxMiBNYXkgMjAwNiAxNjo0Mjo0NyArMDIwMAotCi1weW9wZW5zc2wgKDAuNi0yLjEpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdwotCi0gICogTm9uLW1haW50YWluZXIgdXBsb2FkLgotICAqIFN0b3AgYnVpbGRpbmcgbW9kdWxlcyBmb3IgcHl0aG9uMi4yLiAoQ2xvc2VzOiAjMzUxMTMzKQotICAqIEFsc28gcmVidWlsZCBtb2R1bGUgdXNpbmcgbGlic3NsMC45LjguIChDbG9zZXM6ICMzNDc1NDEpCi0KLSAtLSBQaWVycmUgSGFib3V6aXQgPG1hZGNvZGVyQGRlYmlhbi5vcmc+ICBTdW4sICA5IEFwciAyMDA2IDE5OjQ1OjE2ICswMjAwCi0KLXB5b3BlbnNzbCAoMC42LTIpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdwotCi0gICogQWRkIHN1cHBvcnQgZm9yIHB5dGhvbiAyLjQuIChDbG9zZXM6ICMyOTc4NzApCi0gICogQnVpbGQtZGVwZW5kIG9uIHYwLjkuNyBvZiBvcGVuc3NsLgotCi0gLS0gTWFydGluIFNqb2dyZW4gPHNqb2dyZW5AZGViaWFuLm9yZz4gIE1vbiwgMTQgTWFyIDIwMDUgMDg6NTY6MjcgKzAxMDAKLQotcHlvcGVuc3NsICgwLjYtMSkgdW5zdGFibGU7IHVyZ2VuY3k9bG93Ci0KLSAgKiBOZXcgdXBzdHJlYW0gcmVsZWFzZSwgaW5jbHVkaW5nOgotICAgIC0gQWRkIE5ldHNjYXBlIFNQS0kgZXh0ZW5zaW9ucy4gKENsb3NlczogIzIwNTEzMikKLSAgICAtIEFkZCBYNTA5LnN1YmplY3RfbmFtZV9oYXNoLCBYNTA5LmRpZ2VzdC4gKENsb3NlczogIzIwNTEzNikKLSAgICAtIEZpeCBmdWxsIG5hbWVzIG9mIGV4Y2VwdGlvbnMuIChDbG9zZXM6ICMyNTAzNDIpCi0gICAgLSBBZGQgU1NMLkNvbnRleHQudXNlX2NlcnRpZmljYXRlX2NoYWluX2ZpbGUuIChDbG9zZXM6ICMyNjAxMzQpCi0gICogRG9jcyBhcmUgYnVpbHQgdXBzdHJlYW0sIHNvIHRoZSBidWlsZC1kZXBzIGhhdmUgYmVlbiB0cmltbWVkLgotICAgIFRoaXMgYWxzbyBtZWFucyB0aGF0IEhUTUwgYW5kIHRleHQgZG9jdW1lbnRhdGlvbiBhcmUgYmFjay4KLSAgKiBCdW1wZWQgc3RhbmRhcmRzLXZlcnNpb24uCi0gICogVXNlIGRoX3B5dGhvbi4KLQotIC0tIE1hcnRpbiBTam9ncmVuIDxzam9ncmVuQGRlYmlhbi5vcmc+ICBGcmksIDEzIEF1ZyAyMDA0IDIwOjUzOjI3ICswMjAwCi0KLXB5b3BlbnNzbCAoMC41LjEtNCkgdW5zdGFibGU7IHVyZ2VuY3k9bG93Ci0KLSAgKiBEcm9wIEhUTUwgYW5kIHRleHQgZG9jdW1lbnRhdGlvbiBzaW5jZSBsYXRleDJodG1sIG1vdmVkIHRvIG5vbi1mcmVlLgotICAgIFRoaXMgaXMgYSB0ZW1wb3Jhcnkgc29sdXRpb24sIHVudGlsIEkgY2FuIGhhY2sgbWtob3d0byB0byB1c2Ugc29tZXRoaW5nCi0gICAgZWxzZS4gKENsb3NlczogIzIyMTM0NCkKLSAgKiBGaXggdGhlIGNvcHlyaWdodCBmaWxlIHRvIG1lbnRpb24gdGhlIGNvcHlyaWdodCBob2xkZXIuCi0KLSAtLSBNYXJ0aW4gU2pvZ3JlbiA8c2pvZ3JlbkBkZWJpYW4ub3JnPiAgTW9uLCAxNSBEZWMgMjAwMyAyMDoxNjoyNSArMDEwMAotCi1weW9wZW5zc2wgKDAuNS4xLTMpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdwotCi0gICogTUFOSUZFU1QuaW46IEluY2x1ZGUgdGhlIHNyYy9SQVRJT05BTEUgZmlsZS4gKENsb3NlczogIzE5NzQwMSkKLSAgKiBkb2MvcHlPcGVuU1NMLnRleDogRml4IHR5cG8uIChDbG9zZXM6ICMxOTc0MzUpCi0gICogRHJvcCBQeXRob24gMS41IGFuZCAyLjEgc3VwcG9ydC4KLSAgKiBNYWtlIHB5dGhvbi1weW9wZW5zc2wgZGVwZW5kIG9uIHB5dGhvbjIuMy1weW9wZW5zc2wsIHdoaWNoIGlzIG5vIGxvbmdlcgotICAgICJleHBlcmltZW50YWwiLgotCi0gLS0gTWFydGluIFNqb2dyZW4gPHNqb2dyZW5AZGViaWFuLm9yZz4gIE1vbiwgMTEgQXVnIDIwMDMgMTg6Mzc6MDcgKzAyMDAKLQotcHlvcGVuc3NsICgwLjUuMS0yKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKLQotICAqIE1ha2Ugc3VyZSBuYW1lcyBpbiBjb250cm9sIGFuZCBjaGFuZ2Vsb2cgbWF0Y2guIFN0dXBpZCBjaGFuZ2Vsb2dzLCBibGVoLgotICAqIENoYW5nZSBzZWN0aW9uIHRvICdweXRob24nLgotICAqIFJlYnVpbGQgd2l0aCBvcGVuc3NsIDAuOS43LiAoQ2xvc2VzOiAjMTg5ODI2KQotICAqIF9faW5pdF9fLnB5OiBJbXBvcnQgdHNhZmUgbW9kdWxlLgotICAqIHRzYWZlLnB5OiBBZGQgc29tZSBtaXNzaW5nIG1ldGhvZHMuCi0gICogZGViaWFuL2NvcHlyaWdodDogRml4IEF1dGhvcihzKSBib2lsZXJwbGF0ZSB0aGluZ3kgdG8gc2h1dCBsaW50aWFuIHVwLgotCi0gLS0gTWFydGluIFNqb2dyZW4gPHNqb2dyZW5AZGViaWFuLm9yZz4gIFN1biwgMjAgQXByIDIwMDMgMTc6NTA6MjQgKzAyMDAKLQotcHlvcGVuc3NsICgwLjUuMS0xKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKLQotICAqIE5ldyB1cHN0cmVhbSB2ZXJzaW9uLiAoQ2xvc2VzOiAjMTU5NTMwKQotICAqIEFkZGVkIGEgcHl0aG9uLXB5b3BlbnNzbCBkdW1teSBwYWNrYWdlLgotICAqIEFkZGVkIGFuIGV4cGVyaW1lbnRhbCBweXRob24yLjMtcHlvcGVuc3NsIHBhY2thZ2UuCi0KLSAtLSBNYXJ0aW4gU2rDtmdyZW4gPG1hcnRpbkBzdHJha3QuY29tPiAgU3VuLCAyNSBBdWcgMjAwMiAxMjowODozMSArMDIwMAotCi1weW9wZW5zc2wgKDAuNS0xKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKLQotICAqIE5ldyB1cHN0cmVhbSB2ZXJzaW9uCi0gICogU3VwcG9ydCBmb3IgcHl0aG9uMS41LgotICAqIEZpeCBzdHVwaWQgbWlzdGFrZXMgZm9yIHB5dGhvbiAxLjUgYW5kIHB5dGhvbiAyLjEuCi0KLSAtLSBNYXJ0aW4gU2rDtmdyZW4gPG1hcnRpbkBzdHJha3QuY29tPiAgV2VkLCAyNCBKdWwgMjAwMiAwOTowNToyOCArMDIwMAotCi1weW9wZW5zc2wgKDAuNC4xLTgpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdwotCi0gICogQWRkZWQgZXhhbXBsZXMgdG8gcHlvcGVuc3NsLWRvYwotCi0gLS0gTWFydGluIFNqw7ZncmVuIDxtYXJ0aW5Ac3RyYWt0LmNvbT4gIFdlZCwgIDUgSnVuIDIwMDIgMTQ6NTg6MDQgKzAyMDAKLQotcHlvcGVuc3NsICgwLjQuMS03KSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKLQotICAqIFRoZSBjdXRlIGFycm93IGljb25zIGluIHRoZSBIVE1MIGRvY3VtZW50YXRpb24gc2hvdWxkIGJlIHRoZXJlIG5vdyB0b28uCi0KLSAtLSBNYXJ0aW4gU2rDtmdyZW4gPG1hcnRpbkBzdHJha3QuY29tPiAgVGh1LCAzMCBNYXkgMjAwMiAwMDo1Mzo0NCArMDIwMAotCi1weW9wZW5zc2wgKDAuNC4xLTYpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdwotCi0gICogQ29tbWVudGVkIG91dCBzb21lIHVudXNlZCB0aGluZ3MgaW4gZGViaWFuL3J1bGVzCi0KLSAtLSBNYXJ0aW4gU2rDtmdyZW4gPG1hcnRpbkBzdHJha3QuY29tPiAgV2VkLCAyOSBNYXkgMjAwMiAxMToyMDozMyArMDIwMAotCi1weW9wZW5zc2wgKDAuNC4xLTUpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdwotCi0gICogQWRkaW5nIHRvIHRoZSBidWlsZC1kZXBlbmRzLgotICAqIEluaXRpYWwgdXBsb2FkIChDbG9zZXM6ICMxNDA2ODcpCi0KLSAtLSBNYXJ0aW4gU2rDtmdyZW4gPG1hcnRpbkBzdHJha3QuY29tPiAgU2F0LCAgNiBBcHIgMjAwMiAxNDoxNTo0OSArMDIwMAotCi1weW9wZW5zc2wgKDAuNC4xLTQpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdwotCi0gICogRml4ZXMgaW4gcGFja2FnaW5nLCBpdCBzaG91bGRuJ3QgYmUgcmVnYXJkZWQgYSBuYXRpdmUgcGFja2FnZSBub3cuCi0KLSAtLSBNYXJ0aW4gU2rDtmdyZW4gPG1hcnRpbkBzdHJha3QuY29tPiAgU2F0LCAgNiBBcHIgMjAwMiAxMToyNjozOSArMDIwMAotCi1weW9wZW5zc2wgKDAuNC4xLTMpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdwotCi0gICogTW92ZWQgZnJvbSBub24tVVMgdG8gbWFpbi9kZXZlbAotCi0gLS0gTWFydGluIFNqw7ZncmVuIDxtYXJ0aW5Ac3RyYWt0LmNvbT4gIEZyaSwgIDUgQXByIDIwMDIgMjI6NDQ6MTAgKzAyMDAKLQotcHlvcGVuc3NsICgwLjQuMS0yKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKLQotICAqIEZpeGVzIGluIHRoZSBwYWNrYWdpbmcsIGRlcGVuZGVuY2llcyBhbmQgYnVpbGQgZGVwZW5kZW5jaWVzIHNob3VsZCBiZQotICAgIGFsbCByaWdodCBub3cuCi0KLSAtLSBNYXJ0aW4gU2rDtmdyZW4gPG1hcnRpbkBzdHJha3QuY29tPiAgVGh1LCAxMCBKYW4gMjAwMiAxMDowMDowNiArMDEwMAotCi1weW9wZW5zc2wgKDAuNC4xLTEpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdwotCi0gICogTmV3ICJ1cHN0cmVhbSIgcmVsZWFzZQotICAqIE5ldyBwYWNrYWdpbmcsIHB5dGhvbjIuMS1weW9wZW5zc2wsIHB5dGhvbjIuMi1weW9wZW5zc2wsIHB5b3BlbnNzbC1kb2MKLQotIC0tIE1hcnRpbiBTasO2Z3JlbiA8bWFydGluQHN0cmFrdC5jb20+ICBNb24sICA3IEphbiAyMDAyIDE1OjM4OjUxICswMTAwCi0KLXB5b3BlbnNzbCAoMC40LTQpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdwotCi0gICogR3JyciwgdGhpcyB0aW1lIHRoZW4uLi4KLQotIC0tIE1hcnRpbiBTasO2Z3JlbiA8bWFydGluQHN0cmFrdC5jb20+ICBGcmksIDE3IEF1ZyAyMDAxIDE0OjUzOjE5ICswMjAwCi0KLXB5b3BlbnNzbCAoMC40LTMpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdwotCi0gICogRml4ZWQgYSBiaWcgbmFzdHkgYnVnCi0KLSAtLSBNYXJ0aW4gU2rDtmdyZW4gPG1hcnRpbkBzdHJha3QuY29tPiAgRnJpLCAxNyBBdWcgMjAwMSAxNDozMzowNiArMDIwMAotCi1weW9wZW5zc2wgKDAuNC0yKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKLQotICAqIEZpeGVzCi0KLSAtLSBNYXJ0aW4gU2rDtmdyZW4gPG1hcnRpbkBzdHJha3QuY29tPiAgRnJpLCAxNyBBdWcgMjAwMSAxMzo1MzoxMSArMDIwMAotCi1weW9wZW5zc2wgKDAuNC0xKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKLQotICAqIE5ldyAidXBzdHJlYW0iIHZlcnNpb24KLQotIC0tIE1hcnRpbiBTasO2Z3JlbiA8bWFydGluQHN0cmFrdC5jb20+ICBUaHUsICA5IEF1ZyAyMDAxIDEyOjMyOjQ3ICswMjAwCi0KLXB5b3BlbnNzbCAoMC4zLTMpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdwotCi0gICogWDUwOSBvYmplY3RzIG5vdyBoYXMgYSBoYXNfZXhwaXJlZCBtZXRob2QKLQotIC0tIE1hcnRpbiBTasO2Z3JlbiA8bWFydGluQHN0cmFrdC5jb20+ICBUdWUsICA3IEF1ZyAyMDAxIDE0OjE2OjEzICswMjAwCi0KLXB5b3BlbnNzbCAoMC4zLTIpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdwotCi0gICogWDUwOU5hbWUgb2JqZWN0cyBub3cgaGFzIGEgY29tcGFyZSBtZXRob2QgCi0KLSAtLSBNYXJ0aW4gU2rDtmdyZW4gPG1hcnRpbkBzdHJha3QuY29tPiAgVHVlLCAgNyBBdWcgMjAwMSAxMDo1Mzo1OCArMDIwMAotCi1weW9wZW5zc2wgKDAuMy0xKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKLQotICAqIE5ldyAidXBzdHJlYW0iIHZlcnNpb24KLQotIC0tIE1hcnRpbiBTasO2Z3JlbiA8bWFydGluQHN0cmFrdC5jb20+ICBGcmksICAzIEF1ZyAyMDAxIDE2OjM2OjI2ICswMjAwCi0KLXB5b3BlbnNzbCAoMC4xLTEpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdwotCi0gICogSW5pdGlhbCB2ZXJzaW9uLgotCi0gLS0gQW5kZXJzIEhhbW1hcnF1aXN0IDxpa29Ac3RyYWt0LmNvbT4gIE1vbiwgMjMgSnVsIDIwMDEgMTU6MTc6MzggKzAyMDAKZGlmZiAtLWdpdCBhL2V0Y2gvY29udHJvbCBiL2V0Y2gvY29udHJvbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGYxMTk1OC4uMDAwMDAwMAotLS0gYS9ldGNoL2NvbnRyb2wKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1Tb3VyY2U6IHB5b3BlbnNzbAotU2VjdGlvbjogcHl0aG9uCi1Qcmlvcml0eTogb3B0aW9uYWwKLU1haW50YWluZXI6IE1hcnRpbiBTam9ncmVuIDxzam9ncmVuQGRlYmlhbi5vcmc+Ci1CdWlsZC1EZXBlbmRzOiBkZWJoZWxwZXIgKD49IDUuMC4zNy4yKSwgcHl0aG9uLWFsbC1kZXYgKD49IDIuMy41LTExKSwKLSBweXRob24tc3VwcG9ydCAoPj0gMC4zKSwgbGlic3NsLWRldiAoPj0gMC45LjgpCi1TdGFuZGFyZHMtVmVyc2lvbjogMy43LjIKLQotUGFja2FnZTogcHl0aG9uLXB5b3BlbnNzbAotQXJjaGl0ZWN0dXJlOiBhbnkKLURlcGVuZHM6ICR7cHl0aG9uOkRlcGVuZHN9LCAke3NobGliczpEZXBlbmRzfQotUHJvdmlkZXM6ICR7cHl0aG9uOlByb3ZpZGVzfQotU3VnZ2VzdHM6IHB5b3BlbnNzbC1kb2MKLVJlcGxhY2VzOiBweXRob24yLXB5b3BlbnNzbCwgcHl0aG9uMi4zLXB5b3BlbnNzbCAoPDwgMC42LTIuMyksIHB5dGhvbjIuNC1weW9wZW5zc2wgKDw8IDAuNi0yLjMpCi1Db25mbGljdHM6IHB5dGhvbjItcHlvcGVuc3NsLCBweXRob24yLjMtcHlvcGVuc3NsICg8PCAwLjYtMi4zKSwgcHl0aG9uMi40LXB5b3BlbnNzbCAoPDwgMC42LTIuMykKLVhCLVB5dGhvbi1WZXJzaW9uOiAke3B5dGhvbjpWZXJzaW9uc30KLURlc2NyaXB0aW9uOiBQeXRob24gd3JhcHBlciBhcm91bmQgdGhlIE9wZW5TU0wgbGlicmFyeSAoZHVtbXkgcGFja2FnZSkKLSBJbmNsdWRlczogU1NMIENvbnRleHQgb2JqZWN0cywgU1NMIENvbm5lY3Rpb24gb2JqZWN0cywgdXNpbmcKLSBQeXRob24gc29ja2V0cyBhcyB0cmFuc3BvcnQgbGF5ZXIuIFRoZSBDb25uZWN0aW9uIG9iamVjdAotIHdyYXBzIGFsbCB0aGUgc29ja2V0IG1ldGhvZHMgYW5kIGNhbiB0aGVyZWZvcmUgYmUgdXNlZAotIGludGVyY2hhbmdlYWJseS4KLQotUGFja2FnZTogcHlvcGVuc3NsLWRvYwotU2VjdGlvbjogZG9jCi1BcmNoaXRlY3R1cmU6IGFsbAotU3VnZ2VzdHM6IHB5dGhvbi1weW9wZW5zc2wKLURlc2NyaXB0aW9uOiBEb2N1bWVudGF0aW9uIGZvciBweU9wZW5TU0wKLSBUaGlzIHBhY2thZ2UgcHJvdmlkZXMgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIHB5T3BlblNTTCBwYWNrYWdlLAotIGluIEhUTUwsIHBvc3RzY3JpcHQgYW5kIHRleHQgZm9ybWF0cy4KZGlmZiAtLWdpdCBhL2V0Y2gvY29weXJpZ2h0IGIvZXRjaC9jb3B5cmlnaHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI3MDUzOTkuLjAwMDAwMDAKLS0tIGEvZXRjaC9jb3B5cmlnaHQKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi1UaGlzIHBhY2thZ2Ugd2FzIGRlYmlhbml6ZWQgYnkgTWFydGluIFNqw7ZncmVuIDxzam9ncmVuQGRlYmlhbi5vcmc+IG9uCi1Nb24sICA3IEphbiAyMDAyIDE2OjI1OjU4ICswMTAwLgotCi1JdCB3YXMgZG93bmxvYWRlZCBmcm9tIHB5b3BlbnNzbC5zb3VyY2Vmb3JnZS5uZXQKLQotVXBzdHJlYW0gQXV0aG9yOiBNYXJ0aW4gU2rDtmdyZW4gPG1zam9ncmVuQGdtYWlsLmNvbT4KLQotQ29weXJpZ2h0IChDKSAyMDAxLTIwMDQgQUIgU3RyYWt0Ci0KLVRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLW1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLUxpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi1UaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLWJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi1NRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotQSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKHZlcnNpb24gMi4xKQotY2FuIGJlIGZvdW5kIGluIC91c3Ivc2hhcmUvY29tbW9uLWxpY2Vuc2VzL0xHUEwgb24gRGViaWFuIHN5c3RlbXMsCi1vciBpbiB0aGUgZmlsZSBDT1BZSU5HIGluIHRoZSBzb3VyY2UgcGFja2FnZS4KZGlmZiAtLWdpdCBhL2V0Y2gvcHljb21wYXQgYi9ldGNoL3B5Y29tcGF0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwY2ZiZjA4Li4wMDAwMDAwCi0tLSBhL2V0Y2gvcHljb21wYXQKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi0yCmRpZmYgLS1naXQgYS9ldGNoL3B5b3BlbnNzbC1kb2MuZG9jLWJhc2UgYi9ldGNoL3B5b3BlbnNzbC1kb2MuZG9jLWJhc2UKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU1N2ViM2YuLjAwMDAwMDAKLS0tIGEvZXRjaC9weW9wZW5zc2wtZG9jLmRvYy1iYXNlCisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotRG9jdW1lbnQ6IHB5b3BlbnNzbC1tYW51YWwKLVRpdGxlOiBQeXRob24gT3BlblNTTCBNYW51YWwKLUF1dGhvcjogTWFydGluIFNq9mdyZW4KLUFic3RyYWN0OiBNYW51YWwgZm9yIHRoZSBweU9wZW5TU0wgcGFja2FnZS4KLSAgVGhpcyBtb2R1bGUgaXMgYSByYXRoZXIgdGhpbiB3cmFwcGVyIGFyb3VuZCAoYSBzdWJzZXQgb2YpIHRoZQotICBPcGVuU1NMIGxpYnJhcnkuIFdpdGggdGhpbiB3cmFwcGVyIEkgbWVhbiB0aGF0IGEgbG90IG9mIHRoZQotICBvYmplY3QgbWV0aG9kcyBkbyBub3RoaW5nIG1vcmUgdGhhbiBjYWxsaW5nIGEgY29ycmVzcG9uZGluZwotICBmdW5jdGlvbiBpbiB0aGUgT3BlblNTTCBsaWJyYXJ5LgotU2VjdGlvbjogQXBwcy9wcm9ncmFtbWluZwotCi1Gb3JtYXQ6IEhUTUwKLUluZGV4OiAvdXNyL3NoYXJlL2RvYy9weW9wZW5zc2wtZG9jL2h0bWwvaW5kZXguaHRtbAotRmlsZXM6IC91c3Ivc2hhcmUvZG9jL3B5b3BlbnNzbC1kb2MvaHRtbC8qCmRpZmYgLS1naXQgYS9ldGNoL3B5b3BlbnNzbC1kb2MuZG9jcyBiL2V0Y2gvcHlvcGVuc3NsLWRvYy5kb2NzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMTQ5ZGIxLi4wMDAwMDAwCi0tLSBhL2V0Y2gvcHlvcGVuc3NsLWRvYy5kb2NzCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1kb2MvcHlPcGVuU1NMLnBzCi1kb2MvcHlPcGVuU1NMLnR4dAotZG9jL2h0bWwKLWRlYmlhbi9SRUFETUUuRGViaWFuCmRpZmYgLS1naXQgYS9ldGNoL3B5b3BlbnNzbC1kb2MuZXhhbXBsZXMgYi9ldGNoL3B5b3BlbnNzbC1kb2MuZXhhbXBsZXMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUzOTcyMWUuLjAwMDAwMDAKLS0tIGEvZXRjaC9weW9wZW5zc2wtZG9jLmV4YW1wbGVzCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotZXhhbXBsZXMvKgpkaWZmIC0tZ2l0IGEvZXRjaC9weXRob24tcHlvcGVuc3NsLmRvY3MgYi9ldGNoL3B5dGhvbi1weW9wZW5zc2wuZG9jcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTE3NDcyOC4uMDAwMDAwMAotLS0gYS9ldGNoL3B5dGhvbi1weW9wZW5zc2wuZG9jcworKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLWRlYmlhbi9SRUFETUUuRGViaWFuCmRpZmYgLS1naXQgYS9ldGNoL3J1bGVzIGIvZXRjaC9ydWxlcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWY3YTM3ZS4uMDAwMDAwMAotLS0gYS9ldGNoL3J1bGVzCisrKyAvZGV2L251bGwKQEAgLTEsOTYgKzAsMCBAQAotIyEvdXNyL2Jpbi9tYWtlIC1mCi0jIFNhbXBsZSBkZWJpYW4vcnVsZXMgdGhhdCB1c2VzIGRlYmhlbHBlci4gCi0jIEdOVSBjb3B5cmlnaHQgMTk5NyBieSBKb2V5IEhlc3MuCi0jCi0jIFRoaXMgdmVyc2lvbiBpcyBmb3IgYSBoeXBvdGhldGljYWwgcGFja2FnZSB0aGF0IGJ1aWxkcyBhbgotIyBhcmNoaXRlY3R1cmUtZGVwZW5kYW50IHBhY2thZ2UsIGFzIHdlbGwgYXMgYW4gYXJjaGl0ZWN0dXJlLWluZGVwZW5kZW50Ci0jIHBhY2thZ2UuCi0KLSMgVW5jb21tZW50IHRoaXMgdG8gdHVybiBvbiB2ZXJib3NlIG1vZGUuIAotI2V4cG9ydCBESF9WRVJCT1NFPTEKLQotIyBUaGlzIGlzIHRoZSBkZWJoZWxwZXIgY29tcGF0YWJpbGl0eSB2ZXJzaW9uIHRvIHVzZS4KLWV4cG9ydCBESF9DT01QQVQ9NQotCi1QWVZFUlMgOj0gJChzaGVsbCBweXZlcnNpb25zIC1yKQotCi1idWlsZDogYnVpbGQtc3RhbXAKLWJ1aWxkLXN0YW1wOgotCWRoX3Rlc3RkaXIKLQotCXNldCAtZTsgXAotCWZvciBweSBpbiAkKFBZVkVSUyk7IGRvICBcCi0JICAgICQkcHkgc2V0dXAucHkgYnVpbGQ7IFwKLQlkb25lCi0KLQl0b3VjaCBidWlsZC1zdGFtcAotCi1jbGVhbjoKLQlkaF90ZXN0ZGlyCi0JZGhfdGVzdHJvb3QKLQlybSAtZiBidWlsZC1zdGFtcAotCi0JLWZvciBweSBpbiAkKFBZVkVSUyk7IGRvIFwKLQkgICAgJCRweSBzZXR1cC5weSBjbGVhbiAtLWFsbDsgZG9uZQotCXJtIC1yZiBidWlsZCB2ZXJzaW9uLnB5YwotCi0JZGhfY2xlYW4KLQotaW5zdGFsbDogREhfT1BUSU9OUz0KLWluc3RhbGw6IGJ1aWxkCi0JZGhfdGVzdGRpcgotCWRoX3Rlc3Ryb290Ci0JZGhfY2xlYW4gLWsKLQlkaF9pbnN0YWxsZGlycwotCi0Jc2V0IC1lOyBcCi0JZm9yIHB5IGluICQoUFlWRVJTKTsgZG8gXAotCSAgICAkJHB5IHNldHVwLnB5IGluc3RhbGwgLS1yb290PSQoQ1VSRElSKS9kZWJpYW4vcHl0aG9uLXB5b3BlbnNzbDsgXAotCWRvbmUKLQotIyBCdWlsZCBhcmNoaXRlY3R1cmUtaW5kZXBlbmRlbnQgZmlsZXMgaGVyZS4KLSMgUGFzcyAtaSB0byBhbGwgZGViaGVscGVyIGNvbW1hbmRzIGluIHRoaXMgdGFyZ2V0IHRvIHJlZHVjZSBjbHV0dGVyLgotYmluYXJ5LWluZGVwOiBidWlsZCBpbnN0YWxsCi0JZGhfdGVzdGRpciAtaQotCWRoX3Rlc3Ryb290IC1pCi0JZGhfaW5zdGFsbGRvY3MgLWkKLQlkaF9pbnN0YWxsZXhhbXBsZXMgLWkKLSMJZGhfaW5zdGFsbG1lbnUgLWkKLSMJZGhfaW5zdGFsbGNyb24gLWkKLSMJZGhfaW5zdGFsbGluZm8gLWkKLQlkaF9pbnN0YWxsY2hhbmdlbG9ncyBDaGFuZ2VMb2cgLWkKLSMJZGhfbGluayAtaQotCWRoX2NvbXByZXNzIC1pCi0JZGhfZml4cGVybXMgLWkKLQlkaF9weXN1cHBvcnQgLWkKLQlkaF9weXRob24gLWkKLQlkaF9pbnN0YWxsZGViIC1pCi0JZGhfZ2VuY29udHJvbCAtaQotCWRoX21kNXN1bXMgLWkKLQlkaF9idWlsZGRlYiAtaQotCi0jIEJ1aWxkIGFyY2hpdGVjdHVyZS1kZXBlbmRlbnQgZmlsZXMgaGVyZS4KLWJpbmFyeS1hcmNoOiBidWlsZCBpbnN0YWxsCi0JZGhfdGVzdGRpciAtYQotCWRoX3Rlc3Ryb290IC1hCi0JZGhfaW5zdGFsbGRvY3MgLWEKLQlkaF9pbnN0YWxsZXhhbXBsZXMgLWEKLSMJZGhfaW5zdGFsbG1lbnUgLWEKLSMJZGhfaW5zdGFsbGNyb24gLWEKLSMJZGhfaW5zdGFsbGluZm8gLWEKLQlkaF9pbnN0YWxsY2hhbmdlbG9ncyBDaGFuZ2VMb2cgLWEKLQlkaF9zdHJpcCAtYQotIwlkaF9saW5rIC1hCi0JZGhfY29tcHJlc3MgLWEKLQlkaF9maXhwZXJtcyAtYQotCWRoX3B5c3VwcG9ydCAtYQotCWRoX3B5dGhvbiAtYQotCWRoX21ha2VzaGxpYnMgLWEKLQlkaF9pbnN0YWxsZGViIC1hCi0JZGhfc2hsaWJkZXBzIC1hCi0JZGhfZ2VuY29udHJvbCAtYQotCWRoX21kNXN1bXMgLWEKLQlkaF9idWlsZGRlYiAtYQotCi1iaW5hcnk6IGJpbmFyeS1pbmRlcCBiaW5hcnktYXJjaAotLlBIT05ZOiBidWlsZCBjbGVhbiBiaW5hcnktaW5kZXAgYmluYXJ5LWFyY2ggYmluYXJ5IGluc3RhbGwKZGlmZiAtLWdpdCBhL2d1dHN5L1JFQURNRS5EZWJpYW4gYi9ndXRzeS9SRUFETUUuRGViaWFuCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ODRkZWI4Li4wMDAwMDAwCi0tLSBhL2d1dHN5L1JFQURNRS5EZWJpYW4KKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi1EZWJpYW4gbm90ZXMgLS0gcHlPcGVuU1NMCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLVRoZSBzb3VyY2UgcGFja2FnZSBpcyBzcGxpdCB1cCBvdmVyIGZvdXIgYmluYXJ5IHBhY2thZ2VzOgotCi0qIHB5dGhvbjIuMi1weW9wZW5zc2wgLS0gY29tcGlsZWQgZm9yIFB5dGhvbiAyLjIKLSogcHl0aG9uMi4zLXB5b3BlbnNzbCAtLSBjb21waWxlZCBmb3IgUHl0aG9uIDIuMwotKiBweXRob24tcHlvcGVuc3NsICAgIC0tIGR1bW15IHBhY2thZ2UgdGhhdCBkZXBlbmRzIG9uIHRoZSBkZWZhdWx0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgUHl0aG9uIHZlcnNpb24gKGN1cnJlbnRseSAyLjMpCi0qIHB5b3BlbnNzbC1kb2MgICAgICAgLS0gZG9jdW1lbnRhdGlvbiBmb3IgcHlPcGVuU1NMCi0KLQotTWFydGluIFNqw7ZncmVuIDxzam9ncmVuQGRlYmlhbi5vcmc+CmRpZmYgLS1naXQgYS9ndXRzeS9jaGFuZ2Vsb2cgYi9ndXRzeS9jaGFuZ2Vsb2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRlYWZjYWMuLjAwMDAwMDAKLS0tIGEvZ3V0c3kvY2hhbmdlbG9nCisrKyAvZGV2L251bGwKQEAgLTEsMjA5ICswLDAgQEAKLXB5b3BlbnNzbCAoMC42LTIuM3VidW50dTEpIGZlaXN0eTsgdXJnZW5jeT1sb3cKLQotICAqIEJ1aWxkIGEgcHl0aG9uLXR3aXN0ZWQtZGJnIHBhY2thZ2UuCi0gICogQnVtcCBkZWJoZWxwZXIgY29tcGF0aWJpbGl0eSB0byB2NS4KLSAgKiBTZXQgVWJ1bnR1IG1haW50YWluZXIgYWRkcmVzcy4KLQotIC0tIE1hdHRoaWFzIEtsb3NlIDxkb2tvQHVidW50dS5jb20+ICBTYXQsIDE3IEZlYiAyMDA3IDAyOjU5OjE3ICswMTAwCi0KLXB5b3BlbnNzbCAoMC42LTIuM2J1aWxkMikgZWRneTsgdXJnZW5jeT1sb3cKLQotICAqIFJlYnVpbGQgdG8gYWRkIHN1cHBvcnQgZm9yIHB5dGhvbjIuNS4KLQotIC0tIE1hdHRoaWFzIEtsb3NlIDxkb2tvQHVidW50dS5jb20+ICBGcmksICA4IFNlcCAyMDA2IDEzOjMyOjIyICswMDAwCi0KLXB5b3BlbnNzbCAoMC42LTIuM2J1aWxkMSkgZWRneTsgdXJnZW5jeT1sb3cKLQotICAqIFJlYnVpbGQgKHVzaW5nIG5ldyBweXRob24tZGVmYXVsdHMpLiBVYnVudHUgIzUyMzIwLgotCi0gLS0gTWF0dGhpYXMgS2xvc2UgPGRva29AdWJ1bnR1LmNvbT4gIFNhdCwgIDggSnVsIDIwMDYgMTE6MzM6NTUgKzAwMDAKLQotcHlvcGVuc3NsICgwLjYtMi4zKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKLQotICAqIE5vbi1tYWludGFpbmVyIHVwbG9hZC4KLSAgKiBVcGRhdGUgUGFja2FnZSBmb3IgbGFzdCBweXRob24gcG9saWN5IChDbG9zZXM6ICMzNzM1NDgpLgotCi0gLS0gUGllcnJlIEhhYm91eml0IDxtYWRjb2RlckBkZWJpYW4ub3JnPiAgRnJpLCAzMCBKdW4gMjAwNiAxMzozMToxMCArMDIwMAotCi1weW9wZW5zc2wgKDAuNi0yLjIpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdwotCi0gICogTm9uLW1haW50YWluZXIgdXBsb2FkLgotICAqIEluY2x1ZGUgcGF0Y2ggZnJvbSBDeXJpbCBMYWNvdXggPGNsYWNvdXhAZWFzdGVyLWVnZ3MuY29tPiwKLSAgICBmaXhpbmcgU2VnbWVudGF0aW9uIGZhdWx0IHdoZW4gY3JlYXRpbmcgeDUwOSBleHRlbnNpb24uCi0gICAgKENsb3NlczogIzM1NTk0NykKLQotIC0tIEp1bGllbiBEYW5qb3UgPGFjaWRAZGViaWFuLm9yZz4gIEZyaSwgMTIgTWF5IDIwMDYgMTY6NDI6NDcgKzAyMDAKLQotcHlvcGVuc3NsICgwLjYtMi4xKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKLQotICAqIE5vbi1tYWludGFpbmVyIHVwbG9hZC4KLSAgKiBTdG9wIGJ1aWxkaW5nIG1vZHVsZXMgZm9yIHB5dGhvbjIuMi4gKENsb3NlczogIzM1MTEzMykKLSAgKiBBbHNvIHJlYnVpbGQgbW9kdWxlIHVzaW5nIGxpYnNzbDAuOS44LiAoQ2xvc2VzOiAjMzQ3NTQxKQotCi0gLS0gUGllcnJlIEhhYm91eml0IDxtYWRjb2RlckBkZWJpYW4ub3JnPiAgU3VuLCAgOSBBcHIgMjAwNiAxOTo0NToxNiArMDIwMAotCi1weW9wZW5zc2wgKDAuNi0yKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKLQotICAqIEFkZCBzdXBwb3J0IGZvciBweXRob24gMi40LiAoQ2xvc2VzOiAjMjk3ODcwKQotICAqIEJ1aWxkLWRlcGVuZCBvbiB2MC45Ljcgb2Ygb3BlbnNzbC4KLQotIC0tIE1hcnRpbiBTam9ncmVuIDxzam9ncmVuQGRlYmlhbi5vcmc+ICBNb24sIDE0IE1hciAyMDA1IDA4OjU2OjI3ICswMTAwCi0KLXB5b3BlbnNzbCAoMC42LTEpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdwotCi0gICogTmV3IHVwc3RyZWFtIHJlbGVhc2UsIGluY2x1ZGluZzoKLSAgICAtIEFkZCBOZXRzY2FwZSBTUEtJIGV4dGVuc2lvbnMuIChDbG9zZXM6ICMyMDUxMzIpCi0gICAgLSBBZGQgWDUwOS5zdWJqZWN0X25hbWVfaGFzaCwgWDUwOS5kaWdlc3QuIChDbG9zZXM6ICMyMDUxMzYpCi0gICAgLSBGaXggZnVsbCBuYW1lcyBvZiBleGNlcHRpb25zLiAoQ2xvc2VzOiAjMjUwMzQyKQotICAgIC0gQWRkIFNTTC5Db250ZXh0LnVzZV9jZXJ0aWZpY2F0ZV9jaGFpbl9maWxlLiAoQ2xvc2VzOiAjMjYwMTM0KQotICAqIERvY3MgYXJlIGJ1aWx0IHVwc3RyZWFtLCBzbyB0aGUgYnVpbGQtZGVwcyBoYXZlIGJlZW4gdHJpbW1lZC4KLSAgICBUaGlzIGFsc28gbWVhbnMgdGhhdCBIVE1MIGFuZCB0ZXh0IGRvY3VtZW50YXRpb24gYXJlIGJhY2suCi0gICogQnVtcGVkIHN0YW5kYXJkcy12ZXJzaW9uLgotICAqIFVzZSBkaF9weXRob24uCi0KLSAtLSBNYXJ0aW4gU2pvZ3JlbiA8c2pvZ3JlbkBkZWJpYW4ub3JnPiAgRnJpLCAxMyBBdWcgMjAwNCAyMDo1MzoyNyArMDIwMAotCi1weW9wZW5zc2wgKDAuNS4xLTQpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdwotCi0gICogRHJvcCBIVE1MIGFuZCB0ZXh0IGRvY3VtZW50YXRpb24gc2luY2UgbGF0ZXgyaHRtbCBtb3ZlZCB0byBub24tZnJlZS4KLSAgICBUaGlzIGlzIGEgdGVtcG9yYXJ5IHNvbHV0aW9uLCB1bnRpbCBJIGNhbiBoYWNrIG1raG93dG8gdG8gdXNlIHNvbWV0aGluZwotICAgIGVsc2UuIChDbG9zZXM6ICMyMjEzNDQpCi0gICogRml4IHRoZSBjb3B5cmlnaHQgZmlsZSB0byBtZW50aW9uIHRoZSBjb3B5cmlnaHQgaG9sZGVyLgotCi0gLS0gTWFydGluIFNqb2dyZW4gPHNqb2dyZW5AZGViaWFuLm9yZz4gIE1vbiwgMTUgRGVjIDIwMDMgMjA6MTY6MjUgKzAxMDAKLQotcHlvcGVuc3NsICgwLjUuMS0zKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKLQotICAqIE1BTklGRVNULmluOiBJbmNsdWRlIHRoZSBzcmMvUkFUSU9OQUxFIGZpbGUuIChDbG9zZXM6ICMxOTc0MDEpCi0gICogZG9jL3B5T3BlblNTTC50ZXg6IEZpeCB0eXBvLiAoQ2xvc2VzOiAjMTk3NDM1KQotICAqIERyb3AgUHl0aG9uIDEuNSBhbmQgMi4xIHN1cHBvcnQuCi0gICogTWFrZSBweXRob24tcHlvcGVuc3NsIGRlcGVuZCBvbiBweXRob24yLjMtcHlvcGVuc3NsLCB3aGljaCBpcyBubyBsb25nZXIKLSAgICAiZXhwZXJpbWVudGFsIi4KLQotIC0tIE1hcnRpbiBTam9ncmVuIDxzam9ncmVuQGRlYmlhbi5vcmc+ICBNb24sIDExIEF1ZyAyMDAzIDE4OjM3OjA3ICswMjAwCi0KLXB5b3BlbnNzbCAoMC41LjEtMikgdW5zdGFibGU7IHVyZ2VuY3k9bG93Ci0KLSAgKiBNYWtlIHN1cmUgbmFtZXMgaW4gY29udHJvbCBhbmQgY2hhbmdlbG9nIG1hdGNoLiBTdHVwaWQgY2hhbmdlbG9ncywgYmxlaC4KLSAgKiBDaGFuZ2Ugc2VjdGlvbiB0byAncHl0aG9uJy4KLSAgKiBSZWJ1aWxkIHdpdGggb3BlbnNzbCAwLjkuNy4gKENsb3NlczogIzE4OTgyNikKLSAgKiBfX2luaXRfXy5weTogSW1wb3J0IHRzYWZlIG1vZHVsZS4KLSAgKiB0c2FmZS5weTogQWRkIHNvbWUgbWlzc2luZyBtZXRob2RzLgotICAqIGRlYmlhbi9jb3B5cmlnaHQ6IEZpeCBBdXRob3IocykgYm9pbGVycGxhdGUgdGhpbmd5IHRvIHNodXQgbGludGlhbiB1cC4KLQotIC0tIE1hcnRpbiBTam9ncmVuIDxzam9ncmVuQGRlYmlhbi5vcmc+ICBTdW4sIDIwIEFwciAyMDAzIDE3OjUwOjI0ICswMjAwCi0KLXB5b3BlbnNzbCAoMC41LjEtMSkgdW5zdGFibGU7IHVyZ2VuY3k9bG93Ci0KLSAgKiBOZXcgdXBzdHJlYW0gdmVyc2lvbi4gKENsb3NlczogIzE1OTUzMCkKLSAgKiBBZGRlZCBhIHB5dGhvbi1weW9wZW5zc2wgZHVtbXkgcGFja2FnZS4KLSAgKiBBZGRlZCBhbiBleHBlcmltZW50YWwgcHl0aG9uMi4zLXB5b3BlbnNzbCBwYWNrYWdlLgotCi0gLS0gTWFydGluIFNqw7ZncmVuIDxtYXJ0aW5Ac3RyYWt0LmNvbT4gIFN1biwgMjUgQXVnIDIwMDIgMTI6MDg6MzEgKzAyMDAKLQotcHlvcGVuc3NsICgwLjUtMSkgdW5zdGFibGU7IHVyZ2VuY3k9bG93Ci0KLSAgKiBOZXcgdXBzdHJlYW0gdmVyc2lvbgotICAqIFN1cHBvcnQgZm9yIHB5dGhvbjEuNS4KLSAgKiBGaXggc3R1cGlkIG1pc3Rha2VzIGZvciBweXRob24gMS41IGFuZCBweXRob24gMi4xLgotCi0gLS0gTWFydGluIFNqw7ZncmVuIDxtYXJ0aW5Ac3RyYWt0LmNvbT4gIFdlZCwgMjQgSnVsIDIwMDIgMDk6MDU6MjggKzAyMDAKLQotcHlvcGVuc3NsICgwLjQuMS04KSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKLQotICAqIEFkZGVkIGV4YW1wbGVzIHRvIHB5b3BlbnNzbC1kb2MKLQotIC0tIE1hcnRpbiBTasO2Z3JlbiA8bWFydGluQHN0cmFrdC5jb20+ICBXZWQsICA1IEp1biAyMDAyIDE0OjU4OjA0ICswMjAwCi0KLXB5b3BlbnNzbCAoMC40LjEtNykgdW5zdGFibGU7IHVyZ2VuY3k9bG93Ci0KLSAgKiBUaGUgY3V0ZSBhcnJvdyBpY29ucyBpbiB0aGUgSFRNTCBkb2N1bWVudGF0aW9uIHNob3VsZCBiZSB0aGVyZSBub3cgdG9vLgotCi0gLS0gTWFydGluIFNqw7ZncmVuIDxtYXJ0aW5Ac3RyYWt0LmNvbT4gIFRodSwgMzAgTWF5IDIwMDIgMDA6NTM6NDQgKzAyMDAKLQotcHlvcGVuc3NsICgwLjQuMS02KSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKLQotICAqIENvbW1lbnRlZCBvdXQgc29tZSB1bnVzZWQgdGhpbmdzIGluIGRlYmlhbi9ydWxlcwotCi0gLS0gTWFydGluIFNqw7ZncmVuIDxtYXJ0aW5Ac3RyYWt0LmNvbT4gIFdlZCwgMjkgTWF5IDIwMDIgMTE6MjA6MzMgKzAyMDAKLQotcHlvcGVuc3NsICgwLjQuMS01KSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKLQotICAqIEFkZGluZyB0byB0aGUgYnVpbGQtZGVwZW5kcy4KLSAgKiBJbml0aWFsIHVwbG9hZCAoQ2xvc2VzOiAjMTQwNjg3KQotCi0gLS0gTWFydGluIFNqw7ZncmVuIDxtYXJ0aW5Ac3RyYWt0LmNvbT4gIFNhdCwgIDYgQXByIDIwMDIgMTQ6MTU6NDkgKzAyMDAKLQotcHlvcGVuc3NsICgwLjQuMS00KSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKLQotICAqIEZpeGVzIGluIHBhY2thZ2luZywgaXQgc2hvdWxkbid0IGJlIHJlZ2FyZGVkIGEgbmF0aXZlIHBhY2thZ2Ugbm93LgotCi0gLS0gTWFydGluIFNqw7ZncmVuIDxtYXJ0aW5Ac3RyYWt0LmNvbT4gIFNhdCwgIDYgQXByIDIwMDIgMTE6MjY6MzkgKzAyMDAKLQotcHlvcGVuc3NsICgwLjQuMS0zKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKLQotICAqIE1vdmVkIGZyb20gbm9uLVVTIHRvIG1haW4vZGV2ZWwKLQotIC0tIE1hcnRpbiBTasO2Z3JlbiA8bWFydGluQHN0cmFrdC5jb20+ICBGcmksICA1IEFwciAyMDAyIDIyOjQ0OjEwICswMjAwCi0KLXB5b3BlbnNzbCAoMC40LjEtMikgdW5zdGFibGU7IHVyZ2VuY3k9bG93Ci0KLSAgKiBGaXhlcyBpbiB0aGUgcGFja2FnaW5nLCBkZXBlbmRlbmNpZXMgYW5kIGJ1aWxkIGRlcGVuZGVuY2llcyBzaG91bGQgYmUKLSAgICBhbGwgcmlnaHQgbm93LgotCi0gLS0gTWFydGluIFNqw7ZncmVuIDxtYXJ0aW5Ac3RyYWt0LmNvbT4gIFRodSwgMTAgSmFuIDIwMDIgMTA6MDA6MDYgKzAxMDAKLQotcHlvcGVuc3NsICgwLjQuMS0xKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKLQotICAqIE5ldyAidXBzdHJlYW0iIHJlbGVhc2UKLSAgKiBOZXcgcGFja2FnaW5nLCBweXRob24yLjEtcHlvcGVuc3NsLCBweXRob24yLjItcHlvcGVuc3NsLCBweW9wZW5zc2wtZG9jCi0KLSAtLSBNYXJ0aW4gU2rDtmdyZW4gPG1hcnRpbkBzdHJha3QuY29tPiAgTW9uLCAgNyBKYW4gMjAwMiAxNTozODo1MSArMDEwMAotCi1weW9wZW5zc2wgKDAuNC00KSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKLQotICAqIEdycnIsIHRoaXMgdGltZSB0aGVuLi4uCi0KLSAtLSBNYXJ0aW4gU2rDtmdyZW4gPG1hcnRpbkBzdHJha3QuY29tPiAgRnJpLCAxNyBBdWcgMjAwMSAxNDo1MzoxOSArMDIwMAotCi1weW9wZW5zc2wgKDAuNC0zKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKLQotICAqIEZpeGVkIGEgYmlnIG5hc3R5IGJ1ZwotCi0gLS0gTWFydGluIFNqw7ZncmVuIDxtYXJ0aW5Ac3RyYWt0LmNvbT4gIEZyaSwgMTcgQXVnIDIwMDEgMTQ6MzM6MDYgKzAyMDAKLQotcHlvcGVuc3NsICgwLjQtMikgdW5zdGFibGU7IHVyZ2VuY3k9bG93Ci0KLSAgKiBGaXhlcwotCi0gLS0gTWFydGluIFNqw7ZncmVuIDxtYXJ0aW5Ac3RyYWt0LmNvbT4gIEZyaSwgMTcgQXVnIDIwMDEgMTM6NTM6MTEgKzAyMDAKLQotcHlvcGVuc3NsICgwLjQtMSkgdW5zdGFibGU7IHVyZ2VuY3k9bG93Ci0KLSAgKiBOZXcgInVwc3RyZWFtIiB2ZXJzaW9uCi0KLSAtLSBNYXJ0aW4gU2rDtmdyZW4gPG1hcnRpbkBzdHJha3QuY29tPiAgVGh1LCAgOSBBdWcgMjAwMSAxMjozMjo0NyArMDIwMAotCi1weW9wZW5zc2wgKDAuMy0zKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKLQotICAqIFg1MDkgb2JqZWN0cyBub3cgaGFzIGEgaGFzX2V4cGlyZWQgbWV0aG9kCi0KLSAtLSBNYXJ0aW4gU2rDtmdyZW4gPG1hcnRpbkBzdHJha3QuY29tPiAgVHVlLCAgNyBBdWcgMjAwMSAxNDoxNjoxMyArMDIwMAotCi1weW9wZW5zc2wgKDAuMy0yKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKLQotICAqIFg1MDlOYW1lIG9iamVjdHMgbm93IGhhcyBhIGNvbXBhcmUgbWV0aG9kIAotCi0gLS0gTWFydGluIFNqw7ZncmVuIDxtYXJ0aW5Ac3RyYWt0LmNvbT4gIFR1ZSwgIDcgQXVnIDIwMDEgMTA6NTM6NTggKzAyMDAKLQotcHlvcGVuc3NsICgwLjMtMSkgdW5zdGFibGU7IHVyZ2VuY3k9bG93Ci0KLSAgKiBOZXcgInVwc3RyZWFtIiB2ZXJzaW9uCi0KLSAtLSBNYXJ0aW4gU2rDtmdyZW4gPG1hcnRpbkBzdHJha3QuY29tPiAgRnJpLCAgMyBBdWcgMjAwMSAxNjozNjoyNiArMDIwMAotCi1weW9wZW5zc2wgKDAuMS0xKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKLQotICAqIEluaXRpYWwgdmVyc2lvbi4KLQotIC0tIEFuZGVycyBIYW1tYXJxdWlzdCA8aWtvQHN0cmFrdC5jb20+ICBNb24sIDIzIEp1bCAyMDAxIDE1OjE3OjM4ICswMjAwCmRpZmYgLS1naXQgYS9ndXRzeS9jb21wYXQgYi9ndXRzeS9jb21wYXQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdlZDZmZjguLjAwMDAwMDAKLS0tIGEvZ3V0c3kvY29tcGF0CisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotNQpkaWZmIC0tZ2l0IGEvZ3V0c3kvY29udHJvbCBiL2d1dHN5L2NvbnRyb2wKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAyYzU0ZDcuLjAwMDAwMDAKLS0tIGEvZ3V0c3kvY29udHJvbAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLVNvdXJjZTogcHlvcGVuc3NsCi1TZWN0aW9uOiBweXRob24KLVByaW9yaXR5OiBvcHRpb25hbAotTWFpbnRhaW5lcjogVWJ1bnR1IENvcmUgZGV2ZWxvcGVycyA8dWJ1bnR1LWRldmVsLWRpc2N1c3NAbGlzdHMudWJ1bnR1LmNvbT4KLVhTQkMtT3JpZ2luYWwtTWFpbnRhaW5lcjogTWFydGluIFNqb2dyZW4gPHNqb2dyZW5AZGViaWFuLm9yZz4KLUJ1aWxkLURlcGVuZHM6IGRlYmhlbHBlciAoPj0gNS4wLjM3LjIpLCBweXRob24tYWxsLWRldiAoPj0gMi4zLjUtMTEpLCBweXRob24tYWxsLWRiZyAoPj0gMi41LTB1YnVudHU1KSwKLSBweXRob24tc3VwcG9ydCAoPj0gMC4zKSwgbGlic3NsLWRldiAoPj0gMC45LjgpCi1TdGFuZGFyZHMtVmVyc2lvbjogMy43LjIKLQotUGFja2FnZTogcHl0aG9uLXB5b3BlbnNzbAotQXJjaGl0ZWN0dXJlOiBhbnkKLURlcGVuZHM6ICR7cHl0aG9uOkRlcGVuZHN9LCAke3NobGliczpEZXBlbmRzfQotUHJvdmlkZXM6ICR7cHl0aG9uOlByb3ZpZGVzfQotU3VnZ2VzdHM6IHB5b3BlbnNzbC1kb2MsIHB5dGhvbi1weW9wZW5zc2wtZGJnCi1SZXBsYWNlczogcHl0aG9uMi1weW9wZW5zc2wsIHB5dGhvbjIuMy1weW9wZW5zc2wgKDw8IDAuNi0yLjMpLCBweXRob24yLjQtcHlvcGVuc3NsICg8PCAwLjYtMi4zKQotQ29uZmxpY3RzOiBweXRob24yLXB5b3BlbnNzbCwgcHl0aG9uMi4zLXB5b3BlbnNzbCAoPDwgMC42LTIuMyksIHB5dGhvbjIuNC1weW9wZW5zc2wgKDw8IDAuNi0yLjMpCi1YQi1QeXRob24tVmVyc2lvbjogJHtweXRob246VmVyc2lvbnN9Ci1EZXNjcmlwdGlvbjogUHl0aG9uIHdyYXBwZXIgYXJvdW5kIHRoZSBPcGVuU1NMIGxpYnJhcnkKLSBJbmNsdWRlczogU1NMIENvbnRleHQgb2JqZWN0cywgU1NMIENvbm5lY3Rpb24gb2JqZWN0cywgdXNpbmcKLSBQeXRob24gc29ja2V0cyBhcyB0cmFuc3BvcnQgbGF5ZXIuIFRoZSBDb25uZWN0aW9uIG9iamVjdAotIHdyYXBzIGFsbCB0aGUgc29ja2V0IG1ldGhvZHMgYW5kIGNhbiB0aGVyZWZvcmUgYmUgdXNlZAotIGludGVyY2hhbmdlYWJseS4KLQotUGFja2FnZTogcHl0aG9uLXB5b3BlbnNzbC1kYmcKLVByaW9yaXR5OiBleHRyYQotQXJjaGl0ZWN0dXJlOiBhbnkKLURlcGVuZHM6IHB5dGhvbi1weW9wZW5zc2wgKD0gJHtTb3VyY2UtVmVyc2lvbn0pLCBweXRob24tZGJnLCAke3NobGliczpEZXBlbmRzfQotRGVzY3JpcHRpb246IFB5dGhvbiB3cmFwcGVyIGFyb3VuZCB0aGUgT3BlblNTTCBsaWJyYXJ5IChkZWJ1ZyBleHRlbnNpb24pCi0gSW5jbHVkZXM6IFNTTCBDb250ZXh0IG9iamVjdHMsIFNTTCBDb25uZWN0aW9uIG9iamVjdHMsIHVzaW5nCi0gUHl0aG9uIHNvY2tldHMgYXMgdHJhbnNwb3J0IGxheWVyLiBUaGUgQ29ubmVjdGlvbiBvYmplY3QKLSB3cmFwcyBhbGwgdGhlIHNvY2tldCBtZXRob2RzIGFuZCBjYW4gdGhlcmVmb3JlIGJlIHVzZWQKLSBpbnRlcmNoYW5nZWFibHkuCi0KLVBhY2thZ2U6IHB5b3BlbnNzbC1kb2MKLVNlY3Rpb246IGRvYwotQXJjaGl0ZWN0dXJlOiBhbGwKLVN1Z2dlc3RzOiBweXRob24tcHlvcGVuc3NsCi1EZXNjcmlwdGlvbjogRG9jdW1lbnRhdGlvbiBmb3IgcHlPcGVuU1NMCi0gVGhpcyBwYWNrYWdlIHByb3ZpZGVzIGRvY3VtZW50YXRpb24gZm9yIHRoZSBweU9wZW5TU0wgcGFja2FnZSwKLSBpbiBIVE1MLCBwb3N0c2NyaXB0IGFuZCB0ZXh0IGZvcm1hdHMuCmRpZmYgLS1naXQgYS9ndXRzeS9jb3B5cmlnaHQgYi9ndXRzeS9jb3B5cmlnaHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI3MDUzOTkuLjAwMDAwMDAKLS0tIGEvZ3V0c3kvY29weXJpZ2h0CisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotVGhpcyBwYWNrYWdlIHdhcyBkZWJpYW5pemVkIGJ5IE1hcnRpbiBTasO2Z3JlbiA8c2pvZ3JlbkBkZWJpYW4ub3JnPiBvbgotTW9uLCAgNyBKYW4gMjAwMiAxNjoyNTo1OCArMDEwMC4KLQotSXQgd2FzIGRvd25sb2FkZWQgZnJvbSBweW9wZW5zc2wuc291cmNlZm9yZ2UubmV0Ci0KLVVwc3RyZWFtIEF1dGhvcjogTWFydGluIFNqw7ZncmVuIDxtc2pvZ3JlbkBnbWFpbC5jb20+Ci0KLUNvcHlyaWdodCAoQykgMjAwMS0yMDA0IEFCIFN0cmFrdAotCi1UaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi1tb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi1MaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLXZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi1idXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLUxlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLUEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlICh2ZXJzaW9uIDIuMSkKLWNhbiBiZSBmb3VuZCBpbiAvdXNyL3NoYXJlL2NvbW1vbi1saWNlbnNlcy9MR1BMIG9uIERlYmlhbiBzeXN0ZW1zLAotb3IgaW4gdGhlIGZpbGUgQ09QWUlORyBpbiB0aGUgc291cmNlIHBhY2thZ2UuCmRpZmYgLS1naXQgYS9ndXRzeS9weWNvbXBhdCBiL2d1dHN5L3B5Y29tcGF0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwY2ZiZjA4Li4wMDAwMDAwCi0tLSBhL2d1dHN5L3B5Y29tcGF0CisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotMgpkaWZmIC0tZ2l0IGEvZ3V0c3kvcHlvcGVuc3NsLWRvYy5kb2MtYmFzZSBiL2d1dHN5L3B5b3BlbnNzbC1kb2MuZG9jLWJhc2UKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU1N2ViM2YuLjAwMDAwMDAKLS0tIGEvZ3V0c3kvcHlvcGVuc3NsLWRvYy5kb2MtYmFzZQorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLURvY3VtZW50OiBweW9wZW5zc2wtbWFudWFsCi1UaXRsZTogUHl0aG9uIE9wZW5TU0wgTWFudWFsCi1BdXRob3I6IE1hcnRpbiBTavZncmVuCi1BYnN0cmFjdDogTWFudWFsIGZvciB0aGUgcHlPcGVuU1NMIHBhY2thZ2UuCi0gIFRoaXMgbW9kdWxlIGlzIGEgcmF0aGVyIHRoaW4gd3JhcHBlciBhcm91bmQgKGEgc3Vic2V0IG9mKSB0aGUKLSAgT3BlblNTTCBsaWJyYXJ5LiBXaXRoIHRoaW4gd3JhcHBlciBJIG1lYW4gdGhhdCBhIGxvdCBvZiB0aGUKLSAgb2JqZWN0IG1ldGhvZHMgZG8gbm90aGluZyBtb3JlIHRoYW4gY2FsbGluZyBhIGNvcnJlc3BvbmRpbmcKLSAgZnVuY3Rpb24gaW4gdGhlIE9wZW5TU0wgbGlicmFyeS4KLVNlY3Rpb246IEFwcHMvcHJvZ3JhbW1pbmcKLQotRm9ybWF0OiBIVE1MCi1JbmRleDogL3Vzci9zaGFyZS9kb2MvcHlvcGVuc3NsLWRvYy9odG1sL2luZGV4Lmh0bWwKLUZpbGVzOiAvdXNyL3NoYXJlL2RvYy9weW9wZW5zc2wtZG9jL2h0bWwvKgpkaWZmIC0tZ2l0IGEvZ3V0c3kvcHlvcGVuc3NsLWRvYy5kb2NzIGIvZ3V0c3kvcHlvcGVuc3NsLWRvYy5kb2NzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMTQ5ZGIxLi4wMDAwMDAwCi0tLSBhL2d1dHN5L3B5b3BlbnNzbC1kb2MuZG9jcworKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotZG9jL3B5T3BlblNTTC5wcwotZG9jL3B5T3BlblNTTC50eHQKLWRvYy9odG1sCi1kZWJpYW4vUkVBRE1FLkRlYmlhbgpkaWZmIC0tZ2l0IGEvZ3V0c3kvcHlvcGVuc3NsLWRvYy5leGFtcGxlcyBiL2d1dHN5L3B5b3BlbnNzbC1kb2MuZXhhbXBsZXMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUzOTcyMWUuLjAwMDAwMDAKLS0tIGEvZ3V0c3kvcHlvcGVuc3NsLWRvYy5leGFtcGxlcworKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLWV4YW1wbGVzLyoKZGlmZiAtLWdpdCBhL2d1dHN5L3B5dGhvbi1weW9wZW5zc2wuZG9jcyBiL2d1dHN5L3B5dGhvbi1weW9wZW5zc2wuZG9jcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTE3NDcyOC4uMDAwMDAwMAotLS0gYS9ndXRzeS9weXRob24tcHlvcGVuc3NsLmRvY3MKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1kZWJpYW4vUkVBRE1FLkRlYmlhbgpkaWZmIC0tZ2l0IGEvZ3V0c3kvcnVsZXMgYi9ndXRzeS9ydWxlcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggZTg4NmI0OC4uMDAwMDAwMAotLS0gYS9ndXRzeS9ydWxlcworKysgL2Rldi9udWxsCkBAIC0xLDEwMiArMCwwIEBACi0jIS91c3IvYmluL21ha2UgLWYKLSMgU2FtcGxlIGRlYmlhbi9ydWxlcyB0aGF0IHVzZXMgZGViaGVscGVyLiAKLSMgR05VIGNvcHlyaWdodCAxOTk3IGJ5IEpvZXkgSGVzcy4KLSMKLSMgVGhpcyB2ZXJzaW9uIGlzIGZvciBhIGh5cG90aGV0aWNhbCBwYWNrYWdlIHRoYXQgYnVpbGRzIGFuCi0jIGFyY2hpdGVjdHVyZS1kZXBlbmRhbnQgcGFja2FnZSwgYXMgd2VsbCBhcyBhbiBhcmNoaXRlY3R1cmUtaW5kZXBlbmRlbnQKLSMgcGFja2FnZS4KLQotIyBVbmNvbW1lbnQgdGhpcyB0byB0dXJuIG9uIHZlcmJvc2UgbW9kZS4gCi0jZXhwb3J0IERIX1ZFUkJPU0U9MQotCi1QWVZFUlMgOj0gJChzaGVsbCBweXZlcnNpb25zIC1yKQotCi1idWlsZDogYnVpbGQtc3RhbXAKLWJ1aWxkLXN0YW1wOgotCWRoX3Rlc3RkaXIKLQotCXNldCAtZTsgXAotCWZvciBweSBpbiAkKFBZVkVSUyk7IGRvICBcCi0JICAgICQkcHkgc2V0dXAucHkgYnVpbGQ7IFwKLQkgICAgJCRweS1kYmcgc2V0dXAucHkgYnVpbGQ7IFwKLQlkb25lCi0KLQl0b3VjaCBidWlsZC1zdGFtcAotCi1jbGVhbjoKLQlkaF90ZXN0ZGlyCi0JZGhfdGVzdHJvb3QKLQlybSAtZiBidWlsZC1zdGFtcAotCi0JLWZvciBweSBpbiAkKFBZVkVSUyk7IGRvIFwKLQkgICAgJCRweSBzZXR1cC5weSBjbGVhbiAtLWFsbDsgXAotCSAgICAkJHB5LWRiZyBzZXR1cC5weSBjbGVhbiAtLWFsbDsgXAotCWRvbmUKLQlybSAtcmYgYnVpbGQgdmVyc2lvbi5weWMKLQotCWRoX2NsZWFuCi0KLWluc3RhbGw6IERIX09QVElPTlM9Ci1pbnN0YWxsOiBidWlsZAotCWRoX3Rlc3RkaXIKLQlkaF90ZXN0cm9vdAotCWRoX2NsZWFuIC1rCi0JZGhfaW5zdGFsbGRpcnMKLQotCXNldCAtZTsgXAotCWZvciBweSBpbiAkKFBZVkVSUyk7IGRvIFwKLQkgICAgZWNobyAiaW5zdGFsbGluZyBmb3IgJCRweSAuLi4iOyBcCi0JICAgICQkcHkgc2V0dXAucHkgaW5zdGFsbCAtLXJvb3Q9JChDVVJESVIpL2RlYmlhbi9weXRob24tcHlvcGVuc3NsOyBcCi0JICAgIGVjaG8gImluc3RhbGxpbmcgZm9yICQkcHktZGJnIC4uLiI7IFwKLQkgICAgJCRweS1kYmcgc2V0dXAucHkgaW5zdGFsbCAtLXJvb3Q9JChDVVJESVIpL2RlYmlhbi9weXRob24tcHlvcGVuc3NsLWRiZzsgXAotCWRvbmUKLQlmaW5kIGRlYmlhbi9weXRob24tcHlvcGVuc3NsLWRiZyAhIC10eXBlIGQgISAtbmFtZSAnKl9kLnNvJyB8IHhhcmdzIHJtIC1mCi0JZmluZCBkZWJpYW4vcHl0aG9uLXB5b3BlbnNzbC1kYmcgLWRlcHRoIC1lbXB0eSAtZXhlYyBybWRpciB7fSBcOwotCi0jIEJ1aWxkIGFyY2hpdGVjdHVyZS1pbmRlcGVuZGVudCBmaWxlcyBoZXJlLgotIyBQYXNzIC1pIHRvIGFsbCBkZWJoZWxwZXIgY29tbWFuZHMgaW4gdGhpcyB0YXJnZXQgdG8gcmVkdWNlIGNsdXR0ZXIuCi1iaW5hcnktaW5kZXA6IGJ1aWxkIGluc3RhbGwKLQlkaF90ZXN0ZGlyIC1pCi0JZGhfdGVzdHJvb3QgLWkKLQlkaF9pbnN0YWxsZG9jcyAtaQotCWRoX2luc3RhbGxleGFtcGxlcyAtaQotIwlkaF9pbnN0YWxsbWVudSAtaQotIwlkaF9pbnN0YWxsY3JvbiAtaQotIwlkaF9pbnN0YWxsaW5mbyAtaQotCWRoX2luc3RhbGxjaGFuZ2Vsb2dzIENoYW5nZUxvZyAtaQotIwlkaF9saW5rIC1pCi0JZGhfY29tcHJlc3MgLWkKLQlkaF9maXhwZXJtcyAtaQotCWRoX3B5c3VwcG9ydCAtaQotCWRoX3B5dGhvbiAtaQotCWRoX2luc3RhbGxkZWIgLWkKLQlkaF9nZW5jb250cm9sIC1pCi0JZGhfbWQ1c3VtcyAtaQotCWRoX2J1aWxkZGViIC1pCi0KLSMgQnVpbGQgYXJjaGl0ZWN0dXJlLWRlcGVuZGVudCBmaWxlcyBoZXJlLgotYmluYXJ5LWFyY2g6IGJ1aWxkIGluc3RhbGwKLQlkaF90ZXN0ZGlyIC1hCi0JZGhfdGVzdHJvb3QgLWEKLQlkaF9pbnN0YWxsZG9jcyAtYQotCWRoX2luc3RhbGxleGFtcGxlcyAtYQotIwlkaF9pbnN0YWxsbWVudSAtYQotIwlkaF9pbnN0YWxsY3JvbiAtYQotIwlkaF9pbnN0YWxsaW5mbyAtYQotCWRoX2luc3RhbGxjaGFuZ2Vsb2dzIENoYW5nZUxvZyAtYQotCWRoX3N0cmlwIC1wcHl0aG9uLXB5b3BlbnNzbCAtLWRiZy1wYWNrYWdlPXB5dGhvbi1weW9wZW5zc2wtZGJnCi0jCWRoX2xpbmsgLWEKLQlybSAtcmYgZGViaWFuL3B5dGhvbi1weW9wZW5zc2wtZGJnL3Vzci9zaGFyZS9kb2MvcHl0aG9uLXB5b3BlbnNzbC1kYmcKLQlsbiAtcyBweXRob24tcHlvcGVuc3NsIGRlYmlhbi9weXRob24tcHlvcGVuc3NsLWRiZy91c3Ivc2hhcmUvZG9jL3B5dGhvbi1weW9wZW5zc2wtZGJnCi0JZGhfY29tcHJlc3MgLWEKLQlkaF9maXhwZXJtcyAtYQotCWRoX3B5c3VwcG9ydCAtYQotCWRoX21ha2VzaGxpYnMgLWEKLQlkaF9pbnN0YWxsZGViIC1hCi0JZGhfc2hsaWJkZXBzIC1hCi0JZGhfZ2VuY29udHJvbCAtYQotCWRoX21kNXN1bXMgLWEKLQlkaF9idWlsZGRlYiAtYQotCi1iaW5hcnk6IGJpbmFyeS1pbmRlcCBiaW5hcnktYXJjaAotLlBIT05ZOiBidWlsZCBjbGVhbiBiaW5hcnktaW5kZXAgYmluYXJ5LWFyY2ggYmluYXJ5IGluc3RhbGwK