ZG5sIApkbmwgICRJZCQKZG5sIApkbmwgIENvcHlyaWdodCCpIDIwMDMgS2VpdGggUGFja2FyZApkbmwgCmRubCAgUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgZGlzdHJpYnV0ZSwgYW5kIHNlbGwgdGhpcyBzb2Z0d2FyZSBhbmQgaXRzCmRubCAgZG9jdW1lbnRhdGlvbiBmb3IgYW55IHB1cnBvc2UgaXMgaGVyZWJ5IGdyYW50ZWQgd2l0aG91dCBmZWUsIHByb3ZpZGVkIHRoYXQKZG5sICB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhcHBlYXIgaW4gYWxsIGNvcGllcyBhbmQgdGhhdCBib3RoIHRoYXQKZG5sICBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIGFwcGVhciBpbiBzdXBwb3J0aW5nCmRubCAgZG9jdW1lbnRhdGlvbiwgYW5kIHRoYXQgdGhlIG5hbWUgb2YgS2VpdGggUGFja2FyZCBub3QgYmUgdXNlZCBpbgpkbmwgIGFkdmVydGlzaW5nIG9yIHB1YmxpY2l0eSBwZXJ0YWluaW5nIHRvIGRpc3RyaWJ1dGlvbiBvZiB0aGUgc29mdHdhcmUgd2l0aG91dApkbmwgIHNwZWNpZmljLCB3cml0dGVuIHByaW9yIHBlcm1pc3Npb24uICBLZWl0aCBQYWNrYXJkIG1ha2VzIG5vCmRubCAgcmVwcmVzZW50YXRpb25zIGFib3V0IHRoZSBzdWl0YWJpbGl0eSBvZiB0aGlzIHNvZnR3YXJlIGZvciBhbnkgcHVycG9zZS4gIEl0CmRubCAgaXMgcHJvdmlkZWQgImFzIGlzIiB3aXRob3V0IGV4cHJlc3Mgb3IgaW1wbGllZCB3YXJyYW50eS4KZG5sIApkbmwgIEtFSVRIIFBBQ0tBUkQgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEggUkVHQVJEIFRPIFRISVMgU09GVFdBUkUsCmRubCAgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTLCBJTiBOTwpkbmwgIEVWRU5UIFNIQUxMIEtFSVRIIFBBQ0tBUkQgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgSU5ESVJFQ1QgT1IKZG5sICBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwKZG5sICBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9USEVSCmRubCAgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUgpkbmwgIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCmRubApkbmwgUHJvY2VzcyB0aGlzIGZpbGUgd2l0aCBhdXRvY29uZiB0byBjcmVhdGUgY29uZmlndXJlLgoKQUNfSU5JVChmb250cy5kdGQpCgpkbmwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KZG5sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb25pbmcgICAgICAgICAgICAgIApkbmwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCmRubCBUaGlzIGlzIHRoZSBwYWNrYWdlIHZlcnNpb24gbnVtYmVyLCBub3QgdGhlIHNoYXJlZCBsaWJyYXJ5CmRubCB2ZXJzaW9uLiAgVGhpcyBzYW1lIHZlcnNpb24gbnVtYmVyIG11c3QgYXBwZWFyIGluIGZvbnRjb25maWcvZm9udGNvbmZpZy5oCmRubCBZZXMsIGl0IGlzIGEgcGFpbiB0byBzeW5jaHJvbml6ZSB2ZXJzaW9uIG51bWJlcnMuICBVbmZvcnR1bmF0ZWx5LCBpdCdzCmRubCBub3QgcG9zc2libGUgdG8gZXh0cmFjdCB0aGUgdmVyc2lvbiBudW1iZXIgaGVyZSBmcm9tIGZvbnRjb25maWcuaApBTV9JTklUX0FVVE9NQUtFKGZvbnRjb25maWcsIDIuMS45MSkKCmRubCBsaWJ0b29sIHZlcnNpb25pbmcKCkxUX0NVUlJFTlQ9MQpMVF9SRVZJU0lPTj00CkxUX0FHRT0wCgpMVF9WRVJTSU9OX0lORk89IiRMVF9DVVJSRU5UOiRMVF9SRVZJU0lPTjokTFRfQUdFIgpBQ19TVUJTVChMVF9WRVJTSU9OX0lORk8pCgpkbmwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCkFNX0NPTkZJR19IRUFERVIoY29uZmlnLmgpCgpBQ19QUk9HX0NDCkFDX1BST0dfSU5TVEFMTApBQ19QUk9HX0xOX1MKQU1fUFJPR19MSUJUT09MCkFDX1BST0dfTUFLRV9TRVQKCiMgQ2hlY2tzIGZvciBoZWFkZXIgZmlsZXMuCkFDX0hFQURFUl9ESVJFTlQKQUNfSEVBREVSX1NUREMKQUNfQ0hFQ0tfSEVBREVSUyhbZmNudGwuaCBzdGRsaWIuaCBzdHJpbmcuaCB1bmlzdGQuaF0pCgojIENoZWNrcyBmb3IgdHlwZWRlZnMsIHN0cnVjdHVyZXMsIGFuZCBjb21waWxlciBjaGFyYWN0ZXJpc3RpY3MuCkFDX0NfQ09OU1QKQUNfVFlQRV9QSURfVAoKIyBDaGVja3MgZm9yIGxpYnJhcnkgZnVuY3Rpb25zLgpBQ19GVU5DX1ZQUklOVEYKQUNfQ0hFQ0tfRlVOQ1MoW21lbW1vdmUgbWVtc2V0IHN0cmNociBzdHJyY2hyIHN0cnRvbCBnZXRvcHQgZ2V0b3B0X2xvbmddKQoKIwojIENoZWNrcyBmb3IgRnJlZVR5cGUKIwoKQUNfQVJHX1dJVEgoZnJlZXR5cGVfY29uZmlnLCBbICAtLXdpdGgtZnJlZXR5cGUtY29uZmlnPVBST0cgICBVc2UgRnJlZVR5cGUgY29uZmlndXJhdGlvbiBwcm9ncmFtIFBST0ddLCBmcmVldHlwZV9jb25maWc9JHdpdGh2YWwsIGZyZWV0eXBlX2NvbmZpZz15ZXMpCgppZiB0ZXN0ICIkZnJlZXR5cGVfY29uZmlnIiA9ICJ5ZXMiOyB0aGVuIAoJQUNfUEFUSF9QUk9HKGZ0X2NvbmZpZyxmcmVldHlwZS1jb25maWcsbm8pCglpZiB0ZXN0ICIkZnRfY29uZmlnIiA9ICJubyI7IHRoZW4KCQlBQ19NU0dfRVJST1IoW1lvdSBtdXN0IGhhdmUgZnJlZXR5cGUgaW5zdGFsbGVkOyBzZWUgaHR0cDovL3d3dy5mcmVldHlwZS5vcmcvXSkKCWZpCmVsc2UKCWZ0X2NvbmZpZz0iJGZyZWV0eXBlX2NvbmZpZyIKZmkKCkZSRUVUWVBFX0NGTEFHUz0iJCgkZnRfY29uZmlnIC0tY2ZsYWdzKSIKRlJFRVRZUEVfTElCUz0iJCgkZnRfY29uZmlnIC0tbGlicykiCgpBQ19TVUJTVChGUkVFVFlQRV9MSUJTKQpBQ19TVUJTVChGUkVFVFlQRV9DRkxBR1MpCgojCiMgQ2hlY2sgdG8gc2VlIHdoZXRoZXIgd2UgaGF2ZSBGVF9HZXRfRmlyc3RfQ2hhcigpLCBuZXcgaW4gMi4wLjkKIwoKZm9udGNvbmZpZ19zYXZlX2xpYnM9JExJQlMKTElCUz0iJExJQlMgJEZSRUVUWVBFX0xJQlMiCkFDX0NIRUNLX0ZVTkNTKEZUX0dldF9GaXJzdF9DaGFyKQpMSUJTPSRmb250Y29uZmlnX3NhdmVfbGlicwoKIwojIENoZWNrIGV4cGF0IGNvbmZpZ3VyYXRpb24KIwoKQUNfQVJHX1dJVEgoZXhwYXQsICAgICAgICAgICAgIFsgIC0td2l0aC1leHBhdD1ESVIgICAgICAgICAgICAgIFVzZSBFeHBhdCBpbiBESVJdLCBleHBhdD0kd2l0aHZhbCwgZXhwYXQ9eWVzKQpBQ19BUkdfV0lUSChleHBhdF9pbmNsdWRlcywgICAgWyAgLS13aXRoLWV4cGF0LWluY2x1ZGVzPURJUiAgICAgVXNlIEV4cGF0IGluY2x1ZGVzIGluIERJUl0sIGV4cGF0X2luY2x1ZGVzPSR3aXRodmFsLCBleHBhdF9pbmNsdWRlcz15ZXMpCkFDX0FSR19XSVRIKGV4cGF0X2xpYiwgICAgICAgICBbICAtLXdpdGgtZXhwYXQtbGliPURJUiAgICAgICAgICBVc2UgRXhwYXQgbGlicmFyeSBpbiBESVJdLCBleHBhdF9saWI9JHdpdGh2YWwsIGV4cGF0X2xpYj15ZXMpCgpjYXNlICIkZXhwYXQiIGluCm5vKQoJOzsKKikKCWNhc2UgIiRleHBhdF9pbmNsdWRlcyIgaW4KCXllc3xubykKCQlFWFBBVF9DRkxBR1M9IiIKCQk7OwoJKikKCQlFWFBBVF9DRkxBR1M9Ii1JJGV4cGF0X2luY2x1ZGVzIgoJCTs7Cgllc2FjCgljYXNlICIkZXhwYXRfbGliIiBpbgoJeWVzKQoJCWNhc2UgIiRleHBhdCIgaW4KCQl5ZXMpCgkJCUVYUEFUX0xJQlM9Ii1sZXhwYXQiCgkJCTs7CgkJKikKCQkJRVhQQVRfTElCUz0iLUwkZXhwYXQvbGliIC1sZXhwYXQiCgkJCTs7CgkJZXNhYwoJCTs7CglubykKCQk7OwoJKikKCQlFWFBBVF9MSUJTPSItTCRleHBhdF9saWIgLWxleHBhdCIKCQk7OwoJZXNhYwoKCWV4cGF0c2F2ZWRfQ1BQRkxBR1M9IiRDUFBGTEFHUyIKCUNQUEZMQUdTPSIkQ1BQRkxBR1MgJEVYUEFUX0NGTEFHUyIKCWV4cGF0c2F2ZWRfTElCUz0iJExJQlMiCglMSUJTPSIkTElCUyAkRVhQQVRfTElCUyIKCglBQ19DSEVDS19IRUFERVIoZXhwYXQuaCkKCWNhc2UgIiRhY19jdl9oZWFkZXJfZXhwYXRfaCIgaW4KCW5vKQoJCUFDX0NIRUNLX0hFQURFUih4bWxwYXJzZS5oKQoJCWNhc2UgIiRhY19jdl9oZWFkZXJfeG1scGFyc2VfaCIgaW4KCQlubykKCQkJaGF2ZV9leHBhdF9oZWFkZXI9bm87CgkJCTs7CgkJeWVzKQoJCQlIQVZFX1hNTFBBUlNFX0g9MQoJCQlBQ19TVUJTVChIQVZFX1hNTFBBUlNFX0gpCgkJCUFDX0RFRklORV9VTlFVT1RFRChIQVZFX1hNTFBBUlNFX0gsJEhBVkVfWE1MUEFSU0VfSCwKCQkJW1VzZSB4bWxwYXJzZS5oIGluc3RlYWQgb2YgZXhwYXQuaF0pCgkJCWhhdmVfZXhwYXRfaGVhZGVyPXllcwoJCQk7OwoJCWVzYWMKCQk7OwoJeWVzKQoJCWhhdmVfZXhwYXRfaGVhZGVyPXllcwoJCTs7Cgllc2FjCgljYXNlICIkaGF2ZV9leHBhdF9oZWFkZXIiIGluCglubykKCQlleHBhdD1ubwoJCTs7Cgl5ZXMpCgkJQUNfQ0hFQ0tfRlVOQ1MoWE1MX1BhcnNlckNyZWF0ZSkKCQljYXNlICIkYWNfY3ZfZnVuY19YTUxfUGFyc2VyQ3JlYXRlIiBpbgoJCW5vKQoJCQlleHBhdD1ubwoJCQk7OwoJCXllcykKCQkJSEFWRV9FWFBBVD0xCgkJCUFDX1NVQlNUKEhBVkVfRVhQQVQpCgkJCUFDX0RFRklORV9VTlFVT1RFRChIQVZFX0VYUEFULCRIQVZFX0VYUEFULAoJCQlbRm91bmQgYSB1c2VhYmxlIGV4cGF0IGxpYnJhcnldKQoJCQk7OwoJCWVzYWMKCQk7OwoJZXNhYwoJQ1BQRkxBR1M9IiRzYXZlZF9DUFBGTEFHUyIKCUxJQlM9IiRzYXZlZF9MSUJTIgoJOzsKZXNhYwpBQ19TVUJTVChFWFBBVF9MSUJTKQpBQ19TVUJTVChFWFBBVF9DRkxBR1MpCgkKY2FzZSAiJGV4cGF0IiBpbgpubykKCUFDX01TR19FUlJPUihbY2Fubm90IGZpbmQgZXhwYXQgbGlicmFyeV0pCgk7Owplc2FjCgojCiMgU2V0IGRlZmF1bHQgZm9udCBkaXJlY3RvcnkKIwoKQUNfQVJHX1dJVEgoZGVmYXVsdF9mb250cywgICAgIFsgIC0td2l0aC1kZWZhdWx0LWZvbnRzPURJUiAgICAgIFVzZSBmb250cyBmcm9tIERJUiB3aGVuIGNvbmZpZyBpcyBidXN0ZWRdLCBkZWZhdWx0Zm9udHM9IiR3aXRodmFsIiwgZGVmYXVsdF9mb250cz15ZXMpCgpjYXNlICIkZGVmYXVsdF9mb250cyIgaW4KeWVzKQoJRkNfREVGQVVMVF9GT05UUz0iL3Vzci9zaGFyZS9mb250cyIKCUFDX0RFRklORV9VTlFVT1RFRChGQ19ERUZBVUxUX0ZPTlRTLCAiL3Vzci9zaGFyZS9mb250cyIsIAoJCQkgICBbU3lzdGVtIGZvbnQgZGlyZWN0b3J5XSkKCTs7CiopCglGQ19ERUZBVUxUX0ZPTlRTPSIkZGVmYXVsdF9mb250cyIKCUFDX0RFRklORV9VTlFVT1RFRChGQ19ERUZBVUxUX0ZPTlRTLCAiJGRlZmF1bHRfZm9udHMiLAoJCQkgICBbU3lzdGVtIGZvbnQgZGlyZWN0b3J5XSkKCTs7CmVzYWMKCkFDX1NVQlNUKEZDX0RFRkFVTFRfRk9OVFMpCgojCiMgQWRkIG1vcmUgZm9udHMgaWYgYXZhaWxhYmxlLiAgQnkgZGVmYXVsdCwgYWRkIG9ubHkgdGhlIGRpcmVjdG9yaWVzCiMgd2l0aCBvdXRsaW5lIGZvbnRzOyB0aG9zZSB3aXRoIGJpdG1hcHMgY2FuIGJlIGFkZGVkIGFzIGRlc2lyZWQgaW4KIyBsb2NhbC5jb25mIG9yIH4vLmZvbnRzLmNvbmYKIwpBQ19BUkdfV0lUSChhZGRfZm9udHMsICAgICAgICBbICAtLXdpdGgtYWRkLWZvbnRzPURJUjEsRElSMiwuLi5GaW5kIGFkZGl0aW9uYWwgZm9udHMgaW4gRElSMSxESVIyLC4uLiBdLCBhZGRfZm9udHM9IiR3aXRodmFsIiwgYWRkX2ZvbnRzPXllcykKCmNhc2UgIiRhZGRfZm9udHMiIGluCnllcykKCUZDX0FERF9GT05UUz0iIgoJZm9yIGRpciBpbiAvdXNyL1gxMVI2L2xpYi9YMTEgL3Vzci9YMTEvbGliL1gxMSAvdXNyL2xpYi9YMTE7IGRvCgkJY2FzZSB4IiRGQ19BRERfRk9OVFMiIGluCgkJeCkKCQkJaWYgdGVzdCAtZCAiJGRpci9mb250cyI7IHRoZW4KCQkJCWZvciBzdWIgaW4gIiRkaXIiL2ZvbnRzLyo7IGRvCgkJCQkJaWYgbHMgIiRzdWIiIHwgZ3JlcCAtcSAtaSAnXC5wZlx8XC50dFx8Lm90JzsgdGhlbgoJCQkJCQljYXNlIHgkRkNfQUREX0ZPTlRTIGluCgkJCQkJCXgpCgkJCQkJCQlGQ19BRERfRk9OVFM9IiRzdWIiCgkJCQkJCQk7OwoJCQkJCQkqKQoJCQkJCQkJRkNfQUREX0ZPTlRTPSIkRkNfQUREX0ZPTlRTLCRzdWIiCgkJCQkJCQk7OwoJCQkJCQllc2FjCgkJCQkJZmkKCQkJCWRvbmUKCQkJZmkKCQkJOzsKCQllc2FjCglkb25lCglBQ19ERUZJTkVfVU5RVU9URUQoRkNfQUREX0ZPTlRTLCIkYWRkX2ZvbnRzIixbQWRkaXRpb25hbCBmb250IGRpcmVjdG9yaWVzXSkKCTs7Cm5vKQoJRkNfQUREX0ZPTlRTPSIiCgk7OwoqKQoJRkNfQUREX0ZPTlRTPSIkYWRkX2ZvbnRzIgoJQUNfREVGSU5FX1VOUVVPVEVEKEZDX0FERF9GT05UUywiJGFkZF9mb250cyIsW0FkZGl0aW9uYWwgZm9udCBkaXJlY3Rvcmllc10pCgk7Owplc2FjCgpBQ19TVUJTVChGQ19BRERfRk9OVFMpCgpGQ19GT05UUEFUSD0iIgoKY2FzZSAiJEZDX0FERF9GT05UUyIgaW4KIiIpCgk7OwoqKQoJRkNfRk9OVFBBVEg9YGVjaG8gJEZDX0FERF9GT05UUyB8IAoJCQlzZWQgLWUgJ3MvXi88ZGlyPi8nIC1lICdzLyQvPFwvZGlyPi8nIC1lICdzLywvPFwvZGlyPiA8ZGlyPi9nJ2AKCTs7CmVzYWMKCmVjaG8gRkNfRk9OVFBBVEggaXMgIiRGQ19GT05UUEFUSCIKCkFDX1NVQlNUKEZDX0ZPTlRQQVRIKQoKRkNfRk9OVERBVEU9YGRhdGVgCgpBQ19TVUJTVChGQ19GT05UREFURSkKCkFDX0FSR19XSVRIKGNvbmZkaXIsICAgICAgICAgICBbICAtLXdpdGgtY29uZmRpcj1ESVIgICAgICAgICAgICBVc2UgRElSIHRvIHN0b3JlIGNvbmZpZ3VyYXRpb24gZmlsZXMgKGRlZmF1bHQgL2V0Yy9mb250cyldLCBjb25mZGlyPSIkd2l0aHZhbCIsIGNvbmZkaXI9eWVzKQoKIwojIFNldCBDT05GRElSIGFuZCBGT05UQ09ORklHX1BBVEgKIwoKY2FzZSAiJGNvbmZkaXIiIGluCm5vfHllcykKCWNvbmZkaXI9JyR7c3lzY29uZmRpcn0nL2ZvbnRzCgk7OwoqKQoJOzsKZXNhYwpBQ19TVUJTVChjb25mZGlyKQpDT05GRElSPSR7Y29uZmRpcn0KQUNfREVGSU5FX1VOUVVPVEVEKENPTkZESVIsICIkQ09ORkRJUiIsW0ZvbnQgY29uZmlndXJhdGlvbiBkaXJlY3RvcnldKQpBQ19TVUJTVChDT05GRElSKQoKIwojIEZpbmQgb3V0IHdoYXQgbGFuZ3VhZ2Ugb3J0aG9ncmFwaGllcyBhcmUgaW5jbHVkZWQKIwoKT1JUSF9GSUxFUz1gY2QgZmMtbGFuZyAmJiBlY2hvICoub3J0aGAKQUNfU1VCU1QoT1JUSF9GSUxFUykKCiMKIyBMZXQgcGVvcGxlIG5vdCBidWlsZC9pbnN0YWxsIGRvY3MgaWYgdGhleSBkb24ndCBoYXZlIGRvY2Jvb2sKIwoKQUNfQ0hFQ0tfUFJPRyhIQVNET0NCT09LLCBkb2Nib29rMmh0bWwsIHllcywgbm8pCgpBQ19BUkdfRU5BQkxFKGRvY3MsICAgICAgICAgICBbICAtLWRpc2FibGUtZG9jcyAgICAgICAgICAgICAgICBEb24ndCBidWlsZCBhbmQgaW5zdGFsbCBkb2N1bWVudGF0aW9uXSwsZW5hYmxlX2RvY3M9eWVzKQoKaWYgdGVzdCAieCRlbmFibGVfZG9jcyIgPSB4eWVzOyB0aGVuCiAgaWYgdGVzdCAieCRIQVNET0NCT09LIiAhPSB4eWVzOyB0aGVuCiAgICBlbmFibGVfZG9jcz1ubwogIGZpCmZpCgpBTV9DT05ESVRJT05BTChFTkFCTEVfRE9DUywgdGVzdCAieCRlbmFibGVfZG9jcyIgPSB4eWVzKQoKIwojIEZpZ3VyZSBvdXQgd2hlcmUgdG8gaW5zdGFsbCBkb2N1bWVudGF0aW9uCiMKCkFDX0FSR19XSVRIKGRvY2RpciwgICAgICAgICAgIFsgIC0td2l0aC1kb2NkaXI9RElSICAgICAgICAgICAgIFVzZSBESVIgdG8gc3RvcmUgZG9jdW1lbnRhdGlvbiBmaWxlcyAoZGVmYXVsdCAke2RhdGFkaXJ9L2RvYy9mb250Y29uZmlnKV0sIGNvbmZkaXI9IiR3aXRodmFsIikKCmlmIHRlc3QgIngkd2l0aF9kb2NkaXIiID0gIngiIDsgdGhlbgogIERPQ0RJUj0nJHtkYXRhZGlyfS9kb2MvZm9udGNvbmZpZycKZWxzZQogIERPQ0RJUj0kd2l0aF9kb2NkaXIKZmkKCkFDX1NVQlNUKERPQ0RJUikKCkFDX09VVFBVVChbCk1ha2VmaWxlIApmb250Y29uZmlnL01ha2VmaWxlCmZjLWxhbmcvTWFrZWZpbGUKc3JjL01ha2VmaWxlCmZjLWNhY2hlL01ha2VmaWxlCmZjLWxpc3QvTWFrZWZpbGUKZG9jL01ha2VmaWxlCnRlc3QvTWFrZWZpbGUKZm9udGNvbmZpZy5zcGVjCmZvbnRjb25maWcucGMKZm9udHMuY29uZgpdKQo=