ZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvYnVpbGRfZW52X21pbmkvTWFrZWZpbGUgYi9hcC9idWlsZC9zY3JpcHRzL2J1aWxkX2Vudl9taW5pL01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjlhOWEwZTkKLS0tIC9kZXYvbnVsbAorKysgYi9hcC9idWlsZC9zY3JpcHRzL2J1aWxkX2Vudl9taW5pL01ha2VmaWxlCkBAIC0wLDAgKzEsMTI2IEBACisKK2luY2x1ZGUgJChaVEVfUFNfTElOS19TQ1JJUFQpCistaW5jbHVkZSAkKE9VVFBVVF9ESVIpL3N5c190eXBlLm1rCisKKy5QSE9OWTogaGVscCBhbGwgYWxsY2xlYW4gYXBwIGFwcGNsZWFuIGxpYiBsaWJjbGVhbiBjaGVjaworCitoZWxwOiBjaGVjaworCUBlY2hvICI9PT09PT09PT09PT09PT09PT09PT09PT09TWFrZSBoZWxwIHN0YXJ0PT09PT09PT09PT09PT09PT09PT09PT09PSIKKwlAZWNobyAibWFrZSBbaGVscF0gICAgICAgICAgIHRoaXMgaGVscCIKKwlAZWNobyAibWFrZSBhbGxbY2xlYW5dICAgICAgIGNvbXBpbGUgYWxsLCBpbmNsdWRlIHJlY292ZXJ5IGFuZCBub3JtYWwgc3lzdGVtIgorCUBlY2hvICJtYWtlIG5vcm1hbFtjbGVhbl0gICAgY29tcGlsZSBub3JtYWwgc3lzdGVtLGluY2x1ZGUga2VybmVsIHVDbGliYyBsaWIgYW5kIGFwcCIKKwlAZWNobyAibWFrZSBub3JtYWwyICAgICAgICAgIGNvbnRpbnVlIHRvIGNvbXBpbGUgbm9ybWFsIHN5c3RlbSIKKwlAZWNobyAibWFrZSBub3JtYWxfcm9vdGZzICAgIG1ha2Ugcm9vdGZzIGZvciBub3JtYWwgc3lzdGVtIgorCUBlY2hvICJtYWtlIG5vcm1hbF9jb3B5YmluICAgY29weSBiaW5zIHRvIHByb2plY3QgZm9yIG5vcm1hbCBzeXN0ZW0iCisJQGVjaG8gIm1ha2Ugcm9vdGZzICAgICAgICAgICBtYWtlIHJvb3RmcyBmb3Igbm9ybWFsIG9yIHJlY292ZXJ5IGF1dG9tYXRpY2FsbHkgYmFzZWQgb24gY29uZmlnIgorCUBlY2hvICJtYWtlIGNvcHliaW4gICAgICAgICAgY29weSBiaW5zIHRvIHByb2plY3QgZm9yIG5vcm1hbCBvciByZWNvdmVyeSBhdXRvbWF0aWNhbGx5IGJhc2VkIG9uIGNvbmZpZyIKKwlAZWNobyAibWFrZSBsaWJbY2xlYW5dICAgICAgIGNvbXBpbGUgbGliIgorCUBlY2hvICJtYWtlIGFwcFtjbGVhbl0gICAgICAgY29tcGlsZSBhcHAiCisJQGVjaG8gIj09PT09PT09PT09PT09PT09PT09PT09PT1NYWtlIGhlbHAgZW5kPT09PT09PT09PT09PT09PT09PT09PT09PSIKKworY2hlY2s6CitpZmVxICgkKFBSSl9OQU1FKSwpCisJJChlcnJvciBPTkxZIGV4ZWN1dGUgdGhlIG1ha2UgY29tbWFuZCBpbiB0aGUgcHJvamVjdC9DSElQX05BTUUvcHJqX3h4eC9idWlsZCBkaXJlY3RvcnkpCitlbmRpZgorCWJhc2ggJChCVUlMRF9ESVIpL2Vudl9jaGVjay5zaAorCitub3JtYWxfY2hlY2s6CitpZm5lcSAoJChBUF9CVUlMRF9UWVBFKSxub3JtYWwpCisJJChlcnJvciBjdXJyZW50IGNvbmZpZyBpcyBub3Qgbm9ybWFsLG1ha2Ugbm9ybWFsIGZpcnN0KQorZW5kaWYKKworYWxsOgorCW1ha2UgQVBfQlVJTERfVFlQRT1ub3JtYWwgbm9ybWFsCisKK2FsbGNsZWFuOiBub3JtYWxjbGVhbgorCitzeXM6IGNoZWNrCisJbWFrZSBsaWIKKwltYWtlIGFwcAorCUBlY2hvICJhbGwgbW9kdWxlcyBidWlsZCBkb25lIgorCitzeXNjbGVhbjogY2hlY2sKKwltYWtlIGxpYmNsZWFuCisJbWFrZSBhcHBjbGVhbgorCS1Acm0gLWZyICQoT1VUUFVUX0RJUikKKwlAZWNobyAiYWxsIG1vZHVsZXMgY2xlYW4gZG9uZSIKKworYXBwOgorCW1rZGlyIC1wICQoUk9PVEZTX0RJUikvYmluICQoUk9PVEZTX0RJUikvc2JpbiAkKFJPT1RGU19ESVIpL2xpYiAkKFJPT1RGU19ESVIpL3JlY292ZXJ5L2JpbgorCW1ha2UgLUMgYXBwCisKK2FwcGNsZWFuOgorCW1ha2UgLUMgYXBwIGNsZWFuCisKK2xpYjoKKwlta2RpciAtcCAkKFJPT1RGU19ESVIpL2JpbiAkKFJPT1RGU19ESVIpL3NiaW4gJChST09URlNfRElSKS9saWIgJChST09URlNfRElSKS9yZWNvdmVyeS9iaW4KKwltYWtlIC1DIGxpYgorCitsaWJjbGVhbjoKKwltYWtlIC1DIGxpYiBjbGVhbgorCitub3JtYWxfY29uZjoKKwlta2RpciAtcCAkKE9VVFBVVF9ESVIpCisJbWtkaXIgLXAgJChJTUFHRV9ESVIpCisJZWNobyAiQVBfQlVJTERfVFlQRSA9IG5vcm1hbCIgPiAkKE9VVFBVVF9ESVIpL3N5c190eXBlLm1rCisJZWNobyAiQVBfQlVJTERfUFJKID0gJChQUkpfTkFNRSkiID4+ICQoT1VUUFVUX0RJUikvc3lzX3R5cGUubWsKKworbm9ybWFsOgorCW1ha2UgQVBfQlVJTERfVFlQRT1ub3JtYWwgc3lzY2xlYW4KKwltYWtlIEFQX0JVSUxEX1RZUEU9bm9ybWFsIG5vcm1hbF9jb25mCisJbWFrZSBBUF9CVUlMRF9UWVBFPW5vcm1hbCBzeXMKKwltYWtlIEFQX0JVSUxEX1RZUEU9bm9ybWFsIG5vcm1hbF9yb290ZnMKKwltYWtlIEFQX0JVSUxEX1RZUEU9bm9ybWFsIG5vcm1hbF9jb3B5YmluCisKK25vcm1hbDI6IHN5cyBub3JtYWxfcm9vdGZzIG5vcm1hbF9jb3B5YmluCisKK25vcm1hbGNsZWFuOgorCS1tYWtlIEFQX0JVSUxEX1RZUEU9bm9ybWFsIHN5c2NsZWFuCisJbWFrZSBub3JtYWxfY29uZgorCW1ha2UgQVBfQlVJTERfVFlQRT1ub3JtYWwgc3lzY2xlYW4KKworcm9vdGZzOgorCW1ha2Ugbm9ybWFsX3Jvb3RmcworCitjb3B5YmluOgorCisJbWFrZSBub3JtYWxfY29weWJpbgorCitub3JtYWxfcm9vdGZzOiBub3JtYWxfY2hlY2sKKwlta2RpciAtcCAkKFBSSl9CSU5fRElSKS9hbGxiaW5zICQoUFJKX0JJTl9ESVIpL2VsZnMKKwlybSAtZnIgJChST09URlNfRElSKS9ldGNfcncKKwljcCAtYWZ2cCAkKFBSSl9QUk9EVUNUX0RJUikvZnMvbm9ybWFsL3Jvb3Rmcy8qICAkKFJPT1RGU19ESVIpLworCSNjcCAtdiAkKFBSSl9CSU5fRElSKS9hbGxiaW5zL2FwX3VzZXJkYXRhLmltZyAgJChST09URlNfRElSKS9ldGNfcm8vCisJY2htb2QgLVIgYStyICQoUk9PVEZTX0RJUikvZXRjX3JvCisJI2ZpbmQgJChST09URlNfRElSKS9iaW4gLXR5cGUgZiB8IHhhcmdzIGNobW9kIGEreAorCSMtZmluZCAkKFJPT1RGU19ESVIpL3NiaW4gLXR5cGUgZiB8IHhhcmdzIGNobW9kIGEreAorCWNobW9kIGEreCAkKFJPT1RGU19ESVIpL2V0Yy9yYworCSNAY2QgJChCVUlMRF9ESVIpOyBiYXNoIC4vaW5zdGFsbF9saWJjLnNoICQoUk9PVEZTX0RJUikKKwlmaW5kICQoUk9PVEZTX0RJUikvIC10eXBlIGQgLW5hbWUgJy5naXRrZWVwJyAtcHJpbnQwIHwgeGFyZ3MgLTAgcm0gLWZyCisJZmluZCAkKFJPT1RGU19ESVIpLyAtdHlwZSBkIC1uYW1lICcuZ2l0JyAtcHJpbnQwIHwgeGFyZ3MgLTAgcm0gLWZyCisJZmluZCAkKFJPT1RGU19ESVIpLyAtbmFtZSAnLmdpdGlnbm9yZScgLXByaW50MCB8IHhhcmdzIC0wIHJtIC1mcgorCitpZmVxICgkKFJPT1RfRlNfVFlQRSksdWJpZnMpCisJYmFzaCAkKEJVSUxEX0RJUikvdWJpZnMuc2ggcm9vdGZzICQoUk9PVEZTX1NJWkUpICQoUk9PVEZTX0RJUikgJChJTUFHRV9ESVIpL3Jvb3Rmcy5pbWcKK2Vsc2UKK2lmZXEgKCQoUk9PVF9GU19UWVBFKSxqZmZzMikKK2lmZXEgKCQoUFJKX0lTX01JTikseWVzKQorCWJhc2ggJChCVUlMRF9ESVIpL2pmZnMyX2x6bWEuc2ggJChST09URlNfRElSKSAkKElNQUdFX0RJUikvcm9vdGZzLmltZyBsem1hCitlbHNlCisJYmFzaCAkKEJVSUxEX0RJUikvamZmczJfbHptYS5zaCAkKFJPT1RGU19ESVIpICQoSU1BR0VfRElSKS9yb290ZnMuaW1nIGx6bworZW5kaWYKK2VuZGlmCitlbmRpZgorCisJKGNkICQoUk9PVEZTX0RJUikgJiYgZmluZCAuIC10eXBlIGYgLXByaW50ZiAnIi8lUCIgUmVndWxhciAxNCAlMDRtOiU0VTolNEdcbicgPiAgLi4vcm9vdGZzX2F0dHIudHh0KQorCShjZCAkKFJPT1RGU19ESVIpICYmIGZpbmQgLiAtdHlwZSBsIC1wcmludGYgJyIvJVAiIFN5bUxpbmsgMTQgJTA0bTolNFU6JTRHXG4nID4+IC4uL3Jvb3Rmc19hdHRyLnR4dCkKKwkoY2QgJChST09URlNfRElSKSAmJiBmaW5kIC4gLXR5cGUgZCAtcHJpbnRmICciLyVQIiBSZWd1bGFyIDE0ICUwNG06JTRVOiU0R1xuJyA+PiAuLi9yb290ZnNfYXR0ci50eHQpCisJKGNkICQoUk9PVEZTX0RJUikvLi4vICYmIHRhciAtemN2ZiAkKFBSSl9CSU5fRElSKS9hbGxiaW5zL3Jvb3Rmcy50Z3ogcm9vdGZzIHJvb3Rmc19hdHRyLnR4dCkKKwlAcm0gJChST09URlNfRElSKS8uLi9yb290ZnNfYXR0ci50eHQKKworbm9ybWFsX2NvcHliaW46IG5vcm1hbF9jaGVjaworCW1rZGlyIC1wICQoUFJKX0JJTl9ESVIpL2FsbGJpbnMgJChQUkpfQklOX0RJUikvZWxmcy9ub3JtYWxlbGZzCisJY3AgLXYgJChJTUFHRV9ESVIpL3Jvb3Rmcy5pbWcgJChQUkpfQklOX0RJUikvYWxsYmlucy9hcF9yb290ZnMuaW1nCisJZmluZCAgICQoQVBQX0RJUikvICAtbmFtZSAqLmVsZiAgLWV4ZWMgY3Age30gJChQUkpfQklOX0RJUikvZWxmcy9ub3JtYWxlbGZzIFw7CisJZmluZCAgICQoTElCX0RJUikvICAtdHlwZSBmIC1uYW1lICJsaWIqLnNvIiAgLWV4ZWMgY3Age30gJChQUkpfQklOX0RJUikvZWxmcy9ub3JtYWxlbGZzIFw7CisJZmluZCAgICQoU1RBR0VESVIpL3VDbGliYy9saWIgICAgLXR5cGUgZiAtbmFtZSAiKi5zbyIgIC1leGVjIGNwIHt9ICQoUFJKX0JJTl9ESVIpL2VsZnMvbm9ybWFsZWxmcyBcOwpkaWZmIC0tZ2l0IGEvYXAvYnVpbGQvc2NyaXB0cy9idWlsZF9lbnZfbWluaS9idWlsZF9lbnZfbWluaS5zaCBiL2FwL2J1aWxkL3NjcmlwdHMvYnVpbGRfZW52X21pbmkvYnVpbGRfZW52X21pbmkuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjNiYTIzZgotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvYnVpbGRfZW52X21pbmkvYnVpbGRfZW52X21pbmkuc2gKQEAgLTAsMCArMSw3OCBAQAorIyEvYmluL2Jhc2gKKworQ1JPU1NfRElSPXYzdF9idWlsZF9lbnZfbWluaQorCitMSUJfU0VUPSJsaWJkZW1vIHpsaWIiCitBUFBfU0VUPSJhcHBkZW1vIgorUFJKX05BTUU9cHJqX21pZmkKKworaWYgWyAhIC1kIGJ1aWxkL2NvbXBpbGVyIF07IHRoZW4KKyAgZWNobyAiW0VSUk9SXSBDQU4gbm90IGZvdW5kIGJ1aWxkL2NvbXBpbGVyIGFuZCBydW4gaW4gZGlyZWN0b3J5IGNvbnRhaW5pbmcgYXAgYW5kIGJ1aWxkLiIKKyAgZXhpdCAtMQorZmkKKworUlNZTkNfT1BUPSJyc3luYyAtYXEgLS1kZWxldGUgLS1leGNsdWRlPS5zdm4gLS1leGNsdWRlPS5naXQiCisKK3JtIC1mciAkQ1JPU1NfRElSCitybSAtZnYgJENST1NTX0RJUi50YXIuZ3oKK21rZGlyIC1wICRDUk9TU19ESVIKKworI7Hg0uvBtAorbWtkaXIgLXAgJENST1NTX0RJUi9idWlsZC9jb21waWxlci9nY2MtNC45LjRfdGh1bWJfbGludXgvCiskUlNZTkNfT1BUICAuL2J1aWxkL2NvbXBpbGVyL2djYy00LjkuNF90aHVtYl9saW51eC8gICRDUk9TU19ESVIvYnVpbGQvY29tcGlsZXIvZ2NjLTQuOS40X3RodW1iX2xpbnV4LworCisjbGliYworbWtkaXIgLXAgJENST1NTX0RJUi9hcC9zdGFnaW5nLworJFJTWU5DX09QVCAgLi9hcC9zdGFnaW5nLyAgJENST1NTX0RJUi9hcC9zdGFnaW5nLworCisjYXAvYnVpbGQKK21rZGlyIC1wICRDUk9TU19ESVIvYXAvYnVpbGQvCiskUlNZTkNfT1BUICAuL2FwMi9idWlsZC8gICAkQ1JPU1NfRElSL2FwL2J1aWxkLworCisjcHJqCitta2RpciAtcCAkQ1JPU1NfRElSL2FwL3Byb2plY3QvengyOTc1MjB2My8kUFJKX05BTUUKKyRSU1lOQ19PUFQgIC4vYXAyL3Byb2plY3QvengyOTc1MjB2My8kUFJKX05BTUUvICRDUk9TU19ESVIvYXAvcHJvamVjdC96eDI5NzUyMHYzLyRQUkpfTkFNRS8KK2NwIC12IC4vYXAyL3Byb2plY3QvcHViY29uZi5tayAgICRDUk9TU19ESVIvYXAvcHJvamVjdC8KK2NwIC12IC4vYXAyL3Byb2plY3QvengyOTc1MjB2My9jaGlwX3B1YmNvbmYubWsgICRDUk9TU19ESVIvYXAvcHJvamVjdC96eDI5NzUyMHYzLworCisjZGVtbyBsaWIKK21rZGlyIC1wICRDUk9TU19ESVIvYXAvbGliLworZm9yIGl0ZW0gaW4gJExJQl9TRVQ7ZG8KKyAgbWtkaXIgLXAgJENST1NTX0RJUi9hcC9saWIvJGl0ZW0vCisgICRSU1lOQ19PUFQgIC4vYXAyL2xpYi8kaXRlbS8gJENST1NTX0RJUi9hcC9saWIvJGl0ZW0vCitkb25lCitjcCAtdiAuL2FwMi9saWIvTWFrZWZpbGUgJENST1NTX0RJUi9hcC9saWIvCisKKyNkZW1vIGFwcAorbWtkaXIgLXAgJENST1NTX0RJUi9hcC9hcHAvCitmb3IgaXRlbSBpbiAkQVBQX1NFVDtkbworICBta2RpciAtcCAkQ1JPU1NfRElSL2FwL2FwcC8kaXRlbS8KKyAgJFJTWU5DX09QVCAgLi9hcDIvYXBwLyRpdGVtLyAkQ1JPU1NfRElSL2FwL2FwcC8kaXRlbS8KK2RvbmUKK2NwIC12IC4vYXAyL2FwcC9NYWtlZmlsZSAkQ1JPU1NfRElSL2FwL2FwcC8KKyNta2RpciAtcCAkQ1JPU1NfRElSL2FwL2FwcC9pbmNsdWRlLworIyRSU1lOQ19PUFQgIC4vYXAvYXBwL2luY2x1ZGUvICAkQ1JPU1NfRElSL2FwL2FwcC9pbmNsdWRlLworCitybSAgLWZyICRDUk9TU19ESVIvYXAvcHJvamVjdC96eDI5NzUyMHYzLyRQUkpfTkFNRS9jb25maWcvbm9ybWFsLyoKK2VjaG8gInp0ZV9saWIgOj0gJExJQl9TRVQiID4gJENST1NTX0RJUi9hcC9wcm9qZWN0L3p4Mjk3NTIwdjMvJFBSSl9OQU1FL2NvbmZpZy9ub3JtYWwvY29uZmlnX2xpYi5taworZWNobyAienRlX2FwcCA6PSAkQVBQX1NFVCIgPiAkQ1JPU1NfRElSL2FwL3Byb2plY3QvengyOTc1MjB2My8kUFJKX05BTUUvY29uZmlnL25vcm1hbC9jb25maWdfYXBwLm1rCitjcCAtdiAkQ1JPU1NfRElSL2FwL3Byb2plY3QvengyOTc1MjB2My8kUFJKX05BTUUvY29uZmlnL25vcm1hbC9jb25maWdfbGliLm1rICAkQ1JPU1NfRElSL2FwL2xpYi8KK2NwIC12ICRDUk9TU19ESVIvYXAvcHJvamVjdC96eDI5NzUyMHYzLyRQUkpfTkFNRS9jb25maWcvbm9ybWFsL2NvbmZpZ19hcHAubWsgICRDUk9TU19ESVIvYXAvYXBwLworCisKK2NwIC12IC4vYXAvYnVpbGQvc2NyaXB0cy9idWlsZF9lbnZfbWluaS9NYWtlZmlsZSAgJENST1NTX0RJUi9hcC8KK2NwIC12IC4vYXAvYnVpbGQvc2NyaXB0cy9idWlsZF9lbnZfbWluaS9yZWFkbWUudHh0ICAkQ1JPU1NfRElSLworCisjY2xlYW4gCitybSAtZnIgJENST1NTX0RJUi9hcC9wcm9qZWN0L3p4Mjk3NTIwdjMvJFBSSl9OQU1FL2ZzL25vcm1hbC9yb290ZnMvKgorbWtkaXIgLXAgJENST1NTX0RJUi9hcC9wcm9qZWN0L3p4Mjk3NTIwdjMvJFBSSl9OQU1FL2ZzL25vcm1hbC9yb290ZnMvZXRjCitta2RpciAtcCAkQ1JPU1NfRElSL2FwL3Byb2plY3QvengyOTc1MjB2My8kUFJKX05BTUUvZnMvbm9ybWFsL3Jvb3Rmcy9ldGNfcm8KK3RvdWNoICRDUk9TU19ESVIvYXAvcHJvamVjdC96eDI5NzUyMHYzLyRQUkpfTkFNRS9mcy9ub3JtYWwvcm9vdGZzL2V0Yy9yYworcm0gLWZyICRDUk9TU19ESVIvYXAvcHJvamVjdC96eDI5NzUyMHYzLyRQUkpfTkFNRS9mcy9yZWNvdmVyeQorcm0gLWZyICRDUk9TU19ESVIvYXAvcHJvamVjdC96eDI5NzUyMHYzLyRQUkpfTkFNRS9jb25maWcvcmVjb3ZlcnkKK3JtIC1mciAkQ1JPU1NfRElSL2FwL2J1aWxkL3NjcmlwdHMKK3JtIC1mciAkQ1JPU1NfRElSL2FwL2J1aWxkL3VDbGliYworCitlY2hvICJjb21wcmVzcyBmaWxlcyB0byAke0NST1NTX0RJUn0udGFyLmd6IgordGFyIC1jemYgICR7Q1JPU1NfRElSfS50YXIuZ3ogICRDUk9TU19ESVIvCitlY2hvICJhbGwgZG9uZSIKZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvYnVpbGRfZW52X21pbmkvcmVhZG1lLnR4dCBiL2FwL2J1aWxkL3NjcmlwdHMvYnVpbGRfZW52X21pbmkvcmVhZG1lLnR4dApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wZTI0NjgzCi0tLSAvZGV2L251bGwKKysrIGIvYXAvYnVpbGQvc2NyaXB0cy9idWlsZF9lbnZfbWluaS9yZWFkbWUudHh0CkBAIC0wLDAgKzEsMzIgQEAKK++7v+i/kOihjOW5s+WPsOimgeaxgng4Nl82NCBMaW51eO+8jOW7uuiurnVidW50dSAxMi4wNOOAgXVidW50dSAxNC4wNOOAgXVidW50dSAxNi4wNO+8jOWFtuS7lkxpbnV45bmz5Y+w5pyq5rWL6K+V77yM55CG6K665LiK5YW25LuWNjTkvY1MaW51eOeOr+Wig+S5n+WPr+S7peOAgg0KK+acrOe8luivkeeOr+Wig+aXoOmcgOWuieijhe+8jOino+WOi+WNs+WPr+S9v+eUqOOAgg0KKw0KK+WmguaenOS4jeS9v+eUqOacrOe8luivkeahhuaetu+8jOebtOaOpeS9v+eUqOe8luivkemTvu+8jOWPguiAg2FwL2J1aWxkL2J1aWxkLnNo6YeMQ0PjgIFBUuetieWumuS5ie+8jENGTEFHU+WSjExERkxBR1PnrYnlu7rorq7lj4LmlbDlrprkuYnlnKhhcC9idWlsZC9iYXNlLm1r44CCDQor5aaC5p6c6L2v5Lu25Lqk5Y+J57yW6K+RY29uZmlndXJl6ZyA6KaB5oyH5a6aLS1ob3N05ZKMLS10YXJnZXTvvIzlj6/ku6XphY3nva7miJAtLWhvc3Q9YXJtLWxpbnV4IC0tdGFyZ2V0PWFybS1saW51eO+8jOWPguingWFwL2J1aWxkL2Jhc2UubWvjgIINCisNCivlpoLmnpzkvb/nlKjmnKznvJbor5Hnjq/looPnvJbor5HmoYbmnrbvvIzku6VwcmpfbWRs5Li65L6L77yM5Y+q6IO95ZyocHJvamVjdC9DSElQX05BTUUvcHJqX21kbC9idWlsZOebruW9lei/kOihjG1ha2Xlkb3ku6TjgIINCisx44CB5a6M5pW057yW6K+R77yabWFrZSBhbGwsIOazqOaEj+acrOe8luivkemTvuWPquaciW5vcm1hbOeJiOacrCxtYWtlIG5vcm1hbOetieWQjG1ha2UgYWxs44CCbWFrZSBoZWxw5Y+v5Lul6I635b6X5pu05aSa5L+h5oGv44CCDQorDQorMuOAgeWinumHj+e8luivkeWRveS7pA0KKyAgIG5vcm1hbOeJiOacrOe8luivke+8mm1ha2Ugbm9ybWFs77yM57yW6K+R5a6M5oiQ5omT5YyF55qE5paH5Lu257O757uf5pig5YOPYXBfdXNlcmRhdGEuaW1n5ZyocHJvamVjdC9DSElQX05BTUUvcHJqX21kbC9iaW7nm67lvZUNCisgICDlpoLmnpznvJbor5HmiqXplJnvvIzku6PnoIHkv67mlLnlkI7lop7ph4/nvJbor5HvvJptYWtlIG5vcm1hbDINCisNCisz44CBbm9ybWFs54mI5pys5LiL77yM5L+u5pS55LqGbGli5Luj56CB77yMbWFrZSBsaWIgYXBwIG5vcm1hbF9yb290ZnMgbm9ybWFsX2NvcHliaW7vvIzmiJbogIXlj6/ku6XnlKhtYWtlIG5vcm1hbDINCisgICBhcF91c2VyZGF0YS5pbWfkuLrmoLnmlofku7bns7vnu58s5ZyocHJvamVjdC9DSElQX05BTUUvcHJqX21kbC9iaW7nm67lvZUNCisgICDlpoLmnpxhcHDnlKjkuoZsaWLnmoTpnZnmgIHlupPvvIxhcHDnmoRNYWtlZmlsZeWPkeeOsOS4jeS6huS+nei1lu+8jOaJgOS7peacgOWlvW1ha2UgYXBwY2xlYW7kuIDkuIsNCisgICANCisgICDlj6rop6PlhrPlupPnvJbor5HplJnor6/vvIzlj6/ku6VtYWtlIHp0ZV9saWI9bGliZGVtbyBsaWLmlrnlvI/vvIzov5nmoLflj6rnvJbor5FsaWJkZW1v5bqU55SoDQorICAgbWFrZSB6dGVfbGliPWxpYmRlbW8gbGliY2xlYW7lj6rmuIXnqbpsaWJkZW1v55qE57yW6K+RDQorDQorNOOAgW5vcm1hbOeJiOacrOS4i++8jOS/ruaUueS6hmFwcOS7o+egge+8jG1ha2UgYXBwIG5vcm1hbF9yb290ZnMgbm9ybWFsX2NvcHliaW7vvIzmiJbogIXlj6/ku6XnlKhtYWtlIG5vcm1hbDINCisgICBhcF91c2VyZGF0YS5pbWfkuLrmoLnmlofku7bns7vnu58s5ZyocHJvamVjdC9DSElQX05BTUUvcHJqX21kbC9iaW7nm67lvZUNCisgICANCisgICDlj6rop6PlhrPlupTnlKjnvJbor5HplJnor6/vvIzlj6/ku6VtYWtlIHp0ZV9hcHA9YXBwZGVtbyBhcHDmlrnlvI/vvIzov5nmoLflj6rnvJbor5FhcHBkZW1v5bqU55SoDQorICAgbWFrZSB6dGVfYXBwPWFwcGRlbW8gYXBwY2xlYW7lj6rmuIXnqbphcHBkZW1v5bqU55So55qE57yW6K+RDQorDQorNeOAgeWinuWKoOW6lOeUqOWSjOW6k+e8luivkQ0KK+W6lOeUqOWSjOW6k+eahE1ha2VmaWxl6KaB5YyF5ZCrQ09NTU9OX0JBU0VfTUvmiJZDT01NT05fTUvvvIzlj4LnnIthcHDlkoxsaWLnm67lvZXnmoRkZW1v5a6e5L6L44CCDQorQ09NTU9OX01L5q+UQ09NTU9OX0JBU0VfTUvlpJrkuobkuIDkupvlro/lrprkuYnvvIzlpoLmnpzkuI3pnIDopoEs5YyF5ZCrQ09NTU9OX0JBU0VfTUvljbPlj6/jgIINCis1LjEg57uP6L+HY29uZmlndXJl55Sf5oiQTWFrZWZpbGXnmoTlvIDmupDlupTnlKjlkozlupPlu7rorq7ljIXlkKtDT01NT05fQkFTRV9NS++8jOWboOS4uuafkOS6m+W8gOa6kOW6lOeUqOWmguaenENGTEFHU+mHjOWMheWQq+Wuj+WumuS5ieS8muWvvOiHtGNvbmZpZ3VyZeWksei0peOAgg0KKzUuMiDlop7liqDlupTnlKjnvJbor5HvvIzlupTnlKjlkI3np7Dlop7liqDliLBhcC9hcHAvY29uZmlnX2FwcC5ta+mHjA0KKzUuMyDlop7liqDlupPnvJbor5HvvIzlupPlkI3np7Dlop7liqDliLBhcC9saWIvY29uZmlnX2xpYi5ta+mHjA0KZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvYnVpbGRfZW52X21pbmlfcmVhZG1lLnR4dCBiL2FwL2J1aWxkL3NjcmlwdHMvYnVpbGRfZW52X21pbmlfcmVhZG1lLnR4dApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jM2Q4MDY5Ci0tLSAvZGV2L251bGwKKysrIGIvYXAvYnVpbGQvc2NyaXB0cy9idWlsZF9lbnZfbWluaV9yZWFkbWUudHh0CkBAIC0wLDAgKzEsNTEgQEAKK2J1aWxkX2Vudl9taW5pICAgICAgICAgICAgIL3Fsb7Wxtf31+7QobHg0uvBtKOsv8nTw9PatdrI/be9v+K6zdOm08Ox4NLrDQorYnVpbGRfZW52X21pbmlfd2l0aF9rZXJuZWwgvcWxvtbG1/fX7tChseDS68G0o6y/ydPD09q12sj9t72/4qGi06bTw7Hg0uu6zcTaustrb8Sjv+m1xLHg0usNCisNCisNCivI57n7tObU2rXayP23vWtvt+K/4rXEx+m/9qOs1+66w7nYsdXE2rrLa2+w5rG+usW87LLpoaO38dTyxNq6y7T6wuvQ3rjE0OjSqrXayP23vWtv1tjQwrHg0uuhow0KK7nYsdW3vbeoo7oNCisNCisxKaGixNq6y2NvbmZpZy5saW51eMDvQ09ORklHX01PRFZFUlNJT05Tus1DT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxMILjEs8nPwsPmxeTWww0KKyMgQ09ORklHX01PRFZFUlNJT05TIGlzIG5vdCBzZXQNCisjIENPTkZJR19NT0RVTEVfU1JDVkVSU0lPTl9BTEwgaXMgbm90IHNldA0KKw0KKzKjqaGiudix1WNwa2+6zWxvYWRjcMG9uPZrb7XEbW9kcG9zdA0KK9PDz8LD5sP8we6y6dXSDQorY2F0IGFwL01ha2VmaWxlICB8IGdyZXAgLW4gTW9kdWxlLnN5bXZlcnMgfCBncmVwIG1vZHBvc3QNCivBvdDQvNMj16LKzbX0DQorICAgICMoY2QgJChMSU5VWF9ESVIpICYmIHNjcmlwdHMvbW9kL21vZHBvc3QgLW0gLWEgLW8gJChMSU5VWF9ESVIpL01vZHVsZS5zeW12ZXJzICAgICAgLWMgLXMgIHZtbGludXggZHJpdmVycy9jcGtvL2Nwa28ua28pDQorICAgICMoY2QgJChMSU5VWF9ESVIpICYmIHNjcmlwdHMvbW9kL21vZHBvc3QgLW0gLWEgLW8gJChMSU5VWF9ESVIpL01vZHVsZS5zeW12ZXJzICAgICAgLWMgLXMgIHZtbGludXggZHJpdmVycy9sb2FkY3AvbG9hZGNwLmtvKQ0KKw0KKw0KKw0KK7LZ1/fUy9DQsr3W6KO6DQorMaGitNNnaXQvc3Zuu/HIobjJvru1xLmks8y1vWNvZGXEv8K8oaNjb2RlxL/CvLD8uqxhcKGiY3ChomJ1aWxkoaJwdWKhonRvb2xztcjEv8K8DQorMqGi08PPwsPmw/zB7r2ruMm+u7XEYXCxuLfd0ru49mFwMqGjsbi33bXEyrG68mFwtcTEv8K80ru2qNKqysfDu9PQseDS67n9tcShow0KKw0KK2NkIGNvZGUNCityc3luYyAtYXEgLS1kZWxldGUgLS1leGNsdWRlPS5zdm4gLS1leGNsdWRlPS5naXQgICAuL2FwLyAgLi9hcDIvDQorDQorDQorM6Gi1sbX99fu0KGx4NLrwbQNCitjZCAgYXAvcHJvamVjdC96eDI5NzUyMHYzL3Byal9taWZpL2J1aWxkDQorbWFrZSBub3JtYWwNCitjZCAgY29kZQ0KKw0KKzEp1sbX99fu0KGx4NLrDQor1sbX92J1aWxkX2Vudl9taW5po6zU2mNvZGXEv8K81MvQ0A0KK2Jhc2ggYXAvYnVpbGQvc2NyaXB0cy9idWlsZF9lbnZfbWluaS9idWlsZF9lbnZfbWluaS5zaA0KKw0KKzIp1sbX97T4xNq6y7XE1+7QobHg0usNCivWxtf3YnVpbGRfZW52X21pbmlfd2l0aF9rZXJuZWyjrNTaY29kZcS/wrzUy9DQDQorYmFzaCBhcC9idWlsZC9zY3JpcHRzL2J1aWxkX2Vudl9taW5pX3dpdGhfa2VybmVsL2J1aWxkX2Vudl9taW5pLnNoDQorDQorNKGi1sbX93BvcHVsYXRlX3Nkaw0KK9DeuMRhcC9wcm9qZWN0L3p4Mjk3NTIwdjMvcHJqX21pZmkvY29uZmlnL25vcm1hbC9jb25maWdfbGliLm1ro6y2qNLlcG9wdWxhdGVfc2RrX2xpYrTysPy1vbHg0uvBtHN5c3Jvb3S1xGxpYr/iDQorcG9wdWxhdGVfc2RrX2xpYiA6PSBsaWJzcWxpdGUgbGliY3VybCBsaWJzc2wgZXhwYXQgZGJ1cyBnbGliDQorDQorY2QgYXAvcHJvamVjdC96eDI5NzUyMHYzL3Byal9taWZpL2J1aWxkDQorbWFrZSBub3JtYWwgcG9wdWxhdGVfc2RrDQorY2QgIGNvZGUNCitiYXNoIGFwL2J1aWxkL3NjcmlwdHMvYnVpbGRfZW52X21pbmkvYnVpbGRfZW52X21pbmkuc2gNCisNCisNCmRpZmYgLS1naXQgYS9hcC9idWlsZC9zY3JpcHRzL2J1aWxkX2Vudl9taW5pX3dpdGhfa2VybmVsL01ha2VmaWxlIGIvYXAvYnVpbGQvc2NyaXB0cy9idWlsZF9lbnZfbWluaV93aXRoX2tlcm5lbC9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lOGVmYjNhCi0tLSAvZGV2L251bGwKKysrIGIvYXAvYnVpbGQvc2NyaXB0cy9idWlsZF9lbnZfbWluaV93aXRoX2tlcm5lbC9NYWtlZmlsZQpAQCAtMCwwICsxLDE0NSBAQAorCitpbmNsdWRlICQoWlRFX1BTX0xJTktfU0NSSVBUKQorLWluY2x1ZGUgJChPVVRQVVRfRElSKS9zeXNfdHlwZS5taworCisuUEhPTlk6IGhlbHAgYWxsIGFsbGNsZWFuIGFwcCBhcHBjbGVhbiBsaWIgbGliY2xlYW4gY2hlY2sKKworaGVscDogY2hlY2sKKwlAZWNobyAiPT09PT09PT09PT09PT09PT09PT09PT09PU1ha2UgaGVscCBzdGFydD09PT09PT09PT09PT09PT09PT09PT09PT0iCisJQGVjaG8gIm1ha2UgW2hlbHBdICAgICAgICAgICB0aGlzIGhlbHAiCisJQGVjaG8gIm1ha2UgYWxsW2NsZWFuXSAgICAgICBjb21waWxlIGFsbCwgaW5jbHVkZSByZWNvdmVyeSBhbmQgbm9ybWFsIHN5c3RlbSIKKwlAZWNobyAibWFrZSBub3JtYWxbY2xlYW5dICAgIGNvbXBpbGUgbm9ybWFsIHN5c3RlbSxpbmNsdWRlIGtlcm5lbCB1Q2xpYmMgbGliIGFuZCBhcHAiCisJQGVjaG8gIm1ha2Ugbm9ybWFsMiAgICAgICAgICBjb250aW51ZSB0byBjb21waWxlIG5vcm1hbCBzeXN0ZW0iCisJQGVjaG8gIm1ha2Ugbm9ybWFsX3Jvb3RmcyAgICBtYWtlIHJvb3RmcyBmb3Igbm9ybWFsIHN5c3RlbSIKKwlAZWNobyAibWFrZSBub3JtYWxfY29weWJpbiAgIGNvcHkgYmlucyB0byBwcm9qZWN0IGZvciBub3JtYWwgc3lzdGVtIgorCUBlY2hvICJtYWtlIHJvb3RmcyAgICAgICAgICAgbWFrZSByb290ZnMgZm9yIG5vcm1hbCBvciByZWNvdmVyeSBhdXRvbWF0aWNhbGx5IGJhc2VkIG9uIGNvbmZpZyIKKwlAZWNobyAibWFrZSBjb3B5YmluICAgICAgICAgIGNvcHkgYmlucyB0byBwcm9qZWN0IGZvciBub3JtYWwgb3IgcmVjb3ZlcnkgYXV0b21hdGljYWxseSBiYXNlZCBvbiBjb25maWciCisJQGVjaG8gIm1ha2UgbGliW2NsZWFuXSAgICAgICBjb21waWxlIGxpYiIKKwlAZWNobyAibWFrZSBhcHBbY2xlYW5dICAgICAgIGNvbXBpbGUgYXBwIgorCUBlY2hvICI9PT09PT09PT09PT09PT09PT09PT09PT09TWFrZSBoZWxwIGVuZD09PT09PT09PT09PT09PT09PT09PT09PT0iCisKK2NoZWNrOgoraWZlcSAoJChQUkpfTkFNRSksKQorCSQoZXJyb3IgT05MWSBleGVjdXRlIHRoZSBtYWtlIGNvbW1hbmQgaW4gdGhlIHByb2plY3QvQ0hJUF9OQU1FL3Byal94eHgvYnVpbGQgZGlyZWN0b3J5KQorZW5kaWYKKwliYXNoICQoQlVJTERfRElSKS9lbnZfY2hlY2suc2gKKworbm9ybWFsX2NoZWNrOgoraWZuZXEgKCQoQVBfQlVJTERfVFlQRSksbm9ybWFsKQorCSQoZXJyb3IgY3VycmVudCBjb25maWcgaXMgbm90IG5vcm1hbCxtYWtlIG5vcm1hbCBmaXJzdCkKK2VuZGlmCisKK2FsbDoKKwltYWtlIEFQX0JVSUxEX1RZUEU9bm9ybWFsIG5vcm1hbAorCithbGxjbGVhbjogbm9ybWFsY2xlYW4KKworc3lzOiBjaGVjaworCW1ha2UgbGliCisJbWFrZSBhcHAKKwlAZWNobyAiYWxsIG1vZHVsZXMgYnVpbGQgZG9uZSIKKworc3lzY2xlYW46IGNoZWNrCisJbWFrZSBsaWJjbGVhbgorCW1ha2UgYXBwY2xlYW4KKwktQHJtIC1mciAkKE9VVFBVVF9ESVIpCisJQGVjaG8gImFsbCBtb2R1bGVzIGNsZWFuIGRvbmUiCisKK2tlcm5lbDoKKwktcm0gLXYgICQoTElOVVhfRElSKS9hcmNoL2FybS9ib290LypJbWFnZQorCS1ybSAtdiAgJChMSU5VWF9ESVIpL3ZtbGludXgqCisJI21ha2UgLWoxIEFSQ0g9YXJtIEtCVUlMRF9WRVJCT1NFPTEgQ1JPU1NfQ09NUElMRT0kKENST1NTX0NPTVBJTEUpIC1DICQoTElOVVhfRElSKSBhbGwKKwkjbWFrZSAtajEgQVJDSD1hcm0gQ1JPU1NfQ09NUElMRT0kKENST1NTX0NPTVBJTEUpIC1DICQoTElOVVhfRElSKSBhbGwKKwltYWtlIC1qMSBBUkNIPWFybSBDUk9TU19DT01QSUxFPSQoQ1JPU1NfQ09NUElMRSkgLUMgJChMSU5VWF9ESVIpIHByZXBhcmUKKwltYWtlIC1qMSBBUkNIPWFybSBDUk9TU19DT01QSUxFPSQoQ1JPU1NfQ09NUElMRSkgLUMgJChMSU5VWF9ESVIpIHNjcmlwdHMKKwora2VybmVsX21lbnVjb25maWc6CisJbWFrZSBBUkNIPWFybSAtQyAkKExJTlVYX0RJUikgbWVudWNvbmZpZworCitrZXJuZWxfbW9kOgorCW1ha2UgQVJDSD1hcm0gLUMgJChMSU5VWF9ESVIpIE09ZnMveWFmZnMyIG1vZHVsZXMKKwora2VybmVsX21vZF9jbGVhbjoKKwltYWtlIEFSQ0g9YXJtIC1DICQoTElOVVhfRElSKSBNPWZzL3lhZmZzMiBjbGVhbgorCithcHA6CisJbWtkaXIgLXAgJChST09URlNfRElSKS9iaW4gJChST09URlNfRElSKS9zYmluICQoUk9PVEZTX0RJUikvbGliICQoUk9PVEZTX0RJUikvcmVjb3ZlcnkvYmluCisJbWFrZSAtQyBhcHAKKworYXBwY2xlYW46CisJbWFrZSAtQyBhcHAgY2xlYW4KKworbGliOgorCW1rZGlyIC1wICQoUk9PVEZTX0RJUikvYmluICQoUk9PVEZTX0RJUikvc2JpbiAkKFJPT1RGU19ESVIpL2xpYiAkKFJPT1RGU19ESVIpL3JlY292ZXJ5L2JpbgorCW1ha2UgLUMgbGliCisKK2xpYmNsZWFuOgorCW1ha2UgLUMgbGliIGNsZWFuCisKK25vcm1hbF9jb25mOgorCUBjcCAtdiAkKFBSSl9DT05GX0RJUikvbm9ybWFsL2NvbmZpZy5saW51eCAkKExJTlVYX0RJUikvYXJjaC9hcm0vY29uZmlncy96dGVfZGVmY29uZmlnCisJbWFrZSBBUkNIPWFybSBDUk9TU19DT01QSUxFPSQoQ1JPU1NfQ09NUElMRSkgLUMgJChMSU5VWF9ESVIpIHp0ZV9kZWZjb25maWcKKwlta2RpciAtcCAkKE9VVFBVVF9ESVIpCisJbWtkaXIgLXAgJChJTUFHRV9ESVIpCisJZWNobyAiQVBfQlVJTERfVFlQRSA9IG5vcm1hbCIgPiAkKE9VVFBVVF9ESVIpL3N5c190eXBlLm1rCisJZWNobyAiQVBfQlVJTERfUFJKID0gJChQUkpfTkFNRSkiID4+ICQoT1VUUFVUX0RJUikvc3lzX3R5cGUubWsKKworbm9ybWFsOgorCW1ha2UgQVBfQlVJTERfVFlQRT1ub3JtYWwgc3lzY2xlYW4KKwltYWtlIEFQX0JVSUxEX1RZUEU9bm9ybWFsIG5vcm1hbF9jb25mCisJbWFrZSBBUF9CVUlMRF9UWVBFPW5vcm1hbCBzeXMKKwltYWtlIEFQX0JVSUxEX1RZUEU9bm9ybWFsIG5vcm1hbF9yb290ZnMKKwltYWtlIEFQX0JVSUxEX1RZUEU9bm9ybWFsIG5vcm1hbF9jb3B5YmluCisKK25vcm1hbDI6IHN5cyBub3JtYWxfcm9vdGZzIG5vcm1hbF9jb3B5YmluCisKK25vcm1hbGNsZWFuOgorCS1tYWtlIEFQX0JVSUxEX1RZUEU9bm9ybWFsIHN5c2NsZWFuCisJbWFrZSBub3JtYWxfY29uZgorCW1ha2UgQVBfQlVJTERfVFlQRT1ub3JtYWwgc3lzY2xlYW4KKworcm9vdGZzOgorCW1ha2Ugbm9ybWFsX3Jvb3RmcworCitjb3B5YmluOgorCisJbWFrZSBub3JtYWxfY29weWJpbgorCitub3JtYWxfcm9vdGZzOiBub3JtYWxfY2hlY2sKKwlta2RpciAtcCAkKFBSSl9CSU5fRElSKS9hbGxiaW5zICQoUFJKX0JJTl9ESVIpL2VsZnMKKwlybSAtZnIgJChST09URlNfRElSKS9ldGNfcncKKwljcCAtYWZ2cCAkKFBSSl9QUk9EVUNUX0RJUikvZnMvbm9ybWFsL3Jvb3Rmcy8qICAkKFJPT1RGU19ESVIpLworCSNjcCAtdiAkKFBSSl9CSU5fRElSKS9hbGxiaW5zL2FwX3VzZXJkYXRhLmltZyAgJChST09URlNfRElSKS9ldGNfcm8vCisJY2htb2QgLVIgYStyICQoUk9PVEZTX0RJUikvZXRjX3JvCisJI2ZpbmQgJChST09URlNfRElSKS9iaW4gLXR5cGUgZiB8IHhhcmdzIGNobW9kIGEreAorCSMtZmluZCAkKFJPT1RGU19ESVIpL3NiaW4gLXR5cGUgZiB8IHhhcmdzIGNobW9kIGEreAorCWNobW9kIGEreCAkKFJPT1RGU19ESVIpL2V0Yy9yYworCSNAY2QgJChCVUlMRF9ESVIpOyBiYXNoIC4vaW5zdGFsbF9saWJjLnNoICQoUk9PVEZTX0RJUikKKwlmaW5kICQoUk9PVEZTX0RJUikvIC10eXBlIGQgLW5hbWUgJy5naXRrZWVwJyAtcHJpbnQwIHwgeGFyZ3MgLTAgcm0gLWZyCisJZmluZCAkKFJPT1RGU19ESVIpLyAtdHlwZSBkIC1uYW1lICcuZ2l0JyAtcHJpbnQwIHwgeGFyZ3MgLTAgcm0gLWZyCisJZmluZCAkKFJPT1RGU19ESVIpLyAtbmFtZSAnLmdpdGlnbm9yZScgLXByaW50MCB8IHhhcmdzIC0wIHJtIC1mcgorCitpZmVxICgkKFJPT1RfRlNfVFlQRSksdWJpZnMpCisJYmFzaCAkKEJVSUxEX0RJUikvdWJpZnMuc2ggcm9vdGZzICQoUk9PVEZTX1NJWkUpICQoUk9PVEZTX0RJUikgJChJTUFHRV9ESVIpL3Jvb3Rmcy5pbWcKK2Vsc2UKK2lmZXEgKCQoUk9PVF9GU19UWVBFKSxqZmZzMikKK2lmZXEgKCQoUFJKX0lTX01JTikseWVzKQorCWJhc2ggJChCVUlMRF9ESVIpL2pmZnMyX2x6bWEuc2ggJChST09URlNfRElSKSAkKElNQUdFX0RJUikvcm9vdGZzLmltZyBsem1hCitlbHNlCisJYmFzaCAkKEJVSUxEX0RJUikvamZmczJfbHptYS5zaCAkKFJPT1RGU19ESVIpICQoSU1BR0VfRElSKS9yb290ZnMuaW1nIGx6bworZW5kaWYKK2VuZGlmCitlbmRpZgorCisJKGNkICQoUk9PVEZTX0RJUikgJiYgZmluZCAuIC10eXBlIGYgLXByaW50ZiAnIi8lUCIgUmVndWxhciAxNCAlMDRtOiU0VTolNEdcbicgPiAgLi4vcm9vdGZzX2F0dHIudHh0KQorCShjZCAkKFJPT1RGU19ESVIpICYmIGZpbmQgLiAtdHlwZSBsIC1wcmludGYgJyIvJVAiIFN5bUxpbmsgMTQgJTA0bTolNFU6JTRHXG4nID4+IC4uL3Jvb3Rmc19hdHRyLnR4dCkKKwkoY2QgJChST09URlNfRElSKSAmJiBmaW5kIC4gLXR5cGUgZCAtcHJpbnRmICciLyVQIiBSZWd1bGFyIDE0ICUwNG06JTRVOiU0R1xuJyA+PiAuLi9yb290ZnNfYXR0ci50eHQpCisJKGNkICQoUk9PVEZTX0RJUikvLi4vICYmIHRhciAtemN2ZiAkKFBSSl9CSU5fRElSKS9hbGxiaW5zL3Jvb3Rmcy50Z3ogcm9vdGZzIHJvb3Rmc19hdHRyLnR4dCkKKwlAcm0gJChST09URlNfRElSKS8uLi9yb290ZnNfYXR0ci50eHQKKworbm9ybWFsX2NvcHliaW46IG5vcm1hbF9jaGVjaworCW1rZGlyIC1wICQoUFJKX0JJTl9ESVIpL2FsbGJpbnMgJChQUkpfQklOX0RJUikvZWxmcy9ub3JtYWxlbGZzCisJY3AgLXYgJChJTUFHRV9ESVIpL3Jvb3Rmcy5pbWcgJChQUkpfQklOX0RJUikvYWxsYmlucy9hcF9yb290ZnMuaW1nCisJZmluZCAgICQoQVBQX0RJUikvICAtbmFtZSAqLmVsZiAgLWV4ZWMgY3Age30gJChQUkpfQklOX0RJUikvZWxmcy9ub3JtYWxlbGZzIFw7CisJZmluZCAgICQoTElCX0RJUikvICAtdHlwZSBmIC1uYW1lICJsaWIqLnNvIiAgLWV4ZWMgY3Age30gJChQUkpfQklOX0RJUikvZWxmcy9ub3JtYWxlbGZzIFw7CisJZmluZCAgICQoU1RBR0VESVIpL3VDbGliYy9saWIgICAgLXR5cGUgZiAtbmFtZSAiKi5zbyIgIC1leGVjIGNwIHt9ICQoUFJKX0JJTl9ESVIpL2VsZnMvbm9ybWFsZWxmcyBcOwpkaWZmIC0tZ2l0IGEvYXAvYnVpbGQvc2NyaXB0cy9idWlsZF9lbnZfbWluaV93aXRoX2tlcm5lbC9idWlsZF9lbnZfbWluaS5zaCBiL2FwL2J1aWxkL3NjcmlwdHMvYnVpbGRfZW52X21pbmlfd2l0aF9rZXJuZWwvYnVpbGRfZW52X21pbmkuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWU2MjI3OQotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvYnVpbGRfZW52X21pbmlfd2l0aF9rZXJuZWwvYnVpbGRfZW52X21pbmkuc2gKQEAgLTAsMCArMSwxMDcgQEAKKyMhL2Jpbi9iYXNoCisKK0NST1NTX0RJUj12M3RfYnVpbGRfZW52X21pbmlfd2l0aF9rZXJuZWwKKworTElCX1NFVD0ibGliZGVtbyB6bGliIgorQVBQX1NFVD0iYXBwZGVtbyIKK1BSSl9OQU1FPXByal9tZGwKKworUlNZTkNfT1BUPSJyc3luYyAtYXEgLS1kZWxldGUgLS1leGNsdWRlPS5zdm4gLS1leGNsdWRlPS5naXQiCisKKworY2F0IGFwL01ha2VmaWxlICB8IGdyZXAgLW4gTW9kdWxlLnN5bXZlcnMgfCBncmVwIG1vZHBvc3QgfCBncmVwIC12ICIjIgoraWYgWyAkPyAtbmUgMSBdOyB0aGVuCisgIGVjaG8gIltFUlJPUl1wbGVhc2UgY29tbWVudCBtb2Rwb3N0IGluIGFwL01ha2VmaWxlIgorICBleGl0IC0xCitlbHNlCisgIGVjaG8gImFwL01ha2VmaWxlIG1vZGUgcG9zdCBjaGVjayBvayIKK2ZpCitjYXQgYXAvb3MvbGludXgvbGludXgtMy40LngvLmNvbmZpZyB8IGdyZXAgIiMgQ09ORklHX01PRFZFUlNJT05TIGlzIG5vdCBzZXQiCitpZiBbICQ/IC1uZSAwIF07IHRoZW4KKyAgZWNobyAiW0VSUk9SXXBsZWFzZSBzZXQgI0NPTkZJR19NT0RWRVJTSU9OUyBpcyBub3Qgc2V0IGluIGNvbmZpZy5saW51eCIKKyAgZXhpdCAtMQorZWxzZQorICBlY2hvICJDT05GSUdfTU9EVkVSU0lPTlMgY2hlY2sgb2siCitmaQorY2F0IGFwL29zL2xpbnV4L2xpbnV4LTMuNC54Ly5jb25maWcgfCBncmVwICIjIENPTkZJR19NT0RVTEVfU1JDVkVSU0lPTl9BTEwgaXMgbm90IHNldCIKK2lmIFsgJD8gLW5lIDAgXTsgdGhlbgorICBlY2hvICJbRVJST1JdcGxlYXNlIHNldCAjQ09ORklHX01PRFVMRV9TUkNWRVJTSU9OX0FMTCBpcyBub3Qgc2V0IGluIGNvbmZpZy5saW51eCIKKyAgZXhpdCAtMQorZWxzZQorICBlY2hvICJDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxMIGNoZWNrIG9rIgorZmkKKworcm0gLWZyICRDUk9TU19ESVIKK3JtIC1mdiAkQ1JPU1NfRElSLnRhci5negorbWtkaXIgLXAgJENST1NTX0RJUgorCisjseDS68G0Citta2RpciAtcCAkQ1JPU1NfRElSL2J1aWxkL2NvbXBpbGVyL2djYy00LjkuNF90aHVtYl9saW51eC8KKyRSU1lOQ19PUFQgIC4vYnVpbGQvY29tcGlsZXIvZ2NjLTQuOS40X3RodW1iX2xpbnV4LyAgJENST1NTX0RJUi9idWlsZC9jb21waWxlci9nY2MtNC45LjRfdGh1bWJfbGludXgvCisKKyNsaWJjCitta2RpciAtcCAkQ1JPU1NfRElSL2FwL3N0YWdpbmcvCiskUlNZTkNfT1BUICAuL2FwL3N0YWdpbmcvICAkQ1JPU1NfRElSL2FwL3N0YWdpbmcvCisKKyNhcC9idWlsZAorbWtkaXIgLXAgJENST1NTX0RJUi9hcC9idWlsZC8KKyRSU1lOQ19PUFQgIC4vYXAyL2J1aWxkLyAgICRDUk9TU19ESVIvYXAvYnVpbGQvCisKKyNwcmoKK21rZGlyIC1wICRDUk9TU19ESVIvYXAvcHJvamVjdC96eDI5NzUyMHYzLyRQUkpfTkFNRQorJFJTWU5DX09QVCAgLi9hcDIvcHJvamVjdC96eDI5NzUyMHYzLyRQUkpfTkFNRS8gJENST1NTX0RJUi9hcC9wcm9qZWN0L3p4Mjk3NTIwdjMvJFBSSl9OQU1FLworY3AgLXYgLi9hcDIvcHJvamVjdC9wdWJjb25mLm1rICAgJENST1NTX0RJUi9hcC9wcm9qZWN0LworY3AgLXYgLi9hcDIvcHJvamVjdC96eDI5NzUyMHYzL2NoaXBfcHViY29uZi5tayAgJENST1NTX0RJUi9hcC9wcm9qZWN0L3p4Mjk3NTIwdjMvCisKKyNkZW1vIGxpYgorbWtkaXIgLXAgJENST1NTX0RJUi9hcC9saWIvCitmb3IgaXRlbSBpbiAkTElCX1NFVDtkbworICBta2RpciAtcCAkQ1JPU1NfRElSL2FwL2xpYi8kaXRlbS8KKyAgJFJTWU5DX09QVCAgLi9hcDIvbGliLyRpdGVtLyAkQ1JPU1NfRElSL2FwL2xpYi8kaXRlbS8KK2RvbmUKK2NwIC12IC4vYXAyL2xpYi9NYWtlZmlsZSAkQ1JPU1NfRElSL2FwL2xpYi8KKworI2RlbW8gYXBwCitta2RpciAtcCAkQ1JPU1NfRElSL2FwL2FwcC8KK2ZvciBpdGVtIGluICRBUFBfU0VUO2RvCisgIG1rZGlyIC1wICRDUk9TU19ESVIvYXAvYXBwLyRpdGVtLworICAkUlNZTkNfT1BUICAuL2FwMi9hcHAvJGl0ZW0vICRDUk9TU19ESVIvYXAvYXBwLyRpdGVtLworZG9uZQorY3AgLXYgLi9hcDIvYXBwL01ha2VmaWxlICRDUk9TU19ESVIvYXAvYXBwLworI21rZGlyIC1wICRDUk9TU19ESVIvYXAvYXBwL2luY2x1ZGUvCisjJFJTWU5DX09QVCAgLi9hcC9hcHAvaW5jbHVkZS8gICRDUk9TU19ESVIvYXAvYXBwL2luY2x1ZGUvCisKKyNsaW51eCBrZXJuZWwKK2VjaG8gInN5bmMgbGludXgga2VybmVsIgorbWtkaXIgLXAgJENST1NTX0RJUi9hcC9vcy8KKyRSU1lOQ19PUFQgIC4vYXAyL29zLyAgICRDUk9TU19ESVIvYXAvb3MvCitjcCAtdiAgYXAvb3MvbGludXgvbGludXgtMy40LngvTW9kdWxlLnN5bXZlcnMgICAkQ1JPU1NfRElSL2FwL29zL2xpbnV4L2xpbnV4LTMuNC54LworCisjcHViIGZvciBrZXJuZWwKK3JtIC12ICRDUk9TU19ESVIvYXAvb3MvbGludXgvbGludXgtMy40LngvYXJjaC9hcm0vbWFjaC16eDI5NzUyMHYzL2luY2x1ZGUvbWFjaC9yYW1fYmFzZV9jb25maWdfNzUyMHYzLmgKK2NwIC12IHB1Yi9wcm9qZWN0L3p4Mjk3NTIwdjMvaW5jbHVkZS9pbmZyYS9yYW1fYmFzZV9jb25maWdfNzUyMHYzLmggJENST1NTX0RJUi9hcC9vcy9saW51eC9saW51eC0zLjQueC9hcmNoL2FybS9tYWNoLXp4Mjk3NTIwdjMvaW5jbHVkZS9tYWNoLworCitybSAgLWZyICRDUk9TU19ESVIvYXAvcHJvamVjdC96eDI5NzUyMHYzLyRQUkpfTkFNRS9jb25maWcvbm9ybWFsLyoKK2NwIC12IGFwL3Byb2plY3QvengyOTc1MjB2My8kUFJKX05BTUUvY29uZmlnL25vcm1hbC9jb25maWcubGludXggICRDUk9TU19ESVIvYXAvcHJvamVjdC96eDI5NzUyMHYzLyRQUkpfTkFNRS9jb25maWcvbm9ybWFsLworZWNobyAienRlX2xpYiA6PSAkTElCX1NFVCIgPiAkQ1JPU1NfRElSL2FwL3Byb2plY3QvengyOTc1MjB2My8kUFJKX05BTUUvY29uZmlnL25vcm1hbC9jb25maWdfbGliLm1rCitlY2hvICJ6dGVfYXBwIDo9ICRBUFBfU0VUIiA+ICRDUk9TU19ESVIvYXAvcHJvamVjdC96eDI5NzUyMHYzLyRQUkpfTkFNRS9jb25maWcvbm9ybWFsL2NvbmZpZ19hcHAubWsKK2NwIC12ICRDUk9TU19ESVIvYXAvcHJvamVjdC96eDI5NzUyMHYzLyRQUkpfTkFNRS9jb25maWcvbm9ybWFsL2NvbmZpZ19saWIubWsgICRDUk9TU19ESVIvYXAvbGliLworY3AgLXYgJENST1NTX0RJUi9hcC9wcm9qZWN0L3p4Mjk3NTIwdjMvJFBSSl9OQU1FL2NvbmZpZy9ub3JtYWwvY29uZmlnX2FwcC5tayAgJENST1NTX0RJUi9hcC9hcHAvCisKKworY3AgLXYgLi9hcC9idWlsZC9zY3JpcHRzL2J1aWxkX2Vudl9taW5pX3dpdGhfa2VybmVsL01ha2VmaWxlICAkQ1JPU1NfRElSL2FwLworY3AgLXYgLi9hcC9idWlsZC9zY3JpcHRzL2J1aWxkX2Vudl9taW5pX3dpdGhfa2VybmVsL3JlYWRtZS50eHQgICRDUk9TU19ESVIvCisKKyNjbGVhbiAKK3JtIC1mciAkQ1JPU1NfRElSL2FwL3Byb2plY3QvengyOTc1MjB2My8kUFJKX05BTUUvZnMvbm9ybWFsL3Jvb3Rmcy8qCitta2RpciAtcCAkQ1JPU1NfRElSL2FwL3Byb2plY3QvengyOTc1MjB2My8kUFJKX05BTUUvZnMvbm9ybWFsL3Jvb3Rmcy9ldGMKK21rZGlyIC1wICRDUk9TU19ESVIvYXAvcHJvamVjdC96eDI5NzUyMHYzLyRQUkpfTkFNRS9mcy9ub3JtYWwvcm9vdGZzL2V0Y19ybwordG91Y2ggJENST1NTX0RJUi9hcC9wcm9qZWN0L3p4Mjk3NTIwdjMvJFBSSl9OQU1FL2ZzL25vcm1hbC9yb290ZnMvZXRjL3JjCitybSAtZnIgJENST1NTX0RJUi9hcC9wcm9qZWN0L3p4Mjk3NTIwdjMvJFBSSl9OQU1FL2ZzL3JlY292ZXJ5CitybSAtZnIgJENST1NTX0RJUi9hcC9wcm9qZWN0L3p4Mjk3NTIwdjMvJFBSSl9OQU1FL2NvbmZpZy9yZWNvdmVyeQorcm0gLWZyICRDUk9TU19ESVIvYXAvYnVpbGQvc2NyaXB0cworcm0gLWZyICRDUk9TU19ESVIvYXAvYnVpbGQvdUNsaWJjCisKK2VjaG8gImNvbXByZXNzIGZpbGVzIHRvICR7Q1JPU1NfRElSfS50YXIuZ3oiCit0YXIgLWN6ZiAgJHtDUk9TU19ESVJ9LnRhci5neiAgJENST1NTX0RJUi8KK2VjaG8gImFsbCBkb25lIgpkaWZmIC0tZ2l0IGEvYXAvYnVpbGQvc2NyaXB0cy9idWlsZF9lbnZfbWluaV93aXRoX2tlcm5lbC9yZWFkbWUudHh0IGIvYXAvYnVpbGQvc2NyaXB0cy9idWlsZF9lbnZfbWluaV93aXRoX2tlcm5lbC9yZWFkbWUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmI0MGJhODIKLS0tIC9kZXYvbnVsbAorKysgYi9hcC9idWlsZC9zY3JpcHRzL2J1aWxkX2Vudl9taW5pX3dpdGhfa2VybmVsL3JlYWRtZS50eHQKQEAgLTAsMCArMSw0MCBAQAor77u/6L+Q6KGM5bmz5Y+w6KaB5rGCeDg2XzY0IExpbnV477yM5bu66K6udWJ1bnR1IDEyLjA044CBdWJ1bnR1IDE0LjA044CBdWJ1bnR1IDE2LjA077yM5YW25LuWTGludXjlubPlj7DmnKrmtYvor5XvvIznkIborrrkuIrlhbbku5Y2NOS9jUxpbnV4546v5aKD5Lmf5Y+v5Lul44CCDQor5pys57yW6K+R546v5aKD5peg6ZyA5a6J6KOF77yM6Kej5Y6L5Y2z5Y+v5L2/55So44CCDQorDQor5aaC5p6c5LiN5L2/55So5pys57yW6K+R5qGG5p6277yM55u05o6l5L2/55So57yW6K+R6ZO+77yM5Y+C6ICDYXAvYnVpbGQvYnVpbGQuc2jph4xDQ+OAgUFS562J5a6a5LmJ77yMQ0ZMQUdT5ZKMTERGTEFHU+etieW7uuiuruWPguaVsOWumuS5ieWcqGFwL2J1aWxkL2Jhc2UubWvjgIINCivlpoLmnpzova/ku7bkuqTlj4nnvJbor5Fjb25maWd1cmXpnIDopoHmjIflrpotLWhvc3TlkowtLXRhcmdldO+8jOWPr+S7pemFjee9ruaIkC0taG9zdD1hcm0tbGludXggLS10YXJnZXQ9YXJtLWxpbnV477yM5Y+C6KeBYXAvYnVpbGQvYmFzZS5ta+OAgg0KKw0KK+WmguaenOS9v+eUqOacrOe8luivkeeOr+Wig+e8luivkeahhuaetu+8jOS7pXByal9tZGzkuLrkvovvvIzlj6rog73lnKhwcm9qZWN0L0NISVBfTkFNRS9wcmpfbWRsL2J1aWxk55uu5b2V6L+Q6KGMbWFrZeWRveS7pOOAgg0KKzHjgIHlrozmlbTnvJbor5HvvJptYWtlIGFsbCwg5rOo5oSP5pys57yW6K+R6ZO+5Y+q5pyJbm9ybWFs54mI5pysLG1ha2Ugbm9ybWFs562J5ZCMbWFrZSBhbGzjgIJtYWtlIGhlbHDlj6/ku6Xojrflvpfmm7TlpJrkv6Hmga/jgIINCisNCisy44CB5aKe6YeP57yW6K+R5ZG95LukDQorICAgbm9ybWFs54mI5pys57yW6K+R77yabWFrZSBub3JtYWzvvIznvJbor5HlrozmiJDmiZPljIXnmoTmlofku7bns7vnu5/mmKDlg49hcF91c2VyZGF0YS5pbWflnKhwcm9qZWN0L0NISVBfTkFNRS9wcmpfbWRsL2JpbuebruW9lQ0KKyAgIOWmguaenOe8luivkeaKpemUme+8jOS7o+eggeS/ruaUueWQjuWinumHj+e8luivke+8mm1ha2Ugbm9ybWFsMg0KKw0KKzPjgIFub3JtYWzniYjmnKzkuIvvvIzkv67mlLnkuoZsaWLku6PnoIHvvIxtYWtlIGxpYiBhcHAgbm9ybWFsX3Jvb3RmcyBub3JtYWxfY29weWJpbu+8jOaIluiAheWPr+S7peeUqG1ha2Ugbm9ybWFsMg0KKyAgIGFwX3VzZXJkYXRhLmltZ+S4uuagueaWh+S7tuezu+e7nyzlnKhwcm9qZWN0L0NISVBfTkFNRS9wcmpfbWRsL2JpbuebruW9lQ0KKyAgIOWmguaenGFwcOeUqOS6hmxpYueahOmdmeaAgeW6k++8jGFwcOeahE1ha2VmaWxl5Y+R546w5LiN5LqG5L6d6LWW77yM5omA5Lul5pyA5aW9bWFrZSBhcHBjbGVhbuS4gOS4iw0KKyAgIA0KKyAgIOWPquino+WGs+W6k+e8luivkemUmeivr++8jOWPr+S7pW1ha2UgenRlX2xpYj1saWJkZW1vIGxpYuaWueW8j++8jOi/meagt+WPque8luivkWxpYmRlbW/lupTnlKgNCisgICBtYWtlIHp0ZV9saWI9bGliZGVtbyBsaWJjbGVhbuWPqua4heepumxpYmRlbW/nmoTnvJbor5ENCisNCis044CBbm9ybWFs54mI5pys5LiL77yM5L+u5pS55LqGYXBw5Luj56CB77yMbWFrZSBhcHAgbm9ybWFsX3Jvb3RmcyBub3JtYWxfY29weWJpbu+8jOaIluiAheWPr+S7peeUqG1ha2Ugbm9ybWFsMg0KKyAgIGFwX3VzZXJkYXRhLmltZ+S4uuagueaWh+S7tuezu+e7nyzlnKhwcm9qZWN0L0NISVBfTkFNRS9wcmpfbWRsL2JpbuebruW9lQ0KKyAgIA0KKyAgIOWPquino+WGs+W6lOeUqOe8luivkemUmeivr++8jOWPr+S7pW1ha2UgenRlX2FwcD1hcHBkZW1vIGFwcOaWueW8j++8jOi/meagt+WPque8luivkWFwcGRlbW/lupTnlKgNCisgICBtYWtlIHp0ZV9hcHA9YXBwZGVtbyBhcHBjbGVhbuWPqua4heepumFwcGRlbW/lupTnlKjnmoTnvJbor5ENCisNCis144CB5aKe5Yqg5bqU55So5ZKM5bqT57yW6K+RDQor5bqU55So5ZKM5bqT55qETWFrZWZpbGXopoHljIXlkKtDT01NT05fQkFTRV9NS+aIlkNPTU1PTl9NS++8jOWPgueci2FwcOWSjGxpYuebruW9leeahGRlbW/lrp7kvovjgIINCitDT01NT05fTUvmr5RDT01NT05fQkFTRV9NS+WkmuS6huS4gOS6m+Wuj+WumuS5ie+8jOWmguaenOS4jemcgOimgSzljIXlkKtDT01NT05fQkFTRV9NS+WNs+WPr+OAgg0KKzUuMSDnu4/ov4djb25maWd1cmXnlJ/miJBNYWtlZmlsZeeahOW8gOa6kOW6lOeUqOWSjOW6k+W7uuiuruWMheWQq0NPTU1PTl9CQVNFX01L77yM5Zug5Li65p+Q5Lqb5byA5rqQ5bqU55So5aaC5p6cQ0ZMQUdT6YeM5YyF5ZCr5a6P5a6a5LmJ5Lya5a+86Ie0Y29uZmlndXJl5aSx6LSl44CCDQorNS4yIOWinuWKoOW6lOeUqOe8luivke+8jOW6lOeUqOWQjeensOWinuWKoOWIsGFwL2FwcC9jb25maWdfYXBwLm1r6YeMDQorNS4zIOWinuWKoOW6k+e8luivke+8jOW6k+WQjeensOWinuWKoOWIsGFwL2xpYi9jb25maWdfbGliLm1r6YeMDQorDQorNuOAgee8luivkeWGheaguGtvDQorICAgIDHvvInlhYjnlKhtYWtlIGFsbOaIluiAhW1ha2Ugbm9ybWFs5a6M5pW057yW6K+RDQorICAgIDIpIOWQiOWFpWtv5qih5Z2X5Luj56CB77yM6L+Q6KGMbWFrZSAga2VybmVsX21lbnVjb25maWfkvJrmiZPlvIDlhoXmoLjphY3nva7nqpflj6PvvIzlsIbor6XmqKHlnZfphY3nva7miJBNDQorICAgIDPvvInov5DooYxtYWtlIGtlcm5lbO+8jOi/meatpeS8mueUn+aIkOWGheaguOeahGF1dG9jb25m5aS05paH5Lu277yM5qih5Z2X57yW6K+R6ZyA6KaBDQorICAgIDTvvInkv67mlLlhcC9NYWtlZmlsZemHjGtlcm5lbF9tb2TlkoxrZXJuZWxfbW9kX2NsZWFu57yW6K+R55uu5qCH77yM5bCGTT1mcy95YWZmczLot6/lvoTmjaLmiJDopoHnvJbor5HnmoTmqKHlnZfot6/lvoTjgIINCisgICAgICAg6L+Q6KGMbWFrZSAga2VybmVsX21vZF9jbGVhbiAga2VybmVsX21vZOWNs+WPr+e8luivkeWHumtv5paH5Lu2DQorDQpkaWZmIC0tZ2l0IGEvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvNzUyMFYzX0REUl8xR2JfMzEyLmNtbSBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzLzc1MjBWM19ERFJfMUdiXzMxMi5jbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWMzYzE0MQotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzLzc1MjBWM19ERFJfMUdiXzMxMi5jbW0KQEAgLTAsMCArMSwzNCBAQAorYXJlYS5yZXNldA0KK3N5cy5jcHUgQ29ydGV4TTANCitzeXMuYmRtY2xvY2sgMy4wTUh6CQkJO2NvcnRleC1tMA0KK3N5cy5vIGVucmVzZXQgT0ZGDQorc3lzLnVwDQorDQord2FpdCAwLjJzIA0KK2RvIC4vc3lzL2Nsa19pbml0LmNtbQ0KK2RvIC4vc3lzL2Rkcl9pbml0XzMxMm0uY21tDQorDQorDQord2FpdCAwLjJzIA0KKy8vTTAgYWRkcmVzcyByZW1hcCBiaXQyMw0KK2RhdGEuc2V0IDB4MDAxNDAwMDAgJWxvbmcgMHgwMDg3MTAwMA0KKyANCisvL2NsZWFyIGlyYW0wDQorZGF0YS5zZXQgMHg4MjAwMDAwMC0tMHg4MjAxZmZmZiAweDANCit3YWl0IDAuMXMNCisvL3NldCBoZXJlIHRoZSBwcy1jcHUgdG8gMzJiaXQgbW9kZSx0aGlzIG11c3QgYmUgc2V0IGJlZm9yZSByZXNldCBwcy1jcHUgDQorO2RhdGEuc2V0IDB4MDAxNDAxRTAgJWxvbmcgMHgyMAkJLy9hcA0KKztkYXRhLnNldCAweDAwMTQwMUVDICVsb25nIDB4MjAJCS8vcHMJDQorDQorDQorLy8gUmVsZWFzZSBSNy9BOSByZXNldCBzaWduYWwNCis7ZGF0YS5zZXQgMHgwMTNiMTM4ICVsb25nIDB4MDAwMDAwMDEgLy8gUFMNCitkYXRhLnNldCAweDAwMTNiMTM0ICVsb25nIDB4MDAwMDAwMDEgLy8gQVANCisNCisvL2p0YWcwIHRvIHBzDQorO2RvIC4vc3lzL2p0YWdfc3dpdGNoX3NjcmlwdC5jbW0gMCAxDQorDQorLy9qdGFnMCB0byBhcA0KK2RvIC4vc3lzL2p0YWdfc3dpdGNoX3NjcmlwdC5jbW0gMCAzDQorDQorDQpkaWZmIC0tZ2l0IGEvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvYXRhZy1saXN0LmNtbSBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2F0YWctbGlzdC5jbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzMxZTk3NAotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2F0YWctbGlzdC5jbW0KQEAgLTAsMCArMSw2NiBAQAorOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorOyBTZXR1cCBwYXJhbWV0ZXIgdGFncyBmb3IgMjk3NTIwdjJmcGdhIExpbnV4IGJvb3QNCis7IGNyZWF0ZWQgYnkgWlRFLVRTUCBhdCAyMDE1LjA4LjA3DQorOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorDQorJnRhZ0FkZHI9MHgyMjMwMDEwMA0KKw0KKzsgQVRBR19DT1JFDQorZGF0YS5zZXQgJnRhZ0FkZHIgJUxPTkcgJUxFIDB4NQ0KKyZ0YWdBZGRyPSZ0YWdBZGRyKzB4NA0KK2RhdGEuc2V0ICZ0YWdBZGRyICVMT05HICVMRSAweDU0NDEwMDAxDQorJnRhZ0FkZHI9JnRhZ0FkZHIrMHg0DQorZGF0YS5zZXQgJnRhZ0FkZHIgJUxPTkcgJUxFIDB4MQ0KKyZ0YWdBZGRyPSZ0YWdBZGRyKzB4NA0KK2RhdGEuc2V0ICZ0YWdBZGRyICVMT05HICVMRSAweDEwMDANCismdGFnQWRkcj0mdGFnQWRkcisweDQNCitkYXRhLnNldCAmdGFnQWRkciAlTE9ORyAlTEUgMHgwDQorJnRhZ0FkZHI9JnRhZ0FkZHIrMHg0DQorDQorOyBBVEFHX01FTQ0KK2RhdGEuc2V0ICZ0YWdBZGRyICVMT05HICVMRSAweDQNCismdGFnQWRkcj0mdGFnQWRkcisweDQNCitkYXRhLnNldCAmdGFnQWRkciAlTE9ORyAlTEUgMHg1NDQxMDAwMg0KKyZ0YWdBZGRyPSZ0YWdBZGRyKzB4NA0KK2RhdGEuc2V0ICZ0YWdBZGRyICVMT05HICVMRSAweDMwMDAwMDAgIC8vIHNpemUgNDhNQg0KKyZ0YWdBZGRyPSZ0YWdBZGRyKzB4NA0KK2RhdGEuc2V0ICZ0YWdBZGRyICVMT05HICVMRSAweDIyMzAwMDAwICAvLyBzdGFydA0KKyZ0YWdBZGRyPSZ0YWdBZGRyKzB4NA0KKw0KKzsgQVRBR19JTklUUkQyDQorZGF0YS5zZXQgJnRhZ0FkZHIgJUxPTkcgJUxFIDB4NA0KKyZ0YWdBZGRyPSZ0YWdBZGRyKzB4NA0KK2RhdGEuc2V0ICZ0YWdBZGRyICVMT05HICVMRSAweDU0NDIwMDA1DQorJnRhZ0FkZHI9JnRhZ0FkZHIrMHg0DQorZGF0YS5zZXQgJnRhZ0FkZHIgJUxPTkcgJUxFIDB4MjJEMDAwMDAgLy8gc3RhcnQNCismdGFnQWRkcj0mdGFnQWRkcisweDQNCismaW5pdHJkX3NpemU9b3MuZmlsZS5zaXplKCZJTklUUkRfUEFUSCkNCitkYXRhLnNldCAmdGFnQWRkciAlTE9ORyAlTEUgJmluaXRyZF9zaXplIC8vIGZpbGUgc2l6ZSBpbiBieXRlcw0KKyZ0YWdBZGRyPSZ0YWdBZGRyKzB4NA0KKw0KKzsgQVRBR19DTURMSU5FDQorOyZjbWRsaW5lPSJjb25zb2xlPXR0eVMwLDExNTIwMCINCis7JmNtZGxpbmU9ImNvbnNvbGU9dHR5UzAsMTE1MjAwIHJvb3Q9L2Rldi9yYW0wIHJ3IHJkaW5pdD0vbGludXhyYyBtdGRwYXJ0cz1kZW5hbGktbmFuZDoxbUAweDAoemxvYWRlciksMm1AMHgxMDAwMDAodWJvb3QpLDFtQDB4MzAwMDAwKGNwdW0wKSwybUAweDQwMDAwMChudnJvKSw4bUAweDYwMDAwMChudnJ3KSwybUAweGUwMDAwMChudmZhYyksMW1AMHgxMDAwMDAwKGZvdGFmbGFnKSw3bUAweDExMDAwMDAoY3B1enNwKSwxbUAweDE4MDAwMDAoc21zKSwxNW1AMHgxOTAwMDAwKGNwdXI3KSwxMG1AMHgyODAwMDAwKGNwdWFwKSw0bUAweDMyMDAwMDAoY3BmcyksOG1AMHgzNjAwMDAwKHJhbWRpc2spLDdtQDB4M2UwMDAwMChyZWNvdmVyeSksNm1AMHg0NTAwMDAwKHJlY292ZXJ5LWtlcm5lbCksMTZtQDB4NGIwMDAwMChjZHJvbSksODBtQDB4NWIwMDAwMCh1c2VyZGF0YSksNjBtQDB4YWIwMDAwMChmb3RhdXBkYXRlKSw3bUAweGY1MDAwMDAoY3B1enNwYW10KSwybUAweGZjMDAwMDAoc2VjdXJlZnMpIg0KKzsmY21kbGluZT0iY29uc29sZT10dHlTMCwxMTUyMDAgbm9fY29uc29sZV9zdXNwZW5kIG10ZHBhcnRzPWRlbmFsaS1uYW5kOjFtQDB4MCh6bG9hZGVyKSwybUAweDEwMDAwMCh1Ym9vdCksMW1AMHgzMDAwMDAoY3B1bTApLDJtQDB4NDAwMDAwKG52cm8pLDhtQDB4NjAwMDAwKG52cncpLDJtQDB4ZTAwMDAwKG52ZmFjKSwxbUAweDEwMDAwMDAoZm90YWZsYWcpLDdtQDB4MTEwMDAwMChjcHVwaHkpLDFtQDB4MTgwMDAwMChzbXMpLDE1bUAweDE5MDAwMDAoY3B1cHJveHkpLDEwbUAweDI4MDAwMDAoY3B1YXApLDRtQDB4MzIwMDAwMChjcGZzKSw4bUAweDM2MDAwMDAocmFtZGlzayksN21AMHgzZTAwMDAwKHJlY292ZXJ5KSw2bUAweDQ1MDAwMDAocmVjb3Zlcnkta2VybmVsKSwxNm1AMHg0YjAwMDAwKGNkcm9tKSw4MG1AMHg1YjAwMDAwKHVzZXJkYXRhKSw2MG1AMHhhYjAwMDAwKGZvdGF1cGRhdGUpLDJtQDB4ZmMwMDAwMChzZWN1cmVmcyksNDE5NDMwM2tAMHgwKGRkcikgcm9vdD0vZGV2L210ZGJsb2NrMTYgcncgcm9vdGZzdHlwZT1qZmZzMiBib290X3JlYXNvbj0wIg0KKzsmY21kbGluZT0iY29uc29sZT10dHlTMCwxMTUyMDAgcm9vdD0vZGV2L3JhbTAgcncgcmRpbml0PS9saW51eHJjIG10ZHBhcnRzPWRlbmFsaS1uYW5kOjFtQDB4MCh6bG9hZGVyKSwybUAweDEwMDAwMCh1Ym9vdCksMW1AMHgzMDAwMDAoY3B1bTApLDFtQDB4NDAwMDAwKG52cm8pLDhtQDB4NTAwMDAwKG52cncpLDFtQDB4ZDAwMDAwKGZvdGFmbGFnKSw5bUAweGUwMDAwMChjcHV6c3ApLDFtQDB4MTcwMDAwMChzbXMpLDE1bUAweDE4MDAwMDAoY3B1cjcpLDEwbUAweDI3MDAwMDAoYTkpLDFtQDB4MzEwMDAwMChmb3RhYmFja3VwKSw2NG1AMHgzMjAwMDAwKGZvdGF1cGRhdGUpLDE2bUAweDcyMDAwMDAoY2Ryb20pLDMybUAweDgyMDAwMDAodXNlcmRhdGEpLDgwbUAweGEyMDAwMDAoamZmczIpIiANCis7JmNtZGxpbmU9ImNvbnNvbGU9dHR5UzAsMTE1MjAwIG5vX2NvbnNvbGVfc3VzcGVuZCBtdGRwYXJ0cz1kZW5hbGktbmFuZDoxbUAweDAoemxvYWRlciksMm1AMHgxMDAwMDAodWJvb3QpLDFtQDB4MzAwMDAwKGNwdW0wKSwxbUAweDQwMDAwMChudnJvKSw4bUAweDUwMDAwMChudnJ3KSwxbUAweGQwMDAwMChmb3RhZmxhZyksOW1AMHhlMDAwMDAoY3B1enNwKSwxbUAweDE3MDAwMDAoc21zKSwxNW1AMHgxODAwMDAwKGNwdXI3KSwxMG1AMHgyNzAwMDAwKGE5KSwxbUAweDMxMDAwMDAoZm90YWJhY2t1cCksNjRtQDB4MzIwMDAwMChmb3RhdXBkYXRlKSwxNm1AMHg3MjAwMDAwKGNkcm9tKSwzMm1AMHg4MjAwMDAwKHVzZXJkYXRhKSw4MG1AMHhhMjAwMDAwKGpmZnMyKSByb290PS9kZXYvbXRkYmxvY2sxMyBydyByb290ZnN0eXBlPWpmZnMyIg0KKzsmY21kbGluZT0iY29uc29sZT10dHlTMCwxMTUyMDAgbm9fY29uc29sZV9zdXNwZW5kIG10ZHBhcnRzPWRlbmFsaS1uYW5kOjFtQDB4MCh6bG9hZGVyKSwybUAweDEwMDAwMCh1Ym9vdCksMW1AMHgzMDAwMDAoY3B1bTApLDFtQDB4NDAwMDAwKG52cm8pLDhtQDB4NTAwMDAwKG52cncpLDJtQDB4ZDAwMDAwKG52ZmFjKSwxbUAweGYwMDAwMChmb3RhZmxhZyksN21AMHgxMDAwMDAwKGNwdXpzcCksMW1AMHgxNzAwMDAwKHNtcyksMTVtQDB4MTgwMDAwMChjcHVyNyksMTBtQDB4MjcwMDAwMChjcHVhcCksNG1AMHgzMTAwMDAwKGNwZnMpLDhtQDB4MzUwMDAwMChyYW1kaXNrKSw3bUAweDNkMDAwMDAocmVjb3ZlcnkpLDZtQDB4NDQwMDAwMChyZWNvdmVyeS1rZXJuZWwpLDgwbUAweDRhMDAwMDAoY2Ryb20pLDQwbUAweDlhMDAwMDAodXNlcmRhdGEpLDMwbUAweGMyMDAwMDAoZm90YXVwZGF0ZSkgcm9vdD0vZGV2L210ZGJsb2NrMTYgcncgcm9vdGZzdHlwZT1qZmZzMiINCismY21kbGluZT0iY29uc29sZT10dHlTMSwxMTUyMDAgcm9vdD0vZGV2L3JhbTAgcncgcmRpbml0PS9saW51eHJjIiANCismY21kc2l6ZT0oc3RyaW5nLmxlbigiJmNtZGxpbmUiKSsxNikmfjB4Mw0KK2RhdGEuc2V0ICZ0YWdBZGRyICVMT05HICVMRSAmY21kc2l6ZS80DQorJnRhZ0FkZHI9JnRhZ0FkZHIrMHg0DQorZGF0YS5zZXQgJnRhZ0FkZHIgJUxPTkcgJUxFIDB4NTQ0MTAwMDkNCismdGFnQWRkcj0mdGFnQWRkcisweDQNCitkYXRhLnNldCAmdGFnQWRkciAiJmNtZGxpbmUiIDANCismdGFnQWRkcj0mdGFnQWRkcisoJmNtZHNpemUtOCkNCisNCis7IEFUQUdfTk9ORQ0KK2RhdGEuc2V0ICZ0YWdBZGRyICVMT05HICVMRSAweDANCismdGFnQWRkcj0mdGFnQWRkcisweDQNCitkYXRhLnNldCAmdGFnQWRkciAlTE9ORyAlTEUgMHgwDQorJnRhZ0FkZHI9JnRhZ0FkZHIrMHg0DQorDQorDQorZW5kZG8NCisNCisNCmRpZmYgLS1naXQgYS9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9ib290X2F0dGFjaF9Db3J0ZXhBNTNfYXAuY21tIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvYm9vdF9hdHRhY2hfQ29ydGV4QTUzX2FwLmNtbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42OTkxNzBmCi0tLSAvZGV2L251bGwKKysrIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvYm9vdF9hdHRhY2hfQ29ydGV4QTUzX2FwLmNtbQpAQCAtMCwwICsxLDE0IEBACithcmVhLnJlc2V0DQorc3lzLmNwdSBDb3J0ZXhNMA0KK3N5cy5iZG1jbG9jayAzLjBNSHoNCitzeXMubyBlbnJlc2V0IE9GRg0KK3N5cy5hdHRhY2gNCiticmVhaw0KK1dhaXQgMC4ycw0KKw0KKy8vc3RvcCBtMCB3ZHQNCitkYXRhLnNldCAweDAwMTQ4MDFDICVsb25nIDB4MTIzNDAwMDAgIC8vbTANCisNCisvL2p0YWcwIHRvIGFwDQorZG8gLlxzeXNcanRhZ19zd2l0Y2hfc2NyaXB0LmNtbSAwIDENCisNCmRpZmYgLS1naXQgYS9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9jb25zb2xlX2V2Yi5jbW0gYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9jb25zb2xlX2V2Yi5jbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWI5Yjc0MwotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2NvbnNvbGVfZXZiLmNtbQpAQCAtMCwwICsxLDcyIEBACis7LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCis7IEluaXRpYWxpemUgU0VSSUFMIDAgYXMgY29uc29sZSBmb3IgengyOTc1MjB2M19mcGdhIGxpbnV4OiAxMTUyMDAgOC9OLzENCis7IGNyZWF0ZWQgYnkgeHV6aGlndW8gLyBaVEUtVFNQIGF0IDAzLjE4LjIwMTMNCis7LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCismVUFSVF9CQVNFX1NZUz0weDE0MDgwMDAJCQkJCS8vIFVBUlQxIEJhc2UgQWRkcmVzcw0KKyZEQkdVX0RSPSZVQVJUX0JBU0VfU1lTKzB4NCAgICAgICAgICAgICAvLyBkYXRhIFJlZ2lzdGVyDQorJkRCR1VfU0M9JlVBUlRfQkFTRV9TWVMrMHg4ICAgICAgICAgICAgIC8vIHNwZWNpYWwgY2hhcmFjdGVyIFJlZ2lzdGVyDQorJkRCR1VfRlI9JlVBUlRfQkFTRV9TWVMrMHgxNCAgICAgICAgICAgIC8vIGZsYWcgUmVnaXN0ZXINCismREJHVV9JQlJEPSZVQVJUX0JBU0VfU1lTKzB4MjQgICAgICAgICAgLy8gaW50ZWdlciBCYXVkIFJhdGUgR2VuZXJhdG9yIFJlZ2lzdGVyIA0KKyZEQkdVX0ZCUkQ9JlVBUlRfQkFTRV9TWVMrMHgyOCAgICAgICAgICAvLyBmcmFjdGlvbmFsIEJhdWQgUmF0ZSBHZW5lcmF0b3IgUmVnaXN0ZXIgIA0KKyZEQkdVX0xDUl9IPSZVQVJUX0JBU0VfU1lTKzB4MzAgICAgICAgICAvLyBMaW5lIENvbnRyb2wgUmVnaXN0ZXINCismREJHVV9DUj0mVUFSVF9CQVNFX1NZUysweDM0ICAgICAgICAgICAgLy8gQ29udHJvbCBSZWdpc3Rlcg0KKyZEQkdVX0lNU0M9JlVBUlRfQkFTRV9TWVMrMHg0MCAgICAgICAgICAvLyBJbnRlcnJ1cHQgTWFzayBSZWdpc3Rlcg0KKw0KKyZUT1BfRlVOQ19TRUxfQkFTRT0weDAwMTNDMDAwCQkvLyAwLUFPTiBGVU5DICANCismQU9OX0ZVTkNfU0VMX0JBU0U9MHgwMDEzQzAwMCAgICAgICAgICAgLy8gMC1yeGQgb3IgdHhkIGZ1bmMNCismVUFSVDBfVE9QX0ZVTkM9JlRPUF9GVU5DX1NFTF9CQVNFKzB4MTANCismVUFSVDBfQU9OX0ZVTkM9JkFPTl9GVU5DX1NFTF9CQVNFKzANCisNCisvLyBzZXQgZ3BpbyBmdW5jdGlvbiB0byBVQVJUMCBUWCBhbmQgUlgNCis7JnRtcD1kYXRhLmxvbmcoRDomVUFSVDBfVE9QX0ZVTkMpDQorOyZ0bXA9JnRtcCYweEZGRTdGRkZGCQkJLy8gQU9OIGZ1bmMNCis7JnRtcD1kYXRhLmxvbmcoRDomVUFSVDBfQU9OX0ZVTkMpDQorOyZ0bXA9JnRtcCYweEZGRkYwRkZGCQkJLy8gVUFSVCBGVU5DDQorDQorLy9zZXQgdWFydDEgd29ya3MgY2xvY2sgZGl2aXNvbiB0byAxDQorOyBpdCBpcyBkb25lIGluIGV2YjI5NzUxMC5jbW0NCitkYXRhLnNldCAweDE0MDAwMjggJWxvbmcgMHhmZmZmZg0KKw0KKy8vZGlzYWJsZSB1YXJ0DQorZGF0YS5zZXQgJkRCR1VfQ1IgJUxPTkcgMHgwDQorLy8gbWFzayBhbGwgaW50ZXJydXB0DQorZGF0YS5zZXQgJkRCR1VfSU1TQyAlTE9ORyAweDANCisNCisvLyBTZXQgYmF1ZCByYXRlIDExNTIwMA0KK2RhdGEuc2V0ICZEQkdVX0lCUkQgJUxPTkcgMHgzOCAgICAgLy9vbiBFVkIgcGxhdGZvcm0sIHVhcnQgd29yayBjbG9jayBpcyAxMDRNSHoNCitkYXRhLnNldCAmREJHVV9GQlJEICVMT05HIDB4MUINCisNCisvLyBzZXQgdGhlIHBvcnQgdG8gbm8gcGFyaXR5LCBubyBsb29wYmFjaywgOC9OLzEsIGVuYWJsZSBGSUZPDQorZGF0YS5zZXQgJkRCR1VfTENSX0ggJUxPTkcgMHg3MA0KKw0KKw0KKw0KKy8vIEVuYWJsZQ0KK2RhdGEuc2V0ICZEQkdVX0NSICVMT05HIDB4MzAxDQorDQorcHJpbnQgInByaW50aW5nICdVQVJUIE9LJyBvbiBjb25zb2xlIg0KK2RhdGEuc2V0ICZEQkdVX0RSICVCWVRFIDB4MGEgIC8vbmV4dCBsaW5lDQord2FpdCAxMC5tcw0KK2RhdGEuc2V0ICZEQkdVX0RSICVCWVRFIDB4MGQgIC8vZW50ZXINCit3YWl0IDEwLm1zDQorZGF0YS5zZXQgJkRCR1VfRFIgJUJZVEUgMHg1NSAgLy9VDQord2FpdCAxMC5tcw0KK2RhdGEuc2V0ICZEQkdVX0RSICVCWVRFIDB4NDEgIC8vQQ0KK3dhaXQgMTAubXMNCitkYXRhLnNldCAmREJHVV9EUiAlQllURSAweDUyICAvL1INCit3YWl0IDEwLm1zDQorZGF0YS5zZXQgJkRCR1VfRFIgJUJZVEUgMHg1NCAgLy9UDQord2FpdCAxMC5tcw0KK2RhdGEuc2V0ICZEQkdVX0RSICVCWVRFIDB4MjAgIC8vc3BhY2UNCit3YWl0IDEwLm1zDQorZGF0YS5zZXQgJkRCR1VfRFIgJUJZVEUgMHg0ZiAgLy9PDQord2FpdCAxMC5tcw0KK2RhdGEuc2V0ICZEQkdVX0RSICVCWVRFIDB4NGIgIC8vSw0KK3dhaXQgMTAubXMNCitkYXRhLnNldCAmREJHVV9EUiAlQllURSAweDBhICAvL25leHQgbGluZQ0KK3dhaXQgMTAubXMNCitkYXRhLnNldCAmREJHVV9EUiAlQllURSAweDBkICAvL2VudGVyDQord2FpdCAxMC5tcw0KKw0KK2VuZGRvDQorDQpkaWZmIC0tZ2l0IGEvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvY29uc29sZV9mcGdhLmNtbSBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2NvbnNvbGVfZnBnYS5jbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGE0MDViOQotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2NvbnNvbGVfZnBnYS5jbW0KQEAgLTAsMCArMSw3MSBAQAorOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorOyBJbml0aWFsaXplIFNFUklBTCAwIGFzIGNvbnNvbGUgZm9yIHp4Mjk3NTIwdjNfZnBnYSBsaW51eDogMTE1MjAwIDgvTi8xDQorOyBjcmVhdGVkIGJ5IHh1emhpZ3VvIC8gWlRFLVRTUCBhdCAwMy4xOC4yMDEzDQorOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorJlVBUlRfQkFTRV9TWVM9MHgxNDA4MDAwCQkJCQkvLyBVQVJUMSBCYXNlIEFkZHJlc3MNCisNCismREJHVV9EUj0mVUFSVF9CQVNFX1NZUysweDQgICAgICAgICAgICAgLy8gZGF0YSBSZWdpc3Rlcg0KKyZEQkdVX1NDPSZVQVJUX0JBU0VfU1lTKzB4OCAgICAgICAgICAgICAvLyBzcGVjaWFsIGNoYXJhY3RlciBSZWdpc3Rlcg0KKyZEQkdVX0ZSPSZVQVJUX0JBU0VfU1lTKzB4MTQgICAgICAgICAgICAvLyBmbGFnIFJlZ2lzdGVyDQorJkRCR1VfSUJSRD0mVUFSVF9CQVNFX1NZUysweDI0ICAgICAgICAgIC8vIGludGVnZXIgQmF1ZCBSYXRlIEdlbmVyYXRvciBSZWdpc3RlciANCismREJHVV9GQlJEPSZVQVJUX0JBU0VfU1lTKzB4MjggICAgICAgICAgLy8gZnJhY3Rpb25hbCBCYXVkIFJhdGUgR2VuZXJhdG9yIFJlZ2lzdGVyICANCismREJHVV9MQ1JfSD0mVUFSVF9CQVNFX1NZUysweDMwICAgICAgICAgLy8gTGluZSBDb250cm9sIFJlZ2lzdGVyDQorJkRCR1VfQ1I9JlVBUlRfQkFTRV9TWVMrMHgzNCAgICAgICAgICAgIC8vIENvbnRyb2wgUmVnaXN0ZXINCismREJHVV9JTVNDPSZVQVJUX0JBU0VfU1lTKzB4NDAgICAgICAgICAgLy8gSW50ZXJydXB0IE1hc2sgUmVnaXN0ZXINCisNCismVE9QX0ZVTkNfU0VMX0JBU0U9MHgwMDEzQzAwMAkJLy8gMC1BT04gRlVOQyAgDQorJkFPTl9GVU5DX1NFTF9CQVNFPTB4MDAxM0MwMDAgICAgICAgICAgIC8vIDAtcnhkIG9yIHR4ZCBmdW5jDQorJlVBUlQwX1RPUF9GVU5DPSZUT1BfRlVOQ19TRUxfQkFTRSsweDEwDQorJlVBUlQwX0FPTl9GVU5DPSZBT05fRlVOQ19TRUxfQkFTRSswDQorDQorLy8gc2V0IGdwaW8gZnVuY3Rpb24gdG8gVUFSVDAgVFggYW5kIFJYDQorOyZ0bXA9ZGF0YS5sb25nKEQ6JlVBUlQwX1RPUF9GVU5DKQ0KKzsmdG1wPSZ0bXAmMHhGRkU3RkZGRgkJCS8vIEFPTiBmdW5jDQorOyZ0bXA9ZGF0YS5sb25nKEQ6JlVBUlQwX0FPTl9GVU5DKQ0KKzsmdG1wPSZ0bXAmMHhGRkZGMEZGRgkJCS8vIFVBUlQgRlVOQw0KKw0KKy8vc2V0IHVhcnQxIHdvcmtzIGNsb2NrIGRpdmlzb24gdG8gMQ0KKzsgaXQgaXMgZG9uZSBpbiBldmIyOTc1MTAuY21tDQorDQorLy9kaXNhYmxlIHVhcnQNCitkYXRhLnNldCAmREJHVV9DUiAlTE9ORyAweDANCisNCisvLyBtYXNrIGFsbCBpbnRlcnJ1cHQNCitkYXRhLnNldCAmREJHVV9JTVNDICVMT05HIDB4MA0KKw0KKy8vIFNldCBiYXVkIHJhdGUgMTE1MjAwDQorZGF0YS5zZXQgJkRCR1VfSUJSRCAlTE9ORyAweEQgICAgIC8vb24gRlBHQSBwbGF0Zm9ybSwgdWFydCB3b3JrIGNsb2NrIGlzIDI1TUh6DQorZGF0YS5zZXQgJkRCR1VfRkJSRCAlTE9ORyAweDI0DQorDQorLy8gc2V0IHRoZSBwb3J0IHRvIG5vIHBhcml0eSwgbm8gbG9vcGJhY2ssIDgvTi8xLCBlbmFibGUgRklGTw0KK2RhdGEuc2V0ICZEQkdVX0xDUl9IICVMT05HIDB4NzANCisNCisvLyBFbmFibGUNCitkYXRhLnNldCAmREJHVV9DUiAlTE9ORyAweDMwMQ0KKw0KK3ByaW50ICJwcmludGluZyAnVUFSVCBPSycgb24gY29uc29sZSINCitkYXRhLnNldCAmREJHVV9EUiAlQllURSAweDBhICAvL25leHQgbGluZQ0KK3dhaXQgMTAubXMNCitkYXRhLnNldCAmREJHVV9EUiAlQllURSAweDBkICAvL2VudGVyDQord2FpdCAxMC5tcw0KK2RhdGEuc2V0ICZEQkdVX0RSICVCWVRFIDB4NTUgIC8vVQ0KK3dhaXQgMTAubXMNCitkYXRhLnNldCAmREJHVV9EUiAlQllURSAweDQxICAvL0ENCit3YWl0IDEwLm1zDQorZGF0YS5zZXQgJkRCR1VfRFIgJUJZVEUgMHg1MiAgLy9SDQord2FpdCAxMC5tcw0KK2RhdGEuc2V0ICZEQkdVX0RSICVCWVRFIDB4NTQgIC8vVA0KK3dhaXQgMTAubXMNCitkYXRhLnNldCAmREJHVV9EUiAlQllURSAweDIwICAvL3NwYWNlDQord2FpdCAxMC5tcw0KK2RhdGEuc2V0ICZEQkdVX0RSICVCWVRFIDB4NGYgIC8vTw0KK3dhaXQgMTAubXMNCitkYXRhLnNldCAmREJHVV9EUiAlQllURSAweDRiICAvL0sNCit3YWl0IDEwLm1zDQorZGF0YS5zZXQgJkRCR1VfRFIgJUJZVEUgMHgwYSAgLy9uZXh0IGxpbmUNCit3YWl0IDEwLm1zDQorZGF0YS5zZXQgJkRCR1VfRFIgJUJZVEUgMHgwZCAgLy9lbnRlcg0KK3dhaXQgMTAubXMNCisNCitlbmRkbw0KKw0KZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2NwaW9fcmFtZGlzay5neiBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2NwaW9fcmFtZGlzay5negpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hMDQ3Mzc0Ci0tLSAvZGV2L251bGwKKysrIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvY3Bpb19yYW1kaXNrLmd6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2xpbnV4Lm1lbiBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2xpbnV4Lm1lbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wMDJiOWRiCi0tLSAvZGV2L251bGwKKysrIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvbGludXgubWVuCkBAIC0wLDAgKzEsOTAxIEBACis7IExpbnV4IHNwZWNpZmljIG1lbnUNCisNCithZGQNCittZW51DQorKA0KKyAgcG9wdXAgIiZMaW51eCINCisgICgNCisgICAgZGVmYXVsdA0KKyAgICBtZW51aXRlbSAiRGlzcGxheSAmUHJvY2Vzc2VzIiAiVEFTSy5Qcm9jZXNzIg0KKyAgICBtZW51aXRlbSAiRGlzcGxheSAmcHMtbGlrZSIgICAiVEFTSy5QUyINCisgICAgbWVudWl0ZW0gIkRpc3BsYXkgJlRhc2tzIiAgICAgIlRBU0suRFRhc2siDQorICAgIG1lbnVpdGVtICJEaXNwbGF5ICZNb2R1bGVzIiAgICJUQVNLLk1PRHVsZSINCisgICAgcG9wdXAgIkRpc3BsYXkgJkZpbGUgU3lzdGVtIg0KKyAgICAoDQorICAgICAgICBtZW51aXRlbSAiRGlzcGxheSBGUyBUeXBlcyIgICAgICAgICAiVEFTSy5GUy5UeXBlcyINCisgICAgICAgIG1lbnVpdGVtICJEaXNwbGF5IE1vdW50IFBvaW50cyIgICAgICJUQVNLLkZTLk1vdW50Ig0KKyAgICAgICAgbWVudWl0ZW0gIkRpc3BsYXkgTW91bnRlZCBEZXZpY2VzIiAgIlRBU0suRlMuTW91bnREZXZzIg0KKyAgICAgICAgbWVudWl0ZW0gIkRpc3BsYXkgL3Byb2MiICAgICAgICAgICAgIlRBU0suRlMuUFJPQyINCisgICAgICAgIG1lbnVpdGVtICJEaXNwbGF5IC9zeXMiICAgICAgICAgICAgICJUQVNLLkZTLlNZUyINCisgICAgKQ0KKyAgICBzZXBhcmF0b3INCisgICAgcG9wdXAgIiZQcm9jZXNzIERlYnVnZ2luZyINCisgICAgKA0KKyAgICAgIG1lbnVpdGVtICImTG9hZCBTeW1ib2xzLi4uIg0KKyAgICAgICgNCisgICAgICAgIGRpYWxvZw0KKyAgICAgICAgKA0KKyAgICAgICAgICBoZWFkZXIgIlRBU0suc1ltYm9sLkxPQUQiDQorICAgICAgICAgIHBvcyAwLiAwLiAzMC4gMy4NCisgICAgICAgICAgYm94ICJQcm9jZXNzIG5hbWUiDQorICAgICAgICAgIHBvcyAxLiAxLiAyMC4gMS4NCitwcm9jbDogICAgZGVmZWRpdCAiIiAiIg0KKyAgICAgICAgICBwb3MgMjIuIDEuIDcuIDEuDQorICAgICAgICAgIGJ1dHRvbiAiQnJvd3NlLi4uIg0KKyAgICAgICAgICAoDQorICAgICAgICAgICAgZGlhbG9nLmZpbGUgIioiDQorICAgICAgICAgICAgZW50cnkgJWxpbmUgJmZpbGUNCisgICAgICAgICAgICBkaWFsb2cuc2V0IHByb2NsICImZmlsZSINCisgICAgICAgICAgKQ0KKyAgICAgICAgICBwb3MgNi4gMy4gNy4gMS4NCisgICAgICAgICAgZGVmYnV0dG9uICJPayINCisgICAgICAgICAgKA0KKyAgICAgICAgICAgIGxvY2FsICZwcm9jbCAmY3dkDQorICAgICAgICAgICAgJnByb2NsPWRpYWxvZy5zdHJpbmcocHJvY2wpDQorICAgICAgICAgICAgVEFTSy5zWW1ib2wuTE9BRCAiJnByb2NsIg0KKyAgICAgICAgICAgIGRpYWxvZy5lbmQNCisgICAgICAgICAgKQ0KKyAgICAgICAgICBwb3MgMTcuIDMuIDcuIDEuDQorICAgICAgICAgIGJ1dHRvbiAiQ2FuY2VsIiAgImRpYWxvZy5lbmQiDQorICAgICAgICApDQorICAgICAgKQ0KKyAgICAgIG1lbnVpdGVtICImRGVsZXRlIFN5bWJvbHMuLi4iDQorICAgICAgKA0KKyAgICAgICAgZGlhbG9nDQorICAgICAgICAoDQorICAgICAgICAgIGhlYWRlciAiVEFTSy5zWW1ib2wuREVMZXRlIg0KKyAgICAgICAgICBwb3MgMC4gMC4gMzAuIDMuDQorICAgICAgICAgIGJveCAiUHJvY2VzcyBuYW1lIg0KKyAgICAgICAgICBwb3MgMS4gMS4gMjAuIDEuDQorcHJvY2Q6ICAgIGRlZmVkaXQgIiIgIiINCisgICAgICAgICAgcG9zIDIyLiAxLiA3LiAxLg0KKyAgICAgICAgICBidXR0b24gIkJyb3dzZS4uLiINCisgICAgICAgICAgKA0KKyAgICAgICAgICAgIGRpYWxvZy5maWxlICIqIg0KKyAgICAgICAgICAgIGVudHJ5ICVsaW5lICZmaWxlDQorICAgICAgICAgICAgZGlhbG9nLnNldCBwcm9jZCAiJmZpbGUiDQorICAgICAgICAgICkNCisgICAgICAgICAgcG9zIDYuIDMuIDcuIDEuDQorICAgICAgICAgIGRlZmJ1dHRvbiAiT2siDQorICAgICAgICAgICgNCisgICAgICAgICAgICBsb2NhbCAmcHJvY2QNCisgICAgICAgICAgICAmcHJvY2Q9ZGlhbG9nLnN0cmluZyhwcm9jZCkNCisgICAgICAgICAgICBUQVNLLnNZbWJvbC5ERUxldGUgIiZwcm9jZCINCisgICAgICAgICAgICBkaWFsb2cuZW5kDQorICAgICAgICAgICkNCisgICAgICAgICAgcG9zIDE3LiAzLiA3LiAxLg0KKyAgICAgICAgICBidXR0b24gIkNhbmNlbCIgICJkaWFsb2cuZW5kIg0KKyAgICAgICAgKQ0KKyAgICAgICkNCisgICAgICBtZW51aXRlbSAiRGVidWcgUHJvY2VzcyBvbiBtYWluLi4uIg0KKyAgICAgICgNCisNCisgICAgICAgICZjcHVmYW1pbHk9c3RyaW5nLmx3cihjcHVmYW1pbHkoKSkNCisgICAgICAgIGRvIH5+L2RlbW8vJmNwdWZhbWlseS9rZXJuZWwvbGludXgvYXBwX2RlYnVnIC9kaWFsb2cNCisNCisgICAgICApDQorICAgICAgYWRkaGVyZQ0KKyAgICAgIHBvcHVwICImV2F0Y2ggUHJvY2Vzc2VzIg0KKyAgICAgICgNCisgICAgICAgIG1lbnVpdGVtICImQWRkLi4uIg0KKyAgICAgICAgKA0KKyAgICAgICAgICBkaWFsb2cNCisgICAgICAgICAgKA0KKyAgICAgICAgICAgIGhlYWRlciAiVEFTSy5XYXRjaC5BZGQiDQorICAgICAgICAgICAgcG9zIDAuIDAuIDI0LiAzLg0KKyAgICAgICAgICAgIGJveCAiUHJvY2VzcyBuYW1lIg0KKyAgICAgICAgICAgIHBvcyAxLiAxLiAyMi4gMS4NCit3cHJvY2E6ICAgICBkZWZlZGl0ICIiICIiDQorICAgICAgICAgICAgcG9zIDIuIDMuIDcuIDEuDQorICAgICAgICAgICAgZGVmYnV0dG9uICJPayINCisgICAgICAgICAgICAoDQorICAgICAgICAgICAgICBsb2NhbCAmd3Byb2NhDQorICAgICAgICAgICAgICAmd3Byb2NhPWRpYWxvZy5zdHJpbmcod3Byb2NhKQ0KKyAgICAgICAgICAgICAgVEFTSy5XYXRjaC5WaWV3ICImd3Byb2NhIg0KKyAgICAgICAgICAgICAgZGlhbG9nLmVuZA0KKyAgICAgICAgICAgICkNCisgICAgICAgICAgICBwb3MgMTUuIDMuIDcuIDEuDQorICAgICAgICAgICAgYnV0dG9uICJDYW5jZWwiICAiZGlhbG9nLmVuZCINCisgICAgICAgICAgKQ0KKyAgICAgICAgKQ0KKyAgICAgICAgbWVudWl0ZW0gIiZSZW1vdmUuLi4iDQorICAgICAgICAoDQorICAgICAgICAgIGRpYWxvZw0KKyAgICAgICAgICAoDQorICAgICAgICAgICAgaGVhZGVyICJUQVNLLldhdGNoLkRFTGV0ZSINCisgICAgICAgICAgICBwb3MgMC4gMC4gMjQuIDMuDQorICAgICAgICAgICAgYm94ICJQcm9jZXNzIG5hbWUiDQorICAgICAgICAgICAgcG9zIDEuIDEuIDIyLiAxLg0KK3dwcm9jZDogICAgIGRlZmVkaXQgIiIgIiINCisgICAgICAgICAgICBwb3MgMi4gMy4gNy4gMS4NCisgICAgICAgICAgICBkZWZidXR0b24gIk9rIg0KKyAgICAgICAgICAgICgNCisgICAgICAgICAgICAgIGxvY2FsICZ3cHJvY2QNCisgICAgICAgICAgICAgICZ3cHJvY2Q9ZGlhbG9nLnN0cmluZyh3cHJvY2QpDQorICAgICAgICAgICAgICBUQVNLLldhdGNoLkRFTGV0ZSAiJndwcm9jZCINCisgICAgICAgICAgICAgIGRpYWxvZy5lbmQNCisgICAgICAgICAgICApDQorICAgICAgICAgICAgcG9zIDE1LiAzLiA3LiAxLg0KKyAgICAgICAgICAgIGJ1dHRvbiAiQ2FuY2VsIiAgImRpYWxvZy5lbmQiDQorICAgICAgICAgICkNCisgICAgICAgICkNCisgICAgICApDQorICAgICAgc2VwYXJhdG9yDQorICAgICAgbWVudWl0ZW0gIlNjYW4gUHJvY2VzcyBNTVUgUGFnZXMuLi4iDQorICAgICAgKA0KKyAgICAgICAgZGlhbG9nDQorICAgICAgICAoDQorICAgICAgICAgICAgaGVhZGVyICJNTVUuU0NBTiBUYXNrUGFnZVRhYmxlIg0KKyAgICAgICAgICAgIHBvcyAwLiAwLiAyNC4gMy4NCisgICAgICAgICAgICBib3ggIlByb2Nlc3MgbmFtZSINCisgICAgICAgICAgICBwb3MgMS4gMS4gMjIuIDEuDQord3Byb2NhOiAgICAgZGVmZWRpdCAiIiAiIg0KKyAgICAgICAgICAgIHBvcyAyLiAzLiA3LiAxLg0KKyAgICAgICAgICAgIGRlZmJ1dHRvbiAiT2siDQorICAgICAgICAgICAgKA0KKyAgICAgICAgICAgICAgbG9jYWwgJndwcm9jYQ0KKyAgICAgICAgICAgICAgJndwcm9jYT1kaWFsb2cuc3RyaW5nKHdwcm9jYSkNCisgICAgICAgICAgICAgIE1NVS5TQ0FOIFRhc2tQYWdlVGFibGUgIiZ3cHJvY2EiDQorICAgICAgICAgICAgICBkaWFsb2cuZW5kDQorICAgICAgICAgICAgKQ0KKyAgICAgICAgICAgIHBvcyAxNS4gMy4gNy4gMS4NCisgICAgICAgICAgICBidXR0b24gIkNhbmNlbCIgICJkaWFsb2cuZW5kIg0KKyAgICAgICAgKQ0KKyAgICAgICkNCisgICAgICBtZW51aXRlbSAiU2NhbiBBbGwgTU1VIFRhYmxlcyIgIk1NVS5TQ0FOLkFMTCINCisgICAgICA7c2VwYXJhdG9yDQorICAgICAgO21lbnVpdGVtICJIZWxwIFByb2Nlc3MgRGVidWdnaW5nIiAiSEVMUCBfX1JUT1NfTElOVVhfX1NfVXNlcl9Qcm9jZXNzZXMiDQorICAgICkNCisgICAgcG9wdXAgIiZNb2R1bGUgRGVidWdnaW5nIg0KKyAgICAoDQorICAgICAgbWVudWl0ZW0gIiZMb2FkIFN5bWJvbHMuLi4iDQorICAgICAgKA0KKyAgICAgICAgZGlhbG9nDQorICAgICAgICAoDQorICAgICAgICAgIGhlYWRlciAiVEFTSy5zWW1ib2wuTE9BRE1vZCINCisgICAgICAgICAgcG9zIDAuIDAuIDMwLiAzLg0KKyAgICAgICAgICBib3ggIk1vZHVsZSBuYW1lIg0KKyAgICAgICAgICBwb3MgMS4gMS4gMjAuIDEuDQorbW9kbDogICAgIGRlZmVkaXQgIiIgIiINCisgICAgICAgICAgcG9zIDIyLiAxLiA3LiAxLg0KKyAgICAgICAgICBidXR0b24gIkJyb3dzZS4uLiINCisgICAgICAgICAgKA0KKyAgICAgICAgICAgIGRpYWxvZy5maWxlICIqLmtvIg0KKyAgICAgICAgICAgIGVudHJ5ICVsaW5lICZmaWxlDQorICAgICAgICAgICAgZGlhbG9nLnNldCBtb2RsICImZmlsZSINCisgICAgICAgICAgKQ0KKyAgICAgICAgICBwb3MgNi4gMy4gNy4gMS4NCisgICAgICAgICAgZGVmYnV0dG9uICJPayINCisgICAgICAgICAgKA0KKyAgICAgICAgICAgIGxvY2FsICZtb2RsDQorICAgICAgICAgICAgJm1vZGw9ZGlhbG9nLnN0cmluZyhtb2RsKQ0KKyAgICAgICAgICAgIFRBU0suc1ltYm9sLkxPQURNb2QgIiZtb2RsIg0KKyAgICAgICAgICAgIGRpYWxvZy5lbmQNCisgICAgICAgICAgKQ0KKyAgICAgICAgICBwb3MgMTcuIDMuIDcuIDEuDQorICAgICAgICAgIGJ1dHRvbiAiQ2FuY2VsIiAgImRpYWxvZy5lbmQiDQorICAgICAgICApDQorICAgICAgKQ0KKyAgICAgIG1lbnVpdGVtICImRGVsZXRlIFN5bWJvbHMuLi4iDQorICAgICAgKA0KKyAgICAgICAgZGlhbG9nDQorICAgICAgICAoDQorICAgICAgICAgIGhlYWRlciAiVEFTSy5zWW1ib2wuREVMZXRlTW9kIg0KKyAgICAgICAgICBwb3MgMC4gMC4gMzAuIDMuDQorICAgICAgICAgIGJveCAiTW9kdWxlIG5hbWUiDQorICAgICAgICAgIHBvcyAxLiAxLiAyMC4gMS4NCittb2RkOiAgICAgZGVmZWRpdCAiIiAiIg0KKyAgICAgICAgICBwb3MgMjIuIDEuIDcuIDEuDQorICAgICAgICAgIGJ1dHRvbiAiQnJvd3NlLi4uIg0KKyAgICAgICAgICAoDQorICAgICAgICAgICAgZGlhbG9nLmZpbGUgIioua28iDQorICAgICAgICAgICAgZW50cnkgJWxpbmUgJmZpbGUNCisgICAgICAgICAgICBkaWFsb2cuc2V0IG1vZGQgIiZmaWxlIg0KKyAgICAgICAgICApDQorICAgICAgICAgIHBvcyA2LiAzLiA3LiAxLg0KKyAgICAgICAgICBkZWZidXR0b24gIk9rIg0KKyAgICAgICAgICAoDQorICAgICAgICAgICAgbG9jYWwgJm1vZGQNCisgICAgICAgICAgICAmbW9kZD1kaWFsb2cuc3RyaW5nKG1vZGQpDQorICAgICAgICAgICAgVEFTSy5zWW1ib2wuREVMZXRlTW9kICImbW9kZCINCisgICAgICAgICAgICBkaWFsb2cuZW5kDQorICAgICAgICAgICkNCisgICAgICAgICAgcG9zIDE3LiAzLiA3LiAxLg0KKyAgICAgICAgICBidXR0b24gIkNhbmNlbCIgICJkaWFsb2cuZW5kIg0KKyAgICAgICAgKQ0KKyAgICAgICkNCisgICAgICBtZW51aXRlbSAiRGVidWcgTW9kdWxlIG9uIGluaXQuLi4iDQorICAgICAgKA0KKw0KKyAgICAgICAgJmNwdWZhbWlseT1zdHJpbmcubHdyKGNwdWZhbWlseSgpKQ0KKyAgICAgICAgZG8gfn4vZGVtby8mY3B1ZmFtaWx5L2tlcm5lbC9saW51eC9tb2RfZGVidWcgL2RpYWxvZw0KKw0KKyAgICAgICkNCisgICAgICBzZXBhcmF0b3INCisgICAgICBtZW51aXRlbSAiU2NhbiBBbGwgTU1VIFRhYmxlcyIgIk1NVS5TQ0FOLkFMTCINCisgICAgKQ0KKyAgICBwb3B1cCAiJkxpYnJhcnkgRGVidWdnaW5nIg0KKyAgICAoDQorICAgICAgbWVudWl0ZW0gIiZMb2FkIFN5bWJvbHMuLi4iDQorICAgICAgKA0KKyAgICAgICAgZGlhbG9nDQorICAgICAgICAoDQorICAgICAgICAgIGhlYWRlciAiVEFTSy5zWW1ib2wuTE9BRExpYiINCisgICAgICAgICAgcG9zIDAuIDAuIDMwLiAzLg0KKyAgICAgICAgICBib3ggIlByb2Nlc3MgbmFtZSINCisgICAgICAgICAgcG9zIDEuIDEuIDI4LiAxLg0KK2xpYnBsOiAgICBkZWZlZGl0ICIiICIiDQorICAgICAgICAgIHBvcyAwLiAzLiAzMC4gMy4NCisgICAgICAgICAgYm94ICJMaWJyYXJ5IG5hbWUiDQorICAgICAgICAgIHBvcyAxLiA0LiAyMC4gMS4NCitsaWJsbDogICAgZGVmZWRpdCAiIiAiIg0KKyAgICAgICAgICBwb3MgMjIuIDQuIDcuIDEuDQorICAgICAgICAgIGJ1dHRvbiAiQnJvd3NlLi4uIg0KKyAgICAgICAgICAoDQorICAgICAgICAgICAgZGlhbG9nLmZpbGUgIiouc28qIg0KKyAgICAgICAgICAgIGVudHJ5ICVsaW5lICZmaWxlDQorICAgICAgICAgICAgZGlhbG9nLnNldCBsaWJsbCAiJmZpbGUiDQorICAgICAgICAgICkNCisgICAgICAgICAgcG9zIDYuIDYuIDcuIDEuDQorICAgICAgICAgIGRlZmJ1dHRvbiAiT2siDQorICAgICAgICAgICgNCisgICAgICAgICAgICBsb2NhbCAmbGlicGwgJmxpYmxsDQorICAgICAgICAgICAgJmxpYnBsPWRpYWxvZy5zdHJpbmcobGlicGwpDQorICAgICAgICAgICAgJmxpYmxsPWRpYWxvZy5zdHJpbmcobGlibGwpDQorICAgICAgICAgICAgVEFTSy5zWW1ib2wuTE9BRExpYiAiJmxpYnBsIiAiJmxpYmxsIg0KKyAgICAgICAgICAgIGRpYWxvZy5lbmQNCisgICAgICAgICAgKQ0KKyAgICAgICAgICBwb3MgMTcuIDYuIDcuIDEuDQorICAgICAgICAgIGJ1dHRvbiAiQ2FuY2VsIiAgImRpYWxvZy5lbmQiDQorICAgICAgICApDQorICAgICAgKQ0KKyAgICAgIG1lbnVpdGVtICImRGVsZXRlIFN5bWJvbHMuLi4iDQorICAgICAgKA0KKyAgICAgICAgZGlhbG9nDQorICAgICAgICAoDQorICAgICAgICAgIGhlYWRlciAiVEFTSy5zWW1ib2wuREVMZXRlTGliIg0KKyAgICAgICAgICBwb3MgMC4gMC4gMzAuIDMuDQorICAgICAgICAgIGJveCAiUHJvY2VzcyBuYW1lIg0KKyAgICAgICAgICBwb3MgMS4gMS4gMjguIDEuDQorbGlicGQ6ICAgIGRlZmVkaXQgIiIgIiINCisgICAgICAgICAgcG9zIDAuIDMuIDMwLiAzLg0KKyAgICAgICAgICBib3ggIkxpYnJhcnkgbmFtZSINCisgICAgICAgICAgcG9zIDEuIDQuIDIwLiAxLg0KK2xpYmxkOiAgICBkZWZlZGl0ICIiICIiDQorICAgICAgICAgIHBvcyAyMi4gNC4gNy4gMS4NCisgICAgICAgICAgYnV0dG9uICJCcm93c2UuLi4iDQorICAgICAgICAgICgNCisgICAgICAgICAgICBkaWFsb2cuZmlsZSAiKi5zbyoiDQorICAgICAgICAgICAgZW50cnkgJWxpbmUgJmZpbGUNCisgICAgICAgICAgICBkaWFsb2cuc2V0IGxpYmxkICImZmlsZSINCisgICAgICAgICAgKQ0KKyAgICAgICAgICBwb3MgNi4gNi4gNy4gMS4NCisgICAgICAgICAgZGVmYnV0dG9uICJPayINCisgICAgICAgICAgKA0KKyAgICAgICAgICAgIGxvY2FsICZsaWJwZCAmbGlibGQNCisgICAgICAgICAgICAmbGlicGQ9ZGlhbG9nLnN0cmluZyhsaWJwZCkNCisgICAgICAgICAgICAmbGlibGQ9ZGlhbG9nLnN0cmluZyhsaWJsZCkNCisgICAgICAgICAgICBUQVNLLnNZbWJvbC5ERUxldGVMaWIgIiZsaWJwZCIgIiZsaWJsZCINCisgICAgICAgICAgICBkaWFsb2cuZW5kDQorICAgICAgICAgICkNCisgICAgICAgICAgcG9zIDE3LiA2LiA3LiAxLg0KKyAgICAgICAgICBidXR0b24gIkNhbmNlbCIgICJkaWFsb2cuZW5kIg0KKyAgICAgICAgKQ0KKyAgICAgICkNCisgICAgICBzZXBhcmF0b3INCisgICAgICBtZW51aXRlbSAiU2NhbiBQcm9jZXNzIE1NVSBQYWdlcy4uLiINCisgICAgICAoDQorICAgICAgICBkaWFsb2cNCisgICAgICAgICgNCisgICAgICAgICAgICBoZWFkZXIgIk1NVS5TQ0FOIFRhc2tQYWdlVGFibGUiDQorICAgICAgICAgICAgcG9zIDAuIDAuIDI0LiAzLg0KKyAgICAgICAgICAgIGJveCAiUHJvY2VzcyBuYW1lIg0KKyAgICAgICAgICAgIHBvcyAxLiAxLiAyMi4gMS4NCit3cHJvY2E6ICAgICBkZWZlZGl0ICIiICIiDQorICAgICAgICAgICAgcG9zIDIuIDMuIDcuIDEuDQorICAgICAgICAgICAgZGVmYnV0dG9uICJPayINCisgICAgICAgICAgICAoDQorICAgICAgICAgICAgICBsb2NhbCAmd3Byb2NhDQorICAgICAgICAgICAgICAmd3Byb2NhPWRpYWxvZy5zdHJpbmcod3Byb2NhKQ0KKyAgICAgICAgICAgICAgTU1VLlNDQU4gVGFza1BhZ2VUYWJsZSAiJndwcm9jYSINCisgICAgICAgICAgICAgIGRpYWxvZy5lbmQNCisgICAgICAgICAgICApDQorICAgICAgICAgICAgcG9zIDE1LiAzLiA3LiAxLg0KKyAgICAgICAgICAgIGJ1dHRvbiAiQ2FuY2VsIiAgImRpYWxvZy5lbmQiDQorICAgICAgICApDQorICAgICAgKQ0KKyAgICAgIG1lbnVpdGVtICJTY2FuIEFsbCBNTVUgVGFibGVzIiAiTU1VLlNDQU4uQUxMIg0KKyAgICApDQorICAgIHNlcGFyYXRvcg0KKyAgICBwb3B1cCAiU3ltYm9sICZBdXRvbG9hZGVyIg0KKyAgICAoDQorICAgICAgICBtZW51aXRlbSAiTGlzdCBDb21wb25lbnRzIiAgInNZbWJvbC5BdXRvTG9hZC5MaXN0Ig0KKyAgICAgICAgbWVudWl0ZW0gIkNoZWNrIE5vdyEiICAgICAgICJzWW1ib2wuQXV0b0xvYWQuQ0hFQ0siDQorICAgICAgICBtZW51aXRlbSAiU2V0IENvbXBvbmVudHMgQ2hlY2tlZCINCisgICAgICAgICgNCisgICAgICAgICAgICBkaWFsb2cNCisgICAgICAgICAgICAoDQorICAgICAgICAgICAgICAgIGhlYWRlciAiVEFTSy5zWW1ib2wuT3B0aW9uIEF1dG9Mb2FkIg0KKyAgICAgICAgICAgICAgICBwb3MgMC4gMC4gMjUuDQorICAgICAgICAgICAgICAgIHByb2M6IGNoZWNrYm94ICJQcm9jZXNzIChQcm9jZXNzZXMpIg0KKyAgICAgICAgICAgICAgICAoDQorICAgICAgICAgICAgICAgICAgICBpZiBkaWFsb2cuYm9vbGVhbihwcm9jKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIFRBU0suc1ltYm9sLk9wdGlvbiBBdXRvTG9hZCBQcm9jZXNzDQorICAgICAgICAgICAgICAgICAgICBlbHNlDQorICAgICAgICAgICAgICAgICAgICAgICAgVEFTSy5zWW1ib2wuT3B0aW9uIEF1dG9Mb2FkIE5vUHJvY2Vzcw0KKyAgICAgICAgICAgICAgICApDQorICAgICAgICAgICAgICAgIG1vZDogIGNoZWNrYm94ICJNb2R1bGUgKE1vZHVsZXMpIg0KKyAgICAgICAgICAgICAgICAoDQorICAgICAgICAgICAgICAgICAgICBpZiBkaWFsb2cuYm9vbGVhbihtb2QpDQorICAgICAgICAgICAgICAgICAgICAgICAgVEFTSy5zWW1ib2wuT3B0aW9uIEF1dG9Mb2FkIE1vZHVsZQ0KKyAgICAgICAgICAgICAgICAgICAgZWxzZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIFRBU0suc1ltYm9sLk9wdGlvbiBBdXRvTG9hZCBOb01vZHVsZQ0KKyAgICAgICAgICAgICAgICApDQorICAgICAgICAgICAgICAgIGxpYjogIGNoZWNrYm94ICJMaWJyYXJ5IChBbGwgTGlicmFyaWVzKSINCisgICAgICAgICAgICAgICAgKA0KKyAgICAgICAgICAgICAgICAgICAgaWYgZGlhbG9nLmJvb2xlYW4obGliKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIFRBU0suc1ltYm9sLk9wdGlvbiBBdXRvTG9hZCBMaWJyYXJ5DQorICAgICAgICAgICAgICAgICAgICBlbHNlDQorICAgICAgICAgICAgICAgICAgICAgICAgVEFTSy5zWW1ib2wuT3B0aW9uIEF1dG9Mb2FkIE5vTGlicmFyeQ0KKyAgICAgICAgICAgICAgICAgICAgZGlhbG9nLnNldCBjbGliICJGQUxTRSINCisgICAgICAgICAgICAgICAgKQ0KKyAgICAgICAgICAgICAgICBjbGliOiBjaGVja2JveCAiQ3VyckxpYiAoTGlicmFyaWVzIG9mIEN1cnJlbnQgUHJvY2VzcykiDQorICAgICAgICAgICAgICAgICgNCisgICAgICAgICAgICAgICAgICAgIGlmIGRpYWxvZy5ib29sZWFuKGNsaWIpDQorICAgICAgICAgICAgICAgICAgICAgICAgVEFTSy5zWW1ib2wuT3B0aW9uIEF1dG9Mb2FkIEN1cnJMaWINCisgICAgICAgICAgICAgICAgICAgIGVsc2UNCisgICAgICAgICAgICAgICAgICAgICAgICBUQVNLLnNZbWJvbC5PcHRpb24gQXV0b0xvYWQgTm9MaWJyYXJ5DQorICAgICAgICAgICAgICAgICAgICBkaWFsb2cuc2V0IGxpYiAiRkFMU0UiDQorICAgICAgICAgICAgICAgICkNCisgICAgICAgICAgICApDQorICAgICAgICAgICAgZGlhbG9nLnNldCBwcm9jICgodGFzay55Lm8oYXV0b2xvYWQpJjB4MSkhPTApDQorICAgICAgICAgICAgZGlhbG9nLnNldCBtb2QgICgodGFzay55Lm8oYXV0b2xvYWQpJjB4NCkhPTApDQorICAgICAgICAgICAgZGlhbG9nLnNldCBsaWIgICgodGFzay55Lm8oYXV0b2xvYWQpJjB4MikhPTApDQorICAgICAgICAgICAgZGlhbG9nLnNldCBjbGliICgodGFzay55Lm8oYXV0b2xvYWQpJjB4OCkhPTApDQorICAgICAgICApDQorICAgICAgICBzZXBhcmF0b3INCisgICAgICAgIG1lbnVpdGVtICJTZXQgTG9hZGVyIFNjcmlwdCINCisgICAgICAgICgNCisgICAgICAgICAgICBkaWFsb2cNCisgICAgICAgICAgICAoDQorICAgICAgICAgICAgICAgIGhlYWRlciAic1ltYm9sLkF1dG9Mb2FkLkNIRUNLTElOVVgiDQorICAgICAgICAgICAgICAgIHBvcyAwLiAwLiA0MC4gMy4NCisgICAgICAgICAgICAgICAgYm94ICJhdXRvbG9hZCBiYXRjaCBzY3JpcHQiDQorICAgICAgICAgICAgICAgIHBvcyAxLiAxLiAzMC4gMQ0KK2NtbWZpbGU6ICAgICAgICBlZGl0ICJhdXRvbG9hZC5jbW0iICIiDQorICAgICAgICAgICAgICAgIHBvcyAzMi4gMS4gNy4gMS4NCisgICAgICAgICAgICAgICAgYnV0dG9uICJCcm93c2UuLi4iDQorICAgICAgICAgICAgICAgICgNCisgICAgICAgICAgICAgICAgICAgIGRpYWxvZy5maWxlICIqLmNtbSINCisgICAgICAgICAgICAgICAgICAgIGVudHJ5ICVsaW5lICZmaWxlDQorICAgICAgICAgICAgICAgICAgICBkaWFsb2cuc2V0IGNtbWZpbGUgIiZmaWxlIg0KKyAgICAgICAgICAgICAgICApDQorICAgICAgICAgICAgICAgIHBvcyAxLiAzLiAxNi4gMS4NCitjaGVja29uOiAgICAgICAgY2hlY2tib3ggImF1dG9tYXRpYyBjaGVjayIgIiINCisgICAgICAgICAgICAgICAgcG9zIDQuIDQuNSA4Lg0KKyAgICAgICAgICAgICAgICBkZWZidXR0b24gIk9rIg0KKyAgICAgICAgICAgICAgICAoDQorICAgICAgICAgICAgICAgICAgICBsb2NhbCAmbG9nICZjbW0NCisgICAgICAgICAgICAgICAgICAgICZjbW09ZGlhbG9nLnN0cmluZyhjbW1maWxlKQ0KKyAgICAgICAgICAgICAgICAgICAgc1ltYm9sLkF1dG9Mb2FkLkNIRUNLTElOVVggImRvICZjbW0gIg0KKyAgICAgICAgICAgICAgICAgICAgc1ltYm9sLkF1dG9Mb2FkLkNIRUNLICAgICAgIDsgdHJpZ2dlciBjaGVjayBtYW51YWxseQ0KKyAgICAgICAgICAgICAgICAgICAgaWYgZGlhbG9nLmJvb2xlYW4oY2hlY2tvbikNCisgICAgICAgICAgICAgICAgICAgICAgICBzWW1ib2wuQXV0b0xvYWQuQ0hFQ0sgT04gICAgOyBhdXRvbWF0aWMgY2hlY2sgZW5hYmxlZA0KKyAgICAgICAgICAgICAgICAgICAgZWxzZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIHNZbWJvbC5BdXRvTG9hZC5DSEVDSyBPRkYgICA7IGF1dG9tYXRpYyBjaGVjayBkaXNhYmxlZA0KKyAgICAgICAgICAgICAgICAgICAgZGlhbG9nLmVuZA0KKyAgICAgICAgICAgICAgICApDQorICAgICAgICAgICAgICAgIHBvcyAxNi4gNC41IDguDQorICAgICAgICAgICAgICAgIGJ1dHRvbiAiQ2FuY2VsIiAiZGlhbG9nLmVuZCINCisgICAgICAgICAgICAgICAgcG9zIDI4LiA0LjUgOC4NCisgICAgICAgICAgICAgICAgYnV0dG9uICJIZWxwIiAiSEVMUCBfX1JUT1NfTElOVVhfU19ZX0FMT0FEIg0KKyAgICAgICAgICAgICkNCisgICAgICAgICkNCisgICAgICAgIG1lbnVpdGVtICJTZXQgVGFyZ2V0IFJvb3QgUGF0aCINCisgICAgICAgICgNCisgICAgICAgICAgICBkaWFsb2cNCisgICAgICAgICAgICAoDQorICAgICAgICAgICAgICAgIGhlYWRlciAiVEFTSy5zWW1ib2wuT3B0aW9uIFJPT1RQQVRIIg0KKyAgICAgICAgICAgICAgICBwb3MgMC4gMC4gNDAuIDMuDQorICAgICAgICAgICAgICAgIGJveCAidGFyZ2V0IHJvb3QgcGF0aCBvbiBob3N0Ig0KKyAgICAgICAgICAgICAgICBwb3MgMS4gMS4gMzAuIDENCityb290ZGlyOiAgICAgICAgZWRpdCAiIiAiIg0KKyAgICAgICAgICAgICAgICBwb3MgMzIuIDEuIDcuIDEuDQorICAgICAgICAgICAgICAgIGJ1dHRvbiAiQnJvd3NlLi4uIg0KKyAgICAgICAgICAgICAgICAoDQorICAgICAgICAgICAgICAgICAgICBkaWFsb2cuZGlyICIqIg0KKyAgICAgICAgICAgICAgICAgICAgZW50cnkgJWxpbmUgJmRpcg0KKyAgICAgICAgICAgICAgICAgICAgZGlhbG9nLnNldCByb290ZGlyICImZGlyIg0KKyAgICAgICAgICAgICAgICApDQorICAgICAgICAgICAgICAgIHBvcyA0LiAzLjUgOC4NCisgICAgICAgICAgICAgICAgZGVmYnV0dG9uICJPayINCisgICAgICAgICAgICAgICAgKA0KKyAgICAgICAgICAgICAgICAgICAgbG9jYWwgJmRpcg0KKyAgICAgICAgICAgICAgICAgICAgJmRpcj1kaWFsb2cuc3RyaW5nKHJvb3RkaXIpDQorICAgICAgICAgICAgICAgICAgICBUQVNLLnNZbWJvbC5PcHRpb24gUk9PVFBBVEggIiZkaXIiDQorICAgICAgICAgICAgICAgICAgICBkaWFsb2cuZW5kDQorICAgICAgICAgICAgICAgICkNCisgICAgICAgICAgICAgICAgcG9zIDE2LiAzLjUgOC4NCisgICAgICAgICAgICAgICAgYnV0dG9uICJDYW5jZWwiICJkaWFsb2cuZW5kIg0KKyAgICAgICAgICAgICAgICBwb3MgMjguIDMuNSA4Lg0KKyAgICAgICAgICAgICAgICBidXR0b24gIkhlbHAiICJIRUxQIF9fUlRPU19MSU5VWF9fVEFTS19ZX09fUk9PVFBBVEgiDQorICAgICAgICAgICAgKQ0KKyAgICAgICAgKQ0KKyAgICAgICAgc2VwYXJhdG9yDQorICAgICAgICBtZW51aXRlbSAiU3ltYm9sIEF1dG9sb2FkZXIgSGVscCIgIkhFTFAgX19SVE9TX0xJTlVYX1NfWV9BTE9BRCINCisgICAgKQ0KKyAgICBzZXBhcmF0b3INCisgICAgbWVudWl0ZW0gIiZMaW51eCBUZXJtaW5hbCIgDQorICAgICgNCisgICAgICBpZiAhd2luZG93Lm5hbWUodGVybSkNCisgICAgICAoDQorICAgICAgICB3aW5wb3MgLCwsLCwsIHRlcm0NCisgICAgICAgIFRFUk0NCisgICAgICApDQorICAgICAgZWxzZQ0KKyAgICAgICAgd2ludG9wIHRlcm0NCisgICAgKQ0KKyAgICBtZW51aXRlbSAiQ29uZmlndXJlIFRlcm1pbmFsLi4uIg0KKyAgICAoDQorICAgICAgaWYgd2luZG93Lm5hbWUodGVybSkNCisgICAgICAgIGRpYWxvZy5vayAiUGxlYXNlIGNsb3NlIHRlcm1pbmFsIHdpbmRvdyBmaXJzdCEiDQorICAgICAgZWxzZQ0KKyAgICAgICgNCisgICAgICAgIGRpYWxvZw0KKyAgICAgICAgKA0KKyAgICAgICAgICBoZWFkZXIgIlRFUk0uUHJvdG9jb2wiDQorICAgICAgICAgIHBvcyAwLiAwLiA5Lg0KKyAgICAgICAgICB0cC5iZTogIGNob29zZWJveCAiQnVmZmVyRSINCisgICAgICAgICAgKA0KKyAgICAgICAgICAgICAgZGlhbG9nLmRpc2FibGUgdHAuY29tLmRldg0KKyAgICAgICAgICAgICAgZGlhbG9nLmRpc2FibGUgdHAuY29tLmJkDQorICAgICAgICAgICAgICBkaWFsb2cuZW5hYmxlIHRwLmJlLm91dA0KKyAgICAgICAgICAgICAgZGlhbG9nLmVuYWJsZSB0cC5iZS5pbg0KKyAgICAgICAgICApDQorICAgICAgICAgIHBvcyAxMC4gMC4gNS4NCisgICAgICAgICAgdGV4dCAib3V0OiINCisgICAgICAgICAgcG9zIDE1LiAwLiA2Lg0KKyAgICAgICAgICB0cC5iZS5vdXQ6IGVkaXQgIlQzMk9VVEJVRiIgIiINCisgICAgICAgICAgcG9zIDIzLiAwLiA2Lg0KKyAgICAgICAgICB0ZXh0ICJpbjoiDQorICAgICAgICAgIHBvcyAyOS4gMC4gNi4NCisgICAgICAgICAgdHAuYmUuaW46ICBlZGl0ICJUMzJJTkJVRiIgIiINCisgICAgICAgICAgcG9zIDAuIDEuIDkuDQorICAgICAgICAgIHRwLmRjYzogY2hvb3NlYm94ICJEQ0MiDQorICAgICAgICAgICgNCisgICAgICAgICAgICAgIGRpYWxvZy5kaXNhYmxlIHRwLmNvbS5kZXYNCisgICAgICAgICAgICAgIGRpYWxvZy5kaXNhYmxlIHRwLmNvbS5iZA0KKyAgICAgICAgICAgICAgZGlhbG9nLmRpc2FibGUgdHAuYmUub3V0DQorICAgICAgICAgICAgICBkaWFsb2cuZGlzYWJsZSB0cC5iZS5pbg0KKyAgICAgICAgICApDQorICAgICAgICAgIHBvcyAwLiAyLiA5Lg0KKyAgICAgICAgICB0cC5jb206IGNob29zZWJveCAiQ09NIg0KKyAgICAgICAgICAoDQorICAgICAgICAgICAgICBkaWFsb2cuZGlzYWJsZSB0cC5iZS5vdXQNCisgICAgICAgICAgICAgIGRpYWxvZy5kaXNhYmxlIHRwLmJlLmluDQorICAgICAgICAgICAgICBkaWFsb2cuZW5hYmxlIHRwLmNvbS5kZXYNCisgICAgICAgICAgICAgIGRpYWxvZy5lbmFibGUgdHAuY29tLmJkDQorICAgICAgICAgICkNCisgICAgICAgICAgcG9zIDEwLiAyLiA1Lg0KKyAgICAgICAgICB0ZXh0ICJkZXZpY2U6Ig0KKyAgICAgICAgICBwb3MgMTUuIDIuIDYuDQorICAgICAgICAgIHRwLmNvbS5kZXY6IGVkaXQgIkNPTTEiICIiDQorICAgICAgICAgIHBvcyAyMy4gMi4gNi4NCisgICAgICAgICAgdGV4dCAiYmF1ZHJhdGU6Ig0KKyAgICAgICAgICBwb3MgMjkuIDIuIDYuDQorICAgICAgICAgIHRwLmNvbS5iZDogIGVkaXQgIjExNTIwMC4iICIiDQorICAgICAgICAgIHBvcyA5LiAzLjUgNy4NCisgICAgICAgICAgZGVmYnV0dG9uICJPayINCisgICAgICAgICAgKA0KKyAgICAgICAgICAgICZ0cGJlb3V0PWRpYWxvZy5zdHJpbmcodHAuYmUub3V0KQ0KKyAgICAgICAgICAgICZ0cGJlaW49ZGlhbG9nLnN0cmluZyh0cC5iZS5pbikNCisgICAgICAgICAgICAmdHBjb21kZXY9ZGlhbG9nLnN0cmluZyh0cC5jb20uZGV2KQ0KKyAgICAgICAgICAgICZ0cGNvbWJkPWRpYWxvZy5zdHJpbmcodHAuY29tLmJkKQ0KKyAgICAgICAgICAgIGlmIGRpYWxvZy5ib29sZWFuKHRwLmJlKQ0KKyAgICAgICAgICAgICAgVEVSTS5NRVRIT0QgQnVmZmVyRSAmdHBiZW91dCAmdHBiZWluDQorICAgICAgICAgICAgZWxzZSBpZiBkaWFsb2cuYm9vbGVhbih0cC5kY2MpDQorICAgICAgICAgICAgICBURVJNLk1FVEhPRCBEQ0MNCisgICAgICAgICAgICBlbHNlIGlmIGRpYWxvZy5ib29sZWFuKHRwLmNvbSkNCisgICAgICAgICAgICAgIFRFUk0uTUVUSE9EIENPTSAmdHBjb21kZXYgJnRwY29tYmQgOCBOT05FIDFTVE9QIE5PTkUNCisgICAgICAgICAgICBkaWFsb2cuZW5kDQorICAgICAgICAgICkNCisgICAgICAgICAgcG9zIDE5LiAzLjUgNy4NCisgICAgICAgICAgYnV0dG9uICJDYW5jZWwiICAiZGlhbG9nLmVuZCINCisgICAgICAgICkNCisgICAgICAgIGRpYWxvZy5kaXNhYmxlIHRwLmJlLm91dA0KKyAgICAgICAgZGlhbG9nLmRpc2FibGUgdHAuYmUuaW4NCisgICAgICAgIGRpYWxvZy5kaXNhYmxlIHRwLmNvbS5kZXYNCisgICAgICAgIGRpYWxvZy5kaXNhYmxlIHRwLmNvbS5iZA0KKyAgICAgICAgaWYgY3B1ZmFtaWx5KCkhPSJBUk0iDQorICAgICAgICAgIGRpYWxvZy5kaXNhYmxlIHRwLmRjYw0KKyAgICAgICkNCisgICAgKQ0KKyAgICA7c2VwYXJhdG9yDQorICAgIDtwb3B1cCAiJlN0YWNrIENvdmVyYWdlIg0KKyAgICA7KA0KKyAgICA7ICBtZW51aXRlbSAiJkxpc3QgU3RhY2tzIg0KKyAgICA7ICAoDQorICAgIDsgICAgaWYgaWNkKCl8fHNpbXVsYXRvcigpDQorICAgIDsgICAgICBUQVNLLlNUYWNLLlBBVHRlcm4gMA0KKyAgICA7ICAgIFRBU0suU1RhY0sNCisgICAgOyAgKQ0KKyAgICA7ICBtZW51aXRlbSAiQWRkIFRhc2siICAgICAgICAiVEFTSy5TVGFjSy5BREQiDQorICAgIDsgIG1lbnVpdGVtICJSZW1vdmUgVGFzayIgICAgICJUQVNLLlNUYWNLLlJlTW92ZSINCisgICAgOyAgZW5hYmxlIGljZSgpfHxmaXJlKCkNCisgICAgOyAgbWVudWl0ZW0gIiZSZXNldCBDb3ZlcmFnZSIgIlRBU0suU1RhY0suUkVTZXQiDQorICAgIDspDQorICAgIHNlcGFyYXRvcg0KKyAgICBtZW51aXRlbSAiSGVscCBMaW51eCBBd2FyZW5lc3MiICJIRUxQIF9fUlRPU19MSU5VWF9TXyINCisgICkNCisgIHBvcHVwICJUcmFjZSINCisgICgNCisgICAgcG9wdXAgIkxpc3QiDQorICAgICgNCisgICAgICBzZXBhcmF0b3INCisgICAgICBtZW51aXRlbSAiJlRhc2sgU3dpdGNoZXMiICAgICAiVHJhY2UuTGlzdCBMaXN0LlRBU0siDQorICAgICAgbWVudWl0ZW0gIiZEZWZhdWx0IGFuZCBUYXNrcyIgIlRyYWNlLkxpc3QgTGlzdC5UQVNLIERFRmF1bHQiDQorICAgICkNCisgICkNCisgIHBvcHVwICJQZXJmIg0KKyAgKA0KKyAgICBzZXBhcmF0b3INCisgICAgcG9wdXAgIiZUYXNrIFJ1bnRpbWUiDQorICAgICgNCisgICAgICBtZW51aXRlbSAiJlByZXBhcmUiDQorICAgICAgKA0KKyAgICAgICAgaWYgdC5tZXRob2QuYW5hbHl6ZXIoKQ0KKyAgICAgICAgKA0KKyAgICAgICAgICBBbmFseXplci5BdXRvSW5pdCBvbg0KKyAgICAgICAgKQ0KKyAgICAgICAgaWYgKGljZSgpfHxmaXJlKCkpJiYhYS5tb2RlLmZsb3coKQ0KKyAgICAgICAgKA0KKyAgICAgICAgICBBbmFseXplci5SZVByb2dyYW0NCisgICAgICAgICAgKA0KKyAgICAgICAgICAgIFNhbXBsZS5FbmFibGUgaWYgQWxwaGFCcmVhayYmV3JpdGUNCisgICAgICAgICAgKQ0KKyAgICAgICAgICBCcmVhay5EZWxldGUgL0FscGhhDQorICAgICAgICAgIEJyZWFrLlNldCB0YXNrLmNvbmZpZyhtYWdpYykrKyh0YXNrLmNvbmZpZyhtYWdpY3NpemUpLTEpIC9BbHBoYQ0KKyAgICAgICAgKQ0KKyAgICAgICAgaWYgYS5tb2RlLmZsb3coKQ0KKyAgICAgICAgKA0KKyAgICAgICAgICBCcmVhay5EZWxldGUgL1RyYWNlRW5hYmxlDQorICAgICAgICAgIEJyZWFrLlNldCB0YXNrLmNvbmZpZyhtYWdpYykgL1RyYWNlRW5hYmxlDQorICAgICAgICApDQorICAgICAgKQ0KKyAgICAgIG1lbnVpdGVtICJbOnBlcmZdU2hvdyAmTnVtZXJpY2FsIiAgICJUcmFjZS5TVEFUaXN0aWMuVEFTSyINCisgICAgICBtZW51aXRlbSAiWzphY2hhcnRdU2hvdyBhcyAmVGltaW5nIiAiVHJhY2UuQ0hBUlQuVEFTSyINCisgICAgICBtZW51aXRlbSAiWzphY2hhcnRdVHJhY2tpbmcgd2l0aCBUcmFjZSAmTGlzdCINCisgICAgICAoDQorICAgICAgICBUcmFjZS5MaXN0IExpc3QuVEFTSyBERUZhdWx0IC9UcmFjaw0KKyAgICAgICAgVHJhY2UuQ0hBUlQuVEFTSyAvVHJhY2sNCisgICAgICApDQorICAgICkNCisgICAgcG9wdXAgIlRhc2sgJkZ1bmN0aW9uIFJ1bnRpbWUiDQorICAgICgNCisgICAgICBtZW51aXRlbSAiJlByZXBhcmUiDQorICAgICAgKA0KKyAgICAgICAgaWYgdC5tZXRob2QuYW5hbHl6ZXIoKQ0KKyAgICAgICAgKA0KKyAgICAgICAgICBBbmFseXplci5BdXRvSW5pdCBvbg0KKyAgICAgICAgICBBbmFseXplci5TVEFUaXN0aWMuUHJlRmV0Y2ggb24NCisgICAgICAgICkNCisNCisgICAgICAgIGlmIChpY2UoKXx8ZmlyZSgpKSYmIWEubW9kZS5mbG93KCkNCisgICAgICAgICgNCisgICAgICAgICAgaWYgYS5jb25maWcuaGFjKCkNCisgICAgICAgICAgKA0KKyAgICAgICAgICAgICBBbmFseXplci5SZVByb2dyYW0NCisgICAgICAgICAgICAgKA0KKyAgICAgICAgICAgICAgIFNhbXBsZS5FbmFibGUgaWYgQWxwaGFCcmVhaw0KKyAgICAgICAgICAgICAgIFNhbXBsZS5FbmFibGUgaWYgQmV0YUJyZWFrDQorICAgICAgICAgICAgICAgTWFyay5BICAgICAgICBpZiBBbHBoYUJyZWFrDQorICAgICAgICAgICAgICAgTWFyay5CICAgICAgICBpZiBCZXRhQnJlYWsNCisgICAgICAgICAgICAgKQ0KKyAgICAgICAgICApDQorICAgICAgICAgIGVsc2UNCisgICAgICAgICAgKA0KKyAgICAgICAgICAgICBBbmFseXplci5SZVByb2dyYW0NCisgICAgICAgICAgICAgKA0KKyAgICAgICAgICAgICAgIFNhbXBsZS5FbmFibGUgaWYgQWxwaGFCcmVha3x8QmV0YUJyZWFrDQorICAgICAgICAgICAgICAgTWFyay5BIGlmIEFscGhhQnJlYWsNCisgICAgICAgICAgICAgICBNYXJrLkIgaWYgQmV0YUJyZWFrDQorICAgICAgICAgICAgICkNCisgICAgICAgICAgKQ0KKyAgICAgICAgICBCcmVhay5EZWxldGUgL0FscGhhIC9CZXRhIC9DaGFybHkNCisgICAgICAgICAgQnJlYWsuU2V0RnVuYw0KKyAgICAgICAgICBCcmVhay5TZXQgdGFzay5jb25maWcobWFnaWMpKysodGFzay5jb25maWcobWFnaWNzaXplKS0xKSAvQWxwaGENCisgICAgICAgICkNCisgICAgICAgIGlmIGEubW9kZS5mbG93KCkNCisgICAgICAgICgNCisgICAgICAgICAgQnJlYWsuRGVsZXRlIC9UcmFjZURhdGENCisgICAgICAgICAgQnJlYWsuU2V0IHRhc2suY29uZmlnKG1hZ2ljKSAvVHJhY2VEYXRhDQorICAgICAgICApDQorICAgICAgKQ0KKyAgICAgIG1lbnVpdGVtICJbOnBlcmZdU2hvdyAmTnVtZXJpY2FsIiAgICAgIlRyYWNlLlNUQVRpc3RpYy5UQVNLRlVOQyINCisgICAgICBtZW51aXRlbSAiWzpwZXJmXVNob3cgYXMgJlRyZWUiICAgICAgICJUcmFjZS5TVEFUaXN0aWMuVEFTS1RSRUUiDQorICAgICAgbWVudWl0ZW0gIls6cGVyZl1TaG93ICZEZXRhaWxlZCBUcmVlIiAiVHJhY2UuU1RBVGlzdGljLlRBU0tUUkVFIEFMTCINCisgICAgICBtZW51aXRlbSAiWzphY2hhcnRdU2hvdyBhcyAmVGltaW5nIiAgICJUcmFjZS5DSEFSVC5UQVNLRlVOQyINCisgICAgICBtZW51aXRlbSAiWzphbGlzdF1TaG93IE4mZXN0aW5nIiAgICAgICJUcmFjZS5MaXN0IExpc3QuVEFTSyBGVU5DIFRJLkZVTkMiDQorICAgICkNCisgICAgcG9wdXAgIlRhc2sgJlN0YXR1cyINCisgICAgKA0KKyAgICAgIG1lbnVpdGVtICImUHJlcGFyZSINCisgICAgICAoDQorICAgICAgICBpZiB0Lm1ldGhvZC5hbmFseXplcigpDQorICAgICAgICAoDQorICAgICAgICAgIEFuYWx5emVyLkF1dG9Jbml0IG9uDQorICAgICAgICApDQorICAgICAgICBpZiAoaWNlKCl8fGZpcmUoKSkmJiFhLm1vZGUuZmxvdygpDQorICAgICAgICAoDQorICAgICAgICAgIEFuYWx5emVyLlJlUHJvZ3JhbQ0KKyAgICAgICAgICAoDQorICAgICAgICAgICAgU2FtcGxlLkVuYWJsZSBpZiBBbHBoYUJyZWFrJiZXcml0ZQ0KKyAgICAgICAgICApDQorICAgICAgICAgIEJyZWFrLkRlbGV0ZSAvQWxwaGENCisgICAgICAgICAgQnJlYWsuU2V0IHRhc2suY29uZmlnKG1hZ2ljKSsrKHRhc2suY29uZmlnKG1hZ2ljc2l6ZSktMSkgL0FscGhhDQorICAgICAgICAgIFRBU0suVEFTS1N0YXRlDQorICAgICAgICApDQorICAgICAgKQ0KKyAgICAgIG1lbnVpdGVtICJbOnBlcmZdU2hvdyAmTnVtZXJpY2FsIiAgICJUcmFjZS5TVEFUaXN0aWMuVEFTS1NUQVRFIg0KKyAgICAgIG1lbnVpdGVtICJbOmFjaGFydF1TaG93IGFzICZUaW1pbmciICJUcmFjZS5DSEFSVC5UQVNLU1RBVEUiDQorICAgICAgbWVudWl0ZW0gIls6YWNoYXJ0XVRyYWNraW5nIHdpdGggVHJhY2UgJkxpc3QiDQorICAgICAgKA0KKyAgICAgICAgVHJhY2UuTGlzdCBMaXN0LlRBU0sgREVGYXVsdCAvVHJhY2sNCisgICAgICAgIFRyYWNlLkNIQVJULlRBU0tTVEFURSAvVHJhY2sNCisgICAgICApDQorICAgICkNCisgICkNCisgIHBvcHVwICImSGVscCINCisgICgNCisgICAgbWVudWl0ZW0gIkxpbnV4IEF3YXJlbmVzcyBNYW51YWwiICJIRUxQIF9fUlRPU19MSU5VWF9TXyINCisgICkNCispDQorDQorDQorbWVudSAidGFzay5kdCINCisoDQorICBkZWZhdWx0DQorICBtZW51aXRlbSAiRGlzcGxheSBkZXRhaWxlZCINCisgICgNCisgICAgJmFkZHJlc3M9YWRkcmVzcy5vZmZzZXQodHJhY2suYWRkcmVzcygpKQ0KKyAgICBUQVNLLkRUYXNrICZhZGRyZXNzDQorICApDQorICBtZW51aXRlbSAiRGlzcGxheSB0YXNrIHN0cnVjdCINCisgICgNCisgICAgJmFkZHJlc3M9dGFzay5wcm9jLnRjYihhZGRyZXNzLm9mZnNldCh0cmFjay5hZGRyZXNzKCkpKQ0KKyAgICBWYXIuVmlldyAlbSAlcyAoc3RydWN0IHRhc2tfc3RydWN0KSomYWRkcmVzcw0KKyAgKQ0KKyAgc2VwYXJhdG9yDQorICBtZW51aXRlbSAiRGlzcGxheSBTdGFjayBGcmFtZSIgICJWYXIuRnJhbWUgL0xvY2FscyAvQ2FsbGVyIC9UYXNrIHRyYWNrLmFkZHJlc3MoKSINCisgIG1lbnVpdGVtICJEaXNwbGF5IFJlZ2lzdGVycyIgICAgIlJlZ2lzdGVyIC9UYXNrIHRyYWNrLmFkZHJlc3MoKSINCisgIG1lbnVpdGVtICJTd2l0Y2ggQ29udGV4dCIgICAgICAgIlJlZ2lzdGVyLlRBU0sgdHJhY2suYWRkcmVzcygpIg0KKyAgc2VwYXJhdG9yDQorICBtZW51aXRlbSAiTG9hZCBQcm9jZXNzIFN5bWJvbHMiICAgIlRBU0suc1ltYm9sLkxPQUQgdHJhY2suYWRkcmVzcygpIg0KKyAgbWVudWl0ZW0gIkRlbGV0ZSBQcm9jZXNzIFN5bWJvbHMiICJUQVNLLnNZbWJvbC5ERUxldGUgdHJhY2suYWRkcmVzcygpIg0KKyAgbWVudWl0ZW0gIkFkZCBMaWJyYXJpZXMgdG8gU3ltYm9sIEF1dG9sb2FkZXIiIA0KKyAgKA0KKyAgICBUQVNLLnNZbWJvbC5PcHRpb24gQXV0b0xvYWQgUHJvY0xpYiB0cmFjay5hZGRyZXNzKCkNCisgICAgc1ltYm9sLkF1dG9MT0FELkNIRUNLDQorICApDQorICBtZW51aXRlbSAiQWRkIHRvIFdhdGNoZWQgUHJvY2Vzc2VzIg0KKyAgKA0KKyAgICAgICZhZGRyZXNzPWFkZHJlc3Mub2Zmc2V0KHRyYWNrLmFkZHJlc3MoKSkNCisgICAgICBUQVNLLldhdGNoLlZpZXcgJmFkZHJlc3MNCisgICkNCisgIG1lbnVpdGVtICJEZWxldGUgZnJvbSBXYXRjaGVkIFByb2Nlc3NlcyIgIlRBU0suV2F0Y2guREVMZXRlIHRyYWNrLmFkZHJlc3MoKSINCisgIDtzZXBhcmF0b3INCisgIDttZW51aXRlbSAiQWRkIHRvIFN0YWNrIENvdiIgICJUQVNLLlNUSy5BREQgYWRkcmVzcy5vZmZzZXQodHJhY2suYWRkcmVzcygpKSINCisgIDttZW51aXRlbSAiUm0gZnJvbSBTdGFjayBDb3YiICJUQVNLLlNUSy5STSAgYWRkcmVzcy5vZmZzZXQodHJhY2suYWRkcmVzcygpKSINCisgIHNlcGFyYXRvcg0KKyAgbWVudWl0ZW0gIlNjYW4gTU1VIFBhZ2VzIg0KKyAgKA0KKyAgICAmYWRkcmVzcz1hZGRyZXNzLm9mZnNldCh0cmFjay5hZGRyZXNzKCkpDQorICAgIE1NVS5TQ0FOIFRhc2tQYWdlVGFibGUgJmFkZHJlc3MNCisgICkNCisgIHNlcGFyYXRvcg0KKyAgbWVudWl0ZW0gIkR1bXAgdGFzayBlbnRyeSINCisgICgNCisgICAgJmFkZHJlc3M9dGFzay5wcm9jLnRjYihhZGRyZXNzLm9mZnNldCh0cmFjay5hZGRyZXNzKCkpKQ0KKyAgICBEYXRhLmR1bXAgJmFkZHJlc3MgL2wgL2RpYWxvZw0KKyAgKQ0KKyAgc2VwYXJhdG9yDQorICBtZW51aXRlbSAiS2lsbCB0YXNrIg0KKyAgKA0KKyAgICBsb2NhbCAmcmttYWdpYyAmcmt0bmFtZQ0KKyAgICAmcmttYWdpYz10YXNrLnByb2MudGNiKGFkZHJlc3Mub2Zmc2V0KHRyYWNrLmFkZHJlc3MoKSkpDQorICAgICZya3RuYW1lPXRhc2sucHJvYy5uYW1lKCZya21hZ2ljKQ0KKyAgICBkaWFsb2cueWVzbm8gIlJlYWxseSBraWxsIHRhc2sgJnJrdG5hbWU/Ig0KKyAgICBlbnRyeSAmeW4NCisgICAgaWYgJnluDQorICAgICgNCisgICAgICB2YXIuc2V0ICgoc3RydWN0IHRhc2tfc3RydWN0KSomcmttYWdpYykucGVuZGluZy5zaWduYWwuc2lnWzBdPTB4MTAwDQorICAgICAgcHJpbnQgIlNpZ25hbCBTSUdLSUxMIHNlbnQgdG8gdGFzayAmcmt0bmFtZSINCisgICAgKQ0KKyAgKQ0KKyAgc2VwYXJhdG9yDQorICBlbmFibGUgdC5tZXRob2QuYW5hbHl6ZXIoKQ0KKyAgbWVudWl0ZW0gIlRyYWNlIHRoaXMgdGFzayINCisgICgNCisgICAgbG9jYWwgJm1hZ2ljDQorICAgIGlmIHJ1bigpDQorICAgICAgYnJlYWsNCisgICAgJm1hZ2ljPWFkZHJlc3Mub2Zmc2V0KHRyYWNrLmFkZHJlc3MoKSkNCisgICAgJnNpZD10YXNrLnByb2MubWFnaWMyc2lkKCZtYWdpYykNCisgICAgaWYgZXRtLmNvbnRleHRjb21wKCk+MA0KKyAgICAoDQorICAgICAgVHJPbmNoaXAuQ29udGV4dElEIE9ODQorICAgICAgQnJlYWsuU2V0ICZzaWQ6MC0tMHhmZmZmZmZmZiAvUHJvZ3JhbSAvVHJhY2VFbmFibGUgL1RBU0sgJm1hZ2ljDQorICAgICkNCisgICAgZWxzZQ0KKyAgICAoDQorICAgICAgQnJlYWsuU2V0IHRhc2suY29uZmlnKG1hZ2ljKSAvV3JpdGUgL0RhdGEgJm1hZ2ljIC9UcmFjZU9ODQorICAgICAgQnJlYWsuU2V0IHRhc2suY29uZmlnKG1hZ2ljKSAvV3JpdGUgL0RhdGEgISZtYWdpYyAvVHJhY2VPRkYNCisgICAgKQ0KKyAgKQ0KKykNCisNCisNCittZW51ICJ0YXNrLm1vZCINCisoDQorICBkZWZhdWx0DQorICA7bWVudWl0ZW0gIkRpc3BsYXkgZGV0YWlsZWQiDQorICA7KA0KKyAgOyAgJmFkZHJlc3M9YWRkcmVzcy5vZmZzZXQodHJhY2suYWRkcmVzcygpKQ0KKyAgOyAgVEFTSy5NT0R1bGUgJmFkZHJlc3MNCisgIDspDQorICBtZW51aXRlbSAiRGlzcGxheSBtb2R1bGUgc3RydWN0Ig0KKyAgKA0KKyAgICAmYWRkcmVzcz10YXNrLm1vZC5tY2IoYWRkcmVzcy5vZmZzZXQodHJhY2suYWRkcmVzcygpKSkNCisgICAgVmFyLlZpZXcgJW0gJXMgKHN0cnVjdCBtb2R1bGUpKiZhZGRyZXNzDQorICApDQorICBzZXBhcmF0b3INCisgIG1lbnVpdGVtICJMb2FkIE1vZHVsZSBTeW1ib2xzIiAgICJUQVNLLnNZbWJvbC5MT0FETW9kIHRyYWNrLmFkZHJlc3MoKSINCisgIG1lbnVpdGVtICJEZWxldGUgTW9kdWxlIFN5bWJvbHMiICJUQVNLLnNZbWJvbC5ERUxldGVNb2QgdHJhY2suYWRkcmVzcygpIg0KKyAgc2VwYXJhdG9yDQorICBtZW51aXRlbSAiRHVtcCBtb2R1bGUgZW50cnkiDQorICAoDQorICAgICZhZGRyZXNzPWFkZHJlc3Mub2Zmc2V0KHRyYWNrLmFkZHJlc3MoKSkNCisgICAgRGF0YS5kdW1wICZhZGRyZXNzIC9sIC9kaWFsb2cNCisgICkNCispDQorDQorDQorbWVudSAidGFzay5mcy50Ig0KKygNCisgIGRlZmF1bHQNCisgIG1lbnVpdGVtICJEaXNwbGF5IGRldGFpbGVkIg0KKyAgKA0KKyAgICAmYWRkcmVzcz1hZGRyZXNzLm9mZnNldCh0cmFjay5hZGRyZXNzKCkpDQorICAgIFRBU0suRlMuVHlwZXMgJmFkZHJlc3MNCisgICkNCisgIG1lbnVpdGVtICJEaXNwbGF5IHR5cGUgc3RydWN0Ig0KKyAgKA0KKyAgICAmYWRkcmVzcz1hZGRyZXNzLm9mZnNldCh0cmFjay5hZGRyZXNzKCkpDQorICAgIFZhci5WaWV3ICVtICVzIChzdHJ1Y3QgZmlsZV9zeXN0ZW1fdHlwZSkqJmFkZHJlc3MNCisgICkNCisgIHNlcGFyYXRvcg0KKyAgbWVudWl0ZW0gIkR1bXAgdHlwZSBlbnRyeSINCisgICgNCisgICAgJmFkZHJlc3M9YWRkcmVzcy5vZmZzZXQodHJhY2suYWRkcmVzcygpKQ0KKyAgICBEYXRhLmR1bXAgJmFkZHJlc3MgL2wgL2RpYWxvZw0KKyAgKQ0KKykNCisNCisNCittZW51ICJ0YXNrLmZzLm1kIg0KKygNCisgIGRlZmF1bHQNCisgIG1lbnVpdGVtICJEaXNwbGF5IGRldGFpbGVkIg0KKyAgKA0KKyAgICAmYWRkcmVzcz1hZGRyZXNzLm9mZnNldCh0cmFjay5hZGRyZXNzKCkpDQorICAgIFRBU0suRlMuTW91bnREZXZzICZhZGRyZXNzDQorICApDQorICBtZW51aXRlbSAiRGlzcGxheSBzdXBlcmJsb2NrIHN0cnVjdCINCisgICgNCisgICAgJmFkZHJlc3M9YWRkcmVzcy5vZmZzZXQodHJhY2suYWRkcmVzcygpKQ0KKyAgICBWYXIuVmlldyAlbSAlcyAoc3RydWN0IHN1cGVyX2Jsb2NrKSomYWRkcmVzcw0KKyAgKQ0KKyAgc2VwYXJhdG9yDQorICBtZW51aXRlbSAiRHVtcCBzdXBlcmJsb2NrIGVudHJ5Ig0KKyAgKA0KKyAgICAmYWRkcmVzcz1hZGRyZXNzLm9mZnNldCh0cmFjay5hZGRyZXNzKCkpDQorICAgIERhdGEuZHVtcCAmYWRkcmVzcyAvbCAvZGlhbG9nDQorICApDQorKQ0KKw0KKw0KK21lbnUgInRhc2suZnMucHJvYyINCisoDQorICA7ZGVmYXVsdA0KKyAgO21lbnVpdGVtICJEaXNwbGF5IGRldGFpbGVkIg0KKyAgOygNCisgIDsgICZhZGRyZXNzPWFkZHJlc3Mub2Zmc2V0KHRyYWNrLmFkZHJlc3MoKSkNCisgIDsgIFRBU0suRlMuUFJPQyAmYWRkcmVzcw0KKyAgOykNCisgIG1lbnVpdGVtICJEaXNwbGF5IHByb2Mgc3RydWN0Ig0KKyAgKA0KKyAgICAmYWRkcmVzcz1hZGRyZXNzLm9mZnNldCh0cmFjay5hZGRyZXNzKCkpDQorICAgIFZhci5WaWV3ICVtICVzIChzdHJ1Y3QgcHJvY19kaXJfZW50cnkpKiZhZGRyZXNzDQorICApDQorICBzZXBhcmF0b3INCisgIG1lbnVpdGVtICJEdW1wIHByb2MgZGlyIGVudHJ5Ig0KKyAgKA0KKyAgICAmYWRkcmVzcz1hZGRyZXNzLm9mZnNldCh0cmFjay5hZGRyZXNzKCkpDQorICAgIERhdGEuZHVtcCAmYWRkcmVzcyAvbCAvZGlhbG9nDQorICApDQorKQ0KKw0KKw0KK21lbnUgInRhc2suZnMubSINCisoDQorICBkZWZhdWx0DQorICA7bWVudWl0ZW0gIkRpc3BsYXkgZGV0YWlsZWQiDQorICA7KA0KKyAgOyAgJmFkZHJlc3M9YWRkcmVzcy5vZmZzZXQodHJhY2suYWRkcmVzcygpKQ0KKyAgOyAgVEFTSy5GUy5Nb3VudCAmYWRkcmVzcw0KKyAgOykNCisgIG1lbnVpdGVtICJEaXNwbGF5IG1vdW50IHN0cnVjdCINCisgICgNCisgICAgJmFkZHJlc3M9YWRkcmVzcy5vZmZzZXQodHJhY2suYWRkcmVzcygpKQ0KKyAgICBWYXIuVmlldyAlbyAlaCAlcyAoc3RydWN0IHZmc21vdW50KSomYWRkcmVzcw0KKyAgKQ0KKyAgc2VwYXJhdG9yDQorICBtZW51aXRlbSAiRHVtcCBtb3VudCBlbnRyeSINCisgICgNCisgICAgJmFkZHJlc3M9YWRkcmVzcy5vZmZzZXQodHJhY2suYWRkcmVzcygpKQ0KKyAgICBEYXRhLmR1bXAgJmFkZHJlc3MgL2wgL2RpYWxvZw0KKyAgKQ0KKykNCisNCisNCittZW51ICJ0YXNrLmxpYiINCisoDQorICBkZWZhdWx0DQorICA7bWVudWl0ZW0gIkRpc3BsYXkgZGV0YWlsZWQiDQorICA7KA0KKyAgOyAgJmFkZHJlc3M9YWRkcmVzcy5vZmZzZXQodHJhY2suYWRkcmVzcygpKQ0KKyAgOyAgVEFTSy5EVGFzayAmYWRkcmVzcw0KKyAgOykNCisgIG1lbnVpdGVtICJEaXNwbGF5IExpYnJhcnkgc3RydWN0Ig0KKyAgKA0KKyAgICAmYWRkcmVzcz1hZGRyZXNzLm9mZnNldCh0cmFjay5hZGRyZXNzKCkpDQorICAgIFZhci5WaWV3ICVtICVzIChzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QpKiZhZGRyZXNzDQorICApDQorICBzZXBhcmF0b3INCisgIG1lbnVpdGVtICJMb2FkIExpYnJhcnkgU3ltYm9scyIgICAiVEFTSy5zWW1ib2wuTE9BRExpYiB0cmFjay5zdHJpbmcoKSB0cmFjay5hZGRyZXNzKCkiDQorICBtZW51aXRlbSAiRGVsZXRlIExpYnJhcnkgU3ltYm9scyIgIlRBU0suc1ltYm9sLkRFTGV0ZUxpYiB0cmFjay5zdHJpbmcoKSB0cmFjay5hZGRyZXNzKCkiDQorICBzZXBhcmF0b3INCisgIG1lbnVpdGVtICJEdW1wIExpYnJhcnkgZW50cnkiDQorICAoDQorICAgICZhZGRyZXNzPWFkZHJlc3Mub2Zmc2V0KHRyYWNrLmFkZHJlc3MoKSkNCisgICAgRGF0YS5kdW1wICZhZGRyZXNzIC9sIC9kaWFsb2cNCisgICkNCispDQorDQorDQorbWVudSAidGFzay53Ig0KKygNCisgIGRlZmF1bHQNCisgIG1lbnVpdGVtICJEaXNwbGF5IFByb2Nlc3MiDQorICAoDQorICAgICZhZGRyZXNzPWFkZHJlc3Mub2Zmc2V0KHRyYWNrLmFkZHJlc3MoKSkNCisgICAgVEFTSy5EVGFzayAmYWRkcmVzcw0KKyAgKQ0KKyAgbWVudWl0ZW0gIkRlbGV0ZSBmcm9tIExpc3QiIA0KKyAgKA0KKyAgICAmbmFtZT10cmFjay5zdHJpbmcoKQ0KKyAgICBUQVNLLldhdGNoLkRFTGV0ZSAiJm5hbWUiDQorICApDQorKQ0KKw0KKw0KZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2xpbnV4LnQzMiBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2xpbnV4LnQzMgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yOTBiZmYyCi0tLSAvZGV2L251bGwKKysrIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvbGludXgudDMyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2xpbnV4XzI5NzUyMFYzX3Jlc3RvcmVfcmFtZHVtcF9saW51eC1rZXJuZWwuY21tIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvbGludXhfMjk3NTIwVjNfcmVzdG9yZV9yYW1kdW1wX2xpbnV4LWtlcm5lbC5jbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjE2MTIxMwotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2xpbnV4XzI5NzUyMFYzX3Jlc3RvcmVfcmFtZHVtcF9saW51eC1rZXJuZWwuY21tCkBAIC0wLDAgKzEsNjMgQEAKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyoNCisvLyogICAgICAgICAgICAgICAgICBDb3B5cmlnaHQgKGMpIDIwMTIgWlRFIENvcnBvcmF0aW9uLg0KKy8vKg0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyogxKMgv+kgw/sgOiANCisvLyogzsQgvP4gw/sgOiBsaW51eF8yOTc1MTBfcmVzdG9yZV9yYW1kdW1wX2xpbnV4LWtlcm5lbC5jbW0NCisvLyogz+C52M7EvP4gOiANCisvLyogyrXP1rmmxNwgOiA3NTEwIGxpbnV4IHJhbWR1bXC71ri0vcWxvqO7DQorLy8qINf3ICAgINXfIDogSktaDQorLy8qILDmICAgILG+IDogVjEuMA0KKy8vKiDN6rPJyNXG2iA6IDIwMTUvMTIvMTINCisvLyogxuTL/Mu1w/cgOiANCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vKiC9xbG+veLO9sf40/INCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorDQorLy+2qNLlvtayv7Hkwb8NCitsb2NhbCAmZWxmbmFtZQ0KK2xvY2FsICZ0YXJnZXRfc3RhdGVfY21tDQorbG9jYWwgJmR1bXBkaXINCisNCitzeXMuZG93bg0KK2FyZWEucmVzZXQNCitzeXMuY3B1IENvcnRleEE5DQorc3lzLmp0YWdjbG9jayAzLjBNSHogICAgICAgICAgIDsgQ1BVIG5lZWRzIDEwTSAqIDggPSA4ME0gZnJlcXVlbmN5LiBJdCBzaG91bGQgYmUgcmVkdWNlZCB0byAzLjBNSHoNCitzeXMub3B0aW9uIGVucmVzZXQgT2ZmDQorc3lzLm9wdGlvbiByZXNicmVhayBvZmYJDQorc3lzLnVwDQorDQorRElBTE9HLkZpbGUgKg0KK2VudHJ5ICZlbGZuYW1lDQorJmR1bXBkaXI9b3MuZmlsZS5wYXRoKCZlbGZuYW1lKQ0KKw0KK0RJQUxPRy5GaWxlICouY21tDQorZW50cnkgJnRhcmdldF9zdGF0ZV9jbW0NCismZHVtcGRpcj1vcy5maWxlLnBhdGgoJnRhcmdldF9zdGF0ZV9jbW0pDQorDQorLy+809TYZWxmzsS8/iAgICAgICAgIA0KK2RhdGEubG9hZC5lbGYgJmVsZm5hbWUgL25vY29kZQ0KKw0KKy8vyejWw9S0zsS8/rXEwre+ttDFz6Is0OjK1ravyejWw7PJsb612LbU06bCt762DQorc3ltYm9sLnNvdXJjZXBhdGgucmVzZXQJIA0KKztzWW1ib2wuU291cmNlUEFUSC5TZXRSZWN1cnNlRGlyCVxcMTAuNDIuMjE4LjE2OVxwbGF0XHB1YmxpY1xkYWlrYW5nXHpob3VndW9wb1xwYXRjaC1kaWZmLXRlc3RcNzUyMFYyXFpNUF9CQVNFX1NWTlxBUFxsaW51eF9wbGF0XGJhc2VcbGludXhca2VybmVsc1xsaW51eC0zLjQuNQ0KKztzWW1ib2wuU291cmNlUEFUSC5TZXRSZWN1cnNlRGlyCVxcMTAuNDIuMjE3LjIzN1x6aGFvanVua3VpXHByb2plY3RcNzUyMC11Q2xpbnV4LXJlYWxcNzUyME1WMi4zLjBCMDFcQ1BVX1I3XHBsYXRmb3JtDQorDQorLy+809TYcmFtZHVtcA0KK2RvICZ0YXJnZXRfc3RhdGVfY21tICZkdW1wZGlyDQorDQorLy/J6NbDTU1VxvS2rw0KK1RSQU5TbGF0aW9uLlRhYmxlV2FsayBPTiAgO2RlYnVnZ2VyIHVzZXMgdGFibGUgd2FsayB0byBkZWNvZGUgdmlydHVhbCBhZGRyZXNzDQorVFJBTlNsYXRpb24uT04gICAgICAgICAgICA7c3dpdGNoIG9uIGRlYnVnZ2VyIGFkZHJlc3MgdHJhbnNsYXRpb24NCisNCitUQVNLLkNPTkZJRyAgICAgICAgIGxpbnV4ICAgICAgICAgLy9Jbml0IE11bHRpdGFzayBEZWJ1Z2dlcg0KK01FTlUuUmVQcm9ncmFtICAgICAgbGludXggICAgICAgICAvL0luaXQgQVJUSyBTcGV6aWZpYyBNZW51IFBhcnQncw0KK1RBU0suU1RhY0suUEFUVEVSTiAgMHhDQyAgICAgICAgLy9Jbml0IHN0YWNrIHNwYWNlIHdpdGggMHhDQw0KKy8vtPrC67bOsci9zw0KK2RvIC4vb3NfY29kZV9jb21wYXJlLmNtbQ0KK2RvIC4vbGludXhfY3Brb19hdHRhY2guY21tDQorZW5kZG8NCisNCmRpZmYgLS1naXQgYS9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9saW51eF8yOTc1MjB2M19ldmIuY21tIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvbGludXhfMjk3NTIwdjNfZXZiLmNtbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lYjcxNmM0Ci0tLSAvZGV2L251bGwKKysrIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvbGludXhfMjk3NTIwdjNfZXZiLmNtbQpAQCAtMCwwICsxLDE3MyBAQAorOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorOw0KKzsJTGludXggRGVtbyBmb3IgVFJBQ0UzMiBtdWx0aXRhc2sgZGVidWdnZXINCis7DQorOwlUaGlzIGJhdGNoZmlsZSBkZW1vbnN0cmF0ZXMgdGhlIHVzZSBvZiANCis7CXRoZSBNdWx0aXRhc2stRGVidWdnZXIgZm9yIExpbnV4IA0KKzsNCis7ICAgVGhlIGV4YW1wbGUgaXMgZ2VuZXJhdGVkIGZvciB0aGUgZXZiMjk3NTIwdjJmcGdhIGJvYXJkIHVzaW5nIGFuIElDRC4gDQorOyAgIEl0IHdpbGwgTk9UIHJ1biBvbiBhbnkgb3RoZXIgYm9hcmQsIGJ1dCBtYXkgYmUgdXNlZCBhcyBhIHRlbXBsYXRlIGZvciANCis7ICAgb3RoZXJzLg0KKzsgICBMaW51eCBpcyBkb3dubG9hZGVkIHRvIHRoZSBib2FyZCB2aWEgSUNELg0KKzsNCis7ICAgbW9kaWZpZWQgYnkgWlRFLVRTUCBhdCAyMDE1LjA4LjA3DQorOw0KKzsgICBOT1RJQ0U6DQorOyAgICAgICAgICAgIHRoaXMgc2NyaXB0IGNhbiBvbmx5IGJlIHVzZWQgb24gTk8ganRhZyBjaGFpbiBtb2RlDQorOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorDQorO2RvIC4vNzUyMFYyX0REUl8xR2JfMzEyLmNtbQ0KKw0KK0dMT0JBTCAmVk1MSU5VWF9QQVRIIA0KK0dMT0JBTCAmSU5JVFJEX1BBVEggDQorR0xPQkFMICZTT1VSQ0VfUEFUSA0KK0dMT0JBTCAmRERSX0JBU0UNCitHTE9CQUwgJklOSVRSRF9MT0FEX0FERFINCitHTE9CQUwgJklNQUdFX0xPQURfQUREUg0KKw0KKyZWTUxJTlVYX1BBVEg9ICIuLlwuLlxsaW51eF9wbGF0XGJhc2VcbGludXhca2VybmVsc1xsaW51eC0zLjQuNVx2bWxpbnV4Ig0KKyZJTUFHRV9QQVRIPSIuLlwuLlxsaW51eF9wbGF0XGJhc2VcbGludXhca2VybmVsc1xsaW51eC0zLjQuNVx6SW1hZ2UiDQorJklOSVRSRF9QQVRIPSAiLlxjcGlvX3JhbWRpc2suZ3oiDQorJlNPVVJDRV9QQVRIPSIuLlwuLlxsaW51eF9wbGF0XGJhc2VcbGludXhca2VybmVsc1xsaW51eC0zLjQuNSINCismRERSX0JBU0U9MHgyMjMwMDAwMA0KKyZJTklUUkRfTE9BRF9BRERSPSZERFJfQkFTRSsweEEwMDAwMA0KKyZJTUFHRV9MT0FEX0FERFI9JkREUl9CQVNFKzB4ODAwMA0KKw0KK2FyZWEucmVzZXQNCitwcmludCAicmVzZXR0aW5nLi4uIg0KK1RBU0suUkVTZXQNCitzWW1ib2wuUkVTZXQNCitNTVUuUkVTZXQNCisNCis7ZG8gLi9ib290LmNtbSANCisNCis7IHNldHVwIG9mIElDRA0KKyANCisgcHJpbnQgImluaXRpYWxpemluZy4uLiIgDQorc3lzLmNwdSBDb3J0ZXhBNTMNCitTWVN0ZW0uT3B0aW9uIE1NVVNQQUNFUyBPTiAgICAgOyBlbmFibGUgc3BhY2UgaWRzIHRvIHZpcnR1YWwgYWRkcmVzc2VzDQorU1lTdGVtLkp0YWdDbG9jayAzLjBNSHogICAgOyB1c2UgYWRhcHRpdmUgY2xvY2tpbmcgZm9yIG1vc3Qgc3BlZWQNCitzeXMub3B0aW9uIGVucmVzZXQgT2ZmDQorc3lzLm9wdGlvbiByZXNicmVhayBvZmYNCisNCitTeXMuQ29uZmlnLkNPUkVCQVNFIDB4ODA0MTAwMDAgIDsgQ29ydGV4LUE1Mw0KK1N5cy5Db25maWcuQ1RJQkFTRSAweDgwNDIwMDAwDQorU3lzLkNvbmZpZy5kZWJ1Z2FjY2Vzc3BvcnQgMA0KK1N5cy5Nb2RlIFBSRVBBUkUNCitXYWl0IDAuMXMNCisNCitzeXMudXANCis7ZGF0YS5zZXQgMHgwMTMwNjEwMCAlbG9uZyAweGZmZmZmZmZmICA7RERSIGNvbmZpZw0KKw0KK1NFVFVQLklNQVNLQVNNIE9OICAgICAgICAgIDsgbG9jayBpbnRlcnJ1cHRzIHdoaWxlIHNpbmdsZSBzdGVwcGluZ2xlIHN0ZXBwaW5nDQorIDtsMiBkaXZpc29uIC0tIG5vIG5lZWQNCis7IGRhdGEuc2V0IDB4MDA4MDMwMDQgJUxFICVMT05HIDB4MzMxMTE7DQorIA0KKy8vQTkgc2VsZWN0IDYyNE0sIGJpdDAtMiwgMD0yNiwgMT02MjQsIDI9NDgwLCAzPTMxMiwgND0xNTYNCis7ZGF0YS5zZXQgMHgwMTMwNjA0MCAlbG9uZyAweDAwMDAwMDAxDQorDQorOyBUYXJnZXQgU2V0dXA6IGluaXRpYWxpemUgTFBERFIgY29udHJvbGxlciBhbmQgcGVyaXBoZXJhbHMoZS5nLiBVQVJUMSkNCitwcmludCAiaW5pdGlhbGl6ZSBib2FyZCAuLi4iDQorDQorOyB1c2UgdGhlIGRlYnVnZ2VyIHRvIGluaXRpYWxpemUgaXQNCis7IGRvIGJhc2ljIHNldHVwIG9uIGJvYXJkOyANCis7IHdlIGRvbid0IG5lZWQgdGhpcyBzdGVwIG9uIHp4Mjk3NTEwIHBsYXRmb3JtLCBiZWNhdXNlIGp0YWdfZGVidWcgY29kZSBvciBUMzIgc2NyaXB0IGhhcyBydW4gYmVmb3JlIHRoaXMgc3RlcC4gDQorOyBqdGFnX2RlYnVnIGNvZGUgb3IgVDMyIHNjcmlwdCBydW5uaW5nIG9uIGNvcnRleC1tMCBpbml0aWF0ZXMgc3lzdGVtIGNsb2NrLCBERFIsIGdwaW8gbXVsdGlwbGV4LCBhbmQgc28gb24uLi4uIA0KKw0KK2RvIC5cY29uc29sZV9ldmIuY21tICAgICA7IHNldHVwIHNlcmlhbCBjb25zb2xlDQorCQ0KKzsgTG9hZCB0aGUgTGludXgga2VybmVsDQorDQorOyBJZiB5b3UgYXJlIHVzaW5nIGEgZmxhc2hlZCBrZXJuZWwsIG9yIGlmIHlvdSdyZSANCis7IGxvYWRpbmcgeW91ciBrZXJuZWwgdmlhIFRGVFAsIHVzZSB0aGUgYm9vdCBtb25pdG9yDQorOyB0byBkbyBzby4NCisNCis7IFVzZSB0aGUgbmV4dCBsaW5lcyBvbmx5IHRvIGxvYWQgdGhlIGtlcm5lbCBpbnRvDQorOyBSQU0gdXNpbmcgdGhlIGRlYnVnZ2VyLg0KKw0KKzsgdm1saW51eCBzdGFydHMgcGh5c2ljYWxseSBhdCBSQU0gc3RhcnQgKD0weDI4MDAwMDAwKSArIDB4ODAwMCANCis7IChzZWUgYXJjaC9hcm0va2VybmVsL2hlYWQtYXJtdi5TKQ0KK3ByaW50ICJsb2FkaW5nIExpbnV4IGltYWdlLi4uIg0KKztEYXRhLkxPQUQuQmluYXJ5ICAmSU1BR0VfUEFUSCAgJklNQUdFX0xPQURfQUREUiAgICAgIDsgbG9hZGluZyB6SW1hZ2UgaGVyZSwgaXQgd2lsbCB1bmNvbXByZXNzIGl0c2VsZg0KKztkYXRhLmxvYWQuZWxmICZWTUxJTlVYX1BBVEggKCZERFJfQkFTRSsweDgwMDApIC9nbnUgL25vc3ltYm9sDQorUmVnaXN0ZXIuUkVTZXQNCisNCisgRGF0YS5MT0FELkVsZiAmVk1MSU5VWF9QQVRIIDB4MjIzMDgwMDAtMHhjMDAwODAwMCAvZ251IC9ub3N5bWJvbA0KKw0KKzsgU2V0IFBDIG9uIHN0YXJ0IGFkZHJlc3Mgb2YgaW1hZ2UNCitSZWdpc3Rlci5TZXQgUEMgKCZERFJfQkFTRSsweDgwMDApDQorDQorDQorOyBTZXQgbWFjaGluZSB0eXBlIGluIFIxOyBzZWUgYXJjaC9hcm0vdG9vbHMvbWFjaC10eXBlcyAgIDc1MjAgPSAweDFkNjMNCitSZWdpc3Rlci5TZXQgUjEgMHgxZDYzDQorDQorOyBTZXQgcGFyYW1ldGVyIHRhZ3MgZm9yIGxpbnV4IGJvb3QNCitkbyAuXGF0YWctbGlzdC5jbW0NCitSZWdpc3Rlci5TZXQgUjIgKCZERFJfQkFTRSsweDAxMDApDQorDQorOyBMb2FkaW5nIFJBTSBkaXNrDQorcHJpbnQgImxvYWRpbmcgcmFtIGRpc2siDQorDQorOyBMb2FkIHJhbSBmaWxlIHN5c3RlbSBpbWFnZSBpbnRvIHJhbSBkaXNrDQorO0RhdGEuTE9BRC5CaW5hcnkgJklOSVRSRF9QQVRIICAmSU5JVFJEX0xPQURfQUREUg0KK0RhdGEuTE9BRC5CaW5hcnkgJklOSVRSRF9QQVRIICAmSU5JVFJEX0xPQURfQUREUiAgL25vY2xlYXIgL25vc3ltYm9sDQorDQorOyBMb2FkIHRoZSBMaW51eCBrZXJuZWwgc3ltYm9scyBpbnRvIHRoZSBkZWJ1Z2dlcg0KK3ByaW50ICJsb2FkaW5nIExpbnV4IGtlcm5lbCBzeW1ib2xzLi4uIg0KK0RhdGEuTE9BRC5FbGYgJlZNTElOVVhfUEFUSCAvZ251IC9ub2NvZGUgL3N0cmlwcGFydCAibGludXgtMy40LjUiIC9Tb3VyY2VQQVRIICAuLlxsaW51eC0zLjQuNQ0KKztEYXRhLkxPQUQuRWxmICZWTUxJTlVYX1BBVEggL2dudSAvbm9jb2RlICAvU291cmNlUEFUSCAgLi5cbGludXgtMy40LjUNCisNCis7IE9wZW4gYSBDb2RlIFdpbmRvdyAtLSB3ZSBsaWtlIHRvIHNlZSBzb21ldGhpbmcNCitEYXRhLkxpc3QNCisgICAgDQorIA0KKzsgUnVuIG92ZXIgTU1VICYgSW50ZXJydXB0IGluaXRpYWxpemF0aW9uDQorDQorIDtHbyBfX2luaXRfZW5kIC9PbmNoaXANCisgO3ByaW50ICJpbml0aWFsaXppbmcgdGFyZ2V0IGFuZCBkZWJ1Z2dlciBNTVUuLi4iDQorIDt3YWl0ICFydW4oKQ0KKyANCisgOyBNYXAgdGhlIHZpcnR1YWwga2VybmVsIHN5bWJvbHMgdG8gcGh5c2ljYWwgYWRkcmVzc2VzDQorIDsgdG8gZ2l2ZSB0aGUgZGVidWdnZXIgYWNjZXNzIHRvIGl0IGJlZm9yZSBDUFUgTU1VIGlzDQorIDsgaW5pdGlhbGl6ZWQNCisgTU1VLkZPUk1BVCBMSU5VWCBzd2FwcGVyX3BnX2RpciAweGMwMDAwMDAwLS0weGMwZmZmZmZmICZERFJfQkFTRQ0KKyBUUkFOU2xhdGlvbi5DT01NT04gMHhiZjAwMDAwMC0tMHhmZmZmZmZmZiAgICAgICAgICAgIDsgY29tbW9uIGFyZWEgZm9yIGtlcm5lbCBhbmQgcHJvY2Vzc2VzDQorIFRSQU5TbGF0aW9uLlRhYmxlV2FsayBPTiAgICAgO2RlYnVnZ2VyIHVzZXMgdGFibGUgd2FsayB0byBkZWNvZGUgdmlydHVhbCBhZGRyZXNzDQorIFRSQU5TbGF0aW9uLk9OICAgICAgICAgICAgO3N3aXRjaCBvbiBkZWJ1Z2dlciBhZGRyZXNzIHRyYW5zbGF0aW9uDQorIA0KKyA7IHNldCBzb3VyY2UgcGF0aA0KKyAgcHJpbnQgInNldCBzb3VyY2UgcGF0aCAuLi4iDQorICA7c1ltYm9sLlNvdXJjZVBBVEguUkVTZXQNCisgIHNZbWJvbC5Tb3VyY2VQQVRILlNldEJhc2VEaXIgJlNPVVJDRV9QQVRIDQorICBzWW1ib2wuU291cmNlUEFUSC5TZXRSZWN1cnNlRGlyICZTT1VSQ0VfUEFUSFxhcmNoXGFybVxtYWNoLXp4Mjk3NTIwdjMgDQorICBzWW1ib2wuU291cmNlUEFUSC5TZXRSZWN1cnNlRGlyICZTT1VSQ0VfUEFUSFxhcmNoXGFybQ0KKyAgc1ltYm9sLlNvdXJjZVBBVEguU2V0UmVjdXJzZURpciAmU09VUkNFX1BBVEhcaW5pdA0KKyAgc1ltYm9sLlNvdXJjZVBBVEguU2V0UmVjdXJzZURpciAmU09VUkNFX1BBVEhca2VybmVsDQorICBzWW1ib2wuU291cmNlUEFUSC5TZXRSZWN1cnNlRGlyICZTT1VSQ0VfUEFUSFxkcml2ZXJzXHR0eQ0KKyAgc1ltYm9sLlNvdXJjZVBBVEguU2V0UmVjdXJzZURpciAmU09VUkNFX1BBVEhcZHJpdmVyc1xjbGsNCisgIHNZbWJvbC5Tb3VyY2VQQVRILlNldFJlY3Vyc2VEaXIgJlNPVVJDRV9QQVRIXGRyaXZlcnNcZ3Bpbw0KKyAgc1ltYm9sLlNvdXJjZVBBVEguU2V0UmVjdXJzZURpciAmU09VUkNFX1BBVEhcZHJpdmVyc1xkbWENCis7ICBzWW1ib2wuU291cmNlUEFUSC5TZXRSZWN1cnNlRGlyICZTT1VSQ0VfUEFUSFxkcml2ZXJzDQorDQorDQorIDsgTm90ZSB0aGF0IHRoZSBMaW51eCBhd2FyZW5lc3MgbmVlZHMgdGhlIGtlcm5lbCBzeW1ib2xzIHRvIHdvcmsgDQorIHByaW50ICJpbml0aWFsaXppbmcgbXVsdGl0YXNrIHN1cHBvcnQuLi4iDQorIFRBU0suQ09ORklHIC5cbGludXggICAgICAgOyBsb2FkcyBMaW51eCBhd2FyZW5lc3MgKGxpbnV4LnQzMikNCisgTUVOVS5SZVByb2dyYW0gLlxsaW51eCAgICA7IGxvYWRzIExpbnV4IG1lbnUgKGxpbnV4Lm1lbikNCisgSEVMUC5GSUxURVIuQWRkIHJ0b3NsaW51eCAgOyBhZGQgbGludXggYXdhcmVuZXNzIG1hbnVhbCB0byBoZWxwIGZpbHRlcg0KKyBNRU5VLlJlUHJvZ3JhbSAgLlxzeXNcYm9hcmQgICAgICA7IGFkZCBib2FyZCB0b29scw0KKw0KKzsgc3dpdGNoIG9uIHN5bWJvbCBhdXRvbG9hZGVyDQorc1ltYm9sLkF1dG9Mb2FkLkNIRUNLTElOVVggImRvICIrb3MucHBkKCkrIi9hdXRvbG9hZCAiDQorICA7IEdyb3VwIGtlcm5lbCBhcmVhIHRvIGJlIGRpc3BsYXllZCB3aXRoIHJlZCBiYXINCisNCisgR1JPVVAuQ3JlYXRlICJrZXJuZWwiIDB4YzAwMDAwMDAtLTB4ZmZmZmZmZmYgL1JFRA0KKyBHUk9VUC5DcmVhdGUgIm1vZHVsZSIgMHhiZjAwMDAwMC0tMHhiZmZmZmZmZiAvYmx1ZQ0KKzsgT2ssIHdlJ3JlIGRvbmUsIGxldCdzIHN0YXJ0IExpbnV4DQorDQorIFNZU3RlbS5PcHRpb24gTU1VU1BBQ0VTIE9GRg0KKw0KKw0KKyANCitlbmRkbw0KKw0KZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2xpbnV4XzI5NzUyMHYzX2ZwZ2EuY21tIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvbGludXhfMjk3NTIwdjNfZnBnYS5jbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGU5MzIwNAotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2xpbnV4XzI5NzUyMHYzX2ZwZ2EuY21tCkBAIC0wLDAgKzEsMTczIEBACis7LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCis7DQorOwlMaW51eCBEZW1vIGZvciBUUkFDRTMyIG11bHRpdGFzayBkZWJ1Z2dlcg0KKzsNCis7CVRoaXMgYmF0Y2hmaWxlIGRlbW9uc3RyYXRlcyB0aGUgdXNlIG9mIA0KKzsJdGhlIE11bHRpdGFzay1EZWJ1Z2dlciBmb3IgTGludXggDQorOw0KKzsgICBUaGUgZXhhbXBsZSBpcyBnZW5lcmF0ZWQgZm9yIHRoZSBldmIyOTc1MjB2MmZwZ2EgYm9hcmQgdXNpbmcgYW4gSUNELiANCis7ICAgSXQgd2lsbCBOT1QgcnVuIG9uIGFueSBvdGhlciBib2FyZCwgYnV0IG1heSBiZSB1c2VkIGFzIGEgdGVtcGxhdGUgZm9yIA0KKzsgICBvdGhlcnMuDQorOyAgIExpbnV4IGlzIGRvd25sb2FkZWQgdG8gdGhlIGJvYXJkIHZpYSBJQ0QuDQorOw0KKzsgICBtb2RpZmllZCBieSBaVEUtVFNQIGF0IDIwMTUuMDguMDcNCis7DQorOyAgIE5PVElDRToNCis7ICAgICAgICAgICAgdGhpcyBzY3JpcHQgY2FuIG9ubHkgYmUgdXNlZCBvbiBOTyBqdGFnIGNoYWluIG1vZGUNCis7LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCisNCis7ZG8gLi83NTIwVjJfRERSXzFHYl8zMTIuY21tDQorDQorR0xPQkFMICZWTUxJTlVYX1BBVEggDQorR0xPQkFMICZJTklUUkRfUEFUSCANCitHTE9CQUwgJlNPVVJDRV9QQVRIDQorR0xPQkFMICZERFJfQkFTRQ0KK0dMT0JBTCAmSU5JVFJEX0xPQURfQUREUg0KK0dMT0JBTCAmSU1BR0VfTE9BRF9BRERSDQorDQorJlZNTElOVVhfUEFUSD0gIi5cdm1saW51eCINCismSU1BR0VfUEFUSD0iLi5cLi5cbGludXhfcGxhdFxiYXNlXGxpbnV4XGtlcm5lbHNcbGludXgtMy40LjVcekltYWdlIg0KKyZJTklUUkRfUEFUSD0gIi5cY3Bpb19yYW1kaXNrLmd6Ig0KKyZTT1VSQ0VfUEFUSD0iRjpcNzUyMFYzXGxpbnV4LTMuNC41Ig0KKyZERFJfQkFTRT0weDIyMzAwMDAwDQorJklOSVRSRF9MT0FEX0FERFI9JkREUl9CQVNFKzB4QTAwMDAwDQorJklNQUdFX0xPQURfQUREUj0mRERSX0JBU0UrMHg4MDAwDQorDQorYXJlYS5yZXNldA0KK3ByaW50ICJyZXNldHRpbmcuLi4iDQorVEFTSy5SRVNldA0KK3NZbWJvbC5SRVNldA0KK01NVS5SRVNldA0KKw0KKztkbyAuL2Jvb3QuY21tIA0KKw0KKzsgc2V0dXAgb2YgSUNEDQorIA0KKyBwcmludCAiaW5pdGlhbGl6aW5nLi4uIiANCitzeXMuY3B1IENvcnRleEE1Mw0KK1NZU3RlbS5PcHRpb24gTU1VU1BBQ0VTIE9OICAgICA7IGVuYWJsZSBzcGFjZSBpZHMgdG8gdmlydHVhbCBhZGRyZXNzZXMNCitTWVN0ZW0uSnRhZ0Nsb2NrIDMuME1IeiAgICA7IHVzZSBhZGFwdGl2ZSBjbG9ja2luZyBmb3IgbW9zdCBzcGVlZA0KK3N5cy5vcHRpb24gZW5yZXNldCBPZmYNCitzeXMub3B0aW9uIHJlc2JyZWFrIG9mZg0KKw0KK1N5cy5Db25maWcuQ09SRUJBU0UgMHg4MDQxMDAwMCAgOyBDb3J0ZXgtQTUzDQorU3lzLkNvbmZpZy5DVElCQVNFIDB4ODA0MjAwMDANCitTeXMuQ29uZmlnLmRlYnVnYWNjZXNzcG9ydCAwDQorU3lzLk1vZGUgUFJFUEFSRQ0KK1dhaXQgMC4xcw0KKw0KK3N5cy51cA0KKztkYXRhLnNldCAweDAxMzA2MTAwICVsb25nIDB4ZmZmZmZmZmYgIDtERFIgY29uZmlnDQorDQorU0VUVVAuSU1BU0tBU00gT04gICAgICAgICAgOyBsb2NrIGludGVycnVwdHMgd2hpbGUgc2luZ2xlIHN0ZXBwaW5nbGUgc3RlcHBpbmcNCisgO2wyIGRpdmlzb24gLS0gbm8gbmVlZA0KKzsgZGF0YS5zZXQgMHgwMDgwMzAwNCAlTEUgJUxPTkcgMHgzMzExMTsNCisgDQorLy9BOSBzZWxlY3QgNjI0TSwgYml0MC0yLCAwPTI2LCAxPTYyNCwgMj00ODAsIDM9MzEyLCA0PTE1Ng0KKztkYXRhLnNldCAweDAxMzA2MDQwICVsb25nIDB4MDAwMDAwMDENCisNCis7IFRhcmdldCBTZXR1cDogaW5pdGlhbGl6ZSBMUEREUiBjb250cm9sbGVyIGFuZCBwZXJpcGhlcmFscyhlLmcuIFVBUlQxKQ0KK3ByaW50ICJpbml0aWFsaXplIGJvYXJkIC4uLiINCisNCis7IHVzZSB0aGUgZGVidWdnZXIgdG8gaW5pdGlhbGl6ZSBpdA0KKzsgZG8gYmFzaWMgc2V0dXAgb24gYm9hcmQ7IA0KKzsgd2UgZG9uJ3QgbmVlZCB0aGlzIHN0ZXAgb24gengyOTc1MTAgcGxhdGZvcm0sIGJlY2F1c2UganRhZ19kZWJ1ZyBjb2RlIG9yIFQzMiBzY3JpcHQgaGFzIHJ1biBiZWZvcmUgdGhpcyBzdGVwLiANCis7IGp0YWdfZGVidWcgY29kZSBvciBUMzIgc2NyaXB0IHJ1bm5pbmcgb24gY29ydGV4LW0wIGluaXRpYXRlcyBzeXN0ZW0gY2xvY2ssIEREUiwgZ3BpbyBtdWx0aXBsZXgsIGFuZCBzbyBvbi4uLi4gDQorDQorZG8gLlxjb25zb2xlX2ZwZ2EuY21tICAgICA7IHNldHVwIHNlcmlhbCBjb25zb2xlDQorCQ0KKzsgTG9hZCB0aGUgTGludXgga2VybmVsDQorDQorOyBJZiB5b3UgYXJlIHVzaW5nIGEgZmxhc2hlZCBrZXJuZWwsIG9yIGlmIHlvdSdyZSANCis7IGxvYWRpbmcgeW91ciBrZXJuZWwgdmlhIFRGVFAsIHVzZSB0aGUgYm9vdCBtb25pdG9yDQorOyB0byBkbyBzby4NCisNCis7IFVzZSB0aGUgbmV4dCBsaW5lcyBvbmx5IHRvIGxvYWQgdGhlIGtlcm5lbCBpbnRvDQorOyBSQU0gdXNpbmcgdGhlIGRlYnVnZ2VyLg0KKw0KKzsgdm1saW51eCBzdGFydHMgcGh5c2ljYWxseSBhdCBSQU0gc3RhcnQgKD0weDI4MDAwMDAwKSArIDB4ODAwMCANCis7IChzZWUgYXJjaC9hcm0va2VybmVsL2hlYWQtYXJtdi5TKQ0KK3ByaW50ICJsb2FkaW5nIExpbnV4IGltYWdlLi4uIg0KKztEYXRhLkxPQUQuQmluYXJ5ICAmSU1BR0VfUEFUSCAgJklNQUdFX0xPQURfQUREUiAgICAgIDsgbG9hZGluZyB6SW1hZ2UgaGVyZSwgaXQgd2lsbCB1bmNvbXByZXNzIGl0c2VsZg0KKztkYXRhLmxvYWQuZWxmICZWTUxJTlVYX1BBVEggKCZERFJfQkFTRSsweDgwMDApIC9nbnUgL25vc3ltYm9sDQorUmVnaXN0ZXIuUkVTZXQNCisNCisgRGF0YS5MT0FELkVsZiAmVk1MSU5VWF9QQVRIIDB4MjIzMDgwMDAtMHhjMDAwODAwMCAvZ251IC9ub3N5bWJvbA0KKw0KKzsgU2V0IFBDIG9uIHN0YXJ0IGFkZHJlc3Mgb2YgaW1hZ2UNCitSZWdpc3Rlci5TZXQgUEMgKCZERFJfQkFTRSsweDgwMDApDQorDQorDQorOyBTZXQgbWFjaGluZSB0eXBlIGluIFIxOyBzZWUgYXJjaC9hcm0vdG9vbHMvbWFjaC10eXBlcyAgIDc1MjAgPSAweDFkNjMNCitSZWdpc3Rlci5TZXQgUjEgMHgxZDYzDQorDQorOyBTZXQgcGFyYW1ldGVyIHRhZ3MgZm9yIGxpbnV4IGJvb3QNCitkbyAuXGF0YWctbGlzdC5jbW0NCitSZWdpc3Rlci5TZXQgUjIgKCZERFJfQkFTRSsweDAxMDApDQorDQorOyBMb2FkaW5nIFJBTSBkaXNrDQorcHJpbnQgImxvYWRpbmcgcmFtIGRpc2siDQorDQorOyBMb2FkIHJhbSBmaWxlIHN5c3RlbSBpbWFnZSBpbnRvIHJhbSBkaXNrDQorO0RhdGEuTE9BRC5CaW5hcnkgJklOSVRSRF9QQVRIICAmSU5JVFJEX0xPQURfQUREUg0KK0RhdGEuTE9BRC5CaW5hcnkgJklOSVRSRF9QQVRIICAmSU5JVFJEX0xPQURfQUREUiAgL25vY2xlYXIgL25vc3ltYm9sDQorDQorOyBMb2FkIHRoZSBMaW51eCBrZXJuZWwgc3ltYm9scyBpbnRvIHRoZSBkZWJ1Z2dlcg0KK3ByaW50ICJsb2FkaW5nIExpbnV4IGtlcm5lbCBzeW1ib2xzLi4uIg0KK0RhdGEuTE9BRC5FbGYgJlZNTElOVVhfUEFUSCAvZ251IC9ub2NvZGUgL3N0cmlwcGFydCAibGludXgtMy40LjUiIC9Tb3VyY2VQQVRIICAuLlxsaW51eC0zLjQuNQ0KKztEYXRhLkxPQUQuRWxmICZWTUxJTlVYX1BBVEggL2dudSAvbm9jb2RlICAvU291cmNlUEFUSCAgLi5cbGludXgtMy40LjUNCisNCis7IE9wZW4gYSBDb2RlIFdpbmRvdyAtLSB3ZSBsaWtlIHRvIHNlZSBzb21ldGhpbmcNCitEYXRhLkxpc3QNCisgICAgDQorIA0KKzsgUnVuIG92ZXIgTU1VICYgSW50ZXJydXB0IGluaXRpYWxpemF0aW9uDQorDQorIDtHbyBfX2luaXRfZW5kIC9PbmNoaXANCisgO3ByaW50ICJpbml0aWFsaXppbmcgdGFyZ2V0IGFuZCBkZWJ1Z2dlciBNTVUuLi4iDQorIDt3YWl0ICFydW4oKQ0KKyANCisgOyBNYXAgdGhlIHZpcnR1YWwga2VybmVsIHN5bWJvbHMgdG8gcGh5c2ljYWwgYWRkcmVzc2VzDQorIDsgdG8gZ2l2ZSB0aGUgZGVidWdnZXIgYWNjZXNzIHRvIGl0IGJlZm9yZSBDUFUgTU1VIGlzDQorIDsgaW5pdGlhbGl6ZWQNCisgTU1VLkZPUk1BVCBMSU5VWCBzd2FwcGVyX3BnX2RpciAweGMwMDAwMDAwLS0weGMwZmZmZmZmICZERFJfQkFTRQ0KKyBUUkFOU2xhdGlvbi5DT01NT04gMHhiZjAwMDAwMC0tMHhmZmZmZmZmZiAgICAgICAgICAgIDsgY29tbW9uIGFyZWEgZm9yIGtlcm5lbCBhbmQgcHJvY2Vzc2VzDQorIFRSQU5TbGF0aW9uLlRhYmxlV2FsayBPTiAgICAgO2RlYnVnZ2VyIHVzZXMgdGFibGUgd2FsayB0byBkZWNvZGUgdmlydHVhbCBhZGRyZXNzDQorIFRSQU5TbGF0aW9uLk9OICAgICAgICAgICAgO3N3aXRjaCBvbiBkZWJ1Z2dlciBhZGRyZXNzIHRyYW5zbGF0aW9uDQorIA0KKyA7IHNldCBzb3VyY2UgcGF0aA0KKyAgcHJpbnQgInNldCBzb3VyY2UgcGF0aCAuLi4iDQorICA7c1ltYm9sLlNvdXJjZVBBVEguUkVTZXQNCisgIHNZbWJvbC5Tb3VyY2VQQVRILlNldEJhc2VEaXIgJlNPVVJDRV9QQVRIDQorICBzWW1ib2wuU291cmNlUEFUSC5TZXRSZWN1cnNlRGlyICZTT1VSQ0VfUEFUSFxhcmNoXGFybVxtYWNoLXp4Mjk3NTIwdjMgDQorICBzWW1ib2wuU291cmNlUEFUSC5TZXRSZWN1cnNlRGlyICZTT1VSQ0VfUEFUSFxhcmNoXGFybQ0KKyAgc1ltYm9sLlNvdXJjZVBBVEguU2V0UmVjdXJzZURpciAmU09VUkNFX1BBVEhcaW5pdA0KKyAgc1ltYm9sLlNvdXJjZVBBVEguU2V0UmVjdXJzZURpciAmU09VUkNFX1BBVEhca2VybmVsDQorICBzWW1ib2wuU291cmNlUEFUSC5TZXRSZWN1cnNlRGlyICZTT1VSQ0VfUEFUSFxkcml2ZXJzXHR0eQ0KKyAgc1ltYm9sLlNvdXJjZVBBVEguU2V0UmVjdXJzZURpciAmU09VUkNFX1BBVEhcZHJpdmVyc1xjbGsNCisgIHNZbWJvbC5Tb3VyY2VQQVRILlNldFJlY3Vyc2VEaXIgJlNPVVJDRV9QQVRIXGRyaXZlcnNcZ3Bpbw0KKyAgc1ltYm9sLlNvdXJjZVBBVEguU2V0UmVjdXJzZURpciAmU09VUkNFX1BBVEhcZHJpdmVyc1xkbWENCis7ICBzWW1ib2wuU291cmNlUEFUSC5TZXRSZWN1cnNlRGlyICZTT1VSQ0VfUEFUSFxkcml2ZXJzDQorDQorDQorIDsgTm90ZSB0aGF0IHRoZSBMaW51eCBhd2FyZW5lc3MgbmVlZHMgdGhlIGtlcm5lbCBzeW1ib2xzIHRvIHdvcmsgDQorIHByaW50ICJpbml0aWFsaXppbmcgbXVsdGl0YXNrIHN1cHBvcnQuLi4iDQorIFRBU0suQ09ORklHIC5cbGludXggICAgICAgOyBsb2FkcyBMaW51eCBhd2FyZW5lc3MgKGxpbnV4LnQzMikNCisgTUVOVS5SZVByb2dyYW0gLlxsaW51eCAgICA7IGxvYWRzIExpbnV4IG1lbnUgKGxpbnV4Lm1lbikNCisgSEVMUC5GSUxURVIuQWRkIHJ0b3NsaW51eCAgOyBhZGQgbGludXggYXdhcmVuZXNzIG1hbnVhbCB0byBoZWxwIGZpbHRlcg0KKyBNRU5VLlJlUHJvZ3JhbSAgLlxzeXNcYm9hcmQgICAgICA7IGFkZCBib2FyZCB0b29scw0KKw0KKzsgc3dpdGNoIG9uIHN5bWJvbCBhdXRvbG9hZGVyDQorc1ltYm9sLkF1dG9Mb2FkLkNIRUNLTElOVVggImRvICIrb3MucHBkKCkrIi9hdXRvbG9hZCAiDQorICA7IEdyb3VwIGtlcm5lbCBhcmVhIHRvIGJlIGRpc3BsYXllZCB3aXRoIHJlZCBiYXINCisNCisgR1JPVVAuQ3JlYXRlICJrZXJuZWwiIDB4YzAwMDAwMDAtLTB4ZmZmZmZmZmYgL1JFRA0KKyBHUk9VUC5DcmVhdGUgIm1vZHVsZSIgMHhiZjAwMDAwMC0tMHhiZmZmZmZmZiAvYmx1ZQ0KKzsgT2ssIHdlJ3JlIGRvbmUsIGxldCdzIHN0YXJ0IExpbnV4DQorDQorIFNZU3RlbS5PcHRpb24gTU1VU1BBQ0VTIE9GRg0KKw0KKw0KKyANCitlbmRkbw0KKw0KZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2xpbnV4XzI5NzUyMHYzZXZiX2F0dGFjaC5jbW0gYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9saW51eF8yOTc1MjB2M2V2Yl9hdHRhY2guY21tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc4YzI0NmEKLS0tIC9kZXYvbnVsbAorKysgYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9saW51eF8yOTc1MjB2M2V2Yl9hdHRhY2guY21tCkBAIC0wLDAgKzEsOTIgQEAKKzsvKml0IGlzIHVzZWQgZm9yIGF0dGFjaGluZyB3aGlsZSB6eDI5NzUxMGV2YiAgcnVubmluZyovDQorDQorO2RvIC4vYm9vdF9hdHRhY2hfQ29ydGV4QTkuY21tDQorDQorR0xPQkFMICZWTUxJTlVYX1BBVEgNCitHTE9CQUwgJlNPVVJDRV9QQVRIDQorR0xPQkFMICZERFJfQkFTRQ0KKw0KKyZTT1VSQ0VfUEFUSD0iLi5cLi5cbGludXhfcGxhdFxiYXNlXGxpbnV4XGtlcm5lbHNcbGludXgtMy40LjUiDQorJlZNTElOVVhfUEFUSD0iLi5cLi5cbGludXhfcGxhdFxiYXNlXGxpbnV4XGtlcm5lbHNcbGludXgtMy40LjVcdm1saW51eCINCisNCismRERSX0JBU0U9MHgyMDQ0MDAwMA0KKw0KKyBhcmVhLnJlc2V0DQorIHNZbWJvbC5SRVNldA0KK01NVS5SRVNldA0KKw0KKzsgc2V0dXAgb2YgSUNEDQorIA0KKyBwcmludCAiaW5pdGlhbGl6aW5nLi4uIiANCisgU1lTdGVtLkNQVSBDb3J0ZXhBNTMgICAgICAJCQk7IDtaWDI5NzUyMHYzIENvcnRleEE1MyBjb3JlDQorIFNZU3RlbS5PcHRpb24gTU1VU1BBQ0VTIE9OICAgICA7IGVuYWJsZSBzcGFjZSBpZHMgdG8gdmlydHVhbCBhZGRyZXNzZXMNCitTWVN0ZW0uSnRhZ0Nsb2NrIDMuME1IeiAgICA7IHVzZSBhZGFwdGl2ZSBjbG9ja2luZyBmb3IgbW9zdCBzcGVlZA0KKyANCisgc3lzdGVtLm9wdGlvbiByZXNicmVhayAgb2ZmDQorIHN5c3RlbS5vcHRpb24gZW5yZXNldCAgIG9mZg0KKyANCitTeXMuQ29uZmlnLkNPUkVCQVNFIDB4ODA0MTAwMDAgIDsgDQorU3lzLkNvbmZpZy5DVElCQVNFIDB4ODA0MjAwMDANCitTeXMuQ29uZmlnLmRlYnVnYWNjZXNzcG9ydCAwDQorU3lzLk1vZGUgUFJFUEFSRQ0KKw0KKyANCisgd2FpdCAwLjFzDQorIA0KKyBzeXMubW9kZSBhdHRhY2gNCisgU0VUVVAuSU1BU0tBU00gT04gICAgICAgICAgOyBsb2NrIGludGVycnVwdHMgd2hpbGUgc2luZ2xlIHN0ZXBwaW5nDQorIA0KKzsgTG9hZCB0aGUgTGludXgga2VybmVsIHN5bWJvbHMgaW50byB0aGUgZGVidWdnZXINCisgDQorIHByaW50ICJsb2FkaW5nIExpbnV4IGtlcm5lbCBzeW1ib2xzLi4uIg0KKw0KKyA7RGF0YS5MT0FELkVsZiAmVk1MSU5VWF9QQVRIIC9nbnUgL25vY29kZSAgL1NvdXJjZVBBVEggLi5cLi5cLi5cLi5cDQorIA0KK0RhdGEuTE9BRC5FbGYgJlZNTElOVVhfUEFUSCAvZ251IC9ub2NvZGUgL3N0cmlwcGFydCAibGludXgtMy40LjUiIC9Tb3VyY2VQQVRIICAuLlxsaW51eC0zLjQuNQ0KKw0KKyA7IE1hcCB0aGUgdmlydHVhbCBrZXJuZWwgc3ltYm9scyB0byBwaHlzaWNhbCBhZGRyZXNzZXMNCisgOyB0byBnaXZlIHRoZSBkZWJ1Z2dlciBhY2Nlc3MgdG8gaXQgYmVmb3JlIENQVSBNTVUgaXMNCisgOyBpbml0aWFsaXplZA0KKyBNTVUuRk9STUFUIExJTlVYIHN3YXBwZXJfcGdfZGlyIDB4YzAwNDAwMDAtLTB4YzMwZmZmZmYgJkREUl9CQVNFDQorIFRSQU5TbGF0aW9uLkNPTU1PTiAweGJmMDAwMDAwLS0weGZmZmZmZmZmICAgICAgICAgICAgOyBjb21tb24gYXJlYSBmb3Iga2VybmVsIGFuZCBwcm9jZXNzZXMNCisgVFJBTlNsYXRpb24uVGFibGVXYWxrIE9OICAgICA7ZGVidWdnZXIgdXNlcyB0YWJsZSB3YWxrIHRvIGRlY29kZSB2aXJ0dWFsIGFkZHJlc3MNCisgVFJBTlNsYXRpb24uT04gICAgICAgICAgICA7c3dpdGNoIG9uIGRlYnVnZ2VyIGFkZHJlc3MgdHJhbnNsYXRpb24NCisgDQorIDsgc2V0IHNvdXJjZSBwYXRoDQorICBwcmludCAic2V0IHNvdXJjZSBwYXRoIC4uLiINCisgIHNZbWJvbC5Tb3VyY2VQQVRILlJFU2V0DQorICBzWW1ib2wuU291cmNlUEFUSC5TZXRCYXNlRGlyICZTT1VSQ0VfUEFUSA0KKyAgc1ltYm9sLlNvdXJjZVBBVEguU2V0UmVjdXJzZURpciAmU09VUkNFX1BBVEhcYXJjaFxhcm0NCisgIHNZbWJvbC5Tb3VyY2VQQVRILlNldFJlY3Vyc2VEaXIgJlNPVVJDRV9QQVRIXGFyY2hcYXJtXG1hY2gtengyOTc1MjB2MyANCisgIHNZbWJvbC5Tb3VyY2VQQVRILlNldFJlY3Vyc2VEaXIgJlNPVVJDRV9QQVRIXGluaXQNCisgIHNZbWJvbC5Tb3VyY2VQQVRILlNldFJlY3Vyc2VEaXIgJlNPVVJDRV9QQVRIXGtlcm5lbA0KKyAgO3NZbWJvbC5Tb3VyY2VQQVRILlNldFJlY3Vyc2VEaXIgJlNPVVJDRV9QQVRIXGRyaXZlcnNcYmFzZQ0KKyAgO3NZbWJvbC5Tb3VyY2VQQVRILlNldFJlY3Vyc2VEaXIgJlNPVVJDRV9QQVRIXGRyaXZlcnNcdHR5DQorICA7c1ltYm9sLlNvdXJjZVBBVEguU2V0UmVjdXJzZURpciAmU09VUkNFX1BBVEhcZHJpdmVyc1xncGlvDQorICA7c1ltYm9sLlNvdXJjZVBBVEguU2V0UmVjdXJzZURpciAmU09VUkNFX1BBVEhcZHJpdmVyc1xpMmMNCisgIDtzWW1ib2wuU291cmNlUEFUSC5TZXRSZWN1cnNlRGlyICZTT1VSQ0VfUEFUSFxkcml2ZXJzXHVzYg0KKyAgO3NZbWJvbC5Tb3VyY2VQQVRILlNldFJlY3Vyc2VEaXIgJlNPVVJDRV9QQVRIXGRyaXZlcnNcbW1jDQorICA7c1ltYm9sLlNvdXJjZVBBVEguU2V0UmVjdXJzZURpciAmU09VUkNFX1BBVEhcbW0NCisgIHNZbWJvbC5Tb3VyY2VQQVRILlNldFJlY3Vyc2VEaXIgJlNPVVJDRV9QQVRIXGRyaXZlcnMNCisgIA0KKzsgSW5pdGlhbGl6ZSBMaW51eCBBd2FyZW5lc3MNCisNCisgOyBOb3RlIHRoYXQgdGhlIExpbnV4IGF3YXJlbmVzcyBuZWVkcyB0aGUga2VybmVsIHN5bWJvbHMgdG8gd29yayANCisgcHJpbnQgImluaXRpYWxpemluZyBtdWx0aXRhc2sgc3VwcG9ydC4uLiINCisgVEFTSy5DT05GSUcgLlxsaW51eCAgICAgICA7IGxvYWRzIExpbnV4IGF3YXJlbmVzcyAobGludXgudDMyKQ0KKyBNRU5VLlJlUHJvZ3JhbSAuXGxpbnV4ICAgIDsgbG9hZHMgTGludXggbWVudSAobGludXgubWVuKQ0KKyBIRUxQLkZJTFRFUi5BZGQgcnRvc2xpbnV4ICA7IGFkZCBsaW51eCBhd2FyZW5lc3MgbWFudWFsIHRvIGhlbHAgZmlsdGVyDQorIE1FTlUuUmVQcm9ncmFtICAuXHN5c1xib2FyZCAgICAgIDsgYWRkIGJvYXJkIHRvb2xzDQorIA0KKyAgOyBHcm91cCBrZXJuZWwgYXJlYSB0byBiZSBkaXNwbGF5ZWQgd2l0aCByZWQgYmFyDQorDQorIEdST1VQLkNyZWF0ZSAia2VybmVsIiAweGMwMDAwMDAwLS0weGZmZmZmZmZmIC9SRUQNCisgR1JPVVAuQ3JlYXRlICJtb2R1bGUiIDB4YmYwMDAwMDAtLTB4YmZmZmZmZmYgL2JsdWUNCis7IE9rLCB3ZSdyZSBkb25lLCBsZXQncyBzdGFydCBMaW51eA0KKyANCiticmVhaw0KKw0KK2VuZGRvDQorIA0KKw0KKw0KZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2xpbnV4X2J1ZGR5X2RlYnVnLmNtbSBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2xpbnV4X2J1ZGR5X2RlYnVnLmNtbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lMjQ0ZmFiCi0tLSAvZGV2L251bGwKKysrIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvbGludXhfYnVkZHlfZGVidWcuY21tCkBAIC0wLDAgKzEsNzEgQEAKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyoNCisvLyogICAgICAgICAgICAgICAgICBDb3B5cmlnaHQgKGMpIDIwMTYgWlRFIENvcnBvcmF0aW9uLg0KKy8vKg0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyBnZWFuZmVuZw0KKw0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyogvcWxvr3izvbH+NPyDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vtLS9qNK7uPa0sL/ao7sNCismd2lkdGg9NTAuDQorJm5hbWVXaWR0aD0yMC4NCismZmlsZUNvbHVtbnM9MTAwMC4NCismZmlsZUxpbmVzPTEwMDAuDQorDQorYXJlYS5jcmVhdGUgdHJhY2UgJmZpbGVDb2x1bW5zICAmZmlsZUxpbmVzDQorYXJlYS5jbGVhciB0cmFjZQ0KK2FyZWEuc2VsZWN0IHRyYWNlDQorDQorLy+08r+qzsS8/qO7DQorJmRpcj1vcy5wd2QoKSsiXGxvZ19idWRkZnkiDQoraWYgIW9zLmRpcigmZGlyKQ0KKygNCisgICAgbWtkaXIgJmRpciAgDQorKSANCismZmlsZT0iJmRpclxyZXN1bHQudHh0Ig0KK2FyZWEub3BlbiB0cmFjZSAmZmlsZQ0KK2FyZWEudmlldyB0cmFjZQ0KKw0KKy8vyOe5+1QzMtTa1MvQ0NKqts/XoaO7DQoraWYgcnVuKCkNCisoDQorICAgIGJyZWFrDQorKQ0KKyZub2RlPXYudmFsdWUoYnVkZHlfZW1wbG95X2hlYWQubmV4dCkNCismaGVhZD12LnZhbHVlKCZidWRkeV9lbXBsb3lfaGVhZCkNCit3aGlsZSAhKCZub2RlPT0maGVhZCkNCisoDQorCSZhZGRyPXYudmFsdWUoKChzdHJ1Y3QgaGVhcF9yZWNvcmQqKSZub2RlKS0+YWRkcikNCisJJnNpemU9di52YWx1ZSgoKHN0cnVjdCBoZWFwX3JlY29yZCopJm5vZGUpLT5zaXplKQ0KKwkmdGhyZWFkPXYuc3RyaW5nKCgoc3RydWN0IGhlYXBfcmVjb3JkKikmbm9kZSktPnRhc2tfbmFtZSkNCisJJmk9MA0KKwkmc3RhY2s9IiINCisJJnN0YWNrX3ZhbHVlPXYudmFsdWUoKChzdHJ1Y3QgaGVhcF9yZWNvcmQqKSZub2RlKS0+c3RhY2tfZnJhbWVbJmldKQ0KKwl3aGlsZSAmaTwweGEgDQorCSgNCisJCWlmICEoJnN0YWNrX3ZhbHVlPT0wKQ0KKwkJKA0KKwkJCSZzdGFja19mcmFtZT1ZLmZ1bmN0aW9uKFA6JnN0YWNrX3ZhbHVlKQ0KKwkJCSZzdGFja19mcmFtZT1vcy5maWxlLm5hbWUoIiZzdGFja19mcmFtZSIpDQorCQkJJnN0YWNrPSImc3RhY2siKyImaToiKyImc3RhY2tfZnJhbWUgIg0KKwkJCSZpPSZpKzENCisJCQkmc3RhY2tfdmFsdWU9di52YWx1ZSgoKHN0cnVjdCBoZWFwX3JlY29yZCopJm5vZGUpLT5zdGFja19mcmFtZVsmaV0pDQorCQkpDQorCQllbHNlDQorCQkoDQorCQkJZ290byBuZXh0DQorCQkpDQorCSkNCituZXh0Og0KKwkmc2l6ZT1mb3JtYXQuZGVjaW1hbCgxMC4sICZzaXplKQ0KKwlwcmludCAibm9kZTogIisiJm5vZGUiKyIgIGFkZHI6ICIrIiZhZGRyIisiICBzaXplOiIrIiZzaXplIisiICB0aHJlYWQ6IisiJnRocmVhZCIrIiAgc3RhY2tfZnJhbWU6IisiJnN0YWNrIiANCisJJm5vZGU9di52YWx1ZSgoKHN0cnVjdCBsaXN0X2hlYWQqKSZub2RlKS0+bmV4dCkNCispDQorDQorcHJpbnQgImFsbG9jYXRlZCBob2JieSBFbmQtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSINCisNCithcmVhLmNsb3NlIHRyYWNlDQorRU5ERE8NCisvLyoqKirUy9DQveHK+CoqKioqDQpkaWZmIC0tZ2l0IGEvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvbGludXhfY3Brb19hdHRhY2guY21tIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvbGludXhfY3Brb19hdHRhY2guY21tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3NGU1MjUKLS0tIC9kZXYvbnVsbAorKysgYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9saW51eF9jcGtvX2F0dGFjaC5jbW0KQEAgLTAsMCArMSwyMiBAQAorIC8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyoNCisvLyogICAgICAgICAgICAgICAgICBDb3B5cmlnaHQgKGMpIDIwMTYgWlRFIENvcnBvcmF0aW9uLg0KKy8vKg0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyBnZWFuZmVuZw0KKw0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyogvcWxvr3izvbH+NPyDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vtLS9qNK7uPa0sL/ao7sNCitsb2NhbCAmZWxmbmFtZQ0KK0RJQUxPRy5GaWxlICoNCitlbnRyeSAmZWxmbmFtZQ0KKyZjcGtvZGlyPW9zLmZpbGUucGF0aCgmZWxmbmFtZSkNCisNCismY3Brb190ZXh0X3N0YXJ0PXYudmFsdWUoY3Bwc19nbG9iYWxfdmFyLmNwa29fdGV4dF9zdGFydCkNCismY3Brb19kYXRhX3N0YXJ0PXYudmFsdWUoY3Bwc19nbG9iYWxfdmFyLmNwa29fZGF0YV9zdGFydCkNCismY3Brb19ic3Nfc3RhcnQ9di52YWx1ZShjcHBzX2dsb2JhbF92YXIuY3Brb19ic3Nfc3RhcnQpDQorDQorZGF0YS5sb2FkLmVsZiAiJmVsZm5hbWUiIC9nbnUgL25vY2xlYXIgL25vY29kZSAvcmVsb2MgLnRleHQgYXQgJmNwa29fdGV4dF9zdGFydCAvcmVsb2MgLmRhdGEgYXQgJmNwa29fZGF0YV9zdGFydCAvcmVsb2MgLmJzcyBhdCAmY3Brb19ic3Nfc3RhcnQNCisvLyoqKirUy9DQveHK+CoqKioqDQpkaWZmIC0tZ2l0IGEvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvbGludXhfa21hbGxvY19kZWJ1Zy5jbW0gYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9saW51eF9rbWFsbG9jX2RlYnVnLmNtbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mZTFjZjBlCi0tLSAvZGV2L251bGwKKysrIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvbGludXhfa21hbGxvY19kZWJ1Zy5jbW0KQEAgLTAsMCArMSw3NCBAQAorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vKg0KKy8vKiAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAoYykgMjAxNiBaVEUgQ29ycG9yYXRpb24uDQorLy8qDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vIGdlYW5mZW5nDQorDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vKiC9xbG+veLO9sf40/INCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy+0tL2o0ru49rSwv9qjuw0KKyZ3aWR0aD01MC4NCismbmFtZVdpZHRoPTIwLg0KKyZmaWxlQ29sdW1ucz0xMDAwLg0KKyZmaWxlTGluZXM9MTAwMC4NCisNCithcmVhLmNyZWF0ZSB0cmFjZSAmZmlsZUNvbHVtbnMgICZmaWxlTGluZXMNCithcmVhLmNsZWFyIHRyYWNlDQorYXJlYS5zZWxlY3QgdHJhY2UNCisNCisvL7Tyv6rOxLz+o7sNCismZGlyPW9zLnB3ZCgpKyJcbG9nX2ttYWxsb2MiDQoraWYgIW9zLmRpcigmZGlyKQ0KKygNCisgICAgbWtkaXIgJmRpciAgDQorKSANCismZmlsZT0iJmRpclxyZXN1bHQudHh0Ig0KK2FyZWEub3BlbiB0cmFjZSAmZmlsZQ0KK2FyZWEudmlldyB0cmFjZQ0KKw0KKy8vyOe5+1QzMtTa1MvQ0NKqts/XoaO7DQoraWYgcnVuKCkNCisoDQorICAgIGJyZWFrDQorKQ0KKw0KKyZub2RlPXYudmFsdWUoa21lbV9lbXBsb3lfaGVhZC5uZXh0KQ0KKw0KKyZoZWFkPXYudmFsdWUoJmttZW1fZW1wbG95X2hlYWQpDQorDQord2hpbGUgISgmbm9kZT09JmhlYWQpDQorKA0KKwkmYWRkcj12LnZhbHVlKCgoc3RydWN0IGhlYXBfcmVjb3JkKikmbm9kZSktPmFkZHIpDQorCSZzaXplPXYudmFsdWUoKChzdHJ1Y3QgaGVhcF9yZWNvcmQqKSZub2RlKS0+c2l6ZSkNCisJJnRocmVhZD12LnN0cmluZygoKHN0cnVjdCBoZWFwX3JlY29yZCopJm5vZGUpLT50YXNrX25hbWUpDQorCSZpPTANCisJJnN0YWNrPSIiDQorCSZzdGFja192YWx1ZT12LnZhbHVlKCgoc3RydWN0IGhlYXBfcmVjb3JkKikmbm9kZSktPnN0YWNrX2ZyYW1lWyZpXSkNCisJd2hpbGUgJmk8MHhhIA0KKwkoDQorCQlpZiAhKCZzdGFja192YWx1ZT09MCkNCisJCSgNCisJCQkmc3RhY2tfZnJhbWU9WS5mdW5jdGlvbihQOiZzdGFja192YWx1ZSkNCisJCQkmc3RhY2tfZnJhbWU9b3MuZmlsZS5uYW1lKCImc3RhY2tfZnJhbWUiKQ0KKwkJCSZzdGFjaz0iJnN0YWNrIisiJmk6IisiJnN0YWNrX2ZyYW1lICINCisJCQkmaT0maSsxDQorCQkJJnN0YWNrX3ZhbHVlPXYudmFsdWUoKChzdHJ1Y3QgaGVhcF9yZWNvcmQqKSZub2RlKS0+c3RhY2tfZnJhbWVbJmldKQ0KKwkJKQ0KKwkJZWxzZQ0KKwkJKA0KKwkJCWdvdG8gbmV4dA0KKwkJKQ0KKwkpDQorbmV4dDoNCisJJnNpemU9Zm9ybWF0LmRlY2ltYWwoMTAuLCAmc2l6ZSkNCisJcHJpbnQgIm5vZGU6ICIrIiZub2RlIisiICBhZGRyOiAiKyImYWRkciIrIiAgc2l6ZToiKyImc2l6ZSIrIiAgdGhyZWFkOiIrIiZ0aHJlYWQiKyIgIHN0YWNrX2ZyYW1lOiIrIiZzdGFjayIgDQorCSZub2RlPXYudmFsdWUoKChzdHJ1Y3QgbGlzdF9oZWFkKikmbm9kZSktPm5leHQpDQorKQ0KKw0KK3ByaW50ICJhbGxvY2F0ZWQga21hbGxvYyBFbmQtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSINCisNCithcmVhLmNsb3NlIHRyYWNlDQorRU5ERE8NCisvLyoqKirUy9DQveHK+CoqKioqDQpkaWZmIC0tZ2l0IGEvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvbmV0X3RyYWNlL2RhdGFfZnJlZS5jbW0gYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9uZXRfdHJhY2UvZGF0YV9mcmVlLmNtbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xNmM3MzE1Ci0tLSAvZGV2L251bGwKKysrIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvbmV0X3RyYWNlL2RhdGFfZnJlZS5jbW0KQEAgLTAsMCArMSw2MSBAQAorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vKiC9xbG+veLO9sf40/INCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorDQorLy+2qNLlvtayv7Hkwb8NCitsb2NhbCAmcF9pbml0X3Rhc2sgJnB0YXNrICZwbmV4dCAmYWN0aXZlX21tICZtbWFwICZwTmFtZSAmc3RhcnRhZGRyICZlbmRhZGRyICZtbWFwc2l6ZSAmYXBwbWVtc2l6ZSAmYXBwYWxsc2l6ZQ0KK2xvY2FsICZpZmluZGV4ICZtYWNhZGRyICZ0ZW1wbWFjICZjb3VudCAmZGV2YWRkciAmaXBhZGRyICZ0ZW1waXBhZGRyDQorLy+0tL2o0ru49rSwv9qjuw0KKyZ3aWR0aD0yMC4NCismbmFtZVdpZHRoPTIwLg0KKyZmaWxlQ29sdW1ucz0zMDAuDQorJmZpbGVMaW5lcz0zMDAwLg0KKw0KK2FyZWEuY3JlYXRlIHRyYWNlICZmaWxlQ29sdW1ucyAgJmZpbGVMaW5lcw0KK2FyZWEuY2xlYXIgdHJhY2UNCithcmVhLnNlbGVjdCB0cmFjZQ0KKw0KKy8vtPK/qs7EvP6juw0KKyZkaXI9b3MucHdkKCkrIlxsb2ciDQoraWYgIW9zLmRpcigmZGlyKQ0KKygNCisgIG1rZGlyICZkaXIgIA0KKykgDQorJmZpbGU9IiZkaXJcYWxsdGFzay50eHQiDQorYXJlYS5vcGVuIHRyYWNlICZmaWxlDQorDQorLy/I57n7VDMy1NrUy9DQ0qq2z9eho7sNCitpZiBydW4oKQ0KKygNCisgIGJyZWFrDQorKQ0KKw0KK2lmICF5LmV4aXN0KGluaXRfdGFzaykNCisoDQorICBwcmludCAlc3RyaW5nICJPUyBpcyBub3QgdUNsaW51eCINCisgIGFyZWEudmlldyB0cmFjZQ0KKyAgYXJlYS5jbG9zZSB0cmFjZQ0KKyAgZW5kbw0KKykNCisgDQorJnB0YXNrPXYudmFsdWUoKCgoc3RydWN0IGxlYWtfbGlzdCopJmRhdGFfZnJlZSlbbGVha19zZXRdKS5uZXh0KQ0KKyZjb3VudD12LnZhbHVlKCgoKHN0cnVjdCBsZWFrX2xpc3QqKSZkYXRhX2ZyZWUpW2xlYWtfc2V0XSkuY291bnQpDQorJm51bT0wDQorcmVwZWF0DQorKA0KKyZwbmV4dD12LnZhbHVlKCgoc3RydWN0IHRyYWNrX2luZm8qKSZwdGFzayktPm5leHQpDQorJnB0cj12LnN0cmluZygoKHN0cnVjdCB0cmFja19pbmZvKikmcHRhc2spLT5mdW5jX3RyYWNrKQ0KKyZwdHIxPXYuc3RyaW5nKCgoc3RydWN0IHRyYWNrX2luZm8qKSZwdGFzayktPmZ1bmNfdHJhY2srMjAwKQ0KKyZwdGFzaz0mcG5leHQNCitwcmludCAlc3RyaW5nICAiJm51bSAmcHRyIiANCitwcmludCAgJXN0cmluZyAiJnB0cjEiDQorcHJpbnQgJXN0cmluZyAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIg0KKyZudW09Jm51bSsxDQorKQ0KK3doaWxlICgmbnVtPCZjb3VudCkNCitwcmludCBGT1JNQVQuQ0hBUignLScsJmZpbGVDb2x1bW5zLCctJykNCisNCithcmVhLnZpZXcgdHJhY2UNCithcmVhLmNsb3NlIHRyYWNlDQorZW5kZG8NCisgICAgDQpkaWZmIC0tZ2l0IGEvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvbmV0X3RyYWNlL2RhdGFfbGVhay5jbW0gYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9uZXRfdHJhY2UvZGF0YV9sZWFrLmNtbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zYTA1NDVhCi0tLSAvZGV2L251bGwKKysrIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvbmV0X3RyYWNlL2RhdGFfbGVhay5jbW0KQEAgLTAsMCArMSw1OCBAQAorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vKiC9xbG+veLO9sf40/INCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorDQorLy+2qNLlvtayv7Hkwb8NCitsb2NhbCAmcF9pbml0X3Rhc2sgJnB0YXNrICZwbmV4dCAmYWN0aXZlX21tICZtbWFwICZwTmFtZSAmc3RhcnRhZGRyICZlbmRhZGRyICZtbWFwc2l6ZSAmYXBwbWVtc2l6ZSAmYXBwYWxsc2l6ZQ0KK2xvY2FsICZpZmluZGV4ICZtYWNhZGRyICZ0ZW1wbWFjICZjb3VudCAmZGV2YWRkciAmaXBhZGRyICZ0ZW1waXBhZGRyDQorLy+0tL2o0ru49rSwv9qjuw0KKyZ3aWR0aD0yMC4NCismbmFtZVdpZHRoPTIwLg0KKyZmaWxlQ29sdW1ucz0xNTAuDQorJmZpbGVMaW5lcz0zMDAwLg0KKw0KK2FyZWEuY3JlYXRlIHRyYWNlICZmaWxlQ29sdW1ucyAgJmZpbGVMaW5lcw0KK2FyZWEuY2xlYXIgdHJhY2UNCithcmVhLnNlbGVjdCB0cmFjZQ0KKw0KKy8vtPK/qs7EvP6juw0KKyZkaXI9b3MucHdkKCkrIlxsb2ciDQoraWYgIW9zLmRpcigmZGlyKQ0KKygNCisgIG1rZGlyICZkaXIgIA0KKykgDQorJmZpbGU9IiZkaXJcYWxsdGFzay50eHQiDQorYXJlYS5vcGVuIHRyYWNlICZmaWxlDQorDQorLy/I57n7VDMy1NrUy9DQ0qq2z9eho7sNCitpZiBydW4oKQ0KKygNCisgIGJyZWFrDQorKQ0KKw0KK2lmICF5LmV4aXN0KGluaXRfdGFzaykNCisoDQorICBwcmludCAlc3RyaW5nICJPUyBpcyBub3QgdUNsaW51eCINCisgIGFyZWEudmlldyB0cmFjZQ0KKyAgYXJlYS5jbG9zZSB0cmFjZQ0KKyAgZW5kbw0KKykNCisgDQorJnB0YXNrPXYudmFsdWUoKCgoc3RydWN0IGxlYWtfbGlzdCopJmRhdGFfbGVhaylbbGVha19zZXRdKS5uZXh0KQ0KKyZjb3VudD12LnZhbHVlKCgoKHN0cnVjdCBsZWFrX2xpc3QqKSZkYXRhX2xlYWspW2xlYWtfc2V0XSkuY291bnQpDQorJm51bT0wDQorcmVwZWF0DQorKA0KKyZwbmV4dD12LnZhbHVlKCgoc3RydWN0IHRyYWNrX2luZm8qKSZwdGFzayktPm5leHQpDQorJnB0cj12LnN0cmluZygoKHN0cnVjdCB0cmFja19pbmZvKikmcHRhc2spLT5mdW5jX3RyYWNrKQ0KKyZwdGFzaz0mcG5leHQNCitwcmludCAlc3RyaW5nICAiJnB0ciAgJm51bSIgDQorJm51bT0mbnVtKzENCispDQord2hpbGUgKCZudW08JmNvdW50KQ0KK3ByaW50IEZPUk1BVC5DSEFSKCctJywmZmlsZUNvbHVtbnMsJy0nKQ0KKw0KK2FyZWEudmlldyB0cmFjZQ0KK2FyZWEuY2xvc2UgdHJhY2UNCitlbmRkbw0KKyAgICANCmRpZmYgLS1naXQgYS9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9uZXRfdHJhY2UvbGludXhfY29ubl9oYXNoX2luZm8gLmNtbSBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL25ldF90cmFjZS9saW51eF9jb25uX2hhc2hfaW5mbyAuY21tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQ2NzNkMjUKLS0tIC9kZXYvbnVsbAorKysgYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9uZXRfdHJhY2UvbGludXhfY29ubl9oYXNoX2luZm8gLmNtbQpAQCAtMCwwICsxLDg3IEBACisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8qIL3Fsb694s72x/jT8g0KKy8vy/nT0NLRvajBtL3T0MXPog0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisNCisvL7ao0uW+1rK/seTBvw0KK2xvY2FsICZwX2luaXRfdGFzayAmcHRhc2sgJmhhc2hfc2hpZnQgJmFjdGl2ZV9tbSAmbW1hcCAmcE5hbWUgJmhhc2hfYnVja2V0cyAmZW5kYWRkciAmbW1hcHNpemUgJmFwcG1lbXNpemUgJmFwcGFsbHNpemUNCitsb2NhbCAgJm1hY2FkZHIgJnRlbXBtYWMgJmNvdW50ICZkZXZhZGRyICZpcGFkZHIgJnRlbXBpcGFkZHIgJmhhc2hpbmZvDQorLy+0tL2o0ru49rSwv9qjuw0KKyZ3aWR0aD0yMC4NCismbmFtZVdpZHRoPTIwLg0KKyZmaWxlQ29sdW1ucz04MDAuDQorJmZpbGVMaW5lcz0yMDAuDQorDQorYXJlYS5jcmVhdGUgdHJhY2UgJmZpbGVDb2x1bW5zICAmZmlsZUxpbmVzDQorYXJlYS5jbGVhciB0cmFjZQ0KK2FyZWEuc2VsZWN0IHRyYWNlDQorDQorLy+08r+qzsS8/qO7DQorJmRpcj1vcy5wd2QoKSsiXGxvZyINCitpZiAhb3MuZGlyKCZkaXIpDQorKA0KKyAgbWtkaXIgJmRpciAgDQorKSANCismZmlsZT0iJmRpclxoYXNoLnR4dCINCithcmVhLm9wZW4gdHJhY2UgJmZpbGUNCisNCisvL8jnuftUMzLU2tTL0NDSqrbP16Gjuw0KK2lmIHJ1bigpDQorKA0KKyAgYnJlYWsNCispDQorDQoraWYgIXkuZXhpc3QoaW5pdF90YXNrKQ0KKygNCisgIHByaW50ICVzdHJpbmcgIk9TIGlzIG5vdCB1Q2xpbnV4Ig0KKyAgYXJlYS52aWV3IHRyYWNlDQorICBhcmVhLmNsb3NlIHRyYWNlDQorICBlbmRvDQorKQ0KKw0KK3ByaW50ICJjb25uIGluZm86Ig0KKyZwdGFzaz12LnZhbHVlKCZpbml0X25ldC5jdCkNCismaHRhYmxlX3NpemU9di52YWx1ZSgoKHN0cnVjdCBuZXRuc19jdCopJnB0YXNrKS0+aHRhYmxlX3NpemUpDQorJmhhc2g9di52YWx1ZSgoKHN0cnVjdCBuZXRuc19jdCopJnB0YXNrKS0+aGFzaCkNCismb2Zmc2V0PXYudmFsdWUoKChzdHJ1Y3QgbmZfY29ubiopMHgwKS0+dHVwbGVoYXNoKQ0KK3ByaW50ICVzdHJpbmcgIiZvZmZzZXQiDQorJmNvdW50PTANCit3aGlsZSAoJmNvdW50PCZodGFibGVfc2l6ZSkNCisoDQorICAmaGFzaGluZm89di52YWx1ZSgoKHN0cnVjdCBobGlzdF9udWxsc19oZWFkKikmaGFzaClbJmNvdW50XS0+Zmlyc3QpDQorICByZXBlYXQNCisgICgNCisgIGlmICZoYXNoaW5mbz4weEMwMDAwMDAwDQorICAoDQorICAmY29ubj0maGFzaGluZm8tJm9mZnNldA0KKyAgJnNyY190dXBsZT12LnZhbHVlKCgoc3RydWN0IG5mX2Nvbm4qKSZjb25uKS0+dHVwbGVoYXNoLnR1cGxlLnNyYy51My5pcCkNCisgICZzcmNfcG9ydD12LnZhbHVlKCgoc3RydWN0IG5mX2Nvbm4qKSZjb25uKS0+dHVwbGVoYXNoLnR1cGxlLnNyYy51LmFsbCkNCisgICZkc3RfdHVwbGU9di52YWx1ZSgoKHN0cnVjdCBuZl9jb25uKikmY29ubiktPnR1cGxlaGFzaC50dXBsZS5kc3QudTMuaXApDQorICAmZHN0X3BvcnQ9di52YWx1ZSgoKHN0cnVjdCBuZl9jb25uKikmY29ubiktPnR1cGxlaGFzaC50dXBsZS5kc3QudS5hbGwpDQorICAmcHJvdG89di52YWx1ZSgoKHN0cnVjdCBuZl9jb25uKikmY29ubiktPnR1cGxlaGFzaC50dXBsZS5kc3QucHJvdG9udW0pDQorICAmZGlyPXYudmFsdWUoKChzdHJ1Y3QgbmZfY29ubiopJmNvbm4pLT50dXBsZWhhc2gudHVwbGUuZHN0LmRpcikNCisgIGlmICZwcm90bz09MHgxMQ0KKyAgICAgJnByb3RvPSJVRFAiDQorICBlbHNlIGlmICZwcm90bz09MHg2DQorICAgICAmcHJvdG89IlRDUCINCisgIGlmICZkaXI9PTANCisgICAgICZkaXI9Im9yaWdpbmFsIg0KKyAgZWxzZQ0KKyAgICAgJmRpcj0icmVwbHkiDQorICBwcmludCAlc3RyaW5nICJzcmMgJnNyY190dXBsZTomc3JjX3BvcnQgIC0+ICBkc3QgJmRzdF90dXBsZTomZHN0X3BvcnQgIHByb3RvOiAmcHJvdG8gICBkaXI6ICZkaXIiDQorICBwcmludCAlc3RyaW5nICJjb25uICZjb25uIg0KKyAgJmhhc2hpbmZvPXYudmFsdWUoKChzdHJ1Y3QgaGxpc3RfbnVsbHNfbm9kZSopJmhhc2hpbmZvKS0+bmV4dCkNCisgIA0KKyAgKQ0KKyAgKQ0KKyAgd2hpbGUgKCZoYXNoaW5mbz4weEMwMDAwMDAwKQ0KKy8vICBwcmludCAlc3RyaW5nICJoYXNoaW5mbyAmaGFzaGluZm8iDQorICAmY291bnQ9JmNvdW50KzENCispCQ0KKy8vd2hpbGUgKCZjb3VudDwmaGFzaF9zaGlmdCkNCitwcmludCBGT1JNQVQuQ0hBUignLScsJmZpbGVDb2x1bW5zLCctJykNCisNCithcmVhLnZpZXcgdHJhY2UNCithcmVhLmNsb3NlIHRyYWNlDQorZW5kZG8NCisgICAgDQpkaWZmIC0tZ2l0IGEvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvbmV0X3RyYWNlL2xpbnV4X2RldmljZV9hZGRyLmNtbSBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL25ldF90cmFjZS9saW51eF9kZXZpY2VfYWRkci5jbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzg4ZTM3YQotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL25ldF90cmFjZS9saW51eF9kZXZpY2VfYWRkci5jbW0KQEAgLTAsMCArMSw4NiBAQAorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vKiC9xbG+veLO9sf40/INCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorDQorLy+2qNLlvtayv7Hkwb8NCitsb2NhbCAmcF9pbml0X3Rhc2sgJnB0YXNrICZwbmV4dCAmYWN0aXZlX21tICZtbWFwICZwTmFtZSAmc3RhcnRhZGRyICZlbmRhZGRyICZtbWFwc2l6ZSAmYXBwbWVtc2l6ZSAmYXBwYWxsc2l6ZQ0KKw0KKy8vtLS9qNK7uPa0sL/ao7sNCismd2lkdGg9MjAuDQorJm5hbWVXaWR0aD0yMC4NCismZmlsZUNvbHVtbnM9ODAwLg0KKyZmaWxlTGluZXM9MjAwLg0KKw0KK2FyZWEuY3JlYXRlIHRyYWNlICZmaWxlQ29sdW1ucyAgJmZpbGVMaW5lcw0KK2FyZWEuY2xlYXIgdHJhY2UNCithcmVhLnNlbGVjdCB0cmFjZQ0KKw0KKy8vtPK/qs7EvP6juw0KKyZkaXI9b3MucHdkKCkrIlxsb2ciDQoraWYgIW9zLmRpcigmZGlyKQ0KKygNCisgIG1rZGlyICZkaXIgIA0KKykgDQorJmZpbGU9IiZkaXJcYWxsdGFzay50eHQiDQorYXJlYS5vcGVuIHRyYWNlICZmaWxlDQorDQorLy/I57n7VDMy1NrUy9DQ0qq2z9eho7sNCitpZiBydW4oKQ0KKygNCisgIGJyZWFrDQorKQ0KKw0KK2lmICF5LmV4aXN0KGluaXRfdGFzaykNCisoDQorICBwcmludCAlc3RyaW5nICJPUyBpcyBub3QgdUNsaW51eCINCisgIGFyZWEudmlldyB0cmFjZQ0KKyAgYXJlYS5jbG9zZSB0cmFjZQ0KKyAgZW5kbw0KKykNCisNCisNCismcHRhc2s9di52YWx1ZSgoKHN0cnVjdCBuZXQqKSZpbml0X25ldCktPmRldl9iYXNlX2hlYWQubmV4dCkNCismcG5leHQ9JnB0YXNrDQorJnBfaW5pdF90YXNrPSZwdGFzaw0KKw0KK3JlcGVhdA0KKygNCisgIHByaW50ICVzdHJpbmcgIiZwdGFzayINCisgICZwdGFzaz0mcG5leHQtOEMNCisgICZwbmV4dD12LnZhbHVlKCgoc3RydWN0IG5ldF9kZXZpY2UqKSZwdGFzayktPmRldl9saXN0Lm5leHQpDQorCQ0KKyAgJnBOYW1lPXYuc3RyaW5nKCgoc3RydWN0IG5ldF9kZXZpY2UqKSZwdGFzayktPm5hbWUpDQorDQorICAmc3RyaW5nPSIiDQorICAmc3RyaW5nPSImc3RyaW5nIisiICZwTmFtZSINCisgIHByaW50ICVzdHJpbmcgICImc3RyaW5nIg0KKyAgDQorICAvLyZhY3RpdmVfbW09di52YWx1ZSgoKHN0cnVjdCB0YXNrX3N0cnVjdCopJnB0YXNrKS0+YWN0aXZlX21tKQ0KKyAgLy9pZiAmYWN0aXZlX21tIT0wDQorIC8vICgNCisgICAvLyAmcE5hbWU9di5zdHJpbmcoKChzdHJ1Y3QgdGFza19zdHJ1Y3QgKikmcHRhc2spLT5jb21tKQ0KKyAgLy8gICZ0aHJlYWRfaW5mbz12LnZhbHVlKCgoc3RydWN0IHRhc2tfc3RydWN0ICopJnB0YXNrKS0+c3RhY2spDQorICAvLyAgJnN0YXJ0X2NvZGU9di52YWx1ZSgoKHN0cnVjdCB0YXNrX3N0cnVjdCAqKSZwdGFzayktPmFjdGl2ZV9tbS5zdGFydF9jb2RlKQ0KKyAgLy8gICZlbmRfY29kZT12LnZhbHVlKCgoc3RydWN0IHRhc2tfc3RydWN0ICopJnB0YXNrKS0+YWN0aXZlX21tLmVuZF9jb2RlKQ0KKyAgIC8vICZzdGFydF9zdGFjaz12LnZhbHVlKCgoc3RydWN0IHRhc2tfc3RydWN0ICopJnB0YXNrKS0+YWN0aXZlX21tLnN0YXJ0X3N0YWNrKQ0KKyAgLy8gICZsb3dfc3RhY2s9di52YWx1ZSgoKHN0cnVjdCB0YXNrX3N0cnVjdCAqKSZwdGFzayktPmFjdGl2ZV9tbS5icmspDQorDQorICAvLyAgJnN0cmluZz0iIg0KKyAgLy8gICZzdHJpbmc9IiZzdHJpbmciKyIgKHN0cnVjdCB0YXNrX3N0cnVjdCopIitmb3JtYXQuc3RyaW5nKCImcHRhc2siLDEwLCcgJykNCisgLy8gICAmc3RyaW5nPSImc3RyaW5nIisiIChzdHJ1Y3QgdGhyZWFkX2luZm8qKSIrZm9ybWF0LnN0cmluZygiJnRocmVhZF9pbmZvIiwxMCwnICcpDQorICAvLyAgJnN0cmluZz0iJnN0cmluZyIrIiBzdGFydF9jb2RlOiIrZm9ybWF0LnN0cmluZygiJnN0YXJ0X2NvZGUiLDEwLCcgJykNCisgLy8gICAmc3RyaW5nPSImc3RyaW5nIisiIGVuZF9jb2RlOiIrZm9ybWF0LnN0cmluZygiJmVuZF9jb2RlIiwxMCwnICcpDQorLy8gICAgJnN0cmluZz0iJnN0cmluZyIrIiBzdGFja19oaWdoOiIrZm9ybWF0LnN0cmluZygiJnN0YXJ0X3N0YWNrIiwxMCwnICcpDQorLy8gICAgJnN0cmluZz0iJnN0cmluZyIrIiBzdGFja19sb3c6Iitmb3JtYXQuc3RyaW5nKCImbG93X3N0YWNrIiwxMCwnICcpDQorLy8gICAgJnN0cmluZz0iJnN0cmluZyIrIiAmcE5hbWUiDQorIC8vICAgcHJpbnQgJXN0cmluZyAgIiZzdHJpbmciDQorDQorIC8vICkNCispCQ0KK3doaWxlICgmcG5leHQhPSZwX2luaXRfdGFzaykNCitwcmludCBGT1JNQVQuQ0hBUignLScsJmZpbGVDb2x1bW5zLCctJykNCisNCithcmVhLnZpZXcgdHJhY2UNCithcmVhLmNsb3NlIHRyYWNlDQorZW5kZG8NCisgICAgDQpkaWZmIC0tZ2l0IGEvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvbmV0X3RyYWNlL2xpbnV4X2RldmljZV9pbmZvLmNtbSBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL25ldF90cmFjZS9saW51eF9kZXZpY2VfaW5mby5jbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjkzNjUzNQotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL25ldF90cmFjZS9saW51eF9kZXZpY2VfaW5mby5jbW0KQEAgLTAsMCArMSw3OCBAQAorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vKiC9xbG+veLO9sf40/INCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorDQorLy+2qNLlvtayv7Hkwb8NCitsb2NhbCAmcF9pbml0X3Rhc2sgJnB0YXNrICZwbmV4dCAmYWN0aXZlX21tICZtbWFwICZwTmFtZSAmc3RhcnRhZGRyICZlbmRhZGRyICZtbWFwc2l6ZSAmYXBwbWVtc2l6ZSAmYXBwYWxsc2l6ZQ0KK2xvY2FsICZpZmluZGV4ICZtYWNhZGRyICZ0ZW1wbWFjICZjb3VudCAmZGV2YWRkciAmaXBhZGRyICZ0ZW1waXBhZGRyDQorLy+0tL2o0ru49rSwv9qjuw0KKyZ3aWR0aD0yMC4NCismbmFtZVdpZHRoPTIwLg0KKyZmaWxlQ29sdW1ucz04MDAuDQorJmZpbGVMaW5lcz0yMDAuDQorDQorYXJlYS5jcmVhdGUgdHJhY2UgJmZpbGVDb2x1bW5zICAmZmlsZUxpbmVzDQorYXJlYS5jbGVhciB0cmFjZQ0KK2FyZWEuc2VsZWN0IHRyYWNlDQorDQorLy+08r+qzsS8/qO7DQorJmRpcj1vcy5wd2QoKSsiXGxvZyINCitpZiAhb3MuZGlyKCZkaXIpDQorKA0KKyAgbWtkaXIgJmRpciAgDQorKSANCismZmlsZT0iJmRpclxhbGx0YXNrLnR4dCINCithcmVhLm9wZW4gdHJhY2UgJmZpbGUNCisNCisvL8jnuftUMzLU2tTL0NDSqrbP16Gjuw0KK2lmIHJ1bigpDQorKA0KKyAgYnJlYWsNCispDQorDQoraWYgIXkuZXhpc3QoaW5pdF90YXNrKQ0KKygNCisgIHByaW50ICVzdHJpbmcgIk9TIGlzIG5vdCB1Q2xpbnV4Ig0KKyAgYXJlYS52aWV3IHRyYWNlDQorICBhcmVhLmNsb3NlIHRyYWNlDQorICBlbmRvDQorKQ0KKw0KKw0KKyZwdGFzaz12LnZhbHVlKCgoc3RydWN0IG5ldCopJmluaXRfbmV0KS0+ZGV2X2Jhc2VfaGVhZC5uZXh0KQ0KKyZwbmV4dD0mcHRhc2sNCismcF9pbml0X3Rhc2s9JnB0YXNrDQorJm9mZnNldD12LnZhbHVlKCYoKChzdHJ1Y3QgbmV0X2RldmljZSopMCktPmRldl9saXN0KSkNCityZXBlYXQNCisoDQorICAmcHRhc2s9JnBuZXh0LTB4OTANCisgICZwbmV4dD12LnZhbHVlKCgoc3RydWN0IG5ldF9kZXZpY2UqKSZwdGFzayktPmRldl9saXN0Lm5leHQpDQorICAmZGV2YWRkcj12LnZhbHVlKCgoc3RydWN0IG5ldF9kZXZpY2UqKSZwdGFzayktPmRldl9hZGRyKQ0KKyAgJnBOYW1lPXYuc3RyaW5nKCgoc3RydWN0IG5ldF9kZXZpY2UqKSZwdGFzayktPm5hbWUpDQorICAmaWZpbmRleD12LnN0cmluZygoKHN0cnVjdCBuZXRfZGV2aWNlKikmcHRhc2spLT5pZmluZGV4KQ0KKyAgJmNvdW50PTANCisgICZtYWNhZGRyPSIiDQorcmVwZWF0DQorKA0KKyAgJnRlbXBtYWM9di52YWx1ZSgodW5zaWduZWQgY2hhciopKCZkZXZhZGRyKVsmY291bnRdKQ0KKyAgJm1hY2FkZHI9IiZtYWNhZGRyIisiJnRlbXBtYWMiDQorICBpZiAmY291bnQ8NQ0KKwkmbWFjYWRkcj0iJm1hY2FkZHIiKyI6Ig0KKyAgJmNvdW50PSZjb3VudCsxDQorKQ0KK3doaWxlICgmY291bnQ8NikNCisgICZjb3VudD0wDQorICAmaXBhZGRyPXYudmFsdWUoKChzdHJ1Y3QgbmV0X2RldmljZSopJnB0YXNrKS0+aXBfcHRyLT5pZmFfbGlzdC0+aWZhX2FkZHJlc3MpDQorICAmc3RyaW5nPSIiDQorICAmc3RyaW5nPSImc3RyaW5nIisiICZwTmFtZSIrIiBpZCAiKyImaWZpbmRleCIrIiBtYWNfYWRkciAiK2Zvcm1hdC5zdHJpbmcoIiZtYWNhZGRyIiwyNSwnICcpKyIgaXBfYWRkciAiKyImaXBhZGRyIg0KKyAgcHJpbnQgJXN0cmluZyAgIiZzdHJpbmciDQorICBwcmludCAlc3RyaW5nICImcHRhc2siDQorDQorKQkNCit3aGlsZSAoJnBuZXh0IT0mcF9pbml0X3Rhc2spDQorcHJpbnQgRk9STUFULkNIQVIoJy0nLCZmaWxlQ29sdW1ucywnLScpDQorDQorYXJlYS52aWV3IHRyYWNlDQorYXJlYS5jbG9zZSB0cmFjZQ0KK2VuZGRvDQorICAgIA0KZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL25ldF90cmFjZS9saW51eF9oYXNoX2luZm8uY21tIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvbmV0X3RyYWNlL2xpbnV4X2hhc2hfaW5mby5jbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTRjNDE5ZAotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL25ldF90cmFjZS9saW51eF9oYXNoX2luZm8uY21tCkBAIC0wLDAgKzEsOTQgQEAKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyogvcWxvr3izvbH+NPyDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKw0KKy8vtqjS5b7Wsr+x5MG/DQorbG9jYWwgJnBfaW5pdF90YXNrICZwdGFzayAmaGFzaF9zaGlmdCAmYWN0aXZlX21tICZtbWFwICZwTmFtZSAmaGFzaF9idWNrZXRzICZlbmRhZGRyICZtbWFwc2l6ZSAmYXBwbWVtc2l6ZSAmYXBwYWxsc2l6ZQ0KK2xvY2FsICAmbWFjYWRkciAmdGVtcG1hYyAmY291bnQgJmRldmFkZHIgJmlwYWRkciAmdGVtcGlwYWRkcg0KKy8vtLS9qNK7uPa0sL/ao7sNCismd2lkdGg9MjAuDQorJm5hbWVXaWR0aD0yMC4NCismZmlsZUNvbHVtbnM9ODAwLg0KKyZmaWxlTGluZXM9MjAwLg0KKw0KK2FyZWEuY3JlYXRlIHRyYWNlICZmaWxlQ29sdW1ucyAgJmZpbGVMaW5lcw0KK2FyZWEuY2xlYXIgdHJhY2UNCithcmVhLnNlbGVjdCB0cmFjZQ0KKw0KKy8vtPK/qs7EvP6juw0KKyZkaXI9b3MucHdkKCkrIlxsb2ciDQoraWYgIW9zLmRpcigmZGlyKQ0KKygNCisgIG1rZGlyICZkaXIgIA0KKykgDQorJmZpbGU9IiZkaXJcaGFzaC50eHQiDQorYXJlYS5vcGVuIHRyYWNlICZmaWxlDQorDQorLy/I57n7VDMy1NrUy9DQ0qq2z9eho7sNCitpZiBydW4oKQ0KKygNCisgIGJyZWFrDQorKQ0KKw0KK2lmICF5LmV4aXN0KGluaXRfdGFzaykNCisoDQorICBwcmludCAlc3RyaW5nICJPUyBpcyBub3QgdUNsaW51eCINCisgIGFyZWEudmlldyB0cmFjZQ0KKyAgYXJlYS5jbG9zZSB0cmFjZQ0KKyAgZW5kbw0KKykNCisNCitwcmludCAiYXJwX3RibCBpbmZvOiINCismcHRhc2s9di52YWx1ZSgoKHN0cnVjdCBuZWlnaF90YWJsZSAqKSZhcnBfdGJsKS0+bmh0KQ0KKyZoYXNoX3NoaWZ0PXYudmFsdWUoKChzdHJ1Y3QgbmVpZ2hfaGFzaF90YWJsZSopJnB0YXNrKS0+aGFzaF9zaGlmdCkNCismaGFzaF9idWNrZXRzPXYudmFsdWUoKChzdHJ1Y3QgbmVpZ2hfaGFzaF90YWJsZSopJnB0YXNrKS0+aGFzaF9idWNrZXRzKQ0KKyZwX2luaXRfdGFzaz0mcHRhc2sNCismY291bnQ9MA0KKyZjb3VudF9pcD0wDQorcHJpbnQgJXN0cmluZyAiJmhhc2hfc2hpZnQiDQord2hpbGUgKCZjb3VudDwoMTw8Jmhhc2hfc2hpZnQpKQ0KKygNCisgICZuZWlnaGJvdXI9di52YWx1ZSgoKHN0cnVjdCBuZWlnaGJvdXIqKikmaGFzaF9idWNrZXRzKVsmY291bnRdKQ0KKyAgcmVwZWF0DQorICAoDQorICBpZiAmbmVpZ2hib3VyPjB4MTAwMDAwMDANCisgICgNCisgICAgcHJpbnQgJXN0cmluZyAiJm5laWdoYm91ciINCisgICAgJmlwYWRkcj0iIg0KKyAgICAmdGVtcGlwYWRkcj12LnZhbHVlKCgoc3RydWN0IG5laWdoYm91ciopJm5laWdoYm91ciktPnByaW1hcnlfa2V5KQ0KKyAgICAmZGV2X25hbWU9di5zdHJpbmcoKChzdHJ1Y3QgbmVpZ2hib3VyKikmbmVpZ2hib3VyKS0+ZGV2LT5uYW1lKQ0KKyAgICByZXBlYXQNCisgICAgKA0KKyAgICAgICZwYXJ0aXBhZGRyPXYudmFsdWUoKHVuc2lnbmVkIGNoYXIqKSgmdGVtcGlwYWRkcilbJmNvdW50X2lwXSkNCisgICAgICAmaXBhZGRyPSImaXBhZGRyIisiJnBhcnRpcGFkZHIiDQorICAgICAgaWYgJmNvdW50X2lwPDMNCisgICAgICAgICZpcGFkZHI9IiZpcGFkZHIiKyIuIg0KKyAgICAgICZjb3VudF9pcD0mY291bnRfaXArMQ0KKyAgICApDQorICAgIHdoaWxlICgmY291bnRfaXA8NCkNCisgICAgJmNvdW50X21hYz0wDQorICAgICZ0ZW1wbWFjPXYudmFsdWUoKChzdHJ1Y3QgbmVpZ2hib3VyKikmbmVpZ2hib3VyKS0+aGEpDQorICAgICZtYWNhZGRyPSIiDQorICAgIHJlcGVhdA0KKyAgICAoDQorICAgICAgJnBhcnRtYWNhZGRyPXYudmFsdWUoKHVuc2lnbmVkIGNoYXIqKSgmdGVtcG1hYylbJmNvdW50X21hY10pDQorICAgICAgJm1hY2FkZHI9IiZtYWNhZGRyIisiJnBhcnRtYWNhZGRyIg0KKyAgICAgIGlmICZjb3VudF9tYWM8NQ0KKyAgICAgICAgJm1hY2FkZHI9IiZtYWNhZGRyIisiOiINCisgICAgICAmY291bnRfbWFjPSZjb3VudF9tYWMrMQ0KKyAgICApDQorICAgIHdoaWxlICgmY291bnRfbWFjPDYpDQorICAgICZjb3VudF9pcD0wDQorICAgICZjb3VudF9tYWM9MA0KKyAgICBwcmludCAlc3RyaW5nICJkZXZuYW1lICZkZXZfbmFtZSIrIiBpcGFkZHIgJmlwYWRkciIrIiBtYWNhZGRyICZtYWNhZGRyIg0KKyAgICkgDQorICAgJm5laWdoYm91cj12LnZhbHVlKCgoc3RydWN0IG5laWdoYm91ciopJm5laWdoYm91ciktPm5leHQpDQorICApDQorICB3aGlsZSAoJm5laWdoYm91cj4weDEwMDAwMDAwKQ0KKyAgJmNvdW50PSZjb3VudCsxDQorKQkNCisNCithcmVhLnZpZXcgdHJhY2UNCithcmVhLmNsb3NlIHRyYWNlDQorZW5kZG8NCisgICAgDQpkaWZmIC0tZ2l0IGEvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvbmV0X3RyYWNlL2xpbnV4X3RjcF9oYXNoX2luZm8uY21tIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvbmV0X3RyYWNlL2xpbnV4X3RjcF9oYXNoX2luZm8uY21tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZhYjUzMTIKLS0tIC9kZXYvbnVsbAorKysgYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9uZXRfdHJhY2UvbGludXhfdGNwX2hhc2hfaW5mby5jbW0KQEAgLTAsMCArMSwxMjUgQEAKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyogvcWxvr3izvbH+NPyDQorLy/L+dPQ0tG9qMG0vdPQxc+iDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKw0KKy8vtqjS5b7Wsr+x5MG/DQorbG9jYWwgJnBfaW5pdF90YXNrICZwdGFzayAmaGFzaF9zaGlmdCAmYWN0aXZlX21tICZtbWFwICZwTmFtZSAmaGFzaF9idWNrZXRzICZlbmRhZGRyICZtbWFwc2l6ZSAmYXBwbWVtc2l6ZSAmYXBwYWxsc2l6ZQ0KK2xvY2FsICAmbWFjYWRkciAmdGVtcG1hYyAmY291bnQgJmRldmFkZHIgJmlwYWRkciAmdGVtcGlwYWRkciAmaGFzaGluZm8NCisvL7S0vajSu7j2tLC/2qO7DQorJndpZHRoPTIwLg0KKyZuYW1lV2lkdGg9MjAuDQorJmZpbGVDb2x1bW5zPTgwMC4NCismZmlsZUxpbmVzPTIwMC4NCisNCithcmVhLmNyZWF0ZSB0cmFjZSAmZmlsZUNvbHVtbnMgICZmaWxlTGluZXMNCithcmVhLmNsZWFyIHRyYWNlDQorYXJlYS5zZWxlY3QgdHJhY2UNCisNCisvL7Tyv6rOxLz+o7sNCismZGlyPW9zLnB3ZCgpKyJcbG9nIg0KK2lmICFvcy5kaXIoJmRpcikNCisoDQorICBta2RpciAmZGlyICANCispIA0KKyZmaWxlPSImZGlyXGhhc2gudHh0Ig0KK2FyZWEub3BlbiB0cmFjZSAmZmlsZQ0KKw0KKy8vyOe5+1QzMtTa1MvQ0NKqts/XoaO7DQoraWYgcnVuKCkNCisoDQorICBicmVhaw0KKykNCisNCitpZiAheS5leGlzdChpbml0X3Rhc2spDQorKA0KKyAgcHJpbnQgJXN0cmluZyAiT1MgaXMgbm90IHVDbGludXgiDQorICBhcmVhLnZpZXcgdHJhY2UNCisgIGFyZWEuY2xvc2UgdHJhY2UNCisgIGVuZG8NCispDQorDQorDQorcHJpbnQgImNvbm4gaW5mbzoiDQorJnB0YXNrPXYudmFsdWUoJnRjcF9oYXNoaW5mbykNCismZWhhc2hfc2l6ZT12LnZhbHVlKCgoc3RydWN0IGluZXRfaGFzaGluZm8qKSZwdGFzayktPmVoYXNoX21hc2spDQorJmVoYXNoPXYudmFsdWUoKChzdHJ1Y3QgaW5ldF9oYXNoaW5mbyopJnB0YXNrKS0+ZWhhc2gpDQorJm9mZnNldD12LnZhbHVlKCYoKChzdHJ1Y3Qgc29ja19jb21tb24qKTApLT5za2NfbnVsbHNfbm9kZSkpDQorLy9wcmludCAlc3RyaW5nICImb2Zmc2V0ICINCisNCismc3RyaW5nPSJjaGFpbiINCitwcmludCAiZWhhc2guY2hhaW4iDQorR09TVUIgUFJJTlRIQVNIICZlaGFzaCAmZWhhc2hfc2l6ZSAmb2Zmc2V0ICZzdHJpbmcNCisNCitwcmludA0KK3ByaW50ICJlaGFzaC50d2NoYWluIg0KKyZzdHJpbmc9InR3Y2hhaW4iDQorR09TVUIgUFJJTlRIQVNIICZlaGFzaCAmZWhhc2hfc2l6ZSAmb2Zmc2V0ICZzdHJpbmcNCisNCitwcmludA0KKy8vcHJpbnQgImJoYXNoLmNoYWluIg0KKy8vJmVoYXNoPXYudmFsdWUoKChzdHJ1Y3QgaW5ldF9oYXNoaW5mbyopJnB0YXNrKS0+Ymhhc2gpDQorLy8mZWhhc2hfc2l6ZT12LnZhbHVlKCgoc3RydWN0IGluZXRfaGFzaGluZm8qKSZwdGFzayktPmJoYXNoX3NpemUpDQorLy8mc3RyaW5nPSJiY2hhaW4iDQorLy9HT1NVQiBQUklOVEhBU0ggJmVoYXNoICZlaGFzaF9zaXplICZvZmZzZXQgJnN0cmluZw0KKw0KK3ByaW50ICJsaXN0ZW5uaW5nX2hhc2giIA0KKyZlaGFzaD12LnZhbHVlKCgoc3RydWN0IGluZXRfaGFzaGluZm8qKSZwdGFzayktPmxpc3RlbmluZ19oYXNoKQ0KKyZzdHJpbmc9ImhlYWQiDQorJmVoYXNoX3NpemU9MzINCitHT1NVQiBQUklOVEhBU0ggJmVoYXNoICZlaGFzaF9zaXplICZvZmZzZXQgJnN0cmluZw0KKw0KK2VuZGRvDQorDQorUFJJTlRIQVNIOg0KK2xvY2FsICZjb3VudCAmZWhhc2hfc2l6ZSAmaGFzaGluZm8gJmVoYXNoICZzayAmc3RhdGUgJnN0cmluZyAgJnN0cnVjdF90eXBlICAmc3RydWN0X3R5cGUxDQorZW50cnkgJmVoYXNoICZlaGFzaF9zaXplICZvZmZzZXQgJnN0cmluZw0KKyZjb3VudD0wIA0KKyZzdHJ1Y3RfdHlwZT0iaW5ldF9laGFzaF9idWNrZXQiDQorJnN0cnVjdF90eXBlMT0iaGxpc3RfbnVsbHNfbm9kZSINCisvL3ByaW50ICVzdHJpbmcgIiZlaGFzaF9zaXplICINCit3aGlsZSAoJmNvdW50PCZlaGFzaF9zaXplKQ0KKygNCisgIGlmICImc3RyaW5nIj09ImJjaGFpbiINCisgICggIA0KKyAgICAgJnN0cmluZz0iY2hhaW4iDQorICAgICAmc3RydWN0X3R5cGU9ImluZXRfYmluZF9oYXNoYnVja2V0Ig0KKyAgICAgJnN0cnVjdF90eXBlMT0iaGxpc3Rfbm9kZSINCisgICkNCisgIGlmICImc3RyaW5nIj09ImhlYWQiDQorICAgICAmc3RydWN0X3R5cGU9ImluZXRfbGlzdGVuX2hhc2hidWNrZXQiDQorDQorICAmaGFzaGluZm89di52YWx1ZSgoKHN0cnVjdCAmc3RydWN0X3R5cGUqKSZlaGFzaClbJmNvdW50XS0+JnN0cmluZy5maXJzdCkNCisgIHJlcGVhdA0KKyAgKA0KKyAgaWYgKCZoYXNoaW5mbz4weEMwMDAwMDAwKQ0KKyAgKA0KKyAgJnNrPSZoYXNoaW5mby0mb2Zmc2V0DQorICAmaGFzaGluZm89di52YWx1ZSgoKHN0cnVjdCAmc3RydWN0X3R5cGUxKikmaGFzaGluZm8pLT5uZXh0KQ0KKyAgJnN0YXRlPXYudmFsdWUoKChzdHJ1Y3Qgc29jayopJnNrKS0+c2tfc29ja2V0LnN0YXRlKQ0KKyAgaWYgJnN0YXRlPT0wDQorICAgICZzdGF0ZT0iU1NfRlJFRSINCisgIGVsc2UgaWYgJnN0YXRlPT0xDQorICAgICZzdGF0ZT0iU1NfVU5DT05ORUNURUQiDQorICBlbHNlIGlmICZzdGF0ZT09Mg0KKyAgICAmc3RhdGU9IlNTX0NPTk5FQ1RJTkciDQorICBlbHNlIGlmICZzdGF0ZT09Mw0KKyAgICAmc3RhdGU9IlNTX0NPTk5FQ1RFRCINCisgIGVsc2UgaWYgJnN0YXRlPT00DQorICAgICZzdGF0ZT0iU1NfRElTQ09OTkVDVElORyINCisgIHByaW50ICVzdHJpbmcgInNrYWRkcjogJnNrLCBzb2NrZXRfc3RhdGU6ICZzdGF0ZSINCisgICkNCisgICkNCisgIHdoaWxlICgmaGFzaGluZm8+MHhDMDAwMDAwMCkNCisvLyAgcHJpbnQgJXN0cmluZyAiaGFzaGluZm8gJmhhc2hpbmZvIg0KKyAgJmNvdW50PSZjb3VudCsxDQorKQkNCithcmVhLnZpZXcgdHJhY2UNCithcmVhLmNsb3NlIHRyYWNlDQorcmV0dXJuIDENCisNCisvL3doaWxlICgmY291bnQ8JmVoYXNoX3NoaWZ0KQ0KKy8vcHJpbnQgRk9STUFULkNIQVIoJy0nLCZmaWxlQ29sdW1ucywnLScpDQorDQorDQorICAgIA0KZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL25ldF90cmFjZS9yZWFkbWUudHh0IGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvbmV0X3RyYWNlL3JlYWRtZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTA2NWJmNgotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL25ldF90cmFjZS9yZWFkbWUudHh0CkBAIC0wLDAgKzEsMTAgQEAKK834wud0cmFjZb3Fsb6jrNPD09q3vbHjsum/tNK70Km52Lz8tcTIq77W0MXPog0KKw0KK87EvP7D+wkJCQkJuabE3A0KK2RhdGFfZnJlZS5jbW0gIAkJCQmy6b+0yKu+1rHkwb9kYXRhX2ZyZWW1xNDFz6INCitkYXRhX2xlYWsuY21tICAJCQkJsum/tMirvtax5MG/ZGF0YV9sZWFrtcTQxc+iDQorbGludXhfY29ubl9oYXNoX2luZm8gLmNtbQkJsum/tMv509DN+MLnwbS907XE0MXPog0KK2xpbnV4X2RldmljZV9hZGRyLmNtbQkJCbLpv7TN+MLnyeixuLXEtdjWtw0KK2xpbnV4X2RldmljZV9pbmZvLmNtbQkJCbLpv7TN+MLnyeixuNDFz6INCitsaW51eF90Y3BfaGFzaF9pbmZvLmNtbQkJCbLpv7R0Y3C1xHNr0MXPog0KK2xpbnV4X2hhc2hfaW5mby5jbW0JCQmy6b+0YXJwX3RibNDFz6IKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9vc19jb2RlX2NvbXBhcmUuY21tIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvb3NfY29kZV9jb21wYXJlLmNtbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wM2E1Mzg5Ci0tLSAvZGV2L251bGwKKysrIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvb3NfY29kZV9jb21wYXJlLmNtbQpAQCAtMCwwICsxLDEwOCBAQAorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vKg0KKy8vKiAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAoYykgMjAxNyBaVEUgQ29ycG9yYXRpb24uDQorLy8qDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vIHBlbmdsZWkNCisNCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8qIHRvcy9saW51eC91Q2xpbnV4stnX98+1zbPE2rrLtPrC67bOsci9z6Ossum/tLT6wuu2zsrHt/HT0M27seS1xMfpv/YNCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorDQorbG9jYWwgJmFkZHJlc3NTdGFydA0KK2xvY2FsICZhZGRyZXNzRW5kDQorbG9jYWwgJnBvc2l0aW9uDQorbG9jYWwgJmtub3duZGlmZg0KKw0KKyZrbm93bmRpZmY9Il9fYWVhYmlfdWlkaXYgX19hZWFiaV9pZGl2Ig0KKw0KKy8vtLS9qNK7uPa0sL/ao7sNCismd2lkdGg9MjAuDQorJm5hbWVXaWR0aD0yMC4NCismZmlsZUNvbHVtbnM9OTAuDQorJmZpbGVMaW5lcz01MDAuDQorJmRpZmZDb3VudD0wDQorDQorYXJlYS5jcmVhdGUgY29kZURpZmYgJmZpbGVDb2x1bW5zICAmZmlsZUxpbmVzDQorYXJlYS5jbGVhciBjb2RlRGlmZg0KK2FyZWEuc2VsZWN0IGNvZGVEaWZmDQorYXJlYS5vcGVuIGNvZGVEaWZmIGNvZGVEaWZmLnR4dA0KK2FyZWEudmlldyBjb2RlRGlmZg0KKw0KKy8vtPK/qs7EvP6juw0KKyZkaXI9b3MucHdkKCkrIlxsb2ciDQoraWYgIW9zLmRpcigmZGlyKQ0KKygNCisgICAgbWtkaXIgJmRpciAgDQorKSANCismZmlsZT0iJmRpclxjb2RlRGlmZi50eHQiDQorDQorO0xvYWQgQ29kZSBmcm9tIEJpbmFyeSBhbmQgdmVyaWZ5IHNwZWNpZmljIHNlY3Rpb25zIHdpdGggdGhlIEVsZiBmaWxlDQorLy+4+b7dstnX98+1zbPA4NDNu/HIobT6wuu2zsbwyry12Na3us294cr4tdjWtw0KK2lmIHN5bWJvbC5leGlzdChpbml0X3Rhc2spIC8vbGludXggb3IgdUNsaW51eA0KKygNCisJJnZlcnNpb249VEFTSy5PUy5WRVJTSU9OKCkNCisJaWYgKCZ2ZXJzaW9uPjB4NTAwRTApDQorCSgNCisJCSZhZGRyZXNzU3RhcnQ9c1ltYm9sLlNFQ0FERFJFU1MoIi50ZXh0IikNCisJCSZhZGRyZXNzRW5kPXNZbWJvbC5TRUNFTkQoIi50ZXh0IikNCisJKQ0KKwllbHNlDQorCSgNCisJCSZhZGRyZXNzU3RhcnQ9c1ltYm9sLlNFQ0FERFJFU1MoIi5oZWFkLnRleHQiKQ0KKwkJJmFkZHJlc3NFbmQ9c1ltYm9sLlNFQ0VORCgiLnRleHQiKQkNCisJKQ0KKykNCitlbHNlIGlmIHN5bWJvbC5leGlzdCh0b3NfZXhjZXB0KSAvL3Rvcw0KKygJDQorCSZhZGRyZXNzU3RhcnQ9c1ltYm9sLlNFQ0FERFJFU1MoIi5yb21fdmVjdG9ycyIpDQorCSZhZGRyZXNzRW5kPXNZbWJvbC5TRUNBRERSRVNTKCIuZGF0YSIpDQorKQ0KK2Vsc2UNCisoDQorCWFyZWEuY2xvc2UgY29kZURpZmYNCisgICAgCUVORERPDQorKQ0KK3ByaW50IEZPUk1BVC5DSEFSKCctJywmZmlsZUNvbHVtbnMsJy0nKQ0KKy8vtPLToXRpdGxlDQorJnN0cmluZz1mb3JtYXQuc3RyaW5nKCIgIiwmZmlsZUNvbHVtbnMvMywnICcpDQorJnN0cmluZz0iJnN0cmluZyIrImVsZtPrYmluzsS8/rXEtPrC67bOsu7S7CINCitwcmludCAlc3RyaW5nICImc3RyaW5nIg0KK3ByaW50IEZPUk1BVC5DSEFSKCctJywmZmlsZUNvbHVtbnMsJy0nKQ0KK3JlcGVhdA0KKygNCisJRGF0YS5MT0FELkVsZiAmZWxmbmFtZSAmYWRkcmVzc1N0YXJ0LS0mYWRkcmVzc0VuZCAvRElGRiAvTm9SZWdpc3RlciAvTm9zWW1ib2wNCisJJmZpbmQ9Rk9VTkQoKQ0KKwlpZiAmZmluZA0KKwkoDQorCQkmYWRkcmVzc1N0YXJ0PUFERFJFU1MuT0ZGU0VUKFRSQUNLLkFERFJFU1MoKSkNCisJCSZyZXN1bHQ9IlA6Iitmb3JtYXQuc3RyaW5nKCImYWRkcmVzc1N0YXJ0IiwxMCwnJykNCisJCSZzdHJpbmc9Zm9ybWF0LnN0cmluZygiZGlmZmVyZW50IGFkZHJlc3M9IiwtJndpZHRoLCcgJykrIiZyZXN1bHQiCQkNCisJCSZyZXN1bHQ9c1ltYm9sLk5BTUUoJnJlc3VsdCkNCisJCSZyZXN1bHQ9b3MuZmlsZS5uYW1lKCImcmVzdWx0IikNCisJCSZwb3NpdGlvbj1TVFJpbmcuU0NBTigiJmtub3duZGlmZiIsIiZyZXN1bHQiLDApDQorCQlpZiAmcG9zaXRpb248MA0KKwkJKA0KKwkJCSZzdHJpbmc9IiZzdHJpbmciKyIgICBzeW1ib2w9Iitmb3JtYXQuc3RyaW5nKCImcmVzdWx0IiwyMCwnJykNCisJCQlwcmludCAlc3RyaW5nICImc3RyaW5nIg0KKwkJCSZkaWZmQ291bnQ9JmRpZmZDb3VudCsxDQorCQkpDQorCQkmYWRkcmVzc1N0YXJ0PSgmYWRkcmVzc1N0YXJ0Jih+MHgzKSkrNA0KKwkJJmFkZHJlc3NTdGFydD0iUDoiK2Zvcm1hdC5zdHJpbmcoIiZhZGRyZXNzU3RhcnQiLDEwLCcnKQ0KKwkpDQorCWVsc2UNCisJKA0KKwkJJmFkZHJlc3NTdGFydD0iIgkJDQorCSkNCispDQord2hpbGUgKCImYWRkcmVzc1N0YXJ0IiE9IiIpJiYoJmRpZmZDb3VudCE9MHg3OCkNCitpZiAoJmRpZmZDb3VudD09MHgwKQ0KKygNCisJJnN0cmluZz1mb3JtYXQuc3RyaW5nKCIgIiwmZmlsZUNvbHVtbnMvMywnICcpDQorCSZzdHJpbmc9IiZzdHJpbmciKyLE2rrLtPrC67bOsru05tTazbux5CINCisJcHJpbnQgJXN0cmluZyAiJnN0cmluZyINCispDQorcHJpbnQgRk9STUFULkNIQVIoJy0nLCZmaWxlQ29sdW1ucywnLScpDQorYXJlYS5jbG9zZSBjb2RlRGlmZg0KK0VORERPDQorUkVUVVJODQpkaWZmIC0tZ2l0IGEvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvcHJpbnRfb3Nfc3RhdGlzdGljcy5jbW0gYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9wcmludF9vc19zdGF0aXN0aWNzLmNtbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNzM5NTFiCi0tLSAvZGV2L251bGwKKysrIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvcHJpbnRfb3Nfc3RhdGlzdGljcy5jbW0KQEAgLTAsMCArMSw2NDYgQEAKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyoNCisvLyogICAgICAgICAgICAgICAgICBDb3B5cmlnaHQgKGMpIDIwMTYgWlRFIENvcnBvcmF0aW9uLg0KKy8vKg0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyBnZWFuZmVuZw0KKw0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyogvcWxvr3izvbH+NPyDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKw0KKy8vtqjS5b7Wsr+x5MG/DQorbG9jYWwgJm9zX3RpbWUwICZvc190aW1lMSAmb3NfdGltZTIgJm9zX3RpbWUzICZvc190aW1lNCAmb3NfdGltZTUgJm9zX3RpbWU2ICZvc190aW1lNw0KK2xvY2FsICZvc190aW1lX2NudCAmb3NfbmV4dF90aW1lDQorbG9jYWwgJm9zX3N3YXBfbGFzdCAmb3Nfc3dhcF9jbnQgJm9zX3N3YXBfbmV4dA0KK2xvY2FsICZvc19pcnFfc3RhcnRfbGFzdCAmb3NfaXJxX3N0YXJ0X2NudCAmb3NfaXJxX3N0YXJ0X25leHQNCitsb2NhbCAmb3NfaXJxX2VuZF9sYXN0ICZvc19pcnFfZW5kX2NudCAmb3NfaXJxX2VuZF9uZXh0DQorDQorLy9mb3IgbGludXgNCitsb2NhbCAmb3Nfc29mdGlycV9zdGFydF9sYXN0ICZvc19zb2Z0aXJxX3N0YXJ0X2NudCAmb3Nfc29mdGlycV9zdGFydF9uZXh0DQorbG9jYWwgJm9zX3NvZnRpcnFfZW5kX2xhc3QgJm9zX3NvZnRpcnFfZW5kX2NudCAmb3Nfc29mdGlycV9lbmRfbmV4dA0KK2xvY2FsICZvc190aW1lcl9zdGFydF9sYXN0ICZvc190aW1lcl9zdGFydF9jbnQgJm9zX3RpbWVyX3N0YXJ0X25leHQNCitsb2NhbCAmb3NfdGltZXJfZW5kX2xhc3QgJm9zX3RpbWVyX2VuZF9jbnQgJm9zX3RpbWVyX2VuZF9uZXh0DQorDQorbG9jYWwgJm9zX2lycV9lbmFibGUgJm9zX3NvZnRpcnFfZW5hYmxlICZvc190aW1lcl9lbmFibGUNCismb3NfaXJxX2VuYWJsZT0xDQorJm9zX3NvZnRpcnFfZW5hYmxlPTANCismb3NfdGltZXJfZW5hYmxlPTANCisNCisvL2ZvciB0b3MNCitsb2NhbCAmb3NfZHNyX3N0YXJ0X2xhc3QgJm9zX2Rzcl9zdGFydF9jbnQgJm9zX2Rzcl9zdGFydF9uZXh0DQorbG9jYWwgJm9zX2Rzcl9lbmRfbGFzdCAmb3NfZHNyX2VuZF9jbnQgJm9zX2Rzcl9lbmRfbmV4dA0KKyZvc19kc3JfZW5hYmxlPTANCisNCisvL7S0vajSu7j2tLC/2qO7DQorJndpZHRoPTIwLg0KKyZuYW1lV2lkdGg9MjAuDQorJmZpbGVDb2x1bW5zPTIwMC4NCismZmlsZUxpbmVzPTUwMC4NCisNCithcmVhLmNyZWF0ZSB0cmFjZSAmZmlsZUNvbHVtbnMgICZmaWxlTGluZXMNCithcmVhLmNsZWFyIHRyYWNlDQorYXJlYS5zZWxlY3QgdHJhY2UNCisNCisvL7Tyv6rOxLz+o7sNCismZGlyPW9zLnB3ZCgpKyJcbG9nIg0KK2lmICFvcy5kaXIoJmRpcikNCisoDQorICAgIG1rZGlyICZkaXIgIA0KKykgDQorJmZpbGU9IiZkaXJccmVzdWx0LnR4dCINCithcmVhLm9wZW4gdHJhY2UgJmZpbGUNCithcmVhLnZpZXcgdHJhY2UNCisNCisvL8jnuftUMzLU2tTL0NDSqrbP16Gjuw0KK2lmIHJ1bigpDQorKA0KKyAgICBicmVhaw0KKykNCisNCitpZiBzeW1ib2wuZXhpc3QoaW5pdF90YXNrKQ0KKygNCisJZ29zdWIgTGludXhUcmFjZQ0KKykNCisNCitpZiBzeW1ib2wuZXhpc3QodG9zX2V4Y2VwdCkNCisoDQorCWdvc3ViIFRvc1RyYWNlDQorKQ0KKw0KK2FyZWEuY2xvc2UgdHJhY2UNCisNCitFTkRETw0KKy8vKioqKtTL0NC94cr4KioqKioNCisNCisvLyoqKioqKioqKioqKioqKioquq/K/bao0uUqKioqKioqKioqKioqKioqKioqKioqDQorDQorOyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitMaW51eFRyYWNlOg0KK2xvY2FsICZyZXN1bHQNCisNCitpZiB2LnZhbHVlKGdfb3NfZGRyX3N3YXBpbl9zdGF0aXN0aWMpPT0wDQorKA0KKwlSRVRVUk4NCispDQorDQorJm9zX3N3YXBfbGFzdD12LnZhbHVlKGdfb3NfZGRyX3N3YXBpbl9zdGF0aXN0aWMtPmluZGV4KQ0KKyZvc19zd2FwX2NudD12LnZhbHVlKHNpemVvZihnX29zX2Rkcl9zd2FwaW5fc3RhdGlzdGljLT5zdGF0aXN0aWNzKS9zaXplb2YoZ19vc19kZHJfc3dhcGluX3N0YXRpc3RpYy0+c3RhdGlzdGljc1swXSkpDQorJm9zX3N3YXBfbmV4dD0mb3Nfc3dhcF9sYXN0DQorDQoraWYgJm9zX2lycV9lbmFibGU9PTENCisoDQorCSZvc19pcnFfc3RhcnRfbGFzdD12LnZhbHVlKGdfb3NfZGRyX2lycV9zdGFydF9zdGF0aXN0aWMtPmluZGV4KQ0KKwkmb3NfaXJxX3N0YXJ0X2NudD12LnZhbHVlKHNpemVvZihnX29zX2Rkcl9pcnFfc3RhcnRfc3RhdGlzdGljLT5zdGF0aXN0aWNzKS9zaXplb2YoZ19vc19kZHJfaXJxX3N0YXJ0X3N0YXRpc3RpYy0+c3RhdGlzdGljc1swXSkpDQorCSZvc19pcnFfc3RhcnRfbmV4dD0mb3NfaXJxX3N0YXJ0X2xhc3QNCisJJm9zX2lycV9lbmRfbGFzdD12LnZhbHVlKGdfb3NfZGRyX2lycV9lbmRfc3RhdGlzdGljLT5pbmRleCkNCisJJm9zX2lycV9lbmRfY250PXYudmFsdWUoc2l6ZW9mKGdfb3NfZGRyX2lycV9lbmRfc3RhdGlzdGljLT5zdGF0aXN0aWNzKS9zaXplb2YoZ19vc19kZHJfaXJxX2VuZF9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbMF0pKQ0KKwkmb3NfaXJxX2VuZF9uZXh0PSZvc19pcnFfZW5kX2xhc3QNCispDQorZWxzZQ0KKygNCisJJm9zX2lycV9zdGFydF9uZXh0PS0xDQorCSZvc19pcnFfZW5kX25leHQ9LTENCispDQorDQoraWYgJm9zX3NvZnRpcnFfZW5hYmxlPT0xDQorKA0KKwkmb3Nfc29mdGlycV9zdGFydF9sYXN0PXYudmFsdWUoZ19vc19kZHJfc29mdGlycV9zdGFydF9zdGF0aXN0aWMtPmluZGV4KQ0KKwkmb3Nfc29mdGlycV9zdGFydF9jbnQ9di52YWx1ZShzaXplb2YoZ19vc19kZHJfc29mdGlycV9zdGFydF9zdGF0aXN0aWMtPnN0YXRpc3RpY3MpL3NpemVvZihnX29zX2Rkcl9zb2Z0aXJxX3N0YXJ0X3N0YXRpc3RpYy0+c3RhdGlzdGljc1swXSkpDQorCSZvc19zb2Z0aXJxX3N0YXJ0X25leHQ9Jm9zX3NvZnRpcnFfc3RhcnRfbGFzdA0KKwkmb3Nfc29mdGlycV9lbmRfbGFzdD12LnZhbHVlKGdfb3NfZGRyX3NvZnRpcnFfZW5kX3N0YXRpc3RpYy0+aW5kZXgpDQorCSZvc19zb2Z0aXJxX2VuZF9jbnQ9di52YWx1ZShzaXplb2YoZ19vc19kZHJfc29mdGlycV9lbmRfc3RhdGlzdGljLT5zdGF0aXN0aWNzKS9zaXplb2YoZ19vc19kZHJfc29mdGlycV9lbmRfc3RhdGlzdGljLT5zdGF0aXN0aWNzWzBdKSkNCisJJm9zX3NvZnRpcnFfZW5kX25leHQ9Jm9zX3NvZnRpcnFfZW5kX2xhc3QNCispDQorZWxzZQ0KKygNCisJJm9zX3NvZnRpcnFfc3RhcnRfbmV4dD0tMQ0KKwkmb3Nfc29mdGlycV9lbmRfbmV4dD0tMQ0KKykNCisNCitpZiAmb3NfdGltZXJfZW5hYmxlPT0xDQorKA0KKwkmb3NfdGltZXJfc3RhcnRfbGFzdD12LnZhbHVlKGdfb3NfZGRyX3RpbWVyX3N0YXJ0X3N0YXRpc3RpYy0+aW5kZXgpDQorCSZvc190aW1lcl9zdGFydF9jbnQ9di52YWx1ZShzaXplb2YoZ19vc19kZHJfdGltZXJfc3RhcnRfc3RhdGlzdGljLT5zdGF0aXN0aWNzKS9zaXplb2YoZ19vc19kZHJfdGltZXJfc3RhcnRfc3RhdGlzdGljLT5zdGF0aXN0aWNzWzBdKSkNCisJJm9zX3RpbWVyX3N0YXJ0X25leHQ9Jm9zX3RpbWVyX3N0YXJ0X2xhc3QNCisJJm9zX3RpbWVyX2VuZF9sYXN0PXYudmFsdWUoZ19vc19kZHJfdGltZXJfZW5kX3N0YXRpc3RpYy0+aW5kZXgpDQorCSZvc190aW1lcl9lbmRfY250PXYudmFsdWUoc2l6ZW9mKGdfb3NfZGRyX3RpbWVyX2VuZF9zdGF0aXN0aWMtPnN0YXRpc3RpY3MpL3NpemVvZihnX29zX2Rkcl90aW1lcl9lbmRfc3RhdGlzdGljLT5zdGF0aXN0aWNzWzBdKSkNCisJJm9zX3RpbWVyX2VuZF9uZXh0PSZvc190aW1lcl9lbmRfbGFzdA0KKykNCitlbHNlDQorKA0KKwkmb3NfdGltZXJfc3RhcnRfbmV4dD0tMQ0KKwkmb3NfdGltZXJfZW5kX25leHQ9LTENCispDQorDQorLy+z9cq8u690aW1lyv3WtQ0KK2lmICZvc19zd2FwX25leHQ9PS0xDQorKA0KKwkmb3NfdGltZTA9LTENCispDQorZWxzZQ0KKygNCisJJm9zX3RpbWUwPXYudmFsdWUoZ19vc19kZHJfc3dhcGluX3N0YXRpc3RpYy0+c3RhdGlzdGljc1smb3Nfc3dhcF9uZXh0XS5kYXRhMikNCispDQoraWYgJm9zX2lycV9zdGFydF9uZXh0PT0tMQ0KKygNCisJJm9zX3RpbWUxPS0xDQorKQ0KK2Vsc2UNCisoDQorCSZvc190aW1lMT12LnZhbHVlKGdfb3NfZGRyX2lycV9zdGFydF9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbJm9zX2lycV9zdGFydF9uZXh0XS5kYXRhMikNCispDQoraWYgJm9zX2lycV9lbmRfbmV4dD09LTENCisoDQorCSZvc190aW1lMj0tMQ0KKykNCitlbHNlDQorKA0KKwkmb3NfdGltZTI9di52YWx1ZShnX29zX2Rkcl9pcnFfZW5kX3N0YXRpc3RpYy0+c3RhdGlzdGljc1smb3NfaXJxX2VuZF9uZXh0XS5kYXRhMikNCispDQoraWYgJm9zX3NvZnRpcnFfc3RhcnRfbmV4dD09LTENCisoDQorCSZvc190aW1lMz0tMQ0KKykNCitlbHNlDQorKA0KKwkmb3NfdGltZTM9di52YWx1ZShnX29zX2Rkcl9zb2Z0aXJxX3N0YXJ0X3N0YXRpc3RpYy0+c3RhdGlzdGljc1smb3Nfc29mdGlycV9zdGFydF9uZXh0XS5kYXRhMikNCispDQoraWYgJm9zX3NvZnRpcnFfZW5kX25leHQ9PS0xDQorKA0KKwkmb3NfdGltZTQ9LTENCispDQorZWxzZQ0KKygNCisJJm9zX3RpbWU0PXYudmFsdWUoZ19vc19kZHJfc29mdGlycV9lbmRfc3RhdGlzdGljLT5zdGF0aXN0aWNzWyZvc19zb2Z0aXJxX2VuZF9uZXh0XS5kYXRhMikNCispDQoraWYgJm9zX3RpbWVyX3N0YXJ0X25leHQ9PS0xDQorKA0KKwkmb3NfdGltZTU9LTENCispDQorZWxzZQ0KKygNCisJJm9zX3RpbWU1PXYudmFsdWUoZ19vc19kZHJfdGltZXJfc3RhcnRfc3RhdGlzdGljLT5zdGF0aXN0aWNzWyZvc190aW1lcl9zdGFydF9uZXh0XS5kYXRhMikNCispDQoraWYgJm9zX3RpbWVyX2VuZF9uZXh0PT0tMQ0KKygNCisJJm9zX3RpbWU2PS0xDQorKQ0KK2Vsc2UNCisoDQorCSZvc190aW1lNj12LnZhbHVlKGdfb3NfZGRyX3RpbWVyX2VuZF9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbJm9zX3RpbWVyX2VuZF9uZXh0XS5kYXRhMikNCispDQorDQorJm9zX3RpbWVfY250PTcuDQorJm9zX25leHRfdGltZT0wLg0KKw0KK3ByaW50IGZvcm1hdC5zdHJpbmcoIk5hbWUiLDMyLCcgJykrIiAiKyJJbmRleCIrIiAgICAgICAiKyJUaW1lIisiICAgICAgICAgICIrIkV4Y2UiDQorDQorJnJlc3VsdD0wDQord2hpbGUgJnJlc3VsdD09MA0KKygNCisJZ29zdWIgTGludXhQcmludE5leHRMaW5lDQorCWlmICgoJm9zX3N3YXBfbmV4dD09LTEpJiYoJm9zX2lycV9zdGFydF9uZXh0PT0tMSkmJigmb3NfaXJxX2VuZF9uZXh0PT0tMSkmJigmb3Nfc29mdGlycV9zdGFydF9uZXh0PT0tMSkmJigmb3Nfc29mdGlycV9lbmRfbmV4dD09LTEpJiYoJm9zX3RpbWVyX3N0YXJ0X25leHQ9PS0xKSYmKCZvc190aW1lcl9lbmRfbmV4dD09LTEpKQ0KKwkoDQorCQlwcmludCAiRU5EIg0KKwkJJnJlc3VsdD0tMQ0KKwkpDQorKQ0KK1JFVFVSTg0KKw0KKzsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorTGludXhQcmludE5leHRMaW5lOg0KK2xvY2FsICZ0aW1lICZzdHIgJmxpbmVfaW5kZXgNCisNCitnb3N1YiBHZXRNaW5UaW1lSW5kZXggJm9zX3RpbWVfY250DQorRU5UUlkgJmluZGV4DQorDQoraWYgJmluZGV4PT0wDQorKA0KKwlsb2NhbCAmdGFzayAmYWRkcg0KKwkmdGFzaz12LnZhbHVlKGdfb3NfZGRyX3N3YXBpbl9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbJm9zX3N3YXBfbmV4dF0uZGF0YTEpDQorCSZhZGRyPXYudmFsdWUoJigoc3RydWN0IHRhc2tfc3RydWN0KikmdGFzayktPmNvbW0pDQorCSZzdHI9IlRIUkVBRDogIitkYXRhLnN0cmluZyhEOiZhZGRyKQ0KKwkmbGluZV9pbmRleD0mb3Nfc3dhcF9uZXh0DQorCSZ0aW1lPSZvc190aW1lMA0KKwlnb3N1YiBHZXROZXh0SW5kZXggJm9zX3N3YXBfY250ICZvc19zd2FwX2xhc3QgJm9zX3N3YXBfbmV4dA0KKwlFTlRSWSAmb3Nfc3dhcF9uZXh0DQorCWlmICZvc19zd2FwX25leHQ9PS0xDQorCSgNCisJCSZvc190aW1lMD0tMQ0KKwkpDQorCWVsc2UNCisJKA0KKwkJJm9zX3RpbWUwPXYudmFsdWUoZ19vc19kZHJfc3dhcGluX3N0YXRpc3RpYy0+c3RhdGlzdGljc1smb3Nfc3dhcF9uZXh0XS5kYXRhMikNCisJKQ0KKykNCitlbHNlIGlmICZpbmRleD09MQ0KKygNCisJbG9jYWwgJmlycSAmYWRkcg0KKwkmaXJxPXYudmFsdWUoZ19vc19kZHJfaXJxX3N0YXJ0X3N0YXRpc3RpYy0+c3RhdGlzdGljc1smb3NfaXJxX3N0YXJ0X25leHRdLmRhdGExKQ0KKwkmYWRkcj12LnZhbHVlKGlycV9kZXNjWyZpcnFdLmFjdGlvbi0+bmFtZSkNCisJJnN0cj0iSVJRU1RBOiAiK2RhdGEuc3RyaW5nKEQ6JmFkZHIpKyIgUyINCisJJmxpbmVfaW5kZXg9Jm9zX2lycV9zdGFydF9uZXh0DQorCSZ0aW1lPSZvc190aW1lMQ0KKwlnb3N1YiBHZXROZXh0SW5kZXggJm9zX2lycV9zdGFydF9jbnQgJm9zX2lycV9zdGFydF9sYXN0ICZvc19pcnFfc3RhcnRfbmV4dA0KKwlFTlRSWSAmb3NfaXJxX3N0YXJ0X25leHQNCisJaWYgJm9zX2lycV9zdGFydF9uZXh0PT0tMQ0KKwkoDQorCQkmb3NfdGltZTE9LTENCisJKQ0KKwllbHNlDQorCSgNCisJCSZvc190aW1lMT12LnZhbHVlKGdfb3NfZGRyX2lycV9zdGFydF9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbJm9zX2lycV9zdGFydF9uZXh0XS5kYXRhMikNCisJKQ0KKykNCitlbHNlIGlmICZpbmRleD09Mg0KKygNCisJbG9jYWwgJmlycSAmYWRkcg0KKwkmaXJxPXYudmFsdWUoZ19vc19kZHJfaXJxX2VuZF9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbJm9zX2lycV9lbmRfbmV4dF0uZGF0YTEpDQorCSZhZGRyPXYudmFsdWUoaXJxX2Rlc2NbJmlycV0uYWN0aW9uLT5uYW1lKQ0KKwkmc3RyPSJJUlFFTkQ6ICIrZGF0YS5zdHJpbmcoRDomYWRkcikrIiBFIg0KKwkmbGluZV9pbmRleD0mb3NfaXJxX2VuZF9uZXh0DQorCSZ0aW1lPSZvc190aW1lMg0KKwlnb3N1YiBHZXROZXh0SW5kZXggJm9zX2lycV9lbmRfY250ICZvc19pcnFfZW5kX2xhc3QgJm9zX2lycV9lbmRfbmV4dA0KKwlFTlRSWSAmb3NfaXJxX2VuZF9uZXh0DQorCWlmICZvc19pcnFfZW5kX25leHQ9PS0xDQorCSgNCisJCSZvc190aW1lMj0tMQ0KKwkpDQorCWVsc2UNCisJKA0KKwkJJm9zX3RpbWUyPXYudmFsdWUoZ19vc19kZHJfaXJxX2VuZF9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbJm9zX2lycV9lbmRfbmV4dF0uZGF0YTIpDQorCSkNCispDQorZWxzZSBpZiAmaW5kZXg9PTMNCisoDQorCWxvY2FsICZ2ZWMgJmZ1bmMNCisJJnRpbWU9di52YWx1ZShnX29zX2Rkcl9zb2Z0aXJxX3N0YXJ0X3N0YXRpc3RpYy0+c3RhdGlzdGljc1smb3Nfc29mdGlycV9zdGFydF9uZXh0XS5kYXRhMikNCisJJnZlYz12LnZhbHVlKGdfb3NfZGRyX3NvZnRpcnFfc3RhcnRfc3RhdGlzdGljLT5zdGF0aXN0aWNzWyZvc19zb2Z0aXJxX3N0YXJ0X25leHRdLmRhdGExKQ0KKwkmZnVuYz12LnZhbHVlKHNvZnRpcnFfdmVjWyZ2ZWNdLmFjdGlvbikNCisJJnN0cj0iU0lSUVM6ICIrc3ltYm9sLmZ1bmN0aW9uKFA6JmZ1bmMpKyIgUyINCisJJmxpbmVfaW5kZXg9Jm9zX3NvZnRpcnFfc3RhcnRfbmV4dA0KKwkmdGltZT0mb3NfdGltZTMNCisJZ29zdWIgR2V0TmV4dEluZGV4ICZvc19zb2Z0aXJxX3N0YXJ0X2NudCAmb3Nfc29mdGlycV9zdGFydF9sYXN0ICZvc19zb2Z0aXJxX3N0YXJ0X25leHQNCisJRU5UUlkgJm9zX3NvZnRpcnFfc3RhcnRfbmV4dA0KKwlpZiAmb3Nfc29mdGlycV9zdGFydF9uZXh0PT0tMQ0KKwkoDQorCQkmb3NfdGltZTM9LTENCisJKQ0KKwllbHNlDQorCSgNCisJCSZvc190aW1lMz12LnZhbHVlKGdfb3NfZGRyX3NvZnRpcnFfc3RhcnRfc3RhdGlzdGljLT5zdGF0aXN0aWNzWyZvc19zb2Z0aXJxX3N0YXJ0X25leHRdLmRhdGEyKQ0KKwkpDQorKQ0KK2Vsc2UgaWYgJmluZGV4PT00DQorKA0KKwlsb2NhbCAmdmVjICZmdW5jDQorCSZ0aW1lPXYudmFsdWUoZ19vc19kZHJfc29mdGlycV9lbmRfc3RhdGlzdGljLT5zdGF0aXN0aWNzWyZvc19zb2Z0aXJxX2VuZF9uZXh0XS5kYXRhMikNCisJJnZlYz12LnZhbHVlKGdfb3NfZGRyX3NvZnRpcnFfZW5kX3N0YXRpc3RpYy0+c3RhdGlzdGljc1smb3Nfc29mdGlycV9lbmRfbmV4dF0uZGF0YTEpDQorCSZmdW5jPXYudmFsdWUoc29mdGlycV92ZWNbJnZlY10uYWN0aW9uKQ0KKwkmc3RyPSJTSVJRRTogIitzeW1ib2wuZnVuY3Rpb24oUDomZnVuYykrIiBFIg0KKwkmbGluZV9pbmRleD0mb3Nfc29mdGlycV9lbmRfbmV4dA0KKwkmdGltZT0mb3NfdGltZTQNCisJZ29zdWIgR2V0TmV4dEluZGV4ICZvc19zb2Z0aXJxX2VuZF9jbnQgJm9zX3NvZnRpcnFfZW5kX2xhc3QgJm9zX3NvZnRpcnFfZW5kX25leHQNCisJRU5UUlkgJm9zX3NvZnRpcnFfZW5kX25leHQNCisJaWYgJm9zX3NvZnRpcnFfZW5kX25leHQ9PS0xDQorCSgNCisJCSZvc190aW1lND0tMQ0KKwkpDQorCWVsc2UNCisJKA0KKwkJJm9zX3RpbWU0PXYudmFsdWUoZ19vc19kZHJfc29mdGlycV9lbmRfc3RhdGlzdGljLT5zdGF0aXN0aWNzWyZvc19zb2Z0aXJxX2VuZF9uZXh0XS5kYXRhMikNCisJKQ0KKykNCitlbHNlIGlmICZpbmRleD09NQ0KKygNCisJbG9jYWwgJmZ1bmMNCisJJnRpbWU9di52YWx1ZShnX29zX2Rkcl90aW1lcl9zdGFydF9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbJm9zX3RpbWVyX3N0YXJ0X25leHRdLmRhdGEyKQ0KKwkmZnVuYz12LnZhbHVlKGdfb3NfZGRyX3RpbWVyX3N0YXJ0X3N0YXRpc3RpYy0+c3RhdGlzdGljc1smb3NfdGltZXJfc3RhcnRfbmV4dF0uZGF0YTEpDQorCSZzdHI9IlRJTUVSUzogIitzeW1ib2wuZnVuY3Rpb24oUDomZnVuYykrIiBTIg0KKwkmbGluZV9pbmRleD0mb3NfdGltZXJfc3RhcnRfbmV4dA0KKwkmdGltZT0mb3NfdGltZTUNCisJZ29zdWIgR2V0TmV4dEluZGV4ICZvc190aW1lcl9zdGFydF9jbnQgJm9zX3RpbWVyX3N0YXJ0X2xhc3QgJm9zX3RpbWVyX3N0YXJ0X25leHQNCisJRU5UUlkgJm9zX3RpbWVyX3N0YXJ0X25leHQNCisJaWYgJm9zX3RpbWVyX3N0YXJ0X25leHQ9PS0xDQorCSgNCisJCSZvc190aW1lNT0tMQ0KKwkpDQorCWVsc2UNCisJKA0KKwkJJm9zX3RpbWU1PXYudmFsdWUoZ19vc19kZHJfdGltZXJfc3RhcnRfc3RhdGlzdGljLT5zdGF0aXN0aWNzWyZvc190aW1lcl9zdGFydF9uZXh0XS5kYXRhMikNCisJKQ0KKykNCitlbHNlIGlmICZpbmRleD09Ng0KKygNCisJbG9jYWwgJmZ1bmMNCisJJnRpbWU9di52YWx1ZShnX29zX2Rkcl90aW1lcl9lbmRfc3RhdGlzdGljLT5zdGF0aXN0aWNzWyZvc190aW1lcl9lbmRfbmV4dF0uZGF0YTIpDQorCSZmdW5jPXYudmFsdWUoZ19vc19kZHJfdGltZXJfZW5kX3N0YXRpc3RpYy0+c3RhdGlzdGljc1smb3NfdGltZXJfZW5kX25leHRdLmRhdGExKQ0KKwkmc3RyPSJUSU1FUkU6ICIrc3ltYm9sLmZ1bmN0aW9uKFA6JmZ1bmMpKyIgRSINCisJJmxpbmVfaW5kZXg9Jm9zX3RpbWVyX2VuZF9uZXh0DQorCSZ0aW1lPSZvc190aW1lNg0KKwlnb3N1YiBHZXROZXh0SW5kZXggJm9zX3RpbWVyX2VuZF9jbnQgJm9zX3RpbWVyX2VuZF9sYXN0ICZvc190aW1lcl9lbmRfbmV4dA0KKwlFTlRSWSAmb3NfdGltZXJfZW5kX25leHQNCisJaWYgJm9zX3RpbWVyX2VuZF9uZXh0PT0tMQ0KKwkoDQorCQkmb3NfdGltZTY9LTENCisJKQ0KKwllbHNlDQorCSgNCisJCSZvc190aW1lNj12LnZhbHVlKGdfb3NfZGRyX3RpbWVyX2VuZF9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbJm9zX3RpbWVyX2VuZF9uZXh0XS5kYXRhMikNCisJKQ0KKykNCitlbHNlDQorKA0KKwlwcmludCAiVW5rbm93biBUeXBlIg0KKykNCisNCitnb3N1YiBHZXRNaW5UaW1lICZvc190aW1lX2NudA0KK0VOVFJZICZvc19uZXh0X3RpbWUNCisNCitwcmludCBmb3JtYXQuc3RyaW5nKCImc3RyIiwzMiwnICcpKyIgIitmb3JtYXQuRGVjaW1hbFUoOCwmbGluZV9pbmRleCkrIiAgICAiK2Zvcm1hdC5EZWNpbWFsVSgxLCZ0aW1lKSsiICAgICIrZm9ybWF0LkRlY2ltYWxVKDEsJm9zX25leHRfdGltZS0mdGltZSkNCisNCitSRVRVUk4NCisNCis7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0dldE5leHRJbmRleDoNCitFTlRSWSAmY250ICZsYXN0X2luZGV4ICZjdXJfaW5kZXgNCitsb2NhbCAmaW5kZXgNCisNCitpZiAhKCgmY3VyX2luZGV4Pj0wLikmJigmY3VyX2luZGV4PCZjbnQpKQ0KKygNCisJUkVUVVJOIC0xDQorKQ0KKw0KKyZpbmRleD0mY3VyX2luZGV4KzENCitpZiAmaW5kZXg+PSZjbnQNCisoDQorCSZpbmRleD0wDQorKQ0KK2lmICZpbmRleD09Jmxhc3RfaW5kZXgNCisoDQorCSZpbmRleD0tMQ0KKykNCitSRVRVUk4gJmluZGV4DQorDQorOyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitHZXRNaW5UaW1lSW5kZXg6DQorRU5UUlkgJmNudA0KK2xvY2FsICZpICZtaW5faW5kZXggJm1pbl92YWwNCitsb2NhbCAmdmFsdWUgJmluZGV4DQorDQorJmk9MC4NCismbWluX2luZGV4PTAuDQorJm1pbl92YWw9MHhGRkZGRkZGRg0KKw0KK3doaWxlICZpPCZjbnQNCisoDQorCSZpbmRleD1zdHJpbmcuY3V0KCImaSIsLTEpDQorCSYmdmFsdWU9Jm9zX3RpbWUmaW5kZXgNCisJaWYgKCZ2YWx1ZSE9LTEpJiYoJm1pbl92YWw+PSZ2YWx1ZSkNCisJKA0KKwkJJm1pbl92YWw9JnZhbHVlDQorCQkmbWluX2luZGV4PSZpDQorCSkNCisJJmk9JmkrMQ0KKykNCisNCitSRVRVUk4gJm1pbl9pbmRleA0KKw0KKzsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorR2V0TWluVGltZToNCitFTlRSWSAmY250DQorbG9jYWwgJmkgJm1pbl9pbmRleCAmbWluX3ZhbA0KK2xvY2FsICZ2YWx1ZSAmaW5kZXgNCisNCismaT0wLg0KKyZtaW5faW5kZXg9MC4NCismbWluX3ZhbD0weEZGRkZGRkZGDQorDQord2hpbGUgJmk8JmNudA0KKygNCisJJmluZGV4PXN0cmluZy5jdXQoIiZpIiwtMSkNCisJJiZ2YWx1ZT0mb3NfdGltZSZpbmRleA0KKwlpZiAoJnZhbHVlIT0tMSkmJigmbWluX3ZhbD49JnZhbHVlKQ0KKwkoDQorCQkmbWluX3ZhbD0mdmFsdWUNCisJCSZtaW5faW5kZXg9JmkNCisJKQ0KKwkmaT0maSsxDQorKQ0KKw0KK1JFVFVSTiAmbWluX3ZhbA0KKw0KKzsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorVG9zUHJpbnROZXh0TGluZToNCitsb2NhbCAmdGltZSAmc3RyICZsaW5lX2luZGV4DQorDQorDQorZ29zdWIgR2V0TWluVGltZUluZGV4ICZvc190aW1lX2NudA0KK0VOVFJZICZpbmRleA0KKw0KK2lmICZpbmRleD09MA0KKygNCisJbG9jYWwgJnRhc2sgJmFkZHINCisJJnRhc2s9di52YWx1ZShnX29zX2Rkcl9zd2FwaW5fc3RhdGlzdGljLT5zdGF0aXN0aWNzWyZvc19zd2FwX25leHRdLmRhdGExKQ0KKwkmYWRkcj12LnZhbHVlKCYoKEN5Z19UaHJlYWQqKSZ0YXNrKS0+dGhyZWFkX25hbWUpDQorCSZzdHI9IlRIUkVBRDogIitkYXRhLnN0cmluZyhEOiZhZGRyKQ0KKwkmbGluZV9pbmRleD0mb3Nfc3dhcF9uZXh0DQorCSZ0aW1lPSZvc190aW1lMA0KKwlnb3N1YiBHZXROZXh0SW5kZXggJm9zX3N3YXBfY250ICZvc19zd2FwX2xhc3QgJm9zX3N3YXBfbmV4dA0KKwlFTlRSWSAmb3Nfc3dhcF9uZXh0DQorCWlmICZvc19zd2FwX25leHQ9PS0xDQorCSgNCisJCSZvc190aW1lMD0tMQ0KKwkpDQorCWVsc2UNCisJKA0KKwkJJm9zX3RpbWUwPXYudmFsdWUoZ19vc19kZHJfc3dhcGluX3N0YXRpc3RpYy0+c3RhdGlzdGljc1smb3Nfc3dhcF9uZXh0XS5kYXRhMikNCisJKQ0KKykNCitlbHNlIGlmICZpbmRleD09MQ0KKygNCisJbG9jYWwgJmlycSAmYWRkcg0KKwkmaXJxPXYudmFsdWUoZ19vc19kZHJfaXJxX3N0YXJ0X3N0YXRpc3RpYy0+c3RhdGlzdGljc1smb3NfaXJxX3N0YXJ0X25leHRdLmRhdGExKQ0KKwkmc3RyPSJJUlFTVEE6ICIrZm9ybWF0LkRlY2ltYWxVKDEsJmlycSkrIiBTIg0KKwkmbGluZV9pbmRleD0mb3NfaXJxX3N0YXJ0X25leHQNCisJJnRpbWU9Jm9zX3RpbWUxDQorCWdvc3ViIEdldE5leHRJbmRleCAmb3NfaXJxX3N0YXJ0X2NudCAmb3NfaXJxX3N0YXJ0X2xhc3QgJm9zX2lycV9zdGFydF9uZXh0DQorCUVOVFJZICZvc19pcnFfc3RhcnRfbmV4dA0KKwlpZiAmb3NfaXJxX3N0YXJ0X25leHQ9PS0xDQorCSgNCisJCSZvc190aW1lMT0tMQ0KKwkpDQorCWVsc2UNCisJKA0KKwkJJm9zX3RpbWUxPXYudmFsdWUoZ19vc19kZHJfaXJxX3N0YXJ0X3N0YXRpc3RpYy0+c3RhdGlzdGljc1smb3NfaXJxX3N0YXJ0X25leHRdLmRhdGEyKQ0KKwkpDQorKQ0KK2Vsc2UgaWYgJmluZGV4PT0yDQorKA0KKwlsb2NhbCAmaXJxICZhZGRyDQorCSZpcnE9di52YWx1ZShnX29zX2Rkcl9pcnFfZW5kX3N0YXRpc3RpYy0+c3RhdGlzdGljc1smb3NfaXJxX2VuZF9uZXh0XS5kYXRhMSkNCisJJnN0cj0iSVJRRU5EOiAiK2Zvcm1hdC5EZWNpbWFsVSgxLCZpcnEpKyIgRSINCisJJmxpbmVfaW5kZXg9Jm9zX2lycV9lbmRfbmV4dA0KKwkmdGltZT0mb3NfdGltZTINCisJZ29zdWIgR2V0TmV4dEluZGV4ICZvc19pcnFfZW5kX2NudCAmb3NfaXJxX2VuZF9sYXN0ICZvc19pcnFfZW5kX25leHQNCisJRU5UUlkgJm9zX2lycV9lbmRfbmV4dA0KKwlpZiAmb3NfaXJxX2VuZF9uZXh0PT0tMQ0KKwkoDQorCQkmb3NfdGltZTI9LTENCisJKQ0KKwllbHNlDQorCSgNCisJCSZvc190aW1lMj12LnZhbHVlKGdfb3NfZGRyX2lycV9lbmRfc3RhdGlzdGljLT5zdGF0aXN0aWNzWyZvc19pcnFfZW5kX25leHRdLmRhdGEyKQ0KKwkpDQorKQ0KK2Vsc2UgaWYgJmluZGV4PT0zDQorKA0KKwlsb2NhbCAmZHNyICZhZGRyDQorCSZkc3I9di52YWx1ZShnX29zX2Rkcl9kc3Jfc3RhcnRfc3RhdGlzdGljLT5zdGF0aXN0aWNzWyZvc19kc3Jfc3RhcnRfbmV4dF0uZGF0YTEpDQorCSZzdHI9IkRTUlNUQTogIitmb3JtYXQuRGVjaW1hbFUoMSwmZHNyKSsiIFMiDQorCSZsaW5lX2luZGV4PSZvc19kc3Jfc3RhcnRfbmV4dA0KKwkmdGltZT0mb3NfdGltZTMNCisJZ29zdWIgR2V0TmV4dEluZGV4ICZvc19kc3Jfc3RhcnRfY250ICZvc19kc3Jfc3RhcnRfbGFzdCAmb3NfZHNyX3N0YXJ0X25leHQNCisJRU5UUlkgJm9zX2Rzcl9zdGFydF9uZXh0DQorCWlmICZvc19kc3Jfc3RhcnRfbmV4dD09LTENCisJKA0KKwkJJm9zX3RpbWUzPS0xDQorCSkNCisJZWxzZQ0KKwkoDQorCQkmb3NfdGltZTM9di52YWx1ZShnX29zX2Rkcl9kc3Jfc3RhcnRfc3RhdGlzdGljLT5zdGF0aXN0aWNzWyZvc19kc3Jfc3RhcnRfbmV4dF0uZGF0YTIpDQorCSkNCispDQorZWxzZSBpZiAmaW5kZXg9PTQNCisoDQorCWxvY2FsICZkc3IgJmFkZHINCisJJmRzcj12LnZhbHVlKGdfb3NfZGRyX2Rzcl9lbmRfc3RhdGlzdGljLT5zdGF0aXN0aWNzWyZvc19kc3JfZW5kX25leHRdLmRhdGExKQ0KKwkmc3RyPSJEU1JFTkQ6ICIrZm9ybWF0LkRlY2ltYWxVKDEsJmRzcikrIiBFIg0KKwkmbGluZV9pbmRleD0mb3NfZHNyX2VuZF9uZXh0DQorCSZ0aW1lPSZvc190aW1lNA0KKwlnb3N1YiBHZXROZXh0SW5kZXggJm9zX2Rzcl9lbmRfY250ICZvc19kc3JfZW5kX2xhc3QgJm9zX2Rzcl9lbmRfbmV4dA0KKwlFTlRSWSAmb3NfZHNyX2VuZF9uZXh0DQorCWlmICZvc19kc3JfZW5kX25leHQ9PS0xDQorCSgNCisJCSZvc190aW1lND0tMQ0KKwkpDQorCWVsc2UNCisJKA0KKwkJJm9zX3RpbWU0PXYudmFsdWUoZ19vc19kZHJfZHNyX2VuZF9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbJm9zX2Rzcl9lbmRfbmV4dF0uZGF0YTIpDQorCSkNCispDQorZWxzZQ0KKygNCisJcHJpbnQgIlVua25vd24gVHlwZSINCispDQorDQorZ29zdWIgR2V0TWluVGltZSAmb3NfdGltZV9jbnQNCitFTlRSWSAmb3NfbmV4dF90aW1lDQorDQorcHJpbnQgZm9ybWF0LnN0cmluZygiJnN0ciIsMzIsJyAnKSsiICIrZm9ybWF0LkRlY2ltYWxVKDgsJmxpbmVfaW5kZXgpKyIgICAgIitmb3JtYXQuRGVjaW1hbFUoMSwmdGltZSkrIiAgICAiK2Zvcm1hdC5EZWNpbWFsVSgxLCZvc19uZXh0X3RpbWUtJnRpbWUpDQorDQorUkVUVVJODQorDQorOyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitUb3NUcmFjZToNCitsb2NhbCAmcmVzdWx0DQorDQoraWYgdi52YWx1ZShnX29zX2Rkcl9zd2FwaW5fc3RhdGlzdGljKT09MA0KKygNCisJUkVUVVJODQorKQ0KKw0KKyZvc19zd2FwX2xhc3Q9di52YWx1ZShnX29zX2Rkcl9zd2FwaW5fc3RhdGlzdGljLT5pbmRleCkNCismb3Nfc3dhcF9jbnQ9di52YWx1ZShzaXplb2YoZ19vc19kZHJfc3dhcGluX3N0YXRpc3RpYy0+c3RhdGlzdGljcykvc2l6ZW9mKGdfb3NfZGRyX3N3YXBpbl9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbMF0pKQ0KKyZvc19zd2FwX25leHQ9Jm9zX3N3YXBfbGFzdA0KKw0KK2lmICZvc19pcnFfZW5hYmxlPT0xDQorKA0KKwkmb3NfaXJxX3N0YXJ0X2xhc3Q9di52YWx1ZShnX29zX2Rkcl9pcnFfc3RhcnRfc3RhdGlzdGljLT5pbmRleCkNCisJJm9zX2lycV9zdGFydF9jbnQ9di52YWx1ZShzaXplb2YoZ19vc19kZHJfaXJxX3N0YXJ0X3N0YXRpc3RpYy0+c3RhdGlzdGljcykvc2l6ZW9mKGdfb3NfZGRyX2lycV9zdGFydF9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbMF0pKQ0KKwkmb3NfaXJxX3N0YXJ0X25leHQ9Jm9zX2lycV9zdGFydF9sYXN0DQorCSZvc19pcnFfZW5kX2xhc3Q9di52YWx1ZShnX29zX2Rkcl9pcnFfZW5kX3N0YXRpc3RpYy0+aW5kZXgpDQorCSZvc19pcnFfZW5kX2NudD12LnZhbHVlKHNpemVvZihnX29zX2Rkcl9pcnFfZW5kX3N0YXRpc3RpYy0+c3RhdGlzdGljcykvc2l6ZW9mKGdfb3NfZGRyX2lycV9lbmRfc3RhdGlzdGljLT5zdGF0aXN0aWNzWzBdKSkNCisJJm9zX2lycV9lbmRfbmV4dD0mb3NfaXJxX2VuZF9sYXN0DQorKQ0KK2Vsc2UNCisoDQorCSZvc19pcnFfc3RhcnRfbmV4dD0tMQ0KKwkmb3NfaXJxX2VuZF9uZXh0PS0xDQorKQ0KKw0KK2lmICZvc19kc3JfZW5hYmxlPT0xDQorKA0KKwkmb3NfZHNyX3N0YXJ0X2xhc3Q9di52YWx1ZShnX29zX2Rkcl9kc3Jfc3RhcnRfc3RhdGlzdGljLT5pbmRleCkNCisJJm9zX2Rzcl9zdGFydF9jbnQ9di52YWx1ZShzaXplb2YoZ19vc19kZHJfZHNyX3N0YXJ0X3N0YXRpc3RpYy0+c3RhdGlzdGljcykvc2l6ZW9mKGdfb3NfZGRyX2Rzcl9zdGFydF9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbMF0pKQ0KKwkmb3NfZHNyX3N0YXJ0X25leHQ9Jm9zX2Rzcl9zdGFydF9sYXN0DQorCSZvc19kc3JfZW5kX2xhc3Q9di52YWx1ZShnX29zX2Rkcl9kc3JfZW5kX3N0YXRpc3RpYy0+aW5kZXgpDQorCSZvc19kc3JfZW5kX2NudD12LnZhbHVlKHNpemVvZihnX29zX2Rkcl9kc3JfZW5kX3N0YXRpc3RpYy0+c3RhdGlzdGljcykvc2l6ZW9mKGdfb3NfZGRyX2Rzcl9lbmRfc3RhdGlzdGljLT5zdGF0aXN0aWNzWzBdKSkNCisJJm9zX2Rzcl9lbmRfbmV4dD0mb3NfZHNyX2VuZF9sYXN0DQorKQ0KK2Vsc2UNCisoDQorCSZvc19kc3Jfc3RhcnRfbmV4dD0tMQ0KKwkmb3NfZHNyX2VuZF9uZXh0PS0xDQorKQ0KKw0KK2lmICZvc19zd2FwX25leHQ9PS0xDQorKA0KKwkmb3NfdGltZTA9LTENCispDQorZWxzZQ0KKygNCisJJm9zX3RpbWUwPXYudmFsdWUoZ19vc19kZHJfc3dhcGluX3N0YXRpc3RpYy0+c3RhdGlzdGljc1smb3Nfc3dhcF9uZXh0XS5kYXRhMikNCispDQoraWYgJm9zX2lycV9zdGFydF9uZXh0PT0tMQ0KKygNCisJJm9zX3RpbWUxPS0xDQorKQ0KK2Vsc2UNCisoDQorCSZvc190aW1lMT12LnZhbHVlKGdfb3NfZGRyX2lycV9zdGFydF9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbJm9zX2lycV9zdGFydF9uZXh0XS5kYXRhMikNCispDQoraWYgJm9zX2lycV9lbmRfbmV4dD09LTENCisoDQorCSZvc190aW1lMj0tMQ0KKykNCitlbHNlDQorKA0KKwkmb3NfdGltZTI9di52YWx1ZShnX29zX2Rkcl9pcnFfZW5kX3N0YXRpc3RpYy0+c3RhdGlzdGljc1smb3NfaXJxX2VuZF9uZXh0XS5kYXRhMikNCispDQorDQoraWYgJm9zX2Rzcl9zdGFydF9uZXh0PT0tMQ0KKygNCisJJm9zX3RpbWUzPS0xDQorKQ0KK2Vsc2UNCisoDQorCSZvc190aW1lMz12LnZhbHVlKGdfb3NfZGRyX2Rzcl9zdGFydF9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbJm9zX2Rzcl9zdGFydF9uZXh0XS5kYXRhMikNCispDQoraWYgJm9zX2Rzcl9lbmRfbmV4dD09LTENCisoDQorCSZvc190aW1lND0tMQ0KKykNCitlbHNlDQorKA0KKwkmb3NfdGltZTQ9di52YWx1ZShnX29zX2Rkcl9kc3JfZW5kX3N0YXRpc3RpYy0+c3RhdGlzdGljc1smb3NfZHNyX2VuZF9uZXh0XS5kYXRhMikNCispDQorDQorJm9zX3RpbWVfY250PTUuDQorJm9zX25leHRfdGltZT0wLg0KKw0KK3ByaW50IGZvcm1hdC5zdHJpbmcoIk5hbWUiLDMyLCcgJykrIiAiKyJJbmRleCIrIiAgICAgICAiKyJUaW1lIisiICAgICAgICAgICIrIkV4Y2UiDQorDQorJnJlc3VsdD0wDQord2hpbGUgJnJlc3VsdD09MA0KKygNCisJZ29zdWIgVG9zUHJpbnROZXh0TGluZQ0KKwlpZiAoKCZvc19zd2FwX25leHQ9PS0xKSYmKCZvc19pcnFfc3RhcnRfbmV4dD09LTEpJiYoJm9zX2lycV9lbmRfbmV4dD09LTEpJiYoJm9zX2Rzcl9zdGFydF9uZXh0PT0tMSkmJigmb3NfZHNyX2VuZF9uZXh0PT0tMSkpDQorCSgNCisJCXByaW50ICJFTkQiDQorCQkmcmVzdWx0PS0xDQorCSkNCispDQorDQorUkVUVVJODQpkaWZmIC0tZ2l0IGEvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvcmVhZG1lIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvcmVhZG1lCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhmOGJhZGUKLS0tIC9kZXYvbnVsbAorKysgYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9yZWFkbWUKQEAgLTAsMCArMSwxNyBAQAoro7stLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoro7s3NTIwdjMNCiujuy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCisxKSBsb2FkKGp0YWcwKQ0KK3N0ZXAxOiBydW4gNzUyMFYzX0REUl8xR2JfMzEyLmNtbQ0KK3N0ZXAyOiBydW4gbGludXhfMjk3NTIwdjNfZXZiLmNtbQ0KKw0KKzIpIGF0dGFjaChqdGFnMCk6DQorc3RlcDE6IHJ1biBib290X2F0dGFjaF9Db3J0ZXhBNTNfYXAuY21tDQorc3RlcDI6IHJ1biBsaW51eF8yOTc1MjB2M2V2Yl9hdHRhY2guY21tDQorDQorMykgc3dpdGNoIGNvcmVfYXAtLT5jb3JlX3BzKGp0YWcwKQ0KK3N0ZXAxOiBUMzIgTWVudSANCisgICAgICAgPT0+IDc1MjBCb2FyZA0KKyAgICAgICAgICAgICA9PT4gSnRhZyBTd2l0Y2ggVXNlIENNTQ0KKyAgICAgICAgICAgICAgICAgID09PiBTd2l0Y2ggdG8gUHNKdGFnDQorICAgICAgICAgClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3RhY2tfYW5hbHlzaXMvbGliX2NsZWFuX2NhY2hlLmNtbSBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3N0YWNrX2FuYWx5c2lzL2xpYl9jbGVhbl9jYWNoZS5jbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGNhMGE2NAotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3N0YWNrX2FuYWx5c2lzL2xpYl9jbGVhbl9jYWNoZS5jbW0KQEAgLTAsMCArMSw1NiBAQAorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vKg0KKy8vKiAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAoYykgMjAxMiBaVEUgQ29ycG9yYXRpb24uDQorLy8qDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vKiDEoyC/6SDD+yA6IA0KKy8vKiDOxCC8/iDD+yA6IGxpYl9jbGVhbl9jYWNoZS5jbW0NCisvLyogz+C52M7EvP4gOiANCisvLyogyrXP1rmmxNwgOiDH5bP9yv2+3WNhY2hlu7q05rXEvcWxvqO7DQorLy8qINf3ICAgINXfIDogDQorLy8qILDmICAgILG+IDogVjEuMA0KKy8vKiDN6rPJyNXG2iA6IDIwMTMvMDgvMTgNCisvLyogxuTL/Mu1w/cgOiANCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vKiC9xbG+veLO9sf40/INCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorDQorLy+2qNLlvtayv7Hkwb8NCitsb2NhbCAmY2FjaGVfdHlwZV9yZWcNCitsb2NhbCAmZGF0YV9jYWNoZV9zaXplDQorbG9jYWwgJmRhdGFfY2FjaGVfYXNzb2MNCitsb2NhbCAmZGF0YV9jYWNoZV9sZW4NCitsb2NhbCAmbG9vcF9pbmRleF9hc3NvYw0KK2xvY2FsICZtYXhfYXNzb2NfbG9vcA0KK2xvY2FsICZsb29wX2luZGV4X3NldA0KK2xvY2FsICZtYXhfc2V0X2xvb3ANCitsb2NhbCAmZGF0YQ0KKw0KK3ByaW50ICJDbGVhbmluZyBhbGwgRGF0YSBjYWNoZS4uLiINCisNCismY2FjaGVfdHlwZV9yZWc9ZGF0YS5sb25nKEMxNTowWDEwMCkNCismZGF0YV9jYWNoZV9zaXplPSgmY2FjaGVfdHlwZV9yZWcmMHgxYzAwMDApPj4weDEyDQorJmRhdGFfY2FjaGVfYXNzb2M9KCZjYWNoZV90eXBlX3JlZyYweDM4MDAwKT4+MHhmDQorJmRhdGFfY2FjaGVfbGVuPSgmY2FjaGVfdHlwZV9yZWcmMHgzMDAwKT4+MHhjDQorJm1heF9hc3NvY19sb29wPTE8PCgmZGF0YV9jYWNoZV9hc3NvYykNCismbWF4X3NldF9sb29wPTE8PCgmZGF0YV9jYWNoZV9zaXplKzYtJmRhdGFfY2FjaGVfYXNzb2MtJmRhdGFfY2FjaGVfbGVuKQ0KKyZsb29wX2luZGV4X2Fzc29jPTANCit3aGlsZSAmbG9vcF9pbmRleF9hc3NvYzwmbWF4X2Fzc29jX2xvb3ANCisoDQorCSZsb29wX2luZGV4X3NldD0wDQorCXdoaWxlICZsb29wX2luZGV4X3NldDwmbWF4X3NldF9sb29wDQorCSgNCisJCSZkYXRhPSgmbG9vcF9pbmRleF9hc3NvYzw8KDB4MjAtJmRhdGFfY2FjaGVfYXNzb2MpKSsoJmxvb3BfaW5kZXhfc2V0PDwoJmRhdGFfY2FjaGVfbGVuKzMpKQ0KKwkJZC5zIEMxNToweDJhNyAlbG9uZyAmZGF0YQ0KKwkJJmxvb3BfaW5kZXhfc2V0PSZsb29wX2luZGV4X3NldCsweDENCisJKQ0KKwl3YWl0IDEwLm1zDQorCSZsb29wX2luZGV4X2Fzc29jPSZsb29wX2luZGV4X2Fzc29jKzB4MQ0KKykNCisNCitwcmludCAiLi4uZG9uZSBjbGVhbmluZyBhbGwgRGF0YSBjYWNoZSINCisNCitFTkRETw0KKw0KZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3N0YWNrX2FuYWx5c2lzL2xpYl9nZXRfZnVuY19tb2RlLmNtbSBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3N0YWNrX2FuYWx5c2lzL2xpYl9nZXRfZnVuY19tb2RlLmNtbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yYjYwNzFjCi0tLSAvZGV2L251bGwKKysrIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3RhY2tfYW5hbHlzaXMvbGliX2dldF9mdW5jX21vZGUuY21tCkBAIC0wLDAgKzEsODAgQEAKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyoNCisvLyogICAgICAgICAgICAgICAgICBDb3B5cmlnaHQgKGMpIDIwMTIgWlRFIENvcnBvcmF0aW9uLg0KKy8vKg0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyogxKMgv+kgw/sgOiANCisvLyogzsQgvP4gw/sgOiBsaWJfZ2V0X2Z1bmNfbW9kZS5jbW0NCisvLyogz+C52M7EvP4gOiANCisvLyogyrXP1rmmxNwgOiC78cihuq/K/bLJ08PExNbWseDC67e9yr0oYXJtoaJ0aHVtYikNCisvLyog1/cgICAg1d8gOiC437uqt+UNCisvLyogsOYgICAgsb4gOiBWMS4wDQorLy8qIM3qs8nI1cbaIDogMjAxMy8wOC8xOA0KKy8vKiDG5Mv8y7XD9yA6IA0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisNCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8qIL3Fsb694s72x/jT8g0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisNCisvL7ao0uW+1rK/seTBv6O7DQorbG9jYWwgJnN0YXJ0QWRkciAmZW5kQWRkciAmcmVzdWx0DQorDQorZW50cnkgJnN0YXJ0QWRkciAmZW5kQWRkcg0KK2dvc3ViIHpUMzJfR2V0RnVuY01vZGUgJnN0YXJ0QWRkciAmZW5kQWRkcg0KK2VudHJ5ICZyZXN1bHQNCitlbmRkbyAmcmVzdWx0DQorDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vKiC6r8r9w/uzxqO6elQzMl9HZXRGdW5jTW9kZQ0KKy8vKiC5psTcw+jK9qO6u/HIobqvyv2yydPDtcSx4MLrt73KvShhcm3WuMHuxKPKvbu5ysd0aHVtYta4we4pDQorLy8qILLOyv3LtcP3o7ooSU4pICANCisvLyogICAgICAgICAgICAgaW5zU3RhcnRBZGRyICAgIDog1rjB7rXExvDKvLXY1rejuw0KKy8vKiAgICAgICAgICAgICBpbnNFbmRBZGRyICAgICAgOiDWuMHutcS94cr4tdjWt6O7DQorLy8qICAgICAgICAgICAgICAgIA0KKy8vKiC3tSC72CDWtaO6DQorLy8qIMbky/zLtcP3o7rV67bU09DRudW7stnX97XEuq/K/aO7DQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCit6VDMyX0dldEZ1bmNNb2RlOg0KKyAgICBsb2NhbCAmcHVzaElucyAmcHVzaE1hc2sgJmluc1N0YXJ0QWRkciAmaW5zRW5kQWRkcg0KKyAgICBsb2NhbCAmc3RtMUlucyAmc3RtMU1hc2sgJnN0bTJJbnMgJnN0bTJNYXNrICAgICAgIA0KKw0KKyAgICBlbnRyeSAmaW5zU3RhcnRBZGRyICZpbnNFbmRBZGRyDQorICAgIGlmICZpbnNTdGFydEFkZHI+PSZpbnNFbmRBZGRyDQorICAgICgNCisgICAgICAgIHJldHVybiAmWlQzMl9OT01PREUNCisgICAgKQ0KKyAgICAmcHVzaElucz0weGI0MDANCisgICAgJnB1c2hNYXNrPTB4ZmUwMCAgDQorICAgICZzdG0xSW5zPTB4OTAwMDAwMA0KKyAgICAmc3RtMU1hc2s9MHhGRDAwMDAwDQorICAgICZzdG0ySW5zPTB4OTQwMDAwMA0KKyAgICAmc3RtMk1hc2s9MHhGRjAwMDAwDQorICAgICZpbnN0cnVjdGlvbj1kYXRhLndvcmQoZDomaW5zU3RhcnRBZGRyKQ0KKyAgICANCisgICAgLy/F0LbPyse38crHcHVzaNPvvuQNCisgICAgJnJlc3VsdD12LnZhbHVlKCgmaW5zdHJ1Y3Rpb24pJigmcHVzaE1hc2spKQ0KKyAgICBpZiAmcmVzdWx0PT0mcHVzaElucw0KKyAgICAoDQorICAgICAgICByZXR1cm4gJlpUMzJfVEhVTUJNT0RFDQorICAgICkNCisgICAgZWxzZQ0KKyAgICAoICAgDQorICAgICAgICAmaW5zdHJ1Y3Rpb249ZGF0YS5sb25nKGQ6Jmluc1N0YXJ0QWRkcikNCisgICAgICAgICZyZXN1bHQ9di52YWx1ZSgoJmluc3RydWN0aW9uKSYoJnN0bTFNYXNrKSkNCisgICAgICAgIGlmICZyZXN1bHQ9PSZzdG0xSW5zDQorICAgICAgICAoDQorICAgICAgICAgICAgcmV0dXJuICZaVDMyX0FSTU1PREUNCisgICAgICAgICkNCisgICAgICAgICZyZXN1bHQ9di52YWx1ZSgoJmluc3RydWN0aW9uKSYoJnN0bTJNYXNrKSkNCisgICAgICAgIGlmICZyZXN1bHQ9PSZzdG0ySW5zDQorICAgICAgICAoDQorICAgICAgICAgICAgJnJlc3VsdD0mWlQzMl9BUk1NT0RFDQorICAgICAgICAgICAgcmV0dXJuICZyZXN1bHQNCisgICAgICAgICkNCisgICAgICAgICZpbnNTdGFydEFkZHI9Jmluc1N0YXJ0QWRkcisyDQorICAgICAgICBnb3N1YiAgelQzMl9HZXRGdW5jTW9kZSAmaW5zU3RhcnRBZGRyICAmaW5zRW5kQWRkcg0KKyAgICAgICAgZW50cnkgJnJlc3VsdA0KKyAgICAgICAgcmV0dXJuICZyZXN1bHQNCisgICAgKSAgICANCisNCmRpZmYgLS1naXQgYS9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zdGFja19hbmFseXNpcy9saWJfbGVmdF9hbGlnbi5jbW0gYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zdGFja19hbmFseXNpcy9saWJfbGVmdF9hbGlnbi5jbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTVkYTA2OAotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3N0YWNrX2FuYWx5c2lzL2xpYl9sZWZ0X2FsaWduLmNtbQpAQCAtMCwwICsxLDQ0IEBACisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8qDQorLy8qICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0IChjKSAyMDEyIFpURSBDb3Jwb3JhdGlvbi4NCisvLyoNCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8qIMSjIL/pIMP7IDogDQorLy8qIM7EILz+IMP7IDogbGliX2xlZnRfYWxpZ24uY21tDQorLy8qIM/gudjOxLz+IDogDQorLy8qIMq1z9a5psTcIDog19a3+7Su1/O21Mbro7sNCisvLyog1/cgICAg1d8gOiC437uqt+UNCisvLyogsOYgICAgsb4gOiBWMS4wDQorLy8qIM3qs8nI1cbaIDogMjAxMy8wOC8xOA0KKy8vKiDG5Mv8y7XD9yA6IA0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisNCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8qIL3Fsb694s72x/jT8g0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisNCisvL7ao0uW+1rK/seTBvw0KK2xvY2FsICZzdHJpbmcgJnNwYWNlTnVtDQorDQorLy/Ktc/W19a3+7Su1/O21MbrtcS5psTco7sNCitlbnRyeSAmZm9ybWF0V2lkdGggJmZvcm1hdFRpdGxlDQorJnJlc3VsdD1zdHJpbmcubGVuKCImZm9ybWF0VGl0bGUiKQ0KK2lmICZmb3JtYXRXaWR0aDw9JnJlc3VsdA0KKygNCisgICAgJnN0cmluZz0iJmZvcm1hdFRpdGxlIg0KKykNCitlbHNlDQorKA0KKyAgICAmc3RyaW5nPSImc3RyaW5nIisiJmZvcm1hdFRpdGxlIg0KKyAgICByZXBlYXQgJmZvcm1hdFdpZHRoLSZyZXN1bHQNCisgICAgKA0KKyAgICAgICAgJnN0cmluZz0iJnN0cmluZyIrIiAiDQorICAgICkNCispDQorJnNwYWNlTnVtPTUNCityZXBlYXQgJnNwYWNlTnVtDQorKA0KKyAgICAmc3RyaW5nPSImc3RyaW5nIisiICINCispDQorZW5kZG8gIiZzdHJpbmciDQorIApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3N0YWNrX2FuYWx5c2lzL2xpYl9wcmludC5jbW0gYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zdGFja19hbmFseXNpcy9saWJfcHJpbnQuY21tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjAzNjM1ZTgKLS0tIC9kZXYvbnVsbAorKysgYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zdGFja19hbmFseXNpcy9saWJfcHJpbnQuY21tCkBAIC0wLDAgKzEsMzIgQEAKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyoNCisvLyogICAgICAgICAgICAgICAgICBDb3B5cmlnaHQgKGMpIDIwMTIgWlRFIENvcnBvcmF0aW9uLg0KKy8vKg0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyogxKMgv+kgw/sgOiANCisvLyogzsQgvP4gw/sgOiBsaWJfcHJpbnQuY21tDQorLy8qIM/gudjOxLz+IDogDQorLy8qIMq1z9a5psTcIDogtPLTobbgtM7Es7j219a3+7Suo7sNCisvLyog1/cgICAg1d8gOiC437uqt+UNCisvLyogsOYgICAgsb4gOiBWMS4wDQorLy8qIM3qs8nI1cbaIDogMjAxMy8wOC8xOA0KKy8vKiDG5Mv8y7XD9yA6IA0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisNCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8qIL3Fsb694s72x/jT8g0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisNCisvL7ao0uW+1rK/seTBvw0KK2xvY2FsICZzdHJpbmcNCisNCisvL8q1z9a08tOhtuC0zsSzuPbX1rf7tK61xLmmxNwgICAgDQorZW50cnkgJnRpdGxlICZudW0NCismc3RyaW5nPSIiDQorcmVwZWF0ICZudW0NCisoDQorICAgICZzdHJpbmc9IiZzdHJpbmciKyZ0aXRsZSAgICAgDQorKQ0KK3ByaW50ICVzdHJpbmcgIiZzdHJpbmciDQorZW5kZG8NCisgClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3RhY2tfYW5hbHlzaXMvbGliX3JpZ2h0X2FsaWduLmNtbSBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3N0YWNrX2FuYWx5c2lzL2xpYl9yaWdodF9hbGlnbi5jbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjY0ZjQ5NQotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3N0YWNrX2FuYWx5c2lzL2xpYl9yaWdodF9hbGlnbi5jbW0KQEAgLTAsMCArMSw0NiBAQAorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vKg0KKy8vKiAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAoYykgMjAxMiBaVEUgQ29ycG9yYXRpb24uDQorLy8qDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vKiDEoyC/6SDD+yA6IA0KKy8vKiDOxCC8/iDD+yA6IGxpYl9yaWdodF9hbGlnbi5jbW0NCisvLyogz+C52M7EvP4gOiANCisvLyogyrXP1rmmxNwgOiANCisvLyog1/cgICAg1d8gOiC437uqt+UNCisvLyogsOYgICAgsb4gOiBWMS4wDQorLy8qIM3qs8nI1cbaIDogMjAxMy8wOC8xOA0KKy8vKiDG5Mv8y7XD9yA6IA0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisNCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8qIL3Fsb694s72x/jT8g0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisNCisvL7ao0uW+1rK/seTBvw0KK2xvY2FsICZzdHJpbmcgJnNwYWNlTnVtDQorDQorLy/Ktc/W19a3+7Su09K21MbrtcS5psTcDQorZW50cnkgJmZvcm1hdFdpZHRoICZmb3JtYXRUaXRsZQ0KKyZyZXN1bHQ9c3RyaW5nLmxlbigiJmZvcm1hdFRpdGxlIikNCitpZiAmZm9ybWF0V2lkdGg8PSZyZXN1bHQNCisoDQorICAgICZzdHJpbmc9IiZmb3JtYXRUaXRsZSINCispDQorZWxzZQ0KKygNCisgICAgJnN0cmluZz0iJnN0cmluZyIrIiZmb3JtYXRUaXRsZSINCisgICAgcmVwZWF0ICZmb3JtYXRXaWR0aC0mcmVzdWx0DQorICAgICgNCisgICAgICAgICZzdHJpbmc9IiAiKyImc3RyaW5nIg0KKyAgICApDQorKQ0KKw0KKyZzcGFjZU51bT01DQorcmVwZWF0ICZzcGFjZU51bQ0KKygNCisgICAgJnN0cmluZz0iJnN0cmluZyIrIiAiDQorKQ0KKw0KK2VuZGRvICImc3RyaW5nIg0KKyAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zdGFja19hbmFseXNpcy9saW51eF9zdGFja19hbmFseXNpcy5jbW0gYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zdGFja19hbmFseXNpcy9saW51eF9zdGFja19hbmFseXNpcy5jbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWY0MTcxMwotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3N0YWNrX2FuYWx5c2lzL2xpbnV4X3N0YWNrX2FuYWx5c2lzLmNtbQpAQCAtMCwwICsxLDQyMCBAQAorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vKg0KKy8vKiAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAoYykgMjAxMiBaVEUgQ29ycG9yYXRpb24uDQorLy8qDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vKiDEoyC/6SDD+yA6IA0KKy8vKiDOxCC8/iDD+yA6IGxpbnV4X3N0YWNrX2FuYWx5c2lzLmNtbQ0KKy8vKiDP4LnYzsS8/iA6IA0KKy8vKiDKtc/WuabE3CA6IGxpbnV4z8LTptPDvfizzNW7veLO9r3Fsb6juw0KKy8vKiDX9yAgICDV3yA6IA0KKy8vKiCw5iAgICCxviA6IFYxLjANCisvLyogzeqzycjVxtogOiAyMDEzLzA4LzE4DQorLy8qIMbky/zLtcP3IDogDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKw0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyogvcWxvr3izvbH+NPyDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKw0KKy8v0aHU8dPDu6fMrNW7u/LV38TausvMrNW7OjE6u9a4tNOm08PMrNW7OzA6u9a4tMTausvMrNW7DQorbG9jYWwgJnVzcl9vcl9rZXJuZWxfZmxhZw0KKw0KKyZ1c3Jfb3Jfa2VybmVsX2ZsYWc9MQ0KKw0KKw0KKy8vtqjS5b7Wsr+x5MG/DQorbG9jYWwgJmZpbGVDb2x1bW5zICZmaWxlTGluZXMNCitsb2NhbCAmc3RhY2tCZWdpbiAmc3RhY2tFbmQgJnN0YWNrQWRkcmVzcw0KK2xvY2FsICZmdW5jdGlvbk5hbWUgJnJlc3VsdCAmbGV2ZWwgJnZhbHVlDQorbG9jYWwgJndpZHRoICZzdHJpbmcNCitsb2NhbCAmYmxJbnMgJmJseElucyAmbGRySW5zDQorbG9jYWwgJmJsSW5zTWFzayAmYmx4SW5zTWFzayAmbGRySW5zTWFzaw0KK2xvY2FsICZibFRodW1iSW5zICZibHgxVGh1bWJJbnMgJmJseDJUaHVtYklucyAmYjFUaHVtYklucyAmYjJUaHVtYklucyAmYnhUaHVtYklucyAmYnhUaHVtYklucyANCitsb2NhbCAmYmxJbnNUaHVtYk1hc2sgJmJseDFJbnNUaHVtYk1hc2sgICZibHgySW5zVGh1bWJNYXNrDQorbG9jYWwgJmIxSW5zVGh1bWJNYXNrICZiMkluc1RodW1iTWFzayAmYnhJbnNUaHVtYk1hc2sNCitsb2NhbCAmcGNiTWFnaWMgJnBOYW1lICZmaXJzdCAmcGMgJnByZUZ1blN0YWNrDQorbG9jYWwgJm1tdV9jciAmbW11Rmlyc3RCYXNlDQorbG9jYWwgJnN0bXIxMyAmc3VicjEzDQorbG9jYWwgJnN0bXIxM01hc2sgJnN1YnIxM01hc2sNCitsb2NhbCAmdXNlcmNwc3IgJnVzZXJzcCAma2VybmVsc3RhcnRzcCAma2VybmVsZW5kc3ANCisNCisvL7vxyKG7t76zseTBvw0KKyZmaXJzdD0xDQorJnBjPSIiDQorDQorLy9hcm3WuMHuzPjXqta4we7C6yhCIEJYIEJMIEJMWCkNCismYmxJbnNNYXNrPTB4MEUwMDAwMDAJICAgIC8vQklUMjc6MjUoMTAxKQ0KKyZibElucz0weDBBMDAwMDAwDQorJmJseEluc01hc2s9MFgwRkZGRkYwMAkgICAgLy9CSVQyNzo4KDAwMDEwMDEwMTExMTExMTExMTExKQ0KKyZibHhJbnM9MHgwMTJGRkYwMA0KKyZsZHJJbnNNYXNrPTB4MEMwMGYwMDAJCS8vQklUMjc6MjYoMDEpIEJJVDE1OjEyKDEwKQ0KKyZsZHJJbnM9MHgwNDAwZjAwMA0KKw0KKy8vdGh1bWLWuMHuz8LM+Neq1rjB7sLrDQorJmJsVGh1bWJJbnM9MHhmODAwDQorJmJsSW5zVGh1bWJNYXNrPTB4ZjgwMA0KKyZibHgxVGh1bWJJbnM9MHhmMDAwDQorJmJseDFJbnNUaHVtYk1hc2s9MHhmODAwDQorJmJseDJUaHVtYklucz0weDQ3ODANCismYmx4Mkluc1RodW1iTWFzaz0weGZmODANCismYjFUaHVtYklucz0weGQwMDANCismYjFJbnNUaHVtYk1hc2s9MHhmMDAwDQorJmIyVGh1bWJJbnM9MHhkMDAwDQorJmIySW5zVGh1bWJNYXNrPTB4ZjgwMA0KKyZieFRodW1iSW5zPTB4NDcwMA0KKyZieEluc1RodW1iTWFzaz0weGY4MDANCisNCisvL7S0vajP1Mq+tLC/2qO7DQorJmZpbGVDb2x1bW5zPTEwMC4NCismZmlsZUxpbmVzPTUwMC4NCisNCithcmVhLmNyZWF0ZSBzdGFjayAmZmlsZUNvbHVtbnMgICZmaWxlTGluZXMNCithcmVhLmNsZWFyICBzdGFjaw0KK2FyZWEuc2VsZWN0IHN0YWNrDQorYXJlYS52aWV3ICAgc3RhY2sNCisNCisvL7Tyv6rOxLz+DQorJmRpcj1vcy5wd2QoKSsiXGxvZyINCitpZiAhb3MuZGlyKCZkaXIpDQorKA0KKyAgICBta2RpciAmZGlyICANCispIA0KKyZmaWxlPSImZGlyXHN0YWNrLnR4dCINCithcmVhLm9wZW4gc3RhY2sgJmZpbGUNCisNCisvL8jnuftUMzLU2tTL0NDSqrbP16Gjuw0KK2lmIHJ1bigpDQorKA0KKyAgICBicmVhaw0KKykNCisNCisvL7vxyKHTw7unzKy1scewtcTVu9a41eu8sNe0zKy8xLTmxve1xNa1o6zE2rrLzKy1scew1bvWuNXrDQorJmtlcm5lbHN0YXJ0c3A9UihSMTMpDQorRlJBTUUuQ09QWQ0KK3doaWxlIChSKENQU1IpJjB4MUYpIT0weDEwDQorKA0KKwlGUkFNRS5VUA0KKykNCisNCismdXNlcmNwc3I9UihDUFNSKQ0KKyZ1c2Vyc3A9UihSMTMpDQorRlJBTUUuRE9XTg0KKyZrZXJuZWxlbmRzcD1SKFIxMykNCitGUkFNRS5TV0FQDQorDQoraWYgJnVzcl9vcl9rZXJuZWxfZmxhZz09MHgxDQorKA0KKwkvLyZwY2JNYWdpYz12LnZhbHVlKCgoc3RydWN0IHJxKXJ1bnF1ZXVlcyktPmN1cnIpDQorCSZzdGFja0JlZ2luPXYudmFsdWUoKChzdHJ1Y3QgcnEpcnVucXVldWVzKS0+Y3Vyci0+bW0tPnN0YXJ0X3N0YWNrKQ0KKwkmc3RhY2tFbmQ9JnVzZXJzcC0weDQwMA0KKwkmcE5hbWU9di5zdHJpbmcoKChzdHJ1Y3QgcnEpcnVucXVldWVzKS0+Y3Vyci0+Y29tbSkrItPDu6fMrCINCispDQorZWxzZQ0KKygNCisJJnN0YWNrQmVnaW49Jmtlcm5lbGVuZHNwDQorCSZzdGFja0VuZD0ma2VybmVsc3RhcnRzcA0KKwkmcE5hbWU9di5zdHJpbmcoKChzdHJ1Y3QgcnEpcnVucXVldWVzKS0+Y3Vyci0+Y29tbSkrIsTausvMrCINCispDQorDQoraWYgJnN0YWNrRW5kPj0mc3RhY2tCZWdpbg0KKygNCisgICAgcHJpbnQgIiAgICAgtdjWt87e0KciDQorICAgIHByaW50ICIiDQorICAgIGVuZGRvDQorKQ0KKw0KKy8vdGl0bGUNCisNCismbmFtZVdpZHRoPTB4MzANCismc3RyaW5nPSImcE5hbWW1xNW70MXPoiINCitkbyBsaWJfcmlnaHRfYWxpZ24uY21tICZuYW1lV2lkdGggICZzdHJpbmcNCitlbnRyeSAmc3RyaW5nDQorcHJpbnQgJXN0cmluZyAmc3RyaW5nDQorcHJpbnQgJXN0cmluZyAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSINCisNCisvL7jxyr27r7Ty06F0aXRsZSAiIGxldmVsICAgIHNwICAgbHIgICBmdW5jIg0KKyZ3aWR0aD0xMC4NCismdGl0bGU9ImxldmVsIg0KK2RvICBsaWJfbGVmdF9hbGlnbi5jbW0gJndpZHRoICZ0aXRsZQ0KK2VudHJ5ICZyZXN1bHQNCismc3RyaW5nPSZyZXN1bHQNCismd2lkdGg9MTUuDQorJnRpdGxlPSJzcCINCitkbyAgbGliX2xlZnRfYWxpZ24uY21tICZ3aWR0aCAmdGl0bGUNCitlbnRyeSAmcmVzdWx0DQorJnN0cmluZz0iJnN0cmluZyIrJnJlc3VsdA0KKyZ0aXRsZT0ibHIiDQorZG8gIGxpYl9sZWZ0X2FsaWduLmNtbSAmd2lkdGggJnRpdGxlDQorZW50cnkgJnJlc3VsdA0KKyZzdHJpbmc9IiZzdHJpbmciKyZyZXN1bHQNCismdGl0bGU9ImZ1bmMiDQorZG8gIGxpYl9sZWZ0X2FsaWduLmNtbSAmd2lkdGggJnRpdGxlDQorZW50cnkgJnJlc3VsdA0KKyZzdHJpbmc9IiZzdHJpbmciKyZyZXN1bHQNCitwcmludCAlc3RyaW5nICImc3RyaW5nIg0KKyZzdHJpbmc9IiINCisvL8SjxOLG987e0Oi31s72TU1V0rOx7Q0KK2lmIFNJTVVMQVRPUigpDQorKA0KKyAgICAmbW11X2NyPWRhdGEubG9uZyhDMTU6MFgxKQ0KKyAgICAmbW11Rmlyc3RCYXNlPWRhdGEubG9uZyhDMTU6MFgyKQ0KKykNCisNCismc3RhY2tBZGRyZXNzPSZzdGFja0JlZ2luDQorJmxldmVsPTANCitXSElMRSAmc3RhY2tBZGRyZXNzPj0mc3RhY2tFbmQNCisoDQorICAgIGdvc3ViIHpUMzJfSXNWYWxpZEFkZCAmc3RhY2tBZGRyZXNzDQorICAgIGVudHJ5ICZyZXN1bHQNCisgICAgJnN0YWNrU2l6ZT00DQorICAgIGlmICZyZXN1bHQ9PTANCisgICAgKA0KKyAgICAgICAgZ290byBhZGRyZXNzSW5jcmVhc2UNCisgICAgKQ0KKyAgICAmdmFsdWU9ZGF0YS5sb25nKGQ6JnN0YWNrQWRkcmVzcykNCisNCisgICAgJmZ1bmN0aW9uTmFtZT0iIg0KKyAgICBHT1NVQiB6VDMyX0lzRnVuY1JldEFkZHIgJnZhbHVlICImZnVuY3Rpb25OYW1lIg0KKyAgICBlbnRyeSAmcmVzdWx0DQorICAgIGlmICZyZXN1bHQ9PTENCisgICAgKA0KKyAgICAgICAgJndpZHRoPTEwLg0KKyAgICAgICAgJmxldmVsPSZsZXZlbCsxDQorICAgICAgICAmdGl0bGU9Zm9ybWF0LmRlY2ltYWwoMS4sICZsZXZlbCkNCisgICAgICAgIGRvICBsaWJfbGVmdF9hbGlnbi5jbW0gJndpZHRoICZ0aXRsZQ0KKyAgICAgICAgZW50cnkgJnJlc3VsdA0KKyAgICAgICAgJnN0cmluZz0mcmVzdWx0DQorICAgICAgICAmd2lkdGg9MTUuDQorICAgICAgICAmdGl0bGU9IjB4Iitmb3JtYXQuaGV4KDEuLCAmc3RhY2tBZGRyZXNzKQ0KKyAgICAgICAgZG8gIGxpYl9sZWZ0X2FsaWduLmNtbSAmd2lkdGggJnRpdGxlDQorICAgICAgICBlbnRyeSAmcmVzdWx0DQorICAgICAgICAmc3RyaW5nPSImc3RyaW5nIismcmVzdWx0DQorICAgICAgICAmdGl0bGU9IjB4Iitmb3JtYXQuaGV4KDEuLCAmdmFsdWUpDQorICAgICAgICBkbyAgbGliX2xlZnRfYWxpZ24uY21tICZ3aWR0aCAmdGl0bGUNCisgICAgICAgIGVudHJ5ICZyZXN1bHQNCisgICAgICAgICZzdHJpbmc9IiZzdHJpbmciKyZyZXN1bHQNCisgICAgICAgICZmdW5jdGlvbk5hbWU9b3MuZmlsZS5uYW1lKCImZnVuY3Rpb25OYW1lIikJLy+5/cLLx7DD5sK3vrYNCisgICAgICAgICZzdHJpbmc9IiZzdHJpbmciKyImZnVuY3Rpb25OYW1lIisiKCkiDQorICAgICAgICBwcmludCAlc3RyaW5nICImc3RyaW5nIg0KKyAgICApDQorDQorYWRkcmVzc0luY3JlYXNlOgkNCisgICAgJnN0YWNrQWRkcmVzcz0mc3RhY2tBZGRyZXNzLTQNCispDQorDQoraWYgJnN0YWNrQWRkcmVzczwmc3RhY2tFbmQmJiZmaXJzdD09MQ0KKygNCisgICAgJmZpcnN0PTANCisgICAgJnBjPSZ2YWx1ZQ0KKyAgICBwcmludCAlc3RyaW5nICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIg0KKykNCisNCitpZiAmZmlyc3Q9PTAmJiZ1c3Jfb3Jfa2VybmVsX2ZsYWc9PTENCisoDQorICAgIHByaW50ICVzdHJpbmcgIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iDQorICAgIHByaW50ICVzdHJpbmcgIiAgICAgICAgICAg08O7p8ysttHVu7vYy92y6b+0uq/K/bX308Msx+vM5ru7yOfPwrzEtObG9yINCisgICAgcHJpbnQgJXN0cmluZyAiICAgICAgICAgICAgICAgICByMTM9c3ArNCAgcGM9bHIgdXNyY3Bzcj0mdXNlcmNwc3IiDQorKQ0KKw0KK3ByaW50ICVzdHJpbmcgIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iDQorYXJlYS52aWV3ICAgc3RhY2sNCithcmVhLmNsb3NlICBzdGFjaw0KK2VuZGRvDQorDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vKiC6r8r9w/uzxqO6elQzMl9Jc0Z1bmNSZXRBZGRyDQorLy8qILmmxNzD6Mr2o7rF0LbP1bvE2sjdyse38crHuq/K/bXEt7W72LXY1rcNCisvLyogss7K/cu1w/ejuihJTikgIA0KKy8vKiAgICAgICAgICAgICAgICAgdmFsdWUgICAgICAgICAgIDrVu8TayN0NCisvLyogICAgICAgICAgIChPVVQpDQorLy8qICAgICAgICAgICAgICAgICBmdW5jdGlvbk5hbWUgICAgOrqvyv21xMP719YNCisvLyogt7Ugu9gg1rWjug0KKy8vKiDG5Mv8y7XD96O6DQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCit6VDMyX0lzRnVuY1JldEFkZHI6DQorICAgIGxvY2FsICZpbnN0cnVjdGlvbiAmcHJlTmFtZQ0KKyAgICBsb2NhbCAmZmluZEJ5RnVuY3Rpb24NCisNCisgICAgZW50cnkgJnZhbHVlICZmdW5jdGlvbk5hbWUNCisgICAgJnByZU5hbWU9IiINCisgICAgJmZpbmRCeUZ1bmN0aW9uPTENCisNCisgICAgLy/F0LbP1bu12Na3xNrI3df3zqq12Na3yse38b/Jt8POyg0KKyAgICBnb3N1YiB6VDMyX0lzVmFsaWRBZGQgJnZhbHVlDQorICAgIGVudHJ5ICZyZXN1bHQNCisgICAgaWYgJnJlc3VsdD09MA0KKyAgICAoDQorICAgIAlyZXR1cm4gMA0KKyAgICApDQorICAgIGdvc3ViIHpUMzJfSXNWYWxpZEFkZCAoJnZhbHVlLTB4NCkNCisgICAgZW50cnkgJnJlc3VsdA0KKyAgICBpZiAmcmVzdWx0PT0wDQorICAgICgNCisgICAgCXJldHVybiAwDQorICAgICkNCisJJnZhbHVlPSgmdmFsdWUvNCkqNA0KKwkNCisgICAgLy/F0LbP1bu12Na3xNrI3crHt/HKx7qvyv0NCisgICAgJmZ1bmN0aW9uTmFtZT1ZLmZ1bmN0aW9uKHA6JnZhbHVlKQ0KKyAgICBpZiAiJmZ1bmN0aW9uTmFtZSI9PSIiDQorICAgICgNCisgICAgCS8vJmZpbmRCeUZ1bmN0aW9uPTANCisgICAgCS8vJmZ1bmN0aW9uTmFtZT1ZLm5hbWUocDomdmFsdWUpDQorICAgIAkvL2lmICImZnVuY3Rpb25OYW1lIj09IiINCisgICAgCS8vKA0KKyAgICAgICAgcmV0dXJuIDANCisgICAgCS8vKQ0KKyAgICApDQorDQorICAgIC8vxdC2zypzcC000+sqc3DKx7fx1NrNrNK7uq/K/czlxNoNCisgICAgaWYgJmZpbmRCeUZ1bmN0aW9uPT0xDQorICAgICgNCisgICAgCSZwcmVOYW1lPVkuZnVuY3Rpb24ocDomdmFsdWUtNCkNCisgICAgKQ0KKyAgICAvL2Vsc2UNCisgICAgLy8oDQorICAgIC8vCSZwcmVOYW1lPVkubmFtZShwOiZ2YWx1ZS00KQ0KKyAgICAvLykNCisgICAgaWYgIiZwcmVOYW1lIiE9IiZmdW5jdGlvbk5hbWUiDQorICAgICgNCisgICAgICAgIHJldHVybiAwDQorICAgICkNCisJJnZhbHVlPSgmdmFsdWUvNCkqNA0KKyAgICAvL8XQts8qc3AtNMrHt/HKx8z416rT777kDQorICAgICZpbnN0cnVjdGlvbj1kYXRhLmxvbmcoZDomdmFsdWUtNCkNCisNCisgICAgLy/F0LbPKnNwLTTKx7fxysdBUk3WuMHuxKPKvc/CtcRiLGJsLGJseCgxKdPvvuQNCisgICAgJnJlc3VsdD12LnZhbHVlKCgmaW5zdHJ1Y3Rpb24pJigmYmxJbnNNYXNrKSkNCisgICAgaWYgJnJlc3VsdD09JmJsSW5zDQorICAgICgNCisgICAgCXJldHVybiAxDQorICAgICkNCisgICAgLy/F0LbPKnNwLTTKx7fxysdBUk3WuMHuxKPKvc/CtcRibHgoMiksYnjT777kDQorICAgICZyZXN1bHQ9di52YWx1ZSgoJmluc3RydWN0aW9uKSYoJmJseEluc01hc2spKQ0KKyAgICBpZiAmcmVzdWx0PT0mYmx4SW5zDQorICAgICgNCisgICAgCXJldHVybiAxDQorICAgICkNCisNCisgICAgLy/F0LbPyse38crHQVJN1rjB7sSjyr3PwrXEbGRyIHBjLCrT777kDQorICAgICZyZXN1bHQ9di52YWx1ZSgoJmluc3RydWN0aW9uKSYoJmxkckluc01hc2spKQ0KKyAgICBpZiAmcmVzdWx0PT0mbGRySW5zDQorICAgICgNCisgICAgCXJldHVybiAxDQorICAgICkNCisNCisgICAgLy/F0LbPyse38XRodW1i1rjB7g0KKyAgICBpZiAoJnZhbHVlJjB4MSk9PTB4MQ0KKyAgICAoDQorICAgIAkmdmFsdWU9JnZhbHVlLTENCisgICAgKQ0KKyAgICBlbHNlDQorICAgICgNCisgICAgCXJldHVybiAwDQorICAgICkNCisNCisgICAgZ29zdWIgelQzMl9Jc1ZhbGlkQWRkICgmdmFsdWUtMikNCisgICAgZW50cnkgJnJlc3VsdA0KKyAgICBpZiAmcmVzdWx0PT0wDQorICAgICgNCisgICAgCXJldHVybiAwDQorICAgICkNCisNCisgICAgLy/F0LbPKnNwLTLKx7fxysd0aHVtYta4we7Eo8q9z8K1xGJs0+++5A0KKyAgICAmaW5zdHJ1Y3Rpb249ZGF0YS53b3JkKGQ6JnZhbHVlLTIpDQorICAgICZyZXN1bHQ9di52YWx1ZSgoJmluc3RydWN0aW9uKSYoJmJsVGh1bWJJbnMpKQ0KKyAgICBpZiAmcmVzdWx0PT0mYmxUaHVtYklucw0KKyAgICAoDQorICAgIAlyZXR1cm4gMQ0KKyAgICApDQorICAgIA0KKyAgICAvL8XQts8qc3AtMsrHt/HKx3RodW1i1rjB7sSjyr3PwrXEYmx4KDEp0+++5A0KKyAgICAmcmVzdWx0PXYudmFsdWUoKCZpbnN0cnVjdGlvbikmKCZibHgxVGh1bWJJbnMpKQ0KKyAgICBpZiAmcmVzdWx0PT0mYmx4MVRodW1iSW5zDQorICAgICgNCisgICAgCXJldHVybiAxDQorICAgICkNCisgICAgDQorICAgIC8vxdC2zypzcC0yyse38crHdGh1bWLWuMHuxKPKvc/CtcRibHgoMinT777kDQorICAgICZyZXN1bHQ9di52YWx1ZSgoJmluc3RydWN0aW9uKSYoJmJseDJUaHVtYklucykpDQorICAgIGlmICZyZXN1bHQ9PSZibHgyVGh1bWJJbnMNCisgICAgKA0KKyAgICAJcmV0dXJuIDENCisgICAgKQ0KKyAgICANCisgICAgLy/F0LbPKnNwLTLKx7fxysd0aHVtYta4we7Eo8q9z8K1xGIoMSnT777kDQorICAgICZyZXN1bHQ9di52YWx1ZSgoJmluc3RydWN0aW9uKSYoJmIxSW5zVGh1bWJNYXNrKSkNCisgICAgaWYgJnJlc3VsdD09JmIxVGh1bWJJbnMNCisgICAgKA0KKyAgICAJcmV0dXJuIDENCisgICAgKQ0KKyAgICANCisgICAgLy/F0LbPKnNwLTLKx7fxysd0aHVtYta4we7Eo8q9z8K1xGIoMinT777kDQorICAgICZyZXN1bHQ9di52YWx1ZSgoJmluc3RydWN0aW9uKSYoJmIySW5zVGh1bWJNYXNrKSkNCisgICAgaWYgJnJlc3VsdD09JmIyVGh1bWJJbnMNCisgICAgKA0KKyAgICAJcmV0dXJuIDENCisgICAgKQ0KKyAgICANCisgICAgLy/F0LbPKnNwLTLKx7fxysd0aHVtYta4we7Eo8q9z8K1xGJ40+++5A0KKyAgICAmcmVzdWx0PXYudmFsdWUoKCZpbnN0cnVjdGlvbikmKCZieEluc1RodW1iTWFzaykpDQorICAgIGlmICZyZXN1bHQ9PSZieFRodW1iSW5zDQorICAgICgNCisgICAgCXJldHVybiAxDQorICAgICkNCisgICAgZWxzZQ0KKyAgICAoDQorICAgIAlyZXR1cm4gMA0KKyAgICApDQorDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vKiC6r8r9w/uzxqO6aXNWYWxpZEFkZHJlc3MNCisvLyoguabE3MPoyvajusXQts/C37yttdjWt8rHt/G6z7eoDQorLy8qILLOyv3LtcP3o7ooSU4pICANCisvLyogICAgICAgICAgICAgICBsb2dpY0FkZHJlc3MgOsLfvK212Na3ICAgICAgICAgICAgICANCisvLyogt7Ugu9gg1rWjug0KKy8vKiDG5Mv8y7XD96O6DQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCit6VDMyX0lzVmFsaWRBZGQ6DQorICAgIGxvY2FsICZtbXVTZWNvbmRCYXNlICZtbXVEaXNjcmlwdCAmbW11T2Zmc2V0DQorDQorICAgIGVudHJ5ICZsb2dpY0FkZHJlc3MNCisJDQorICAgIC8vxKPE4sb3zt7Q6LfWzvZNTVXSs7HtDQorICAgIGlmIFNJTVVMQVRPUigpDQorICAgICgNCisgICAgCXJldHVybiAxDQorICAgICkNCisgICAgLy8mbG9naWNBZGRyZXNzPTB4MkNCNDANCisgICAgLy9kaXNhYmxlIE1NVQ0KKyAgICBwZXIucyBjMTU6MHgxICVsb25nICgmbW11X2NyJjB4ZmZmZmZmZmUpDQorICAgICZtbXVPZmZzZXQ9JmxvZ2ljQWRkcmVzcz4+MjAuDQorICAgICZtbXVEaXNjcmlwdD12LnZhbHVlKCgoVUlOVDMyICopJm1tdUZpcnN0QmFzZSlbJm1tdU9mZnNldF0pDQorICAgICZtbXV2YWx1ZT0mbW11RGlzY3JpcHQmMHgzDQorICAgIGlmICZtbXV2YWx1ZT09MAkgICAgICAgICAgICAvL87e0KcNCisgICAgKA0KKyAgICAJLy9yZXN0b3JlIE1NVSDC37yttdjWt9Przu/A7bXY1reyu7bU06ajrLK7xNy9+9a5TU1VDQorICAgIAlwZXIucyBjMTU6MHgxICVsb25nICZtbXVfY3INCisgICAgCXJldHVybiAwDQorICAgICkNCisNCisgICAgaWYgJm1tdXZhbHVlPT0yCSAgICAgICAgICAgIC8vts7Ss7HtDQorICAgICgNCisgICAgCXBlci5zIGMxNToweDEgJWxvbmcgJm1tdV9jcg0KKyAgICAJcmV0dXJuIDENCisgICAgKQ0KKw0KKyAgICAvL7TWwaO2yLb+vLbSs7HtDQorICAgICZtbXVTZWNvbmRCYXNlPSZtbXVEaXNjcmlwdCYweGZmZmZmYzAwDQorICAgICZtbXVPZmZzZXQ9KCZsb2dpY0FkZHJlc3MmMHhmZjAwMCk+PjEyLg0KKyAgICAmbW11RGlzY3JpcHQ9di52YWx1ZSgoKFVJTlQzMiAqKSZtbXVTZWNvbmRCYXNlKVsmbW11T2Zmc2V0XSkNCisgICAgJm1tdXZhbHVlPSZtbXVEaXNjcmlwdCYwWGZmMA0KKyAgICBwZXIucyBjMTU6MHgxICVsb25nICZtbXVfY3INCisgICAgaWYgJm1tdXZhbHVlPT0wCQkJCS8vw7vT0LfDzsrIqM/eDQorICAgICgNCisgICAgCXJldHVybiAwDQorICAgICkNCisNCisgICAgcmV0dXJuIDENCisNCmRpZmYgLS1naXQgYS9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zdGFja19hbmFseXNpcy9vc19zZWFyY2hfbnZfbGlzdC5jbW0gYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zdGFja19hbmFseXNpcy9vc19zZWFyY2hfbnZfbGlzdC5jbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjc2MjEyZAotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3N0YWNrX2FuYWx5c2lzL29zX3NlYXJjaF9udl9saXN0LmNtbQpAQCAtMCwwICsxLDc5IEBACisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8qDQorLy8qICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0IChjKSAyMDE3IFpURSBDb3Jwb3JhdGlvbi4NCisvLyoNCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8gcGwNCisNCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8qIHRvcyBtc2dyY3bP+8+ittPB0L3Fsb694s72DQorLy8qILSryOvP+8+itcRsVGd0TXNnSUS6zbWluPbP+8+itcS94bm5zOUNCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorDQorLy+2qNLlvtayv7Hkwb8NCitsb2NhbCAmc2VhcmNoQWRkcmVzcw0KK2xvY2FsICZsaXN0SGVhZCAmbmV4dA0KK2xvY2FsICZpICZjb3VudA0KK2xvY2FsICZudkl0ZW0gJm52TmV4dEl0ZW0gJmNvdW50DQorDQorLy+0tL2o0ru49rSwv9qjuw0KKyZ3aWR0aD0yMDAuDQorJm5hbWVXaWR0aD0yMC4NCismZmlsZUNvbHVtbnM9MjAwLg0KKyZmaWxlTGluZXM9NTAwLg0KKw0KK2FyZWEuY3JlYXRlIHRyYWNlICZmaWxlQ29sdW1ucyAgJmZpbGVMaW5lcw0KK2FyZWEuY2xlYXIgdHJhY2UNCithcmVhLnNlbGVjdCB0cmFjZQ0KKw0KKy8vtPK/qs7EvP6juw0KKyZkaXI9b3MucHdkKCkrIlxsb2ciDQoraWYgIW9zLmRpcigmZGlyKQ0KKygNCisgICAgbWtkaXIgJmRpciAgDQorKSANCismZmlsZT0iJmRpclxyZXN1bHQudHh0Ig0KK2FyZWEub3BlbiB0cmFjZSAmZmlsZQ0KK2FyZWEudmlldyB0cmFjZQ0KKw0KKy8vyOe5+1QzMtTa1MvQ0NKqts/XoaO7DQoraWYgcnVuKCkNCisoDQorICAgIGJyZWFrDQorKQ0KKw0KK3ByaW50ICVzdHJpbmcgIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIg0KKw0KKyZjb3VudD0wDQord2hpbGUgJmNvdW50IT0weDIwMCANCisoDQorCSZudkl0ZW09di52YWx1ZSgoKihudl9saXN0KSkubnZUYWJsZVsmY291bnRdKQ0KKwlpZiAmbnZJdGVtIT0weDANCisJKA0KKwkJJm52a2V5PXYuc3RyaW5nKCgoVF9OVl9JVEVNKikmbnZJdGVtKS0+a2V5KQ0KKwkJJm52a2V5PWZvcm1hdC5zdHJpbmcoIiZudmtleSIsMjAwLCcgJykNCisJCSZudnZhbHVlPXYuc3RyaW5nKCgoVF9OVl9JVEVNICopJm52SXRlbSkudmFsdWUpDQorCQkmbnZ2YWx1ZT1mb3JtYXQuc3RyaW5nKCImbnZ2YWx1ZSIsMjAwLCcgJykNCisJCXByaW50ICJOViBLZXk6Jm52a2V5Ig0KKwkJcHJpbnQgIk5WIFZhbHVlOiZudnZhbHVlIg0KKwkJcHJpbnQgJXN0cmluZyAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iDQorCQkmbnZuZXh0PXYudmFsdWUoKChUX05WX0lURU0gKikmbnZJdGVtKS5uZXh0KQ0KKwkJd2hpbGUgJm52bmV4dCE9MHgwDQorCQkoDQorCQkJJm52a2V5PXYuc3RyaW5nKCgoVF9OVl9JVEVNKikmbnZuZXh0KS0+a2V5KQ0KKwkJCSZudnZhbHVlPXYuc3RyaW5nKCgoVF9OVl9JVEVNICopJm52bmV4dCkudmFsdWUpDQorCQkJJm52a2V5PWZvcm1hdC5zdHJpbmcoIiZudmtleSIsMjAwLCcgJykNCisJCQkmbnZ2YWx1ZT1mb3JtYXQuc3RyaW5nKCImbnZ2YWx1ZSIsMjAwLCcgJykNCisJCQlwcmludCAiTlYgS2V5OiZudmtleSINCisJCQlwcmludCAiTlYgVmFsdWU6Jm52dmFsdWUiDQorCQkJcHJpbnQgJXN0cmluZyAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iDQorCQkJJm52bmV4dD12LnZhbHVlKCgoVF9OVl9JVEVNICopJm52bmV4dCkubmV4dCkNCisJCSkNCisJKQ0KKwkmY291bnQ9JmNvdW50KzENCispDQorcHJpbnQgIiZjb3VudC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iDQorYXJlYS5jbG9zZSB0cmFjZQ0KK0VORERPDQorLy8qKioq1MvQ0L3hyvgqKioqKg0KKw0KZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3N5cy9ib2FyZC5tZW4gYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zeXMvYm9hcmQubWVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJkMTVhNWIKLS0tIC9kZXYvbnVsbAorKysgYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zeXMvYm9hcmQubWVuCkBAIC0wLDAgKzEsOTMgQEAKKzs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKzsgIE5hbWU6DQorOyAgICAgenRlLm1lbQ0KKzsgIERlc2NyaXB0aW9uOg0KKzsgICAgICDJ+rPJT1NFssu1pQ0KKzs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKw0KKzs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKzsgICAgICAgICAgICAgICAgICAgICAgICAgIEVESVQgSElTVFJPUlkgRk9SIE1PRFVMRQ0KKzsNCis7IHdoZW4gICAgICAgICB3aG8gICAgICAgICAgIHdoYXQsIHdoZXJlLCB3aHkNCis7MDcvMjUvMTMgICAgILjwsLK35aGhoaGhoaGhoaG0tL2oDQorOzA2LzEwLzE0CSAgwO7DwLfmCQkgIDc1MjDQ3rjEDQorOz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorDQorYWRkDQorbWVudQ0KKygNCisJcG9wdXAgIiY3NTIwQm9hcmQiDQorCSgNCisJICBwb3B1cCAiJkp0YWcgU3dpdGNoIFVzZSBDTU0iDQorCSAgKA0KKwkJICBwb3B1cCAiJkp0YWcwIg0KKwkgICAgICgNCisJICAgIAltZW51aXRlbSAiJlN3aXRjaCB0byBNMEp0YWciDQorCSAgICAgICggICAgDQorCSAgICAgIAlydW4gLlxzeXNcanRhZ19zd2l0Y2hfc2NyaXB0LmNtbSAwIDANCisJICAgICAgKQ0KKwkgICAgCW1lbnVpdGVtICImU3dpdGNoIHRvIFBzSnRhZyINCisJICAgICAgKCAgICANCisJICAgICAgCXJ1biAuXHN5c1xqdGFnX3N3aXRjaF9zY3JpcHQuY21tIDAgMQ0KKwkgICAgICApICAgICAgDQorCSAgICAJbWVudWl0ZW0gIiZTd2l0Y2ggdG8gWnNwSnRhZyINCisJICAgICAgKCAgICANCisJICAgICAgCXJ1biAuXHN5c1xqdGFnX3N3aXRjaF9zY3JpcHQuY21tIDAgMg0KKwkgICAgICApDQorCSAgICAJbWVudWl0ZW0gIiZTd2l0Y2ggdG8gQTUzSnRhZyINCisJICAgICAgKCAgICANCisJICAgICAgCXJ1biAuXHN5c1xqdGFnX3N3aXRjaF9zY3JpcHQuY21tIDAgMw0KKwkgICAgICApCQkgIA0KKwkgICAgKQ0KKw0KKwkJcG9wdXAgIiZKdGFnMSINCisJICAgICgNCisJICAgICAgbWVudWl0ZW0gIiZTd2l0Y2ggdG8gTTBKdGFnIg0KKwkgICAgICAoICAgIA0KKwkgICAgICAJcnVuIC5cc3lzXGp0YWdfc3dpdGNoX3NjcmlwdC5jbW0gMSAwDQorCSAgICAgICkNCisJICAgIAltZW51aXRlbSAiJlN3aXRjaCB0byBQc0p0YWciDQorCSAgICAgICggICAgDQorCSAgICAgIAlydW4gLlxzeXNcanRhZ19zd2l0Y2hfc2NyaXB0LmNtbSAxIDENCisJICAgICAgKQ0KKwkJICAJbWVudWl0ZW0gIiZTd2l0Y2ggdG8gWnNwSnRhZyINCisJICAgICAgKCAgICANCisJICAgICAgCXJ1biAuXHN5c1xqdGFnX3N3aXRjaF9zY3JpcHQuY21tIDEgMg0KKwkgICAgICApDQorCSAgICAJbWVudWl0ZW0gIiZTd2l0Y2ggdG8gQTUzSnRhZyINCisJICAgICAgKCAgICANCisJICAgICAgCXJ1biAuXHN5c1xqdGFnX3N3aXRjaF9zY3JpcHQuY21tIDEgMw0KKwkgICAgICApDQorCSAgICApDQorCQkNCisJCXBvcHVwICImSnRhZzIiDQorCSAgICAoDQorCSAgICAgICAgbWVudWl0ZW0gIiZTd2l0Y2ggdG8gTTBKdGFnIg0KKwkgICAgICAoICAgIA0KKwkgICAgICAJcnVuIC5cc3lzXGp0YWdfc3dpdGNoX3NjcmlwdC5jbW0gMiAwDQorCSAgICAgICkNCisJICAgIAltZW51aXRlbSAiJlN3aXRjaCB0byBQc0p0YWciDQorCSAgICAgICggICAgDQorCSAgICAgIAlydW4gLlxzeXNcanRhZ19zd2l0Y2hfc2NyaXB0LmNtbSAyIDENCisJICAgICAgKQ0KKyAgICAgICAgICAgbWVudWl0ZW0gIiZTd2l0Y2ggdG8gWnNwSnRhZyINCisJICAgICAgKCAgICANCisJICAgICAgCXJ1biAuXHN5c1xqdGFnX3N3aXRjaF9zY3JpcHQuY21tIDIgMg0KKwkgICAgICApDQorCSAgICAJbWVudWl0ZW0gIiZTd2l0Y2ggdG8gQTk1M0p0YWciDQorCSAgICAgICggICAgDQorCSAgICAgIAlydW4gLlxzeXNcanRhZ19zd2l0Y2hfc2NyaXB0LmNtbSAyIDMNCisJICAgICAgKQ0KKwkgICAgKQ0KKwkJCQ0KKwkpDQorCQ0KKwlzZXBhcmF0b3INCisJbWVudWl0ZW0gIkNsb2NrcyINCisJKA0KKwkJcnVuIC5cc3lzXGNsb2Nrcy5jbW0NCisJKQ0KKwlzZXBhcmF0b3IJDQorCQ0KKyAgKQ0KKykNCmRpZmYgLS1naXQgYS9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zeXMvYm9vdC5jbW0gYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zeXMvYm9vdC5jbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmQ3YjkxMAotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3N5cy9ib290LmNtbQpAQCAtMCwwICsxLDE4IEBACithcmVhLnJlc2V0DQorc3lzLmNwdSBDb3J0ZXhNMA0KK3N5cy5iZG1jbG9jayAzLjBNSHoJCQk7Y29ydGV4LW0wDQorc3lzLm8gZW5yZXNldCBPRkYNCitzeXMudXANCisNCitkbyAuL3N5cy9jbGtfaW5pdC5jbW0NCitkbyAuL3N5cy9kZHJfaW5pdF8zMTJtLmNtbQ0KKw0KKy8vTTAgYWRkcmVzcyByZW1hcCBiaXQyMw0KK2RhdGEuc2V0IDB4MDAxNDAwMDAgJWxvbmcgMHgwMDg3MDAwMA0KKw0KKy8vIFJlbGVhc2UgUjcvQTUzIHJlc2V0IHNpZ25hbA0KK2RhdGEuc2V0IDB4MDAxM2IxMzggJWxvbmcgMHgwMDAwMDAwMSAvLyBSNw0KK2RhdGEuc2V0IDB4MDAxM2IxMzQgJWxvbmcgMHgwMDAwMDAwMSAvLyBBNTMNCisNCisvL2p0YWcwIHRvIGFwDQorZG8gLi9zeXMvanRhZ19zd2l0Y2hfc2NyaXB0LmNtbSAwIDMNCmRpZmYgLS1naXQgYS9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zeXMvY2xrX2luaXQuY21tIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3lzL2Nsa19pbml0LmNtbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41N2FjZGVjCi0tLSAvZGV2L251bGwKKysrIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3lzL2Nsa19pbml0LmNtbQpAQCAtMCwwICsxLDIyIEBACisvL01QTEwgcG93ZXIgb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCitkYXRhLnNldCAweDAwMTNiMDA4ICVsb25nIDB4MDgwNDBjMTENCisvL1VQTEwgcG93ZXIgb24NCitkYXRhLnNldCAweDAwMTNiMDEwICVsb25nIDB4MDgzNDc4MTENCisvL0RQTEwgcG93ZXIgb24sIHJlZiBjbGsgc2VsIGJpdDI1LTI2LCAwPWRwbGwxLCAxPXN5c19jbGtfaW4sIDI9bHRlX3JlZl9jbGssIDM9bWFpbl9jbGsNCisvL2RhdGEuc2V0IDB4MDAxM2IwMTggJWxvbmcgMHgwYzA0MGMxOQ0KKy8vR1BMTCBwb3dlciBvbg0KK2RhdGEuc2V0IDB4MDAxM2IxMTAgJWxvbmcgMHgwODM0N2QyOQ0KKw0KKy8vTTAgc2VsZWN0IDEwNE0sIGJpdDAtMSwgMD0xMDQsIDE9MjYsIDI9NzgsIDM9MzJrDQorZGF0YS5zZXQgMHgwMDEzYjAzOCAlbG9uZyAweDAwMDAwMDA1DQorLy9oc19haGJfY2xrIHNlbGVjdCAxMDRNLCBiaXQ0LTUsIDA9MTA0LCAxPTI2LCAyPTc4LCAzPTMyaw0KK2RhdGEuc2V0IDB4MDAxM2IwM2MgJWxvbmcgMHgwMDAwMDAxMA0KKw0KKy8vQVhJIHNlbGVjdCAxNTZNLCBiaXQwLTIsIDA9MTU2LCAxPTI2LCAyPTEyMi44OCwgMz0xMDQsIDQ9NzgsIDU9NTIsIDY9MzkNCitkYXRhLnNldCAweDAxMzA2MDAwICVsb25nIDB4MDAwMTAwMDENCisvL1I3IHNlbGVjdCA2MjRNLCBiaXQwLTIsIDA9NjI0LCAxPTI2LCAyPTQ5MS41LCAzPTMxMiwgND0yMDgsIDU9MTA0LCA2PTc4LCA3PTUyDQorZGF0YS5zZXQgMHgwMTMwNjAyMCAlbG9uZyAweDAwMDAwMDAxDQorLy9aU1A4ODAgc2VsZWN0IDQ5MU0sIGJpdDAtMiwgMD00OTEuNTIsIDE9MjYsIDI9MzEyLCAzPTIwOCwgND0xNTYsIDU9MTA0LCA2PTc4DQorZGF0YS5zZXQgMHgwMTMwNjAzMCAlbG9uZyAweDAwMDAwMDAxDQorLy9BNTMgc2VsZWN0IDYyNE0sIGJpdDAtMiwgMD02MjQsIDE9MjYsIDI9NDkxLjUyLCAzPTMxMiwgND0yMDgsIDU9MTA0LCA2PTc4LCA3PTUyDQorZGF0YS5zZXQgMHgwMTMwNjA0MCAlbG9uZyAweDAwMDAwMDAxClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3lzL2Nsb2Nrcy5jbW0gYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zeXMvY2xvY2tzLmNtbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44ZTk5Mzc3Ci0tLSAvZGV2L251bGwKKysrIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3lzL2Nsb2Nrcy5jbW0KQEAgLTAsMCArMSwyMzggQEAKKztjcmVhdGUgY2xvY2tzIGFyZWENCitsb2NhbCAmcGxsX3JlZw0KK2xvY2FsICZmb3V0dmNvDQorbG9jYWwgJmZvdXQyDQorbG9jYWwgJmZvdXQzDQorDQorYXJlYS5jcmVhdGUgY2xvY2tzIDIwMCAgMzAwDQorYXJlYS5jbGVhciBjbG9ja3MgDQorDQorYXJlYS5zZWxlY3QgY2xvY2tzIA0KK2FyZWEudmlldyBjbG9ja3MNCisNCitpZiBzdGF0ZS5ydW4oKQ0KKygNCisJYnJlYWsNCispDQorDQorO2Rpc2FibGUgbW11DQorJmNyPWRhdGEubG9uZyhjMTU6MHgxKQ0KKyZ0bXA9JmNyJih+MHgxKQ0KK3Blci5zIGMxNToweDEgJUxPTkcgJnRtcA0KKw0KK3ByaW50ICIqKioqKioqKioqKioqKioqKioqKipQTEwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiINCismcGxsX3JlZz0weDAwMTNiMDA4DQorJmZyZWY9MjYwMDAwMDAuDQorcHJpbnQgImNoZWNrIG1wbGwuLi4iDQorR29zdWIgY2FsY19wbGwNCisNCismcGxsX3JlZz0weDAwMTNiMDEwDQorJmZyZWY9MjYwMDAwMDAuDQorcHJpbnQgImNoZWNrIHVwbGwuLi4iDQorR29zdWIgY2FsY19wbGwNCisNCismcGxsX3JlZz0weDAwMTNCMDE4DQorJnRtcD1kYXRhLmxvbmcoRDoweDAwMTNCMDE4KQ0KKyZ0bXA9KCZ0bXA+PjI1KSYweDMNCitpZiAoJnRtcD09MSkNCisoDQorJmZyZWY9MzA3MjAwMDAuDQorKQ0KK2Vsc2UNCisoDQorJmZyZWY9MjYwMDAwMDAuDQorKQ0KK3ByaW50ICJjaGVjayBkcGxsLi4uIg0KK0dvc3ViIGNhbGNfcGxsDQorDQorJnBsbF9yZWc9MHgwMDEzYjExMA0KKyZmcmVmPTI2MDAwMDAwLg0KK3ByaW50ICJjaGVjayBncGxsLi4uIg0KK0dvc3ViIGNhbGNfcGxsDQorDQorcHJpbnQgIioqKioqKioqKioqKioqKioqKioqKk0wIENMSyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIg0KKyZ0bXA9ZGF0YS5sb25nKEQ6MHgwMDEzYjAzOCkNCismdG1wPSZ0bXAmMHgzDQoraWYgKCZ0bXA9PTApDQorKA0KKwlwcmludCAiTTAgY2xrIHNlbCBtYWluX2NsayINCispDQoraWYgKCZ0bXA9PTEpDQorKA0KKwlwcmludCAiTTAgY2xrIHNlbCAxMDRNIg0KKykNCitpZiAoJnRtcD09MikNCisoDQorCXByaW50ICJNMCBjbGsgc2VsIDc4TSINCispDQoraWYgKCZ0bXA9PTMpDQorKA0KKwlwcmludCAiTTAgY2xrIHNlbCAzMksiDQorKQ0KKw0KK3ByaW50ICIqKioqKioqKioqKioqKioqKioqKipBNTMgQ0xLKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioiDQorJnRtcD1kYXRhLmxvbmcoRDoweDAxMzA2MDQwKQ0KKyZ0bXA9JnRtcCYweDMNCitpZiAoJnRtcD09MCkNCisoDQorCQ0KKwlwcmludCAidWZpIGNsayBzZWwgbWFpbl9jbGsiDQorKQ0KK2lmICgmdG1wPT0xKQ0KKygNCisJcHJpbnQgInVmaSBjbGsgc2VsIDYyNE0iDQorKQ0KK2lmICgmdG1wPT0yKQ0KKygNCisJcHJpbnQgInVmaSBjbGsgc2VsIDMxMk0iDQorKQ0KK2lmICgmdG1wPT0zKQ0KKygNCisJcHJpbnQgInVmaSBjbGsgc2VsIDE1Nk0iDQorKQ0KKw0KK3ByaW50ICIqKioqKioqKioqKioqKioqKioqKipQUyBDTEsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiINCismdG1wPWRhdGEubG9uZyhEOjB4MDEzMDYwMjApDQorJnRtcD0mdG1wJjB4Mw0KK2lmICgmdG1wPT0wKQ0KKygNCisJcHJpbnQgInBzY3B1IGNsayBzZWwgbWFpbl9jbGsiDQorKQ0KK2lmICgmdG1wPT0xKQ0KKygNCisJcHJpbnQgInBzY3B1IGNsayBzZWwgNjI0TSINCispDQoraWYgKCZ0bXA9PTIpDQorKA0KKwlwcmludCAicHNjcHUgY2xrIHNlbCAzMTJNIg0KKykNCitpZiAoJnRtcD09MykNCisoDQorCXByaW50ICJwc2NwdSBjbGsgc2VsIDE1Nk0iDQorKQ0KKw0KK3ByaW50ICIqKioqKioqKioqKioqKioqKioqKipQSFkgQ0xLKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioiDQorJnRtcD1kYXRhLmxvbmcoRDoweDAxMzA2MDMwKQ0KKyZ0bXA9JnRtcCYweDMNCitpZiAoJnRtcD09MCkNCisoDQorCXByaW50ICJwaHljcHUgY2xrIHNlbCBtYWluX2NsayINCispDQoraWYgKCZ0bXA9PTEpDQorKA0KKwlwcmludCAicGh5Y3B1IGNsayBzZWwgNDkxTSINCispDQoraWYgKCZ0bXA9PTIpDQorKA0KKwlwcmludCAicGh5Y3B1IGNsayBzZWwgMzEyTSINCispDQoraWYgKCZ0bXA9PTMpDQorKA0KKwlwcmludCAicGh5Y3B1IGNsayBzZWwgMTU2TSINCispDQorDQorcHJpbnQgIioqKioqKioqKioqKioqKioqKioqKkFYSSBDTEsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiINCismdG1wPWRhdGEubG9uZyhEOjB4MDEzMDYwMDApDQorJnRtcD0mdG1wJjB4Nw0KK2lmICgmdG1wPT0wKQ0KKygNCisJcHJpbnQgImF4aSBjbGsgc2VsIG1haW5fY2xrIg0KKykNCitpZiAoJnRtcD09MSkNCisoDQorCXByaW50ICJheGkgY2xrIHNlbCAxNTZNIg0KKykNCitpZiAoJnRtcD09MikNCisoDQorCXByaW50ICJheGkgY2xrIHNlbCAxMjQuOE0iDQorKQ0KK2lmICgmdG1wPT0zKQ0KKygNCisJcHJpbnQgImF4aSBjbGsgc2VsIDEwNE0iDQorKQ0KK2lmICgmdG1wPT00KQ0KKygNCisJcHJpbnQgImF4aSBjbGsgc2VsIDc4TSINCispDQoraWYgKCZ0bXA9PTUpDQorKA0KKwlwcmludCAiYXhpIGNsayBzZWwgNTJNIg0KKykNCitpZiAoJnRtcD09NikNCisoDQorCXByaW50ICJheGkgY2xrIHNlbCAzOU0iDQorKQ0KK2lmICgmdG1wPT03KQ0KKygNCisJcHJpbnQgImF4aSBjbGsgc2VsIDYuNU0iDQorKQ0KKw0KK3ByaW50ICIqKioqKioqKioqKioqKioqKioqKipERFIgQ0xLKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioiDQorJnRtcD1kYXRhLmxvbmcoRDoweDAxMzA2MDUwKQ0KKyZ0bXA9JnRtcCYweDMNCitpZiAoJnRtcD09MCkNCisoDQorCXByaW50ICJkZHIgaW8gY2xrIHNlbCAzMTJNIg0KKykNCitpZiAoJnRtcD09MSkNCisoDQorCXByaW50ICJkZHIgaW8gY2xrIHNlbCA0MDBNIg0KKykNCitpZiAoJnRtcD09MikNCisoDQorCXByaW50ICJkZHIgaW8gY2xrIHNlbCAyMDhNIg0KKykNCitpZiAoJnRtcD09MykNCisoDQorCXByaW50ICJkZHIgaW8gY2xrIHNlbCAxNTZNIg0KKykNCis7cmVzdG9yZSBtbXUgY29uZmlnDQorcGVyLnMgYzE1OjB4MSAlTE9ORyAmY3INCitFTkRETw0KKw0KKw0KKzsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KK2NhbGNfcGxsOg0KKw0KK2xvY2FsICZ0bXAxDQorbG9jYWwgJnRtcDINCismdG1wMT1kYXRhLmxvbmcoRDomcGxsX3JlZykNCismdG1wMj1kYXRhLmxvbmcoRDomcGxsX3JlZysweDQpDQorJnBvd2VyPSgmdG1wMT4+MHgxZikmMHgxDQoraWYgKCZwb3dlcj09MSkNCisoDQorCXByaW50ICJwbGwgaXMgcG93ZXIgZG93biINCispDQorZWxzZQ0KKygNCisJcHJpbnQgInBsbCBpcyBwb3dlciB1cCINCispDQorDQorJmxvY2s9KCZ0bXAxPj4weDFlKSYweDENCitpZiAoJmxvY2s9PTEpDQorKA0KKwlwcmludCAicGxsIGlzIGxvY2tlZCINCispDQorZWxzZQ0KKygNCisJcHJpbnQgInBsbCBpcyB1bmxvY2tlZCINCispDQorDQorJnJlZmRpdj0oJnRtcDE+PjB4MTIpJigoMHgxPDwweDYpLTEpDQorJmZiZGl2PSgmdG1wMT4+MHg2KSYoKDB4MTw8MHhjKS0xKQ0KKyZmcmFjPSgmdG1wMikmKCgweDE8PDB4MTgpLTEpDQorJmZvdXR2Y289KCZmcmVmLyZyZWZkaXYpKigmZmJkaXYrJmZyYWMpDQorcHJpbnQgInBsbCBmb3V0dmNvPSIrIiZmb3V0dmNvIg0KKw0KKyZwb3N0ZGl2MT0oJnRtcDE+PjB4MykmKCgweDE8PDB4MyktMHgxKQ0KKyZwb3N0ZGl2Mj0oJnRtcDEpJigoMHgxPDwweDMpLTB4MSkNCismZm91dHBvc3RkaXY9JmZvdXR2Y28vJnBvc3RkaXYxLyZwb3N0ZGl2Mg0KKyZmb3V0Mj0mZm91dHBvc3RkaXYvMHgyDQorJmZvdXQzPSZmb3V0cG9zdGRpdi8weDMNCismZm91dDQ9JmZvdXRwb3N0ZGl2LzB4NA0KK3ByaW50ICJwbGwgZm91dHBvc3RkaXY9IisiJmZvdXRwb3N0ZGl2Ig0KK3ByaW50ICJwbGwgZm91dDI9IisiJmZvdXQyIg0KK3ByaW50ICJwbGwgZm91dDM9IisiJmZvdXQzIg0KK3ByaW50ICJwbGwgZm91dDQ9IisiJmZvdXQ0Ig0KKw0KK1JFVFVSTg0KZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3N5cy9kZHJfaW5pdC5jbW0gYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zeXMvZGRyX2luaXQuY21tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdhMjRlMzcKLS0tIC9kZXYvbnVsbAorKysgYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zeXMvZGRyX2luaXQuY21tCkBAIC0wLDAgKzEsMTc1IEBACitkYXRhLnNldCAweDAxMzA2MTAwICVsb25nIDB4MDBjZmUwMDAgLy9kZHIgYWxsIHJlc2V0IGVuYWJsZSAgYml0Ni0xMj0wDQorV2FpdCAwLjAxcyAgDQorZGF0YS5zZXQgMHgwMTMwNjEwMCAlbG9uZyAweDAwY2ZmNDAwIC8vcmVsZWFzZSBkZHIgYXBiKGJpdDEwKSBhbmQgcGh5IHJlc2V0KGJpdDEyKQ0KK1dhaXQgMC4wMXMNCisNCitkYXRhLnNldCAweDAxMjFhMDA0ICVsb25nIDB4ZjAwMDAwMDEgLy9QSVIgICAvL2J5cGFzcyBwbGwgbG9jaywgRERMIGNhbCBhbmQgWlEgY2FsICAgDQorLy9jaGVjayAweDAxMjFhMDE4IGJpdDA9MQ0KK1dhaXQgMC4wMXMNCisNCisvL3NlbGVjdCBkZHIgd29yayBtb2RlIGhlcmUsIHRoZW4gc2VsZWN0IGRkciB0b3AgY2xrDQorZGF0YS5zZXQgMHgwMTIxYTAyMCAlbG9uZyAweGEwMWI4MDAwIC8vYnlwYXNzDQorLy9kYXRhLnNldCAweDAxMjFhMDIwICVsb25nIDB4MDAxYjgwMDAgLy9taXNzb24NCisNCisvL0REUiB0b3AgY2xvY2sgc2VsZWN0IHRvcCBjbGsgNjI0TSwgYml0MC0yLCAwPTYyNCwgMT0yNiwgMj00MTYsIDM9MzEyLCA0PTIwOCwgNT0yMDAsIDY9MTA0DQorLy8wOiB0b3AgY2xrPTYyNE0sICAgICBkZHIgdXNlIGJ5cHNzIG1vZGUgLCBkcmFtIGlvIGNsaz0zMTJNDQorLy8xOiB0b3AgY2xrPTI2TSwgICAgICBkZHIgdXNlIGJ5cHNzIG1vZGUgLCBkcmFtIGlvIGNsaz0xM00NCisvLzI6IHRvcCBjbGs9NDE2TSwgICAgIGRkciB1c2UgYnlwc3MgbW9kZSAsIGRyYW0gaW8gY2xrPTIwOE0NCisvLzM6IHRvcCBjbGs9MzEyTSwgICAgIGRkciB1c2UgYnlwc3MgbW9kZSAsIGRyYW0gaW8gY2xrPTE1Nk0NCisvLzQ6IHRvcCBjbGs9MjA4TSwgICAgIGRkciB1c2UgYnlwc3MgbW9kZSAsIGRyYW0gaW8gY2xrPTEwNE0sIGRkciB1c2UgbWlzc2lvbiBtb2RlICwgZHJhbSBpbyBjbGs9NDE2TQ0KKy8vNTogdG9wIGNsaz0yMDBNLCAgICAgZGRyIHVzZSBieXBzcyBtb2RlICwgZHJhbSBpbyBjbGs9MTAwTSwgZGRyIHVzZSBtaXNzaW9uIG1vZGUgLCBkcmFtIGlvIGNsaz00MDBNDQorLy82OiB0b3AgY2xrPTEwNE0sICAgICBkZHIgdXNlIGJ5cHNzIG1vZGUgLCBkcmFtIGlvIGNsaz01Mk0NCitkYXRhLnNldCAweDAxMzA2MDUwICVsb25nIDB4MDE1MTExMTANCisNCisvL3BoeSByZWdpc3RlciBpbml0IA0KK2RhdGEuc2V0IDB4MDEyMWEwMEMgJWxvbmcgMHgwMzgwYzdhMCAgICAgLy9WQUxVRV9QR0NSMSAgLyBMQk1PREU6Ulc6MzE6MTo9MHgwIExCR0RRUzpSVzoyOToyOj0weDAgTEJEUVNTOlJXOjI4OjE6PTB4MCBJT0xCOlJXOjI3OjE6PTB4MCBJTkhWVDpSVzoyNjoxOj0weDAgUEhZSFJTVDpSVzoyNToxOj0weDEgQUNCVlQ6Ulc6MjQ6MTo9MHgxIEFDRExWVDpSVzoyMzoxOj0weDEgRExETE1UOlJXOjE1Ojg6PTB4MSBGREVQVEg6Ulc6MTM6Mjo9MHgyIExQRkRFUFRIOlJXOjExOjI6PTB4MCBMUEZFTjpSVzoxMDoxOj0weDEgTURMRU46Ulc6OToxOj0weDEgSU9ERFJNOlJXOjc6Mjo9MHgzIFdMU0VMVDpSVzo2OjE6PTB4MCBERExCWVBNT0RFOlJXOjQ6Mjo9MHgyIFdMVU5DUlQ6Ulc6MzoxOj0weDAgV0xTVEVQOlJXOjI6MTo9MHgwIFdMTU9ERTpSVzoxOjE6PTB4MCBHUFVMU0U6Ulc6MDoxOj0weDANCitkYXRhLnNldCAweDAxMjFhMDE0ICVsb25nIDB4OTBhYTAwNjAgICAgIC8vVkFMVUVfUEdDUjMgIC8gTFBXQUtFVVBfVEhSU0g6Ulc6Mjg6NDo9MHg5IGNmZ19wdWJfbW9kZTpSVzoyNjoxOj0weDAgR0RRU1M6Ulc6MjU6MTo9MHgwIFBSRkJZUDpSVzoyNDoxOj0weDAgQ0tFTjpSVzoxNjo4Oj0weGFhIEdBVEVEWFJEQ0xLOlJXOjE1OjE6PTB4MSBHQVRFRFhERFJDTEs6Ulc6MTQ6MTo9MHgxIEdBVEVEWENUTENMSzpSVzoxMzoxOj0weDEgRElTQUNPRTpSVzoxMjoxOj0weDAgR0FURUFDUkRDTEs6Ulc6MTE6MTo9MHgxIEdBVEVBQ0REUkNMSzpSVzoxMDoxOj0weDEgR0FURUFDQ1RMQ0xLOlJXOjk6MTo9MHgxIFJERExZOlJXOjU6NDo9MHgzIFJETU9ERTpSVzozOjI6PTB4MCBESVNSU1Q6Ulc6MjoxOj0weDAgQ0xLTEVWRUw6Ulc6MDoyOj0weDANCitkYXRhLnNldCAweDAxMjFhMDI0ICVsb25nIDB4MGQyMDY4NGYgICAgIC8vVkFMVUVfUFRSMCAgIC8gdFBMTFBEOlJXOjIxOjExOj0weDY5IHRQTExHUzpSVzo2OjE1Oj0weDFhMSB0UEhZUlNUOlJXOjA6Njo9MHhmDQorZGF0YS5zZXQgMHgwMTIxYTAyOCAlbG9uZyAweDBhMjkwM2E5ICAgICAvL1ZBTFVFX1BUUjEgICAvIHRQTExMT0NLOlJXOjE2OjE2Oj0weGEyOSB0UExMUlNUOlJXOjA6MTM6PTB4M2E5DQorZGF0YS5zZXQgMHgwMTIxYTAzMCAlbG9uZyAweDAyMDBmMzYyICAgICAvL1ZBTFVFX1BUUjMgICAvIHRESU5JVDE6Ulc6MjA6OTo9MHgyMCB0RElOSVQwOlJXOjA6MjA6PTB4ZjM2Mg0KK2RhdGEuc2V0IDB4MDEyMWEwMzQgJWxvbmcgMHgwNGUwMGQ2NCAgICAgLy9WQUxVRV9QVFI0ICAgLyB0RElOSVQzOlJXOjE4OjExOj0weDEzOCB0RElOSVQyOlJXOjA6MTg6PTB4ZDY0DQorZGF0YS5zZXQgMHgwMTIxYTA4MCAlbG9uZyAweDAwMTgxMjI0ICAgICAvL1ZBTFVFX0RYQ0NSICAvIFVEUUlPTTpSVzoyMToxOj0weDAgVURRUERSOlJXOjIwOjE6PTB4MSBVRFFQREQ6Ulc6MTk6MTo9MHgxIFVEUU9EVDpSVzoxODoxOj0weDAgTVNCVURROlJXOjE1OjM6PTB4MCBEWFNSOlJXOjEzOjI6PTB4MCBEUVNOUkVTOlJXOjk6NDo9MHg5IERRU1JFUzpSVzo1OjQ6PTB4MSBNRExFTjpSVzoyOjE6PTB4MSBEWElPTTpSVzoxOjE6PTB4MCBEWE9EVDpSVzowOjE6PTB4MA0KKy8vZGZpIGxvd3Bvd2VyIGVuYWJsZSBpbyBwb3dlcmRvd24gYW5kIHBsbCBwb3dlcmRvd24NCitkYXRhLnNldCAweDAxMjFhMDg0ICVsb25nIDB4MDAwNDY0ODcgICAgIC8vVkFMVUVfRFNHQ1IgIC8gUlNUT0U6Ulc6MjE6MTo9MHgwIFNEUk1PREU6Ulc6MTk6Mjo9MHgwIFJSTU9ERTpSVzoxODoxOj0weDEgQVRPQUU6Ulc6MTc6MTo9MHgwIERUT09FOlJXOjE2OjE6PTB4MCBEVE9JT006Ulc6MTU6MTo9MHgwIERUT1BEUjpSVzoxNDoxOj0weDEgRFRPUEREOlJXOjEzOjE6PTB4MSBEVE9PRFQ6Ulc6MTI6MTo9MHgwIFBVQUQ6Ulc6ODo0Oj0weDQgRFFTR1g6Ulc6NjoyOj0weDIgQ1VBRU46Ulc6NToxOj0weDAgTFBQTExQRDpSVzo0OjE6PTB4MSBMUElPUEQ6Ulc6MzoxOj0weDAgWlVFTjpSVzoyOjE6PTB4MSBCRElTRU46Ulc6MToxOj0weDEgUFVSRU46Ulc6MDoxOj0weDENCitkYXRhLnNldCAweDAxMjFhMDg4ICVsb25nIDB4MDAwMDA0MDggICAgIC8vVkFMVUVfRENSICAgIC8gVURJTU06Ulc6Mjk6MTo9MHgwIEREUjJUOlJXOjI4OjE6PTB4MCBOT1NSQTpSVzoyNzoxOj0weDAgQllURU1BU0s6Ulc6MTA6ODo9MHgxIE1QUkRROlJXOjc6MTo9MHgwIFBEUTpSVzo0OjM6PTB4MCBERFI4Qk5LOlJXOjM6MTo9MHgxIEREUk1EOlJXOjA6Mzo9MHgwDQorZGF0YS5zZXQgMHgwMTIxYTA4QyAlbG9uZyAweDE1MGUwNTgzICAgICAvL1ZBTFVFX0RUUFIwICAvIHRSQ0Q6Ulc6MjY6NTo9MHg1IHRSUkQ6Ulc6MjI6NDo9MHg0IHRSQVM6Ulc6MTY6Njo9MHhlIHRSUDpSVzo4OjU6PTB4NSB0V1RSOlJXOjQ6NDo9MHg4IHRSVFA6Ulc6MDo0Oj0weDMNCitkYXRhLnNldCAweDAxMjFhMDkwICVsb25nIDB4MjI4MTRhMTAgICAgIC8vVkFMVUVfRFRQUjEgIC8gdEFPTkRfQU9GRDpSVzozMDoyOj0weDAgdFdMTzpSVzoyNjo0Oj0weDggdFdMTVJEOlJXOjIwOjY6PTB4MjggdFJGQzpSVzoxMTo5Oj0weDI5IHRGQVc6Ulc6NTo2Oj0weDEwIHRNT0Q6Ulc6MjozOj0weDQNCitkYXRhLnNldCAweDAxMjFhMDk0ICVsb25nIDB4MTAwMDBjMmMgICAgIC8vVkFMVUVfRFRQUjIgIC8gdENDRDpSVzozMToxOj0weDAgdFJUVzpSVzozMDoxOj0weDAgdFJUT0RUOlJXOjI5OjE6PTB4MCB0RExMSzpSVzoxOToxMDo9MHgyMDAgdFhQOlJXOjEwOjU6PTB4MyB0WFM6Ulc6MDoxMDo9MHgyYw0KK2RhdGEuc2V0IDB4MDEyMWEwOTggJWxvbmcgMHgwMDE0NjRkMSAgICAgLy9WQUxVRV9EVFBSMyAgLyB0QU9GRHg6Ulc6Mjk6Mzo9MHgwIHRNUkQ6Ulc6MTg6NTo9MHg1IHRDS0U6Ulc6MTM6NTo9MHgzIHRSQzpSVzo2Ojc6PTB4MTMgdERRU0NLbWF4OlJXOjM6Mzo9MHgyIHREUVNDSzpSVzowOjM6PTB4MQ0KK2RhdGEuc2V0IDB4MDEyMWEwQTQgJWxvbmcgMHgwMDAwMDAwMyAgICAgLy9WQUxVRV9NUjIgICAgLyBXUkxFVkVMSU5HOlJXOjc6MTo9MHgwIFdMU0VMRUNUOlJXOjY6MTo9MHgwIG5XUkU6Ulc6NDoxOj0weDAgcmxfd2w6Ulc6MDo0Oj0weDYNCitkYXRhLnNldCAweDAxMjFhMEEwICVsb25nIDB4MDAwMDAwNjMgICAgIC8vVkFMVUVfTVIxICAgIC8gbldSOlc6NTozOj0weDMgV0M6Vzo0OjE6PTB4MCBCVDpXOjM6MTo9MHgwIEJMOlc6MDozOj0weDMNCitkYXRhLnNldCAweDAxMjFhMEE4ICVsb25nIDB4MDAwMDAwMDIgICAgIC8vVkFMVUVfTVIzICAgIC8gRFM6Ulc6MDo0Oj0weDINCitkYXRhLnNldCAweDAxMjFhMUEwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfTVIxMSAgIC8gUERDVEw6Ulc6MjoxOj0weDAgRFFPRFQ6Ulc6MDoyOj0weDANCitkYXRhLnNldCAweDAxMjFhMjQwICVsb25nIDB4MDQwNTg5MDAgICAgIC8vVkFMVUVfWlFDUiAgIC8gRk9SQ0VfWkNBTF9WVF9VUERBVEU6Ulc6Mjc6MTo9MHgwIERJU19OT05fTElOX0NPTVA6Ulc6MjY6MTo9MHgxIFBVX09EVF9PTkxZOlJXOjI1OjE6PTB4MCBBU1lNX0RSVl9FTjpSVzoyNDoxOj0weDAgSU9ETE1UOlJXOjE3Ojc6PTB4MiBBVkdFTjpSVzoxNjoxOj0weDEgQVZHTUFYOlJXOjE0OjI6PTB4MiBaQ0FMOlJXOjExOjM6PTB4MSBQR1dBSVQ6Ulc6ODozOj0weDEgWlFQRDpSVzoyOjE6PTB4MCBURVJNX09GRjpSVzoxOjE6PTB4MCBaQ0FMQllQOlJXOjA6MTo9MHgwDQorLy9iaXQwLTMgb3V0cHV0OmxwZGRyMig1PTgwb2hto6w3PTYwb2hto6w5PTQ4b2hto6xiPTQwb2hto6xkPTM0LjNvaG0pLGxwZGRyMygxPTI0MG9obaOsMz0xMjBvaG2jrDk9NDhvaG2jrGI9NDBvaG2jrGQ9MzQuM29obSkNCitkYXRhLnNldCAweDAxMjFhMjQ0ICVsb25nIDB4MDAwN2JiMmIgICAgIC8vVkFMVUVfWlFuUFIgIC8gWlBST0dfUFVfT0RUX09OTFk6Ulc6MTY6NDo9MHg3IFpQUk9HX0FTWU1fRFJWX1BEOlJXOjEyOjQ6PTB4YiBaUFJPR19BU1lNX0RSVl9QVTpSVzo4OjQ6PTB4YiBaUURJVl9PRFQ6Ulc6NDo0Oj0weDcgWlFESVZfRFM6Ulc6MDo0Oj0weGINCitkYXRhLnNldCAweDAxMjFhMjU0ICVsb25nIDB4MDAwN2JiMmIgICAgIC8vVkFMVUVfWlFuUFIgIC8gWlBST0dfUFVfT0RUX09OTFk6Ulc6MTY6NDo9MHg3IFpQUk9HX0FTWU1fRFJWX1BEOlJXOjEyOjQ6PTB4YiBaUFJPR19BU1lNX0RSVl9QVTpSVzo4OjQ6PTB4YiBaUURJVl9PRFQ6Ulc6NDo0Oj0weDcgWlFESVZfRFM6Ulc6MDo0Oj0weGINCitkYXRhLnNldCAweDAxMjFhMjM4ICVsb25nIDB4MDA0ODAwNDggICAgIC8vVkFMVUVfSU9WQ1IwIC8gRURYVlJFRjpSVzoyNDo3Oj0weDAgSURYVlJFRjpSVzoxNjo3Oj0weDQ4IEVBQ1ZSRUY6Ulc6ODo3Oj0weDAgSUFDVlJFRjpSVzowOjc6PTB4NDgNCitkYXRhLnNldCAweDAxMjFhMjNDICVsb25nIDB4MDAwMDAwNDggICAgIC8vVkFMVUVfSU9WQ1IxIC8gWlFWUkVGOlJXOjA6Nzo9MHg0OA0KKw0KKy8vY29udHJvbGxlciByZWdpc3RlciBpbml0DQorZGF0YS5zZXQgMHgwMTIxNjAwMCAlbG9uZyAweDAzMDQwMDA0ICAgICAvL1ZBTFVFX01TVFIgICAgICAgIC8gZGV2aWNlX2NvbmZpZzpSVzozMDoyOj0weDAgZnJlcXVlbmN5X21vZGU6Ulc6Mjk6MTo9MHgwIGFjdGl2ZV9yYW5rczpSVzoyNDo0Oj0weDMgYnVyc3RfcmR3cjpSVzoxNjo0Oj0weDQgZGxsX29mZl9tb2RlOlJXOjE1OjE6PTB4MCBkYXRhX2J1c193aWR0aDpSVzoxMjoyOj0weDAgZ2VhcmRvd25fbW9kZTpSVzoxMToxOj0weDAgZW5fMnRfdGltaW5nX21vZGU6Ulc6MTA6MTo9MHgwIGJ1cnN0Y2hvcDpSVzo5OjE6PTB4MCBidXJzdF9tb2RlOlJXOjg6MTo9MHgwIGxwZGRyNDpSVzo1OjE6PTB4MCBkZHI0OlJXOjQ6MTo9MHgwIGxwZGRyMzpSVzozOjE6PTB4MCBscGRkcjI6Ulc6MjoxOj0weDEgbW9iaWxlOlJXOjE6MTo9MHgwIGRkcjM6Ulc6MDoxOj0weDANCitkYXRhLnNldCAweDAxMjE2MDEwICVsb25nIDB4MDAwMDAwMzAgICAgIC8vVkFMVUVfTVJDVFJMMCAgICAgLyBtcl93cjpSVzozMToxOj0weDAgbXJfYWRkcjpSVzoxMjo0Oj0weDAgbXJfcmFuazpSVzo0OjQ6PTB4MyBzd19pbml0X2ludDpSVzozOjE6PTB4MCBwZGFfZW46Ulc6MjoxOj0weDAgbXByX2VuOlJXOjE6MTo9MHgwIG1yX3R5cGU6Ulc6MDoxOj0weDANCitkYXRhLnNldCAweDAxMjE2MDMwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUFdSQ1RMICAgICAgLyBzdGF5X2luX3NlbGZyZWY6Ulc6NjoxOj0weDAgc2VsZnJlZl9zdzpSVzo1OjE6PTB4MCBtcHNtX2VuOlJXOjQ6MTo9MHgwIGVuX2RmaV9kcmFtX2Nsa19kaXNhYmxlOlJXOjM6MTo9MHgwIGRlZXBwb3dlcmRvd25fZW46Ulc6MjoxOj0weDAgcG93ZXJkb3duX2VuOlJXOjE6MTo9MHgxIHNlbGZyZWZfZW46Ulc6MDoxOj0weDENCitkYXRhLnNldCAweDAxMjE2MDM0ICVsb25nIDB4MDAwNTIwMDIgICAgIC8vVkFMVUVfUFdSVE1HICAgICAgLyBzZWxmcmVmX3RvX3gzMjpSVzoxNjo4Oj0weDUgZGVlcHBvd2VyZG93bl90b194MTAyNDpSVzo4Ojg6PTB4MjAgcG93ZXJkb3duX3RvX3gzMjpSVzowOjU6PTB4Mg0KK2RhdGEuc2V0IDB4MDEyMTYwMzggJWxvbmcgMHgwMDA0MDAwMyAgICAgLy9WQUxVRV9IV0xQQ1RMICAgICAvIGh3X2xwX2lkbGVfeDMyOlJXOjE2OjEyOj0weDQgaHdfbHBfZXhpdF9pZGxlX2VuOlJXOjE6MTo9MHgxIGh3X2xwX2VuOlJXOjA6MTo9MHgxDQorZGF0YS5zZXQgMHgwMTIxNjA1MCAlbG9uZyAweDAwMjEwMDAwICAgICAvL1ZBTFVFX1JGU0hDVEwwICAgIC8gcmVmcmVzaF9tYXJnaW46Ulc6MjA6NDo9MHgyIHJlZnJlc2hfdG9feDMyOlJXOjEyOjU6PTB4MTAgcmVmcmVzaF9idXJzdDpSVzo0OjU6PTB4MCBwZXJfYmFua19yZWZyZXNoOlJXOjI6MTo9MHgwDQorZGF0YS5zZXQgMHgwMTIxNjA2NCAlbG9uZyAweDAwMjYwMDE0ICAgICAvL1ZBTFVFX1JGU0hUTUcgICAgIC8gdF9yZmNfbm9tX3gzMih0cmVmaSk6Ulc6MTY6MTI6PTB4MjYgbHBkZHIzX3RyZWZid19lbjpSVzoxNToxOj0weDAgdF9yZmNfbWluOlJXOjA6OTo9MHgxNA0KK2RhdGEuc2V0IDB4MDEyMTYwZDAgJWxvbmcgMHgwMDFmMDAwMSAgICAgLy9WQUxVRV9JTklUMCAgICAgICAvIHNraXBfZHJhbV9pbml0OlJXOjMxOjI6PTB4MCBwb3N0X2NrZV94MTAyNDpSVzoxNjoxMDo9MHgxZiBwcmVfY2tlX3gxMDI0OlJXOjA6MTE6PTB4MQ0KK2RhdGEuc2V0IDB4MDEyMTYwZDQgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9JTklUMSAgICAgICAvIGRyYW1fcnN0bl94MTAyNDpSVzoxNjo4Oj0weDAgZmluYWxfd2FpdF94MzI6Ulc6ODo3Oj0weDAgcHJlX29jZF94MzI6Ulc6MDo0Oj0weDANCitkYXRhLnNldCAweDAxMjE2MGQ4ICVsb25nIDB4MDAwMDA0MDUgICAgIC8vVkFMVUVfSU5JVDIgICAgICAgLyBpZGxlX2FmdGVyX3Jlc2V0X3gzMjpSVzo4Ojg6PTB4NCBtaW5fc3RhYmxlX2Nsb2NrX3gxOlJXOjA6NDo9MHg1DQorZGF0YS5zZXQgMHgwMTIxNjBkYyAlbG9uZyAweDAwNjMwMDA2ICAgICAvL1ZBTFVFX0lOSVQzICAgICAgIC8gbXI6Ulc6MTY6MTY6PTB4NjMgZW1yOlJXOjA6MTY6PTB4Ng0KKy8vZHJhbSBEUzpbMTk6MTZdIDE6MzRvaG0sIDI6NDBvaG0sIDM6NDhvaG0NCitkYXRhLnNldCAweDAxMjE2MGUwICVsb25nIDB4MDAwMjAwMDAgICAgIC8vVkFMVUVfSU5JVDQgICAgICAgLyBlbXIyOlJXOjE2OjE2Oj0weDIgZW1yMzpSVzowOjE2Oj0weDANCitkYXRhLnNldCAweDAxMjE2MGU0ICVsb25nIDB4MDAwNTAwMDIgICAgIC8vVkFMVUVfSU5JVDUgICAgICAgLyBkZXZfenFpbml0X3gzMjpSVzoxNjo4Oj0weDUgbWF4X2F1dG9faW5pdF94MTAyNDpSVzowOjEwOj0weDINCitkYXRhLnNldCAweDAxMjE2MGY0ICVsb25nIDB4MDAwMDA2NmYgICAgIC8vVkFMVUVfUkFOS0NUTCAgICAgLyBkaWZmX3Jhbmtfd3JfZ2FwOlJXOjg6NDo9MHg2IGRpZmZfcmFua19yZF9nYXA6Ulc6NDo0Oj0weDYgbWF4X3JhbmtfcmQ6Ulc6MDo0Oj0weGYNCitkYXRhLnNldCAweDAxMjE2MTAwICVsb25nIDB4MDYwODBhMDcgICAgIC8vVkFMVUVfRFJBTVRNRzAgICAgLyB3cjJwcmU6Ulc6MjQ6Njo9MHg2IHRfZmF3OlJXOjE2OjY6PTB4OCB0X3Jhc19tYXg6Ulc6ODo3Oj0weGEgdF9yYXNfbWluOlJXOjA6Njo9MHg3DQorZGF0YS5zZXQgMHgwMTIxNjEwNCAlbG9uZyAweDAwMDIwMjA5ICAgICAvL1ZBTFVFX0RSQU1UTUcxICAgIC8gdF94cDpSVzoxNjo1Oj0weDIgcmQycHJlOlJXOjg6NTo9MHgyIHRfcmM6Ulc6MDo2Oj0weDkNCitkYXRhLnNldCAweDAxMjE2MTA4ICVsb25nIDB4MDIwNDA2MDYgICAgIC8vVkFMVUVfRFJBTVRNRzIgICAgLyB3cml0ZV9sYXRlbmN5OlJXOjI0OjY6PTB4MiByZWFkX2xhdGVuY3k6Ulc6MTY6Njo9MHg0IHJkMndyOlJXOjg6Njo9MHg2IHdyMnJkOlJXOjA6Njo9MHg2DQorZGF0YS5zZXQgMHgwMTIxNjEwYyAlbG9uZyAweDAwNTAxMDAwICAgICAvL1ZBTFVFX0RSQU1UTUczICAgIC8gdF9tcnc6Ulc6MjA6MTA6PTB4NSB0X21yZDpSVzoxMjo2Oj0weDEgdF9tb2Q6Ulc6MDoxMDo9MHgwDQorZGF0YS5zZXQgMHgwMTIxNjExMCAlbG9uZyAweDAzMDEwMjA0ICAgICAvL1ZBTFVFX0RSQU1UTUc0ICAgIC8gdF9yY2Q6Ulc6MjQ6NTo9MHgzIHRfY2NkOlJXOjE2OjQ6PTB4MSB0X3JyZDpSVzo4OjQ6PTB4MiB0X3JwOlJXOjA6NTo9MHg0DQorZGF0YS5zZXQgMHgwMTIxNjExNCAlbG9uZyAweDAxMDEwMzAzICAgICAvL1ZBTFVFX0RSQU1UTUc1ICAgIC8gdF9ja3NyeDpSVzoyNDo0Oj0weDEgdF9ja3NyZTpSVzoxNjo0Oj0weDEgdF9ja2VzcjpSVzo4OjY6PTB4MyB0X2NrZTpSVzowOjQ6PTB4Mw0KK2RhdGEuc2V0IDB4MDEyMTYxMTggJWxvbmcgMHgwMjAyMDAwMyAgICAgLy9WQUxVRV9EUkFNVE1HNiAgICAvIHRfY2tkcGRlOlJXOjI0OjQ6PTB4MiB0X2NrZHBkeDpSVzoxNjo0Oj0weDIgdF9ja2NzeDpSVzowOjQ6PTB4Mw0KK2RhdGEuc2V0IDB4MDEyMTYxMWMgJWxvbmcgMHgwMDAwMDIwMiAgICAgLy9WQUxVRV9EUkFNVE1HNyAgICAvIHRfY2twZGU6Ulc6ODo0Oj0weDIgdF9ja3BkeDpSVzowOjQ6PTB4Mg0KK2RhdGEuc2V0IDB4MDEyMTYxMzggJWxvbmcgMHgwMDAwMDAxNiAgICAgLy9WQUxVRV9EUkFNVE1HMTQgICAvIHRfeHNyOlJXOjA6MTI6PTB4MTYNCitkYXRhLnNldCAweDAxMjE2MTgwICVsb25nIDB4NDAzOTAwMGYgICAgIC8vVkFMVUVfWlFDVEwwICAgICAgLyBkaXNfYXV0b196cTpSVzozMToxOj0weDAgZGlzX3NyeF96cWNsOlJXOjMwOjE6PTB4MSB6cV9yZXNpc3Rvcl9zaGFyZWQ6Ulc6Mjk6MTo9MHgwIGRpc19tcHNteF96cWNsOlJXOjI4OjE6PTB4MCB0X3pxX2xvbmdfbm9wOlJXOjE2OjEwOj0weDM5IHRfenFfc2hvcnRfbm9wOlJXOjA6MTA6PTB4Zg0KK2RhdGEuc2V0IDB4MDEyMTYxODQgJWxvbmcgMHgwMDgwMDEwMCAgICAgLy9WQUxVRV9aUUNUTDEgICAgICAvIHRfenFfcmVzZXRfbm9wOlJXOjIwOjEwOj0weDggdF96cV9zaG9ydF9pbnRlcnZhbF94MTAyNDpSVzowOjIwOj0weDEwMA0KK2RhdGEuc2V0IDB4MDEyMTYxODggJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9aUUNUTDIgICAgICAvIHpxX3Jlc2V0OlJXOjA6MTo9MHgwDQorZGF0YS5zZXQgMHgwMTIxNjE5MCAlbG9uZyAweDA3MDMwMTAxICAgICAvL1ZBTFVFX0RGSVRNRzAgICAgIC8gZGZpX3RfY3RybF9kZWxheTpSVzoyNDo1Oj0weDcgZGZpX3JkZGF0YV91c2Vfc2RyOlJXOjIzOjE6PTB4MCBkZmlfdF9yZGRhdGFfZW46Ulc6MTY6Njo9MHgzIGRmaV93cmRhdGFfdXNlX3NkcjpSVzoxNToxOj0weDAgZGZpX3RwaHlfd3JkYXRhOlJXOjg6Njo9MHgxIGRmaV90cGh5X3dybGF0OlJXOjA6Njo9MHgxDQorZGF0YS5zZXQgMHgwMTIxNjE5NCAlbG9uZyAweDAwMDMwNDA0ICAgICAvL1ZBTFVFX0RGSVRNRzEgICAgIC8gZGZpX3RfY21kX2xhdDpSVzoyODo0Oj0weDAgZGZpX3RfcGFyaW5fbGF0OlJXOjI0OjI6PTB4MCBkZmlfdF93cmRhdGFfZGVsYXk6Ulc6MTY6NTo9MHgzIGRmaV90X2RyYW1fY2xrX2Rpc2FibGU6Ulc6ODo0Oj0weDQgZGZpX3RfZHJhbV9jbGtfZW5hYmxlOlJXOjA6NDo9MHg0DQorZGF0YS5zZXQgMHgwMTIxNjE5OCAlbG9uZyAweDA3MDAwMTAxICAgICAvL1ZBTFVFX0RGSUxQQ0ZHMCAgIC8gZGZpX3RscF9yZXNwOlJXOjI0OjQ6PTB4NyBkZmlfbHBfd2FrZXVwX2RwZDpSVzoyMDo0Oj0weDAgZGZpX2xwX2VuX2RwZDpSVzoxNjoxOj0weDAgZGZpX2xwX3dha2V1cF9zcjpSVzoxMjo0Oj0weDAgZGZpX2xwX2VuX3NyOlJXOjg6MTo9MHgxIGRmaV9scF93YWtldXBfcGQ6Ulc6NDo0Oj0weDAgZGZpX2xwX2VuX3BkOlJXOjA6MTo9MHgxDQorZGF0YS5zZXQgMHgwMTIxNjFhMCAlbG9uZyAweDgwNDAwMDAzICAgICAvL1ZBTFVFX0RGSVVQRDAgICAgIC8gZGlzX2F1dG9fY3RybHVwZDpSVzozMToxOj0weDEgZGZpX3RfY3RybHVwX21heDpSVzoxNjoxMDo9MHg0MCBkZmlfdF9jdHJsdXBfbWluOlJXOjA6MTA6PTB4Mw0KK2RhdGEuc2V0IDB4MDEyMTYxYTQgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9ERklVUEQxICAgICAvIGRmaV90X2N0cmx1cGRfaW50ZXJ2YWxfbWluX3gxMDI0OlJXOjE2Ojg6PTB4MCBkZmlfdF9jdHJsdXBkX2ludGVydmFsX21heF94MTAyNDpSVzowOjg6PTB4MA0KK2RhdGEuc2V0IDB4MDEyMTYxYTggJWxvbmcgMHg4MDEwMDAxMCAgICAgLy9WQUxVRV9ERklVUEQyICAgICAvIGRmaV9waHl1cGRfZW46Ulc6MzE6MTo9MHgxIGRmaV9waHl1cGRfdHlwZTE6Ulc6MTY6MTI6PTB4MTAgZGZpX3BoeXVwZF90eXBlMDpSVzowOjEyOj0weDEwDQorZGF0YS5zZXQgMHgwMTIxNjFhYyAlbG9uZyAweDAwMTAwMDEwICAgICAvL1ZBTFVFX0RGSVVQRDMgICAgIC8gZGZpX3BoeXVwZF90eXBlMzpSVzoxNjoxMjo9MHgxMCBkZmlfcGh5dXBkX3R5cGUyOlJXOjA6MTI6PTB4MTANCitkYXRhLnNldCAweDAxMjE2MWIwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfREZJTUlTQyAgICAgLyBkZmlfZGF0YV9jc19wb2xhcml0eTpSVzoyOjE6PTB4MCBwaHlfZGJpX21vZGU6Ulc6MToxOj0weDAgZGZpX2luaXRfY29tcGxldGVfZW46Ulc6MDoxOj0weDANCitkYXRhLnNldCAweDAxMjE2MjAwICVsb25nIDB4MDAwMDAwMWYgICAgIC8vVkFMVUVfQUREUk1BUDAgICAgLyBhZGRybWFwX2RjaF9iaXQwOlJXOjE2OjU6PTB4MCBhZGRybWFwX2NzX2JpdDE6Ulc6ODo1Oj0weDAgYWRkcm1hcF9jc19iaXQwOlJXOjA6NTo9MHgxZg0KK2RhdGEuc2V0IDB4MDEyMTYyMDQgJWxvbmcgMHgwMDA3MDcwNyAgICAgLy9WQUxVRV9BRERSTUFQMSAgICAvIGFkZHJtYXBfYmFua19iMjpSVzoxNjo0Oj0weDcgYWRkcm1hcF9iYW5rX2IxOlJXOjg6NDo9MHg3IGFkZHJtYXBfYmFua19iMDpSVzowOjQ6PTB4Nw0KK2RhdGEuc2V0IDB4MDEyMTYyMDggJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9BRERSTUFQMiAgICAvIGFkZHJtYXBfY29sX2I1OlJXOjI0OjQ6PTB4MCBhZGRybWFwX2NvbF9iNDpSVzoxNjo0Oj0weDAgYWRkcm1hcF9jb2xfYjM6Ulc6ODo0Oj0weDAgYWRkcm1hcF9jb2xfYjI6Ulc6MDo0Oj0weDANCitkYXRhLnNldCAweDAxMjE2MjBjICVsb25nIDB4MGYwMDAwMDAgICAgIC8vVkFMVUVfQUREUk1BUDMgICAgLyBhZGRybWFwX2NvbF9iOTpSVzoyNDo0Oj0weGYgYWRkcm1hcF9jb2xfYjg6Ulc6MTY6NDo9MHgwIGFkZHJtYXBfY29sX2I3OlJXOjg6NDo9MHgwIGFkZHJtYXBfY29sX2I2OlJXOjA6NDo9MHgwDQorZGF0YS5zZXQgMHgwMTIxNjIxMCAlbG9uZyAweDAwMDAwZjBmICAgICAvL1ZBTFVFX0FERFJNQVA0ICAgIC8gYWRkcm1hcF9jb2xfYjExOlJXOjg6NDo9MHhmIGFkZHJtYXBfY29sX2IxMDpSVzowOjQ6PTB4Zg0KK2RhdGEuc2V0IDB4MDEyMTYyMTQgJWxvbmcgMHgwNjA2MDYwNiAgICAgLy9WQUxVRV9BRERSTUFQNSAgICAvIGFkZHJtYXBfcm93X2IxMTpSVzoyNDo0Oj0weDYgYWRkcm1hcF9yb3dfYjJfMTA6Ulc6MTY6NDo9MHg2IGFkZHJtYXBfcm93X2IxOlJXOjg6NDo9MHg2IGFkZHJtYXBfcm93X2IwOlJXOjA6NDo9MHg2DQorZGF0YS5zZXQgMHgwMTIxNjIxOCAlbG9uZyAweDBmMGYwZjA2ICAgICAvL1ZBTFVFX0FERFJNQVA2ICAgIC8gYWRkcm1hcF9yb3dfYjE1OlJXOjI0OjQ6PTB4ZiBhZGRybWFwX3Jvd19iMTQ6Ulc6MTY6NDo9MHhmIGFkZHJtYXBfcm93X2IxMzpSVzo4OjQ6PTB4ZiBhZGRybWFwX3Jvd19iMTI6Ulc6MDo0Oj0weDYNCitkYXRhLnNldCAweDAxMjE2MjQwICVsb25nIDB4MDQwMDA0MDAgICAgIC8vVkFMVUVfT0RUQ0ZHICAgICAgLyB3cl9vZHRfaG9sZDpSVzoyNDo0Oj0weDQgd3Jfb2R0X2RlbGF5OlJXOjE2OjQ6PTB4MCByZF9vZHRfaG9sZDpSVzo4OjQ6PTB4NCByZF9vZHRfZGVsYXk6Ulc6Mjo0Oj0weDANCitkYXRhLnNldCAweDAxMjE2MjQ0ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfT0RUTUFQICAgICAgLyByYW5rM19yZF9vZHQ6Ulc6Mjg6NDo9MHgwIHJhbmszX3dyX29kdDpSVzoyNDo0Oj0weDAgcmFuazJfcmRfb2R0OlJXOjIwOjQ6PTB4MCByYW5rMl93cl9vZHQ6Ulc6MTY6NDo9MHgwIHJhbmsxX3JkX29kdDpSVzoxMjo0Oj0weDAgcmFuazFfd3Jfb2R0OlJXOjg6NDo9MHgwIHJhbmswX3JkX29kdDpSVzo0OjQ6PTB4MCByYW5rMF93cl9vZHQ6Ulc6MDo0Oj0weDANCitkYXRhLnNldCAweDAxMjE2MjUwICVsb25nIDB4MDAwMDEwMDUgICAgIC8vVkFMVUVfU0NIRUQgICAgICAgLyByZHdyX2lkbGVfZ2FwOlJXOjI0Ojc6PTB4MCBnbzJjcml0aWNhbF9oeXN0ZXJlc2lzOlJXOjE2Ojg6PTB4MCBscHJfbnVtX2VudHJpZXM6Ulc6ODo2Oj0weDEwIHBhZ2VjbG9zZTpSVzoyOjE6PTB4MSBwcmVmZXJfd3JpdGU6Ulc6MToxOj0weDAgZm9yY2VfbG93X3ByaV9uOlJXOjA6MTo9MHgxDQorZGF0YS5zZXQgMHgwMTIxNjI1NCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1NDSEVEMSAgICAgIC8gcGFnZWNsb3NlX3RpbWVyOlJXOjA6ODo9MHgwDQorDQorICAgICAgLy9kZHJfcHJvcml0eV9jb25maWcNCisgICAgICAvL3BvcnQgcmVhZCBzdGF0aWMgcHJpb3JpdHkgYml0MC05LCBiaXQwLTQgdGltZW91dCwgYml0NS05IHByb3JpdHkNCisgICAgICBkYXRhLnNldCAweDAxMjE2NDA0ICVsb25nIDB4MDAwMDEzZmYgICAgIC8vVkFMVUVfUENGR1JfMCAgICAgLyByZHdyX29yZGVyZWRfZW46Ulc6MTY6MTo9MHgwIHJkX3BvcnRfcGFnZW1hdGNoX2VuOlJXOjE0OjE6PTB4MCByZF9wb3J0X3VyZ2VudF9lbjpSVzoxMzoxOj0weDAgcmRfcG9ydF9hZ2luZ19lbjpSVzoxMjoxOj0weDEgcmVhZF9yZW9yZGVyX2J5cGFzc19lbjpSVzoxMToxOj0weDAgcmRfcG9ydF9wcmlvcml0eTpSVzowOjEwOj0weDNmZg0KKyAgICAgIGRhdGEuc2V0IDB4MDEyMTY0YjQgJWxvbmcgMHgwMDAwMTBmZiAgICAgLy9WQUxVRV9QQ0ZHUl8xICAgICAvIHJkd3Jfb3JkZXJlZF9lbjpSVzoxNjoxOj0weDAgcmRfcG9ydF9wYWdlbWF0Y2hfZW46Ulc6MTQ6MTo9MHgwIHJkX3BvcnRfdXJnZW50X2VuOlJXOjEzOjE6PTB4MCByZF9wb3J0X2FnaW5nX2VuOlJXOjEyOjE6PTB4MSByZWFkX3Jlb3JkZXJfYnlwYXNzX2VuOlJXOjExOjE6PTB4MCByZF9wb3J0X3ByaW9yaXR5OlJXOjA6MTA6PTB4MjANCisgICAgICBkYXRhLnNldCAweDAxMjE2NTY0ICVsb25nIDB4MDAwMDEwM2YgICAgIC8vVkFMVUVfUENGR1JfMiAgICAgLyByZHdyX29yZGVyZWRfZW46Ulc6MTY6MTo9MHgwIHJkX3BvcnRfcGFnZW1hdGNoX2VuOlJXOjE0OjE6PTB4MCByZF9wb3J0X3VyZ2VudF9lbjpSVzoxMzoxOj0weDAgcmRfcG9ydF9hZ2luZ19lbjpSVzoxMjoxOj0weDEgcmVhZF9yZW9yZGVyX2J5cGFzc19lbjpSVzoxMToxOj0weDAgcmRfcG9ydF9wcmlvcml0eTpSVzowOjEwOj0weDANCisgICAgICBkYXRhLnNldCAweDAxMjE2NjE0ICVsb25nIDB4MDAwMDEwNWYgICAgIC8vVkFMVUVfUENGR1JfMyAgICAgLyByZHdyX29yZGVyZWRfZW46Ulc6MTY6MTo9MHgwIHJkX3BvcnRfcGFnZW1hdGNoX2VuOlJXOjE0OjE6PTB4MCByZF9wb3J0X3VyZ2VudF9lbjpSVzoxMzoxOj0weDAgcmRfcG9ydF9hZ2luZ19lbjpSVzoxMjoxOj0weDEgcmVhZF9yZW9yZGVyX2J5cGFzc19lbjpSVzoxMToxOj0weDAgcmRfcG9ydF9wcmlvcml0eTpSVzowOjEwOj0weDQNCisgICAgICAvL3BvcnQgd3JpdGUgc3RhdGljIHByaW9yaXR5IGJpdDAtOQ0KKyAgICAgIGRhdGEuc2V0IDB4MDEyMTY0MDggJWxvbmcgMHgwMDAwMTNmZiAgICAgLy9WQUxVRV9QQ0ZHV18wICAgICAvIHdyX3BvcnRfcGFnZW1hdGNoX2VuOlJXOjE0OjE6PTB4MCB3cl9wb3J0X3VyZ2VudF9lbjpSVzoxMzoxOj0weDAgd3JfcG9ydF9hZ2luZ19lbjpSVzoxMjoxOj0weDEgd3JfcG9ydF9wcmlvcml0eTpSVzowOjEwOj0weDNmZg0KKyAgICAgIGRhdGEuc2V0IDB4MDEyMTY0YjggJWxvbmcgMHgwMDAwMTBmZiAgICAgLy9WQUxVRV9QQ0ZHV18xICAgICAvIHdyX3BvcnRfcGFnZW1hdGNoX2VuOlJXOjE0OjE6PTB4MCB3cl9wb3J0X3VyZ2VudF9lbjpSVzoxMzoxOj0weDAgd3JfcG9ydF9hZ2luZ19lbjpSVzoxMjoxOj0weDEgd3JfcG9ydF9wcmlvcml0eTpSVzowOjEwOj0weGZmDQorICAgICAgZGF0YS5zZXQgMHgwMTIxNjU2OCAlbG9uZyAweDAwMDAxMDNmICAgICAvL1ZBTFVFX1BDRkdXXzIgICAgIC8gd3JfcG9ydF9wYWdlbWF0Y2hfZW46Ulc6MTQ6MTo9MHgwIHdyX3BvcnRfdXJnZW50X2VuOlJXOjEzOjE6PTB4MCB3cl9wb3J0X2FnaW5nX2VuOlJXOjEyOjE6PTB4MSB3cl9wb3J0X3ByaW9yaXR5OlJXOjA6MTA6PTB4M2YNCisgICAgICBkYXRhLnNldCAweDAxMjE2NjE4ICVsb25nIDB4MDAwMDEwNWYgICAgIC8vVkFMVUVfUENGR1dfMyAgICAgLyB3cl9wb3J0X3BhZ2VtYXRjaF9lbjpSVzoxNDoxOj0weDAgd3JfcG9ydF91cmdlbnRfZW46Ulc6MTM6MTo9MHgwIHdyX3BvcnRfYWdpbmdfZW46Ulc6MTI6MTo9MHgxIHdyX3BvcnRfcHJpb3JpdHk6Ulc6MDoxMDo9MHg1Zg0KKyAgICAgIC8vcG9ydCByZWFkIHJlZ2lvbiBzZXQNCisgICAgICAvL2RhdGEuc2V0IDB4MDEyMTY0OTQgJWxvbmcgMHgwMjAwMGUwMCAgICAgLy9WQUxVRV9QQ0ZHUU9TMF8wICAvIHJxb3NfbWFwX3JlZ2lvbjI6Ulc6MjQ6Mjo9MHgyIHJxb3NfbWFwX3JlZ2lvbjE6Ulc6MjA6Mjo9MHgwIHJxb3NfbWFwX3JlZ2lvbjA6Ulc6MTY6Mjo9MHgwIHJxb3NfbWFwX2xldmVsMjpSVzo4OjQ6PTB4ZSBycW9zX21hcF9sZXZlbDE6Ulc6MDo0Oj0weDANCisgICAgICAvL2RhdGEuc2V0IDB4MDEyMTY1NDQgJWxvbmcgMHgwMjAwMGUwMCAgICAgLy9WQUxVRV9QQ0ZHUU9TMF8xICAvIHJxb3NfbWFwX3JlZ2lvbjI6Ulc6MjQ6Mjo9MHgyIHJxb3NfbWFwX3JlZ2lvbjE6Ulc6MjA6Mjo9MHgwIHJxb3NfbWFwX3JlZ2lvbjA6Ulc6MTY6Mjo9MHgwIHJxb3NfbWFwX2xldmVsMjpSVzo4OjQ6PTB4ZSBycW9zX21hcF9sZXZlbDE6Ulc6MDo0Oj0weDANCisgICAgICAvL2RhdGEuc2V0IDB4MDEyMTY1ZjQgJWxvbmcgMHgwMjAwMGUwMCAgICAgLy9WQUxVRV9QQ0ZHUU9TMF8yICAvIHJxb3NfbWFwX3JlZ2lvbjI6Ulc6MjQ6Mjo9MHgyIHJxb3NfbWFwX3JlZ2lvbjE6Ulc6MjA6Mjo9MHgwIHJxb3NfbWFwX3JlZ2lvbjA6Ulc6MTY6Mjo9MHgwIHJxb3NfbWFwX2xldmVsMjpSVzo4OjQ6PTB4ZSBycW9zX21hcF9sZXZlbDE6Ulc6MDo0Oj0weDANCisgICAgICAvL2RhdGEuc2V0IDB4MDEyMTY2YTQgJWxvbmcgMHgwMjAwMGUwMCAgICAgLy9WQUxVRV9QQ0ZHUU9TMF8zICAvIHJxb3NfbWFwX3JlZ2lvbjI6Ulc6MjQ6Mjo9MHgyIHJxb3NfbWFwX3JlZ2lvbjE6Ulc6MjA6Mjo9MHgwIHJxb3NfbWFwX3JlZ2lvbjA6Ulc6MTY6Mjo9MHgwIHJxb3NfbWFwX2xldmVsMjpSVzo4OjQ6PTB4ZSBycW9zX21hcF9sZXZlbDE6Ulc6MDo0Oj0weDANCisgICAgICAvL3BvcnQgd3JpdGUgcmVnaW9uIHNldA0KKyAgICAgIC8vZGF0YS5zZXQgMHgwMTIxNjQ5YyAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdXUU9TMF8wIC8gd3Fvc19tYXBfcmVnaW9uMTpSVzoyMDoyOj0weDAgd3Fvc19tYXBfcmVnaW9uMDpSVzoxNjoyOj0weDAgd3Fvc19tYXBfbGV2ZWw6Ulc6MDo0Oj0weDANCisgICAgICAvL2RhdGEuc2V0IDB4MDEyMTY1NGMgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHV1FPUzBfMSAvIHdxb3NfbWFwX3JlZ2lvbjE6Ulc6MjA6Mjo9MHgwIHdxb3NfbWFwX3JlZ2lvbjA6Ulc6MTY6Mjo9MHgwIHdxb3NfbWFwX2xldmVsOlJXOjA6NDo9MHgwDQorICAgICAgLy9kYXRhLnNldCAweDAxMjE2NWZjICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1dRT1MwXzIgLyB3cW9zX21hcF9yZWdpb24xOlJXOjIwOjI6PTB4MCB3cW9zX21hcF9yZWdpb24wOlJXOjE2OjI6PTB4MCB3cW9zX21hcF9sZXZlbDpSVzowOjQ6PTB4MA0KKyAgICAgIC8vZGF0YS5zZXQgMHgwMTIxNjZhYyAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdXUU9TMF8zIC8gd3Fvc19tYXBfcmVnaW9uMTpSVzoyMDoyOj0weDAgd3Fvc19tYXBfcmVnaW9uMDpSVzoxNjoyOj0weDAgd3Fvc19tYXBfbGV2ZWw6Ulc6MDo0Oj0weDANCisgICAgICAvL3ZwciB0aW1lb3V0LCByZWdpb24yIGlzIHJlZCBxdWV1ZQ0KKyAgICAgIC8vZGF0YS5zZXQgMHgwMTIxNjQ5OCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdRT1MxXzAgIC8gcnFvc19tYXBfdGltZW91dHI6Ulc6MTY6MTE6PTB4MCBycW9zX21hcF90aW1lb3V0YjpSVzowOjExOj0weDANCisgICAgICAvL2RhdGEuc2V0IDB4MDEyMTY1NDggJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHUU9TMV8xICAvIHJxb3NfbWFwX3RpbWVvdXRyOlJXOjE2OjExOj0weDAgcnFvc19tYXBfdGltZW91dGI6Ulc6MDoxMTo9MHgwDQorICAgICAgLy9kYXRhLnNldCAweDAxMjE2NWY4ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1FPUzFfMiAgLyBycW9zX21hcF90aW1lb3V0cjpSVzoxNjoxMTo9MHgwIHJxb3NfbWFwX3RpbWVvdXRiOlJXOjA6MTE6PTB4MA0KKyAgICAgIC8vZGF0YS5zZXQgMHgwMTIxNjZhOCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdRT1MxXzMgIC8gcnFvc19tYXBfdGltZW91dHI6Ulc6MTY6MTE6PTB4MCBycW9zX21hcF90aW1lb3V0YjpSVzowOjExOj0weDANCisgICAgICAvL3ZwdyB0aW1lb3V0DQorICAgICAgLy9kYXRhLnNldCAweDAxMjE2NGEwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1dRT1MxXzAgLyB3cW9zX21hcF90aW1lb3V0OlJXOjA6MTE6PTB4MA0KKyAgICAgIC8vZGF0YS5zZXQgMHgwMTIxNjU1MCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdXUU9TMV8xIC8gd3Fvc19tYXBfdGltZW91dDpSVzowOjExOj0weDANCisgICAgICAvL2RhdGEuc2V0IDB4MDEyMTY2MDAgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHV1FPUzFfMiAvIHdxb3NfbWFwX3RpbWVvdXQ6Ulc6MDoxMTo9MHgwDQorICAgICAgLy9kYXRhLnNldCAweDAxMjE2NmIwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1dRT1MxXzMgLyB3cW9zX21hcF90aW1lb3V0OlJXOjA6MTE6PTB4MA0KKyAgICAgIC8vaW4gQ0FNIHNldA0KKyAgICAgIC8vZGF0YSxzZXQgMHgwMTIxNjI1YyAlbG9uZyAweDBmMDAwMDAxICAgICAvL1ZBTFVFX1BFUkZIUFIxICAgIC8gaHByX3hhY3RfcnVuX2xlbmd0aDpSVzoyNDo4Oj0weGYgaHByX21heF9zdGFydmU6Ulc6MDoxNjo9MHgxDQorICAgICAgLy9kYXRhLHNldCAweDAxMjE2MjY0ICVsb25nIDB4MGYwMDAwN2YgICAgIC8vVkFMVUVfUEVSRkxQUjEgICAgLyBscHJfeGFjdF9ydW5fbGVuZ3RoOlJXOjI0Ojg6PTB4ZiBscHJfbWF4X3N0YXJ2ZTpSVzowOjE2Oj0weDdmDQorICAgICAgLy9kYXRhLHNldCAweDAxMjE2MjZjICVsb25nIDB4MGYwMDAwN2YgICAgIC8vVkFMVUVfUEVSRldSMSAgICAgLyB3X3hhY3RfcnVuX2xlbmd0aDpSVzoyNDo4Oj0weGYgd19tYXhfc3RhcnZlOlJXOjA6MTY6PTB4N2YNCisgICAgICAvL2RhdGEsc2V0IDB4MDEyMTYyNzQgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QRVJGVlBSMSAgICAvIHZwcl90aW1lb3V0X3JhbmdlOlJXOjA6MTE6PTB4MA0KKyAgICAgIC8vZGF0YSxzZXQgMHgwMTIxNjI3OCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BFUkZWUFcxICAgIC8gdnB3X3RpbWVvdXRfcmFuZ2U6Ulc6MDoxMTo9MHgwDQorICAgICAgLy9wb3J0IGV4dGVybiBzdGF0aWMgcHJpb3JpdHkJDQorICAgICAgLy9SRUczMigweDAwMTQ2MDY0KSA9IDB4MDAwMDAwMDA7IC8vcG9ydDAsMSAgbGV2ZWw9MD1MUDsgcG9ydDIsMyAgbGV2ZWw9MD1MUA0KKw0KKy8vd2FpdCBhbGwgcmVnaXN0ZXIgY29uZmlnIGludG8gaGFyZHdhcmUNCitXYWl0IDAuMDFzDQorDQorZGF0YS5zZXQgMHgwMTMwNjEwMCAlbG9uZyAweDAwY2ZmZmMwIC8vcmVsZWFzZSBkZHIgY3RsKGJpdDExKSBhbmQgYXhpX3NuIHJlc2V0KGJpdDYtOSkNCitXYWl0IDAuMDFzDQorDQorLy9zdyBjb25maWcgZG9uZQ0KK2RhdGEuc2V0IDB4MDEyMTYzMjAgJWxvbmcgMHgwMDAwMDAwMCAvL1NXQ1RMICAgICAgLy8gc3dfZG9uZTpSVzowOjE6PTB4MA0KKy8vY2hlY2sgcGh5IGF1dG8gaW5pdCBkb25lLCB3YWl0IDB4MDEyMTYzMjQgYml0MCA9MA0KK1dhaXQgMC4wMXMNCisNCitkYXRhLnNldCAweDAxMjFhMDA0ICVsb25nIDB4MDAwNDAwMDEgLy9QSVIgLy9ub3RpZnkgcGh5IHRoYXQgc2RyYW0gd2lsbCBiZSBpbml0aWFsaXplZCBieSBjb250cm9sbGVyDQorLy9jaGVjayAweDAxMjFhMDE4IGJpdDA9MSBhbmQgYml0ND0xDQorV2FpdCAwLjAxcw0KKw0KKy8vbWFudWFsIHRyaWdnZXIgY2FsaWJyYXRlDQorZGF0YS5zZXQgMHgwMTIxYTAwNCAlbG9uZyAweDAwMDAwMDIzIC8vUElSIC8vRERMIGNhbCwgWlEgY2FsIChmb3IgYnlwYXNzKQ0KKy8vZGF0YS5zZXQgMHgwMTIxYTAwNCAlbG9uZyAweDAwMDAwMDMzIC8vUElSIC8vRERMIGNhbCwgWlEgY2FsLCBQTEwgaW5pdCAoZm9yIG1pc3Npb24pDQorLy9jaGVjayAweDAxMjFhMDE4IGJpdDAtMz0xMDExDQorV2FpdCAwLjAxcw0KKw0KKy8vZW5hYmxlIGNvbnRyb2xsZXIgZGZpX2luaXRfY29tcGxldGVfZW4gdG8gc3RhcnQgc2RyYW0gaW5pdCwgdGhlbiB3aWxsIHNlbmQgZHJhbSBpbml0IGNtZA0KK2RhdGEuc2V0IDB4MDEyMTYxYjAgJWxvbmcgMHgwMDAwMDAwMSAvL0RGSU1JU0MgICAgLy8gcGh5X2RiaV9tb2RlOlJXOjE6MTo9MHgwIGRmaV9pbml0X2NvbXBsZXRlX2VuOlJXOjA6MTo9MHgxCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KKy8vY2hlY2sgY29udHJvbGxlciBzdGF0dXMgaXMgc2RyYW0gaW5pdCBkb25lLHdhaXQgMHgwMTIxNjAwNCBiaXQwLTIgIT0wDQorV2FpdCAwLjAxcw0KKw0KKy8vdHJhaW5pbmcNCisvL2JpdDAtMSBhdXRvIGVudGVyIHBvd2VyZG93biBhbmQgc2VsZnJlZnJlc2gsIHRyYWluaW5nIG11c3QgY2xvc2UgdGhpcyBmdW5jdGlvbg0KKy8vZGF0YS5zZXQgMHgwMTIxNjAzMCAlbG9uZyAweDAwMDAwMDAwIC8vUFdSQ1RMICAgLy8gc2VsZnJlZl9zdzpSVzo1OjE6PTB4MCBtcHNtX2VuOlJXOjQ6MTo9MHgwIGVuX2RmaV9kcmFtX2Nsa19kaXNhYmxlOlJXOjM6MTo9MHgwIGRlZXBwb3dlcmRvd25fZW46Ulc6MjoxOj0weDAgcG93ZXJkb3duX2VuOlJXOjE6MTo9MHgxIHNlbGZyZWZfZW46Ulc6MDoxOj0weDENCisvL2RhdGEuc2V0IDB4MDEyMWEwYjAgJWxvbmcgMHg4MTAwMTA5NyAvL0RUQ1IgLy9vbmx5IHNlbGVjdCByYW5rMCBkbyB0cmFpbmluZyAgICAgICAgMHg5MTAwMTA4NyBiaXQxM8rHt/G08r+qo78NCisvL2RhdGEuc2V0IDB4MDEyMWEwMDQgJWxvbmcgMHhmMDAxDQorLy9jaGVjayAweDAxMjFhMDE4IGJpdDA9MSBhbmQgYml0OC0xMT0xMTExDQorV2FpdCAwLjAxcw0KKw0KK2RhdGEuc2V0IDB4MDEyMTY0OTAgJWxvbmcgMHgwMDAwMDAwMSAgICAgLy9WQUxVRV9QQ1RSTF8wICAgICAvIHBvcnRfZW46Ulc6MDoxOj0weDENCitkYXRhLnNldCAweDAxMjE2NTQwICVsb25nIDB4MDAwMDAwMDEgICAgIC8vVkFMVUVfUENUUkxfMSAgICAgLyBwb3J0X2VuOlJXOjA6MTo9MHgxDQorZGF0YS5zZXQgMHgwMTIxNjVmMCAlbG9uZyAweDAwMDAwMDAxICAgICAvL1ZBTFVFX1BDVFJMXzIgICAgIC8gcG9ydF9lbjpSVzowOjE6PTB4MQ0KK2RhdGEuc2V0IDB4MDEyMTY2YTAgJWxvbmcgMHgwMDAwMDAwMSAgICAgLy9WQUxVRV9QQ1RSTF8zICAgICAvIHBvcnRfZW46Ulc6MDoxOj0weDEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zeXMvZGRyX2luaXRfMTU2bS5jbW0gYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zeXMvZGRyX2luaXRfMTU2bS5jbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODQzYzRhNwotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3N5cy9kZHJfaW5pdF8xNTZtLmNtbQpAQCAtMCwwICsxLDIxMCBAQAorLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyogWlgyOTc1MjEgUHJvamVjdCB1TUNUTDIgRERSIGNvbnRyb2xsZXIgcGFyYW1ldGVyIGNvbmZpZ3VyYXRpb24NCisvLyogdU1DVEwyIFJldi46IDIuNTBhIA0KKy8vKiBBdXRob3I6IENoZW4gSmlhbmhvbmcNCisvLyogRGVwYXJ0bWVudDogSVAgZGVzaWduDQorLy8qIE9wdGlvbjogTWVtb3J5IFR5cGUgID0gTFBERFIyDQorLy8qIE9wdGlvbjogTWVtb3J5IEZyZXF1ZW5jeShNSHopICA9IDE1Ng0KKy8vKiBPcHRpb246IE1lbW9yeSBTcGFjZShHYikgID0gMQ0KKy8vKiBPcHRpb246IERSQU0gZHJpdmUgaW1wZWRhbmNlKE9obSkgID0gNDANCisvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKw0KKy8vLS0tLS0tLS0tLS0tLS0tLS0tLWJlbG93IGlzIGRkciBzZXR0aW5nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCisNCisvL2RhdGEuc2V0IDB4MDEzMDYxMDAgJWxvbmcgMHhmZmZmZTAwMCAvL2RkciBhbGwgcmVzZXQgZW5hYmxlICBiaXQ2LTEyPTAgICANCitkYXRhLnNldCAweDAxMzA2MTAwICVsb25nIDB4MGFmZmUwMDAgLy9kZHIgYWxsIHJlc2V0IGVuYWJsZSAgYml0Ni0xMj0wIA0KK1dhaXQgMC4wMXMgIA0KK2RhdGEuc2V0IDB4MDEzMDYxMDAgJWxvbmcgMHgwYWZmZTQwMCAvL3JlbGVhc2UgZGRyIGFwYihiaXQxMCkNCitXYWl0IDAuMDFzDQorDQorLy9ERFIgdG9wIGNsb2NrIHNlbGVjdCB0b3AgY2xrIDE1Nk0sIGJpdDAtMSwgMD0xNTYsIDE9MjAwLCAyPTEwNCwgMz03OA0KKy8vMDogdG9wIGNsaz0xNTZNLCAgICAgIGRkciB1c2UgbWlzc2lvbiBtb2RlICwgZHJhbSBpbyBjbGs9MzEyTQ0KKy8vMTogdG9wIGNsaz0yMDBNLCAgICAgZGRyIHVzZSBtaXNzaW9uIG1vZGUgLCBkcmFtIGlvIGNsaz00MDBNDQorLy8yOiB0b3AgY2xrPTEwNE0sICAgICBkZHIgdXNlIG1pc3Npb24gbW9kZSAsIGRyYW0gaW8gY2xrPTIwOE0NCisvLzM6IHRvcCBjbGs9NzhNLCAgICAgZGRyIHVzZSBtaXNzaW9uIG1vZGUgLCBkcmFtIGlvIGNsaz0xNTZNDQorZGF0YS5zZXQgMHgwMTMwNjA1MCAlbG9uZyAweDAwMDAwMDAzICAvL7fWxrXJ6NbDo6y21NOm0OjSqtDeuMTC8A0KKw0KKy8vcGh5IHJlZ2lzdGVyIGluaXQgIA0KK2RhdGEuc2V0IDB4MDAxNTQwMDQgJWxvbmcgMHgwMDAwMDAwNyAgLy9WQUxVRV9QSFlSRUcwMSAgIC8gUmVzZXJ2ZWQ6Ulc6Mjo2Oj0weDEsIFBIWV9NT0RFOlJXOjA6Mjo9MHgyKExQRERSMjoweDMsTFBERFIzOjB4MikNCitkYXRhLnNldCAweDAwMTU0MDJjICVsb25nIDB4MDAwMDAwODAgIC8vVkFMVUVfUEhZUkVHMEIgICAvIFJMOlJXOjQ6NDo9MHg4DQorZGF0YS5zZXQgMHgwMDE1NDAzMCAlbG9uZyAweDAwMDAwMDA0ICAvL1ZBTFVFX1BIWVJFRzBDICAgLyBXTDpSVzowOjQ6PTB4NA0KKw0KK2RhdGEuc2V0IDB4MDAxNTQzYjAgJWxvbmcgMHgwMDAwMDAyMCAgLy9WQUxVRV9QSFlSRUdFQyAgIC8gZmJkaXZbNzowXT0weDIwDQorZGF0YS5zZXQgMHgwMDE1NDNiNCAlbG9uZyAweDAwMDAwMDFhICAvL1ZBTFVFX1BIWVJFR0VEICAgLyBQTExDTEtPVVRFTjpSVzo0OjE6PTB4MSxSZXNlcnZlZDpSVzoyOjI6PTB4MiwgcGxscGQ6Ulc6MToxOj0weDEsIGZiZGl2WzhdOlJXOjA6MTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1NDNiOCAlbG9uZyAweDAwMDAwMDQyICAvL1ZBTFVFX1BIWVJFR0VFICAgLyBwcmVkaXZbNDowXTpSVzowOjU6PTB4Mixwb3N0ZGl2WzI6MF06Ulc6NTozOj0weDINCisNCisvL0ludGVybmFsIFZSRUYgZ2VuZXJhdGlvbihkZWZ1YWx0KQ0KK2RhdGEuc2V0IDB4MDAxNTQyOGMgJWxvbmcgMHgwMDAwMDAzMCAgLy9WQUxVRV9QSFlSRUdBMyAgIC8gQ2hhbm5lbCBBL0IgaGl0aCA4Yml0czogdnJlZl9zZWw6Ulc6NToxOj0weDEsdnJlZl92YWx1ZVs0OjBdOlJXOjA6NTo9MHgxMA0KK2RhdGEuc2V0IDB4MDAxNTQyYjggJWxvbmcgMHgwMDAwMDAzMCAgLy9WQUxVRV9QSFlSRUdBRSAgIC8gQ2hhbm5lbCBBL0IgbG93ICA4Yml0czogdnJlZl9zZWw6Ulc6NToxOj0weDEsdnJlZl92YWx1ZVs0OjBdOlJXOjA6NTo9MHgxMA0KKw0KKy8vRHJpdmUgc3RyZW5ndGgoZGVmdWFsdCkNCitkYXRhLnNldCAweDAwMTU0MDQ0ICVsb25nIDB4MDAwMDAwMGEgIC8vVkFMVUVfUEhZUkVHMTEgICAvIENNRCBkcml2ZSBzdHJlbmd0aDogY21kX25yY29tcFs0OjBdOlJXOjA6NTo9MHhhDQorZGF0YS5zZXQgMHgwMDE1NDA1OCAlbG9uZyAweDAwMDAwMDBhICAvL1ZBTFVFX1BIWVJFRzE2ICAgLyBDSyAgZHJpdmUgc3RyZW5ndGg6IGNrX25yY29tcCBbNDowXTpSVzowOjU6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTQwNjQgJWxvbmcgMHgwMDAwMDAwYSAgLy9WQUxVRV9QSFlSRUcxOSAgIC8gQ0sgIHB1bGxfdXAgICBkcml2ZSBzdHJlbmd0aChEUyk6Ulc6MDo1Oj0weGENCitkYXRhLnNldCAweDAwMTU0MDY4ICVsb25nIDB4MDAwMDAwMGEgIC8vVkFMVUVfUEhZUkVHMUEgICAvIENNRCBwdWxsX3VwICAgZHJpdmUgc3RyZW5ndGgoRFMpOlJXOjA6NTo9MHhhDQorZGF0YS5zZXQgMHgwMDE1NDA4MCAlbG9uZyAweDAwMDAwMDBhICAvL1ZBTFVFX1BIWVJFRzIwICAgLyBBX0RRMH5BX0RRNyBwdWxsX2Rvd24gRFMgOlJXOjA6NTo9MHhhDQorZGF0YS5zZXQgMHgwMDE1NDA4NCAlbG9uZyAweDAwMDAwMDBhICAvL1ZBTFVFX1BIWVJFRzIxICAgLyBBX0RRMH5BX0RRNyBwdWxsX2Rvd24gT0RUOlJXOjA6NTo9MHhhDQorZGF0YS5zZXQgMHgwMDE1NDBiOCAlbG9uZyAweDAwMDAwMDhhICAvL1ZBTFVFX1BIWVJFRzJFICAgLyBBX0RRMH5BX0RRNyBwdWxsX3VwICAgRFMgOlJXOjA6NTo9MHhhLCBmYWxsaW5nIGVkZ2Ugc2xldyByYXRlOlJXOjU6Mzo9MHg0DQorZGF0YS5zZXQgMHgwMDE1NDBiYyAlbG9uZyAweDAwMDAwMDhhICAvL1ZBTFVFX1BIWVJFRzJGICAgLyBBX0RRMH5BX0RRNyBwdWxsX3VwICAgT0RUOlJXOjA6NTo9MHhhLCByaXNpbmcgIGVkZ2Ugc2xldyByYXRlOlJXOjU6Mzo9MHg0DQorZGF0YS5zZXQgMHgwMDE1NDBjMCAlbG9uZyAweDAwMDAwMDhhICAvL1ZBTFVFX1BIWVJFRzMwICAgLyBBX0RROH5BX0RRMTUgcHVsbF9kb3duIERTIDpSVzowOjU6PTB4YSwgZmFsbGluZyBlZGdlIHNsZXcgcmF0ZTpSVzo1OjM6PTB4NA0KK2RhdGEuc2V0IDB4MDAxNTQwYzQgJWxvbmcgMHgwMDAwMDA4YSAgLy9WQUxVRV9QSFlSRUczMSAgIC8gQV9EUTh+QV9EUTE1IHB1bGxfZG93biBPRFQ6Ulc6MDo1Oj0weGEsIHJpc2luZyAgZWRnZSBzbGV3IHJhdGU6Ulc6NTozOj0weDQNCitkYXRhLnNldCAweDAwMTU0MGY4ICVsb25nIDB4MDAwMDAwMGEgIC8vVkFMVUVfUEhZUkVHM0UgICAvIEFfRFE4fkFfRFExNSBwdWxsX3VwICAgRFMgOlJXOjA6NTo9MHhhDQorZGF0YS5zZXQgMHgwMDE1NDBmYyAlbG9uZyAweDAwMDAwMDBhICAvL1ZBTFVFX1BIWVJFRzNGICAgLyBBX0RROH5BX0RRMTUgcHVsbF91cCAgIE9EVDpSVzowOjU6PTB4YQ0KKw0KK2RhdGEuc2V0IDB4MDAxNTQxMDAgJWxvbmcgMHgwMDAwMDAwYSAgLy9WQUxVRV9QSFlSRUc0MCAgIC8gQl9EUTB+Ql9EUTcgcHVsbF9kb3duIERTIDpSVzowOjU6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTQxMDQgJWxvbmcgMHgwMDAwMDAwYSAgLy9WQUxVRV9QSFlSRUc0MSAgIC8gQl9EUTB+Ql9EUTcgcHVsbF9kb3duIE9EVDpSVzowOjU6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTQxMzggJWxvbmcgMHgwMDAwMDA4YSAgLy9WQUxVRV9QSFlSRUc0RSAgIC8gQl9EUTB+Ql9EUTcgcHVsbF91cCAgIERTIDpSVzowOjU6PTB4YSwgZmFsbGluZyBlZGdlIHNsZXcgcmF0ZTpSVzo1OjM6PTB4NA0KK2RhdGEuc2V0IDB4MDAxNTQxM2MgJWxvbmcgMHgwMDAwMDA4YSAgLy9WQUxVRV9QSFlSRUc0RiAgIC8gQl9EUTB+Ql9EUTcgcHVsbF91cCAgIE9EVDpSVzowOjU6PTB4YSwgcmlzaW5nICBlZGdlIHNsZXcgcmF0ZTpSVzo1OjM6PTB4NA0KKw0KK2RhdGEuc2V0IDB4MDAxNTQxNDAgJWxvbmcgMHgwMDAwMDA4YSAgLy9WQUxVRV9QSFlSRUc1MCAgIC8gQl9EUTh+Ql9EUTE1IHB1bGxfZG93biBEUyA6Ulc6MDo1Oj0weGEsIGZhbGxpbmcgZWRnZSBzbGV3IHJhdGU6Ulc6NTozOj0weDQNCitkYXRhLnNldCAweDAwMTU0MTQ0ICVsb25nIDB4MDAwMDAwOGEgIC8vVkFMVUVfUEhZUkVHNTEgICAvIEJfRFE4fkJfRFExNSBwdWxsX2Rvd24gT0RUOlJXOjA6NTo9MHhhLCByaXNpbmcgIGVkZ2Ugc2xldyByYXRlOlJXOjU6Mzo9MHg0DQorZGF0YS5zZXQgMHgwMDE1NDE3OCAlbG9uZyAweDAwMDAwMDBhICAvL1ZBTFVFX1BIWVJFRzVFICAgLyBCX0RROH5CX0RRMTUgcHVsbF91cCAgIERTIDpSVzowOjU6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTQxN2MgJWxvbmcgMHgwMDAwMDAyYSAgLy9WQUxVRV9QSFlSRUc1RiAgIC8gQl9EUTh+Ql9EUTE1IHB1bGxfdXAgICBPRFQ6Ulc6MDo1Oj0weGEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQorDQorLy9jb250cm9sbGVyIHJlZ2lzdGVyIGluaXQNCitkYXRhLnNldCAweDAwMTUwMDAwICVsb25nIDB4MDEwNDAwMDQgICAgIC8vVkFMVUVfTVNUUiAgICAgICAgLyBkZXZpY2VfY29uZmlnOlJXOjMwOjI6PTB4MCBmcmVxdWVuY3lfbW9kZTpSVzoyOToxOj0weDAgYWN0aXZlX3JhbmtzOlJXOjI0OjQ6PTB4MyBidXJzdF9yZHdyOlJXOjE2OjQ6PTB4NCBkbGxfb2ZmX21vZGU6Ulc6MTU6MTo9MHgwIGRhdGFfYnVzX3dpZHRoOlJXOjEyOjI6PTB4MCBnZWFyZG93bl9tb2RlOlJXOjExOjE6PTB4MCBlbl8ydF90aW1pbmdfbW9kZTpSVzoxMDoxOj0weDAgYnVyc3RjaG9wOlJXOjk6MTo9MHgwIGJ1cnN0X21vZGU6Ulc6ODoxOj0weDAgbHBkZHI0OlJXOjU6MTo9MHgwIGRkcjQ6Ulc6NDoxOj0weDAgbHBkZHIzOlJXOjM6MTo9MHgwIGxwZGRyMjpSVzoyOjE6PTB4MSBtb2JpbGU6Ulc6MToxOj0weDAgZGRyMzpSVzowOjE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAwMTAgJWxvbmcgMHgwMDAwMDAzMCAgICAgLy9WQUxVRV9NUkNUUkwwICAgICAvIG1yX3dyOlJXOjMxOjE6PTB4MCBtcl9hZGRyOlJXOjEyOjQ6PTB4MCBtcl9yYW5rOlJXOjQ6NDo9MHgzIHN3X2luaXRfaW50OlJXOjM6MTo9MHgwIHBkYV9lbjpSVzoyOjE6PTB4MCBtcHJfZW46Ulc6MToxOj0weDAgbXJfdHlwZTpSVzowOjE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAwMTQgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9NUkNUUkwxICAgICAvbXJfZGF0YTpSVzowOjE2Oj0weDANCitkYXRhLnNldCAweDAwMTUwMDIwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfREVSQVRFRU4gICAgL3JjX2RlcmF0ZV92YWx1ZTpSVzo4OjI6PTB4MCBkZXJhdGVfYnl0ZTpSVzo0OjQ6PTB4MCBkZXJhdGVfdmFsdWU6Ulc6MToxOj0weDAgZGVyYXRlX2VuYWJsZTpSVzowOjE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAwMjQgJWxvbmcgMHgwMDgwMDAwMCAgICAgLy9WQUxVRV9ERVJBVEVJTlQgICAvbXI0X3JlYWRfaW50ZXJ2YWw6Ulc6MDozMjo9MHg4MDAwMDANCisNCitkYXRhLnNldCAweDAwMTUwMDMwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUFdSQ1RMICAgICAgLyBzdGF5X2luX3NlbGZyZWY6Ulc6NjoxOj0weDAgc2VsZnJlZl9zdzpSVzo1OjE6PTB4MCBtcHNtX2VuOlJXOjQ6MTo9MHgwIGVuX2RmaV9kcmFtX2Nsa19kaXNhYmxlOlJXOjM6MTo9MHgwIGRlZXBwb3dlcmRvd25fZW46Ulc6MjoxOj0weDAgcG93ZXJkb3duX2VuOlJXOjE6MTo9MHgxIHNlbGZyZWZfZW46Ulc6MDoxOj0weDENCitkYXRhLnNldCAweDAwMTUwMDM0ICVsb25nIDB4MDAwNTIwMDIgICAgIC8vVkFMVUVfUFdSVE1HICAgICAgLyBzZWxmcmVmX3RvX3gzMjpSVzoxNjo4Oj0weDUgZGVlcHBvd2VyZG93bl90b194MTAyNDpSVzo4Ojg6PTB4MjAgcG93ZXJkb3duX3RvX3gzMjpSVzowOjU6PTB4Mg0KK2RhdGEuc2V0IDB4MDAxNTAwMzggJWxvbmcgMHgwMDA0MDAwMyAgICAgLy9WQUxVRV9IV0xQQ1RMICAgICAvIGh3X2xwX2lkbGVfeDMyOlJXOjE2OjEyOj0weDQgaHdfbHBfZXhpdF9pZGxlX2VuOlJXOjE6MTo9MHgxIGh3X2xwX2VuOlJXOjA6MTo9MHgxDQorZGF0YS5zZXQgMHgwMDE1MDA1MCAlbG9uZyAweDAwMjEwMDAwICAgICAvL1ZBTFVFX1JGU0hDVEwwICAgIC8gcmVmcmVzaF9tYXJnaW46Ulc6MjA6NDo9MHgyIHJlZnJlc2hfdG9feDMyOlJXOjEyOjU6PTB4MTAgcmVmcmVzaF9idXJzdDpSVzo0OjU6PTB4MCBwZXJfYmFua19yZWZyZXNoOlJXOjI6MTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDA1NCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1JGU0hDVEwxICAgIC8gcmVmcmVzaF90aW1lcjFfc3RhcnRfdmFsdWVfeDMyOlJXOjE2OjEyOj0weDAgcmVmcmVzaF90aW1lcjBfc3RhcnRfdmFsdWVfeDMyOlJXOjA6MTI6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAwNTggJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9SRlNIQ1RMMiAgICAvIHJlZnJlc2hfdGltZXIzX3N0YXJ0X3ZhbHVlX3gzMjpSVzoxNjoxMjo9MHgwIHJlZnJlc2hfdGltZXIyX3N0YXJ0X3ZhbHVlX3gzMjpSVzowOjEyOj0weDANCitkYXRhLnNldCAweDAwMTUwMDYwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUkZTSENUTDMgICAgLyByZWZyZXNoX21vZGU6Ulc6NDozOj0weDAgcmVmcmVzaF91cGRhdGVfbGV2ZWw6Ulc6MToxOj0weDAgZGlzX2F1dG9fcmVmcmVzaDpSVzowOjE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAwNjQgJWxvbmcgMHgwMDEzMDAwYSAgICAgLy9WQUxVRV9SRlNIVE1HICAgICAvIHRfcmZjX25vbV94MzIodHJlZmkpOlJXOjE2OjEyOj0weDEzIGxwZGRyM190cmVmYndfZW46Ulc6MTU6MTo9MHgwIHRfcmZjX21pbjpSVzowOjk6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTAwZDAgJWxvbmcgMHgwMDEwMDAwMSAgICAgLy9WQUxVRV9JTklUMCAgICAgICAvIHNraXBfZHJhbV9pbml0OlJXOjMxOjI6PTB4MCBwb3N0X2NrZV94MTAyNDpSVzoxNjoxMDo9MHgxMCBwcmVfY2tlX3gxMDI0OlJXOjA6MTE6PTB4MQ0KK2RhdGEuc2V0IDB4MDAxNTAwZDQgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9JTklUMSAgICAgICAvIGRyYW1fcnN0bl94MTAyNDpSVzoxNjo4Oj0weDAgZmluYWxfd2FpdF94MzI6Ulc6ODo3Oj0weDAgcHJlX29jZF94MzI6Ulc6MDo0Oj0weDANCitkYXRhLnNldCAweDAwMTUwMGQ4ICVsb25nIDB4MDAwMDAyMDUgICAgIC8vVkFMVUVfSU5JVDIgICAgICAgLyBpZGxlX2FmdGVyX3Jlc2V0X3gzMjpSVzo4Ojg6PTB4MiBtaW5fc3RhYmxlX2Nsb2NrX3gxOlJXOjA6NDo9MHg1DQorLy9NUjI9UkwvV0yjrDGjulJMMy9XTDGjrDKjulJMNC9XTDKjrDOjulJMOjUvV0wyo6w0o7pSTDYvV0wzOqOsNaO6Ukw3L1dMNKOsNqO6Ukw4L1dMNA0KK2RhdGEuc2V0IDB4MDAxNTAwZGMgJWxvbmcgMHgwMDIzMDAwNiAgICAgLy9WQUxVRV9JTklUMyAgICAgICAvIG1yOlJXOjE2OjE2Oj0weDIzIGVtcjpSVzowOjE2Oj0weDYNCisvL2JpdDE2LTMxo6xMUEREUjIgTVIzIHZhbHVlo6zG97z+RFPErMjPysc0MG9obaOso6gxPTM0LjOjrDI9NDAsMz00OCw0PTYwLDY9ODCjqQ0KK2RhdGEuc2V0IDB4MDAxNTAwZTAgJWxvbmcgMHgwMDAyMDAwMCAgICAgLy9WQUxVRV9JTklUNCAgICAgICAvIGVtcjI6Ulc6MTY6MTY6PTB4MiBlbXIzOlJXOjA6MTY6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAwZTQgJWxvbmcgMHgwMDAzMDAwMSAgICAgLy9WQUxVRV9JTklUNSAgICAgICAvIGRldl96cWluaXRfeDMyOlJXOjE2Ojg6PTB4MyBtYXhfYXV0b19pbml0X3gxMDI0OlJXOjA6MTA6PTB4Mg0KK2RhdGEuc2V0IDB4MDAxNTAwZjQgJWxvbmcgMHgwMDAwMDY2ZiAgICAgLy9WQUxVRV9SQU5LQ1RMICAgICAvIGRpZmZfcmFua193cl9nYXA6Ulc6ODo0Oj0weDYgZGlmZl9yYW5rX3JkX2dhcDpSVzo0OjQ6PTB4NiBtYXhfcmFua19yZDpSVzowOjQ6PTB4Zg0KK2RhdGEuc2V0IDB4MDAxNTAxMDAgJWxvbmcgMHgwNTA0MDUwMyAgICAgLy9WQUxVRV9EUkFNVE1HMCAgICAvIHdyMnByZTpSVzoyNDo2Oj0weDUgdF9mYXc6Ulc6MTY6Njo9MHg0IHRfcmFzX21heDpSVzo4Ojc6PTB4NSB0X3Jhc19taW46Ulc6MDo2Oj0weDMNCitkYXRhLnNldCAweDAwMTUwMTA0ICVsb25nIDB4MDAwMTAyMDUgICAgIC8vVkFMVUVfRFJBTVRNRzEgICAgLyB0X3hwOlJXOjE2OjU6PTB4MSByZDJwcmU6Ulc6ODo1Oj0weDIgdF9yYzpSVzowOjY6PTB4NQ0KKy8vUkw9Yml0MTYtMjGjrDGjulJMPTKjrDKjulJMPTSjrDOjulJMPTajrDSjulI9OKOsV0w9Yml0MjQtMjmjrDGjuldMPTKjrDKjuldMPTQNCisvL9XiwO+1vNbCTVIytcTF5NbDo6gweDAxMjE2MGRjo6myu8Tc0aHU8bqs09DG5sr9tcTWtT8NCitkYXRhLnNldCAweDAwMTUwMTA4ICVsb25nIDB4MDIwNDA1MDYgICAgIC8vVkFMVUVfRFJBTVRNRzIgICAgLyB3cml0ZV9sYXRlbmN5OlJXOjI0OjY6PTB4MiByZWFkX2xhdGVuY3k6Ulc6MTY6Njo9MHg0IHJkMndyOlJXOjg6Njo9MHg1IHdyMnJkOlJXOjA6Njo9MHg1DQorZGF0YS5zZXQgMHgwMDE1MDEwYyAlbG9uZyAweDAwNTAxMDAwICAgICAvL1ZBTFVFX0RSQU1UTUczICAgIC8gdF9tcnc6Ulc6MjA6MTA6PTB4NSB0X21yZDpSVzoxMjo2Oj0weDEgdF9tb2Q6Ulc6MDoxMDo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDExMCAlbG9uZyAweDAyMDEwMTAzICAgICAvL1ZBTFVFX0RSQU1UTUc0ICAgIC8gdF9yY2Q6Ulc6MjQ6NTo9MHgyIHRfY2NkOlJXOjE2OjQ6PTB4MSB0X3JyZDpSVzo4OjQ6PTB4MSB0X3JwOlJXOjA6NTo9MHgzDQorZGF0YS5zZXQgMHgwMDE1MDExNCAlbG9uZyAweDAxMDEwMjAyICAgICAvL1ZBTFVFX0RSQU1UTUc1ICAgIC8gdF9ja3NyeDpSVzoyNDo0Oj0weDEgdF9ja3NyZTpSVzoxNjo0Oj0weDEgdF9ja2VzcjpSVzo4OjY6PTB4MiB0X2NrZTpSVzowOjQ6PTB4Mg0KK2RhdGEuc2V0IDB4MDAxNTAxMTggJWxvbmcgMHgwMjAyMDAwMiAgICAgLy9WQUxVRV9EUkFNVE1HNiAgICAvIHRfY2tkcGRlOlJXOjI0OjQ6PTB4MiB0X2NrZHBkeDpSVzoxNjo0Oj0weDIgdF9ja2NzeDpSVzowOjQ6PTB4Mg0KK2RhdGEuc2V0IDB4MDAxNTAxMWMgJWxvbmcgMHgwMDAwMDIwMiAgICAgLy9WQUxVRV9EUkFNVE1HNyAgICAvIHRfY2twZGU6Ulc6ODo0Oj0weDIgdF9ja3BkeDpSVzowOjQ6PTB4Mg0KK2RhdGEuc2V0IDB4MDAxNTAxMzggJWxvbmcgMHgwMDAwMDAwYiAgICAgLy9WQUxVRV9EUkFNVE1HMTQgICAvIHRfeHNyOlJXOjA6MTI6PTB4Yg0KKy8vYml0MzA9MSBEaXNhYmxlIGlzc3Vpbmcgb2YgWlFDTC9NUEMoWlEgY2FsaWJyYXRpb24pIGNvbW1hbmQgYXQgU2VsZi1SZWZyZXNoL1NSLVBvd2VyZG93biBleGl0IKOsNzUyMNfuv6rKvMXk1sPOqjCjrLW81sLX1Lav19TLotDCuabE3M3Ls/bKsdHTyrG63LTzo6xzZGlvtsHK/b7ds/a07Q0KK2RhdGEuc2V0IDB4MDAxNTAxODAgJWxvbmcgMHg0MDFkMDAwOCAgICAgLy9WQUxVRV9aUUNUTDAgICAgICAvIGRpc19hdXRvX3pxOlJXOjMxOjE6PTB4MCBkaXNfc3J4X3pxY2w6Ulc6MzA6MTo9MHgxIHpxX3Jlc2lzdG9yX3NoYXJlZDpSVzoyOToxOj0weDAgZGlzX21wc214X3pxY2w6Ulc6Mjg6MTo9MHgwIHRfenFfbG9uZ19ub3A6Ulc6MTY6MTA6PTB4MWQgdF96cV9zaG9ydF9ub3A6Ulc6MDoxMDo9MHg4DQorZGF0YS5zZXQgMHgwMDE1MDE4NCAlbG9uZyAweDAwNDAwMTAwICAgICAvL1ZBTFVFX1pRQ1RMMSAgICAgIC8gdF96cV9yZXNldF9ub3A6Ulc6MjA6MTA6PTB4NCB0X3pxX3Nob3J0X2ludGVydmFsX3gxMDI0OlJXOjA6MjA6PTB4MTAwDQorZGF0YS5zZXQgMHgwMDE1MDE4OCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1pRQ1RMMiAgICAgIC8genFfcmVzZXQ6Ulc6MDoxOj0weDANCisvL2RmaV90X3JkZGF0YV9lbj0zLNaux7A3NTIwyc/J6LPJMrvhtbzWwrbBbXK2wbTtDQorZGF0YS5zZXQgMHgwMDE1MDE5MCAlbG9uZyAweDA0MDMwMDAxICAgICAvL1ZBTFVFX0RGSVRNRzAgICAgIC8gZGZpX3RfY3RybF9kZWxheTpSVzoyNDo1Oj0weDQgZGZpX3JkZGF0YV91c2Vfc2RyOlJXOjIzOjE6PTB4MCBkZmlfdF9yZGRhdGFfZW46Ulc6MTY6Njo9MHgzIGRmaV93cmRhdGFfdXNlX3NkcjpSVzoxNToxOj0weDAgZGZpX3RwaHlfd3JkYXRhOlJXOjg6Njo9MHgwIGRmaV90cGh5X3dybGF0OlJXOjA6Njo9MHgxDQorZGF0YS5zZXQgMHgwMDE1MDE5NCAlbG9uZyAweDAwMDIwNDA0ICAgICAvL1ZBTFVFX0RGSVRNRzEgICAgIC8gZGZpX3RfY21kX2xhdDpSVzoyODo0Oj0weDAgZGZpX3RfcGFyaW5fbGF0OlJXOjI0OjI6PTB4MCBkZmlfdF93cmRhdGFfZGVsYXk6Ulc6MTY6NTo9MHgyIGRmaV90X2RyYW1fY2xrX2Rpc2FibGU6Ulc6ODo0Oj0weDQgZGZpX3RfZHJhbV9jbGtfZW5hYmxlOlJXOjA6NDo9MHg0DQorZGF0YS5zZXQgMHgwMDE1MDE5OCAlbG9uZyAweDA5MDAxMTExICAgICAvL1ZBTFVFX0RGSUxQQ0ZHMCAgIC8gZGZpX3RscF9yZXNwOlJXOjI0OjQ6PTB4OSBkZmlfbHBfd2FrZXVwX2RwZDpSVzoyMDo0Oj0weDAgZGZpX2xwX2VuX2RwZDpSVzoxNjoxOj0weDAgZGZpX2xwX3dha2V1cF9zcjpSVzoxMjo0Oj0weDEgZGZpX2xwX2VuX3NyOlJXOjg6MTo9MHgxIGRmaV9scF93YWtldXBfcGQ6Ulc6NDo0Oj0weDEgZGZpX2xwX2VuX3BkOlJXOjA6MTo9MHgxDQorZGF0YS5zZXQgMHgwMDE1MDFhMCAlbG9uZyAweDgwNDAwMDAzICAgICAvL1ZBTFVFX0RGSVVQRDAgICAgIC8gZGlzX2F1dG9fY3RybHVwZDpSVzozMToxOj0weDEgZGZpX3RfY3RybHVwX21heDpSVzoxNjoxMDo9MHg0MCBkZmlfdF9jdHJsdXBfbWluOlJXOjA6MTA6PTB4Mw0KK2RhdGEuc2V0IDB4MDAxNTAxYTQgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9ERklVUEQxICAgICAvIGRmaV90X2N0cmx1cGRfaW50ZXJ2YWxfbWluX3gxMDI0OlJXOjE2Ojg6PTB4MCBkZmlfdF9jdHJsdXBkX2ludGVydmFsX21heF94MTAyNDpSVzowOjg6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAxYTggJWxvbmcgMHg4MDEwMDAxMCAgICAgLy9WQUxVRV9ERklVUEQyICAgICAvIGRmaV9waHl1cGRfZW46Ulc6MzE6MTo9MHgxIGRmaV9waHl1cGRfdHlwZTE6Ulc6MTY6MTI6PTB4MTAgZGZpX3BoeXVwZF90eXBlMDpSVzowOjEyOj0weDEwDQorZGF0YS5zZXQgMHgwMDE1MDFiMCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX0RGSU1JU0MgICAgIC8gZGZpX2RhdGFfY3NfcG9sYXJpdHk6Ulc6MjoxOj0weDAgcGh5X2RiaV9tb2RlOlJXOjE6MTo9MHgwIGRmaV9pbml0X2NvbXBsZXRlX2VuOlJXOjA6MTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDIwMCAlbG9uZyAweDAwMDAwMDFmICAgICAvL1ZBTFVFX0FERFJNQVAwICAgIC8gYWRkcm1hcF9kY2hfYml0MDpSVzoxNjo1Oj0weDAgYWRkcm1hcF9jc19iaXQxOlJXOjg6NTo9MHgwIGFkZHJtYXBfY3NfYml0MDpSVzowOjU6PTB4MWYNCitkYXRhLnNldCAweDAwMTUwMjA0ICVsb25nIDB4MDAwNzA3MDcgICAgIC8vVkFMVUVfQUREUk1BUDEgICAgLyBhZGRybWFwX2JhbmtfYjI6Ulc6MTY6NDo9MHg3IGFkZHJtYXBfYmFua19iMTpSVzo4OjQ6PTB4NyBhZGRybWFwX2JhbmtfYjA6Ulc6MDo0Oj0weDcNCitkYXRhLnNldCAweDAwMTUwMjA4ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfQUREUk1BUDIgICAgLyBhZGRybWFwX2NvbF9iNTpSVzoyNDo0Oj0weDAgYWRkcm1hcF9jb2xfYjQ6Ulc6MTY6NDo9MHgwIGFkZHJtYXBfY29sX2IzOlJXOjg6NDo9MHgwIGFkZHJtYXBfY29sX2IyOlJXOjA6NDo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDIwYyAlbG9uZyAweDBmMDAwMDAwICAgICAvL1ZBTFVFX0FERFJNQVAzICAgIC8gYWRkcm1hcF9jb2xfYjk6Ulc6MjQ6NDo9MHhmIGFkZHJtYXBfY29sX2I4OlJXOjE2OjQ6PTB4MCBhZGRybWFwX2NvbF9iNzpSVzo4OjQ6PTB4MCBhZGRybWFwX2NvbF9iNjpSVzowOjQ6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAyMTAgJWxvbmcgMHgwMDAwMGYwZiAgICAgLy9WQUxVRV9BRERSTUFQNCAgICAvIGFkZHJtYXBfY29sX2IxMTpSVzo4OjQ6PTB4ZiBhZGRybWFwX2NvbF9iMTA6Ulc6MDo0Oj0weGYNCitkYXRhLnNldCAweDAwMTUwMjE0ICVsb25nIDB4MDYwNjA2MDYgICAgIC8vVkFMVUVfQUREUk1BUDUgICAgLyBhZGRybWFwX3Jvd19iMTE6Ulc6MjQ6NDo9MHg2IGFkZHJtYXBfcm93X2IyXzEwOlJXOjE2OjQ6PTB4NiBhZGRybWFwX3Jvd19iMTpSVzo4OjQ6PTB4NiBhZGRybWFwX3Jvd19iMDpSVzowOjQ6PTB4Ng0KK2RhdGEuc2V0IDB4MDAxNTAyMTggJWxvbmcgMHgwZjBmMGYwNiAgICAgLy9WQUxVRV9BRERSTUFQNiAgICAvIGFkZHJtYXBfcm93X2IxNTpSVzoyNDo0Oj0weGYgYWRkcm1hcF9yb3dfYjE0OlJXOjE2OjQ6PTB4ZiBhZGRybWFwX3Jvd19iMTM6Ulc6ODo0Oj0weGYgYWRkcm1hcF9yb3dfYjEyOlJXOjA6NDo9MHg2DQorZGF0YS5zZXQgMHgwMDE1MDI0MCAlbG9uZyAweDA0MDAwNDAwICAgICAvL1ZBTFVFX09EVENGRyAgICAgIC8gd3Jfb2R0X2hvbGQ6Ulc6MjQ6NDo9MHg0IHdyX29kdF9kZWxheTpSVzoxNjo0Oj0weDAgcmRfb2R0X2hvbGQ6Ulc6ODo0Oj0weDQgcmRfb2R0X2RlbGF5OlJXOjI6NDo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDI0NCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX09EVE1BUCAgICAgIC8gcmFuazNfcmRfb2R0OlJXOjI4OjQ6PTB4MCByYW5rM193cl9vZHQ6Ulc6MjQ6NDo9MHgwIHJhbmsyX3JkX29kdDpSVzoyMDo0Oj0weDAgcmFuazJfd3Jfb2R0OlJXOjE2OjQ6PTB4MCByYW5rMV9yZF9vZHQ6Ulc6MTI6NDo9MHgwIHJhbmsxX3dyX29kdDpSVzo4OjQ6PTB4MCByYW5rMF9yZF9vZHQ6Ulc6NDo0Oj0weDAgcmFuazBfd3Jfb2R0OlJXOjA6NDo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDI1MCAlbG9uZyAweDAwMDAxODA1ICAgICAvL1ZBTFVFX1NDSEVEICAgICAgIC8gcmR3cl9pZGxlX2dhcDpSVzoyNDo3Oj0weDAgZ28yY3JpdGljYWxfaHlzdGVyZXNpczpSVzoxNjo4Oj0weDAgbHByX251bV9lbnRyaWVzOlJXOjg6Njo9MHgxOCBwYWdlY2xvc2U6Ulc6MjoxOj0weDEgcHJlZmVyX3dyaXRlOlJXOjE6MTo9MHgwIGZvcmNlX2xvd19wcmlfbjpSVzowOjE6PTB4MQ0KK2RhdGEuc2V0IDB4MDAxNTAyNTQgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9TQ0hFRDEgICAgICAvIHBhZ2VjbG9zZV90aW1lcjpSVzowOjg6PTB4MA0KKw0KK2RhdGEuc2V0IDB4MDAxNTAzMDAgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9EQkcwICAgICAgICAvIGRpc19jb2xsaXNpb25fcGFnZV9vcHQ6Ulc6NDoxOj0weDAgZGlzX2FjdF9ieXBhc3M6Ulc6MjoxOj0weDAgZGlzX3JkX2J5cGFzczpSVzoxOjE6PTB4MCBkaXNfd2M6Ulc6MDoxOj0weDANCitkYXRhLnNldCAweDAwMTUwMzA0ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfREJHMSAgICAgICAgLyBkaXNfZHE6Ulc6MToxOj0weDAgZGlzX2hpZzpSVzowOjE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAzMGMgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9EQkdDTUQgICAgICAvIGN0cmx1cGQ6UldTQzo1OjE6PTB4MCB6cV9jYWxpYl9zaG9ydDpSV1NDOjQ6MTo9MHgwIHJhbmszX3JlZnJlc2g6UldTQzozOjE6PTB4MCByYW5rMl9yZWZyZXNoOlJXU0M6MjoxOj0weDAgcmFuazFfcmVmcmVzaDpSV1NDOjE6MTo9MHgwIHJhbmswX3JlZnJlc2g6UldTQzowOjE6PTB4MA0KKw0KK2RhdGEuc2V0IDB4MDAxNTA0MDAgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0NGRyAgICAgICAvIGJsX2V4cF9tb2RlOlJXOjg6MTo9MHgwIHBhZ2VtYXRjaF9saW1pdDpSVzoxOjE6PTB4MCBnbzJjcml0aWNhbF9lbjpSVzowOjE6PTB4MA0KKyAgICANCisvL2Rkcl9wcm9yaXR5X2NvbmZpZw0KKy8vcG9ydCByZWFkIHN0YXRpYyBwcmlvcml0eSBiaXQwLTksIGJpdDAtNCB0aW1lb3V0LCBiaXQ1LTkgcHJvcml0eQ0KK2RhdGEuc2V0IDB4MDAxNTA0MDQgJWxvbmcgMHgwMDAwMTNmZiAgICAgLy9WQUxVRV9QQ0ZHUl8wICAgICAvIHJkd3Jfb3JkZXJlZF9lbjpSVzoxNjoxOj0weDAgcmRfcG9ydF9wYWdlbWF0Y2hfZW46Ulc6MTQ6MTo9MHgwIHJkX3BvcnRfdXJnZW50X2VuOlJXOjEzOjE6PTB4MCByZF9wb3J0X2FnaW5nX2VuOlJXOjEyOjE6PTB4MSByZWFkX3Jlb3JkZXJfYnlwYXNzX2VuOlJXOjExOjE6PTB4MCByZF9wb3J0X3ByaW9yaXR5OlJXOjA6MTA6PTB4M2ZmDQorZGF0YS5zZXQgMHgwMDE1MDRiNCAlbG9uZyAweDAwMDAxMDIwICAgICAvL1ZBTFVFX1BDRkdSXzEgICAgIC8gcmR3cl9vcmRlcmVkX2VuOlJXOjE2OjE6PTB4MCByZF9wb3J0X3BhZ2VtYXRjaF9lbjpSVzoxNDoxOj0weDAgcmRfcG9ydF91cmdlbnRfZW46Ulc6MTM6MTo9MHgwIHJkX3BvcnRfYWdpbmdfZW46Ulc6MTI6MTo9MHgxIHJlYWRfcmVvcmRlcl9ieXBhc3NfZW46Ulc6MTE6MTo9MHgwIHJkX3BvcnRfcHJpb3JpdHk6Ulc6MDoxMDo9MHgyMA0KK2RhdGEuc2V0IDB4MDAxNTA1NjQgJWxvbmcgMHgwMDAwMTAwMCAgICAgLy9WQUxVRV9QQ0ZHUl8yICAgICAvIHJkd3Jfb3JkZXJlZF9lbjpSVzoxNjoxOj0weDAgcmRfcG9ydF9wYWdlbWF0Y2hfZW46Ulc6MTQ6MTo9MHgwIHJkX3BvcnRfdXJnZW50X2VuOlJXOjEzOjE6PTB4MCByZF9wb3J0X2FnaW5nX2VuOlJXOjEyOjE6PTB4MSByZWFkX3Jlb3JkZXJfYnlwYXNzX2VuOlJXOjExOjE6PTB4MCByZF9wb3J0X3ByaW9yaXR5OlJXOjA6MTA6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTA2MTQgJWxvbmcgMHgwMDAwMTAwNCAgICAgLy9WQUxVRV9QQ0ZHUl8zICAgICAvIHJkd3Jfb3JkZXJlZF9lbjpSVzoxNjoxOj0weDAgcmRfcG9ydF9wYWdlbWF0Y2hfZW46Ulc6MTQ6MTo9MHgwIHJkX3BvcnRfdXJnZW50X2VuOlJXOjEzOjE6PTB4MCByZF9wb3J0X2FnaW5nX2VuOlJXOjEyOjE6PTB4MSByZWFkX3Jlb3JkZXJfYnlwYXNzX2VuOlJXOjExOjE6PTB4MCByZF9wb3J0X3ByaW9yaXR5OlJXOjA6MTA6PTB4NA0KKy8vcG9ydCB3cml0ZSBzdGF0aWMgcHJpb3JpdHkgYml0MC05DQorZGF0YS5zZXQgMHgwMDE1MDQwOCAlbG9uZyAweDAwMDAxM2ZmICAgICAvL1ZBTFVFX1BDRkdXXzAgICAgIC8gd3JfcG9ydF9wYWdlbWF0Y2hfZW46Ulc6MTQ6MTo9MHgwIHdyX3BvcnRfdXJnZW50X2VuOlJXOjEzOjE6PTB4MCB3cl9wb3J0X2FnaW5nX2VuOlJXOjEyOjE6PTB4MSB3cl9wb3J0X3ByaW9yaXR5OlJXOjA6MTA6PTB4M2ZmDQorZGF0YS5zZXQgMHgwMDE1MDRiOCAlbG9uZyAweDAwMDAxMGZmICAgICAvL1ZBTFVFX1BDRkdXXzEgICAgIC8gd3JfcG9ydF9wYWdlbWF0Y2hfZW46Ulc6MTQ6MTo9MHgwIHdyX3BvcnRfdXJnZW50X2VuOlJXOjEzOjE6PTB4MCB3cl9wb3J0X2FnaW5nX2VuOlJXOjEyOjE6PTB4MSB3cl9wb3J0X3ByaW9yaXR5OlJXOjA6MTA6PTB4ZmYNCitkYXRhLnNldCAweDAwMTUwNTY4ICVsb25nIDB4MDAwMDEwM2YgICAgIC8vVkFMVUVfUENGR1dfMiAgICAgLyB3cl9wb3J0X3BhZ2VtYXRjaF9lbjpSVzoxNDoxOj0weDAgd3JfcG9ydF91cmdlbnRfZW46Ulc6MTM6MTo9MHgwIHdyX3BvcnRfYWdpbmdfZW46Ulc6MTI6MTo9MHgxIHdyX3BvcnRfcHJpb3JpdHk6Ulc6MDoxMDo9MHgzZg0KK2RhdGEuc2V0IDB4MDAxNTA2MTggJWxvbmcgMHgwMDAwMTA1ZiAgICAgLy9WQUxVRV9QQ0ZHV18zICAgICAvIHdyX3BvcnRfcGFnZW1hdGNoX2VuOlJXOjE0OjE6PTB4MCB3cl9wb3J0X3VyZ2VudF9lbjpSVzoxMzoxOj0weDAgd3JfcG9ydF9hZ2luZ19lbjpSVzoxMjoxOj0weDEgd3JfcG9ydF9wcmlvcml0eTpSVzowOjEwOj0weDVmDQorLy9wb3J0IHJlYWQgcmVnaW9uIHNldA0KK2RhdGEuc2V0IDB4MDAxNTA0OTQgJWxvbmcgMHgwMDIwMDAwZSAgICAgLy9WQUxVRV9QQ0ZHUU9TMF8wICAvIHJxb3NfbWFwX3JlZ2lvbjI6Ulc6MjQ6Mjo9MHgwIHJxb3NfbWFwX3JlZ2lvbjE6Ulc6MjA6Mjo9MHgyIHJxb3NfbWFwX3JlZ2lvbjA6Ulc6MTY6Mjo9MHgwIHJxb3NfbWFwX2xldmVsMjpSVzo4OjQ6PTB4MCBycW9zX21hcF9sZXZlbDE6Ulc6MDo0Oj0weGUNCitkYXRhLnNldCAweDAwMTUwNTQ0ICVsb25nIDB4MDAyMDAwMGUgICAgIC8vVkFMVUVfUENGR1FPUzBfMSAgLyBycW9zX21hcF9yZWdpb24yOlJXOjI0OjI6PTB4MCBycW9zX21hcF9yZWdpb24xOlJXOjIwOjI6PTB4MiBycW9zX21hcF9yZWdpb24wOlJXOjE2OjI6PTB4MCBycW9zX21hcF9sZXZlbDI6Ulc6ODo0Oj0weDAgcnFvc19tYXBfbGV2ZWwxOlJXOjA6NDo9MHhlDQorZGF0YS5zZXQgMHgwMDE1MDVmNCAlbG9uZyAweDAwMjAwMDBlICAgICAvL1ZBTFVFX1BDRkdRT1MwXzIgIC8gcnFvc19tYXBfcmVnaW9uMjpSVzoyNDoyOj0weDAgcnFvc19tYXBfcmVnaW9uMTpSVzoyMDoyOj0weDIgcnFvc19tYXBfcmVnaW9uMDpSVzoxNjoyOj0weDAgcnFvc19tYXBfbGV2ZWwyOlJXOjg6NDo9MHgwIHJxb3NfbWFwX2xldmVsMTpSVzowOjQ6PTB4ZQ0KK2RhdGEuc2V0IDB4MDAxNTA2YTQgJWxvbmcgMHgwMDIwMDAwZSAgICAgLy9WQUxVRV9QQ0ZHUU9TMF8zICAvIHJxb3NfbWFwX3JlZ2lvbjI6Ulc6MjQ6Mjo9MHgwIHJxb3NfbWFwX3JlZ2lvbjE6Ulc6MjA6Mjo9MHgyIHJxb3NfbWFwX3JlZ2lvbjA6Ulc6MTY6Mjo9MHgwIHJxb3NfbWFwX2xldmVsMjpSVzo4OjQ6PTB4MCBycW9zX21hcF9sZXZlbDE6Ulc6MDo0Oj0weGUNCisvL3BvcnQgd3JpdGUgcmVnaW9uIHNldA0KK2RhdGEuc2V0IDB4MDAxNTA0OWMgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHV1FPUzBfMCAvIHdxb3NfbWFwX3JlZ2lvbjE6Ulc6MjA6Mjo9MHgwIHdxb3NfbWFwX3JlZ2lvbjA6Ulc6MTY6Mjo9MHgwIHdxb3NfbWFwX2xldmVsOlJXOjA6NDo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDU0YyAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdXUU9TMF8xIC8gd3Fvc19tYXBfcmVnaW9uMTpSVzoyMDoyOj0weDAgd3Fvc19tYXBfcmVnaW9uMDpSVzoxNjoyOj0weDAgd3Fvc19tYXBfbGV2ZWw6Ulc6MDo0Oj0weDANCitkYXRhLnNldCAweDAwMTUwNWZjICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1dRT1MwXzIgLyB3cW9zX21hcF9yZWdpb24xOlJXOjIwOjI6PTB4MCB3cW9zX21hcF9yZWdpb24wOlJXOjE2OjI6PTB4MCB3cW9zX21hcF9sZXZlbDpSVzowOjQ6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTA2YWMgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHV1FPUzBfMyAvIHdxb3NfbWFwX3JlZ2lvbjE6Ulc6MjA6Mjo9MHgwIHdxb3NfbWFwX3JlZ2lvbjA6Ulc6MTY6Mjo9MHgwIHdxb3NfbWFwX2xldmVsOlJXOjA6NDo9MHgwDQorLy92cHIgdGltZW91dCwgcmVnaW9uMiBpcyByZWQgcXVldWUNCitkYXRhLnNldCAweDAwMTUwNDk4ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1FPUzFfMCAgLyBycW9zX21hcF90aW1lb3V0cjpSVzoxNjoxMTo9MHgwIHJxb3NfbWFwX3RpbWVvdXRiOlJXOjA6MTE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTA1NDggJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHUU9TMV8xICAvIHJxb3NfbWFwX3RpbWVvdXRyOlJXOjE2OjExOj0weDAgcnFvc19tYXBfdGltZW91dGI6Ulc6MDoxMTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDVmOCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdRT1MxXzIgIC8gcnFvc19tYXBfdGltZW91dHI6Ulc6MTY6MTE6PTB4MCBycW9zX21hcF90aW1lb3V0YjpSVzowOjExOj0weDANCitkYXRhLnNldCAweDAwMTUwNmE4ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1FPUzFfMyAgLyBycW9zX21hcF90aW1lb3V0cjpSVzoxNjoxMTo9MHgwIHJxb3NfbWFwX3RpbWVvdXRiOlJXOjA6MTE6PTB4MA0KKy8vdnB3IHRpbWVvdXQNCitkYXRhLnNldCAweDAwMTUwNGEwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1dRT1MxXzAgLyB3cW9zX21hcF90aW1lb3V0OlJXOjA6MTE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTA1NTAgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHV1FPUzFfMSAvIHdxb3NfbWFwX3RpbWVvdXQ6Ulc6MDoxMTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDYwMCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdXUU9TMV8yIC8gd3Fvc19tYXBfdGltZW91dDpSVzowOjExOj0weDANCitkYXRhLnNldCAweDAwMTUwNmIwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1dRT1MxXzMgLyB3cW9zX21hcF90aW1lb3V0OlJXOjA6MTE6PTB4MA0KKy8vaW4gQ0FNIHNldA0KK2RhdGEuc2V0IDB4MDAxNTAyNWMgJWxvbmcgMHgwZjAwMDAwMSAgICAgLy9WQUxVRV9QRVJGSFBSMSAgICAvIGhwcl94YWN0X3J1bl9sZW5ndGg6Ulc6MjQ6ODo9MHhmIGhwcl9tYXhfc3RhcnZlOlJXOjA6MTY6PTB4MQ0KK2RhdGEuc2V0IDB4MDAxNTAyNjQgJWxvbmcgMHgwZjAwMDA3ZiAgICAgLy9WQUxVRV9QRVJGTFBSMSAgICAvIGxwcl94YWN0X3J1bl9sZW5ndGg6Ulc6MjQ6ODo9MHhmIGxwcl9tYXhfc3RhcnZlOlJXOjA6MTY6PTB4N2YNCitkYXRhLnNldCAweDAwMTUwMjZjICVsb25nIDB4MGYwMDAwN2YgICAgIC8vVkFMVUVfUEVSRldSMSAgICAgLyB3X3hhY3RfcnVuX2xlbmd0aDpSVzoyNDo4Oj0weGYgd19tYXhfc3RhcnZlOlJXOjA6MTY6PTB4N2YNCitkYXRhLnNldCAweDAwMTUwMjc0ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUEVSRlZQUjEgICAgLyB2cHJfdGltZW91dF9yYW5nZTpSVzowOjExOj0weDANCitkYXRhLnNldCAweDAwMTUwMjc4ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUEVSRlZQVzEgICAgLyB2cHdfdGltZW91dF9yYW5nZTpSVzowOjExOj0weDANCisvL3BvcnQgZXh0ZXJuIHN0YXRpYyBwcmlvcml0eQkNCisvL2RhdGEuc2V0IDB4MDAxM2QwMzQgJWxvbmcgMHhmMGYwMDAwMCAvL3BvcnQwLDEgcnFvcz0wKExQUik7IHBvcnQyLDMgcnFvcz1GKEhQUikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KKy8vd2FpdCBhbGwgcmVnaXN0ZXIgY29uZmlnZXIgZG9uZSBpbiBoYXJkd2FyZQ0KK1dhaXQgMC4wMXMNCisNCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy9jdHJvbGxlciBhbmQgaW5ubyBwaHkgcmVnaXN0ZXJzIGNvbmZpZ2VyIGRvbmUNCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorZGF0YS5zZXQgMHgwMTMwNjEwMCAlbG9uZyAweDBhZmZmZmMwIC8vcmVsZWFzZSBkZHIgY3RsKGJpdDExKSBhbmQgYXhpX3NuIHJlc2V0KGJpdDYtOSkgIGFuZCBwaHkgcmVzZXQoYml0MTIpICAvL8no1sPPtc2zvMS05sb31rUNCitXYWl0IDAuMDFzDQorDQorLy9zdyBjb25maWcgZG9uZQ0KK2RhdGEuc2V0IDB4MDAxNTAzMjAgJWxvbmcgMHgwMDAwMDAwMCAvL1NXQ1RMICAgICAgLy8gc3dfZG9uZTpSVzowOjE6PTB4MA0KKy8vY2hlY2sgcGh5IGF1dG8gaW5pdCBkb25lLCB3YWl0IDB4MDAxNTAzMjQgYml0MCA9MA0KK1dhaXQgMC4wMXMNCisNCisvL3Bvd2VyIG9uIFBIWSBQTEwgDQorZGF0YS5zZXQgMHgwMDE1NDNiNCAlbG9uZyAweDAwMDAwMDE4IC8vUEhZUkVHRUQsUExMQ0xLT1VURU46Ulc6NDoxOj0weDEsUmVzZXJ2ZWQ6Ulc6MjoyOj0weDIsIHBsbF9wZF9lbjpSVzoxOjE6PTB4MCwgZmJkaXZbOF06Ulc6MDoxOj0weDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCisvL3dhaXQgUEhZIFBMTCAgbG9jayxQSFlSRUdGOFswXVBsbCBsb2NrIGluZGljYXRlIHNpZ25hbA0KKw0KK1dhaXQgMC4wMXMNCisNCisvL1BIWSBETEwgaW5pdCBzdGFydCwgZmFsbCBlZGdlIHRyaWdnZXINCitkYXRhLnNldCAweDAwMTU0MTdjICVsb25nIDB4MDAwMDAwMGEgLy9QSFlSRUc1RiwgIFBIWSBpbml0IHN0YXJ0OjU6MTo9MHgxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQorLy93YWl0IGRsbCBsb2NrLCBwaHkgaW5pdCBkb25lLCBQSFlSRUdGOFsxXVBoeSBpbml0IGNvbXBsZXRlIHNpZ25hbA0KK1dhaXQgMC4wMXMNCisNCisvL2VuYWJsZSBjb250cm9sbGVyIGRmaV9pbml0X2NvbXBsZXRlX2VuIHRvIHN0YXJ0IHNkcmFtIGluaXQsIHRoZW4gd2lsbCBzZW5kIGRyYW0gaW5pdCBjbWQNCitkYXRhLnNldCAweDAwMTUwMWIwICVsb25nIDB4MDAwMDAwMDEgLy9ERklNSVNDICAgIC8vIHBoeV9kYmlfbW9kZTpSVzoxOjE6PTB4MCBkZmlfaW5pdF9jb21wbGV0ZV9lbjpSVzowOjE6PTB4MQkgICAgyse38ciltfSjrLvy1d+21NOm0N64xCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQorLy9jaGVjayBjb250cm9sbGVyIHN0YXR1cyBpcyBzZHJhbSBpbml0IGRvbmUsd2FpdCAweDAwMTUwMDA0IGJpdDAtMiAhPTANCitXYWl0IDAuMDFzDQorZGF0YS5zZXQgMHgwMDE1MDFiMCAlbG9uZyAweDAwMDAwMDAwIC8vZGZpbWlzY1swXSBwaHlfZGJpX21vZGU6Ulc6MToxOj0weDAgZGZpX2luaXRfY29tcGxldGVfZW46Ulc6MDoxOj0weDANCisNCisvL3BoeSBEUVMgZ2F0ZSB0cmFpbmluZyBzdGFydA0KK2RhdGEuc2V0IDB4MDAxNTQwMDggJWxvbmcgMHgwMDAwMDAwMSAvL1BIWVJFRzAyLGJpdDA6RFFTIGdhdGluZyBjYWxpYnJhdGlvbiBjb250cm9sPTEsIGJpdDE6RFFTIGdhdGluZyBieXBhc3MgbW9kZSBzZWxlY3Q9MA0KKy8vd2FpdCB0cmFpbmluZyBkb25lDQorV2FpdCAwLjFzDQorLy9waHkgRFFTIGdhdGUgdHJhaW5pbmcgc3RvcA0KK2RhdGEuc2V0IDB4MDAxNTQwMDggJWxvbmcgMHgwMDAwMDAwMCAvL1BIWVJFRzAyLGJpdDA6RFFTIGdhdGluZyBjYWxpYnJhdGlvbiBjb250cm9sPTAsIGJpdDE6RFFTIGdhdGluZyBieXBhc3MgbW9kZSBzZWxlY3Q9MA0KKw0KKy8vZW5hYmxlIHBvcnRfbg0KK2RhdGEuc2V0IDB4MDAxNTA0OTAgJWxvbmcgMHgwMDAwMDAwMSAgICAgLy9WQUxVRV9QQ1RSTF8wICAgICAvIHBvcnRfZW46Ulc6MDoxOj0weDENCitkYXRhLnNldCAweDAwMTUwNTQwICVsb25nIDB4MDAwMDAwMDEgICAgIC8vVkFMVUVfUENUUkxfMSAgICAgLyBwb3J0X2VuOlJXOjA6MTo9MHgxDQorZGF0YS5zZXQgMHgwMDE1MDVmMCAlbG9uZyAweDAwMDAwMDAxICAgICAvL1ZBTFVFX1BDVFJMXzIgICAgIC8gcG9ydF9lbjpSVzowOjE6PTB4MQ0KK2RhdGEuc2V0IDB4MDAxNTA2YTAgJWxvbmcgMHgwMDAwMDAwMSAgICAgLy9WQUxVRV9QQ1RSTF8zICAgICAvIHBvcnRfZW46Ulc6MDoxOj0weDEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zeXMvZGRyX2luaXRfMjA4bS5jbW0gYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zeXMvZGRyX2luaXRfMjA4bS5jbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDJiYjVlOAotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3N5cy9kZHJfaW5pdF8yMDhtLmNtbQpAQCAtMCwwICsxLDIxMCBAQAorLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyogWlgyOTc1MjEgUHJvamVjdCB1TUNUTDIgRERSIGNvbnRyb2xsZXIgcGFyYW1ldGVyIGNvbmZpZ3VyYXRpb24NCisvLyogdU1DVEwyIFJldi46IDIuNTBhIA0KKy8vKiBBdXRob3I6IENoZW4gSmlhbmhvbmcNCisvLyogRGVwYXJ0bWVudDogSVAgZGVzaWduDQorLy8qIE9wdGlvbjogTWVtb3J5IFR5cGUgID0gTFBERFIyDQorLy8qIE9wdGlvbjogTWVtb3J5IEZyZXF1ZW5jeShNSHopICA9IDIwOA0KKy8vKiBPcHRpb246IE1lbW9yeSBTcGFjZShHYikgID0gMQ0KKy8vKiBPcHRpb246IERSQU0gZHJpdmUgaW1wZWRhbmNlKE9obSkgID0gNDANCisvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKw0KKy8vLS0tLS0tLS0tLS0tLS0tLS0tLWJlbG93IGlzIGRkciBzZXR0aW5nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCisNCisvL2RhdGEuc2V0IDB4MDEzMDYxMDAgJWxvbmcgMHhmZmZmZTAwMCAvL2RkciBhbGwgcmVzZXQgZW5hYmxlICBiaXQ2LTEyPTAgICANCitkYXRhLnNldCAweDAxMzA2MTAwICVsb25nIDB4MGFmZmUwMDAgLy9kZHIgYWxsIHJlc2V0IGVuYWJsZSAgYml0Ni0xMj0wIA0KK1dhaXQgMC4wMXMgIA0KK2RhdGEuc2V0IDB4MDEzMDYxMDAgJWxvbmcgMHgwYWZmZTQwMCAvL3JlbGVhc2UgZGRyIGFwYihiaXQxMCkNCitXYWl0IDAuMDFzDQorDQorLy9ERFIgdG9wIGNsb2NrIHNlbGVjdCB0b3AgY2xrIDE1Nk0sIGJpdDAtMSwgMD0xNTYsIDE9MjAwLCAyPTEwNCwgMz03OA0KKy8vMDogdG9wIGNsaz0xNTZNLCAgICAgIGRkciB1c2UgbWlzc2lvbiBtb2RlICwgZHJhbSBpbyBjbGs9MzEyTQ0KKy8vMTogdG9wIGNsaz0yMDBNLCAgICAgZGRyIHVzZSBtaXNzaW9uIG1vZGUgLCBkcmFtIGlvIGNsaz00MDBNDQorLy8yOiB0b3AgY2xrPTEwNE0sICAgICBkZHIgdXNlIG1pc3Npb24gbW9kZSAsIGRyYW0gaW8gY2xrPTIwOE0NCisvLzM6IHRvcCBjbGs9NzhNLCAgICAgZGRyIHVzZSBtaXNzaW9uIG1vZGUgLCBkcmFtIGlvIGNsaz0xNTZNDQorZGF0YS5zZXQgMHgwMTMwNjA1MCAlbG9uZyAweDAwMDAwMDAyICAvL7fWxrXJ6NbDo6y21NOm0OjSqtDeuMTC8A0KKw0KKy8vcGh5IHJlZ2lzdGVyIGluaXQgIA0KK2RhdGEuc2V0IDB4MDAxNTQwMDQgJWxvbmcgMHgwMDAwMDAwNyAgLy9WQUxVRV9QSFlSRUcwMSAgIC8gUmVzZXJ2ZWQ6Ulc6Mjo2Oj0weDEsIFBIWV9NT0RFOlJXOjA6Mjo9MHgyKExQRERSMjoweDMsTFBERFIzOjB4MikNCitkYXRhLnNldCAweDAwMTU0MDJjICVsb25nIDB4MDAwMDAwODAgIC8vVkFMVUVfUEhZUkVHMEIgICAvIFJMOlJXOjQ6NDo9MHg4DQorZGF0YS5zZXQgMHgwMDE1NDAzMCAlbG9uZyAweDAwMDAwMDA0ICAvL1ZBTFVFX1BIWVJFRzBDICAgLyBXTDpSVzowOjQ6PTB4NA0KKw0KK2RhdGEuc2V0IDB4MDAxNTQzYjAgJWxvbmcgMHgwMDAwMDAxMCAgLy9WQUxVRV9QSFlSRUdFQyAgIC8gZmJkaXZbNzowXT0weDEwDQorZGF0YS5zZXQgMHgwMDE1NDNiNCAlbG9uZyAweDAwMDAwMDFhICAvL1ZBTFVFX1BIWVJFR0VEICAgLyBQTExDTEtPVVRFTjpSVzo0OjE6PTB4MSxSZXNlcnZlZDpSVzoyOjI6PTB4MiwgcGxscGQ6Ulc6MToxOj0weDEsIGZiZGl2WzhdOlJXOjA6MTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1NDNiOCAlbG9uZyAweDAwMDAwMDIyICAvL1ZBTFVFX1BIWVJFR0VFICAgLyBwcmVkaXZbNDowXTpSVzowOjU6PTB4Mixwb3N0ZGl2WzI6MF06Ulc6NTozOj0weDENCisNCisvL0ludGVybmFsIFZSRUYgZ2VuZXJhdGlvbihkZWZ1YWx0KQ0KK2RhdGEuc2V0IDB4MDAxNTQyOGMgJWxvbmcgMHgwMDAwMDAzMCAgLy9WQUxVRV9QSFlSRUdBMyAgIC8gQ2hhbm5lbCBBL0IgaGl0aCA4Yml0czogdnJlZl9zZWw6Ulc6NToxOj0weDEsdnJlZl92YWx1ZVs0OjBdOlJXOjA6NTo9MHgxMA0KK2RhdGEuc2V0IDB4MDAxNTQyYjggJWxvbmcgMHgwMDAwMDAzMCAgLy9WQUxVRV9QSFlSRUdBRSAgIC8gQ2hhbm5lbCBBL0IgbG93ICA4Yml0czogdnJlZl9zZWw6Ulc6NToxOj0weDEsdnJlZl92YWx1ZVs0OjBdOlJXOjA6NTo9MHgxMA0KKw0KKy8vRHJpdmUgc3RyZW5ndGgoZGVmdWFsdCkNCitkYXRhLnNldCAweDAwMTU0MDQ0ICVsb25nIDB4MDAwMDAwMGEgIC8vVkFMVUVfUEhZUkVHMTEgICAvIENNRCBkcml2ZSBzdHJlbmd0aDogY21kX25yY29tcFs0OjBdOlJXOjA6NTo9MHhhDQorZGF0YS5zZXQgMHgwMDE1NDA1OCAlbG9uZyAweDAwMDAwMDBhICAvL1ZBTFVFX1BIWVJFRzE2ICAgLyBDSyAgZHJpdmUgc3RyZW5ndGg6IGNrX25yY29tcCBbNDowXTpSVzowOjU6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTQwNjQgJWxvbmcgMHgwMDAwMDAwYSAgLy9WQUxVRV9QSFlSRUcxOSAgIC8gQ0sgIHB1bGxfdXAgICBkcml2ZSBzdHJlbmd0aChEUyk6Ulc6MDo1Oj0weGENCitkYXRhLnNldCAweDAwMTU0MDY4ICVsb25nIDB4MDAwMDAwMGEgIC8vVkFMVUVfUEhZUkVHMUEgICAvIENNRCBwdWxsX3VwICAgZHJpdmUgc3RyZW5ndGgoRFMpOlJXOjA6NTo9MHhhDQorZGF0YS5zZXQgMHgwMDE1NDA4MCAlbG9uZyAweDAwMDAwMDBhICAvL1ZBTFVFX1BIWVJFRzIwICAgLyBBX0RRMH5BX0RRNyBwdWxsX2Rvd24gRFMgOlJXOjA6NTo9MHhhDQorZGF0YS5zZXQgMHgwMDE1NDA4NCAlbG9uZyAweDAwMDAwMDBhICAvL1ZBTFVFX1BIWVJFRzIxICAgLyBBX0RRMH5BX0RRNyBwdWxsX2Rvd24gT0RUOlJXOjA6NTo9MHhhDQorZGF0YS5zZXQgMHgwMDE1NDBiOCAlbG9uZyAweDAwMDAwMDhhICAvL1ZBTFVFX1BIWVJFRzJFICAgLyBBX0RRMH5BX0RRNyBwdWxsX3VwICAgRFMgOlJXOjA6NTo9MHhhLCBmYWxsaW5nIGVkZ2Ugc2xldyByYXRlOlJXOjU6Mzo9MHg0DQorZGF0YS5zZXQgMHgwMDE1NDBiYyAlbG9uZyAweDAwMDAwMDhhICAvL1ZBTFVFX1BIWVJFRzJGICAgLyBBX0RRMH5BX0RRNyBwdWxsX3VwICAgT0RUOlJXOjA6NTo9MHhhLCByaXNpbmcgIGVkZ2Ugc2xldyByYXRlOlJXOjU6Mzo9MHg0DQorZGF0YS5zZXQgMHgwMDE1NDBjMCAlbG9uZyAweDAwMDAwMDhhICAvL1ZBTFVFX1BIWVJFRzMwICAgLyBBX0RROH5BX0RRMTUgcHVsbF9kb3duIERTIDpSVzowOjU6PTB4YSwgZmFsbGluZyBlZGdlIHNsZXcgcmF0ZTpSVzo1OjM6PTB4NA0KK2RhdGEuc2V0IDB4MDAxNTQwYzQgJWxvbmcgMHgwMDAwMDA4YSAgLy9WQUxVRV9QSFlSRUczMSAgIC8gQV9EUTh+QV9EUTE1IHB1bGxfZG93biBPRFQ6Ulc6MDo1Oj0weGEsIHJpc2luZyAgZWRnZSBzbGV3IHJhdGU6Ulc6NTozOj0weDQNCitkYXRhLnNldCAweDAwMTU0MGY4ICVsb25nIDB4MDAwMDAwMGEgIC8vVkFMVUVfUEhZUkVHM0UgICAvIEFfRFE4fkFfRFExNSBwdWxsX3VwICAgRFMgOlJXOjA6NTo9MHhhDQorZGF0YS5zZXQgMHgwMDE1NDBmYyAlbG9uZyAweDAwMDAwMDBhICAvL1ZBTFVFX1BIWVJFRzNGICAgLyBBX0RROH5BX0RRMTUgcHVsbF91cCAgIE9EVDpSVzowOjU6PTB4YQ0KKw0KK2RhdGEuc2V0IDB4MDAxNTQxMDAgJWxvbmcgMHgwMDAwMDAwYSAgLy9WQUxVRV9QSFlSRUc0MCAgIC8gQl9EUTB+Ql9EUTcgcHVsbF9kb3duIERTIDpSVzowOjU6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTQxMDQgJWxvbmcgMHgwMDAwMDAwYSAgLy9WQUxVRV9QSFlSRUc0MSAgIC8gQl9EUTB+Ql9EUTcgcHVsbF9kb3duIE9EVDpSVzowOjU6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTQxMzggJWxvbmcgMHgwMDAwMDA4YSAgLy9WQUxVRV9QSFlSRUc0RSAgIC8gQl9EUTB+Ql9EUTcgcHVsbF91cCAgIERTIDpSVzowOjU6PTB4YSwgZmFsbGluZyBlZGdlIHNsZXcgcmF0ZTpSVzo1OjM6PTB4NA0KK2RhdGEuc2V0IDB4MDAxNTQxM2MgJWxvbmcgMHgwMDAwMDA4YSAgLy9WQUxVRV9QSFlSRUc0RiAgIC8gQl9EUTB+Ql9EUTcgcHVsbF91cCAgIE9EVDpSVzowOjU6PTB4YSwgcmlzaW5nICBlZGdlIHNsZXcgcmF0ZTpSVzo1OjM6PTB4NA0KKw0KK2RhdGEuc2V0IDB4MDAxNTQxNDAgJWxvbmcgMHgwMDAwMDA4YSAgLy9WQUxVRV9QSFlSRUc1MCAgIC8gQl9EUTh+Ql9EUTE1IHB1bGxfZG93biBEUyA6Ulc6MDo1Oj0weGEsIGZhbGxpbmcgZWRnZSBzbGV3IHJhdGU6Ulc6NTozOj0weDQNCitkYXRhLnNldCAweDAwMTU0MTQ0ICVsb25nIDB4MDAwMDAwOGEgIC8vVkFMVUVfUEhZUkVHNTEgICAvIEJfRFE4fkJfRFExNSBwdWxsX2Rvd24gT0RUOlJXOjA6NTo9MHhhLCByaXNpbmcgIGVkZ2Ugc2xldyByYXRlOlJXOjU6Mzo9MHg0DQorZGF0YS5zZXQgMHgwMDE1NDE3OCAlbG9uZyAweDAwMDAwMDBhICAvL1ZBTFVFX1BIWVJFRzVFICAgLyBCX0RROH5CX0RRMTUgcHVsbF91cCAgIERTIDpSVzowOjU6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTQxN2MgJWxvbmcgMHgwMDAwMDAyYSAgLy9WQUxVRV9QSFlSRUc1RiAgIC8gQl9EUTh+Ql9EUTE1IHB1bGxfdXAgICBPRFQ6Ulc6MDo1Oj0weGEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQorDQorLy9jb250cm9sbGVyIHJlZ2lzdGVyIGluaXQNCitkYXRhLnNldCAweDAwMTUwMDAwICVsb25nIDB4MDEwNDAwMDQgICAgIC8vVkFMVUVfTVNUUiAgICAgICAgLyBkZXZpY2VfY29uZmlnOlJXOjMwOjI6PTB4MCBmcmVxdWVuY3lfbW9kZTpSVzoyOToxOj0weDAgYWN0aXZlX3JhbmtzOlJXOjI0OjQ6PTB4MyBidXJzdF9yZHdyOlJXOjE2OjQ6PTB4NCBkbGxfb2ZmX21vZGU6Ulc6MTU6MTo9MHgwIGRhdGFfYnVzX3dpZHRoOlJXOjEyOjI6PTB4MCBnZWFyZG93bl9tb2RlOlJXOjExOjE6PTB4MCBlbl8ydF90aW1pbmdfbW9kZTpSVzoxMDoxOj0weDAgYnVyc3RjaG9wOlJXOjk6MTo9MHgwIGJ1cnN0X21vZGU6Ulc6ODoxOj0weDAgbHBkZHI0OlJXOjU6MTo9MHgwIGRkcjQ6Ulc6NDoxOj0weDAgbHBkZHIzOlJXOjM6MTo9MHgwIGxwZGRyMjpSVzoyOjE6PTB4MSBtb2JpbGU6Ulc6MToxOj0weDAgZGRyMzpSVzowOjE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAwMTAgJWxvbmcgMHgwMDAwMDAzMCAgICAgLy9WQUxVRV9NUkNUUkwwICAgICAvIG1yX3dyOlJXOjMxOjE6PTB4MCBtcl9hZGRyOlJXOjEyOjQ6PTB4MCBtcl9yYW5rOlJXOjQ6NDo9MHgzIHN3X2luaXRfaW50OlJXOjM6MTo9MHgwIHBkYV9lbjpSVzoyOjE6PTB4MCBtcHJfZW46Ulc6MToxOj0weDAgbXJfdHlwZTpSVzowOjE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAwMTQgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9NUkNUUkwxICAgICAvbXJfZGF0YTpSVzowOjE2Oj0weDANCitkYXRhLnNldCAweDAwMTUwMDIwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfREVSQVRFRU4gICAgL3JjX2RlcmF0ZV92YWx1ZTpSVzo4OjI6PTB4MCBkZXJhdGVfYnl0ZTpSVzo0OjQ6PTB4MCBkZXJhdGVfdmFsdWU6Ulc6MToxOj0weDAgZGVyYXRlX2VuYWJsZTpSVzowOjE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAwMjQgJWxvbmcgMHgwMDgwMDAwMCAgICAgLy9WQUxVRV9ERVJBVEVJTlQgICAvbXI0X3JlYWRfaW50ZXJ2YWw6Ulc6MDozMjo9MHg4MDAwMDANCisNCitkYXRhLnNldCAweDAwMTUwMDMwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUFdSQ1RMICAgICAgLyBzdGF5X2luX3NlbGZyZWY6Ulc6NjoxOj0weDAgc2VsZnJlZl9zdzpSVzo1OjE6PTB4MCBtcHNtX2VuOlJXOjQ6MTo9MHgwIGVuX2RmaV9kcmFtX2Nsa19kaXNhYmxlOlJXOjM6MTo9MHgwIGRlZXBwb3dlcmRvd25fZW46Ulc6MjoxOj0weDAgcG93ZXJkb3duX2VuOlJXOjE6MTo9MHgxIHNlbGZyZWZfZW46Ulc6MDoxOj0weDENCitkYXRhLnNldCAweDAwMTUwMDM0ICVsb25nIDB4MDAwNTIwMDIgICAgIC8vVkFMVUVfUFdSVE1HICAgICAgLyBzZWxmcmVmX3RvX3gzMjpSVzoxNjo4Oj0weDUgZGVlcHBvd2VyZG93bl90b194MTAyNDpSVzo4Ojg6PTB4MjAgcG93ZXJkb3duX3RvX3gzMjpSVzowOjU6PTB4Mg0KK2RhdGEuc2V0IDB4MDAxNTAwMzggJWxvbmcgMHgwMDA0MDAwMyAgICAgLy9WQUxVRV9IV0xQQ1RMICAgICAvIGh3X2xwX2lkbGVfeDMyOlJXOjE2OjEyOj0weDQgaHdfbHBfZXhpdF9pZGxlX2VuOlJXOjE6MTo9MHgxIGh3X2xwX2VuOlJXOjA6MTo9MHgxDQorZGF0YS5zZXQgMHgwMDE1MDA1MCAlbG9uZyAweDAwMjEwMDAwICAgICAvL1ZBTFVFX1JGU0hDVEwwICAgIC8gcmVmcmVzaF9tYXJnaW46Ulc6MjA6NDo9MHgyIHJlZnJlc2hfdG9feDMyOlJXOjEyOjU6PTB4MTAgcmVmcmVzaF9idXJzdDpSVzo0OjU6PTB4MCBwZXJfYmFua19yZWZyZXNoOlJXOjI6MTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDA1NCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1JGU0hDVEwxICAgIC8gcmVmcmVzaF90aW1lcjFfc3RhcnRfdmFsdWVfeDMyOlJXOjE2OjEyOj0weDAgcmVmcmVzaF90aW1lcjBfc3RhcnRfdmFsdWVfeDMyOlJXOjA6MTI6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAwNTggJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9SRlNIQ1RMMiAgICAvIHJlZnJlc2hfdGltZXIzX3N0YXJ0X3ZhbHVlX3gzMjpSVzoxNjoxMjo9MHgwIHJlZnJlc2hfdGltZXIyX3N0YXJ0X3ZhbHVlX3gzMjpSVzowOjEyOj0weDANCitkYXRhLnNldCAweDAwMTUwMDYwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUkZTSENUTDMgICAgLyByZWZyZXNoX21vZGU6Ulc6NDozOj0weDAgcmVmcmVzaF91cGRhdGVfbGV2ZWw6Ulc6MToxOj0weDAgZGlzX2F1dG9fcmVmcmVzaDpSVzowOjE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAwNjQgJWxvbmcgMHgwMDE5MDAwZSAgICAgLy9WQUxVRV9SRlNIVE1HICAgICAvIHRfcmZjX25vbV94MzIodHJlZmkpOlJXOjE2OjEyOj0weDE5IGxwZGRyM190cmVmYndfZW46Ulc6MTU6MTo9MHgwIHRfcmZjX21pbjpSVzowOjk6PTB4ZQ0KK2RhdGEuc2V0IDB4MDAxNTAwZDAgJWxvbmcgMHgwMDE1MDAwMSAgICAgLy9WQUxVRV9JTklUMCAgICAgICAvIHNraXBfZHJhbV9pbml0OlJXOjMxOjI6PTB4MCBwb3N0X2NrZV94MTAyNDpSVzoxNjoxMDo9MHgxNSBwcmVfY2tlX3gxMDI0OlJXOjA6MTE6PTB4MQ0KK2RhdGEuc2V0IDB4MDAxNTAwZDQgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9JTklUMSAgICAgICAvIGRyYW1fcnN0bl94MTAyNDpSVzoxNjo4Oj0weDAgZmluYWxfd2FpdF94MzI6Ulc6ODo3Oj0weDAgcHJlX29jZF94MzI6Ulc6MDo0Oj0weDANCitkYXRhLnNldCAweDAwMTUwMGQ4ICVsb25nIDB4MDAwMDAzMDUgICAgIC8vVkFMVUVfSU5JVDIgICAgICAgLyBpZGxlX2FmdGVyX3Jlc2V0X3gzMjpSVzo4Ojg6PTB4MyBtaW5fc3RhYmxlX2Nsb2NrX3gxOlJXOjA6NDo9MHg1DQorLy9NUjI9UkwvV0yjrDGjulJMMy9XTDGjrDKjulJMNC9XTDKjrDOjulJMOjUvV0wyo6w0o7pSTDYvV0wzOqOsNaO6Ukw3L1dMNKOsNqO6Ukw4L1dMNA0KK2RhdGEuc2V0IDB4MDAxNTAwZGMgJWxvbmcgMHgwMDQzMDAwNiAgICAgLy9WQUxVRV9JTklUMyAgICAgICAvIG1yOlJXOjE2OjE2Oj0weDQzIGVtcjpSVzowOjE2Oj0weDYNCisvL2JpdDE2LTMxo6xMUEREUjIgTVIzIHZhbHVlo6zG97z+RFPErMjPysc0MG9obaOso6gxPTM0LjOjrDI9NDAsMz00OCw0PTYwLDY9ODCjqQ0KK2RhdGEuc2V0IDB4MDAxNTAwZTAgJWxvbmcgMHgwMDAyMDAwMCAgICAgLy9WQUxVRV9JTklUNCAgICAgICAvIGVtcjI6Ulc6MTY6MTY6PTB4MiBlbXIzOlJXOjA6MTY6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAwZTQgJWxvbmcgMHgwMDA0MDAwMiAgICAgLy9WQUxVRV9JTklUNSAgICAgICAvIGRldl96cWluaXRfeDMyOlJXOjE2Ojg6PTB4NCBtYXhfYXV0b19pbml0X3gxMDI0OlJXOjA6MTA6PTB4Mg0KK2RhdGEuc2V0IDB4MDAxNTAwZjQgJWxvbmcgMHgwMDAwMDY2ZiAgICAgLy9WQUxVRV9SQU5LQ1RMICAgICAvIGRpZmZfcmFua193cl9nYXA6Ulc6ODo0Oj0weDYgZGlmZl9yYW5rX3JkX2dhcDpSVzo0OjQ6PTB4NiBtYXhfcmFua19yZDpSVzowOjQ6PTB4Zg0KK2RhdGEuc2V0IDB4MDAxNTAxMDAgJWxvbmcgMHgwNjA2MDcwNCAgICAgLy9WQUxVRV9EUkFNVE1HMCAgICAvIHdyMnByZTpSVzoyNDo2Oj0weDYgdF9mYXc6Ulc6MTY6Njo9MHg2IHRfcmFzX21heDpSVzo4Ojc6PTB4NyB0X3Jhc19taW46Ulc6MDo2Oj0weDQNCitkYXRhLnNldCAweDAwMTUwMTA0ICVsb25nIDB4MDAwMTAyMDcgICAgIC8vVkFMVUVfRFJBTVRNRzEgICAgLyB0X3hwOlJXOjE2OjU6PTB4MSByZDJwcmU6Ulc6ODo1Oj0weDIgdF9yYzpSVzowOjY6PTB4Nw0KKy8vUkw9Yml0MTYtMjGjrDGjulJMPTKjrDKjulJMPTSjrDOjulJMPTajrDSjulI9OKOsV0w9Yml0MjQtMjmjrDGjuldMPTKjrDKjuldMPTQNCisvL9XiwO+1vNbCTVIytcTF5NbDo6gweDAxMjE2MGRjo6myu8Tc0aHU8bqs09DG5sr9tcTWtT8NCitkYXRhLnNldCAweDAwMTUwMTA4ICVsb25nIDB4MDIwNDA2MDYgICAgIC8vVkFMVUVfRFJBTVRNRzIgICAgLyB3cml0ZV9sYXRlbmN5OlJXOjI0OjY6PTB4MiByZWFkX2xhdGVuY3k6Ulc6MTY6Njo9MHg0IHJkMndyOlJXOjg6Njo9MHg2IHdyMnJkOlJXOjA6Njo9MHg1DQorZGF0YS5zZXQgMHgwMDE1MDEwYyAlbG9uZyAweDAwNTAxMDAwICAgICAvL1ZBTFVFX0RSQU1UTUczICAgIC8gdF9tcnc6Ulc6MjA6MTA6PTB4NSB0X21yZDpSVzoxMjo2Oj0weDEgdF9tb2Q6Ulc6MDoxMDo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDExMCAlbG9uZyAweDAyMDEwMjAzICAgICAvL1ZBTFVFX0RSQU1UTUc0ICAgIC8gdF9yY2Q6Ulc6MjQ6NTo9MHgyIHRfY2NkOlJXOjE2OjQ6PTB4MSB0X3JyZDpSVzo4OjQ6PTB4MiB0X3JwOlJXOjA6NTo9MHgzDQorZGF0YS5zZXQgMHgwMDE1MDExNCAlbG9uZyAweDAxMDEwMjAyICAgICAvL1ZBTFVFX0RSQU1UTUc1ICAgIC8gdF9ja3NyeDpSVzoyNDo0Oj0weDEgdF9ja3NyZTpSVzoxNjo0Oj0weDEgdF9ja2VzcjpSVzo4OjY6PTB4MiB0X2NrZTpSVzowOjQ6PTB4Mg0KK2RhdGEuc2V0IDB4MDAxNTAxMTggJWxvbmcgMHgwMjAyMDAwMiAgICAgLy9WQUxVRV9EUkFNVE1HNiAgICAvIHRfY2tkcGRlOlJXOjI0OjQ6PTB4MiB0X2NrZHBkeDpSVzoxNjo0Oj0weDIgdF9ja2NzeDpSVzowOjQ6PTB4Mg0KK2RhdGEuc2V0IDB4MDAxNTAxMWMgJWxvbmcgMHgwMDAwMDIwMiAgICAgLy9WQUxVRV9EUkFNVE1HNyAgICAvIHRfY2twZGU6Ulc6ODo0Oj0weDIgdF9ja3BkeDpSVzowOjQ6PTB4Mg0KK2RhdGEuc2V0IDB4MDAxNTAxMzggJWxvbmcgMHgwMDAwMDAwZiAgICAgLy9WQUxVRV9EUkFNVE1HMTQgICAvIHRfeHNyOlJXOjA6MTI6PTB4Zg0KKy8vYml0MzA9MSBEaXNhYmxlIGlzc3Vpbmcgb2YgWlFDTC9NUEMoWlEgY2FsaWJyYXRpb24pIGNvbW1hbmQgYXQgU2VsZi1SZWZyZXNoL1NSLVBvd2VyZG93biBleGl0IKOsNzUyMNfuv6rKvMXk1sPOqjCjrLW81sLX1Lav19TLotDCuabE3M3Ls/bKsdHTyrG63LTzo6xzZGlvtsHK/b7ds/a07Q0KK2RhdGEuc2V0IDB4MDAxNTAxODAgJWxvbmcgMHg0MDI2MDAwYSAgICAgLy9WQUxVRV9aUUNUTDAgICAgICAvIGRpc19hdXRvX3pxOlJXOjMxOjE6PTB4MCBkaXNfc3J4X3pxY2w6Ulc6MzA6MTo9MHgxIHpxX3Jlc2lzdG9yX3NoYXJlZDpSVzoyOToxOj0weDAgZGlzX21wc214X3pxY2w6Ulc6Mjg6MTo9MHgwIHRfenFfbG9uZ19ub3A6Ulc6MTY6MTA6PTB4MjYgdF96cV9zaG9ydF9ub3A6Ulc6MDoxMDo9MHhhDQorZGF0YS5zZXQgMHgwMDE1MDE4NCAlbG9uZyAweDAwNjAwMTAwICAgICAvL1ZBTFVFX1pRQ1RMMSAgICAgIC8gdF96cV9yZXNldF9ub3A6Ulc6MjA6MTA6PTB4NiB0X3pxX3Nob3J0X2ludGVydmFsX3gxMDI0OlJXOjA6MjA6PTB4MTAwDQorZGF0YS5zZXQgMHgwMDE1MDE4OCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1pRQ1RMMiAgICAgIC8genFfcmVzZXQ6Ulc6MDoxOj0weDANCisvL2RmaV90X3JkZGF0YV9lbj0zLNaux7A3NTIwyc/J6LPJMrvhtbzWwrbBbXK2wbTtDQorZGF0YS5zZXQgMHgwMDE1MDE5MCAlbG9uZyAweDA0MDMwMDAxICAgICAvL1ZBTFVFX0RGSVRNRzAgICAgIC8gZGZpX3RfY3RybF9kZWxheTpSVzoyNDo1Oj0weDQgZGZpX3JkZGF0YV91c2Vfc2RyOlJXOjIzOjE6PTB4MCBkZmlfdF9yZGRhdGFfZW46Ulc6MTY6Njo9MHgzIGRmaV93cmRhdGFfdXNlX3NkcjpSVzoxNToxOj0weDAgZGZpX3RwaHlfd3JkYXRhOlJXOjg6Njo9MHgwIGRmaV90cGh5X3dybGF0OlJXOjA6Njo9MHgxDQorZGF0YS5zZXQgMHgwMDE1MDE5NCAlbG9uZyAweDAwMDIwNDA0ICAgICAvL1ZBTFVFX0RGSVRNRzEgICAgIC8gZGZpX3RfY21kX2xhdDpSVzoyODo0Oj0weDAgZGZpX3RfcGFyaW5fbGF0OlJXOjI0OjI6PTB4MCBkZmlfdF93cmRhdGFfZGVsYXk6Ulc6MTY6NTo9MHgyIGRmaV90X2RyYW1fY2xrX2Rpc2FibGU6Ulc6ODo0Oj0weDQgZGZpX3RfZHJhbV9jbGtfZW5hYmxlOlJXOjA6NDo9MHg0DQorZGF0YS5zZXQgMHgwMDE1MDE5OCAlbG9uZyAweDA5MDAxMTExICAgICAvL1ZBTFVFX0RGSUxQQ0ZHMCAgIC8gZGZpX3RscF9yZXNwOlJXOjI0OjQ6PTB4OSBkZmlfbHBfd2FrZXVwX2RwZDpSVzoyMDo0Oj0weDAgZGZpX2xwX2VuX2RwZDpSVzoxNjoxOj0weDAgZGZpX2xwX3dha2V1cF9zcjpSVzoxMjo0Oj0weDEgZGZpX2xwX2VuX3NyOlJXOjg6MTo9MHgxIGRmaV9scF93YWtldXBfcGQ6Ulc6NDo0Oj0weDEgZGZpX2xwX2VuX3BkOlJXOjA6MTo9MHgxDQorZGF0YS5zZXQgMHgwMDE1MDFhMCAlbG9uZyAweDgwNDAwMDAzICAgICAvL1ZBTFVFX0RGSVVQRDAgICAgIC8gZGlzX2F1dG9fY3RybHVwZDpSVzozMToxOj0weDEgZGZpX3RfY3RybHVwX21heDpSVzoxNjoxMDo9MHg0MCBkZmlfdF9jdHJsdXBfbWluOlJXOjA6MTA6PTB4Mw0KK2RhdGEuc2V0IDB4MDAxNTAxYTQgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9ERklVUEQxICAgICAvIGRmaV90X2N0cmx1cGRfaW50ZXJ2YWxfbWluX3gxMDI0OlJXOjE2Ojg6PTB4MCBkZmlfdF9jdHJsdXBkX2ludGVydmFsX21heF94MTAyNDpSVzowOjg6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAxYTggJWxvbmcgMHg4MDEwMDAxMCAgICAgLy9WQUxVRV9ERklVUEQyICAgICAvIGRmaV9waHl1cGRfZW46Ulc6MzE6MTo9MHgxIGRmaV9waHl1cGRfdHlwZTE6Ulc6MTY6MTI6PTB4MTAgZGZpX3BoeXVwZF90eXBlMDpSVzowOjEyOj0weDEwDQorZGF0YS5zZXQgMHgwMDE1MDFiMCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX0RGSU1JU0MgICAgIC8gZGZpX2RhdGFfY3NfcG9sYXJpdHk6Ulc6MjoxOj0weDAgcGh5X2RiaV9tb2RlOlJXOjE6MTo9MHgwIGRmaV9pbml0X2NvbXBsZXRlX2VuOlJXOjA6MTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDIwMCAlbG9uZyAweDAwMDAwMDFmICAgICAvL1ZBTFVFX0FERFJNQVAwICAgIC8gYWRkcm1hcF9kY2hfYml0MDpSVzoxNjo1Oj0weDAgYWRkcm1hcF9jc19iaXQxOlJXOjg6NTo9MHgwIGFkZHJtYXBfY3NfYml0MDpSVzowOjU6PTB4MWYNCitkYXRhLnNldCAweDAwMTUwMjA0ICVsb25nIDB4MDAwNzA3MDcgICAgIC8vVkFMVUVfQUREUk1BUDEgICAgLyBhZGRybWFwX2JhbmtfYjI6Ulc6MTY6NDo9MHg3IGFkZHJtYXBfYmFua19iMTpSVzo4OjQ6PTB4NyBhZGRybWFwX2JhbmtfYjA6Ulc6MDo0Oj0weDcNCitkYXRhLnNldCAweDAwMTUwMjA4ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfQUREUk1BUDIgICAgLyBhZGRybWFwX2NvbF9iNTpSVzoyNDo0Oj0weDAgYWRkcm1hcF9jb2xfYjQ6Ulc6MTY6NDo9MHgwIGFkZHJtYXBfY29sX2IzOlJXOjg6NDo9MHgwIGFkZHJtYXBfY29sX2IyOlJXOjA6NDo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDIwYyAlbG9uZyAweDBmMDAwMDAwICAgICAvL1ZBTFVFX0FERFJNQVAzICAgIC8gYWRkcm1hcF9jb2xfYjk6Ulc6MjQ6NDo9MHhmIGFkZHJtYXBfY29sX2I4OlJXOjE2OjQ6PTB4MCBhZGRybWFwX2NvbF9iNzpSVzo4OjQ6PTB4MCBhZGRybWFwX2NvbF9iNjpSVzowOjQ6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAyMTAgJWxvbmcgMHgwMDAwMGYwZiAgICAgLy9WQUxVRV9BRERSTUFQNCAgICAvIGFkZHJtYXBfY29sX2IxMTpSVzo4OjQ6PTB4ZiBhZGRybWFwX2NvbF9iMTA6Ulc6MDo0Oj0weGYNCitkYXRhLnNldCAweDAwMTUwMjE0ICVsb25nIDB4MDYwNjA2MDYgICAgIC8vVkFMVUVfQUREUk1BUDUgICAgLyBhZGRybWFwX3Jvd19iMTE6Ulc6MjQ6NDo9MHg2IGFkZHJtYXBfcm93X2IyXzEwOlJXOjE2OjQ6PTB4NiBhZGRybWFwX3Jvd19iMTpSVzo4OjQ6PTB4NiBhZGRybWFwX3Jvd19iMDpSVzowOjQ6PTB4Ng0KK2RhdGEuc2V0IDB4MDAxNTAyMTggJWxvbmcgMHgwZjBmMGYwNiAgICAgLy9WQUxVRV9BRERSTUFQNiAgICAvIGFkZHJtYXBfcm93X2IxNTpSVzoyNDo0Oj0weGYgYWRkcm1hcF9yb3dfYjE0OlJXOjE2OjQ6PTB4ZiBhZGRybWFwX3Jvd19iMTM6Ulc6ODo0Oj0weGYgYWRkcm1hcF9yb3dfYjEyOlJXOjA6NDo9MHg2DQorZGF0YS5zZXQgMHgwMDE1MDI0MCAlbG9uZyAweDA0MDAwNDAwICAgICAvL1ZBTFVFX09EVENGRyAgICAgIC8gd3Jfb2R0X2hvbGQ6Ulc6MjQ6NDo9MHg0IHdyX29kdF9kZWxheTpSVzoxNjo0Oj0weDAgcmRfb2R0X2hvbGQ6Ulc6ODo0Oj0weDQgcmRfb2R0X2RlbGF5OlJXOjI6NDo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDI0NCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX09EVE1BUCAgICAgIC8gcmFuazNfcmRfb2R0OlJXOjI4OjQ6PTB4MCByYW5rM193cl9vZHQ6Ulc6MjQ6NDo9MHgwIHJhbmsyX3JkX29kdDpSVzoyMDo0Oj0weDAgcmFuazJfd3Jfb2R0OlJXOjE2OjQ6PTB4MCByYW5rMV9yZF9vZHQ6Ulc6MTI6NDo9MHgwIHJhbmsxX3dyX29kdDpSVzo4OjQ6PTB4MCByYW5rMF9yZF9vZHQ6Ulc6NDo0Oj0weDAgcmFuazBfd3Jfb2R0OlJXOjA6NDo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDI1MCAlbG9uZyAweDAwMDAxODA1ICAgICAvL1ZBTFVFX1NDSEVEICAgICAgIC8gcmR3cl9pZGxlX2dhcDpSVzoyNDo3Oj0weDAgZ28yY3JpdGljYWxfaHlzdGVyZXNpczpSVzoxNjo4Oj0weDAgbHByX251bV9lbnRyaWVzOlJXOjg6Njo9MHgxOCBwYWdlY2xvc2U6Ulc6MjoxOj0weDEgcHJlZmVyX3dyaXRlOlJXOjE6MTo9MHgwIGZvcmNlX2xvd19wcmlfbjpSVzowOjE6PTB4MQ0KK2RhdGEuc2V0IDB4MDAxNTAyNTQgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9TQ0hFRDEgICAgICAvIHBhZ2VjbG9zZV90aW1lcjpSVzowOjg6PTB4MA0KKw0KK2RhdGEuc2V0IDB4MDAxNTAzMDAgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9EQkcwICAgICAgICAvIGRpc19jb2xsaXNpb25fcGFnZV9vcHQ6Ulc6NDoxOj0weDAgZGlzX2FjdF9ieXBhc3M6Ulc6MjoxOj0weDAgZGlzX3JkX2J5cGFzczpSVzoxOjE6PTB4MCBkaXNfd2M6Ulc6MDoxOj0weDANCitkYXRhLnNldCAweDAwMTUwMzA0ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfREJHMSAgICAgICAgLyBkaXNfZHE6Ulc6MToxOj0weDAgZGlzX2hpZzpSVzowOjE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAzMGMgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9EQkdDTUQgICAgICAvIGN0cmx1cGQ6UldTQzo1OjE6PTB4MCB6cV9jYWxpYl9zaG9ydDpSV1NDOjQ6MTo9MHgwIHJhbmszX3JlZnJlc2g6UldTQzozOjE6PTB4MCByYW5rMl9yZWZyZXNoOlJXU0M6MjoxOj0weDAgcmFuazFfcmVmcmVzaDpSV1NDOjE6MTo9MHgwIHJhbmswX3JlZnJlc2g6UldTQzowOjE6PTB4MA0KKw0KK2RhdGEuc2V0IDB4MDAxNTA0MDAgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0NGRyAgICAgICAvIGJsX2V4cF9tb2RlOlJXOjg6MTo9MHgwIHBhZ2VtYXRjaF9saW1pdDpSVzoxOjE6PTB4MCBnbzJjcml0aWNhbF9lbjpSVzowOjE6PTB4MA0KKyAgICANCisvL2Rkcl9wcm9yaXR5X2NvbmZpZw0KKy8vcG9ydCByZWFkIHN0YXRpYyBwcmlvcml0eSBiaXQwLTksIGJpdDAtNCB0aW1lb3V0LCBiaXQ1LTkgcHJvcml0eQ0KK2RhdGEuc2V0IDB4MDAxNTA0MDQgJWxvbmcgMHgwMDAwMTNmZiAgICAgLy9WQUxVRV9QQ0ZHUl8wICAgICAvIHJkd3Jfb3JkZXJlZF9lbjpSVzoxNjoxOj0weDAgcmRfcG9ydF9wYWdlbWF0Y2hfZW46Ulc6MTQ6MTo9MHgwIHJkX3BvcnRfdXJnZW50X2VuOlJXOjEzOjE6PTB4MCByZF9wb3J0X2FnaW5nX2VuOlJXOjEyOjE6PTB4MSByZWFkX3Jlb3JkZXJfYnlwYXNzX2VuOlJXOjExOjE6PTB4MCByZF9wb3J0X3ByaW9yaXR5OlJXOjA6MTA6PTB4M2ZmDQorZGF0YS5zZXQgMHgwMDE1MDRiNCAlbG9uZyAweDAwMDAxMDIwICAgICAvL1ZBTFVFX1BDRkdSXzEgICAgIC8gcmR3cl9vcmRlcmVkX2VuOlJXOjE2OjE6PTB4MCByZF9wb3J0X3BhZ2VtYXRjaF9lbjpSVzoxNDoxOj0weDAgcmRfcG9ydF91cmdlbnRfZW46Ulc6MTM6MTo9MHgwIHJkX3BvcnRfYWdpbmdfZW46Ulc6MTI6MTo9MHgxIHJlYWRfcmVvcmRlcl9ieXBhc3NfZW46Ulc6MTE6MTo9MHgwIHJkX3BvcnRfcHJpb3JpdHk6Ulc6MDoxMDo9MHgyMA0KK2RhdGEuc2V0IDB4MDAxNTA1NjQgJWxvbmcgMHgwMDAwMTAwMCAgICAgLy9WQUxVRV9QQ0ZHUl8yICAgICAvIHJkd3Jfb3JkZXJlZF9lbjpSVzoxNjoxOj0weDAgcmRfcG9ydF9wYWdlbWF0Y2hfZW46Ulc6MTQ6MTo9MHgwIHJkX3BvcnRfdXJnZW50X2VuOlJXOjEzOjE6PTB4MCByZF9wb3J0X2FnaW5nX2VuOlJXOjEyOjE6PTB4MSByZWFkX3Jlb3JkZXJfYnlwYXNzX2VuOlJXOjExOjE6PTB4MCByZF9wb3J0X3ByaW9yaXR5OlJXOjA6MTA6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTA2MTQgJWxvbmcgMHgwMDAwMTAwNCAgICAgLy9WQUxVRV9QQ0ZHUl8zICAgICAvIHJkd3Jfb3JkZXJlZF9lbjpSVzoxNjoxOj0weDAgcmRfcG9ydF9wYWdlbWF0Y2hfZW46Ulc6MTQ6MTo9MHgwIHJkX3BvcnRfdXJnZW50X2VuOlJXOjEzOjE6PTB4MCByZF9wb3J0X2FnaW5nX2VuOlJXOjEyOjE6PTB4MSByZWFkX3Jlb3JkZXJfYnlwYXNzX2VuOlJXOjExOjE6PTB4MCByZF9wb3J0X3ByaW9yaXR5OlJXOjA6MTA6PTB4NA0KKy8vcG9ydCB3cml0ZSBzdGF0aWMgcHJpb3JpdHkgYml0MC05DQorZGF0YS5zZXQgMHgwMDE1MDQwOCAlbG9uZyAweDAwMDAxM2ZmICAgICAvL1ZBTFVFX1BDRkdXXzAgICAgIC8gd3JfcG9ydF9wYWdlbWF0Y2hfZW46Ulc6MTQ6MTo9MHgwIHdyX3BvcnRfdXJnZW50X2VuOlJXOjEzOjE6PTB4MCB3cl9wb3J0X2FnaW5nX2VuOlJXOjEyOjE6PTB4MSB3cl9wb3J0X3ByaW9yaXR5OlJXOjA6MTA6PTB4M2ZmDQorZGF0YS5zZXQgMHgwMDE1MDRiOCAlbG9uZyAweDAwMDAxMGZmICAgICAvL1ZBTFVFX1BDRkdXXzEgICAgIC8gd3JfcG9ydF9wYWdlbWF0Y2hfZW46Ulc6MTQ6MTo9MHgwIHdyX3BvcnRfdXJnZW50X2VuOlJXOjEzOjE6PTB4MCB3cl9wb3J0X2FnaW5nX2VuOlJXOjEyOjE6PTB4MSB3cl9wb3J0X3ByaW9yaXR5OlJXOjA6MTA6PTB4ZmYNCitkYXRhLnNldCAweDAwMTUwNTY4ICVsb25nIDB4MDAwMDEwM2YgICAgIC8vVkFMVUVfUENGR1dfMiAgICAgLyB3cl9wb3J0X3BhZ2VtYXRjaF9lbjpSVzoxNDoxOj0weDAgd3JfcG9ydF91cmdlbnRfZW46Ulc6MTM6MTo9MHgwIHdyX3BvcnRfYWdpbmdfZW46Ulc6MTI6MTo9MHgxIHdyX3BvcnRfcHJpb3JpdHk6Ulc6MDoxMDo9MHgzZg0KK2RhdGEuc2V0IDB4MDAxNTA2MTggJWxvbmcgMHgwMDAwMTA1ZiAgICAgLy9WQUxVRV9QQ0ZHV18zICAgICAvIHdyX3BvcnRfcGFnZW1hdGNoX2VuOlJXOjE0OjE6PTB4MCB3cl9wb3J0X3VyZ2VudF9lbjpSVzoxMzoxOj0weDAgd3JfcG9ydF9hZ2luZ19lbjpSVzoxMjoxOj0weDEgd3JfcG9ydF9wcmlvcml0eTpSVzowOjEwOj0weDVmDQorLy9wb3J0IHJlYWQgcmVnaW9uIHNldA0KK2RhdGEuc2V0IDB4MDAxNTA0OTQgJWxvbmcgMHgwMDIwMDAwZSAgICAgLy9WQUxVRV9QQ0ZHUU9TMF8wICAvIHJxb3NfbWFwX3JlZ2lvbjI6Ulc6MjQ6Mjo9MHgwIHJxb3NfbWFwX3JlZ2lvbjE6Ulc6MjA6Mjo9MHgyIHJxb3NfbWFwX3JlZ2lvbjA6Ulc6MTY6Mjo9MHgwIHJxb3NfbWFwX2xldmVsMjpSVzo4OjQ6PTB4MCBycW9zX21hcF9sZXZlbDE6Ulc6MDo0Oj0weGUNCitkYXRhLnNldCAweDAwMTUwNTQ0ICVsb25nIDB4MDAyMDAwMGUgICAgIC8vVkFMVUVfUENGR1FPUzBfMSAgLyBycW9zX21hcF9yZWdpb24yOlJXOjI0OjI6PTB4MCBycW9zX21hcF9yZWdpb24xOlJXOjIwOjI6PTB4MiBycW9zX21hcF9yZWdpb24wOlJXOjE2OjI6PTB4MCBycW9zX21hcF9sZXZlbDI6Ulc6ODo0Oj0weDAgcnFvc19tYXBfbGV2ZWwxOlJXOjA6NDo9MHhlDQorZGF0YS5zZXQgMHgwMDE1MDVmNCAlbG9uZyAweDAwMjAwMDBlICAgICAvL1ZBTFVFX1BDRkdRT1MwXzIgIC8gcnFvc19tYXBfcmVnaW9uMjpSVzoyNDoyOj0weDAgcnFvc19tYXBfcmVnaW9uMTpSVzoyMDoyOj0weDIgcnFvc19tYXBfcmVnaW9uMDpSVzoxNjoyOj0weDAgcnFvc19tYXBfbGV2ZWwyOlJXOjg6NDo9MHgwIHJxb3NfbWFwX2xldmVsMTpSVzowOjQ6PTB4ZQ0KK2RhdGEuc2V0IDB4MDAxNTA2YTQgJWxvbmcgMHgwMDIwMDAwZSAgICAgLy9WQUxVRV9QQ0ZHUU9TMF8zICAvIHJxb3NfbWFwX3JlZ2lvbjI6Ulc6MjQ6Mjo9MHgwIHJxb3NfbWFwX3JlZ2lvbjE6Ulc6MjA6Mjo9MHgyIHJxb3NfbWFwX3JlZ2lvbjA6Ulc6MTY6Mjo9MHgwIHJxb3NfbWFwX2xldmVsMjpSVzo4OjQ6PTB4MCBycW9zX21hcF9sZXZlbDE6Ulc6MDo0Oj0weGUNCisvL3BvcnQgd3JpdGUgcmVnaW9uIHNldA0KK2RhdGEuc2V0IDB4MDAxNTA0OWMgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHV1FPUzBfMCAvIHdxb3NfbWFwX3JlZ2lvbjE6Ulc6MjA6Mjo9MHgwIHdxb3NfbWFwX3JlZ2lvbjA6Ulc6MTY6Mjo9MHgwIHdxb3NfbWFwX2xldmVsOlJXOjA6NDo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDU0YyAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdXUU9TMF8xIC8gd3Fvc19tYXBfcmVnaW9uMTpSVzoyMDoyOj0weDAgd3Fvc19tYXBfcmVnaW9uMDpSVzoxNjoyOj0weDAgd3Fvc19tYXBfbGV2ZWw6Ulc6MDo0Oj0weDANCitkYXRhLnNldCAweDAwMTUwNWZjICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1dRT1MwXzIgLyB3cW9zX21hcF9yZWdpb24xOlJXOjIwOjI6PTB4MCB3cW9zX21hcF9yZWdpb24wOlJXOjE2OjI6PTB4MCB3cW9zX21hcF9sZXZlbDpSVzowOjQ6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTA2YWMgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHV1FPUzBfMyAvIHdxb3NfbWFwX3JlZ2lvbjE6Ulc6MjA6Mjo9MHgwIHdxb3NfbWFwX3JlZ2lvbjA6Ulc6MTY6Mjo9MHgwIHdxb3NfbWFwX2xldmVsOlJXOjA6NDo9MHgwDQorLy92cHIgdGltZW91dCwgcmVnaW9uMiBpcyByZWQgcXVldWUNCitkYXRhLnNldCAweDAwMTUwNDk4ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1FPUzFfMCAgLyBycW9zX21hcF90aW1lb3V0cjpSVzoxNjoxMTo9MHgwIHJxb3NfbWFwX3RpbWVvdXRiOlJXOjA6MTE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTA1NDggJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHUU9TMV8xICAvIHJxb3NfbWFwX3RpbWVvdXRyOlJXOjE2OjExOj0weDAgcnFvc19tYXBfdGltZW91dGI6Ulc6MDoxMTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDVmOCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdRT1MxXzIgIC8gcnFvc19tYXBfdGltZW91dHI6Ulc6MTY6MTE6PTB4MCBycW9zX21hcF90aW1lb3V0YjpSVzowOjExOj0weDANCitkYXRhLnNldCAweDAwMTUwNmE4ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1FPUzFfMyAgLyBycW9zX21hcF90aW1lb3V0cjpSVzoxNjoxMTo9MHgwIHJxb3NfbWFwX3RpbWVvdXRiOlJXOjA6MTE6PTB4MA0KKy8vdnB3IHRpbWVvdXQNCitkYXRhLnNldCAweDAwMTUwNGEwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1dRT1MxXzAgLyB3cW9zX21hcF90aW1lb3V0OlJXOjA6MTE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTA1NTAgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHV1FPUzFfMSAvIHdxb3NfbWFwX3RpbWVvdXQ6Ulc6MDoxMTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDYwMCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdXUU9TMV8yIC8gd3Fvc19tYXBfdGltZW91dDpSVzowOjExOj0weDANCitkYXRhLnNldCAweDAwMTUwNmIwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1dRT1MxXzMgLyB3cW9zX21hcF90aW1lb3V0OlJXOjA6MTE6PTB4MA0KKy8vaW4gQ0FNIHNldA0KK2RhdGEuc2V0IDB4MDAxNTAyNWMgJWxvbmcgMHgwZjAwMDAwMSAgICAgLy9WQUxVRV9QRVJGSFBSMSAgICAvIGhwcl94YWN0X3J1bl9sZW5ndGg6Ulc6MjQ6ODo9MHhmIGhwcl9tYXhfc3RhcnZlOlJXOjA6MTY6PTB4MQ0KK2RhdGEuc2V0IDB4MDAxNTAyNjQgJWxvbmcgMHgwZjAwMDA3ZiAgICAgLy9WQUxVRV9QRVJGTFBSMSAgICAvIGxwcl94YWN0X3J1bl9sZW5ndGg6Ulc6MjQ6ODo9MHhmIGxwcl9tYXhfc3RhcnZlOlJXOjA6MTY6PTB4N2YNCitkYXRhLnNldCAweDAwMTUwMjZjICVsb25nIDB4MGYwMDAwN2YgICAgIC8vVkFMVUVfUEVSRldSMSAgICAgLyB3X3hhY3RfcnVuX2xlbmd0aDpSVzoyNDo4Oj0weGYgd19tYXhfc3RhcnZlOlJXOjA6MTY6PTB4N2YNCitkYXRhLnNldCAweDAwMTUwMjc0ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUEVSRlZQUjEgICAgLyB2cHJfdGltZW91dF9yYW5nZTpSVzowOjExOj0weDANCitkYXRhLnNldCAweDAwMTUwMjc4ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUEVSRlZQVzEgICAgLyB2cHdfdGltZW91dF9yYW5nZTpSVzowOjExOj0weDANCisvL3BvcnQgZXh0ZXJuIHN0YXRpYyBwcmlvcml0eQkNCisvL2RhdGEuc2V0IDB4MDAxM2QwMzQgJWxvbmcgMHhmMGYwMDAwMCAvL3BvcnQwLDEgcnFvcz0wKExQUik7IHBvcnQyLDMgcnFvcz1GKEhQUikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KKy8vd2FpdCBhbGwgcmVnaXN0ZXIgY29uZmlnZXIgZG9uZSBpbiBoYXJkd2FyZQ0KK1dhaXQgMC4wMXMNCisNCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy9jdHJvbGxlciBhbmQgaW5ubyBwaHkgcmVnaXN0ZXJzIGNvbmZpZ2VyIGRvbmUNCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorZGF0YS5zZXQgMHgwMTMwNjEwMCAlbG9uZyAweDBhZmZmZmMwIC8vcmVsZWFzZSBkZHIgY3RsKGJpdDExKSBhbmQgYXhpX3NuIHJlc2V0KGJpdDYtOSkgIGFuZCBwaHkgcmVzZXQoYml0MTIpICAvL8no1sPPtc2zvMS05sb31rUNCitXYWl0IDAuMDFzDQorDQorLy9zdyBjb25maWcgZG9uZQ0KK2RhdGEuc2V0IDB4MDAxNTAzMjAgJWxvbmcgMHgwMDAwMDAwMCAvL1NXQ1RMICAgICAgLy8gc3dfZG9uZTpSVzowOjE6PTB4MA0KKy8vY2hlY2sgcGh5IGF1dG8gaW5pdCBkb25lLCB3YWl0IDB4MDAxNTAzMjQgYml0MCA9MA0KK1dhaXQgMC4wMXMNCisNCisvL3Bvd2VyIG9uIFBIWSBQTEwgDQorZGF0YS5zZXQgMHgwMDE1NDNiNCAlbG9uZyAweDAwMDAwMDE4IC8vUEhZUkVHRUQsUExMQ0xLT1VURU46Ulc6NDoxOj0weDEsUmVzZXJ2ZWQ6Ulc6MjoyOj0weDIsIHBsbF9wZF9lbjpSVzoxOjE6PTB4MCwgZmJkaXZbOF06Ulc6MDoxOj0weDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCisvL3dhaXQgUEhZIFBMTCAgbG9jayxQSFlSRUdGOFswXVBsbCBsb2NrIGluZGljYXRlIHNpZ25hbA0KKw0KK1dhaXQgMC4wMXMNCisNCisvL1BIWSBETEwgaW5pdCBzdGFydCwgZmFsbCBlZGdlIHRyaWdnZXINCitkYXRhLnNldCAweDAwMTU0MTdjICVsb25nIDB4MDAwMDAwMGEgLy9QSFlSRUc1RiwgIFBIWSBpbml0IHN0YXJ0OjU6MTo9MHgxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQorLy93YWl0IGRsbCBsb2NrLCBwaHkgaW5pdCBkb25lLCBQSFlSRUdGOFsxXVBoeSBpbml0IGNvbXBsZXRlIHNpZ25hbA0KK1dhaXQgMC4wMXMNCisNCisvL2VuYWJsZSBjb250cm9sbGVyIGRmaV9pbml0X2NvbXBsZXRlX2VuIHRvIHN0YXJ0IHNkcmFtIGluaXQsIHRoZW4gd2lsbCBzZW5kIGRyYW0gaW5pdCBjbWQNCitkYXRhLnNldCAweDAwMTUwMWIwICVsb25nIDB4MDAwMDAwMDEgLy9ERklNSVNDICAgIC8vIHBoeV9kYmlfbW9kZTpSVzoxOjE6PTB4MCBkZmlfaW5pdF9jb21wbGV0ZV9lbjpSVzowOjE6PTB4MQkgICAgyse38ciltfSjrLvy1d+21NOm0N64xCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQorLy9jaGVjayBjb250cm9sbGVyIHN0YXR1cyBpcyBzZHJhbSBpbml0IGRvbmUsd2FpdCAweDAwMTUwMDA0IGJpdDAtMiAhPTANCitXYWl0IDAuMDFzDQorZGF0YS5zZXQgMHgwMDE1MDFiMCAlbG9uZyAweDAwMDAwMDAwIC8vZGZpbWlzY1swXSBwaHlfZGJpX21vZGU6Ulc6MToxOj0weDAgZGZpX2luaXRfY29tcGxldGVfZW46Ulc6MDoxOj0weDANCisNCisvL3BoeSBEUVMgZ2F0ZSB0cmFpbmluZyBzdGFydA0KK2RhdGEuc2V0IDB4MDAxNTQwMDggJWxvbmcgMHgwMDAwMDAwMSAvL1BIWVJFRzAyLGJpdDA6RFFTIGdhdGluZyBjYWxpYnJhdGlvbiBjb250cm9sPTEsIGJpdDE6RFFTIGdhdGluZyBieXBhc3MgbW9kZSBzZWxlY3Q9MA0KKy8vd2FpdCB0cmFpbmluZyBkb25lDQorV2FpdCAwLjFzDQorLy9waHkgRFFTIGdhdGUgdHJhaW5pbmcgc3RvcA0KK2RhdGEuc2V0IDB4MDAxNTQwMDggJWxvbmcgMHgwMDAwMDAwMCAvL1BIWVJFRzAyLGJpdDA6RFFTIGdhdGluZyBjYWxpYnJhdGlvbiBjb250cm9sPTAsIGJpdDE6RFFTIGdhdGluZyBieXBhc3MgbW9kZSBzZWxlY3Q9MA0KKw0KKy8vZW5hYmxlIHBvcnRfbg0KK2RhdGEuc2V0IDB4MDAxNTA0OTAgJWxvbmcgMHgwMDAwMDAwMSAgICAgLy9WQUxVRV9QQ1RSTF8wICAgICAvIHBvcnRfZW46Ulc6MDoxOj0weDENCitkYXRhLnNldCAweDAwMTUwNTQwICVsb25nIDB4MDAwMDAwMDEgICAgIC8vVkFMVUVfUENUUkxfMSAgICAgLyBwb3J0X2VuOlJXOjA6MTo9MHgxDQorZGF0YS5zZXQgMHgwMDE1MDVmMCAlbG9uZyAweDAwMDAwMDAxICAgICAvL1ZBTFVFX1BDVFJMXzIgICAgIC8gcG9ydF9lbjpSVzowOjE6PTB4MQ0KK2RhdGEuc2V0IDB4MDAxNTA2YTAgJWxvbmcgMHgwMDAwMDAwMSAgICAgLy9WQUxVRV9QQ1RSTF8zICAgICAvIHBvcnRfZW46Ulc6MDoxOj0weDEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zeXMvZGRyX2luaXRfMzEybS5jbW0gYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zeXMvZGRyX2luaXRfMzEybS5jbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWU0ZGU0ZAotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3N5cy9kZHJfaW5pdF8zMTJtLmNtbQpAQCAtMCwwICsxLDIxMCBAQAorLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyogWlgyOTc1MjEgUHJvamVjdCB1TUNUTDIgRERSIGNvbnRyb2xsZXIgcGFyYW1ldGVyIGNvbmZpZ3VyYXRpb24NCisvLyogdU1DVEwyIFJldi46IDIuNTBhIA0KKy8vKiBBdXRob3I6IENoZW4gSmlhbmhvbmcNCisvLyogRGVwYXJ0bWVudDogSVAgZGVzaWduDQorLy8qIE9wdGlvbjogTWVtb3J5IFR5cGUgID0gTFBERFIyDQorLy8qIE9wdGlvbjogTWVtb3J5IEZyZXF1ZW5jeShNSHopICA9IDMxMg0KKy8vKiBPcHRpb246IE1lbW9yeSBTcGFjZShHYikgID0gMQ0KKy8vKiBPcHRpb246IERSQU0gZHJpdmUgaW1wZWRhbmNlKE9obSkgID0gNDANCisvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKw0KKy8vLS0tLS0tLS0tLS0tLS0tLS0tLWJlbG93IGlzIGRkciBzZXR0aW5nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCisNCisvL2RhdGEuc2V0IDB4MDEzMDYxMDAgJWxvbmcgMHhmZmZmZTAwMCAvL2RkciBhbGwgcmVzZXQgZW5hYmxlICBiaXQ2LTEyPTAgICANCitkYXRhLnNldCAweDAxMzA2MTAwICVsb25nIDB4MGFmZmUwMDAgLy9kZHIgYWxsIHJlc2V0IGVuYWJsZSAgYml0Ni0xMj0wIA0KK1dhaXQgMC4wMXMgIA0KK2RhdGEuc2V0IDB4MDEzMDYxMDAgJWxvbmcgMHgwYWZmZTQwMCAvL3JlbGVhc2UgZGRyIGFwYihiaXQxMCkNCitXYWl0IDAuMDFzDQorDQorLy9ERFIgdG9wIGNsb2NrIHNlbGVjdCB0b3AgY2xrIDE1Nk0sIGJpdDAtMSwgMD0xNTYsIDE9MjAwLCAyPTEwNCwgMz03OA0KKy8vMDogdG9wIGNsaz0xNTZNLCAgICAgIGRkciB1c2UgbWlzc2lvbiBtb2RlICwgZHJhbSBpbyBjbGs9MzEyTQ0KKy8vMTogdG9wIGNsaz0yMDBNLCAgICAgZGRyIHVzZSBtaXNzaW9uIG1vZGUgLCBkcmFtIGlvIGNsaz00MDBNDQorLy8yOiB0b3AgY2xrPTEwNE0sICAgICBkZHIgdXNlIG1pc3Npb24gbW9kZSAsIGRyYW0gaW8gY2xrPTIwOE0NCisvLzM6IHRvcCBjbGs9NzhNLCAgICAgZGRyIHVzZSBtaXNzaW9uIG1vZGUgLCBkcmFtIGlvIGNsaz0xNTZNDQorZGF0YS5zZXQgMHgwMTMwNjA1MCAlbG9uZyAweDAwMDAwMDAwICAvL7fWxrXJ6NbDo6y21NOm0OjSqtDeuMTC8A0KKw0KKy8vcGh5IHJlZ2lzdGVyIGluaXQgIA0KK2RhdGEuc2V0IDB4MDAxNTQwMDQgJWxvbmcgMHgwMDAwMDAwNyAgLy9WQUxVRV9QSFlSRUcwMSAgIC8gUmVzZXJ2ZWQ6Ulc6Mjo2Oj0weDEsIFBIWV9NT0RFOlJXOjA6Mjo9MHgyKExQRERSMjoweDMsTFBERFIzOjB4MikNCitkYXRhLnNldCAweDAwMTU0MDJjICVsb25nIDB4MDAwMDAwODAgIC8vVkFMVUVfUEhZUkVHMEIgICAvIFJMOlJXOjQ6NDo9MHg4DQorZGF0YS5zZXQgMHgwMDE1NDAzMCAlbG9uZyAweDAwMDAwMDA0ICAvL1ZBTFVFX1BIWVJFRzBDICAgLyBXTDpSVzowOjQ6PTB4NA0KKw0KK2RhdGEuc2V0IDB4MDAxNTQzYjAgJWxvbmcgMHgwMDAwMDAxMCAgLy9WQUxVRV9QSFlSRUdFQyAgIC8gZmJkaXZbNzowXT0weDEwDQorZGF0YS5zZXQgMHgwMDE1NDNiNCAlbG9uZyAweDAwMDAwMDFhICAvL1ZBTFVFX1BIWVJFR0VEICAgLyBQTExDTEtPVVRFTjpSVzo0OjE6PTB4MSxSZXNlcnZlZDpSVzoyOjI6PTB4MiwgcGxscGQ6Ulc6MToxOj0weDEsIGZiZGl2WzhdOlJXOjA6MTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1NDNiOCAlbG9uZyAweDAwMDAwMDIyICAvL1ZBTFVFX1BIWVJFR0VFICAgLyBwcmVkaXZbNDowXTpSVzowOjU6PTB4Mixwb3N0ZGl2WzI6MF06Ulc6NTozOj0weDENCisNCisvL0ludGVybmFsIFZSRUYgZ2VuZXJhdGlvbihkZWZ1YWx0KQ0KK2RhdGEuc2V0IDB4MDAxNTQyOGMgJWxvbmcgMHgwMDAwMDAzMCAgLy9WQUxVRV9QSFlSRUdBMyAgIC8gQ2hhbm5lbCBBL0IgaGl0aCA4Yml0czogdnJlZl9zZWw6Ulc6NToxOj0weDEsdnJlZl92YWx1ZVs0OjBdOlJXOjA6NTo9MHgxMA0KK2RhdGEuc2V0IDB4MDAxNTQyYjggJWxvbmcgMHgwMDAwMDAzMCAgLy9WQUxVRV9QSFlSRUdBRSAgIC8gQ2hhbm5lbCBBL0IgbG93ICA4Yml0czogdnJlZl9zZWw6Ulc6NToxOj0weDEsdnJlZl92YWx1ZVs0OjBdOlJXOjA6NTo9MHgxMA0KKw0KKy8vRHJpdmUgc3RyZW5ndGgoZGVmdWFsdCkNCitkYXRhLnNldCAweDAwMTU0MDQ0ICVsb25nIDB4MDAwMDAwMGEgIC8vVkFMVUVfUEhZUkVHMTEgICAvIENNRCBkcml2ZSBzdHJlbmd0aDogY21kX25yY29tcFs0OjBdOlJXOjA6NTo9MHhhDQorZGF0YS5zZXQgMHgwMDE1NDA1OCAlbG9uZyAweDAwMDAwMDBhICAvL1ZBTFVFX1BIWVJFRzE2ICAgLyBDSyAgZHJpdmUgc3RyZW5ndGg6IGNrX25yY29tcCBbNDowXTpSVzowOjU6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTQwNjQgJWxvbmcgMHgwMDAwMDAwYSAgLy9WQUxVRV9QSFlSRUcxOSAgIC8gQ0sgIHB1bGxfdXAgICBkcml2ZSBzdHJlbmd0aChEUyk6Ulc6MDo1Oj0weGENCitkYXRhLnNldCAweDAwMTU0MDY4ICVsb25nIDB4MDAwMDAwMGEgIC8vVkFMVUVfUEhZUkVHMUEgICAvIENNRCBwdWxsX3VwICAgZHJpdmUgc3RyZW5ndGgoRFMpOlJXOjA6NTo9MHhhDQorZGF0YS5zZXQgMHgwMDE1NDA4MCAlbG9uZyAweDAwMDAwMDBhICAvL1ZBTFVFX1BIWVJFRzIwICAgLyBBX0RRMH5BX0RRNyBwdWxsX2Rvd24gRFMgOlJXOjA6NTo9MHhhDQorZGF0YS5zZXQgMHgwMDE1NDA4NCAlbG9uZyAweDAwMDAwMDBhICAvL1ZBTFVFX1BIWVJFRzIxICAgLyBBX0RRMH5BX0RRNyBwdWxsX2Rvd24gT0RUOlJXOjA6NTo9MHhhDQorZGF0YS5zZXQgMHgwMDE1NDBiOCAlbG9uZyAweDAwMDAwMDhhICAvL1ZBTFVFX1BIWVJFRzJFICAgLyBBX0RRMH5BX0RRNyBwdWxsX3VwICAgRFMgOlJXOjA6NTo9MHhhLCBmYWxsaW5nIGVkZ2Ugc2xldyByYXRlOlJXOjU6Mzo9MHg0DQorZGF0YS5zZXQgMHgwMDE1NDBiYyAlbG9uZyAweDAwMDAwMDhhICAvL1ZBTFVFX1BIWVJFRzJGICAgLyBBX0RRMH5BX0RRNyBwdWxsX3VwICAgT0RUOlJXOjA6NTo9MHhhLCByaXNpbmcgIGVkZ2Ugc2xldyByYXRlOlJXOjU6Mzo9MHg0DQorZGF0YS5zZXQgMHgwMDE1NDBjMCAlbG9uZyAweDAwMDAwMDhhICAvL1ZBTFVFX1BIWVJFRzMwICAgLyBBX0RROH5BX0RRMTUgcHVsbF9kb3duIERTIDpSVzowOjU6PTB4YSwgZmFsbGluZyBlZGdlIHNsZXcgcmF0ZTpSVzo1OjM6PTB4NA0KK2RhdGEuc2V0IDB4MDAxNTQwYzQgJWxvbmcgMHgwMDAwMDA4YSAgLy9WQUxVRV9QSFlSRUczMSAgIC8gQV9EUTh+QV9EUTE1IHB1bGxfZG93biBPRFQ6Ulc6MDo1Oj0weGEsIHJpc2luZyAgZWRnZSBzbGV3IHJhdGU6Ulc6NTozOj0weDQNCitkYXRhLnNldCAweDAwMTU0MGY4ICVsb25nIDB4MDAwMDAwMGEgIC8vVkFMVUVfUEhZUkVHM0UgICAvIEFfRFE4fkFfRFExNSBwdWxsX3VwICAgRFMgOlJXOjA6NTo9MHhhDQorZGF0YS5zZXQgMHgwMDE1NDBmYyAlbG9uZyAweDAwMDAwMDBhICAvL1ZBTFVFX1BIWVJFRzNGICAgLyBBX0RROH5BX0RRMTUgcHVsbF91cCAgIE9EVDpSVzowOjU6PTB4YQ0KKw0KK2RhdGEuc2V0IDB4MDAxNTQxMDAgJWxvbmcgMHgwMDAwMDAwYSAgLy9WQUxVRV9QSFlSRUc0MCAgIC8gQl9EUTB+Ql9EUTcgcHVsbF9kb3duIERTIDpSVzowOjU6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTQxMDQgJWxvbmcgMHgwMDAwMDAwYSAgLy9WQUxVRV9QSFlSRUc0MSAgIC8gQl9EUTB+Ql9EUTcgcHVsbF9kb3duIE9EVDpSVzowOjU6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTQxMzggJWxvbmcgMHgwMDAwMDA4YSAgLy9WQUxVRV9QSFlSRUc0RSAgIC8gQl9EUTB+Ql9EUTcgcHVsbF91cCAgIERTIDpSVzowOjU6PTB4YSwgZmFsbGluZyBlZGdlIHNsZXcgcmF0ZTpSVzo1OjM6PTB4NA0KK2RhdGEuc2V0IDB4MDAxNTQxM2MgJWxvbmcgMHgwMDAwMDA4YSAgLy9WQUxVRV9QSFlSRUc0RiAgIC8gQl9EUTB+Ql9EUTcgcHVsbF91cCAgIE9EVDpSVzowOjU6PTB4YSwgcmlzaW5nICBlZGdlIHNsZXcgcmF0ZTpSVzo1OjM6PTB4NA0KKw0KK2RhdGEuc2V0IDB4MDAxNTQxNDAgJWxvbmcgMHgwMDAwMDA4YSAgLy9WQUxVRV9QSFlSRUc1MCAgIC8gQl9EUTh+Ql9EUTE1IHB1bGxfZG93biBEUyA6Ulc6MDo1Oj0weGEsIGZhbGxpbmcgZWRnZSBzbGV3IHJhdGU6Ulc6NTozOj0weDQNCitkYXRhLnNldCAweDAwMTU0MTQ0ICVsb25nIDB4MDAwMDAwOGEgIC8vVkFMVUVfUEhZUkVHNTEgICAvIEJfRFE4fkJfRFExNSBwdWxsX2Rvd24gT0RUOlJXOjA6NTo9MHhhLCByaXNpbmcgIGVkZ2Ugc2xldyByYXRlOlJXOjU6Mzo9MHg0DQorZGF0YS5zZXQgMHgwMDE1NDE3OCAlbG9uZyAweDAwMDAwMDBhICAvL1ZBTFVFX1BIWVJFRzVFICAgLyBCX0RROH5CX0RRMTUgcHVsbF91cCAgIERTIDpSVzowOjU6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTQxN2MgJWxvbmcgMHgwMDAwMDAyYSAgLy9WQUxVRV9QSFlSRUc1RiAgIC8gQl9EUTh+Ql9EUTE1IHB1bGxfdXAgICBPRFQ6Ulc6MDo1Oj0weGEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQorDQorLy9jb250cm9sbGVyIHJlZ2lzdGVyIGluaXQNCitkYXRhLnNldCAweDAwMTUwMDAwICVsb25nIDB4MDEwNDAwMDQgICAgIC8vVkFMVUVfTVNUUiAgICAgICAgLyBkZXZpY2VfY29uZmlnOlJXOjMwOjI6PTB4MCBmcmVxdWVuY3lfbW9kZTpSVzoyOToxOj0weDAgYWN0aXZlX3JhbmtzOlJXOjI0OjQ6PTB4MyBidXJzdF9yZHdyOlJXOjE2OjQ6PTB4NCBkbGxfb2ZmX21vZGU6Ulc6MTU6MTo9MHgwIGRhdGFfYnVzX3dpZHRoOlJXOjEyOjI6PTB4MCBnZWFyZG93bl9tb2RlOlJXOjExOjE6PTB4MCBlbl8ydF90aW1pbmdfbW9kZTpSVzoxMDoxOj0weDAgYnVyc3RjaG9wOlJXOjk6MTo9MHgwIGJ1cnN0X21vZGU6Ulc6ODoxOj0weDAgbHBkZHI0OlJXOjU6MTo9MHgwIGRkcjQ6Ulc6NDoxOj0weDAgbHBkZHIzOlJXOjM6MTo9MHgwIGxwZGRyMjpSVzoyOjE6PTB4MSBtb2JpbGU6Ulc6MToxOj0weDAgZGRyMzpSVzowOjE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAwMTAgJWxvbmcgMHgwMDAwMDAzMCAgICAgLy9WQUxVRV9NUkNUUkwwICAgICAvIG1yX3dyOlJXOjMxOjE6PTB4MCBtcl9hZGRyOlJXOjEyOjQ6PTB4MCBtcl9yYW5rOlJXOjQ6NDo9MHgzIHN3X2luaXRfaW50OlJXOjM6MTo9MHgwIHBkYV9lbjpSVzoyOjE6PTB4MCBtcHJfZW46Ulc6MToxOj0weDAgbXJfdHlwZTpSVzowOjE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAwMTQgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9NUkNUUkwxICAgICAvbXJfZGF0YTpSVzowOjE2Oj0weDANCitkYXRhLnNldCAweDAwMTUwMDIwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfREVSQVRFRU4gICAgL3JjX2RlcmF0ZV92YWx1ZTpSVzo4OjI6PTB4MCBkZXJhdGVfYnl0ZTpSVzo0OjQ6PTB4MCBkZXJhdGVfdmFsdWU6Ulc6MToxOj0weDAgZGVyYXRlX2VuYWJsZTpSVzowOjE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAwMjQgJWxvbmcgMHgwMDgwMDAwMCAgICAgLy9WQUxVRV9ERVJBVEVJTlQgICAvbXI0X3JlYWRfaW50ZXJ2YWw6Ulc6MDozMjo9MHg4MDAwMDANCisNCitkYXRhLnNldCAweDAwMTUwMDMwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUFdSQ1RMICAgICAgLyBzdGF5X2luX3NlbGZyZWY6Ulc6NjoxOj0weDAgc2VsZnJlZl9zdzpSVzo1OjE6PTB4MCBtcHNtX2VuOlJXOjQ6MTo9MHgwIGVuX2RmaV9kcmFtX2Nsa19kaXNhYmxlOlJXOjM6MTo9MHgwIGRlZXBwb3dlcmRvd25fZW46Ulc6MjoxOj0weDAgcG93ZXJkb3duX2VuOlJXOjE6MTo9MHgxIHNlbGZyZWZfZW46Ulc6MDoxOj0weDENCitkYXRhLnNldCAweDAwMTUwMDM0ICVsb25nIDB4MDAwNTIwMDIgICAgIC8vVkFMVUVfUFdSVE1HICAgICAgLyBzZWxmcmVmX3RvX3gzMjpSVzoxNjo4Oj0weDUgZGVlcHBvd2VyZG93bl90b194MTAyNDpSVzo4Ojg6PTB4MjAgcG93ZXJkb3duX3RvX3gzMjpSVzowOjU6PTB4Mg0KK2RhdGEuc2V0IDB4MDAxNTAwMzggJWxvbmcgMHgwMDA0MDAwMyAgICAgLy9WQUxVRV9IV0xQQ1RMICAgICAvIGh3X2xwX2lkbGVfeDMyOlJXOjE2OjEyOj0weDQgaHdfbHBfZXhpdF9pZGxlX2VuOlJXOjE6MTo9MHgxIGh3X2xwX2VuOlJXOjA6MTo9MHgxDQorZGF0YS5zZXQgMHgwMDE1MDA1MCAlbG9uZyAweDAwMjEwMDAwICAgICAvL1ZBTFVFX1JGU0hDVEwwICAgIC8gcmVmcmVzaF9tYXJnaW46Ulc6MjA6NDo9MHgyIHJlZnJlc2hfdG9feDMyOlJXOjEyOjU6PTB4MTAgcmVmcmVzaF9idXJzdDpSVzo0OjU6PTB4MCBwZXJfYmFua19yZWZyZXNoOlJXOjI6MTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDA1NCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1JGU0hDVEwxICAgIC8gcmVmcmVzaF90aW1lcjFfc3RhcnRfdmFsdWVfeDMyOlJXOjE2OjEyOj0weDAgcmVmcmVzaF90aW1lcjBfc3RhcnRfdmFsdWVfeDMyOlJXOjA6MTI6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAwNTggJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9SRlNIQ1RMMiAgICAvIHJlZnJlc2hfdGltZXIzX3N0YXJ0X3ZhbHVlX3gzMjpSVzoxNjoxMjo9MHgwIHJlZnJlc2hfdGltZXIyX3N0YXJ0X3ZhbHVlX3gzMjpSVzowOjEyOj0weDANCitkYXRhLnNldCAweDAwMTUwMDYwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUkZTSENUTDMgICAgLyByZWZyZXNoX21vZGU6Ulc6NDozOj0weDAgcmVmcmVzaF91cGRhdGVfbGV2ZWw6Ulc6MToxOj0weDAgZGlzX2F1dG9fcmVmcmVzaDpSVzowOjE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAwNjQgJWxvbmcgMHgwMDI2MDAxNCAgICAgLy9WQUxVRV9SRlNIVE1HICAgICAvIHRfcmZjX25vbV94MzIodHJlZmkpOlJXOjE2OjEyOj0weDI2IGxwZGRyM190cmVmYndfZW46Ulc6MTU6MTo9MHgwIHRfcmZjX21pbjpSVzowOjk6PTB4MTQNCitkYXRhLnNldCAweDAwMTUwMGQwICVsb25nIDB4MDAxZjAwMDEgICAgIC8vVkFMVUVfSU5JVDAgICAgICAgLyBza2lwX2RyYW1faW5pdDpSVzozMToyOj0weDAgcG9zdF9ja2VfeDEwMjQ6Ulc6MTY6MTA6PTB4MWYgcHJlX2NrZV94MTAyNDpSVzowOjExOj0weDENCitkYXRhLnNldCAweDAwMTUwMGQ0ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfSU5JVDEgICAgICAgLyBkcmFtX3JzdG5feDEwMjQ6Ulc6MTY6ODo9MHgwIGZpbmFsX3dhaXRfeDMyOlJXOjg6Nzo9MHgwIHByZV9vY2RfeDMyOlJXOjA6NDo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDBkOCAlbG9uZyAweDAwMDAwNDA1ICAgICAvL1ZBTFVFX0lOSVQyICAgICAgIC8gaWRsZV9hZnRlcl9yZXNldF94MzI6Ulc6ODo4Oj0weDQgbWluX3N0YWJsZV9jbG9ja194MTpSVzowOjQ6PTB4NQ0KKy8vTVIyPVJML1dMo6wxo7pSTDMvV0wxo6wyo7pSTDQvV0wyo6wzo7pSTDo1L1dMMqOsNKO6Ukw2L1dMMzqjrDWjulJMNy9XTDSjrDajulJMOC9XTDQNCitkYXRhLnNldCAweDAwMTUwMGRjICVsb25nIDB4MDA2MzAwMDYgICAgIC8vVkFMVUVfSU5JVDMgICAgICAgLyBtcjpSVzoxNjoxNjo9MHg2MyBlbXI6Ulc6MDoxNjo9MHg2DQorLy9iaXQxNi0zMaOsTFBERFIyIE1SMyB2YWx1ZaOsxve8/kRTxKzIz8rHNDBvaG2jrKOoMT0zNC4zo6wyPTQwLDM9NDgsND02MCw2PTgwo6kNCitkYXRhLnNldCAweDAwMTUwMGUwICVsb25nIDB4MDAwMjAwMDAgICAgIC8vVkFMVUVfSU5JVDQgICAgICAgLyBlbXIyOlJXOjE2OjE2Oj0weDIgZW1yMzpSVzowOjE2Oj0weDANCitkYXRhLnNldCAweDAwMTUwMGU0ICVsb25nIDB4MDAwNTAwMDIgICAgIC8vVkFMVUVfSU5JVDUgICAgICAgLyBkZXZfenFpbml0X3gzMjpSVzoxNjo4Oj0weDUgbWF4X2F1dG9faW5pdF94MTAyNDpSVzowOjEwOj0weDINCitkYXRhLnNldCAweDAwMTUwMGY0ICVsb25nIDB4MDAwMDA2NmYgICAgIC8vVkFMVUVfUkFOS0NUTCAgICAgLyBkaWZmX3Jhbmtfd3JfZ2FwOlJXOjg6NDo9MHg2IGRpZmZfcmFua19yZF9nYXA6Ulc6NDo0Oj0weDYgbWF4X3JhbmtfcmQ6Ulc6MDo0Oj0weGYNCitkYXRhLnNldCAweDAwMTUwMTAwICVsb25nIDB4MDYwODBhMDcgICAgIC8vVkFMVUVfRFJBTVRNRzAgICAgLyB3cjJwcmU6Ulc6MjQ6Njo9MHg2IHRfZmF3OlJXOjE2OjY6PTB4OCB0X3Jhc19tYXg6Ulc6ODo3Oj0weGEgdF9yYXNfbWluOlJXOjA6Njo9MHg3DQorZGF0YS5zZXQgMHgwMDE1MDEwNCAlbG9uZyAweDAwMDIwMjBhICAgICAvL1ZBTFVFX0RSQU1UTUcxICAgIC8gdF94cDpSVzoxNjo1Oj0weDIgcmQycHJlOlJXOjg6NTo9MHgyIHRfcmM6Ulc6MDo2Oj0weDkNCisvL1JMPWJpdDE2LTIxo6wxo7pSTD0yo6wyo7pSTD00o6wzo7pSTD02o6w0o7pSPTijrFdMPWJpdDI0LTI5o6wxo7pXTD0yo6wyo7pXTD00DQorLy/V4sDvtbzWwk1SMrXExeTWw6OoMHgwMTIxNjBkY6OpsrvE3NGh1PG6rNPQxubK/bXE1rU/DQorZGF0YS5zZXQgMHgwMDE1MDEwOCAlbG9uZyAweDAyMDQwNjA2ICAgICAvL1ZBTFVFX0RSQU1UTUcyICAgIC8gd3JpdGVfbGF0ZW5jeTpSVzoyNDo2Oj0weDIgcmVhZF9sYXRlbmN5OlJXOjE2OjY6PTB4NCByZDJ3cjpSVzo4OjY6PTB4NiB3cjJyZDpSVzowOjY6PTB4Ng0KK2RhdGEuc2V0IDB4MDAxNTAxMGMgJWxvbmcgMHgwMDUwMTAwMCAgICAgLy9WQUxVRV9EUkFNVE1HMyAgICAvIHRfbXJ3OlJXOjIwOjEwOj0weDUgdF9tcmQ6Ulc6MTI6Njo9MHgxIHRfbW9kOlJXOjA6MTA6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAxMTAgJWxvbmcgMHgwMzAxMDIwNCAgICAgLy9WQUxVRV9EUkFNVE1HNCAgICAvIHRfcmNkOlJXOjI0OjU6PTB4MyB0X2NjZDpSVzoxNjo0Oj0weDEgdF9ycmQ6Ulc6ODo0Oj0weDIgdF9ycDpSVzowOjU6PTB4NA0KK2RhdGEuc2V0IDB4MDAxNTAxMTQgJWxvbmcgMHgwMTAxMDMwMyAgICAgLy9WQUxVRV9EUkFNVE1HNSAgICAvIHRfY2tzcng6Ulc6MjQ6NDo9MHgxIHRfY2tzcmU6Ulc6MTY6NDo9MHgxIHRfY2tlc3I6Ulc6ODo2Oj0weDMgdF9ja2U6Ulc6MDo0Oj0weDMNCitkYXRhLnNldCAweDAwMTUwMTE4ICVsb25nIDB4MDIwMjAwMDMgICAgIC8vVkFMVUVfRFJBTVRNRzYgICAgLyB0X2NrZHBkZTpSVzoyNDo0Oj0weDIgdF9ja2RwZHg6Ulc6MTY6NDo9MHgyIHRfY2tjc3g6Ulc6MDo0Oj0weDMNCitkYXRhLnNldCAweDAwMTUwMTFjICVsb25nIDB4MDAwMDAyMDIgICAgIC8vVkFMVUVfRFJBTVRNRzcgICAgLyB0X2NrcGRlOlJXOjg6NDo9MHgyIHRfY2twZHg6Ulc6MDo0Oj0weDINCitkYXRhLnNldCAweDAwMTUwMTM4ICVsb25nIDB4MDAwMDAwMTYgICAgIC8vVkFMVUVfRFJBTVRNRzE0ICAgLyB0X3hzcjpSVzowOjEyOj0weDE2DQorLy9iaXQzMD0xIERpc2FibGUgaXNzdWluZyBvZiBaUUNML01QQyhaUSBjYWxpYnJhdGlvbikgY29tbWFuZCBhdCBTZWxmLVJlZnJlc2gvU1ItUG93ZXJkb3duIGV4aXQgo6w3NTIw1+6/qsq8xeTWw86qMKOstbzWwtfUtq/X1Mui0MK5psTczcuz9sqx0dPKsbrctPOjrHNkaW+2wcr9vt2z9rTtDQorZGF0YS5zZXQgMHgwMDE1MDE4MCAlbG9uZyAweDQwMzkwMDBmICAgICAvL1ZBTFVFX1pRQ1RMMCAgICAgIC8gZGlzX2F1dG9fenE6Ulc6MzE6MTo9MHgwIGRpc19zcnhfenFjbDpSVzozMDoxOj0weDEgenFfcmVzaXN0b3Jfc2hhcmVkOlJXOjI5OjE6PTB4MCBkaXNfbXBzbXhfenFjbDpSVzoyODoxOj0weDAgdF96cV9sb25nX25vcDpSVzoxNjoxMDo9MHgzOSB0X3pxX3Nob3J0X25vcDpSVzowOjEwOj0weGYNCitkYXRhLnNldCAweDAwMTUwMTg0ICVsb25nIDB4MDA4MDAxMDAgICAgIC8vVkFMVUVfWlFDVEwxICAgICAgLyB0X3pxX3Jlc2V0X25vcDpSVzoyMDoxMDo9MHg4IHRfenFfc2hvcnRfaW50ZXJ2YWxfeDEwMjQ6Ulc6MDoyMDo9MHgxMDANCitkYXRhLnNldCAweDAwMTUwMTg4ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfWlFDVEwyICAgICAgLyB6cV9yZXNldDpSVzowOjE6PTB4MA0KKy8vZGZpX3RfcmRkYXRhX2VuPTMs1q7HsDc1MjDJz8nos8kyu+G1vNbCtsFtcrbBtO0NCitkYXRhLnNldCAweDAwMTUwMTkwICVsb25nIDB4MDQwMzAwMDEgICAgIC8vVkFMVUVfREZJVE1HMCAgICAgLyBkZmlfdF9jdHJsX2RlbGF5OlJXOjI0OjU6PTB4NCBkZmlfcmRkYXRhX3VzZV9zZHI6Ulc6MjM6MTo9MHgwIGRmaV90X3JkZGF0YV9lbjpSVzoxNjo2Oj0weDMgZGZpX3dyZGF0YV91c2Vfc2RyOlJXOjE1OjE6PTB4MCBkZmlfdHBoeV93cmRhdGE6Ulc6ODo2Oj0weDAgZGZpX3RwaHlfd3JsYXQ6Ulc6MDo2Oj0weDENCitkYXRhLnNldCAweDAwMTUwMTk0ICVsb25nIDB4MDAwMjA0MDQgICAgIC8vVkFMVUVfREZJVE1HMSAgICAgLyBkZmlfdF9jbWRfbGF0OlJXOjI4OjQ6PTB4MCBkZmlfdF9wYXJpbl9sYXQ6Ulc6MjQ6Mjo9MHgwIGRmaV90X3dyZGF0YV9kZWxheTpSVzoxNjo1Oj0weDIgZGZpX3RfZHJhbV9jbGtfZGlzYWJsZTpSVzo4OjQ6PTB4NCBkZmlfdF9kcmFtX2Nsa19lbmFibGU6Ulc6MDo0Oj0weDQNCitkYXRhLnNldCAweDAwMTUwMTk4ICVsb25nIDB4MDkwMDExMTEgICAgIC8vVkFMVUVfREZJTFBDRkcwICAgLyBkZmlfdGxwX3Jlc3A6Ulc6MjQ6NDo9MHg5IGRmaV9scF93YWtldXBfZHBkOlJXOjIwOjQ6PTB4MCBkZmlfbHBfZW5fZHBkOlJXOjE2OjE6PTB4MCBkZmlfbHBfd2FrZXVwX3NyOlJXOjEyOjQ6PTB4MSBkZmlfbHBfZW5fc3I6Ulc6ODoxOj0weDEgZGZpX2xwX3dha2V1cF9wZDpSVzo0OjQ6PTB4MSBkZmlfbHBfZW5fcGQ6Ulc6MDoxOj0weDENCitkYXRhLnNldCAweDAwMTUwMWEwICVsb25nIDB4ODA0MDAwMDMgICAgIC8vVkFMVUVfREZJVVBEMCAgICAgLyBkaXNfYXV0b19jdHJsdXBkOlJXOjMxOjE6PTB4MSBkZmlfdF9jdHJsdXBfbWF4OlJXOjE2OjEwOj0weDQwIGRmaV90X2N0cmx1cF9taW46Ulc6MDoxMDo9MHgzDQorZGF0YS5zZXQgMHgwMDE1MDFhNCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX0RGSVVQRDEgICAgIC8gZGZpX3RfY3RybHVwZF9pbnRlcnZhbF9taW5feDEwMjQ6Ulc6MTY6ODo9MHgwIGRmaV90X2N0cmx1cGRfaW50ZXJ2YWxfbWF4X3gxMDI0OlJXOjA6ODo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDFhOCAlbG9uZyAweDgwMTAwMDEwICAgICAvL1ZBTFVFX0RGSVVQRDIgICAgIC8gZGZpX3BoeXVwZF9lbjpSVzozMToxOj0weDEgZGZpX3BoeXVwZF90eXBlMTpSVzoxNjoxMjo9MHgxMCBkZmlfcGh5dXBkX3R5cGUwOlJXOjA6MTI6PTB4MTANCitkYXRhLnNldCAweDAwMTUwMWIwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfREZJTUlTQyAgICAgLyBkZmlfZGF0YV9jc19wb2xhcml0eTpSVzoyOjE6PTB4MCBwaHlfZGJpX21vZGU6Ulc6MToxOj0weDAgZGZpX2luaXRfY29tcGxldGVfZW46Ulc6MDoxOj0weDANCitkYXRhLnNldCAweDAwMTUwMjAwICVsb25nIDB4MDAwMDAwMWYgICAgIC8vVkFMVUVfQUREUk1BUDAgICAgLyBhZGRybWFwX2RjaF9iaXQwOlJXOjE2OjU6PTB4MCBhZGRybWFwX2NzX2JpdDE6Ulc6ODo1Oj0weDAgYWRkcm1hcF9jc19iaXQwOlJXOjA6NTo9MHgxZg0KK2RhdGEuc2V0IDB4MDAxNTAyMDQgJWxvbmcgMHgwMDA3MDcwNyAgICAgLy9WQUxVRV9BRERSTUFQMSAgICAvIGFkZHJtYXBfYmFua19iMjpSVzoxNjo0Oj0weDcgYWRkcm1hcF9iYW5rX2IxOlJXOjg6NDo9MHg3IGFkZHJtYXBfYmFua19iMDpSVzowOjQ6PTB4Nw0KK2RhdGEuc2V0IDB4MDAxNTAyMDggJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9BRERSTUFQMiAgICAvIGFkZHJtYXBfY29sX2I1OlJXOjI0OjQ6PTB4MCBhZGRybWFwX2NvbF9iNDpSVzoxNjo0Oj0weDAgYWRkcm1hcF9jb2xfYjM6Ulc6ODo0Oj0weDAgYWRkcm1hcF9jb2xfYjI6Ulc6MDo0Oj0weDANCitkYXRhLnNldCAweDAwMTUwMjBjICVsb25nIDB4MGYwMDAwMDAgICAgIC8vVkFMVUVfQUREUk1BUDMgICAgLyBhZGRybWFwX2NvbF9iOTpSVzoyNDo0Oj0weGYgYWRkcm1hcF9jb2xfYjg6Ulc6MTY6NDo9MHgwIGFkZHJtYXBfY29sX2I3OlJXOjg6NDo9MHgwIGFkZHJtYXBfY29sX2I2OlJXOjA6NDo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDIxMCAlbG9uZyAweDAwMDAwZjBmICAgICAvL1ZBTFVFX0FERFJNQVA0ICAgIC8gYWRkcm1hcF9jb2xfYjExOlJXOjg6NDo9MHhmIGFkZHJtYXBfY29sX2IxMDpSVzowOjQ6PTB4Zg0KK2RhdGEuc2V0IDB4MDAxNTAyMTQgJWxvbmcgMHgwNjA2MDYwNiAgICAgLy9WQUxVRV9BRERSTUFQNSAgICAvIGFkZHJtYXBfcm93X2IxMTpSVzoyNDo0Oj0weDYgYWRkcm1hcF9yb3dfYjJfMTA6Ulc6MTY6NDo9MHg2IGFkZHJtYXBfcm93X2IxOlJXOjg6NDo9MHg2IGFkZHJtYXBfcm93X2IwOlJXOjA6NDo9MHg2DQorZGF0YS5zZXQgMHgwMDE1MDIxOCAlbG9uZyAweDBmMGYwZjA2ICAgICAvL1ZBTFVFX0FERFJNQVA2ICAgIC8gYWRkcm1hcF9yb3dfYjE1OlJXOjI0OjQ6PTB4ZiBhZGRybWFwX3Jvd19iMTQ6Ulc6MTY6NDo9MHhmIGFkZHJtYXBfcm93X2IxMzpSVzo4OjQ6PTB4ZiBhZGRybWFwX3Jvd19iMTI6Ulc6MDo0Oj0weDYNCitkYXRhLnNldCAweDAwMTUwMjQwICVsb25nIDB4MDQwMDA0MDAgICAgIC8vVkFMVUVfT0RUQ0ZHICAgICAgLyB3cl9vZHRfaG9sZDpSVzoyNDo0Oj0weDQgd3Jfb2R0X2RlbGF5OlJXOjE2OjQ6PTB4MCByZF9vZHRfaG9sZDpSVzo4OjQ6PTB4NCByZF9vZHRfZGVsYXk6Ulc6Mjo0Oj0weDANCitkYXRhLnNldCAweDAwMTUwMjQ0ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfT0RUTUFQICAgICAgLyByYW5rM19yZF9vZHQ6Ulc6Mjg6NDo9MHgwIHJhbmszX3dyX29kdDpSVzoyNDo0Oj0weDAgcmFuazJfcmRfb2R0OlJXOjIwOjQ6PTB4MCByYW5rMl93cl9vZHQ6Ulc6MTY6NDo9MHgwIHJhbmsxX3JkX29kdDpSVzoxMjo0Oj0weDAgcmFuazFfd3Jfb2R0OlJXOjg6NDo9MHgwIHJhbmswX3JkX29kdDpSVzo0OjQ6PTB4MCByYW5rMF93cl9vZHQ6Ulc6MDo0Oj0weDANCitkYXRhLnNldCAweDAwMTUwMjUwICVsb25nIDB4MDAwMDE4MDUgICAgIC8vVkFMVUVfU0NIRUQgICAgICAgLyByZHdyX2lkbGVfZ2FwOlJXOjI0Ojc6PTB4MCBnbzJjcml0aWNhbF9oeXN0ZXJlc2lzOlJXOjE2Ojg6PTB4MCBscHJfbnVtX2VudHJpZXM6Ulc6ODo2Oj0weDE4IHBhZ2VjbG9zZTpSVzoyOjE6PTB4MSBwcmVmZXJfd3JpdGU6Ulc6MToxOj0weDAgZm9yY2VfbG93X3ByaV9uOlJXOjA6MTo9MHgxDQorZGF0YS5zZXQgMHgwMDE1MDI1NCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1NDSEVEMSAgICAgIC8gcGFnZWNsb3NlX3RpbWVyOlJXOjA6ODo9MHgwDQorDQorZGF0YS5zZXQgMHgwMDE1MDMwMCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX0RCRzAgICAgICAgIC8gZGlzX2NvbGxpc2lvbl9wYWdlX29wdDpSVzo0OjE6PTB4MCBkaXNfYWN0X2J5cGFzczpSVzoyOjE6PTB4MCBkaXNfcmRfYnlwYXNzOlJXOjE6MTo9MHgwIGRpc193YzpSVzowOjE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAzMDQgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9EQkcxICAgICAgICAvIGRpc19kcTpSVzoxOjE6PTB4MCBkaXNfaGlnOlJXOjA6MTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDMwYyAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX0RCR0NNRCAgICAgIC8gY3RybHVwZDpSV1NDOjU6MTo9MHgwIHpxX2NhbGliX3Nob3J0OlJXU0M6NDoxOj0weDAgcmFuazNfcmVmcmVzaDpSV1NDOjM6MTo9MHgwIHJhbmsyX3JlZnJlc2g6UldTQzoyOjE6PTB4MCByYW5rMV9yZWZyZXNoOlJXU0M6MToxOj0weDAgcmFuazBfcmVmcmVzaDpSV1NDOjA6MTo9MHgwDQorDQorZGF0YS5zZXQgMHgwMDE1MDQwMCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDQ0ZHICAgICAgIC8gYmxfZXhwX21vZGU6Ulc6ODoxOj0weDAgcGFnZW1hdGNoX2xpbWl0OlJXOjE6MTo9MHgwIGdvMmNyaXRpY2FsX2VuOlJXOjA6MTo9MHgwDQorICAgIA0KKy8vZGRyX3Byb3JpdHlfY29uZmlnDQorLy9wb3J0IHJlYWQgc3RhdGljIHByaW9yaXR5IGJpdDAtOSwgYml0MC00IHRpbWVvdXQsIGJpdDUtOSBwcm9yaXR5DQorZGF0YS5zZXQgMHgwMDE1MDQwNCAlbG9uZyAweDAwMDAxM2ZmICAgICAvL1ZBTFVFX1BDRkdSXzAgICAgIC8gcmR3cl9vcmRlcmVkX2VuOlJXOjE2OjE6PTB4MCByZF9wb3J0X3BhZ2VtYXRjaF9lbjpSVzoxNDoxOj0weDAgcmRfcG9ydF91cmdlbnRfZW46Ulc6MTM6MTo9MHgwIHJkX3BvcnRfYWdpbmdfZW46Ulc6MTI6MTo9MHgxIHJlYWRfcmVvcmRlcl9ieXBhc3NfZW46Ulc6MTE6MTo9MHgwIHJkX3BvcnRfcHJpb3JpdHk6Ulc6MDoxMDo9MHgzZmYNCitkYXRhLnNldCAweDAwMTUwNGI0ICVsb25nIDB4MDAwMDEwMjAgICAgIC8vVkFMVUVfUENGR1JfMSAgICAgLyByZHdyX29yZGVyZWRfZW46Ulc6MTY6MTo9MHgwIHJkX3BvcnRfcGFnZW1hdGNoX2VuOlJXOjE0OjE6PTB4MCByZF9wb3J0X3VyZ2VudF9lbjpSVzoxMzoxOj0weDAgcmRfcG9ydF9hZ2luZ19lbjpSVzoxMjoxOj0weDEgcmVhZF9yZW9yZGVyX2J5cGFzc19lbjpSVzoxMToxOj0weDAgcmRfcG9ydF9wcmlvcml0eTpSVzowOjEwOj0weDIwDQorZGF0YS5zZXQgMHgwMDE1MDU2NCAlbG9uZyAweDAwMDAxMDAwICAgICAvL1ZBTFVFX1BDRkdSXzIgICAgIC8gcmR3cl9vcmRlcmVkX2VuOlJXOjE2OjE6PTB4MCByZF9wb3J0X3BhZ2VtYXRjaF9lbjpSVzoxNDoxOj0weDAgcmRfcG9ydF91cmdlbnRfZW46Ulc6MTM6MTo9MHgwIHJkX3BvcnRfYWdpbmdfZW46Ulc6MTI6MTo9MHgxIHJlYWRfcmVvcmRlcl9ieXBhc3NfZW46Ulc6MTE6MTo9MHgwIHJkX3BvcnRfcHJpb3JpdHk6Ulc6MDoxMDo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDYxNCAlbG9uZyAweDAwMDAxMDA0ICAgICAvL1ZBTFVFX1BDRkdSXzMgICAgIC8gcmR3cl9vcmRlcmVkX2VuOlJXOjE2OjE6PTB4MCByZF9wb3J0X3BhZ2VtYXRjaF9lbjpSVzoxNDoxOj0weDAgcmRfcG9ydF91cmdlbnRfZW46Ulc6MTM6MTo9MHgwIHJkX3BvcnRfYWdpbmdfZW46Ulc6MTI6MTo9MHgxIHJlYWRfcmVvcmRlcl9ieXBhc3NfZW46Ulc6MTE6MTo9MHgwIHJkX3BvcnRfcHJpb3JpdHk6Ulc6MDoxMDo9MHg0DQorLy9wb3J0IHdyaXRlIHN0YXRpYyBwcmlvcml0eSBiaXQwLTkNCitkYXRhLnNldCAweDAwMTUwNDA4ICVsb25nIDB4MDAwMDEzZmYgICAgIC8vVkFMVUVfUENGR1dfMCAgICAgLyB3cl9wb3J0X3BhZ2VtYXRjaF9lbjpSVzoxNDoxOj0weDAgd3JfcG9ydF91cmdlbnRfZW46Ulc6MTM6MTo9MHgwIHdyX3BvcnRfYWdpbmdfZW46Ulc6MTI6MTo9MHgxIHdyX3BvcnRfcHJpb3JpdHk6Ulc6MDoxMDo9MHgzZmYNCitkYXRhLnNldCAweDAwMTUwNGI4ICVsb25nIDB4MDAwMDEwZmYgICAgIC8vVkFMVUVfUENGR1dfMSAgICAgLyB3cl9wb3J0X3BhZ2VtYXRjaF9lbjpSVzoxNDoxOj0weDAgd3JfcG9ydF91cmdlbnRfZW46Ulc6MTM6MTo9MHgwIHdyX3BvcnRfYWdpbmdfZW46Ulc6MTI6MTo9MHgxIHdyX3BvcnRfcHJpb3JpdHk6Ulc6MDoxMDo9MHhmZg0KK2RhdGEuc2V0IDB4MDAxNTA1NjggJWxvbmcgMHgwMDAwMTAzZiAgICAgLy9WQUxVRV9QQ0ZHV18yICAgICAvIHdyX3BvcnRfcGFnZW1hdGNoX2VuOlJXOjE0OjE6PTB4MCB3cl9wb3J0X3VyZ2VudF9lbjpSVzoxMzoxOj0weDAgd3JfcG9ydF9hZ2luZ19lbjpSVzoxMjoxOj0weDEgd3JfcG9ydF9wcmlvcml0eTpSVzowOjEwOj0weDNmDQorZGF0YS5zZXQgMHgwMDE1MDYxOCAlbG9uZyAweDAwMDAxMDVmICAgICAvL1ZBTFVFX1BDRkdXXzMgICAgIC8gd3JfcG9ydF9wYWdlbWF0Y2hfZW46Ulc6MTQ6MTo9MHgwIHdyX3BvcnRfdXJnZW50X2VuOlJXOjEzOjE6PTB4MCB3cl9wb3J0X2FnaW5nX2VuOlJXOjEyOjE6PTB4MSB3cl9wb3J0X3ByaW9yaXR5OlJXOjA6MTA6PTB4NWYNCisvL3BvcnQgcmVhZCByZWdpb24gc2V0DQorZGF0YS5zZXQgMHgwMDE1MDQ5NCAlbG9uZyAweDAwMjAwMDBlICAgICAvL1ZBTFVFX1BDRkdRT1MwXzAgIC8gcnFvc19tYXBfcmVnaW9uMjpSVzoyNDoyOj0weDAgcnFvc19tYXBfcmVnaW9uMTpSVzoyMDoyOj0weDIgcnFvc19tYXBfcmVnaW9uMDpSVzoxNjoyOj0weDAgcnFvc19tYXBfbGV2ZWwyOlJXOjg6NDo9MHgwIHJxb3NfbWFwX2xldmVsMTpSVzowOjQ6PTB4ZQ0KK2RhdGEuc2V0IDB4MDAxNTA1NDQgJWxvbmcgMHgwMDIwMDAwZSAgICAgLy9WQUxVRV9QQ0ZHUU9TMF8xICAvIHJxb3NfbWFwX3JlZ2lvbjI6Ulc6MjQ6Mjo9MHgwIHJxb3NfbWFwX3JlZ2lvbjE6Ulc6MjA6Mjo9MHgyIHJxb3NfbWFwX3JlZ2lvbjA6Ulc6MTY6Mjo9MHgwIHJxb3NfbWFwX2xldmVsMjpSVzo4OjQ6PTB4MCBycW9zX21hcF9sZXZlbDE6Ulc6MDo0Oj0weGUNCitkYXRhLnNldCAweDAwMTUwNWY0ICVsb25nIDB4MDAyMDAwMGUgICAgIC8vVkFMVUVfUENGR1FPUzBfMiAgLyBycW9zX21hcF9yZWdpb24yOlJXOjI0OjI6PTB4MCBycW9zX21hcF9yZWdpb24xOlJXOjIwOjI6PTB4MiBycW9zX21hcF9yZWdpb24wOlJXOjE2OjI6PTB4MCBycW9zX21hcF9sZXZlbDI6Ulc6ODo0Oj0weDAgcnFvc19tYXBfbGV2ZWwxOlJXOjA6NDo9MHhlDQorZGF0YS5zZXQgMHgwMDE1MDZhNCAlbG9uZyAweDAwMjAwMDBlICAgICAvL1ZBTFVFX1BDRkdRT1MwXzMgIC8gcnFvc19tYXBfcmVnaW9uMjpSVzoyNDoyOj0weDAgcnFvc19tYXBfcmVnaW9uMTpSVzoyMDoyOj0weDIgcnFvc19tYXBfcmVnaW9uMDpSVzoxNjoyOj0weDAgcnFvc19tYXBfbGV2ZWwyOlJXOjg6NDo9MHgwIHJxb3NfbWFwX2xldmVsMTpSVzowOjQ6PTB4ZQ0KKy8vcG9ydCB3cml0ZSByZWdpb24gc2V0DQorZGF0YS5zZXQgMHgwMDE1MDQ5YyAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdXUU9TMF8wIC8gd3Fvc19tYXBfcmVnaW9uMTpSVzoyMDoyOj0weDAgd3Fvc19tYXBfcmVnaW9uMDpSVzoxNjoyOj0weDAgd3Fvc19tYXBfbGV2ZWw6Ulc6MDo0Oj0weDANCitkYXRhLnNldCAweDAwMTUwNTRjICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1dRT1MwXzEgLyB3cW9zX21hcF9yZWdpb24xOlJXOjIwOjI6PTB4MCB3cW9zX21hcF9yZWdpb24wOlJXOjE2OjI6PTB4MCB3cW9zX21hcF9sZXZlbDpSVzowOjQ6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTA1ZmMgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHV1FPUzBfMiAvIHdxb3NfbWFwX3JlZ2lvbjE6Ulc6MjA6Mjo9MHgwIHdxb3NfbWFwX3JlZ2lvbjA6Ulc6MTY6Mjo9MHgwIHdxb3NfbWFwX2xldmVsOlJXOjA6NDo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDZhYyAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdXUU9TMF8zIC8gd3Fvc19tYXBfcmVnaW9uMTpSVzoyMDoyOj0weDAgd3Fvc19tYXBfcmVnaW9uMDpSVzoxNjoyOj0weDAgd3Fvc19tYXBfbGV2ZWw6Ulc6MDo0Oj0weDANCisvL3ZwciB0aW1lb3V0LCByZWdpb24yIGlzIHJlZCBxdWV1ZQ0KK2RhdGEuc2V0IDB4MDAxNTA0OTggJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHUU9TMV8wICAvIHJxb3NfbWFwX3RpbWVvdXRyOlJXOjE2OjExOj0weDAgcnFvc19tYXBfdGltZW91dGI6Ulc6MDoxMTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDU0OCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdRT1MxXzEgIC8gcnFvc19tYXBfdGltZW91dHI6Ulc6MTY6MTE6PTB4MCBycW9zX21hcF90aW1lb3V0YjpSVzowOjExOj0weDANCitkYXRhLnNldCAweDAwMTUwNWY4ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1FPUzFfMiAgLyBycW9zX21hcF90aW1lb3V0cjpSVzoxNjoxMTo9MHgwIHJxb3NfbWFwX3RpbWVvdXRiOlJXOjA6MTE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTA2YTggJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHUU9TMV8zICAvIHJxb3NfbWFwX3RpbWVvdXRyOlJXOjE2OjExOj0weDAgcnFvc19tYXBfdGltZW91dGI6Ulc6MDoxMTo9MHgwDQorLy92cHcgdGltZW91dA0KK2RhdGEuc2V0IDB4MDAxNTA0YTAgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHV1FPUzFfMCAvIHdxb3NfbWFwX3RpbWVvdXQ6Ulc6MDoxMTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDU1MCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdXUU9TMV8xIC8gd3Fvc19tYXBfdGltZW91dDpSVzowOjExOj0weDANCitkYXRhLnNldCAweDAwMTUwNjAwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1dRT1MxXzIgLyB3cW9zX21hcF90aW1lb3V0OlJXOjA6MTE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTA2YjAgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHV1FPUzFfMyAvIHdxb3NfbWFwX3RpbWVvdXQ6Ulc6MDoxMTo9MHgwDQorLy9pbiBDQU0gc2V0DQorZGF0YS5zZXQgMHgwMDE1MDI1YyAlbG9uZyAweDBmMDAwMDAxICAgICAvL1ZBTFVFX1BFUkZIUFIxICAgIC8gaHByX3hhY3RfcnVuX2xlbmd0aDpSVzoyNDo4Oj0weGYgaHByX21heF9zdGFydmU6Ulc6MDoxNjo9MHgxDQorZGF0YS5zZXQgMHgwMDE1MDI2NCAlbG9uZyAweDBmMDAwMDdmICAgICAvL1ZBTFVFX1BFUkZMUFIxICAgIC8gbHByX3hhY3RfcnVuX2xlbmd0aDpSVzoyNDo4Oj0weGYgbHByX21heF9zdGFydmU6Ulc6MDoxNjo9MHg3Zg0KK2RhdGEuc2V0IDB4MDAxNTAyNmMgJWxvbmcgMHgwZjAwMDA3ZiAgICAgLy9WQUxVRV9QRVJGV1IxICAgICAvIHdfeGFjdF9ydW5fbGVuZ3RoOlJXOjI0Ojg6PTB4ZiB3X21heF9zdGFydmU6Ulc6MDoxNjo9MHg3Zg0KK2RhdGEuc2V0IDB4MDAxNTAyNzQgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QRVJGVlBSMSAgICAvIHZwcl90aW1lb3V0X3JhbmdlOlJXOjA6MTE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAyNzggJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QRVJGVlBXMSAgICAvIHZwd190aW1lb3V0X3JhbmdlOlJXOjA6MTE6PTB4MA0KKy8vcG9ydCBleHRlcm4gc3RhdGljIHByaW9yaXR5CQ0KKy8vZGF0YS5zZXQgMHgwMDEzZDAzNCAlbG9uZyAweGYwZjAwMDAwIC8vcG9ydDAsMSBycW9zPTAoTFBSKTsgcG9ydDIsMyBycW9zPUYoSFBSKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQorLy93YWl0IGFsbCByZWdpc3RlciBjb25maWdlciBkb25lIGluIGhhcmR3YXJlDQorV2FpdCAwLjAxcw0KKw0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvL2N0cm9sbGVyIGFuZCBpbm5vIHBoeSByZWdpc3RlcnMgY29uZmlnZXIgZG9uZQ0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCitkYXRhLnNldCAweDAxMzA2MTAwICVsb25nIDB4MGFmZmZmYzAgLy9yZWxlYXNlIGRkciBjdGwoYml0MTEpIGFuZCBheGlfc24gcmVzZXQoYml0Ni05KSAgYW5kIHBoeSByZXNldChiaXQxMikgIC8vyejWw8+1zbO8xLTmxvfWtQ0KK1dhaXQgMC4wMXMNCisNCisvL3N3IGNvbmZpZyBkb25lDQorZGF0YS5zZXQgMHgwMDE1MDMyMCAlbG9uZyAweDAwMDAwMDAwIC8vU1dDVEwgICAgICAvLyBzd19kb25lOlJXOjA6MTo9MHgwDQorLy9jaGVjayBwaHkgYXV0byBpbml0IGRvbmUsIHdhaXQgMHgwMDE1MDMyNCBiaXQwID0wDQorV2FpdCAwLjAxcw0KKw0KKy8vcG93ZXIgb24gUEhZIFBMTCANCitkYXRhLnNldCAweDAwMTU0M2I0ICVsb25nIDB4MDAwMDAwMTggLy9QSFlSRUdFRCxQTExDTEtPVVRFTjpSVzo0OjE6PTB4MSxSZXNlcnZlZDpSVzoyOjI6PTB4MiwgcGxsX3BkX2VuOlJXOjE6MTo9MHgwLCBmYmRpdls4XTpSVzowOjE6PTB4MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KKy8vd2FpdCBQSFkgUExMICBsb2NrLFBIWVJFR0Y4WzBdUGxsIGxvY2sgaW5kaWNhdGUgc2lnbmFsDQorDQorV2FpdCAwLjAxcw0KKw0KKy8vUEhZIERMTCBpbml0IHN0YXJ0LCBmYWxsIGVkZ2UgdHJpZ2dlcg0KK2RhdGEuc2V0IDB4MDAxNTQxN2MgJWxvbmcgMHgwMDAwMDAwYSAvL1BIWVJFRzVGLCAgUEhZIGluaXQgc3RhcnQ6NToxOj0weDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCisvL3dhaXQgZGxsIGxvY2ssIHBoeSBpbml0IGRvbmUsIFBIWVJFR0Y4WzFdUGh5IGluaXQgY29tcGxldGUgc2lnbmFsDQorV2FpdCAwLjAxcw0KKw0KKy8vZW5hYmxlIGNvbnRyb2xsZXIgZGZpX2luaXRfY29tcGxldGVfZW4gdG8gc3RhcnQgc2RyYW0gaW5pdCwgdGhlbiB3aWxsIHNlbmQgZHJhbSBpbml0IGNtZA0KK2RhdGEuc2V0IDB4MDAxNTAxYjAgJWxvbmcgMHgwMDAwMDAwMSAvL0RGSU1JU0MgICAgLy8gcGh5X2RiaV9tb2RlOlJXOjE6MTo9MHgwIGRmaV9pbml0X2NvbXBsZXRlX2VuOlJXOjA6MTo9MHgxCSAgICDKx7fxyKW19KOsu/LV37bU06bQ3rjEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCisvL2NoZWNrIGNvbnRyb2xsZXIgc3RhdHVzIGlzIHNkcmFtIGluaXQgZG9uZSx3YWl0IDB4MDAxNTAwMDQgYml0MC0yICE9MA0KK1dhaXQgMC4wMXMNCitkYXRhLnNldCAweDAwMTUwMWIwICVsb25nIDB4MDAwMDAwMDAgLy9kZmltaXNjWzBdIHBoeV9kYmlfbW9kZTpSVzoxOjE6PTB4MCBkZmlfaW5pdF9jb21wbGV0ZV9lbjpSVzowOjE6PTB4MA0KKw0KKy8vcGh5IERRUyBnYXRlIHRyYWluaW5nIHN0YXJ0DQorZGF0YS5zZXQgMHgwMDE1NDAwOCAlbG9uZyAweDAwMDAwMDAxIC8vUEhZUkVHMDIsYml0MDpEUVMgZ2F0aW5nIGNhbGlicmF0aW9uIGNvbnRyb2w9MSwgYml0MTpEUVMgZ2F0aW5nIGJ5cGFzcyBtb2RlIHNlbGVjdD0wDQorLy93YWl0IHRyYWluaW5nIGRvbmUNCitXYWl0IDAuMXMNCisvL3BoeSBEUVMgZ2F0ZSB0cmFpbmluZyBzdG9wDQorZGF0YS5zZXQgMHgwMDE1NDAwOCAlbG9uZyAweDAwMDAwMDAwIC8vUEhZUkVHMDIsYml0MDpEUVMgZ2F0aW5nIGNhbGlicmF0aW9uIGNvbnRyb2w9MCwgYml0MTpEUVMgZ2F0aW5nIGJ5cGFzcyBtb2RlIHNlbGVjdD0wDQorDQorLy9lbmFibGUgcG9ydF9uDQorZGF0YS5zZXQgMHgwMDE1MDQ5MCAlbG9uZyAweDAwMDAwMDAxICAgICAvL1ZBTFVFX1BDVFJMXzAgICAgIC8gcG9ydF9lbjpSVzowOjE6PTB4MQ0KK2RhdGEuc2V0IDB4MDAxNTA1NDAgJWxvbmcgMHgwMDAwMDAwMSAgICAgLy9WQUxVRV9QQ1RSTF8xICAgICAvIHBvcnRfZW46Ulc6MDoxOj0weDENCitkYXRhLnNldCAweDAwMTUwNWYwICVsb25nIDB4MDAwMDAwMDEgICAgIC8vVkFMVUVfUENUUkxfMiAgICAgLyBwb3J0X2VuOlJXOjA6MTo9MHgxDQorZGF0YS5zZXQgMHgwMDE1MDZhMCAlbG9uZyAweDAwMDAwMDAxICAgICAvL1ZBTFVFX1BDVFJMXzMgICAgIC8gcG9ydF9lbjpSVzowOjE6PTB4MQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3N5cy9kZHJfaW5pdF80MDBtLmNtbSBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3N5cy9kZHJfaW5pdF80MDBtLmNtbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yZTc3MGNhCi0tLSAvZGV2L251bGwKKysrIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3lzL2Rkcl9pbml0XzQwMG0uY21tCkBAIC0wLDAgKzEsMjEwIEBACisvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vKiBaWDI5NzUyMSBQcm9qZWN0IHVNQ1RMMiBERFIgY29udHJvbGxlciBwYXJhbWV0ZXIgY29uZmlndXJhdGlvbg0KKy8vKiB1TUNUTDIgUmV2LjogMi41MGEgDQorLy8qIEF1dGhvcjogQ2hlbiBKaWFuaG9uZw0KKy8vKiBEZXBhcnRtZW50OiBJUCBkZXNpZ24NCisvLyogT3B0aW9uOiBNZW1vcnkgVHlwZSAgPSBMUEREUjINCisvLyogT3B0aW9uOiBNZW1vcnkgRnJlcXVlbmN5KE1IeikgID0gNDAwDQorLy8qIE9wdGlvbjogTWVtb3J5IFNwYWNlKEdiKSAgPSAxDQorLy8qIE9wdGlvbjogRFJBTSBkcml2ZSBpbXBlZGFuY2UoT2htKSAgPSA0MA0KKy8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorDQorLy8tLS0tLS0tLS0tLS0tLS0tLS0tYmVsb3cgaXMgZGRyIHNldHRpbmctLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKw0KKy8vZGF0YS5zZXQgMHgwMTMwNjEwMCAlbG9uZyAweGZmZmZlMDAwIC8vZGRyIGFsbCByZXNldCBlbmFibGUgIGJpdDYtMTI9MCAgIA0KK2RhdGEuc2V0IDB4MDEzMDYxMDAgJWxvbmcgMHgwYWZmZTAwMCAvL2RkciBhbGwgcmVzZXQgZW5hYmxlICBiaXQ2LTEyPTAgDQorV2FpdCAwLjAxcyAgDQorZGF0YS5zZXQgMHgwMTMwNjEwMCAlbG9uZyAweDBhZmZlNDAwIC8vcmVsZWFzZSBkZHIgYXBiKGJpdDEwKQ0KK1dhaXQgMC4wMXMNCisNCisvL0REUiB0b3AgY2xvY2sgc2VsZWN0IHRvcCBjbGsgMTU2TSwgYml0MC0xLCAwPTE1NiwgMT0yMDAsIDI9MTA0LCAzPTc4DQorLy8wOiB0b3AgY2xrPTE1Nk0sICAgICAgZGRyIHVzZSBtaXNzaW9uIG1vZGUgLCBkcmFtIGlvIGNsaz0zMTJNDQorLy8xOiB0b3AgY2xrPTIwME0sICAgICBkZHIgdXNlIG1pc3Npb24gbW9kZSAsIGRyYW0gaW8gY2xrPTQwME0NCisvLzI6IHRvcCBjbGs9MTA0TSwgICAgIGRkciB1c2UgbWlzc2lvbiBtb2RlICwgZHJhbSBpbyBjbGs9MjA4TQ0KKy8vMzogdG9wIGNsaz03OE0sICAgICBkZHIgdXNlIG1pc3Npb24gbW9kZSAsIGRyYW0gaW8gY2xrPTE1Nk0NCitkYXRhLnNldCAweDAxMzA2MDUwICVsb25nIDB4MDAwMDAwMDEgIC8vt9bGtcno1sOjrLbU06bQ6NKq0N64xMLwDQorDQorLy9waHkgcmVnaXN0ZXIgaW5pdCAgDQorZGF0YS5zZXQgMHgwMDE1NDAwNCAlbG9uZyAweDAwMDAwMDA3ICAvL1ZBTFVFX1BIWVJFRzAxICAgLyBSZXNlcnZlZDpSVzoyOjY6PTB4MSwgUEhZX01PREU6Ulc6MDoyOj0weDIoTFBERFIyOjB4MyxMUEREUjM6MHgyKQ0KK2RhdGEuc2V0IDB4MDAxNTQwMmMgJWxvbmcgMHgwMDAwMDA4MCAgLy9WQUxVRV9QSFlSRUcwQiAgIC8gUkw6Ulc6NDo0Oj0weDgNCitkYXRhLnNldCAweDAwMTU0MDMwICVsb25nIDB4MDAwMDAwMDQgIC8vVkFMVUVfUEhZUkVHMEMgICAvIFdMOlJXOjA6NDo9MHg0DQorDQorZGF0YS5zZXQgMHgwMDE1NDNiMCAlbG9uZyAweDAwMDAwMDEwICAvL1ZBTFVFX1BIWVJFR0VDICAgLyBmYmRpdls3OjBdPTB4MTANCitkYXRhLnNldCAweDAwMTU0M2I0ICVsb25nIDB4MDAwMDAwMWEgIC8vVkFMVUVfUEhZUkVHRUQgICAvIFBMTENMS09VVEVOOlJXOjQ6MTo9MHgxLFJlc2VydmVkOlJXOjI6Mjo9MHgyLCBwbGxwZDpSVzoxOjE6PTB4MSwgZmJkaXZbOF06Ulc6MDoxOj0weDANCitkYXRhLnNldCAweDAwMTU0M2I4ICVsb25nIDB4MDAwMDAwMjIgIC8vVkFMVUVfUEhZUkVHRUUgICAvIHByZWRpdls0OjBdOlJXOjA6NTo9MHgyLHBvc3RkaXZbMjowXTpSVzo1OjM6PTB4MQ0KKw0KKy8vSW50ZXJuYWwgVlJFRiBnZW5lcmF0aW9uKGRlZnVhbHQpDQorZGF0YS5zZXQgMHgwMDE1NDI4YyAlbG9uZyAweDAwMDAwMDMwICAvL1ZBTFVFX1BIWVJFR0EzICAgLyBDaGFubmVsIEEvQiBoaXRoIDhiaXRzOiB2cmVmX3NlbDpSVzo1OjE6PTB4MSx2cmVmX3ZhbHVlWzQ6MF06Ulc6MDo1Oj0weDEwDQorZGF0YS5zZXQgMHgwMDE1NDJiOCAlbG9uZyAweDAwMDAwMDMwICAvL1ZBTFVFX1BIWVJFR0FFICAgLyBDaGFubmVsIEEvQiBsb3cgIDhiaXRzOiB2cmVmX3NlbDpSVzo1OjE6PTB4MSx2cmVmX3ZhbHVlWzQ6MF06Ulc6MDo1Oj0weDEwDQorDQorLy9Ecml2ZSBzdHJlbmd0aChkZWZ1YWx0KQ0KK2RhdGEuc2V0IDB4MDAxNTQwNDQgJWxvbmcgMHgwMDAwMDAwYSAgLy9WQUxVRV9QSFlSRUcxMSAgIC8gQ01EIGRyaXZlIHN0cmVuZ3RoOiBjbWRfbnJjb21wWzQ6MF06Ulc6MDo1Oj0weGENCitkYXRhLnNldCAweDAwMTU0MDU4ICVsb25nIDB4MDAwMDAwMGEgIC8vVkFMVUVfUEhZUkVHMTYgICAvIENLICBkcml2ZSBzdHJlbmd0aDogY2tfbnJjb21wIFs0OjBdOlJXOjA6NTo9MHhhDQorZGF0YS5zZXQgMHgwMDE1NDA2NCAlbG9uZyAweDAwMDAwMDBhICAvL1ZBTFVFX1BIWVJFRzE5ICAgLyBDSyAgcHVsbF91cCAgIGRyaXZlIHN0cmVuZ3RoKERTKTpSVzowOjU6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTQwNjggJWxvbmcgMHgwMDAwMDAwYSAgLy9WQUxVRV9QSFlSRUcxQSAgIC8gQ01EIHB1bGxfdXAgICBkcml2ZSBzdHJlbmd0aChEUyk6Ulc6MDo1Oj0weGENCitkYXRhLnNldCAweDAwMTU0MDgwICVsb25nIDB4MDAwMDAwMGEgIC8vVkFMVUVfUEhZUkVHMjAgICAvIEFfRFEwfkFfRFE3IHB1bGxfZG93biBEUyA6Ulc6MDo1Oj0weGENCitkYXRhLnNldCAweDAwMTU0MDg0ICVsb25nIDB4MDAwMDAwMGEgIC8vVkFMVUVfUEhZUkVHMjEgICAvIEFfRFEwfkFfRFE3IHB1bGxfZG93biBPRFQ6Ulc6MDo1Oj0weGENCitkYXRhLnNldCAweDAwMTU0MGI4ICVsb25nIDB4MDAwMDAwOGEgIC8vVkFMVUVfUEhZUkVHMkUgICAvIEFfRFEwfkFfRFE3IHB1bGxfdXAgICBEUyA6Ulc6MDo1Oj0weGEsIGZhbGxpbmcgZWRnZSBzbGV3IHJhdGU6Ulc6NTozOj0weDQNCitkYXRhLnNldCAweDAwMTU0MGJjICVsb25nIDB4MDAwMDAwOGEgIC8vVkFMVUVfUEhZUkVHMkYgICAvIEFfRFEwfkFfRFE3IHB1bGxfdXAgICBPRFQ6Ulc6MDo1Oj0weGEsIHJpc2luZyAgZWRnZSBzbGV3IHJhdGU6Ulc6NTozOj0weDQNCitkYXRhLnNldCAweDAwMTU0MGMwICVsb25nIDB4MDAwMDAwOGEgIC8vVkFMVUVfUEhZUkVHMzAgICAvIEFfRFE4fkFfRFExNSBwdWxsX2Rvd24gRFMgOlJXOjA6NTo9MHhhLCBmYWxsaW5nIGVkZ2Ugc2xldyByYXRlOlJXOjU6Mzo9MHg0DQorZGF0YS5zZXQgMHgwMDE1NDBjNCAlbG9uZyAweDAwMDAwMDhhICAvL1ZBTFVFX1BIWVJFRzMxICAgLyBBX0RROH5BX0RRMTUgcHVsbF9kb3duIE9EVDpSVzowOjU6PTB4YSwgcmlzaW5nICBlZGdlIHNsZXcgcmF0ZTpSVzo1OjM6PTB4NA0KK2RhdGEuc2V0IDB4MDAxNTQwZjggJWxvbmcgMHgwMDAwMDAwYSAgLy9WQUxVRV9QSFlSRUczRSAgIC8gQV9EUTh+QV9EUTE1IHB1bGxfdXAgICBEUyA6Ulc6MDo1Oj0weGENCitkYXRhLnNldCAweDAwMTU0MGZjICVsb25nIDB4MDAwMDAwMGEgIC8vVkFMVUVfUEhZUkVHM0YgICAvIEFfRFE4fkFfRFExNSBwdWxsX3VwICAgT0RUOlJXOjA6NTo9MHhhDQorDQorZGF0YS5zZXQgMHgwMDE1NDEwMCAlbG9uZyAweDAwMDAwMDBhICAvL1ZBTFVFX1BIWVJFRzQwICAgLyBCX0RRMH5CX0RRNyBwdWxsX2Rvd24gRFMgOlJXOjA6NTo9MHhhDQorZGF0YS5zZXQgMHgwMDE1NDEwNCAlbG9uZyAweDAwMDAwMDBhICAvL1ZBTFVFX1BIWVJFRzQxICAgLyBCX0RRMH5CX0RRNyBwdWxsX2Rvd24gT0RUOlJXOjA6NTo9MHhhDQorZGF0YS5zZXQgMHgwMDE1NDEzOCAlbG9uZyAweDAwMDAwMDhhICAvL1ZBTFVFX1BIWVJFRzRFICAgLyBCX0RRMH5CX0RRNyBwdWxsX3VwICAgRFMgOlJXOjA6NTo9MHhhLCBmYWxsaW5nIGVkZ2Ugc2xldyByYXRlOlJXOjU6Mzo9MHg0DQorZGF0YS5zZXQgMHgwMDE1NDEzYyAlbG9uZyAweDAwMDAwMDhhICAvL1ZBTFVFX1BIWVJFRzRGICAgLyBCX0RRMH5CX0RRNyBwdWxsX3VwICAgT0RUOlJXOjA6NTo9MHhhLCByaXNpbmcgIGVkZ2Ugc2xldyByYXRlOlJXOjU6Mzo9MHg0DQorDQorZGF0YS5zZXQgMHgwMDE1NDE0MCAlbG9uZyAweDAwMDAwMDhhICAvL1ZBTFVFX1BIWVJFRzUwICAgLyBCX0RROH5CX0RRMTUgcHVsbF9kb3duIERTIDpSVzowOjU6PTB4YSwgZmFsbGluZyBlZGdlIHNsZXcgcmF0ZTpSVzo1OjM6PTB4NA0KK2RhdGEuc2V0IDB4MDAxNTQxNDQgJWxvbmcgMHgwMDAwMDA4YSAgLy9WQUxVRV9QSFlSRUc1MSAgIC8gQl9EUTh+Ql9EUTE1IHB1bGxfZG93biBPRFQ6Ulc6MDo1Oj0weGEsIHJpc2luZyAgZWRnZSBzbGV3IHJhdGU6Ulc6NTozOj0weDQNCitkYXRhLnNldCAweDAwMTU0MTc4ICVsb25nIDB4MDAwMDAwMGEgIC8vVkFMVUVfUEhZUkVHNUUgICAvIEJfRFE4fkJfRFExNSBwdWxsX3VwICAgRFMgOlJXOjA6NTo9MHhhDQorZGF0YS5zZXQgMHgwMDE1NDE3YyAlbG9uZyAweDAwMDAwMDJhICAvL1ZBTFVFX1BIWVJFRzVGICAgLyBCX0RROH5CX0RRMTUgcHVsbF91cCAgIE9EVDpSVzowOjU6PTB4YSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KKw0KKy8vY29udHJvbGxlciByZWdpc3RlciBpbml0DQorZGF0YS5zZXQgMHgwMDE1MDAwMCAlbG9uZyAweDAxMDQwMDA0ICAgICAvL1ZBTFVFX01TVFIgICAgICAgIC8gZGV2aWNlX2NvbmZpZzpSVzozMDoyOj0weDAgZnJlcXVlbmN5X21vZGU6Ulc6Mjk6MTo9MHgwIGFjdGl2ZV9yYW5rczpSVzoyNDo0Oj0weDMgYnVyc3RfcmR3cjpSVzoxNjo0Oj0weDQgZGxsX29mZl9tb2RlOlJXOjE1OjE6PTB4MCBkYXRhX2J1c193aWR0aDpSVzoxMjoyOj0weDAgZ2VhcmRvd25fbW9kZTpSVzoxMToxOj0weDAgZW5fMnRfdGltaW5nX21vZGU6Ulc6MTA6MTo9MHgwIGJ1cnN0Y2hvcDpSVzo5OjE6PTB4MCBidXJzdF9tb2RlOlJXOjg6MTo9MHgwIGxwZGRyNDpSVzo1OjE6PTB4MCBkZHI0OlJXOjQ6MTo9MHgwIGxwZGRyMzpSVzozOjE6PTB4MCBscGRkcjI6Ulc6MjoxOj0weDEgbW9iaWxlOlJXOjE6MTo9MHgwIGRkcjM6Ulc6MDoxOj0weDANCitkYXRhLnNldCAweDAwMTUwMDEwICVsb25nIDB4MDAwMDAwMzAgICAgIC8vVkFMVUVfTVJDVFJMMCAgICAgLyBtcl93cjpSVzozMToxOj0weDAgbXJfYWRkcjpSVzoxMjo0Oj0weDAgbXJfcmFuazpSVzo0OjQ6PTB4MyBzd19pbml0X2ludDpSVzozOjE6PTB4MCBwZGFfZW46Ulc6MjoxOj0weDAgbXByX2VuOlJXOjE6MTo9MHgwIG1yX3R5cGU6Ulc6MDoxOj0weDANCitkYXRhLnNldCAweDAwMTUwMDE0ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfTVJDVFJMMSAgICAgL21yX2RhdGE6Ulc6MDoxNjo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDAyMCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX0RFUkFURUVOICAgIC9yY19kZXJhdGVfdmFsdWU6Ulc6ODoyOj0weDAgZGVyYXRlX2J5dGU6Ulc6NDo0Oj0weDAgZGVyYXRlX3ZhbHVlOlJXOjE6MTo9MHgwIGRlcmF0ZV9lbmFibGU6Ulc6MDoxOj0weDANCitkYXRhLnNldCAweDAwMTUwMDI0ICVsb25nIDB4MDA4MDAwMDAgICAgIC8vVkFMVUVfREVSQVRFSU5UICAgL21yNF9yZWFkX2ludGVydmFsOlJXOjA6MzI6PTB4ODAwMDAwDQorDQorZGF0YS5zZXQgMHgwMDE1MDAzMCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BXUkNUTCAgICAgIC8gc3RheV9pbl9zZWxmcmVmOlJXOjY6MTo9MHgwIHNlbGZyZWZfc3c6Ulc6NToxOj0weDAgbXBzbV9lbjpSVzo0OjE6PTB4MCBlbl9kZmlfZHJhbV9jbGtfZGlzYWJsZTpSVzozOjE6PTB4MCBkZWVwcG93ZXJkb3duX2VuOlJXOjI6MTo9MHgwIHBvd2VyZG93bl9lbjpSVzoxOjE6PTB4MSBzZWxmcmVmX2VuOlJXOjA6MTo9MHgxDQorZGF0YS5zZXQgMHgwMDE1MDAzNCAlbG9uZyAweDAwMDUyMDAyICAgICAvL1ZBTFVFX1BXUlRNRyAgICAgIC8gc2VsZnJlZl90b194MzI6Ulc6MTY6ODo9MHg1IGRlZXBwb3dlcmRvd25fdG9feDEwMjQ6Ulc6ODo4Oj0weDIwIHBvd2VyZG93bl90b194MzI6Ulc6MDo1Oj0weDINCitkYXRhLnNldCAweDAwMTUwMDM4ICVsb25nIDB4MDAwNDAwMDMgICAgIC8vVkFMVUVfSFdMUENUTCAgICAgLyBod19scF9pZGxlX3gzMjpSVzoxNjoxMjo9MHg0IGh3X2xwX2V4aXRfaWRsZV9lbjpSVzoxOjE6PTB4MSBod19scF9lbjpSVzowOjE6PTB4MQ0KK2RhdGEuc2V0IDB4MDAxNTAwNTAgJWxvbmcgMHgwMDIxMDAwMCAgICAgLy9WQUxVRV9SRlNIQ1RMMCAgICAvIHJlZnJlc2hfbWFyZ2luOlJXOjIwOjQ6PTB4MiByZWZyZXNoX3RvX3gzMjpSVzoxMjo1Oj0weDEwIHJlZnJlc2hfYnVyc3Q6Ulc6NDo1Oj0weDAgcGVyX2JhbmtfcmVmcmVzaDpSVzoyOjE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAwNTQgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9SRlNIQ1RMMSAgICAvIHJlZnJlc2hfdGltZXIxX3N0YXJ0X3ZhbHVlX3gzMjpSVzoxNjoxMjo9MHgwIHJlZnJlc2hfdGltZXIwX3N0YXJ0X3ZhbHVlX3gzMjpSVzowOjEyOj0weDANCitkYXRhLnNldCAweDAwMTUwMDU4ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUkZTSENUTDIgICAgLyByZWZyZXNoX3RpbWVyM19zdGFydF92YWx1ZV94MzI6Ulc6MTY6MTI6PTB4MCByZWZyZXNoX3RpbWVyMl9zdGFydF92YWx1ZV94MzI6Ulc6MDoxMjo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDA2MCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1JGU0hDVEwzICAgIC8gcmVmcmVzaF9tb2RlOlJXOjQ6Mzo9MHgwIHJlZnJlc2hfdXBkYXRlX2xldmVsOlJXOjE6MTo9MHgwIGRpc19hdXRvX3JlZnJlc2g6Ulc6MDoxOj0weDANCitkYXRhLnNldCAweDAwMTUwMDY0ICVsb25nIDB4MDAzMDAwMWEgICAgIC8vVkFMVUVfUkZTSFRNRyAgICAgLyB0X3JmY19ub21feDMyKHRyZWZpKTpSVzoxNjoxMjo9MHgzMCBscGRkcjNfdHJlZmJ3X2VuOlJXOjE1OjE6PTB4MCB0X3JmY19taW46Ulc6MDo5Oj0weDFhDQorZGF0YS5zZXQgMHgwMDE1MDBkMCAlbG9uZyAweDAwMjgwMDAxICAgICAvL1ZBTFVFX0lOSVQwICAgICAgIC8gc2tpcF9kcmFtX2luaXQ6Ulc6MzE6Mjo9MHgwIHBvc3RfY2tlX3gxMDI0OlJXOjE2OjEwOj0weDI4IHByZV9ja2VfeDEwMjQ6Ulc6MDoxMTo9MHgxDQorZGF0YS5zZXQgMHgwMDE1MDBkNCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX0lOSVQxICAgICAgIC8gZHJhbV9yc3RuX3gxMDI0OlJXOjE2Ojg6PTB4MCBmaW5hbF93YWl0X3gzMjpSVzo4Ojc6PTB4MCBwcmVfb2NkX3gzMjpSVzowOjQ6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAwZDggJWxvbmcgMHgwMDAwMDYwNSAgICAgLy9WQUxVRV9JTklUMiAgICAgICAvIGlkbGVfYWZ0ZXJfcmVzZXRfeDMyOlJXOjg6ODo9MHg2IG1pbl9zdGFibGVfY2xvY2tfeDE6Ulc6MDo0Oj0weDUNCisvL01SMj1STC9XTKOsMaO6UkwzL1dMMaOsMqO6Ukw0L1dMMqOsM6O6Ukw6NS9XTDKjrDSjulJMNi9XTDM6o6w1o7pSTDcvV0w0o6w2o7pSTDgvV0w0DQorZGF0YS5zZXQgMHgwMDE1MDBkYyAlbG9uZyAweDAwODMwMDA2ICAgICAvL1ZBTFVFX0lOSVQzICAgICAgIC8gbXI6Ulc6MTY6MTY6PTB4ODMgZW1yOlJXOjA6MTY6PTB4Ng0KKy8vYml0MTYtMzGjrExQRERSMiBNUjMgdmFsdWWjrMb3vP5EU8SsyM/KxzQwb2hto6yjqDE9MzQuM6OsMj00MCwzPTQ4LDQ9NjAsNj04MKOpDQorZGF0YS5zZXQgMHgwMDE1MDBlMCAlbG9uZyAweDAwMDIwMDAwICAgICAvL1ZBTFVFX0lOSVQ0ICAgICAgIC8gZW1yMjpSVzoxNjoxNjo9MHgyIGVtcjM6Ulc6MDoxNjo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDBlNCAlbG9uZyAweDAwMDcwMDAyICAgICAvL1ZBTFVFX0lOSVQ1ICAgICAgIC8gZGV2X3pxaW5pdF94MzI6Ulc6MTY6ODo9MHg3IG1heF9hdXRvX2luaXRfeDEwMjQ6Ulc6MDoxMDo9MHgyDQorZGF0YS5zZXQgMHgwMDE1MDBmNCAlbG9uZyAweDAwMDAwNjZmICAgICAvL1ZBTFVFX1JBTktDVEwgICAgIC8gZGlmZl9yYW5rX3dyX2dhcDpSVzo4OjQ6PTB4NiBkaWZmX3JhbmtfcmRfZ2FwOlJXOjQ6NDo9MHg2IG1heF9yYW5rX3JkOlJXOjA6NDo9MHhmDQorZGF0YS5zZXQgMHgwMDE1MDEwMCAlbG9uZyAweDA3MGEwZDA4ICAgICAvL1ZBTFVFX0RSQU1UTUcwICAgIC8gd3IycHJlOlJXOjI0OjY6PTB4NyB0X2ZhdzpSVzoxNjo2Oj0weGEgdF9yYXNfbWF4OlJXOjg6Nzo9MHhkIHRfcmFzX21pbjpSVzowOjY6PTB4OA0KK2RhdGEuc2V0IDB4MDAxNTAxMDQgJWxvbmcgMHgwMDAyMDIwZCAgICAgLy9WQUxVRV9EUkFNVE1HMSAgICAvIHRfeHA6Ulc6MTY6NTo9MHgyIHJkMnByZTpSVzo4OjU6PTB4MiB0X3JjOlJXOjA6Njo9MHhkDQorLy9STD1iaXQxNi0yMaOsMaO6Ukw9MqOsMqO6Ukw9NKOsM6O6Ukw9NqOsNKO6Uj04o6xXTD1iaXQyNC0yOaOsMaO6V0w9MqOsMqO6V0w9NA0KKy8v1eLA77W81sJNUjK1xMXk1sOjqDB4MDEyMTYwZGOjqbK7xNzRodTxuqzT0Mbmyv21xNa1Pw0KK2RhdGEuc2V0IDB4MDAxNTAxMDggJWxvbmcgMHgwMjA0MDYwNiAgICAgLy9WQUxVRV9EUkFNVE1HMiAgICAvIHdyaXRlX2xhdGVuY3k6Ulc6MjQ6Njo9MHgyIHJlYWRfbGF0ZW5jeTpSVzoxNjo2Oj0weDQgcmQyd3I6Ulc6ODo2Oj0weDYgd3IycmQ6Ulc6MDo2Oj0weDYNCitkYXRhLnNldCAweDAwMTUwMTBjICVsb25nIDB4MDA1MDEwMDAgICAgIC8vVkFMVUVfRFJBTVRNRzMgICAgLyB0X21ydzpSVzoyMDoxMDo9MHg1IHRfbXJkOlJXOjEyOjY6PTB4MSB0X21vZDpSVzowOjEwOj0weDANCitkYXRhLnNldCAweDAwMTUwMTEwICVsb25nIDB4MDQwMTAyMDUgICAgIC8vVkFMVUVfRFJBTVRNRzQgICAgLyB0X3JjZDpSVzoyNDo1Oj0weDQgdF9jY2Q6Ulc6MTY6NDo9MHgxIHRfcnJkOlJXOjg6NDo9MHgyIHRfcnA6Ulc6MDo1Oj0weDUNCitkYXRhLnNldCAweDAwMTUwMTE0ICVsb25nIDB4MDEwMTAzMDMgICAgIC8vVkFMVUVfRFJBTVRNRzUgICAgLyB0X2Nrc3J4OlJXOjI0OjQ6PTB4MSB0X2Nrc3JlOlJXOjE2OjQ6PTB4MSB0X2NrZXNyOlJXOjg6Njo9MHgzIHRfY2tlOlJXOjA6NDo9MHgzDQorZGF0YS5zZXQgMHgwMDE1MDExOCAlbG9uZyAweDAyMDIwMDAzICAgICAvL1ZBTFVFX0RSQU1UTUc2ICAgIC8gdF9ja2RwZGU6Ulc6MjQ6NDo9MHgyIHRfY2tkcGR4OlJXOjE2OjQ6PTB4MiB0X2NrY3N4OlJXOjA6NDo9MHgzDQorZGF0YS5zZXQgMHgwMDE1MDExYyAlbG9uZyAweDAwMDAwMjAyICAgICAvL1ZBTFVFX0RSQU1UTUc3ICAgIC8gdF9ja3BkZTpSVzo4OjQ6PTB4MiB0X2NrcGR4OlJXOjA6NDo9MHgyDQorZGF0YS5zZXQgMHgwMDE1MDEzOCAlbG9uZyAweDAwMDAwMDFjICAgICAvL1ZBTFVFX0RSQU1UTUcxNCAgIC8gdF94c3I6Ulc6MDoxMjo9MHgxYw0KKy8vYml0MzA9MSBEaXNhYmxlIGlzc3Vpbmcgb2YgWlFDTC9NUEMoWlEgY2FsaWJyYXRpb24pIGNvbW1hbmQgYXQgU2VsZi1SZWZyZXNoL1NSLVBvd2VyZG93biBleGl0IKOsNzUyMNfuv6rKvMXk1sPOqjCjrLW81sLX1Lav19TLotDCuabE3M3Ls/bKsdHTyrG63LTzo6xzZGlvtsHK/b7ds/a07Q0KK2RhdGEuc2V0IDB4MDAxNTAxODAgJWxvbmcgMHg0MDQ4MDAxMiAgICAgLy9WQUxVRV9aUUNUTDAgICAgICAvIGRpc19hdXRvX3pxOlJXOjMxOjE6PTB4MCBkaXNfc3J4X3pxY2w6Ulc6MzA6MTo9MHgxIHpxX3Jlc2lzdG9yX3NoYXJlZDpSVzoyOToxOj0weDAgZGlzX21wc214X3pxY2w6Ulc6Mjg6MTo9MHgwIHRfenFfbG9uZ19ub3A6Ulc6MTY6MTA6PTB4NDggdF96cV9zaG9ydF9ub3A6Ulc6MDoxMDo9MHgxMg0KK2RhdGEuc2V0IDB4MDAxNTAxODQgJWxvbmcgMHgwMGEwMDEwMCAgICAgLy9WQUxVRV9aUUNUTDEgICAgICAvIHRfenFfcmVzZXRfbm9wOlJXOjIwOjEwOj0weGEgdF96cV9zaG9ydF9pbnRlcnZhbF94MTAyNDpSVzowOjIwOj0weDEwMA0KK2RhdGEuc2V0IDB4MDAxNTAxODggJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9aUUNUTDIgICAgICAvIHpxX3Jlc2V0OlJXOjA6MTo9MHgwDQorLy9kZmlfdF9yZGRhdGFfZW49MyzWrsewNzUyMMnPyeizyTK74bW81sK2wW1ytsG07Q0KK2RhdGEuc2V0IDB4MDAxNTAxOTAgJWxvbmcgMHgwNDAzMDAwMSAgICAgLy9WQUxVRV9ERklUTUcwICAgICAvIGRmaV90X2N0cmxfZGVsYXk6Ulc6MjQ6NTo9MHg0IGRmaV9yZGRhdGFfdXNlX3NkcjpSVzoyMzoxOj0weDAgZGZpX3RfcmRkYXRhX2VuOlJXOjE2OjY6PTB4MyBkZmlfd3JkYXRhX3VzZV9zZHI6Ulc6MTU6MTo9MHgwIGRmaV90cGh5X3dyZGF0YTpSVzo4OjY6PTB4MCBkZmlfdHBoeV93cmxhdDpSVzowOjY6PTB4MQ0KK2RhdGEuc2V0IDB4MDAxNTAxOTQgJWxvbmcgMHgwMDAyMDQwNCAgICAgLy9WQUxVRV9ERklUTUcxICAgICAvIGRmaV90X2NtZF9sYXQ6Ulc6Mjg6NDo9MHgwIGRmaV90X3BhcmluX2xhdDpSVzoyNDoyOj0weDAgZGZpX3Rfd3JkYXRhX2RlbGF5OlJXOjE2OjU6PTB4MiBkZmlfdF9kcmFtX2Nsa19kaXNhYmxlOlJXOjg6NDo9MHg0IGRmaV90X2RyYW1fY2xrX2VuYWJsZTpSVzowOjQ6PTB4NA0KK2RhdGEuc2V0IDB4MDAxNTAxOTggJWxvbmcgMHgwOTAwMTExMSAgICAgLy9WQUxVRV9ERklMUENGRzAgICAvIGRmaV90bHBfcmVzcDpSVzoyNDo0Oj0weDkgZGZpX2xwX3dha2V1cF9kcGQ6Ulc6MjA6NDo9MHgwIGRmaV9scF9lbl9kcGQ6Ulc6MTY6MTo9MHgwIGRmaV9scF93YWtldXBfc3I6Ulc6MTI6NDo9MHgxIGRmaV9scF9lbl9zcjpSVzo4OjE6PTB4MSBkZmlfbHBfd2FrZXVwX3BkOlJXOjQ6NDo9MHgxIGRmaV9scF9lbl9wZDpSVzowOjE6PTB4MQ0KK2RhdGEuc2V0IDB4MDAxNTAxYTAgJWxvbmcgMHg4MDQwMDAwMyAgICAgLy9WQUxVRV9ERklVUEQwICAgICAvIGRpc19hdXRvX2N0cmx1cGQ6Ulc6MzE6MTo9MHgxIGRmaV90X2N0cmx1cF9tYXg6Ulc6MTY6MTA6PTB4NDAgZGZpX3RfY3RybHVwX21pbjpSVzowOjEwOj0weDMNCitkYXRhLnNldCAweDAwMTUwMWE0ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfREZJVVBEMSAgICAgLyBkZmlfdF9jdHJsdXBkX2ludGVydmFsX21pbl94MTAyNDpSVzoxNjo4Oj0weDAgZGZpX3RfY3RybHVwZF9pbnRlcnZhbF9tYXhfeDEwMjQ6Ulc6MDo4Oj0weDANCitkYXRhLnNldCAweDAwMTUwMWE4ICVsb25nIDB4ODAxMDAwMTAgICAgIC8vVkFMVUVfREZJVVBEMiAgICAgLyBkZmlfcGh5dXBkX2VuOlJXOjMxOjE6PTB4MSBkZmlfcGh5dXBkX3R5cGUxOlJXOjE2OjEyOj0weDEwIGRmaV9waHl1cGRfdHlwZTA6Ulc6MDoxMjo9MHgxMA0KK2RhdGEuc2V0IDB4MDAxNTAxYjAgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9ERklNSVNDICAgICAvIGRmaV9kYXRhX2NzX3BvbGFyaXR5OlJXOjI6MTo9MHgwIHBoeV9kYmlfbW9kZTpSVzoxOjE6PTB4MCBkZmlfaW5pdF9jb21wbGV0ZV9lbjpSVzowOjE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAyMDAgJWxvbmcgMHgwMDAwMDAxZiAgICAgLy9WQUxVRV9BRERSTUFQMCAgICAvIGFkZHJtYXBfZGNoX2JpdDA6Ulc6MTY6NTo9MHgwIGFkZHJtYXBfY3NfYml0MTpSVzo4OjU6PTB4MCBhZGRybWFwX2NzX2JpdDA6Ulc6MDo1Oj0weDFmDQorZGF0YS5zZXQgMHgwMDE1MDIwNCAlbG9uZyAweDAwMDcwNzA3ICAgICAvL1ZBTFVFX0FERFJNQVAxICAgIC8gYWRkcm1hcF9iYW5rX2IyOlJXOjE2OjQ6PTB4NyBhZGRybWFwX2JhbmtfYjE6Ulc6ODo0Oj0weDcgYWRkcm1hcF9iYW5rX2IwOlJXOjA6NDo9MHg3DQorZGF0YS5zZXQgMHgwMDE1MDIwOCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX0FERFJNQVAyICAgIC8gYWRkcm1hcF9jb2xfYjU6Ulc6MjQ6NDo9MHgwIGFkZHJtYXBfY29sX2I0OlJXOjE2OjQ6PTB4MCBhZGRybWFwX2NvbF9iMzpSVzo4OjQ6PTB4MCBhZGRybWFwX2NvbF9iMjpSVzowOjQ6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAyMGMgJWxvbmcgMHgwZjAwMDAwMCAgICAgLy9WQUxVRV9BRERSTUFQMyAgICAvIGFkZHJtYXBfY29sX2I5OlJXOjI0OjQ6PTB4ZiBhZGRybWFwX2NvbF9iODpSVzoxNjo0Oj0weDAgYWRkcm1hcF9jb2xfYjc6Ulc6ODo0Oj0weDAgYWRkcm1hcF9jb2xfYjY6Ulc6MDo0Oj0weDANCitkYXRhLnNldCAweDAwMTUwMjEwICVsb25nIDB4MDAwMDBmMGYgICAgIC8vVkFMVUVfQUREUk1BUDQgICAgLyBhZGRybWFwX2NvbF9iMTE6Ulc6ODo0Oj0weGYgYWRkcm1hcF9jb2xfYjEwOlJXOjA6NDo9MHhmDQorZGF0YS5zZXQgMHgwMDE1MDIxNCAlbG9uZyAweDA2MDYwNjA2ICAgICAvL1ZBTFVFX0FERFJNQVA1ICAgIC8gYWRkcm1hcF9yb3dfYjExOlJXOjI0OjQ6PTB4NiBhZGRybWFwX3Jvd19iMl8xMDpSVzoxNjo0Oj0weDYgYWRkcm1hcF9yb3dfYjE6Ulc6ODo0Oj0weDYgYWRkcm1hcF9yb3dfYjA6Ulc6MDo0Oj0weDYNCitkYXRhLnNldCAweDAwMTUwMjE4ICVsb25nIDB4MGYwZjBmMDYgICAgIC8vVkFMVUVfQUREUk1BUDYgICAgLyBhZGRybWFwX3Jvd19iMTU6Ulc6MjQ6NDo9MHhmIGFkZHJtYXBfcm93X2IxNDpSVzoxNjo0Oj0weGYgYWRkcm1hcF9yb3dfYjEzOlJXOjg6NDo9MHhmIGFkZHJtYXBfcm93X2IxMjpSVzowOjQ6PTB4Ng0KK2RhdGEuc2V0IDB4MDAxNTAyNDAgJWxvbmcgMHgwNDAwMDQwMCAgICAgLy9WQUxVRV9PRFRDRkcgICAgICAvIHdyX29kdF9ob2xkOlJXOjI0OjQ6PTB4NCB3cl9vZHRfZGVsYXk6Ulc6MTY6NDo9MHgwIHJkX29kdF9ob2xkOlJXOjg6NDo9MHg0IHJkX29kdF9kZWxheTpSVzoyOjQ6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAyNDQgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9PRFRNQVAgICAgICAvIHJhbmszX3JkX29kdDpSVzoyODo0Oj0weDAgcmFuazNfd3Jfb2R0OlJXOjI0OjQ6PTB4MCByYW5rMl9yZF9vZHQ6Ulc6MjA6NDo9MHgwIHJhbmsyX3dyX29kdDpSVzoxNjo0Oj0weDAgcmFuazFfcmRfb2R0OlJXOjEyOjQ6PTB4MCByYW5rMV93cl9vZHQ6Ulc6ODo0Oj0weDAgcmFuazBfcmRfb2R0OlJXOjQ6NDo9MHgwIHJhbmswX3dyX29kdDpSVzowOjQ6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAyNTAgJWxvbmcgMHgwMDAwMTgwNSAgICAgLy9WQUxVRV9TQ0hFRCAgICAgICAvIHJkd3JfaWRsZV9nYXA6Ulc6MjQ6Nzo9MHgwIGdvMmNyaXRpY2FsX2h5c3RlcmVzaXM6Ulc6MTY6ODo9MHgwIGxwcl9udW1fZW50cmllczpSVzo4OjY6PTB4MTggcGFnZWNsb3NlOlJXOjI6MTo9MHgxIHByZWZlcl93cml0ZTpSVzoxOjE6PTB4MCBmb3JjZV9sb3dfcHJpX246Ulc6MDoxOj0weDENCitkYXRhLnNldCAweDAwMTUwMjU0ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfU0NIRUQxICAgICAgLyBwYWdlY2xvc2VfdGltZXI6Ulc6MDo4Oj0weDANCisNCitkYXRhLnNldCAweDAwMTUwMzAwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfREJHMCAgICAgICAgLyBkaXNfY29sbGlzaW9uX3BhZ2Vfb3B0OlJXOjQ6MTo9MHgwIGRpc19hY3RfYnlwYXNzOlJXOjI6MTo9MHgwIGRpc19yZF9ieXBhc3M6Ulc6MToxOj0weDAgZGlzX3djOlJXOjA6MTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDMwNCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX0RCRzEgICAgICAgIC8gZGlzX2RxOlJXOjE6MTo9MHgwIGRpc19oaWc6Ulc6MDoxOj0weDANCitkYXRhLnNldCAweDAwMTUwMzBjICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfREJHQ01EICAgICAgLyBjdHJsdXBkOlJXU0M6NToxOj0weDAgenFfY2FsaWJfc2hvcnQ6UldTQzo0OjE6PTB4MCByYW5rM19yZWZyZXNoOlJXU0M6MzoxOj0weDAgcmFuazJfcmVmcmVzaDpSV1NDOjI6MTo9MHgwIHJhbmsxX3JlZnJlc2g6UldTQzoxOjE6PTB4MCByYW5rMF9yZWZyZXNoOlJXU0M6MDoxOj0weDANCisNCitkYXRhLnNldCAweDAwMTUwNDAwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENDRkcgICAgICAgLyBibF9leHBfbW9kZTpSVzo4OjE6PTB4MCBwYWdlbWF0Y2hfbGltaXQ6Ulc6MToxOj0weDAgZ28yY3JpdGljYWxfZW46Ulc6MDoxOj0weDANCisgICAgDQorLy9kZHJfcHJvcml0eV9jb25maWcNCisvL3BvcnQgcmVhZCBzdGF0aWMgcHJpb3JpdHkgYml0MC05LCBiaXQwLTQgdGltZW91dCwgYml0NS05IHByb3JpdHkNCitkYXRhLnNldCAweDAwMTUwNDA0ICVsb25nIDB4MDAwMDEzZmYgICAgIC8vVkFMVUVfUENGR1JfMCAgICAgLyByZHdyX29yZGVyZWRfZW46Ulc6MTY6MTo9MHgwIHJkX3BvcnRfcGFnZW1hdGNoX2VuOlJXOjE0OjE6PTB4MCByZF9wb3J0X3VyZ2VudF9lbjpSVzoxMzoxOj0weDAgcmRfcG9ydF9hZ2luZ19lbjpSVzoxMjoxOj0weDEgcmVhZF9yZW9yZGVyX2J5cGFzc19lbjpSVzoxMToxOj0weDAgcmRfcG9ydF9wcmlvcml0eTpSVzowOjEwOj0weDNmZg0KK2RhdGEuc2V0IDB4MDAxNTA0YjQgJWxvbmcgMHgwMDAwMTAyMCAgICAgLy9WQUxVRV9QQ0ZHUl8xICAgICAvIHJkd3Jfb3JkZXJlZF9lbjpSVzoxNjoxOj0weDAgcmRfcG9ydF9wYWdlbWF0Y2hfZW46Ulc6MTQ6MTo9MHgwIHJkX3BvcnRfdXJnZW50X2VuOlJXOjEzOjE6PTB4MCByZF9wb3J0X2FnaW5nX2VuOlJXOjEyOjE6PTB4MSByZWFkX3Jlb3JkZXJfYnlwYXNzX2VuOlJXOjExOjE6PTB4MCByZF9wb3J0X3ByaW9yaXR5OlJXOjA6MTA6PTB4MjANCitkYXRhLnNldCAweDAwMTUwNTY0ICVsb25nIDB4MDAwMDEwMDAgICAgIC8vVkFMVUVfUENGR1JfMiAgICAgLyByZHdyX29yZGVyZWRfZW46Ulc6MTY6MTo9MHgwIHJkX3BvcnRfcGFnZW1hdGNoX2VuOlJXOjE0OjE6PTB4MCByZF9wb3J0X3VyZ2VudF9lbjpSVzoxMzoxOj0weDAgcmRfcG9ydF9hZ2luZ19lbjpSVzoxMjoxOj0weDEgcmVhZF9yZW9yZGVyX2J5cGFzc19lbjpSVzoxMToxOj0weDAgcmRfcG9ydF9wcmlvcml0eTpSVzowOjEwOj0weDANCitkYXRhLnNldCAweDAwMTUwNjE0ICVsb25nIDB4MDAwMDEwMDQgICAgIC8vVkFMVUVfUENGR1JfMyAgICAgLyByZHdyX29yZGVyZWRfZW46Ulc6MTY6MTo9MHgwIHJkX3BvcnRfcGFnZW1hdGNoX2VuOlJXOjE0OjE6PTB4MCByZF9wb3J0X3VyZ2VudF9lbjpSVzoxMzoxOj0weDAgcmRfcG9ydF9hZ2luZ19lbjpSVzoxMjoxOj0weDEgcmVhZF9yZW9yZGVyX2J5cGFzc19lbjpSVzoxMToxOj0weDAgcmRfcG9ydF9wcmlvcml0eTpSVzowOjEwOj0weDQNCisvL3BvcnQgd3JpdGUgc3RhdGljIHByaW9yaXR5IGJpdDAtOQ0KK2RhdGEuc2V0IDB4MDAxNTA0MDggJWxvbmcgMHgwMDAwMTNmZiAgICAgLy9WQUxVRV9QQ0ZHV18wICAgICAvIHdyX3BvcnRfcGFnZW1hdGNoX2VuOlJXOjE0OjE6PTB4MCB3cl9wb3J0X3VyZ2VudF9lbjpSVzoxMzoxOj0weDAgd3JfcG9ydF9hZ2luZ19lbjpSVzoxMjoxOj0weDEgd3JfcG9ydF9wcmlvcml0eTpSVzowOjEwOj0weDNmZg0KK2RhdGEuc2V0IDB4MDAxNTA0YjggJWxvbmcgMHgwMDAwMTBmZiAgICAgLy9WQUxVRV9QQ0ZHV18xICAgICAvIHdyX3BvcnRfcGFnZW1hdGNoX2VuOlJXOjE0OjE6PTB4MCB3cl9wb3J0X3VyZ2VudF9lbjpSVzoxMzoxOj0weDAgd3JfcG9ydF9hZ2luZ19lbjpSVzoxMjoxOj0weDEgd3JfcG9ydF9wcmlvcml0eTpSVzowOjEwOj0weGZmDQorZGF0YS5zZXQgMHgwMDE1MDU2OCAlbG9uZyAweDAwMDAxMDNmICAgICAvL1ZBTFVFX1BDRkdXXzIgICAgIC8gd3JfcG9ydF9wYWdlbWF0Y2hfZW46Ulc6MTQ6MTo9MHgwIHdyX3BvcnRfdXJnZW50X2VuOlJXOjEzOjE6PTB4MCB3cl9wb3J0X2FnaW5nX2VuOlJXOjEyOjE6PTB4MSB3cl9wb3J0X3ByaW9yaXR5OlJXOjA6MTA6PTB4M2YNCitkYXRhLnNldCAweDAwMTUwNjE4ICVsb25nIDB4MDAwMDEwNWYgICAgIC8vVkFMVUVfUENGR1dfMyAgICAgLyB3cl9wb3J0X3BhZ2VtYXRjaF9lbjpSVzoxNDoxOj0weDAgd3JfcG9ydF91cmdlbnRfZW46Ulc6MTM6MTo9MHgwIHdyX3BvcnRfYWdpbmdfZW46Ulc6MTI6MTo9MHgxIHdyX3BvcnRfcHJpb3JpdHk6Ulc6MDoxMDo9MHg1Zg0KKy8vcG9ydCByZWFkIHJlZ2lvbiBzZXQNCitkYXRhLnNldCAweDAwMTUwNDk0ICVsb25nIDB4MDAyMDAwMGUgICAgIC8vVkFMVUVfUENGR1FPUzBfMCAgLyBycW9zX21hcF9yZWdpb24yOlJXOjI0OjI6PTB4MCBycW9zX21hcF9yZWdpb24xOlJXOjIwOjI6PTB4MiBycW9zX21hcF9yZWdpb24wOlJXOjE2OjI6PTB4MCBycW9zX21hcF9sZXZlbDI6Ulc6ODo0Oj0weDAgcnFvc19tYXBfbGV2ZWwxOlJXOjA6NDo9MHhlDQorZGF0YS5zZXQgMHgwMDE1MDU0NCAlbG9uZyAweDAwMjAwMDBlICAgICAvL1ZBTFVFX1BDRkdRT1MwXzEgIC8gcnFvc19tYXBfcmVnaW9uMjpSVzoyNDoyOj0weDAgcnFvc19tYXBfcmVnaW9uMTpSVzoyMDoyOj0weDIgcnFvc19tYXBfcmVnaW9uMDpSVzoxNjoyOj0weDAgcnFvc19tYXBfbGV2ZWwyOlJXOjg6NDo9MHgwIHJxb3NfbWFwX2xldmVsMTpSVzowOjQ6PTB4ZQ0KK2RhdGEuc2V0IDB4MDAxNTA1ZjQgJWxvbmcgMHgwMDIwMDAwZSAgICAgLy9WQUxVRV9QQ0ZHUU9TMF8yICAvIHJxb3NfbWFwX3JlZ2lvbjI6Ulc6MjQ6Mjo9MHgwIHJxb3NfbWFwX3JlZ2lvbjE6Ulc6MjA6Mjo9MHgyIHJxb3NfbWFwX3JlZ2lvbjA6Ulc6MTY6Mjo9MHgwIHJxb3NfbWFwX2xldmVsMjpSVzo4OjQ6PTB4MCBycW9zX21hcF9sZXZlbDE6Ulc6MDo0Oj0weGUNCitkYXRhLnNldCAweDAwMTUwNmE0ICVsb25nIDB4MDAyMDAwMGUgICAgIC8vVkFMVUVfUENGR1FPUzBfMyAgLyBycW9zX21hcF9yZWdpb24yOlJXOjI0OjI6PTB4MCBycW9zX21hcF9yZWdpb24xOlJXOjIwOjI6PTB4MiBycW9zX21hcF9yZWdpb24wOlJXOjE2OjI6PTB4MCBycW9zX21hcF9sZXZlbDI6Ulc6ODo0Oj0weDAgcnFvc19tYXBfbGV2ZWwxOlJXOjA6NDo9MHhlDQorLy9wb3J0IHdyaXRlIHJlZ2lvbiBzZXQNCitkYXRhLnNldCAweDAwMTUwNDljICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1dRT1MwXzAgLyB3cW9zX21hcF9yZWdpb24xOlJXOjIwOjI6PTB4MCB3cW9zX21hcF9yZWdpb24wOlJXOjE2OjI6PTB4MCB3cW9zX21hcF9sZXZlbDpSVzowOjQ6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTA1NGMgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHV1FPUzBfMSAvIHdxb3NfbWFwX3JlZ2lvbjE6Ulc6MjA6Mjo9MHgwIHdxb3NfbWFwX3JlZ2lvbjA6Ulc6MTY6Mjo9MHgwIHdxb3NfbWFwX2xldmVsOlJXOjA6NDo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDVmYyAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdXUU9TMF8yIC8gd3Fvc19tYXBfcmVnaW9uMTpSVzoyMDoyOj0weDAgd3Fvc19tYXBfcmVnaW9uMDpSVzoxNjoyOj0weDAgd3Fvc19tYXBfbGV2ZWw6Ulc6MDo0Oj0weDANCitkYXRhLnNldCAweDAwMTUwNmFjICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1dRT1MwXzMgLyB3cW9zX21hcF9yZWdpb24xOlJXOjIwOjI6PTB4MCB3cW9zX21hcF9yZWdpb24wOlJXOjE2OjI6PTB4MCB3cW9zX21hcF9sZXZlbDpSVzowOjQ6PTB4MA0KKy8vdnByIHRpbWVvdXQsIHJlZ2lvbjIgaXMgcmVkIHF1ZXVlDQorZGF0YS5zZXQgMHgwMDE1MDQ5OCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdRT1MxXzAgIC8gcnFvc19tYXBfdGltZW91dHI6Ulc6MTY6MTE6PTB4MCBycW9zX21hcF90aW1lb3V0YjpSVzowOjExOj0weDANCitkYXRhLnNldCAweDAwMTUwNTQ4ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1FPUzFfMSAgLyBycW9zX21hcF90aW1lb3V0cjpSVzoxNjoxMTo9MHgwIHJxb3NfbWFwX3RpbWVvdXRiOlJXOjA6MTE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTA1ZjggJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHUU9TMV8yICAvIHJxb3NfbWFwX3RpbWVvdXRyOlJXOjE2OjExOj0weDAgcnFvc19tYXBfdGltZW91dGI6Ulc6MDoxMTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDZhOCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdRT1MxXzMgIC8gcnFvc19tYXBfdGltZW91dHI6Ulc6MTY6MTE6PTB4MCBycW9zX21hcF90aW1lb3V0YjpSVzowOjExOj0weDANCisvL3ZwdyB0aW1lb3V0DQorZGF0YS5zZXQgMHgwMDE1MDRhMCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdXUU9TMV8wIC8gd3Fvc19tYXBfdGltZW91dDpSVzowOjExOj0weDANCitkYXRhLnNldCAweDAwMTUwNTUwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1dRT1MxXzEgLyB3cW9zX21hcF90aW1lb3V0OlJXOjA6MTE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTA2MDAgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHV1FPUzFfMiAvIHdxb3NfbWFwX3RpbWVvdXQ6Ulc6MDoxMTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDZiMCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdXUU9TMV8zIC8gd3Fvc19tYXBfdGltZW91dDpSVzowOjExOj0weDANCisvL2luIENBTSBzZXQNCitkYXRhLnNldCAweDAwMTUwMjVjICVsb25nIDB4MGYwMDAwMDEgICAgIC8vVkFMVUVfUEVSRkhQUjEgICAgLyBocHJfeGFjdF9ydW5fbGVuZ3RoOlJXOjI0Ojg6PTB4ZiBocHJfbWF4X3N0YXJ2ZTpSVzowOjE2Oj0weDENCitkYXRhLnNldCAweDAwMTUwMjY0ICVsb25nIDB4MGYwMDAwN2YgICAgIC8vVkFMVUVfUEVSRkxQUjEgICAgLyBscHJfeGFjdF9ydW5fbGVuZ3RoOlJXOjI0Ojg6PTB4ZiBscHJfbWF4X3N0YXJ2ZTpSVzowOjE2Oj0weDdmDQorZGF0YS5zZXQgMHgwMDE1MDI2YyAlbG9uZyAweDBmMDAwMDdmICAgICAvL1ZBTFVFX1BFUkZXUjEgICAgIC8gd194YWN0X3J1bl9sZW5ndGg6Ulc6MjQ6ODo9MHhmIHdfbWF4X3N0YXJ2ZTpSVzowOjE2Oj0weDdmDQorZGF0YS5zZXQgMHgwMDE1MDI3NCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BFUkZWUFIxICAgIC8gdnByX3RpbWVvdXRfcmFuZ2U6Ulc6MDoxMTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDI3OCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BFUkZWUFcxICAgIC8gdnB3X3RpbWVvdXRfcmFuZ2U6Ulc6MDoxMTo9MHgwDQorLy9wb3J0IGV4dGVybiBzdGF0aWMgcHJpb3JpdHkJDQorLy9kYXRhLnNldCAweDAwMTNkMDM0ICVsb25nIDB4ZjBmMDAwMDAgLy9wb3J0MCwxIHJxb3M9MChMUFIpOyBwb3J0MiwzIHJxb3M9RihIUFIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCisvL3dhaXQgYWxsIHJlZ2lzdGVyIGNvbmZpZ2VyIGRvbmUgaW4gaGFyZHdhcmUNCitXYWl0IDAuMDFzDQorDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vY3Ryb2xsZXIgYW5kIGlubm8gcGh5IHJlZ2lzdGVycyBjb25maWdlciBkb25lDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KK2RhdGEuc2V0IDB4MDEzMDYxMDAgJWxvbmcgMHgwYWZmZmZjMCAvL3JlbGVhc2UgZGRyIGN0bChiaXQxMSkgYW5kIGF4aV9zbiByZXNldChiaXQ2LTkpICBhbmQgcGh5IHJlc2V0KGJpdDEyKSAgLy/J6NbDz7XNs7zEtObG99a1DQorV2FpdCAwLjAxcw0KKw0KKy8vc3cgY29uZmlnIGRvbmUNCitkYXRhLnNldCAweDAwMTUwMzIwICVsb25nIDB4MDAwMDAwMDAgLy9TV0NUTCAgICAgIC8vIHN3X2RvbmU6Ulc6MDoxOj0weDANCisvL2NoZWNrIHBoeSBhdXRvIGluaXQgZG9uZSwgd2FpdCAweDAwMTUwMzI0IGJpdDAgPTANCitXYWl0IDAuMDFzDQorDQorLy9wb3dlciBvbiBQSFkgUExMIA0KK2RhdGEuc2V0IDB4MDAxNTQzYjQgJWxvbmcgMHgwMDAwMDAxOCAvL1BIWVJFR0VELFBMTENMS09VVEVOOlJXOjQ6MTo9MHgxLFJlc2VydmVkOlJXOjI6Mjo9MHgyLCBwbGxfcGRfZW46Ulc6MToxOj0weDAsIGZiZGl2WzhdOlJXOjA6MTo9MHgwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQorLy93YWl0IFBIWSBQTEwgIGxvY2ssUEhZUkVHRjhbMF1QbGwgbG9jayBpbmRpY2F0ZSBzaWduYWwNCisNCitXYWl0IDAuMDFzDQorDQorLy9QSFkgRExMIGluaXQgc3RhcnQsIGZhbGwgZWRnZSB0cmlnZ2VyDQorZGF0YS5zZXQgMHgwMDE1NDE3YyAlbG9uZyAweDAwMDAwMDBhIC8vUEhZUkVHNUYsICBQSFkgaW5pdCBzdGFydDo1OjE6PTB4MSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KKy8vd2FpdCBkbGwgbG9jaywgcGh5IGluaXQgZG9uZSwgUEhZUkVHRjhbMV1QaHkgaW5pdCBjb21wbGV0ZSBzaWduYWwNCitXYWl0IDAuMDFzDQorDQorLy9lbmFibGUgY29udHJvbGxlciBkZmlfaW5pdF9jb21wbGV0ZV9lbiB0byBzdGFydCBzZHJhbSBpbml0LCB0aGVuIHdpbGwgc2VuZCBkcmFtIGluaXQgY21kDQorZGF0YS5zZXQgMHgwMDE1MDFiMCAlbG9uZyAweDAwMDAwMDAxIC8vREZJTUlTQyAgICAvLyBwaHlfZGJpX21vZGU6Ulc6MToxOj0weDAgZGZpX2luaXRfY29tcGxldGVfZW46Ulc6MDoxOj0weDEJICAgIMrHt/HIpbX0o6y78tXfttTTptDeuMQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KKy8vY2hlY2sgY29udHJvbGxlciBzdGF0dXMgaXMgc2RyYW0gaW5pdCBkb25lLHdhaXQgMHgwMDE1MDAwNCBiaXQwLTIgIT0wDQorV2FpdCAwLjAxcw0KK2RhdGEuc2V0IDB4MDAxNTAxYjAgJWxvbmcgMHgwMDAwMDAwMCAvL2RmaW1pc2NbMF0gcGh5X2RiaV9tb2RlOlJXOjE6MTo9MHgwIGRmaV9pbml0X2NvbXBsZXRlX2VuOlJXOjA6MTo9MHgwDQorDQorLy9waHkgRFFTIGdhdGUgdHJhaW5pbmcgc3RhcnQNCitkYXRhLnNldCAweDAwMTU0MDA4ICVsb25nIDB4MDAwMDAwMDEgLy9QSFlSRUcwMixiaXQwOkRRUyBnYXRpbmcgY2FsaWJyYXRpb24gY29udHJvbD0xLCBiaXQxOkRRUyBnYXRpbmcgYnlwYXNzIG1vZGUgc2VsZWN0PTANCisvL3dhaXQgdHJhaW5pbmcgZG9uZQ0KK1dhaXQgMC4xcw0KKy8vcGh5IERRUyBnYXRlIHRyYWluaW5nIHN0b3ANCitkYXRhLnNldCAweDAwMTU0MDA4ICVsb25nIDB4MDAwMDAwMDAgLy9QSFlSRUcwMixiaXQwOkRRUyBnYXRpbmcgY2FsaWJyYXRpb24gY29udHJvbD0wLCBiaXQxOkRRUyBnYXRpbmcgYnlwYXNzIG1vZGUgc2VsZWN0PTANCisNCisvL2VuYWJsZSBwb3J0X24NCitkYXRhLnNldCAweDAwMTUwNDkwICVsb25nIDB4MDAwMDAwMDEgICAgIC8vVkFMVUVfUENUUkxfMCAgICAgLyBwb3J0X2VuOlJXOjA6MTo9MHgxDQorZGF0YS5zZXQgMHgwMDE1MDU0MCAlbG9uZyAweDAwMDAwMDAxICAgICAvL1ZBTFVFX1BDVFJMXzEgICAgIC8gcG9ydF9lbjpSVzowOjE6PTB4MQ0KK2RhdGEuc2V0IDB4MDAxNTA1ZjAgJWxvbmcgMHgwMDAwMDAwMSAgICAgLy9WQUxVRV9QQ1RSTF8yICAgICAvIHBvcnRfZW46Ulc6MDoxOj0weDENCitkYXRhLnNldCAweDAwMTUwNmEwICVsb25nIDB4MDAwMDAwMDEgICAgIC8vVkFMVUVfUENUUkxfMyAgICAgLyBwb3J0X2VuOlJXOjA6MTo9MHgxClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3lzL2p0YWdfc3dpdGNoX3NjcmlwdC5jbW0gYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zeXMvanRhZ19zd2l0Y2hfc2NyaXB0LmNtbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ZjMzMmM5Ci0tLSAvZGV2L251bGwKKysrIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3lzL2p0YWdfc3dpdGNoX3NjcmlwdC5jbW0KQEAgLTAsMCArMSwxNzQgQEAKK2FyZWEucmVzZXQNCisNCitsb2NhbCAmanRhZ251bSAmanRhZ2Z1bmMNCisNCitlbnRyeSAmanRhZ251bSAmanRhZ2Z1bmMNCisNCitpZiBzdGF0ZS5ydW4oKQ0KKygNCisJYnJlYWsNCispDQorDQorO2Rpc2FibGUgbW11DQorOyZjcj1kYXRhLmxvbmcoYzE1OjB4MSkNCis7dG1wPSZjciYofjB4MSkNCis7cGVyLnMgYzE1OjB4MSAlTE9ORyAmdG1wDQorDQorOyBzZXQgSnRhZyBwYWQgDQorOyBKdGFnMCwgMDptMCBqdGFnLCAxOnI3IGp0YWcsIDI6enNwIGp0YWcsIDM6YTUzIGp0YWcNCitpZiAoJmp0YWdudW09PTApDQorKA0KKyAgICBpZiAoJmp0YWdmdW5jPT0wKQ0KKyAgICAoDQorICAgICAgICAmdG1wMD1kYXRhLmxvbmcoU0Q6MHgwMDEzYzAwYykNCisgICAgICAgICZ0bXAxPWRhdGEubG9uZyhTRDoweDAwMTNjMDI0KQ0KKyAgICAgICAgJnRtcDA9JnRtcDAmMHhmZmZmZmMwMA0KKyAgICAgICAgJnRtcDE9JnRtcDEmMHhmODNmZmZmZg0KKyAgICAgICAgZGF0YS5zZXQgU0Q6MHgwMDEzYzAwYyAlTEUgJUxPTkcgICZ0bXAwDQorICAgICAgICBkYXRhLnNldCBTRDoweDAwMTNjMDI0ICVMRSAlTE9ORyAgJnRtcDENCisgICAgKQ0KKyAgICBpZiAoJmp0YWdmdW5jPT0xKQ0KKyAgICAoDQorICAgICAgICAmdG1wMD1kYXRhLmxvbmcoU0Q6MHgwMTMwMzAwYykNCisgICAgICAgICZ0bXAxPWRhdGEubG9uZyhTRDoweDAwMTNjMDI0KQ0KKyAgICAgICAgJnRtcDA9JnRtcDAmMHhmZmZmZmMwMA0KKyAgICAgICAgJnRtcDE9JnRtcDF8MHg3YzAwMDAwDQorICAgICAgICBkYXRhLnNldCBTRDoweDAxMzAzMDBjICVMRSAlTE9ORyAgJnRtcDANCisgICAgICAgIGRhdGEuc2V0IFNEOjB4MDAxM2MwMjQgJUxFICVMT05HICAmdG1wMQ0KKyAgICApDQorICAgIGlmICgmanRhZ2Z1bmM9PTIpDQorICAgICgNCisgICAgICAgICZ0bXAwPWRhdGEubG9uZyhTRDoweDAxMzAzMDBjKQ0KKyAgICAgICAgJnRtcDE9ZGF0YS5sb25nKFNEOjB4MDAxM2MwMjQpDQorICAgICAgICAmdG1wMD0mdG1wMCYweGZmZmZmYzAwDQorICAgICAgICAmdG1wMD0mdG1wMHwweDE1NQ0KKyAgICAgICAgJnRtcDE9JnRtcDF8MHg3YzAwMDAwDQorICAgICAgICBkYXRhLnNldCBTRDoweDAxMzAzMDBjICVMRSAlTE9ORyAgJnRtcDANCisgICAgICAgIGRhdGEuc2V0IFNEOjB4MDAxM2MwMjQgJUxFICVMT05HICAmdG1wMQ0KKyAgICApDQorICAgIGlmICgmanRhZ2Z1bmM9PTMpDQorICAgICgNCisgICAgICAgICZ0bXAwPWRhdGEubG9uZyhTRDoweDAxMzAzMDBjKQ0KKyAgICAgICAgJnRtcDE9ZGF0YS5sb25nKFNEOjB4MDAxM2MwMjQpDQorICAgICAgICAmdG1wMD0mdG1wMCYweGZmZmZmYzAwDQorICAgICAgICAmdG1wMD0mdG1wMHwweDJhYQ0KKyAgICAgICAgJnRtcDE9JnRtcDF8MHg3YzAwMDAwDQorICAgICAgICBkYXRhLnNldCBTRDoweDAxMzAzMDBjICVMRSAlTE9ORyAgJnRtcDANCisgICAgICAgIGRhdGEuc2V0IFNEOjB4MDAxM2MwMjQgJUxFICVMT05HICAmdG1wMQ0KKyAgICApDQorKQ0KKw0KKw0KKzsgc2V0IEp0YWcgcGFkIA0KKzsgU0QwL0p0YWcxLCAwOm0wIGp0YWcsIDE6cjcganRhZywgMjp6c3AganRhZywgMzphNTMganRhZw0KK2lmICgmanRhZ251bT09MSkNCisoDQorICAgIGlmICgmanRhZ2Z1bmM9PTApDQorICAgICgNCisgICAgICAgICZ0bXAwPWRhdGEubG9uZyhTRDoweDAwMTNjMDA4KQ0KKyAgICAgICAgJnRtcDE9ZGF0YS5sb25nKFNEOjB4MDAxM2MwMjQpDQorICAgICAgICAmdG1wMD0mdG1wMCYweGZmYzAwZmZmDQorICAgICAgICAmdG1wMD0mdG1wMHwweDE1NTAwMA0KKyAgICAgICAgJnRtcDE9JnRtcDEmMHhmZmMxZmZmZg0KKyAgICAgICAgZGF0YS5zZXQgU0Q6MHgwMDEzYzAwOCAlTEUgJUxPTkcgICZ0bXAwDQorICAgICAgICBkYXRhLnNldCBTRDoweDAwMTNjMDI0ICVMRSAlTE9ORyAgJnRtcDENCisgICAgKQ0KKyAgICBpZiAoJmp0YWdmdW5jPT0xKQ0KKyAgICAoDQorICAgICAgICAmdG1wMD1kYXRhLmxvbmcoU0Q6MHgwMTMwMzAwOCkNCisgICAgICAgICZ0bXAxPWRhdGEubG9uZyhTRDoweDAwMTNjMDI0KQ0KKyAgICAgICAgJnRtcDA9JnRtcDAmMHhmZmZmZmUwMA0KKyAgICAgICAgJnRtcDA9JnRtcDB8MHgxNTUNCisgICAgICAgICZ0bXAxPSZ0bXAxfDB4M2UwMDAwDQorICAgICAgICBkYXRhLnNldCBTRDoweDAxMzAzMDA4ICVMRSAlTE9ORyAgJnRtcDANCisgICAgICAgIGRhdGEuc2V0IFNEOjB4MDAxM2MwMjQgJUxFICVMT05HICAmdG1wMQ0KKyAgICApDQorICAgIGlmICgmanRhZ2Z1bmM9PTIpDQorICAgICgNCisgICAgICAgICZ0bXAwPWRhdGEubG9uZyhTRDoweDAxMzAzMDA4KQ0KKyAgICAgICAgJnRtcDE9ZGF0YS5sb25nKFNEOjB4MDAxM2MwMjQpDQorICAgICAgICAmdG1wMD0mdG1wMCYweGZmZmZmZTAwDQorICAgICAgICAmdG1wMD0mdG1wMHwweDJhYQ0KKyAgICAgICAgJnRtcDE9JnRtcDF8MHgzZTAwMDANCisgICAgICAgIGRhdGEuc2V0IFNEOjB4MDEzMDMwMDggJUxFICVMT05HICAmdG1wMA0KKyAgICAgICAgZGF0YS5zZXQgU0Q6MHgwMDEzYzAyNCAlTEUgJUxPTkcgICZ0bXAxDQorICAgICkNCisgICAgaWYgKCZqdGFnZnVuYz09MykNCisgICAgKA0KKyAgICAgICAgJnRtcDA9ZGF0YS5sb25nKFNEOjB4MDEzMDMwMDgpDQorICAgICAgICAmdG1wMT1kYXRhLmxvbmcoU0Q6MHgwMDEzYzAyNCkNCisgICAgICAgICZ0bXAwPSZ0bXAwJjB4ZmZmZmZlMDANCisgICAgICAgICZ0bXAwPSZ0bXAwfDB4M2ZmDQorICAgICAgICAmdG1wMT0mdG1wMXwweDB4M2UwMDAwDQorICAgICAgICBkYXRhLnNldCBTRDoweDAxMzAzMDA4ICVMRSAlTE9ORyAgJnRtcDANCisgICAgICAgIGRhdGEuc2V0IFNEOjB4MDAxM2MwMjQgJUxFICVMT05HICAmdG1wMQ0KKyAgICApDQorKQ0KKw0KKzsgc2V0IEp0YWcgcGFkIA0KKzsgMDptMCBqdGFnLCAxOnI3IGp0YWcsIDI6enNwIGp0YWcsIDM6YTUzIGp0YWcNCitpZiAoJmp0YWdudW09PTIpDQorKA0KKwkgIGlmICgmanRhZ2Z1bmM9PTApDQorICAgICgNCisgICAgICAgICZ0bXAwPWRhdGEubG9uZyhTRDoweDAwMTNjMDEwKQ0KKyAgICAgICAgJnRtcDE9ZGF0YS5sb25nKFNEOjB4MDAxM2MwMmMpDQorICAgICAgICAmdG1wMD0mdG1wMCYweGZmZmZmZTAwDQorICAgICAgICAmdG1wMD0mdG1wMHwweDJhYQ0KKyAgICAgICAgJnRtcDE9JnRtcDEmMHhmZmZmZmZlMA0KKyAgICAgICAgZGF0YS5zZXQgU0Q6MHgwMDEzYzAxMCAlTEUgJUxPTkcgICZ0bXAwDQorICAgICAgICBkYXRhLnNldCBTRDoweDAwMTNjMDJjICVMRSAlTE9ORyAgJnRtcDENCisgICAgKQ0KKyAgICBpZiAoJmp0YWdmdW5jPT0xKQ0KKyAgICAoDQorICAgICAgICAmdG1wMD1kYXRhLmxvbmcoU0Q6MHgwMTMwMzAyOCkNCisgICAgICAgICZ0bXAxPWRhdGEubG9uZyhTRDoweDAwMTNjMDJjKQ0KKyAgICAgICAgJnRtcDA9JnRtcDAmMHhmZmZmZmUwMA0KKyAgICAgICAgJnRtcDE9JnRtcDF8MHgxZg0KKyAgICAgICAgZGF0YS5zZXQgU0Q6MHgwMTMwMzAyOCAlTEUgJUxPTkcgICZ0bXAwDQorICAgICAgICBkYXRhLnNldCBTRDoweDAwMTNjMDJjICVMRSAlTE9ORyAgJnRtcDENCisgICAgKQ0KKyAgICBpZiAoJmp0YWdmdW5jPT0yKQ0KKyAgICAoDQorICAgICAgICAmdG1wMD1kYXRhLmxvbmcoU0Q6MHgwMTMwMzAyOCkNCisgICAgICAgICZ0bXAxPWRhdGEubG9uZyhTRDoweDAwMTNjMDJjKQ0KKyAgICAgICAgJnRtcDA9JnRtcDAmMHhmZmZmZmUwMA0KKyAgICAgICAgJnRtcDA9JnRtcDB8MHgxNTUNCisgICAgICAgICZ0bXAxPSZ0bXAxfDB4MWYNCisgICAgICAgIGRhdGEuc2V0IFNEOjB4MDEzMDMwMjggJUxFICVMT05HICAmdG1wMA0KKyAgICAgICAgZGF0YS5zZXQgU0Q6MHgwMDEzYzAyYyAlTEUgJUxPTkcgICZ0bXAxDQorICAgICkNCisgICAgaWYgKCZqdGFnZnVuYz09MykNCisgICAgKA0KKyAgICAgICAgJnRtcDA9ZGF0YS5sb25nKFNEOjB4MDEzMDMwMjgpDQorICAgICAgICAmdG1wMT1kYXRhLmxvbmcoU0Q6MHgwMDEzYzAyYykNCisgICAgICAgICZ0bXAwPSZ0bXAwJjB4ZmZmZmZlMDANCisgICAgICAgICZ0bXAwPSZ0bXAwfDB4MmFhDQorICAgICAgICAmdG1wMT0mdG1wMXwweDFmDQorICAgICAgICBkYXRhLnNldCBTRDoweDAxMzAzMDI4ICVMRSAlTE9ORyAgJnRtcDANCisgICAgICAgIGRhdGEuc2V0IFNEOjB4MDAxM2MwMmMgJUxFICVMT05HICAmdG1wMQ0KKyAgICApDQorKQ0KKw0KKw0KKwlESUFMT0cNCisJKA0KKwkJaGVhZGVyICJKdGFnIFN3aXRjaCINCisJCQkNCisJCVBPUyAwLiAwLiA1MC4gNS4NCisJCUJPWCAiIgkNCisJCQkJDQorCQlQT1MgMS4gMS4gMzkuIDEuDQorCQlURVhUICLH0Lu7s8m5pqOsx+vW2NDC0aHU8Up0YWejrLKivNPU2L3Fsb4uIg0KKwkJCQkNCisJCVBPUyAyMC4gMy4gMTAuIDEuIA0KKwkJQlVUVE9OICJPSyIgIkRJQUxPRy5FTkQiIAkJDQorCSkNCisNCisNCis7ZXhpdDoNCis7cmVzdG9yZSBtbXUgY29uZmlnDQorO3Blci5zIGMxNToweDEgJUxPTkcgJmNyDQorcHJpbnQgIkp0YWcgJmp0YWdudW0gc3dpdGNoIHRvIGZ1bmN0aW9uICZqdGFnZnVuYyINCisNCitlbmRkbwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3YzZV9saW51eF9wb29sX2RlYnVnLmNtbSBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3YzZV9saW51eF9wb29sX2RlYnVnLmNtbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wMjEwYTdlCi0tLSAvZGV2L251bGwKKysrIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvdjNlX2xpbnV4X3Bvb2xfZGVidWcuY21tCkBAIC0wLDAgKzEsNjMgQEAKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyoNCisvLyogICAgICAgICAgICAgICAgICBDb3B5cmlnaHQgKGMpIDIwMTYgWlRFIENvcnBvcmF0aW9uLg0KKy8vKg0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyBnZWFuZmVuZw0KKw0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyogvcWxvr3izvbH+NPyDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vtLS9qNK7uPa0sL/ao7sNCismd2lkdGg9MjAuDQorJm5hbWVXaWR0aD0yMC4NCismZmlsZUNvbHVtbnM9MjAwLg0KKyZmaWxlTGluZXM9NTAwLg0KKw0KK2FyZWEuY3JlYXRlIHRyYWNlICZmaWxlQ29sdW1ucyAgJmZpbGVMaW5lcw0KK2FyZWEuY2xlYXIgdHJhY2UNCithcmVhLnNlbGVjdCB0cmFjZQ0KKw0KKy8vtPK/qs7EvP6juw0KKyZkaXI9b3MucHdkKCkrIlxsb2ciDQoraWYgIW9zLmRpcigmZGlyKQ0KKygNCisgICAgbWtkaXIgJmRpciAgDQorKSANCismZmlsZT0iJmRpclxyZXN1bHQudHh0Ig0KK2FyZWEub3BlbiB0cmFjZSAmZmlsZQ0KK2FyZWEudmlldyB0cmFjZQ0KKw0KKy8vyOe5+1QzMtTa1MvQ0NKqts/XoaO7DQoraWYgcnVuKCkNCisoDQorICAgIGJyZWFrDQorKQ0KKw0KKyZub2RlPXYudmFsdWUoZ19Qb29sQWxsb2NJbmZvLmhlYWQuSEVBRCkNCisNCitwcmludCAiYWxsb2NhdGVkIHViIFN0YXJ0Oi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIg0KK3doaWxlICEoJm5vZGU9PTApDQorKA0KKwkmZmlsZT12LnZhbHVlKCgocG9vbF9kZWJ1Z19ub2RlX3QqKSZub2RlKS0+ZmlsZSkNCisJJmxpbmU9di52YWx1ZSgoKHBvb2xfZGVidWdfbm9kZV90Kikmbm9kZSktPmxpbmUpDQorICAgICZzaXplPXYudmFsdWUoKChwb29sX2RlYnVnX25vZGVfdCopJm5vZGUpLT5zaXplKQ0KKwkmdGhyZWFkPXYudmFsdWUoKChwb29sX2RlYnVnX25vZGVfdCopJm5vZGUpLT50aHJlYWRfaWQpDQorCSZuYW1lPXYuc3RyaW5nKCgoc3RydWN0IHRhc2tfc3RydWN0KikmdGhyZWFkKS0+Y29tbSkNCisJJnRpY2s9di52YWx1ZSgoKHBvb2xfZGVidWdfbm9kZV90Kikmbm9kZSktPnRpbWUpDQorDQorCSZmaWxlPWRhdGEuc3RyaW5nKGQ6JmZpbGUpDQorCSZsaW5lPWZvcm1hdC5kZWNpbWFsKDEwLiwgJmxpbmUpDQorCSZzaXplPWZvcm1hdC5kZWNpbWFsKDEwLiwgJnNpemUpDQorCSZ0aWNrPWZvcm1hdC5kZWNpbWFsKDEwLiwgJnRpY2spDQorCXByaW50ICJub2RlOiAiKyImbm9kZSIrIiAgYWxsb2NfdGljazogIisiJnRpY2siKyIgIHNpemU6ICIrIiZzaXplIisiICBsaW5lOiAiKyImbGluZSIrIiAgZmlsZTogIisiJmZpbGUiKyIgIHRocmVhZDogIisiJm5hbWUiDQorCSZub2RlPXYudmFsdWUoKChUX1pPc3NfTm9kZSopJm5vZGUpLT5uZXh0KQ0KKykNCisNCitwcmludCAiYWxsb2NhdGVkIHViIEVuZC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIg0KKw0KKw0KKw0KK2FyZWEuY2xvc2UgdHJhY2UNCitFTkRETw0KKy8vKioqKtTL0NC94cr4KioqKioNCg==