ZGlmZiAtLWdpdCBhL0RvYy9jb25mLnB5IGIvRG9jL2NvbmYucHkKaW5kZXggMGY4ZTYwNi4uZDEyY2IxNyAxMDA2NDQKLS0tIGEvRG9jL2NvbmYucHkKKysrIGIvRG9jL2NvbmYucHkKQEAgLTEsNCArMSwzIEBACi0jIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQogIwogIyBQeXRob24gZG9jdW1lbnRhdGlvbiBidWlsZCBjb25maWd1cmF0aW9uIGZpbGUKICMKZGlmZiAtLWdpdCBhL0xpYi9pbnNwZWN0LnB5IGIvTGliL2luc3BlY3QucHkKaW5kZXggMzU5NjAxNC4uMzViYzI2MyAxMDA2NDQKLS0tIGEvTGliL2luc3BlY3QucHkKKysrIGIvTGliL2luc3BlY3QucHkKQEAgLTEsNCArMSwzIEBACi0jIC0qLSBjb2Rpbmc6IGlzby04ODU5LTEgLSotCiAiIiJHZXQgdXNlZnVsIGluZm9ybWF0aW9uIGZyb20gbGl2ZSBQeXRob24gb2JqZWN0cy4KIAogVGhpcyBtb2R1bGUgZW5jYXBzdWxhdGVzIHRoZSBpbnRlcmZhY2UgcHJvdmlkZWQgYnkgdGhlIGludGVybmFsIHNwZWNpYWwKZGlmZiAtLWdpdCBhL0xpYi9weWRvYy5weSBiL0xpYi9weWRvYy5weQppbmRleCBhY2VlN2I3Li41ZTU0NDY4IDEwMDc1NQotLS0gYS9MaWIvcHlkb2MucHkKKysrIGIvTGliL3B5ZG9jLnB5CkBAIC0xLDUgKzEsNCBAQAogIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwotIyAtKi0gY29kaW5nOiBsYXRpbi0xIC0qLQogIiIiR2VuZXJhdGUgUHl0aG9uIGRvY3VtZW50YXRpb24gaW4gSFRNTCBvciB0ZXh0IGZvciBpbnRlcmFjdGl2ZSB1c2UuCiAKIEluIHRoZSBQeXRob24gaW50ZXJwcmV0ZXIsIGRvICJmcm9tIHB5ZG9jIGltcG9ydCBoZWxwIiB0byBwcm92aWRlIG9ubGluZQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvZW5jb2RlZF9tb2R1bGVzL19faW5pdF9fLnB5IGIvTGliL3Rlc3QvZW5jb2RlZF9tb2R1bGVzL19faW5pdF9fLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjNDMyNTIKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvdGVzdC9lbmNvZGVkX21vZHVsZXMvX19pbml0X18ucHkKQEAgLTAsMCArMSwyMyBAQAorIyAtKi0gZW5jb2Rpbmc6IHV0Zi04IC0qLQorCisjIFRoaXMgaXMgYSBwYWNrYWdlIHRoYXQgY29udGFpbnMgYSBudW1iZXIgb2YgbW9kdWxlcyB0aGF0IGFyZSB1c2VkIHRvCisjIHRlc3QgaW1wb3J0IGZyb20gdGhlIHNvdXJjZSBmaWxlcyB0aGF0IGhhdmUgZGlmZmVyZW50IGVuY29kaW5ncy4KKyMgVGhpcyBmaWxlICh0aGUgX19pbml0X18gbW9kdWxlIG9mIHRoZSBwYWNrYWdlKSwgaXMgZW5jb2RlZCBpbiB1dGYtOAorIyBhbmQgY29udGFpbnMgYSBsaXN0IG9mIHN0cmluZ3MgZnJvbSB2YXJpb3VzIHVuaWNvZGUgcGxhbmVzIHRoYXQgYXJlCisjIGVuY29kZWQgZGlmZmVyZW50bHkgdG8gY29tcGFyZSB0aGVtIHRvIHRoZSBzYW1lIHN0cmluZ3MgZW5jb2RlZAorIyBkaWZmZXJlbnRseSBpbiBzdWJtb2R1bGVzLiAgVGhlIGZvbGxvd2luZyBsaXN0LCB0ZXN0X3N0cmluZ3MsCisjIGNvbnRhaW5zIGEgbGlzdCBvZiB0dXBsZXMuIFRoZSBmaXJzdCBlbGVtZW50IG9mIGVhY2ggdHVwbGUgaXMgdGhlCisjIHN1ZmZpeCB0aGF0IHNob3VsZCBiZSBwcmVwZW5kZWQgd2l0aCAnbW9kdWxlXycgdG8gYXJyaXZlIGF0IHRoZQorIyBlbmNvZGVkIHN1Ym1vZHVsZSBuYW1lLCB0aGUgc2Vjb25kIGl0ZW0gaXMgdGhlIGVuY29kaW5nIGFuZCB0aGUgbGFzdAorIyBpcyB0aGUgdGVzdCBzdHJpbmcuICBUaGUgc2FtZSBzdHJpbmcgaXMgYXNzaWduZWQgdG8gdGhlIHZhcmlhYmxlCisjIG5hbWVkICd0ZXN0JyBpbnNpZGUgdGhlIHN1Ym1vZHVsZS4gIElmIHRoZSBkZWNvZGluZyBvZiBtb2R1bGVzIHdvcmtzCisjIGNvcnJlY3RseSwgZnJvbSBtb2R1bGVfeHl6IGltcG9ydCB0ZXN0IHNob3VsZCByZXN1bHQgaW4gdGhlIHNhbWUKKyMgc3RyaW5nIGFzIGxpc3RlZCBiZWxvdyBpbiB0aGUgJ3h5eicgZW50cnkuCisKKyMgbW9kdWxlLCBlbmNvZGluZywgdGVzdCBzdHJpbmcKK3Rlc3Rfc3RyaW5ncyA9ICgKKyAgICAoJ2lzb184ODU5XzEnLCAnaXNvLTg4NTktMScsICJMZXMgaG9tbWVzIG9udCBvdWJsacOpIGNldHRlIHbDqXJpdMOpLCAiCisgICAgICJkaXQgbGUgcmVuYXJkLiBNYWlzIHR1IG5lIGRvaXMgcGFzIGwnb3VibGllci4gVHUgZGV2aWVucyAiCisgICAgICJyZXNwb25zYWJsZSBwb3VyIHRvdWpvdXJzIGRlIGNlIHF1ZSB0dSBhcyBhcHByaXZvaXPDqS4iKSwKKyAgICAoJ2tvaThfcicsICdrb2k4LXInLCAi0J/QvtC30L3QsNC90LjQtSDQsdC10YHQutC+0L3QtdGH0L3QvtGB0YLQuCDRgtGA0LXQsdGD0LXRgiDQsdC10YHQutC+0L3QtdGH0L3QvtCz0L4g0LLRgNC10LzQtdC90LguIikKKykKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L2VuY29kZWRfbW9kdWxlcy9tb2R1bGVfaXNvXzg4NTlfMS5weSBiL0xpYi90ZXN0L2VuY29kZWRfbW9kdWxlcy9tb2R1bGVfaXNvXzg4NTlfMS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZjRhMTVjCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3Rlc3QvZW5jb2RlZF9tb2R1bGVzL21vZHVsZV9pc29fODg1OV8xLnB5CkBAIC0wLDAgKzEsNSBAQAorIyB0ZXN0IGlzby04ODU5LTEgZW5jb2RpbmcKKyMgLSotIGVuY29kaW5nOiBpc28tODg1OS0xIC0qLQordGVzdCA9ICgiTGVzIGhvbW1lcyBvbnQgb3VibGnpIGNldHRlIHbpcml06SwgIgorICAgICAgICAiZGl0IGxlIHJlbmFyZC4gTWFpcyB0dSBuZSBkb2lzIHBhcyBsJ291YmxpZXIuIFR1IGRldmllbnMgIgorICAgICAgICAicmVzcG9uc2FibGUgcG91ciB0b3Vqb3VycyBkZSBjZSBxdWUgdHUgYXMgYXBwcml2b2lz6S4iKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvZW5jb2RlZF9tb2R1bGVzL21vZHVsZV9rb2k4X3IucHkgYi9MaWIvdGVzdC9lbmNvZGVkX21vZHVsZXMvbW9kdWxlX2tvaThfci5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YjIzYTVhCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3Rlc3QvZW5jb2RlZF9tb2R1bGVzL21vZHVsZV9rb2k4X3IucHkKQEAgLTAsMCArMSwzIEBACisjIHRlc3Qga29pOC1yIGVuY29kaW5nCisjIC0qLSBlbmNvZGluZzoga29pOC1yICAtKi0KK3Rlc3QgPSAi8M/azsHOycUgwsXTy8/Oxd7Oz9PUySDU0sXC1cXUIMLF08vPzsXezs/HzyDX0sXNxc7JLiIKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfY3N2LnB5IGIvTGliL3Rlc3QvdGVzdF9jc3YucHkKaW5kZXggY2E2N2FjNi4uOTc4MDBhZiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9jc3YucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9jc3YucHkKQEAgLTEsNCArMSwzIEBACi0jIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQogIyBDb3B5cmlnaHQgKEMpIDIwMDEsMjAwMiBQeXRob24gU29mdHdhcmUgRm91bmRhdGlvbgogIyBjc3YgcGFja2FnZSB1bml0IHRlc3RzCiAKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZG9jdGVzdDIucHkgYi9MaWIvdGVzdC90ZXN0X2RvY3Rlc3QyLnB5CmluZGV4IDg1MDBlZDUuLjM0N2ExNDMgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZG9jdGVzdDIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9kb2N0ZXN0Mi5weQpAQCAtMSw0ICsxLDMgQEAKLSMgLSotIGNvZGluZzogdXRmLTggLSotCiAiIiJBIG1vZHVsZSB0byB0ZXN0IHdoZXRoZXIgZG9jdGVzdCByZWNvZ25pemVzIHNvbWUgMi4yIGZlYXR1cmVzLAogbGlrZSBzdGF0aWMgYW5kIGNsYXNzIG1ldGhvZHMuCiAKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXAucHkKaW5kZXggYzcxYTRjNy4uYjI5MWRlZCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXAucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXAucHkKQEAgLTUsNyArNSw3IEBACiBpbXBvcnQgc3lzCiBpbXBvcnQgdW5pdHRlc3QKIGZyb20gdGVzdCBpbXBvcnQgc3VwcG9ydAotCitpbXBvcnQgaW1wb3J0bGliCiAKIGNsYXNzIExvY2tUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKQEAgLTQyLDE4ICs0MiwzMiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSdW50aW1lRXJyb3IiKQogCiBjbGFzcyBJbXBvcnRUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBtb2QgPSBpbXBvcnRsaWIuaW1wb3J0X21vZHVsZSgndGVzdC5lbmNvZGVkX21vZHVsZXMnKQorICAgICAgICBzZWxmLnRlc3Rfc3RyaW5ncyA9IG1vZC50ZXN0X3N0cmluZ3MKKyAgICAgICAgc2VsZi50ZXN0X3BhdGggPSBtb2QuX19wYXRoX18KKworICAgIGRlZiB0ZXN0X2ltcG9ydF9lbmNvZGVkX21vZHVsZShzZWxmKToKKyAgICAgICAgZm9yIG1vZG5hbWUsIGVuY29kaW5nLCB0ZXN0c3RyIGluIHNlbGYudGVzdF9zdHJpbmdzOgorICAgICAgICAgICAgbW9kID0gaW1wb3J0bGliLmltcG9ydF9tb2R1bGUoJ3Rlc3QuZW5jb2RlZF9tb2R1bGVzLicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1bGVfJyArIG1vZG5hbWUpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRlc3RzdHIsIG1vZC50ZXN0KQogCiAgICAgZGVmIHRlc3RfZmluZF9tb2R1bGVfZW5jb2Rpbmcoc2VsZik6Ci0gICAgICAgIGZkID0gaW1wLmZpbmRfbW9kdWxlKCJweWRvYyIpWzBdCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmQuZW5jb2RpbmcsICJpc28tODg1OS0xIikKKyAgICAgICAgZm9yIG1vZCwgZW5jb2RpbmcsIF8gaW4gc2VsZi50ZXN0X3N0cmluZ3M6CisgICAgICAgICAgICBmZCA9IGltcC5maW5kX21vZHVsZSgnbW9kdWxlXycgKyBtb2QsIHNlbGYudGVzdF9wYXRoKVswXQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmZC5lbmNvZGluZywgZW5jb2RpbmcpCiAKICAgICBkZWYgdGVzdF9pc3N1ZTEyNjcoc2VsZik6Ci0gICAgICAgIGZwLCBmaWxlbmFtZSwgaW5mbyAgPSBpbXAuZmluZF9tb2R1bGUoInB5ZG9jIikKLSAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChmcCwgTm9uZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmcC5lbmNvZGluZywgImlzby04ODU5LTEiKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZwLnRlbGwoKSwgMCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmcC5yZWFkbGluZSgpLCAnIyEvdXNyL2Jpbi9lbnYgcHl0aG9uM1xuJykKLSAgICAgICAgZnAuY2xvc2UoKQorICAgICAgICBmb3IgbW9kLCBlbmNvZGluZywgXyBpbiBzZWxmLnRlc3Rfc3RyaW5nczoKKyAgICAgICAgICAgIGZwLCBmaWxlbmFtZSwgaW5mbyAgPSBpbXAuZmluZF9tb2R1bGUoJ21vZHVsZV8nICsgbW9kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnRlc3RfcGF0aCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoZnAsIE5vbmUpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZwLmVuY29kaW5nLCBlbmNvZGluZykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZnAudGVsbCgpLCAwKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmcC5yZWFkbGluZSgpLCAnIyB0ZXN0ICVzIGVuY29kaW5nXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgZW5jb2RpbmcpCisgICAgICAgICAgICBmcC5jbG9zZSgpCiAKICAgICAgICAgZnAsIGZpbGVuYW1lLCBpbmZvID0gaW1wLmZpbmRfbW9kdWxlKCJ0b2tlbml6ZSIpCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoZnAsIE5vbmUpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3BlcDMxMzEucHkgYi9MaWIvdGVzdC90ZXN0X3BlcDMxMzEucHkKaW5kZXggZTRjMmQwMy4uZmJhMTI5NyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9wZXAzMTMxLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfcGVwMzEzMS5weQpAQCAtMSw0ICsxLDMgQEAKLSMgLSotIGNvZGluZzogdXRmLTggLSotCiBpbXBvcnQgdW5pdHRlc3QKIGZyb20gdGVzdCBpbXBvcnQgc3VwcG9ydAogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3N5cy5weSBiL0xpYi90ZXN0L3Rlc3Rfc3lzLnB5CmluZGV4IDhjM2ExZGIuLjYyMDMwNjEgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc3lzLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfc3lzLnB5CkBAIC0xLDQgKzEsMyBAQAotIyAtKi0gY29kaW5nOiBpc28tODg1OS0xIC0qLQogaW1wb3J0IHVuaXR0ZXN0LCB0ZXN0LnN1cHBvcnQKIGltcG9ydCBzeXMsIGlvLCBvcwogaW1wb3J0IHN0cnVjdApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF93aW5yZWcucHkgYi9MaWIvdGVzdC90ZXN0X3dpbnJlZy5weQppbmRleCA0NzU3MDM4Li5iNDUyNGRiIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3dpbnJlZy5weQorKysgYi9MaWIvdGVzdC90ZXN0X3dpbnJlZy5weQpAQCAtMSw0ICsxLDMgQEAKLSMgLSotIGNvZGluZzogdXRmLTggLSotCiAjIFRlc3QgdGhlIHdpbmRvd3Mgc3BlY2lmaWMgd2luMzJyZWcgbW9kdWxlLgogIyBPbmx5IHdpbjMycmVnIGZ1bmN0aW9ucyBub3QgaGl0IGhlcmU6IEZsdXNoS2V5LCBMb2FkS2V5IGFuZCBTYXZlS2V5CiAKZGlmZiAtLWdpdCBhL01ha2VmaWxlLnByZS5pbiBiL01ha2VmaWxlLnByZS5pbgppbmRleCA0ZGMwZmJkLi45MDUzMThlIDEwMDY0NAotLS0gYS9NYWtlZmlsZS5wcmUuaW4KKysrIGIvTWFrZWZpbGUucHJlLmluCkBAIC04NzIsNyArODcyLDcgQEAKIExJQlNVQkRJUlM9CXRraW50ZXIgdGtpbnRlci90ZXN0IHRraW50ZXIvdGVzdC90ZXN0X3RraW50ZXIgXAogICAgICAgICAgICAgICAgIHRraW50ZXIvdGVzdC90ZXN0X3R0ayBzaXRlLXBhY2thZ2VzIHRlc3QgXAogCQl0ZXN0L2RlY2ltYWx0ZXN0ZGF0YSB0ZXN0L3htbHRlc3RkYXRhIFwKLQkJdGVzdC90cmFjZWRtb2R1bGVzIFwKKwkJdGVzdC90cmFjZWRtb2R1bGVzIHRlc3QvZW5jb2RlZF9tb2R1bGVzIFwKIAkJY29uY3VycmVudCBlbmNvZGluZ3MgXAogCQllbWFpbCBlbWFpbC9taW1lIGVtYWlsL3Rlc3QgZW1haWwvdGVzdC9kYXRhIFwKIAkJaHRtbCBqc29uIGpzb24vdGVzdHMgaHR0cCBkYm0geG1scnBjIFwKZGlmZiAtLWdpdCBhL01pc2MvTkVXUyBiL01pc2MvTkVXUwppbmRleCA2ZjNkMzZmLi43ZDNmZmM2IDEwMDY0NAotLS0gYS9NaXNjL05FV1MKKysrIGIvTWlzYy9ORVdTCkBAIC00MDMsNiArNDAzLDkgQEAKIFRlc3RzCiAtLS0tLQogCistIElzc3VlICM5MzA4OiBBZGRlZCB0ZXN0cyBmb3IgaW1wb3J0aW5nIGVuY29kZWQgbW9kdWxlcyB0aGF0IGRvIG5vdAorICBkZXBlbmQgb24gc3BlY2lmaWMgc3RkbGliIG1vZHVsZXMgYmVpbmcgZW5jb2RlZCBpbiBhIGNlcnRhaW4gd2F5LgorCiAtIElzc3VlICMxMDUxOiBBZGQgYSBzY3JpcHQgKExpYi90ZXN0L21ha2Vfc3NsX2NlcnRzLnB5KSB0byBnZW5lcmF0ZSB0aGUgY3VzdG9tCiAgIGNlcnRpZmljYXRlIGFuZCBwcml2YXRlIGtleSBmaWxlcyB1c2VkIGJ5IFNTTC1yZWxhdGVkIGNlcnRzLgogCmRpZmYgLS1naXQgYS9Ub29scy9jY2JlbmNoL2NjYmVuY2gucHkgYi9Ub29scy9jY2JlbmNoL2NjYmVuY2gucHkKaW5kZXggNDk3OWRjYi4uNTY5ZWMyMSAxMDA2NDQKLS0tIGEvVG9vbHMvY2NiZW5jaC9jY2JlbmNoLnB5CisrKyBiL1Rvb2xzL2NjYmVuY2gvY2NiZW5jaC5weQpAQCAtMSw0ICsxLDMgQEAKLSMgLSotIGNvZGluZzogdXRmLTggLSotCiAjIFRoaXMgZmlsZSBzaG91bGQgYmUga2VwdCBjb21wYXRpYmxlIHdpdGggYm90aCBQeXRob24gMi42IGFuZCBQeXRob24gPj0gMy4wLgogCiBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGRpdmlzaW9uCmRpZmYgLS1naXQgYS9Ub29scy9pMThuL21zZ2ZtdC5weSBiL1Rvb2xzL2kxOG4vbXNnZm10LnB5CmluZGV4IGM0YjNjMWEuLmE1NTQ0NDIgMTAwNzU1Ci0tLSBhL1Rvb2xzL2kxOG4vbXNnZm10LnB5CisrKyBiL1Rvb2xzL2kxOG4vbXNnZm10LnB5CkBAIC0xLDYgKzEsNSBAQAogIyEgL3Vzci9iaW4vZW52IHB5dGhvbjMKLSMgLSotIGNvZGluZzogaXNvLTg4NTktMSAtKi0KLSMgV3JpdHRlbiBieSBNYXJ0aW4gdi4gTPZ3aXMgPGxvZXdpc0BpbmZvcm1hdGlrLmh1LWJlcmxpbi5kZT4KKyMgV3JpdHRlbiBieSBNYXJ0aW4gdi4gTMO2d2lzIDxsb2V3aXNAaW5mb3JtYXRpay5odS1iZXJsaW4uZGU+CiAKICIiIkdlbmVyYXRlIGJpbmFyeSBtZXNzYWdlIGNhdGFsb2cgZnJvbSB0ZXh0dWFsIHRyYW5zbGF0aW9uIGRlc2NyaXB0aW9uLgogCg==