{"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=329d11b1","dependencies":[{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/src/views/Employee/index.vue","mtime":1741330832432},{"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+d5a6J5ZGY77ya55S36LaF6L+HNjDlsoHvvIzlpbPotoXov4c1NeWyge+8m+mZleilvyDotoXpvoTkv53lronlkZg655S36LaF6L+HNjPlsoHvvIzlpbPotoXov4c1OOWyge+8jOWPr+mAmui/h+etm+mAiemhueOAkOiBjOS4muexu+Wei+OAkeOAgeOAkOW8gOWni+W5tOm+hOOAkei/m+ihjOafpeivouOAgicgOiAnJykpXSksIF9jKCdzcGFuJywgW192bS5fdihfdm0uX3MoX3ZtLmluc3RpdHV0aW9uYWxDb2RlRmxhZyA/ICc1LiDotoXmnJ/mnKrmjIHor4Hkv53lronlkZjvvJrlhaXogYzml6XmnJ/otoXov4cxNOWkqeacquWPluivgeS/neWuieWRmO+8jOWPr+mAmui/h+etm+mAiemhueOAkOiBjOS4muexu+Wei+OAkeOAgeOAkOaMgeivgeeKtuaAgeOAkeOAgeOAkOWFpeiBjOaXpeacn+OAkei/m+ihjOafpeivouOAgicgOiAnJykpXSldKV0pXSksIF9jKCdzZWN0aW9uJywgewogICAgc3RhdGljQ2xhc3M6ICJidXR0b25Cb3giCiAgfSwgW19jKCdlbC1yb3cnLCB7CiAgICBzdGF0aWNDbGFzczogInJvdy1iZyIsCiAgICBhdHRyczogewogICAgICAidHlwZSI6ICJmbGV4IiwKICAgICAgImp1c3RpZnkiOiAic3BhY2UtYmV0d2VlbiIKICAgIH0KICB9LCBbX2MoJ2VsLWNvbCcsIHsKICAgIGF0dHJzOiB7CiAgICAgICJzcGFuIjogMTIKICAgIH0KICB9LCBbX2MoJ2RpdicsIFtfYygnZWwtYnV0dG9uJywgewogICAgYXR0cnM6IHsKICAgICAgInR5cGUiOiAicHJpbWFyeSIKICAgIH0sCiAgICBvbjogewogICAgICAiY2xpY2siOiBfdm0uYWRkVXNlcgogICAgfQogIH0sIFtfdm0uX3YoIua3u+WKoCIgKyBfdm0uX3MoX3ZtLiRTdXBlcnZpc2VTdHIuZW1wbG95ZWUpKV0pLCBfYygnZWwtYnV0dG9uJywgewogICAgb246IHsKICAgICAgImNsaWNrIjogX3ZtLmltcG9ydEVtcGxveWVlCiAgICB9CiAgfSwgW192bS5fdigi5a+85YWlIiArIF92bS5fcyhfdm0uJFN1cGVydmlzZVN0ci5lbXBsb3llZSkpXSksIF9jKCdlbC1idXR0b24nLCB7CiAgICBvbjogewogICAgICAiY2xpY2siOiBfdm0uZXhwb3J0RW1wbG95ZWUKICAgIH0KICB9LCBbX3ZtLl92KCLlr7zlh7rlkZjlt6UiKV0pLCBfdm0uJFN1cGVydmlzZVN0ci5pc25vdFN1cGVydmlzZUJ1dHRvbiAmJiBfdm0uaW5zdGl0dXRpb25hbENvZGUgIT0gJzA2MDEnICYmICFfdm0uaW5zdGl0dXRpb25hbENvZGUuc3RhcnRzV2l0aCgnMDQnKSAmJiAhX3ZtLmluc3RpdHV0aW9uYWxDb2RlLnN0YXJ0c1dpdGgoJzA3JykgJiYgIV92bS5pbnN0aXR1dGlvbmFsQ29kZS5lbmRzV2l0aCgnMDcnKSAmJiAhX3ZtLmluc3RpdHV0aW9uYWxDb2RlLmVuZHNXaXRoKCcwOCcpICYmICFfdm0uaW5zdGl0dXRpb25hbENvZGUuZW5kc1dpdGgoJzA5JykgPyBfYygnZWwtYnV0dG9uJywgewogICAgb246IHsKICAgICAgImNsaWNrIjogX3ZtLmFkZFVzZXJJbgogICAgfQogIH0sIFtfdm0uX3YoIumCgOivt+WFpeiBjCIpXSkgOiBfdm0uX2UoKSwgX3ZtLiRTdXBlcnZpc2VTdHIuaXNub3RTdXBlcnZpc2VCdXR0b24gJiYgX3ZtLmhvbWVUZW1wbGF0ZUJvcmFkVHlwZSAhPSAncnRwYXlUZW1wbGF0ZScgJiYgX3ZtLmluc3RpdHV0aW9uYWxDb2RlICE9ICcwNjAxJyAmJiAhX3ZtLmluc3RpdHV0aW9uYWxDb2RlLnN0YXJ0c1dpdGgoJzA0JykgJiYgIV92bS5pbnN0aXR1dGlvbmFsQ29kZS5zdGFydHNXaXRoKCcwNycpICYmICFfdm0uaW5zdGl0dXRpb25hbENvZGUuZW5kc1dpdGgoJzA3JykgJiYgIV92bS5pbnN0aXR1dGlvbmFsQ29kZS5lbmRzV2l0aCgnMDgnKSAmJiAhX3ZtLmluc3RpdHV0aW9uYWxDb2RlLmVuZHNXaXRoKCcwOScpICYmICFfdm0uaW5zdGl0dXRpb25hbENvZGUuc3RhcnRzV2l0aCgnMDInKSA/IF9jKCdlbC1idXR0b24nLCB7CiAgICBvbjogewogICAgICAiY2xpY2siOiBfdm0uYWRkVXNlckR1dHkKICAgIH0KICB9LCBbX3ZtLl92KCLpgoDor7fpqbvli6QiKV0pIDogX3ZtLl9lKCldLCAxKV0pLCBfYygnZWwtY29sJywgewogICAgYXR0cnM6IHsKICAgICAgInNwYW4iOiAxMgogICAgfQogIH0sIFtfYygnZGl2JywgewogICAgc3RhdGljQ2xhc3M6ICJyaWdodEJveCIKICB9LCBbX2MoJ2VsLWlucHV0JywgewogICAgZGlyZWN0aXZlczogW3sKICAgICAgbmFtZTogInNob3ciLAogICAgICByYXdOYW1lOiAidi1zaG93IiwKICAgICAgdmFsdWU6ICFfdm0uSGlnaFNlYXJjaEZsYWcsCiAgICAgIGV4cHJlc3Npb246ICIhSGlnaFNlYXJjaEZsYWciCiAgICB9XSwKICAgIHN0YXRpY1N0eWxlOiB7CiAgICAgICJ3aWR0aCI6ICI0NSUiCiAgICB9LAogICAgYXR0cnM6IHsKICAgICAgInBsYWNlaG9sZGVyIjogIui+k+WFpeWnk+WQjS/otKblj7cv5omL5py65Y+3L+ivgeS7tuWPt+eggSIsCiAgICAgICJjbGVhcmFibGUiOiAiIgogICAgfSwKICAgIG9uOiB7CiAgICAgICJpbnB1dCI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICByZXR1cm4gX3ZtLmtleXdvcmRJbnB1dCgpOwogICAgICB9CiAgICB9LAogICAgbW9kZWw6IHsKICAgICAgdmFsdWU6IF92bS5wYXJhbXMua2V5d29yZCwKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAia2V5d29yZCIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMua2V5d29yZCIKICAgIH0KICB9KSwgIV92bS5IaWdoU2VhcmNoRmxhZyA/IF9jKCdlbC1idXR0b24nLCB7CiAgICBhdHRyczogewogICAgICAidHlwZSI6ICJwcmltYXJ5IgogICAgfSwKICAgIG9uOiB7CiAgICAgICJjbGljayI6IF92bS5zZWFyY2gKICAgIH0KICB9LCBbX3ZtLl92KCLmn6Xor6IiKV0pIDogX3ZtLl9lKCksIF9jKCdlbC1idXR0b24nLCB7CiAgICBvbjogewogICAgICAiY2xpY2siOiBfdm0uc3dpdGNoSGlnaAogICAgfQogIH0sIFtfdm0uX3YoIumrmOe6pyIpLCAhX3ZtLkhpZ2hTZWFyY2hGbGFnID8gX2MoJ2knLCB7CiAgICBzdGF0aWNDbGFzczogImVsLWljb24tYXJyb3ctZG93biIKICB9KSA6IF92bS5fZSgpLCBfdm0uSGlnaFNlYXJjaEZsYWcgPyBfYygnaScsIHsKICAgIHN0YXRpY0NsYXNzOiAiZWwtaWNvbi1hcnJvdy11cCIKICB9KSA6IF92bS5fZSgpXSksIF92bS5EYXRhQm9hcmRzaG93T2JqICYmIF92bS5pbnN0aXR1dGlvbmFsQ29kZSAhPSAnMDYwMScgJiYgIV92bS5pbnN0aXR1dGlvbmFsQ29kZS5zdGFydHNXaXRoKCcwNCcpID8gX2MoJ2VsLWJ1dHRvbicsIHsKICAgIG9uOiB7CiAgICAgICJjbGljayI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICBfdm0uSGlnaERhdGFGbGFnID0gIV92bS5IaWdoRGF0YUZsYWc7CiAgICAgICAgX3ZtLkRhdGFCb2FyZCgpOwogICAgICB9CiAgICB9CiAgfSwgW192bS5fdigi5pWw5o2u55yL5p2/IiksICFfdm0uSGlnaERhdGFGbGFnID8gX2MoJ2knLCB7CiAgICBzdGF0aWNDbGFzczogImVsLWljb24tYXJyb3ctZG93biIKICB9KSA6IF92bS5fZSgpLCBfdm0uSGlnaERhdGFGbGFnID8gX2MoJ2knLCB7CiAgICBzdGF0aWNDbGFzczogImVsLWljb24tYXJyb3ctdXAiCiAgfSkgOiBfdm0uX2UoKV0pIDogX3ZtLl9lKCldLCAxKV0pXSwgMSldLCAxKSwgX2MoJ3NlY3Rpb24nLCB7CiAgICBkaXJlY3RpdmVzOiBbewogICAgICBuYW1lOiAic2hvdyIsCiAgICAgIHJhd05hbWU6ICJ2LXNob3ciLAogICAgICB2YWx1ZTogX3ZtLkhpZ2hTZWFyY2hGbGFnLAogICAgICBleHByZXNzaW9uOiAiSGlnaFNlYXJjaEZsYWciCiAgICB9XSwKICAgIHN0YXRpY0NsYXNzOiAiSGlnaFNlYXJjaEJveCIKICB9LCBbX3ZtLmluc3RpdHV0aW9uYWxDb2RlID09ICcwNjAxJyA/IF9jKCdlbC1yb3cnLCBbX2MoJ2VsLWZvcm0nLCB7CiAgICByZWY6ICJydWxlRm9ybSIsCiAgICBhdHRyczogewogICAgICAiaW5saW5lIjogdHJ1ZSwKICAgICAgIm1vZGVsIjogX3ZtLnBhcmFtcywKICAgICAgImxhYmVsLXdpZHRoIjogIjEzMHB4IiwKICAgICAgImxhYmVsLXBvc2l0aW9uIjogInJpZ2h0IgogICAgfQogIH0sIFtfYygnZWwtZm9ybS1pdGVtJywgewogICAgYXR0cnM6IHsKICAgICAgImxhYmVsIjogIuWFs+mUruivje+8miIsCiAgICAgICJwcm9wIjogImtleXdvcmQiCiAgICB9CiAgfSwgW19jKCdlbC1pbnB1dCcsIHsKICAgIHN0YXRpY1N0eWxlOiB7CiAgICAgICJ3aWR0aCI6ICIxMDAlIgogICAgfSwKICAgIGF0dHJzOiB7CiAgICAgICJwbGFjZWhvbGRlciI6ICLlp5PlkI0v6LSm5Y+3L+aJi+acuuWPty/or4Hku7blj7fnoIEiLAogICAgICAiY2xlYXJhYmxlIjogIiIKICAgIH0sCiAgICBvbjogewogICAgICAiaW5wdXQiOiBfdm0uaW5wdXRrZXl3b3JrCiAgICB9LAogICAgbW9kZWw6IHsKICAgICAgdmFsdWU6IF92bS5wYXJhbXMua2V5d29yZCwKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAia2V5d29yZCIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMua2V5d29yZCIKICAgIH0KICB9KV0sIDEpLCBfYygnZWwtZm9ybS1pdGVtJywgewogICAgYXR0cnM6IHsKICAgICAgImxhYmVsIjogIuivgeS7tuexu+Wei++8miIsCiAgICAgICJwcm9wIjogImNyZWRlbnRpYWxUeXBlcyIKICAgIH0KICB9LCBbX2MoJ2VsLXNlbGVjdCcsIHsKICAgIHN0YXRpY1N0eWxlOiB7CiAgICAgICJ3aWR0aCI6ICIxMDAlIgogICAgfSwKICAgIGF0dHJzOiB7CiAgICAgICJtdWx0aXBsZSI6ICIiLAogICAgICAiY29sbGFwc2UtdGFncyI6ICIiLAogICAgICAicGxhY2Vob2xkZXIiOiAi6K+36YCJ5oupIgogICAgfSwKICAgIG9uOiB7CiAgICAgICJjaGFuZ2UiOiBfdm0uY2hhbmdlY3JlZGVudGlhbFR5cGVzCiAgICB9LAogICAgbW9kZWw6IHsKICAgICAgdmFsdWU6IF92bS5wYXJhbXMuY3JlZGVudGlhbFR5cGVzLAogICAgICBjYWxsYmFjazogZnVuY3Rpb24gKCQkdikgewogICAgICAgIF92bS4kc2V0KF92bS5wYXJhbXMsICJjcmVkZW50aWFsVHlwZXMiLCAkJHYpOwogICAgICB9LAogICAgICBleHByZXNzaW9uOiAicGFyYW1zLmNyZWRlbnRpYWxUeXBlcyIKICAgIH0KICB9LCBfdm0uX2woX3ZtLmNyZWRlbnRpYWxUeXBlc29wdGlvbnMsIGZ1bmN0aW9uIChpdGVtKSB7CiAgICByZXR1cm4gX2MoJ2VsLW9wdGlvbicsIHsKICAgICAga2V5OiBpdGVtLnZhbHVlLAogICAgICBhdHRyczogewogICAgICAgICJsYWJlbCI6IGl0ZW0ubGFiZWwsCiAgICAgICAgInZhbHVlIjogaXRlbS52YWx1ZQogICAgICB9CiAgICB9KTsKICB9KSwgMSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLor4Hku7bmoLjpqoznirbmgIHvvJoiLAogICAgICAicHJvcCI6ICJjaGVja2VkU3RhdHVzZXMiCiAgICB9CiAgfSwgW19jKCdlbC1zZWxlY3QnLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTAwJSIKICAgIH0sCiAgICBhdHRyczogewogICAgICAibXVsdGlwbGUiOiAiIiwKICAgICAgImNvbGxhcHNlLXRhZ3MiOiAiIiwKICAgICAgInBsYWNlaG9sZGVyIjogIuivt+mAieaLqSIKICAgIH0sCiAgICBvbjogewogICAgICAiY2hhbmdlIjogX3ZtLmNoYW5nZWNoZWNrZWRTdGF0dXNlcwogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLmNoZWNrZWRTdGF0dXNlcywKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAiY2hlY2tlZFN0YXR1c2VzIiwgJCR2KTsKICAgICAgfSwKICAgICAgZXhwcmVzc2lvbjogInBhcmFtcy5jaGVja2VkU3RhdHVzZXMiCiAgICB9CiAgfSwgX3ZtLl9sKF92bS5jaGVja2VkU3RhdHVzZXNvcHRpb25zLCBmdW5jdGlvbiAoaXRlbSkgewogICAgcmV0dXJuIF9jKCdlbC1vcHRpb24nLCB7CiAgICAgIGtleTogaXRlbS52YWx1ZSwKICAgICAgYXR0cnM6IHsKICAgICAgICAibGFiZWwiOiBpdGVtLmxhYmVsLAogICAgICAgICJ2YWx1ZSI6IGl0ZW0udmFsdWUKICAgICAgfQogICAgfSk7CiAgfSksIDEpXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBhdHRyczogewogICAgICAibGFiZWwiOiBfdm0uZGVwYXJ0bGFiZWwsCiAgICAgICJwcm9wIjogImRlcGFydElkcyIKICAgIH0KICB9LCBbX2MoJ3NlbGVjdFRyZWUnLCB7CiAgICByZWY6ICJzZWxlY3RUcmVlIiwKICAgIGF0dHJzOiB7CiAgICAgICJjdXJWYWx1ZSI6IF92bS5kZWZhdWxEYXRhLAogICAgICAiZGF0YSI6IF92bS50YWJsZURhdGEsCiAgICAgICJvYmoiOiB7CiAgICAgICAgaWQ6ICdpZCcsCiAgICAgICAgbGFiZWw6ICduYW1lJywKICAgICAgICBjaGlsZHJlbjogJ2NoaWxkcmVuJwogICAgICB9LAogICAgICAiY2hlY2tTdHJpY3RseSI6ICIiLAogICAgICAiY2xlYXJhYmxlIjogIiIsCiAgICAgICJmaWx0ZXJhYmxlIjogIiIsCiAgICAgICJtdWx0aXBsZSI6ICIiLAogICAgICAiY29sbGFwc2VUYWdzIjogIiIKICAgIH0sCiAgICBvbjogewogICAgICAiZ2V0VmFsdWUiOiBfdm0uY2hlY2tDaGFuZ2UKICAgIH0KICB9KV0sIDEpLCBfYygnZWwtZm9ybS1pdGVtJywgewogICAgYXR0cnM6IHsKICAgICAgImxhYmVsIjogIuWyl+S9je+8miIsCiAgICAgICJwcm9wIjogInBvc2l0aW9uIgogICAgfQogIH0sIFtfYygnZWwtc2VsZWN0JywgewogICAgc3RhdGljU3R5bGU6IHsKICAgICAgIndpZHRoIjogIjEwMCUiCiAgICB9LAogICAgYXR0cnM6IHsKICAgICAgInBsYWNlaG9sZGVyIjogIuivt+mAieaLqSIsCiAgICAgICJjbGVhcmFibGUiOiAiIgogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLnBvc2l0aW9uLAogICAgICBjYWxsYmFjazogZnVuY3Rpb24gKCQkdikgewogICAgICAgIF92bS4kc2V0KF92bS5wYXJhbXMsICJwb3NpdGlvbiIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMucG9zaXRpb24iCiAgICB9CiAgfSwgX3ZtLl9sKF92bS5wb3NpdGlvbkFyck9wdGlvbnMsIGZ1bmN0aW9uIChpdGVtLCBpbmRleCkgewogICAgcmV0dXJuIF9jKCdlbC1vcHRpb24nLCB7CiAgICAgIGtleTogaW5kZXgsCiAgICAgIGF0dHJzOiB7CiAgICAgICAgImxhYmVsIjogaXRlbS5sYWJlbCwKICAgICAgICAidmFsdWUiOiBpdGVtLnZhbHVlCiAgICAgIH0KICAgIH0pOwogIH0pLCAxKV0sIDEpLCBfYygnZWwtZm9ybS1pdGVtJywgewogICAgYXR0cnM6IHsKICAgICAgImxhYmVsIjogIuaAp+WIq++8miIsCiAgICAgICJwcm9wIjogInNleCIKICAgIH0KICB9LCBbX2MoJ2VsLXNlbGVjdCcsIHsKICAgIHN0YXRpY1N0eWxlOiB7CiAgICAgICJ3aWR0aCI6ICIxMDAlIgogICAgfSwKICAgIGF0dHJzOiB7CiAgICAgICJwbGFjZWhvbGRlciI6ICLor7fpgInmi6kiLAogICAgICAiY2xlYXJhYmxlIjogIiIKICAgIH0sCiAgICBvbjogewogICAgICAiY2hhbmdlIjogX3ZtLmNoYW5nZXNleAogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLnNleCwKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAic2V4IiwgJCR2KTsKICAgICAgfSwKICAgICAgZXhwcmVzc2lvbjogInBhcmFtcy5zZXgiCiAgICB9CiAgfSwgX3ZtLl9sKF92bS5zZXhBcnJPcHRpb25zLCBmdW5jdGlvbiAoaXRlbSwgaW5kZXgpIHsKICAgIHJldHVybiBfYygnZWwtb3B0aW9uJywgewogICAgICBrZXk6IGluZGV4LAogICAgICBhdHRyczogewogICAgICAgICJsYWJlbCI6IGl0ZW0ubGFiZWwsCiAgICAgICAgInZhbHVlIjogaXRlbS52YWx1ZQogICAgICB9CiAgICB9KTsKICB9KSwgMSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLlvIDlp4vlubTpvoTvvJoiLAogICAgICAicHJvcCI6ICJiZWdpbkFnZSIKICAgIH0KICB9LCBbX2MoJ2VsLWlucHV0LW51bWJlcicsIHsKICAgIHN0YXRpY1N0eWxlOiB7CiAgICAgICJ3aWR0aCI6ICIxNzVweCIKICAgIH0sCiAgICBhdHRyczogewogICAgICAiY29udHJvbHMiOiBmYWxzZSwKICAgICAgIm1pbiI6IDEsCiAgICAgICJtYXgiOiAxMDAsCiAgICAgICJwbGFjZWhvbGRlciI6ICLlvIDlp4vlubTpvoQiCiAgICB9LAogICAgb246IHsKICAgICAgImNoYW5nZSI6IF92bS5jaGFuZ2ViZWdpbkFnZQogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLmJlZ2luQWdlLAogICAgICBjYWxsYmFjazogZnVuY3Rpb24gKCQkdikgewogICAgICAgIF92bS4kc2V0KF92bS5wYXJhbXMsICJiZWdpbkFnZSIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMuYmVnaW5BZ2UiCiAgICB9CiAgfSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLnu5PmnZ/lubTpvoTvvJoiLAogICAgICAicHJvcCI6ICJlbmRBZ2UiCiAgICB9CiAgfSwgW19jKCdlbC1pbnB1dC1udW1iZXInLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTc1cHgiCiAgICB9LAogICAgYXR0cnM6IHsKICAgICAgImNvbnRyb2xzIjogZmFsc2UsCiAgICAgICJtaW4iOiAxLAogICAgICAibWF4IjogMTAwLAogICAgICAicGxhY2Vob2xkZXIiOiAi57uT5p2f5bm06b6EIgogICAgfSwKICAgIG9uOiB7CiAgICAgICJjaGFuZ2UiOiBfdm0uY2hhbmdlZW5kQWdlCiAgICB9LAogICAgbW9kZWw6IHsKICAgICAgdmFsdWU6IF92bS5wYXJhbXMuZW5kQWdlLAogICAgICBjYWxsYmFjazogZnVuY3Rpb24gKCQkdikgewogICAgICAgIF92bS4kc2V0KF92bS5wYXJhbXMsICJlbmRBZ2UiLCAkJHYpOwogICAgICB9LAogICAgICBleHByZXNzaW9uOiAicGFyYW1zLmVuZEFnZSIKICAgIH0KICB9KV0sIDEpLCBfYygnZWwtZm9ybS1pdGVtJywgewogICAgYXR0cnM6IHsKICAgICAgImxhYmVsIjogIuWFpeiBjOaXtumXtO+8miIsCiAgICAgICJwcm9wIjogInN0YXJ0RW5kRGF0ZSIKICAgIH0KICB9LCBbX2MoJ2VsLWRhdGUtcGlja2VyJywgewogICAgYXR0cnM6IHsKICAgICAgInR5cGUiOiAiZGF0ZXJhbmdlIiwKICAgICAgInZhbHVlLWZvcm1hdCI6ICJ5eXl5LU1NLWRkIiwKICAgICAgImZvcm1hdCI6ICJ5eXl5LU1NLWRkIiwKICAgICAgInJhbmdlLXNlcGFyYXRvciI6ICLoh7MiLAogICAgICAic3RhcnQtcGxhY2Vob2xkZXIiOiAi5byA5aeL5pel5pyfIiwKICAgICAgImVuZC1wbGFjZWhvbGRlciI6ICLnu5PmnZ/ml6XmnJ8iCiAgICB9LAogICAgb246IHsKICAgICAgImNoYW5nZSI6IF92bS5jaGFuZ2VzdGFydEVuZERhdGUKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5zdGFydEVuZERhdGUsCiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7CiAgICAgICAgX3ZtLiRzZXQoX3ZtLnBhcmFtcywgInN0YXJ0RW5kRGF0ZSIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMuc3RhcnRFbmREYXRlIgogICAgfQogIH0pXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCBbX2MoJ2VsLWJ1dHRvbicsIHsKICAgIGF0dHJzOiB7CiAgICAgICJ0eXBlIjogInByaW1hcnkiCiAgICB9LAogICAgb246IHsKICAgICAgImNsaWNrIjogX3ZtLmhpZ2hTZWFyY2hCdXR0b24KICAgIH0KICB9LCBbX3ZtLl92KCLmn6Xor6IiKV0pLCBfYygnZWwtYnV0dG9uJywgewogICAgb246IHsKICAgICAgImNsaWNrIjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIHJldHVybiBfdm0ucmVzZXRTZWFyY2hGb3JtKCk7CiAgICAgIH0KICAgIH0KICB9LCBbX3ZtLl92KCLph43nva4iKV0pXSwgMSldLCAxKV0sIDEpIDogX3ZtLmluc3RpdHV0aW9uYWxDb2RlLnN0YXJ0c1dpdGgoJzA0JykgfHwgX3ZtLmluc3RpdHV0aW9uYWxDb2RlLnN0YXJ0c1dpdGgoJzA3JykgPyBfYygnZWwtcm93JywgW19jKCdlbC1mb3JtJywgewogICAgcmVmOiAicnVsZUZvcm0iLAogICAgYXR0cnM6IHsKICAgICAgImlubGluZSI6IHRydWUsCiAgICAgICJtb2RlbCI6IF92bS5wYXJhbXMsCiAgICAgICJsYWJlbC13aWR0aCI6ICIxMzBweCIsCiAgICAgICJsYWJlbC1wb3NpdGlvbiI6ICJyaWdodCIKICAgIH0KICB9LCBbX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLlhbPplK7or43vvJoiLAogICAgICAicHJvcCI6ICJrZXl3b3JkIgogICAgfQogIH0sIFtfYygnZWwtaW5wdXQnLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTAwJSIKICAgIH0sCiAgICBhdHRyczogewogICAgICAicGxhY2Vob2xkZXIiOiAi5aeT5ZCNL+i0puWPty/miYvmnLrlj7cv6K+B5Lu25Y+356CBIiwKICAgICAgImNsZWFyYWJsZSI6ICIiCiAgICB9LAogICAgb246IHsKICAgICAgImlucHV0IjogX3ZtLmlucHV0a2V5d29yawogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLmtleXdvcmQsCiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7CiAgICAgICAgX3ZtLiRzZXQoX3ZtLnBhcmFtcywgImtleXdvcmQiLCAkJHYpOwogICAgICB9LAogICAgICBleHByZXNzaW9uOiAicGFyYW1zLmtleXdvcmQiCiAgICB9CiAgfSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLor4Hku7bnsbvlnovvvJoiLAogICAgICAicHJvcCI6ICJjcmVkZW50aWFsVHlwZXMiCiAgICB9CiAgfSwgW19jKCdlbC1zZWxlY3QnLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTAwJSIKICAgIH0sCiAgICBhdHRyczogewogICAgICAibXVsdGlwbGUiOiAiIiwKICAgICAgImNvbGxhcHNlLXRhZ3MiOiAiIiwKICAgICAgInBsYWNlaG9sZGVyIjogIuivt+mAieaLqSIKICAgIH0sCiAgICBvbjogewogICAgICAiY2hhbmdlIjogX3ZtLmNoYW5nZWNyZWRlbnRpYWxUeXBlcwogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLmNyZWRlbnRpYWxUeXBlcywKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAiY3JlZGVudGlhbFR5cGVzIiwgJCR2KTsKICAgICAgfSwKICAgICAgZXhwcmVzc2lvbjogInBhcmFtcy5jcmVkZW50aWFsVHlwZXMiCiAgICB9CiAgfSwgX3ZtLl9sKF92bS5jcmVkZW50aWFsVHlwZXNvcHRpb25zLCBmdW5jdGlvbiAoaXRlbSkgewogICAgcmV0dXJuIF9jKCdlbC1vcHRpb24nLCB7CiAgICAgIGtleTogaXRlbS52YWx1ZSwKICAgICAgYXR0cnM6IHsKICAgICAgICAibGFiZWwiOiBpdGVtLmxhYmVsLAogICAgICAgICJ2YWx1ZSI6IGl0ZW0udmFsdWUKICAgICAgfQogICAgfSk7CiAgfSksIDEpXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBhdHRyczogewogICAgICAibGFiZWwiOiAi6K+B5Lu25qC46aqM54q25oCB77yaIiwKICAgICAgInByb3AiOiAiY2hlY2tlZFN0YXR1c2VzIgogICAgfQogIH0sIFtfYygnZWwtc2VsZWN0JywgewogICAgc3RhdGljU3R5bGU6IHsKICAgICAgIndpZHRoIjogIjEwMCUiCiAgICB9LAogICAgYXR0cnM6IHsKICAgICAgIm11bHRpcGxlIjogIiIsCiAgICAgICJjb2xsYXBzZS10YWdzIjogIiIsCiAgICAgICJwbGFjZWhvbGRlciI6ICLor7fpgInmi6kiCiAgICB9LAogICAgb246IHsKICAgICAgImNoYW5nZSI6IF92bS5jaGFuZ2VjaGVja2VkU3RhdHVzZXMKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5jaGVja2VkU3RhdHVzZXMsCiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7CiAgICAgICAgX3ZtLiRzZXQoX3ZtLnBhcmFtcywgImNoZWNrZWRTdGF0dXNlcyIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMuY2hlY2tlZFN0YXR1c2VzIgogICAgfQogIH0sIF92bS5fbChfdm0uY2hlY2tlZFN0YXR1c2Vzb3B0aW9ucywgZnVuY3Rpb24gKGl0ZW0pIHsKICAgIHJldHVybiBfYygnZWwtb3B0aW9uJywgewogICAgICBrZXk6IGl0ZW0udmFsdWUsCiAgICAgIGF0dHJzOiB7CiAgICAgICAgImxhYmVsIjogaXRlbS5sYWJlbCwKICAgICAgICAidmFsdWUiOiBpdGVtLnZhbHVlCiAgICAgIH0KICAgIH0pOwogIH0pLCAxKV0sIDEpLCBfYygnZWwtZm9ybS1pdGVtJywgewogICAgYXR0cnM6IHsKICAgICAgImxhYmVsIjogX3ZtLmRlcGFydGxhYmVsLAogICAgICAicHJvcCI6ICJkZXBhcnRJZHMiCiAgICB9CiAgfSwgW19jKCdzZWxlY3RUcmVlJywgewogICAgcmVmOiAic2VsZWN0VHJlZSIsCiAgICBhdHRyczogewogICAgICAiY3VyVmFsdWUiOiBfdm0uZGVmYXVsRGF0YSwKICAgICAgImRhdGEiOiBfdm0udGFibGVEYXRhLAogICAgICAib2JqIjogewogICAgICAgIGlkOiAnaWQnLAogICAgICAgIGxhYmVsOiAnbmFtZScsCiAgICAgICAgY2hpbGRyZW46ICdjaGlsZHJlbicKICAgICAgfSwKICAgICAgImNoZWNrU3RyaWN0bHkiOiAiIiwKICAgICAgImNsZWFyYWJsZSI6ICIiLAogICAgICAiZmlsdGVyYWJsZSI6ICIiLAogICAgICAibXVsdGlwbGUiOiAiIiwKICAgICAgImNvbGxhcHNlVGFncyI6ICIiCiAgICB9LAogICAgb246IHsKICAgICAgImdldFZhbHVlIjogX3ZtLmNoZWNrQ2hhbmdlCiAgICB9CiAgfSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLmgKfliKvvvJoiLAogICAgICAicHJvcCI6ICJzZXgiCiAgICB9CiAgfSwgW19jKCdlbC1zZWxlY3QnLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTAwJSIKICAgIH0sCiAgICBhdHRyczogewogICAgICAicGxhY2Vob2xkZXIiOiAi6K+36YCJ5oupIiwKICAgICAgImNsZWFyYWJsZSI6ICIiCiAgICB9LAogICAgb246IHsKICAgICAgImNoYW5nZSI6IF92bS5jaGFuZ2VzZXgKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5zZXgsCiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7CiAgICAgICAgX3ZtLiRzZXQoX3ZtLnBhcmFtcywgInNleCIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMuc2V4IgogICAgfQogIH0sIF92bS5fbChfdm0uc2V4QXJyT3B0aW9ucywgZnVuY3Rpb24gKGl0ZW0sIGluZGV4KSB7CiAgICByZXR1cm4gX2MoJ2VsLW9wdGlvbicsIHsKICAgICAga2V5OiBpbmRleCwKICAgICAgYXR0cnM6IHsKICAgICAgICAibGFiZWwiOiBpdGVtLmxhYmVsLAogICAgICAgICJ2YWx1ZSI6IGl0ZW0udmFsdWUKICAgICAgfQogICAgfSk7CiAgfSksIDEpXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBhdHRyczogewogICAgICAibGFiZWwiOiAi5byA5aeL5bm06b6E77yaIiwKICAgICAgInByb3AiOiAiYmVnaW5BZ2UiCiAgICB9CiAgfSwgW19jKCdlbC1pbnB1dC1udW1iZXInLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTc1cHgiCiAgICB9LAogICAgYXR0cnM6IHsKICAgICAgImNvbnRyb2xzIjogZmFsc2UsCiAgICAgICJtaW4iOiAxLAogICAgICAibWF4IjogMTAwLAogICAgICAicGxhY2Vob2xkZXIiOiAi5byA5aeL5bm06b6EIgogICAgfSwKICAgIG9uOiB7CiAgICAgICJjaGFuZ2UiOiBfdm0uY2hhbmdlYmVnaW5BZ2UKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5iZWdpbkFnZSwKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAiYmVnaW5BZ2UiLCAkJHYpOwogICAgICB9LAogICAgICBleHByZXNzaW9uOiAicGFyYW1zLmJlZ2luQWdlIgogICAgfQogIH0pXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBhdHRyczogewogICAgICAibGFiZWwiOiAi57uT5p2f5bm06b6E77yaIiwKICAgICAgInByb3AiOiAiZW5kQWdlIgogICAgfQogIH0sIFtfYygnZWwtaW5wdXQtbnVtYmVyJywgewogICAgc3RhdGljU3R5bGU6IHsKICAgICAgIndpZHRoIjogIjE3NXB4IgogICAgfSwKICAgIGF0dHJzOiB7CiAgICAgICJjb250cm9scyI6IGZhbHNlLAogICAgICAibWluIjogMSwKICAgICAgIm1heCI6IDEwMCwKICAgICAgInBsYWNlaG9sZGVyIjogIue7k+adn+W5tOm+hCIKICAgIH0sCiAgICBvbjogewogICAgICAiY2hhbmdlIjogX3ZtLmNoYW5nZWVuZEFnZQogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLmVuZEFnZSwKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAiZW5kQWdlIiwgJCR2KTsKICAgICAgfSwKICAgICAgZXhwcmVzc2lvbjogInBhcmFtcy5lbmRBZ2UiCiAgICB9CiAgfSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLlhaXogYzml7bpl7TvvJoiLAogICAgICAicHJvcCI6ICJzdGFydEVuZERhdGUiCiAgICB9CiAgfSwgW19jKCdlbC1kYXRlLXBpY2tlcicsIHsKICAgIGF0dHJzOiB7CiAgICAgICJ0eXBlIjogImRhdGVyYW5nZSIsCiAgICAgICJ2YWx1ZS1mb3JtYXQiOiAieXl5eS1NTS1kZCIsCiAgICAgICJmb3JtYXQiOiAieXl5eS1NTS1kZCIsCiAgICAgICJyYW5nZS1zZXBhcmF0b3IiOiAi6IezIiwKICAgICAgInN0YXJ0LXBsYWNlaG9sZGVyIjogIuW8gOWni+aXpeacnyIsCiAgICAgICJlbmQtcGxhY2Vob2xkZXIiOiAi57uT5p2f5pel5pyfIgogICAgfSwKICAgIG9uOiB7CiAgICAgICJjaGFuZ2UiOiBfdm0uY2hhbmdlc3RhcnRFbmREYXRlCiAgICB9LAogICAgbW9kZWw6IHsKICAgICAgdmFsdWU6IF92bS5wYXJhbXMuc3RhcnRFbmREYXRlLAogICAgICBjYWxsYmFjazogZnVuY3Rpb24gKCQkdikgewogICAgICAgIF92bS4kc2V0KF92bS5wYXJhbXMsICJzdGFydEVuZERhdGUiLCAkJHYpOwogICAgICB9LAogICAgICBleHByZXNzaW9uOiAicGFyYW1zLnN0YXJ0RW5kRGF0ZSIKICAgIH0KICB9KV0sIDEpLCBfYygnZWwtZm9ybS1pdGVtJywgW19jKCdlbC1idXR0b24nLCB7CiAgICBhdHRyczogewogICAgICAidHlwZSI6ICJwcmltYXJ5IgogICAgfSwKICAgIG9uOiB7CiAgICAgICJjbGljayI6IF92bS5oaWdoU2VhcmNoQnV0dG9uCiAgICB9CiAgfSwgW192bS5fdigi5p+l6K+iIildKSwgX2MoJ2VsLWJ1dHRvbicsIHsKICAgIG9uOiB7CiAgICAgICJjbGljayI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICByZXR1cm4gX3ZtLnJlc2V0U2VhcmNoRm9ybSgpOwogICAgICB9CiAgICB9CiAgfSwgW192bS5fdigi6YeN572uIildKV0sIDEpXSwgMSldLCAxKSA6IF92bS5pbnN0aXR1dGlvbmFsQ29kZS5lbmRzV2l0aCgnMDcnKSB8fCBfdm0uaW5zdGl0dXRpb25hbENvZGUuZW5kc1dpdGgoJzA4JykgfHwgX3ZtLmluc3RpdHV0aW9uYWxDb2RlLmVuZHNXaXRoKCcwOScpID8gX2MoJ2VsLXJvdycsIFtfYygnZWwtZm9ybScsIHsKICAgIHJlZjogInJ1bGVGb3JtIiwKICAgIGF0dHJzOiB7CiAgICAgICJpbmxpbmUiOiB0cnVlLAogICAgICAibW9kZWwiOiBfdm0ucGFyYW1zLAogICAgICAibGFiZWwtd2lkdGgiOiAiMTMwcHgiLAogICAgICAibGFiZWwtcG9zaXRpb24iOiAicmlnaHQiCiAgICB9CiAgfSwgW19jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBhdHRyczogewogICAgICAibGFiZWwiOiAi5YWz6ZSu6K+N77yaIiwKICAgICAgInByb3AiOiAia2V5d29yZCIKICAgIH0KICB9LCBbX2MoJ2VsLWlucHV0JywgewogICAgc3RhdGljU3R5bGU6IHsKICAgICAgIndpZHRoIjogIjEwMCUiCiAgICB9LAogICAgYXR0cnM6IHsKICAgICAgInBsYWNlaG9sZGVyIjogIuWnk+WQjS/otKblj7cv5omL5py65Y+3L+ivgeS7tuWPt+eggSIsCiAgICAgICJjbGVhcmFibGUiOiAiIgogICAgfSwKICAgIG9uOiB7CiAgICAgICJpbnB1dCI6IF92bS5pbnB1dGtleXdvcmsKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5rZXl3b3JkLAogICAgICBjYWxsYmFjazogZnVuY3Rpb24gKCQkdikgewogICAgICAgIF92bS4kc2V0KF92bS5wYXJhbXMsICJrZXl3b3JkIiwgJCR2KTsKICAgICAgfSwKICAgICAgZXhwcmVzc2lvbjogInBhcmFtcy5rZXl3b3JkIgogICAgfQogIH0pXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBhdHRyczogewogICAgICAibGFiZWwiOiBfdm0uZGVwYXJ0bGFiZWwsCiAgICAgICJwcm9wIjogImRlcGFydElkcyIKICAgIH0KICB9LCBbX2MoJ3NlbGVjdFRyZWUnLCB7CiAgICByZWY6ICJzZWxlY3RUcmVlIiwKICAgIGF0dHJzOiB7CiAgICAgICJjdXJWYWx1ZSI6IF92bS5kZWZhdWxEYXRhLAogICAgICAiZGF0YSI6IF92bS50YWJsZURhdGEsCiAgICAgICJvYmoiOiB7CiAgICAgICAgaWQ6ICdpZCcsCiAgICAgICAgbGFiZWw6ICduYW1lJywKICAgICAgICBjaGlsZHJlbjogJ2NoaWxkcmVuJwogICAgICB9LAogICAgICAiY2hlY2tTdHJpY3RseSI6ICIiLAogICAgICAiY2xlYXJhYmxlIjogIiIsCiAgICAgICJmaWx0ZXJhYmxlIjogIiIsCiAgICAgICJtdWx0aXBsZSI6ICIiLAogICAgICAiY29sbGFwc2VUYWdzIjogIiIKICAgIH0sCiAgICBvbjogewogICAgICAiZ2V0VmFsdWUiOiBfdm0uY2hlY2tDaGFuZ2UKICAgIH0KICB9KV0sIDEpLCBfYygnZWwtZm9ybS1pdGVtJywgW19jKCdlbC1idXR0b24nLCB7CiAgICBhdHRyczogewogICAgICAidHlwZSI6ICJwcmltYXJ5IgogICAgfSwKICAgIG9uOiB7CiAgICAgICJjbGljayI6IF92bS5oaWdoU2VhcmNoQnV0dG9uCiAgICB9CiAgfSwgW192bS5fdigi5p+l6K+iIildKSwgX2MoJ2VsLWJ1dHRvbicsIHsKICAgIG9uOiB7CiAgICAgICJjbGljayI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICByZXR1cm4gX3ZtLnJlc2V0U2VhcmNoRm9ybSgpOwogICAgICB9CiAgICB9CiAgfSwgW192bS5fdigi6YeN572uIildKV0sIDEpXSwgMSldLCAxKSA6IF9jKCdlbC1yb3cnLCBbX2MoJ2VsLWZvcm0nLCB7CiAgICByZWY6ICJydWxlRm9ybSIsCiAgICBhdHRyczogewogICAgICAiaW5saW5lIjogdHJ1ZSwKICAgICAgIm1vZGVsIjogX3ZtLnBhcmFtcywKICAgICAgImxhYmVsLXdpZHRoIjogIjEzMHB4IiwKICAgICAgImxhYmVsLXBvc2l0aW9uIjogInJpZ2h0IgogICAgfQogIH0sIFtfYygnZWwtZm9ybS1pdGVtJywgewogICAgYXR0cnM6IHsKICAgICAgImxhYmVsIjogIuWFs+mUruivje+8miIsCiAgICAgICJwcm9wIjogImtleXdvcmQiCiAgICB9CiAgfSwgW19jKCdlbC1pbnB1dCcsIHsKICAgIHN0YXRpY1N0eWxlOiB7CiAgICAgICJ3aWR0aCI6ICIxMDAlIgogICAgfSwKICAgIGF0dHJzOiB7CiAgICAgICJwbGFjZWhvbGRlciI6ICLlp5PlkI0v6LSm5Y+3L+aJi+acuuWPty/or4Hku7blj7fnoIEiLAogICAgICAiY2xlYXJhYmxlIjogIiIKICAgIH0sCiAgICBvbjogewogICAgICAiaW5wdXQiOiBfdm0uaW5wdXRrZXl3b3JrCiAgICB9LAogICAgbW9kZWw6IHsKICAgICAgdmFsdWU6IF92bS5wYXJhbXMua2V5d29yZCwKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAia2V5d29yZCIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMua2V5d29yZCIKICAgIH0KICB9KV0sIDEpLCBfYygnZWwtZm9ybS1pdGVtJywgewogICAgYXR0cnM6IHsKICAgICAgImxhYmVsIjogIuivgeS7tuexu+Wei++8miIsCiAgICAgICJwcm9wIjogImNyZWRlbnRpYWxUeXBlcyIKICAgIH0KICB9LCBbX2MoJ2VsLXNlbGVjdCcsIHsKICAgIHN0YXRpY1N0eWxlOiB7CiAgICAgICJ3aWR0aCI6ICIxMDAlIgogICAgfSwKICAgIGF0dHJzOiB7CiAgICAgICJtdWx0aXBsZSI6ICIiLAogICAgICAiY29sbGFwc2UtdGFncyI6ICIiLAogICAgICAicGxhY2Vob2xkZXIiOiAi6K+36YCJ5oupIgogICAgfSwKICAgIG9uOiB7CiAgICAgICJjaGFuZ2UiOiBfdm0uY2hhbmdlY3JlZGVudGlhbFR5cGVzCiAgICB9LAogICAgbW9kZWw6IHsKICAgICAgdmFsdWU6IF92bS5wYXJhbXMuY3JlZGVudGlhbFR5cGVzLAogICAgICBjYWxsYmFjazogZnVuY3Rpb24gKCQkdikgewogICAgICAgIF92bS4kc2V0KF92bS5wYXJhbXMsICJjcmVkZW50aWFsVHlwZXMiLCAkJHYpOwogICAgICB9LAogICAgICBleHByZXNzaW9uOiAicGFyYW1zLmNyZWRlbnRpYWxUeXBlcyIKICAgIH0KICB9LCBfdm0uX2woX3ZtLmNyZWRlbnRpYWxUeXBlc29wdGlvbnMsIGZ1bmN0aW9uIChpdGVtKSB7CiAgICByZXR1cm4gX2MoJ2VsLW9wdGlvbicsIHsKICAgICAga2V5OiBpdGVtLnZhbHVlLAogICAgICBhdHRyczogewogICAgICAgICJsYWJlbCI6IGl0ZW0ubGFiZWwsCiAgICAgICAgInZhbHVlIjogaXRlbS52YWx1ZQogICAgICB9CiAgICB9KTsKICB9KSwgMSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLogYzkuJrnsbvlnovvvJoiLAogICAgICAicHJvcCI6ICJvY2N1cGF0aW9uVHlwZXMiCiAgICB9CiAgfSwgW19jKCdlbC1zZWxlY3QnLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTAwJSIKICAgIH0sCiAgICBhdHRyczogewogICAgICAibXVsdGlwbGUiOiAiIiwKICAgICAgImNvbGxhcHNlLXRhZ3MiOiAiIiwKICAgICAgInBsYWNlaG9sZGVyIjogIuivt+mAieaLqSIKICAgIH0sCiAgICBvbjogewogICAgICAiY2hhbmdlIjogX3ZtLmNoYW5nZW9jY3VwYXRpb25UeXBlcwogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLm9jY3VwYXRpb25UeXBlcywKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAib2NjdXBhdGlvblR5cGVzIiwgJCR2KTsKICAgICAgfSwKICAgICAgZXhwcmVzc2lvbjogInBhcmFtcy5vY2N1cGF0aW9uVHlwZXMiCiAgICB9CiAgfSwgX3ZtLl9sKF92bS5vY2N1cGF0aW9uVHlwZUFyciwgZnVuY3Rpb24gKGl0ZW0sIGluZGV4KSB7CiAgICByZXR1cm4gX2MoJ2VsLW9wdGlvbicsIHsKICAgICAga2V5OiBpbmRleCwKICAgICAgYXR0cnM6IHsKICAgICAgICAibGFiZWwiOiBpdGVtLmxhYmVsLAogICAgICAgICJ2YWx1ZSI6IGl0ZW0udmFsdWUKICAgICAgfQogICAgfSk7CiAgfSksIDEpXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBkaXJlY3RpdmVzOiBbewogICAgICBuYW1lOiAic2hvdyIsCiAgICAgIHJhd05hbWU6ICJ2LXNob3ciLAogICAgICB2YWx1ZTogX3ZtLmxpc3RzaG93T2JqLmF1dGhlbnRpY2F0ZWRTdGF0dXNlcyAmJiAhX3ZtLmluc3RpdHV0aW9uYWxDb2RlLnN0YXJ0c1dpdGgoJzAyJyksCiAgICAgIGV4cHJlc3Npb246ICJsaXN0c2hvd09iai5hdXRoZW50aWNhdGVkU3RhdHVzZXMgJiYgIWluc3RpdHV0aW9uYWxDb2RlLnN0YXJ0c1dpdGgoJzAyJykiCiAgICB9XSwKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLlrp7lkI3orqTor4HnirbmgIHvvJoiLAogICAgICAicHJvcCI6ICJhdXRoZW50aWNhdGVkU3RhdHVzZXMiCiAgICB9CiAgfSwgW19jKCdlbC1zZWxlY3QnLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTAwJSIKICAgIH0sCiAgICBhdHRyczogewogICAgICAibXVsdGlwbGUiOiAiIiwKICAgICAgImNvbGxhcHNlLXRhZ3MiOiAiIiwKICAgICAgInBsYWNlaG9sZGVyIjogIuivt+mAieaLqSIKICAgIH0sCiAgICBvbjogewogICAgICAiY2hhbmdlIjogX3ZtLmNoYW5nZWF1dGhlbnRpY2F0ZWRTdGF0dXNlcwogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLmF1dGhlbnRpY2F0ZWRTdGF0dXNlcywKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAiYXV0aGVudGljYXRlZFN0YXR1c2VzIiwgJCR2KTsKICAgICAgfSwKICAgICAgZXhwcmVzc2lvbjogInBhcmFtcy5hdXRoZW50aWNhdGVkU3RhdHVzZXMiCiAgICB9CiAgfSwgX3ZtLl9sKF92bS5hdXRoZW50aWNhdGVkU3RhdHVzZXNvcHRpb25zLCBmdW5jdGlvbiAoaXRlbSkgewogICAgcmV0dXJuIF9jKCdlbC1vcHRpb24nLCB7CiAgICAgIGtleTogaXRlbS52YWx1ZSwKICAgICAgYXR0cnM6IHsKICAgICAgICAibGFiZWwiOiBpdGVtLmxhYmVsLAogICAgICAgICJ2YWx1ZSI6IGl0ZW0udmFsdWUKICAgICAgfQogICAgfSk7CiAgfSksIDEpXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBkaXJlY3RpdmVzOiBbewogICAgICBuYW1lOiAic2hvdyIsCiAgICAgIHJhd05hbWU6ICJ2LXNob3ciLAogICAgICB2YWx1ZTogX3ZtLmxpc3RzaG93T2JqLmNoZWNrZWRTdGF0dXNlcywKICAgICAgZXhwcmVzc2lvbjogImxpc3RzaG93T2JqLmNoZWNrZWRTdGF0dXNlcyIKICAgIH1dLAogICAgYXR0cnM6IHsKICAgICAgImxhYmVsIjogIuivgeS7tuaguOmqjOeKtuaAge+8miIsCiAgICAgICJwcm9wIjogImNoZWNrZWRTdGF0dXNlcyIKICAgIH0KICB9LCBbX2MoJ2VsLXNlbGVjdCcsIHsKICAgIHN0YXRpY1N0eWxlOiB7CiAgICAgICJ3aWR0aCI6ICIxMDAlIgogICAgfSwKICAgIGF0dHJzOiB7CiAgICAgICJtdWx0aXBsZSI6ICIiLAogICAgICAiY29sbGFwc2UtdGFncyI6ICIiLAogICAgICAicGxhY2Vob2xkZXIiOiAi6K+36YCJ5oupIgogICAgfSwKICAgIG9uOiB7CiAgICAgICJjaGFuZ2UiOiBfdm0uY2hhbmdlY2hlY2tlZFN0YXR1c2VzCiAgICB9LAogICAgbW9kZWw6IHsKICAgICAgdmFsdWU6IF92bS5wYXJhbXMuY2hlY2tlZFN0YXR1c2VzLAogICAgICBjYWxsYmFjazogZnVuY3Rpb24gKCQkdikgewogICAgICAgIF92bS4kc2V0KF92bS5wYXJhbXMsICJjaGVja2VkU3RhdHVzZXMiLCAkJHYpOwogICAgICB9LAogICAgICBleHByZXNzaW9uOiAicGFyYW1zLmNoZWNrZWRTdGF0dXNlcyIKICAgIH0KICB9LCBfdm0uX2woX3ZtLmNoZWNrZWRTdGF0dXNlc29wdGlvbnMsIGZ1bmN0aW9uIChpdGVtKSB7CiAgICByZXR1cm4gX2MoJ2VsLW9wdGlvbicsIHsKICAgICAga2V5OiBpdGVtLnZhbHVlLAogICAgICBhdHRyczogewogICAgICAgICJsYWJlbCI6IGl0ZW0ubGFiZWwsCiAgICAgICAgInZhbHVlIjogaXRlbS52YWx1ZQogICAgICB9CiAgICB9KTsKICB9KSwgMSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGRpcmVjdGl2ZXM6IFt7CiAgICAgIG5hbWU6ICJzaG93IiwKICAgICAgcmF3TmFtZTogInYtc2hvdyIsCiAgICAgIHZhbHVlOiBfdm0ubGlzdHNob3dPYmouY2VyU3RhdHVzICYmICFfdm0uaW5zdGl0dXRpb25hbENvZGUuc3RhcnRzV2l0aCgnMDInKSwKICAgICAgZXhwcmVzc2lvbjogImxpc3RzaG93T2JqLmNlclN0YXR1cyYmIWluc3RpdHV0aW9uYWxDb2RlLnN0YXJ0c1dpdGgoJzAyJykiCiAgICB9XSwKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6ICLmjIHotYTmoLzor4HvvJoiLAogICAgICAicHJvcCI6ICJjZXJTdGF0dXMiCiAgICB9CiAgfSwgW19jKCdlbC1zZWxlY3QnLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTAwJSIKICAgIH0sCiAgICBhdHRyczogewogICAgICAiY29sbGFwc2UtdGFncyI6ICIiLAogICAgICAicGxhY2Vob2xkZXIiOiAi6K+36YCJ5oupIiwKICAgICAgImNsZWFyYWJsZSI6ICIiCiAgICB9LAogICAgb246IHsKICAgICAgImNoYW5nZSI6IF92bS5jaGFuZ2VjZXJTdGF0dXMKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5jZXJTdGF0dXMsCiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7CiAgICAgICAgX3ZtLiRzZXQoX3ZtLnBhcmFtcywgImNlclN0YXR1cyIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMuY2VyU3RhdHVzIgogICAgfQogIH0sIF92bS5fbChfdm0uY2VyU3RhdHVzQXJyLCBmdW5jdGlvbiAoaXRlbSwgaW5kZXgpIHsKICAgIHJldHVybiBfYygnZWwtb3B0aW9uJywgewogICAgICBrZXk6IGluZGV4LAogICAgICBhdHRyczogewogICAgICAgICJsYWJlbCI6IGl0ZW0ubGFiZWwsCiAgICAgICAgInZhbHVlIjogaXRlbS52YWx1ZQogICAgICB9CiAgICB9KTsKICB9KSwgMSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGRpcmVjdGl2ZXM6IFt7CiAgICAgIG5hbWU6ICJzaG93IiwKICAgICAgcmF3TmFtZTogInYtc2hvdyIsCiAgICAgIHZhbHVlOiBfdm0ubGlzdHNob3dPYmouY29udHJhY3RTdGF0dXMgJiYgIV92bS5pbnN0aXR1dGlvbmFsQ29kZS5zdGFydHNXaXRoKCcwMicpLAogICAgICBleHByZXNzaW9uOiAibGlzdHNob3dPYmouY29udHJhY3RTdGF0dXMmJiFpbnN0aXR1dGlvbmFsQ29kZS5zdGFydHNXaXRoKCcwMicpIgogICAgfV0sCiAgICBhdHRyczogewogICAgICAibGFiZWwiOiAi562+6K6i5ZCI5ZCM77yaIiwKICAgICAgInByb3AiOiAiY29udHJhY3RTdGF0dXMiCiAgICB9CiAgfSwgW19jKCdlbC1zZWxlY3QnLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTAwJSIKICAgIH0sCiAgICBhdHRyczogewogICAgICAiY29sbGFwc2UtdGFncyI6ICIiLAogICAgICAicGxhY2Vob2xkZXIiOiAi6K+36YCJ5oupIiwKICAgICAgImNsZWFyYWJsZSI6ICIiCiAgICB9LAogICAgb246IHsKICAgICAgImNoYW5nZSI6IF92bS5jaGFuZ2Vjb250cmFjdFN0YXR1cwogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLmNvbnRyYWN0U3RhdHVzLAogICAgICBjYWxsYmFjazogZnVuY3Rpb24gKCQkdikgewogICAgICAgIF92bS4kc2V0KF92bS5wYXJhbXMsICJjb250cmFjdFN0YXR1cyIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMuY29udHJhY3RTdGF0dXMiCiAgICB9CiAgfSwgX3ZtLl9sKF92bS5jb250cmFjdFN0YXR1c0FyciwgZnVuY3Rpb24gKGl0ZW0sIGluZGV4KSB7CiAgICByZXR1cm4gX2MoJ2VsLW9wdGlvbicsIHsKICAgICAga2V5OiBpbmRleCwKICAgICAgYXR0cnM6IHsKICAgICAgICAibGFiZWwiOiBpdGVtLmxhYmVsLAogICAgICAgICJ2YWx1ZSI6IGl0ZW0udmFsdWUKICAgICAgfQogICAgfSk7CiAgfSksIDEpXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBhdHRyczogewogICAgICAibGFiZWwiOiAi5YWl6IGM5pel5pyf77yaIiwKICAgICAgInByb3AiOiAiaGlyZWREYXRlIgogICAgfQogIH0sIFtfYygnZWwtZGF0ZS1waWNrZXInLCB7CiAgICBzdGF0aWNTdHlsZTogewogICAgICAid2lkdGgiOiAiMTc1cHgiCiAgICB9LAogICAgYXR0cnM6IHsKICAgICAgInR5cGUiOiAiZGF0ZSIsCiAgICAgICJmb3JtYXQiOiAieXl5eS1NTS1kZCIsCiAgICAgICJ2YWx1ZS1mb3JtYXQiOiAieXl5eS1NTS1kZCIsCiAgICAgICJwbGFjZWhvbGRlciI6ICLpgInmi6nml6XmnJ8iCiAgICB9LAogICAgb246IHsKICAgICAgImlucHV0IjogX3ZtLmNoYW5nZUhpcmVkRGF0ZQogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLmhpcmVkRGF0ZSwKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAiaGlyZWREYXRlIiwgJCR2KTsKICAgICAgfSwKICAgICAgZXhwcmVzc2lvbjogInBhcmFtcy5oaXJlZERhdGUiCiAgICB9CiAgfSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIHsKICAgIGF0dHJzOiB7CiAgICAgICJsYWJlbCI6IF92bS5kZXBhcnRsYWJlbCwKICAgICAgInByb3AiOiAiZGVwYXJ0SWRzIgogICAgfQogIH0sIFtfYygnc2VsZWN0VHJlZScsIHsKICAgIHJlZjogInNlbGVjdFRyZWUiLAogICAgYXR0cnM6IHsKICAgICAgImN1clZhbHVlIjogX3ZtLmRlZmF1bERhdGEsCiAgICAgICJkYXRhIjogX3ZtLnRhYmxlRGF0YSwKICAgICAgIm9iaiI6IHsKICAgICAgICBpZDogJ2lkJywKICAgICAgICBsYWJlbDogJ25hbWUnLAogICAgICAgIGNoaWxkcmVuOiAnY2hpbGRyZW4nCiAgICAgIH0sCiAgICAgICJjaGVja1N0cmljdGx5IjogIiIsCiAgICAgICJjbGVhcmFibGUiOiAiIiwKICAgICAgImZpbHRlcmFibGUiOiAiIiwKICAgICAgIm11bHRpcGxlIjogIiIsCiAgICAgICJjb2xsYXBzZVRhZ3MiOiAiIgogICAgfSwKICAgIG9uOiB7CiAgICAgICJnZXRWYWx1ZSI6IF92bS5jaGVja0NoYW5nZQogICAgfQogIH0pXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBkaXJlY3RpdmVzOiBbewogICAgICBuYW1lOiAic2hvdyIsCiAgICAgIHJhd05hbWU6ICJ2LXNob3ciLAogICAgICB2YWx1ZTogX3ZtLmxpc3RzaG93T2JqLmxldmVsICYmICFfdm0uaW5zdGl0dXRpb25hbENvZGUuc3RhcnRzV2l0aCgnMDInKSwKICAgICAgZXhwcmVzc2lvbjogImxpc3RzaG93T2JqLmxldmVsJiYhaW5zdGl0dXRpb25hbENvZGUuc3RhcnRzV2l0aCgnMDInKSIKICAgIH1dLAogICAgYXR0cnM6IHsKICAgICAgImxhYmVsIjogIuS/neWuieiBjOS4muaKgOiDveetiee6p++8miIsCiAgICAgICJwcm9wIjogImxldmVsIgogICAgfQogIH0sIFtfYygnZWwtc2VsZWN0JywgewogICAgc3RhdGljU3R5bGU6IHsKICAgICAgIndpZHRoIjogIjEwMCUiCiAgICB9LAogICAgYXR0cnM6IHsKICAgICAgIm11bHRpcGxlIjogIiIsCiAgICAgICJjb2xsYXBzZS10YWdzIjogIiIsCiAgICAgICJwbGFjZWhvbGRlciI6ICLor7fpgInmi6kiCiAgICB9LAogICAgb246IHsKICAgICAgImNoYW5nZSI6IF92bS5jaGFuZ2VsZXZlbAogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLmxldmVsLAogICAgICBjYWxsYmFjazogZnVuY3Rpb24gKCQkdikgewogICAgICAgIF92bS4kc2V0KF92bS5wYXJhbXMsICJsZXZlbCIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMubGV2ZWwiCiAgICB9CiAgfSwgX3ZtLl9sKF92bS5sZXZlbEFyciwgZnVuY3Rpb24gKGl0ZW0sIGluZGV4KSB7CiAgICByZXR1cm4gX2MoJ2VsLW9wdGlvbicsIHsKICAgICAga2V5OiBpbmRleCwKICAgICAgYXR0cnM6IHsKICAgICAgICAibGFiZWwiOiBpdGVtLmxhYmVsLAogICAgICAgICJ2YWx1ZSI6IGl0ZW0udmFsdWUKICAgICAgfQogICAgfSk7CiAgfSksIDEpXSwgMSksIF9jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBhdHRyczogewogICAgICAibGFiZWwiOiAi5oCn5Yir77yaIiwKICAgICAgInByb3AiOiAic2V4IgogICAgfQogIH0sIFtfYygnZWwtc2VsZWN0JywgewogICAgc3RhdGljU3R5bGU6IHsKICAgICAgIndpZHRoIjogIjEwMCUiCiAgICB9LAogICAgYXR0cnM6IHsKICAgICAgInBsYWNlaG9sZGVyIjogIuivt+mAieaLqSIsCiAgICAgICJjbGVhcmFibGUiOiAiIgogICAgfSwKICAgIG9uOiB7CiAgICAgICJjaGFuZ2UiOiBfdm0uY2hhbmdlc2V4CiAgICB9LAogICAgbW9kZWw6IHsKICAgICAgdmFsdWU6IF92bS5wYXJhbXMuc2V4LAogICAgICBjYWxsYmFjazogZnVuY3Rpb24gKCQkdikgewogICAgICAgIF92bS4kc2V0KF92bS5wYXJhbXMsICJzZXgiLCAkJHYpOwogICAgICB9LAogICAgICBleHByZXNzaW9uOiAicGFyYW1zLnNleCIKICAgIH0KICB9LCBfdm0uX2woX3ZtLnNleEFyck9wdGlvbnMsIGZ1bmN0aW9uIChpdGVtLCBpbmRleCkgewogICAgcmV0dXJuIF9jKCdlbC1vcHRpb24nLCB7CiAgICAgIGtleTogaW5kZXgsCiAgICAgIGF0dHJzOiB7CiAgICAgICAgImxhYmVsIjogaXRlbS5sYWJlbCwKICAgICAgICAidmFsdWUiOiBpdGVtLnZhbHVlCiAgICAgIH0KICAgIH0pOwogIH0pLCAxKV0sIDEpLCBfYygnZWwtZm9ybS1pdGVtJywgewogICAgYXR0cnM6IHsKICAgICAgImxhYmVsIjogIuW8gOWni+W5tOm+hO+8miIsCiAgICAgICJwcm9wIjogImJlZ2luQWdlIgogICAgfQogIH0sIFtfYygnZWwtaW5wdXQtbnVtYmVyJywgewogICAgc3RhdGljU3R5bGU6IHsKICAgICAgIndpZHRoIjogIjE3NXB4IgogICAgfSwKICAgIGF0dHJzOiB7CiAgICAgICJjb250cm9scyI6IGZhbHNlLAogICAgICAibWluIjogMSwKICAgICAgIm1heCI6IDEwMCwKICAgICAgInBsYWNlaG9sZGVyIjogIuW8gOWni+W5tOm+hCIKICAgIH0sCiAgICBvbjogewogICAgICAiY2hhbmdlIjogX3ZtLmNoYW5nZWJlZ2luQWdlCiAgICB9LAogICAgbW9kZWw6IHsKICAgICAgdmFsdWU6IF92bS5wYXJhbXMuYmVnaW5BZ2UsCiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7CiAgICAgICAgX3ZtLiRzZXQoX3ZtLnBhcmFtcywgImJlZ2luQWdlIiwgJCR2KTsKICAgICAgfSwKICAgICAgZXhwcmVzc2lvbjogInBhcmFtcy5iZWdpbkFnZSIKICAgIH0KICB9KV0sIDEpLCBfYygnZWwtZm9ybS1pdGVtJywgewogICAgYXR0cnM6IHsKICAgICAgImxhYmVsIjogIue7k+adn+W5tOm+hO+8miIsCiAgICAgICJwcm9wIjogImVuZEFnZSIKICAgIH0KICB9LCBbX2MoJ2VsLWlucHV0LW51bWJlcicsIHsKICAgIHN0YXRpY1N0eWxlOiB7CiAgICAgICJ3aWR0aCI6ICIxNzVweCIKICAgIH0sCiAgICBhdHRyczogewogICAgICAiY29udHJvbHMiOiBmYWxzZSwKICAgICAgIm1pbiI6IDEsCiAgICAgICJtYXgiOiAxMDAsCiAgICAgICJwbGFjZWhvbGRlciI6ICLnu5PmnZ/lubTpvoQiCiAgICB9LAogICAgb246IHsKICAgICAgImNoYW5nZSI6IF92bS5jaGFuZ2VlbmRBZ2UKICAgIH0sCiAgICBtb2RlbDogewogICAgICB2YWx1ZTogX3ZtLnBhcmFtcy5lbmRBZ2UsCiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7CiAgICAgICAgX3ZtLiRzZXQoX3ZtLnBhcmFtcywgImVuZEFnZSIsICQkdik7CiAgICAgIH0sCiAgICAgIGV4cHJlc3Npb246ICJwYXJhbXMuZW5kQWdlIgogICAgfQogIH0pXSwgMSksIF92bS5pbnN0U2hvdyA/IF9jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBhdHRyczogewogICAgICAibGFiZWwiOiAi6IOM5pmv562b5p+l54q25oCB77yaIiwKICAgICAgInByb3AiOiAiYmFja2dyb3VuZFNjcmVlbmluZ1N0YXR1cyIKICAgIH0KICB9LCBbX2MoJ2VsLXNlbGVjdCcsIHsKICAgIHN0YXRpY1N0eWxlOiB7CiAgICAgICJ3aWR0aCI6ICIxMDAlIgogICAgfSwKICAgIGF0dHJzOiB7CiAgICAgICJtdWx0aXBsZSI6ICIiLAogICAgICAiY29sbGFwc2UtdGFncyI6ICIiLAogICAgICAicGxhY2Vob2xkZXIiOiAi6K+36YCJ5oupIgogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLmJhY2tncm91bmRTY3JlZW5pbmdTdGF0dXMsCiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7CiAgICAgICAgX3ZtLiRzZXQoX3ZtLnBhcmFtcywgImJhY2tncm91bmRTY3JlZW5pbmdTdGF0dXMiLCAkJHYpOwogICAgICB9LAogICAgICBleHByZXNzaW9uOiAicGFyYW1zLmJhY2tncm91bmRTY3JlZW5pbmdTdGF0dXMiCiAgICB9CiAgfSwgX3ZtLl9sKF92bS5iYWNrZ3JvdW5kU2NyZWVuaW5nU3RhdHVzT3B0aW9ucywgZnVuY3Rpb24gKGl0ZW0pIHsKICAgIHJldHVybiBfYygnZWwtb3B0aW9uJywgewogICAgICBrZXk6IGl0ZW0udmFsdWUsCiAgICAgIGF0dHJzOiB7CiAgICAgICAgImxhYmVsIjogaXRlbS5sYWJlbCwKICAgICAgICAidmFsdWUiOiBpdGVtLnZhbHVlCiAgICAgIH0KICAgIH0pOwogIH0pLCAxKV0sIDEpIDogX3ZtLl9lKCksICFfdm0uaW5zdGl0dXRpb25hbENvZGUuc3RhcnRzV2l0aCgnMDInKSA/IF9jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBhdHRyczogewogICAgICAibGFiZWwiOiAi5piv5ZCm5oqV5L+d77yaIiwKICAgICAgInByb3AiOiAiaW5zdXJlIgogICAgfQogIH0sIFtfYygnZWwtc2VsZWN0JywgewogICAgc3RhdGljU3R5bGU6IHsKICAgICAgIndpZHRoIjogIjEwMCUiCiAgICB9LAogICAgYXR0cnM6IHsKICAgICAgInBsYWNlaG9sZGVyIjogIuivt+mAieaLqSIsCiAgICAgICJjbGVhcmFibGUiOiAiIgogICAgfSwKICAgIG9uOiB7CiAgICAgICJjaGFuZ2UiOiBfdm0uY2hhbmdlaW5zdXJlCiAgICB9LAogICAgbW9kZWw6IHsKICAgICAgdmFsdWU6IF92bS5wYXJhbXMuaW5zdXJlLAogICAgICBjYWxsYmFjazogZnVuY3Rpb24gKCQkdikgewogICAgICAgIF92bS4kc2V0KF92bS5wYXJhbXMsICJpbnN1cmUiLCAkJHYpOwogICAgICB9LAogICAgICBleHByZXNzaW9uOiAicGFyYW1zLmluc3VyZSIKICAgIH0KICB9LCBfdm0uX2woX3ZtLmluc3VyZUFyck9wdGlvbnMsIGZ1bmN0aW9uIChpdGVtLCBpbmRleCkgewogICAgcmV0dXJuIF9jKCdlbC1vcHRpb24nLCB7CiAgICAgIGtleTogaW5kZXgsCiAgICAgIGF0dHJzOiB7CiAgICAgICAgImxhYmVsIjogaXRlbS5sYWJlbCwKICAgICAgICAidmFsdWUiOiBpdGVtLnZhbHVlCiAgICAgIH0KICAgIH0pOwogIH0pLCAxKV0sIDEpIDogX3ZtLl9lKCksIF9jKCdlbC1mb3JtLWl0ZW0nLCB7CiAgICBhdHRyczogewogICAgICAibGFiZWwiOiAi5YWl6IGM5pe26Ze077yaIiwKICAgICAgInByb3AiOiAic3RhcnRFbmREYXRlIgogICAgfQogIH0sIFtfYygnZWwtZGF0ZS1waWNrZXInLCB7CiAgICBhdHRyczogewogICAgICAidHlwZSI6ICJkYXRlcmFuZ2UiLAogICAgICAidmFsdWUtZm9ybWF0IjogInl5eXktTU0tZGQiLAogICAgICAiZm9ybWF0IjogInl5eXktTU0tZGQiLAogICAgICAicmFuZ2Utc2VwYXJhdG9yIjogIuiHsyIsCiAgICAgICJzdGFydC1wbGFjZWhvbGRlciI6ICLlvIDlp4vml6XmnJ8iLAogICAgICAiZW5kLXBsYWNlaG9sZGVyIjogIue7k+adn+aXpeacnyIKICAgIH0sCiAgICBvbjogewogICAgICAiY2hhbmdlIjogX3ZtLmNoYW5nZXN0YXJ0RW5kRGF0ZQogICAgfSwKICAgIG1vZGVsOiB7CiAgICAgIHZhbHVlOiBfdm0ucGFyYW1zLnN0YXJ0RW5kRGF0ZSwKICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgkJHYpIHsKICAgICAgICBfdm0uJHNldChfdm0ucGFyYW1zLCAic3RhcnRFbmREYXRlIiwgJCR2KTsKICAgICAgfSwKICAgICAgZXhwcmVzc2lvbjogInBhcmFtcy5zdGFydEVuZERhdGUiCiAgICB9CiAgfSldLCAxKSwgX2MoJ2VsLWZvcm0taXRlbScsIFtfYygnZWwtYnV0dG9uJywgewogICAgYXR0cnM6IHsKICAgICAgInR5cGUiOiAicHJpbWFyeSIKICAgIH0sCiAgICBvbjogewogICAgICAiY2xpY2siOiBfdm0uaGlnaFNlYXJjaEJ1dHRvbgogICAgfQogIH0sIFtfdm0uX3YoIuafpeivoiIpXSksIF9jKCdlbC1idXR0b24nLCB7CiAgICBvbjogewogICAgICAiY2xpY2siOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgcmV0dXJuIF92bS5yZXNldFNlYXJjaEZvcm0oKTsKICAgICAgfQogICAgfQogIH0sIFtfdm0uX3YoIumHjee9riIpXSldLCAxKV0sIDEpXSwgMSldLCAxKSwgX3ZtLkhpZ2hEYXRhRmxhZyA/IF9jKCdzZWN0aW9uJywgewogICAgc3RhdGljQ2xhc3M6ICJEYXRhVEJveCIKICB9LCBbX2MoJ2RpdicsIHsKICAgIHN0YXRpY0NsYXNzOiAidGoiCiAgfSwgW19jKCdzcGFuJywgewogICAgc3RhdGljQ2xhc3M6ICJjb3VudHN0aiIsCiAgICBjbGFzczogX3ZtLmluZGV4ID09IDAgPyAnYWN0aXZlJyA6ICcnLAogICAgb246IHsKICAgICAgImNsaWNrIjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIHJldHVybiBfdm0uRGF0YVRqY2xpY2soMCwgJ29jY3VwYXRpb25UeXBlcycsIFtdKTsKICAgICAgfQogICAgfQogIH0sIFtfYygnZW0nLCBbX3ZtLl92KCLlnKjogYzlkZjlt6XmgLvmlbAiKV0pLCBfYygnc3Ryb25nJywgW192bS5fdihfdm0uX3MoX3ZtLnRqT2JqLnRvdGFsKSldKV0pLCBfYygnc3BhbicsIHsKICAgIGNsYXNzOiBfdm0uaW5kZXggPT0gMSA/ICdhY3RpdmUnIDogJycsCiAgICBvbjogewogICAgICAiY2xpY2siOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgcmV0dXJuIF92bS5EYXRhVGpjbGljaygxLCAnY2hlY2tlZFN0YXR1c2VzJywgWzBdKTsKICAgICAgfQogICAgfQogIH0sIFtfYygnZW0nLCBbX3ZtLl92KCLmnKrmj5DkuqQiKV0pLCBfYygnc3Ryb25nJywgW192bS5fdihfdm0uX3MoX3ZtLnRqT2JqLnVuQ2hlY2tlZENvdW50KSldKV0pLCBfYygnc3BhbicsIHsKICAgIGNsYXNzOiBfdm0uaW5kZXggPT0gMiA/ICdhY3RpdmUnIDogJycsCiAgICBvbjogewogICAgICAiY2xpY2siOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgcmV0dXJuIF92bS5EYXRhVGpjbGljaygyLCAnY2hlY2tlZFN0YXR1c2VzJywgWzJdKTsKICAgICAgfQogICAgfQogIH0sIFtfYygnZW0nLCBbX3ZtLl92KCLlt7Lmj5DkuqQiKV0pLCBfYygnc3Ryb25nJywgW192bS5fdihfdm0uX3MoX3ZtLnRqT2JqLmNvbW1pdENvdW50KSldKV0pLCBfYygnc3BhbicsIHsKICAgIGNsYXNzOiBfdm0uaW5kZXggPT0gMyA/ICdhY3RpdmUnIDogJycsCiAgICBvbjogewogICAgICAiY2xpY2siOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgcmV0dXJuIF92bS5EYXRhVGpjbGljaygzLCAnY2hlY2tlZFN0YXR1c2VzJywgWzFdKTsKICAgICAgfQogICAgfQogIH0sIFtfYygnZW0nLCBbX3ZtLl92KCLlt7LmoLjpqowiKV0pLCBfYygnc3Ryb25nJywgW192bS5fdihfdm0uX3MoX3ZtLnRqT2JqLmNoZWNrZWRDb3VudCkpXSldKSwgX2MoJ3NwYW4nLCB7CiAgICBjbGFzczogX3ZtLmluZGV4ID09IDQgPyAnYWN0aXZlJyA6ICcnLAogICAgb246IHsKICAgICAgImNsaWNrIjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIHJldHVybiBfdm0uRGF0YVRqY2xpY2soNCwgJ2NvbnRyYWN0U3RhdHVzJywgJzAnKTsKICAgICAgfQogICAgfQogIH0sIFtfYygnZW0nLCBbX3ZtLl92KCLmnKrnrb7lkIjlkIwiKV0pLCBfYygnc3Ryb25nJywgW192bS5fdihfdm0uX3MoX3ZtLnRqT2JqLnVuQ29udHJhY3RDb3VudCkpXSldKSwgX2MoJ3NwYW4nLCB7CiAgICBjbGFzczogX3ZtLmluZGV4ID09IDUgPyAnYWN0aXZlJyA6ICcnLAogICAgb246IHsKICAgICAgImNsaWNrIjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIHJldHVybiBfdm0uRGF0YVRqY2xpY2soNSwgJ2NvbnRyYWN0U3RhdHVzJywgJzEnKTsKICAgICAgfQogICAgfQogIH0sIFtfYygnZW0nLCBbX3ZtLl92KCLlt7Lnrb7lkIjlkIwiKV0pLCBfYygnc3Ryb25nJywgW192bS5fdihfdm0uX3MoX3ZtLnRqT2JqLmNvbnRyYWN0Q291bnQpKV0pXSldKSwgX3ZtLmluc3RTaG93ID8gX2MoJ2RpdicsIHsKICAgIHN0YXRpY0NsYXNzOiAidGoiCiAgfSwgW19jKCdzcGFuJywgewogICAgc3RhdGljQ2xhc3M6ICJjb3VudHN0aiIsCiAgICBjbGFzczogX3ZtLmluZGV4ID09IDEwID8gJ2FjdGl2ZScgOiAnJywKICAgIG9uOiB7CiAgICAgICJjbGljayI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICByZXR1cm4gX3ZtLkRhdGFUamNsaWNrKDEwLCAnb2NjdXBhdGlvblR5cGVzJywgWydTZWN1cml0eUd1YXJkJ10pOwogICAgICB9CiAgICB9CiAgfSwgW19jKCdlbScsIFtfdm0uX3YoIuS/neWuieWRmOaAu+aVsCIpXSksIF9jKCdzdHJvbmcnLCBbX3ZtLl92KF92bS5fcyhfdm0udGpPYmouc2VjVG90YWwpKV0pXSksIF9jKCdzcGFuJywgewogICAgY2xhc3M6IF92bS5pbmRleCA9PSAxMSA/ICdhY3RpdmUnIDogJycsCiAgICBvbjogewogICAgICAiY2xpY2siOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgcmV0dXJuIF92bS5EYXRhVGpjbGljaygxMSwgJ2NoZWNrZWRTdGF0dXNlcycsIFswXSwgJ29jY3VwYXRpb25UeXBlcycpOwogICAgICB9CiAgICB9CiAgfSwgW19jKCdlbScsIFtfdm0uX3YoIuacquaPkOS6pCIpXSksIF9jKCdzdHJvbmcnLCBbX3ZtLl92KF92bS5fcyhfdm0udGpPYmouc2VjVW5DaGVja2VkQ291bnQpKV0pXSksIF9jKCdzcGFuJywgewogICAgY2xhc3M6IF92bS5pbmRleCA9PSAxMiA/ICdhY3RpdmUnIDogJycsCiAgICBvbjogewogICAgICAiY2xpY2siOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgcmV0dXJuIF92bS5EYXRhVGpjbGljaygxMiwgJ2NoZWNrZWRTdGF0dXNlcycsIFsxXSwgJ29jY3VwYXRpb25UeXBlcycpOwogICAgICB9CiAgICB9CiAgfSwgW19jKCdlbScsIFtfdm0uX3YoIuW3suaguOmqjCIpXSksIF9jKCdzdHJvbmcnLCBbX3ZtLl92KF92bS5fcyhfdm0udGpPYmouc2VjQ2hlY2tlZENvdW50KSldKV0pLCBfYygnc3BhbicsIHsKICAgIGRpcmVjdGl2ZXM6IFt7CiAgICAgIG5hbWU6ICJzaG93IiwKICAgICAgcmF3TmFtZTogInYtc2hvdyIsCiAgICAgIHZhbHVlOiBfdm0uRGF0YUJvYXJkc2hvd09iai5BdXRoZW50aWNhdGluZywKICAgICAgZXhwcmVzc2lvbjogIkRhdGFCb2FyZHNob3dPYmouQXV0aGVudGljYXRpbmciCiAgICB9XSwKICAgIGNsYXNzOiBfdm0uaW5kZXggPT0gMTMgPyAnYWN0aXZlJyA6ICcnLAogICAgb246IHsKICAgICAgImNsaWNrIjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIHJldHVybiBfdm0uRGF0YVRqY2xpY2soMTMsICdhdXRoZW50aWNhdGVkU3RhdHVzZXMnLCBbJ0F1dGhlbnRpY2F0aW5nJ10sICdvY2N1cGF0aW9uVHlwZXMnKTsKICAgICAgfQogICAgfQogIH0sIFtfYygnZW0nLCBbX3ZtLl92KCLlrp7lkI3orqTor4HkuK0iKV0pLCBfYygnc3Ryb25nJywgW192bS5fdihfdm0uX3MoX3ZtLnRqT2JqLnNlY1VuQXV0aENvdW50KSldKV0pLCBfYygnc3BhbicsIHsKICAgIGRpcmVjdGl2ZXM6IFt7CiAgICAgIG5hbWU6ICJzaG93IiwKICAgICAgcmF3TmFtZTogInYtc2hvdyIsCiAgICAgIHZhbHVlOiBfdm0uRGF0YUJvYXJkc2hvd09iai5QYXNzZWQsCiAgICAgIGV4cHJlc3Npb246ICJEYXRhQm9hcmRzaG93T2JqLlBhc3NlZCIKICAgIH1dLAogICAgY2xhc3M6IF92bS5pbmRleCA9PSAxNCA/ICdhY3RpdmUnIDogJycsCiAgICBvbjogewogICAgICAiY2xpY2siOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgcmV0dXJuIF92bS5EYXRhVGpjbGljaygxNCwgJ2F1dGhlbnRpY2F0ZWRTdGF0dXNlcycsIFsnUGFzc2VkJ10sICdvY2N1cGF0aW9uVHlwZXMnKTsKICAgICAgfQogICAgfQogIH0sIFtfYygnZW0nLCBbX3ZtLl92KCLlt7Llrp7lkI3orqTor4EiKV0pLCBfYygnc3Ryb25nJywgW192bS5fdihfdm0uX3MoX3ZtLnRqT2JqLnNlY0F1dGhDb3VudCkpXSldKSwgX2MoJ3NwYW4nLCB7CiAgICBkaXJlY3RpdmVzOiBbewogICAgICBuYW1lOiAic2hvdyIsCiAgICAgIHJhd05hbWU6ICJ2LXNob3ciLAogICAgICB2YWx1ZTogX3ZtLkRhdGFCb2FyZHNob3dPYmouRmFpbGVkLAogICAgICBleHByZXNzaW9uOiAiRGF0YUJvYXJkc2hvd09iai5GYWlsZWQiCiAgICB9XSwKICAgIGNsYXNzOiBfdm0uaW5kZXggPT0gMTUgPyAnYWN0aXZlJyA6ICcnLAogICAgb246IHsKICAgICAgImNsaWNrIjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIHJldHVybiBfdm0uRGF0YVRqY2xpY2soMTUsICdhdXRoZW50aWNhdGVkU3RhdHVzZXMnLCBbJ0ZhaWxlZCddLCAnb2NjdXBhdGlvblR5cGVzJyk7CiAgICAgIH0KICAgIH0KICB9LCBbX2MoJ2VtJywgW192bS5fdigi5a6e5ZCN6K6k6K+B5aSx6LSlIildKSwgX2MoJ3N0cm9uZycsIFtfdm0uX3YoX3ZtLl9zKF92bS50ak9iai5zZWNBdXRoRmFpbENvdW50KSldKV0pLCBfYygnc3BhbicsIHsKICAgIGNsYXNzOiBfdm0uaW5kZXggPT0gMTYgPyAnYWN0aXZlJyA6ICcnLAogICAgb246IHsKICAgICAgImNsaWNrIjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIHJldHVybiBfdm0uRGF0YVRqY2xpY2soMTYsICdjb250cmFjdFN0YXR1cycsICcwJywgJ29jY3VwYXRpb25UeXBlcycpOwogICAgICB9CiAgICB9CiAgfSwgW19jKCdlbScsIFtfdm0uX3YoIuacquetvuWQiOWQjCIpXSksIF9jKCdzdHJvbmcnLCBbX3ZtLl92KF92bS5fcyhfdm0udGpPYmouc2VjVW5Db250cmFjdENvdW50KSldKV0pLCBfYygnc3BhbicsIHsKICAgIGNsYXNzOiBfdm0uaW5kZXggPT0gMTcgPyAnYWN0aXZlJyA6ICcnLAogICAgb246IHsKICAgICAgImNsaWNrIjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIHJldHVybiBfdm0uRGF0YVRqY2xpY2soMTcsICdjb250cmFjdFN0YXR1cycsICcxJywgJ29jY3VwYXRpb25UeXBlcycpOwogICAgICB9CiAgICB9CiAgfSwgW19jKCdlbScsIFtfdm0uX3YoIuW3suetvuWQiOWQjCIpXSksIF9jKCdzdHJvbmcnLCBbX3ZtLl92KF92bS5fcyhfdm0udGpPYmouc2VjQ29udHJhY3RDb3VudCkpXSldKV0pIDogX3ZtLl9lKCldKSA6IF92bS5fZSgpLCBfYygnc2VjdGlvbicsIHsKICAgIHN0YXRpY0NsYXNzOiAiY29udGVudEJveCIKICB9LCBbX2MoJ2VsLXRhYmxlJywgewogICAgcmVmOiAiZGlzdHJpY3RUYWJsZSIsCiAgICBhdHRyczogewogICAgICAiZGF0YSI6IF92bS50YWJsZURhdGFFbXBsb3llZSwKICAgICAgIm1heC1oZWlnaHQiOiAiNTAwIiwKICAgICAgImRlZmF1bHQtZXhwYW5kLWFsbCI6ICIiLAogICAgICAicm93LWtleSI6ICJpZCIKICAgIH0sCiAgICBvbjogewogICAgICAic2VsZWN0aW9uLWNoYW5nZSI6IF92bS5oYW5kbGVTZWxlY3Rpb25DaGFuZ2UsCiAgICAgICJzZWxlY3QtYWxsIjogX3ZtLmhhbmRsZVNlbGVjdGlvbkFsbENoYW5nZQogICAgfQogIH0sIFtfdm0uX2woX3ZtLnRhYmxlQ29sdW1uLCBmdW5jdGlvbiAoaXRlbSwgaW5kZXgpIHsKICAgIHJldHVybiBpdGVtLnNob3cgPyBfYygnZWwtdGFibGUtY29sdW1uJywgewogICAgICBrZXk6IGluZGV4LAogICAgICBhdHRyczogewogICAgICAgICJwcm9wIjogaXRlbS5wcm9wLAogICAgICAgICJsYWJlbCI6IGl0ZW0ubGFiZWwsCiAgICAgICAgIndpZHRoIjogaXRlbS53aWR0aCwKICAgICAgICAiZml4ZWQiOiBpdGVtLmxhYmVsID09ICLlp5PlkI0iCiAgICAgIH0sCiAgICAgIHNjb3BlZFNsb3RzOiBfdm0uX3UoW3sKICAgICAgICBrZXk6ICJkZWZhdWx0IiwKICAgICAgICBmbjogZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgICByZXR1cm4gW19jKCdzcGFuJywgW192bS5fdihfdm0uX3Moc2NvcGUucm93W2l0ZW0ucHJvcF0pKV0pXTsKICAgICAgICB9CiAgICAgIH1dLCBudWxsLCB0cnVlKQogICAgfSkgOiBfdm0uX2UoKTsKICB9KSwgX2MoJ2VsLXRhYmxlLWNvbHVtbicsIHsKICAgIGF0dHJzOiB7CiAgICAgICJmaXhlZCI6ICJyaWdodCIsCiAgICAgICJtaW4td2lkdGgiOiAiMTgwIgogICAgfSwKICAgIHNjb3BlZFNsb3RzOiBfdm0uX3UoW3sKICAgICAga2V5OiAiaGVhZGVyIiwKICAgICAgZm46IGZ1bmN0aW9uIChzY29wZSkgewogICAgICAgIHJldHVybiBbX2MoJ3NwYW4nLCB7CiAgICAgICAgICBzdGF0aWNDbGFzczogImNvbHVtbkhlYWRlciIKICAgICAgICB9LCBbX2MoJ3N0cm9uZycsIFtfdm0uX3YoIuaTjeS9nCIpXSksIF9jKCdpJywgewogICAgICAgICAgc3RhdGljQ2xhc3M6ICJlbC1pY29uLXNldHRpbmciLAogICAgICAgICAgb246IHsKICAgICAgICAgICAgImNsaWNrIjogX3ZtLmNvbHVtblNldFBvcAogICAgICAgICAgfQogICAgICAgIH0pXSldOwogICAgICB9CiAgICB9LCB7CiAgICAgIGtleTogImRlZmF1bHQiLAogICAgICBmbjogZnVuY3Rpb24gKHNjb3BlKSB7CiAgICAgICAgcmV0dXJuIFtfYygnZWwtYnV0dG9uJywgewogICAgICAgICAgc3RhdGljQ2xhc3M6ICJwcmltYXJ5Q29sb3IiLAogICAgICAgICAgYXR0cnM6IHsKICAgICAgICAgICAgInR5cGUiOiAidGV4dCIsCiAgICAgICAgICAgICJzaXplIjogInNtYWxsIgogICAgICAgICAgfSwKICAgICAgICAgIG9uOiB7CiAgICAgICAgICAgICJjbGljayI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICAgICAgICByZXR1cm4gX3ZtLmVkaXRTdGFmZihzY29wZS5yb3cpOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSwgW192bS5fdigi57yW6L6RIildKSwgX3ZtLmRvbWFpbkFkbWluIHx8IF92bS5wZXJtaXNzaW9uc1N0ci5pbmRleE9mKCdSZXNldFB3ZCcpID4gLTEgPyBfYygnZWwtYnV0dG9uJywgewogICAgICAgICAgc3RhdGljQ2xhc3M6ICJwcmltYXJ5Q29sb3IiLAogICAgICAgICAgYXR0cnM6IHsKICAgICAgICAgICAgInR5cGUiOiAidGV4dCIsCiAgICAgICAgICAgICJzaXplIjogInNtYWxsIgogICAgICAgICAgfSwKICAgICAgICAgIG9uOiB7CiAgICAgICAgICAgICJjbGljayI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICAgICAgICByZXR1cm4gX3ZtLnJlc2V0UFdEU3RhZmYoc2NvcGUucm93KTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0sIFtfdm0uX3YoIumHjee9ruWvhueggSIpXSkgOiBfdm0uX2UoKV07CiAgICAgIH0KICAgIH1dLCBudWxsLCBmYWxzZSwgMjQ5Nzg4MjUxNikKICB9KV0sIDIpLCBfYygncGFnZXMnLCB7CiAgICBhdHRyczogewogICAgICAidG90YWwiOiBfdm0ucGFyYW1zLnRvdGFsLAogICAgICAiY3VycmVudFBhZ2UiOiBfdm0ucGFyYW1zLnBhZ2VJbmRleCwKICAgICAgInBhZ2VTaXplIjogX3ZtLnBhcmFtcy5wYWdlU2l6ZQogICAgfSwKICAgIG9uOiB7CiAgICAgICJ1cGRhdGU6Y3VycmVudFBhZ2UiOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgcmV0dXJuIF92bS4kc2V0KF92bS5wYXJhbXMsICJwYWdlSW5kZXgiLCAkZXZlbnQpOwogICAgICB9LAogICAgICAidXBkYXRlOmN1cnJlbnQtcGFnZSI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICByZXR1cm4gX3ZtLiRzZXQoX3ZtLnBhcmFtcywgInBhZ2VJbmRleCIsICRldmVudCk7CiAgICAgIH0sCiAgICAgICJoYW5kbGVDdXJyZW50Q2hhbmdlU3ViIjogX3ZtLmhhbmRsZUN1cnJlbnRDaGFuZ2UsCiAgICAgICJoYW5kbGVTaXplQ2hhbmdlU3ViIjogX3ZtLmhhbmRsZVNpemVDaGFuZ2UKICAgIH0KICB9KV0sIDEpLCBfYygnVXNlckVtcGxveWVlRGlhbG9nJywgewogICAgcmVmOiAicG9wQ2hpbGRyZW4iLAogICAgYXR0cnM6IHsKICAgICAgImRlcHREYXRhTGlzdCI6IF92bS50YWJsZURhdGEsCiAgICAgICJzaG93ZGlhbG9nIjogX3ZtLnNob3dkaWFsb2cKICAgIH0sCiAgICBvbjogewogICAgICAidXBkYXRlOnNob3dkaWFsb2ciOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgX3ZtLnNob3dkaWFsb2cgPSAkZXZlbnQ7CiAgICAgIH0sCiAgICAgICJyZWZ1cmxpc3QiOiBfdm0ucmVmdXJsaXN0CiAgICB9CiAgfSksIF9jKCdJbXBvcnRFbXBsb3llZURpYWxvZycsIHsKICAgIHJlZjogIkltcG9ydHBvcENoaWxkcmVuIiwKICAgIGF0dHJzOiB7CiAgICAgICJzaG93ZGlhbG9nSW1wb3J0IjogX3ZtLnNob3dkaWFsb2dJbXBvcnQKICAgIH0sCiAgICBvbjogewogICAgICAidXBkYXRlOnNob3dkaWFsb2dJbXBvcnQiOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgX3ZtLnNob3dkaWFsb2dJbXBvcnQgPSAkZXZlbnQ7CiAgICAgIH0sCiAgICAgICJ1cGRhdGU6c2hvd2RpYWxvZy1pbXBvcnQiOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgX3ZtLnNob3dkaWFsb2dJbXBvcnQgPSAkZXZlbnQ7CiAgICAgIH0sCiAgICAgICJyZWZ1cmxpc3QiOiBfdm0ucmVmdXJsaXN0CiAgICB9CiAgfSksIF9jKCdFeHBvcnRFbXBsb3llZURpYWxvZycsIHsKICAgIHJlZjogIkV4cG9ydHBvcENoaWxkcmVuIiwKICAgIGF0dHJzOiB7CiAgICAgICJzaG93ZGlhbG9nRXhwb3J0IjogX3ZtLnNob3dkaWFsb2dFeHBvcnQKICAgIH0sCiAgICBvbjogewogICAgICAidXBkYXRlOnNob3dkaWFsb2dFeHBvcnQiOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgX3ZtLnNob3dkaWFsb2dFeHBvcnQgPSAkZXZlbnQ7CiAgICAgIH0sCiAgICAgICJ1cGRhdGU6c2hvd2RpYWxvZy1leHBvcnQiOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgX3ZtLnNob3dkaWFsb2dFeHBvcnQgPSAkZXZlbnQ7CiAgICAgIH0sCiAgICAgICJyZWZ1cmxpc3QiOiBfdm0ucmVmdXJsaXN0CiAgICB9CiAgfSksIF9jKCdVc2VyRW1wbG95ZWVJbnZpdGVJbkRpYWxvZycsIHsKICAgIHJlZjogInBvcENoaWxkcmVuIiwKICAgIGF0dHJzOiB7CiAgICAgICJkZXB0RGF0YUxpc3QiOiBfdm0udGFibGVEYXRhLAogICAgICAic2hvd2RpYWxvZ0luIjogX3ZtLnNob3dkaWFsb2dJbgogICAgfSwKICAgIG9uOiB7CiAgICAgICJ1cGRhdGU6c2hvd2RpYWxvZ0luIjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIF92bS5zaG93ZGlhbG9nSW4gPSAkZXZlbnQ7CiAgICAgIH0sCiAgICAgICJ1cGRhdGU6c2hvd2RpYWxvZy1pbiI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICBfdm0uc2hvd2RpYWxvZ0luID0gJGV2ZW50OwogICAgICB9LAogICAgICAicmVmdXJsaXN0IjogX3ZtLnJlZnVybGlzdAogICAgfQogIH0pLCBfYygnVXNlckVtcGxveWVlRHV0eURpYWxvZycsIHsKICAgIHJlZjogIkR1dHlDaGlsZHJlbiIsCiAgICBhdHRyczogewogICAgICAiZGVwdERhdGFMaXN0IjogX3ZtLnRhYmxlRGF0YSwKICAgICAgInNob3dkaWFsb2dEdXR5IjogX3ZtLnNob3dkaWFsb2dEdXR5CiAgICB9LAogICAgb246IHsKICAgICAgInVwZGF0ZTpzaG93ZGlhbG9nRHV0eSI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICBfdm0uc2hvd2RpYWxvZ0R1dHkgPSAkZXZlbnQ7CiAgICAgIH0sCiAgICAgICJ1cGRhdGU6c2hvd2RpYWxvZy1kdXR5IjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIF92bS5zaG93ZGlhbG9nRHV0eSA9ICRldmVudDsKICAgICAgfSwKICAgICAgInJlZnVybGlzdCI6IF92bS5yZWZ1cmxpc3QKICAgIH0KICB9KSwgX2MoJ1VzZXJFbXBsb3llZWNoYW5nZU9jY3VwYXRpb25UeXBlRGlhbG9nJywgewogICAgcmVmOiAiT2NjVHlwZUNoaWxkcmVuIiwKICAgIGF0dHJzOiB7CiAgICAgICJzaG93ZGlhbG9nT2NjVHlwZSI6IF92bS5zaG93ZGlhbG9nT2NjVHlwZQogICAgfSwKICAgIG9uOiB7CiAgICAgICJ1cGRhdGU6c2hvd2RpYWxvZ09jY1R5cGUiOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgX3ZtLnNob3dkaWFsb2dPY2NUeXBlID0gJGV2ZW50OwogICAgICB9LAogICAgICAidXBkYXRlOnNob3dkaWFsb2ctb2NjLXR5cGUiOiBmdW5jdGlvbiAoJGV2ZW50KSB7CiAgICAgICAgX3ZtLnNob3dkaWFsb2dPY2NUeXBlID0gJGV2ZW50OwogICAgICB9LAogICAgICAicmVmdXJsaXN0IjogX3ZtLnJlZnVybGlzdAogICAgfQogIH0pXSwgMSkgOiBfdm0uX2UoKSwgIV92bS5TdGFmZkJveEZsYWcgPyBfYygnc2VjdGlvbicsIHsKICAgIHN0YXRpY0NsYXNzOiAiQ29udGFpbmVyQm94RGV0YWlsIgogIH0sIFtfYygnU3RhZmZCb3hEZXRhaWwnLCB7CiAgICBhdHRyczogewogICAgICAic3RhZmZpbmZvIjogX3ZtLnN0YWZmaW5mbwogICAgfSwKICAgIG9uOiB7CiAgICAgICJyZWZ1cmxpc3RCYWNrIjogX3ZtLnJlZnVybGlzdEJhY2sKICAgIH0KICB9KV0sIDEpIDogX3ZtLl9lKCksIF9jKCdDb2x1bW5TZXQnLCB7CiAgICByZWY6ICJjb2x1bW5SZWYiLAogICAgYXR0cnM6IHsKICAgICAgInNob3dkaWFsb2dDb2x1bW5TZXQiOiBfdm0uc2hvd2RpYWxvZ0NvbHVtblNldCwKICAgICAgInR5cGVGbGFnIjogX3ZtLnR5cGVGbGFnCiAgICB9LAogICAgb246IHsKICAgICAgInVwZGF0ZTpzaG93ZGlhbG9nQ29sdW1uU2V0IjogZnVuY3Rpb24gKCRldmVudCkgewogICAgICAgIF92bS5zaG93ZGlhbG9nQ29sdW1uU2V0ID0gJGV2ZW50OwogICAgICB9LAogICAgICAidXBkYXRlOnNob3dkaWFsb2ctY29sdW1uLXNldCI6IGZ1bmN0aW9uICgkZXZlbnQpIHsKICAgICAgICBfdm0uc2hvd2RpYWxvZ0NvbHVtblNldCA9ICRldmVudDsKICAgICAgfSwKICAgICAgInJlZnVybGlzdCI6IF92bS5yZWZ1cmxpc3QKICAgIH0KICB9KV0sIDEpOwp9Owp2YXIgc3RhdGljUmVuZGVyRm5zID0gW107CmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH07"},null]}