{"remainingRequest":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/cache-loader/dist/cjs.js??ref--13-0!/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/babel-loader/lib/index.js!/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/cache-loader/dist/cjs.js??ref--1-0!/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/vue-loader/lib/index.js??vue-loader-options!/data/jenkins/workspace/badp-bcxin-web-5.x-staff/src/views/Employee/index.vue?vue&type=template&id=7505cbe3","dependencies":[{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/src/views/Employee/index.vue","mtime":1749093819374},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/babel.config.js","mtime":1725615667903},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/babel-loader/lib/index.js","mtime":456789000000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/vue-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:dmFyIHJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHsKICB2YXIgX3ZtID0gdGhpcywKICAgIF9jID0gX3ZtLl9zZWxmLl9jOwogIHJldHVybiBfYygnZGl2JywgewogICAgc3RhdGljQ2xhc3M6ICJDb250YWluZXJCb3giCiAgfSwgW192bS5TdGFmZkJveEZsYWcgPyBfYygnc2VjdGlvbicsIHsKICAgIHN0YXRpY0NsYXNzOiAiQ29udGFpbmVyQm94TGlzdCIKICB9LCBbX2MoJ3NlY3Rpb24nLCB7CiAgICBzdGF0aWNDbGFzczogInJlbWFya0JveCIKICB9LCBbX2MoJ2RpdicsIHsKICAgIHN0YXRpY0NsYXNzOiAicmVtYXJrSW5mbyIKICB9LCBbX2MoJ2knLCB7CiAgICBzdGF0aWNDbGFzczogImVsLWljb24td2FybmluZy1vdXRsaW5lIGVsLWljb24tZmxhZyIKICB9KSwgX2MoJ3NwYW4nLCB7CiAgICBzdGF0aWNDbGFzczogInRpcHNGbGFnIgogIH0sIFtfYygnc3BhbicsIFtfdm0uX3YoIjEuIOiLpeaCqOaYryIgKyBfdm0uX3MoX3ZtLiRTdXBlcnZpc2VTdHIuZGVwYXJ0KSArICLnrqHnkIblkZjvvIzliJnlj6rog73mn6XnnIvliLDlj6/nrqHnkIbnmoQiICsgX3ZtLl9zKF92bS4kU3VwZXJ2aXNlU3RyLmVtcGxveWVlKSArICLkv6Hmga/vvIzngrnlh7vmlbDmja7nnIvmnb/nmoTmoIfnrb7ljaHlj6/ku6Xlv6vpgJ/nrZvpgInjgIIiKV0pLCBfYygnc3BhbicsIFtfdm0uX3YoIjIuIOiLpemcgOimgeWvuSIgKyBfdm0uX3MoX3ZtLiRTdXBlcnZpc2VTdHIuZW1wbG95ZWUpICsgIui/m+ihjOemu+iBjOWkhOeQhu+8jOivt+iuv+mXruemu+iBjOeuoeeQhumhtemdoui/m+ihjOaTjeS9nOOAgiIpXSksIF9jKCdzcGFuJywgW192bS5fdihfdm0uX3MoX3ZtLmluc3RpdHV0aW9uYWxDb2RlRmxhZyA/ICczLiDog4zmma/nrZvmn6XnirbmgIHmmL7npLrjgJDlhbPms6jjgJHku4XooajnpLror6XkurrlkZjmnInmj5DphpLorrDlvZXvvIzlhbfkvZPor6bmg4Xor7foh7PjgJDmmbrog73pooTorabjgJHmn6XnnIvlpITnkIbjgIInIDogJycpKV0pLCBfYygnc3BhbicsIFtfdm0uX3YoX3ZtLl9zKF92bS5pbnN0aXR1dGlvbmFsQ29kZUZsYWcgPyAnNC4g5YyX5Lqs6LaF6b6E5L+d5a6J5ZGY77ya5oyJ54Wn5Lq656S+6YOo6KeE5a6a77yb6ZmV6KW/IOi2hem+hOS/neWuieWRmDrnlLfotoXov4c2M+Wyge+8jOWls+i2hei/hzU45bKB77yM5Y+v6YCa6L+H562b6YCJ6aG544CQ6IGM5Lia57G75Z6L44CR44CB44CQ5byA5aeL5bm06b6E44CR6L+b6KGM5p+l6K+i44CCJyA6ICcnKSldKSwgX2MoJ3NwYW4nLCBbX3ZtLl92KF92bS5fcyhfdm0uaW5zdGl0dXRpb25hbENvZGVGbGFnID8gJzUuIOi2heacn+acquaMgeivgeS/neWuieWRmO+8muWFpeiBjOaXpeacn+i2hei/hzE05aSp5pyq5Y+W6K+B5L+d5a6J5ZGY77yM5Y+v6YCa6L+H562b6YCJ6aG544CQ6IGM5Lia57G75Z6L44CR44CB44CQ5oyB6K+B54q25oCB44CR44CB44CQ5YWl6IGM5pel5pyf44CR6L+b6KGM5p+l6K+i44CCJyA6ICcnKSldKV0pXSldKSwgX2MoJ3NlY3Rpb24nLCB7CiAgICBzdGF0aWNDbGFzczogImJ1dHRvbkJveCIKICB9LCBbX2MoJ2VsLXJvdycsIHsKICAgIHN0YXRpY0NsYXNzOiAicm93LWJnIiwKICAgIGF0dHJzOiB7CiAgICAgICJ0eXBlIjogImZsZXgiLAogICAgICAianVzdGlmeSI6ICJzcGFjZS1iZXR3ZWVuIgogICAgfQogIH0sIFtfYygnZWwtY29sJywgewogICAgYXR0cnM6IHsKICAgICAgInNwYW4iOiAxMgogICAgfQogIH0sIFtfYygnZGl2JywgW19jKCdlbC1idXR0b24nLCB7CiAgICBhdHRyczogewogICAgICAidHlwZSI6ICJwcmltYXJ5IgogICAgfSwKICAgIG9uOiB7CiAgICAgICJjbGljayI6IF92bS5hZGRVc2VyCiAgICB9CiAgfSwgW192bS5fdigi5re75YqgIiArIF92bS5fcyhfdm0uJFN1cGVydmlzZVN0ci5lbXBsb3llZSkpXSksIF9jKCdlbC1idXR0b24nLCB7CiAgICBvbjogewogICAgICAiY2xpY2siOiBfdm0uaW1wb3J0RW1wbG95ZWUKICAgIH0KICB9LCBbX3ZtLl92KCLlr7zlhaUiICsgX3ZtLl9zKF92bS4kU3VwZXJ2aXNlU3RyLmVtcGxveWVlKSldKSwgX2MoJ2VsLWJ1dHRvbicsIHsKICAgIG9uOiB7CiAgICAgICJjbGljayI6IF92bS5leHBvcnRFbXBsb3llZQogICAgfQogIH0sIFtfdm0uX3YoIuWvvOWHuiIgKyBfdm0uX3MoX3ZtLiRTdXBlcnZpc2VTdHIuZW1wbG95ZWUpKV0pLCBfdm0uJFN1cGVydmlzZVN0ci5lbXBsb3llZSA9PT0gJ+WRmOW3pScgJiYgX3ZtLiRTdXBlcnZpc2VTdHIuaXNub3RTdXBlcnZpc2VCdXR0b24gJiYgX3ZtLmluc3RpdHV0aW9uYWxDb2RlICE9ICcwNjAxJyAmJiAhX3ZtLmluc3RpdHV0aW9uYWxDb2RlLnN0YXJ0c1dpdGgoJzA0JykgJiYgIV92bS5pbnN0aXR1dGlvbmFsQ29kZS5zdGFydHNXaXRoKCcwNycpICYmICFfdm0uaW5zdGl0dXRpb25hbENvZGUuZW5kc1dpdGgoJzA3JykgJiYgIV92bS5pbnN0aXR1dGlvbmFsQ29kZS5lbmRzV2l0aCgnMDgnKSAmJiAhX3ZtLmluc3RpdHV0aW9uYWxDb2RlLmVuZHNXaXRoKCcwOScpID8gX2MoJ2VsLWJ1dHRvbicsIHsKICAgIG9uOiB7CiAgICAgICJjbGljayI6IF92bS5hZGRVc2VySW4KICAgIH0KICB9LCBbX3ZtLl92KCLpgoDor7flhaXogYwiKV0pIDogX3ZtLl9lKCksIF92bS4kU3VwZXJ2aXNlU3RyLmVtcGxveWVlID09PSAn5ZGY5belJyAmJiBfdm0uJFN1cGVydmlzZVN0ci5pc25vdFN1cGVydmlzZUJ1dHRvbiAmJiBfdm0uaG9tZVRlbXBsYXRlQm9yYWRUeXBlICE9ICdydHBheVRlbXBsYXRlJyAmJiBfdm0uaW5zdGl0dXRpb25hbENvZGUgIT0gJzA2MDEnICYmICFfdm0uaW5zdGl0dXRpb25hbENvZGUuc3RhcnRzV2l0aCgnMDQnKSAmJiAhX3ZtLmluc3RpdHV0aW9uYWxDb2RlLnN0YXJ0c1dpdGgoJzA3JykgJiYgIV92bS5pbnN0aXR1dGlvbmFsQ29kZS5lbmRzV2l0aCgnMDcnKSAmJiAhX3ZtLmluc3RpdHV0aW9uYWxDb2RlLmVuZHNXaXRoKCcwOCcpICYmICFfdm0uaW5zdGl0dXRpb25hbENvZGUuZW5kc1dpdGgoJzA5JykgJiYgIV92bS5pbnN0aXR1dGlvbmFsQ29kZS5zdGFydHNXaXRoKCcwMicpID8gX2MoJ2VsLWJ1dHRvbicsIHsKICAgIG9uOiB7CiAgICAgICJjbGljayI6IF92bS5hZGRVc2VyRHV0eQogICAgfQogIH0sIFtfdm0uX3YoIumCgOivt+mpu+WLpCIpXSkgOiBfdm0uX2UoKSwgX3ZtLiRTdXBlcnZpc2VTdHIuZW1wbG95ZWUgPT09ICflkZjlt6UnICYmIF92bS5pc1Nob3cgPyBfYygnZWwtYnV0dG9uJywgewogICAgYXR0cnM6IHsKICAgICAgInR5cGUiOiAicHJpbWFyeSIsCiAgICAgICJpY29uIjogImVsLWljb24tZG93bmxvYWQiCiAgICB9LAogICAgb246IHsKICAgICAgImNsaWNrIjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIHJldHVybiBfdm0uZG93bmxvYWRUZW1wbGF0ZSgn5L+d5a6J5ZGY6LWE5qC85a6h5p+l6KGoLmRvYycpOwogICAgICB9CiAgICB9CiAgfSwgW192bS5fdigiIOS4i+i9vei1hOagvOWuoeafpeihqCAiKV0pIDogX3ZtLl9lKCksIF92bS4kU3VwZXJ2aXNlU3RyLmVtcGxveWVlID09PSAn5ZGY5belJyAmJiBfdm0uaXNTaG93ID8gX2MoJ2VsLWJ1dHRvbicsIHsKICAgIHN0YXRpY1N0eWxlOiB7CiAgICAgICJtYXJnaW4tbGVmdCI6ICIxNXB4IgogICAgfSwKICAgIGF0dHJzOiB7CiAgICAgICJ0eXBlIjogInByaW1hcnkiLAogICAgICAiaWNvbiI6ICJlbC1pY29uLWRvd25sb2FkIgogICAgfSwKICAgIG9uOiB7CiAgICAgICJjbGljayI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICByZXR1cm4gX3ZtLmRvd25sb2FkVGVtcGxhdGUoJ+S/neWuieWRmOiAg+ivleaKpeWQjeeZu+iusOihqC5kb2MnKTsKICAgICAgfQogICAgfQogIH0sIFtfdm0uX3YoIiDkuIvovb3ogIPor5XmiqXlkI3ooaggIildKSA6IF92bS5fZSgpXSwgMSldKSwgX2MoJ2VsLWNvbCcsIHsKICAgIGF0dHJzOiB7CiAgICAgICJzcGFuIjogMTIKICAgIH0KICB9LCBbX2MoJ2RpdicsIHsKICAgIHN0YXRpY0NsYXNzOiAicmlnaHRCb3giCiAgfSwgW19jKCdlbC1pbnB1dCcsIHsKICAgIGRpcmVjdGl2ZXM6IFt7CiAgICAgIG5hbWU6ICJzaG93IiwKICAgICAgcmF3TmFtZTogInYtc2hvdyIsCiAgICAgIHZhbHVlOiAhX3ZtLkhpZ2hTZWFyY2hGbGFnLAogICAgICBleHByZXNzaW9uOiAiIUhpZ2hTZWFyY2hGbGFnIgogICAgfV0sCiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiNDUlIgogICAgfSwKICAgIGF0dHJzOiB7CiAgICAgICJwbGFjZWhvbGRlciI6ICLovpPlhaXlp5PlkI0v6LSm5Y+3L+aJi+acuuWPty/or4Hku7blj7fnoIEiLAogICAgICAiY2xlYXJhYmxlIjogIiIKICAgIH0sCiAgICBvbjogewogICAgICAiaW5wdXQiOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgcmV0dXJuIF92bS5rZXl3b3JkSW5wdXQoKTsKICAgICAgfQogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLmtleXdvcmQsCiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7CiAgICAgICAgX3ZtLiRzZXQoX3ZtLnBhcmFtcywgImtleXdvcmQiLCAkJHYpOwogICAgICB9LAogICAgICBleHByZXNzaW9uOiAicGFyYW1zLmtleXdvcmQiCiAgICB9CiAgfSksICFfdm0uSGlnaFNlYXJjaEZsYWcgPyBfYygnZWwtYnV0dG9uJywgewogICAgYXR0cnM6IHsKICAgICAgInR5cGUiOiAicHJpbWFyeSIKICAgIH0sCiAgICBvbjogewogICAgICAiY2xpY2siOiBfdm0uc2VhcmNoCiAgICB9CiAgfSwgW192bS5fdigi5p+l6K+iIildKSA6IF92bS5fZSgpLCBfYygnZWwtYnV0dG9uJywgewogICAgb246IHsKICAgICAgImNsaWNrIjogX3ZtLnN3aXRjaEhpZ2gKICAgIH0KICB9LCBbX3ZtLl92KCLpq5jnuqciKSwgIV92bS5IaWdoU2VhcmNoRmxhZyA/IF9jKCdpJywgewogICAgc3RhdGljQ2xhc3M6ICJlbC1pY29uLWFycm93LWRvd24iCiAgfSkgOiBfdm0uX2UoKSwgX3ZtLkhpZ2hTZWFyY2hGbGFnID8gX2MoJ2knLCB7CiAgICBzdGF0aWNDbGFzczogImVsLWljb24tYXJyb3ctdXAiCiAgfSkgOiBfdm0uX2UoKV0pLCBfdm0uRGF0YUJvYXJkc2hvd09iaiAmJiBfdm0uaW5zdGl0dXRpb25hbENvZGUgIT0gJzA2MDEnICYmICFfdm0uaW5zdGl0dXRpb25hbENvZGUuc3RhcnRzV2l0aCgnMDQnKSA/IF9jKCdlbC1idXR0b24nLCB7CiAgICBvbjogewogICAgICAiY2xpY2siOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgX3ZtLkhpZ2hEYXRhRmxhZyA9ICFfdm0uSGlnaERhdGFGbGFnOwogICAgICAgIF92bS5EYXRhQm9hcmQoKTsKICAgICAgfQogICAgfQogIH0sIFtfdm0uX3YoIuaVsOaNrueci+advyIpLCAhX3ZtLkhpZ2hEYXRhRmxhZyA/IF9jKCdpJywgewogICAgc3RhdGljQ2xhc3M6ICJlbC1pY29uLWFycm93LWRvd24iCiAgfSkgOiBfdm0uX2UoKSwgX3ZtLkhpZ2hEYXRhRmxhZyA/IF9jKCdpJywgewogICAgc3RhdGljQ2xhc3M6ICJlbC1pY29uLWFycm93LXVwIgogIH0pIDogX3ZtLl9lKCldKSA6IF92bS5fZSgpXSwgMSldKV0sIDEpXSwgMSksIF9jKCdzZWN0aW9uJywgewogICAgZGlyZWN0aXZlczogW3sKICAgICAgbmFtZTogInNob3ciLAogICAgICByYXdOYW1lOiAidi1zaG93IiwKICAgICAgdmFsdWU6IF92bS5IaWdoU2VhcmNoRmxhZywKICAgICAgZXhwcmVzc2lvbjogIkhpZ2hTZWFyY2hGbGFnIgogICAgfV0sCiAgICBzdGF0aWNDbGFzczogIkhpZ2hTZWFyY2hCb3giCiAgfSwgW192bS5pbnN0aXR1dGlvbmFsQ29kZSA9PSAnMDYwMScgPyBfYygnZWwtcm93JywgW19jKCdlbC1mb3JtJywgewogICAgcmVmOiAicnVsZUZvcm0iLAogICAgYXR0cnM6IHsKICAgICAgImlubGluZSI6IHRydWUsCiAgICAgICJtb2RlbCI6IF92bS5wYXJhbXMsCiAgICAgICJsYWJlbC13aWR0aCI6ICIxMzBweCIsCiAgICAgICJsYWJlbC1wb3NpdGlvbiI6ICJyaWdodCIKICAgIH0KICB9LCBbX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLlhbPplK7or43vvJoiLAogICAgICAicHJvcCI6ICJrZXl3b3JkIgogICAgfQogIH0sIFtfYygnZWwtaW5wdXQnLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTAwJSIKICAgIH0sCiAgICBhdHRyczogewogICAgICAicGxhY2Vob2xkZXIiOiAi5aeT5ZCNL+i0puWPty/miYvmnLrlj7cv6K+B5Lu25Y+356CBIiwKICAgICAgImNsZWFyYWJsZSI6ICIiCiAgICB9LAogICAgb246IHsKICAgICAgImlucHV0IjogX3ZtLmlucHV0a2V5d29yawogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLmtleXdvcmQsCiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7CiAgICAgICAgX3ZtLiRzZXQoX3ZtLnBhcmFtcywgImtleXdvcmQiLCAkJHYpOwogICAgICB9LAogICAgICBleHByZXNzaW9uOiAicGFyYW1zLmtleXdvcmQiCiAgICB9CiAgfSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLor4Hku7bnsbvlnovvvJoiLAogICAgICAicHJvcCI6ICJjcmVkZW50aWFsVHlwZXMiCiAgICB9CiAgfSwgW19jKCdlbC1zZWxlY3QnLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTAwJSIKICAgIH0sCiAgICBhdHRyczogewogICAgICAibXVsdGlwbGUiOiAiIiwKICAgICAgImNvbGxhcHNlLXRhZ3MiOiAiIiwKICAgICAgInBsYWNlaG9sZGVyIjogIuivt+mAieaLqSIKICAgIH0sCiAgICBvbjogewogICAgICAiY2hhbmdlIjogX3ZtLmNoYW5nZWNyZWRlbnRpYWxUeXBlcwogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLmNyZWRlbnRpYWxUeXBlcywKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAiY3JlZGVudGlhbFR5cGVzIiwgJCR2KTsKICAgICAgfSwKICAgICAgZXhwcmVzc2lvbjogInBhcmFtcy5jcmVkZW50aWFsVHlwZXMiCiAgICB9CiAgfSwgX3ZtLl9sKF92bS5jcmVkZW50aWFsVHlwZXNvcHRpb25zLCBmdW5jdGlvbiAoaXRlbSkgewogICAgcmV0dXJuIF9jKCdlbC1vcHRpb24nLCB7CiAgICAgIGtleTogaXRlbS52YWx1ZSwKICAgICAgYXR0cnM6IHsKICAgICAgICAibGFiZWwiOiBpdGVtLmxhYmVsLAogICAgICAgICJ2YWx1ZSI6IGl0ZW0udmFsdWUKICAgICAgfQogICAgfSk7CiAgfSksIDEpXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBhdHRyczogewogICAgICAibGFiZWwiOiAi6K+B5Lu25qC46aqM54q25oCB77yaIiwKICAgICAgInByb3AiOiAiY2hlY2tlZFN0YXR1c2VzIgogICAgfQogIH0sIFtfYygnZWwtc2VsZWN0JywgewogICAgc3RhdGljU3R5bGU6IHsKICAgICAgIndpZHRoIjogIjEwMCUiCiAgICB9LAogICAgYXR0cnM6IHsKICAgICAgIm11bHRpcGxlIjogIiIsCiAgICAgICJjb2xsYXBzZS10YWdzIjogIiIsCiAgICAgICJwbGFjZWhvbGRlciI6ICLor7fpgInmi6kiCiAgICB9LAogICAgb246IHsKICAgICAgImNoYW5nZSI6IF92bS5jaGFuZ2VjaGVja2VkU3RhdHVzZXMKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5jaGVja2VkU3RhdHVzZXMsCiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7CiAgICAgICAgX3ZtLiRzZXQoX3ZtLnBhcmFtcywgImNoZWNrZWRTdGF0dXNlcyIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMuY2hlY2tlZFN0YXR1c2VzIgogICAgfQogIH0sIF92bS5fbChfdm0uY2hlY2tlZFN0YXR1c2Vzb3B0aW9ucywgZnVuY3Rpb24gKGl0ZW0pIHsKICAgIHJldHVybiBfYygnZWwtb3B0aW9uJywgewogICAgICBrZXk6IGl0ZW0udmFsdWUsCiAgICAgIGF0dHJzOiB7CiAgICAgICAgImxhYmVsIjogaXRlbS5sYWJlbCwKICAgICAgICAidmFsdWUiOiBpdGVtLnZhbHVlCiAgICAgIH0KICAgIH0pOwogIH0pLCAxKV0sIDEpLCBfYygnZWwtZm9ybS1pdGVtJywgewogICAgYXR0cnM6IHsKICAgICAgImxhYmVsIjogX3ZtLmRlcGFydGxhYmVsLAogICAgICAicHJvcCI6ICJkZXBhcnRJZHMiCiAgICB9CiAgfSwgW19jKCdzZWxlY3RUcmVlJywgewogICAgcmVmOiAic2VsZWN0VHJlZSIsCiAgICBhdHRyczogewogICAgICAiY3VyVmFsdWUiOiBfdm0uZGVmYXVsRGF0YSwKICAgICAgImRhdGEiOiBfdm0udGFibGVEYXRhLAogICAgICAib2JqIjogewogICAgICAgIGlkOiAnaWQnLAogICAgICAgIGxhYmVsOiAnbmFtZScsCiAgICAgICAgY2hpbGRyZW46ICdjaGlsZHJlbicKICAgICAgfSwKICAgICAgImNoZWNrU3RyaWN0bHkiOiAiIiwKICAgICAgImNsZWFyYWJsZSI6ICIiLAogICAgICAiZmlsdGVyYWJsZSI6ICIiLAogICAgICAibXVsdGlwbGUiOiAiIiwKICAgICAgImNvbGxhcHNlVGFncyI6ICIiCiAgICB9LAogICAgb246IHsKICAgICAgImdldFZhbHVlIjogX3ZtLmNoZWNrQ2hhbmdlCiAgICB9CiAgfSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLlspfkvY3vvJoiLAogICAgICAicHJvcCI6ICJwb3NpdGlvbiIKICAgIH0KICB9LCBbX2MoJ2VsLXNlbGVjdCcsIHsKICAgIHN0YXRpY1N0eWxlOiB7CiAgICAgICJ3aWR0aCI6ICIxMDAlIgogICAgfSwKICAgIGF0dHJzOiB7CiAgICAgICJwbGFjZWhvbGRlciI6ICLor7fpgInmi6kiLAogICAgICAiY2xlYXJhYmxlIjogIiIKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5wb3NpdGlvbiwKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAicG9zaXRpb24iLCAkJHYpOwogICAgICB9LAogICAgICBleHByZXNzaW9uOiAicGFyYW1zLnBvc2l0aW9uIgogICAgfQogIH0sIF92bS5fbChfdm0ucG9zaXRpb25BcnJPcHRpb25zLCBmdW5jdGlvbiAoaXRlbSwgaW5kZXgpIHsKICAgIHJldHVybiBfYygnZWwtb3B0aW9uJywgewogICAgICBrZXk6IGluZGV4LAogICAgICBhdHRyczogewogICAgICAgICJsYWJlbCI6IGl0ZW0ubGFiZWwsCiAgICAgICAgInZhbHVlIjogaXRlbS52YWx1ZQogICAgICB9CiAgICB9KTsKICB9KSwgMSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLmgKfliKvvvJoiLAogICAgICAicHJvcCI6ICJzZXgiCiAgICB9CiAgfSwgW19jKCdlbC1zZWxlY3QnLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTAwJSIKICAgIH0sCiAgICBhdHRyczogewogICAgICAicGxhY2Vob2xkZXIiOiAi6K+36YCJ5oupIiwKICAgICAgImNsZWFyYWJsZSI6ICIiCiAgICB9LAogICAgb246IHsKICAgICAgImNoYW5nZSI6IF92bS5jaGFuZ2VzZXgKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5zZXgsCiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7CiAgICAgICAgX3ZtLiRzZXQoX3ZtLnBhcmFtcywgInNleCIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMuc2V4IgogICAgfQogIH0sIF92bS5fbChfdm0uc2V4QXJyT3B0aW9ucywgZnVuY3Rpb24gKGl0ZW0sIGluZGV4KSB7CiAgICByZXR1cm4gX2MoJ2VsLW9wdGlvbicsIHsKICAgICAga2V5OiBpbmRleCwKICAgICAgYXR0cnM6IHsKICAgICAgICAibGFiZWwiOiBpdGVtLmxhYmVsLAogICAgICAgICJ2YWx1ZSI6IGl0ZW0udmFsdWUKICAgICAgfQogICAgfSk7CiAgfSksIDEpXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBhdHRyczogewogICAgICAibGFiZWwiOiAi5byA5aeL5bm06b6E77yaIiwKICAgICAgInByb3AiOiAiYmVnaW5BZ2UiCiAgICB9CiAgfSwgW19jKCdlbC1pbnB1dC1udW1iZXInLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTc1cHgiCiAgICB9LAogICAgYXR0cnM6IHsKICAgICAgImNvbnRyb2xzIjogZmFsc2UsCiAgICAgICJtaW4iOiAxLAogICAgICAibWF4IjogMTAwLAogICAgICAicGxhY2Vob2xkZXIiOiAi5byA5aeL5bm06b6EIgogICAgfSwKICAgIG9uOiB7CiAgICAgICJjaGFuZ2UiOiBfdm0uY2hhbmdlYmVnaW5BZ2UKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5iZWdpbkFnZSwKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAiYmVnaW5BZ2UiLCAkJHYpOwogICAgICB9LAogICAgICBleHByZXNzaW9uOiAicGFyYW1zLmJlZ2luQWdlIgogICAgfQogIH0pXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBhdHRyczogewogICAgICAibGFiZWwiOiAi57uT5p2f5bm06b6E77yaIiwKICAgICAgInByb3AiOiAiZW5kQWdlIgogICAgfQogIH0sIFtfYygnZWwtaW5wdXQtbnVtYmVyJywgewogICAgc3RhdGljU3R5bGU6IHsKICAgICAgIndpZHRoIjogIjE3NXB4IgogICAgfSwKICAgIGF0dHJzOiB7CiAgICAgICJjb250cm9scyI6IGZhbHNlLAogICAgICAibWluIjogMSwKICAgICAgIm1heCI6IDEwMCwKICAgICAgInBsYWNlaG9sZGVyIjogIue7k+adn+W5tOm+hCIKICAgIH0sCiAgICBvbjogewogICAgICAiY2hhbmdlIjogX3ZtLmNoYW5nZWVuZEFnZQogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLmVuZEFnZSwKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAiZW5kQWdlIiwgJCR2KTsKICAgICAgfSwKICAgICAgZXhwcmVzc2lvbjogInBhcmFtcy5lbmRBZ2UiCiAgICB9CiAgfSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6IGAke192bS4kU3VwZXJ2aXNlU3RyLmVudHJ5feaXtumXtO+8mmAsCiAgICAgICJwcm9wIjogInN0YXJ0RW5kRGF0ZSIKICAgIH0KICB9LCBbX2MoJ2VsLWRhdGUtcGlja2VyJywgewogICAgYXR0cnM6IHsKICAgICAgInR5cGUiOiAiZGF0ZXJhbmdlIiwKICAgICAgInZhbHVlLWZvcm1hdCI6ICJ5eXl5LU1NLWRkIiwKICAgICAgImZvcm1hdCI6ICJ5eXl5LU1NLWRkIiwKICAgICAgInJhbmdlLXNlcGFyYXRvciI6ICLoh7MiLAogICAgICAic3RhcnQtcGxhY2Vob2xkZXIiOiAi5byA5aeL5pel5pyfIiwKICAgICAgImVuZC1wbGFjZWhvbGRlciI6ICLnu5PmnZ/ml6XmnJ8iCiAgICB9LAogICAgb246IHsKICAgICAgImNoYW5nZSI6IF92bS5jaGFuZ2VzdGFydEVuZERhdGUKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5zdGFydEVuZERhdGUsCiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7CiAgICAgICAgX3ZtLiRzZXQoX3ZtLnBhcmFtcywgInN0YXJ0RW5kRGF0ZSIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMuc3RhcnRFbmREYXRlIgogICAgfQogIH0pXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCBbX2MoJ2VsLWJ1dHRvbicsIHsKICAgIGF0dHJzOiB7CiAgICAgICJ0eXBlIjogInByaW1hcnkiCiAgICB9LAogICAgb246IHsKICAgICAgImNsaWNrIjogX3ZtLmhpZ2hTZWFyY2hCdXR0b24KICAgIH0KICB9LCBbX3ZtLl92KCLmn6Xor6IiKV0pLCBfYygnZWwtYnV0dG9uJywgewogICAgb246IHsKICAgICAgImNsaWNrIjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIHJldHVybiBfdm0ucmVzZXRTZWFyY2hGb3JtKCk7CiAgICAgIH0KICAgIH0KICB9LCBbX3ZtLl92KCLph43nva4iKV0pXSwgMSldLCAxKV0sIDEpIDogX3ZtLmluc3RpdHV0aW9uYWxDb2RlLnN0YXJ0c1dpdGgoJzA0JykgfHwgX3ZtLmluc3RpdHV0aW9uYWxDb2RlLnN0YXJ0c1dpdGgoJzA3JykgPyBfYygnZWwtcm93JywgW19jKCdlbC1mb3JtJywgewogICAgcmVmOiAicnVsZUZvcm0iLAogICAgYXR0cnM6IHsKICAgICAgImlubGluZSI6IHRydWUsCiAgICAgICJtb2RlbCI6IF92bS5wYXJhbXMsCiAgICAgICJsYWJlbC13aWR0aCI6ICIxMzBweCIsCiAgICAgICJsYWJlbC1wb3NpdGlvbiI6ICJyaWdodCIKICAgIH0KICB9LCBbX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLlhbPplK7or43vvJoiLAogICAgICAicHJvcCI6ICJrZXl3b3JkIgogICAgfQogIH0sIFtfYygnZWwtaW5wdXQnLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTAwJSIKICAgIH0sCiAgICBhdHRyczogewogICAgICAicGxhY2Vob2xkZXIiOiAi5aeT5ZCNL+i0puWPty/miYvmnLrlj7cv6K+B5Lu25Y+356CBIiwKICAgICAgImNsZWFyYWJsZSI6ICIiCiAgICB9LAogICAgb246IHsKICAgICAgImlucHV0IjogX3ZtLmlucHV0a2V5d29yawogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLmtleXdvcmQsCiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7CiAgICAgICAgX3ZtLiRzZXQoX3ZtLnBhcmFtcywgImtleXdvcmQiLCAkJHYpOwogICAgICB9LAogICAgICBleHByZXNzaW9uOiAicGFyYW1zLmtleXdvcmQiCiAgICB9CiAgfSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLor4Hku7bnsbvlnovvvJoiLAogICAgICAicHJvcCI6ICJjcmVkZW50aWFsVHlwZXMiCiAgICB9CiAgfSwgW19jKCdlbC1zZWxlY3QnLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTAwJSIKICAgIH0sCiAgICBhdHRyczogewogICAgICAibXVsdGlwbGUiOiAiIiwKICAgICAgImNvbGxhcHNlLXRhZ3MiOiAiIiwKICAgICAgInBsYWNlaG9sZGVyIjogIuivt+mAieaLqSIKICAgIH0sCiAgICBvbjogewogICAgICAiY2hhbmdlIjogX3ZtLmNoYW5nZWNyZWRlbnRpYWxUeXBlcwogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLmNyZWRlbnRpYWxUeXBlcywKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAiY3JlZGVudGlhbFR5cGVzIiwgJCR2KTsKICAgICAgfSwKICAgICAgZXhwcmVzc2lvbjogInBhcmFtcy5jcmVkZW50aWFsVHlwZXMiCiAgICB9CiAgfSwgX3ZtLl9sKF92bS5jcmVkZW50aWFsVHlwZXNvcHRpb25zLCBmdW5jdGlvbiAoaXRlbSkgewogICAgcmV0dXJuIF9jKCdlbC1vcHRpb24nLCB7CiAgICAgIGtleTogaXRlbS52YWx1ZSwKICAgICAgYXR0cnM6IHsKICAgICAgICAibGFiZWwiOiBpdGVtLmxhYmVsLAogICAgICAgICJ2YWx1ZSI6IGl0ZW0udmFsdWUKICAgICAgfQogICAgfSk7CiAgfSksIDEpXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBhdHRyczogewogICAgICAibGFiZWwiOiAi6K+B5Lu25qC46aqM54q25oCB77yaIiwKICAgICAgInByb3AiOiAiY2hlY2tlZFN0YXR1c2VzIgogICAgfQogIH0sIFtfYygnZWwtc2VsZWN0JywgewogICAgc3RhdGljU3R5bGU6IHsKICAgICAgIndpZHRoIjogIjEwMCUiCiAgICB9LAogICAgYXR0cnM6IHsKICAgICAgIm11bHRpcGxlIjogIiIsCiAgICAgICJjb2xsYXBzZS10YWdzIjogIiIsCiAgICAgICJwbGFjZWhvbGRlciI6ICLor7fpgInmi6kiCiAgICB9LAogICAgb246IHsKICAgICAgImNoYW5nZSI6IF92bS5jaGFuZ2VjaGVja2VkU3RhdHVzZXMKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5jaGVja2VkU3RhdHVzZXMsCiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7CiAgICAgICAgX3ZtLiRzZXQoX3ZtLnBhcmFtcywgImNoZWNrZWRTdGF0dXNlcyIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMuY2hlY2tlZFN0YXR1c2VzIgogICAgfQogIH0sIF92bS5fbChfdm0uY2hlY2tlZFN0YXR1c2Vzb3B0aW9ucywgZnVuY3Rpb24gKGl0ZW0pIHsKICAgIHJldHVybiBfYygnZWwtb3B0aW9uJywgewogICAgICBrZXk6IGl0ZW0udmFsdWUsCiAgICAgIGF0dHJzOiB7CiAgICAgICAgImxhYmVsIjogaXRlbS5sYWJlbCwKICAgICAgICAidmFsdWUiOiBpdGVtLnZhbHVlCiAgICAgIH0KICAgIH0pOwogIH0pLCAxKV0sIDEpLCBfYygnZWwtZm9ybS1pdGVtJywgewogICAgYXR0cnM6IHsKICAgICAgImxhYmVsIjogX3ZtLmRlcGFydGxhYmVsLAogICAgICAicHJvcCI6ICJkZXBhcnRJZHMiCiAgICB9CiAgfSwgW19jKCdzZWxlY3RUcmVlJywgewogICAgcmVmOiAic2VsZWN0VHJlZSIsCiAgICBhdHRyczogewogICAgICAiY3VyVmFsdWUiOiBfdm0uZGVmYXVsRGF0YSwKICAgICAgImRhdGEiOiBfdm0udGFibGVEYXRhLAogICAgICAib2JqIjogewogICAgICAgIGlkOiAnaWQnLAogICAgICAgIGxhYmVsOiAnbmFtZScsCiAgICAgICAgY2hpbGRyZW46ICdjaGlsZHJlbicKICAgICAgfSwKICAgICAgImNoZWNrU3RyaWN0bHkiOiAiIiwKICAgICAgImNsZWFyYWJsZSI6ICIiLAogICAgICAiZmlsdGVyYWJsZSI6ICIiLAogICAgICAibXVsdGlwbGUiOiAiIiwKICAgICAgImNvbGxhcHNlVGFncyI6ICIiCiAgICB9LAogICAgb246IHsKICAgICAgImdldFZhbHVlIjogX3ZtLmNoZWNrQ2hhbmdlCiAgICB9CiAgfSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLmgKfliKvvvJoiLAogICAgICAicHJvcCI6ICJzZXgiCiAgICB9CiAgfSwgW19jKCdlbC1zZWxlY3QnLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTAwJSIKICAgIH0sCiAgICBhdHRyczogewogICAgICAicGxhY2Vob2xkZXIiOiAi6K+36YCJ5oupIiwKICAgICAgImNsZWFyYWJsZSI6ICIiCiAgICB9LAogICAgb246IHsKICAgICAgImNoYW5nZSI6IF92bS5jaGFuZ2VzZXgKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5zZXgsCiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7CiAgICAgICAgX3ZtLiRzZXQoX3ZtLnBhcmFtcywgInNleCIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMuc2V4IgogICAgfQogIH0sIF92bS5fbChfdm0uc2V4QXJyT3B0aW9ucywgZnVuY3Rpb24gKGl0ZW0sIGluZGV4KSB7CiAgICByZXR1cm4gX2MoJ2VsLW9wdGlvbicsIHsKICAgICAga2V5OiBpbmRleCwKICAgICAgYXR0cnM6IHsKICAgICAgICAibGFiZWwiOiBpdGVtLmxhYmVsLAogICAgICAgICJ2YWx1ZSI6IGl0ZW0udmFsdWUKICAgICAgfQogICAgfSk7CiAgfSksIDEpXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBhdHRyczogewogICAgICAibGFiZWwiOiAi5byA5aeL5bm06b6E77yaIiwKICAgICAgInByb3AiOiAiYmVnaW5BZ2UiCiAgICB9CiAgfSwgW19jKCdlbC1pbnB1dC1udW1iZXInLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTc1cHgiCiAgICB9LAogICAgYXR0cnM6IHsKICAgICAgImNvbnRyb2xzIjogZmFsc2UsCiAgICAgICJtaW4iOiAxLAogICAgICAibWF4IjogMTAwLAogICAgICAicGxhY2Vob2xkZXIiOiAi5byA5aeL5bm06b6EIgogICAgfSwKICAgIG9uOiB7CiAgICAgICJjaGFuZ2UiOiBfdm0uY2hhbmdlYmVnaW5BZ2UKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5iZWdpbkFnZSwKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAiYmVnaW5BZ2UiLCAkJHYpOwogICAgICB9LAogICAgICBleHByZXNzaW9uOiAicGFyYW1zLmJlZ2luQWdlIgogICAgfQogIH0pXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBhdHRyczogewogICAgICAibGFiZWwiOiAi57uT5p2f5bm06b6E77yaIiwKICAgICAgInByb3AiOiAiZW5kQWdlIgogICAgfQogIH0sIFtfYygnZWwtaW5wdXQtbnVtYmVyJywgewogICAgc3RhdGljU3R5bGU6IHsKICAgICAgIndpZHRoIjogIjE3NXB4IgogICAgfSwKICAgIGF0dHJzOiB7CiAgICAgICJjb250cm9scyI6IGZhbHNlLAogICAgICAibWluIjogMSwKICAgICAgIm1heCI6IDEwMCwKICAgICAgInBsYWNlaG9sZGVyIjogIue7k+adn+W5tOm+hCIKICAgIH0sCiAgICBvbjogewogICAgICAiY2hhbmdlIjogX3ZtLmNoYW5nZWVuZEFnZQogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLmVuZEFnZSwKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAiZW5kQWdlIiwgJCR2KTsKICAgICAgfSwKICAgICAgZXhwcmVzc2lvbjogInBhcmFtcy5lbmRBZ2UiCiAgICB9CiAgfSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6IGAke192bS4kU3VwZXJ2aXNlU3RyLmVudHJ5feaXtumXtO+8mmAsCiAgICAgICJwcm9wIjogInN0YXJ0RW5kRGF0ZSIKICAgIH0KICB9LCBbX2MoJ2VsLWRhdGUtcGlja2VyJywgewogICAgYXR0cnM6IHsKICAgICAgInR5cGUiOiAiZGF0ZXJhbmdlIiwKICAgICAgInZhbHVlLWZvcm1hdCI6ICJ5eXl5LU1NLWRkIiwKICAgICAgImZvcm1hdCI6ICJ5eXl5LU1NLWRkIiwKICAgICAgInJhbmdlLXNlcGFyYXRvciI6ICLoh7MiLAogICAgICAic3RhcnQtcGxhY2Vob2xkZXIiOiAi5byA5aeL5pel5pyfIiwKICAgICAgImVuZC1wbGFjZWhvbGRlciI6ICLnu5PmnZ/ml6XmnJ8iCiAgICB9LAogICAgb246IHsKICAgICAgImNoYW5nZSI6IF92bS5jaGFuZ2VzdGFydEVuZERhdGUKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5zdGFydEVuZERhdGUsCiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7CiAgICAgICAgX3ZtLiRzZXQoX3ZtLnBhcmFtcywgInN0YXJ0RW5kRGF0ZSIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMuc3RhcnRFbmREYXRlIgogICAgfQogIH0pXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCBbX2MoJ2VsLWJ1dHRvbicsIHsKICAgIGF0dHJzOiB7CiAgICAgICJ0eXBlIjogInByaW1hcnkiCiAgICB9LAogICAgb246IHsKICAgICAgImNsaWNrIjogX3ZtLmhpZ2hTZWFyY2hCdXR0b24KICAgIH0KICB9LCBbX3ZtLl92KCLmn6Xor6IiKV0pLCBfYygnZWwtYnV0dG9uJywgewogICAgb246IHsKICAgICAgImNsaWNrIjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIHJldHVybiBfdm0ucmVzZXRTZWFyY2hGb3JtKCk7CiAgICAgIH0KICAgIH0KICB9LCBbX3ZtLl92KCLph43nva4iKV0pXSwgMSldLCAxKV0sIDEpIDogX3ZtLmluc3RpdHV0aW9uYWxDb2RlLmVuZHNXaXRoKCcwNycpIHx8IF92bS5pbnN0aXR1dGlvbmFsQ29kZS5lbmRzV2l0aCgnMDgnKSB8fCBfdm0uaW5zdGl0dXRpb25hbENvZGUuZW5kc1dpdGgoJzA5JykgPyBfYygnZWwtcm93JywgW19jKCdlbC1mb3JtJywgewogICAgcmVmOiAicnVsZUZvcm0iLAogICAgYXR0cnM6IHsKICAgICAgImlubGluZSI6IHRydWUsCiAgICAgICJtb2RlbCI6IF92bS5wYXJhbXMsCiAgICAgICJsYWJlbC13aWR0aCI6ICIxMzBweCIsCiAgICAgICJsYWJlbC1wb3NpdGlvbiI6ICJyaWdodCIKICAgIH0KICB9LCBbX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLlhbPplK7or43vvJoiLAogICAgICAicHJvcCI6ICJrZXl3b3JkIgogICAgfQogIH0sIFtfYygnZWwtaW5wdXQnLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTAwJSIKICAgIH0sCiAgICBhdHRyczogewogICAgICAicGxhY2Vob2xkZXIiOiAi5aeT5ZCNL+i0puWPty/miYvmnLrlj7cv6K+B5Lu25Y+356CBIiwKICAgICAgImNsZWFyYWJsZSI6ICIiCiAgICB9LAogICAgb246IHsKICAgICAgImlucHV0IjogX3ZtLmlucHV0a2V5d29yawogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLmtleXdvcmQsCiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7CiAgICAgICAgX3ZtLiRzZXQoX3ZtLnBhcmFtcywgImtleXdvcmQiLCAkJHYpOwogICAgICB9LAogICAgICBleHByZXNzaW9uOiAicGFyYW1zLmtleXdvcmQiCiAgICB9CiAgfSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6IF92bS5kZXBhcnRsYWJlbCwKICAgICAgInByb3AiOiAiZGVwYXJ0SWRzIgogICAgfQogIH0sIFtfYygnc2VsZWN0VHJlZScsIHsKICAgIHJlZjogInNlbGVjdFRyZWUiLAogICAgYXR0cnM6IHsKICAgICAgImN1clZhbHVlIjogX3ZtLmRlZmF1bERhdGEsCiAgICAgICJkYXRhIjogX3ZtLnRhYmxlRGF0YSwKICAgICAgIm9iaiI6IHsKICAgICAgICBpZDogJ2lkJywKICAgICAgICBsYWJlbDogJ25hbWUnLAogICAgICAgIGNoaWxkcmVuOiAnY2hpbGRyZW4nCiAgICAgIH0sCiAgICAgICJjaGVja1N0cmljdGx5IjogIiIsCiAgICAgICJjbGVhcmFibGUiOiAiIiwKICAgICAgImZpbHRlcmFibGUiOiAiIiwKICAgICAgIm11bHRpcGxlIjogIiIsCiAgICAgICJjb2xsYXBzZVRhZ3MiOiAiIgogICAgfSwKICAgIG9uOiB7CiAgICAgICJnZXRWYWx1ZSI6IF92bS5jaGVja0NoYW5nZQogICAgfQogIH0pXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCBbX2MoJ2VsLWJ1dHRvbicsIHsKICAgIGF0dHJzOiB7CiAgICAgICJ0eXBlIjogInByaW1hcnkiCiAgICB9LAogICAgb246IHsKICAgICAgImNsaWNrIjogX3ZtLmhpZ2hTZWFyY2hCdXR0b24KICAgIH0KICB9LCBbX3ZtLl92KCLmn6Xor6IiKV0pLCBfYygnZWwtYnV0dG9uJywgewogICAgb246IHsKICAgICAgImNsaWNrIjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIHJldHVybiBfdm0ucmVzZXRTZWFyY2hGb3JtKCk7CiAgICAgIH0KICAgIH0KICB9LCBbX3ZtLl92KCLph43nva4iKV0pXSwgMSldLCAxKV0sIDEpIDogX2MoJ2VsLXJvdycsIFtfYygnZWwtZm9ybScsIHsKICAgIHJlZjogInJ1bGVGb3JtIiwKICAgIGF0dHJzOiB7CiAgICAgICJpbmxpbmUiOiB0cnVlLAogICAgICAibW9kZWwiOiBfdm0ucGFyYW1zLAogICAgICAibGFiZWwtd2lkdGgiOiAiMTMwcHgiLAogICAgICAibGFiZWwtcG9zaXRpb24iOiAicmlnaHQiCiAgICB9CiAgfSwgW19jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBhdHRyczogewogICAgICAibGFiZWwiOiAi5YWz6ZSu6K+N77yaIiwKICAgICAgInByb3AiOiAia2V5d29yZCIKICAgIH0KICB9LCBbX2MoJ2VsLWlucHV0JywgewogICAgc3RhdGljU3R5bGU6IHsKICAgICAgIndpZHRoIjogIjEwMCUiCiAgICB9LAogICAgYXR0cnM6IHsKICAgICAgInBsYWNlaG9sZGVyIjogIuWnk+WQjS/otKblj7cv5omL5py65Y+3L+ivgeS7tuWPt+eggSIsCiAgICAgICJjbGVhcmFibGUiOiAiIgogICAgfSwKICAgIG9uOiB7CiAgICAgICJpbnB1dCI6IF92bS5pbnB1dGtleXdvcmsKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5rZXl3b3JkLAogICAgICBjYWxsYmFjazogZnVuY3Rpb24gKCQkdikgewogICAgICAgIF92bS4kc2V0KF92bS5wYXJhbXMsICJrZXl3b3JkIiwgJCR2KTsKICAgICAgfSwKICAgICAgZXhwcmVzc2lvbjogInBhcmFtcy5rZXl3b3JkIgogICAgfQogIH0pXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBhdHRyczogewogICAgICAibGFiZWwiOiAi6K+B5Lu257G75Z6L77yaIiwKICAgICAgInByb3AiOiAiY3JlZGVudGlhbFR5cGVzIgogICAgfQogIH0sIFtfYygnZWwtc2VsZWN0JywgewogICAgc3RhdGljU3R5bGU6IHsKICAgICAgIndpZHRoIjogIjEwMCUiCiAgICB9LAogICAgYXR0cnM6IHsKICAgICAgIm11bHRpcGxlIjogIiIsCiAgICAgICJjb2xsYXBzZS10YWdzIjogIiIsCiAgICAgICJwbGFjZWhvbGRlciI6ICLor7fpgInmi6kiCiAgICB9LAogICAgb246IHsKICAgICAgImNoYW5nZSI6IF92bS5jaGFuZ2VjcmVkZW50aWFsVHlwZXMKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5jcmVkZW50aWFsVHlwZXMsCiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7CiAgICAgICAgX3ZtLiRzZXQoX3ZtLnBhcmFtcywgImNyZWRlbnRpYWxUeXBlcyIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMuY3JlZGVudGlhbFR5cGVzIgogICAgfQogIH0sIF92bS5fbChfdm0uY3JlZGVudGlhbFR5cGVzb3B0aW9ucywgZnVuY3Rpb24gKGl0ZW0pIHsKICAgIHJldHVybiBfYygnZWwtb3B0aW9uJywgewogICAgICBrZXk6IGl0ZW0udmFsdWUsCiAgICAgIGF0dHJzOiB7CiAgICAgICAgImxhYmVsIjogaXRlbS5sYWJlbCwKICAgICAgICAidmFsdWUiOiBpdGVtLnZhbHVlCiAgICAgIH0KICAgIH0pOwogIH0pLCAxKV0sIDEpLCBfYygnZWwtZm9ybS1pdGVtJywgewogICAgYXR0cnM6IHsKICAgICAgImxhYmVsIjogIuiBjOS4muexu+Wei++8miIsCiAgICAgICJwcm9wIjogIm9jY3VwYXRpb25UeXBlcyIKICAgIH0KICB9LCBbX2MoJ2VsLXNlbGVjdCcsIHsKICAgIHN0YXRpY1N0eWxlOiB7CiAgICAgICJ3aWR0aCI6ICIxMDAlIgogICAgfSwKICAgIGF0dHJzOiB7CiAgICAgICJtdWx0aXBsZSI6ICIiLAogICAgICAiY29sbGFwc2UtdGFncyI6ICIiLAogICAgICAicGxhY2Vob2xkZXIiOiAi6K+36YCJ5oupIgogICAgfSwKICAgIG9uOiB7CiAgICAgICJjaGFuZ2UiOiBfdm0uY2hhbmdlb2NjdXBhdGlvblR5cGVzCiAgICB9LAogICAgbW9kZWw6IHsKICAgICAgdmFsdWU6IF92bS5wYXJhbXMub2NjdXBhdGlvblR5cGVzLAogICAgICBjYWxsYmFjazogZnVuY3Rpb24gKCQkdikgewogICAgICAgIF92bS4kc2V0KF92bS5wYXJhbXMsICJvY2N1cGF0aW9uVHlwZXMiLCAkJHYpOwogICAgICB9LAogICAgICBleHByZXNzaW9uOiAicGFyYW1zLm9jY3VwYXRpb25UeXBlcyIKICAgIH0KICB9LCBfdm0uX2woX3ZtLm9jY3VwYXRpb25UeXBlQXJyLCBmdW5jdGlvbiAoaXRlbSwgaW5kZXgpIHsKICAgIHJldHVybiBfYygnZWwtb3B0aW9uJywgewogICAgICBrZXk6IGluZGV4LAogICAgICBhdHRyczogewogICAgICAgICJsYWJlbCI6IGl0ZW0ubGFiZWwsCiAgICAgICAgInZhbHVlIjogaXRlbS52YWx1ZQogICAgICB9CiAgICB9KTsKICB9KSwgMSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGRpcmVjdGl2ZXM6IFt7CiAgICAgIG5hbWU6ICJzaG93IiwKICAgICAgcmF3TmFtZTogInYtc2hvdyIsCiAgICAgIHZhbHVlOiBfdm0ubGlzdHNob3dPYmouYXV0aGVudGljYXRlZFN0YXR1c2VzICYmICFfdm0uaW5zdGl0dXRpb25hbENvZGUuc3RhcnRzV2l0aCgnMDInKSwKICAgICAgZXhwcmVzc2lvbjogImxpc3RzaG93T2JqLmF1dGhlbnRpY2F0ZWRTdGF0dXNlcyAmJiAhaW5zdGl0dXRpb25hbENvZGUuc3RhcnRzV2l0aCgnMDInKSIKICAgIH1dLAogICAgYXR0cnM6IHsKICAgICAgImxhYmVsIjogIuWunuWQjeiupOivgeeKtuaAge+8miIsCiAgICAgICJwcm9wIjogImF1dGhlbnRpY2F0ZWRTdGF0dXNlcyIKICAgIH0KICB9LCBbX2MoJ2VsLXNlbGVjdCcsIHsKICAgIHN0YXRpY1N0eWxlOiB7CiAgICAgICJ3aWR0aCI6ICIxMDAlIgogICAgfSwKICAgIGF0dHJzOiB7CiAgICAgICJtdWx0aXBsZSI6ICIiLAogICAgICAiY29sbGFwc2UtdGFncyI6ICIiLAogICAgICAicGxhY2Vob2xkZXIiOiAi6K+36YCJ5oupIgogICAgfSwKICAgIG9uOiB7CiAgICAgICJjaGFuZ2UiOiBfdm0uY2hhbmdlYXV0aGVudGljYXRlZFN0YXR1c2VzCiAgICB9LAogICAgbW9kZWw6IHsKICAgICAgdmFsdWU6IF92bS5wYXJhbXMuYXV0aGVudGljYXRlZFN0YXR1c2VzLAogICAgICBjYWxsYmFjazogZnVuY3Rpb24gKCQkdikgewogICAgICAgIF92bS4kc2V0KF92bS5wYXJhbXMsICJhdXRoZW50aWNhdGVkU3RhdHVzZXMiLCAkJHYpOwogICAgICB9LAogICAgICBleHByZXNzaW9uOiAicGFyYW1zLmF1dGhlbnRpY2F0ZWRTdGF0dXNlcyIKICAgIH0KICB9LCBfdm0uX2woX3ZtLmF1dGhlbnRpY2F0ZWRTdGF0dXNlc29wdGlvbnMsIGZ1bmN0aW9uIChpdGVtKSB7CiAgICByZXR1cm4gX2MoJ2VsLW9wdGlvbicsIHsKICAgICAga2V5OiBpdGVtLnZhbHVlLAogICAgICBhdHRyczogewogICAgICAgICJsYWJlbCI6IGl0ZW0ubGFiZWwsCiAgICAgICAgInZhbHVlIjogaXRlbS52YWx1ZQogICAgICB9CiAgICB9KTsKICB9KSwgMSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGRpcmVjdGl2ZXM6IFt7CiAgICAgIG5hbWU6ICJzaG93IiwKICAgICAgcmF3TmFtZTogInYtc2hvdyIsCiAgICAgIHZhbHVlOiBfdm0ubGlzdHNob3dPYmouY2hlY2tlZFN0YXR1c2VzLAogICAgICBleHByZXNzaW9uOiAibGlzdHNob3dPYmouY2hlY2tlZFN0YXR1c2VzIgogICAgfV0sCiAgICBhdHRyczogewogICAgICAibGFiZWwiOiAi6K+B5Lu25qC46aqM54q25oCB77yaIiwKICAgICAgInByb3AiOiAiY2hlY2tlZFN0YXR1c2VzIgogICAgfQogIH0sIFtfYygnZWwtc2VsZWN0JywgewogICAgc3RhdGljU3R5bGU6IHsKICAgICAgIndpZHRoIjogIjEwMCUiCiAgICB9LAogICAgYXR0cnM6IHsKICAgICAgIm11bHRpcGxlIjogIiIsCiAgICAgICJjb2xsYXBzZS10YWdzIjogIiIsCiAgICAgICJwbGFjZWhvbGRlciI6ICLor7fpgInmi6kiCiAgICB9LAogICAgb246IHsKICAgICAgImNoYW5nZSI6IF92bS5jaGFuZ2VjaGVja2VkU3RhdHVzZXMKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5jaGVja2VkU3RhdHVzZXMsCiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7CiAgICAgICAgX3ZtLiRzZXQoX3ZtLnBhcmFtcywgImNoZWNrZWRTdGF0dXNlcyIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMuY2hlY2tlZFN0YXR1c2VzIgogICAgfQogIH0sIF92bS5fbChfdm0uY2hlY2tlZFN0YXR1c2Vzb3B0aW9ucywgZnVuY3Rpb24gKGl0ZW0pIHsKICAgIHJldHVybiBfYygnZWwtb3B0aW9uJywgewogICAgICBrZXk6IGl0ZW0udmFsdWUsCiAgICAgIGF0dHJzOiB7CiAgICAgICAgImxhYmVsIjogaXRlbS5sYWJlbCwKICAgICAgICAidmFsdWUiOiBpdGVtLnZhbHVlCiAgICAgIH0KICAgIH0pOwogIH0pLCAxKV0sIDEpLCBfYygnZWwtZm9ybS1pdGVtJywgewogICAgZGlyZWN0aXZlczogW3sKICAgICAgbmFtZTogInNob3ciLAogICAgICByYXdOYW1lOiAidi1zaG93IiwKICAgICAgdmFsdWU6IF92bS5saXN0c2hvd09iai5jZXJTdGF0dXMgJiYgIV92bS5pbnN0aXR1dGlvbmFsQ29kZS5zdGFydHNXaXRoKCcwMicpLAogICAgICBleHByZXNzaW9uOiAibGlzdHNob3dPYmouY2VyU3RhdHVzJiYhaW5zdGl0dXRpb25hbENvZGUuc3RhcnRzV2l0aCgnMDInKSIKICAgIH1dLAogICAgYXR0cnM6IHsKICAgICAgImxhYmVsIjogIuaMgei1hOagvOivge+8miIsCiAgICAgICJwcm9wIjogImNlclN0YXR1cyIKICAgIH0KICB9LCBbX2MoJ2VsLXNlbGVjdCcsIHsKICAgIHN0YXRpY1N0eWxlOiB7CiAgICAgICJ3aWR0aCI6ICIxMDAlIgogICAgfSwKICAgIGF0dHJzOiB7CiAgICAgICJjb2xsYXBzZS10YWdzIjogIiIsCiAgICAgICJwbGFjZWhvbGRlciI6ICLor7fpgInmi6kiLAogICAgICAiY2xlYXJhYmxlIjogIiIKICAgIH0sCiAgICBvbjogewogICAgICAiY2hhbmdlIjogX3ZtLmNoYW5nZWNlclN0YXR1cwogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLmNlclN0YXR1cywKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAiY2VyU3RhdHVzIiwgJCR2KTsKICAgICAgfSwKICAgICAgZXhwcmVzc2lvbjogInBhcmFtcy5jZXJTdGF0dXMiCiAgICB9CiAgfSwgX3ZtLl9sKF92bS5jZXJTdGF0dXNBcnIsIGZ1bmN0aW9uIChpdGVtLCBpbmRleCkgewogICAgcmV0dXJuIF9jKCdlbC1vcHRpb24nLCB7CiAgICAgIGtleTogaW5kZXgsCiAgICAgIGF0dHJzOiB7CiAgICAgICAgImxhYmVsIjogaXRlbS5sYWJlbCwKICAgICAgICAidmFsdWUiOiBpdGVtLnZhbHVlCiAgICAgIH0KICAgIH0pOwogIH0pLCAxKV0sIDEpLCBfYygnZWwtZm9ybS1pdGVtJywgewogICAgZGlyZWN0aXZlczogW3sKICAgICAgbmFtZTogInNob3ciLAogICAgICByYXdOYW1lOiAidi1zaG93IiwKICAgICAgdmFsdWU6IF92bS5saXN0c2hvd09iai5jb250cmFjdFN0YXR1cyAmJiAhX3ZtLmluc3RpdHV0aW9uYWxDb2RlLnN0YXJ0c1dpdGgoJzAyJyksCiAgICAgIGV4cHJlc3Npb246ICJsaXN0c2hvd09iai5jb250cmFjdFN0YXR1cyYmIWluc3RpdHV0aW9uYWxDb2RlLnN0YXJ0c1dpdGgoJzAyJykiCiAgICB9XSwKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLnrb7orqLlkIjlkIzvvJoiLAogICAgICAicHJvcCI6ICJjb250cmFjdFN0YXR1cyIKICAgIH0KICB9LCBbX2MoJ2VsLXNlbGVjdCcsIHsKICAgIHN0YXRpY1N0eWxlOiB7CiAgICAgICJ3aWR0aCI6ICIxMDAlIgogICAgfSwKICAgIGF0dHJzOiB7CiAgICAgICJjb2xsYXBzZS10YWdzIjogIiIsCiAgICAgICJwbGFjZWhvbGRlciI6ICLor7fpgInmi6kiLAogICAgICAiY2xlYXJhYmxlIjogIiIKICAgIH0sCiAgICBvbjogewogICAgICAiY2hhbmdlIjogX3ZtLmNoYW5nZWNvbnRyYWN0U3RhdHVzCiAgICB9LAogICAgbW9kZWw6IHsKICAgICAgdmFsdWU6IF92bS5wYXJhbXMuY29udHJhY3RTdGF0dXMsCiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7CiAgICAgICAgX3ZtLiRzZXQoX3ZtLnBhcmFtcywgImNvbnRyYWN0U3RhdHVzIiwgJCR2KTsKICAgICAgfSwKICAgICAgZXhwcmVzc2lvbjogInBhcmFtcy5jb250cmFjdFN0YXR1cyIKICAgIH0KICB9LCBfdm0uX2woX3ZtLmNvbnRyYWN0U3RhdHVzQXJyLCBmdW5jdGlvbiAoaXRlbSwgaW5kZXgpIHsKICAgIHJldHVybiBfYygnZWwtb3B0aW9uJywgewogICAgICBrZXk6IGluZGV4LAogICAgICBhdHRyczogewogICAgICAgICJsYWJlbCI6IGl0ZW0ubGFiZWwsCiAgICAgICAgInZhbHVlIjogaXRlbS52YWx1ZQogICAgICB9CiAgICB9KTsKICB9KSwgMSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6IGAke192bS4kU3VwZXJ2aXNlU3RyLmVudHJ5feaXpeacn++8mmAsCiAgICAgICJwcm9wIjogImhpcmVkRGF0ZSIKICAgIH0KICB9LCBbX2MoJ2VsLWRhdGUtcGlja2VyJywgewogICAgc3RhdGljU3R5bGU6IHsKICAgICAgIndpZHRoIjogIjE3NXB4IgogICAgfSwKICAgIGF0dHJzOiB7CiAgICAgICJ0eXBlIjogImRhdGUiLAogICAgICAiZm9ybWF0IjogInl5eXktTU0tZGQiLAogICAgICAidmFsdWUtZm9ybWF0IjogInl5eXktTU0tZGQiLAogICAgICAicGxhY2Vob2xkZXIiOiAi6YCJ5oup5pel5pyfIgogICAgfSwKICAgIG9uOiB7CiAgICAgICJpbnB1dCI6IF92bS5jaGFuZ2VIaXJlZERhdGUKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5oaXJlZERhdGUsCiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7CiAgICAgICAgX3ZtLiRzZXQoX3ZtLnBhcmFtcywgImhpcmVkRGF0ZSIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMuaGlyZWREYXRlIgogICAgfQogIH0pXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBhdHRyczogewogICAgICAibGFiZWwiOiBfdm0uZGVwYXJ0bGFiZWwsCiAgICAgICJwcm9wIjogImRlcGFydElkcyIKICAgIH0KICB9LCBbX2MoJ3NlbGVjdFRyZWUnLCB7CiAgICByZWY6ICJzZWxlY3RUcmVlIiwKICAgIGF0dHJzOiB7CiAgICAgICJjdXJWYWx1ZSI6IF92bS5kZWZhdWxEYXRhLAogICAgICAiZGF0YSI6IF92bS50YWJsZURhdGEsCiAgICAgICJvYmoiOiB7CiAgICAgICAgaWQ6ICdpZCcsCiAgICAgICAgbGFiZWw6ICduYW1lJywKICAgICAgICBjaGlsZHJlbjogJ2NoaWxkcmVuJwogICAgICB9LAogICAgICAiY2hlY2tTdHJpY3RseSI6ICIiLAogICAgICAiY2xlYXJhYmxlIjogIiIsCiAgICAgICJmaWx0ZXJhYmxlIjogIiIsCiAgICAgICJtdWx0aXBsZSI6ICIiLAogICAgICAiY29sbGFwc2VUYWdzIjogIiIKICAgIH0sCiAgICBvbjogewogICAgICAiZ2V0VmFsdWUiOiBfdm0uY2hlY2tDaGFuZ2UKICAgIH0KICB9KV0sIDEpLCBfYygnZWwtZm9ybS1pdGVtJywgewogICAgZGlyZWN0aXZlczogW3sKICAgICAgbmFtZTogInNob3ciLAogICAgICByYXdOYW1lOiAidi1zaG93IiwKICAgICAgdmFsdWU6IF92bS5saXN0c2hvd09iai5sZXZlbCAmJiAhX3ZtLmluc3RpdHV0aW9uYWxDb2RlLnN0YXJ0c1dpdGgoJzAyJyksCiAgICAgIGV4cHJlc3Npb246ICJsaXN0c2hvd09iai5sZXZlbCYmIWluc3RpdHV0aW9uYWxDb2RlLnN0YXJ0c1dpdGgoJzAyJykiCiAgICB9XSwKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLkv53lronogYzkuJrmioDog73nrYnnuqfvvJoiLAogICAgICAicHJvcCI6ICJsZXZlbCIKICAgIH0KICB9LCBbX2MoJ2VsLXNlbGVjdCcsIHsKICAgIHN0YXRpY1N0eWxlOiB7CiAgICAgICJ3aWR0aCI6ICIxMDAlIgogICAgfSwKICAgIGF0dHJzOiB7CiAgICAgICJtdWx0aXBsZSI6ICIiLAogICAgICAiY29sbGFwc2UtdGFncyI6ICIiLAogICAgICAicGxhY2Vob2xkZXIiOiAi6K+36YCJ5oupIgogICAgfSwKICAgIG9uOiB7CiAgICAgICJjaGFuZ2UiOiBfdm0uY2hhbmdlbGV2ZWwKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5sZXZlbCwKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAibGV2ZWwiLCAkJHYpOwogICAgICB9LAogICAgICBleHByZXNzaW9uOiAicGFyYW1zLmxldmVsIgogICAgfQogIH0sIF92bS5fbChfdm0ubGV2ZWxBcnIsIGZ1bmN0aW9uIChpdGVtLCBpbmRleCkgewogICAgcmV0dXJuIF9jKCdlbC1vcHRpb24nLCB7CiAgICAgIGtleTogaW5kZXgsCiAgICAgIGF0dHJzOiB7CiAgICAgICAgImxhYmVsIjogaXRlbS5sYWJlbCwKICAgICAgICAidmFsdWUiOiBpdGVtLnZhbHVlCiAgICAgIH0KICAgIH0pOwogIH0pLCAxKV0sIDEpLCBfYygnZWwtZm9ybS1pdGVtJywgewogICAgYXR0cnM6IHsKICAgICAgImxhYmVsIjogIuaAp+WIq++8miIsCiAgICAgICJwcm9wIjogInNleCIKICAgIH0KICB9LCBbX2MoJ2VsLXNlbGVjdCcsIHsKICAgIHN0YXRpY1N0eWxlOiB7CiAgICAgICJ3aWR0aCI6ICIxMDAlIgogICAgfSwKICAgIGF0dHJzOiB7CiAgICAgICJwbGFjZWhvbGRlciI6ICLor7fpgInmi6kiLAogICAgICAiY2xlYXJhYmxlIjogIiIKICAgIH0sCiAgICBvbjogewogICAgICAiY2hhbmdlIjogX3ZtLmNoYW5nZXNleAogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLnNleCwKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAic2V4IiwgJCR2KTsKICAgICAgfSwKICAgICAgZXhwcmVzc2lvbjogInBhcmFtcy5zZXgiCiAgICB9CiAgfSwgX3ZtLl9sKF92bS5zZXhBcnJPcHRpb25zLCBmdW5jdGlvbiAoaXRlbSwgaW5kZXgpIHsKICAgIHJldHVybiBfYygnZWwtb3B0aW9uJywgewogICAgICBrZXk6IGluZGV4LAogICAgICBhdHRyczogewogICAgICAgICJsYWJlbCI6IGl0ZW0ubGFiZWwsCiAgICAgICAgInZhbHVlIjogaXRlbS52YWx1ZQogICAgICB9CiAgICB9KTsKICB9KSwgMSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLlvIDlp4vlubTpvoTvvJoiLAogICAgICAicHJvcCI6ICJiZWdpbkFnZSIKICAgIH0KICB9LCBbX2MoJ2VsLWlucHV0LW51bWJlcicsIHsKICAgIHN0YXRpY1N0eWxlOiB7CiAgICAgICJ3aWR0aCI6ICIxNzVweCIKICAgIH0sCiAgICBhdHRyczogewogICAgICAiY29udHJvbHMiOiBmYWxzZSwKICAgICAgIm1pbiI6IDEsCiAgICAgICJtYXgiOiAxMDAsCiAgICAgICJwbGFjZWhvbGRlciI6ICLlvIDlp4vlubTpvoQiCiAgICB9LAogICAgb246IHsKICAgICAgImNoYW5nZSI6IF92bS5jaGFuZ2ViZWdpbkFnZQogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLmJlZ2luQWdlLAogICAgICBjYWxsYmFjazogZnVuY3Rpb24gKCQkdikgewogICAgICAgIF92bS4kc2V0KF92bS5wYXJhbXMsICJiZWdpbkFnZSIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMuYmVnaW5BZ2UiCiAgICB9CiAgfSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLnu5PmnZ/lubTpvoTvvJoiLAogICAgICAicHJvcCI6ICJlbmRBZ2UiCiAgICB9CiAgfSwgW19jKCdlbC1pbnB1dC1udW1iZXInLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTc1cHgiCiAgICB9LAogICAgYXR0cnM6IHsKICAgICAgImNvbnRyb2xzIjogZmFsc2UsCiAgICAgICJtaW4iOiAxLAogICAgICAibWF4IjogMTAwLAogICAgICAicGxhY2Vob2xkZXIiOiAi57uT5p2f5bm06b6EIgogICAgfSwKICAgIG9uOiB7CiAgICAgICJjaGFuZ2UiOiBfdm0uY2hhbmdlZW5kQWdlCiAgICB9LAogICAgbW9kZWw6IHsKICAgICAgdmFsdWU6IF92bS5wYXJhbXMuZW5kQWdlLAogICAgICBjYWxsYmFjazogZnVuY3Rpb24gKCQkdikgewogICAgICAgIF92bS4kc2V0KF92bS5wYXJhbXMsICJlbmRBZ2UiLCAkJHYpOwogICAgICB9LAogICAgICBleHByZXNzaW9uOiAicGFyYW1zLmVuZEFnZSIKICAgIH0KICB9KV0sIDEpLCBfdm0uaW5zdFNob3cgPyBfYygnZWwtZm9ybS1pdGVtJywgewogICAgYXR0cnM6IHsKICAgICAgImxhYmVsIjogIuiDjOaZr+etm+afpeeKtuaAge+8miIsCiAgICAgICJwcm9wIjogImJhY2tncm91bmRTY3JlZW5pbmdTdGF0dXMiCiAgICB9CiAgfSwgW19jKCdlbC1zZWxlY3QnLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTAwJSIKICAgIH0sCiAgICBhdHRyczogewogICAgICAibXVsdGlwbGUiOiAiIiwKICAgICAgImNvbGxhcHNlLXRhZ3MiOiAiIiwKICAgICAgInBsYWNlaG9sZGVyIjogIuivt+mAieaLqSIKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5iYWNrZ3JvdW5kU2NyZWVuaW5nU3RhdHVzLAogICAgICBjYWxsYmFjazogZnVuY3Rpb24gKCQkdikgewogICAgICAgIF92bS4kc2V0KF92bS5wYXJhbXMsICJiYWNrZ3JvdW5kU2NyZWVuaW5nU3RhdHVzIiwgJCR2KTsKICAgICAgfSwKICAgICAgZXhwcmVzc2lvbjogInBhcmFtcy5iYWNrZ3JvdW5kU2NyZWVuaW5nU3RhdHVzIgogICAgfQogIH0sIF92bS5fbChfdm0uYmFja2dyb3VuZFNjcmVlbmluZ1N0YXR1c09wdGlvbnMsIGZ1bmN0aW9uIChpdGVtKSB7CiAgICByZXR1cm4gX2MoJ2VsLW9wdGlvbicsIHsKICAgICAga2V5OiBpdGVtLnZhbHVlLAogICAgICBhdHRyczogewogICAgICAgICJsYWJlbCI6IGl0ZW0ubGFiZWwsCiAgICAgICAgInZhbHVlIjogaXRlbS52YWx1ZQogICAgICB9CiAgICB9KTsKICB9KSwgMSldLCAxKSA6IF92bS5fZSgpLCAhX3ZtLmluc3RpdHV0aW9uYWxDb2RlLnN0YXJ0c1dpdGgoJzAyJykgPyBfYygnZWwtZm9ybS1pdGVtJywgewogICAgYXR0cnM6IHsKICAgICAgImxhYmVsIjogIuaYr+WQpuaKleS/ne+8miIsCiAgICAgICJwcm9wIjogImluc3VyZSIKICAgIH0KICB9LCBbX2MoJ2VsLXNlbGVjdCcsIHsKICAgIHN0YXRpY1N0eWxlOiB7CiAgICAgICJ3aWR0aCI6ICIxMDAlIgogICAgfSwKICAgIGF0dHJzOiB7CiAgICAgICJwbGFjZWhvbGRlciI6ICLor7fpgInmi6kiLAogICAgICAiY2xlYXJhYmxlIjogIiIKICAgIH0sCiAgICBvbjogewogICAgICAiY2hhbmdlIjogX3ZtLmNoYW5nZWluc3VyZQogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLmluc3VyZSwKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAiaW5zdXJlIiwgJCR2KTsKICAgICAgfSwKICAgICAgZXhwcmVzc2lvbjogInBhcmFtcy5pbnN1cmUiCiAgICB9CiAgfSwgX3ZtLl9sKF92bS5pbnN1cmVBcnJPcHRpb25zLCBmdW5jdGlvbiAoaXRlbSwgaW5kZXgpIHsKICAgIHJldHVybiBfYygnZWwtb3B0aW9uJywgewogICAgICBrZXk6IGluZGV4LAogICAgICBhdHRyczogewogICAgICAgICJsYWJlbCI6IGl0ZW0ubGFiZWwsCiAgICAgICAgInZhbHVlIjogaXRlbS52YWx1ZQogICAgICB9CiAgICB9KTsKICB9KSwgMSldLCAxKSA6IF92bS5fZSgpLCBfYygnZWwtZm9ybS1pdGVtJywgewogICAgYXR0cnM6IHsKICAgICAgImxhYmVsIjogYCR7X3ZtLiRTdXBlcnZpc2VTdHIuZW50cnl95pe26Ze077yaYCwKICAgICAgInByb3AiOiAic3RhcnRFbmREYXRlIgogICAgfQogIH0sIFtfYygnZWwtZGF0ZS1waWNrZXInLCB7CiAgICBhdHRyczogewogICAgICAidHlwZSI6ICJkYXRlcmFuZ2UiLAogICAgICAidmFsdWUtZm9ybWF0IjogInl5eXktTU0tZGQiLAogICAgICAiZm9ybWF0IjogInl5eXktTU0tZGQiLAogICAgICAicmFuZ2Utc2VwYXJhdG9yIjogIuiHsyIsCiAgICAgICJzdGFydC1wbGFjZWhvbGRlciI6ICLlvIDlp4vml6XmnJ8iLAogICAgICAiZW5kLXBsYWNlaG9sZGVyIjogIue7k+adn+aXpeacnyIKICAgIH0sCiAgICBvbjogewogICAgICAiY2hhbmdlIjogX3ZtLmNoYW5nZXN0YXJ0RW5kRGF0ZQogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLnN0YXJ0RW5kRGF0ZSwKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAic3RhcnRFbmREYXRlIiwgJCR2KTsKICAgICAgfSwKICAgICAgZXhwcmVzc2lvbjogInBhcmFtcy5zdGFydEVuZERhdGUiCiAgICB9CiAgfSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIFtfYygnZWwtYnV0dG9uJywgewogICAgYXR0cnM6IHsKICAgICAgInR5cGUiOiAicHJpbWFyeSIKICAgIH0sCiAgICBvbjogewogICAgICAiY2xpY2siOiBfdm0uaGlnaFNlYXJjaEJ1dHRvbgogICAgfQogIH0sIFtfdm0uX3YoIuafpeivoiIpXSksIF9jKCdlbC1idXR0b24nLCB7CiAgICBvbjogewogICAgICAiY2xpY2siOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgcmV0dXJuIF92bS5yZXNldFNlYXJjaEZvcm0oKTsKICAgICAgfQogICAgfQogIH0sIFtfdm0uX3YoIumHjee9riIpXSldLCAxKV0sIDEpXSwgMSldLCAxKSwgX3ZtLkhpZ2hEYXRhRmxhZyA/IF9jKCdzZWN0aW9uJywgewogICAgc3RhdGljQ2xhc3M6ICJEYXRhVEJveCIKICB9LCBbX2MoJ2RpdicsIHsKICAgIHN0YXRpY0NsYXNzOiAidGoiCiAgfSwgW19jKCdzcGFuJywgewogICAgc3RhdGljQ2xhc3M6ICJjb3VudHN0aiIsCiAgICBjbGFzczogX3ZtLmluZGV4ID09IDAgPyAnYWN0aXZlJyA6ICcnLAogICAgb246IHsKICAgICAgImNsaWNrIjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIHJldHVybiBfdm0uRGF0YVRqY2xpY2soMCwgJ29jY3VwYXRpb25UeXBlcycsIFtdKTsKICAgICAgfQogICAgfQogIH0sIFtfYygnZW0nLCBbX3ZtLl92KCLlnKjogYzlkZjlt6XmgLvmlbAiKV0pLCBfYygnc3Ryb25nJywgW192bS5fdihfdm0uX3MoX3ZtLnRqT2JqLnRvdGFsKSldKV0pLCBfYygnc3BhbicsIHsKICAgIGNsYXNzOiBfdm0uaW5kZXggPT0gMSA/ICdhY3RpdmUnIDogJycsCiAgICBvbjogewogICAgICAiY2xpY2siOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgcmV0dXJuIF92bS5EYXRhVGpjbGljaygxLCAnY2hlY2tlZFN0YXR1c2VzJywgWzBdKTsKICAgICAgfQogICAgfQogIH0sIFtfYygnZW0nLCBbX3ZtLl92KCLmnKrmj5DkuqQiKV0pLCBfYygnc3Ryb25nJywgW192bS5fdihfdm0uX3MoX3ZtLnRqT2JqLnVuQ2hlY2tlZENvdW50KSldKV0pLCBfYygnc3BhbicsIHsKICAgIGNsYXNzOiBfdm0uaW5kZXggPT0gMiA/ICdhY3RpdmUnIDogJycsCiAgICBvbjogewogICAgICAiY2xpY2siOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgcmV0dXJuIF92bS5EYXRhVGpjbGljaygyLCAnY2hlY2tlZFN0YXR1c2VzJywgWzJdKTsKICAgICAgfQogICAgfQogIH0sIFtfYygnZW0nLCBbX3ZtLl92KCLlt7Lmj5DkuqQiKV0pLCBfYygnc3Ryb25nJywgW192bS5fdihfdm0uX3MoX3ZtLnRqT2JqLmNvbW1pdENvdW50KSldKV0pLCBfYygnc3BhbicsIHsKICAgIGNsYXNzOiBfdm0uaW5kZXggPT0gMyA/ICdhY3RpdmUnIDogJycsCiAgICBvbjogewogICAgICAiY2xpY2siOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgcmV0dXJuIF92bS5EYXRhVGpjbGljaygzLCAnY2hlY2tlZFN0YXR1c2VzJywgWzFdKTsKICAgICAgfQogICAgfQogIH0sIFtfYygnZW0nLCBbX3ZtLl92KCLlt7LmoLjpqowiKV0pLCBfYygnc3Ryb25nJywgW192bS5fdihfdm0uX3MoX3ZtLnRqT2JqLmNoZWNrZWRDb3VudCkpXSldKSwgX2MoJ3NwYW4nLCB7CiAgICBjbGFzczogX3ZtLmluZGV4ID09IDQgPyAnYWN0aXZlJyA6ICcnLAogICAgb246IHsKICAgICAgImNsaWNrIjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIHJldHVybiBfdm0uRGF0YVRqY2xpY2soNCwgJ2NvbnRyYWN0U3RhdHVzJywgJzAnKTsKICAgICAgfQogICAgfQogIH0sIFtfYygnZW0nLCBbX3ZtLl92KCLmnKrnrb7lkIjlkIwiKV0pLCBfYygnc3Ryb25nJywgW192bS5fdihfdm0uX3MoX3ZtLnRqT2JqLnVuQ29udHJhY3RDb3VudCkpXSldKSwgX2MoJ3NwYW4nLCB7CiAgICBjbGFzczogX3ZtLmluZGV4ID09IDUgPyAnYWN0aXZlJyA6ICcnLAogICAgb246IHsKICAgICAgImNsaWNrIjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIHJldHVybiBfdm0uRGF0YVRqY2xpY2soNSwgJ2NvbnRyYWN0U3RhdHVzJywgJzEnKTsKICAgICAgfQogICAgfQogIH0sIFtfYygnZW0nLCBbX3ZtLl92KCLlt7Lnrb7lkIjlkIwiKV0pLCBfYygnc3Ryb25nJywgW192bS5fdihfdm0uX3MoX3ZtLnRqT2JqLmNvbnRyYWN0Q291bnQpKV0pXSldKSwgX3ZtLmluc3RTaG93ID8gX2MoJ2RpdicsIHsKICAgIHN0YXRpY0NsYXNzOiAidGoiCiAgfSwgW19jKCdzcGFuJywgewogICAgc3RhdGljQ2xhc3M6ICJjb3VudHN0aiIsCiAgICBjbGFzczogX3ZtLmluZGV4ID09IDEwID8gJ2FjdGl2ZScgOiAnJywKICAgIG9uOiB7CiAgICAgICJjbGljayI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICByZXR1cm4gX3ZtLkRhdGFUamNsaWNrKDEwLCAnb2NjdXBhdGlvblR5cGVzJywgWydTZWN1cml0eUd1YXJkJ10pOwogICAgICB9CiAgICB9CiAgfSwgW19jKCdlbScsIFtfdm0uX3YoIuS/neWuieWRmOaAu+aVsCIpXSksIF9jKCdzdHJvbmcnLCBbX3ZtLl92KF92bS5fcyhfdm0udGpPYmouc2VjVG90YWwpKV0pXSksIF9jKCdzcGFuJywgewogICAgY2xhc3M6IF92bS5pbmRleCA9PSAxMSA/ICdhY3RpdmUnIDogJycsCiAgICBvbjogewogICAgICAiY2xpY2siOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgcmV0dXJuIF92bS5EYXRhVGpjbGljaygxMSwgJ2NoZWNrZWRTdGF0dXNlcycsIFswXSwgJ29jY3VwYXRpb25UeXBlcycpOwogICAgICB9CiAgICB9CiAgfSwgW19jKCdlbScsIFtfdm0uX3YoIuacquaPkOS6pCIpXSksIF9jKCdzdHJvbmcnLCBbX3ZtLl92KF92bS5fcyhfdm0udGpPYmouc2VjVW5DaGVja2VkQ291bnQpKV0pXSksIF9jKCdzcGFuJywgewogICAgY2xhc3M6IF92bS5pbmRleCA9PSAxMiA/ICdhY3RpdmUnIDogJycsCiAgICBvbjogewogICAgICAiY2xpY2siOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgcmV0dXJuIF92bS5EYXRhVGpjbGljaygxMiwgJ2NoZWNrZWRTdGF0dXNlcycsIFsxXSwgJ29jY3VwYXRpb25UeXBlcycpOwogICAgICB9CiAgICB9CiAgfSwgW19jKCdlbScsIFtfdm0uX3YoIuW3suaguOmqjCIpXSksIF9jKCdzdHJvbmcnLCBbX3ZtLl92KF92bS5fcyhfdm0udGpPYmouc2VjQ2hlY2tlZENvdW50KSldKV0pLCBfYygnc3BhbicsIHsKICAgIGRpcmVjdGl2ZXM6IFt7CiAgICAgIG5hbWU6ICJzaG93IiwKICAgICAgcmF3TmFtZTogInYtc2hvdyIsCiAgICAgIHZhbHVlOiBfdm0uRGF0YUJvYXJkc2hvd09iai5BdXRoZW50aWNhdGluZywKICAgICAgZXhwcmVzc2lvbjogIkRhdGFCb2FyZHNob3dPYmouQXV0aGVudGljYXRpbmciCiAgICB9XSwKICAgIGNsYXNzOiBfdm0uaW5kZXggPT0gMTMgPyAnYWN0aXZlJyA6ICcnLAogICAgb246IHsKICAgICAgImNsaWNrIjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIHJldHVybiBfdm0uRGF0YVRqY2xpY2soMTMsICdhdXRoZW50aWNhdGVkU3RhdHVzZXMnLCBbJ0F1dGhlbnRpY2F0aW5nJ10sICdvY2N1cGF0aW9uVHlwZXMnKTsKICAgICAgfQogICAgfQogIH0sIFtfYygnZW0nLCBbX3ZtLl92KCLlrp7lkI3orqTor4HkuK0iKV0pLCBfYygnc3Ryb25nJywgW192bS5fdihfdm0uX3MoX3ZtLnRqT2JqLnNlY1VuQXV0aENvdW50KSldKV0pLCBfYygnc3BhbicsIHsKICAgIGRpcmVjdGl2ZXM6IFt7CiAgICAgIG5hbWU6ICJzaG93IiwKICAgICAgcmF3TmFtZTogInYtc2hvdyIsCiAgICAgIHZhbHVlOiBfdm0uRGF0YUJvYXJkc2hvd09iai5QYXNzZWQsCiAgICAgIGV4cHJlc3Npb246ICJEYXRhQm9hcmRzaG93T2JqLlBhc3NlZCIKICAgIH1dLAogICAgY2xhc3M6IF92bS5pbmRleCA9PSAxNCA/ICdhY3RpdmUnIDogJycsCiAgICBvbjogewogICAgICAiY2xpY2siOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgcmV0dXJuIF92bS5EYXRhVGpjbGljaygxNCwgJ2F1dGhlbnRpY2F0ZWRTdGF0dXNlcycsIFsnUGFzc2VkJ10sICdvY2N1cGF0aW9uVHlwZXMnKTsKICAgICAgfQogICAgfQogIH0sIFtfYygnZW0nLCBbX3ZtLl92KCLlt7Llrp7lkI3orqTor4EiKV0pLCBfYygnc3Ryb25nJywgW192bS5fdihfdm0uX3MoX3ZtLnRqT2JqLnNlY0F1dGhDb3VudCkpXSldKSwgX2MoJ3NwYW4nLCB7CiAgICBkaXJlY3RpdmVzOiBbewogICAgICBuYW1lOiAic2hvdyIsCiAgICAgIHJhd05hbWU6ICJ2LXNob3ciLAogICAgICB2YWx1ZTogX3ZtLkRhdGFCb2FyZHNob3dPYmouRmFpbGVkLAogICAgICBleHByZXNzaW9uOiAiRGF0YUJvYXJkc2hvd09iai5GYWlsZWQiCiAgICB9XSwKICAgIGNsYXNzOiBfdm0uaW5kZXggPT0gMTUgPyAnYWN0aXZlJyA6ICcnLAogICAgb246IHsKICAgICAgImNsaWNrIjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIHJldHVybiBfdm0uRGF0YVRqY2xpY2soMTUsICdhdXRoZW50aWNhdGVkU3RhdHVzZXMnLCBbJ0ZhaWxlZCddLCAnb2NjdXBhdGlvblR5cGVzJyk7CiAgICAgIH0KICAgIH0KICB9LCBbX2MoJ2VtJywgW192bS5fdigi5a6e5ZCN6K6k6K+B5aSx6LSlIildKSwgX2MoJ3N0cm9uZycsIFtfdm0uX3YoX3ZtLl9zKF92bS50ak9iai5zZWNBdXRoRmFpbENvdW50KSldKV0pLCBfYygnc3BhbicsIHsKICAgIGNsYXNzOiBfdm0uaW5kZXggPT0gMTYgPyAnYWN0aXZlJyA6ICcnLAogICAgb246IHsKICAgICAgImNsaWNrIjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIHJldHVybiBfdm0uRGF0YVRqY2xpY2soMTYsICdjb250cmFjdFN0YXR1cycsICcwJywgJ29jY3VwYXRpb25UeXBlcycpOwogICAgICB9CiAgICB9CiAgfSwgW19jKCdlbScsIFtfdm0uX3YoIuacquetvuWQiOWQjCIpXSksIF9jKCdzdHJvbmcnLCBbX3ZtLl92KF92bS5fcyhfdm0udGpPYmouc2VjVW5Db250cmFjdENvdW50KSldKV0pLCBfYygnc3BhbicsIHsKICAgIGNsYXNzOiBfdm0uaW5kZXggPT0gMTcgPyAnYWN0aXZlJyA6ICcnLAogICAgb246IHsKICAgICAgImNsaWNrIjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIHJldHVybiBfdm0uRGF0YVRqY2xpY2soMTcsICdjb250cmFjdFN0YXR1cycsICcxJywgJ29jY3VwYXRpb25UeXBlcycpOwogICAgICB9CiAgICB9CiAgfSwgW19jKCdlbScsIFtfdm0uX3YoIuW3suetvuWQiOWQjCIpXSksIF9jKCdzdHJvbmcnLCBbX3ZtLl92KF92bS5fcyhfdm0udGpPYmouc2VjQ29udHJhY3RDb3VudCkpXSldKV0pIDogX3ZtLl9lKCldKSA6IF92bS5fZSgpLCBfYygnc2VjdGlvbicsIHsKICAgIHN0YXRpY0NsYXNzOiAiY29udGVudEJveCIKICB9LCBbX2MoJ2VsLXRhYmxlJywgewogICAgcmVmOiAiZGlzdHJpY3RUYWJsZSIsCiAgICBhdHRyczogewogICAgICAiZGF0YSI6IF92bS50YWJsZURhdGFFbXBsb3llZSwKICAgICAgIm1heC1oZWlnaHQiOiAiNTAwIiwKICAgICAgImRlZmF1bHQtZXhwYW5kLWFsbCI6ICIiLAogICAgICAicm93LWtleSI6ICJpZCIKICAgIH0sCiAgICBvbjogewogICAgICAic2VsZWN0aW9uLWNoYW5nZSI6IF92bS5oYW5kbGVTZWxlY3Rpb25DaGFuZ2UsCiAgICAgICJzZWxlY3QtYWxsIjogX3ZtLmhhbmRsZVNlbGVjdGlvbkFsbENoYW5nZQogICAgfQogIH0sIFtfdm0uX2woX3ZtLnRhYmxlQ29sdW1uLCBmdW5jdGlvbiAoaXRlbSwgaW5kZXgpIHsKICAgIHJldHVybiBpdGVtLnNob3cgPyBfYygnZWwtdGFibGUtY29sdW1uJywgewogICAgICBrZXk6IGluZGV4LAogICAgICBhdHRyczogewogICAgICAgICJwcm9wIjogaXRlbS5wcm9wLAogICAgICAgICJsYWJlbCI6IGl0ZW0ubGFiZWwsCiAgICAgICAgIndpZHRoIjogaXRlbS53aWR0aCwKICAgICAgICAiZml4ZWQiOiBpdGVtLmxhYmVsID09ICLlp5PlkI0iCiAgICAgIH0sCiAgICAgIHNjb3BlZFNsb3RzOiBfdm0uX3UoW3sKICAgICAgICBrZXk6ICJkZWZhdWx0IiwKICAgICAgICBmbjogZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICByZXR1cm4gW19jKCdzcGFuJywgW192bS5fdihfdm0uX3Moc2NvcGUucm93W2l0ZW0ucHJvcF0pKV0pXTsKICAgICAgICB9CiAgICAgIH1dLCBudWxsLCB0cnVlKQogICAgfSkgOiBfdm0uX2UoKTsKICB9KSwgX2MoJ2VsLXRhYmxlLWNvbHVtbicsIHsKICAgIGF0dHJzOiB7CiAgICAgICJmaXhlZCI6ICJyaWdodCIsCiAgICAgICJtaW4td2lkdGgiOiAiMTgwIgogICAgfSwKICAgIHNjb3BlZFNsb3RzOiBfdm0uX3UoW3sKICAgICAga2V5OiAiaGVhZGVyIiwKICAgICAgZm46IGZ1bmN0aW9uIChzY29wZSkgewogICAgICAgIHJldHVybiBbX2MoJ3NwYW4nLCB7CiAgICAgICAgICBzdGF0aWNDbGFzczogImNvbHVtbkhlYWRlciIKICAgICAgICB9LCBbX2MoJ3N0cm9uZycsIFtfdm0uX3YoIuaTjeS9nCIpXSksIF9jKCdpJywgewogICAgICAgICAgc3RhdGljQ2xhc3M6ICJlbC1pY29uLXNldHRpbmciLAogICAgICAgICAgb246IHsKICAgICAgICAgICAgImNsaWNrIjogX3ZtLmNvbHVtblNldFBvcAogICAgICAgICAgfQogICAgICAgIH0pXSldOwogICAgICB9CiAgICB9LCB7CiAgICAgIGtleTogImRlZmF1bHQiLAogICAgICBmbjogZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgcmV0dXJuIFtfYygnZWwtYnV0dG9uJywgewogICAgICAgICAgc3RhdGljQ2xhc3M6ICJwcmltYXJ5Q29sb3IiLAogICAgICAgICAgYXR0cnM6IHsKICAgICAgICAgICAgInR5cGUiOiAidGV4dCIsCiAgICAgICAgICAgICJzaXplIjogInNtYWxsIgogICAgICAgICAgfSwKICAgICAgICAgIG9uOiB7CiAgICAgICAgICAgICJjbGljayI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICAgICAgICByZXR1cm4gX3ZtLmVkaXRTdGFmZihzY29wZS5yb3cpOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSwgW192bS5fdigi57yW6L6RIildKSwgX3ZtLmRvbWFpbkFkbWluIHx8IF92bS5wZXJtaXNzaW9uc1N0ci5pbmRleE9mKCdSZXNldFB3ZCcpID4gLTEgPyBfYygnZWwtYnV0dG9uJywgewogICAgICAgICAgc3RhdGljQ2xhc3M6ICJwcmltYXJ5Q29sb3IiLAogICAgICAgICAgYXR0cnM6IHsKICAgICAgICAgICAgInR5cGUiOiAidGV4dCIsCiAgICAgICAgICAgICJzaXplIjogInNtYWxsIgogICAgICAgICAgfSwKICAgICAgICAgIG9uOiB7CiAgICAgICAgICAgICJjbGljayI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICAgICAgICByZXR1cm4gX3ZtLnJlc2V0UFdEU3RhZmYoc2NvcGUucm93KTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0sIFtfdm0uX3YoIumHjee9ruWvhueggSIpXSkgOiBfdm0uX2UoKV07CiAgICAgIH0KICAgIH1dLCBudWxsLCBmYWxzZSwgMjQ5Nzg4MjUxNikKICB9KV0sIDIpLCBfYygncGFnZXMnLCB7CiAgICBhdHRyczogewogICAgICAidG90YWwiOiBfdm0ucGFyYW1zLnRvdGFsLAogICAgICAiY3VycmVudFBhZ2UiOiBfdm0ucGFyYW1zLnBhZ2VJbmRleCwKICAgICAgInBhZ2VTaXplIjogX3ZtLnBhcmFtcy5wYWdlU2l6ZQogICAgfSwKICAgIG9uOiB7CiAgICAgICJ1cGRhdGU6Y3VycmVudFBhZ2UiOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgcmV0dXJuIF92bS4kc2V0KF92bS5wYXJhbXMsICJwYWdlSW5kZXgiLCAkZXZlbnQpOwogICAgICB9LAogICAgICAidXBkYXRlOmN1cnJlbnQtcGFnZSI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICByZXR1cm4gX3ZtLiRzZXQoX3ZtLnBhcmFtcywgInBhZ2VJbmRleCIsICRldmVudCk7CiAgICAgIH0sCiAgICAgICJoYW5kbGVDdXJyZW50Q2hhbmdlU3ViIjogX3ZtLmhhbmRsZUN1cnJlbnRDaGFuZ2UsCiAgICAgICJoYW5kbGVTaXplQ2hhbmdlU3ViIjogX3ZtLmhhbmRsZVNpemVDaGFuZ2UKICAgIH0KICB9KV0sIDEpLCBfYygnVXNlckVtcGxveWVlRGlhbG9nJywgewogICAgcmVmOiAicG9wQ2hpbGRyZW4iLAogICAgYXR0cnM6IHsKICAgICAgImRlcHREYXRhTGlzdCI6IF92bS50YWJsZURhdGEsCiAgICAgICJzaG93ZGlhbG9nIjogX3ZtLnNob3dkaWFsb2cKICAgIH0sCiAgICBvbjogewogICAgICAidXBkYXRlOnNob3dkaWFsb2ciOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgX3ZtLnNob3dkaWFsb2cgPSAkZXZlbnQ7CiAgICAgIH0sCiAgICAgICJyZWZ1cmxpc3QiOiBfdm0ucmVmdXJsaXN0CiAgICB9CiAgfSksIF9jKCdJbXBvcnRFbXBsb3llZURpYWxvZycsIHsKICAgIHJlZjogIkltcG9ydHBvcENoaWxkcmVuIiwKICAgIGF0dHJzOiB7CiAgICAgICJzaG93ZGlhbG9nSW1wb3J0IjogX3ZtLnNob3dkaWFsb2dJbXBvcnQKICAgIH0sCiAgICBvbjogewogICAgICAidXBkYXRlOnNob3dkaWFsb2dJbXBvcnQiOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgX3ZtLnNob3dkaWFsb2dJbXBvcnQgPSAkZXZlbnQ7CiAgICAgIH0sCiAgICAgICJ1cGRhdGU6c2hvd2RpYWxvZy1pbXBvcnQiOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgX3ZtLnNob3dkaWFsb2dJbXBvcnQgPSAkZXZlbnQ7CiAgICAgIH0sCiAgICAgICJyZWZ1cmxpc3QiOiBfdm0ucmVmdXJsaXN0CiAgICB9CiAgfSksIF9jKCdFeHBvcnRFbXBsb3llZURpYWxvZycsIHsKICAgIHJlZjogIkV4cG9ydHBvcENoaWxkcmVuIiwKICAgIGF0dHJzOiB7CiAgICAgICJzaG93ZGlhbG9nRXhwb3J0IjogX3ZtLnNob3dkaWFsb2dFeHBvcnQKICAgIH0sCiAgICBvbjogewogICAgICAidXBkYXRlOnNob3dkaWFsb2dFeHBvcnQiOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgX3ZtLnNob3dkaWFsb2dFeHBvcnQgPSAkZXZlbnQ7CiAgICAgIH0sCiAgICAgICJ1cGRhdGU6c2hvd2RpYWxvZy1leHBvcnQiOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgX3ZtLnNob3dkaWFsb2dFeHBvcnQgPSAkZXZlbnQ7CiAgICAgIH0sCiAgICAgICJyZWZ1cmxpc3QiOiBfdm0ucmVmdXJsaXN0CiAgICB9CiAgfSksIF9jKCdVc2VyRW1wbG95ZWVJbnZpdGVJbkRpYWxvZycsIHsKICAgIHJlZjogInBvcENoaWxkcmVuIiwKICAgIGF0dHJzOiB7CiAgICAgICJkZXB0RGF0YUxpc3QiOiBfdm0udGFibGVEYXRhLAogICAgICAic2hvd2RpYWxvZ0luIjogX3ZtLnNob3dkaWFsb2dJbgogICAgfSwKICAgIG9uOiB7CiAgICAgICJ1cGRhdGU6c2hvd2RpYWxvZ0luIjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIF92bS5zaG93ZGlhbG9nSW4gPSAkZXZlbnQ7CiAgICAgIH0sCiAgICAgICJ1cGRhdGU6c2hvd2RpYWxvZy1pbiI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICBfdm0uc2hvd2RpYWxvZ0luID0gJGV2ZW50OwogICAgICB9LAogICAgICAicmVmdXJsaXN0IjogX3ZtLnJlZnVybGlzdAogICAgfQogIH0pLCBfYygnVXNlckVtcGxveWVlRHV0eURpYWxvZycsIHsKICAgIHJlZjogIkR1dHlDaGlsZHJlbiIsCiAgICBhdHRyczogewogICAgICAiZGVwdERhdGFMaXN0IjogX3ZtLnRhYmxlRGF0YSwKICAgICAgInNob3dkaWFsb2dEdXR5IjogX3ZtLnNob3dkaWFsb2dEdXR5CiAgICB9LAogICAgb246IHsKICAgICAgInVwZGF0ZTpzaG93ZGlhbG9nRHV0eSI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICBfdm0uc2hvd2RpYWxvZ0R1dHkgPSAkZXZlbnQ7CiAgICAgIH0sCiAgICAgICJ1cGRhdGU6c2hvd2RpYWxvZy1kdXR5IjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIF92bS5zaG93ZGlhbG9nRHV0eSA9ICRldmVudDsKICAgICAgfSwKICAgICAgInJlZnVybGlzdCI6IF92bS5yZWZ1cmxpc3QKICAgIH0KICB9KSwgX2MoJ1VzZXJFbXBsb3llZWNoYW5nZU9jY3VwYXRpb25UeXBlRGlhbG9nJywgewogICAgcmVmOiAiT2NjVHlwZUNoaWxkcmVuIiwKICAgIGF0dHJzOiB7CiAgICAgICJzaG93ZGlhbG9nT2NjVHlwZSI6IF92bS5zaG93ZGlhbG9nT2NjVHlwZQogICAgfSwKICAgIG9uOiB7CiAgICAgICJ1cGRhdGU6c2hvd2RpYWxvZ09jY1R5cGUiOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgX3ZtLnNob3dkaWFsb2dPY2NUeXBlID0gJGV2ZW50OwogICAgICB9LAogICAgICAidXBkYXRlOnNob3dkaWFsb2ctb2NjLXR5cGUiOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgX3ZtLnNob3dkaWFsb2dPY2NUeXBlID0gJGV2ZW50OwogICAgICB9LAogICAgICAicmVmdXJsaXN0IjogX3ZtLnJlZnVybGlzdAogICAgfQogIH0pXSwgMSkgOiBfdm0uX2UoKSwgIV92bS5TdGFmZkJveEZsYWcgPyBfYygnc2VjdGlvbicsIHsKICAgIHN0YXRpY0NsYXNzOiAiQ29udGFpbmVyQm94RGV0YWlsIgogIH0sIFtfYygnU3RhZmZCb3hEZXRhaWwnLCB7CiAgICBhdHRyczogewogICAgICAic3RhZmZpbmZvIjogX3ZtLnN0YWZmaW5mbwogICAgfSwKICAgIG9uOiB7CiAgICAgICJyZWZ1cmxpc3RCYWNrIjogX3ZtLnJlZnVybGlzdEJhY2sKICAgIH0KICB9KV0sIDEpIDogX3ZtLl9lKCksIF9jKCdDb2x1bW5TZXQnLCB7CiAgICByZWY6ICJjb2x1bW5SZWYiLAogICAgYXR0cnM6IHsKICAgICAgInNob3dkaWFsb2dDb2x1bW5TZXQiOiBfdm0uc2hvd2RpYWxvZ0NvbHVtblNldCwKICAgICAgInR5cGVGbGFnIjogX3ZtLnR5cGVGbGFnCiAgICB9LAogICAgb246IHsKICAgICAgInVwZGF0ZTpzaG93ZGlhbG9nQ29sdW1uU2V0IjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIF92bS5zaG93ZGlhbG9nQ29sdW1uU2V0ID0gJGV2ZW50OwogICAgICB9LAogICAgICAidXBkYXRlOnNob3dkaWFsb2ctY29sdW1uLXNldCI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICBfdm0uc2hvd2RpYWxvZ0NvbHVtblNldCA9ICRldmVudDsKICAgICAgfSwKICAgICAgInJlZnVybGlzdCI6IF92bS5yZWZ1cmxpc3QKICAgIH0KICB9KV0sIDEpOwp9Owp2YXIgc3RhdGljUmVuZGVyRm5zID0gW107CmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH07"},null]}