From 5104b83f440557ed65f3e72825cc49928f83f02e Mon Sep 17 00:00:00 2001 From: "MavScript.Blue" Date: Sun, 31 Aug 2025 18:05:08 -0500 Subject: [PATCH 1/4] Checkpoint from VS Code for coding agent session --- dist/main.js | 4 ++-- src/pages/_copy_smalltabletview.js | 4 ++++ src/pages/index.js | 3 +++ 3 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 src/pages/_copy_smalltabletview.js diff --git a/dist/main.js b/dist/main.js index 497bcb6..ece25e7 100644 --- a/dist/main.js +++ b/dist/main.js @@ -1,2 +1,2 @@ -!function(){"use strict";var e="/se_project_spots/";const t={formSelector:".modal__form",inputSelector:".modal__input",submitButtonSelector:".modal__submit-button",inactiveButtonClass:"modal__submit-button_disabled",inputErrorClass:"modal__input_type_error",errorClass:"modal__error"},r=e=>{console.error(`Validation Error: ${e}`)},o=(e,t,o)=>{const n=e.querySelector(`#${t.id}-error`);n?(n.textContent="",n.removeAttribute("role"),t.classList.remove(o.inputErrorClass)):r(`Error message element for input ${t.id} not found.`)},n=(e,t,r)=>{(e=>e.some((e=>!e.validity.valid)))(e)?a(t,r):(t.disabled=!1,t.classList.remove(r.inactiveButtonClass))},a=(e,t)=>{e.disabled=!0,e.classList.add(t.inactiveButtonClass)},l=(e,t,r)=>{t.forEach((t=>{o(e,t,r)}));const n=e.querySelector(r.submitButtonSelector);a(n,r)};function c(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Save",o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"Saving...";t.textContent=e?o:r}function s(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Saving...";t.preventDefault();const o=t.submitter,n=o.textContent;return c(!0,o,n,r),e().catch(console.error).finally((()=>{c(!1,o,n)}))}var i=e+"5e2464bff616faf70484.svg",d=e+"2fc47fd8e9a9bcd9612f.jpg",u=e+"49e44e5e03758262e8bf.svg",m=e+"975792ea68af0a3c209d.svg",_=e+"c81b22e9874268723f8d.svg";document.querySelector(".header__logo").src=i,document.querySelector(".profile__avatar").src=d,document.querySelector(".profile__edit-button img").src=u,document.querySelector(".profile__add-button img").src=m,document.querySelector(".profile__pencilIcon").src=_;const v=new class{constructor(e){this._baseUrl=e.baseUrl,this._headers=e.headers}_checkResponse(e){return e.ok?e.json():Promise.reject(`Error: ${e.status}`)}_request(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r={headers:this._headers,...t},o=`${this._baseUrl}${e}`;return fetch(o,r).then(this._checkResponse)}getUserInfo(){return this._request("/users/me")}getInitialCards(){return this._request("/cards",{method:"GET"})}editUserInfo(e){let{name:t,about:r}=e;return this._request("/users/me",{method:"PATCH",body:JSON.stringify({name:t,about:r})})}updateAvatar(e){let{avatar:t}=e;return this._request("/users/me/avatar",{method:"PATCH",body:JSON.stringify({avatar:t})})}addCard(e){let{name:t,link:r}=e;return this._request("/cards",{method:"POST",body:JSON.stringify({name:t,link:r})})}removeCard(e){return fetch(`${this._baseUrl}/cards/${e}`,{method:"DELETE",headers:this._headers}).then(this._checkResponse)}likeCard(e){return this._request(`/cards/${e}/likes`,{method:"PUT"})}dislikeCard(e){return this._request(`/cards/${e}/likes`,{method:"DELETE"})}fetchInitialData(){return Promise.all([this.getUserInfo(),this.getInitialCards()])}}({baseUrl:"https://around-api.en.tripleten-services.com/v1",headers:{authorization:"f1f1dbab-8e17-48d3-a098-d77dfd6ea3c5","Content-Type":"application/json"}});let f;v.getUserInfo().then((e=>(f=e._id,p.textContent=e.name,S.textContent=e.about,D.src=e.avatar,v.getInitialCards()))).then((e=>{e.forEach((e=>{const t=H(e);R.append(t)}))})).catch(console.error);const y=document.querySelector(".profile__edit-button"),h=document.querySelector(".profile__add-button"),p=document.querySelector(".profile__name"),S=document.querySelector(".profile__description"),q=document.querySelectorAll(".modal__close-button"),b=document.querySelector("#delete-modal"),k=b.querySelector("#delete-form"),E=b.querySelector(".modal__cancel-button"),C=document.querySelector(".profile__avatar-button"),g=document.querySelector("#new-avatar-modal"),L=g.querySelector(".modal__form"),x=g.querySelector("#new-avatar-link-input"),D=document.querySelector(".profile__avatar"),A=document.querySelector("#edit-modal"),$=A.querySelector(".modal__form"),T=A.querySelector("#profile-name-input"),U=A.querySelector("#profile-description-input"),I=document.querySelector("#new-card-modal"),w=I.querySelector(".modal__form"),P=I.querySelector("#new-card-link-input"),B=I.querySelector("#new-card-caption-input"),O=document.querySelector("#preview-modal"),j=O.querySelector(".modal__image"),N=O.querySelector(".modal__caption"),J=document.querySelector("#card-template"),R=document.querySelector(".cards__list");function H(e){const t=J.content.querySelector(".card").cloneNode(!0);t._id=e._id;const r=t.querySelector(".card__title"),o=t.querySelector(".card__image"),n=t.querySelector(".card__like-button"),a=t.querySelector(".card__like-count"),l=t.querySelector(".card__delete-button");return r.textContent=e.name,o.src=e.link,o.alt=e.name,e.isLiked?(n.classList.add("card__like-button_liked"),a.textContent="1"):a.textContent="0",n.addEventListener("click",(()=>{(n.classList.contains("card__like-button_liked")?v.dislikeCard(e._id):v.likeCard(e._id)).then((e=>{n.classList.toggle("card__like-button_liked",e.isLiked),a.textContent=e.isLiked?"1":"0"})).catch((e=>{console.error("Error updating like status:",e)}))})),l.addEventListener("click",(()=>{K(b),k._cardToDelete=t})),o.addEventListener("click",(()=>{K(O),N.textContent=e.name,j.alt=e.name,j.src=e.link})),t}function K(e){function t(t){t.target.classList.contains("modal_opened")&&z(e)}function r(t){"Escape"===t.key&&z(e)}e.classList.add("modal_opened"),document.addEventListener("click",t),document.addEventListener("keydown",r),e._handleOverlayClick=t,e._handleEscapeKeyPress=r}function z(e){e.classList.remove("modal_opened"),document.removeEventListener("click",e._handleOverlayClick),document.removeEventListener("keydown",e._handleEscapeKeyPress)}function G(){const e=T.value,t=U.value;return v.editUserInfo({name:e,about:t}).then((e=>{p.textContent=e.name,S.textContent=e.about,z(A)}))}var M;q.forEach((e=>{const t=e.closest(".modal");e.addEventListener("click",(()=>z(t)))})),y.addEventListener("click",(()=>{T.value=p.textContent,U.value=S.textContent,l($,[T,U],t),K(A)})),C.addEventListener("click",(()=>{K(g)})),h.addEventListener("click",(()=>{K(I)})),E.addEventListener("click",(()=>{z(b)})),$.addEventListener("submit",(function(e){s(G,e,"Saving...")})),w.addEventListener("submit",(function(e){e.preventDefault();const t=w.querySelector(".modal__submit-button");c(!0,t),v.addCard({name:B.value,link:P.value}).then((t=>{const r=H(t);R.prepend(r),e.target.reset(),z(I)})).catch(console.error).finally((()=>{c(!1,t)}))})),k.addEventListener("submit",(e=>{e.preventDefault();const t=k.querySelector(".modal__submit-button");c(!0,t,"Delete","Deleting..."),v.removeCard(k._cardToDelete._id).then((()=>{s((()=>{k._cardToDelete.remove()})),z(b)})).catch(console.error).finally((()=>{c(!1,t,"Delete")}))})),L.addEventListener("submit",(e=>{e.preventDefault();const t=L.querySelector(".modal__submit-button");c(!0,t),v.updateAvatar({avatar:x.value}).then((t=>{D.src=t.avatar,e.target.reset(),z(g)})).catch(console.error).finally((()=>{c(!1,t)}))})),M=t,document.querySelectorAll(M.formSelector).forEach((e=>{const t=Array.from(e.querySelectorAll(M.inputSelector));((e,t)=>{const a=Array.from(e.querySelectorAll(t.inputSelector)),l=e.querySelector(t.submitButtonSelector);n(a,l,t),a.forEach((c=>{c.addEventListener("input",(()=>{((e,t,n)=>{t.validity.valid?o(e,t,n):((e,t,o,n)=>{const a=e.querySelector(`#${t.id}-error`);a?(a.textContent=o,a.setAttribute("role","alert"),t.classList.add(n.inputErrorClass)):r(`Error message element for input ${t.id} not found.`)})(e,t,t.validationMessage,n)})(e,c,t),n(a,l,t)}))}))})(e,M),e.addEventListener("reset",(()=>{l(e,t,M)}))}))}(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFnQnJCLEVBQWFXLEVBQVdULEVBQU8sR0FDL0MsRyIsInNvdXJjZXMiOlsid2VicGFjazovL3NlX3Byb2plY3Rfc3BvdHMvd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vc2VfcHJvamVjdF9zcG90cy93ZWJwYWNrL3J1bnRpbWUvcHVibGljUGF0aCIsIndlYnBhY2s6Ly9zZV9wcm9qZWN0X3Nwb3RzLy4vc3JjL3NjcmlwdHMvdmFsaWRhdGlvbi5qcyIsIndlYnBhY2s6Ly9zZV9wcm9qZWN0X3Nwb3RzLy4vc3JjL3V0aWxzL3V0aWxzLmpzIiwid2VicGFjazovL3NlX3Byb2plY3Rfc3BvdHMvLi9zcmMvcGFnZXMvaW5kZXguanMiLCJ3ZWJwYWNrOi8vc2VfcHJvamVjdF9zcG90cy8uL3NyYy91dGlscy9BcGkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhlIHJlcXVpcmUgc2NvcGVcbnZhciBfX3dlYnBhY2tfcmVxdWlyZV9fID0ge307XG5cbiIsIl9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiL3NlX3Byb2plY3Rfc3BvdHMvXCI7IiwiZXhwb3J0IGNvbnN0IHNldHRpbmdzID0ge1xyXG4gIGZvcm1TZWxlY3RvcjogXCIubW9kYWxfX2Zvcm1cIixcclxuICBpbnB1dFNlbGVjdG9yOiBcIi5tb2RhbF9faW5wdXRcIixcclxuICBzdWJtaXRCdXR0b25TZWxlY3RvcjogXCIubW9kYWxfX3N1Ym1pdC1idXR0b25cIixcclxuICBpbmFjdGl2ZUJ1dHRvbkNsYXNzOiBcIm1vZGFsX19zdWJtaXQtYnV0dG9uX2Rpc2FibGVkXCIsXHJcbiAgaW5wdXRFcnJvckNsYXNzOiBcIm1vZGFsX19pbnB1dF90eXBlX2Vycm9yXCIsXHJcbiAgZXJyb3JDbGFzczogXCJtb2RhbF9fZXJyb3JcIixcclxufTtcclxuXHJcbi8vIFV0aWxpdHkgZm9yIGxvZ2dpbmcgZXJyb3JzXHJcbmNvbnN0IGxvZ0Vycm9yID0gKG1lc3NhZ2UpID0+IHtcclxuICBjb25zb2xlLmVycm9yKGBWYWxpZGF0aW9uIEVycm9yOiAke21lc3NhZ2V9YCk7XHJcbn07XHJcblxyXG4vLyBTaG93IGlucHV0IGVycm9yIG1lc3NhZ2VcclxuY29uc3Qgc2hvd0lucHV0RXJyb3IgPSAoZm9ybUVsZW1lbnQsIGlucHV0RWxlbWVudCwgZXJyb3JNZXNzYWdlLCBjb25maWcpID0+IHtcclxuICBjb25zdCBlcnJvck1lc3NhZ2VFbGVtZW50ID0gZm9ybUVsZW1lbnQucXVlcnlTZWxlY3RvcihcclxuICAgIGAjJHtpbnB1dEVsZW1lbnQuaWR9LWVycm9yYFxyXG4gICk7XHJcblxyXG4gIGlmICghZXJyb3JNZXNzYWdlRWxlbWVudCkge1xyXG4gICAgbG9nRXJyb3IoYEVycm9yIG1lc3NhZ2UgZWxlbWVudCBmb3IgaW5wdXQgJHtpbnB1dEVsZW1lbnQuaWR9IG5vdCBmb3VuZC5gKTtcclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIGVycm9yTWVzc2FnZUVsZW1lbnQudGV4dENvbnRlbnQgPSBlcnJvck1lc3NhZ2U7XHJcbiAgZXJyb3JNZXNzYWdlRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJyb2xlXCIsIFwiYWxlcnRcIik7IC8vIEFjY2Vzc2liaWxpdHkgZW5oYW5jZW1lbnRcclxuICBpbnB1dEVsZW1lbnQuY2xhc3NMaXN0LmFkZChjb25maWcuaW5wdXRFcnJvckNsYXNzKTtcclxufTtcclxuXHJcbi8vIEhpZGUgaW5wdXQgZXJyb3IgbWVzc2FnZVxyXG5jb25zdCBoaWRlSW5wdXRFcnJvciA9IChmb3JtRWxlbWVudCwgaW5wdXRFbGVtZW50LCBjb25maWcpID0+IHtcclxuICBjb25zdCBlcnJvck1lc3NhZ2VFbGVtZW50ID0gZm9ybUVsZW1lbnQucXVlcnlTZWxlY3RvcihcclxuICAgIGAjJHtpbnB1dEVsZW1lbnQuaWR9LWVycm9yYFxyXG4gICk7XHJcblxyXG4gIGlmICghZXJyb3JNZXNzYWdlRWxlbWVudCkge1xyXG4gICAgbG9nRXJyb3IoYEVycm9yIG1lc3NhZ2UgZWxlbWVudCBmb3IgaW5wdXQgJHtpbnB1dEVsZW1lbnQuaWR9IG5vdCBmb3VuZC5gKTtcclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIGVycm9yTWVzc2FnZUVsZW1lbnQudGV4dENvbnRlbnQgPSBcIlwiO1xyXG4gIGVycm9yTWVzc2FnZUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKFwicm9sZVwiKTtcclxuICBpbnB1dEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShjb25maWcuaW5wdXRFcnJvckNsYXNzKTtcclxufTtcclxuXHJcbi8vIENoZWNrIGlucHV0IHZhbGlkaXR5XHJcbmNvbnN0IGNoZWNrSW5wdXRWYWxpZGl0eSA9IChmb3JtRWxlbWVudCwgaW5wdXRFbGVtZW50LCBjb25maWcpID0+IHtcclxuICBpZiAoIWlucHV0RWxlbWVudC52YWxpZGl0eS52YWxpZCkge1xyXG4gICAgc2hvd0lucHV0RXJyb3IoXHJcbiAgICAgIGZvcm1FbGVtZW50LFxyXG4gICAgICBpbnB1dEVsZW1lbnQsXHJcbiAgICAgIGlucHV0RWxlbWVudC52YWxpZGF0aW9uTWVzc2FnZSxcclxuICAgICAgY29uZmlnXHJcbiAgICApO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBoaWRlSW5wdXRFcnJvcihmb3JtRWxlbWVudCwgaW5wdXRFbGVtZW50LCBjb25maWcpO1xyXG4gIH1cclxufTtcclxuXHJcbi8vIENoZWNrIGlmIGZvcm0gaGFzIGludmFsaWQgaW5wdXRcclxuY29uc3QgaGFzSW52YWxpZElucHV0ID0gKGlucHV0TGlzdCkgPT4ge1xyXG4gIHJldHVybiBpbnB1dExpc3Quc29tZSgoaW5wdXQpID0+ICFpbnB1dC52YWxpZGl0eS52YWxpZCk7XHJcbn07XHJcblxyXG4vLyBUb2dnbGUgYnV0dG9uIHN0YXRlXHJcbmNvbnN0IHRvZ2dsZUJ1dHRvblN0YXRlID0gKGlucHV0TGlzdCwgYnV0dG9uRWxlbWVudCwgY29uZmlnKSA9PiB7XHJcbiAgaWYgKGhhc0ludmFsaWRJbnB1dChpbnB1dExpc3QpKSB7XHJcbiAgICBkaXNhYmxlQnV0dG9uKGJ1dHRvbkVsZW1lbnQsIGNvbmZpZyk7XHJcbiAgfSBlbHNlIHtcclxuICAgIGJ1dHRvbkVsZW1lbnQuZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgIGJ1dHRvbkVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShjb25maWcuaW5hY3RpdmVCdXR0b25DbGFzcyk7XHJcbiAgfVxyXG59O1xyXG5cclxuLy8gRGlzYWJsZSBidXR0b25cclxuY29uc3QgZGlzYWJsZUJ1dHRvbiA9IChidXR0b25FbGVtZW50LCBjb25maWcpID0+IHtcclxuICBidXR0b25FbGVtZW50LmRpc2FibGVkID0gdHJ1ZTtcclxuICBidXR0b25FbGVtZW50LmNsYXNzTGlzdC5hZGQoY29uZmlnLmluYWN0aXZlQnV0dG9uQ2xhc3MpO1xyXG59O1xyXG5cclxuLy8gUmVzZXQgdmFsaWRhdGlvblxyXG5leHBvcnQgY29uc3QgcmVzZXRWYWxpZGF0aW9uID0gKGZvcm1FbGVtZW50LCBpbnB1dExpc3QsIGNvbmZpZykgPT4ge1xyXG4gIGlucHV0TGlzdC5mb3JFYWNoKChpbnB1dCkgPT4ge1xyXG4gICAgaGlkZUlucHV0RXJyb3IoZm9ybUVsZW1lbnQsIGlucHV0LCBjb25maWcpO1xyXG4gIH0pO1xyXG5cclxuICBjb25zdCBidXR0b25FbGVtZW50ID0gZm9ybUVsZW1lbnQucXVlcnlTZWxlY3Rvcihjb25maWcuc3VibWl0QnV0dG9uU2VsZWN0b3IpO1xyXG4gIGRpc2FibGVCdXR0b24oYnV0dG9uRWxlbWVudCwgY29uZmlnKTsgLy8gRGlzYWJsZSB0aGUgYnV0dG9uIGR1cmluZyByZXNldFxyXG59O1xyXG5cclxuLy8gQWRkIGV2ZW50IGxpc3RlbmVycyB0byB0aGUgZm9ybVxyXG5jb25zdCBzZXRFdmVudExpc3RlbmVycyA9IChmb3JtRWxlbWVudCwgY29uZmlnKSA9PiB7XHJcbiAgY29uc3QgaW5wdXRMaXN0ID0gQXJyYXkuZnJvbShcclxuICAgIGZvcm1FbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoY29uZmlnLmlucHV0U2VsZWN0b3IpXHJcbiAgKTtcclxuICBjb25zdCBidXR0b25FbGVtZW50ID0gZm9ybUVsZW1lbnQucXVlcnlTZWxlY3Rvcihjb25maWcuc3VibWl0QnV0dG9uU2VsZWN0b3IpO1xyXG5cclxuICB0b2dnbGVCdXR0b25TdGF0ZShpbnB1dExpc3QsIGJ1dHRvbkVsZW1lbnQsIGNvbmZpZyk7IC8vIEluaXRpYWwgYnV0dG9uIHN0YXRlIGNoZWNrXHJcblxyXG4gIGlucHV0TGlzdC5mb3JFYWNoKChpbnB1dEVsZW1lbnQpID0+IHtcclxuICAgIGlucHV0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFwiaW5wdXRcIiwgKCkgPT4ge1xyXG4gICAgICBjaGVja0lucHV0VmFsaWRpdHkoZm9ybUVsZW1lbnQsIGlucHV0RWxlbWVudCwgY29uZmlnKTtcclxuICAgICAgdG9nZ2xlQnV0dG9uU3RhdGUoaW5wdXRMaXN0LCBidXR0b25FbGVtZW50LCBjb25maWcpOyAvLyBVcGRhdGUgYnV0dG9uIHN0YXRlIG9uIGlucHV0XHJcbiAgICB9KTtcclxuICB9KTtcclxufTtcclxuXHJcbi8vIEVuYWJsZSB2YWxpZGF0aW9uIGZvciBhbGwgZm9ybXNcclxuZXhwb3J0IGNvbnN0IGVuYWJsZVZhbGlkYXRpb24gPSAoY29uZmlnKSA9PiB7XHJcbiAgY29uc3QgZm9ybUxpc3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGNvbmZpZy5mb3JtU2VsZWN0b3IpO1xyXG5cclxuICBmb3JtTGlzdC5mb3JFYWNoKChmb3JtRWxlbWVudCkgPT4ge1xyXG4gICAgY29uc3QgaW5wdXRMaXN0ID0gQXJyYXkuZnJvbShcclxuICAgICAgZm9ybUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChjb25maWcuaW5wdXRTZWxlY3RvcilcclxuICAgICk7XHJcbiAgICBzZXRFdmVudExpc3RlbmVycyhmb3JtRWxlbWVudCwgY29uZmlnKTtcclxuXHJcbiAgICAvLyBDbGVhciB2YWxpZGF0aW9uIG9uIGZvcm0gcmVzZXRcclxuICAgIGZvcm1FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNldFwiLCAoKSA9PiB7XHJcbiAgICAgIHJlc2V0VmFsaWRhdGlvbihmb3JtRWxlbWVudCwgaW5wdXRMaXN0LCBjb25maWcpO1xyXG4gICAgfSk7XHJcbiAgfSk7XHJcbn07XHJcbiIsImV4cG9ydCBmdW5jdGlvbiByZW5kZXJMb2FkaW5nKFxuICBpc0xvYWRpbmcsXG4gIGJ1dHRvbixcbiAgYnV0dG9uVGV4dCA9IFwiU2F2ZVwiLFxuICBsb2FkaW5nVGV4dCA9IFwiU2F2aW5nLi4uXCJcbikge1xuICBpZiAoaXNMb2FkaW5nKSB7XG4gICAgYnV0dG9uLnRleHRDb250ZW50ID0gbG9hZGluZ1RleHQ7XG4gIH0gZWxzZSB7XG4gICAgYnV0dG9uLnRleHRDb250ZW50ID0gYnV0dG9uVGV4dDtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlU3VibWl0KHJlcXVlc3QsIGV2dCwgbG9hZGluZ1RleHQgPSBcIlNhdmluZy4uLlwiKSB7XG4gIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICBjb25zdCBzdWJtaXRCdXR0b24gPSBldnQuc3VibWl0dGVyO1xuICBjb25zdCBpbml0aWFsVGV4dCA9IHN1Ym1pdEJ1dHRvbi50ZXh0Q29udGVudDtcblxuICByZW5kZXJMb2FkaW5nKHRydWUsIHN1Ym1pdEJ1dHRvbiwgaW5pdGlhbFRleHQsIGxvYWRpbmdUZXh0KTtcblxuICByZXR1cm4gcmVxdWVzdCgpXG4gICAgLmNhdGNoKGNvbnNvbGUuZXJyb3IpXG4gICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgcmVuZGVyTG9hZGluZyhmYWxzZSwgc3VibWl0QnV0dG9uLCBpbml0aWFsVGV4dCk7XG4gICAgfSk7XG59XG4iLCJpbXBvcnQgXCIuL2luZGV4LmNzc1wiOyAvLyBJbXBvcnRpbmcgdGhlIENTUyBmaWxlXHJcbmltcG9ydCB7XHJcbiAgZW5hYmxlVmFsaWRhdGlvbixcclxuICBzZXR0aW5ncyxcclxuICByZXNldFZhbGlkYXRpb24sXHJcbn0gZnJvbSBcIi4uL3NjcmlwdHMvdmFsaWRhdGlvbi5qc1wiOyAvLyBJbXBvcnRpbmcgdmFsaWRhdGlvbiBmdW5jdGlvbnNcclxuaW1wb3J0IEFwaSBmcm9tIFwiLi4vdXRpbHMvQXBpLmpzXCI7IC8vIEltcG9ydGluZyB0aGUgQVBJIGNsYXNzXHJcbmltcG9ydCB7IGhhbmRsZVN1Ym1pdCwgcmVuZGVyTG9hZGluZyB9IGZyb20gXCIuLi91dGlscy91dGlscy5qc1wiOyAvLyBJbXBvcnRpbmcgdXRpbGl0eSBmdW5jdGlvbnNcclxuXHJcbi8vIEltcG9ydGluZyBpbWFnZXMgYW5kIG90aGVyIGFzc2V0c1xyXG5pbXBvcnQgbG9nb1BhdGggZnJvbSBcIi4uL2ltYWdlcy9sb2dvLnN2Z1wiO1xyXG5pbXBvcnQgYXZhdGFyUGF0aCBmcm9tIFwiLi4vaW1hZ2VzL2F2YXRhci5qcGdcIjtcclxuaW1wb3J0IGVkaXRCdXR0b25QYXRoIGZyb20gXCIuLi9pbWFnZXMvZWRpdGJ0bi5zdmdcIjtcclxuaW1wb3J0IGFkZEJ1dHRvblBhdGggZnJvbSBcIi4uL2ltYWdlcy9hZGRidG4uc3ZnXCI7XHJcbmltcG9ydCBlZGl0TGlnaHRCdXR0b25QYXRoIGZyb20gXCIuLi9pbWFnZXMvZWRpdGJ0bi1saWdodC5zdmdcIjtcclxuXHJcbmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIuaGVhZGVyX19sb2dvXCIpLnNyYyA9IGxvZ29QYXRoO1xyXG5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnByb2ZpbGVfX2F2YXRhclwiKS5zcmMgPSBhdmF0YXJQYXRoO1xyXG5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnByb2ZpbGVfX2VkaXQtYnV0dG9uIGltZ1wiKS5zcmMgPSBlZGl0QnV0dG9uUGF0aDtcclxuZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5wcm9maWxlX19hZGQtYnV0dG9uIGltZ1wiKS5zcmMgPSBhZGRCdXR0b25QYXRoO1xyXG5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnByb2ZpbGVfX3BlbmNpbEljb25cIikuc3JjID0gZWRpdExpZ2h0QnV0dG9uUGF0aDtcclxuXHJcbmNvbnN0IGFwaSA9IG5ldyBBcGkoe1xyXG4gIGJhc2VVcmw6IFwiaHR0cHM6Ly9hcm91bmQtYXBpLmVuLnRyaXBsZXRlbi1zZXJ2aWNlcy5jb20vdjFcIixcclxuICBoZWFkZXJzOiB7XHJcbiAgICBhdXRob3JpemF0aW9uOiBcImYxZjFkYmFiLThlMTctNDhkMy1hMDk4LWQ3N2RmZDZlYTNjNVwiLFxyXG4gICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXHJcbiAgfSxcclxufSk7XHJcblxyXG5sZXQgdXNlcklkO1xyXG5cclxuYXBpXHJcbiAgLmdldFVzZXJJbmZvKClcclxuICAudGhlbigodXNlckRhdGEpID0+IHtcclxuICAgIHVzZXJJZCA9IHVzZXJEYXRhLl9pZDtcclxuICAgIHByb2ZpbGVOYW1lLnRleHRDb250ZW50ID0gdXNlckRhdGEubmFtZTtcclxuICAgIHByb2ZpbGVEZXNjcmlwdGlvbi50ZXh0Q29udGVudCA9IHVzZXJEYXRhLmFib3V0O1xyXG4gICAgcHJvZmlsZUF2YXRhci5zcmMgPSB1c2VyRGF0YS5hdmF0YXI7XHJcbiAgICByZXR1cm4gYXBpLmdldEluaXRpYWxDYXJkcygpO1xyXG4gIH0pXHJcbiAgLnRoZW4oKGNhcmRzKSA9PiB7XHJcbiAgICBjYXJkcy5mb3JFYWNoKChjYXJkKSA9PiB7XHJcbiAgICAgIGNvbnN0IGNhcmRFbGVtZW50ID0gZ2V0Q2FyZEVsZW1lbnQoY2FyZCk7XHJcbiAgICAgIGNhcmRzTGlzdC5hcHBlbmQoY2FyZEVsZW1lbnQpO1xyXG4gICAgfSk7XHJcbiAgfSlcclxuICAuY2F0Y2goY29uc29sZS5lcnJvcik7XHJcblxyXG4vLyBQcm9maWxlIFNlbGVjdG9yc1xyXG5jb25zdCBlZGl0TW9kYWxCdXR0b24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnByb2ZpbGVfX2VkaXQtYnV0dG9uXCIpO1xyXG5jb25zdCBjYXJkTW9kYWxCdXR0b24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnByb2ZpbGVfX2FkZC1idXR0b25cIik7XHJcbmNvbnN0IHByb2ZpbGVOYW1lID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5wcm9maWxlX19uYW1lXCIpO1xyXG5jb25zdCBwcm9maWxlRGVzY3JpcHRpb24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnByb2ZpbGVfX2Rlc2NyaXB0aW9uXCIpO1xyXG5cclxuLy8gTW9kYWwgU2VsZWN0b3JzXHJcbi8vIGNvbnN0IG1vZGFscyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCIubW9kYWxcIik7XHJcbmNvbnN0IGNsb3NlQnV0dG9ucyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCIubW9kYWxfX2Nsb3NlLWJ1dHRvblwiKTtcclxuY29uc3QgZGVsZXRlTW9kYWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI2RlbGV0ZS1tb2RhbFwiKTtcclxuY29uc3QgZGVsZXRlRm9ybSA9IGRlbGV0ZU1vZGFsLnF1ZXJ5U2VsZWN0b3IoXCIjZGVsZXRlLWZvcm1cIik7XHJcbmNvbnN0IGNhbmNlbERlbGV0ZUJ1dHRvbiA9IGRlbGV0ZU1vZGFsLnF1ZXJ5U2VsZWN0b3IoXCIubW9kYWxfX2NhbmNlbC1idXR0b25cIik7XHJcbmNvbnN0IGF2YXRhckVkaXRCdXR0b24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnByb2ZpbGVfX2F2YXRhci1idXR0b25cIik7XHJcbmNvbnN0IGF2YXRhck1vZGFsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIiNuZXctYXZhdGFyLW1vZGFsXCIpO1xyXG5jb25zdCBhdmF0YXJGb3JtID0gYXZhdGFyTW9kYWwucXVlcnlTZWxlY3RvcihcIi5tb2RhbF9fZm9ybVwiKTtcclxuY29uc3QgYXZhdGFyTGlua0lucHV0ID0gYXZhdGFyTW9kYWwucXVlcnlTZWxlY3RvcihcIiNuZXctYXZhdGFyLWxpbmstaW5wdXRcIik7XHJcbmNvbnN0IHByb2ZpbGVBdmF0YXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnByb2ZpbGVfX2F2YXRhclwiKTtcclxuXHJcbi8vIE1vZGFsIC0gRWRpdCBQcm9maWxlXHJcbmNvbnN0IGVkaXRNb2RhbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIjZWRpdC1tb2RhbFwiKTtcclxuY29uc3QgZWRpdEZvcm0gPSBlZGl0TW9kYWwucXVlcnlTZWxlY3RvcihcIi5tb2RhbF9fZm9ybVwiKTtcclxuY29uc3QgZWRpdE1vZGFsTmFtZUlucHV0ID0gZWRpdE1vZGFsLnF1ZXJ5U2VsZWN0b3IoXCIjcHJvZmlsZS1uYW1lLWlucHV0XCIpO1xyXG5jb25zdCBlZGl0TW9kYWxEZXNjcmlwdGlvbklucHV0ID0gZWRpdE1vZGFsLnF1ZXJ5U2VsZWN0b3IoXHJcbiAgXCIjcHJvZmlsZS1kZXNjcmlwdGlvbi1pbnB1dFwiXHJcbik7XHJcblxyXG4vLyBNb2RhbCAtIEFkZCBDYXJkXHJcbmNvbnN0IGNhcmRNb2RhbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIjbmV3LWNhcmQtbW9kYWxcIik7XHJcbmNvbnN0IGNhcmRGb3JtID0gY2FyZE1vZGFsLnF1ZXJ5U2VsZWN0b3IoXCIubW9kYWxfX2Zvcm1cIik7XHJcbi8vIGNvbnN0IGNhcmRTdWJtaXRCdXR0b24gPSBjYXJkTW9kYWwucXVlcnlTZWxlY3RvcihcIi5tb2RhbF9fc3VibWl0LWJ1dHRvblwiKTtcclxuY29uc3QgY2FyZExpbmtJbnB1dCA9IGNhcmRNb2RhbC5xdWVyeVNlbGVjdG9yKFwiI25ldy1jYXJkLWxpbmstaW5wdXRcIik7XHJcbmNvbnN0IGNhcmRDYXB0aW9uSW5wdXQgPSBjYXJkTW9kYWwucXVlcnlTZWxlY3RvcihcIiNuZXctY2FyZC1jYXB0aW9uLWlucHV0XCIpO1xyXG5cclxuLy8gTW9kYWwgUHJldmlld1xyXG5jb25zdCBwcmV2aWV3TW9kYWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI3ByZXZpZXctbW9kYWxcIik7XHJcbmNvbnN0IHByZXZpZXdJbWFnZSA9IHByZXZpZXdNb2RhbC5xdWVyeVNlbGVjdG9yKFwiLm1vZGFsX19pbWFnZVwiKTtcclxuY29uc3QgcHJldmlld0NhcHRpb24gPSBwcmV2aWV3TW9kYWwucXVlcnlTZWxlY3RvcihcIi5tb2RhbF9fY2FwdGlvblwiKTtcclxuXHJcbi8vIENhcmRzXHJcbmNvbnN0IGNhcmRUZW1wbGF0ZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIjY2FyZC10ZW1wbGF0ZVwiKTtcclxuY29uc3QgY2FyZHNMaXN0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5jYXJkc19fbGlzdFwiKTtcclxuXHJcbmZ1bmN0aW9uIGdldENhcmRFbGVtZW50KGRhdGEpIHtcclxuICBjb25zdCBjYXJkRWxlbWVudCA9IGNhcmRUZW1wbGF0ZS5jb250ZW50XHJcbiAgICAucXVlcnlTZWxlY3RvcihcIi5jYXJkXCIpXHJcbiAgICAuY2xvbmVOb2RlKHRydWUpO1xyXG4gIGNhcmRFbGVtZW50Ll9pZCA9IGRhdGEuX2lkO1xyXG5cclxuICBjb25zdCBjYXJkVGl0bGUgPSBjYXJkRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiLmNhcmRfX3RpdGxlXCIpO1xyXG4gIGNvbnN0IGNhcmRJbWFnZSA9IGNhcmRFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCIuY2FyZF9faW1hZ2VcIik7XHJcbiAgY29uc3QgY2FyZExpa2VCdXR0b24gPSBjYXJkRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiLmNhcmRfX2xpa2UtYnV0dG9uXCIpO1xyXG4gIGNvbnN0IGNhcmRMaWtlQ291bnQgPSBjYXJkRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiLmNhcmRfX2xpa2UtY291bnRcIik7XHJcbiAgY29uc3QgY2FyZERlbGV0ZUJ1dHRvbiA9IGNhcmRFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCIuY2FyZF9fZGVsZXRlLWJ1dHRvblwiKTtcclxuXHJcbiAgLy8gU2V0IGNhcmQgZGF0YVxyXG4gIGNhcmRUaXRsZS50ZXh0Q29udGVudCA9IGRhdGEubmFtZTtcclxuICBjYXJkSW1hZ2Uuc3JjID0gZGF0YS5saW5rOyAvLyBNYWtlIHN1cmUgdGhpcyBsaW5lIGlzIHByZXNlbnRcclxuICBjYXJkSW1hZ2UuYWx0ID0gZGF0YS5uYW1lO1xyXG5cclxuICAvLyBTZXQgaW5pdGlhbCBsaWtlIHN0YXRlIGFuZCBjb3VudFxyXG4gIGlmIChkYXRhLmlzTGlrZWQpIHtcclxuICAgIGNhcmRMaWtlQnV0dG9uLmNsYXNzTGlzdC5hZGQoXCJjYXJkX19saWtlLWJ1dHRvbl9saWtlZFwiKTtcclxuICAgIGNhcmRMaWtlQ291bnQudGV4dENvbnRlbnQgPSBcIjFcIjsgLy8gU2V0IHRvIDEgaWYgdGhlIGNhcmQgaXMgbGlrZWRcclxuICB9IGVsc2Uge1xyXG4gICAgY2FyZExpa2VDb3VudC50ZXh0Q29udGVudCA9IFwiMFwiOyAvLyBTZXQgdG8gMCBpZiB0aGUgY2FyZCBpcyBub3QgbGlrZWRcclxuICB9XHJcblxyXG4gIGNhcmRMaWtlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCAoKSA9PiB7XHJcbiAgICBjb25zdCBpc0N1cnJlbnRseUxpa2VkID0gY2FyZExpa2VCdXR0b24uY2xhc3NMaXN0LmNvbnRhaW5zKFxyXG4gICAgICBcImNhcmRfX2xpa2UtYnV0dG9uX2xpa2VkXCJcclxuICAgICk7XHJcblxyXG4gICAgY29uc3QgbGlrZUNhcmRQcm9taXNlID0gaXNDdXJyZW50bHlMaWtlZFxyXG4gICAgICA/IGFwaS5kaXNsaWtlQ2FyZChkYXRhLl9pZClcclxuICAgICAgOiBhcGkubGlrZUNhcmQoZGF0YS5faWQpO1xyXG5cclxuICAgIGxpa2VDYXJkUHJvbWlzZVxyXG4gICAgICAudGhlbigodXBkYXRlZENhcmQpID0+IHtcclxuICAgICAgICBjYXJkTGlrZUJ1dHRvbi5jbGFzc0xpc3QudG9nZ2xlKFxyXG4gICAgICAgICAgXCJjYXJkX19saWtlLWJ1dHRvbl9saWtlZFwiLFxyXG4gICAgICAgICAgdXBkYXRlZENhcmQuaXNMaWtlZFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgY2FyZExpa2VDb3VudC50ZXh0Q29udGVudCA9IHVwZGF0ZWRDYXJkLmlzTGlrZWQgPyBcIjFcIiA6IFwiMFwiO1xyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihcIkVycm9yIHVwZGF0aW5nIGxpa2Ugc3RhdHVzOlwiLCBlcnJvcik7XHJcbiAgICAgIH0pO1xyXG4gIH0pO1xyXG5cclxuICAvLyBkZWxldGUgYW5kIHByZXZpZXcgZXZlbnQgbGlzdGVuZXJzXHJcbiAgY2FyZERlbGV0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgKCkgPT4ge1xyXG4gICAgb3Blbk1vZGFsKGRlbGV0ZU1vZGFsKTtcclxuICAgIGRlbGV0ZUZvcm0uX2NhcmRUb0RlbGV0ZSA9IGNhcmRFbGVtZW50O1xyXG4gIH0pO1xyXG5cclxuICBjYXJkSW1hZ2UuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IHtcclxuICAgIG9wZW5Nb2RhbChwcmV2aWV3TW9kYWwpO1xyXG4gICAgcHJldmlld0NhcHRpb24udGV4dENvbnRlbnQgPSBkYXRhLm5hbWU7XHJcbiAgICBwcmV2aWV3SW1hZ2UuYWx0ID0gZGF0YS5uYW1lO1xyXG4gICAgcHJldmlld0ltYWdlLnNyYyA9IGRhdGEubGluaztcclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIGNhcmRFbGVtZW50O1xyXG59XHJcblxyXG5mdW5jdGlvbiBvcGVuTW9kYWwobW9kYWwpIHtcclxuICBtb2RhbC5jbGFzc0xpc3QuYWRkKFwibW9kYWxfb3BlbmVkXCIpO1xyXG5cclxuICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgaGFuZGxlT3ZlcmxheUNsaWNrKTtcclxuICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCBoYW5kbGVFc2NhcGVLZXlQcmVzcyk7XHJcblxyXG4gIG1vZGFsLl9oYW5kbGVPdmVybGF5Q2xpY2sgPSBoYW5kbGVPdmVybGF5Q2xpY2s7XHJcbiAgbW9kYWwuX2hhbmRsZUVzY2FwZUtleVByZXNzID0gaGFuZGxlRXNjYXBlS2V5UHJlc3M7XHJcblxyXG4gIGZ1bmN0aW9uIGhhbmRsZU92ZXJsYXlDbGljayhldmVudCkge1xyXG4gICAgaWYgKGV2ZW50LnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoXCJtb2RhbF9vcGVuZWRcIikpIHtcclxuICAgICAgY2xvc2VNb2RhbChtb2RhbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmdW5jdGlvbiBoYW5kbGVFc2NhcGVLZXlQcmVzcyhldmVudCkge1xyXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gXCJFc2NhcGVcIikge1xyXG4gICAgICBjbG9zZU1vZGFsKG1vZGFsKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNsb3NlTW9kYWwobW9kYWwpIHtcclxuICBtb2RhbC5jbGFzc0xpc3QucmVtb3ZlKFwibW9kYWxfb3BlbmVkXCIpO1xyXG5cclxuICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgbW9kYWwuX2hhbmRsZU92ZXJsYXlDbGljayk7XHJcbiAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgbW9kYWwuX2hhbmRsZUVzY2FwZUtleVByZXNzKTtcclxufVxyXG5cclxuLy8gZnVuY3Rpb24gcmVuZGVyTG9hZGluZyhcclxuLy8gaXNMb2FkaW5nLFxyXG4vLyBidXR0b24sXHJcbi8vIGJ1dHRvblRleHQgPSBcIlNhdmVcIixcclxuLy8gbG9hZGluZ1RleHQgPSBcIlNhdmluZy4uLlwiXHJcbi8vICkge1xyXG4vLyBidXR0b24udGV4dENvbnRlbnQgPSBpc0xvYWRpbmcgPyBsb2FkaW5nVGV4dCA6IGJ1dHRvblRleHQ7XHJcbi8vIH1cclxuXHJcbi8vIFVuaXZlcnNhbCBDbG9zZSBCdXR0b24gSGFuZGxlclxyXG5jbG9zZUJ1dHRvbnMuZm9yRWFjaCgoYnV0dG9uKSA9PiB7XHJcbiAgY29uc3QgbW9kYWwgPSBidXR0b24uY2xvc2VzdChcIi5tb2RhbFwiKTtcclxuICBidXR0b24uYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IGNsb3NlTW9kYWwobW9kYWwpKTtcclxufSk7XHJcblxyXG4vLyBIYW5kbGVyc1xyXG5mdW5jdGlvbiBtYWtlRWRpdFByb2ZpbGVSZXF1ZXN0KCkge1xyXG4gIC8vIEdldCBmb3JtIHZhbHVlc1xyXG4gIGNvbnN0IG5hbWUgPSBlZGl0TW9kYWxOYW1lSW5wdXQudmFsdWU7XHJcbiAgY29uc3QgYWJvdXQgPSBlZGl0TW9kYWxEZXNjcmlwdGlvbklucHV0LnZhbHVlO1xyXG5cclxuICAvLyBNYWtlIEFQSSBjYWxsIHRvIGVkaXQgdXNlciBpbmZvXHJcbiAgcmV0dXJuIGFwaS5lZGl0VXNlckluZm8oeyBuYW1lLCBhYm91dCB9KS50aGVuKCh1c2VyRGF0YSkgPT4ge1xyXG4gICAgLy8gVXBkYXRlIHRoZSBET00gd2l0aCB0aGUgbmV3IHVzZXIgZGF0YVxyXG4gICAgcHJvZmlsZU5hbWUudGV4dENvbnRlbnQgPSB1c2VyRGF0YS5uYW1lO1xyXG4gICAgcHJvZmlsZURlc2NyaXB0aW9uLnRleHRDb250ZW50ID0gdXNlckRhdGEuYWJvdXQ7XHJcbiAgICAvLyBDbG9zZSB0aGUgbW9kYWxcclxuICAgIGNsb3NlTW9kYWwoZWRpdE1vZGFsKTtcclxuICB9KTtcclxufVxyXG5cclxuZnVuY3Rpb24gaGFuZGxlRWRpdEZvcm1TdWJtaXQoZXZ0KSB7XHJcbiAgaGFuZGxlU3VibWl0KG1ha2VFZGl0UHJvZmlsZVJlcXVlc3QsIGV2dCwgXCJTYXZpbmcuLi5cIik7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGhhbmRsZUNhcmRGb3JtU3VibWl0KGV2dCkge1xyXG4gIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIGNvbnN0IHN1Ym1pdEJ1dHRvbiA9IGNhcmRGb3JtLnF1ZXJ5U2VsZWN0b3IoXCIubW9kYWxfX3N1Ym1pdC1idXR0b25cIik7XHJcbiAgcmVuZGVyTG9hZGluZyh0cnVlLCBzdWJtaXRCdXR0b24pO1xyXG5cclxuICBhcGlcclxuICAgIC5hZGRDYXJkKHtcclxuICAgICAgbmFtZTogY2FyZENhcHRpb25JbnB1dC52YWx1ZSxcclxuICAgICAgbGluazogY2FyZExpbmtJbnB1dC52YWx1ZSxcclxuICAgIH0pXHJcbiAgICAudGhlbigoY2FyZERhdGEpID0+IHtcclxuICAgICAgY29uc3QgY2FyZEVsZW1lbnQgPSBnZXRDYXJkRWxlbWVudChjYXJkRGF0YSk7XHJcbiAgICAgIGNhcmRzTGlzdC5wcmVwZW5kKGNhcmRFbGVtZW50KTtcclxuICAgICAgZXZ0LnRhcmdldC5yZXNldCgpO1xyXG4gICAgICBjbG9zZU1vZGFsKGNhcmRNb2RhbCk7XHJcbiAgICB9KVxyXG4gICAgLmNhdGNoKGNvbnNvbGUuZXJyb3IpXHJcbiAgICAuZmluYWxseSgoKSA9PiB7XHJcbiAgICAgIHJlbmRlckxvYWRpbmcoZmFsc2UsIHN1Ym1pdEJ1dHRvbik7XHJcbiAgICB9KTtcclxufVxyXG5cclxuLy8gRWRpdCBNb2RhbCBMaXN0ZW5lcnNcclxuZWRpdE1vZGFsQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCAoKSA9PiB7XHJcbiAgZWRpdE1vZGFsTmFtZUlucHV0LnZhbHVlID0gcHJvZmlsZU5hbWUudGV4dENvbnRlbnQ7XHJcbiAgZWRpdE1vZGFsRGVzY3JpcHRpb25JbnB1dC52YWx1ZSA9IHByb2ZpbGVEZXNjcmlwdGlvbi50ZXh0Q29udGVudDtcclxuICByZXNldFZhbGlkYXRpb24oXHJcbiAgICBlZGl0Rm9ybSxcclxuICAgIFtlZGl0TW9kYWxOYW1lSW5wdXQsIGVkaXRNb2RhbERlc2NyaXB0aW9uSW5wdXRdLFxyXG4gICAgc2V0dGluZ3NcclxuICApO1xyXG4gIG9wZW5Nb2RhbChlZGl0TW9kYWwpO1xyXG59KTtcclxuXHJcbi8vIEF2YXRhciBNb2RhbCBMaXN0ZW5lclxyXG5hdmF0YXJFZGl0QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCAoKSA9PiB7XHJcbiAgb3Blbk1vZGFsKGF2YXRhck1vZGFsKTtcclxufSk7XHJcblxyXG4vLyBDYXJkIE1vZGFsIExpc3RlbmVyc1xyXG5jYXJkTW9kYWxCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IHtcclxuICBvcGVuTW9kYWwoY2FyZE1vZGFsKTtcclxufSk7XHJcblxyXG5jYW5jZWxEZWxldGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IHtcclxuICBjbG9zZU1vZGFsKGRlbGV0ZU1vZGFsKTtcclxufSk7XHJcblxyXG4vLyBGb3JtIExpc3RlbmVyc1xyXG5lZGl0Rm9ybS5hZGRFdmVudExpc3RlbmVyKFwic3VibWl0XCIsIGhhbmRsZUVkaXRGb3JtU3VibWl0KTtcclxuY2FyZEZvcm0uYWRkRXZlbnRMaXN0ZW5lcihcInN1Ym1pdFwiLCBoYW5kbGVDYXJkRm9ybVN1Ym1pdCk7XHJcblxyXG5kZWxldGVGb3JtLmFkZEV2ZW50TGlzdGVuZXIoXCJzdWJtaXRcIiwgKGV2dCkgPT4ge1xyXG4gIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIGNvbnN0IHN1Ym1pdEJ1dHRvbiA9IGRlbGV0ZUZvcm0ucXVlcnlTZWxlY3RvcihcIi5tb2RhbF9fc3VibWl0LWJ1dHRvblwiKTtcclxuICByZW5kZXJMb2FkaW5nKHRydWUsIHN1Ym1pdEJ1dHRvbiwgXCJEZWxldGVcIiwgXCJEZWxldGluZy4uLlwiKTtcclxuXHJcbiAgYXBpXHJcbiAgICAucmVtb3ZlQ2FyZChkZWxldGVGb3JtLl9jYXJkVG9EZWxldGUuX2lkKSAvLyBDaGFuZ2VkIGZyb20gZGVsZXRlQ2FyZCB0byByZW1vdmVDYXJkXHJcbiAgICAudGhlbigoKSA9PiB7XHJcbiAgICAgIGhhbmRsZVN1Ym1pdCgoKSA9PiB7XHJcbiAgICAgICAgZGVsZXRlRm9ybS5fY2FyZFRvRGVsZXRlLnJlbW92ZSgpO1xyXG4gICAgICB9KTtcclxuICAgICAgY2xvc2VNb2RhbChkZWxldGVNb2RhbCk7XHJcbiAgICB9KVxyXG4gICAgLmNhdGNoKGNvbnNvbGUuZXJyb3IpXHJcbiAgICAuZmluYWxseSgoKSA9PiB7XHJcbiAgICAgIHJlbmRlckxvYWRpbmcoZmFsc2UsIHN1Ym1pdEJ1dHRvbiwgXCJEZWxldGVcIik7XHJcbiAgICB9KTtcclxufSk7XHJcblxyXG4vLyBBdmF0YXIgRm9ybSBTdWJtaXQgSGFuZGxlclxyXG5hdmF0YXJGb3JtLmFkZEV2ZW50TGlzdGVuZXIoXCJzdWJtaXRcIiwgKGV2dCkgPT4ge1xyXG4gIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIGNvbnN0IHN1Ym1pdEJ1dHRvbiA9IGF2YXRhckZvcm0ucXVlcnlTZWxlY3RvcihcIi5tb2RhbF9fc3VibWl0LWJ1dHRvblwiKTtcclxuICByZW5kZXJMb2FkaW5nKHRydWUsIHN1Ym1pdEJ1dHRvbik7XHJcblxyXG4gIGFwaVxyXG4gICAgLnVwZGF0ZUF2YXRhcih7XHJcbiAgICAgIGF2YXRhcjogYXZhdGFyTGlua0lucHV0LnZhbHVlLFxyXG4gICAgfSlcclxuICAgIC50aGVuKCh1c2VyRGF0YSkgPT4ge1xyXG4gICAgICBwcm9maWxlQXZhdGFyLnNyYyA9IHVzZXJEYXRhLmF2YXRhcjtcclxuICAgICAgZXZ0LnRhcmdldC5yZXNldCgpO1xyXG4gICAgICBjbG9zZU1vZGFsKGF2YXRhck1vZGFsKTtcclxuICAgIH0pXHJcbiAgICAuY2F0Y2goY29uc29sZS5lcnJvcilcclxuICAgIC5maW5hbGx5KCgpID0+IHtcclxuICAgICAgcmVuZGVyTG9hZGluZyhmYWxzZSwgc3VibWl0QnV0dG9uKTtcclxuICAgIH0pO1xyXG59KTtcclxuXHJcbmVuYWJsZVZhbGlkYXRpb24oc2V0dGluZ3MpO1xyXG4iLCJjbGFzcyBBcGkge1xyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcclxuICAgIHRoaXMuX2Jhc2VVcmwgPSBvcHRpb25zLmJhc2VVcmw7XHJcbiAgICB0aGlzLl9oZWFkZXJzID0gb3B0aW9ucy5oZWFkZXJzO1xyXG4gIH1cclxuXHJcbiAgX2NoZWNrUmVzcG9uc2UocmVzKSB7XHJcbiAgICBpZiAocmVzLm9rKSB7XHJcbiAgICAgIHJldHVybiByZXMuanNvbigpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGBFcnJvcjogJHtyZXMuc3RhdHVzfWApO1xyXG4gIH1cclxuXHJcbiAgX3JlcXVlc3QoZW5kcG9pbnQsIG9wdGlvbnMgPSB7fSkge1xyXG4gICAgY29uc3QgZmluYWxPcHRpb25zID0ge1xyXG4gICAgICBoZWFkZXJzOiB0aGlzLl9oZWFkZXJzLFxyXG4gICAgICAuLi5vcHRpb25zLFxyXG4gICAgfTtcclxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuX2Jhc2VVcmx9JHtlbmRwb2ludH1gO1xyXG4gICAgcmV0dXJuIGZldGNoKHVybCwgZmluYWxPcHRpb25zKS50aGVuKHRoaXMuX2NoZWNrUmVzcG9uc2UpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VXNlckluZm8oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVxdWVzdChcIi91c2Vycy9tZVwiKTtcclxuICB9XHJcblxyXG4gIGdldEluaXRpYWxDYXJkcygpIHtcclxuICAgIHJldHVybiB0aGlzLl9yZXF1ZXN0KFwiL2NhcmRzXCIsIHtcclxuICAgICAgbWV0aG9kOiBcIkdFVFwiLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBQQVRDSCAvdXNlcnMvbWVcclxuICBlZGl0VXNlckluZm8oeyBuYW1lLCBhYm91dCB9KSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVxdWVzdChcIi91c2Vycy9tZVwiLCB7XHJcbiAgICAgIG1ldGhvZDogXCJQQVRDSFwiLFxyXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7IG5hbWUsIGFib3V0IH0pLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBQQVRDSCAvdXNlcnMvbWUvYXZhdGFyXHJcbiAgdXBkYXRlQXZhdGFyKHsgYXZhdGFyIH0pIHtcclxuICAgIHJldHVybiB0aGlzLl9yZXF1ZXN0KFwiL3VzZXJzL21lL2F2YXRhclwiLCB7XHJcbiAgICAgIG1ldGhvZDogXCJQQVRDSFwiLFxyXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7IGF2YXRhciB9KSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gUE9TVCAvY2FyZHNcclxuICBhZGRDYXJkKHsgbmFtZSwgbGluayB9KSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVxdWVzdChcIi9jYXJkc1wiLCB7XHJcbiAgICAgIG1ldGhvZDogXCJQT1NUXCIsXHJcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgbmFtZSwgbGluayB9KSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gREVMRVRFIC9jYXJkcy86Y2FyZElkXHJcbiAgcmVtb3ZlQ2FyZChjYXJkSWQpIHtcclxuICAgIHJldHVybiBmZXRjaChgJHt0aGlzLl9iYXNlVXJsfS9jYXJkcy8ke2NhcmRJZH1gLCB7XHJcbiAgICAgIG1ldGhvZDogXCJERUxFVEVcIixcclxuICAgICAgaGVhZGVyczogdGhpcy5faGVhZGVycyxcclxuICAgIH0pLnRoZW4odGhpcy5fY2hlY2tSZXNwb25zZSk7XHJcbiAgfVxyXG5cclxuICAvLyBQVVQgL2NhcmRzLzpjYXJkSWQvbGlrZXNcclxuICBsaWtlQ2FyZChjYXJkSWQpIHtcclxuICAgIHJldHVybiB0aGlzLl9yZXF1ZXN0KGAvY2FyZHMvJHtjYXJkSWR9L2xpa2VzYCwge1xyXG4gICAgICBtZXRob2Q6IFwiUFVUXCIsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIERFTEVURSAvY2FyZHMvOmNhcmRJZC9saWtlc1xyXG4gIGRpc2xpa2VDYXJkKGNhcmRJZCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3JlcXVlc3QoYC9jYXJkcy8ke2NhcmRJZH0vbGlrZXNgLCB7XHJcbiAgICAgIG1ldGhvZDogXCJERUxFVEVcIixcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gSGVscGVyOiBGZXRjaCBpbml0aWFsIGRhdGEgc2ltdWx0YW5lb3VzbHkgKHVzZXIgaW5mbyAmIGNhcmRzKVxyXG4gIGZldGNoSW5pdGlhbERhdGEoKSB7XHJcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoW3RoaXMuZ2V0VXNlckluZm8oKSwgdGhpcy5nZXRJbml0aWFsQ2FyZHMoKV0pO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgQXBpO1xyXG4iXSwibmFtZXMiOlsiX193ZWJwYWNrX3JlcXVpcmVfXyIsInNldHRpbmdzIiwiZm9ybVNlbGVjdG9yIiwiaW5wdXRTZWxlY3RvciIsInN1Ym1pdEJ1dHRvblNlbGVjdG9yIiwiaW5hY3RpdmVCdXR0b25DbGFzcyIsImlucHV0RXJyb3JDbGFzcyIsImVycm9yQ2xhc3MiLCJsb2dFcnJvciIsIm1lc3NhZ2UiLCJjb25zb2xlIiwiZXJyb3IiLCJoaWRlSW5wdXRFcnJvciIsImZvcm1FbGVtZW50IiwiaW5wdXRFbGVtZW50IiwiY29uZmlnIiwiZXJyb3JNZXNzYWdlRWxlbWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJpZCIsInRleHRDb250ZW50IiwicmVtb3ZlQXR0cmlidXRlIiwiY2xhc3NMaXN0IiwicmVtb3ZlIiwidG9nZ2xlQnV0dG9uU3RhdGUiLCJpbnB1dExpc3QiLCJidXR0b25FbGVtZW50Iiwic29tZSIsImlucHV0IiwidmFsaWRpdHkiLCJ2YWxpZCIsImhhc0ludmFsaWRJbnB1dCIsImRpc2FibGVCdXR0b24iLCJkaXNhYmxlZCIsImFkZCIsInJlc2V0VmFsaWRhdGlvbiIsImZvckVhY2giLCJyZW5kZXJMb2FkaW5nIiwiaXNMb2FkaW5nIiwiYnV0dG9uIiwiYnV0dG9uVGV4dCIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsImxvYWRpbmdUZXh0IiwiaGFuZGxlU3VibWl0IiwicmVxdWVzdCIsImV2dCIsInByZXZlbnREZWZhdWx0Iiwic3VibWl0QnV0dG9uIiwic3VibWl0dGVyIiwiaW5pdGlhbFRleHQiLCJjYXRjaCIsImZpbmFsbHkiLCJkb2N1bWVudCIsInNyYyIsImxvZ29QYXRoIiwiYXZhdGFyUGF0aCIsImVkaXRCdXR0b25QYXRoIiwiYWRkQnV0dG9uUGF0aCIsImVkaXRMaWdodEJ1dHRvblBhdGgiLCJhcGkiLCJjb25zdHJ1Y3RvciIsIm9wdGlvbnMiLCJ0aGlzIiwiX2Jhc2VVcmwiLCJiYXNlVXJsIiwiX2hlYWRlcnMiLCJoZWFkZXJzIiwiX2NoZWNrUmVzcG9uc2UiLCJyZXMiLCJvayIsImpzb24iLCJQcm9taXNlIiwicmVqZWN0Iiwic3RhdHVzIiwiX3JlcXVlc3QiLCJlbmRwb2ludCIsImZpbmFsT3B0aW9ucyIsInVybCIsImZldGNoIiwidGhlbiIsImdldFVzZXJJbmZvIiwiZ2V0SW5pdGlhbENhcmRzIiwibWV0aG9kIiwiZWRpdFVzZXJJbmZvIiwiX3JlZiIsIm5hbWUiLCJhYm91dCIsImJvZHkiLCJKU09OIiwic3RyaW5naWZ5IiwidXBkYXRlQXZhdGFyIiwiX3JlZjIiLCJhdmF0YXIiLCJhZGRDYXJkIiwiX3JlZjMiLCJsaW5rIiwicmVtb3ZlQ2FyZCIsImNhcmRJZCIsImxpa2VDYXJkIiwiZGlzbGlrZUNhcmQiLCJmZXRjaEluaXRpYWxEYXRhIiwiYWxsIiwiYXV0aG9yaXphdGlvbiIsInVzZXJJZCIsInVzZXJEYXRhIiwiX2lkIiwicHJvZmlsZU5hbWUiLCJwcm9maWxlRGVzY3JpcHRpb24iLCJwcm9maWxlQXZhdGFyIiwiY2FyZHMiLCJjYXJkIiwiY2FyZEVsZW1lbnQiLCJnZXRDYXJkRWxlbWVudCIsImNhcmRzTGlzdCIsImFwcGVuZCIsImVkaXRNb2RhbEJ1dHRvbiIsImNhcmRNb2RhbEJ1dHRvbiIsImNsb3NlQnV0dG9ucyIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJkZWxldGVNb2RhbCIsImRlbGV0ZUZvcm0iLCJjYW5jZWxEZWxldGVCdXR0b24iLCJhdmF0YXJFZGl0QnV0dG9uIiwiYXZhdGFyTW9kYWwiLCJhdmF0YXJGb3JtIiwiYXZhdGFyTGlua0lucHV0IiwiZWRpdE1vZGFsIiwiZWRpdEZvcm0iLCJlZGl0TW9kYWxOYW1lSW5wdXQiLCJlZGl0TW9kYWxEZXNjcmlwdGlvbklucHV0IiwiY2FyZE1vZGFsIiwiY2FyZEZvcm0iLCJjYXJkTGlua0lucHV0IiwiY2FyZENhcHRpb25JbnB1dCIsInByZXZpZXdNb2RhbCIsInByZXZpZXdJbWFnZSIsInByZXZpZXdDYXB0aW9uIiwiY2FyZFRlbXBsYXRlIiwiZGF0YSIsImNvbnRlbnQiLCJjbG9uZU5vZGUiLCJjYXJkVGl0bGUiLCJjYXJkSW1hZ2UiLCJjYXJkTGlrZUJ1dHRvbiIsImNhcmRMaWtlQ291bnQiLCJjYXJkRGVsZXRlQnV0dG9uIiwiYWx0IiwiaXNMaWtlZCIsImFkZEV2ZW50TGlzdGVuZXIiLCJjb250YWlucyIsInVwZGF0ZWRDYXJkIiwidG9nZ2xlIiwib3Blbk1vZGFsIiwiX2NhcmRUb0RlbGV0ZSIsIm1vZGFsIiwiaGFuZGxlT3ZlcmxheUNsaWNrIiwiZXZlbnQiLCJ0YXJnZXQiLCJjbG9zZU1vZGFsIiwiaGFuZGxlRXNjYXBlS2V5UHJlc3MiLCJrZXkiLCJfaGFuZGxlT3ZlcmxheUNsaWNrIiwiX2hhbmRsZUVzY2FwZUtleVByZXNzIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIm1ha2VFZGl0UHJvZmlsZVJlcXVlc3QiLCJ2YWx1ZSIsImNsb3Nlc3QiLCJjYXJkRGF0YSIsInByZXBlbmQiLCJyZXNldCIsIkFycmF5IiwiZnJvbSIsInNldEV2ZW50TGlzdGVuZXJzIiwiY2hlY2tJbnB1dFZhbGlkaXR5Iiwic2hvd0lucHV0RXJyb3IiLCJlcnJvck1lc3NhZ2UiLCJzZXRBdHRyaWJ1dGUiLCJ2YWxpZGF0aW9uTWVzc2FnZSJdLCJzb3VyY2VSb290IjoiIn0= \ No newline at end of file +!function(){"use strict";var e="/se_project_spots/";const t={formSelector:".modal__form",inputSelector:".modal__input",submitButtonSelector:".modal__submit-button",inactiveButtonClass:"modal__submit-button_disabled",inputErrorClass:"modal__input_type_error",errorClass:"modal__error"},r=e=>{console.error(`Validation Error: ${e}`)},o=(e,t,o)=>{const n=e.querySelector(`#${t.id}-error`);n?(n.textContent="",n.removeAttribute("role"),t.classList.remove(o.inputErrorClass)):r(`Error message element for input ${t.id} not found.`)},n=(e,t,r)=>{(e=>e.some((e=>!e.validity.valid)))(e)?a(t,r):(t.disabled=!1,t.classList.remove(r.inactiveButtonClass))},a=(e,t)=>{e.disabled=!0,e.classList.add(t.inactiveButtonClass)},c=(e,t,r)=>{t.forEach((t=>{o(e,t,r)}));const n=e.querySelector(r.submitButtonSelector);a(n,r)};function s(e,t,r="Save",o="Saving..."){t.textContent=e?o:r}function l(e,t,r="Saving..."){t.preventDefault();const o=t.submitter,n=o.textContent;return s(!0,o,n,r),e().catch(console.error).finally((()=>{s(!1,o,n)}))}var i=e+"5e2464bff616faf70484.svg",d=e+"2fc47fd8e9a9bcd9612f.jpg",u=e+"49e44e5e03758262e8bf.svg",m=e+"975792ea68af0a3c209d.svg",_=e+"c81b22e9874268723f8d.svg";document.querySelector(".header__logo").src=i,document.querySelector(".profile__avatar").src=d,document.querySelector(".profile__edit-button img").src=u,document.querySelector(".profile__add-button img").src=m,document.querySelector(".profile__pencilIcon").src=_;const v=new class{constructor(e){this._baseUrl=e.baseUrl,this._headers=e.headers}_checkResponse(e){return e.ok?e.json():Promise.reject(`Error: ${e.status}`)}_request(e,t={}){const r={headers:this._headers,...t},o=`${this._baseUrl}${e}`;return fetch(o,r).then(this._checkResponse)}getUserInfo(){return this._request("/users/me")}getInitialCards(){return this._request("/cards",{method:"GET"})}editUserInfo({name:e,about:t}){return this._request("/users/me",{method:"PATCH",body:JSON.stringify({name:e,about:t})})}updateAvatar({avatar:e}){return this._request("/users/me/avatar",{method:"PATCH",body:JSON.stringify({avatar:e})})}addCard({name:e,link:t}){return this._request("/cards",{method:"POST",body:JSON.stringify({name:e,link:t})})}removeCard(e){return fetch(`${this._baseUrl}/cards/${e}`,{method:"DELETE",headers:this._headers}).then(this._checkResponse)}likeCard(e){return this._request(`/cards/${e}/likes`,{method:"PUT"})}dislikeCard(e){return this._request(`/cards/${e}/likes`,{method:"DELETE"})}fetchInitialData(){return Promise.all([this.getUserInfo(),this.getInitialCards()])}}({baseUrl:"https://around-api.en.tripleten-services.com/v1",headers:{authorization:"f1f1dbab-8e17-48d3-a098-d77dfd6ea3c5","Content-Type":"application/json"}});let f;v.getUserInfo().then((e=>(f=e._id,h.textContent=e.name,S.textContent=e.about,D.src=e.avatar,v.getInitialCards()))).then((e=>{e.forEach((e=>{const t=H(e);R.append(t)}))})).catch(console.error);const y=document.querySelector(".profile__edit-button"),p=document.querySelector(".profile__add-button"),h=document.querySelector(".profile__name"),S=document.querySelector(".profile__description"),q=document.querySelectorAll(".modal__close-button"),b=document.querySelector("#delete-modal"),k=b.querySelector("#delete-form"),E=b.querySelector(".modal__cancel-button"),C=document.querySelector(".profile__avatar-button"),L=document.querySelector("#new-avatar-modal"),g=L.querySelector(".modal__form"),x=L.querySelector("#new-avatar-link-input"),D=document.querySelector(".profile__avatar"),A=document.querySelector("#edit-modal"),$=A.querySelector(".modal__form"),T=A.querySelector("#profile-name-input"),U=A.querySelector("#profile-description-input"),I=document.querySelector("#new-card-modal"),w=I.querySelector(".modal__form"),P=I.querySelector("#new-card-link-input"),B=I.querySelector("#new-card-caption-input"),O=document.querySelector("#preview-modal"),j=O.querySelector(".modal__image"),N=O.querySelector(".modal__caption"),J=document.querySelector("#card-template"),R=document.querySelector(".cards__list");function H(e){const t=J.content.querySelector(".card").cloneNode(!0);t._id=e._id;const r=t.querySelector(".card__title"),o=t.querySelector(".card__image"),n=t.querySelector(".card__like-button"),a=t.querySelector(".card__like-count"),c=t.querySelector(".card__delete-button");return r.textContent=e.name,o.src=e.link,o.alt=e.name,e.isLiked?(n.classList.add("card__like-button_liked"),a.textContent="1"):a.textContent="0",n.addEventListener("click",(()=>{(n.classList.contains("card__like-button_liked")?v.dislikeCard(e._id):v.likeCard(e._id)).then((e=>{n.classList.toggle("card__like-button_liked",e.isLiked),a.textContent=e.isLiked?"1":"0"})).catch((e=>{console.error("Error updating like status:",e)}))})),c.addEventListener("click",(()=>{K(b),k._cardToDelete=t})),o.addEventListener("click",(()=>{K(O),N.textContent=e.name,j.alt=e.name,j.src=e.link})),t}function K(e){function t(t){t.target.classList.contains("modal_opened")&&z(e)}function r(t){"Escape"===t.key&&z(e)}e.classList.add("modal_opened"),document.addEventListener("click",t),document.addEventListener("keydown",r),e._handleOverlayClick=t,e._handleEscapeKeyPress=r}function z(e){e.classList.remove("modal_opened"),document.removeEventListener("click",e._handleOverlayClick),document.removeEventListener("keydown",e._handleEscapeKeyPress)}function G(){const e=T.value,t=U.value;return v.editUserInfo({name:e,about:t}).then((e=>{h.textContent=e.name,S.textContent=e.about,z(A)}))}var M;q.forEach((e=>{const t=e.closest(".modal");e.addEventListener("click",(()=>z(t)))})),y.addEventListener("click",(()=>{T.value=h.textContent,U.value=S.textContent,c($,[T,U],t),K(A)})),C.addEventListener("click",(()=>{K(L)})),p.addEventListener("click",(()=>{K(I)})),E.addEventListener("click",(()=>{z(b)})),$.addEventListener("submit",(function(e){l(G,e,"Saving...")})),w.addEventListener("submit",(function(e){e.preventDefault();const t=w.querySelector(".modal__submit-button");s(!0,t),v.addCard({name:B.value,link:P.value}).then((t=>{const r=H(t);R.prepend(r),e.target.reset(),z(I)})).catch(console.error).finally((()=>{s(!1,t)}))})),k.addEventListener("submit",(e=>{e.preventDefault();const t=k.querySelector(".modal__submit-button");s(!0,t,"Delete","Deleting..."),v.removeCard(k._cardToDelete._id).then((()=>{l((()=>{k._cardToDelete.remove()})),z(b)})).catch(console.error).finally((()=>{s(!1,t,"Delete")}))})),g.addEventListener("submit",(e=>{e.preventDefault();const t=g.querySelector(".modal__submit-button");s(!0,t),v.updateAvatar({avatar:x.value}).then((t=>{D.src=t.avatar,e.target.reset(),z(L)})).catch(console.error).finally((()=>{s(!1,t)}))})),M=t,document.querySelectorAll(M.formSelector).forEach((e=>{const t=Array.from(e.querySelectorAll(M.inputSelector));((e,t)=>{const a=Array.from(e.querySelectorAll(t.inputSelector)),c=e.querySelector(t.submitButtonSelector);n(a,c,t),a.forEach((s=>{s.addEventListener("input",(()=>{((e,t,n)=>{t.validity.valid?o(e,t,n):((e,t,o,n)=>{const a=e.querySelector(`#${t.id}-error`);a?(a.textContent=o,a.setAttribute("role","alert"),t.classList.add(n.inputErrorClass)):r(`Error message element for input ${t.id} not found.`)})(e,t,t.validationMessage,n)})(e,s,t),n(a,c,t)}))}))})(e,M),e.addEventListener("reset",(()=>{c(e,t,M)}))}))}(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,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LEVBQU9aLGdCQXRCaEJvSyxFQUFDMUosRUFBYUUsS0FDdEMsTUFBTVMsRUFBWTZJLE1BQU1DLEtBQ3RCekosRUFBWW9HLGlCQUFpQmxHLEVBQU9aLGdCQUVoQ3NCLEVBQWdCWixFQUFZSSxjQUFjRixFQUFPWCxzQkFFdkRtQixFQUFrQkMsRUFBV0MsRUFBZVYsR0FFNUNTLEVBQVVXLFNBQVNyQixJQUNqQkEsRUFBYWlJLGlCQUFpQixTQUFTLEtBdERoQnlCLEVBQUMzSixFQUFhQyxFQUFjQyxLQUNoREQsRUFBYWMsU0FBU0MsTUFRekJqQixFQUFlQyxFQUFhQyxFQUFjQyxHQXpDdkIwSixFQUFDNUosRUFBYUMsRUFBYzRKLEVBQWMzSixLQUMvRCxNQUFNQyxFQUFzQkgsRUFBWUksY0FDdEMsSUFBSUgsRUFBYUksWUFHZEYsR0FLTEEsRUFBb0JHLFlBQWN1SixFQUNsQzFKLEVBQW9CMkosYUFBYSxPQUFRLFNBQ3pDN0osRUFBYU8sVUFBVVksSUFBSWxCLEVBQU9ULGtCQU5oQ0UsRUFBUyxtQ0FBbUNNLEVBQWFJLGdCQU1ULEVBc0JoRHVKLENBQ0U1SixFQUNBQyxFQUNBQSxFQUFhOEosa0JBQ2I3SixFQUlKLEVBNkNJeUosQ0FBbUIzSixFQUFhQyxFQUFjQyxHQUM5Q1EsRUFBa0JDLEVBQVdDLEVBQWVWLEVBQU8sR0FDbkQsR0FDRixFQVdBd0osQ0FBa0IxSixFQUFhRSxHQUcvQkYsRUFBWWtJLGlCQUFpQixTQUFTLEtBQ3BDN0csRUFBZ0JyQixFQUFhVyxFQUFXVCxFQUFPLEdBQy9DLEciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9zZV9wcm9qZWN0X3Nwb3RzL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL3NlX3Byb2plY3Rfc3BvdHMvd2VicGFjay9ydW50aW1lL3B1YmxpY1BhdGgiLCJ3ZWJwYWNrOi8vc2VfcHJvamVjdF9zcG90cy8uL3NyYy9zY3JpcHRzL3ZhbGlkYXRpb24uanMiLCJ3ZWJwYWNrOi8vc2VfcHJvamVjdF9zcG90cy8uL3NyYy91dGlscy91dGlscy5qcyIsIndlYnBhY2s6Ly9zZV9wcm9qZWN0X3Nwb3RzLy4vc3JjL3BhZ2VzL2luZGV4LmpzIiwid2VicGFjazovL3NlX3Byb2plY3Rfc3BvdHMvLi9zcmMvdXRpbHMvQXBpLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRoZSByZXF1aXJlIHNjb3BlXG52YXIgX193ZWJwYWNrX3JlcXVpcmVfXyA9IHt9O1xuXG4iLCJfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIi9zZV9wcm9qZWN0X3Nwb3RzL1wiOyIsImV4cG9ydCBjb25zdCBzZXR0aW5ncyA9IHtcclxuICBmb3JtU2VsZWN0b3I6IFwiLm1vZGFsX19mb3JtXCIsXHJcbiAgaW5wdXRTZWxlY3RvcjogXCIubW9kYWxfX2lucHV0XCIsXHJcbiAgc3VibWl0QnV0dG9uU2VsZWN0b3I6IFwiLm1vZGFsX19zdWJtaXQtYnV0dG9uXCIsXHJcbiAgaW5hY3RpdmVCdXR0b25DbGFzczogXCJtb2RhbF9fc3VibWl0LWJ1dHRvbl9kaXNhYmxlZFwiLFxyXG4gIGlucHV0RXJyb3JDbGFzczogXCJtb2RhbF9faW5wdXRfdHlwZV9lcnJvclwiLFxyXG4gIGVycm9yQ2xhc3M6IFwibW9kYWxfX2Vycm9yXCIsXHJcbn07XHJcblxyXG4vLyBVdGlsaXR5IGZvciBsb2dnaW5nIGVycm9yc1xyXG5jb25zdCBsb2dFcnJvciA9IChtZXNzYWdlKSA9PiB7XHJcbiAgY29uc29sZS5lcnJvcihgVmFsaWRhdGlvbiBFcnJvcjogJHttZXNzYWdlfWApO1xyXG59O1xyXG5cclxuLy8gU2hvdyBpbnB1dCBlcnJvciBtZXNzYWdlXHJcbmNvbnN0IHNob3dJbnB1dEVycm9yID0gKGZvcm1FbGVtZW50LCBpbnB1dEVsZW1lbnQsIGVycm9yTWVzc2FnZSwgY29uZmlnKSA9PiB7XHJcbiAgY29uc3QgZXJyb3JNZXNzYWdlRWxlbWVudCA9IGZvcm1FbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXHJcbiAgICBgIyR7aW5wdXRFbGVtZW50LmlkfS1lcnJvcmBcclxuICApO1xyXG5cclxuICBpZiAoIWVycm9yTWVzc2FnZUVsZW1lbnQpIHtcclxuICAgIGxvZ0Vycm9yKGBFcnJvciBtZXNzYWdlIGVsZW1lbnQgZm9yIGlucHV0ICR7aW5wdXRFbGVtZW50LmlkfSBub3QgZm91bmQuYCk7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICBlcnJvck1lc3NhZ2VFbGVtZW50LnRleHRDb250ZW50ID0gZXJyb3JNZXNzYWdlO1xyXG4gIGVycm9yTWVzc2FnZUVsZW1lbnQuc2V0QXR0cmlidXRlKFwicm9sZVwiLCBcImFsZXJ0XCIpOyAvLyBBY2Nlc3NpYmlsaXR5IGVuaGFuY2VtZW50XHJcbiAgaW5wdXRFbGVtZW50LmNsYXNzTGlzdC5hZGQoY29uZmlnLmlucHV0RXJyb3JDbGFzcyk7XHJcbn07XHJcblxyXG4vLyBIaWRlIGlucHV0IGVycm9yIG1lc3NhZ2VcclxuY29uc3QgaGlkZUlucHV0RXJyb3IgPSAoZm9ybUVsZW1lbnQsIGlucHV0RWxlbWVudCwgY29uZmlnKSA9PiB7XHJcbiAgY29uc3QgZXJyb3JNZXNzYWdlRWxlbWVudCA9IGZvcm1FbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXHJcbiAgICBgIyR7aW5wdXRFbGVtZW50LmlkfS1lcnJvcmBcclxuICApO1xyXG5cclxuICBpZiAoIWVycm9yTWVzc2FnZUVsZW1lbnQpIHtcclxuICAgIGxvZ0Vycm9yKGBFcnJvciBtZXNzYWdlIGVsZW1lbnQgZm9yIGlucHV0ICR7aW5wdXRFbGVtZW50LmlkfSBub3QgZm91bmQuYCk7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICBlcnJvck1lc3NhZ2VFbGVtZW50LnRleHRDb250ZW50ID0gXCJcIjtcclxuICBlcnJvck1lc3NhZ2VFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShcInJvbGVcIik7XHJcbiAgaW5wdXRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoY29uZmlnLmlucHV0RXJyb3JDbGFzcyk7XHJcbn07XHJcblxyXG4vLyBDaGVjayBpbnB1dCB2YWxpZGl0eVxyXG5jb25zdCBjaGVja0lucHV0VmFsaWRpdHkgPSAoZm9ybUVsZW1lbnQsIGlucHV0RWxlbWVudCwgY29uZmlnKSA9PiB7XHJcbiAgaWYgKCFpbnB1dEVsZW1lbnQudmFsaWRpdHkudmFsaWQpIHtcclxuICAgIHNob3dJbnB1dEVycm9yKFxyXG4gICAgICBmb3JtRWxlbWVudCxcclxuICAgICAgaW5wdXRFbGVtZW50LFxyXG4gICAgICBpbnB1dEVsZW1lbnQudmFsaWRhdGlvbk1lc3NhZ2UsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKTtcclxuICB9IGVsc2Uge1xyXG4gICAgaGlkZUlucHV0RXJyb3IoZm9ybUVsZW1lbnQsIGlucHV0RWxlbWVudCwgY29uZmlnKTtcclxuICB9XHJcbn07XHJcblxyXG4vLyBDaGVjayBpZiBmb3JtIGhhcyBpbnZhbGlkIGlucHV0XHJcbmNvbnN0IGhhc0ludmFsaWRJbnB1dCA9IChpbnB1dExpc3QpID0+IHtcclxuICByZXR1cm4gaW5wdXRMaXN0LnNvbWUoKGlucHV0KSA9PiAhaW5wdXQudmFsaWRpdHkudmFsaWQpO1xyXG59O1xyXG5cclxuLy8gVG9nZ2xlIGJ1dHRvbiBzdGF0ZVxyXG5jb25zdCB0b2dnbGVCdXR0b25TdGF0ZSA9IChpbnB1dExpc3QsIGJ1dHRvbkVsZW1lbnQsIGNvbmZpZykgPT4ge1xyXG4gIGlmIChoYXNJbnZhbGlkSW5wdXQoaW5wdXRMaXN0KSkge1xyXG4gICAgZGlzYWJsZUJ1dHRvbihidXR0b25FbGVtZW50LCBjb25maWcpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBidXR0b25FbGVtZW50LmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICBidXR0b25FbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoY29uZmlnLmluYWN0aXZlQnV0dG9uQ2xhc3MpO1xyXG4gIH1cclxufTtcclxuXHJcbi8vIERpc2FibGUgYnV0dG9uXHJcbmNvbnN0IGRpc2FibGVCdXR0b24gPSAoYnV0dG9uRWxlbWVudCwgY29uZmlnKSA9PiB7XHJcbiAgYnV0dG9uRWxlbWVudC5kaXNhYmxlZCA9IHRydWU7XHJcbiAgYnV0dG9uRWxlbWVudC5jbGFzc0xpc3QuYWRkKGNvbmZpZy5pbmFjdGl2ZUJ1dHRvbkNsYXNzKTtcclxufTtcclxuXHJcbi8vIFJlc2V0IHZhbGlkYXRpb25cclxuZXhwb3J0IGNvbnN0IHJlc2V0VmFsaWRhdGlvbiA9IChmb3JtRWxlbWVudCwgaW5wdXRMaXN0LCBjb25maWcpID0+IHtcclxuICBpbnB1dExpc3QuZm9yRWFjaCgoaW5wdXQpID0+IHtcclxuICAgIGhpZGVJbnB1dEVycm9yKGZvcm1FbGVtZW50LCBpbnB1dCwgY29uZmlnKTtcclxuICB9KTtcclxuXHJcbiAgY29uc3QgYnV0dG9uRWxlbWVudCA9IGZvcm1FbGVtZW50LnF1ZXJ5U2VsZWN0b3IoY29uZmlnLnN1Ym1pdEJ1dHRvblNlbGVjdG9yKTtcclxuICBkaXNhYmxlQnV0dG9uKGJ1dHRvbkVsZW1lbnQsIGNvbmZpZyk7IC8vIERpc2FibGUgdGhlIGJ1dHRvbiBkdXJpbmcgcmVzZXRcclxufTtcclxuXHJcbi8vIEFkZCBldmVudCBsaXN0ZW5lcnMgdG8gdGhlIGZvcm1cclxuY29uc3Qgc2V0RXZlbnRMaXN0ZW5lcnMgPSAoZm9ybUVsZW1lbnQsIGNvbmZpZykgPT4ge1xyXG4gIGNvbnN0IGlucHV0TGlzdCA9IEFycmF5LmZyb20oXHJcbiAgICBmb3JtRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKGNvbmZpZy5pbnB1dFNlbGVjdG9yKVxyXG4gICk7XHJcbiAgY29uc3QgYnV0dG9uRWxlbWVudCA9IGZvcm1FbGVtZW50LnF1ZXJ5U2VsZWN0b3IoY29uZmlnLnN1Ym1pdEJ1dHRvblNlbGVjdG9yKTtcclxuXHJcbiAgdG9nZ2xlQnV0dG9uU3RhdGUoaW5wdXRMaXN0LCBidXR0b25FbGVtZW50LCBjb25maWcpOyAvLyBJbml0aWFsIGJ1dHRvbiBzdGF0ZSBjaGVja1xyXG5cclxuICBpbnB1dExpc3QuZm9yRWFjaCgoaW5wdXRFbGVtZW50KSA9PiB7XHJcbiAgICBpbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImlucHV0XCIsICgpID0+IHtcclxuICAgICAgY2hlY2tJbnB1dFZhbGlkaXR5KGZvcm1FbGVtZW50LCBpbnB1dEVsZW1lbnQsIGNvbmZpZyk7XHJcbiAgICAgIHRvZ2dsZUJ1dHRvblN0YXRlKGlucHV0TGlzdCwgYnV0dG9uRWxlbWVudCwgY29uZmlnKTsgLy8gVXBkYXRlIGJ1dHRvbiBzdGF0ZSBvbiBpbnB1dFxyXG4gICAgfSk7XHJcbiAgfSk7XHJcbn07XHJcblxyXG4vLyBFbmFibGUgdmFsaWRhdGlvbiBmb3IgYWxsIGZvcm1zXHJcbmV4cG9ydCBjb25zdCBlbmFibGVWYWxpZGF0aW9uID0gKGNvbmZpZykgPT4ge1xyXG4gIGNvbnN0IGZvcm1MaXN0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChjb25maWcuZm9ybVNlbGVjdG9yKTtcclxuXHJcbiAgZm9ybUxpc3QuZm9yRWFjaCgoZm9ybUVsZW1lbnQpID0+IHtcclxuICAgIGNvbnN0IGlucHV0TGlzdCA9IEFycmF5LmZyb20oXHJcbiAgICAgIGZvcm1FbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoY29uZmlnLmlucHV0U2VsZWN0b3IpXHJcbiAgICApO1xyXG4gICAgc2V0RXZlbnRMaXN0ZW5lcnMoZm9ybUVsZW1lbnQsIGNvbmZpZyk7XHJcblxyXG4gICAgLy8gQ2xlYXIgdmFsaWRhdGlvbiBvbiBmb3JtIHJlc2V0XHJcbiAgICBmb3JtRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFwicmVzZXRcIiwgKCkgPT4ge1xyXG4gICAgICByZXNldFZhbGlkYXRpb24oZm9ybUVsZW1lbnQsIGlucHV0TGlzdCwgY29uZmlnKTtcclxuICAgIH0pO1xyXG4gIH0pO1xyXG59O1xyXG4iLCJleHBvcnQgZnVuY3Rpb24gcmVuZGVyTG9hZGluZyhcclxuICBpc0xvYWRpbmcsXHJcbiAgYnV0dG9uLFxyXG4gIGJ1dHRvblRleHQgPSBcIlNhdmVcIixcclxuICBsb2FkaW5nVGV4dCA9IFwiU2F2aW5nLi4uXCJcclxuKSB7XHJcbiAgaWYgKGlzTG9hZGluZykge1xyXG4gICAgYnV0dG9uLnRleHRDb250ZW50ID0gbG9hZGluZ1RleHQ7XHJcbiAgfSBlbHNlIHtcclxuICAgIGJ1dHRvbi50ZXh0Q29udGVudCA9IGJ1dHRvblRleHQ7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlU3VibWl0KHJlcXVlc3QsIGV2dCwgbG9hZGluZ1RleHQgPSBcIlNhdmluZy4uLlwiKSB7XHJcbiAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgY29uc3Qgc3VibWl0QnV0dG9uID0gZXZ0LnN1Ym1pdHRlcjtcclxuICBjb25zdCBpbml0aWFsVGV4dCA9IHN1Ym1pdEJ1dHRvbi50ZXh0Q29udGVudDtcclxuXHJcbiAgcmVuZGVyTG9hZGluZyh0cnVlLCBzdWJtaXRCdXR0b24sIGluaXRpYWxUZXh0LCBsb2FkaW5nVGV4dCk7XHJcblxyXG4gIHJldHVybiByZXF1ZXN0KClcclxuICAgIC5jYXRjaChjb25zb2xlLmVycm9yKVxyXG4gICAgLmZpbmFsbHkoKCkgPT4ge1xyXG4gICAgICByZW5kZXJMb2FkaW5nKGZhbHNlLCBzdWJtaXRCdXR0b24sIGluaXRpYWxUZXh0KTtcclxuICAgIH0pO1xyXG59XHJcbiIsImltcG9ydCBcIi4vaW5kZXguY3NzXCI7IC8vIEltcG9ydGluZyB0aGUgQ1NTIGZpbGVcclxuaW1wb3J0IHtcclxuICBlbmFibGVWYWxpZGF0aW9uLFxyXG4gIHNldHRpbmdzLFxyXG4gIHJlc2V0VmFsaWRhdGlvbixcclxufSBmcm9tIFwiLi4vc2NyaXB0cy92YWxpZGF0aW9uLmpzXCI7IC8vIEltcG9ydGluZyB2YWxpZGF0aW9uIGZ1bmN0aW9uc1xyXG5pbXBvcnQgQXBpIGZyb20gXCIuLi91dGlscy9BcGkuanNcIjsgLy8gSW1wb3J0aW5nIHRoZSBBUEkgY2xhc3NcclxuaW1wb3J0IHsgaGFuZGxlU3VibWl0LCByZW5kZXJMb2FkaW5nIH0gZnJvbSBcIi4uL3V0aWxzL3V0aWxzLmpzXCI7IC8vIEltcG9ydGluZyB1dGlsaXR5IGZ1bmN0aW9uc1xyXG5cclxuLy8gSW1wb3J0aW5nIGltYWdlcyBhbmQgb3RoZXIgYXNzZXRzXHJcbmltcG9ydCBsb2dvUGF0aCBmcm9tIFwiLi4vaW1hZ2VzL2xvZ28uc3ZnXCI7XHJcbmltcG9ydCBhdmF0YXJQYXRoIGZyb20gXCIuLi9pbWFnZXMvYXZhdGFyLmpwZ1wiO1xyXG5pbXBvcnQgZWRpdEJ1dHRvblBhdGggZnJvbSBcIi4uL2ltYWdlcy9lZGl0YnRuLnN2Z1wiO1xyXG5pbXBvcnQgYWRkQnV0dG9uUGF0aCBmcm9tIFwiLi4vaW1hZ2VzL2FkZGJ0bi5zdmdcIjtcclxuaW1wb3J0IGVkaXRMaWdodEJ1dHRvblBhdGggZnJvbSBcIi4uL2ltYWdlcy9lZGl0YnRuLWxpZ2h0LnN2Z1wiO1xyXG5cclxuLy8gRW5zdXJlIHNtYWxsdGFibGV0dmlldy5wbmcgaXMgY29waWVkIHRvIGRpc3RcclxuaW1wb3J0IFwiLi9fY29weV9zbWFsbHRhYmxldHZpZXcuanNcIjtcclxuXHJcbmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIuaGVhZGVyX19sb2dvXCIpLnNyYyA9IGxvZ29QYXRoO1xyXG5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnByb2ZpbGVfX2F2YXRhclwiKS5zcmMgPSBhdmF0YXJQYXRoO1xyXG5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnByb2ZpbGVfX2VkaXQtYnV0dG9uIGltZ1wiKS5zcmMgPSBlZGl0QnV0dG9uUGF0aDtcclxuZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5wcm9maWxlX19hZGQtYnV0dG9uIGltZ1wiKS5zcmMgPSBhZGRCdXR0b25QYXRoO1xyXG5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnByb2ZpbGVfX3BlbmNpbEljb25cIikuc3JjID0gZWRpdExpZ2h0QnV0dG9uUGF0aDtcclxuXHJcbmNvbnN0IGFwaSA9IG5ldyBBcGkoe1xyXG4gIGJhc2VVcmw6IFwiaHR0cHM6Ly9hcm91bmQtYXBpLmVuLnRyaXBsZXRlbi1zZXJ2aWNlcy5jb20vdjFcIixcclxuICBoZWFkZXJzOiB7XHJcbiAgICBhdXRob3JpemF0aW9uOiBcImYxZjFkYmFiLThlMTctNDhkMy1hMDk4LWQ3N2RmZDZlYTNjNVwiLFxyXG4gICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXHJcbiAgfSxcclxufSk7XHJcblxyXG5sZXQgdXNlcklkO1xyXG5cclxuYXBpXHJcbiAgLmdldFVzZXJJbmZvKClcclxuICAudGhlbigodXNlckRhdGEpID0+IHtcclxuICAgIHVzZXJJZCA9IHVzZXJEYXRhLl9pZDtcclxuICAgIHByb2ZpbGVOYW1lLnRleHRDb250ZW50ID0gdXNlckRhdGEubmFtZTtcclxuICAgIHByb2ZpbGVEZXNjcmlwdGlvbi50ZXh0Q29udGVudCA9IHVzZXJEYXRhLmFib3V0O1xyXG4gICAgcHJvZmlsZUF2YXRhci5zcmMgPSB1c2VyRGF0YS5hdmF0YXI7XHJcbiAgICByZXR1cm4gYXBpLmdldEluaXRpYWxDYXJkcygpO1xyXG4gIH0pXHJcbiAgLnRoZW4oKGNhcmRzKSA9PiB7XHJcbiAgICBjYXJkcy5mb3JFYWNoKChjYXJkKSA9PiB7XHJcbiAgICAgIGNvbnN0IGNhcmRFbGVtZW50ID0gZ2V0Q2FyZEVsZW1lbnQoY2FyZCk7XHJcbiAgICAgIGNhcmRzTGlzdC5hcHBlbmQoY2FyZEVsZW1lbnQpO1xyXG4gICAgfSk7XHJcbiAgfSlcclxuICAuY2F0Y2goY29uc29sZS5lcnJvcik7XHJcblxyXG4vLyBQcm9maWxlIFNlbGVjdG9yc1xyXG5jb25zdCBlZGl0TW9kYWxCdXR0b24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnByb2ZpbGVfX2VkaXQtYnV0dG9uXCIpO1xyXG5jb25zdCBjYXJkTW9kYWxCdXR0b24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnByb2ZpbGVfX2FkZC1idXR0b25cIik7XHJcbmNvbnN0IHByb2ZpbGVOYW1lID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5wcm9maWxlX19uYW1lXCIpO1xyXG5jb25zdCBwcm9maWxlRGVzY3JpcHRpb24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnByb2ZpbGVfX2Rlc2NyaXB0aW9uXCIpO1xyXG5cclxuLy8gTW9kYWwgU2VsZWN0b3JzXHJcbi8vIGNvbnN0IG1vZGFscyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCIubW9kYWxcIik7XHJcbmNvbnN0IGNsb3NlQnV0dG9ucyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCIubW9kYWxfX2Nsb3NlLWJ1dHRvblwiKTtcclxuY29uc3QgZGVsZXRlTW9kYWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI2RlbGV0ZS1tb2RhbFwiKTtcclxuY29uc3QgZGVsZXRlRm9ybSA9IGRlbGV0ZU1vZGFsLnF1ZXJ5U2VsZWN0b3IoXCIjZGVsZXRlLWZvcm1cIik7XHJcbmNvbnN0IGNhbmNlbERlbGV0ZUJ1dHRvbiA9IGRlbGV0ZU1vZGFsLnF1ZXJ5U2VsZWN0b3IoXCIubW9kYWxfX2NhbmNlbC1idXR0b25cIik7XHJcbmNvbnN0IGF2YXRhckVkaXRCdXR0b24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnByb2ZpbGVfX2F2YXRhci1idXR0b25cIik7XHJcbmNvbnN0IGF2YXRhck1vZGFsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIiNuZXctYXZhdGFyLW1vZGFsXCIpO1xyXG5jb25zdCBhdmF0YXJGb3JtID0gYXZhdGFyTW9kYWwucXVlcnlTZWxlY3RvcihcIi5tb2RhbF9fZm9ybVwiKTtcclxuY29uc3QgYXZhdGFyTGlua0lucHV0ID0gYXZhdGFyTW9kYWwucXVlcnlTZWxlY3RvcihcIiNuZXctYXZhdGFyLWxpbmstaW5wdXRcIik7XHJcbmNvbnN0IHByb2ZpbGVBdmF0YXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnByb2ZpbGVfX2F2YXRhclwiKTtcclxuXHJcbi8vIE1vZGFsIC0gRWRpdCBQcm9maWxlXHJcbmNvbnN0IGVkaXRNb2RhbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIjZWRpdC1tb2RhbFwiKTtcclxuY29uc3QgZWRpdEZvcm0gPSBlZGl0TW9kYWwucXVlcnlTZWxlY3RvcihcIi5tb2RhbF9fZm9ybVwiKTtcclxuY29uc3QgZWRpdE1vZGFsTmFtZUlucHV0ID0gZWRpdE1vZGFsLnF1ZXJ5U2VsZWN0b3IoXCIjcHJvZmlsZS1uYW1lLWlucHV0XCIpO1xyXG5jb25zdCBlZGl0TW9kYWxEZXNjcmlwdGlvbklucHV0ID0gZWRpdE1vZGFsLnF1ZXJ5U2VsZWN0b3IoXHJcbiAgXCIjcHJvZmlsZS1kZXNjcmlwdGlvbi1pbnB1dFwiXHJcbik7XHJcblxyXG4vLyBNb2RhbCAtIEFkZCBDYXJkXHJcbmNvbnN0IGNhcmRNb2RhbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIjbmV3LWNhcmQtbW9kYWxcIik7XHJcbmNvbnN0IGNhcmRGb3JtID0gY2FyZE1vZGFsLnF1ZXJ5U2VsZWN0b3IoXCIubW9kYWxfX2Zvcm1cIik7XHJcbi8vIGNvbnN0IGNhcmRTdWJtaXRCdXR0b24gPSBjYXJkTW9kYWwucXVlcnlTZWxlY3RvcihcIi5tb2RhbF9fc3VibWl0LWJ1dHRvblwiKTtcclxuY29uc3QgY2FyZExpbmtJbnB1dCA9IGNhcmRNb2RhbC5xdWVyeVNlbGVjdG9yKFwiI25ldy1jYXJkLWxpbmstaW5wdXRcIik7XHJcbmNvbnN0IGNhcmRDYXB0aW9uSW5wdXQgPSBjYXJkTW9kYWwucXVlcnlTZWxlY3RvcihcIiNuZXctY2FyZC1jYXB0aW9uLWlucHV0XCIpO1xyXG5cclxuLy8gTW9kYWwgUHJldmlld1xyXG5jb25zdCBwcmV2aWV3TW9kYWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI3ByZXZpZXctbW9kYWxcIik7XHJcbmNvbnN0IHByZXZpZXdJbWFnZSA9IHByZXZpZXdNb2RhbC5xdWVyeVNlbGVjdG9yKFwiLm1vZGFsX19pbWFnZVwiKTtcclxuY29uc3QgcHJldmlld0NhcHRpb24gPSBwcmV2aWV3TW9kYWwucXVlcnlTZWxlY3RvcihcIi5tb2RhbF9fY2FwdGlvblwiKTtcclxuXHJcbi8vIENhcmRzXHJcbmNvbnN0IGNhcmRUZW1wbGF0ZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIjY2FyZC10ZW1wbGF0ZVwiKTtcclxuY29uc3QgY2FyZHNMaXN0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5jYXJkc19fbGlzdFwiKTtcclxuXHJcbmZ1bmN0aW9uIGdldENhcmRFbGVtZW50KGRhdGEpIHtcclxuICBjb25zdCBjYXJkRWxlbWVudCA9IGNhcmRUZW1wbGF0ZS5jb250ZW50XHJcbiAgICAucXVlcnlTZWxlY3RvcihcIi5jYXJkXCIpXHJcbiAgICAuY2xvbmVOb2RlKHRydWUpO1xyXG4gIGNhcmRFbGVtZW50Ll9pZCA9IGRhdGEuX2lkO1xyXG5cclxuICBjb25zdCBjYXJkVGl0bGUgPSBjYXJkRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiLmNhcmRfX3RpdGxlXCIpO1xyXG4gIGNvbnN0IGNhcmRJbWFnZSA9IGNhcmRFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCIuY2FyZF9faW1hZ2VcIik7XHJcbiAgY29uc3QgY2FyZExpa2VCdXR0b24gPSBjYXJkRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiLmNhcmRfX2xpa2UtYnV0dG9uXCIpO1xyXG4gIGNvbnN0IGNhcmRMaWtlQ291bnQgPSBjYXJkRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiLmNhcmRfX2xpa2UtY291bnRcIik7XHJcbiAgY29uc3QgY2FyZERlbGV0ZUJ1dHRvbiA9IGNhcmRFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCIuY2FyZF9fZGVsZXRlLWJ1dHRvblwiKTtcclxuXHJcbiAgLy8gU2V0IGNhcmQgZGF0YVxyXG4gIGNhcmRUaXRsZS50ZXh0Q29udGVudCA9IGRhdGEubmFtZTtcclxuICBjYXJkSW1hZ2Uuc3JjID0gZGF0YS5saW5rOyAvLyBNYWtlIHN1cmUgdGhpcyBsaW5lIGlzIHByZXNlbnRcclxuICBjYXJkSW1hZ2UuYWx0ID0gZGF0YS5uYW1lO1xyXG5cclxuICAvLyBTZXQgaW5pdGlhbCBsaWtlIHN0YXRlIGFuZCBjb3VudFxyXG4gIGlmIChkYXRhLmlzTGlrZWQpIHtcclxuICAgIGNhcmRMaWtlQnV0dG9uLmNsYXNzTGlzdC5hZGQoXCJjYXJkX19saWtlLWJ1dHRvbl9saWtlZFwiKTtcclxuICAgIGNhcmRMaWtlQ291bnQudGV4dENvbnRlbnQgPSBcIjFcIjsgLy8gU2V0IHRvIDEgaWYgdGhlIGNhcmQgaXMgbGlrZWRcclxuICB9IGVsc2Uge1xyXG4gICAgY2FyZExpa2VDb3VudC50ZXh0Q29udGVudCA9IFwiMFwiOyAvLyBTZXQgdG8gMCBpZiB0aGUgY2FyZCBpcyBub3QgbGlrZWRcclxuICB9XHJcblxyXG4gIGNhcmRMaWtlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCAoKSA9PiB7XHJcbiAgICBjb25zdCBpc0N1cnJlbnRseUxpa2VkID0gY2FyZExpa2VCdXR0b24uY2xhc3NMaXN0LmNvbnRhaW5zKFxyXG4gICAgICBcImNhcmRfX2xpa2UtYnV0dG9uX2xpa2VkXCJcclxuICAgICk7XHJcblxyXG4gICAgY29uc3QgbGlrZUNhcmRQcm9taXNlID0gaXNDdXJyZW50bHlMaWtlZFxyXG4gICAgICA/IGFwaS5kaXNsaWtlQ2FyZChkYXRhLl9pZClcclxuICAgICAgOiBhcGkubGlrZUNhcmQoZGF0YS5faWQpO1xyXG5cclxuICAgIGxpa2VDYXJkUHJvbWlzZVxyXG4gICAgICAudGhlbigodXBkYXRlZENhcmQpID0+IHtcclxuICAgICAgICBjYXJkTGlrZUJ1dHRvbi5jbGFzc0xpc3QudG9nZ2xlKFxyXG4gICAgICAgICAgXCJjYXJkX19saWtlLWJ1dHRvbl9saWtlZFwiLFxyXG4gICAgICAgICAgdXBkYXRlZENhcmQuaXNMaWtlZFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgY2FyZExpa2VDb3VudC50ZXh0Q29udGVudCA9IHVwZGF0ZWRDYXJkLmlzTGlrZWQgPyBcIjFcIiA6IFwiMFwiO1xyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihcIkVycm9yIHVwZGF0aW5nIGxpa2Ugc3RhdHVzOlwiLCBlcnJvcik7XHJcbiAgICAgIH0pO1xyXG4gIH0pO1xyXG5cclxuICAvLyBkZWxldGUgYW5kIHByZXZpZXcgZXZlbnQgbGlzdGVuZXJzXHJcbiAgY2FyZERlbGV0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgKCkgPT4ge1xyXG4gICAgb3Blbk1vZGFsKGRlbGV0ZU1vZGFsKTtcclxuICAgIGRlbGV0ZUZvcm0uX2NhcmRUb0RlbGV0ZSA9IGNhcmRFbGVtZW50O1xyXG4gIH0pO1xyXG5cclxuICBjYXJkSW1hZ2UuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IHtcclxuICAgIG9wZW5Nb2RhbChwcmV2aWV3TW9kYWwpO1xyXG4gICAgcHJldmlld0NhcHRpb24udGV4dENvbnRlbnQgPSBkYXRhLm5hbWU7XHJcbiAgICBwcmV2aWV3SW1hZ2UuYWx0ID0gZGF0YS5uYW1lO1xyXG4gICAgcHJldmlld0ltYWdlLnNyYyA9IGRhdGEubGluaztcclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIGNhcmRFbGVtZW50O1xyXG59XHJcblxyXG5mdW5jdGlvbiBvcGVuTW9kYWwobW9kYWwpIHtcclxuICBtb2RhbC5jbGFzc0xpc3QuYWRkKFwibW9kYWxfb3BlbmVkXCIpO1xyXG5cclxuICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgaGFuZGxlT3ZlcmxheUNsaWNrKTtcclxuICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCBoYW5kbGVFc2NhcGVLZXlQcmVzcyk7XHJcblxyXG4gIG1vZGFsLl9oYW5kbGVPdmVybGF5Q2xpY2sgPSBoYW5kbGVPdmVybGF5Q2xpY2s7XHJcbiAgbW9kYWwuX2hhbmRsZUVzY2FwZUtleVByZXNzID0gaGFuZGxlRXNjYXBlS2V5UHJlc3M7XHJcblxyXG4gIGZ1bmN0aW9uIGhhbmRsZU92ZXJsYXlDbGljayhldmVudCkge1xyXG4gICAgaWYgKGV2ZW50LnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoXCJtb2RhbF9vcGVuZWRcIikpIHtcclxuICAgICAgY2xvc2VNb2RhbChtb2RhbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmdW5jdGlvbiBoYW5kbGVFc2NhcGVLZXlQcmVzcyhldmVudCkge1xyXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gXCJFc2NhcGVcIikge1xyXG4gICAgICBjbG9zZU1vZGFsKG1vZGFsKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNsb3NlTW9kYWwobW9kYWwpIHtcclxuICBtb2RhbC5jbGFzc0xpc3QucmVtb3ZlKFwibW9kYWxfb3BlbmVkXCIpO1xyXG5cclxuICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgbW9kYWwuX2hhbmRsZU92ZXJsYXlDbGljayk7XHJcbiAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgbW9kYWwuX2hhbmRsZUVzY2FwZUtleVByZXNzKTtcclxufVxyXG5cclxuLy8gZnVuY3Rpb24gcmVuZGVyTG9hZGluZyhcclxuLy8gaXNMb2FkaW5nLFxyXG4vLyBidXR0b24sXHJcbi8vIGJ1dHRvblRleHQgPSBcIlNhdmVcIixcclxuLy8gbG9hZGluZ1RleHQgPSBcIlNhdmluZy4uLlwiXHJcbi8vICkge1xyXG4vLyBidXR0b24udGV4dENvbnRlbnQgPSBpc0xvYWRpbmcgPyBsb2FkaW5nVGV4dCA6IGJ1dHRvblRleHQ7XHJcbi8vIH1cclxuXHJcbi8vIFVuaXZlcnNhbCBDbG9zZSBCdXR0b24gSGFuZGxlclxyXG5jbG9zZUJ1dHRvbnMuZm9yRWFjaCgoYnV0dG9uKSA9PiB7XHJcbiAgY29uc3QgbW9kYWwgPSBidXR0b24uY2xvc2VzdChcIi5tb2RhbFwiKTtcclxuICBidXR0b24uYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IGNsb3NlTW9kYWwobW9kYWwpKTtcclxufSk7XHJcblxyXG4vLyBIYW5kbGVyc1xyXG5mdW5jdGlvbiBtYWtlRWRpdFByb2ZpbGVSZXF1ZXN0KCkge1xyXG4gIC8vIEdldCBmb3JtIHZhbHVlc1xyXG4gIGNvbnN0IG5hbWUgPSBlZGl0TW9kYWxOYW1lSW5wdXQudmFsdWU7XHJcbiAgY29uc3QgYWJvdXQgPSBlZGl0TW9kYWxEZXNjcmlwdGlvbklucHV0LnZhbHVlO1xyXG5cclxuICAvLyBNYWtlIEFQSSBjYWxsIHRvIGVkaXQgdXNlciBpbmZvXHJcbiAgcmV0dXJuIGFwaS5lZGl0VXNlckluZm8oeyBuYW1lLCBhYm91dCB9KS50aGVuKCh1c2VyRGF0YSkgPT4ge1xyXG4gICAgLy8gVXBkYXRlIHRoZSBET00gd2l0aCB0aGUgbmV3IHVzZXIgZGF0YVxyXG4gICAgcHJvZmlsZU5hbWUudGV4dENvbnRlbnQgPSB1c2VyRGF0YS5uYW1lO1xyXG4gICAgcHJvZmlsZURlc2NyaXB0aW9uLnRleHRDb250ZW50ID0gdXNlckRhdGEuYWJvdXQ7XHJcbiAgICAvLyBDbG9zZSB0aGUgbW9kYWxcclxuICAgIGNsb3NlTW9kYWwoZWRpdE1vZGFsKTtcclxuICB9KTtcclxufVxyXG5cclxuZnVuY3Rpb24gaGFuZGxlRWRpdEZvcm1TdWJtaXQoZXZ0KSB7XHJcbiAgaGFuZGxlU3VibWl0KG1ha2VFZGl0UHJvZmlsZVJlcXVlc3QsIGV2dCwgXCJTYXZpbmcuLi5cIik7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGhhbmRsZUNhcmRGb3JtU3VibWl0KGV2dCkge1xyXG4gIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIGNvbnN0IHN1Ym1pdEJ1dHRvbiA9IGNhcmRGb3JtLnF1ZXJ5U2VsZWN0b3IoXCIubW9kYWxfX3N1Ym1pdC1idXR0b25cIik7XHJcbiAgcmVuZGVyTG9hZGluZyh0cnVlLCBzdWJtaXRCdXR0b24pO1xyXG5cclxuICBhcGlcclxuICAgIC5hZGRDYXJkKHtcclxuICAgICAgbmFtZTogY2FyZENhcHRpb25JbnB1dC52YWx1ZSxcclxuICAgICAgbGluazogY2FyZExpbmtJbnB1dC52YWx1ZSxcclxuICAgIH0pXHJcbiAgICAudGhlbigoY2FyZERhdGEpID0+IHtcclxuICAgICAgY29uc3QgY2FyZEVsZW1lbnQgPSBnZXRDYXJkRWxlbWVudChjYXJkRGF0YSk7XHJcbiAgICAgIGNhcmRzTGlzdC5wcmVwZW5kKGNhcmRFbGVtZW50KTtcclxuICAgICAgZXZ0LnRhcmdldC5yZXNldCgpO1xyXG4gICAgICBjbG9zZU1vZGFsKGNhcmRNb2RhbCk7XHJcbiAgICB9KVxyXG4gICAgLmNhdGNoKGNvbnNvbGUuZXJyb3IpXHJcbiAgICAuZmluYWxseSgoKSA9PiB7XHJcbiAgICAgIHJlbmRlckxvYWRpbmcoZmFsc2UsIHN1Ym1pdEJ1dHRvbik7XHJcbiAgICB9KTtcclxufVxyXG5cclxuLy8gRWRpdCBNb2RhbCBMaXN0ZW5lcnNcclxuZWRpdE1vZGFsQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCAoKSA9PiB7XHJcbiAgZWRpdE1vZGFsTmFtZUlucHV0LnZhbHVlID0gcHJvZmlsZU5hbWUudGV4dENvbnRlbnQ7XHJcbiAgZWRpdE1vZGFsRGVzY3JpcHRpb25JbnB1dC52YWx1ZSA9IHByb2ZpbGVEZXNjcmlwdGlvbi50ZXh0Q29udGVudDtcclxuICByZXNldFZhbGlkYXRpb24oXHJcbiAgICBlZGl0Rm9ybSxcclxuICAgIFtlZGl0TW9kYWxOYW1lSW5wdXQsIGVkaXRNb2RhbERlc2NyaXB0aW9uSW5wdXRdLFxyXG4gICAgc2V0dGluZ3NcclxuICApO1xyXG4gIG9wZW5Nb2RhbChlZGl0TW9kYWwpO1xyXG59KTtcclxuXHJcbi8vIEF2YXRhciBNb2RhbCBMaXN0ZW5lclxyXG5hdmF0YXJFZGl0QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCAoKSA9PiB7XHJcbiAgb3Blbk1vZGFsKGF2YXRhck1vZGFsKTtcclxufSk7XHJcblxyXG4vLyBDYXJkIE1vZGFsIExpc3RlbmVyc1xyXG5jYXJkTW9kYWxCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IHtcclxuICBvcGVuTW9kYWwoY2FyZE1vZGFsKTtcclxufSk7XHJcblxyXG5jYW5jZWxEZWxldGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IHtcclxuICBjbG9zZU1vZGFsKGRlbGV0ZU1vZGFsKTtcclxufSk7XHJcblxyXG4vLyBGb3JtIExpc3RlbmVyc1xyXG5lZGl0Rm9ybS5hZGRFdmVudExpc3RlbmVyKFwic3VibWl0XCIsIGhhbmRsZUVkaXRGb3JtU3VibWl0KTtcclxuY2FyZEZvcm0uYWRkRXZlbnRMaXN0ZW5lcihcInN1Ym1pdFwiLCBoYW5kbGVDYXJkRm9ybVN1Ym1pdCk7XHJcblxyXG5kZWxldGVGb3JtLmFkZEV2ZW50TGlzdGVuZXIoXCJzdWJtaXRcIiwgKGV2dCkgPT4ge1xyXG4gIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIGNvbnN0IHN1Ym1pdEJ1dHRvbiA9IGRlbGV0ZUZvcm0ucXVlcnlTZWxlY3RvcihcIi5tb2RhbF9fc3VibWl0LWJ1dHRvblwiKTtcclxuICByZW5kZXJMb2FkaW5nKHRydWUsIHN1Ym1pdEJ1dHRvbiwgXCJEZWxldGVcIiwgXCJEZWxldGluZy4uLlwiKTtcclxuXHJcbiAgYXBpXHJcbiAgICAucmVtb3ZlQ2FyZChkZWxldGVGb3JtLl9jYXJkVG9EZWxldGUuX2lkKSAvLyBDaGFuZ2VkIGZyb20gZGVsZXRlQ2FyZCB0byByZW1vdmVDYXJkXHJcbiAgICAudGhlbigoKSA9PiB7XHJcbiAgICAgIGhhbmRsZVN1Ym1pdCgoKSA9PiB7XHJcbiAgICAgICAgZGVsZXRlRm9ybS5fY2FyZFRvRGVsZXRlLnJlbW92ZSgpO1xyXG4gICAgICB9KTtcclxuICAgICAgY2xvc2VNb2RhbChkZWxldGVNb2RhbCk7XHJcbiAgICB9KVxyXG4gICAgLmNhdGNoKGNvbnNvbGUuZXJyb3IpXHJcbiAgICAuZmluYWxseSgoKSA9PiB7XHJcbiAgICAgIHJlbmRlckxvYWRpbmcoZmFsc2UsIHN1Ym1pdEJ1dHRvbiwgXCJEZWxldGVcIik7XHJcbiAgICB9KTtcclxufSk7XHJcblxyXG4vLyBBdmF0YXIgRm9ybSBTdWJtaXQgSGFuZGxlclxyXG5hdmF0YXJGb3JtLmFkZEV2ZW50TGlzdGVuZXIoXCJzdWJtaXRcIiwgKGV2dCkgPT4ge1xyXG4gIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIGNvbnN0IHN1Ym1pdEJ1dHRvbiA9IGF2YXRhckZvcm0ucXVlcnlTZWxlY3RvcihcIi5tb2RhbF9fc3VibWl0LWJ1dHRvblwiKTtcclxuICByZW5kZXJMb2FkaW5nKHRydWUsIHN1Ym1pdEJ1dHRvbik7XHJcblxyXG4gIGFwaVxyXG4gICAgLnVwZGF0ZUF2YXRhcih7XHJcbiAgICAgIGF2YXRhcjogYXZhdGFyTGlua0lucHV0LnZhbHVlLFxyXG4gICAgfSlcclxuICAgIC50aGVuKCh1c2VyRGF0YSkgPT4ge1xyXG4gICAgICBwcm9maWxlQXZhdGFyLnNyYyA9IHVzZXJEYXRhLmF2YXRhcjtcclxuICAgICAgZXZ0LnRhcmdldC5yZXNldCgpO1xyXG4gICAgICBjbG9zZU1vZGFsKGF2YXRhck1vZGFsKTtcclxuICAgIH0pXHJcbiAgICAuY2F0Y2goY29uc29sZS5lcnJvcilcclxuICAgIC5maW5hbGx5KCgpID0+IHtcclxuICAgICAgcmVuZGVyTG9hZGluZyhmYWxzZSwgc3VibWl0QnV0dG9uKTtcclxuICAgIH0pO1xyXG59KTtcclxuXHJcbmVuYWJsZVZhbGlkYXRpb24oc2V0dGluZ3MpO1xyXG4iLCJjbGFzcyBBcGkge1xyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcclxuICAgIHRoaXMuX2Jhc2VVcmwgPSBvcHRpb25zLmJhc2VVcmw7XHJcbiAgICB0aGlzLl9oZWFkZXJzID0gb3B0aW9ucy5oZWFkZXJzO1xyXG4gIH1cclxuXHJcbiAgX2NoZWNrUmVzcG9uc2UocmVzKSB7XHJcbiAgICBpZiAocmVzLm9rKSB7XHJcbiAgICAgIHJldHVybiByZXMuanNvbigpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGBFcnJvcjogJHtyZXMuc3RhdHVzfWApO1xyXG4gIH1cclxuXHJcbiAgX3JlcXVlc3QoZW5kcG9pbnQsIG9wdGlvbnMgPSB7fSkge1xyXG4gICAgY29uc3QgZmluYWxPcHRpb25zID0ge1xyXG4gICAgICBoZWFkZXJzOiB0aGlzLl9oZWFkZXJzLFxyXG4gICAgICAuLi5vcHRpb25zLFxyXG4gICAgfTtcclxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuX2Jhc2VVcmx9JHtlbmRwb2ludH1gO1xyXG4gICAgcmV0dXJuIGZldGNoKHVybCwgZmluYWxPcHRpb25zKS50aGVuKHRoaXMuX2NoZWNrUmVzcG9uc2UpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VXNlckluZm8oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVxdWVzdChcIi91c2Vycy9tZVwiKTtcclxuICB9XHJcblxyXG4gIGdldEluaXRpYWxDYXJkcygpIHtcclxuICAgIHJldHVybiB0aGlzLl9yZXF1ZXN0KFwiL2NhcmRzXCIsIHtcclxuICAgICAgbWV0aG9kOiBcIkdFVFwiLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBQQVRDSCAvdXNlcnMvbWVcclxuICBlZGl0VXNlckluZm8oeyBuYW1lLCBhYm91dCB9KSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVxdWVzdChcIi91c2Vycy9tZVwiLCB7XHJcbiAgICAgIG1ldGhvZDogXCJQQVRDSFwiLFxyXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7IG5hbWUsIGFib3V0IH0pLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBQQVRDSCAvdXNlcnMvbWUvYXZhdGFyXHJcbiAgdXBkYXRlQXZhdGFyKHsgYXZhdGFyIH0pIHtcclxuICAgIHJldHVybiB0aGlzLl9yZXF1ZXN0KFwiL3VzZXJzL21lL2F2YXRhclwiLCB7XHJcbiAgICAgIG1ldGhvZDogXCJQQVRDSFwiLFxyXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7IGF2YXRhciB9KSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gUE9TVCAvY2FyZHNcclxuICBhZGRDYXJkKHsgbmFtZSwgbGluayB9KSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVxdWVzdChcIi9jYXJkc1wiLCB7XHJcbiAgICAgIG1ldGhvZDogXCJQT1NUXCIsXHJcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgbmFtZSwgbGluayB9KSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gREVMRVRFIC9jYXJkcy86Y2FyZElkXHJcbiAgcmVtb3ZlQ2FyZChjYXJkSWQpIHtcclxuICAgIHJldHVybiBmZXRjaChgJHt0aGlzLl9iYXNlVXJsfS9jYXJkcy8ke2NhcmRJZH1gLCB7XHJcbiAgICAgIG1ldGhvZDogXCJERUxFVEVcIixcclxuICAgICAgaGVhZGVyczogdGhpcy5faGVhZGVycyxcclxuICAgIH0pLnRoZW4odGhpcy5fY2hlY2tSZXNwb25zZSk7XHJcbiAgfVxyXG5cclxuICAvLyBQVVQgL2NhcmRzLzpjYXJkSWQvbGlrZXNcclxuICBsaWtlQ2FyZChjYXJkSWQpIHtcclxuICAgIHJldHVybiB0aGlzLl9yZXF1ZXN0KGAvY2FyZHMvJHtjYXJkSWR9L2xpa2VzYCwge1xyXG4gICAgICBtZXRob2Q6IFwiUFVUXCIsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIERFTEVURSAvY2FyZHMvOmNhcmRJZC9saWtlc1xyXG4gIGRpc2xpa2VDYXJkKGNhcmRJZCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3JlcXVlc3QoYC9jYXJkcy8ke2NhcmRJZH0vbGlrZXNgLCB7XHJcbiAgICAgIG1ldGhvZDogXCJERUxFVEVcIixcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gSGVscGVyOiBGZXRjaCBpbml0aWFsIGRhdGEgc2ltdWx0YW5lb3VzbHkgKHVzZXIgaW5mbyAmIGNhcmRzKVxyXG4gIGZldGNoSW5pdGlhbERhdGEoKSB7XHJcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoW3RoaXMuZ2V0VXNlckluZm8oKSwgdGhpcy5nZXRJbml0aWFsQ2FyZHMoKV0pO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgQXBpO1xyXG4iXSwibmFtZXMiOlsiX193ZWJwYWNrX3JlcXVpcmVfXyIsInNldHRpbmdzIiwiZm9ybVNlbGVjdG9yIiwiaW5wdXRTZWxlY3RvciIsInN1Ym1pdEJ1dHRvblNlbGVjdG9yIiwiaW5hY3RpdmVCdXR0b25DbGFzcyIsImlucHV0RXJyb3JDbGFzcyIsImVycm9yQ2xhc3MiLCJsb2dFcnJvciIsIm1lc3NhZ2UiLCJjb25zb2xlIiwiZXJyb3IiLCJoaWRlSW5wdXRFcnJvciIsImZvcm1FbGVtZW50IiwiaW5wdXRFbGVtZW50IiwiY29uZmlnIiwiZXJyb3JNZXNzYWdlRWxlbWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJpZCIsInRleHRDb250ZW50IiwicmVtb3ZlQXR0cmlidXRlIiwiY2xhc3NMaXN0IiwicmVtb3ZlIiwidG9nZ2xlQnV0dG9uU3RhdGUiLCJpbnB1dExpc3QiLCJidXR0b25FbGVtZW50Iiwic29tZSIsImlucHV0IiwidmFsaWRpdHkiLCJ2YWxpZCIsImhhc0ludmFsaWRJbnB1dCIsImRpc2FibGVCdXR0b24iLCJkaXNhYmxlZCIsImFkZCIsInJlc2V0VmFsaWRhdGlvbiIsImZvckVhY2giLCJyZW5kZXJMb2FkaW5nIiwiaXNMb2FkaW5nIiwiYnV0dG9uIiwiYnV0dG9uVGV4dCIsImxvYWRpbmdUZXh0IiwiaGFuZGxlU3VibWl0IiwicmVxdWVzdCIsImV2dCIsInByZXZlbnREZWZhdWx0Iiwic3VibWl0QnV0dG9uIiwic3VibWl0dGVyIiwiaW5pdGlhbFRleHQiLCJjYXRjaCIsImZpbmFsbHkiLCJkb2N1bWVudCIsInNyYyIsImxvZ29QYXRoIiwiYXZhdGFyUGF0aCIsImVkaXRCdXR0b25QYXRoIiwiYWRkQnV0dG9uUGF0aCIsImVkaXRMaWdodEJ1dHRvblBhdGgiLCJhcGkiLCJjb25zdHJ1Y3RvciIsIm9wdGlvbnMiLCJ0aGlzIiwiX2Jhc2VVcmwiLCJiYXNlVXJsIiwiX2hlYWRlcnMiLCJoZWFkZXJzIiwiX2NoZWNrUmVzcG9uc2UiLCJyZXMiLCJvayIsImpzb24iLCJQcm9taXNlIiwicmVqZWN0Iiwic3RhdHVzIiwiX3JlcXVlc3QiLCJlbmRwb2ludCIsImZpbmFsT3B0aW9ucyIsInVybCIsImZldGNoIiwidGhlbiIsImdldFVzZXJJbmZvIiwiZ2V0SW5pdGlhbENhcmRzIiwibWV0aG9kIiwiZWRpdFVzZXJJbmZvIiwibmFtZSIsImFib3V0IiwiYm9keSIsIkpTT04iLCJzdHJpbmdpZnkiLCJ1cGRhdGVBdmF0YXIiLCJhdmF0YXIiLCJhZGRDYXJkIiwibGluayIsInJlbW92ZUNhcmQiLCJjYXJkSWQiLCJsaWtlQ2FyZCIsImRpc2xpa2VDYXJkIiwiZmV0Y2hJbml0aWFsRGF0YSIsImFsbCIsImF1dGhvcml6YXRpb24iLCJ1c2VySWQiLCJ1c2VyRGF0YSIsIl9pZCIsInByb2ZpbGVOYW1lIiwicHJvZmlsZURlc2NyaXB0aW9uIiwicHJvZmlsZUF2YXRhciIsImNhcmRzIiwiY2FyZCIsImNhcmRFbGVtZW50IiwiZ2V0Q2FyZEVsZW1lbnQiLCJjYXJkc0xpc3QiLCJhcHBlbmQiLCJlZGl0TW9kYWxCdXR0b24iLCJjYXJkTW9kYWxCdXR0b24iLCJjbG9zZUJ1dHRvbnMiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZGVsZXRlTW9kYWwiLCJkZWxldGVGb3JtIiwiY2FuY2VsRGVsZXRlQnV0dG9uIiwiYXZhdGFyRWRpdEJ1dHRvbiIsImF2YXRhck1vZGFsIiwiYXZhdGFyRm9ybSIsImF2YXRhckxpbmtJbnB1dCIsImVkaXRNb2RhbCIsImVkaXRGb3JtIiwiZWRpdE1vZGFsTmFtZUlucHV0IiwiZWRpdE1vZGFsRGVzY3JpcHRpb25JbnB1dCIsImNhcmRNb2RhbCIsImNhcmRGb3JtIiwiY2FyZExpbmtJbnB1dCIsImNhcmRDYXB0aW9uSW5wdXQiLCJwcmV2aWV3TW9kYWwiLCJwcmV2aWV3SW1hZ2UiLCJwcmV2aWV3Q2FwdGlvbiIsImNhcmRUZW1wbGF0ZSIsImRhdGEiLCJjb250ZW50IiwiY2xvbmVOb2RlIiwiY2FyZFRpdGxlIiwiY2FyZEltYWdlIiwiY2FyZExpa2VCdXR0b24iLCJjYXJkTGlrZUNvdW50IiwiY2FyZERlbGV0ZUJ1dHRvbiIsImFsdCIsImlzTGlrZWQiLCJhZGRFdmVudExpc3RlbmVyIiwiY29udGFpbnMiLCJ1cGRhdGVkQ2FyZCIsInRvZ2dsZSIsIm9wZW5Nb2RhbCIsIl9jYXJkVG9EZWxldGUiLCJtb2RhbCIsImhhbmRsZU92ZXJsYXlDbGljayIsImV2ZW50IiwidGFyZ2V0IiwiY2xvc2VNb2RhbCIsImhhbmRsZUVzY2FwZUtleVByZXNzIiwia2V5IiwiX2hhbmRsZU92ZXJsYXlDbGljayIsIl9oYW5kbGVFc2NhcGVLZXlQcmVzcyIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJtYWtlRWRpdFByb2ZpbGVSZXF1ZXN0IiwidmFsdWUiLCJjbG9zZXN0IiwiY2FyZERhdGEiLCJwcmVwZW5kIiwicmVzZXQiLCJBcnJheSIsImZyb20iLCJzZXRFdmVudExpc3RlbmVycyIsImNoZWNrSW5wdXRWYWxpZGl0eSIsInNob3dJbnB1dEVycm9yIiwiZXJyb3JNZXNzYWdlIiwic2V0QXR0cmlidXRlIiwidmFsaWRhdGlvbk1lc3NhZ2UiXSwic291cmNlUm9vdCI6IiJ9 \ No newline at end of file diff --git a/src/pages/_copy_smalltabletview.js b/src/pages/_copy_smalltabletview.js new file mode 100644 index 0000000..97dbdd5 --- /dev/null +++ b/src/pages/_copy_smalltabletview.js @@ -0,0 +1,4 @@ +// This file is used to ensure Webpack copies smalltabletview.png to the dist folder. +// It is not used in the application code. +import smallTabletView from "../images/smalltabletview.png"; +export default smallTabletView; diff --git a/src/pages/index.js b/src/pages/index.js index 07a269c..61262cb 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -14,6 +14,9 @@ import editButtonPath from "../images/editbtn.svg"; import addButtonPath from "../images/addbtn.svg"; import editLightButtonPath from "../images/editbtn-light.svg"; +// Ensure smalltabletview.png is copied to dist +import "./_copy_smalltabletview.js"; + document.querySelector(".header__logo").src = logoPath; document.querySelector(".profile__avatar").src = avatarPath; document.querySelector(".profile__edit-button img").src = editButtonPath; From 68644a079f8b16ea6d20f7cd0af44347d2f86ac8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 31 Aug 2025 23:05:14 +0000 Subject: [PATCH 2/4] Initial plan From 6bac8cd609b9882a676d79b75d17144f1b916bf8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 31 Aug 2025 23:07:44 +0000 Subject: [PATCH 3/4] Initial analysis: Webpack configuration needs to preserve original filenames Co-authored-by: iiBamBlue <179651794+iiBamBlue@users.noreply.github.com> --- dist/2206bc22222226adfce3.svg | 4 ---- dist/2a6d443422ae27e8b633.svg | 4 ---- dist/49e44e5e03758262e8bf.svg | 5 ----- dist/58c61e0eac124c5e75fa.svg | 6 ------ dist/5e2464bff616faf70484.svg | 11 ----------- dist/681e9a719890c3953022.svg | 6 ------ dist/975792ea68af0a3c209d.svg | 4 ---- dist/980a536735fbd2133d25.svg | 3 --- dist/b41c688b3eba7fc023ba.svg | 4 ---- dist/c81b22e9874268723f8d.svg | 5 ----- dist/index.html | 2 +- dist/main.css | 16 ++++++++-------- dist/main.js | 4 ++-- 13 files changed, 11 insertions(+), 63 deletions(-) delete mode 100644 dist/2206bc22222226adfce3.svg delete mode 100644 dist/2a6d443422ae27e8b633.svg delete mode 100644 dist/49e44e5e03758262e8bf.svg delete mode 100644 dist/58c61e0eac124c5e75fa.svg delete mode 100644 dist/5e2464bff616faf70484.svg delete mode 100644 dist/681e9a719890c3953022.svg delete mode 100644 dist/975792ea68af0a3c209d.svg delete mode 100644 dist/980a536735fbd2133d25.svg delete mode 100644 dist/b41c688b3eba7fc023ba.svg delete mode 100644 dist/c81b22e9874268723f8d.svg diff --git a/dist/2206bc22222226adfce3.svg b/dist/2206bc22222226adfce3.svg deleted file mode 100644 index 6778b47..0000000 --- a/dist/2206bc22222226adfce3.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/dist/2a6d443422ae27e8b633.svg b/dist/2a6d443422ae27e8b633.svg deleted file mode 100644 index 7319eae..0000000 --- a/dist/2a6d443422ae27e8b633.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/dist/49e44e5e03758262e8bf.svg b/dist/49e44e5e03758262e8bf.svg deleted file mode 100644 index 1a4e2b7..0000000 --- a/dist/49e44e5e03758262e8bf.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dist/58c61e0eac124c5e75fa.svg b/dist/58c61e0eac124c5e75fa.svg deleted file mode 100644 index 7eff453..0000000 --- a/dist/58c61e0eac124c5e75fa.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/dist/5e2464bff616faf70484.svg b/dist/5e2464bff616faf70484.svg deleted file mode 100644 index 2c171da..0000000 --- a/dist/5e2464bff616faf70484.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/dist/681e9a719890c3953022.svg b/dist/681e9a719890c3953022.svg deleted file mode 100644 index 73e88dd..0000000 --- a/dist/681e9a719890c3953022.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/dist/975792ea68af0a3c209d.svg b/dist/975792ea68af0a3c209d.svg deleted file mode 100644 index 5378b36..0000000 --- a/dist/975792ea68af0a3c209d.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/dist/980a536735fbd2133d25.svg b/dist/980a536735fbd2133d25.svg deleted file mode 100644 index 4f3801b..0000000 --- a/dist/980a536735fbd2133d25.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/dist/b41c688b3eba7fc023ba.svg b/dist/b41c688b3eba7fc023ba.svg deleted file mode 100644 index 740ba76..0000000 --- a/dist/b41c688b3eba7fc023ba.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/dist/c81b22e9874268723f8d.svg b/dist/c81b22e9874268723f8d.svg deleted file mode 100644 index 874c3b8..0000000 --- a/dist/c81b22e9874268723f8d.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dist/index.html b/dist/index.html index 4bacd84..2b2cc03 100644 --- a/dist/index.html +++ b/dist/index.html @@ -1 +1 @@ -Spots
User Avatar

Bessie Coleman

Civil Aviator

\ No newline at end of file +Spots
User Avatar

Bessie Coleman

Civil Aviator

\ No newline at end of file diff --git a/dist/main.css b/dist/main.css index 561255b..3e955a1 100644 --- a/dist/main.css +++ b/dist/main.css @@ -687,7 +687,7 @@ template { position: absolute; /* having absolute makes sure each card has a button and in the correct spot*/ margin: 10px 371px 0; padding: 0; /* controls size of svg i guess */ - background-image: url(/se_project_spots/681e9a719890c3953022.svg); + background-image: url(/se_project_spots/d19faa0112f44e2b6e01.svg); background-repeat: no-repeat; /* this and bg size is keeping the icon true to size */ background-size: contain; width: 32px; /*makes sure svg actually shows */ @@ -700,12 +700,12 @@ template { } .card__delete-button:hover { - background-image: url(/se_project_spots/58c61e0eac124c5e75fa.svg); + background-image: url(/se_project_spots/86ae92bd1a937388d496.svg); } .card__like-button { padding: 0; - background-image: url(/se_project_spots/980a536735fbd2133d25.svg); + background-image: url(/se_project_spots/29a25a3c4fb6b6e4a7d6.svg); background-repeat: no-repeat; /* this and bg size is keeping the icon true to size */ background-size: contain; width: 23px; @@ -722,7 +722,7 @@ template { } .card__like-button_liked { - background-image: url(/se_project_spots/2206bc22222226adfce3.svg); + background-image: url(/se_project_spots/3d7b834959b78b4e393c.svg); opacity: 100%; } @@ -850,7 +850,7 @@ template { right: 50px; width: 40px; height: 40px; - background-image: url(/se_project_spots/b41c688b3eba7fc023ba.svg); + background-image: url(/se_project_spots/dba18798529f242c4c6d.svg); background-repeat: no-repeat; /* this and bg size is keeping the icon true to size */ border: none; background-color: transparent; @@ -861,7 +861,7 @@ template { /*close button for image preview*/ .modal__close-button_type_preview { - background-image: url(/se_project_spots/2a6d443422ae27e8b633.svg); + background-image: url(/se_project_spots/53f0bab7ec2e970778f9.svg); top: 0; right: -52.5px; opacity: 100%; @@ -957,7 +957,7 @@ template { } .modal__close-button_type_delete { - background-image: url(/se_project_spots/2a6d443422ae27e8b633.svg); + background-image: url(/se_project_spots/53f0bab7ec2e970778f9.svg); right: -50px; top: 0; } @@ -1115,4 +1115,4 @@ template { -/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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ZCx5QkFBeUI7RUFDekIsMENBQTBDO0VBQzFDLHNCQUFzQjtFQUN0QixpQ0FBaUM7RUFDakMsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLHlCQUF5QjtFQUN6QixXQUFXO0FBQ2I7O0FBRUE7RUFDRTtJQUNFLGVBQWU7RUFDakI7O0VBRUE7SUFDRSxhQUFhO0VBQ2Y7O0VBRUE7SUFDRSxjQUFjLEVBQUUsNkJBQTZCO0lBQzdDLFVBQVU7SUFDVixXQUFXO0lBQ1gsZ0JBQWdCO0VBQ2xCOztFQUVBO0lBQ0UsV0FBVztJQUNYLGVBQWU7SUFDZixlQUFlO0VBQ2pCOztFQUVBO0lBQ0UsZUFBZTtJQUNmLG1CQUFtQjtFQUNyQjs7RUFFQTtJQUNFLFNBQVM7SUFDVCxXQUFXO0VBQ2I7O0VBRUE7SUFDRSxVQUFVO0lBQ1YsV0FBVztFQUNiOztFQUVBO0lBQ0UsbUJBQW1CO0VBQ3JCOztFQUVBO0lBQ0UsZUFBZTtFQUNqQjs7RUFFQTtJQUNFLFdBQVc7RUFDYjs7RUFFQTtJQUNFLGVBQWU7SUFDZixnQkFBZ0I7RUFDbEI7RUFDQTtJQUNFLFdBQVc7SUFDWCxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLG1CQUFtQixFQUFFLG1DQUFtQztFQUMxRDs7RUFFQTtJQUNFLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixXQUFXO0VBQ2I7O0VBRUE7SUFDRSxXQUFXO0lBQ1gsYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixtQkFBbUIsRUFBRSxxQ0FBcUM7RUFDNUQ7O0VBRUE7SUFDRSxnQkFBZ0I7SUFDaEIsWUFBWTtFQUNkOztFQUVBO0lBQ0UsU0FBUztJQUNULFlBQVk7RUFDZDs7RUFFQTtJQUNFLFVBQVU7SUFDVixVQUFVO0VBQ1o7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL3NlX3Byb2plY3Rfc3BvdHMvLi9zcmMvdmVuZG9yL25vcm1hbGl6ZS5jc3MiLCJ3ZWJwYWNrOi8vc2VfcHJvamVjdF9zcG90cy8uL3NyYy92ZW5kb3IvZm9udHMuY3NzIiwid2VicGFjazovL3NlX3Byb2plY3Rfc3BvdHMvLi9zcmMvYmxvY2tzL3BhZ2UuY3NzIiwid2VicGFjazovL3NlX3Byb2plY3Rfc3BvdHMvLi9zcmMvYmxvY2tzL2hlYWRlci5jc3MiLCJ3ZWJwYWNrOi8vc2VfcHJvamVjdF9zcG90cy8uL3NyYy9ibG9ja3MvcHJvZmlsZS5jc3MiLCJ3ZWJwYWNrOi8vc2VfcHJvamVjdF9zcG90cy8uL3NyYy9ibG9ja3MvY29udGVudC5jc3MiLCJ3ZWJwYWNrOi8vc2VfcHJvamVjdF9zcG90cy8uL3NyYy9ibG9ja3MvY2FyZHMuY3NzIiwid2VicGFjazovL3NlX3Byb2plY3Rfc3BvdHMvLi9zcmMvYmxvY2tzL2NhcmQuY3NzIiwid2VicGFjazovL3NlX3Byb2plY3Rfc3BvdHMvLi9zcmMvYmxvY2tzL2Zvb3Rlci5jc3MiLCJ3ZWJwYWNrOi8vc2VfcHJvamVjdF9zcG90cy8uL3NyYy9ibG9ja3MvbW9kYWwuY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cclxuXHJcbi8qIERvY3VtZW50XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cclxuICovXHJcblxyXG5odG1sIHtcclxuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xyXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xyXG59XHJcblxyXG4vKiBTZWN0aW9uc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5ib2R5IHtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cclxuICovXHJcblxyXG5tYWluIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLyoqXHJcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcclxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5oMSB7XHJcbiAgZm9udC1zaXplOiAyZW07XHJcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcclxufVxyXG5cclxuLyogR3JvdXBpbmcgY29udGVudFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXHJcbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxyXG4gKi9cclxuXHJcbmhyIHtcclxuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xyXG4gIGhlaWdodDogMDsgLyogMSAqL1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxucHJlIHtcclxuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cclxuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xyXG59XHJcblxyXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cclxuICovXHJcblxyXG5hIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXHJcbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuYWJiclt0aXRsZV0ge1xyXG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cclxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5iLFxyXG5zdHJvbmcge1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuY29kZSxcclxua2JkLFxyXG5zYW1wIHtcclxuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cclxuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuc21hbGwge1xyXG4gIGZvbnQtc2l6ZTogODAlO1xyXG59XHJcblxyXG4vKipcclxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXHJcbiAqIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5zdWIsXHJcbnN1cCB7XHJcbiAgZm9udC1zaXplOiA3NSU7XHJcbiAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxufVxyXG5cclxuc3ViIHtcclxuICBib3R0b206IC0wLjI1ZW07XHJcbn1cclxuXHJcbnN1cCB7XHJcbiAgdG9wOiAtMC41ZW07XHJcbn1cclxuXHJcbi8qIEVtYmVkZGVkIGNvbnRlbnRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxyXG4gKi9cclxuXHJcbmltZyB7XHJcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xyXG59XHJcblxyXG4vKiBGb3Jtc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5pbnB1dCxcclxub3B0Z3JvdXAsXHJcbnNlbGVjdCxcclxudGV4dGFyZWEge1xyXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXHJcbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXHJcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cclxuICBtYXJnaW46IDA7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxyXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuaW5wdXQge1xyXG4gIC8qIDEgKi9cclxuICBvdmVyZmxvdzogdmlzaWJsZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxyXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5zZWxlY3Qge1xyXG4gIC8qIDEgKi9cclxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5bdHlwZT1cImJ1dHRvblwiXSxcclxuW3R5cGU9XCJyZXNldFwiXSxcclxuW3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cclxuICovXHJcblxyXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXHJcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxyXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxyXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XHJcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXHJcbiAqL1xyXG5cclxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxyXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcclxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcclxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xyXG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cclxuICovXHJcblxyXG5maWVsZHNldCB7XHJcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cclxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxyXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XHJcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbmxlZ2VuZCB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xyXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXHJcbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cclxuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cclxuICBwYWRkaW5nOiAwOyAvKiAzICovXHJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cclxuICovXHJcblxyXG5wcm9ncmVzcyB7XHJcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXHJcbiAqL1xyXG5cclxudGV4dGFyZWEge1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXHJcbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cclxuICovXHJcblxyXG5bdHlwZT1cImNoZWNrYm94XCJdLFxyXG5bdHlwZT1cInJhZGlvXCJdIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXHJcbiAgcGFkZGluZzogMDsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxyXG4gKi9cclxuXHJcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxyXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXHJcbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxyXG4gKi9cclxuXHJcblt0eXBlPVwic2VhcmNoXCJdIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xyXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXHJcbiAqL1xyXG5cclxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXHJcbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cclxuICovXHJcblxyXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xyXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cclxufVxyXG5cclxuLyogSW50ZXJhY3RpdmVcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXHJcbiAqL1xyXG5cclxuZGV0YWlscyB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi8qXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5zdW1tYXJ5IHtcclxuICBkaXNwbGF5OiBsaXN0LWl0ZW07XHJcbn1cclxuXHJcbi8qIE1pc2NcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXHJcbiAqL1xyXG5cclxudGVtcGxhdGUge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cclxuICovXHJcblxyXG5baGlkZGVuXSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG4iLCJAZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogXCJQb3BwaW5zXCI7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgc3JjOiB1cmwoXCIuLi92ZW5kb3IvZm9udHMvUG9wcGlucy1SZWd1bGFyLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcclxufVxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogXCJQb3BwaW5zXCI7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgc3JjOiB1cmwoXCIuLi92ZW5kb3IvZm9udHMvUG9wcGlucy1NZWRpdW0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xyXG59XHJcbiIsIi5wYWdlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmNWU1OyAvKiBzbyB0aGUgb3RoZXIgY29sb3IgZG9udCBtZXNzIHdpdGggdGhlIGhlYWRlciAqL1xyXG4gIGZvbnQtZmFtaWx5OiBcIlBvcHBpbnNcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcclxufVxyXG5cclxuLyogbmV3IHJ1bGUgY3JlYXRlZCBzbyBpIGRpZG50IGhhdmUgdG8gcmVkbyB0b28gbXVjaCBjb2RlICovXHJcbi5wYWdlX19jb250ZW50IHtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogYXV0bzsgLypjZW50ZXJzIGV2ZXJ5dGhpbmcgb24gd2VicGFnZSovXHJcbiAgbWluLWhlaWdodDogMTAwdmg7XHJcbn1cclxuXHJcbi5wYWdlX19zZWN0aW9uIHtcclxuICBtYXgtd2lkdGg6IDEyODBweDsgLypiaWdnZXN0IHdlIHdhbnQgdGhlIGFjdHVhbCBjb25lbnQgdG8gc3RyZXRjaCovXHJcbiAgbWFyZ2luOiAwIGF1dG87IC8qIGtlZXBzIHRoZSBjb250ZW50IGNlbnRlcmVkIG9uIHRoZSBiYWNrZ3JvdW5kICovXHJcbn1cclxuIiwiLmhlYWRlciB7XHJcbiAgcGFkZGluZzogMTBweCAwOyAvKnBhZ2Ugc2VwZXJhdGlvbiBjdXNoaW9uICovXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvKiBrZWVwcyBsb2dvIGNlbnRlciAqL1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIGtlZXBzIGxvZ28gY2VudGVyICovXHJcbn1cclxuXHJcbi5oZWFkZXJfX2xvZ28ge1xyXG4gIHdpZHRoOiA5NHB4O1xyXG4gIGhlaWdodDogMjZweDtcclxufVxyXG4iLCIucHJvZmlsZSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBwYWRkaW5nOiAzNHB4IDAgMjBweDsgLyogcGFnZSBzZXBlcmF0aW9uIGN1c2hpb24gKi9cclxuICBib3JkZXItYm90dG9tOiAxcHggcmdiYSgzMywgMzMsIDMzLCAwLjQpIHNvbGlkO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4vKiBDb250YWluZXIgZm9yIHRoZSBhdmF0YXIgYW5kIGl0cyBlZGl0IGJ1dHRvbiAqL1xyXG4ucHJvZmlsZV9fYXZhdGFyLWNvbnRhaW5lciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGhlaWdodDogMTkwcHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ucHJvZmlsZV9fYXZhdGFyLW92ZXJsYXkge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgb3BhY2l0eTogMDsgLyogTWFrZSBpdCBpbnZpc2libGUgKi9cclxuICBiYWNrZ3JvdW5kOiByZ2JhKFxyXG4gICAgMCxcclxuICAgIDAsXHJcbiAgICAwLFxyXG4gICAgMC4zXHJcbiAgKTsgLyogT3B0aW9uYWw6IGFkZHMgc2xpZ2h0IGRhcmtlbmluZyBlZmZlY3Qgb24gaG92ZXIgKi9cclxufVxyXG5cclxuLnByb2ZpbGVfX2F2YXRhci1jb250YWluZXI6aG92ZXIgLnByb2ZpbGVfX2F2YXRhci1vdmVybGF5IHtcclxuICBvcGFjaXR5OiAxOyAvKiBTaG93IG92ZXJsYXkgb24gaG92ZXIgKi9cclxufVxyXG5cclxuLyogQXZhdGFyIGltYWdlICovXHJcbi5wcm9maWxlX19hdmF0YXIge1xyXG4gIG1hcmdpbi1yaWdodDogMjBweDtcclxuICBoZWlnaHQ6IDE5MHB4O1xyXG4gIHdpZHRoOiAxOTBweDtcclxuICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgei1pbmRleDogMTtcclxufVxyXG5cclxuLyogQXZhdGFyIGVkaXQgYnV0dG9uICovXHJcbi5wcm9maWxlX19hdmF0YXItYnV0dG9uIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcGFkZGluZzogMTJweCAxMHB4OyAvKiBCdXR0b24gcGFkZGluZyBmb3IgYSBjb21mb3J0YWJsZSBjbGljayBhcmVhICovXHJcbiAgbGVmdDogNTAlO1xyXG4gIGJvdHRvbTogMDtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgZGlzcGxheTogZmxleDsgLyogQWxsb3dzIGZvciBnYXAgdXNhZ2UgKi9cclxuICBnYXA6IDhweDsgLyogU3BhY2UgYmV0d2VlbiBpY29uIGFuZCB0ZXh0ICovXHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvKiBQcmV2ZW50cyB0ZXh0IHdyYXBwaW5nICovXHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgei1pbmRleDogMjtcclxuICBvcGFjaXR5OiAwO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLnByb2ZpbGVfX2F2YXRhci1jb250YWluZXI6aG92ZXIgLnByb2ZpbGVfX2F2YXRhci1idXR0b24ge1xyXG4gIG9wYWNpdHk6IDE7IC8qIFRoaXMgd2lsbCBtYWtlIHRoZSBidXR0b24gdmlzaWJsZSBvbiBob3ZlciAqL1xyXG59XHJcblxyXG4vKiBjb250YWluZXIgb2YgTmFtZSBEZXNjcmlwdGlvbiBhbmQgZWRpdCBidXR0b24qL1xyXG4ucHJvZmlsZV9fY29sdW1uIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi5wcm9maWxlX19uYW1lIHtcclxuICBtYXJnaW46IDAgMCAxMnB4OyAvKmlzIGNyZWF0aW5nIHRoZSBnYXAgZnJvbSBkZXNjcmlwdGlvbiovXHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBmb250LXNpemU6IDMycHg7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgY29sb3I6ICMyMTIxMjE7XHJcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XHJcbiAgbGluZS1jbGFtcDogMztcclxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gIG1heC13aWR0aDogNDIwcHg7XHJcbn1cclxuXHJcbi5wcm9maWxlX19kZXNjcmlwdGlvbiB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICBjb2xvcjogcmdiYSgzNCwgMzQsIDM0LCAwLjcpO1xyXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xyXG4gIGxpbmUtY2xhbXA6IDM7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICBtYXgtd2lkdGg6IDQyMHB4O1xyXG59XHJcblxyXG4ucHJvZmlsZV9fZWRpdC1idXR0b24ge1xyXG4gIG1hcmdpbi10b3A6IGF1dG87IC8qYnkgbWltaWNpbmcgdGhlIGFkZCBidXR0b24gd2l0aCB0aGUgbWFyZ2lucyBpIGhhdmUgZ290dGVuIHJpZCBvZiB0aGUgZ2hvc3QgcGFkZGluZyBhbmQgZG9udCBoYXZlIHRvIGFwcGx5IHdpZHRocyovXHJcbiAgcGFkZGluZzogMDsgLyppcyBrZWVwaW5nIGJ1dHRvbiBpbiBpdHMgY29ybmVyICovXHJcbiAgd2lkdGg6IGZpdC1jb250ZW50OyAvKiBmaW5hbGx5IGNsaWNrYWJsZSBvbmx5IHdoZXJlIGl0cyBtZW50IHRvIGJlIGNsaWNrZWQgYXQqL1xyXG4gIGRpc3BsYXk6IGZsZXg7IC8qIGlzIGFsbG93aW5nIGdhcCB0byBiZSB1c2VkIGFuZCBrZWVwaW5nIGl0IGlubGluZSB3aXRoIG5hbWUgYW5kIGRlc2NyaXB0aW9uICovXHJcbiAgZ2FwOiA4cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgY29sb3I6ICMyMTIxMjE7XHJcbiAgb3BhY2l0eTogNzAlO1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5wcm9maWxlX19lZGl0LWJ1dHRvbjpob3ZlciB7XHJcbiAgb3BhY2l0eTogMTAwJTsgLyogdmVyeSBzdWJ0bGUgY2hhbmdlIGJ1dCByZW1vdmVzIG92ZXJsYXkgZHVyaW5nIGhvdmVyICovXHJcbn1cclxuXHJcbi5wcm9maWxlX19hZGQtYnV0dG9uIHtcclxuICBtYXJnaW4tbGVmdDogYXV0bzsgLyogaXMgcHVzaGluZyBpdCBmcm9tIHRoZSByZXN0ICovXHJcbiAgbWFyZ2luLXRvcDogYXV0bzsgLyogcHVzaGluZyBpdCBkb3duIGZyb20gdG9wICovXHJcbiAgcGFkZGluZzogMDtcclxuICBkaXNwbGF5OiBmbGV4OyAvKiBpcyBhbGxvd2luZyB1c2Ugb2YgZ2FwICovXHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8qIGFsaWduaW5nIHRleHQgaG9yaXpvbnRhbGx5ICovXHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLyogYWxpZ25pbmcgdGV4dCB2ZXJ0aWNhbGx5ICovXHJcbiAgZ2FwOiA4cHg7XHJcbiAgd2lkdGg6IDE0OXB4O1xyXG4gIGhlaWdodDogNTJweDtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgY29sb3I6ICNmY2Y1ZTU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjEyMTtcclxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ucHJvZmlsZV9fYWRkLWJ1dHRvbjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShcclxuICAgIDMzLFxyXG4gICAgMzMsXHJcbiAgICAzMyxcclxuICAgIDAuOFxyXG4gICk7IC8qY2hhbmdlcyBidXR0b24gY29sb3IgZHVyaW5nIGhvdmVyLiovXHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYyN3B4KSB7XHJcbiAgLnByb2ZpbGUge1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG1heC13aWR0aDogMjg4cHg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgfVxyXG5cclxuICAucHJvZmlsZV9fYXZhdGFyLWNvbnRhaW5lciB7XHJcbiAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICB3aWR0aDogODBweDtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICB9XHJcblxyXG4gIC5wcm9maWxlX19hdmF0YXIge1xyXG4gICAgbWFyZ2luOiAwIDAgMTJweDtcclxuICAgIGhlaWdodDogODBweDtcclxuICAgIHdpZHRoOiA4MHB4O1xyXG4gIH1cclxuXHJcbiAgLnByb2ZpbGVfX2F2YXRhci1jb250YWluZXI6aG92ZXIgLnByb2ZpbGVfX2F2YXRhci1vdmVybGF5IHtcclxuICAgIG9wYWNpdHk6IDA7IC8qIEhpZGUgb3ZlcmxheSBvbiBob3ZlciAqL1xyXG4gIH1cclxuXHJcbiAgLnByb2ZpbGVfX2F2YXRhci1idXR0b24ge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNC42NnB4O1xyXG4gICAgcGFkZGluZzogNHB4IDRweDtcclxuICAgIGhlaWdodDogMjMuMzRweDtcclxuICAgIHdpZHRoOiAyMy4zNHB4O1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRvcDogNTJweDtcclxuICAgIGxlZnQ6IDYzcHg7XHJcbiAgICBmb250LXNpemU6IDA7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMzLCAzMywgMzMsIDAuNik7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgfVxyXG5cclxuICAucHJvZmlsZV9fbmFtZSB7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBtYXJnaW46IDAgMCA2cHg7XHJcbiAgICBtYXgtd2lkdGg6IDI4OHB4O1xyXG4gIH1cclxuXHJcbiAgLnByb2ZpbGVfX2NvbHVtbiB7XHJcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gIH1cclxuXHJcbiAgLnByb2ZpbGVfX2Rlc2NyaXB0aW9uIHtcclxuICAgIG1hcmdpbjogMCAwIDMycHg7XHJcbiAgICBtYXgtd2lkdGg6IDI4OHB4O1xyXG4gIH1cclxuXHJcbiAgLnByb2ZpbGVfX2VkaXQtYnV0dG9uIHtcclxuICAgIG1hcmdpbjogYXV0bzsgLyoga2VlcGluZyBidXR0b24gY2VudGVyZWQvaW5saW5lICovXHJcbiAgfVxyXG5cclxuICAucHJvZmlsZV9fYWRkLWJ1dHRvbiB7XHJcbiAgICB3aWR0aDogMTAwJTsgLyogc3RyZXRjaGVzIGJ1dHRvbiBvdXQgKi9cclxuICB9XHJcbn1cclxuIiwiLmNvbnRlbnQge1xyXG4gIC8qcnVsZSBpcyB0byBhZGQgcGFkZGluZyBzbyB0aGF0IG5vdGhpbmcgdG91Y2hlcyBzaWRlcyBkdXJpbmcgc2hyaW5rYWdlKi9cclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMCAyMHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmY2Y1ZTU7IC8qa2VlcCBiYWNrZ3JvdW5kIGNvbG9ycyBjb3JyZWN0IGR1cmluZyBzaHJpbmthZ2UqL1xyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMzBweCkge1xyXG4gIC5jb250ZW50IHtcclxuICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICB9XHJcbn1cclxuIiwiLmNhcmRzIHtcclxuICBwYWRkaW5nOiAyMHB4IDAgNDBweDsgLyogdG9wIGFuZCBib3R0b20gXCJwYWdlIHNlcGVyYXRpb24gY3VzaGlvblwiICovXHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHJnYmEoMzMsIDMzLCAzMywgMC40KSBzb2xpZDtcclxufVxyXG5cclxuLmNhcmRzX19saXN0IHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgZGlzcGxheTogZ3JpZDtcclxuICBnYXA6IDQwcHggMjBweDsgLypnYXBzIGJldHdlZW4gY2FyZHMqL1xyXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCA0MTNweCk7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYyN3B4KSB7XHJcbiAgLmNhcmRzIHtcclxuICAgIHBhZGRpbmc6IDIwcHggMCAyMHB4O1xyXG4gIH1cclxuXHJcbiAgLmNhcmRzX19saXN0IHtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCAyODhweCk7XHJcbiAgICBnYXA6IDIwcHggMjBweDtcclxuICB9XHJcbn1cclxuIiwiLmNhcmQge1xyXG4gIG1heC13aWR0aDogNDEzcHg7XHJcbn1cclxuXHJcbi5jYXJkX19pbWFnZSB7XHJcbiAgd2lkdGg6IDQxM3B4OyAvKiB3aWR0aCBhbmQgaGVpZ2h0IGtlZXAgaW1hZ2UgY29ycmVjdCBzaXplKi9cclxuICBoZWlnaHQ6IDQxM3B4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICBvYmplY3QtZml0OiBjb3ZlcjsgLyoga2VlcHMgaW1hZ2VzIGxvb2tpbmcgbmljZSAqL1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmNhcmRfX2NvbnRlbnQge1xyXG4gIG1hcmdpbjogMTJweCAwIDA7IC8qIGJ1bXBlciBiZXR3ZWVuIGltYWdlIGFuZCB0ZXh0ICovXHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uY2FyZF9fdGl0bGUge1xyXG4gIG1hcmdpbjogMDtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxuICBsaW5lLWhlaWdodDogMS4yO1xyXG4gIGNvbG9yOiAjMjEyMTIxO1xyXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAxO1xyXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcbiAgbWF4LXdpZHRoOiAzNTNweDtcclxufVxyXG5cclxuLmNhcmRfX2RlbGV0ZS1idXR0b24ge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgLyogaGF2aW5nIGFic29sdXRlIG1ha2VzIHN1cmUgZWFjaCBjYXJkIGhhcyBhIGJ1dHRvbiBhbmQgaW4gdGhlIGNvcnJlY3Qgc3BvdCovXHJcbiAgbWFyZ2luOiAxMHB4IDM3MXB4IDA7XHJcbiAgcGFkZGluZzogMDsgLyogY29udHJvbHMgc2l6ZSBvZiBzdmcgaSBndWVzcyAqL1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvZGVsZXRlLWljb24uc3ZnKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyAvKiB0aGlzIGFuZCBiZyBzaXplIGlzIGtlZXBpbmcgdGhlIGljb24gdHJ1ZSB0byBzaXplICovXHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gIHdpZHRoOiAzMnB4OyAvKm1ha2VzIHN1cmUgc3ZnIGFjdHVhbGx5IHNob3dzICovXHJcbiAgaGVpZ2h0OiAzMnB4OyAvKnNhbWUgYXMgd2lkdGgqL1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBvcGFjaXR5OiAxMDAlO1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5jYXJkX19kZWxldGUtYnV0dG9uOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2RlbGV0ZS1pY29uLWhvdmVyLnN2Zyk7XHJcbn1cclxuXHJcbi5jYXJkX19saWtlLWJ1dHRvbiB7XHJcbiAgcGFkZGluZzogMDtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2xpa2VyZWFjdC5zdmcpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IC8qIHRoaXMgYW5kIGJnIHNpemUgaXMga2VlcGluZyB0aGUgaWNvbiB0cnVlIHRvIHNpemUgKi9cclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgd2lkdGg6IDIzcHg7XHJcbiAgaGVpZ2h0OiAyMHB4O1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBvcGFjaXR5OiA0MCU7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmNhcmRfX2xpa2UtYnV0dG9uOmhvdmVyIHtcclxuICBvcGFjaXR5OiAxMDAlO1xyXG59XHJcblxyXG4uY2FyZF9fbGlrZS1idXR0b25fbGlrZWQge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvbGlrRURyZWFjdC5zdmcpO1xyXG4gIG9wYWNpdHk6IDEwMCU7XHJcbn1cclxuXHJcbi5jYXJkX19saWtlLWJ1dHRvbl9saWtlZDpob3ZlciB7XHJcbiAgb3BhY2l0eTogNDAlO1xyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MjdweCkge1xyXG4gIC5jYXJkIHtcclxuICAgIG1heC13aWR0aDogMjg4cHg7XHJcbiAgfVxyXG5cclxuICAuY2FyZF9faW1hZ2Uge1xyXG4gICAgd2lkdGg6IDI4OHB4O1xyXG4gICAgaGVpZ2h0OiAyODhweDtcclxuICB9XHJcblxyXG4gIC5jYXJkX190aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIG1heC13aWR0aDogMjMxcHg7XHJcbiAgfVxyXG5cclxuICAuY2FyZF9fbGlrZS1idXR0b24ge1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgICBoZWlnaHQ6IDE4cHg7XHJcbiAgfVxyXG5cclxuICAuY2FyZF9fZGVsZXRlLWJ1dHRvbiB7XHJcbiAgICBtYXJnaW46IDEwcHggMjQ2cHggMDtcclxuICB9XHJcbn1cclxuIiwiLmZvb3RlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjVlNTtcclxuICBtaW4taGVpZ2h0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZm9vdGVyX19jb3B5cmlnaHQge1xyXG4gIG1hcmdpbjogYXV0bztcclxuICBwYWRkaW5nOiA2MHB4IDA7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGNvbG9yOiByZ2JhKDMzLCAzMywgMzMsIDAuNyk7XHJcbn1cclxuIiwiLyptb2RhbD1wb3B1cCBib3gqL1xyXG4ubW9kYWwge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICBib3R0b206IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgcGFkZGluZzogMCAxNnB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcclxuICAvKmRhcmtlbnMgYmFja2dyb3VuZCB3aGVuIGVkaXQgYnV0dG9uIGlzIGFjdGl2YXRlZCovXHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIC8qa2VlcHMgcG9wdXAgaGlkZGVuIHVudGlsIGFjdGl2YXRlZCovXHJcbiAgb3BhY2l0eTogMDtcclxuICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDAuM3MsIG9wYWNpdHkgMC4zcyBlYXNlLWluO1xyXG4gIHotaW5kZXg6IDM7XHJcbn1cclxuXHJcbi8qd2hlbiBlZGl0IGJ1dHRvbiBpcyBjbGlja2VkIHBvcCB1cCBzaG91bGQgaW5pdGlhdGUqL1xyXG4ubW9kYWxfb3BlbmVkIHtcclxuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gIG9wYWNpdHk6IDEwMCU7XHJcbn1cclxuXHJcbi8qcG9wdXAgYm94Ki9cclxuLm1vZGFsX19jb250YWluZXIge1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgcGFkZGluZzogMzJweCA1MHB4O1xyXG4gIG1heC13aWR0aDogNzMwcHg7XHJcbiAgd2lkdGg6IDEwMCU7IC8qc28gcG9wdXAgYm94IGlzIGFzIHdpZGUgYXMgZGVzaWduIGNhbGxzLiB3L28gaXQgYm94IGlzIHRvbyBzbWFsbCovXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qc28gcGFkZGluZyBkb2VzbnQgYWRkIHRvIGNvbXBsZXRlIHNpemUqL1xyXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcclxufVxyXG5cclxuLypwb3B1cCBmb3IgcHJldmlld2luZyBpbWFnZXMqL1xyXG4ubW9kYWxfX2NvbnRhaW5lcl90eXBlX3ByZXZpZXcge1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4vKmZvciBpbWFnZSBwcmV2aWV3Ki9cclxuLm1vZGFsX19pbWFnZSB7XHJcbiAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgbWF4LXdpZHRoOiA4MHZ3O1xyXG4gIG1heC1oZWlnaHQ6IDgwdmg7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcclxufVxyXG5cclxuLypmb3IgaW1hZ2UgcHJldmlldyovXHJcbi5tb2RhbF9fY2FwdGlvbiB7XHJcbiAgbWFyZ2luOiA4cHggMCAwOyAvKiBidW1wZXIgYmV0d2VlbiBpbWFnZSBhbmQgdGV4dCAqL1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjEyMTtcclxufVxyXG5cclxuLypjbG9zZSBidXR0b24gZm9yIGFsbCBwb3B1cHMqL1xyXG4ubW9kYWxfX2Nsb3NlLWJ1dHRvbiB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMzJweDtcclxuICByaWdodDogNTBweDtcclxuICB3aWR0aDogNDBweDtcclxuICBoZWlnaHQ6IDQwcHg7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9jbG9zZWJ1dHRvbi5zdmcpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IC8qIHRoaXMgYW5kIGJnIHNpemUgaXMga2VlcGluZyB0aGUgaWNvbiB0cnVlIHRvIHNpemUgKi9cclxuICBib3JkZXI6IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgb3BhY2l0eTogNDAlO1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi8qY2xvc2UgYnV0dG9uIGZvciBpbWFnZSBwcmV2aWV3Ki9cclxuLm1vZGFsX19jbG9zZS1idXR0b25fdHlwZV9wcmV2aWV3IHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2Nsb3NlLWJ1dHRvbi1saWdodC5zdmcpO1xyXG4gIHRvcDogMDtcclxuICByaWdodDogLTUyLjVweDtcclxuICBvcGFjaXR5OiAxMDAlO1xyXG59XHJcblxyXG4ubW9kYWxfX2Nsb3NlLWJ1dHRvbjpob3ZlciB7XHJcbiAgb3BhY2l0eTogMTAwJTtcclxufVxyXG5cclxuLm1vZGFsX190aXRsZSB7XHJcbiAgbWFyZ2luOiAwIDAgMzJweDtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIGZvbnQtc2l6ZTogMzJweDtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICBjb2xvcjogIzIxMjEyMTtcclxufVxyXG5cclxuLm1vZGFsX19sYWJlbCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgZ2FwOiA4cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNztcclxuICBjb2xvcjogIzIxMjEyMTtcclxuICBvcGFjaXR5OiA3MCU7XHJcbn1cclxuXHJcbi5tb2RhbF9faW5wdXQge1xyXG4gIHBhZGRpbmc6IDE2cHggMTJweCAxNnB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgZm9udC1zaXplOiAyMHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIGNvbG9yOiAjMjEyMTIxO1xyXG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjVzO1xyXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5tb2RhbF9faW5wdXQ6aG92ZXIge1xyXG4gIGJvcmRlci1jb2xvcjogIzAwMDtcclxufVxyXG5cclxuLm1vZGFsX19pbnB1dF90eXBlX2Vycm9yIHtcclxuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMCwgMCwgMC42KTtcclxufVxyXG5cclxuLm1vZGFsX19lcnJvciB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbGluZS1oZWlnaHQ6IDEuMTtcclxuICBjb2xvcjogcmdiYSgyNTUsIDAsIDAsIDAuNyk7XHJcbn1cclxuXHJcbi5tb2RhbF9fc3VibWl0LWJ1dHRvbiB7XHJcbiAgd2lkdGg6IDE1NnB4O1xyXG4gIHBhZGRpbmc6IDE4cHggMDtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgY29sb3I6ICNmY2Y1ZTU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjEyMTtcclxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ubW9kYWxfX3N1Ym1pdC1idXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoXHJcbiAgICAzMyxcclxuICAgIDMzLFxyXG4gICAgMzMsXHJcbiAgICAwLjhcclxuICApOyAvKmNoYW5nZXMgYnV0dG9uIGNvbG9yIGR1cmluZyBob3Zlci4gbm8gaWRlYSB3aHkgaXQga2VlcHMgZm9ybWF0dGluZyB0byB0aGlzIG5vbnNlbnNlICovXHJcbn1cclxuXHJcbi5tb2RhbF9fc3VibWl0LWJ1dHRvbl9kaXNhYmxlZCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMywgMzMsIDMzLCAwLjMpO1xyXG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbn1cclxuXHJcbi8qLS0tLS0tLW1vZGFsIGZvciBEZWxldGluZyBpbWFnZS0tLS0tLS0tLS0qL1xyXG5cclxuLypjb250YWlucyBkZWxldGUgbW9kYWwqL1xyXG4ubW9kYWxfX2NvbnRhaW5lcl90eXBlX2RlbGV0ZSB7XHJcbiAgcGFkZGluZzogMDtcclxuICBtYXgtd2lkdGg6IDYzMHB4O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4ubW9kYWxfX2Nsb3NlLWJ1dHRvbl90eXBlX2RlbGV0ZSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9jbG9zZS1idXR0b24tbGlnaHQuc3ZnKTtcclxuICByaWdodDogLTUwcHg7XHJcbiAgdG9wOiAwO1xyXG59XHJcblxyXG4ubW9kYWxfX2Nsb3NlLWJ1dHRvbl90eXBlX2RlbGV0ZTpob3ZlciB7XHJcbiAgb3BhY2l0eTogMTAwJTtcclxufVxyXG5cclxuLm1vZGFsX190aXRsZV90eXBlX2RlbGV0ZSB7XHJcbiAgbWFyZ2luLXRvcDogMzJweDtcclxuICBmb250LXNpemU6IDI0cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLypjb250YWlucyBib3RoIGJ1dHRvbnMqL1xyXG4ubW9kYWxfX2J1dHRvbi1jb250YWluZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi5tb2RhbF9fc3VibWl0LWJ1dHRvbl90eXBlX2RlbGV0ZSB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcclxuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgd2lkdGg6IDE1NnB4O1xyXG4gIHBhZGRpbmc6IDE4cHggNTJweDtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgY29sb3I6ICMyMTIxMjE7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjU2NTtcclxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ubW9kYWxfX3N1Ym1pdC1idXR0b25fdHlwZV9kZWxldGU6aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjMzMzM7XHJcbn1cclxuXHJcbi5tb2RhbF9fY2FuY2VsLWJ1dHRvbiB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcclxuICBtYXJnaW4tbGVmdDogMTBweDtcclxuICB3aWR0aDogMTU2cHg7XHJcbiAgcGFkZGluZzogMThweCA1MnB4O1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICBjb2xvcjogIzIxMjEyMTtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjMjEyMTIxO1xyXG4gIC8qIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC40KTsgKi9cclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cztcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5tb2RhbF9fY2FuY2VsLWJ1dHRvbjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjEyMTtcclxuICBjb2xvcjogI2ZmZjtcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjI3cHgpIHtcclxuICAubW9kYWwge1xyXG4gICAgcGFkZGluZzogMCAxMHB4O1xyXG4gIH1cclxuXHJcbiAgLm1vZGFsX19jb250YWluZXIge1xyXG4gICAgcGFkZGluZzogMTJweDtcclxuICB9XHJcblxyXG4gIC5tb2RhbF9fY29udGFpbmVyX3R5cGVfcHJldmlldyB7XHJcbiAgICBtYXJnaW46IDAgYXV0bzsgLyogQ2VudGVyIHRoZSBtb2RhbCBjb250ZW50ICovXHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDI4OHB4O1xyXG4gIH1cclxuXHJcbiAgLm1vZGFsX19pbWFnZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1pbi13aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIC5tb2RhbF9fdGl0bGUge1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgbWFyZ2luOiAxMHB4IDAgMzRweDtcclxuICB9XHJcblxyXG4gIC5tb2RhbF9fY2xvc2UtYnV0dG9uIHtcclxuICAgIHRvcDogMTJweDtcclxuICAgIHJpZ2h0OiAxMnB4O1xyXG4gIH1cclxuXHJcbiAgLm1vZGFsX19jbG9zZS1idXR0b25fdHlwZV9wcmV2aWV3IHtcclxuICAgIHRvcDogLTQ3cHg7XHJcbiAgICByaWdodDogMTVweDtcclxuICB9XHJcblxyXG4gIC5tb2RhbF9fbGFiZWwge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcclxuICB9XHJcblxyXG4gIC5tb2RhbF9faW5wdXQge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gIH1cclxuXHJcbiAgLm1vZGFsX19zdWJtaXQtYnV0dG9uIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgLm1vZGFsX19jYXB0aW9uIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgfVxyXG4gICNkZWxldGUtZm9ybSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLyogQWRkIHRoaXMgdG8gY2VudGVyIHRoZSBidXR0b25zICovXHJcbiAgfVxyXG5cclxuICAubW9kYWxfX3RpdGxlX3R5cGVfZGVsZXRlIHtcclxuICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAubW9kYWxfX2J1dHRvbi1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIEFkZCB0aGlzIHRvIGNlbnRlciB0aGUgY29udGFpbmVyICovXHJcbiAgfVxyXG5cclxuICAubW9kYWxfX3N1Ym1pdC1idXR0b25fdHlwZV9kZWxldGUge1xyXG4gICAgbWFyZ2luOiAwIDAgMTJweDtcclxuICAgIHdpZHRoOiAxNTZweDtcclxuICB9XHJcblxyXG4gIC5tb2RhbF9fY2FuY2VsLWJ1dHRvbiB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICB3aWR0aDogMTU2cHg7XHJcbiAgfVxyXG5cclxuICAubW9kYWxfX2Nsb3NlLWJ1dHRvbl90eXBlX2RlbGV0ZSB7XHJcbiAgICB0b3A6IC01MHB4O1xyXG4gICAgcmlnaHQ6IDNweDtcclxuICB9XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/ \ No newline at end of file +/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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ZCx5QkFBeUI7RUFDekIsMENBQTBDO0VBQzFDLHNCQUFzQjtFQUN0QixpQ0FBaUM7RUFDakMsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLHlCQUF5QjtFQUN6QixXQUFXO0FBQ2I7O0FBRUE7RUFDRTtJQUNFLGVBQWU7RUFDakI7O0VBRUE7SUFDRSxhQUFhO0VBQ2Y7O0VBRUE7SUFDRSxjQUFjLEVBQUUsNkJBQTZCO0lBQzdDLFVBQVU7SUFDVixXQUFXO0lBQ1gsZ0JBQWdCO0VBQ2xCOztFQUVBO0lBQ0UsV0FBVztJQUNYLGVBQWU7SUFDZixlQUFlO0VBQ2pCOztFQUVBO0lBQ0UsZUFBZTtJQUNmLG1CQUFtQjtFQUNyQjs7RUFFQTtJQUNFLFNBQVM7SUFDVCxXQUFXO0VBQ2I7O0VBRUE7SUFDRSxVQUFVO0lBQ1YsV0FBVztFQUNiOztFQUVBO0lBQ0UsbUJBQW1CO0VBQ3JCOztFQUVBO0lBQ0UsZUFBZTtFQUNqQjs7RUFFQTtJQUNFLFdBQVc7RUFDYjs7RUFFQTtJQUNFLGVBQWU7SUFDZixnQkFBZ0I7RUFDbEI7RUFDQTtJQUNFLFdBQVc7SUFDWCxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLG1CQUFtQixFQUFFLG1DQUFtQztFQUMxRDs7RUFFQTtJQUNFLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixXQUFXO0VBQ2I7O0VBRUE7SUFDRSxXQUFXO0lBQ1gsYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixtQkFBbUIsRUFBRSxxQ0FBcUM7RUFDNUQ7O0VBRUE7SUFDRSxnQkFBZ0I7SUFDaEIsWUFBWTtFQUNkOztFQUVBO0lBQ0UsU0FBUztJQUNULFlBQVk7RUFDZDs7RUFFQTtJQUNFLFVBQVU7SUFDVixVQUFVO0VBQ1o7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL3NlX3Byb2plY3Rfc3BvdHMvLi9zcmMvdmVuZG9yL25vcm1hbGl6ZS5jc3MiLCJ3ZWJwYWNrOi8vc2VfcHJvamVjdF9zcG90cy8uL3NyYy92ZW5kb3IvZm9udHMuY3NzIiwid2VicGFjazovL3NlX3Byb2plY3Rfc3BvdHMvLi9zcmMvYmxvY2tzL3BhZ2UuY3NzIiwid2VicGFjazovL3NlX3Byb2plY3Rfc3BvdHMvLi9zcmMvYmxvY2tzL2hlYWRlci5jc3MiLCJ3ZWJwYWNrOi8vc2VfcHJvamVjdF9zcG90cy8uL3NyYy9ibG9ja3MvcHJvZmlsZS5jc3MiLCJ3ZWJwYWNrOi8vc2VfcHJvamVjdF9zcG90cy8uL3NyYy9ibG9ja3MvY29udGVudC5jc3MiLCJ3ZWJwYWNrOi8vc2VfcHJvamVjdF9zcG90cy8uL3NyYy9ibG9ja3MvY2FyZHMuY3NzIiwid2VicGFjazovL3NlX3Byb2plY3Rfc3BvdHMvLi9zcmMvYmxvY2tzL2NhcmQuY3NzIiwid2VicGFjazovL3NlX3Byb2plY3Rfc3BvdHMvLi9zcmMvYmxvY2tzL2Zvb3Rlci5jc3MiLCJ3ZWJwYWNrOi8vc2VfcHJvamVjdF9zcG90cy8uL3NyYy9ibG9ja3MvbW9kYWwuY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCJAZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiUG9wcGluc1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKFwiLi4vdmVuZG9yL2ZvbnRzL1BvcHBpbnMtUmVndWxhci50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiUG9wcGluc1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHNyYzogdXJsKFwiLi4vdmVuZG9yL2ZvbnRzL1BvcHBpbnMtTWVkaXVtLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbiIsIi5wYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjVlNTsgLyogc28gdGhlIG90aGVyIGNvbG9yIGRvbnQgbWVzcyB3aXRoIHRoZSBoZWFkZXIgKi9cbiAgZm9udC1mYW1pbHk6IFwiUG9wcGluc1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xufVxuXG4vKiBuZXcgcnVsZSBjcmVhdGVkIHNvIGkgZGlkbnQgaGF2ZSB0byByZWRvIHRvbyBtdWNoIGNvZGUgKi9cbi5wYWdlX19jb250ZW50IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiBhdXRvOyAvKmNlbnRlcnMgZXZlcnl0aGluZyBvbiB3ZWJwYWdlKi9cbiAgbWluLWhlaWdodDogMTAwdmg7XG59XG5cbi5wYWdlX19zZWN0aW9uIHtcbiAgbWF4LXdpZHRoOiAxMjgwcHg7IC8qYmlnZ2VzdCB3ZSB3YW50IHRoZSBhY3R1YWwgY29uZW50IHRvIHN0cmV0Y2gqL1xuICBtYXJnaW46IDAgYXV0bzsgLyoga2VlcHMgdGhlIGNvbnRlbnQgY2VudGVyZWQgb24gdGhlIGJhY2tncm91bmQgKi9cbn1cbiIsIi5oZWFkZXIge1xuICBwYWRkaW5nOiAxMHB4IDA7IC8qcGFnZSBzZXBlcmF0aW9uIGN1c2hpb24gKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8qIGtlZXBzIGxvZ28gY2VudGVyICovXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIGtlZXBzIGxvZ28gY2VudGVyICovXG59XG5cbi5oZWFkZXJfX2xvZ28ge1xuICB3aWR0aDogOTRweDtcbiAgaGVpZ2h0OiAyNnB4O1xufVxuIiwiLnByb2ZpbGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAzNHB4IDAgMjBweDsgLyogcGFnZSBzZXBlcmF0aW9uIGN1c2hpb24gKi9cbiAgYm9yZGVyLWJvdHRvbTogMXB4IHJnYmEoMzMsIDMzLCAzMywgMC40KSBzb2xpZDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qIENvbnRhaW5lciBmb3IgdGhlIGF2YXRhciBhbmQgaXRzIGVkaXQgYnV0dG9uICovXG4ucHJvZmlsZV9fYXZhdGFyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTkwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnByb2ZpbGVfX2F2YXRhci1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9wYWNpdHk6IDA7IC8qIE1ha2UgaXQgaW52aXNpYmxlICovXG4gIGJhY2tncm91bmQ6IHJnYmEoXG4gICAgMCxcbiAgICAwLFxuICAgIDAsXG4gICAgMC4zXG4gICk7IC8qIE9wdGlvbmFsOiBhZGRzIHNsaWdodCBkYXJrZW5pbmcgZWZmZWN0IG9uIGhvdmVyICovXG59XG5cbi5wcm9maWxlX19hdmF0YXItY29udGFpbmVyOmhvdmVyIC5wcm9maWxlX19hdmF0YXItb3ZlcmxheSB7XG4gIG9wYWNpdHk6IDE7IC8qIFNob3cgb3ZlcmxheSBvbiBob3ZlciAqL1xufVxuXG4vKiBBdmF0YXIgaW1hZ2UgKi9cbi5wcm9maWxlX19hdmF0YXIge1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIGhlaWdodDogMTkwcHg7XG4gIHdpZHRoOiAxOTBweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICB6LWluZGV4OiAxO1xufVxuXG4vKiBBdmF0YXIgZWRpdCBidXR0b24gKi9cbi5wcm9maWxlX19hdmF0YXItYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwYWRkaW5nOiAxMnB4IDEwcHg7IC8qIEJ1dHRvbiBwYWRkaW5nIGZvciBhIGNvbWZvcnRhYmxlIGNsaWNrIGFyZWEgKi9cbiAgbGVmdDogNTAlO1xuICBib3R0b206IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgZGlzcGxheTogZmxleDsgLyogQWxsb3dzIGZvciBnYXAgdXNhZ2UgKi9cbiAgZ2FwOiA4cHg7IC8qIFNwYWNlIGJldHdlZW4gaWNvbiBhbmQgdGV4dCAqL1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvKiBQcmV2ZW50cyB0ZXh0IHdyYXBwaW5nICovXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgei1pbmRleDogMjtcbiAgb3BhY2l0eTogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ucHJvZmlsZV9fYXZhdGFyLWNvbnRhaW5lcjpob3ZlciAucHJvZmlsZV9fYXZhdGFyLWJ1dHRvbiB7XG4gIG9wYWNpdHk6IDE7IC8qIFRoaXMgd2lsbCBtYWtlIHRoZSBidXR0b24gdmlzaWJsZSBvbiBob3ZlciAqL1xufVxuXG4vKiBjb250YWluZXIgb2YgTmFtZSBEZXNjcmlwdGlvbiBhbmQgZWRpdCBidXR0b24qL1xuLnByb2ZpbGVfX2NvbHVtbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5wcm9maWxlX19uYW1lIHtcbiAgbWFyZ2luOiAwIDAgMTJweDsgLyppcyBjcmVhdGluZyB0aGUgZ2FwIGZyb20gZGVzY3JpcHRpb24qL1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDMycHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzIxMjEyMTtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG4gIGxpbmUtY2xhbXA6IDM7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIG1heC13aWR0aDogNDIwcHg7XG59XG5cbi5wcm9maWxlX19kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiByZ2JhKDM0LCAzNCwgMzQsIDAuNyk7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG4gIGxpbmUtY2xhbXA6IDM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBtYXgtd2lkdGg6IDQyMHB4O1xufVxuXG4ucHJvZmlsZV9fZWRpdC1idXR0b24ge1xuICBtYXJnaW4tdG9wOiBhdXRvOyAvKmJ5IG1pbWljaW5nIHRoZSBhZGQgYnV0dG9uIHdpdGggdGhlIG1hcmdpbnMgaSBoYXZlIGdvdHRlbiByaWQgb2YgdGhlIGdob3N0IHBhZGRpbmcgYW5kIGRvbnQgaGF2ZSB0byBhcHBseSB3aWR0aHMqL1xuICBwYWRkaW5nOiAwOyAvKmlzIGtlZXBpbmcgYnV0dG9uIGluIGl0cyBjb3JuZXIgKi9cbiAgd2lkdGg6IGZpdC1jb250ZW50OyAvKiBmaW5hbGx5IGNsaWNrYWJsZSBvbmx5IHdoZXJlIGl0cyBtZW50IHRvIGJlIGNsaWNrZWQgYXQqL1xuICBkaXNwbGF5OiBmbGV4OyAvKiBpcyBhbGxvd2luZyBnYXAgdG8gYmUgdXNlZCBhbmQga2VlcGluZyBpdCBpbmxpbmUgd2l0aCBuYW1lIGFuZCBkZXNjcmlwdGlvbiAqL1xuICBnYXA6IDhweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAjMjEyMTIxO1xuICBvcGFjaXR5OiA3MCU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ucHJvZmlsZV9fZWRpdC1idXR0b246aG92ZXIge1xuICBvcGFjaXR5OiAxMDAlOyAvKiB2ZXJ5IHN1YnRsZSBjaGFuZ2UgYnV0IHJlbW92ZXMgb3ZlcmxheSBkdXJpbmcgaG92ZXIgKi9cbn1cblxuLnByb2ZpbGVfX2FkZC1idXR0b24ge1xuICBtYXJnaW4tbGVmdDogYXV0bzsgLyogaXMgcHVzaGluZyBpdCBmcm9tIHRoZSByZXN0ICovXG4gIG1hcmdpbi10b3A6IGF1dG87IC8qIHB1c2hpbmcgaXQgZG93biBmcm9tIHRvcCAqL1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBmbGV4OyAvKiBpcyBhbGxvd2luZyB1c2Ugb2YgZ2FwICovXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvKiBhbGlnbmluZyB0ZXh0IGhvcml6b250YWxseSAqL1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvKiBhbGlnbmluZyB0ZXh0IHZlcnRpY2FsbHkgKi9cbiAgZ2FwOiA4cHg7XG4gIHdpZHRoOiAxNDlweDtcbiAgaGVpZ2h0OiA1MnB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjZmNmNWU1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjEyMTIxO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnByb2ZpbGVfX2FkZC1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKFxuICAgIDMzLFxuICAgIDMzLFxuICAgIDMzLFxuICAgIDAuOFxuICApOyAvKmNoYW5nZXMgYnV0dG9uIGNvbG9yIGR1cmluZyBob3Zlci4qL1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MjdweCkge1xuICAucHJvZmlsZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtd2lkdGg6IDI4OHB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICB9XG5cbiAgLnByb2ZpbGVfX2F2YXRhci1jb250YWluZXIge1xuICAgIGhlaWdodDogODBweDtcbiAgICB3aWR0aDogODBweDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cblxuICAucHJvZmlsZV9fYXZhdGFyIHtcbiAgICBtYXJnaW46IDAgMCAxMnB4O1xuICAgIGhlaWdodDogODBweDtcbiAgICB3aWR0aDogODBweDtcbiAgfVxuXG4gIC5wcm9maWxlX19hdmF0YXItY29udGFpbmVyOmhvdmVyIC5wcm9maWxlX19hdmF0YXItb3ZlcmxheSB7XG4gICAgb3BhY2l0eTogMDsgLyogSGlkZSBvdmVybGF5IG9uIGhvdmVyICovXG4gIH1cblxuICAucHJvZmlsZV9fYXZhdGFyLWJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNC42NnB4O1xuICAgIHBhZGRpbmc6IDRweCA0cHg7XG4gICAgaGVpZ2h0OiAyMy4zNHB4O1xuICAgIHdpZHRoOiAyMy4zNHB4O1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdG9wOiA1MnB4O1xuICAgIGxlZnQ6IDYzcHg7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMywgMzMsIDMzLCAwLjYpO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxuXG4gIC5wcm9maWxlX19uYW1lIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbWFyZ2luOiAwIDAgNnB4O1xuICAgIG1heC13aWR0aDogMjg4cHg7XG4gIH1cblxuICAucHJvZmlsZV9fY29sdW1uIHtcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xuICB9XG5cbiAgLnByb2ZpbGVfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW46IDAgMCAzMnB4O1xuICAgIG1heC13aWR0aDogMjg4cHg7XG4gIH1cblxuICAucHJvZmlsZV9fZWRpdC1idXR0b24ge1xuICAgIG1hcmdpbjogYXV0bzsgLyoga2VlcGluZyBidXR0b24gY2VudGVyZWQvaW5saW5lICovXG4gIH1cblxuICAucHJvZmlsZV9fYWRkLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7IC8qIHN0cmV0Y2hlcyBidXR0b24gb3V0ICovXG4gIH1cbn1cbiIsIi5jb250ZW50IHtcbiAgLypydWxlIGlzIHRvIGFkZCBwYWRkaW5nIHNvIHRoYXQgbm90aGluZyB0b3VjaGVzIHNpZGVzIGR1cmluZyBzaHJpbmthZ2UqL1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjVlNTsgLyprZWVwIGJhY2tncm91bmQgY29sb3JzIGNvcnJlY3QgZHVyaW5nIHNocmlua2FnZSovXG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMzMHB4KSB7XG4gIC5jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gIH1cbn1cbiIsIi5jYXJkcyB7XG4gIHBhZGRpbmc6IDIwcHggMCA0MHB4OyAvKiB0b3AgYW5kIGJvdHRvbSBcInBhZ2Ugc2VwZXJhdGlvbiBjdXNoaW9uXCIgKi9cbiAgYm9yZGVyLWJvdHRvbTogMXB4IHJnYmEoMzMsIDMzLCAzMywgMC40KSBzb2xpZDtcbn1cblxuLmNhcmRzX19saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogNDBweCAyMHB4OyAvKmdhcHMgYmV0d2VlbiBjYXJkcyovXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCA0MTNweCk7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MjdweCkge1xuICAuY2FyZHMge1xuICAgIHBhZGRpbmc6IDIwcHggMCAyMHB4O1xuICB9XG5cbiAgLmNhcmRzX19saXN0IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgMjg4cHgpO1xuICAgIGdhcDogMjBweCAyMHB4O1xuICB9XG59XG4iLCIuY2FyZCB7XG4gIG1heC13aWR0aDogNDEzcHg7XG59XG5cbi5jYXJkX19pbWFnZSB7XG4gIHdpZHRoOiA0MTNweDsgLyogd2lkdGggYW5kIGhlaWdodCBrZWVwIGltYWdlIGNvcnJlY3Qgc2l6ZSovXG4gIGhlaWdodDogNDEzcHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgb2JqZWN0LWZpdDogY292ZXI7IC8qIGtlZXBzIGltYWdlcyBsb29raW5nIG5pY2UgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY2FyZF9fY29udGVudCB7XG4gIG1hcmdpbjogMTJweCAwIDA7IC8qIGJ1bXBlciBiZXR3ZWVuIGltYWdlIGFuZCB0ZXh0ICovXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmNhcmRfX3RpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGNvbG9yOiAjMjEyMTIxO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMTtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgbWF4LXdpZHRoOiAzNTNweDtcbn1cblxuLmNhcmRfX2RlbGV0ZS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IC8qIGhhdmluZyBhYnNvbHV0ZSBtYWtlcyBzdXJlIGVhY2ggY2FyZCBoYXMgYSBidXR0b24gYW5kIGluIHRoZSBjb3JyZWN0IHNwb3QqL1xuICBtYXJnaW46IDEwcHggMzcxcHggMDtcbiAgcGFkZGluZzogMDsgLyogY29udHJvbHMgc2l6ZSBvZiBzdmcgaSBndWVzcyAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2RlbGV0ZS1pY29uLnN2Zyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IC8qIHRoaXMgYW5kIGJnIHNpemUgaXMga2VlcGluZyB0aGUgaWNvbiB0cnVlIHRvIHNpemUgKi9cbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICB3aWR0aDogMzJweDsgLyptYWtlcyBzdXJlIHN2ZyBhY3R1YWxseSBzaG93cyAqL1xuICBoZWlnaHQ6IDMycHg7IC8qc2FtZSBhcyB3aWR0aCovXG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG9wYWNpdHk6IDEwMCU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY2FyZF9fZGVsZXRlLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvZGVsZXRlLWljb24taG92ZXIuc3ZnKTtcbn1cblxuLmNhcmRfX2xpa2UtYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9saWtlcmVhY3Quc3ZnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgLyogdGhpcyBhbmQgYmcgc2l6ZSBpcyBrZWVwaW5nIHRoZSBpY29uIHRydWUgdG8gc2l6ZSAqL1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIHdpZHRoOiAyM3B4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG9wYWNpdHk6IDQwJTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jYXJkX19saWtlLWJ1dHRvbjpob3ZlciB7XG4gIG9wYWNpdHk6IDEwMCU7XG59XG5cbi5jYXJkX19saWtlLWJ1dHRvbl9saWtlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvbGlrRURyZWFjdC5zdmcpO1xuICBvcGFjaXR5OiAxMDAlO1xufVxuXG4uY2FyZF9fbGlrZS1idXR0b25fbGlrZWQ6aG92ZXIge1xuICBvcGFjaXR5OiA0MCU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYyN3B4KSB7XG4gIC5jYXJkIHtcbiAgICBtYXgtd2lkdGg6IDI4OHB4O1xuICB9XG5cbiAgLmNhcmRfX2ltYWdlIHtcbiAgICB3aWR0aDogMjg4cHg7XG4gICAgaGVpZ2h0OiAyODhweDtcbiAgfVxuXG4gIC5jYXJkX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1heC13aWR0aDogMjMxcHg7XG4gIH1cblxuICAuY2FyZF9fbGlrZS1idXR0b24ge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgfVxuXG4gIC5jYXJkX19kZWxldGUtYnV0dG9uIHtcbiAgICBtYXJnaW46IDEwcHggMjQ2cHggMDtcbiAgfVxufVxuIiwiLmZvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmY2Y1ZTU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZm9vdGVyX19jb3B5cmlnaHQge1xuICBtYXJnaW46IGF1dG87XG4gIHBhZGRpbmc6IDYwcHggMDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogcmdiYSgzMywgMzMsIDMzLCAwLjcpO1xufVxuIiwiLyptb2RhbD1wb3B1cCBib3gqL1xuLm1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDAgMTZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAvKmRhcmtlbnMgYmFja2dyb3VuZCB3aGVuIGVkaXQgYnV0dG9uIGlzIGFjdGl2YXRlZCovXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIC8qa2VlcHMgcG9wdXAgaGlkZGVuIHVudGlsIGFjdGl2YXRlZCovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IHZpc2liaWxpdHkgMC4zcywgb3BhY2l0eSAwLjNzIGVhc2UtaW47XG4gIHotaW5kZXg6IDM7XG59XG5cbi8qd2hlbiBlZGl0IGJ1dHRvbiBpcyBjbGlja2VkIHBvcCB1cCBzaG91bGQgaW5pdGlhdGUqL1xuLm1vZGFsX29wZW5lZCB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIG9wYWNpdHk6IDEwMCU7XG59XG5cbi8qcG9wdXAgYm94Ki9cbi5tb2RhbF9fY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcGFkZGluZzogMzJweCA1MHB4O1xuICBtYXgtd2lkdGg6IDczMHB4O1xuICB3aWR0aDogMTAwJTsgLypzbyBwb3B1cCBib3ggaXMgYXMgd2lkZSBhcyBkZXNpZ24gY2FsbHMuIHcvbyBpdCBib3ggaXMgdG9vIHNtYWxsKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKnNvIHBhZGRpbmcgZG9lc250IGFkZCB0byBjb21wbGV0ZSBzaXplKi9cbiAgYm9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4vKnBvcHVwIGZvciBwcmV2aWV3aW5nIGltYWdlcyovXG4ubW9kYWxfX2NvbnRhaW5lcl90eXBlX3ByZXZpZXcge1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLypmb3IgaW1hZ2UgcHJldmlldyovXG4ubW9kYWxfX2ltYWdlIHtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG1heC13aWR0aDogODB2dztcbiAgbWF4LWhlaWdodDogODB2aDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi8qZm9yIGltYWdlIHByZXZpZXcqL1xuLm1vZGFsX19jYXB0aW9uIHtcbiAgbWFyZ2luOiA4cHggMCAwOyAvKiBidW1wZXIgYmV0d2VlbiBpbWFnZSBhbmQgdGV4dCAqL1xuICBwYWRkaW5nOiAxMHB4O1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjEyMTIxO1xufVxuXG4vKmNsb3NlIGJ1dHRvbiBmb3IgYWxsIHBvcHVwcyovXG4ubW9kYWxfX2Nsb3NlLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzMnB4O1xuICByaWdodDogNTBweDtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9jbG9zZWJ1dHRvbi5zdmcpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyAvKiB0aGlzIGFuZCBiZyBzaXplIGlzIGtlZXBpbmcgdGhlIGljb24gdHJ1ZSB0byBzaXplICovXG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG9wYWNpdHk6IDQwJTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qY2xvc2UgYnV0dG9uIGZvciBpbWFnZSBwcmV2aWV3Ki9cbi5tb2RhbF9fY2xvc2UtYnV0dG9uX3R5cGVfcHJldmlldyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvY2xvc2UtYnV0dG9uLWxpZ2h0LnN2Zyk7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IC01Mi41cHg7XG4gIG9wYWNpdHk6IDEwMCU7XG59XG5cbi5tb2RhbF9fY2xvc2UtYnV0dG9uOmhvdmVyIHtcbiAgb3BhY2l0eTogMTAwJTtcbn1cblxuLm1vZGFsX190aXRsZSB7XG4gIG1hcmdpbjogMCAwIDMycHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMzJweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjMjEyMTIxO1xufVxuXG4ubW9kYWxfX2xhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA4cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuNztcbiAgY29sb3I6ICMyMTIxMjE7XG4gIG9wYWNpdHk6IDcwJTtcbn1cblxuLm1vZGFsX19pbnB1dCB7XG4gIHBhZGRpbmc6IDE2cHggMTJweCAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjMjEyMTIxO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41cztcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5tb2RhbF9faW5wdXQ6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICMwMDA7XG59XG5cbi5tb2RhbF9faW5wdXRfdHlwZV9lcnJvciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAwLCAwLCAwLjYpO1xufVxuXG4ubW9kYWxfX2Vycm9yIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMCwgMCwgMC43KTtcbn1cblxuLm1vZGFsX19zdWJtaXQtYnV0dG9uIHtcbiAgd2lkdGg6IDE1NnB4O1xuICBwYWRkaW5nOiAxOHB4IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICNmY2Y1ZTU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTIxMjE7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cztcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubW9kYWxfX3N1Ym1pdC1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKFxuICAgIDMzLFxuICAgIDMzLFxuICAgIDMzLFxuICAgIDAuOFxuICApOyAvKmNoYW5nZXMgYnV0dG9uIGNvbG9yIGR1cmluZyBob3Zlci4gbm8gaWRlYSB3aHkgaXQga2VlcHMgZm9ybWF0dGluZyB0byB0aGlzIG5vbnNlbnNlICovXG59XG5cbi5tb2RhbF9fc3VibWl0LWJ1dHRvbl9kaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzMsIDMzLCAzMywgMC4zKTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLyotLS0tLS0tbW9kYWwgZm9yIERlbGV0aW5nIGltYWdlLS0tLS0tLS0tLSovXG5cbi8qY29udGFpbnMgZGVsZXRlIG1vZGFsKi9cbi5tb2RhbF9fY29udGFpbmVyX3R5cGVfZGVsZXRlIHtcbiAgcGFkZGluZzogMDtcbiAgbWF4LXdpZHRoOiA2MzBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLm1vZGFsX19jbG9zZS1idXR0b25fdHlwZV9kZWxldGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2Nsb3NlLWJ1dHRvbi1saWdodC5zdmcpO1xuICByaWdodDogLTUwcHg7XG4gIHRvcDogMDtcbn1cblxuLm1vZGFsX19jbG9zZS1idXR0b25fdHlwZV9kZWxldGU6aG92ZXIge1xuICBvcGFjaXR5OiAxMDAlO1xufVxuXG4ubW9kYWxfX3RpdGxlX3R5cGVfZGVsZXRlIHtcbiAgbWFyZ2luLXRvcDogMzJweDtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qY29udGFpbnMgYm90aCBidXR0b25zKi9cbi5tb2RhbF9fYnV0dG9uLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ubW9kYWxfX3N1Ym1pdC1idXR0b25fdHlwZV9kZWxldGUge1xuICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIHdpZHRoOiAxNTZweDtcbiAgcGFkZGluZzogMThweCA1MnB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjMjEyMTIxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2NTY1O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm1vZGFsX19zdWJtaXQtYnV0dG9uX3R5cGVfZGVsZXRlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMzMzMztcbn1cblxuLm1vZGFsX19jYW5jZWwtYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIHdpZHRoOiAxNTZweDtcbiAgcGFkZGluZzogMThweCA1MnB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjMjEyMTIxO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMjEyMTIxO1xuICAvKiBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuNCk7ICovXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cztcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubW9kYWxfX2NhbmNlbC1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjEyMTIxO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjI3cHgpIHtcbiAgLm1vZGFsIHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gIH1cblxuICAubW9kYWxfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMTJweDtcbiAgfVxuXG4gIC5tb2RhbF9fY29udGFpbmVyX3R5cGVfcHJldmlldyB7XG4gICAgbWFyZ2luOiAwIGF1dG87IC8qIENlbnRlciB0aGUgbW9kYWwgY29udGVudCAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAyODhweDtcbiAgfVxuXG4gIC5tb2RhbF9faW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gIH1cblxuICAubW9kYWxfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbWFyZ2luOiAxMHB4IDAgMzRweDtcbiAgfVxuXG4gIC5tb2RhbF9fY2xvc2UtYnV0dG9uIHtcbiAgICB0b3A6IDEycHg7XG4gICAgcmlnaHQ6IDEycHg7XG4gIH1cblxuICAubW9kYWxfX2Nsb3NlLWJ1dHRvbl90eXBlX3ByZXZpZXcge1xuICAgIHRvcDogLTQ3cHg7XG4gICAgcmlnaHQ6IDE1cHg7XG4gIH1cblxuICAubW9kYWxfX2xhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICB9XG5cbiAgLm1vZGFsX19pbnB1dCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG5cbiAgLm1vZGFsX19zdWJtaXQtYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5tb2RhbF9fY2FwdGlvbiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIH1cbiAgI2RlbGV0ZS1mb3JtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLyogQWRkIHRoaXMgdG8gY2VudGVyIHRoZSBidXR0b25zICovXG4gIH1cblxuICAubW9kYWxfX3RpdGxlX3R5cGVfZGVsZXRlIHtcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5tb2RhbF9fYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIEFkZCB0aGlzIHRvIGNlbnRlciB0aGUgY29udGFpbmVyICovXG4gIH1cblxuICAubW9kYWxfX3N1Ym1pdC1idXR0b25fdHlwZV9kZWxldGUge1xuICAgIG1hcmdpbjogMCAwIDEycHg7XG4gICAgd2lkdGg6IDE1NnB4O1xuICB9XG5cbiAgLm1vZGFsX19jYW5jZWwtYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDE1NnB4O1xuICB9XG5cbiAgLm1vZGFsX19jbG9zZS1idXR0b25fdHlwZV9kZWxldGUge1xuICAgIHRvcDogLTUwcHg7XG4gICAgcmlnaHQ6IDNweDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/ \ No newline at end of file diff --git a/dist/main.js b/dist/main.js index ece25e7..77ccbb1 100644 --- a/dist/main.js +++ b/dist/main.js @@ -1,2 +1,2 @@ -!function(){"use strict";var e="/se_project_spots/";const t={formSelector:".modal__form",inputSelector:".modal__input",submitButtonSelector:".modal__submit-button",inactiveButtonClass:"modal__submit-button_disabled",inputErrorClass:"modal__input_type_error",errorClass:"modal__error"},r=e=>{console.error(`Validation Error: ${e}`)},o=(e,t,o)=>{const n=e.querySelector(`#${t.id}-error`);n?(n.textContent="",n.removeAttribute("role"),t.classList.remove(o.inputErrorClass)):r(`Error message element for input ${t.id} not found.`)},n=(e,t,r)=>{(e=>e.some((e=>!e.validity.valid)))(e)?a(t,r):(t.disabled=!1,t.classList.remove(r.inactiveButtonClass))},a=(e,t)=>{e.disabled=!0,e.classList.add(t.inactiveButtonClass)},c=(e,t,r)=>{t.forEach((t=>{o(e,t,r)}));const n=e.querySelector(r.submitButtonSelector);a(n,r)};function s(e,t,r="Save",o="Saving..."){t.textContent=e?o:r}function l(e,t,r="Saving..."){t.preventDefault();const o=t.submitter,n=o.textContent;return s(!0,o,n,r),e().catch(console.error).finally((()=>{s(!1,o,n)}))}var i=e+"5e2464bff616faf70484.svg",d=e+"2fc47fd8e9a9bcd9612f.jpg",u=e+"49e44e5e03758262e8bf.svg",m=e+"975792ea68af0a3c209d.svg",_=e+"c81b22e9874268723f8d.svg";document.querySelector(".header__logo").src=i,document.querySelector(".profile__avatar").src=d,document.querySelector(".profile__edit-button img").src=u,document.querySelector(".profile__add-button img").src=m,document.querySelector(".profile__pencilIcon").src=_;const v=new class{constructor(e){this._baseUrl=e.baseUrl,this._headers=e.headers}_checkResponse(e){return e.ok?e.json():Promise.reject(`Error: ${e.status}`)}_request(e,t={}){const r={headers:this._headers,...t},o=`${this._baseUrl}${e}`;return fetch(o,r).then(this._checkResponse)}getUserInfo(){return this._request("/users/me")}getInitialCards(){return this._request("/cards",{method:"GET"})}editUserInfo({name:e,about:t}){return this._request("/users/me",{method:"PATCH",body:JSON.stringify({name:e,about:t})})}updateAvatar({avatar:e}){return this._request("/users/me/avatar",{method:"PATCH",body:JSON.stringify({avatar:e})})}addCard({name:e,link:t}){return this._request("/cards",{method:"POST",body:JSON.stringify({name:e,link:t})})}removeCard(e){return fetch(`${this._baseUrl}/cards/${e}`,{method:"DELETE",headers:this._headers}).then(this._checkResponse)}likeCard(e){return this._request(`/cards/${e}/likes`,{method:"PUT"})}dislikeCard(e){return this._request(`/cards/${e}/likes`,{method:"DELETE"})}fetchInitialData(){return Promise.all([this.getUserInfo(),this.getInitialCards()])}}({baseUrl:"https://around-api.en.tripleten-services.com/v1",headers:{authorization:"f1f1dbab-8e17-48d3-a098-d77dfd6ea3c5","Content-Type":"application/json"}});let f;v.getUserInfo().then((e=>(f=e._id,h.textContent=e.name,S.textContent=e.about,D.src=e.avatar,v.getInitialCards()))).then((e=>{e.forEach((e=>{const t=H(e);R.append(t)}))})).catch(console.error);const y=document.querySelector(".profile__edit-button"),p=document.querySelector(".profile__add-button"),h=document.querySelector(".profile__name"),S=document.querySelector(".profile__description"),q=document.querySelectorAll(".modal__close-button"),b=document.querySelector("#delete-modal"),k=b.querySelector("#delete-form"),E=b.querySelector(".modal__cancel-button"),C=document.querySelector(".profile__avatar-button"),L=document.querySelector("#new-avatar-modal"),g=L.querySelector(".modal__form"),x=L.querySelector("#new-avatar-link-input"),D=document.querySelector(".profile__avatar"),A=document.querySelector("#edit-modal"),$=A.querySelector(".modal__form"),T=A.querySelector("#profile-name-input"),U=A.querySelector("#profile-description-input"),I=document.querySelector("#new-card-modal"),w=I.querySelector(".modal__form"),P=I.querySelector("#new-card-link-input"),B=I.querySelector("#new-card-caption-input"),O=document.querySelector("#preview-modal"),j=O.querySelector(".modal__image"),N=O.querySelector(".modal__caption"),J=document.querySelector("#card-template"),R=document.querySelector(".cards__list");function H(e){const t=J.content.querySelector(".card").cloneNode(!0);t._id=e._id;const r=t.querySelector(".card__title"),o=t.querySelector(".card__image"),n=t.querySelector(".card__like-button"),a=t.querySelector(".card__like-count"),c=t.querySelector(".card__delete-button");return r.textContent=e.name,o.src=e.link,o.alt=e.name,e.isLiked?(n.classList.add("card__like-button_liked"),a.textContent="1"):a.textContent="0",n.addEventListener("click",(()=>{(n.classList.contains("card__like-button_liked")?v.dislikeCard(e._id):v.likeCard(e._id)).then((e=>{n.classList.toggle("card__like-button_liked",e.isLiked),a.textContent=e.isLiked?"1":"0"})).catch((e=>{console.error("Error updating like status:",e)}))})),c.addEventListener("click",(()=>{K(b),k._cardToDelete=t})),o.addEventListener("click",(()=>{K(O),N.textContent=e.name,j.alt=e.name,j.src=e.link})),t}function K(e){function t(t){t.target.classList.contains("modal_opened")&&z(e)}function r(t){"Escape"===t.key&&z(e)}e.classList.add("modal_opened"),document.addEventListener("click",t),document.addEventListener("keydown",r),e._handleOverlayClick=t,e._handleEscapeKeyPress=r}function z(e){e.classList.remove("modal_opened"),document.removeEventListener("click",e._handleOverlayClick),document.removeEventListener("keydown",e._handleEscapeKeyPress)}function G(){const e=T.value,t=U.value;return v.editUserInfo({name:e,about:t}).then((e=>{h.textContent=e.name,S.textContent=e.about,z(A)}))}var M;q.forEach((e=>{const t=e.closest(".modal");e.addEventListener("click",(()=>z(t)))})),y.addEventListener("click",(()=>{T.value=h.textContent,U.value=S.textContent,c($,[T,U],t),K(A)})),C.addEventListener("click",(()=>{K(L)})),p.addEventListener("click",(()=>{K(I)})),E.addEventListener("click",(()=>{z(b)})),$.addEventListener("submit",(function(e){l(G,e,"Saving...")})),w.addEventListener("submit",(function(e){e.preventDefault();const t=w.querySelector(".modal__submit-button");s(!0,t),v.addCard({name:B.value,link:P.value}).then((t=>{const r=H(t);R.prepend(r),e.target.reset(),z(I)})).catch(console.error).finally((()=>{s(!1,t)}))})),k.addEventListener("submit",(e=>{e.preventDefault();const t=k.querySelector(".modal__submit-button");s(!0,t,"Delete","Deleting..."),v.removeCard(k._cardToDelete._id).then((()=>{l((()=>{k._cardToDelete.remove()})),z(b)})).catch(console.error).finally((()=>{s(!1,t,"Delete")}))})),g.addEventListener("submit",(e=>{e.preventDefault();const t=g.querySelector(".modal__submit-button");s(!0,t),v.updateAvatar({avatar:x.value}).then((t=>{D.src=t.avatar,e.target.reset(),z(L)})).catch(console.error).finally((()=>{s(!1,t)}))})),M=t,document.querySelectorAll(M.formSelector).forEach((e=>{const t=Array.from(e.querySelectorAll(M.inputSelector));((e,t)=>{const a=Array.from(e.querySelectorAll(t.inputSelector)),c=e.querySelector(t.submitButtonSelector);n(a,c,t),a.forEach((s=>{s.addEventListener("input",(()=>{((e,t,n)=>{t.validity.valid?o(e,t,n):((e,t,o,n)=>{const a=e.querySelector(`#${t.id}-error`);a?(a.textContent=o,a.setAttribute("role","alert"),t.classList.add(n.inputErrorClass)):r(`Error message element for input ${t.id} not found.`)})(e,t,t.validationMessage,n)})(e,s,t),n(a,c,t)}))}))})(e,M),e.addEventListener("reset",(()=>{c(e,t,M)}))}))}(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,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LEVBQU9aLGdCQXRCaEJvSyxFQUFDMUosRUFBYUUsS0FDdEMsTUFBTVMsRUFBWTZJLE1BQU1DLEtBQ3RCekosRUFBWW9HLGlCQUFpQmxHLEVBQU9aLGdCQUVoQ3NCLEVBQWdCWixFQUFZSSxjQUFjRixFQUFPWCxzQkFFdkRtQixFQUFrQkMsRUFBV0MsRUFBZVYsR0FFNUNTLEVBQVVXLFNBQVNyQixJQUNqQkEsRUFBYWlJLGlCQUFpQixTQUFTLEtBdERoQnlCLEVBQUMzSixFQUFhQyxFQUFjQyxLQUNoREQsRUFBYWMsU0FBU0MsTUFRekJqQixFQUFlQyxFQUFhQyxFQUFjQyxHQXpDdkIwSixFQUFDNUosRUFBYUMsRUFBYzRKLEVBQWMzSixLQUMvRCxNQUFNQyxFQUFzQkgsRUFBWUksY0FDdEMsSUFBSUgsRUFBYUksWUFHZEYsR0FLTEEsRUFBb0JHLFlBQWN1SixFQUNsQzFKLEVBQW9CMkosYUFBYSxPQUFRLFNBQ3pDN0osRUFBYU8sVUFBVVksSUFBSWxCLEVBQU9ULGtCQU5oQ0UsRUFBUyxtQ0FBbUNNLEVBQWFJLGdCQU1ULEVBc0JoRHVKLENBQ0U1SixFQUNBQyxFQUNBQSxFQUFhOEosa0JBQ2I3SixFQUlKLEVBNkNJeUosQ0FBbUIzSixFQUFhQyxFQUFjQyxHQUM5Q1EsRUFBa0JDLEVBQVdDLEVBQWVWLEVBQU8sR0FDbkQsR0FDRixFQVdBd0osQ0FBa0IxSixFQUFhRSxHQUcvQkYsRUFBWWtJLGlCQUFpQixTQUFTLEtBQ3BDN0csRUFBZ0JyQixFQUFhVyxFQUFXVCxFQUFPLEdBQy9DLEciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9zZV9wcm9qZWN0X3Nwb3RzL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL3NlX3Byb2plY3Rfc3BvdHMvd2VicGFjay9ydW50aW1lL3B1YmxpY1BhdGgiLCJ3ZWJwYWNrOi8vc2VfcHJvamVjdF9zcG90cy8uL3NyYy9zY3JpcHRzL3ZhbGlkYXRpb24uanMiLCJ3ZWJwYWNrOi8vc2VfcHJvamVjdF9zcG90cy8uL3NyYy91dGlscy91dGlscy5qcyIsIndlYnBhY2s6Ly9zZV9wcm9qZWN0X3Nwb3RzLy4vc3JjL3BhZ2VzL2luZGV4LmpzIiwid2VicGFjazovL3NlX3Byb2plY3Rfc3BvdHMvLi9zcmMvdXRpbHMvQXBpLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRoZSByZXF1aXJlIHNjb3BlXG52YXIgX193ZWJwYWNrX3JlcXVpcmVfXyA9IHt9O1xuXG4iLCJfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIi9zZV9wcm9qZWN0X3Nwb3RzL1wiOyIsImV4cG9ydCBjb25zdCBzZXR0aW5ncyA9IHtcclxuICBmb3JtU2VsZWN0b3I6IFwiLm1vZGFsX19mb3JtXCIsXHJcbiAgaW5wdXRTZWxlY3RvcjogXCIubW9kYWxfX2lucHV0XCIsXHJcbiAgc3VibWl0QnV0dG9uU2VsZWN0b3I6IFwiLm1vZGFsX19zdWJtaXQtYnV0dG9uXCIsXHJcbiAgaW5hY3RpdmVCdXR0b25DbGFzczogXCJtb2RhbF9fc3VibWl0LWJ1dHRvbl9kaXNhYmxlZFwiLFxyXG4gIGlucHV0RXJyb3JDbGFzczogXCJtb2RhbF9faW5wdXRfdHlwZV9lcnJvclwiLFxyXG4gIGVycm9yQ2xhc3M6IFwibW9kYWxfX2Vycm9yXCIsXHJcbn07XHJcblxyXG4vLyBVdGlsaXR5IGZvciBsb2dnaW5nIGVycm9yc1xyXG5jb25zdCBsb2dFcnJvciA9IChtZXNzYWdlKSA9PiB7XHJcbiAgY29uc29sZS5lcnJvcihgVmFsaWRhdGlvbiBFcnJvcjogJHttZXNzYWdlfWApO1xyXG59O1xyXG5cclxuLy8gU2hvdyBpbnB1dCBlcnJvciBtZXNzYWdlXHJcbmNvbnN0IHNob3dJbnB1dEVycm9yID0gKGZvcm1FbGVtZW50LCBpbnB1dEVsZW1lbnQsIGVycm9yTWVzc2FnZSwgY29uZmlnKSA9PiB7XHJcbiAgY29uc3QgZXJyb3JNZXNzYWdlRWxlbWVudCA9IGZvcm1FbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXHJcbiAgICBgIyR7aW5wdXRFbGVtZW50LmlkfS1lcnJvcmBcclxuICApO1xyXG5cclxuICBpZiAoIWVycm9yTWVzc2FnZUVsZW1lbnQpIHtcclxuICAgIGxvZ0Vycm9yKGBFcnJvciBtZXNzYWdlIGVsZW1lbnQgZm9yIGlucHV0ICR7aW5wdXRFbGVtZW50LmlkfSBub3QgZm91bmQuYCk7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICBlcnJvck1lc3NhZ2VFbGVtZW50LnRleHRDb250ZW50ID0gZXJyb3JNZXNzYWdlO1xyXG4gIGVycm9yTWVzc2FnZUVsZW1lbnQuc2V0QXR0cmlidXRlKFwicm9sZVwiLCBcImFsZXJ0XCIpOyAvLyBBY2Nlc3NpYmlsaXR5IGVuaGFuY2VtZW50XHJcbiAgaW5wdXRFbGVtZW50LmNsYXNzTGlzdC5hZGQoY29uZmlnLmlucHV0RXJyb3JDbGFzcyk7XHJcbn07XHJcblxyXG4vLyBIaWRlIGlucHV0IGVycm9yIG1lc3NhZ2VcclxuY29uc3QgaGlkZUlucHV0RXJyb3IgPSAoZm9ybUVsZW1lbnQsIGlucHV0RWxlbWVudCwgY29uZmlnKSA9PiB7XHJcbiAgY29uc3QgZXJyb3JNZXNzYWdlRWxlbWVudCA9IGZvcm1FbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXHJcbiAgICBgIyR7aW5wdXRFbGVtZW50LmlkfS1lcnJvcmBcclxuICApO1xyXG5cclxuICBpZiAoIWVycm9yTWVzc2FnZUVsZW1lbnQpIHtcclxuICAgIGxvZ0Vycm9yKGBFcnJvciBtZXNzYWdlIGVsZW1lbnQgZm9yIGlucHV0ICR7aW5wdXRFbGVtZW50LmlkfSBub3QgZm91bmQuYCk7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICBlcnJvck1lc3NhZ2VFbGVtZW50LnRleHRDb250ZW50ID0gXCJcIjtcclxuICBlcnJvck1lc3NhZ2VFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShcInJvbGVcIik7XHJcbiAgaW5wdXRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoY29uZmlnLmlucHV0RXJyb3JDbGFzcyk7XHJcbn07XHJcblxyXG4vLyBDaGVjayBpbnB1dCB2YWxpZGl0eVxyXG5jb25zdCBjaGVja0lucHV0VmFsaWRpdHkgPSAoZm9ybUVsZW1lbnQsIGlucHV0RWxlbWVudCwgY29uZmlnKSA9PiB7XHJcbiAgaWYgKCFpbnB1dEVsZW1lbnQudmFsaWRpdHkudmFsaWQpIHtcclxuICAgIHNob3dJbnB1dEVycm9yKFxyXG4gICAgICBmb3JtRWxlbWVudCxcclxuICAgICAgaW5wdXRFbGVtZW50LFxyXG4gICAgICBpbnB1dEVsZW1lbnQudmFsaWRhdGlvbk1lc3NhZ2UsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKTtcclxuICB9IGVsc2Uge1xyXG4gICAgaGlkZUlucHV0RXJyb3IoZm9ybUVsZW1lbnQsIGlucHV0RWxlbWVudCwgY29uZmlnKTtcclxuICB9XHJcbn07XHJcblxyXG4vLyBDaGVjayBpZiBmb3JtIGhhcyBpbnZhbGlkIGlucHV0XHJcbmNvbnN0IGhhc0ludmFsaWRJbnB1dCA9IChpbnB1dExpc3QpID0+IHtcclxuICByZXR1cm4gaW5wdXRMaXN0LnNvbWUoKGlucHV0KSA9PiAhaW5wdXQudmFsaWRpdHkudmFsaWQpO1xyXG59O1xyXG5cclxuLy8gVG9nZ2xlIGJ1dHRvbiBzdGF0ZVxyXG5jb25zdCB0b2dnbGVCdXR0b25TdGF0ZSA9IChpbnB1dExpc3QsIGJ1dHRvbkVsZW1lbnQsIGNvbmZpZykgPT4ge1xyXG4gIGlmIChoYXNJbnZhbGlkSW5wdXQoaW5wdXRMaXN0KSkge1xyXG4gICAgZGlzYWJsZUJ1dHRvbihidXR0b25FbGVtZW50LCBjb25maWcpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBidXR0b25FbGVtZW50LmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICBidXR0b25FbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoY29uZmlnLmluYWN0aXZlQnV0dG9uQ2xhc3MpO1xyXG4gIH1cclxufTtcclxuXHJcbi8vIERpc2FibGUgYnV0dG9uXHJcbmNvbnN0IGRpc2FibGVCdXR0b24gPSAoYnV0dG9uRWxlbWVudCwgY29uZmlnKSA9PiB7XHJcbiAgYnV0dG9uRWxlbWVudC5kaXNhYmxlZCA9IHRydWU7XHJcbiAgYnV0dG9uRWxlbWVudC5jbGFzc0xpc3QuYWRkKGNvbmZpZy5pbmFjdGl2ZUJ1dHRvbkNsYXNzKTtcclxufTtcclxuXHJcbi8vIFJlc2V0IHZhbGlkYXRpb25cclxuZXhwb3J0IGNvbnN0IHJlc2V0VmFsaWRhdGlvbiA9IChmb3JtRWxlbWVudCwgaW5wdXRMaXN0LCBjb25maWcpID0+IHtcclxuICBpbnB1dExpc3QuZm9yRWFjaCgoaW5wdXQpID0+IHtcclxuICAgIGhpZGVJbnB1dEVycm9yKGZvcm1FbGVtZW50LCBpbnB1dCwgY29uZmlnKTtcclxuICB9KTtcclxuXHJcbiAgY29uc3QgYnV0dG9uRWxlbWVudCA9IGZvcm1FbGVtZW50LnF1ZXJ5U2VsZWN0b3IoY29uZmlnLnN1Ym1pdEJ1dHRvblNlbGVjdG9yKTtcclxuICBkaXNhYmxlQnV0dG9uKGJ1dHRvbkVsZW1lbnQsIGNvbmZpZyk7IC8vIERpc2FibGUgdGhlIGJ1dHRvbiBkdXJpbmcgcmVzZXRcclxufTtcclxuXHJcbi8vIEFkZCBldmVudCBsaXN0ZW5lcnMgdG8gdGhlIGZvcm1cclxuY29uc3Qgc2V0RXZlbnRMaXN0ZW5lcnMgPSAoZm9ybUVsZW1lbnQsIGNvbmZpZykgPT4ge1xyXG4gIGNvbnN0IGlucHV0TGlzdCA9IEFycmF5LmZyb20oXHJcbiAgICBmb3JtRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKGNvbmZpZy5pbnB1dFNlbGVjdG9yKVxyXG4gICk7XHJcbiAgY29uc3QgYnV0dG9uRWxlbWVudCA9IGZvcm1FbGVtZW50LnF1ZXJ5U2VsZWN0b3IoY29uZmlnLnN1Ym1pdEJ1dHRvblNlbGVjdG9yKTtcclxuXHJcbiAgdG9nZ2xlQnV0dG9uU3RhdGUoaW5wdXRMaXN0LCBidXR0b25FbGVtZW50LCBjb25maWcpOyAvLyBJbml0aWFsIGJ1dHRvbiBzdGF0ZSBjaGVja1xyXG5cclxuICBpbnB1dExpc3QuZm9yRWFjaCgoaW5wdXRFbGVtZW50KSA9PiB7XHJcbiAgICBpbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImlucHV0XCIsICgpID0+IHtcclxuICAgICAgY2hlY2tJbnB1dFZhbGlkaXR5KGZvcm1FbGVtZW50LCBpbnB1dEVsZW1lbnQsIGNvbmZpZyk7XHJcbiAgICAgIHRvZ2dsZUJ1dHRvblN0YXRlKGlucHV0TGlzdCwgYnV0dG9uRWxlbWVudCwgY29uZmlnKTsgLy8gVXBkYXRlIGJ1dHRvbiBzdGF0ZSBvbiBpbnB1dFxyXG4gICAgfSk7XHJcbiAgfSk7XHJcbn07XHJcblxyXG4vLyBFbmFibGUgdmFsaWRhdGlvbiBmb3IgYWxsIGZvcm1zXHJcbmV4cG9ydCBjb25zdCBlbmFibGVWYWxpZGF0aW9uID0gKGNvbmZpZykgPT4ge1xyXG4gIGNvbnN0IGZvcm1MaXN0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChjb25maWcuZm9ybVNlbGVjdG9yKTtcclxuXHJcbiAgZm9ybUxpc3QuZm9yRWFjaCgoZm9ybUVsZW1lbnQpID0+IHtcclxuICAgIGNvbnN0IGlucHV0TGlzdCA9IEFycmF5LmZyb20oXHJcbiAgICAgIGZvcm1FbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoY29uZmlnLmlucHV0U2VsZWN0b3IpXHJcbiAgICApO1xyXG4gICAgc2V0RXZlbnRMaXN0ZW5lcnMoZm9ybUVsZW1lbnQsIGNvbmZpZyk7XHJcblxyXG4gICAgLy8gQ2xlYXIgdmFsaWRhdGlvbiBvbiBmb3JtIHJlc2V0XHJcbiAgICBmb3JtRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFwicmVzZXRcIiwgKCkgPT4ge1xyXG4gICAgICByZXNldFZhbGlkYXRpb24oZm9ybUVsZW1lbnQsIGlucHV0TGlzdCwgY29uZmlnKTtcclxuICAgIH0pO1xyXG4gIH0pO1xyXG59O1xyXG4iLCJleHBvcnQgZnVuY3Rpb24gcmVuZGVyTG9hZGluZyhcclxuICBpc0xvYWRpbmcsXHJcbiAgYnV0dG9uLFxyXG4gIGJ1dHRvblRleHQgPSBcIlNhdmVcIixcclxuICBsb2FkaW5nVGV4dCA9IFwiU2F2aW5nLi4uXCJcclxuKSB7XHJcbiAgaWYgKGlzTG9hZGluZykge1xyXG4gICAgYnV0dG9uLnRleHRDb250ZW50ID0gbG9hZGluZ1RleHQ7XHJcbiAgfSBlbHNlIHtcclxuICAgIGJ1dHRvbi50ZXh0Q29udGVudCA9IGJ1dHRvblRleHQ7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlU3VibWl0KHJlcXVlc3QsIGV2dCwgbG9hZGluZ1RleHQgPSBcIlNhdmluZy4uLlwiKSB7XHJcbiAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgY29uc3Qgc3VibWl0QnV0dG9uID0gZXZ0LnN1Ym1pdHRlcjtcclxuICBjb25zdCBpbml0aWFsVGV4dCA9IHN1Ym1pdEJ1dHRvbi50ZXh0Q29udGVudDtcclxuXHJcbiAgcmVuZGVyTG9hZGluZyh0cnVlLCBzdWJtaXRCdXR0b24sIGluaXRpYWxUZXh0LCBsb2FkaW5nVGV4dCk7XHJcblxyXG4gIHJldHVybiByZXF1ZXN0KClcclxuICAgIC5jYXRjaChjb25zb2xlLmVycm9yKVxyXG4gICAgLmZpbmFsbHkoKCkgPT4ge1xyXG4gICAgICByZW5kZXJMb2FkaW5nKGZhbHNlLCBzdWJtaXRCdXR0b24sIGluaXRpYWxUZXh0KTtcclxuICAgIH0pO1xyXG59XHJcbiIsImltcG9ydCBcIi4vaW5kZXguY3NzXCI7IC8vIEltcG9ydGluZyB0aGUgQ1NTIGZpbGVcclxuaW1wb3J0IHtcclxuICBlbmFibGVWYWxpZGF0aW9uLFxyXG4gIHNldHRpbmdzLFxyXG4gIHJlc2V0VmFsaWRhdGlvbixcclxufSBmcm9tIFwiLi4vc2NyaXB0cy92YWxpZGF0aW9uLmpzXCI7IC8vIEltcG9ydGluZyB2YWxpZGF0aW9uIGZ1bmN0aW9uc1xyXG5pbXBvcnQgQXBpIGZyb20gXCIuLi91dGlscy9BcGkuanNcIjsgLy8gSW1wb3J0aW5nIHRoZSBBUEkgY2xhc3NcclxuaW1wb3J0IHsgaGFuZGxlU3VibWl0LCByZW5kZXJMb2FkaW5nIH0gZnJvbSBcIi4uL3V0aWxzL3V0aWxzLmpzXCI7IC8vIEltcG9ydGluZyB1dGlsaXR5IGZ1bmN0aW9uc1xyXG5cclxuLy8gSW1wb3J0aW5nIGltYWdlcyBhbmQgb3RoZXIgYXNzZXRzXHJcbmltcG9ydCBsb2dvUGF0aCBmcm9tIFwiLi4vaW1hZ2VzL2xvZ28uc3ZnXCI7XHJcbmltcG9ydCBhdmF0YXJQYXRoIGZyb20gXCIuLi9pbWFnZXMvYXZhdGFyLmpwZ1wiO1xyXG5pbXBvcnQgZWRpdEJ1dHRvblBhdGggZnJvbSBcIi4uL2ltYWdlcy9lZGl0YnRuLnN2Z1wiO1xyXG5pbXBvcnQgYWRkQnV0dG9uUGF0aCBmcm9tIFwiLi4vaW1hZ2VzL2FkZGJ0bi5zdmdcIjtcclxuaW1wb3J0IGVkaXRMaWdodEJ1dHRvblBhdGggZnJvbSBcIi4uL2ltYWdlcy9lZGl0YnRuLWxpZ2h0LnN2Z1wiO1xyXG5cclxuLy8gRW5zdXJlIHNtYWxsdGFibGV0dmlldy5wbmcgaXMgY29waWVkIHRvIGRpc3RcclxuaW1wb3J0IFwiLi9fY29weV9zbWFsbHRhYmxldHZpZXcuanNcIjtcclxuXHJcbmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIuaGVhZGVyX19sb2dvXCIpLnNyYyA9IGxvZ29QYXRoO1xyXG5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnByb2ZpbGVfX2F2YXRhclwiKS5zcmMgPSBhdmF0YXJQYXRoO1xyXG5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnByb2ZpbGVfX2VkaXQtYnV0dG9uIGltZ1wiKS5zcmMgPSBlZGl0QnV0dG9uUGF0aDtcclxuZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5wcm9maWxlX19hZGQtYnV0dG9uIGltZ1wiKS5zcmMgPSBhZGRCdXR0b25QYXRoO1xyXG5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnByb2ZpbGVfX3BlbmNpbEljb25cIikuc3JjID0gZWRpdExpZ2h0QnV0dG9uUGF0aDtcclxuXHJcbmNvbnN0IGFwaSA9IG5ldyBBcGkoe1xyXG4gIGJhc2VVcmw6IFwiaHR0cHM6Ly9hcm91bmQtYXBpLmVuLnRyaXBsZXRlbi1zZXJ2aWNlcy5jb20vdjFcIixcclxuICBoZWFkZXJzOiB7XHJcbiAgICBhdXRob3JpemF0aW9uOiBcImYxZjFkYmFiLThlMTctNDhkMy1hMDk4LWQ3N2RmZDZlYTNjNVwiLFxyXG4gICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXHJcbiAgfSxcclxufSk7XHJcblxyXG5sZXQgdXNlcklkO1xyXG5cclxuYXBpXHJcbiAgLmdldFVzZXJJbmZvKClcclxuICAudGhlbigodXNlckRhdGEpID0+IHtcclxuICAgIHVzZXJJZCA9IHVzZXJEYXRhLl9pZDtcclxuICAgIHByb2ZpbGVOYW1lLnRleHRDb250ZW50ID0gdXNlckRhdGEubmFtZTtcclxuICAgIHByb2ZpbGVEZXNjcmlwdGlvbi50ZXh0Q29udGVudCA9IHVzZXJEYXRhLmFib3V0O1xyXG4gICAgcHJvZmlsZUF2YXRhci5zcmMgPSB1c2VyRGF0YS5hdmF0YXI7XHJcbiAgICByZXR1cm4gYXBpLmdldEluaXRpYWxDYXJkcygpO1xyXG4gIH0pXHJcbiAgLnRoZW4oKGNhcmRzKSA9PiB7XHJcbiAgICBjYXJkcy5mb3JFYWNoKChjYXJkKSA9PiB7XHJcbiAgICAgIGNvbnN0IGNhcmRFbGVtZW50ID0gZ2V0Q2FyZEVsZW1lbnQoY2FyZCk7XHJcbiAgICAgIGNhcmRzTGlzdC5hcHBlbmQoY2FyZEVsZW1lbnQpO1xyXG4gICAgfSk7XHJcbiAgfSlcclxuICAuY2F0Y2goY29uc29sZS5lcnJvcik7XHJcblxyXG4vLyBQcm9maWxlIFNlbGVjdG9yc1xyXG5jb25zdCBlZGl0TW9kYWxCdXR0b24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnByb2ZpbGVfX2VkaXQtYnV0dG9uXCIpO1xyXG5jb25zdCBjYXJkTW9kYWxCdXR0b24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnByb2ZpbGVfX2FkZC1idXR0b25cIik7XHJcbmNvbnN0IHByb2ZpbGVOYW1lID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5wcm9maWxlX19uYW1lXCIpO1xyXG5jb25zdCBwcm9maWxlRGVzY3JpcHRpb24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnByb2ZpbGVfX2Rlc2NyaXB0aW9uXCIpO1xyXG5cclxuLy8gTW9kYWwgU2VsZWN0b3JzXHJcbi8vIGNvbnN0IG1vZGFscyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCIubW9kYWxcIik7XHJcbmNvbnN0IGNsb3NlQnV0dG9ucyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCIubW9kYWxfX2Nsb3NlLWJ1dHRvblwiKTtcclxuY29uc3QgZGVsZXRlTW9kYWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI2RlbGV0ZS1tb2RhbFwiKTtcclxuY29uc3QgZGVsZXRlRm9ybSA9IGRlbGV0ZU1vZGFsLnF1ZXJ5U2VsZWN0b3IoXCIjZGVsZXRlLWZvcm1cIik7XHJcbmNvbnN0IGNhbmNlbERlbGV0ZUJ1dHRvbiA9IGRlbGV0ZU1vZGFsLnF1ZXJ5U2VsZWN0b3IoXCIubW9kYWxfX2NhbmNlbC1idXR0b25cIik7XHJcbmNvbnN0IGF2YXRhckVkaXRCdXR0b24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnByb2ZpbGVfX2F2YXRhci1idXR0b25cIik7XHJcbmNvbnN0IGF2YXRhck1vZGFsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIiNuZXctYXZhdGFyLW1vZGFsXCIpO1xyXG5jb25zdCBhdmF0YXJGb3JtID0gYXZhdGFyTW9kYWwucXVlcnlTZWxlY3RvcihcIi5tb2RhbF9fZm9ybVwiKTtcclxuY29uc3QgYXZhdGFyTGlua0lucHV0ID0gYXZhdGFyTW9kYWwucXVlcnlTZWxlY3RvcihcIiNuZXctYXZhdGFyLWxpbmstaW5wdXRcIik7XHJcbmNvbnN0IHByb2ZpbGVBdmF0YXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnByb2ZpbGVfX2F2YXRhclwiKTtcclxuXHJcbi8vIE1vZGFsIC0gRWRpdCBQcm9maWxlXHJcbmNvbnN0IGVkaXRNb2RhbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIjZWRpdC1tb2RhbFwiKTtcclxuY29uc3QgZWRpdEZvcm0gPSBlZGl0TW9kYWwucXVlcnlTZWxlY3RvcihcIi5tb2RhbF9fZm9ybVwiKTtcclxuY29uc3QgZWRpdE1vZGFsTmFtZUlucHV0ID0gZWRpdE1vZGFsLnF1ZXJ5U2VsZWN0b3IoXCIjcHJvZmlsZS1uYW1lLWlucHV0XCIpO1xyXG5jb25zdCBlZGl0TW9kYWxEZXNjcmlwdGlvbklucHV0ID0gZWRpdE1vZGFsLnF1ZXJ5U2VsZWN0b3IoXHJcbiAgXCIjcHJvZmlsZS1kZXNjcmlwdGlvbi1pbnB1dFwiXHJcbik7XHJcblxyXG4vLyBNb2RhbCAtIEFkZCBDYXJkXHJcbmNvbnN0IGNhcmRNb2RhbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIjbmV3LWNhcmQtbW9kYWxcIik7XHJcbmNvbnN0IGNhcmRGb3JtID0gY2FyZE1vZGFsLnF1ZXJ5U2VsZWN0b3IoXCIubW9kYWxfX2Zvcm1cIik7XHJcbi8vIGNvbnN0IGNhcmRTdWJtaXRCdXR0b24gPSBjYXJkTW9kYWwucXVlcnlTZWxlY3RvcihcIi5tb2RhbF9fc3VibWl0LWJ1dHRvblwiKTtcclxuY29uc3QgY2FyZExpbmtJbnB1dCA9IGNhcmRNb2RhbC5xdWVyeVNlbGVjdG9yKFwiI25ldy1jYXJkLWxpbmstaW5wdXRcIik7XHJcbmNvbnN0IGNhcmRDYXB0aW9uSW5wdXQgPSBjYXJkTW9kYWwucXVlcnlTZWxlY3RvcihcIiNuZXctY2FyZC1jYXB0aW9uLWlucHV0XCIpO1xyXG5cclxuLy8gTW9kYWwgUHJldmlld1xyXG5jb25zdCBwcmV2aWV3TW9kYWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI3ByZXZpZXctbW9kYWxcIik7XHJcbmNvbnN0IHByZXZpZXdJbWFnZSA9IHByZXZpZXdNb2RhbC5xdWVyeVNlbGVjdG9yKFwiLm1vZGFsX19pbWFnZVwiKTtcclxuY29uc3QgcHJldmlld0NhcHRpb24gPSBwcmV2aWV3TW9kYWwucXVlcnlTZWxlY3RvcihcIi5tb2RhbF9fY2FwdGlvblwiKTtcclxuXHJcbi8vIENhcmRzXHJcbmNvbnN0IGNhcmRUZW1wbGF0ZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIjY2FyZC10ZW1wbGF0ZVwiKTtcclxuY29uc3QgY2FyZHNMaXN0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5jYXJkc19fbGlzdFwiKTtcclxuXHJcbmZ1bmN0aW9uIGdldENhcmRFbGVtZW50KGRhdGEpIHtcclxuICBjb25zdCBjYXJkRWxlbWVudCA9IGNhcmRUZW1wbGF0ZS5jb250ZW50XHJcbiAgICAucXVlcnlTZWxlY3RvcihcIi5jYXJkXCIpXHJcbiAgICAuY2xvbmVOb2RlKHRydWUpO1xyXG4gIGNhcmRFbGVtZW50Ll9pZCA9IGRhdGEuX2lkO1xyXG5cclxuICBjb25zdCBjYXJkVGl0bGUgPSBjYXJkRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiLmNhcmRfX3RpdGxlXCIpO1xyXG4gIGNvbnN0IGNhcmRJbWFnZSA9IGNhcmRFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCIuY2FyZF9faW1hZ2VcIik7XHJcbiAgY29uc3QgY2FyZExpa2VCdXR0b24gPSBjYXJkRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiLmNhcmRfX2xpa2UtYnV0dG9uXCIpO1xyXG4gIGNvbnN0IGNhcmRMaWtlQ291bnQgPSBjYXJkRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiLmNhcmRfX2xpa2UtY291bnRcIik7XHJcbiAgY29uc3QgY2FyZERlbGV0ZUJ1dHRvbiA9IGNhcmRFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCIuY2FyZF9fZGVsZXRlLWJ1dHRvblwiKTtcclxuXHJcbiAgLy8gU2V0IGNhcmQgZGF0YVxyXG4gIGNhcmRUaXRsZS50ZXh0Q29udGVudCA9IGRhdGEubmFtZTtcclxuICBjYXJkSW1hZ2Uuc3JjID0gZGF0YS5saW5rOyAvLyBNYWtlIHN1cmUgdGhpcyBsaW5lIGlzIHByZXNlbnRcclxuICBjYXJkSW1hZ2UuYWx0ID0gZGF0YS5uYW1lO1xyXG5cclxuICAvLyBTZXQgaW5pdGlhbCBsaWtlIHN0YXRlIGFuZCBjb3VudFxyXG4gIGlmIChkYXRhLmlzTGlrZWQpIHtcclxuICAgIGNhcmRMaWtlQnV0dG9uLmNsYXNzTGlzdC5hZGQoXCJjYXJkX19saWtlLWJ1dHRvbl9saWtlZFwiKTtcclxuICAgIGNhcmRMaWtlQ291bnQudGV4dENvbnRlbnQgPSBcIjFcIjsgLy8gU2V0IHRvIDEgaWYgdGhlIGNhcmQgaXMgbGlrZWRcclxuICB9IGVsc2Uge1xyXG4gICAgY2FyZExpa2VDb3VudC50ZXh0Q29udGVudCA9IFwiMFwiOyAvLyBTZXQgdG8gMCBpZiB0aGUgY2FyZCBpcyBub3QgbGlrZWRcclxuICB9XHJcblxyXG4gIGNhcmRMaWtlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCAoKSA9PiB7XHJcbiAgICBjb25zdCBpc0N1cnJlbnRseUxpa2VkID0gY2FyZExpa2VCdXR0b24uY2xhc3NMaXN0LmNvbnRhaW5zKFxyXG4gICAgICBcImNhcmRfX2xpa2UtYnV0dG9uX2xpa2VkXCJcclxuICAgICk7XHJcblxyXG4gICAgY29uc3QgbGlrZUNhcmRQcm9taXNlID0gaXNDdXJyZW50bHlMaWtlZFxyXG4gICAgICA/IGFwaS5kaXNsaWtlQ2FyZChkYXRhLl9pZClcclxuICAgICAgOiBhcGkubGlrZUNhcmQoZGF0YS5faWQpO1xyXG5cclxuICAgIGxpa2VDYXJkUHJvbWlzZVxyXG4gICAgICAudGhlbigodXBkYXRlZENhcmQpID0+IHtcclxuICAgICAgICBjYXJkTGlrZUJ1dHRvbi5jbGFzc0xpc3QudG9nZ2xlKFxyXG4gICAgICAgICAgXCJjYXJkX19saWtlLWJ1dHRvbl9saWtlZFwiLFxyXG4gICAgICAgICAgdXBkYXRlZENhcmQuaXNMaWtlZFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgY2FyZExpa2VDb3VudC50ZXh0Q29udGVudCA9IHVwZGF0ZWRDYXJkLmlzTGlrZWQgPyBcIjFcIiA6IFwiMFwiO1xyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihcIkVycm9yIHVwZGF0aW5nIGxpa2Ugc3RhdHVzOlwiLCBlcnJvcik7XHJcbiAgICAgIH0pO1xyXG4gIH0pO1xyXG5cclxuICAvLyBkZWxldGUgYW5kIHByZXZpZXcgZXZlbnQgbGlzdGVuZXJzXHJcbiAgY2FyZERlbGV0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgKCkgPT4ge1xyXG4gICAgb3Blbk1vZGFsKGRlbGV0ZU1vZGFsKTtcclxuICAgIGRlbGV0ZUZvcm0uX2NhcmRUb0RlbGV0ZSA9IGNhcmRFbGVtZW50O1xyXG4gIH0pO1xyXG5cclxuICBjYXJkSW1hZ2UuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IHtcclxuICAgIG9wZW5Nb2RhbChwcmV2aWV3TW9kYWwpO1xyXG4gICAgcHJldmlld0NhcHRpb24udGV4dENvbnRlbnQgPSBkYXRhLm5hbWU7XHJcbiAgICBwcmV2aWV3SW1hZ2UuYWx0ID0gZGF0YS5uYW1lO1xyXG4gICAgcHJldmlld0ltYWdlLnNyYyA9IGRhdGEubGluaztcclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIGNhcmRFbGVtZW50O1xyXG59XHJcblxyXG5mdW5jdGlvbiBvcGVuTW9kYWwobW9kYWwpIHtcclxuICBtb2RhbC5jbGFzc0xpc3QuYWRkKFwibW9kYWxfb3BlbmVkXCIpO1xyXG5cclxuICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgaGFuZGxlT3ZlcmxheUNsaWNrKTtcclxuICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCBoYW5kbGVFc2NhcGVLZXlQcmVzcyk7XHJcblxyXG4gIG1vZGFsLl9oYW5kbGVPdmVybGF5Q2xpY2sgPSBoYW5kbGVPdmVybGF5Q2xpY2s7XHJcbiAgbW9kYWwuX2hhbmRsZUVzY2FwZUtleVByZXNzID0gaGFuZGxlRXNjYXBlS2V5UHJlc3M7XHJcblxyXG4gIGZ1bmN0aW9uIGhhbmRsZU92ZXJsYXlDbGljayhldmVudCkge1xyXG4gICAgaWYgKGV2ZW50LnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoXCJtb2RhbF9vcGVuZWRcIikpIHtcclxuICAgICAgY2xvc2VNb2RhbChtb2RhbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmdW5jdGlvbiBoYW5kbGVFc2NhcGVLZXlQcmVzcyhldmVudCkge1xyXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gXCJFc2NhcGVcIikge1xyXG4gICAgICBjbG9zZU1vZGFsKG1vZGFsKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNsb3NlTW9kYWwobW9kYWwpIHtcclxuICBtb2RhbC5jbGFzc0xpc3QucmVtb3ZlKFwibW9kYWxfb3BlbmVkXCIpO1xyXG5cclxuICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgbW9kYWwuX2hhbmRsZU92ZXJsYXlDbGljayk7XHJcbiAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgbW9kYWwuX2hhbmRsZUVzY2FwZUtleVByZXNzKTtcclxufVxyXG5cclxuLy8gZnVuY3Rpb24gcmVuZGVyTG9hZGluZyhcclxuLy8gaXNMb2FkaW5nLFxyXG4vLyBidXR0b24sXHJcbi8vIGJ1dHRvblRleHQgPSBcIlNhdmVcIixcclxuLy8gbG9hZGluZ1RleHQgPSBcIlNhdmluZy4uLlwiXHJcbi8vICkge1xyXG4vLyBidXR0b24udGV4dENvbnRlbnQgPSBpc0xvYWRpbmcgPyBsb2FkaW5nVGV4dCA6IGJ1dHRvblRleHQ7XHJcbi8vIH1cclxuXHJcbi8vIFVuaXZlcnNhbCBDbG9zZSBCdXR0b24gSGFuZGxlclxyXG5jbG9zZUJ1dHRvbnMuZm9yRWFjaCgoYnV0dG9uKSA9PiB7XHJcbiAgY29uc3QgbW9kYWwgPSBidXR0b24uY2xvc2VzdChcIi5tb2RhbFwiKTtcclxuICBidXR0b24uYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IGNsb3NlTW9kYWwobW9kYWwpKTtcclxufSk7XHJcblxyXG4vLyBIYW5kbGVyc1xyXG5mdW5jdGlvbiBtYWtlRWRpdFByb2ZpbGVSZXF1ZXN0KCkge1xyXG4gIC8vIEdldCBmb3JtIHZhbHVlc1xyXG4gIGNvbnN0IG5hbWUgPSBlZGl0TW9kYWxOYW1lSW5wdXQudmFsdWU7XHJcbiAgY29uc3QgYWJvdXQgPSBlZGl0TW9kYWxEZXNjcmlwdGlvbklucHV0LnZhbHVlO1xyXG5cclxuICAvLyBNYWtlIEFQSSBjYWxsIHRvIGVkaXQgdXNlciBpbmZvXHJcbiAgcmV0dXJuIGFwaS5lZGl0VXNlckluZm8oeyBuYW1lLCBhYm91dCB9KS50aGVuKCh1c2VyRGF0YSkgPT4ge1xyXG4gICAgLy8gVXBkYXRlIHRoZSBET00gd2l0aCB0aGUgbmV3IHVzZXIgZGF0YVxyXG4gICAgcHJvZmlsZU5hbWUudGV4dENvbnRlbnQgPSB1c2VyRGF0YS5uYW1lO1xyXG4gICAgcHJvZmlsZURlc2NyaXB0aW9uLnRleHRDb250ZW50ID0gdXNlckRhdGEuYWJvdXQ7XHJcbiAgICAvLyBDbG9zZSB0aGUgbW9kYWxcclxuICAgIGNsb3NlTW9kYWwoZWRpdE1vZGFsKTtcclxuICB9KTtcclxufVxyXG5cclxuZnVuY3Rpb24gaGFuZGxlRWRpdEZvcm1TdWJtaXQoZXZ0KSB7XHJcbiAgaGFuZGxlU3VibWl0KG1ha2VFZGl0UHJvZmlsZVJlcXVlc3QsIGV2dCwgXCJTYXZpbmcuLi5cIik7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGhhbmRsZUNhcmRGb3JtU3VibWl0KGV2dCkge1xyXG4gIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIGNvbnN0IHN1Ym1pdEJ1dHRvbiA9IGNhcmRGb3JtLnF1ZXJ5U2VsZWN0b3IoXCIubW9kYWxfX3N1Ym1pdC1idXR0b25cIik7XHJcbiAgcmVuZGVyTG9hZGluZyh0cnVlLCBzdWJtaXRCdXR0b24pO1xyXG5cclxuICBhcGlcclxuICAgIC5hZGRDYXJkKHtcclxuICAgICAgbmFtZTogY2FyZENhcHRpb25JbnB1dC52YWx1ZSxcclxuICAgICAgbGluazogY2FyZExpbmtJbnB1dC52YWx1ZSxcclxuICAgIH0pXHJcbiAgICAudGhlbigoY2FyZERhdGEpID0+IHtcclxuICAgICAgY29uc3QgY2FyZEVsZW1lbnQgPSBnZXRDYXJkRWxlbWVudChjYXJkRGF0YSk7XHJcbiAgICAgIGNhcmRzTGlzdC5wcmVwZW5kKGNhcmRFbGVtZW50KTtcclxuICAgICAgZXZ0LnRhcmdldC5yZXNldCgpO1xyXG4gICAgICBjbG9zZU1vZGFsKGNhcmRNb2RhbCk7XHJcbiAgICB9KVxyXG4gICAgLmNhdGNoKGNvbnNvbGUuZXJyb3IpXHJcbiAgICAuZmluYWxseSgoKSA9PiB7XHJcbiAgICAgIHJlbmRlckxvYWRpbmcoZmFsc2UsIHN1Ym1pdEJ1dHRvbik7XHJcbiAgICB9KTtcclxufVxyXG5cclxuLy8gRWRpdCBNb2RhbCBMaXN0ZW5lcnNcclxuZWRpdE1vZGFsQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCAoKSA9PiB7XHJcbiAgZWRpdE1vZGFsTmFtZUlucHV0LnZhbHVlID0gcHJvZmlsZU5hbWUudGV4dENvbnRlbnQ7XHJcbiAgZWRpdE1vZGFsRGVzY3JpcHRpb25JbnB1dC52YWx1ZSA9IHByb2ZpbGVEZXNjcmlwdGlvbi50ZXh0Q29udGVudDtcclxuICByZXNldFZhbGlkYXRpb24oXHJcbiAgICBlZGl0Rm9ybSxcclxuICAgIFtlZGl0TW9kYWxOYW1lSW5wdXQsIGVkaXRNb2RhbERlc2NyaXB0aW9uSW5wdXRdLFxyXG4gICAgc2V0dGluZ3NcclxuICApO1xyXG4gIG9wZW5Nb2RhbChlZGl0TW9kYWwpO1xyXG59KTtcclxuXHJcbi8vIEF2YXRhciBNb2RhbCBMaXN0ZW5lclxyXG5hdmF0YXJFZGl0QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCAoKSA9PiB7XHJcbiAgb3Blbk1vZGFsKGF2YXRhck1vZGFsKTtcclxufSk7XHJcblxyXG4vLyBDYXJkIE1vZGFsIExpc3RlbmVyc1xyXG5jYXJkTW9kYWxCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IHtcclxuICBvcGVuTW9kYWwoY2FyZE1vZGFsKTtcclxufSk7XHJcblxyXG5jYW5jZWxEZWxldGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IHtcclxuICBjbG9zZU1vZGFsKGRlbGV0ZU1vZGFsKTtcclxufSk7XHJcblxyXG4vLyBGb3JtIExpc3RlbmVyc1xyXG5lZGl0Rm9ybS5hZGRFdmVudExpc3RlbmVyKFwic3VibWl0XCIsIGhhbmRsZUVkaXRGb3JtU3VibWl0KTtcclxuY2FyZEZvcm0uYWRkRXZlbnRMaXN0ZW5lcihcInN1Ym1pdFwiLCBoYW5kbGVDYXJkRm9ybVN1Ym1pdCk7XHJcblxyXG5kZWxldGVGb3JtLmFkZEV2ZW50TGlzdGVuZXIoXCJzdWJtaXRcIiwgKGV2dCkgPT4ge1xyXG4gIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIGNvbnN0IHN1Ym1pdEJ1dHRvbiA9IGRlbGV0ZUZvcm0ucXVlcnlTZWxlY3RvcihcIi5tb2RhbF9fc3VibWl0LWJ1dHRvblwiKTtcclxuICByZW5kZXJMb2FkaW5nKHRydWUsIHN1Ym1pdEJ1dHRvbiwgXCJEZWxldGVcIiwgXCJEZWxldGluZy4uLlwiKTtcclxuXHJcbiAgYXBpXHJcbiAgICAucmVtb3ZlQ2FyZChkZWxldGVGb3JtLl9jYXJkVG9EZWxldGUuX2lkKSAvLyBDaGFuZ2VkIGZyb20gZGVsZXRlQ2FyZCB0byByZW1vdmVDYXJkXHJcbiAgICAudGhlbigoKSA9PiB7XHJcbiAgICAgIGhhbmRsZVN1Ym1pdCgoKSA9PiB7XHJcbiAgICAgICAgZGVsZXRlRm9ybS5fY2FyZFRvRGVsZXRlLnJlbW92ZSgpO1xyXG4gICAgICB9KTtcclxuICAgICAgY2xvc2VNb2RhbChkZWxldGVNb2RhbCk7XHJcbiAgICB9KVxyXG4gICAgLmNhdGNoKGNvbnNvbGUuZXJyb3IpXHJcbiAgICAuZmluYWxseSgoKSA9PiB7XHJcbiAgICAgIHJlbmRlckxvYWRpbmcoZmFsc2UsIHN1Ym1pdEJ1dHRvbiwgXCJEZWxldGVcIik7XHJcbiAgICB9KTtcclxufSk7XHJcblxyXG4vLyBBdmF0YXIgRm9ybSBTdWJtaXQgSGFuZGxlclxyXG5hdmF0YXJGb3JtLmFkZEV2ZW50TGlzdGVuZXIoXCJzdWJtaXRcIiwgKGV2dCkgPT4ge1xyXG4gIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIGNvbnN0IHN1Ym1pdEJ1dHRvbiA9IGF2YXRhckZvcm0ucXVlcnlTZWxlY3RvcihcIi5tb2RhbF9fc3VibWl0LWJ1dHRvblwiKTtcclxuICByZW5kZXJMb2FkaW5nKHRydWUsIHN1Ym1pdEJ1dHRvbik7XHJcblxyXG4gIGFwaVxyXG4gICAgLnVwZGF0ZUF2YXRhcih7XHJcbiAgICAgIGF2YXRhcjogYXZhdGFyTGlua0lucHV0LnZhbHVlLFxyXG4gICAgfSlcclxuICAgIC50aGVuKCh1c2VyRGF0YSkgPT4ge1xyXG4gICAgICBwcm9maWxlQXZhdGFyLnNyYyA9IHVzZXJEYXRhLmF2YXRhcjtcclxuICAgICAgZXZ0LnRhcmdldC5yZXNldCgpO1xyXG4gICAgICBjbG9zZU1vZGFsKGF2YXRhck1vZGFsKTtcclxuICAgIH0pXHJcbiAgICAuY2F0Y2goY29uc29sZS5lcnJvcilcclxuICAgIC5maW5hbGx5KCgpID0+IHtcclxuICAgICAgcmVuZGVyTG9hZGluZyhmYWxzZSwgc3VibWl0QnV0dG9uKTtcclxuICAgIH0pO1xyXG59KTtcclxuXHJcbmVuYWJsZVZhbGlkYXRpb24oc2V0dGluZ3MpO1xyXG4iLCJjbGFzcyBBcGkge1xyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcclxuICAgIHRoaXMuX2Jhc2VVcmwgPSBvcHRpb25zLmJhc2VVcmw7XHJcbiAgICB0aGlzLl9oZWFkZXJzID0gb3B0aW9ucy5oZWFkZXJzO1xyXG4gIH1cclxuXHJcbiAgX2NoZWNrUmVzcG9uc2UocmVzKSB7XHJcbiAgICBpZiAocmVzLm9rKSB7XHJcbiAgICAgIHJldHVybiByZXMuanNvbigpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGBFcnJvcjogJHtyZXMuc3RhdHVzfWApO1xyXG4gIH1cclxuXHJcbiAgX3JlcXVlc3QoZW5kcG9pbnQsIG9wdGlvbnMgPSB7fSkge1xyXG4gICAgY29uc3QgZmluYWxPcHRpb25zID0ge1xyXG4gICAgICBoZWFkZXJzOiB0aGlzLl9oZWFkZXJzLFxyXG4gICAgICAuLi5vcHRpb25zLFxyXG4gICAgfTtcclxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuX2Jhc2VVcmx9JHtlbmRwb2ludH1gO1xyXG4gICAgcmV0dXJuIGZldGNoKHVybCwgZmluYWxPcHRpb25zKS50aGVuKHRoaXMuX2NoZWNrUmVzcG9uc2UpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VXNlckluZm8oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVxdWVzdChcIi91c2Vycy9tZVwiKTtcclxuICB9XHJcblxyXG4gIGdldEluaXRpYWxDYXJkcygpIHtcclxuICAgIHJldHVybiB0aGlzLl9yZXF1ZXN0KFwiL2NhcmRzXCIsIHtcclxuICAgICAgbWV0aG9kOiBcIkdFVFwiLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBQQVRDSCAvdXNlcnMvbWVcclxuICBlZGl0VXNlckluZm8oeyBuYW1lLCBhYm91dCB9KSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVxdWVzdChcIi91c2Vycy9tZVwiLCB7XHJcbiAgICAgIG1ldGhvZDogXCJQQVRDSFwiLFxyXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7IG5hbWUsIGFib3V0IH0pLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBQQVRDSCAvdXNlcnMvbWUvYXZhdGFyXHJcbiAgdXBkYXRlQXZhdGFyKHsgYXZhdGFyIH0pIHtcclxuICAgIHJldHVybiB0aGlzLl9yZXF1ZXN0KFwiL3VzZXJzL21lL2F2YXRhclwiLCB7XHJcbiAgICAgIG1ldGhvZDogXCJQQVRDSFwiLFxyXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7IGF2YXRhciB9KSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gUE9TVCAvY2FyZHNcclxuICBhZGRDYXJkKHsgbmFtZSwgbGluayB9KSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVxdWVzdChcIi9jYXJkc1wiLCB7XHJcbiAgICAgIG1ldGhvZDogXCJQT1NUXCIsXHJcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgbmFtZSwgbGluayB9KSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gREVMRVRFIC9jYXJkcy86Y2FyZElkXHJcbiAgcmVtb3ZlQ2FyZChjYXJkSWQpIHtcclxuICAgIHJldHVybiBmZXRjaChgJHt0aGlzLl9iYXNlVXJsfS9jYXJkcy8ke2NhcmRJZH1gLCB7XHJcbiAgICAgIG1ldGhvZDogXCJERUxFVEVcIixcclxuICAgICAgaGVhZGVyczogdGhpcy5faGVhZGVycyxcclxuICAgIH0pLnRoZW4odGhpcy5fY2hlY2tSZXNwb25zZSk7XHJcbiAgfVxyXG5cclxuICAvLyBQVVQgL2NhcmRzLzpjYXJkSWQvbGlrZXNcclxuICBsaWtlQ2FyZChjYXJkSWQpIHtcclxuICAgIHJldHVybiB0aGlzLl9yZXF1ZXN0KGAvY2FyZHMvJHtjYXJkSWR9L2xpa2VzYCwge1xyXG4gICAgICBtZXRob2Q6IFwiUFVUXCIsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIERFTEVURSAvY2FyZHMvOmNhcmRJZC9saWtlc1xyXG4gIGRpc2xpa2VDYXJkKGNhcmRJZCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3JlcXVlc3QoYC9jYXJkcy8ke2NhcmRJZH0vbGlrZXNgLCB7XHJcbiAgICAgIG1ldGhvZDogXCJERUxFVEVcIixcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gSGVscGVyOiBGZXRjaCBpbml0aWFsIGRhdGEgc2ltdWx0YW5lb3VzbHkgKHVzZXIgaW5mbyAmIGNhcmRzKVxyXG4gIGZldGNoSW5pdGlhbERhdGEoKSB7XHJcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoW3RoaXMuZ2V0VXNlckluZm8oKSwgdGhpcy5nZXRJbml0aWFsQ2FyZHMoKV0pO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgQXBpO1xyXG4iXSwibmFtZXMiOlsiX193ZWJwYWNrX3JlcXVpcmVfXyIsInNldHRpbmdzIiwiZm9ybVNlbGVjdG9yIiwiaW5wdXRTZWxlY3RvciIsInN1Ym1pdEJ1dHRvblNlbGVjdG9yIiwiaW5hY3RpdmVCdXR0b25DbGFzcyIsImlucHV0RXJyb3JDbGFzcyIsImVycm9yQ2xhc3MiLCJsb2dFcnJvciIsIm1lc3NhZ2UiLCJjb25zb2xlIiwiZXJyb3IiLCJoaWRlSW5wdXRFcnJvciIsImZvcm1FbGVtZW50IiwiaW5wdXRFbGVtZW50IiwiY29uZmlnIiwiZXJyb3JNZXNzYWdlRWxlbWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJpZCIsInRleHRDb250ZW50IiwicmVtb3ZlQXR0cmlidXRlIiwiY2xhc3NMaXN0IiwicmVtb3ZlIiwidG9nZ2xlQnV0dG9uU3RhdGUiLCJpbnB1dExpc3QiLCJidXR0b25FbGVtZW50Iiwic29tZSIsImlucHV0IiwidmFsaWRpdHkiLCJ2YWxpZCIsImhhc0ludmFsaWRJbnB1dCIsImRpc2FibGVCdXR0b24iLCJkaXNhYmxlZCIsImFkZCIsInJlc2V0VmFsaWRhdGlvbiIsImZvckVhY2giLCJyZW5kZXJMb2FkaW5nIiwiaXNMb2FkaW5nIiwiYnV0dG9uIiwiYnV0dG9uVGV4dCIsImxvYWRpbmdUZXh0IiwiaGFuZGxlU3VibWl0IiwicmVxdWVzdCIsImV2dCIsInByZXZlbnREZWZhdWx0Iiwic3VibWl0QnV0dG9uIiwic3VibWl0dGVyIiwiaW5pdGlhbFRleHQiLCJjYXRjaCIsImZpbmFsbHkiLCJkb2N1bWVudCIsInNyYyIsImxvZ29QYXRoIiwiYXZhdGFyUGF0aCIsImVkaXRCdXR0b25QYXRoIiwiYWRkQnV0dG9uUGF0aCIsImVkaXRMaWdodEJ1dHRvblBhdGgiLCJhcGkiLCJjb25zdHJ1Y3RvciIsIm9wdGlvbnMiLCJ0aGlzIiwiX2Jhc2VVcmwiLCJiYXNlVXJsIiwiX2hlYWRlcnMiLCJoZWFkZXJzIiwiX2NoZWNrUmVzcG9uc2UiLCJyZXMiLCJvayIsImpzb24iLCJQcm9taXNlIiwicmVqZWN0Iiwic3RhdHVzIiwiX3JlcXVlc3QiLCJlbmRwb2ludCIsImZpbmFsT3B0aW9ucyIsInVybCIsImZldGNoIiwidGhlbiIsImdldFVzZXJJbmZvIiwiZ2V0SW5pdGlhbENhcmRzIiwibWV0aG9kIiwiZWRpdFVzZXJJbmZvIiwibmFtZSIsImFib3V0IiwiYm9keSIsIkpTT04iLCJzdHJpbmdpZnkiLCJ1cGRhdGVBdmF0YXIiLCJhdmF0YXIiLCJhZGRDYXJkIiwibGluayIsInJlbW92ZUNhcmQiLCJjYXJkSWQiLCJsaWtlQ2FyZCIsImRpc2xpa2VDYXJkIiwiZmV0Y2hJbml0aWFsRGF0YSIsImFsbCIsImF1dGhvcml6YXRpb24iLCJ1c2VySWQiLCJ1c2VyRGF0YSIsIl9pZCIsInByb2ZpbGVOYW1lIiwicHJvZmlsZURlc2NyaXB0aW9uIiwicHJvZmlsZUF2YXRhciIsImNhcmRzIiwiY2FyZCIsImNhcmRFbGVtZW50IiwiZ2V0Q2FyZEVsZW1lbnQiLCJjYXJkc0xpc3QiLCJhcHBlbmQiLCJlZGl0TW9kYWxCdXR0b24iLCJjYXJkTW9kYWxCdXR0b24iLCJjbG9zZUJ1dHRvbnMiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZGVsZXRlTW9kYWwiLCJkZWxldGVGb3JtIiwiY2FuY2VsRGVsZXRlQnV0dG9uIiwiYXZhdGFyRWRpdEJ1dHRvbiIsImF2YXRhck1vZGFsIiwiYXZhdGFyRm9ybSIsImF2YXRhckxpbmtJbnB1dCIsImVkaXRNb2RhbCIsImVkaXRGb3JtIiwiZWRpdE1vZGFsTmFtZUlucHV0IiwiZWRpdE1vZGFsRGVzY3JpcHRpb25JbnB1dCIsImNhcmRNb2RhbCIsImNhcmRGb3JtIiwiY2FyZExpbmtJbnB1dCIsImNhcmRDYXB0aW9uSW5wdXQiLCJwcmV2aWV3TW9kYWwiLCJwcmV2aWV3SW1hZ2UiLCJwcmV2aWV3Q2FwdGlvbiIsImNhcmRUZW1wbGF0ZSIsImRhdGEiLCJjb250ZW50IiwiY2xvbmVOb2RlIiwiY2FyZFRpdGxlIiwiY2FyZEltYWdlIiwiY2FyZExpa2VCdXR0b24iLCJjYXJkTGlrZUNvdW50IiwiY2FyZERlbGV0ZUJ1dHRvbiIsImFsdCIsImlzTGlrZWQiLCJhZGRFdmVudExpc3RlbmVyIiwiY29udGFpbnMiLCJ1cGRhdGVkQ2FyZCIsInRvZ2dsZSIsIm9wZW5Nb2RhbCIsIl9jYXJkVG9EZWxldGUiLCJtb2RhbCIsImhhbmRsZU92ZXJsYXlDbGljayIsImV2ZW50IiwidGFyZ2V0IiwiY2xvc2VNb2RhbCIsImhhbmRsZUVzY2FwZUtleVByZXNzIiwia2V5IiwiX2hhbmRsZU92ZXJsYXlDbGljayIsIl9oYW5kbGVFc2NhcGVLZXlQcmVzcyIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJtYWtlRWRpdFByb2ZpbGVSZXF1ZXN0IiwidmFsdWUiLCJjbG9zZXN0IiwiY2FyZERhdGEiLCJwcmVwZW5kIiwicmVzZXQiLCJBcnJheSIsImZyb20iLCJzZXRFdmVudExpc3RlbmVycyIsImNoZWNrSW5wdXRWYWxpZGl0eSIsInNob3dJbnB1dEVycm9yIiwiZXJyb3JNZXNzYWdlIiwic2V0QXR0cmlidXRlIiwidmFsaWRhdGlvbk1lc3NhZ2UiXSwic291cmNlUm9vdCI6IiJ9 \ No newline at end of file +!function(){"use strict";var e="/se_project_spots/";const t={formSelector:".modal__form",inputSelector:".modal__input",submitButtonSelector:".modal__submit-button",inactiveButtonClass:"modal__submit-button_disabled",inputErrorClass:"modal__input_type_error",errorClass:"modal__error"},r=e=>{console.error(`Validation Error: ${e}`)},o=(e,t,o)=>{const n=e.querySelector(`#${t.id}-error`);n?(n.textContent="",n.removeAttribute("role"),t.classList.remove(o.inputErrorClass)):r(`Error message element for input ${t.id} not found.`)},n=(e,t,r)=>{(e=>e.some((e=>!e.validity.valid)))(e)?a(t,r):(t.disabled=!1,t.classList.remove(r.inactiveButtonClass))},a=(e,t)=>{e.disabled=!0,e.classList.add(t.inactiveButtonClass)},c=(e,t,r)=>{t.forEach((t=>{o(e,t,r)}));const n=e.querySelector(r.submitButtonSelector);a(n,r)};function s(e,t,r="Save",o="Saving..."){t.textContent=e?o:r}function l(e,t,r="Saving..."){t.preventDefault();const o=t.submitter,n=o.textContent;return s(!0,o,n,r),e().catch(console.error).finally((()=>{s(!1,o,n)}))}var i=e+"315f49fc459de1bfa785.svg",d=e+"2fc47fd8e9a9bcd9612f.jpg",u=e+"d38272e02bb4f1ab1c37.svg",m=e+"40608da7369d39bc1077.svg",_=e+"d73f076c46eb5467f5fc.svg";document.querySelector(".header__logo").src=i,document.querySelector(".profile__avatar").src=d,document.querySelector(".profile__edit-button img").src=u,document.querySelector(".profile__add-button img").src=m,document.querySelector(".profile__pencilIcon").src=_;const v=new class{constructor(e){this._baseUrl=e.baseUrl,this._headers=e.headers}_checkResponse(e){return e.ok?e.json():Promise.reject(`Error: ${e.status}`)}_request(e,t={}){const r={headers:this._headers,...t},o=`${this._baseUrl}${e}`;return fetch(o,r).then(this._checkResponse)}getUserInfo(){return this._request("/users/me")}getInitialCards(){return this._request("/cards",{method:"GET"})}editUserInfo({name:e,about:t}){return this._request("/users/me",{method:"PATCH",body:JSON.stringify({name:e,about:t})})}updateAvatar({avatar:e}){return this._request("/users/me/avatar",{method:"PATCH",body:JSON.stringify({avatar:e})})}addCard({name:e,link:t}){return this._request("/cards",{method:"POST",body:JSON.stringify({name:e,link:t})})}removeCard(e){return fetch(`${this._baseUrl}/cards/${e}`,{method:"DELETE",headers:this._headers}).then(this._checkResponse)}likeCard(e){return this._request(`/cards/${e}/likes`,{method:"PUT"})}dislikeCard(e){return this._request(`/cards/${e}/likes`,{method:"DELETE"})}fetchInitialData(){return Promise.all([this.getUserInfo(),this.getInitialCards()])}}({baseUrl:"https://around-api.en.tripleten-services.com/v1",headers:{authorization:"f1f1dbab-8e17-48d3-a098-d77dfd6ea3c5","Content-Type":"application/json"}});let f;v.getUserInfo().then((e=>(f=e._id,h.textContent=e.name,S.textContent=e.about,D.src=e.avatar,v.getInitialCards()))).then((e=>{e.forEach((e=>{const t=H(e);R.append(t)}))})).catch(console.error);const y=document.querySelector(".profile__edit-button"),p=document.querySelector(".profile__add-button"),h=document.querySelector(".profile__name"),S=document.querySelector(".profile__description"),b=document.querySelectorAll(".modal__close-button"),q=document.querySelector("#delete-modal"),k=q.querySelector("#delete-form"),E=q.querySelector(".modal__cancel-button"),C=document.querySelector(".profile__avatar-button"),L=document.querySelector("#new-avatar-modal"),g=L.querySelector(".modal__form"),x=L.querySelector("#new-avatar-link-input"),D=document.querySelector(".profile__avatar"),A=document.querySelector("#edit-modal"),$=A.querySelector(".modal__form"),T=A.querySelector("#profile-name-input"),U=A.querySelector("#profile-description-input"),I=document.querySelector("#new-card-modal"),w=I.querySelector(".modal__form"),P=I.querySelector("#new-card-link-input"),B=I.querySelector("#new-card-caption-input"),O=document.querySelector("#preview-modal"),j=O.querySelector(".modal__image"),N=O.querySelector(".modal__caption"),J=document.querySelector("#card-template"),R=document.querySelector(".cards__list");function H(e){const t=J.content.querySelector(".card").cloneNode(!0);t._id=e._id;const r=t.querySelector(".card__title"),o=t.querySelector(".card__image"),n=t.querySelector(".card__like-button"),a=t.querySelector(".card__like-count"),c=t.querySelector(".card__delete-button");return r.textContent=e.name,o.src=e.link,o.alt=e.name,e.isLiked?(n.classList.add("card__like-button_liked"),a.textContent="1"):a.textContent="0",n.addEventListener("click",(()=>{(n.classList.contains("card__like-button_liked")?v.dislikeCard(e._id):v.likeCard(e._id)).then((e=>{n.classList.toggle("card__like-button_liked",e.isLiked),a.textContent=e.isLiked?"1":"0"})).catch((e=>{console.error("Error updating like status:",e)}))})),c.addEventListener("click",(()=>{K(q),k._cardToDelete=t})),o.addEventListener("click",(()=>{K(O),N.textContent=e.name,j.alt=e.name,j.src=e.link})),t}function K(e){function t(t){t.target.classList.contains("modal_opened")&&z(e)}function r(t){"Escape"===t.key&&z(e)}e.classList.add("modal_opened"),document.addEventListener("click",t),document.addEventListener("keydown",r),e._handleOverlayClick=t,e._handleEscapeKeyPress=r}function z(e){e.classList.remove("modal_opened"),document.removeEventListener("click",e._handleOverlayClick),document.removeEventListener("keydown",e._handleEscapeKeyPress)}function G(){const e=T.value,t=U.value;return v.editUserInfo({name:e,about:t}).then((e=>{h.textContent=e.name,S.textContent=e.about,z(A)}))}var M;b.forEach((e=>{const t=e.closest(".modal");e.addEventListener("click",(()=>z(t)))})),y.addEventListener("click",(()=>{T.value=h.textContent,U.value=S.textContent,c($,[T,U],t),K(A)})),C.addEventListener("click",(()=>{K(L)})),p.addEventListener("click",(()=>{K(I)})),E.addEventListener("click",(()=>{z(q)})),$.addEventListener("submit",(function(e){l(G,e,"Saving...")})),w.addEventListener("submit",(function(e){e.preventDefault();const t=w.querySelector(".modal__submit-button");s(!0,t),v.addCard({name:B.value,link:P.value}).then((t=>{const r=H(t);R.prepend(r),e.target.reset(),z(I)})).catch(console.error).finally((()=>{s(!1,t)}))})),k.addEventListener("submit",(e=>{e.preventDefault();const t=k.querySelector(".modal__submit-button");s(!0,t,"Delete","Deleting..."),v.removeCard(k._cardToDelete._id).then((()=>{l((()=>{k._cardToDelete.remove()})),z(q)})).catch(console.error).finally((()=>{s(!1,t,"Delete")}))})),g.addEventListener("submit",(e=>{e.preventDefault();const t=g.querySelector(".modal__submit-button");s(!0,t),v.updateAvatar({avatar:x.value}).then((t=>{D.src=t.avatar,e.target.reset(),z(L)})).catch(console.error).finally((()=>{s(!1,t)}))})),M=t,document.querySelectorAll(M.formSelector).forEach((e=>{const t=Array.from(e.querySelectorAll(M.inputSelector));((e,t)=>{const a=Array.from(e.querySelectorAll(t.inputSelector)),c=e.querySelector(t.submitButtonSelector);n(a,c,t),a.forEach((s=>{s.addEventListener("input",(()=>{((e,t,n)=>{t.validity.valid?o(e,t,n):((e,t,o,n)=>{const a=e.querySelector(`#${t.id}-error`);a?(a.textContent=o,a.setAttribute("role","alert"),t.classList.add(n.inputErrorClass)):r(`Error message element for input ${t.id} not found.`)})(e,t,t.validationMessage,n)})(e,s,t),n(a,c,t)}))}))})(e,M),e.addEventListener("reset",(()=>{c(e,t,M)}))}))}(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,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LEVBQU9aLGdCQXRCaEJvSyxFQUFDMUosRUFBYUUsS0FDdEMsTUFBTVMsRUFBWTZJLE1BQU1DLEtBQ3RCekosRUFBWW9HLGlCQUFpQmxHLEVBQU9aLGdCQUVoQ3NCLEVBQWdCWixFQUFZSSxjQUFjRixFQUFPWCxzQkFFdkRtQixFQUFrQkMsRUFBV0MsRUFBZVYsR0FFNUNTLEVBQVVXLFNBQVNyQixJQUNqQkEsRUFBYWlJLGlCQUFpQixTQUFTLEtBdERoQnlCLEVBQUMzSixFQUFhQyxFQUFjQyxLQUNoREQsRUFBYWMsU0FBU0MsTUFRekJqQixFQUFlQyxFQUFhQyxFQUFjQyxHQXpDdkIwSixFQUFDNUosRUFBYUMsRUFBYzRKLEVBQWMzSixLQUMvRCxNQUFNQyxFQUFzQkgsRUFBWUksY0FDdEMsSUFBSUgsRUFBYUksWUFHZEYsR0FLTEEsRUFBb0JHLFlBQWN1SixFQUNsQzFKLEVBQW9CMkosYUFBYSxPQUFRLFNBQ3pDN0osRUFBYU8sVUFBVVksSUFBSWxCLEVBQU9ULGtCQU5oQ0UsRUFBUyxtQ0FBbUNNLEVBQWFJLGdCQU1ULEVBc0JoRHVKLENBQ0U1SixFQUNBQyxFQUNBQSxFQUFhOEosa0JBQ2I3SixFQUlKLEVBNkNJeUosQ0FBbUIzSixFQUFhQyxFQUFjQyxHQUM5Q1EsRUFBa0JDLEVBQVdDLEVBQWVWLEVBQU8sR0FDbkQsR0FDRixFQVdBd0osQ0FBa0IxSixFQUFhRSxHQUcvQkYsRUFBWWtJLGlCQUFpQixTQUFTLEtBQ3BDN0csRUFBZ0JyQixFQUFhVyxFQUFXVCxFQUFPLEdBQy9DLEciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9zZV9wcm9qZWN0X3Nwb3RzL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL3NlX3Byb2plY3Rfc3BvdHMvd2VicGFjay9ydW50aW1lL3B1YmxpY1BhdGgiLCJ3ZWJwYWNrOi8vc2VfcHJvamVjdF9zcG90cy8uL3NyYy9zY3JpcHRzL3ZhbGlkYXRpb24uanMiLCJ3ZWJwYWNrOi8vc2VfcHJvamVjdF9zcG90cy8uL3NyYy91dGlscy91dGlscy5qcyIsIndlYnBhY2s6Ly9zZV9wcm9qZWN0X3Nwb3RzLy4vc3JjL3BhZ2VzL2luZGV4LmpzIiwid2VicGFjazovL3NlX3Byb2plY3Rfc3BvdHMvLi9zcmMvdXRpbHMvQXBpLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRoZSByZXF1aXJlIHNjb3BlXG52YXIgX193ZWJwYWNrX3JlcXVpcmVfXyA9IHt9O1xuXG4iLCJfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIi9zZV9wcm9qZWN0X3Nwb3RzL1wiOyIsImV4cG9ydCBjb25zdCBzZXR0aW5ncyA9IHtcbiAgZm9ybVNlbGVjdG9yOiBcIi5tb2RhbF9fZm9ybVwiLFxuICBpbnB1dFNlbGVjdG9yOiBcIi5tb2RhbF9faW5wdXRcIixcbiAgc3VibWl0QnV0dG9uU2VsZWN0b3I6IFwiLm1vZGFsX19zdWJtaXQtYnV0dG9uXCIsXG4gIGluYWN0aXZlQnV0dG9uQ2xhc3M6IFwibW9kYWxfX3N1Ym1pdC1idXR0b25fZGlzYWJsZWRcIixcbiAgaW5wdXRFcnJvckNsYXNzOiBcIm1vZGFsX19pbnB1dF90eXBlX2Vycm9yXCIsXG4gIGVycm9yQ2xhc3M6IFwibW9kYWxfX2Vycm9yXCIsXG59O1xuXG4vLyBVdGlsaXR5IGZvciBsb2dnaW5nIGVycm9yc1xuY29uc3QgbG9nRXJyb3IgPSAobWVzc2FnZSkgPT4ge1xuICBjb25zb2xlLmVycm9yKGBWYWxpZGF0aW9uIEVycm9yOiAke21lc3NhZ2V9YCk7XG59O1xuXG4vLyBTaG93IGlucHV0IGVycm9yIG1lc3NhZ2VcbmNvbnN0IHNob3dJbnB1dEVycm9yID0gKGZvcm1FbGVtZW50LCBpbnB1dEVsZW1lbnQsIGVycm9yTWVzc2FnZSwgY29uZmlnKSA9PiB7XG4gIGNvbnN0IGVycm9yTWVzc2FnZUVsZW1lbnQgPSBmb3JtRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgIGAjJHtpbnB1dEVsZW1lbnQuaWR9LWVycm9yYFxuICApO1xuXG4gIGlmICghZXJyb3JNZXNzYWdlRWxlbWVudCkge1xuICAgIGxvZ0Vycm9yKGBFcnJvciBtZXNzYWdlIGVsZW1lbnQgZm9yIGlucHV0ICR7aW5wdXRFbGVtZW50LmlkfSBub3QgZm91bmQuYCk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgZXJyb3JNZXNzYWdlRWxlbWVudC50ZXh0Q29udGVudCA9IGVycm9yTWVzc2FnZTtcbiAgZXJyb3JNZXNzYWdlRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJyb2xlXCIsIFwiYWxlcnRcIik7IC8vIEFjY2Vzc2liaWxpdHkgZW5oYW5jZW1lbnRcbiAgaW5wdXRFbGVtZW50LmNsYXNzTGlzdC5hZGQoY29uZmlnLmlucHV0RXJyb3JDbGFzcyk7XG59O1xuXG4vLyBIaWRlIGlucHV0IGVycm9yIG1lc3NhZ2VcbmNvbnN0IGhpZGVJbnB1dEVycm9yID0gKGZvcm1FbGVtZW50LCBpbnB1dEVsZW1lbnQsIGNvbmZpZykgPT4ge1xuICBjb25zdCBlcnJvck1lc3NhZ2VFbGVtZW50ID0gZm9ybUVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICBgIyR7aW5wdXRFbGVtZW50LmlkfS1lcnJvcmBcbiAgKTtcblxuICBpZiAoIWVycm9yTWVzc2FnZUVsZW1lbnQpIHtcbiAgICBsb2dFcnJvcihgRXJyb3IgbWVzc2FnZSBlbGVtZW50IGZvciBpbnB1dCAke2lucHV0RWxlbWVudC5pZH0gbm90IGZvdW5kLmApO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGVycm9yTWVzc2FnZUVsZW1lbnQudGV4dENvbnRlbnQgPSBcIlwiO1xuICBlcnJvck1lc3NhZ2VFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShcInJvbGVcIik7XG4gIGlucHV0RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKGNvbmZpZy5pbnB1dEVycm9yQ2xhc3MpO1xufTtcblxuLy8gQ2hlY2sgaW5wdXQgdmFsaWRpdHlcbmNvbnN0IGNoZWNrSW5wdXRWYWxpZGl0eSA9IChmb3JtRWxlbWVudCwgaW5wdXRFbGVtZW50LCBjb25maWcpID0+IHtcbiAgaWYgKCFpbnB1dEVsZW1lbnQudmFsaWRpdHkudmFsaWQpIHtcbiAgICBzaG93SW5wdXRFcnJvcihcbiAgICAgIGZvcm1FbGVtZW50LFxuICAgICAgaW5wdXRFbGVtZW50LFxuICAgICAgaW5wdXRFbGVtZW50LnZhbGlkYXRpb25NZXNzYWdlLFxuICAgICAgY29uZmlnXG4gICAgKTtcbiAgfSBlbHNlIHtcbiAgICBoaWRlSW5wdXRFcnJvcihmb3JtRWxlbWVudCwgaW5wdXRFbGVtZW50LCBjb25maWcpO1xuICB9XG59O1xuXG4vLyBDaGVjayBpZiBmb3JtIGhhcyBpbnZhbGlkIGlucHV0XG5jb25zdCBoYXNJbnZhbGlkSW5wdXQgPSAoaW5wdXRMaXN0KSA9PiB7XG4gIHJldHVybiBpbnB1dExpc3Quc29tZSgoaW5wdXQpID0+ICFpbnB1dC52YWxpZGl0eS52YWxpZCk7XG59O1xuXG4vLyBUb2dnbGUgYnV0dG9uIHN0YXRlXG5jb25zdCB0b2dnbGVCdXR0b25TdGF0ZSA9IChpbnB1dExpc3QsIGJ1dHRvbkVsZW1lbnQsIGNvbmZpZykgPT4ge1xuICBpZiAoaGFzSW52YWxpZElucHV0KGlucHV0TGlzdCkpIHtcbiAgICBkaXNhYmxlQnV0dG9uKGJ1dHRvbkVsZW1lbnQsIGNvbmZpZyk7XG4gIH0gZWxzZSB7XG4gICAgYnV0dG9uRWxlbWVudC5kaXNhYmxlZCA9IGZhbHNlO1xuICAgIGJ1dHRvbkVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShjb25maWcuaW5hY3RpdmVCdXR0b25DbGFzcyk7XG4gIH1cbn07XG5cbi8vIERpc2FibGUgYnV0dG9uXG5jb25zdCBkaXNhYmxlQnV0dG9uID0gKGJ1dHRvbkVsZW1lbnQsIGNvbmZpZykgPT4ge1xuICBidXR0b25FbGVtZW50LmRpc2FibGVkID0gdHJ1ZTtcbiAgYnV0dG9uRWxlbWVudC5jbGFzc0xpc3QuYWRkKGNvbmZpZy5pbmFjdGl2ZUJ1dHRvbkNsYXNzKTtcbn07XG5cbi8vIFJlc2V0IHZhbGlkYXRpb25cbmV4cG9ydCBjb25zdCByZXNldFZhbGlkYXRpb24gPSAoZm9ybUVsZW1lbnQsIGlucHV0TGlzdCwgY29uZmlnKSA9PiB7XG4gIGlucHV0TGlzdC5mb3JFYWNoKChpbnB1dCkgPT4ge1xuICAgIGhpZGVJbnB1dEVycm9yKGZvcm1FbGVtZW50LCBpbnB1dCwgY29uZmlnKTtcbiAgfSk7XG5cbiAgY29uc3QgYnV0dG9uRWxlbWVudCA9IGZvcm1FbGVtZW50LnF1ZXJ5U2VsZWN0b3IoY29uZmlnLnN1Ym1pdEJ1dHRvblNlbGVjdG9yKTtcbiAgZGlzYWJsZUJ1dHRvbihidXR0b25FbGVtZW50LCBjb25maWcpOyAvLyBEaXNhYmxlIHRoZSBidXR0b24gZHVyaW5nIHJlc2V0XG59O1xuXG4vLyBBZGQgZXZlbnQgbGlzdGVuZXJzIHRvIHRoZSBmb3JtXG5jb25zdCBzZXRFdmVudExpc3RlbmVycyA9IChmb3JtRWxlbWVudCwgY29uZmlnKSA9PiB7XG4gIGNvbnN0IGlucHV0TGlzdCA9IEFycmF5LmZyb20oXG4gICAgZm9ybUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChjb25maWcuaW5wdXRTZWxlY3RvcilcbiAgKTtcbiAgY29uc3QgYnV0dG9uRWxlbWVudCA9IGZvcm1FbGVtZW50LnF1ZXJ5U2VsZWN0b3IoY29uZmlnLnN1Ym1pdEJ1dHRvblNlbGVjdG9yKTtcblxuICB0b2dnbGVCdXR0b25TdGF0ZShpbnB1dExpc3QsIGJ1dHRvbkVsZW1lbnQsIGNvbmZpZyk7IC8vIEluaXRpYWwgYnV0dG9uIHN0YXRlIGNoZWNrXG5cbiAgaW5wdXRMaXN0LmZvckVhY2goKGlucHV0RWxlbWVudCkgPT4ge1xuICAgIGlucHV0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFwiaW5wdXRcIiwgKCkgPT4ge1xuICAgICAgY2hlY2tJbnB1dFZhbGlkaXR5KGZvcm1FbGVtZW50LCBpbnB1dEVsZW1lbnQsIGNvbmZpZyk7XG4gICAgICB0b2dnbGVCdXR0b25TdGF0ZShpbnB1dExpc3QsIGJ1dHRvbkVsZW1lbnQsIGNvbmZpZyk7IC8vIFVwZGF0ZSBidXR0b24gc3RhdGUgb24gaW5wdXRcbiAgICB9KTtcbiAgfSk7XG59O1xuXG4vLyBFbmFibGUgdmFsaWRhdGlvbiBmb3IgYWxsIGZvcm1zXG5leHBvcnQgY29uc3QgZW5hYmxlVmFsaWRhdGlvbiA9IChjb25maWcpID0+IHtcbiAgY29uc3QgZm9ybUxpc3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGNvbmZpZy5mb3JtU2VsZWN0b3IpO1xuXG4gIGZvcm1MaXN0LmZvckVhY2goKGZvcm1FbGVtZW50KSA9PiB7XG4gICAgY29uc3QgaW5wdXRMaXN0ID0gQXJyYXkuZnJvbShcbiAgICAgIGZvcm1FbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoY29uZmlnLmlucHV0U2VsZWN0b3IpXG4gICAgKTtcbiAgICBzZXRFdmVudExpc3RlbmVycyhmb3JtRWxlbWVudCwgY29uZmlnKTtcblxuICAgIC8vIENsZWFyIHZhbGlkYXRpb24gb24gZm9ybSByZXNldFxuICAgIGZvcm1FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNldFwiLCAoKSA9PiB7XG4gICAgICByZXNldFZhbGlkYXRpb24oZm9ybUVsZW1lbnQsIGlucHV0TGlzdCwgY29uZmlnKTtcbiAgICB9KTtcbiAgfSk7XG59O1xuIiwiZXhwb3J0IGZ1bmN0aW9uIHJlbmRlckxvYWRpbmcoXG4gIGlzTG9hZGluZyxcbiAgYnV0dG9uLFxuICBidXR0b25UZXh0ID0gXCJTYXZlXCIsXG4gIGxvYWRpbmdUZXh0ID0gXCJTYXZpbmcuLi5cIlxuKSB7XG4gIGlmIChpc0xvYWRpbmcpIHtcbiAgICBidXR0b24udGV4dENvbnRlbnQgPSBsb2FkaW5nVGV4dDtcbiAgfSBlbHNlIHtcbiAgICBidXR0b24udGV4dENvbnRlbnQgPSBidXR0b25UZXh0O1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVTdWJtaXQocmVxdWVzdCwgZXZ0LCBsb2FkaW5nVGV4dCA9IFwiU2F2aW5nLi4uXCIpIHtcbiAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gIGNvbnN0IHN1Ym1pdEJ1dHRvbiA9IGV2dC5zdWJtaXR0ZXI7XG4gIGNvbnN0IGluaXRpYWxUZXh0ID0gc3VibWl0QnV0dG9uLnRleHRDb250ZW50O1xuXG4gIHJlbmRlckxvYWRpbmcodHJ1ZSwgc3VibWl0QnV0dG9uLCBpbml0aWFsVGV4dCwgbG9hZGluZ1RleHQpO1xuXG4gIHJldHVybiByZXF1ZXN0KClcbiAgICAuY2F0Y2goY29uc29sZS5lcnJvcilcbiAgICAuZmluYWxseSgoKSA9PiB7XG4gICAgICByZW5kZXJMb2FkaW5nKGZhbHNlLCBzdWJtaXRCdXR0b24sIGluaXRpYWxUZXh0KTtcbiAgICB9KTtcbn1cbiIsImltcG9ydCBcIi4vaW5kZXguY3NzXCI7IC8vIEltcG9ydGluZyB0aGUgQ1NTIGZpbGVcbmltcG9ydCB7XG4gIGVuYWJsZVZhbGlkYXRpb24sXG4gIHNldHRpbmdzLFxuICByZXNldFZhbGlkYXRpb24sXG59IGZyb20gXCIuLi9zY3JpcHRzL3ZhbGlkYXRpb24uanNcIjsgLy8gSW1wb3J0aW5nIHZhbGlkYXRpb24gZnVuY3Rpb25zXG5pbXBvcnQgQXBpIGZyb20gXCIuLi91dGlscy9BcGkuanNcIjsgLy8gSW1wb3J0aW5nIHRoZSBBUEkgY2xhc3NcbmltcG9ydCB7IGhhbmRsZVN1Ym1pdCwgcmVuZGVyTG9hZGluZyB9IGZyb20gXCIuLi91dGlscy91dGlscy5qc1wiOyAvLyBJbXBvcnRpbmcgdXRpbGl0eSBmdW5jdGlvbnNcblxuLy8gSW1wb3J0aW5nIGltYWdlcyBhbmQgb3RoZXIgYXNzZXRzXG5pbXBvcnQgbG9nb1BhdGggZnJvbSBcIi4uL2ltYWdlcy9sb2dvLnN2Z1wiO1xuaW1wb3J0IGF2YXRhclBhdGggZnJvbSBcIi4uL2ltYWdlcy9hdmF0YXIuanBnXCI7XG5pbXBvcnQgZWRpdEJ1dHRvblBhdGggZnJvbSBcIi4uL2ltYWdlcy9lZGl0YnRuLnN2Z1wiO1xuaW1wb3J0IGFkZEJ1dHRvblBhdGggZnJvbSBcIi4uL2ltYWdlcy9hZGRidG4uc3ZnXCI7XG5pbXBvcnQgZWRpdExpZ2h0QnV0dG9uUGF0aCBmcm9tIFwiLi4vaW1hZ2VzL2VkaXRidG4tbGlnaHQuc3ZnXCI7XG5cbi8vIEVuc3VyZSBzbWFsbHRhYmxldHZpZXcucG5nIGlzIGNvcGllZCB0byBkaXN0XG5pbXBvcnQgXCIuL19jb3B5X3NtYWxsdGFibGV0dmlldy5qc1wiO1xuXG5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLmhlYWRlcl9fbG9nb1wiKS5zcmMgPSBsb2dvUGF0aDtcbmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIucHJvZmlsZV9fYXZhdGFyXCIpLnNyYyA9IGF2YXRhclBhdGg7XG5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnByb2ZpbGVfX2VkaXQtYnV0dG9uIGltZ1wiKS5zcmMgPSBlZGl0QnV0dG9uUGF0aDtcbmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIucHJvZmlsZV9fYWRkLWJ1dHRvbiBpbWdcIikuc3JjID0gYWRkQnV0dG9uUGF0aDtcbmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIucHJvZmlsZV9fcGVuY2lsSWNvblwiKS5zcmMgPSBlZGl0TGlnaHRCdXR0b25QYXRoO1xuXG5jb25zdCBhcGkgPSBuZXcgQXBpKHtcbiAgYmFzZVVybDogXCJodHRwczovL2Fyb3VuZC1hcGkuZW4udHJpcGxldGVuLXNlcnZpY2VzLmNvbS92MVwiLFxuICBoZWFkZXJzOiB7XG4gICAgYXV0aG9yaXphdGlvbjogXCJmMWYxZGJhYi04ZTE3LTQ4ZDMtYTA5OC1kNzdkZmQ2ZWEzYzVcIixcbiAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgfSxcbn0pO1xuXG5sZXQgdXNlcklkO1xuXG5hcGlcbiAgLmdldFVzZXJJbmZvKClcbiAgLnRoZW4oKHVzZXJEYXRhKSA9PiB7XG4gICAgdXNlcklkID0gdXNlckRhdGEuX2lkO1xuICAgIHByb2ZpbGVOYW1lLnRleHRDb250ZW50ID0gdXNlckRhdGEubmFtZTtcbiAgICBwcm9maWxlRGVzY3JpcHRpb24udGV4dENvbnRlbnQgPSB1c2VyRGF0YS5hYm91dDtcbiAgICBwcm9maWxlQXZhdGFyLnNyYyA9IHVzZXJEYXRhLmF2YXRhcjtcbiAgICByZXR1cm4gYXBpLmdldEluaXRpYWxDYXJkcygpO1xuICB9KVxuICAudGhlbigoY2FyZHMpID0+IHtcbiAgICBjYXJkcy5mb3JFYWNoKChjYXJkKSA9PiB7XG4gICAgICBjb25zdCBjYXJkRWxlbWVudCA9IGdldENhcmRFbGVtZW50KGNhcmQpO1xuICAgICAgY2FyZHNMaXN0LmFwcGVuZChjYXJkRWxlbWVudCk7XG4gICAgfSk7XG4gIH0pXG4gIC5jYXRjaChjb25zb2xlLmVycm9yKTtcblxuLy8gUHJvZmlsZSBTZWxlY3RvcnNcbmNvbnN0IGVkaXRNb2RhbEJ1dHRvbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIucHJvZmlsZV9fZWRpdC1idXR0b25cIik7XG5jb25zdCBjYXJkTW9kYWxCdXR0b24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnByb2ZpbGVfX2FkZC1idXR0b25cIik7XG5jb25zdCBwcm9maWxlTmFtZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIucHJvZmlsZV9fbmFtZVwiKTtcbmNvbnN0IHByb2ZpbGVEZXNjcmlwdGlvbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIucHJvZmlsZV9fZGVzY3JpcHRpb25cIik7XG5cbi8vIE1vZGFsIFNlbGVjdG9yc1xuLy8gY29uc3QgbW9kYWxzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcIi5tb2RhbFwiKTtcbmNvbnN0IGNsb3NlQnV0dG9ucyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCIubW9kYWxfX2Nsb3NlLWJ1dHRvblwiKTtcbmNvbnN0IGRlbGV0ZU1vZGFsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIiNkZWxldGUtbW9kYWxcIik7XG5jb25zdCBkZWxldGVGb3JtID0gZGVsZXRlTW9kYWwucXVlcnlTZWxlY3RvcihcIiNkZWxldGUtZm9ybVwiKTtcbmNvbnN0IGNhbmNlbERlbGV0ZUJ1dHRvbiA9IGRlbGV0ZU1vZGFsLnF1ZXJ5U2VsZWN0b3IoXCIubW9kYWxfX2NhbmNlbC1idXR0b25cIik7XG5jb25zdCBhdmF0YXJFZGl0QnV0dG9uID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5wcm9maWxlX19hdmF0YXItYnV0dG9uXCIpO1xuY29uc3QgYXZhdGFyTW9kYWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI25ldy1hdmF0YXItbW9kYWxcIik7XG5jb25zdCBhdmF0YXJGb3JtID0gYXZhdGFyTW9kYWwucXVlcnlTZWxlY3RvcihcIi5tb2RhbF9fZm9ybVwiKTtcbmNvbnN0IGF2YXRhckxpbmtJbnB1dCA9IGF2YXRhck1vZGFsLnF1ZXJ5U2VsZWN0b3IoXCIjbmV3LWF2YXRhci1saW5rLWlucHV0XCIpO1xuY29uc3QgcHJvZmlsZUF2YXRhciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIucHJvZmlsZV9fYXZhdGFyXCIpO1xuXG4vLyBNb2RhbCAtIEVkaXQgUHJvZmlsZVxuY29uc3QgZWRpdE1vZGFsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIiNlZGl0LW1vZGFsXCIpO1xuY29uc3QgZWRpdEZvcm0gPSBlZGl0TW9kYWwucXVlcnlTZWxlY3RvcihcIi5tb2RhbF9fZm9ybVwiKTtcbmNvbnN0IGVkaXRNb2RhbE5hbWVJbnB1dCA9IGVkaXRNb2RhbC5xdWVyeVNlbGVjdG9yKFwiI3Byb2ZpbGUtbmFtZS1pbnB1dFwiKTtcbmNvbnN0IGVkaXRNb2RhbERlc2NyaXB0aW9uSW5wdXQgPSBlZGl0TW9kYWwucXVlcnlTZWxlY3RvcihcbiAgXCIjcHJvZmlsZS1kZXNjcmlwdGlvbi1pbnB1dFwiXG4pO1xuXG4vLyBNb2RhbCAtIEFkZCBDYXJkXG5jb25zdCBjYXJkTW9kYWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI25ldy1jYXJkLW1vZGFsXCIpO1xuY29uc3QgY2FyZEZvcm0gPSBjYXJkTW9kYWwucXVlcnlTZWxlY3RvcihcIi5tb2RhbF9fZm9ybVwiKTtcbi8vIGNvbnN0IGNhcmRTdWJtaXRCdXR0b24gPSBjYXJkTW9kYWwucXVlcnlTZWxlY3RvcihcIi5tb2RhbF9fc3VibWl0LWJ1dHRvblwiKTtcbmNvbnN0IGNhcmRMaW5rSW5wdXQgPSBjYXJkTW9kYWwucXVlcnlTZWxlY3RvcihcIiNuZXctY2FyZC1saW5rLWlucHV0XCIpO1xuY29uc3QgY2FyZENhcHRpb25JbnB1dCA9IGNhcmRNb2RhbC5xdWVyeVNlbGVjdG9yKFwiI25ldy1jYXJkLWNhcHRpb24taW5wdXRcIik7XG5cbi8vIE1vZGFsIFByZXZpZXdcbmNvbnN0IHByZXZpZXdNb2RhbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIjcHJldmlldy1tb2RhbFwiKTtcbmNvbnN0IHByZXZpZXdJbWFnZSA9IHByZXZpZXdNb2RhbC5xdWVyeVNlbGVjdG9yKFwiLm1vZGFsX19pbWFnZVwiKTtcbmNvbnN0IHByZXZpZXdDYXB0aW9uID0gcHJldmlld01vZGFsLnF1ZXJ5U2VsZWN0b3IoXCIubW9kYWxfX2NhcHRpb25cIik7XG5cbi8vIENhcmRzXG5jb25zdCBjYXJkVGVtcGxhdGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI2NhcmQtdGVtcGxhdGVcIik7XG5jb25zdCBjYXJkc0xpc3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLmNhcmRzX19saXN0XCIpO1xuXG5mdW5jdGlvbiBnZXRDYXJkRWxlbWVudChkYXRhKSB7XG4gIGNvbnN0IGNhcmRFbGVtZW50ID0gY2FyZFRlbXBsYXRlLmNvbnRlbnRcbiAgICAucXVlcnlTZWxlY3RvcihcIi5jYXJkXCIpXG4gICAgLmNsb25lTm9kZSh0cnVlKTtcbiAgY2FyZEVsZW1lbnQuX2lkID0gZGF0YS5faWQ7XG5cbiAgY29uc3QgY2FyZFRpdGxlID0gY2FyZEVsZW1lbnQucXVlcnlTZWxlY3RvcihcIi5jYXJkX190aXRsZVwiKTtcbiAgY29uc3QgY2FyZEltYWdlID0gY2FyZEVsZW1lbnQucXVlcnlTZWxlY3RvcihcIi5jYXJkX19pbWFnZVwiKTtcbiAgY29uc3QgY2FyZExpa2VCdXR0b24gPSBjYXJkRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiLmNhcmRfX2xpa2UtYnV0dG9uXCIpO1xuICBjb25zdCBjYXJkTGlrZUNvdW50ID0gY2FyZEVsZW1lbnQucXVlcnlTZWxlY3RvcihcIi5jYXJkX19saWtlLWNvdW50XCIpO1xuICBjb25zdCBjYXJkRGVsZXRlQnV0dG9uID0gY2FyZEVsZW1lbnQucXVlcnlTZWxlY3RvcihcIi5jYXJkX19kZWxldGUtYnV0dG9uXCIpO1xuXG4gIC8vIFNldCBjYXJkIGRhdGFcbiAgY2FyZFRpdGxlLnRleHRDb250ZW50ID0gZGF0YS5uYW1lO1xuICBjYXJkSW1hZ2Uuc3JjID0gZGF0YS5saW5rOyAvLyBNYWtlIHN1cmUgdGhpcyBsaW5lIGlzIHByZXNlbnRcbiAgY2FyZEltYWdlLmFsdCA9IGRhdGEubmFtZTtcblxuICAvLyBTZXQgaW5pdGlhbCBsaWtlIHN0YXRlIGFuZCBjb3VudFxuICBpZiAoZGF0YS5pc0xpa2VkKSB7XG4gICAgY2FyZExpa2VCdXR0b24uY2xhc3NMaXN0LmFkZChcImNhcmRfX2xpa2UtYnV0dG9uX2xpa2VkXCIpO1xuICAgIGNhcmRMaWtlQ291bnQudGV4dENvbnRlbnQgPSBcIjFcIjsgLy8gU2V0IHRvIDEgaWYgdGhlIGNhcmQgaXMgbGlrZWRcbiAgfSBlbHNlIHtcbiAgICBjYXJkTGlrZUNvdW50LnRleHRDb250ZW50ID0gXCIwXCI7IC8vIFNldCB0byAwIGlmIHRoZSBjYXJkIGlzIG5vdCBsaWtlZFxuICB9XG5cbiAgY2FyZExpa2VCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IHtcbiAgICBjb25zdCBpc0N1cnJlbnRseUxpa2VkID0gY2FyZExpa2VCdXR0b24uY2xhc3NMaXN0LmNvbnRhaW5zKFxuICAgICAgXCJjYXJkX19saWtlLWJ1dHRvbl9saWtlZFwiXG4gICAgKTtcblxuICAgIGNvbnN0IGxpa2VDYXJkUHJvbWlzZSA9IGlzQ3VycmVudGx5TGlrZWRcbiAgICAgID8gYXBpLmRpc2xpa2VDYXJkKGRhdGEuX2lkKVxuICAgICAgOiBhcGkubGlrZUNhcmQoZGF0YS5faWQpO1xuXG4gICAgbGlrZUNhcmRQcm9taXNlXG4gICAgICAudGhlbigodXBkYXRlZENhcmQpID0+IHtcbiAgICAgICAgY2FyZExpa2VCdXR0b24uY2xhc3NMaXN0LnRvZ2dsZShcbiAgICAgICAgICBcImNhcmRfX2xpa2UtYnV0dG9uX2xpa2VkXCIsXG4gICAgICAgICAgdXBkYXRlZENhcmQuaXNMaWtlZFxuICAgICAgICApO1xuICAgICAgICBjYXJkTGlrZUNvdW50LnRleHRDb250ZW50ID0gdXBkYXRlZENhcmQuaXNMaWtlZCA/IFwiMVwiIDogXCIwXCI7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3IgdXBkYXRpbmcgbGlrZSBzdGF0dXM6XCIsIGVycm9yKTtcbiAgICAgIH0pO1xuICB9KTtcblxuICAvLyBkZWxldGUgYW5kIHByZXZpZXcgZXZlbnQgbGlzdGVuZXJzXG4gIGNhcmREZWxldGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IHtcbiAgICBvcGVuTW9kYWwoZGVsZXRlTW9kYWwpO1xuICAgIGRlbGV0ZUZvcm0uX2NhcmRUb0RlbGV0ZSA9IGNhcmRFbGVtZW50O1xuICB9KTtcblxuICBjYXJkSW1hZ2UuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IHtcbiAgICBvcGVuTW9kYWwocHJldmlld01vZGFsKTtcbiAgICBwcmV2aWV3Q2FwdGlvbi50ZXh0Q29udGVudCA9IGRhdGEubmFtZTtcbiAgICBwcmV2aWV3SW1hZ2UuYWx0ID0gZGF0YS5uYW1lO1xuICAgIHByZXZpZXdJbWFnZS5zcmMgPSBkYXRhLmxpbms7XG4gIH0pO1xuXG4gIHJldHVybiBjYXJkRWxlbWVudDtcbn1cblxuZnVuY3Rpb24gb3Blbk1vZGFsKG1vZGFsKSB7XG4gIG1vZGFsLmNsYXNzTGlzdC5hZGQoXCJtb2RhbF9vcGVuZWRcIik7XG5cbiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIGhhbmRsZU92ZXJsYXlDbGljayk7XG4gIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIGhhbmRsZUVzY2FwZUtleVByZXNzKTtcblxuICBtb2RhbC5faGFuZGxlT3ZlcmxheUNsaWNrID0gaGFuZGxlT3ZlcmxheUNsaWNrO1xuICBtb2RhbC5faGFuZGxlRXNjYXBlS2V5UHJlc3MgPSBoYW5kbGVFc2NhcGVLZXlQcmVzcztcblxuICBmdW5jdGlvbiBoYW5kbGVPdmVybGF5Q2xpY2soZXZlbnQpIHtcbiAgICBpZiAoZXZlbnQudGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucyhcIm1vZGFsX29wZW5lZFwiKSkge1xuICAgICAgY2xvc2VNb2RhbChtb2RhbCk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gaGFuZGxlRXNjYXBlS2V5UHJlc3MoZXZlbnQpIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSBcIkVzY2FwZVwiKSB7XG4gICAgICBjbG9zZU1vZGFsKG1vZGFsKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY2xvc2VNb2RhbChtb2RhbCkge1xuICBtb2RhbC5jbGFzc0xpc3QucmVtb3ZlKFwibW9kYWxfb3BlbmVkXCIpO1xuXG4gIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBtb2RhbC5faGFuZGxlT3ZlcmxheUNsaWNrKTtcbiAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgbW9kYWwuX2hhbmRsZUVzY2FwZUtleVByZXNzKTtcbn1cblxuLy8gZnVuY3Rpb24gcmVuZGVyTG9hZGluZyhcbi8vIGlzTG9hZGluZyxcbi8vIGJ1dHRvbixcbi8vIGJ1dHRvblRleHQgPSBcIlNhdmVcIixcbi8vIGxvYWRpbmdUZXh0ID0gXCJTYXZpbmcuLi5cIlxuLy8gKSB7XG4vLyBidXR0b24udGV4dENvbnRlbnQgPSBpc0xvYWRpbmcgPyBsb2FkaW5nVGV4dCA6IGJ1dHRvblRleHQ7XG4vLyB9XG5cbi8vIFVuaXZlcnNhbCBDbG9zZSBCdXR0b24gSGFuZGxlclxuY2xvc2VCdXR0b25zLmZvckVhY2goKGJ1dHRvbikgPT4ge1xuICBjb25zdCBtb2RhbCA9IGJ1dHRvbi5jbG9zZXN0KFwiLm1vZGFsXCIpO1xuICBidXR0b24uYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IGNsb3NlTW9kYWwobW9kYWwpKTtcbn0pO1xuXG4vLyBIYW5kbGVyc1xuZnVuY3Rpb24gbWFrZUVkaXRQcm9maWxlUmVxdWVzdCgpIHtcbiAgLy8gR2V0IGZvcm0gdmFsdWVzXG4gIGNvbnN0IG5hbWUgPSBlZGl0TW9kYWxOYW1lSW5wdXQudmFsdWU7XG4gIGNvbnN0IGFib3V0ID0gZWRpdE1vZGFsRGVzY3JpcHRpb25JbnB1dC52YWx1ZTtcblxuICAvLyBNYWtlIEFQSSBjYWxsIHRvIGVkaXQgdXNlciBpbmZvXG4gIHJldHVybiBhcGkuZWRpdFVzZXJJbmZvKHsgbmFtZSwgYWJvdXQgfSkudGhlbigodXNlckRhdGEpID0+IHtcbiAgICAvLyBVcGRhdGUgdGhlIERPTSB3aXRoIHRoZSBuZXcgdXNlciBkYXRhXG4gICAgcHJvZmlsZU5hbWUudGV4dENvbnRlbnQgPSB1c2VyRGF0YS5uYW1lO1xuICAgIHByb2ZpbGVEZXNjcmlwdGlvbi50ZXh0Q29udGVudCA9IHVzZXJEYXRhLmFib3V0O1xuICAgIC8vIENsb3NlIHRoZSBtb2RhbFxuICAgIGNsb3NlTW9kYWwoZWRpdE1vZGFsKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGhhbmRsZUVkaXRGb3JtU3VibWl0KGV2dCkge1xuICBoYW5kbGVTdWJtaXQobWFrZUVkaXRQcm9maWxlUmVxdWVzdCwgZXZ0LCBcIlNhdmluZy4uLlwiKTtcbn1cblxuZnVuY3Rpb24gaGFuZGxlQ2FyZEZvcm1TdWJtaXQoZXZ0KSB7XG4gIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICBjb25zdCBzdWJtaXRCdXR0b24gPSBjYXJkRm9ybS5xdWVyeVNlbGVjdG9yKFwiLm1vZGFsX19zdWJtaXQtYnV0dG9uXCIpO1xuICByZW5kZXJMb2FkaW5nKHRydWUsIHN1Ym1pdEJ1dHRvbik7XG5cbiAgYXBpXG4gICAgLmFkZENhcmQoe1xuICAgICAgbmFtZTogY2FyZENhcHRpb25JbnB1dC52YWx1ZSxcbiAgICAgIGxpbms6IGNhcmRMaW5rSW5wdXQudmFsdWUsXG4gICAgfSlcbiAgICAudGhlbigoY2FyZERhdGEpID0+IHtcbiAgICAgIGNvbnN0IGNhcmRFbGVtZW50ID0gZ2V0Q2FyZEVsZW1lbnQoY2FyZERhdGEpO1xuICAgICAgY2FyZHNMaXN0LnByZXBlbmQoY2FyZEVsZW1lbnQpO1xuICAgICAgZXZ0LnRhcmdldC5yZXNldCgpO1xuICAgICAgY2xvc2VNb2RhbChjYXJkTW9kYWwpO1xuICAgIH0pXG4gICAgLmNhdGNoKGNvbnNvbGUuZXJyb3IpXG4gICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgcmVuZGVyTG9hZGluZyhmYWxzZSwgc3VibWl0QnV0dG9uKTtcbiAgICB9KTtcbn1cblxuLy8gRWRpdCBNb2RhbCBMaXN0ZW5lcnNcbmVkaXRNb2RhbEJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgKCkgPT4ge1xuICBlZGl0TW9kYWxOYW1lSW5wdXQudmFsdWUgPSBwcm9maWxlTmFtZS50ZXh0Q29udGVudDtcbiAgZWRpdE1vZGFsRGVzY3JpcHRpb25JbnB1dC52YWx1ZSA9IHByb2ZpbGVEZXNjcmlwdGlvbi50ZXh0Q29udGVudDtcbiAgcmVzZXRWYWxpZGF0aW9uKFxuICAgIGVkaXRGb3JtLFxuICAgIFtlZGl0TW9kYWxOYW1lSW5wdXQsIGVkaXRNb2RhbERlc2NyaXB0aW9uSW5wdXRdLFxuICAgIHNldHRpbmdzXG4gICk7XG4gIG9wZW5Nb2RhbChlZGl0TW9kYWwpO1xufSk7XG5cbi8vIEF2YXRhciBNb2RhbCBMaXN0ZW5lclxuYXZhdGFyRWRpdEJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgKCkgPT4ge1xuICBvcGVuTW9kYWwoYXZhdGFyTW9kYWwpO1xufSk7XG5cbi8vIENhcmQgTW9kYWwgTGlzdGVuZXJzXG5jYXJkTW9kYWxCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IHtcbiAgb3Blbk1vZGFsKGNhcmRNb2RhbCk7XG59KTtcblxuY2FuY2VsRGVsZXRlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCAoKSA9PiB7XG4gIGNsb3NlTW9kYWwoZGVsZXRlTW9kYWwpO1xufSk7XG5cbi8vIEZvcm0gTGlzdGVuZXJzXG5lZGl0Rm9ybS5hZGRFdmVudExpc3RlbmVyKFwic3VibWl0XCIsIGhhbmRsZUVkaXRGb3JtU3VibWl0KTtcbmNhcmRGb3JtLmFkZEV2ZW50TGlzdGVuZXIoXCJzdWJtaXRcIiwgaGFuZGxlQ2FyZEZvcm1TdWJtaXQpO1xuXG5kZWxldGVGb3JtLmFkZEV2ZW50TGlzdGVuZXIoXCJzdWJtaXRcIiwgKGV2dCkgPT4ge1xuICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgY29uc3Qgc3VibWl0QnV0dG9uID0gZGVsZXRlRm9ybS5xdWVyeVNlbGVjdG9yKFwiLm1vZGFsX19zdWJtaXQtYnV0dG9uXCIpO1xuICByZW5kZXJMb2FkaW5nKHRydWUsIHN1Ym1pdEJ1dHRvbiwgXCJEZWxldGVcIiwgXCJEZWxldGluZy4uLlwiKTtcblxuICBhcGlcbiAgICAucmVtb3ZlQ2FyZChkZWxldGVGb3JtLl9jYXJkVG9EZWxldGUuX2lkKSAvLyBDaGFuZ2VkIGZyb20gZGVsZXRlQ2FyZCB0byByZW1vdmVDYXJkXG4gICAgLnRoZW4oKCkgPT4ge1xuICAgICAgaGFuZGxlU3VibWl0KCgpID0+IHtcbiAgICAgICAgZGVsZXRlRm9ybS5fY2FyZFRvRGVsZXRlLnJlbW92ZSgpO1xuICAgICAgfSk7XG4gICAgICBjbG9zZU1vZGFsKGRlbGV0ZU1vZGFsKTtcbiAgICB9KVxuICAgIC5jYXRjaChjb25zb2xlLmVycm9yKVxuICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgIHJlbmRlckxvYWRpbmcoZmFsc2UsIHN1Ym1pdEJ1dHRvbiwgXCJEZWxldGVcIik7XG4gICAgfSk7XG59KTtcblxuLy8gQXZhdGFyIEZvcm0gU3VibWl0IEhhbmRsZXJcbmF2YXRhckZvcm0uYWRkRXZlbnRMaXN0ZW5lcihcInN1Ym1pdFwiLCAoZXZ0KSA9PiB7XG4gIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICBjb25zdCBzdWJtaXRCdXR0b24gPSBhdmF0YXJGb3JtLnF1ZXJ5U2VsZWN0b3IoXCIubW9kYWxfX3N1Ym1pdC1idXR0b25cIik7XG4gIHJlbmRlckxvYWRpbmcodHJ1ZSwgc3VibWl0QnV0dG9uKTtcblxuICBhcGlcbiAgICAudXBkYXRlQXZhdGFyKHtcbiAgICAgIGF2YXRhcjogYXZhdGFyTGlua0lucHV0LnZhbHVlLFxuICAgIH0pXG4gICAgLnRoZW4oKHVzZXJEYXRhKSA9PiB7XG4gICAgICBwcm9maWxlQXZhdGFyLnNyYyA9IHVzZXJEYXRhLmF2YXRhcjtcbiAgICAgIGV2dC50YXJnZXQucmVzZXQoKTtcbiAgICAgIGNsb3NlTW9kYWwoYXZhdGFyTW9kYWwpO1xuICAgIH0pXG4gICAgLmNhdGNoKGNvbnNvbGUuZXJyb3IpXG4gICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgcmVuZGVyTG9hZGluZyhmYWxzZSwgc3VibWl0QnV0dG9uKTtcbiAgICB9KTtcbn0pO1xuXG5lbmFibGVWYWxpZGF0aW9uKHNldHRpbmdzKTtcbiIsImNsYXNzIEFwaSB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcbiAgICB0aGlzLl9iYXNlVXJsID0gb3B0aW9ucy5iYXNlVXJsO1xuICAgIHRoaXMuX2hlYWRlcnMgPSBvcHRpb25zLmhlYWRlcnM7XG4gIH1cblxuICBfY2hlY2tSZXNwb25zZShyZXMpIHtcbiAgICBpZiAocmVzLm9rKSB7XG4gICAgICByZXR1cm4gcmVzLmpzb24oKTtcbiAgICB9XG4gICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGBFcnJvcjogJHtyZXMuc3RhdHVzfWApO1xuICB9XG5cbiAgX3JlcXVlc3QoZW5kcG9pbnQsIG9wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IGZpbmFsT3B0aW9ucyA9IHtcbiAgICAgIGhlYWRlcnM6IHRoaXMuX2hlYWRlcnMsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH07XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5fYmFzZVVybH0ke2VuZHBvaW50fWA7XG4gICAgcmV0dXJuIGZldGNoKHVybCwgZmluYWxPcHRpb25zKS50aGVuKHRoaXMuX2NoZWNrUmVzcG9uc2UpO1xuICB9XG5cbiAgZ2V0VXNlckluZm8oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVlc3QoXCIvdXNlcnMvbWVcIik7XG4gIH1cblxuICBnZXRJbml0aWFsQ2FyZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVlc3QoXCIvY2FyZHNcIiwge1xuICAgICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgIH0pO1xuICB9XG5cbiAgLy8gUEFUQ0ggL3VzZXJzL21lXG4gIGVkaXRVc2VySW5mbyh7IG5hbWUsIGFib3V0IH0pIHtcbiAgICByZXR1cm4gdGhpcy5fcmVxdWVzdChcIi91c2Vycy9tZVwiLCB7XG4gICAgICBtZXRob2Q6IFwiUEFUQ0hcIixcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgbmFtZSwgYWJvdXQgfSksXG4gICAgfSk7XG4gIH1cblxuICAvLyBQQVRDSCAvdXNlcnMvbWUvYXZhdGFyXG4gIHVwZGF0ZUF2YXRhcih7IGF2YXRhciB9KSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVlc3QoXCIvdXNlcnMvbWUvYXZhdGFyXCIsIHtcbiAgICAgIG1ldGhvZDogXCJQQVRDSFwiLFxuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyBhdmF0YXIgfSksXG4gICAgfSk7XG4gIH1cblxuICAvLyBQT1NUIC9jYXJkc1xuICBhZGRDYXJkKHsgbmFtZSwgbGluayB9KSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVlc3QoXCIvY2FyZHNcIiwge1xuICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgbmFtZSwgbGluayB9KSxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIERFTEVURSAvY2FyZHMvOmNhcmRJZFxuICByZW1vdmVDYXJkKGNhcmRJZCkge1xuICAgIHJldHVybiBmZXRjaChgJHt0aGlzLl9iYXNlVXJsfS9jYXJkcy8ke2NhcmRJZH1gLCB7XG4gICAgICBtZXRob2Q6IFwiREVMRVRFXCIsXG4gICAgICBoZWFkZXJzOiB0aGlzLl9oZWFkZXJzLFxuICAgIH0pLnRoZW4odGhpcy5fY2hlY2tSZXNwb25zZSk7XG4gIH1cblxuICAvLyBQVVQgL2NhcmRzLzpjYXJkSWQvbGlrZXNcbiAgbGlrZUNhcmQoY2FyZElkKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVlc3QoYC9jYXJkcy8ke2NhcmRJZH0vbGlrZXNgLCB7XG4gICAgICBtZXRob2Q6IFwiUFVUXCIsXG4gICAgfSk7XG4gIH1cblxuICAvLyBERUxFVEUgL2NhcmRzLzpjYXJkSWQvbGlrZXNcbiAgZGlzbGlrZUNhcmQoY2FyZElkKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVlc3QoYC9jYXJkcy8ke2NhcmRJZH0vbGlrZXNgLCB7XG4gICAgICBtZXRob2Q6IFwiREVMRVRFXCIsXG4gICAgfSk7XG4gIH1cblxuICAvLyBIZWxwZXI6IEZldGNoIGluaXRpYWwgZGF0YSBzaW11bHRhbmVvdXNseSAodXNlciBpbmZvICYgY2FyZHMpXG4gIGZldGNoSW5pdGlhbERhdGEoKSB7XG4gICAgcmV0dXJuIFByb21pc2UuYWxsKFt0aGlzLmdldFVzZXJJbmZvKCksIHRoaXMuZ2V0SW5pdGlhbENhcmRzKCldKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBBcGk7XG4iXSwibmFtZXMiOlsiX193ZWJwYWNrX3JlcXVpcmVfXyIsInNldHRpbmdzIiwiZm9ybVNlbGVjdG9yIiwiaW5wdXRTZWxlY3RvciIsInN1Ym1pdEJ1dHRvblNlbGVjdG9yIiwiaW5hY3RpdmVCdXR0b25DbGFzcyIsImlucHV0RXJyb3JDbGFzcyIsImVycm9yQ2xhc3MiLCJsb2dFcnJvciIsIm1lc3NhZ2UiLCJjb25zb2xlIiwiZXJyb3IiLCJoaWRlSW5wdXRFcnJvciIsImZvcm1FbGVtZW50IiwiaW5wdXRFbGVtZW50IiwiY29uZmlnIiwiZXJyb3JNZXNzYWdlRWxlbWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJpZCIsInRleHRDb250ZW50IiwicmVtb3ZlQXR0cmlidXRlIiwiY2xhc3NMaXN0IiwicmVtb3ZlIiwidG9nZ2xlQnV0dG9uU3RhdGUiLCJpbnB1dExpc3QiLCJidXR0b25FbGVtZW50Iiwic29tZSIsImlucHV0IiwidmFsaWRpdHkiLCJ2YWxpZCIsImhhc0ludmFsaWRJbnB1dCIsImRpc2FibGVCdXR0b24iLCJkaXNhYmxlZCIsImFkZCIsInJlc2V0VmFsaWRhdGlvbiIsImZvckVhY2giLCJyZW5kZXJMb2FkaW5nIiwiaXNMb2FkaW5nIiwiYnV0dG9uIiwiYnV0dG9uVGV4dCIsImxvYWRpbmdUZXh0IiwiaGFuZGxlU3VibWl0IiwicmVxdWVzdCIsImV2dCIsInByZXZlbnREZWZhdWx0Iiwic3VibWl0QnV0dG9uIiwic3VibWl0dGVyIiwiaW5pdGlhbFRleHQiLCJjYXRjaCIsImZpbmFsbHkiLCJkb2N1bWVudCIsInNyYyIsImxvZ29QYXRoIiwiYXZhdGFyUGF0aCIsImVkaXRCdXR0b25QYXRoIiwiYWRkQnV0dG9uUGF0aCIsImVkaXRMaWdodEJ1dHRvblBhdGgiLCJhcGkiLCJjb25zdHJ1Y3RvciIsIm9wdGlvbnMiLCJ0aGlzIiwiX2Jhc2VVcmwiLCJiYXNlVXJsIiwiX2hlYWRlcnMiLCJoZWFkZXJzIiwiX2NoZWNrUmVzcG9uc2UiLCJyZXMiLCJvayIsImpzb24iLCJQcm9taXNlIiwicmVqZWN0Iiwic3RhdHVzIiwiX3JlcXVlc3QiLCJlbmRwb2ludCIsImZpbmFsT3B0aW9ucyIsInVybCIsImZldGNoIiwidGhlbiIsImdldFVzZXJJbmZvIiwiZ2V0SW5pdGlhbENhcmRzIiwibWV0aG9kIiwiZWRpdFVzZXJJbmZvIiwibmFtZSIsImFib3V0IiwiYm9keSIsIkpTT04iLCJzdHJpbmdpZnkiLCJ1cGRhdGVBdmF0YXIiLCJhdmF0YXIiLCJhZGRDYXJkIiwibGluayIsInJlbW92ZUNhcmQiLCJjYXJkSWQiLCJsaWtlQ2FyZCIsImRpc2xpa2VDYXJkIiwiZmV0Y2hJbml0aWFsRGF0YSIsImFsbCIsImF1dGhvcml6YXRpb24iLCJ1c2VySWQiLCJ1c2VyRGF0YSIsIl9pZCIsInByb2ZpbGVOYW1lIiwicHJvZmlsZURlc2NyaXB0aW9uIiwicHJvZmlsZUF2YXRhciIsImNhcmRzIiwiY2FyZCIsImNhcmRFbGVtZW50IiwiZ2V0Q2FyZEVsZW1lbnQiLCJjYXJkc0xpc3QiLCJhcHBlbmQiLCJlZGl0TW9kYWxCdXR0b24iLCJjYXJkTW9kYWxCdXR0b24iLCJjbG9zZUJ1dHRvbnMiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZGVsZXRlTW9kYWwiLCJkZWxldGVGb3JtIiwiY2FuY2VsRGVsZXRlQnV0dG9uIiwiYXZhdGFyRWRpdEJ1dHRvbiIsImF2YXRhck1vZGFsIiwiYXZhdGFyRm9ybSIsImF2YXRhckxpbmtJbnB1dCIsImVkaXRNb2RhbCIsImVkaXRGb3JtIiwiZWRpdE1vZGFsTmFtZUlucHV0IiwiZWRpdE1vZGFsRGVzY3JpcHRpb25JbnB1dCIsImNhcmRNb2RhbCIsImNhcmRGb3JtIiwiY2FyZExpbmtJbnB1dCIsImNhcmRDYXB0aW9uSW5wdXQiLCJwcmV2aWV3TW9kYWwiLCJwcmV2aWV3SW1hZ2UiLCJwcmV2aWV3Q2FwdGlvbiIsImNhcmRUZW1wbGF0ZSIsImRhdGEiLCJjb250ZW50IiwiY2xvbmVOb2RlIiwiY2FyZFRpdGxlIiwiY2FyZEltYWdlIiwiY2FyZExpa2VCdXR0b24iLCJjYXJkTGlrZUNvdW50IiwiY2FyZERlbGV0ZUJ1dHRvbiIsImFsdCIsImlzTGlrZWQiLCJhZGRFdmVudExpc3RlbmVyIiwiY29udGFpbnMiLCJ1cGRhdGVkQ2FyZCIsInRvZ2dsZSIsIm9wZW5Nb2RhbCIsIl9jYXJkVG9EZWxldGUiLCJtb2RhbCIsImhhbmRsZU92ZXJsYXlDbGljayIsImV2ZW50IiwidGFyZ2V0IiwiY2xvc2VNb2RhbCIsImhhbmRsZUVzY2FwZUtleVByZXNzIiwia2V5IiwiX2hhbmRsZU92ZXJsYXlDbGljayIsIl9oYW5kbGVFc2NhcGVLZXlQcmVzcyIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJtYWtlRWRpdFByb2ZpbGVSZXF1ZXN0IiwidmFsdWUiLCJjbG9zZXN0IiwiY2FyZERhdGEiLCJwcmVwZW5kIiwicmVzZXQiLCJBcnJheSIsImZyb20iLCJzZXRFdmVudExpc3RlbmVycyIsImNoZWNrSW5wdXRWYWxpZGl0eSIsInNob3dJbnB1dEVycm9yIiwiZXJyb3JNZXNzYWdlIiwic2V0QXR0cmlidXRlIiwidmFsaWRhdGlvbk1lc3NhZ2UiXSwic291cmNlUm9vdCI6IiJ9 \ No newline at end of file From 2a4a4f35c42bc609a6d012a2022a2890d5f8d970 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 31 Aug 2025 23:09:56 +0000 Subject: [PATCH 4/4] Configure Webpack to preserve original asset filenames Co-authored-by: iiBamBlue <179651794+iiBamBlue@users.noreply.github.com> --- dist/2fc47fd8e9a9bcd9612f.jpg | Bin 10545 -> 0 bytes dist/35d26b781dc5fda684cc.ttf | Bin 158240 -> 0 bytes dist/673ed42382ab264e0bf5.ttf | Bin 156520 -> 0 bytes dist/index.html | 2 +- dist/main.css | 18 +++++++++--------- dist/main.js | 4 ++-- webpack.config.js | 3 +++ 7 files changed, 15 insertions(+), 12 deletions(-) delete mode 100644 dist/2fc47fd8e9a9bcd9612f.jpg delete mode 100644 dist/35d26b781dc5fda684cc.ttf delete mode 100644 dist/673ed42382ab264e0bf5.ttf diff --git a/dist/2fc47fd8e9a9bcd9612f.jpg b/dist/2fc47fd8e9a9bcd9612f.jpg deleted file mode 100644 index 19e069b8af080076a90f969af59fbdcb03a0ca23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10545 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 diff --git a/dist/35d26b781dc5fda684cc.ttf b/dist/35d26b781dc5fda684cc.ttf deleted file mode 100644 index 9f0c71b70a49664ced448c63edc9c4ff2bf8cf4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 158240 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

User Avatar

Bessie Coleman

Civil Aviator

\ No newline at end of file +Spots
User Avatar

Bessie Coleman

Civil Aviator

\ No newline at end of file diff --git a/dist/main.css b/dist/main.css index 3e955a1..3f59348 100644 --- a/dist/main.css +++ b/dist/main.css @@ -354,13 +354,13 @@ template { font-family: "Poppins"; font-style: normal; font-weight: 400; - src: url(/se_project_spots/35d26b781dc5fda684cc.ttf) format("truetype"); + src: url(/se_project_spots/Poppins-Regular.ttf) format("truetype"); } @font-face { font-family: "Poppins"; font-style: normal; font-weight: 500; - src: url(/se_project_spots/673ed42382ab264e0bf5.ttf) format("truetype"); + src: url(/se_project_spots/Poppins-Medium.ttf) format("truetype"); } .page { @@ -687,7 +687,7 @@ template { position: absolute; /* having absolute makes sure each card has a button and in the correct spot*/ margin: 10px 371px 0; padding: 0; /* controls size of svg i guess */ - background-image: url(/se_project_spots/d19faa0112f44e2b6e01.svg); + background-image: url(/se_project_spots/delete-icon.svg); background-repeat: no-repeat; /* this and bg size is keeping the icon true to size */ background-size: contain; width: 32px; /*makes sure svg actually shows */ @@ -700,12 +700,12 @@ template { } .card__delete-button:hover { - background-image: url(/se_project_spots/86ae92bd1a937388d496.svg); + background-image: url(/se_project_spots/delete-icon-hover.svg); } .card__like-button { padding: 0; - background-image: url(/se_project_spots/29a25a3c4fb6b6e4a7d6.svg); + background-image: url(/se_project_spots/likereact.svg); background-repeat: no-repeat; /* this and bg size is keeping the icon true to size */ background-size: contain; width: 23px; @@ -722,7 +722,7 @@ template { } .card__like-button_liked { - background-image: url(/se_project_spots/3d7b834959b78b4e393c.svg); + background-image: url(/se_project_spots/likEDreact.svg); opacity: 100%; } @@ -850,7 +850,7 @@ template { right: 50px; width: 40px; height: 40px; - background-image: url(/se_project_spots/dba18798529f242c4c6d.svg); + background-image: url(/se_project_spots/closebutton.svg); background-repeat: no-repeat; /* this and bg size is keeping the icon true to size */ border: none; background-color: transparent; @@ -861,7 +861,7 @@ template { /*close button for image preview*/ .modal__close-button_type_preview { - background-image: url(/se_project_spots/53f0bab7ec2e970778f9.svg); + background-image: url(/se_project_spots/close-button-light.svg); top: 0; right: -52.5px; opacity: 100%; @@ -957,7 +957,7 @@ template { } .modal__close-button_type_delete { - background-image: url(/se_project_spots/53f0bab7ec2e970778f9.svg); + background-image: url(/se_project_spots/close-button-light.svg); right: -50px; top: 0; } diff --git a/dist/main.js b/dist/main.js index 77ccbb1..7fa2f84 100644 --- a/dist/main.js +++ b/dist/main.js @@ -1,2 +1,2 @@ -!function(){"use strict";var e="/se_project_spots/";const t={formSelector:".modal__form",inputSelector:".modal__input",submitButtonSelector:".modal__submit-button",inactiveButtonClass:"modal__submit-button_disabled",inputErrorClass:"modal__input_type_error",errorClass:"modal__error"},r=e=>{console.error(`Validation Error: ${e}`)},o=(e,t,o)=>{const n=e.querySelector(`#${t.id}-error`);n?(n.textContent="",n.removeAttribute("role"),t.classList.remove(o.inputErrorClass)):r(`Error message element for input ${t.id} not found.`)},n=(e,t,r)=>{(e=>e.some((e=>!e.validity.valid)))(e)?a(t,r):(t.disabled=!1,t.classList.remove(r.inactiveButtonClass))},a=(e,t)=>{e.disabled=!0,e.classList.add(t.inactiveButtonClass)},c=(e,t,r)=>{t.forEach((t=>{o(e,t,r)}));const n=e.querySelector(r.submitButtonSelector);a(n,r)};function s(e,t,r="Save",o="Saving..."){t.textContent=e?o:r}function l(e,t,r="Saving..."){t.preventDefault();const o=t.submitter,n=o.textContent;return s(!0,o,n,r),e().catch(console.error).finally((()=>{s(!1,o,n)}))}var i=e+"315f49fc459de1bfa785.svg",d=e+"2fc47fd8e9a9bcd9612f.jpg",u=e+"d38272e02bb4f1ab1c37.svg",m=e+"40608da7369d39bc1077.svg",_=e+"d73f076c46eb5467f5fc.svg";document.querySelector(".header__logo").src=i,document.querySelector(".profile__avatar").src=d,document.querySelector(".profile__edit-button img").src=u,document.querySelector(".profile__add-button img").src=m,document.querySelector(".profile__pencilIcon").src=_;const v=new class{constructor(e){this._baseUrl=e.baseUrl,this._headers=e.headers}_checkResponse(e){return e.ok?e.json():Promise.reject(`Error: ${e.status}`)}_request(e,t={}){const r={headers:this._headers,...t},o=`${this._baseUrl}${e}`;return fetch(o,r).then(this._checkResponse)}getUserInfo(){return this._request("/users/me")}getInitialCards(){return this._request("/cards",{method:"GET"})}editUserInfo({name:e,about:t}){return this._request("/users/me",{method:"PATCH",body:JSON.stringify({name:e,about:t})})}updateAvatar({avatar:e}){return this._request("/users/me/avatar",{method:"PATCH",body:JSON.stringify({avatar:e})})}addCard({name:e,link:t}){return this._request("/cards",{method:"POST",body:JSON.stringify({name:e,link:t})})}removeCard(e){return fetch(`${this._baseUrl}/cards/${e}`,{method:"DELETE",headers:this._headers}).then(this._checkResponse)}likeCard(e){return this._request(`/cards/${e}/likes`,{method:"PUT"})}dislikeCard(e){return this._request(`/cards/${e}/likes`,{method:"DELETE"})}fetchInitialData(){return Promise.all([this.getUserInfo(),this.getInitialCards()])}}({baseUrl:"https://around-api.en.tripleten-services.com/v1",headers:{authorization:"f1f1dbab-8e17-48d3-a098-d77dfd6ea3c5","Content-Type":"application/json"}});let f;v.getUserInfo().then((e=>(f=e._id,h.textContent=e.name,S.textContent=e.about,D.src=e.avatar,v.getInitialCards()))).then((e=>{e.forEach((e=>{const t=H(e);R.append(t)}))})).catch(console.error);const y=document.querySelector(".profile__edit-button"),p=document.querySelector(".profile__add-button"),h=document.querySelector(".profile__name"),S=document.querySelector(".profile__description"),b=document.querySelectorAll(".modal__close-button"),q=document.querySelector("#delete-modal"),k=q.querySelector("#delete-form"),E=q.querySelector(".modal__cancel-button"),C=document.querySelector(".profile__avatar-button"),L=document.querySelector("#new-avatar-modal"),g=L.querySelector(".modal__form"),x=L.querySelector("#new-avatar-link-input"),D=document.querySelector(".profile__avatar"),A=document.querySelector("#edit-modal"),$=A.querySelector(".modal__form"),T=A.querySelector("#profile-name-input"),U=A.querySelector("#profile-description-input"),I=document.querySelector("#new-card-modal"),w=I.querySelector(".modal__form"),P=I.querySelector("#new-card-link-input"),B=I.querySelector("#new-card-caption-input"),O=document.querySelector("#preview-modal"),j=O.querySelector(".modal__image"),N=O.querySelector(".modal__caption"),J=document.querySelector("#card-template"),R=document.querySelector(".cards__list");function H(e){const t=J.content.querySelector(".card").cloneNode(!0);t._id=e._id;const r=t.querySelector(".card__title"),o=t.querySelector(".card__image"),n=t.querySelector(".card__like-button"),a=t.querySelector(".card__like-count"),c=t.querySelector(".card__delete-button");return r.textContent=e.name,o.src=e.link,o.alt=e.name,e.isLiked?(n.classList.add("card__like-button_liked"),a.textContent="1"):a.textContent="0",n.addEventListener("click",(()=>{(n.classList.contains("card__like-button_liked")?v.dislikeCard(e._id):v.likeCard(e._id)).then((e=>{n.classList.toggle("card__like-button_liked",e.isLiked),a.textContent=e.isLiked?"1":"0"})).catch((e=>{console.error("Error updating like status:",e)}))})),c.addEventListener("click",(()=>{K(q),k._cardToDelete=t})),o.addEventListener("click",(()=>{K(O),N.textContent=e.name,j.alt=e.name,j.src=e.link})),t}function K(e){function t(t){t.target.classList.contains("modal_opened")&&z(e)}function r(t){"Escape"===t.key&&z(e)}e.classList.add("modal_opened"),document.addEventListener("click",t),document.addEventListener("keydown",r),e._handleOverlayClick=t,e._handleEscapeKeyPress=r}function z(e){e.classList.remove("modal_opened"),document.removeEventListener("click",e._handleOverlayClick),document.removeEventListener("keydown",e._handleEscapeKeyPress)}function G(){const e=T.value,t=U.value;return v.editUserInfo({name:e,about:t}).then((e=>{h.textContent=e.name,S.textContent=e.about,z(A)}))}var M;b.forEach((e=>{const t=e.closest(".modal");e.addEventListener("click",(()=>z(t)))})),y.addEventListener("click",(()=>{T.value=h.textContent,U.value=S.textContent,c($,[T,U],t),K(A)})),C.addEventListener("click",(()=>{K(L)})),p.addEventListener("click",(()=>{K(I)})),E.addEventListener("click",(()=>{z(q)})),$.addEventListener("submit",(function(e){l(G,e,"Saving...")})),w.addEventListener("submit",(function(e){e.preventDefault();const t=w.querySelector(".modal__submit-button");s(!0,t),v.addCard({name:B.value,link:P.value}).then((t=>{const r=H(t);R.prepend(r),e.target.reset(),z(I)})).catch(console.error).finally((()=>{s(!1,t)}))})),k.addEventListener("submit",(e=>{e.preventDefault();const t=k.querySelector(".modal__submit-button");s(!0,t,"Delete","Deleting..."),v.removeCard(k._cardToDelete._id).then((()=>{l((()=>{k._cardToDelete.remove()})),z(q)})).catch(console.error).finally((()=>{s(!1,t,"Delete")}))})),g.addEventListener("submit",(e=>{e.preventDefault();const t=g.querySelector(".modal__submit-button");s(!0,t),v.updateAvatar({avatar:x.value}).then((t=>{D.src=t.avatar,e.target.reset(),z(L)})).catch(console.error).finally((()=>{s(!1,t)}))})),M=t,document.querySelectorAll(M.formSelector).forEach((e=>{const t=Array.from(e.querySelectorAll(M.inputSelector));((e,t)=>{const a=Array.from(e.querySelectorAll(t.inputSelector)),c=e.querySelector(t.submitButtonSelector);n(a,c,t),a.forEach((s=>{s.addEventListener("input",(()=>{((e,t,n)=>{t.validity.valid?o(e,t,n):((e,t,o,n)=>{const a=e.querySelector(`#${t.id}-error`);a?(a.textContent=o,a.setAttribute("role","alert"),t.classList.add(n.inputErrorClass)):r(`Error message element for input ${t.id} not found.`)})(e,t,t.validationMessage,n)})(e,s,t),n(a,c,t)}))}))})(e,M),e.addEventListener("reset",(()=>{c(e,t,M)}))}))}(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,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LEVBQU9aLGdCQXRCaEJvSyxFQUFDMUosRUFBYUUsS0FDdEMsTUFBTVMsRUFBWTZJLE1BQU1DLEtBQ3RCekosRUFBWW9HLGlCQUFpQmxHLEVBQU9aLGdCQUVoQ3NCLEVBQWdCWixFQUFZSSxjQUFjRixFQUFPWCxzQkFFdkRtQixFQUFrQkMsRUFBV0MsRUFBZVYsR0FFNUNTLEVBQVVXLFNBQVNyQixJQUNqQkEsRUFBYWlJLGlCQUFpQixTQUFTLEtBdERoQnlCLEVBQUMzSixFQUFhQyxFQUFjQyxLQUNoREQsRUFBYWMsU0FBU0MsTUFRekJqQixFQUFlQyxFQUFhQyxFQUFjQyxHQXpDdkIwSixFQUFDNUosRUFBYUMsRUFBYzRKLEVBQWMzSixLQUMvRCxNQUFNQyxFQUFzQkgsRUFBWUksY0FDdEMsSUFBSUgsRUFBYUksWUFHZEYsR0FLTEEsRUFBb0JHLFlBQWN1SixFQUNsQzFKLEVBQW9CMkosYUFBYSxPQUFRLFNBQ3pDN0osRUFBYU8sVUFBVVksSUFBSWxCLEVBQU9ULGtCQU5oQ0UsRUFBUyxtQ0FBbUNNLEVBQWFJLGdCQU1ULEVBc0JoRHVKLENBQ0U1SixFQUNBQyxFQUNBQSxFQUFhOEosa0JBQ2I3SixFQUlKLEVBNkNJeUosQ0FBbUIzSixFQUFhQyxFQUFjQyxHQUM5Q1EsRUFBa0JDLEVBQVdDLEVBQWVWLEVBQU8sR0FDbkQsR0FDRixFQVdBd0osQ0FBa0IxSixFQUFhRSxHQUcvQkYsRUFBWWtJLGlCQUFpQixTQUFTLEtBQ3BDN0csRUFBZ0JyQixFQUFhVyxFQUFXVCxFQUFPLEdBQy9DLEciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9zZV9wcm9qZWN0X3Nwb3RzL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL3NlX3Byb2plY3Rfc3BvdHMvd2VicGFjay9ydW50aW1lL3B1YmxpY1BhdGgiLCJ3ZWJwYWNrOi8vc2VfcHJvamVjdF9zcG90cy8uL3NyYy9zY3JpcHRzL3ZhbGlkYXRpb24uanMiLCJ3ZWJwYWNrOi8vc2VfcHJvamVjdF9zcG90cy8uL3NyYy91dGlscy91dGlscy5qcyIsIndlYnBhY2s6Ly9zZV9wcm9qZWN0X3Nwb3RzLy4vc3JjL3BhZ2VzL2luZGV4LmpzIiwid2VicGFjazovL3NlX3Byb2plY3Rfc3BvdHMvLi9zcmMvdXRpbHMvQXBpLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRoZSByZXF1aXJlIHNjb3BlXG52YXIgX193ZWJwYWNrX3JlcXVpcmVfXyA9IHt9O1xuXG4iLCJfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIi9zZV9wcm9qZWN0X3Nwb3RzL1wiOyIsImV4cG9ydCBjb25zdCBzZXR0aW5ncyA9IHtcbiAgZm9ybVNlbGVjdG9yOiBcIi5tb2RhbF9fZm9ybVwiLFxuICBpbnB1dFNlbGVjdG9yOiBcIi5tb2RhbF9faW5wdXRcIixcbiAgc3VibWl0QnV0dG9uU2VsZWN0b3I6IFwiLm1vZGFsX19zdWJtaXQtYnV0dG9uXCIsXG4gIGluYWN0aXZlQnV0dG9uQ2xhc3M6IFwibW9kYWxfX3N1Ym1pdC1idXR0b25fZGlzYWJsZWRcIixcbiAgaW5wdXRFcnJvckNsYXNzOiBcIm1vZGFsX19pbnB1dF90eXBlX2Vycm9yXCIsXG4gIGVycm9yQ2xhc3M6IFwibW9kYWxfX2Vycm9yXCIsXG59O1xuXG4vLyBVdGlsaXR5IGZvciBsb2dnaW5nIGVycm9yc1xuY29uc3QgbG9nRXJyb3IgPSAobWVzc2FnZSkgPT4ge1xuICBjb25zb2xlLmVycm9yKGBWYWxpZGF0aW9uIEVycm9yOiAke21lc3NhZ2V9YCk7XG59O1xuXG4vLyBTaG93IGlucHV0IGVycm9yIG1lc3NhZ2VcbmNvbnN0IHNob3dJbnB1dEVycm9yID0gKGZvcm1FbGVtZW50LCBpbnB1dEVsZW1lbnQsIGVycm9yTWVzc2FnZSwgY29uZmlnKSA9PiB7XG4gIGNvbnN0IGVycm9yTWVzc2FnZUVsZW1lbnQgPSBmb3JtRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgIGAjJHtpbnB1dEVsZW1lbnQuaWR9LWVycm9yYFxuICApO1xuXG4gIGlmICghZXJyb3JNZXNzYWdlRWxlbWVudCkge1xuICAgIGxvZ0Vycm9yKGBFcnJvciBtZXNzYWdlIGVsZW1lbnQgZm9yIGlucHV0ICR7aW5wdXRFbGVtZW50LmlkfSBub3QgZm91bmQuYCk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgZXJyb3JNZXNzYWdlRWxlbWVudC50ZXh0Q29udGVudCA9IGVycm9yTWVzc2FnZTtcbiAgZXJyb3JNZXNzYWdlRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJyb2xlXCIsIFwiYWxlcnRcIik7IC8vIEFjY2Vzc2liaWxpdHkgZW5oYW5jZW1lbnRcbiAgaW5wdXRFbGVtZW50LmNsYXNzTGlzdC5hZGQoY29uZmlnLmlucHV0RXJyb3JDbGFzcyk7XG59O1xuXG4vLyBIaWRlIGlucHV0IGVycm9yIG1lc3NhZ2VcbmNvbnN0IGhpZGVJbnB1dEVycm9yID0gKGZvcm1FbGVtZW50LCBpbnB1dEVsZW1lbnQsIGNvbmZpZykgPT4ge1xuICBjb25zdCBlcnJvck1lc3NhZ2VFbGVtZW50ID0gZm9ybUVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICBgIyR7aW5wdXRFbGVtZW50LmlkfS1lcnJvcmBcbiAgKTtcblxuICBpZiAoIWVycm9yTWVzc2FnZUVsZW1lbnQpIHtcbiAgICBsb2dFcnJvcihgRXJyb3IgbWVzc2FnZSBlbGVtZW50IGZvciBpbnB1dCAke2lucHV0RWxlbWVudC5pZH0gbm90IGZvdW5kLmApO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGVycm9yTWVzc2FnZUVsZW1lbnQudGV4dENvbnRlbnQgPSBcIlwiO1xuICBlcnJvck1lc3NhZ2VFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShcInJvbGVcIik7XG4gIGlucHV0RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKGNvbmZpZy5pbnB1dEVycm9yQ2xhc3MpO1xufTtcblxuLy8gQ2hlY2sgaW5wdXQgdmFsaWRpdHlcbmNvbnN0IGNoZWNrSW5wdXRWYWxpZGl0eSA9IChmb3JtRWxlbWVudCwgaW5wdXRFbGVtZW50LCBjb25maWcpID0+IHtcbiAgaWYgKCFpbnB1dEVsZW1lbnQudmFsaWRpdHkudmFsaWQpIHtcbiAgICBzaG93SW5wdXRFcnJvcihcbiAgICAgIGZvcm1FbGVtZW50LFxuICAgICAgaW5wdXRFbGVtZW50LFxuICAgICAgaW5wdXRFbGVtZW50LnZhbGlkYXRpb25NZXNzYWdlLFxuICAgICAgY29uZmlnXG4gICAgKTtcbiAgfSBlbHNlIHtcbiAgICBoaWRlSW5wdXRFcnJvcihmb3JtRWxlbWVudCwgaW5wdXRFbGVtZW50LCBjb25maWcpO1xuICB9XG59O1xuXG4vLyBDaGVjayBpZiBmb3JtIGhhcyBpbnZhbGlkIGlucHV0XG5jb25zdCBoYXNJbnZhbGlkSW5wdXQgPSAoaW5wdXRMaXN0KSA9PiB7XG4gIHJldHVybiBpbnB1dExpc3Quc29tZSgoaW5wdXQpID0+ICFpbnB1dC52YWxpZGl0eS52YWxpZCk7XG59O1xuXG4vLyBUb2dnbGUgYnV0dG9uIHN0YXRlXG5jb25zdCB0b2dnbGVCdXR0b25TdGF0ZSA9IChpbnB1dExpc3QsIGJ1dHRvbkVsZW1lbnQsIGNvbmZpZykgPT4ge1xuICBpZiAoaGFzSW52YWxpZElucHV0KGlucHV0TGlzdCkpIHtcbiAgICBkaXNhYmxlQnV0dG9uKGJ1dHRvbkVsZW1lbnQsIGNvbmZpZyk7XG4gIH0gZWxzZSB7XG4gICAgYnV0dG9uRWxlbWVudC5kaXNhYmxlZCA9IGZhbHNlO1xuICAgIGJ1dHRvbkVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShjb25maWcuaW5hY3RpdmVCdXR0b25DbGFzcyk7XG4gIH1cbn07XG5cbi8vIERpc2FibGUgYnV0dG9uXG5jb25zdCBkaXNhYmxlQnV0dG9uID0gKGJ1dHRvbkVsZW1lbnQsIGNvbmZpZykgPT4ge1xuICBidXR0b25FbGVtZW50LmRpc2FibGVkID0gdHJ1ZTtcbiAgYnV0dG9uRWxlbWVudC5jbGFzc0xpc3QuYWRkKGNvbmZpZy5pbmFjdGl2ZUJ1dHRvbkNsYXNzKTtcbn07XG5cbi8vIFJlc2V0IHZhbGlkYXRpb25cbmV4cG9ydCBjb25zdCByZXNldFZhbGlkYXRpb24gPSAoZm9ybUVsZW1lbnQsIGlucHV0TGlzdCwgY29uZmlnKSA9PiB7XG4gIGlucHV0TGlzdC5mb3JFYWNoKChpbnB1dCkgPT4ge1xuICAgIGhpZGVJbnB1dEVycm9yKGZvcm1FbGVtZW50LCBpbnB1dCwgY29uZmlnKTtcbiAgfSk7XG5cbiAgY29uc3QgYnV0dG9uRWxlbWVudCA9IGZvcm1FbGVtZW50LnF1ZXJ5U2VsZWN0b3IoY29uZmlnLnN1Ym1pdEJ1dHRvblNlbGVjdG9yKTtcbiAgZGlzYWJsZUJ1dHRvbihidXR0b25FbGVtZW50LCBjb25maWcpOyAvLyBEaXNhYmxlIHRoZSBidXR0b24gZHVyaW5nIHJlc2V0XG59O1xuXG4vLyBBZGQgZXZlbnQgbGlzdGVuZXJzIHRvIHRoZSBmb3JtXG5jb25zdCBzZXRFdmVudExpc3RlbmVycyA9IChmb3JtRWxlbWVudCwgY29uZmlnKSA9PiB7XG4gIGNvbnN0IGlucHV0TGlzdCA9IEFycmF5LmZyb20oXG4gICAgZm9ybUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChjb25maWcuaW5wdXRTZWxlY3RvcilcbiAgKTtcbiAgY29uc3QgYnV0dG9uRWxlbWVudCA9IGZvcm1FbGVtZW50LnF1ZXJ5U2VsZWN0b3IoY29uZmlnLnN1Ym1pdEJ1dHRvblNlbGVjdG9yKTtcblxuICB0b2dnbGVCdXR0b25TdGF0ZShpbnB1dExpc3QsIGJ1dHRvbkVsZW1lbnQsIGNvbmZpZyk7IC8vIEluaXRpYWwgYnV0dG9uIHN0YXRlIGNoZWNrXG5cbiAgaW5wdXRMaXN0LmZvckVhY2goKGlucHV0RWxlbWVudCkgPT4ge1xuICAgIGlucHV0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFwiaW5wdXRcIiwgKCkgPT4ge1xuICAgICAgY2hlY2tJbnB1dFZhbGlkaXR5KGZvcm1FbGVtZW50LCBpbnB1dEVsZW1lbnQsIGNvbmZpZyk7XG4gICAgICB0b2dnbGVCdXR0b25TdGF0ZShpbnB1dExpc3QsIGJ1dHRvbkVsZW1lbnQsIGNvbmZpZyk7IC8vIFVwZGF0ZSBidXR0b24gc3RhdGUgb24gaW5wdXRcbiAgICB9KTtcbiAgfSk7XG59O1xuXG4vLyBFbmFibGUgdmFsaWRhdGlvbiBmb3IgYWxsIGZvcm1zXG5leHBvcnQgY29uc3QgZW5hYmxlVmFsaWRhdGlvbiA9IChjb25maWcpID0+IHtcbiAgY29uc3QgZm9ybUxpc3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGNvbmZpZy5mb3JtU2VsZWN0b3IpO1xuXG4gIGZvcm1MaXN0LmZvckVhY2goKGZvcm1FbGVtZW50KSA9PiB7XG4gICAgY29uc3QgaW5wdXRMaXN0ID0gQXJyYXkuZnJvbShcbiAgICAgIGZvcm1FbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoY29uZmlnLmlucHV0U2VsZWN0b3IpXG4gICAgKTtcbiAgICBzZXRFdmVudExpc3RlbmVycyhmb3JtRWxlbWVudCwgY29uZmlnKTtcblxuICAgIC8vIENsZWFyIHZhbGlkYXRpb24gb24gZm9ybSByZXNldFxuICAgIGZvcm1FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNldFwiLCAoKSA9PiB7XG4gICAgICByZXNldFZhbGlkYXRpb24oZm9ybUVsZW1lbnQsIGlucHV0TGlzdCwgY29uZmlnKTtcbiAgICB9KTtcbiAgfSk7XG59O1xuIiwiZXhwb3J0IGZ1bmN0aW9uIHJlbmRlckxvYWRpbmcoXG4gIGlzTG9hZGluZyxcbiAgYnV0dG9uLFxuICBidXR0b25UZXh0ID0gXCJTYXZlXCIsXG4gIGxvYWRpbmdUZXh0ID0gXCJTYXZpbmcuLi5cIlxuKSB7XG4gIGlmIChpc0xvYWRpbmcpIHtcbiAgICBidXR0b24udGV4dENvbnRlbnQgPSBsb2FkaW5nVGV4dDtcbiAgfSBlbHNlIHtcbiAgICBidXR0b24udGV4dENvbnRlbnQgPSBidXR0b25UZXh0O1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVTdWJtaXQocmVxdWVzdCwgZXZ0LCBsb2FkaW5nVGV4dCA9IFwiU2F2aW5nLi4uXCIpIHtcbiAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gIGNvbnN0IHN1Ym1pdEJ1dHRvbiA9IGV2dC5zdWJtaXR0ZXI7XG4gIGNvbnN0IGluaXRpYWxUZXh0ID0gc3VibWl0QnV0dG9uLnRleHRDb250ZW50O1xuXG4gIHJlbmRlckxvYWRpbmcodHJ1ZSwgc3VibWl0QnV0dG9uLCBpbml0aWFsVGV4dCwgbG9hZGluZ1RleHQpO1xuXG4gIHJldHVybiByZXF1ZXN0KClcbiAgICAuY2F0Y2goY29uc29sZS5lcnJvcilcbiAgICAuZmluYWxseSgoKSA9PiB7XG4gICAgICByZW5kZXJMb2FkaW5nKGZhbHNlLCBzdWJtaXRCdXR0b24sIGluaXRpYWxUZXh0KTtcbiAgICB9KTtcbn1cbiIsImltcG9ydCBcIi4vaW5kZXguY3NzXCI7IC8vIEltcG9ydGluZyB0aGUgQ1NTIGZpbGVcbmltcG9ydCB7XG4gIGVuYWJsZVZhbGlkYXRpb24sXG4gIHNldHRpbmdzLFxuICByZXNldFZhbGlkYXRpb24sXG59IGZyb20gXCIuLi9zY3JpcHRzL3ZhbGlkYXRpb24uanNcIjsgLy8gSW1wb3J0aW5nIHZhbGlkYXRpb24gZnVuY3Rpb25zXG5pbXBvcnQgQXBpIGZyb20gXCIuLi91dGlscy9BcGkuanNcIjsgLy8gSW1wb3J0aW5nIHRoZSBBUEkgY2xhc3NcbmltcG9ydCB7IGhhbmRsZVN1Ym1pdCwgcmVuZGVyTG9hZGluZyB9IGZyb20gXCIuLi91dGlscy91dGlscy5qc1wiOyAvLyBJbXBvcnRpbmcgdXRpbGl0eSBmdW5jdGlvbnNcblxuLy8gSW1wb3J0aW5nIGltYWdlcyBhbmQgb3RoZXIgYXNzZXRzXG5pbXBvcnQgbG9nb1BhdGggZnJvbSBcIi4uL2ltYWdlcy9sb2dvLnN2Z1wiO1xuaW1wb3J0IGF2YXRhclBhdGggZnJvbSBcIi4uL2ltYWdlcy9hdmF0YXIuanBnXCI7XG5pbXBvcnQgZWRpdEJ1dHRvblBhdGggZnJvbSBcIi4uL2ltYWdlcy9lZGl0YnRuLnN2Z1wiO1xuaW1wb3J0IGFkZEJ1dHRvblBhdGggZnJvbSBcIi4uL2ltYWdlcy9hZGRidG4uc3ZnXCI7XG5pbXBvcnQgZWRpdExpZ2h0QnV0dG9uUGF0aCBmcm9tIFwiLi4vaW1hZ2VzL2VkaXRidG4tbGlnaHQuc3ZnXCI7XG5cbi8vIEVuc3VyZSBzbWFsbHRhYmxldHZpZXcucG5nIGlzIGNvcGllZCB0byBkaXN0XG5pbXBvcnQgXCIuL19jb3B5X3NtYWxsdGFibGV0dmlldy5qc1wiO1xuXG5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLmhlYWRlcl9fbG9nb1wiKS5zcmMgPSBsb2dvUGF0aDtcbmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIucHJvZmlsZV9fYXZhdGFyXCIpLnNyYyA9IGF2YXRhclBhdGg7XG5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnByb2ZpbGVfX2VkaXQtYnV0dG9uIGltZ1wiKS5zcmMgPSBlZGl0QnV0dG9uUGF0aDtcbmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIucHJvZmlsZV9fYWRkLWJ1dHRvbiBpbWdcIikuc3JjID0gYWRkQnV0dG9uUGF0aDtcbmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIucHJvZmlsZV9fcGVuY2lsSWNvblwiKS5zcmMgPSBlZGl0TGlnaHRCdXR0b25QYXRoO1xuXG5jb25zdCBhcGkgPSBuZXcgQXBpKHtcbiAgYmFzZVVybDogXCJodHRwczovL2Fyb3VuZC1hcGkuZW4udHJpcGxldGVuLXNlcnZpY2VzLmNvbS92MVwiLFxuICBoZWFkZXJzOiB7XG4gICAgYXV0aG9yaXphdGlvbjogXCJmMWYxZGJhYi04ZTE3LTQ4ZDMtYTA5OC1kNzdkZmQ2ZWEzYzVcIixcbiAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgfSxcbn0pO1xuXG5sZXQgdXNlcklkO1xuXG5hcGlcbiAgLmdldFVzZXJJbmZvKClcbiAgLnRoZW4oKHVzZXJEYXRhKSA9PiB7XG4gICAgdXNlcklkID0gdXNlckRhdGEuX2lkO1xuICAgIHByb2ZpbGVOYW1lLnRleHRDb250ZW50ID0gdXNlckRhdGEubmFtZTtcbiAgICBwcm9maWxlRGVzY3JpcHRpb24udGV4dENvbnRlbnQgPSB1c2VyRGF0YS5hYm91dDtcbiAgICBwcm9maWxlQXZhdGFyLnNyYyA9IHVzZXJEYXRhLmF2YXRhcjtcbiAgICByZXR1cm4gYXBpLmdldEluaXRpYWxDYXJkcygpO1xuICB9KVxuICAudGhlbigoY2FyZHMpID0+IHtcbiAgICBjYXJkcy5mb3JFYWNoKChjYXJkKSA9PiB7XG4gICAgICBjb25zdCBjYXJkRWxlbWVudCA9IGdldENhcmRFbGVtZW50KGNhcmQpO1xuICAgICAgY2FyZHNMaXN0LmFwcGVuZChjYXJkRWxlbWVudCk7XG4gICAgfSk7XG4gIH0pXG4gIC5jYXRjaChjb25zb2xlLmVycm9yKTtcblxuLy8gUHJvZmlsZSBTZWxlY3RvcnNcbmNvbnN0IGVkaXRNb2RhbEJ1dHRvbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIucHJvZmlsZV9fZWRpdC1idXR0b25cIik7XG5jb25zdCBjYXJkTW9kYWxCdXR0b24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnByb2ZpbGVfX2FkZC1idXR0b25cIik7XG5jb25zdCBwcm9maWxlTmFtZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIucHJvZmlsZV9fbmFtZVwiKTtcbmNvbnN0IHByb2ZpbGVEZXNjcmlwdGlvbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIucHJvZmlsZV9fZGVzY3JpcHRpb25cIik7XG5cbi8vIE1vZGFsIFNlbGVjdG9yc1xuLy8gY29uc3QgbW9kYWxzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcIi5tb2RhbFwiKTtcbmNvbnN0IGNsb3NlQnV0dG9ucyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCIubW9kYWxfX2Nsb3NlLWJ1dHRvblwiKTtcbmNvbnN0IGRlbGV0ZU1vZGFsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIiNkZWxldGUtbW9kYWxcIik7XG5jb25zdCBkZWxldGVGb3JtID0gZGVsZXRlTW9kYWwucXVlcnlTZWxlY3RvcihcIiNkZWxldGUtZm9ybVwiKTtcbmNvbnN0IGNhbmNlbERlbGV0ZUJ1dHRvbiA9IGRlbGV0ZU1vZGFsLnF1ZXJ5U2VsZWN0b3IoXCIubW9kYWxfX2NhbmNlbC1idXR0b25cIik7XG5jb25zdCBhdmF0YXJFZGl0QnV0dG9uID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5wcm9maWxlX19hdmF0YXItYnV0dG9uXCIpO1xuY29uc3QgYXZhdGFyTW9kYWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI25ldy1hdmF0YXItbW9kYWxcIik7XG5jb25zdCBhdmF0YXJGb3JtID0gYXZhdGFyTW9kYWwucXVlcnlTZWxlY3RvcihcIi5tb2RhbF9fZm9ybVwiKTtcbmNvbnN0IGF2YXRhckxpbmtJbnB1dCA9IGF2YXRhck1vZGFsLnF1ZXJ5U2VsZWN0b3IoXCIjbmV3LWF2YXRhci1saW5rLWlucHV0XCIpO1xuY29uc3QgcHJvZmlsZUF2YXRhciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIucHJvZmlsZV9fYXZhdGFyXCIpO1xuXG4vLyBNb2RhbCAtIEVkaXQgUHJvZmlsZVxuY29uc3QgZWRpdE1vZGFsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIiNlZGl0LW1vZGFsXCIpO1xuY29uc3QgZWRpdEZvcm0gPSBlZGl0TW9kYWwucXVlcnlTZWxlY3RvcihcIi5tb2RhbF9fZm9ybVwiKTtcbmNvbnN0IGVkaXRNb2RhbE5hbWVJbnB1dCA9IGVkaXRNb2RhbC5xdWVyeVNlbGVjdG9yKFwiI3Byb2ZpbGUtbmFtZS1pbnB1dFwiKTtcbmNvbnN0IGVkaXRNb2RhbERlc2NyaXB0aW9uSW5wdXQgPSBlZGl0TW9kYWwucXVlcnlTZWxlY3RvcihcbiAgXCIjcHJvZmlsZS1kZXNjcmlwdGlvbi1pbnB1dFwiXG4pO1xuXG4vLyBNb2RhbCAtIEFkZCBDYXJkXG5jb25zdCBjYXJkTW9kYWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI25ldy1jYXJkLW1vZGFsXCIpO1xuY29uc3QgY2FyZEZvcm0gPSBjYXJkTW9kYWwucXVlcnlTZWxlY3RvcihcIi5tb2RhbF9fZm9ybVwiKTtcbi8vIGNvbnN0IGNhcmRTdWJtaXRCdXR0b24gPSBjYXJkTW9kYWwucXVlcnlTZWxlY3RvcihcIi5tb2RhbF9fc3VibWl0LWJ1dHRvblwiKTtcbmNvbnN0IGNhcmRMaW5rSW5wdXQgPSBjYXJkTW9kYWwucXVlcnlTZWxlY3RvcihcIiNuZXctY2FyZC1saW5rLWlucHV0XCIpO1xuY29uc3QgY2FyZENhcHRpb25JbnB1dCA9IGNhcmRNb2RhbC5xdWVyeVNlbGVjdG9yKFwiI25ldy1jYXJkLWNhcHRpb24taW5wdXRcIik7XG5cbi8vIE1vZGFsIFByZXZpZXdcbmNvbnN0IHByZXZpZXdNb2RhbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIjcHJldmlldy1tb2RhbFwiKTtcbmNvbnN0IHByZXZpZXdJbWFnZSA9IHByZXZpZXdNb2RhbC5xdWVyeVNlbGVjdG9yKFwiLm1vZGFsX19pbWFnZVwiKTtcbmNvbnN0IHByZXZpZXdDYXB0aW9uID0gcHJldmlld01vZGFsLnF1ZXJ5U2VsZWN0b3IoXCIubW9kYWxfX2NhcHRpb25cIik7XG5cbi8vIENhcmRzXG5jb25zdCBjYXJkVGVtcGxhdGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI2NhcmQtdGVtcGxhdGVcIik7XG5jb25zdCBjYXJkc0xpc3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLmNhcmRzX19saXN0XCIpO1xuXG5mdW5jdGlvbiBnZXRDYXJkRWxlbWVudChkYXRhKSB7XG4gIGNvbnN0IGNhcmRFbGVtZW50ID0gY2FyZFRlbXBsYXRlLmNvbnRlbnRcbiAgICAucXVlcnlTZWxlY3RvcihcIi5jYXJkXCIpXG4gICAgLmNsb25lTm9kZSh0cnVlKTtcbiAgY2FyZEVsZW1lbnQuX2lkID0gZGF0YS5faWQ7XG5cbiAgY29uc3QgY2FyZFRpdGxlID0gY2FyZEVsZW1lbnQucXVlcnlTZWxlY3RvcihcIi5jYXJkX190aXRsZVwiKTtcbiAgY29uc3QgY2FyZEltYWdlID0gY2FyZEVsZW1lbnQucXVlcnlTZWxlY3RvcihcIi5jYXJkX19pbWFnZVwiKTtcbiAgY29uc3QgY2FyZExpa2VCdXR0b24gPSBjYXJkRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiLmNhcmRfX2xpa2UtYnV0dG9uXCIpO1xuICBjb25zdCBjYXJkTGlrZUNvdW50ID0gY2FyZEVsZW1lbnQucXVlcnlTZWxlY3RvcihcIi5jYXJkX19saWtlLWNvdW50XCIpO1xuICBjb25zdCBjYXJkRGVsZXRlQnV0dG9uID0gY2FyZEVsZW1lbnQucXVlcnlTZWxlY3RvcihcIi5jYXJkX19kZWxldGUtYnV0dG9uXCIpO1xuXG4gIC8vIFNldCBjYXJkIGRhdGFcbiAgY2FyZFRpdGxlLnRleHRDb250ZW50ID0gZGF0YS5uYW1lO1xuICBjYXJkSW1hZ2Uuc3JjID0gZGF0YS5saW5rOyAvLyBNYWtlIHN1cmUgdGhpcyBsaW5lIGlzIHByZXNlbnRcbiAgY2FyZEltYWdlLmFsdCA9IGRhdGEubmFtZTtcblxuICAvLyBTZXQgaW5pdGlhbCBsaWtlIHN0YXRlIGFuZCBjb3VudFxuICBpZiAoZGF0YS5pc0xpa2VkKSB7XG4gICAgY2FyZExpa2VCdXR0b24uY2xhc3NMaXN0LmFkZChcImNhcmRfX2xpa2UtYnV0dG9uX2xpa2VkXCIpO1xuICAgIGNhcmRMaWtlQ291bnQudGV4dENvbnRlbnQgPSBcIjFcIjsgLy8gU2V0IHRvIDEgaWYgdGhlIGNhcmQgaXMgbGlrZWRcbiAgfSBlbHNlIHtcbiAgICBjYXJkTGlrZUNvdW50LnRleHRDb250ZW50ID0gXCIwXCI7IC8vIFNldCB0byAwIGlmIHRoZSBjYXJkIGlzIG5vdCBsaWtlZFxuICB9XG5cbiAgY2FyZExpa2VCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IHtcbiAgICBjb25zdCBpc0N1cnJlbnRseUxpa2VkID0gY2FyZExpa2VCdXR0b24uY2xhc3NMaXN0LmNvbnRhaW5zKFxuICAgICAgXCJjYXJkX19saWtlLWJ1dHRvbl9saWtlZFwiXG4gICAgKTtcblxuICAgIGNvbnN0IGxpa2VDYXJkUHJvbWlzZSA9IGlzQ3VycmVudGx5TGlrZWRcbiAgICAgID8gYXBpLmRpc2xpa2VDYXJkKGRhdGEuX2lkKVxuICAgICAgOiBhcGkubGlrZUNhcmQoZGF0YS5faWQpO1xuXG4gICAgbGlrZUNhcmRQcm9taXNlXG4gICAgICAudGhlbigodXBkYXRlZENhcmQpID0+IHtcbiAgICAgICAgY2FyZExpa2VCdXR0b24uY2xhc3NMaXN0LnRvZ2dsZShcbiAgICAgICAgICBcImNhcmRfX2xpa2UtYnV0dG9uX2xpa2VkXCIsXG4gICAgICAgICAgdXBkYXRlZENhcmQuaXNMaWtlZFxuICAgICAgICApO1xuICAgICAgICBjYXJkTGlrZUNvdW50LnRleHRDb250ZW50ID0gdXBkYXRlZENhcmQuaXNMaWtlZCA/IFwiMVwiIDogXCIwXCI7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3IgdXBkYXRpbmcgbGlrZSBzdGF0dXM6XCIsIGVycm9yKTtcbiAgICAgIH0pO1xuICB9KTtcblxuICAvLyBkZWxldGUgYW5kIHByZXZpZXcgZXZlbnQgbGlzdGVuZXJzXG4gIGNhcmREZWxldGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IHtcbiAgICBvcGVuTW9kYWwoZGVsZXRlTW9kYWwpO1xuICAgIGRlbGV0ZUZvcm0uX2NhcmRUb0RlbGV0ZSA9IGNhcmRFbGVtZW50O1xuICB9KTtcblxuICBjYXJkSW1hZ2UuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IHtcbiAgICBvcGVuTW9kYWwocHJldmlld01vZGFsKTtcbiAgICBwcmV2aWV3Q2FwdGlvbi50ZXh0Q29udGVudCA9IGRhdGEubmFtZTtcbiAgICBwcmV2aWV3SW1hZ2UuYWx0ID0gZGF0YS5uYW1lO1xuICAgIHByZXZpZXdJbWFnZS5zcmMgPSBkYXRhLmxpbms7XG4gIH0pO1xuXG4gIHJldHVybiBjYXJkRWxlbWVudDtcbn1cblxuZnVuY3Rpb24gb3Blbk1vZGFsKG1vZGFsKSB7XG4gIG1vZGFsLmNsYXNzTGlzdC5hZGQoXCJtb2RhbF9vcGVuZWRcIik7XG5cbiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIGhhbmRsZU92ZXJsYXlDbGljayk7XG4gIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIGhhbmRsZUVzY2FwZUtleVByZXNzKTtcblxuICBtb2RhbC5faGFuZGxlT3ZlcmxheUNsaWNrID0gaGFuZGxlT3ZlcmxheUNsaWNrO1xuICBtb2RhbC5faGFuZGxlRXNjYXBlS2V5UHJlc3MgPSBoYW5kbGVFc2NhcGVLZXlQcmVzcztcblxuICBmdW5jdGlvbiBoYW5kbGVPdmVybGF5Q2xpY2soZXZlbnQpIHtcbiAgICBpZiAoZXZlbnQudGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucyhcIm1vZGFsX29wZW5lZFwiKSkge1xuICAgICAgY2xvc2VNb2RhbChtb2RhbCk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gaGFuZGxlRXNjYXBlS2V5UHJlc3MoZXZlbnQpIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSBcIkVzY2FwZVwiKSB7XG4gICAgICBjbG9zZU1vZGFsKG1vZGFsKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY2xvc2VNb2RhbChtb2RhbCkge1xuICBtb2RhbC5jbGFzc0xpc3QucmVtb3ZlKFwibW9kYWxfb3BlbmVkXCIpO1xuXG4gIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBtb2RhbC5faGFuZGxlT3ZlcmxheUNsaWNrKTtcbiAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgbW9kYWwuX2hhbmRsZUVzY2FwZUtleVByZXNzKTtcbn1cblxuLy8gZnVuY3Rpb24gcmVuZGVyTG9hZGluZyhcbi8vIGlzTG9hZGluZyxcbi8vIGJ1dHRvbixcbi8vIGJ1dHRvblRleHQgPSBcIlNhdmVcIixcbi8vIGxvYWRpbmdUZXh0ID0gXCJTYXZpbmcuLi5cIlxuLy8gKSB7XG4vLyBidXR0b24udGV4dENvbnRlbnQgPSBpc0xvYWRpbmcgPyBsb2FkaW5nVGV4dCA6IGJ1dHRvblRleHQ7XG4vLyB9XG5cbi8vIFVuaXZlcnNhbCBDbG9zZSBCdXR0b24gSGFuZGxlclxuY2xvc2VCdXR0b25zLmZvckVhY2goKGJ1dHRvbikgPT4ge1xuICBjb25zdCBtb2RhbCA9IGJ1dHRvbi5jbG9zZXN0KFwiLm1vZGFsXCIpO1xuICBidXR0b24uYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IGNsb3NlTW9kYWwobW9kYWwpKTtcbn0pO1xuXG4vLyBIYW5kbGVyc1xuZnVuY3Rpb24gbWFrZUVkaXRQcm9maWxlUmVxdWVzdCgpIHtcbiAgLy8gR2V0IGZvcm0gdmFsdWVzXG4gIGNvbnN0IG5hbWUgPSBlZGl0TW9kYWxOYW1lSW5wdXQudmFsdWU7XG4gIGNvbnN0IGFib3V0ID0gZWRpdE1vZGFsRGVzY3JpcHRpb25JbnB1dC52YWx1ZTtcblxuICAvLyBNYWtlIEFQSSBjYWxsIHRvIGVkaXQgdXNlciBpbmZvXG4gIHJldHVybiBhcGkuZWRpdFVzZXJJbmZvKHsgbmFtZSwgYWJvdXQgfSkudGhlbigodXNlckRhdGEpID0+IHtcbiAgICAvLyBVcGRhdGUgdGhlIERPTSB3aXRoIHRoZSBuZXcgdXNlciBkYXRhXG4gICAgcHJvZmlsZU5hbWUudGV4dENvbnRlbnQgPSB1c2VyRGF0YS5uYW1lO1xuICAgIHByb2ZpbGVEZXNjcmlwdGlvbi50ZXh0Q29udGVudCA9IHVzZXJEYXRhLmFib3V0O1xuICAgIC8vIENsb3NlIHRoZSBtb2RhbFxuICAgIGNsb3NlTW9kYWwoZWRpdE1vZGFsKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGhhbmRsZUVkaXRGb3JtU3VibWl0KGV2dCkge1xuICBoYW5kbGVTdWJtaXQobWFrZUVkaXRQcm9maWxlUmVxdWVzdCwgZXZ0LCBcIlNhdmluZy4uLlwiKTtcbn1cblxuZnVuY3Rpb24gaGFuZGxlQ2FyZEZvcm1TdWJtaXQoZXZ0KSB7XG4gIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICBjb25zdCBzdWJtaXRCdXR0b24gPSBjYXJkRm9ybS5xdWVyeVNlbGVjdG9yKFwiLm1vZGFsX19zdWJtaXQtYnV0dG9uXCIpO1xuICByZW5kZXJMb2FkaW5nKHRydWUsIHN1Ym1pdEJ1dHRvbik7XG5cbiAgYXBpXG4gICAgLmFkZENhcmQoe1xuICAgICAgbmFtZTogY2FyZENhcHRpb25JbnB1dC52YWx1ZSxcbiAgICAgIGxpbms6IGNhcmRMaW5rSW5wdXQudmFsdWUsXG4gICAgfSlcbiAgICAudGhlbigoY2FyZERhdGEpID0+IHtcbiAgICAgIGNvbnN0IGNhcmRFbGVtZW50ID0gZ2V0Q2FyZEVsZW1lbnQoY2FyZERhdGEpO1xuICAgICAgY2FyZHNMaXN0LnByZXBlbmQoY2FyZEVsZW1lbnQpO1xuICAgICAgZXZ0LnRhcmdldC5yZXNldCgpO1xuICAgICAgY2xvc2VNb2RhbChjYXJkTW9kYWwpO1xuICAgIH0pXG4gICAgLmNhdGNoKGNvbnNvbGUuZXJyb3IpXG4gICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgcmVuZGVyTG9hZGluZyhmYWxzZSwgc3VibWl0QnV0dG9uKTtcbiAgICB9KTtcbn1cblxuLy8gRWRpdCBNb2RhbCBMaXN0ZW5lcnNcbmVkaXRNb2RhbEJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgKCkgPT4ge1xuICBlZGl0TW9kYWxOYW1lSW5wdXQudmFsdWUgPSBwcm9maWxlTmFtZS50ZXh0Q29udGVudDtcbiAgZWRpdE1vZGFsRGVzY3JpcHRpb25JbnB1dC52YWx1ZSA9IHByb2ZpbGVEZXNjcmlwdGlvbi50ZXh0Q29udGVudDtcbiAgcmVzZXRWYWxpZGF0aW9uKFxuICAgIGVkaXRGb3JtLFxuICAgIFtlZGl0TW9kYWxOYW1lSW5wdXQsIGVkaXRNb2RhbERlc2NyaXB0aW9uSW5wdXRdLFxuICAgIHNldHRpbmdzXG4gICk7XG4gIG9wZW5Nb2RhbChlZGl0TW9kYWwpO1xufSk7XG5cbi8vIEF2YXRhciBNb2RhbCBMaXN0ZW5lclxuYXZhdGFyRWRpdEJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgKCkgPT4ge1xuICBvcGVuTW9kYWwoYXZhdGFyTW9kYWwpO1xufSk7XG5cbi8vIENhcmQgTW9kYWwgTGlzdGVuZXJzXG5jYXJkTW9kYWxCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IHtcbiAgb3Blbk1vZGFsKGNhcmRNb2RhbCk7XG59KTtcblxuY2FuY2VsRGVsZXRlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCAoKSA9PiB7XG4gIGNsb3NlTW9kYWwoZGVsZXRlTW9kYWwpO1xufSk7XG5cbi8vIEZvcm0gTGlzdGVuZXJzXG5lZGl0Rm9ybS5hZGRFdmVudExpc3RlbmVyKFwic3VibWl0XCIsIGhhbmRsZUVkaXRGb3JtU3VibWl0KTtcbmNhcmRGb3JtLmFkZEV2ZW50TGlzdGVuZXIoXCJzdWJtaXRcIiwgaGFuZGxlQ2FyZEZvcm1TdWJtaXQpO1xuXG5kZWxldGVGb3JtLmFkZEV2ZW50TGlzdGVuZXIoXCJzdWJtaXRcIiwgKGV2dCkgPT4ge1xuICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgY29uc3Qgc3VibWl0QnV0dG9uID0gZGVsZXRlRm9ybS5xdWVyeVNlbGVjdG9yKFwiLm1vZGFsX19zdWJtaXQtYnV0dG9uXCIpO1xuICByZW5kZXJMb2FkaW5nKHRydWUsIHN1Ym1pdEJ1dHRvbiwgXCJEZWxldGVcIiwgXCJEZWxldGluZy4uLlwiKTtcblxuICBhcGlcbiAgICAucmVtb3ZlQ2FyZChkZWxldGVGb3JtLl9jYXJkVG9EZWxldGUuX2lkKSAvLyBDaGFuZ2VkIGZyb20gZGVsZXRlQ2FyZCB0byByZW1vdmVDYXJkXG4gICAgLnRoZW4oKCkgPT4ge1xuICAgICAgaGFuZGxlU3VibWl0KCgpID0+IHtcbiAgICAgICAgZGVsZXRlRm9ybS5fY2FyZFRvRGVsZXRlLnJlbW92ZSgpO1xuICAgICAgfSk7XG4gICAgICBjbG9zZU1vZGFsKGRlbGV0ZU1vZGFsKTtcbiAgICB9KVxuICAgIC5jYXRjaChjb25zb2xlLmVycm9yKVxuICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgIHJlbmRlckxvYWRpbmcoZmFsc2UsIHN1Ym1pdEJ1dHRvbiwgXCJEZWxldGVcIik7XG4gICAgfSk7XG59KTtcblxuLy8gQXZhdGFyIEZvcm0gU3VibWl0IEhhbmRsZXJcbmF2YXRhckZvcm0uYWRkRXZlbnRMaXN0ZW5lcihcInN1Ym1pdFwiLCAoZXZ0KSA9PiB7XG4gIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICBjb25zdCBzdWJtaXRCdXR0b24gPSBhdmF0YXJGb3JtLnF1ZXJ5U2VsZWN0b3IoXCIubW9kYWxfX3N1Ym1pdC1idXR0b25cIik7XG4gIHJlbmRlckxvYWRpbmcodHJ1ZSwgc3VibWl0QnV0dG9uKTtcblxuICBhcGlcbiAgICAudXBkYXRlQXZhdGFyKHtcbiAgICAgIGF2YXRhcjogYXZhdGFyTGlua0lucHV0LnZhbHVlLFxuICAgIH0pXG4gICAgLnRoZW4oKHVzZXJEYXRhKSA9PiB7XG4gICAgICBwcm9maWxlQXZhdGFyLnNyYyA9IHVzZXJEYXRhLmF2YXRhcjtcbiAgICAgIGV2dC50YXJnZXQucmVzZXQoKTtcbiAgICAgIGNsb3NlTW9kYWwoYXZhdGFyTW9kYWwpO1xuICAgIH0pXG4gICAgLmNhdGNoKGNvbnNvbGUuZXJyb3IpXG4gICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgcmVuZGVyTG9hZGluZyhmYWxzZSwgc3VibWl0QnV0dG9uKTtcbiAgICB9KTtcbn0pO1xuXG5lbmFibGVWYWxpZGF0aW9uKHNldHRpbmdzKTtcbiIsImNsYXNzIEFwaSB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcbiAgICB0aGlzLl9iYXNlVXJsID0gb3B0aW9ucy5iYXNlVXJsO1xuICAgIHRoaXMuX2hlYWRlcnMgPSBvcHRpb25zLmhlYWRlcnM7XG4gIH1cblxuICBfY2hlY2tSZXNwb25zZShyZXMpIHtcbiAgICBpZiAocmVzLm9rKSB7XG4gICAgICByZXR1cm4gcmVzLmpzb24oKTtcbiAgICB9XG4gICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGBFcnJvcjogJHtyZXMuc3RhdHVzfWApO1xuICB9XG5cbiAgX3JlcXVlc3QoZW5kcG9pbnQsIG9wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IGZpbmFsT3B0aW9ucyA9IHtcbiAgICAgIGhlYWRlcnM6IHRoaXMuX2hlYWRlcnMsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH07XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5fYmFzZVVybH0ke2VuZHBvaW50fWA7XG4gICAgcmV0dXJuIGZldGNoKHVybCwgZmluYWxPcHRpb25zKS50aGVuKHRoaXMuX2NoZWNrUmVzcG9uc2UpO1xuICB9XG5cbiAgZ2V0VXNlckluZm8oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVlc3QoXCIvdXNlcnMvbWVcIik7XG4gIH1cblxuICBnZXRJbml0aWFsQ2FyZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVlc3QoXCIvY2FyZHNcIiwge1xuICAgICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgIH0pO1xuICB9XG5cbiAgLy8gUEFUQ0ggL3VzZXJzL21lXG4gIGVkaXRVc2VySW5mbyh7IG5hbWUsIGFib3V0IH0pIHtcbiAgICByZXR1cm4gdGhpcy5fcmVxdWVzdChcIi91c2Vycy9tZVwiLCB7XG4gICAgICBtZXRob2Q6IFwiUEFUQ0hcIixcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgbmFtZSwgYWJvdXQgfSksXG4gICAgfSk7XG4gIH1cblxuICAvLyBQQVRDSCAvdXNlcnMvbWUvYXZhdGFyXG4gIHVwZGF0ZUF2YXRhcih7IGF2YXRhciB9KSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVlc3QoXCIvdXNlcnMvbWUvYXZhdGFyXCIsIHtcbiAgICAgIG1ldGhvZDogXCJQQVRDSFwiLFxuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyBhdmF0YXIgfSksXG4gICAgfSk7XG4gIH1cblxuICAvLyBQT1NUIC9jYXJkc1xuICBhZGRDYXJkKHsgbmFtZSwgbGluayB9KSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVlc3QoXCIvY2FyZHNcIiwge1xuICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgbmFtZSwgbGluayB9KSxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIERFTEVURSAvY2FyZHMvOmNhcmRJZFxuICByZW1vdmVDYXJkKGNhcmRJZCkge1xuICAgIHJldHVybiBmZXRjaChgJHt0aGlzLl9iYXNlVXJsfS9jYXJkcy8ke2NhcmRJZH1gLCB7XG4gICAgICBtZXRob2Q6IFwiREVMRVRFXCIsXG4gICAgICBoZWFkZXJzOiB0aGlzLl9oZWFkZXJzLFxuICAgIH0pLnRoZW4odGhpcy5fY2hlY2tSZXNwb25zZSk7XG4gIH1cblxuICAvLyBQVVQgL2NhcmRzLzpjYXJkSWQvbGlrZXNcbiAgbGlrZUNhcmQoY2FyZElkKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVlc3QoYC9jYXJkcy8ke2NhcmRJZH0vbGlrZXNgLCB7XG4gICAgICBtZXRob2Q6IFwiUFVUXCIsXG4gICAgfSk7XG4gIH1cblxuICAvLyBERUxFVEUgL2NhcmRzLzpjYXJkSWQvbGlrZXNcbiAgZGlzbGlrZUNhcmQoY2FyZElkKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVlc3QoYC9jYXJkcy8ke2NhcmRJZH0vbGlrZXNgLCB7XG4gICAgICBtZXRob2Q6IFwiREVMRVRFXCIsXG4gICAgfSk7XG4gIH1cblxuICAvLyBIZWxwZXI6IEZldGNoIGluaXRpYWwgZGF0YSBzaW11bHRhbmVvdXNseSAodXNlciBpbmZvICYgY2FyZHMpXG4gIGZldGNoSW5pdGlhbERhdGEoKSB7XG4gICAgcmV0dXJuIFByb21pc2UuYWxsKFt0aGlzLmdldFVzZXJJbmZvKCksIHRoaXMuZ2V0SW5pdGlhbENhcmRzKCldKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBBcGk7XG4iXSwibmFtZXMiOlsiX193ZWJwYWNrX3JlcXVpcmVfXyIsInNldHRpbmdzIiwiZm9ybVNlbGVjdG9yIiwiaW5wdXRTZWxlY3RvciIsInN1Ym1pdEJ1dHRvblNlbGVjdG9yIiwiaW5hY3RpdmVCdXR0b25DbGFzcyIsImlucHV0RXJyb3JDbGFzcyIsImVycm9yQ2xhc3MiLCJsb2dFcnJvciIsIm1lc3NhZ2UiLCJjb25zb2xlIiwiZXJyb3IiLCJoaWRlSW5wdXRFcnJvciIsImZvcm1FbGVtZW50IiwiaW5wdXRFbGVtZW50IiwiY29uZmlnIiwiZXJyb3JNZXNzYWdlRWxlbWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJpZCIsInRleHRDb250ZW50IiwicmVtb3ZlQXR0cmlidXRlIiwiY2xhc3NMaXN0IiwicmVtb3ZlIiwidG9nZ2xlQnV0dG9uU3RhdGUiLCJpbnB1dExpc3QiLCJidXR0b25FbGVtZW50Iiwic29tZSIsImlucHV0IiwidmFsaWRpdHkiLCJ2YWxpZCIsImhhc0ludmFsaWRJbnB1dCIsImRpc2FibGVCdXR0b24iLCJkaXNhYmxlZCIsImFkZCIsInJlc2V0VmFsaWRhdGlvbiIsImZvckVhY2giLCJyZW5kZXJMb2FkaW5nIiwiaXNMb2FkaW5nIiwiYnV0dG9uIiwiYnV0dG9uVGV4dCIsImxvYWRpbmdUZXh0IiwiaGFuZGxlU3VibWl0IiwicmVxdWVzdCIsImV2dCIsInByZXZlbnREZWZhdWx0Iiwic3VibWl0QnV0dG9uIiwic3VibWl0dGVyIiwiaW5pdGlhbFRleHQiLCJjYXRjaCIsImZpbmFsbHkiLCJkb2N1bWVudCIsInNyYyIsImxvZ29QYXRoIiwiYXZhdGFyUGF0aCIsImVkaXRCdXR0b25QYXRoIiwiYWRkQnV0dG9uUGF0aCIsImVkaXRMaWdodEJ1dHRvblBhdGgiLCJhcGkiLCJjb25zdHJ1Y3RvciIsIm9wdGlvbnMiLCJ0aGlzIiwiX2Jhc2VVcmwiLCJiYXNlVXJsIiwiX2hlYWRlcnMiLCJoZWFkZXJzIiwiX2NoZWNrUmVzcG9uc2UiLCJyZXMiLCJvayIsImpzb24iLCJQcm9taXNlIiwicmVqZWN0Iiwic3RhdHVzIiwiX3JlcXVlc3QiLCJlbmRwb2ludCIsImZpbmFsT3B0aW9ucyIsInVybCIsImZldGNoIiwidGhlbiIsImdldFVzZXJJbmZvIiwiZ2V0SW5pdGlhbENhcmRzIiwibWV0aG9kIiwiZWRpdFVzZXJJbmZvIiwibmFtZSIsImFib3V0IiwiYm9keSIsIkpTT04iLCJzdHJpbmdpZnkiLCJ1cGRhdGVBdmF0YXIiLCJhdmF0YXIiLCJhZGRDYXJkIiwibGluayIsInJlbW92ZUNhcmQiLCJjYXJkSWQiLCJsaWtlQ2FyZCIsImRpc2xpa2VDYXJkIiwiZmV0Y2hJbml0aWFsRGF0YSIsImFsbCIsImF1dGhvcml6YXRpb24iLCJ1c2VySWQiLCJ1c2VyRGF0YSIsIl9pZCIsInByb2ZpbGVOYW1lIiwicHJvZmlsZURlc2NyaXB0aW9uIiwicHJvZmlsZUF2YXRhciIsImNhcmRzIiwiY2FyZCIsImNhcmRFbGVtZW50IiwiZ2V0Q2FyZEVsZW1lbnQiLCJjYXJkc0xpc3QiLCJhcHBlbmQiLCJlZGl0TW9kYWxCdXR0b24iLCJjYXJkTW9kYWxCdXR0b24iLCJjbG9zZUJ1dHRvbnMiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZGVsZXRlTW9kYWwiLCJkZWxldGVGb3JtIiwiY2FuY2VsRGVsZXRlQnV0dG9uIiwiYXZhdGFyRWRpdEJ1dHRvbiIsImF2YXRhck1vZGFsIiwiYXZhdGFyRm9ybSIsImF2YXRhckxpbmtJbnB1dCIsImVkaXRNb2RhbCIsImVkaXRGb3JtIiwiZWRpdE1vZGFsTmFtZUlucHV0IiwiZWRpdE1vZGFsRGVzY3JpcHRpb25JbnB1dCIsImNhcmRNb2RhbCIsImNhcmRGb3JtIiwiY2FyZExpbmtJbnB1dCIsImNhcmRDYXB0aW9uSW5wdXQiLCJwcmV2aWV3TW9kYWwiLCJwcmV2aWV3SW1hZ2UiLCJwcmV2aWV3Q2FwdGlvbiIsImNhcmRUZW1wbGF0ZSIsImRhdGEiLCJjb250ZW50IiwiY2xvbmVOb2RlIiwiY2FyZFRpdGxlIiwiY2FyZEltYWdlIiwiY2FyZExpa2VCdXR0b24iLCJjYXJkTGlrZUNvdW50IiwiY2FyZERlbGV0ZUJ1dHRvbiIsImFsdCIsImlzTGlrZWQiLCJhZGRFdmVudExpc3RlbmVyIiwiY29udGFpbnMiLCJ1cGRhdGVkQ2FyZCIsInRvZ2dsZSIsIm9wZW5Nb2RhbCIsIl9jYXJkVG9EZWxldGUiLCJtb2RhbCIsImhhbmRsZU92ZXJsYXlDbGljayIsImV2ZW50IiwidGFyZ2V0IiwiY2xvc2VNb2RhbCIsImhhbmRsZUVzY2FwZUtleVByZXNzIiwia2V5IiwiX2hhbmRsZU92ZXJsYXlDbGljayIsIl9oYW5kbGVFc2NhcGVLZXlQcmVzcyIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJtYWtlRWRpdFByb2ZpbGVSZXF1ZXN0IiwidmFsdWUiLCJjbG9zZXN0IiwiY2FyZERhdGEiLCJwcmVwZW5kIiwicmVzZXQiLCJBcnJheSIsImZyb20iLCJzZXRFdmVudExpc3RlbmVycyIsImNoZWNrSW5wdXRWYWxpZGl0eSIsInNob3dJbnB1dEVycm9yIiwiZXJyb3JNZXNzYWdlIiwic2V0QXR0cmlidXRlIiwidmFsaWRhdGlvbk1lc3NhZ2UiXSwic291cmNlUm9vdCI6IiJ9 \ No newline at end of file +!function(){"use strict";var e="/se_project_spots/";const t={formSelector:".modal__form",inputSelector:".modal__input",submitButtonSelector:".modal__submit-button",inactiveButtonClass:"modal__submit-button_disabled",inputErrorClass:"modal__input_type_error",errorClass:"modal__error"},r=e=>{console.error(`Validation Error: ${e}`)},o=(e,t,o)=>{const n=e.querySelector(`#${t.id}-error`);n?(n.textContent="",n.removeAttribute("role"),t.classList.remove(o.inputErrorClass)):r(`Error message element for input ${t.id} not found.`)},n=(e,t,r)=>{(e=>e.some((e=>!e.validity.valid)))(e)?a(t,r):(t.disabled=!1,t.classList.remove(r.inactiveButtonClass))},a=(e,t)=>{e.disabled=!0,e.classList.add(t.inactiveButtonClass)},c=(e,t,r)=>{t.forEach((t=>{o(e,t,r)}));const n=e.querySelector(r.submitButtonSelector);a(n,r)};function l(e,t,r="Save",o="Saving..."){t.textContent=e?o:r}function s(e,t,r="Saving..."){t.preventDefault();const o=t.submitter,n=o.textContent;return l(!0,o,n,r),e().catch(console.error).finally((()=>{l(!1,o,n)}))}var i=e+"logo.svg",d=e+"avatar.jpg",u=e+"editbtn.svg",m=e+"addbtn.svg",_=e+"editbtn-light.svg";document.querySelector(".header__logo").src=i,document.querySelector(".profile__avatar").src=d,document.querySelector(".profile__edit-button img").src=u,document.querySelector(".profile__add-button img").src=m,document.querySelector(".profile__pencilIcon").src=_;const v=new class{constructor(e){this._baseUrl=e.baseUrl,this._headers=e.headers}_checkResponse(e){return e.ok?e.json():Promise.reject(`Error: ${e.status}`)}_request(e,t={}){const r={headers:this._headers,...t},o=`${this._baseUrl}${e}`;return fetch(o,r).then(this._checkResponse)}getUserInfo(){return this._request("/users/me")}getInitialCards(){return this._request("/cards",{method:"GET"})}editUserInfo({name:e,about:t}){return this._request("/users/me",{method:"PATCH",body:JSON.stringify({name:e,about:t})})}updateAvatar({avatar:e}){return this._request("/users/me/avatar",{method:"PATCH",body:JSON.stringify({avatar:e})})}addCard({name:e,link:t}){return this._request("/cards",{method:"POST",body:JSON.stringify({name:e,link:t})})}removeCard(e){return fetch(`${this._baseUrl}/cards/${e}`,{method:"DELETE",headers:this._headers}).then(this._checkResponse)}likeCard(e){return this._request(`/cards/${e}/likes`,{method:"PUT"})}dislikeCard(e){return this._request(`/cards/${e}/likes`,{method:"DELETE"})}fetchInitialData(){return Promise.all([this.getUserInfo(),this.getInitialCards()])}}({baseUrl:"https://around-api.en.tripleten-services.com/v1",headers:{authorization:"f1f1dbab-8e17-48d3-a098-d77dfd6ea3c5","Content-Type":"application/json"}});let y;v.getUserInfo().then((e=>(y=e._id,f.textContent=e.name,S.textContent=e.about,D.src=e.avatar,v.getInitialCards()))).then((e=>{e.forEach((e=>{const t=H(e);R.append(t)}))})).catch(console.error);const h=document.querySelector(".profile__edit-button"),p=document.querySelector(".profile__add-button"),f=document.querySelector(".profile__name"),S=document.querySelector(".profile__description"),q=document.querySelectorAll(".modal__close-button"),b=document.querySelector("#delete-modal"),k=b.querySelector("#delete-form"),E=b.querySelector(".modal__cancel-button"),C=document.querySelector(".profile__avatar-button"),g=document.querySelector("#new-avatar-modal"),L=g.querySelector(".modal__form"),x=g.querySelector("#new-avatar-link-input"),D=document.querySelector(".profile__avatar"),A=document.querySelector("#edit-modal"),$=A.querySelector(".modal__form"),T=A.querySelector("#profile-name-input"),U=A.querySelector("#profile-description-input"),I=document.querySelector("#new-card-modal"),w=I.querySelector(".modal__form"),P=I.querySelector("#new-card-link-input"),B=I.querySelector("#new-card-caption-input"),O=document.querySelector("#preview-modal"),j=O.querySelector(".modal__image"),N=O.querySelector(".modal__caption"),J=document.querySelector("#card-template"),R=document.querySelector(".cards__list");function H(e){const t=J.content.querySelector(".card").cloneNode(!0);t._id=e._id;const r=t.querySelector(".card__title"),o=t.querySelector(".card__image"),n=t.querySelector(".card__like-button"),a=t.querySelector(".card__like-count"),c=t.querySelector(".card__delete-button");return r.textContent=e.name,o.src=e.link,o.alt=e.name,e.isLiked?(n.classList.add("card__like-button_liked"),a.textContent="1"):a.textContent="0",n.addEventListener("click",(()=>{(n.classList.contains("card__like-button_liked")?v.dislikeCard(e._id):v.likeCard(e._id)).then((e=>{n.classList.toggle("card__like-button_liked",e.isLiked),a.textContent=e.isLiked?"1":"0"})).catch((e=>{console.error("Error updating like status:",e)}))})),c.addEventListener("click",(()=>{K(b),k._cardToDelete=t})),o.addEventListener("click",(()=>{K(O),N.textContent=e.name,j.alt=e.name,j.src=e.link})),t}function K(e){function t(t){t.target.classList.contains("modal_opened")&&z(e)}function r(t){"Escape"===t.key&&z(e)}e.classList.add("modal_opened"),document.addEventListener("click",t),document.addEventListener("keydown",r),e._handleOverlayClick=t,e._handleEscapeKeyPress=r}function z(e){e.classList.remove("modal_opened"),document.removeEventListener("click",e._handleOverlayClick),document.removeEventListener("keydown",e._handleEscapeKeyPress)}function G(){const e=T.value,t=U.value;return v.editUserInfo({name:e,about:t}).then((e=>{f.textContent=e.name,S.textContent=e.about,z(A)}))}var M;q.forEach((e=>{const t=e.closest(".modal");e.addEventListener("click",(()=>z(t)))})),h.addEventListener("click",(()=>{T.value=f.textContent,U.value=S.textContent,c($,[T,U],t),K(A)})),C.addEventListener("click",(()=>{K(g)})),p.addEventListener("click",(()=>{K(I)})),E.addEventListener("click",(()=>{z(b)})),$.addEventListener("submit",(function(e){s(G,e,"Saving...")})),w.addEventListener("submit",(function(e){e.preventDefault();const t=w.querySelector(".modal__submit-button");l(!0,t),v.addCard({name:B.value,link:P.value}).then((t=>{const r=H(t);R.prepend(r),e.target.reset(),z(I)})).catch(console.error).finally((()=>{l(!1,t)}))})),k.addEventListener("submit",(e=>{e.preventDefault();const t=k.querySelector(".modal__submit-button");l(!0,t,"Delete","Deleting..."),v.removeCard(k._cardToDelete._id).then((()=>{s((()=>{k._cardToDelete.remove()})),z(b)})).catch(console.error).finally((()=>{l(!1,t,"Delete")}))})),L.addEventListener("submit",(e=>{e.preventDefault();const t=L.querySelector(".modal__submit-button");l(!0,t),v.updateAvatar({avatar:x.value}).then((t=>{D.src=t.avatar,e.target.reset(),z(g)})).catch(console.error).finally((()=>{l(!1,t)}))})),M=t,document.querySelectorAll(M.formSelector).forEach((e=>{const t=Array.from(e.querySelectorAll(M.inputSelector));((e,t)=>{const a=Array.from(e.querySelectorAll(t.inputSelector)),c=e.querySelector(t.submitButtonSelector);n(a,c,t),a.forEach((l=>{l.addEventListener("input",(()=>{((e,t,n)=>{t.validity.valid?o(e,t,n):((e,t,o,n)=>{const a=e.querySelector(`#${t.id}-error`);a?(a.textContent=o,a.setAttribute("role","alert"),t.classList.add(n.inputErrorClass)):r(`Error message element for input ${t.id} not found.`)})(e,t,t.validationMessage,n)})(e,l,t),n(a,c,t)}))}))})(e,M),e.addEventListener("reset",(()=>{c(e,t,M)}))}))}(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,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LEVBQU9aLGdCQXRCaEJvSyxFQUFDMUosRUFBYUUsS0FDdEMsTUFBTVMsRUFBWTZJLE1BQU1DLEtBQ3RCekosRUFBWW9HLGlCQUFpQmxHLEVBQU9aLGdCQUVoQ3NCLEVBQWdCWixFQUFZSSxjQUFjRixFQUFPWCxzQkFFdkRtQixFQUFrQkMsRUFBV0MsRUFBZVYsR0FFNUNTLEVBQVVXLFNBQVNyQixJQUNqQkEsRUFBYWlJLGlCQUFpQixTQUFTLEtBdERoQnlCLEVBQUMzSixFQUFhQyxFQUFjQyxLQUNoREQsRUFBYWMsU0FBU0MsTUFRekJqQixFQUFlQyxFQUFhQyxFQUFjQyxHQXpDdkIwSixFQUFDNUosRUFBYUMsRUFBYzRKLEVBQWMzSixLQUMvRCxNQUFNQyxFQUFzQkgsRUFBWUksY0FDdEMsSUFBSUgsRUFBYUksWUFHZEYsR0FLTEEsRUFBb0JHLFlBQWN1SixFQUNsQzFKLEVBQW9CMkosYUFBYSxPQUFRLFNBQ3pDN0osRUFBYU8sVUFBVVksSUFBSWxCLEVBQU9ULGtCQU5oQ0UsRUFBUyxtQ0FBbUNNLEVBQWFJLGdCQU1ULEVBc0JoRHVKLENBQ0U1SixFQUNBQyxFQUNBQSxFQUFhOEosa0JBQ2I3SixFQUlKLEVBNkNJeUosQ0FBbUIzSixFQUFhQyxFQUFjQyxHQUM5Q1EsRUFBa0JDLEVBQVdDLEVBQWVWLEVBQU8sR0FDbkQsR0FDRixFQVdBd0osQ0FBa0IxSixFQUFhRSxHQUcvQkYsRUFBWWtJLGlCQUFpQixTQUFTLEtBQ3BDN0csRUFBZ0JyQixFQUFhVyxFQUFXVCxFQUFPLEdBQy9DLEciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9zZV9wcm9qZWN0X3Nwb3RzL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL3NlX3Byb2plY3Rfc3BvdHMvd2VicGFjay9ydW50aW1lL3B1YmxpY1BhdGgiLCJ3ZWJwYWNrOi8vc2VfcHJvamVjdF9zcG90cy8uL3NyYy9zY3JpcHRzL3ZhbGlkYXRpb24uanMiLCJ3ZWJwYWNrOi8vc2VfcHJvamVjdF9zcG90cy8uL3NyYy91dGlscy91dGlscy5qcyIsIndlYnBhY2s6Ly9zZV9wcm9qZWN0X3Nwb3RzLy4vc3JjL3BhZ2VzL2luZGV4LmpzIiwid2VicGFjazovL3NlX3Byb2plY3Rfc3BvdHMvLi9zcmMvdXRpbHMvQXBpLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRoZSByZXF1aXJlIHNjb3BlXG52YXIgX193ZWJwYWNrX3JlcXVpcmVfXyA9IHt9O1xuXG4iLCJfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIi9zZV9wcm9qZWN0X3Nwb3RzL1wiOyIsImV4cG9ydCBjb25zdCBzZXR0aW5ncyA9IHtcbiAgZm9ybVNlbGVjdG9yOiBcIi5tb2RhbF9fZm9ybVwiLFxuICBpbnB1dFNlbGVjdG9yOiBcIi5tb2RhbF9faW5wdXRcIixcbiAgc3VibWl0QnV0dG9uU2VsZWN0b3I6IFwiLm1vZGFsX19zdWJtaXQtYnV0dG9uXCIsXG4gIGluYWN0aXZlQnV0dG9uQ2xhc3M6IFwibW9kYWxfX3N1Ym1pdC1idXR0b25fZGlzYWJsZWRcIixcbiAgaW5wdXRFcnJvckNsYXNzOiBcIm1vZGFsX19pbnB1dF90eXBlX2Vycm9yXCIsXG4gIGVycm9yQ2xhc3M6IFwibW9kYWxfX2Vycm9yXCIsXG59O1xuXG4vLyBVdGlsaXR5IGZvciBsb2dnaW5nIGVycm9yc1xuY29uc3QgbG9nRXJyb3IgPSAobWVzc2FnZSkgPT4ge1xuICBjb25zb2xlLmVycm9yKGBWYWxpZGF0aW9uIEVycm9yOiAke21lc3NhZ2V9YCk7XG59O1xuXG4vLyBTaG93IGlucHV0IGVycm9yIG1lc3NhZ2VcbmNvbnN0IHNob3dJbnB1dEVycm9yID0gKGZvcm1FbGVtZW50LCBpbnB1dEVsZW1lbnQsIGVycm9yTWVzc2FnZSwgY29uZmlnKSA9PiB7XG4gIGNvbnN0IGVycm9yTWVzc2FnZUVsZW1lbnQgPSBmb3JtRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgIGAjJHtpbnB1dEVsZW1lbnQuaWR9LWVycm9yYFxuICApO1xuXG4gIGlmICghZXJyb3JNZXNzYWdlRWxlbWVudCkge1xuICAgIGxvZ0Vycm9yKGBFcnJvciBtZXNzYWdlIGVsZW1lbnQgZm9yIGlucHV0ICR7aW5wdXRFbGVtZW50LmlkfSBub3QgZm91bmQuYCk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgZXJyb3JNZXNzYWdlRWxlbWVudC50ZXh0Q29udGVudCA9IGVycm9yTWVzc2FnZTtcbiAgZXJyb3JNZXNzYWdlRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJyb2xlXCIsIFwiYWxlcnRcIik7IC8vIEFjY2Vzc2liaWxpdHkgZW5oYW5jZW1lbnRcbiAgaW5wdXRFbGVtZW50LmNsYXNzTGlzdC5hZGQoY29uZmlnLmlucHV0RXJyb3JDbGFzcyk7XG59O1xuXG4vLyBIaWRlIGlucHV0IGVycm9yIG1lc3NhZ2VcbmNvbnN0IGhpZGVJbnB1dEVycm9yID0gKGZvcm1FbGVtZW50LCBpbnB1dEVsZW1lbnQsIGNvbmZpZykgPT4ge1xuICBjb25zdCBlcnJvck1lc3NhZ2VFbGVtZW50ID0gZm9ybUVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICBgIyR7aW5wdXRFbGVtZW50LmlkfS1lcnJvcmBcbiAgKTtcblxuICBpZiAoIWVycm9yTWVzc2FnZUVsZW1lbnQpIHtcbiAgICBsb2dFcnJvcihgRXJyb3IgbWVzc2FnZSBlbGVtZW50IGZvciBpbnB1dCAke2lucHV0RWxlbWVudC5pZH0gbm90IGZvdW5kLmApO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGVycm9yTWVzc2FnZUVsZW1lbnQudGV4dENvbnRlbnQgPSBcIlwiO1xuICBlcnJvck1lc3NhZ2VFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShcInJvbGVcIik7XG4gIGlucHV0RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKGNvbmZpZy5pbnB1dEVycm9yQ2xhc3MpO1xufTtcblxuLy8gQ2hlY2sgaW5wdXQgdmFsaWRpdHlcbmNvbnN0IGNoZWNrSW5wdXRWYWxpZGl0eSA9IChmb3JtRWxlbWVudCwgaW5wdXRFbGVtZW50LCBjb25maWcpID0+IHtcbiAgaWYgKCFpbnB1dEVsZW1lbnQudmFsaWRpdHkudmFsaWQpIHtcbiAgICBzaG93SW5wdXRFcnJvcihcbiAgICAgIGZvcm1FbGVtZW50LFxuICAgICAgaW5wdXRFbGVtZW50LFxuICAgICAgaW5wdXRFbGVtZW50LnZhbGlkYXRpb25NZXNzYWdlLFxuICAgICAgY29uZmlnXG4gICAgKTtcbiAgfSBlbHNlIHtcbiAgICBoaWRlSW5wdXRFcnJvcihmb3JtRWxlbWVudCwgaW5wdXRFbGVtZW50LCBjb25maWcpO1xuICB9XG59O1xuXG4vLyBDaGVjayBpZiBmb3JtIGhhcyBpbnZhbGlkIGlucHV0XG5jb25zdCBoYXNJbnZhbGlkSW5wdXQgPSAoaW5wdXRMaXN0KSA9PiB7XG4gIHJldHVybiBpbnB1dExpc3Quc29tZSgoaW5wdXQpID0+ICFpbnB1dC52YWxpZGl0eS52YWxpZCk7XG59O1xuXG4vLyBUb2dnbGUgYnV0dG9uIHN0YXRlXG5jb25zdCB0b2dnbGVCdXR0b25TdGF0ZSA9IChpbnB1dExpc3QsIGJ1dHRvbkVsZW1lbnQsIGNvbmZpZykgPT4ge1xuICBpZiAoaGFzSW52YWxpZElucHV0KGlucHV0TGlzdCkpIHtcbiAgICBkaXNhYmxlQnV0dG9uKGJ1dHRvbkVsZW1lbnQsIGNvbmZpZyk7XG4gIH0gZWxzZSB7XG4gICAgYnV0dG9uRWxlbWVudC5kaXNhYmxlZCA9IGZhbHNlO1xuICAgIGJ1dHRvbkVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShjb25maWcuaW5hY3RpdmVCdXR0b25DbGFzcyk7XG4gIH1cbn07XG5cbi8vIERpc2FibGUgYnV0dG9uXG5jb25zdCBkaXNhYmxlQnV0dG9uID0gKGJ1dHRvbkVsZW1lbnQsIGNvbmZpZykgPT4ge1xuICBidXR0b25FbGVtZW50LmRpc2FibGVkID0gdHJ1ZTtcbiAgYnV0dG9uRWxlbWVudC5jbGFzc0xpc3QuYWRkKGNvbmZpZy5pbmFjdGl2ZUJ1dHRvbkNsYXNzKTtcbn07XG5cbi8vIFJlc2V0IHZhbGlkYXRpb25cbmV4cG9ydCBjb25zdCByZXNldFZhbGlkYXRpb24gPSAoZm9ybUVsZW1lbnQsIGlucHV0TGlzdCwgY29uZmlnKSA9PiB7XG4gIGlucHV0TGlzdC5mb3JFYWNoKChpbnB1dCkgPT4ge1xuICAgIGhpZGVJbnB1dEVycm9yKGZvcm1FbGVtZW50LCBpbnB1dCwgY29uZmlnKTtcbiAgfSk7XG5cbiAgY29uc3QgYnV0dG9uRWxlbWVudCA9IGZvcm1FbGVtZW50LnF1ZXJ5U2VsZWN0b3IoY29uZmlnLnN1Ym1pdEJ1dHRvblNlbGVjdG9yKTtcbiAgZGlzYWJsZUJ1dHRvbihidXR0b25FbGVtZW50LCBjb25maWcpOyAvLyBEaXNhYmxlIHRoZSBidXR0b24gZHVyaW5nIHJlc2V0XG59O1xuXG4vLyBBZGQgZXZlbnQgbGlzdGVuZXJzIHRvIHRoZSBmb3JtXG5jb25zdCBzZXRFdmVudExpc3RlbmVycyA9IChmb3JtRWxlbWVudCwgY29uZmlnKSA9PiB7XG4gIGNvbnN0IGlucHV0TGlzdCA9IEFycmF5LmZyb20oXG4gICAgZm9ybUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChjb25maWcuaW5wdXRTZWxlY3RvcilcbiAgKTtcbiAgY29uc3QgYnV0dG9uRWxlbWVudCA9IGZvcm1FbGVtZW50LnF1ZXJ5U2VsZWN0b3IoY29uZmlnLnN1Ym1pdEJ1dHRvblNlbGVjdG9yKTtcblxuICB0b2dnbGVCdXR0b25TdGF0ZShpbnB1dExpc3QsIGJ1dHRvbkVsZW1lbnQsIGNvbmZpZyk7IC8vIEluaXRpYWwgYnV0dG9uIHN0YXRlIGNoZWNrXG5cbiAgaW5wdXRMaXN0LmZvckVhY2goKGlucHV0RWxlbWVudCkgPT4ge1xuICAgIGlucHV0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFwiaW5wdXRcIiwgKCkgPT4ge1xuICAgICAgY2hlY2tJbnB1dFZhbGlkaXR5KGZvcm1FbGVtZW50LCBpbnB1dEVsZW1lbnQsIGNvbmZpZyk7XG4gICAgICB0b2dnbGVCdXR0b25TdGF0ZShpbnB1dExpc3QsIGJ1dHRvbkVsZW1lbnQsIGNvbmZpZyk7IC8vIFVwZGF0ZSBidXR0b24gc3RhdGUgb24gaW5wdXRcbiAgICB9KTtcbiAgfSk7XG59O1xuXG4vLyBFbmFibGUgdmFsaWRhdGlvbiBmb3IgYWxsIGZvcm1zXG5leHBvcnQgY29uc3QgZW5hYmxlVmFsaWRhdGlvbiA9IChjb25maWcpID0+IHtcbiAgY29uc3QgZm9ybUxpc3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGNvbmZpZy5mb3JtU2VsZWN0b3IpO1xuXG4gIGZvcm1MaXN0LmZvckVhY2goKGZvcm1FbGVtZW50KSA9PiB7XG4gICAgY29uc3QgaW5wdXRMaXN0ID0gQXJyYXkuZnJvbShcbiAgICAgIGZvcm1FbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoY29uZmlnLmlucHV0U2VsZWN0b3IpXG4gICAgKTtcbiAgICBzZXRFdmVudExpc3RlbmVycyhmb3JtRWxlbWVudCwgY29uZmlnKTtcblxuICAgIC8vIENsZWFyIHZhbGlkYXRpb24gb24gZm9ybSByZXNldFxuICAgIGZvcm1FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNldFwiLCAoKSA9PiB7XG4gICAgICByZXNldFZhbGlkYXRpb24oZm9ybUVsZW1lbnQsIGlucHV0TGlzdCwgY29uZmlnKTtcbiAgICB9KTtcbiAgfSk7XG59O1xuIiwiZXhwb3J0IGZ1bmN0aW9uIHJlbmRlckxvYWRpbmcoXG4gIGlzTG9hZGluZyxcbiAgYnV0dG9uLFxuICBidXR0b25UZXh0ID0gXCJTYXZlXCIsXG4gIGxvYWRpbmdUZXh0ID0gXCJTYXZpbmcuLi5cIlxuKSB7XG4gIGlmIChpc0xvYWRpbmcpIHtcbiAgICBidXR0b24udGV4dENvbnRlbnQgPSBsb2FkaW5nVGV4dDtcbiAgfSBlbHNlIHtcbiAgICBidXR0b24udGV4dENvbnRlbnQgPSBidXR0b25UZXh0O1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVTdWJtaXQocmVxdWVzdCwgZXZ0LCBsb2FkaW5nVGV4dCA9IFwiU2F2aW5nLi4uXCIpIHtcbiAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gIGNvbnN0IHN1Ym1pdEJ1dHRvbiA9IGV2dC5zdWJtaXR0ZXI7XG4gIGNvbnN0IGluaXRpYWxUZXh0ID0gc3VibWl0QnV0dG9uLnRleHRDb250ZW50O1xuXG4gIHJlbmRlckxvYWRpbmcodHJ1ZSwgc3VibWl0QnV0dG9uLCBpbml0aWFsVGV4dCwgbG9hZGluZ1RleHQpO1xuXG4gIHJldHVybiByZXF1ZXN0KClcbiAgICAuY2F0Y2goY29uc29sZS5lcnJvcilcbiAgICAuZmluYWxseSgoKSA9PiB7XG4gICAgICByZW5kZXJMb2FkaW5nKGZhbHNlLCBzdWJtaXRCdXR0b24sIGluaXRpYWxUZXh0KTtcbiAgICB9KTtcbn1cbiIsImltcG9ydCBcIi4vaW5kZXguY3NzXCI7IC8vIEltcG9ydGluZyB0aGUgQ1NTIGZpbGVcbmltcG9ydCB7XG4gIGVuYWJsZVZhbGlkYXRpb24sXG4gIHNldHRpbmdzLFxuICByZXNldFZhbGlkYXRpb24sXG59IGZyb20gXCIuLi9zY3JpcHRzL3ZhbGlkYXRpb24uanNcIjsgLy8gSW1wb3J0aW5nIHZhbGlkYXRpb24gZnVuY3Rpb25zXG5pbXBvcnQgQXBpIGZyb20gXCIuLi91dGlscy9BcGkuanNcIjsgLy8gSW1wb3J0aW5nIHRoZSBBUEkgY2xhc3NcbmltcG9ydCB7IGhhbmRsZVN1Ym1pdCwgcmVuZGVyTG9hZGluZyB9IGZyb20gXCIuLi91dGlscy91dGlscy5qc1wiOyAvLyBJbXBvcnRpbmcgdXRpbGl0eSBmdW5jdGlvbnNcblxuLy8gSW1wb3J0aW5nIGltYWdlcyBhbmQgb3RoZXIgYXNzZXRzXG5pbXBvcnQgbG9nb1BhdGggZnJvbSBcIi4uL2ltYWdlcy9sb2dvLnN2Z1wiO1xuaW1wb3J0IGF2YXRhclBhdGggZnJvbSBcIi4uL2ltYWdlcy9hdmF0YXIuanBnXCI7XG5pbXBvcnQgZWRpdEJ1dHRvblBhdGggZnJvbSBcIi4uL2ltYWdlcy9lZGl0YnRuLnN2Z1wiO1xuaW1wb3J0IGFkZEJ1dHRvblBhdGggZnJvbSBcIi4uL2ltYWdlcy9hZGRidG4uc3ZnXCI7XG5pbXBvcnQgZWRpdExpZ2h0QnV0dG9uUGF0aCBmcm9tIFwiLi4vaW1hZ2VzL2VkaXRidG4tbGlnaHQuc3ZnXCI7XG5cbi8vIEVuc3VyZSBzbWFsbHRhYmxldHZpZXcucG5nIGlzIGNvcGllZCB0byBkaXN0XG5pbXBvcnQgXCIuL19jb3B5X3NtYWxsdGFibGV0dmlldy5qc1wiO1xuXG5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLmhlYWRlcl9fbG9nb1wiKS5zcmMgPSBsb2dvUGF0aDtcbmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIucHJvZmlsZV9fYXZhdGFyXCIpLnNyYyA9IGF2YXRhclBhdGg7XG5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnByb2ZpbGVfX2VkaXQtYnV0dG9uIGltZ1wiKS5zcmMgPSBlZGl0QnV0dG9uUGF0aDtcbmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIucHJvZmlsZV9fYWRkLWJ1dHRvbiBpbWdcIikuc3JjID0gYWRkQnV0dG9uUGF0aDtcbmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIucHJvZmlsZV9fcGVuY2lsSWNvblwiKS5zcmMgPSBlZGl0TGlnaHRCdXR0b25QYXRoO1xuXG5jb25zdCBhcGkgPSBuZXcgQXBpKHtcbiAgYmFzZVVybDogXCJodHRwczovL2Fyb3VuZC1hcGkuZW4udHJpcGxldGVuLXNlcnZpY2VzLmNvbS92MVwiLFxuICBoZWFkZXJzOiB7XG4gICAgYXV0aG9yaXphdGlvbjogXCJmMWYxZGJhYi04ZTE3LTQ4ZDMtYTA5OC1kNzdkZmQ2ZWEzYzVcIixcbiAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgfSxcbn0pO1xuXG5sZXQgdXNlcklkO1xuXG5hcGlcbiAgLmdldFVzZXJJbmZvKClcbiAgLnRoZW4oKHVzZXJEYXRhKSA9PiB7XG4gICAgdXNlcklkID0gdXNlckRhdGEuX2lkO1xuICAgIHByb2ZpbGVOYW1lLnRleHRDb250ZW50ID0gdXNlckRhdGEubmFtZTtcbiAgICBwcm9maWxlRGVzY3JpcHRpb24udGV4dENvbnRlbnQgPSB1c2VyRGF0YS5hYm91dDtcbiAgICBwcm9maWxlQXZhdGFyLnNyYyA9IHVzZXJEYXRhLmF2YXRhcjtcbiAgICByZXR1cm4gYXBpLmdldEluaXRpYWxDYXJkcygpO1xuICB9KVxuICAudGhlbigoY2FyZHMpID0+IHtcbiAgICBjYXJkcy5mb3JFYWNoKChjYXJkKSA9PiB7XG4gICAgICBjb25zdCBjYXJkRWxlbWVudCA9IGdldENhcmRFbGVtZW50KGNhcmQpO1xuICAgICAgY2FyZHNMaXN0LmFwcGVuZChjYXJkRWxlbWVudCk7XG4gICAgfSk7XG4gIH0pXG4gIC5jYXRjaChjb25zb2xlLmVycm9yKTtcblxuLy8gUHJvZmlsZSBTZWxlY3RvcnNcbmNvbnN0IGVkaXRNb2RhbEJ1dHRvbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIucHJvZmlsZV9fZWRpdC1idXR0b25cIik7XG5jb25zdCBjYXJkTW9kYWxCdXR0b24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnByb2ZpbGVfX2FkZC1idXR0b25cIik7XG5jb25zdCBwcm9maWxlTmFtZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIucHJvZmlsZV9fbmFtZVwiKTtcbmNvbnN0IHByb2ZpbGVEZXNjcmlwdGlvbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIucHJvZmlsZV9fZGVzY3JpcHRpb25cIik7XG5cbi8vIE1vZGFsIFNlbGVjdG9yc1xuLy8gY29uc3QgbW9kYWxzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcIi5tb2RhbFwiKTtcbmNvbnN0IGNsb3NlQnV0dG9ucyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCIubW9kYWxfX2Nsb3NlLWJ1dHRvblwiKTtcbmNvbnN0IGRlbGV0ZU1vZGFsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIiNkZWxldGUtbW9kYWxcIik7XG5jb25zdCBkZWxldGVGb3JtID0gZGVsZXRlTW9kYWwucXVlcnlTZWxlY3RvcihcIiNkZWxldGUtZm9ybVwiKTtcbmNvbnN0IGNhbmNlbERlbGV0ZUJ1dHRvbiA9IGRlbGV0ZU1vZGFsLnF1ZXJ5U2VsZWN0b3IoXCIubW9kYWxfX2NhbmNlbC1idXR0b25cIik7XG5jb25zdCBhdmF0YXJFZGl0QnV0dG9uID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5wcm9maWxlX19hdmF0YXItYnV0dG9uXCIpO1xuY29uc3QgYXZhdGFyTW9kYWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI25ldy1hdmF0YXItbW9kYWxcIik7XG5jb25zdCBhdmF0YXJGb3JtID0gYXZhdGFyTW9kYWwucXVlcnlTZWxlY3RvcihcIi5tb2RhbF9fZm9ybVwiKTtcbmNvbnN0IGF2YXRhckxpbmtJbnB1dCA9IGF2YXRhck1vZGFsLnF1ZXJ5U2VsZWN0b3IoXCIjbmV3LWF2YXRhci1saW5rLWlucHV0XCIpO1xuY29uc3QgcHJvZmlsZUF2YXRhciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIucHJvZmlsZV9fYXZhdGFyXCIpO1xuXG4vLyBNb2RhbCAtIEVkaXQgUHJvZmlsZVxuY29uc3QgZWRpdE1vZGFsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIiNlZGl0LW1vZGFsXCIpO1xuY29uc3QgZWRpdEZvcm0gPSBlZGl0TW9kYWwucXVlcnlTZWxlY3RvcihcIi5tb2RhbF9fZm9ybVwiKTtcbmNvbnN0IGVkaXRNb2RhbE5hbWVJbnB1dCA9IGVkaXRNb2RhbC5xdWVyeVNlbGVjdG9yKFwiI3Byb2ZpbGUtbmFtZS1pbnB1dFwiKTtcbmNvbnN0IGVkaXRNb2RhbERlc2NyaXB0aW9uSW5wdXQgPSBlZGl0TW9kYWwucXVlcnlTZWxlY3RvcihcbiAgXCIjcHJvZmlsZS1kZXNjcmlwdGlvbi1pbnB1dFwiXG4pO1xuXG4vLyBNb2RhbCAtIEFkZCBDYXJkXG5jb25zdCBjYXJkTW9kYWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI25ldy1jYXJkLW1vZGFsXCIpO1xuY29uc3QgY2FyZEZvcm0gPSBjYXJkTW9kYWwucXVlcnlTZWxlY3RvcihcIi5tb2RhbF9fZm9ybVwiKTtcbi8vIGNvbnN0IGNhcmRTdWJtaXRCdXR0b24gPSBjYXJkTW9kYWwucXVlcnlTZWxlY3RvcihcIi5tb2RhbF9fc3VibWl0LWJ1dHRvblwiKTtcbmNvbnN0IGNhcmRMaW5rSW5wdXQgPSBjYXJkTW9kYWwucXVlcnlTZWxlY3RvcihcIiNuZXctY2FyZC1saW5rLWlucHV0XCIpO1xuY29uc3QgY2FyZENhcHRpb25JbnB1dCA9IGNhcmRNb2RhbC5xdWVyeVNlbGVjdG9yKFwiI25ldy1jYXJkLWNhcHRpb24taW5wdXRcIik7XG5cbi8vIE1vZGFsIFByZXZpZXdcbmNvbnN0IHByZXZpZXdNb2RhbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIjcHJldmlldy1tb2RhbFwiKTtcbmNvbnN0IHByZXZpZXdJbWFnZSA9IHByZXZpZXdNb2RhbC5xdWVyeVNlbGVjdG9yKFwiLm1vZGFsX19pbWFnZVwiKTtcbmNvbnN0IHByZXZpZXdDYXB0aW9uID0gcHJldmlld01vZGFsLnF1ZXJ5U2VsZWN0b3IoXCIubW9kYWxfX2NhcHRpb25cIik7XG5cbi8vIENhcmRzXG5jb25zdCBjYXJkVGVtcGxhdGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI2NhcmQtdGVtcGxhdGVcIik7XG5jb25zdCBjYXJkc0xpc3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLmNhcmRzX19saXN0XCIpO1xuXG5mdW5jdGlvbiBnZXRDYXJkRWxlbWVudChkYXRhKSB7XG4gIGNvbnN0IGNhcmRFbGVtZW50ID0gY2FyZFRlbXBsYXRlLmNvbnRlbnRcbiAgICAucXVlcnlTZWxlY3RvcihcIi5jYXJkXCIpXG4gICAgLmNsb25lTm9kZSh0cnVlKTtcbiAgY2FyZEVsZW1lbnQuX2lkID0gZGF0YS5faWQ7XG5cbiAgY29uc3QgY2FyZFRpdGxlID0gY2FyZEVsZW1lbnQucXVlcnlTZWxlY3RvcihcIi5jYXJkX190aXRsZVwiKTtcbiAgY29uc3QgY2FyZEltYWdlID0gY2FyZEVsZW1lbnQucXVlcnlTZWxlY3RvcihcIi5jYXJkX19pbWFnZVwiKTtcbiAgY29uc3QgY2FyZExpa2VCdXR0b24gPSBjYXJkRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiLmNhcmRfX2xpa2UtYnV0dG9uXCIpO1xuICBjb25zdCBjYXJkTGlrZUNvdW50ID0gY2FyZEVsZW1lbnQucXVlcnlTZWxlY3RvcihcIi5jYXJkX19saWtlLWNvdW50XCIpO1xuICBjb25zdCBjYXJkRGVsZXRlQnV0dG9uID0gY2FyZEVsZW1lbnQucXVlcnlTZWxlY3RvcihcIi5jYXJkX19kZWxldGUtYnV0dG9uXCIpO1xuXG4gIC8vIFNldCBjYXJkIGRhdGFcbiAgY2FyZFRpdGxlLnRleHRDb250ZW50ID0gZGF0YS5uYW1lO1xuICBjYXJkSW1hZ2Uuc3JjID0gZGF0YS5saW5rOyAvLyBNYWtlIHN1cmUgdGhpcyBsaW5lIGlzIHByZXNlbnRcbiAgY2FyZEltYWdlLmFsdCA9IGRhdGEubmFtZTtcblxuICAvLyBTZXQgaW5pdGlhbCBsaWtlIHN0YXRlIGFuZCBjb3VudFxuICBpZiAoZGF0YS5pc0xpa2VkKSB7XG4gICAgY2FyZExpa2VCdXR0b24uY2xhc3NMaXN0LmFkZChcImNhcmRfX2xpa2UtYnV0dG9uX2xpa2VkXCIpO1xuICAgIGNhcmRMaWtlQ291bnQudGV4dENvbnRlbnQgPSBcIjFcIjsgLy8gU2V0IHRvIDEgaWYgdGhlIGNhcmQgaXMgbGlrZWRcbiAgfSBlbHNlIHtcbiAgICBjYXJkTGlrZUNvdW50LnRleHRDb250ZW50ID0gXCIwXCI7IC8vIFNldCB0byAwIGlmIHRoZSBjYXJkIGlzIG5vdCBsaWtlZFxuICB9XG5cbiAgY2FyZExpa2VCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IHtcbiAgICBjb25zdCBpc0N1cnJlbnRseUxpa2VkID0gY2FyZExpa2VCdXR0b24uY2xhc3NMaXN0LmNvbnRhaW5zKFxuICAgICAgXCJjYXJkX19saWtlLWJ1dHRvbl9saWtlZFwiXG4gICAgKTtcblxuICAgIGNvbnN0IGxpa2VDYXJkUHJvbWlzZSA9IGlzQ3VycmVudGx5TGlrZWRcbiAgICAgID8gYXBpLmRpc2xpa2VDYXJkKGRhdGEuX2lkKVxuICAgICAgOiBhcGkubGlrZUNhcmQoZGF0YS5faWQpO1xuXG4gICAgbGlrZUNhcmRQcm9taXNlXG4gICAgICAudGhlbigodXBkYXRlZENhcmQpID0+IHtcbiAgICAgICAgY2FyZExpa2VCdXR0b24uY2xhc3NMaXN0LnRvZ2dsZShcbiAgICAgICAgICBcImNhcmRfX2xpa2UtYnV0dG9uX2xpa2VkXCIsXG4gICAgICAgICAgdXBkYXRlZENhcmQuaXNMaWtlZFxuICAgICAgICApO1xuICAgICAgICBjYXJkTGlrZUNvdW50LnRleHRDb250ZW50ID0gdXBkYXRlZENhcmQuaXNMaWtlZCA/IFwiMVwiIDogXCIwXCI7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3IgdXBkYXRpbmcgbGlrZSBzdGF0dXM6XCIsIGVycm9yKTtcbiAgICAgIH0pO1xuICB9KTtcblxuICAvLyBkZWxldGUgYW5kIHByZXZpZXcgZXZlbnQgbGlzdGVuZXJzXG4gIGNhcmREZWxldGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IHtcbiAgICBvcGVuTW9kYWwoZGVsZXRlTW9kYWwpO1xuICAgIGRlbGV0ZUZvcm0uX2NhcmRUb0RlbGV0ZSA9IGNhcmRFbGVtZW50O1xuICB9KTtcblxuICBjYXJkSW1hZ2UuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IHtcbiAgICBvcGVuTW9kYWwocHJldmlld01vZGFsKTtcbiAgICBwcmV2aWV3Q2FwdGlvbi50ZXh0Q29udGVudCA9IGRhdGEubmFtZTtcbiAgICBwcmV2aWV3SW1hZ2UuYWx0ID0gZGF0YS5uYW1lO1xuICAgIHByZXZpZXdJbWFnZS5zcmMgPSBkYXRhLmxpbms7XG4gIH0pO1xuXG4gIHJldHVybiBjYXJkRWxlbWVudDtcbn1cblxuZnVuY3Rpb24gb3Blbk1vZGFsKG1vZGFsKSB7XG4gIG1vZGFsLmNsYXNzTGlzdC5hZGQoXCJtb2RhbF9vcGVuZWRcIik7XG5cbiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIGhhbmRsZU92ZXJsYXlDbGljayk7XG4gIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIGhhbmRsZUVzY2FwZUtleVByZXNzKTtcblxuICBtb2RhbC5faGFuZGxlT3ZlcmxheUNsaWNrID0gaGFuZGxlT3ZlcmxheUNsaWNrO1xuICBtb2RhbC5faGFuZGxlRXNjYXBlS2V5UHJlc3MgPSBoYW5kbGVFc2NhcGVLZXlQcmVzcztcblxuICBmdW5jdGlvbiBoYW5kbGVPdmVybGF5Q2xpY2soZXZlbnQpIHtcbiAgICBpZiAoZXZlbnQudGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucyhcIm1vZGFsX29wZW5lZFwiKSkge1xuICAgICAgY2xvc2VNb2RhbChtb2RhbCk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gaGFuZGxlRXNjYXBlS2V5UHJlc3MoZXZlbnQpIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSBcIkVzY2FwZVwiKSB7XG4gICAgICBjbG9zZU1vZGFsKG1vZGFsKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY2xvc2VNb2RhbChtb2RhbCkge1xuICBtb2RhbC5jbGFzc0xpc3QucmVtb3ZlKFwibW9kYWxfb3BlbmVkXCIpO1xuXG4gIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBtb2RhbC5faGFuZGxlT3ZlcmxheUNsaWNrKTtcbiAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgbW9kYWwuX2hhbmRsZUVzY2FwZUtleVByZXNzKTtcbn1cblxuLy8gZnVuY3Rpb24gcmVuZGVyTG9hZGluZyhcbi8vIGlzTG9hZGluZyxcbi8vIGJ1dHRvbixcbi8vIGJ1dHRvblRleHQgPSBcIlNhdmVcIixcbi8vIGxvYWRpbmdUZXh0ID0gXCJTYXZpbmcuLi5cIlxuLy8gKSB7XG4vLyBidXR0b24udGV4dENvbnRlbnQgPSBpc0xvYWRpbmcgPyBsb2FkaW5nVGV4dCA6IGJ1dHRvblRleHQ7XG4vLyB9XG5cbi8vIFVuaXZlcnNhbCBDbG9zZSBCdXR0b24gSGFuZGxlclxuY2xvc2VCdXR0b25zLmZvckVhY2goKGJ1dHRvbikgPT4ge1xuICBjb25zdCBtb2RhbCA9IGJ1dHRvbi5jbG9zZXN0KFwiLm1vZGFsXCIpO1xuICBidXR0b24uYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IGNsb3NlTW9kYWwobW9kYWwpKTtcbn0pO1xuXG4vLyBIYW5kbGVyc1xuZnVuY3Rpb24gbWFrZUVkaXRQcm9maWxlUmVxdWVzdCgpIHtcbiAgLy8gR2V0IGZvcm0gdmFsdWVzXG4gIGNvbnN0IG5hbWUgPSBlZGl0TW9kYWxOYW1lSW5wdXQudmFsdWU7XG4gIGNvbnN0IGFib3V0ID0gZWRpdE1vZGFsRGVzY3JpcHRpb25JbnB1dC52YWx1ZTtcblxuICAvLyBNYWtlIEFQSSBjYWxsIHRvIGVkaXQgdXNlciBpbmZvXG4gIHJldHVybiBhcGkuZWRpdFVzZXJJbmZvKHsgbmFtZSwgYWJvdXQgfSkudGhlbigodXNlckRhdGEpID0+IHtcbiAgICAvLyBVcGRhdGUgdGhlIERPTSB3aXRoIHRoZSBuZXcgdXNlciBkYXRhXG4gICAgcHJvZmlsZU5hbWUudGV4dENvbnRlbnQgPSB1c2VyRGF0YS5uYW1lO1xuICAgIHByb2ZpbGVEZXNjcmlwdGlvbi50ZXh0Q29udGVudCA9IHVzZXJEYXRhLmFib3V0O1xuICAgIC8vIENsb3NlIHRoZSBtb2RhbFxuICAgIGNsb3NlTW9kYWwoZWRpdE1vZGFsKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGhhbmRsZUVkaXRGb3JtU3VibWl0KGV2dCkge1xuICBoYW5kbGVTdWJtaXQobWFrZUVkaXRQcm9maWxlUmVxdWVzdCwgZXZ0LCBcIlNhdmluZy4uLlwiKTtcbn1cblxuZnVuY3Rpb24gaGFuZGxlQ2FyZEZvcm1TdWJtaXQoZXZ0KSB7XG4gIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICBjb25zdCBzdWJtaXRCdXR0b24gPSBjYXJkRm9ybS5xdWVyeVNlbGVjdG9yKFwiLm1vZGFsX19zdWJtaXQtYnV0dG9uXCIpO1xuICByZW5kZXJMb2FkaW5nKHRydWUsIHN1Ym1pdEJ1dHRvbik7XG5cbiAgYXBpXG4gICAgLmFkZENhcmQoe1xuICAgICAgbmFtZTogY2FyZENhcHRpb25JbnB1dC52YWx1ZSxcbiAgICAgIGxpbms6IGNhcmRMaW5rSW5wdXQudmFsdWUsXG4gICAgfSlcbiAgICAudGhlbigoY2FyZERhdGEpID0+IHtcbiAgICAgIGNvbnN0IGNhcmRFbGVtZW50ID0gZ2V0Q2FyZEVsZW1lbnQoY2FyZERhdGEpO1xuICAgICAgY2FyZHNMaXN0LnByZXBlbmQoY2FyZEVsZW1lbnQpO1xuICAgICAgZXZ0LnRhcmdldC5yZXNldCgpO1xuICAgICAgY2xvc2VNb2RhbChjYXJkTW9kYWwpO1xuICAgIH0pXG4gICAgLmNhdGNoKGNvbnNvbGUuZXJyb3IpXG4gICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgcmVuZGVyTG9hZGluZyhmYWxzZSwgc3VibWl0QnV0dG9uKTtcbiAgICB9KTtcbn1cblxuLy8gRWRpdCBNb2RhbCBMaXN0ZW5lcnNcbmVkaXRNb2RhbEJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgKCkgPT4ge1xuICBlZGl0TW9kYWxOYW1lSW5wdXQudmFsdWUgPSBwcm9maWxlTmFtZS50ZXh0Q29udGVudDtcbiAgZWRpdE1vZGFsRGVzY3JpcHRpb25JbnB1dC52YWx1ZSA9IHByb2ZpbGVEZXNjcmlwdGlvbi50ZXh0Q29udGVudDtcbiAgcmVzZXRWYWxpZGF0aW9uKFxuICAgIGVkaXRGb3JtLFxuICAgIFtlZGl0TW9kYWxOYW1lSW5wdXQsIGVkaXRNb2RhbERlc2NyaXB0aW9uSW5wdXRdLFxuICAgIHNldHRpbmdzXG4gICk7XG4gIG9wZW5Nb2RhbChlZGl0TW9kYWwpO1xufSk7XG5cbi8vIEF2YXRhciBNb2RhbCBMaXN0ZW5lclxuYXZhdGFyRWRpdEJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgKCkgPT4ge1xuICBvcGVuTW9kYWwoYXZhdGFyTW9kYWwpO1xufSk7XG5cbi8vIENhcmQgTW9kYWwgTGlzdGVuZXJzXG5jYXJkTW9kYWxCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IHtcbiAgb3Blbk1vZGFsKGNhcmRNb2RhbCk7XG59KTtcblxuY2FuY2VsRGVsZXRlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCAoKSA9PiB7XG4gIGNsb3NlTW9kYWwoZGVsZXRlTW9kYWwpO1xufSk7XG5cbi8vIEZvcm0gTGlzdGVuZXJzXG5lZGl0Rm9ybS5hZGRFdmVudExpc3RlbmVyKFwic3VibWl0XCIsIGhhbmRsZUVkaXRGb3JtU3VibWl0KTtcbmNhcmRGb3JtLmFkZEV2ZW50TGlzdGVuZXIoXCJzdWJtaXRcIiwgaGFuZGxlQ2FyZEZvcm1TdWJtaXQpO1xuXG5kZWxldGVGb3JtLmFkZEV2ZW50TGlzdGVuZXIoXCJzdWJtaXRcIiwgKGV2dCkgPT4ge1xuICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgY29uc3Qgc3VibWl0QnV0dG9uID0gZGVsZXRlRm9ybS5xdWVyeVNlbGVjdG9yKFwiLm1vZGFsX19zdWJtaXQtYnV0dG9uXCIpO1xuICByZW5kZXJMb2FkaW5nKHRydWUsIHN1Ym1pdEJ1dHRvbiwgXCJEZWxldGVcIiwgXCJEZWxldGluZy4uLlwiKTtcblxuICBhcGlcbiAgICAucmVtb3ZlQ2FyZChkZWxldGVGb3JtLl9jYXJkVG9EZWxldGUuX2lkKSAvLyBDaGFuZ2VkIGZyb20gZGVsZXRlQ2FyZCB0byByZW1vdmVDYXJkXG4gICAgLnRoZW4oKCkgPT4ge1xuICAgICAgaGFuZGxlU3VibWl0KCgpID0+IHtcbiAgICAgICAgZGVsZXRlRm9ybS5fY2FyZFRvRGVsZXRlLnJlbW92ZSgpO1xuICAgICAgfSk7XG4gICAgICBjbG9zZU1vZGFsKGRlbGV0ZU1vZGFsKTtcbiAgICB9KVxuICAgIC5jYXRjaChjb25zb2xlLmVycm9yKVxuICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgIHJlbmRlckxvYWRpbmcoZmFsc2UsIHN1Ym1pdEJ1dHRvbiwgXCJEZWxldGVcIik7XG4gICAgfSk7XG59KTtcblxuLy8gQXZhdGFyIEZvcm0gU3VibWl0IEhhbmRsZXJcbmF2YXRhckZvcm0uYWRkRXZlbnRMaXN0ZW5lcihcInN1Ym1pdFwiLCAoZXZ0KSA9PiB7XG4gIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICBjb25zdCBzdWJtaXRCdXR0b24gPSBhdmF0YXJGb3JtLnF1ZXJ5U2VsZWN0b3IoXCIubW9kYWxfX3N1Ym1pdC1idXR0b25cIik7XG4gIHJlbmRlckxvYWRpbmcodHJ1ZSwgc3VibWl0QnV0dG9uKTtcblxuICBhcGlcbiAgICAudXBkYXRlQXZhdGFyKHtcbiAgICAgIGF2YXRhcjogYXZhdGFyTGlua0lucHV0LnZhbHVlLFxuICAgIH0pXG4gICAgLnRoZW4oKHVzZXJEYXRhKSA9PiB7XG4gICAgICBwcm9maWxlQXZhdGFyLnNyYyA9IHVzZXJEYXRhLmF2YXRhcjtcbiAgICAgIGV2dC50YXJnZXQucmVzZXQoKTtcbiAgICAgIGNsb3NlTW9kYWwoYXZhdGFyTW9kYWwpO1xuICAgIH0pXG4gICAgLmNhdGNoKGNvbnNvbGUuZXJyb3IpXG4gICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgcmVuZGVyTG9hZGluZyhmYWxzZSwgc3VibWl0QnV0dG9uKTtcbiAgICB9KTtcbn0pO1xuXG5lbmFibGVWYWxpZGF0aW9uKHNldHRpbmdzKTtcbiIsImNsYXNzIEFwaSB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcbiAgICB0aGlzLl9iYXNlVXJsID0gb3B0aW9ucy5iYXNlVXJsO1xuICAgIHRoaXMuX2hlYWRlcnMgPSBvcHRpb25zLmhlYWRlcnM7XG4gIH1cblxuICBfY2hlY2tSZXNwb25zZShyZXMpIHtcbiAgICBpZiAocmVzLm9rKSB7XG4gICAgICByZXR1cm4gcmVzLmpzb24oKTtcbiAgICB9XG4gICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGBFcnJvcjogJHtyZXMuc3RhdHVzfWApO1xuICB9XG5cbiAgX3JlcXVlc3QoZW5kcG9pbnQsIG9wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IGZpbmFsT3B0aW9ucyA9IHtcbiAgICAgIGhlYWRlcnM6IHRoaXMuX2hlYWRlcnMsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH07XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5fYmFzZVVybH0ke2VuZHBvaW50fWA7XG4gICAgcmV0dXJuIGZldGNoKHVybCwgZmluYWxPcHRpb25zKS50aGVuKHRoaXMuX2NoZWNrUmVzcG9uc2UpO1xuICB9XG5cbiAgZ2V0VXNlckluZm8oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVlc3QoXCIvdXNlcnMvbWVcIik7XG4gIH1cblxuICBnZXRJbml0aWFsQ2FyZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVlc3QoXCIvY2FyZHNcIiwge1xuICAgICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgIH0pO1xuICB9XG5cbiAgLy8gUEFUQ0ggL3VzZXJzL21lXG4gIGVkaXRVc2VySW5mbyh7IG5hbWUsIGFib3V0IH0pIHtcbiAgICByZXR1cm4gdGhpcy5fcmVxdWVzdChcIi91c2Vycy9tZVwiLCB7XG4gICAgICBtZXRob2Q6IFwiUEFUQ0hcIixcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgbmFtZSwgYWJvdXQgfSksXG4gICAgfSk7XG4gIH1cblxuICAvLyBQQVRDSCAvdXNlcnMvbWUvYXZhdGFyXG4gIHVwZGF0ZUF2YXRhcih7IGF2YXRhciB9KSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVlc3QoXCIvdXNlcnMvbWUvYXZhdGFyXCIsIHtcbiAgICAgIG1ldGhvZDogXCJQQVRDSFwiLFxuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyBhdmF0YXIgfSksXG4gICAgfSk7XG4gIH1cblxuICAvLyBQT1NUIC9jYXJkc1xuICBhZGRDYXJkKHsgbmFtZSwgbGluayB9KSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVlc3QoXCIvY2FyZHNcIiwge1xuICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgbmFtZSwgbGluayB9KSxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIERFTEVURSAvY2FyZHMvOmNhcmRJZFxuICByZW1vdmVDYXJkKGNhcmRJZCkge1xuICAgIHJldHVybiBmZXRjaChgJHt0aGlzLl9iYXNlVXJsfS9jYXJkcy8ke2NhcmRJZH1gLCB7XG4gICAgICBtZXRob2Q6IFwiREVMRVRFXCIsXG4gICAgICBoZWFkZXJzOiB0aGlzLl9oZWFkZXJzLFxuICAgIH0pLnRoZW4odGhpcy5fY2hlY2tSZXNwb25zZSk7XG4gIH1cblxuICAvLyBQVVQgL2NhcmRzLzpjYXJkSWQvbGlrZXNcbiAgbGlrZUNhcmQoY2FyZElkKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVlc3QoYC9jYXJkcy8ke2NhcmRJZH0vbGlrZXNgLCB7XG4gICAgICBtZXRob2Q6IFwiUFVUXCIsXG4gICAgfSk7XG4gIH1cblxuICAvLyBERUxFVEUgL2NhcmRzLzpjYXJkSWQvbGlrZXNcbiAgZGlzbGlrZUNhcmQoY2FyZElkKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVlc3QoYC9jYXJkcy8ke2NhcmRJZH0vbGlrZXNgLCB7XG4gICAgICBtZXRob2Q6IFwiREVMRVRFXCIsXG4gICAgfSk7XG4gIH1cblxuICAvLyBIZWxwZXI6IEZldGNoIGluaXRpYWwgZGF0YSBzaW11bHRhbmVvdXNseSAodXNlciBpbmZvICYgY2FyZHMpXG4gIGZldGNoSW5pdGlhbERhdGEoKSB7XG4gICAgcmV0dXJuIFByb21pc2UuYWxsKFt0aGlzLmdldFVzZXJJbmZvKCksIHRoaXMuZ2V0SW5pdGlhbENhcmRzKCldKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBBcGk7XG4iXSwibmFtZXMiOlsiX193ZWJwYWNrX3JlcXVpcmVfXyIsInNldHRpbmdzIiwiZm9ybVNlbGVjdG9yIiwiaW5wdXRTZWxlY3RvciIsInN1Ym1pdEJ1dHRvblNlbGVjdG9yIiwiaW5hY3RpdmVCdXR0b25DbGFzcyIsImlucHV0RXJyb3JDbGFzcyIsImVycm9yQ2xhc3MiLCJsb2dFcnJvciIsIm1lc3NhZ2UiLCJjb25zb2xlIiwiZXJyb3IiLCJoaWRlSW5wdXRFcnJvciIsImZvcm1FbGVtZW50IiwiaW5wdXRFbGVtZW50IiwiY29uZmlnIiwiZXJyb3JNZXNzYWdlRWxlbWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJpZCIsInRleHRDb250ZW50IiwicmVtb3ZlQXR0cmlidXRlIiwiY2xhc3NMaXN0IiwicmVtb3ZlIiwidG9nZ2xlQnV0dG9uU3RhdGUiLCJpbnB1dExpc3QiLCJidXR0b25FbGVtZW50Iiwic29tZSIsImlucHV0IiwidmFsaWRpdHkiLCJ2YWxpZCIsImhhc0ludmFsaWRJbnB1dCIsImRpc2FibGVCdXR0b24iLCJkaXNhYmxlZCIsImFkZCIsInJlc2V0VmFsaWRhdGlvbiIsImZvckVhY2giLCJyZW5kZXJMb2FkaW5nIiwiaXNMb2FkaW5nIiwiYnV0dG9uIiwiYnV0dG9uVGV4dCIsImxvYWRpbmdUZXh0IiwiaGFuZGxlU3VibWl0IiwicmVxdWVzdCIsImV2dCIsInByZXZlbnREZWZhdWx0Iiwic3VibWl0QnV0dG9uIiwic3VibWl0dGVyIiwiaW5pdGlhbFRleHQiLCJjYXRjaCIsImZpbmFsbHkiLCJkb2N1bWVudCIsInNyYyIsImxvZ29QYXRoIiwiYXZhdGFyUGF0aCIsImVkaXRCdXR0b25QYXRoIiwiYWRkQnV0dG9uUGF0aCIsImVkaXRMaWdodEJ1dHRvblBhdGgiLCJhcGkiLCJjb25zdHJ1Y3RvciIsIm9wdGlvbnMiLCJ0aGlzIiwiX2Jhc2VVcmwiLCJiYXNlVXJsIiwiX2hlYWRlcnMiLCJoZWFkZXJzIiwiX2NoZWNrUmVzcG9uc2UiLCJyZXMiLCJvayIsImpzb24iLCJQcm9taXNlIiwicmVqZWN0Iiwic3RhdHVzIiwiX3JlcXVlc3QiLCJlbmRwb2ludCIsImZpbmFsT3B0aW9ucyIsInVybCIsImZldGNoIiwidGhlbiIsImdldFVzZXJJbmZvIiwiZ2V0SW5pdGlhbENhcmRzIiwibWV0aG9kIiwiZWRpdFVzZXJJbmZvIiwibmFtZSIsImFib3V0IiwiYm9keSIsIkpTT04iLCJzdHJpbmdpZnkiLCJ1cGRhdGVBdmF0YXIiLCJhdmF0YXIiLCJhZGRDYXJkIiwibGluayIsInJlbW92ZUNhcmQiLCJjYXJkSWQiLCJsaWtlQ2FyZCIsImRpc2xpa2VDYXJkIiwiZmV0Y2hJbml0aWFsRGF0YSIsImFsbCIsImF1dGhvcml6YXRpb24iLCJ1c2VySWQiLCJ1c2VyRGF0YSIsIl9pZCIsInByb2ZpbGVOYW1lIiwicHJvZmlsZURlc2NyaXB0aW9uIiwicHJvZmlsZUF2YXRhciIsImNhcmRzIiwiY2FyZCIsImNhcmRFbGVtZW50IiwiZ2V0Q2FyZEVsZW1lbnQiLCJjYXJkc0xpc3QiLCJhcHBlbmQiLCJlZGl0TW9kYWxCdXR0b24iLCJjYXJkTW9kYWxCdXR0b24iLCJjbG9zZUJ1dHRvbnMiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZGVsZXRlTW9kYWwiLCJkZWxldGVGb3JtIiwiY2FuY2VsRGVsZXRlQnV0dG9uIiwiYXZhdGFyRWRpdEJ1dHRvbiIsImF2YXRhck1vZGFsIiwiYXZhdGFyRm9ybSIsImF2YXRhckxpbmtJbnB1dCIsImVkaXRNb2RhbCIsImVkaXRGb3JtIiwiZWRpdE1vZGFsTmFtZUlucHV0IiwiZWRpdE1vZGFsRGVzY3JpcHRpb25JbnB1dCIsImNhcmRNb2RhbCIsImNhcmRGb3JtIiwiY2FyZExpbmtJbnB1dCIsImNhcmRDYXB0aW9uSW5wdXQiLCJwcmV2aWV3TW9kYWwiLCJwcmV2aWV3SW1hZ2UiLCJwcmV2aWV3Q2FwdGlvbiIsImNhcmRUZW1wbGF0ZSIsImRhdGEiLCJjb250ZW50IiwiY2xvbmVOb2RlIiwiY2FyZFRpdGxlIiwiY2FyZEltYWdlIiwiY2FyZExpa2VCdXR0b24iLCJjYXJkTGlrZUNvdW50IiwiY2FyZERlbGV0ZUJ1dHRvbiIsImFsdCIsImlzTGlrZWQiLCJhZGRFdmVudExpc3RlbmVyIiwiY29udGFpbnMiLCJ1cGRhdGVkQ2FyZCIsInRvZ2dsZSIsIm9wZW5Nb2RhbCIsIl9jYXJkVG9EZWxldGUiLCJtb2RhbCIsImhhbmRsZU92ZXJsYXlDbGljayIsImV2ZW50IiwidGFyZ2V0IiwiY2xvc2VNb2RhbCIsImhhbmRsZUVzY2FwZUtleVByZXNzIiwia2V5IiwiX2hhbmRsZU92ZXJsYXlDbGljayIsIl9oYW5kbGVFc2NhcGVLZXlQcmVzcyIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJtYWtlRWRpdFByb2ZpbGVSZXF1ZXN0IiwidmFsdWUiLCJjbG9zZXN0IiwiY2FyZERhdGEiLCJwcmVwZW5kIiwicmVzZXQiLCJBcnJheSIsImZyb20iLCJzZXRFdmVudExpc3RlbmVycyIsImNoZWNrSW5wdXRWYWxpZGl0eSIsInNob3dJbnB1dEVycm9yIiwiZXJyb3JNZXNzYWdlIiwic2V0QXR0cmlidXRlIiwidmFsaWRhdGlvbk1lc3NhZ2UiXSwic291cmNlUm9vdCI6IiJ9 \ No newline at end of file diff --git a/webpack.config.js b/webpack.config.js index b0447f3..3ee811e 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -48,6 +48,9 @@ module.exports = { { test: /\.(png|svg|jpg|jpeg|webp|gif|woff(2)?|eot|ttf|otf)$/, type: "asset/resource", + generator: { + filename: "[name][ext]", + }, }, ], },