ZGlmZiAtLWdpdCBhL2NvcmUvZnBkZnRleHQvY3BkZl9saW5rZXh0cmFjdC5jcHAgYi9jb3JlL2ZwZGZ0ZXh0L2NwZGZfbGlua2V4dHJhY3QuY3BwCmluZGV4IDY4NmI2YTIuLjQ3ZDA3NTQgMTAwNjQ0Ci0tLSBhL2NvcmUvZnBkZnRleHQvY3BkZl9saW5rZXh0cmFjdC5jcHAKKysrIGIvY29yZS9mcGRmdGV4dC9jcGRmX2xpbmtleHRyYWN0LmNwcApAQCAtMzEsMTggKzMxLDM2IEBACiB9CiAKIHZvaWQgQ1BERl9MaW5rRXh0cmFjdDo6UGFyc2VMaW5rKCkgewotICBpbnQgc3RhcnQgPSAwLCBwb3MgPSAwOwotICBpbnQgVG90YWxDaGFyID0gbV9wVGV4dFBhZ2UtPkNvdW50Q2hhcnMoKTsKLSAgd2hpbGUgKHBvcyA8IFRvdGFsQ2hhcikgeworICBpbnQgc3RhcnQgPSAwOworICBpbnQgcG9zID0gMDsKKyAgaW50IG5Ub3RhbENoYXIgPSBtX3BUZXh0UGFnZS0+Q291bnRDaGFycygpOworICBib29sIGJBZnRlckh5cGhlbiA9IGZhbHNlOworICBib29sIGJMaW5lQnJlYWsgPSBmYWxzZTsKKyAgd2hpbGUgKHBvcyA8IG5Ub3RhbENoYXIpIHsKICAgICBGUERGX0NIQVJfSU5GTyBwYWdlQ2hhcjsKICAgICBtX3BUZXh0UGFnZS0+R2V0Q2hhckluZm8ocG9zLCAmcGFnZUNoYXIpOwogICAgIGlmIChwYWdlQ2hhci5tX0ZsYWcgPT0gRlBERlRFWFRfQ0hBUl9HRU5FUkFURUQgfHwKLSAgICAgICAgcGFnZUNoYXIubV9Vbmljb2RlID09IDB4MjAgfHwgcG9zID09IFRvdGFsQ2hhciAtIDEpIHsKKyAgICAgICAgcGFnZUNoYXIubV9Vbmljb2RlID09IFRFWFRfU1BBQ0VfQ0hBUiB8fCBwb3MgPT0gblRvdGFsQ2hhciAtIDEpIHsKICAgICAgIGludCBuQ291bnQgPSBwb3MgLSBzdGFydDsKLSAgICAgIGlmIChwb3MgPT0gVG90YWxDaGFyIC0gMSkKKyAgICAgIGlmIChwb3MgPT0gblRvdGFsQ2hhciAtIDEpIHsKICAgICAgICAgbkNvdW50Kys7CisgICAgICB9IGVsc2UgaWYgKGJBZnRlckh5cGhlbiAmJiAocGFnZUNoYXIubV9Vbmljb2RlID09IFRFWFRfTElORUZFRURfQ0hBUiB8fAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VDaGFyLm1fVW5pY29kZSA9PSBURVhUX1JFVFVSTl9DSEFSKSkgeworICAgICAgICAvLyBIYW5kbGUgdGV4dCBicmVha3Mgd2l0aCBhIGh5cGhlbiB0byB0aGUgbmV4dCBsaW5lLgorICAgICAgICBiTGluZUJyZWFrID0gdHJ1ZTsKKyAgICAgICAgcG9zKys7CisgICAgICAgIGNvbnRpbnVlOworICAgICAgfQogICAgICAgQ0ZYX1dpZGVTdHJpbmcgc3RyQmVDaGVjazsKICAgICAgIHN0ckJlQ2hlY2sgPSBtX3BUZXh0UGFnZS0+R2V0UGFnZVRleHQoc3RhcnQsIG5Db3VudCk7CisgICAgICBpZiAoYkxpbmVCcmVhaykgeworICAgICAgICBzdHJCZUNoZWNrLlJlbW92ZShURVhUX0xJTkVGRUVEX0NIQVIpOworICAgICAgICBzdHJCZUNoZWNrLlJlbW92ZShURVhUX1JFVFVSTl9DSEFSKTsKKyAgICAgICAgYkxpbmVCcmVhayA9IGZhbHNlOworICAgICAgfQorICAgICAgLy8gUmVwbGFjZSB0aGUgZ2VuZXJhdGVkIGNvZGUgd2l0aCB0aGUgaHlwaGVuIGNoYXIuCisgICAgICBzdHJCZUNoZWNrLlJlcGxhY2UoTCJceGZmZmUiLCBURVhUX0hZUEhFTik7CisKICAgICAgIGlmIChzdHJCZUNoZWNrLkdldExlbmd0aCgpID4gNSkgewogICAgICAgICB3aGlsZSAoc3RyQmVDaGVjay5HZXRMZW5ndGgoKSA+IDApIHsKICAgICAgICAgICB3Y2hhcl90IGNoID0gc3RyQmVDaGVjay5HZXRBdChzdHJCZUNoZWNrLkdldExlbmd0aCgpIC0gMSk7CkBAIC02MCw2ICs3OCw5IEBACiAgICAgICB9CiAgICAgICBzdGFydCA9ICsrcG9zOwogICAgIH0gZWxzZSB7CisgICAgICBiQWZ0ZXJIeXBoZW4gPSAocGFnZUNoYXIubV9GbGFnID09IEZQREZURVhUX0NIQVJfSFlQSEVOIHx8CisgICAgICAgICAgICAgICAgICAgICAgKHBhZ2VDaGFyLm1fRmxhZyA9PSBGUERGVEVYVF9DSEFSX05PUk1BTCAmJgorICAgICAgICAgICAgICAgICAgICAgICBwYWdlQ2hhci5tX1VuaWNvZGUgPT0gVEVYVF9IWVBIRU5fQ0hBUikpOwogICAgICAgcG9zKys7CiAgICAgfQogICB9CmRpZmYgLS1naXQgYS9jb3JlL2ZwZGZ0ZXh0L2NwZGZfdGV4dHBhZ2UuaCBiL2NvcmUvZnBkZnRleHQvY3BkZl90ZXh0cGFnZS5oCmluZGV4IGViZTU4ZWIuLmQ3ZTI5ZWQgMTAwNjQ0Ci0tLSBhL2NvcmUvZnBkZnRleHQvY3BkZl90ZXh0cGFnZS5oCisrKyBiL2NvcmUvZnBkZnRleHQvY3BkZl90ZXh0cGFnZS5oCkBAIC0zNCwxMCArMzQsMTIgQEAKICNkZWZpbmUgVEVYVF9TUEFDRV9DSEFSIEwnICcKICNkZWZpbmUgVEVYVF9MSU5FRkVFRF9DSEFSIEwnXG4nCiAjZGVmaW5lIFRFWFRfUkVUVVJOX0NIQVIgTCdccicKKyNkZWZpbmUgVEVYVF9IWVBIRU5fQ0hBUiBMJy0nCiAjZGVmaW5lIFRFWFRfRU1QVFkgTCIiCiAjZGVmaW5lIFRFWFRfU1BBQ0UgTCIgIgogI2RlZmluZSBURVhUX1JFVFVSTl9MSU5FRkVFRCBMIlxyXG4iCiAjZGVmaW5lIFRFWFRfTElORUZFRUQgTCJcbiIKKyNkZWZpbmUgVEVYVF9IWVBIRU4gTCItIgogI2RlZmluZSBURVhUX0NIQVJSQVRJT19HQVBERUxUQSAwLjA3MAogCiBlbnVtIGNsYXNzIEZQREZUZXh0X01hcmtlZENvbnRlbnQgeyBQYXNzID0gMCwgRG9uZSwgRGVsYXkgfTsKZGlmZiAtLWdpdCBhL2ZwZGZzZGsvZnBkZnRleHRfZW1iZWRkZXJ0ZXN0LmNwcCBiL2ZwZGZzZGsvZnBkZnRleHRfZW1iZWRkZXJ0ZXN0LmNwcAppbmRleCAxOThlZjhhLi4zZDQ5NmJjIDEwMDY0NAotLS0gYS9mcGRmc2RrL2ZwZGZ0ZXh0X2VtYmVkZGVydGVzdC5jcHAKKysrIGIvZnBkZnNkay9mcGRmdGV4dF9lbWJlZGRlcnRlc3QuY3BwCkBAIC0zNzAsNiArMzcwLDc0IEBACiAgIFVubG9hZFBhZ2UocGFnZSk7CiB9CiAKK1RFU1RfRihGUERGVGV4dEVtYmVkZGVydGVzdCwgV2ViTGlua3NBY3Jvc3NMaW5lcykgeworICBFWFBFQ1RfVFJVRShPcGVuRG9jdW1lbnQoIndlYmxpbmtzX2Fjcm9zc19saW5lcy5wZGYiKSk7CisgIEZQREZfUEFHRSBwYWdlID0gTG9hZFBhZ2UoMCk7CisgIEVYUEVDVF9UUlVFKHBhZ2UpOworCisgIEZQREZfVEVYVFBBR0UgdGV4dHBhZ2UgPSBGUERGVGV4dF9Mb2FkUGFnZShwYWdlKTsKKyAgRVhQRUNUX1RSVUUodGV4dHBhZ2UpOworCisgIEZQREZfUEFHRUxJTksgcGFnZWxpbmsgPSBGUERGTGlua19Mb2FkV2ViTGlua3ModGV4dHBhZ2UpOworICBFWFBFQ1RfVFJVRShwYWdlbGluayk7CisKKyAgc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGtFeHBlY3RlZFVybHNbXSA9IHsKKyAgICAgICJodHRwOi8vZXhhbXBsZS5jb20/IiwgICAgICAgICAgLy8gZnJvbSAiaHR0cDovL3d3dy5leGFtcGxlLmNvbT9cclxuZm9vIgorICAgICAgImh0dHA6Ly9leGFtcGxlLmNvbS8iLCAgICAgICAgICAvLyBmcm9tICJodHRwOi8vd3d3LmV4YW1wbGUuY29tL1xyXG5mb28iCisgICAgICAiaHR0cDovL2V4YW1wbGUuY29tL3Rlc3QtZm9vIiwgIC8vIGZyb20gImh0dHA6Ly9leGFtcGxlLmNvbS90ZXN0LVxyXG5mb28iCisgICAgICAiaHR0cDovL2FiYy5jb20vdGVzdC1mb28iLCAgICAgIC8vIGZyb20gImh0dHA6Ly9hYmMuY29tL3Rlc3QtXHJcblxyXG5mb28iCisgICAgICAvLyBOZXh0IHR3byBsaW5rcyBmcm9tICJodHRwOi8vd3d3LmV4YW1wbGUuY29tL1xyXG5odHRwOi8vd3d3LmFiYy5jb20vIgorICAgICAgImh0dHA6Ly9leGFtcGxlLmNvbS8iLCAiaHR0cDovL3d3dy5hYmMuY29tIiwKKyAgfTsKKyAgc3RhdGljIGNvbnN0IGludCBrTnVtTGlua3MgPSBzdGF0aWNfY2FzdDxpbnQ+KEZYX0FycmF5U2l6ZShrRXhwZWN0ZWRVcmxzKSk7CisKKyAgRVhQRUNUX0VRKGtOdW1MaW5rcywgRlBERkxpbmtfQ291bnRXZWJMaW5rcyhwYWdlbGluaykpOworCisgIHVuc2lnbmVkIHNob3J0IGZpeGVkX2J1ZmZlclsxMjhdOworICBmb3IgKGludCBpID0gMDsgaSA8IGtOdW1MaW5rczsgaSsrKSB7CisgICAgY29uc3Qgc2l6ZV90IGV4cGVjdGVkX2xlbiA9IHN0cmxlbihrRXhwZWN0ZWRVcmxzW2ldKSArIDE7CisgICAgbWVtc2V0KGZpeGVkX2J1ZmZlciwgMCwgRlhfQXJyYXlTaXplKGZpeGVkX2J1ZmZlcikpOworICAgIEVYUEVDVF9FUShzdGF0aWNfY2FzdDxpbnQ+KGV4cGVjdGVkX2xlbiksCisgICAgICAgICAgICAgIEZQREZMaW5rX0dldFVSTChwYWdlbGluaywgaSwgbnVsbHB0ciwgMCkpOworICAgIEVYUEVDVF9FUSgKKyAgICAgICAgc3RhdGljX2Nhc3Q8aW50PihleHBlY3RlZF9sZW4pLAorICAgICAgICBGUERGTGlua19HZXRVUkwocGFnZWxpbmssIGksIGZpeGVkX2J1ZmZlciwgRlhfQXJyYXlTaXplKGZpeGVkX2J1ZmZlcikpKTsKKyAgICBFWFBFQ1RfVFJVRSgKKyAgICAgICAgY2hlY2tfdW5zaWduZWRfc2hvcnRzKGtFeHBlY3RlZFVybHNbaV0sIGZpeGVkX2J1ZmZlciwgZXhwZWN0ZWRfbGVuKSk7CisgIH0KKworICBGUERGTGlua19DbG9zZVdlYkxpbmtzKHBhZ2VsaW5rKTsKKyAgRlBERlRleHRfQ2xvc2VQYWdlKHRleHRwYWdlKTsKKyAgVW5sb2FkUGFnZShwYWdlKTsKK30KKworVEVTVF9GKEZQREZUZXh0RW1iZWRkZXJ0ZXN0LCBXZWJMaW5rc0Fjcm9zc0xpbmVzQnVnKSB7CisgIEVYUEVDVF9UUlVFKE9wZW5Eb2N1bWVudCgiYnVnXzY1MC5wZGYiKSk7CisgIEZQREZfUEFHRSBwYWdlID0gTG9hZFBhZ2UoMCk7CisgIEVYUEVDVF9UUlVFKHBhZ2UpOworCisgIEZQREZfVEVYVFBBR0UgdGV4dHBhZ2UgPSBGUERGVGV4dF9Mb2FkUGFnZShwYWdlKTsKKyAgRVhQRUNUX1RSVUUodGV4dHBhZ2UpOworCisgIEZQREZfUEFHRUxJTksgcGFnZWxpbmsgPSBGUERGTGlua19Mb2FkV2ViTGlua3ModGV4dHBhZ2UpOworICBFWFBFQ1RfVFJVRShwYWdlbGluayk7CisKKyAgRVhQRUNUX0VRKDIsIEZQREZMaW5rX0NvdW50V2ViTGlua3MocGFnZWxpbmspKTsKKyAgdW5zaWduZWQgc2hvcnQgZml4ZWRfYnVmZmVyWzEyOF0gPSB7MH07CisgIHN0YXRpYyBjb25zdCBjaGFyIGtFeHBlY3RlZFVybFtdID0KKyAgICAgICJodHRwOi8vdHV0b3JpYWw0NS5jb20vbGVhcm4tYXV0b2NhZC1iYXNpY3MtZGF5LTE2Ni8iOworICBzdGF0aWMgY29uc3QgaW50IGtVcmxTaXplID0gc3RhdGljX2Nhc3Q8aW50PihzaXplb2Yoa0V4cGVjdGVkVXJsKSk7CisKKyAgRVhQRUNUX0VRKGtVcmxTaXplLCBGUERGTGlua19HZXRVUkwocGFnZWxpbmssIDEsIG51bGxwdHIsIDApKTsKKyAgRVhQRUNUX0VRKGtVcmxTaXplLCBGUERGTGlua19HZXRVUkwocGFnZWxpbmssIDEsIGZpeGVkX2J1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlhfQXJyYXlTaXplKGZpeGVkX2J1ZmZlcikpKTsKKyAgRVhQRUNUX1RSVUUoY2hlY2tfdW5zaWduZWRfc2hvcnRzKGtFeHBlY3RlZFVybCwgZml4ZWRfYnVmZmVyLCBrVXJsU2l6ZSkpOworCisgIEZQREZMaW5rX0Nsb3NlV2ViTGlua3MocGFnZWxpbmspOworICBGUERGVGV4dF9DbG9zZVBhZ2UodGV4dHBhZ2UpOworICBVbmxvYWRQYWdlKHBhZ2UpOworfQorCiBURVNUX0YoRlBERlRleHRFbWJlZGRlcnRlc3QsIEdldEZvbnRTaXplKSB7CiAgIEVYUEVDVF9UUlVFKE9wZW5Eb2N1bWVudCgiaGVsbG9fd29ybGQucGRmIikpOwogICBGUERGX1BBR0UgcGFnZSA9IExvYWRQYWdlKDApOwpkaWZmIC0tZ2l0IGEvdGVzdGluZy9yZXNvdXJjZXMvYnVnXzY1MC5wZGYgYi90ZXN0aW5nL3Jlc291cmNlcy9idWdfNjUwLnBkZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZTQ2MDMyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdGluZy9yZXNvdXJjZXMvYnVnXzY1MC5wZGYKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdGluZy9yZXNvdXJjZXMvd2VibGlua3NfYWNyb3NzX2xpbmVzLmluIGIvdGVzdGluZy9yZXNvdXJjZXMvd2VibGlua3NfYWNyb3NzX2xpbmVzLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiMDRiNWUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0aW5nL3Jlc291cmNlcy93ZWJsaW5rc19hY3Jvc3NfbGluZXMuaW4KQEAgLTAsMCArMSw3NCBAQAore3toZWFkZXJ9fQore3tvYmplY3QgMSAwfX0gPDwKKyAgL1R5cGUgL0NhdGFsb2cKKyAgL1BhZ2VzIDIgMCBSCis+Pgore3tvYmplY3QgMiAwfX0gPDwKKyAgL1R5cGUgL1BhZ2VzCisgIC9NZWRpYUJveCBbIDAgMCA2MDAgNjAwIF0KKyAgL0NvdW50IDEKKyAgL0tpZHMgWyAzIDAgUiBdCis+PgorZW5kb2JqCit7e29iamVjdCAzIDB9fSA8PAorICAvVHlwZSAvUGFnZQorICAvUGFyZW50IDIgMCBSCisgIC9SZXNvdXJjZXMgPDwKKyAgICAvRm9udCA8PAorICAgICAgL0YxIDQgMCBSCisgICAgICAvRjIgNSAwIFIKKyAgICA+PgorICA+PgorICAvQ29udGVudHMgNiAwIFIKKz4+CitlbmRvYmoKK3t7b2JqZWN0IDQgMH19IDw8CisgIC9UeXBlIC9Gb250CisgIC9TdWJ0eXBlIC9UeXBlMQorICAvQmFzZUZvbnQgL1RpbWVzLVJvbWFuCis+PgorZW5kb2JqCit7e29iamVjdCA1IDB9fSA8PAorICAvVHlwZSAvRm9udAorICAvU3VidHlwZSAvVHlwZTEKKyAgL0Jhc2VGb250IC9IZWx2ZXRpY2EKKz4+CitlbmRvYmoKK3t7b2JqZWN0IDYgMH19IDw8Cis+Pgorc3RyZWFtCitCVAorL0YxIDEyIFRmCis1MCA1MCBUZAorKEhlbGxvLCB3b3JsZCEgVGhpcyBpcyBub3QgYSBsaW5rLikgVGoKKzAgNTAgVGQKKyhJcyB0aGlzIGh0dHA6Ly9leGFtcGxlLmNvbT8pIFRqCiswIDUwIFRkCisoZm9vIGEgbGluaz8pIFRqCisvRjIgMTQgVGYKKzAgNTAgVGQKKyhIb3cgYWJvdXQgdGhpcyBodHRwOi8vZXhhbXBsZS5jb20vKSBUagorMCA1MCBUZAorKGZvbyBhIGxpbms/KSBUagorMCA1MCBUZAorKElzIHRoaXMgaHR0cDovL2V4YW1wbGUuY29tL3Rlc3QtKSBUagorMCA1MCBUZAorKGZvbyBhIGxpbms/KSBUagorKElzIHRoaXMgaHR0cDovL2FiYy5jb20vdGVzdC0pIFRqCiswIDUwIFRkCiswIDUwIFRkCisoZm9vIGEgbGluaz8pIFRqCiswIDUwIFRkCisoQW5kIHRoaXMgaHR0cDovL2V4YW1wbGUuY29tLykgVGoKKzAgNTAgVGQKKyhodHRwOi8vd3d3LmFiYy5jb20gYSBsaW5rPykgVGoKK0VUCitlbmRzdHJlYW0KK2VuZG9iagore3t4cmVmfX0KK3RyYWlsZXIgPDwKKyAgL1NpemUgNgorICAvUm9vdCAxIDAgUgorPj4KK3t7c3RhcnR4cmVmfX0KKyUlRU9GCmRpZmYgLS1naXQgYS90ZXN0aW5nL3Jlc291cmNlcy93ZWJsaW5rc19hY3Jvc3NfbGluZXMucGRmIGIvdGVzdGluZy9yZXNvdXJjZXMvd2VibGlua3NfYWNyb3NzX2xpbmVzLnBkZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTMyN2M0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdGluZy9yZXNvdXJjZXMvd2VibGlua3NfYWNyb3NzX2xpbmVzLnBkZgpAQCAtMCwwICsxLDg0IEBACislUERGLTEuNworJaDypPQKKzEgMCBvYmogPDwKKyAgL1R5cGUgL0NhdGFsb2cKKyAgL1BhZ2VzIDIgMCBSCis+PgorMiAwIG9iaiA8PAorICAvVHlwZSAvUGFnZXMKKyAgL01lZGlhQm94IFsgMCAwIDYwMCA2MDAgXQorICAvQ291bnQgMQorICAvS2lkcyBbIDMgMCBSIF0KKz4+CitlbmRvYmoKKzMgMCBvYmogPDwKKyAgL1R5cGUgL1BhZ2UKKyAgL1BhcmVudCAyIDAgUgorICAvUmVzb3VyY2VzIDw8CisgICAgL0ZvbnQgPDwKKyAgICAgIC9GMSA0IDAgUgorICAgICAgL0YyIDUgMCBSCisgICAgPj4KKyAgPj4KKyAgL0NvbnRlbnRzIDYgMCBSCis+PgorZW5kb2JqCis0IDAgb2JqIDw8CisgIC9UeXBlIC9Gb250CisgIC9TdWJ0eXBlIC9UeXBlMQorICAvQmFzZUZvbnQgL1RpbWVzLVJvbWFuCis+PgorZW5kb2JqCis1IDAgb2JqIDw8CisgIC9UeXBlIC9Gb250CisgIC9TdWJ0eXBlIC9UeXBlMQorICAvQmFzZUZvbnQgL0hlbHZldGljYQorPj4KK2VuZG9iagorNiAwIG9iaiA8PAorPj4KK3N0cmVhbQorQlQKKy9GMSAxMiBUZgorNTAgNTAgVGQKKyhIZWxsbywgd29ybGQhIFRoaXMgaXMgbm90IGEgbGluay4pIFRqCiswIDUwIFRkCisoSXMgdGhpcyBodHRwOi8vZXhhbXBsZS5jb20/KSBUagorMCA1MCBUZAorKGZvbyBhIGxpbms/KSBUagorL0YyIDE0IFRmCiswIDUwIFRkCisoSG93IGFib3V0IHRoaXMgaHR0cDovL2V4YW1wbGUuY29tLykgVGoKKzAgNTAgVGQKKyhmb28gYSBsaW5rPykgVGoKKzAgNTAgVGQKKyhJcyB0aGlzIGh0dHA6Ly9leGFtcGxlLmNvbS90ZXN0LSkgVGoKKzAgNTAgVGQKKyhmb28gYSBsaW5rPykgVGoKKyhJcyB0aGlzIGh0dHA6Ly9hYmMuY29tL3Rlc3QtKSBUagorMCA1MCBUZAorMCA1MCBUZAorKGZvbyBhIGxpbms/KSBUagorMCA1MCBUZAorKEFuZCB0aGlzIGh0dHA6Ly9leGFtcGxlLmNvbS8pIFRqCiswIDUwIFRkCisoaHR0cDovL3d3dy5hYmMuY29tIGEgbGluaz8pIFRqCitFVAorZW5kc3RyZWFtCitlbmRvYmoKK3hyZWYKKzAgNworMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAxNSAwMDAwMCBuIAorMDAwMDAwMDA2MSAwMDAwMCBuIAorMDAwMDAwMDE1NCAwMDAwMCBuIAorMDAwMDAwMDI5NiAwMDAwMCBuIAorMDAwMDAwMDM3NCAwMDAwMCBuIAorMDAwMDAwMDQ1MCAwMDAwMCBuIAordHJhaWxlciA8PAorICAvU2l6ZSA2CisgIC9Sb290IDEgMCBSCis+Pgorc3RhcnR4cmVmCis5MjEKKyUlRU9GCg==