PHNjcmlwdD4KICAoZnVuY3Rpb24odyxkLHMsbCxpKXsKICAgICAgICBpZiAo d2luZG93Ll9kaWRBc3luY0luamVjdEdvb2dsZVRhZ01hbmFnZXIpIHJldHVy bjsKICAgICAgICB3W2xdPXdbbF18fFtdO3dbbF0ucHVzaCh7J2d0bS5zdGFy dCc6CiAgICAgICAgbmV3IERhdGUoKS5nZXRUaW1lKCksZXZlbnQ6J2d0bS5q cyd9KTt2YXIgZj1kLmdldEVsZW1lbnRzQnlUYWdOYW1lKHMpWzBdLAogICAg ICAgIGo9ZC5jcmVhdGVFbGVtZW50KHMpLGRsPWwhPSdkYXRhTGF5ZXInPycm bD0nK2w6Jyc7ai5hc3luYz10cnVlO2ouc3JjPQogICAgICAgICdodHRwczov L3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndG0uanM / aWQ9JytpK2RsKycm Z3RtX2F1dGg9JysnS2hINmhlQ3BvV0pVSG5xVnpkRWE3dycrCiAgICAgICAg JyZndG1fcHJldmlldz0nKydlbnYtMScrJyZndG1fY29va2llc193aW49eCc7 Zi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShqLGYpOwogICAgICAgIHdpbmRv dy5fZGlkQXN5bmNJbmplY3RHb29nbGVUYWdNYW5hZ2VyID0gdHJ1ZTsKICAg ICAgfSkod2luZG93LGRvY3VtZW50LCdzY3JpcHQnLCdkYXRhTGF5ZXInLCdH VE0tTUY2UFhYQycpOwo8L3NjcmlwdD4KPG5vc2NyaXB0Pgo8aWZyYW1lIGhl aWdodD0nMCcgc3JjPSdodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNv bS9ucy5odG1sP2lkPUdUTS1NRjZQWFhDJmFtcDtndG1fYXV0aD1LaEg2aGVD cG9XSlVIbnFWemRFYTd3JmFt cDtndG1fcHJldmlldz1lbnYtMSZhbXA7Z3Rt X2Nvb2tpZXNfd2luPXgnIHN0eWxlPSdkaXNwbGF5Om5vbmU7dmlzaWJpbGl0 eTpoaWRkZW4nIHdpZHRoPScwJz48L2lmcmFtZT4KPC9ubD3NjCmlgow=
PHNjcmlwdD4KICAoZnVuY3Rpb24odyxkLHMsbCxpKXsKICAgICAgICBpZiAo d2luZG93Ll9kaWRBc3luY0luamVjdEdvb2dsZVRhZ01hbmFnZXIpIHJldHVy bjsKICAgICAgICB3W2xdPXdbbF18fFtdO3dbbF0ucHVzaCh7J2d0bS5zdGFy dCc6CiAgICAgICAgbmV3IERhdGUoKS5nZXRUaW1lKCksZXZlbnQ6J2d0bS5q cyd9KTt2YXIgZj1kLmdldEVsZW1lbnRzQnlUYWdOYW1lKHMpWzBdLAogICAg ICAgIGo9ZC5jcmVhdGVFbGVtZW50KHMpLGRsPWwhPSdkYXRhTGF5ZXInPycm bD0nK2w6Jyc7ai5hc3luYz10cnVlO2ouc3JjPQogICAgICAgICdodHRwczov L3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndG0uanM / aWQ9JytpK2RsKycm Z3RtX2F1dGg9JysnS2hINmhlQ3BvV0pVSG5xVnpkRWE3dycrCiAgICAgICAg JyZndG1fcHJldmlldz0nKydlbnYtMScrJyZndG1fY29va2llc193aW49eCc7 Zi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShqLGYpOwogICAgICAgIHdpbmRv dy5fZGlkQXN5bmNJbmplY3RHb29nbGVUYWdNYW5hZ2VyID0gdHJ1ZTsKICAg ICAgfSkod2luZG93LGRvY3VtZW50LCdzY3JpcHQnLCdkYXRhTGF5ZXInLCdH VE0tTUY2UFhYQycpOwo8L3NjcmlwdD4KPG5vc2NyaXB0Pgo8aWZyYW1lIGhl aWdodD0nMCcgc3JjPSdodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNv bS9ucy5odG1sP2lkPUdUTS1NRjZQWFhDJmFtcDtndG1fYXV0aD1LaEg2aGVD cG9XSlVIbnFWemRFYTd3JmFt cDtndG1fcHJldmlldz1lbnYtMSZhbXA7Z3Rt X2Nvb2tpZXNfd2luPXgnIHN0eWxlPSdkaXNwbGF5Om5vbmU7dmlzaWJpbGl0 eTpoaWRkZW4nIHdpZHRoPScwJz48L2lmcmFtZT4KPC9ubD3NjCmlgow=
PCEtLSBCZWdpbiBjb21TY29yZSBUYWcgLS0 + Cgo8c2NyaXB0PgogIHZhciBf Y29tc2NvcmUgPSBfY29tc2NvcmUgfHwgW107CiAgX2NvbXNjb3JlLnB1c2go ewogICAgYzE6ICIyIiwKICAgIGMyOiAiNzI0MTQ2OSIsCiAgICBjNTogIjIw MjI3MzMwNzMiLAogICAgYzc6ICJodHRwczovL2Fya2Fuc2FzLnJpdmFscy5j b20vbmV3cy93YXRjaC1tdXNzZWxtYW4tbm90YWUtcmVjYXAtbG9zcy1hdC10 ZXhhcy1hLW0 / eXB0cj15YWhvbz9zcmM9cnNzIgogIH0pOwogIChmdW5jdGlv bigpIHsKICAgIHZhciBzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2Ny aXB0IiksIGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNj cmlwdCIpWzBdOyBzLmFzeW5jID0gdHJ1ZTsKICAgIC8vIGxvYWRpbmcgdGhl IGV2ZXJncmVlbiB2ZXJzaW9uIG9mIGNzLmpzIHNvIHdlIGFsd2F5cyBoYXZl IHRoZSBsYXN0IHZlcnNpb24KICAgIHMuc3JjID0gImh0dHBzOi8vcy55aW1n LmNvbS9jeC92em0vY3MuanMiOwogICAgZWwucGFyZW50Tm9kZS5pbnNlcnRC ZWZvcmUocywgZWwpOwogIH0pKCk7Cjwvc2NyaXB0PgoKPG5vc2NyaXB0Pgog IDxpbWcgc3JjPSJodHRwczovL3NiLnNjb3JlY2FyZHJlc2VhcmNoLmNvbS9w P2MxPTImYzI9NzI0MTQ2OSZjNz1odHRwcyUzQSUyRiUyRmFya2Fuc2FzLnJp dmFscy5jb20lMkZuZXdzJTJGd2F0Y2gtbXVzc2VsbWFuLW5vdGFlLXJlY2Fw LWxvc3MtYXQtdGV4YXMtYS1t JTNGeXB0ciUzRHlhaG9vJTNGc3JjJTNEcnNz JmM1PTIwMjI3MzMwNzMmY3Y9Mi4wJmNqPTEmY3NfdWNmcj0wIiAvPgo8L25v c2NyaXB0Pgo8IS0tIEVuZCBjb21TY29yZSBUYWcgLS0+CgoK