diff --git a/.DS_Store b/.DS_Store index 8c20cee..679427c 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/cmd/evening_detective/static/user/assets/index-BO7--0zv.css b/cmd/evening_detective/static/user/assets/index-BO7--0zv.css deleted file mode 100644 index e2fe8ef..0000000 --- a/cmd/evening_detective/static/user/assets/index-BO7--0zv.css +++ /dev/null @@ -1 +0,0 @@ -:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64);--main-color: rgba(34, 50, 60, 1);--second-color: rgb(97, 74, 22);--main-back-color: rgba(240, 240, 240, 1);--main-back-item-color: rgba(254, 254, 254, 1)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100dvh;color:var(--color-text);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:url(/assets/forest-DGCb0Pbq.png);background-size:cover}body{overflow:hidden;background-color:#000;scrollbar-width:none}@font-face{font-family:a_OldTyper;src:url(/assets/a_OldTyper-BsgRTrmO.ttf)}@font-face{font-family:main;src:url(/assets/main-28oI6zBg.ttf)}.center-message{display:flex;justify-content:center;align-items:center;height:calc(100dvh - 100px);text-align:center}@media (min-width: 1025px){.center-block-custom{width:700px;margin:0 auto}}.center-container{display:flex;align-items:center;justify-content:center}.controller-metal{width:30px;height:calc(100% + 2px);position:absolute;top:-1px}.controller-metal-left{left:-15px}.controller-metal-right{right:-15px}header[data-v-913ef6b1]{line-height:1.5;max-height:100vh}.logo[data-v-913ef6b1]{display:block;margin:0 auto 2rem}nav[data-v-913ef6b1]{width:100%;font-size:12px;text-align:center;margin-top:2rem}nav a.router-link-exact-active[data-v-913ef6b1]{color:var(--color-text)}nav a.router-link-exact-active[data-v-913ef6b1]:hover{background-color:transparent}nav a[data-v-913ef6b1]{display:inline-block;padding:0 1rem;border-left:1px solid var(--color-border)}nav a[data-v-913ef6b1]:first-of-type{border:0}@media (min-width: 1024px){header[data-v-913ef6b1]{display:flex;place-items:center;padding-right:calc(var(--section-gap) / 2)}.logo[data-v-913ef6b1]{margin:0 2rem 0 0}header .wrapper[data-v-913ef6b1]{display:flex;place-items:flex-start;flex-wrap:wrap}nav[data-v-913ef6b1]{text-align:left;margin-left:-1rem;font-size:1rem;padding:1rem 0;margin-top:1rem}}.belt-block[data-v-9903d979]{height:100%;background-image:url(/assets/belt_mini-DDotyJSU.png);background-size:cover;position:relative}.shadow[data-v-9903d979]{height:10px;width:100%;position:absolute;bottom:5px;background-color:#000;box-shadow:0 5px 10px #000}.belt-block[data-v-3203f6df]{height:100%;background-image:url(/assets/belt-B9kZnNyz.png);background-size:cover;position:relative}.shadow[data-v-3203f6df]{height:10px;width:100%;position:absolute;background-color:#000}.shadow-top[data-v-3203f6df]{top:0;box-shadow:0 -5px 10px #000}.shadow-bottom[data-v-3203f6df]{bottom:0;box-shadow:0 5px 10px #000}.text-with-font[data-v-33b571eb]{font-family:a_OldTyper;color:#bfa07d;font-weight:600;letter-spacing:2px;line-height:20px;font-size:22px}.plate-block[data-v-24c80f2d]{position:relative;box-shadow:0 0 10px #000}.metal-plate-block[data-v-24c80f2d]{height:100%;background-image:url(/assets/metal-DzSXT9M1.png);background-size:cover;position:relative;border-radius:4px}.pin[data-v-24c80f2d]{width:7px;height:7px;position:absolute;background-image:url(/assets/pin-CJfldk-j.png);background-size:cover}.pin-top-left[data-v-24c80f2d]{top:3px;left:3px}.pin-top-right[data-v-24c80f2d]{top:3px;right:3px}.pin-bottom-right[data-v-24c80f2d]{bottom:3px;right:3px}.pin-bottom-left[data-v-24c80f2d]{bottom:3px;left:3px}.game-header[data-v-cb5d784c]{height:100px;position:fixed;top:5px;left:0;width:100%;z-index:2000}.center[data-v-cb5d784c]{position:relative;max-width:1920px;margin:0 auto}.logo[data-v-cb5d784c]{width:90px;height:88px;float:left;margin:0 10px;position:relative;z-index:20;top:10px}.belt-mini[data-v-cb5d784c]{height:30px;position:relative;z-index:10}.belt[data-v-cb5d784c]{height:60px;position:relative;top:-5px}.position-right-center-block[data-v-cb5d784c]{height:100%;display:flex;align-items:center;justify-content:left}.controller-metal[data-v-cb5d784c]{width:30px;height:calc(100% + 2px);position:absolute;top:-1px;z-index:15}.controller-metal-left[data-v-cb5d784c]{left:-30px}.controller-metal-right[data-v-cb5d784c]{right:-30px}.main[data-v-130d846e]{position:relative}.message-cloud[data-v-130d846e]{margin:15px 0;padding:16px;font-family:main;color:#000;line-height:20px;font-size:18px;font-weight:900;position:relative}.message-cloud[data-v-130d846e],.message-cloud-2[data-v-130d846e],.message-cloud-3[data-v-130d846e]{border-radius:5px;background-image:url(/assets/paper-Dc-nIYYc.jpg);background-size:cover;display:flow-root;box-shadow:0 0 5px #000}.message-cloud-2[data-v-130d846e],.message-cloud-3[data-v-130d846e]{position:absolute;top:0;left:0}.message-cloud-2[data-v-130d846e]{transform:rotate(-3deg);filter:brightness(50%);height:100%;width:100%}.message-cloud-3[data-v-130d846e]{transform:rotate(2deg);filter:brightness(80%);height:100%;width:100%}.qr[data-v-7828595e]{text-align:center;width:200px}.qr-code[data-v-7828595e]{margin:12px 0;box-shadow:0 3px 15px #626262}.team-name[data-v-7828595e]{margin:10px 0;font-size:20px}.message[data-v-7828595e]{margin:7px 0}.hr[data-v-b740256b]{margin:10px 0;border:dashed 1px;border-color:#000}.message-header[data-v-b740256b]{font-size:20px;padding-right:50px}.collapse-icon[data-v-b740256b]{position:absolute;top:12px;right:12px;width:45px;height:28px;cursor:pointer;background-image:url(/assets/collapse-DCvTPk_P.png);background-size:cover;background-position:center}.collapse-icon-up[data-v-b740256b]{transform:rotate(-180deg)}.message-content[data-v-b740256b]{font-weight:500;white-space:pre-wrap}.message-image-border[data-v-b740256b]{width:40%;float:left;padding:7px;margin-right:15px;background-image:url(/assets/paper_white-C8HN8PnK.jpg);background-size:cover;box-shadow:0 3px 15px #626262;transform:rotate(-3deg)}.message-image[data-v-b740256b]{width:100%}.button-dialog[data-v-b740256b]{display:inline-block;font-weight:600;border-radius:5px;font-size:16px;margin-top:10px;margin-right:10px;background-image:url(/assets/belt-B9kZnNyz.png);background-size:cover;color:#bfa07d}.button-dialog-text[data-v-b740256b]{padding:5px 12px}.message-footer[data-v-b740256b]{padding-right:50px;font-weight:400;color:var(--second-color);position:relative}.application-label[data-v-b740256b]{background-image:url(/assets/label-0coROqfy.png);background-size:cover;width:30px;height:52px;text-align:center;padding-top:22px;color:#000;position:absolute;bottom:-10px;right:5px;transform:rotate(9deg);font-size:30px;font-family:sans-serif}.form-custom[data-v-fb9d4e7d]{position:fixed;bottom:0;left:0;width:100%;color:#fff;z-index:1000}.input-form[data-v-fb9d4e7d]{height:76px;position:relative;z-index:1000;margin:0 auto;max-width:1920px}.controller-metal[data-v-fb9d4e7d]{width:30px;height:calc(100% + 2px);position:absolute;top:-1px}.controller-metal-left[data-v-fb9d4e7d]{left:-30px}.controller-metal-right[data-v-fb9d4e7d]{right:-30px}.controller[data-v-fb9d4e7d]{display:flex;position:relative}.game-input[data-v-fb9d4e7d]{position:relative;top:14px;left:15px;height:50px;width:calc(100% - 175px)}.game-input-run[data-v-fb9d4e7d]{height:100%;width:100%;padding-left:27px;background-image:url(/assets/input_center-DZZtEHaZ.png);background-size:cover;border:0;font-size:18px;font-family:a_OldTyper;background-color:transparent}.game-input-run[data-v-fb9d4e7d]::placeholder{color:#333}.game-input-run[data-v-fb9d4e7d]:focus{border:0;outline:none}.game-button-run-shadow[data-v-fb9d4e7d]{position:absolute;right:10px;top:-5px;height:80px;width:150px;box-shadow:-5px 5px 10px #000}.game-button-run[data-v-fb9d4e7d]{background-image:url(/assets/button-DdziMEJE.png);background-size:cover;font-size:1.5em;position:absolute;right:10px;top:-5px;height:80px;width:155px;border:0;background-color:transparent;margin:0;padding:0}.modal-overlay[data-v-351cc8f7]{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:9999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-content[data-v-351cc8f7]{position:relative;width:90%;max-width:420px;min-height:250px;background-position:center;background-repeat:no-repeat;overflow:hidden;background-image:url(/assets/stop-Dhh5jN6h.png);background-size:cover}.modal-body[data-v-351cc8f7]{position:relative;z-index:2;padding:30px}.game-input-form-shadow[data-v-351cc8f7]{height:90px;width:120%;left:-10%;top:3px;position:absolute;box-shadow:0 -5px 10px #000;z-index:9;background-color:#000}.messages-block[data-v-351cc8f7]{top:90px;height:calc(100dvh - 166px);overflow-y:auto;scrollbar-width:none;position:relative;padding:15px 10px}.team-name-block[data-v-351cc8f7]{margin-right:10px;width:50px;height:40px;font-family:a_OldTyper}.text-middle-wrapper[data-v-351cc8f7]{position:relative;height:100%}.text-middle-wrapper p[data-v-351cc8f7]{position:absolute;top:50%;left:50%;margin-right:-50%;transform:translate(-50%,-50%)}.text-truncate[data-v-351cc8f7]{text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:medium}.input-custom[data-v-7028a494]{width:100%;box-sizing:border-box;margin:10px 0}.error-message[data-v-7028a494]{color:brown;margin:16px 0}.input-custom[data-v-7028a494],.button-custom[data-v-7028a494]{padding:12px 16px;border:1px solid #ddd;border-radius:15px;font-size:16px}.button-container[data-v-7028a494]{display:flex} diff --git a/cmd/evening_detective/static/user/assets/index-BkPf0Nib.css b/cmd/evening_detective/static/user/assets/index-BkPf0Nib.css new file mode 100644 index 0000000..2448b21 --- /dev/null +++ b/cmd/evening_detective/static/user/assets/index-BkPf0Nib.css @@ -0,0 +1 @@ +:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64);--main-color: rgba(34, 50, 60, 1);--second-color: rgb(97, 74, 22);--main-back-color: rgba(240, 240, 240, 1);--main-back-item-color: rgba(254, 254, 254, 1)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100dvh;color:var(--color-text);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:url(/assets/forest-DGCb0Pbq.png);background-size:cover}body{overflow:hidden;background-color:#000;scrollbar-width:none}@font-face{font-family:a_OldTyper;src:url(/assets/a_OldTyper-BsgRTrmO.ttf)}@font-face{font-family:main;src:url(/assets/main-28oI6zBg.ttf)}.center-message{display:flex;justify-content:center;align-items:center;height:calc(100dvh - 100px);text-align:center}@media (min-width: 1025px){.center-block-custom{width:700px;margin:0 auto}}.center-container{display:flex;align-items:center;justify-content:center}.controller-metal{width:30px;height:calc(100% + 2px);position:absolute;top:-1px}.controller-metal-left{left:-15px}.controller-metal-right{right:-15px}header[data-v-913ef6b1]{line-height:1.5;max-height:100vh}.logo[data-v-913ef6b1]{display:block;margin:0 auto 2rem}nav[data-v-913ef6b1]{width:100%;font-size:12px;text-align:center;margin-top:2rem}nav a.router-link-exact-active[data-v-913ef6b1]{color:var(--color-text)}nav a.router-link-exact-active[data-v-913ef6b1]:hover{background-color:transparent}nav a[data-v-913ef6b1]{display:inline-block;padding:0 1rem;border-left:1px solid var(--color-border)}nav a[data-v-913ef6b1]:first-of-type{border:0}@media (min-width: 1024px){header[data-v-913ef6b1]{display:flex;place-items:center;padding-right:calc(var(--section-gap) / 2)}.logo[data-v-913ef6b1]{margin:0 2rem 0 0}header .wrapper[data-v-913ef6b1]{display:flex;place-items:flex-start;flex-wrap:wrap}nav[data-v-913ef6b1]{text-align:left;margin-left:-1rem;font-size:1rem;padding:1rem 0;margin-top:1rem}}.belt-block[data-v-9903d979]{height:100%;background-image:url(/assets/belt_mini-DDotyJSU.png);background-size:cover;position:relative}.shadow[data-v-9903d979]{height:10px;width:100%;position:absolute;bottom:5px;background-color:#000;box-shadow:0 5px 10px #000}.belt-block[data-v-57312f28]{height:100%;background-color:#000;background-image:url(/assets/belt-B9kZnNyz.png);background-size:cover;position:relative}.shadow[data-v-57312f28]{height:10px;width:100%;position:absolute;background-color:#000}.shadow-top[data-v-57312f28]{top:0;box-shadow:0 -5px 10px #000}.shadow-bottom[data-v-57312f28]{bottom:0;box-shadow:0 5px 10px #000}.text-with-font[data-v-33b571eb]{font-family:a_OldTyper;color:#bfa07d;font-weight:600;letter-spacing:2px;line-height:20px;font-size:22px}.plate-block[data-v-24c80f2d]{position:relative;box-shadow:0 0 10px #000}.metal-plate-block[data-v-24c80f2d]{height:100%;background-image:url(/assets/metal-DzSXT9M1.png);background-size:cover;position:relative;border-radius:4px}.pin[data-v-24c80f2d]{width:7px;height:7px;position:absolute;background-image:url(/assets/pin-CJfldk-j.png);background-size:cover}.pin-top-left[data-v-24c80f2d]{top:3px;left:3px}.pin-top-right[data-v-24c80f2d]{top:3px;right:3px}.pin-bottom-right[data-v-24c80f2d]{bottom:3px;right:3px}.pin-bottom-left[data-v-24c80f2d]{bottom:3px;left:3px}.game-header[data-v-cb5d784c]{height:100px;position:fixed;top:5px;left:0;width:100%;z-index:2000}.center[data-v-cb5d784c]{position:relative;max-width:1920px;margin:0 auto}.logo[data-v-cb5d784c]{width:90px;height:88px;float:left;margin:0 10px;position:relative;z-index:20;top:10px}.belt-mini[data-v-cb5d784c]{height:30px;position:relative;z-index:10}.belt[data-v-cb5d784c]{height:60px;position:relative;top:-5px}.position-right-center-block[data-v-cb5d784c]{height:100%;display:flex;align-items:center;justify-content:left}.controller-metal[data-v-cb5d784c]{width:30px;height:calc(100% + 2px);position:absolute;top:-1px;z-index:15}.controller-metal-left[data-v-cb5d784c]{left:-30px}.controller-metal-right[data-v-cb5d784c]{right:-30px}.main[data-v-4f467660]{position:relative}.message-cloud[data-v-4f467660],.message-cloud-2[data-v-4f467660],.message-cloud-3[data-v-4f467660]{background-color:bisque}.message-cloud[data-v-4f467660]{margin:15px 0;padding:16px;font-family:main;color:#000;line-height:20px;font-size:18px;font-weight:900;position:relative}.message-cloud[data-v-4f467660],.message-cloud-2[data-v-4f467660],.message-cloud-3[data-v-4f467660]{border-radius:5px;background-image:url(/assets/paper-Dc-nIYYc.jpg);background-size:cover;display:flow-root;box-shadow:0 0 5px #000}.message-cloud-2[data-v-4f467660],.message-cloud-3[data-v-4f467660]{position:absolute;top:0;left:0}.message-cloud-2[data-v-4f467660]{transform:rotate(-3deg);filter:brightness(50%);height:100%;width:100%}.message-cloud-3[data-v-4f467660]{transform:rotate(2deg);filter:brightness(80%);height:100%;width:100%}.qr[data-v-7828595e]{text-align:center;width:200px}.qr-code[data-v-7828595e]{margin:12px 0;box-shadow:0 3px 15px #626262}.team-name[data-v-7828595e]{margin:10px 0;font-size:20px}.message[data-v-7828595e]{margin:7px 0}.hr[data-v-b740256b]{margin:10px 0;border:dashed 1px;border-color:#000}.message-header[data-v-b740256b]{font-size:20px;padding-right:50px}.collapse-icon[data-v-b740256b]{position:absolute;top:12px;right:12px;width:45px;height:28px;cursor:pointer;background-image:url(/assets/collapse-DCvTPk_P.png);background-size:cover;background-position:center}.collapse-icon-up[data-v-b740256b]{transform:rotate(-180deg)}.message-content[data-v-b740256b]{font-weight:500;white-space:pre-wrap}.message-image-border[data-v-b740256b]{width:40%;float:left;padding:7px;margin-right:15px;background-image:url(/assets/paper_white-C8HN8PnK.jpg);background-size:cover;box-shadow:0 3px 15px #626262;transform:rotate(-3deg)}.message-image[data-v-b740256b]{width:100%}.button-dialog[data-v-b740256b]{display:inline-block;font-weight:600;border-radius:5px;font-size:16px;margin-top:10px;margin-right:10px;background-image:url(/assets/belt-B9kZnNyz.png);background-size:cover;color:#bfa07d}.button-dialog-text[data-v-b740256b]{padding:5px 12px}.message-footer[data-v-b740256b]{padding-right:50px;font-weight:400;color:var(--second-color);position:relative}.application-label[data-v-b740256b]{background-image:url(/assets/label-DjUQJlD7.png);background-size:cover;width:30px;height:52px;text-align:center;padding-top:22px;color:#000;position:absolute;bottom:-10px;right:5px;transform:rotate(9deg);font-size:30px;font-family:sans-serif}.form-custom[data-v-fb9d4e7d]{position:fixed;bottom:0;left:0;width:100%;color:#fff;z-index:1000}.input-form[data-v-fb9d4e7d]{height:76px;position:relative;z-index:1000;margin:0 auto;max-width:1920px}.controller-metal[data-v-fb9d4e7d]{width:30px;height:calc(100% + 2px);position:absolute;top:-1px}.controller-metal-left[data-v-fb9d4e7d]{left:-30px}.controller-metal-right[data-v-fb9d4e7d]{right:-30px}.controller[data-v-fb9d4e7d]{display:flex;position:relative}.game-input[data-v-fb9d4e7d]{position:relative;top:14px;left:15px;height:50px;width:calc(100% - 175px)}.game-input-run[data-v-fb9d4e7d]{height:100%;width:100%;padding-left:27px;background-image:url(/assets/input_center-DZZtEHaZ.png);background-size:cover;border:0;font-size:18px;font-family:a_OldTyper;background-color:transparent}.game-input-run[data-v-fb9d4e7d]::placeholder{color:#333}.game-input-run[data-v-fb9d4e7d]:focus{border:0;outline:none}.game-button-run-shadow[data-v-fb9d4e7d]{position:absolute;right:10px;top:-5px;height:80px;width:150px;box-shadow:-5px 5px 10px #000}.game-button-run[data-v-fb9d4e7d]{background-image:url(/assets/button-DdziMEJE.png);background-size:cover;font-size:1.5em;position:absolute;right:10px;top:-5px;height:80px;width:155px;border:0;background-color:transparent;margin:0;padding:0}.modal-overlay[data-v-351cc8f7]{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:9999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-content[data-v-351cc8f7]{position:relative;width:90%;max-width:420px;min-height:250px;background-position:center;background-repeat:no-repeat;overflow:hidden;background-image:url(/assets/stop-Dhh5jN6h.png);background-size:cover}.modal-body[data-v-351cc8f7]{position:relative;z-index:2;padding:30px}.game-input-form-shadow[data-v-351cc8f7]{height:90px;width:120%;left:-10%;top:3px;position:absolute;box-shadow:0 -5px 10px #000;z-index:9;background-color:#000}.messages-block[data-v-351cc8f7]{top:90px;height:calc(100dvh - 166px);overflow-y:auto;scrollbar-width:none;position:relative;padding:15px 10px}.team-name-block[data-v-351cc8f7]{margin-right:10px;width:50px;height:40px;font-family:a_OldTyper}.text-middle-wrapper[data-v-351cc8f7]{position:relative;height:100%}.text-middle-wrapper p[data-v-351cc8f7]{position:absolute;top:50%;left:50%;margin-right:-50%;transform:translate(-50%,-50%)}.text-truncate[data-v-351cc8f7]{text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:medium}.input-custom[data-v-7028a494]{width:100%;box-sizing:border-box;margin:10px 0}.error-message[data-v-7028a494]{color:brown;margin:16px 0}.input-custom[data-v-7028a494],.button-custom[data-v-7028a494]{padding:12px 16px;border:1px solid #ddd;border-radius:15px;font-size:16px}.button-container[data-v-7028a494]{display:flex} diff --git a/cmd/evening_detective/static/user/assets/index-CzUR_bUz.js b/cmd/evening_detective/static/user/assets/index-CBvKsrC1.js similarity index 99% rename from cmd/evening_detective/static/user/assets/index-CzUR_bUz.js rename to cmd/evening_detective/static/user/assets/index-CBvKsrC1.js index 789c08e..0b8a432 100644 --- a/cmd/evening_detective/static/user/assets/index-CzUR_bUz.js +++ b/cmd/evening_detective/static/user/assets/index-CBvKsrC1.js @@ -22,11 +22,11 @@ * vue-router v4.5.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */const Ft=typeof document<"u";function cl(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Yu(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&cl(e.default)}const re=Object.assign;function ar(e,t){const n={};for(const r in t){const s=t[r];n[r]=Ke(s)?s.map(e):e(s)}return n}const cn=()=>{},Ke=Array.isArray,ul=/#/g,Qu=/&/g,Xu=/\//g,Zu=/=/g,ea=/\?/g,al=/\+/g,ta=/%5B/g,na=/%5D/g,fl=/%5E/g,ra=/%60/g,dl=/%7B/g,sa=/%7C/g,hl=/%7D/g,oa=/%20/g;function bs(e){return encodeURI(""+e).replace(sa,"|").replace(ta,"[").replace(na,"]")}function ia(e){return bs(e).replace(dl,"{").replace(hl,"}").replace(fl,"^")}function Qr(e){return bs(e).replace(al,"%2B").replace(oa,"+").replace(ul,"%23").replace(Qu,"%26").replace(ra,"`").replace(dl,"{").replace(hl,"}").replace(fl,"^")}function la(e){return Qr(e).replace(Zu,"%3D")}function ca(e){return bs(e).replace(ul,"%23").replace(ea,"%3F")}function ua(e){return e==null?"":ca(e).replace(Xu,"%2F")}function mn(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const aa=/\/$/,fa=e=>e.replace(aa,"");function fr(e,t,n="/"){let r,s={},o="",i="";const c=t.indexOf("#");let l=t.indexOf("?");return c=0&&(l=-1),l>-1&&(r=t.slice(0,l),o=t.slice(l+1,c>-1?c:t.length),s=e(o)),c>-1&&(r=r||t.slice(0,c),i=t.slice(c,t.length)),r=ga(r??t,n),{fullPath:r+(o&&"?")+o+i,path:r,query:s,hash:mn(i)}}function da(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function ro(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function ha(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&$t(t.matched[r],n.matched[s])&&pl(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function $t(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function pl(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!pa(e[n],t[n]))return!1;return!0}function pa(e,t){return Ke(e)?so(e,t):Ke(t)?so(t,e):e===t}function so(e,t){return Ke(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function ga(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let o=n.length-1,i,c;for(i=0;i1&&o--;else break;return n.slice(0,o).join("/")+"/"+r.slice(i).join("/")}const dt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var _n;(function(e){e.pop="pop",e.push="push"})(_n||(_n={}));var un;(function(e){e.back="back",e.forward="forward",e.unknown=""})(un||(un={}));function ma(e){if(!e)if(Ft){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),fa(e)}const _a=/^[^#]+#/;function ya(e,t){return e.replace(_a,"#")+t}function va(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const Qn=()=>({left:window.scrollX,top:window.scrollY});function ba(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=va(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function oo(e,t){return(history.state?history.state.position-t:-1)+e}const Xr=new Map;function wa(e,t){Xr.set(e,t)}function Ea(e){const t=Xr.get(e);return Xr.delete(e),t}let Sa=()=>location.protocol+"//"+location.host;function gl(e,t){const{pathname:n,search:r,hash:s}=t,o=e.indexOf("#");if(o>-1){let c=s.includes(e.slice(o))?e.slice(o).length:1,l=s.slice(c);return l[0]!=="/"&&(l="/"+l),ro(l,"")}return ro(n,e)+r+s}function Ca(e,t,n,r){let s=[],o=[],i=null;const c=({state:g})=>{const p=gl(e,location),b=n.value,w=t.value;let B=0;if(g){if(n.value=p,t.value=g,i&&i===b){i=null;return}B=w?g.position-w.position:0}else r(p);s.forEach(S=>{S(n.value,b,{delta:B,type:_n.pop,direction:B?B>0?un.forward:un.back:un.unknown})})};function l(){i=n.value}function a(g){s.push(g);const p=()=>{const b=s.indexOf(g);b>-1&&s.splice(b,1)};return o.push(p),p}function u(){const{history:g}=window;g.state&&g.replaceState(re({},g.state,{scroll:Qn()}),"")}function f(){for(const g of o)g();o=[],window.removeEventListener("popstate",c),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",c),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:l,listen:a,destroy:f}}function io(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?Qn():null}}function Ra(e){const{history:t,location:n}=window,r={value:gl(e,n)},s={value:t.state};s.value||o(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(l,a,u){const f=e.indexOf("#"),g=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+l:Sa()+e+l;try{t[u?"replaceState":"pushState"](a,"",g),s.value=a}catch(p){console.error(p),n[u?"replace":"assign"](g)}}function i(l,a){const u=re({},t.state,io(s.value.back,l,s.value.forward,!0),a,{position:s.value.position});o(l,u,!0),r.value=l}function c(l,a){const u=re({},s.value,t.state,{forward:l,scroll:Qn()});o(u.current,u,!0);const f=re({},io(r.value,l,null),{position:u.position+1},a);o(l,f,!1),r.value=l}return{location:r,state:s,push:c,replace:i}}function Pa(e){e=ma(e);const t=Ra(e),n=Ca(e,t.state,t.location,t.replace);function r(o,i=!0){i||n.pauseListeners(),history.go(o)}const s=re({location:"",base:e,go:r,createHref:ya.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}function Aa(e){return typeof e=="string"||e&&typeof e=="object"}function ml(e){return typeof e=="string"||typeof e=="symbol"}const _l=Symbol("");var lo;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(lo||(lo={}));function zt(e,t){return re(new Error,{type:e,[_l]:!0},t)}function rt(e,t){return e instanceof Error&&_l in e&&(t==null||!!(e.type&t))}const co="[^/]+?",Ta={sensitive:!1,strict:!1,start:!0,end:!0},xa=/[.+*?^${}()[\]/\\]/g;function Ia(e,t){const n=re({},Ta,t),r=[];let s=n.start?"^":"";const o=[];for(const a of e){const u=a.length?[]:[90];n.strict&&!a.length&&(s+="/");for(let f=0;ft.length?t.length===1&&t[0]===80?1:-1:0}function yl(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const Ba={type:0,value:""},Na=/[a-zA-Z0-9_]/;function Oa(e){if(!e)return[[]];if(e==="/")return[[Ba]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(p){throw new Error(`ERR (${n})/"${a}": ${p}`)}let n=0,r=n;const s=[];let o;function i(){o&&s.push(o),o=[]}let c=0,l,a="",u="";function f(){a&&(n===0?o.push({type:0,value:a}):n===1||n===2||n===3?(o.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${a}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:a,regexp:u,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),a="")}function g(){a+=l}for(;c{i(P)}:cn}function i(f){if(ml(f)){const g=r.get(f);g&&(r.delete(f),n.splice(n.indexOf(g),1),g.children.forEach(i),g.alias.forEach(i))}else{const g=n.indexOf(f);g>-1&&(n.splice(g,1),f.record.name&&r.delete(f.record.name),f.children.forEach(i),f.alias.forEach(i))}}function c(){return n}function l(f){const g=Ua(f,n);n.splice(g,0,f),f.record.name&&!ho(f)&&r.set(f.record.name,f)}function a(f,g){let p,b={},w,B;if("name"in f&&f.name){if(p=r.get(f.name),!p)throw zt(1,{location:f});B=p.record.name,b=re(ao(g.params,p.keys.filter(P=>!P.optional).concat(p.parent?p.parent.keys.filter(P=>P.optional):[]).map(P=>P.name)),f.params&&ao(f.params,p.keys.map(P=>P.name))),w=p.stringify(b)}else if(f.path!=null)w=f.path,p=n.find(P=>P.re.test(w)),p&&(b=p.parse(w),B=p.record.name);else{if(p=g.name?r.get(g.name):n.find(P=>P.re.test(g.path)),!p)throw zt(1,{location:f,currentLocation:g});B=p.record.name,b=re({},g.params,f.params),w=p.stringify(b)}const S=[];let R=p;for(;R;)S.unshift(R.record),R=R.parent;return{name:B,path:w,params:b,matched:S,meta:ka(S)}}e.forEach(f=>o(f));function u(){n.length=0,r.clear()}return{addRoute:o,resolve:a,removeRoute:i,clearRoutes:u,getRoutes:c,getRecordMatcher:s}}function ao(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function fo(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Da(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Da(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function ho(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function ka(e){return e.reduce((t,n)=>re(t,n.meta),{})}function po(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function Ua(e,t){let n=0,r=t.length;for(;n!==r;){const o=n+r>>1;yl(e,t[o])<0?r=o:n=o+1}const s=Va(e);return s&&(r=t.lastIndexOf(s,r-1)),r}function Va(e){let t=e;for(;t=t.parent;)if(vl(t)&&yl(e,t)===0)return t}function vl({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Ha(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;so&&Qr(o)):[r&&Qr(r)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function ja(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=Ke(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const qa=Symbol(""),mo=Symbol(""),Xn=Symbol(""),ws=Symbol(""),Zr=Symbol("");function Qt(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function mt(e,t,n,r,s,o=i=>i()){const i=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((c,l)=>{const a=g=>{g===!1?l(zt(4,{from:n,to:t})):g instanceof Error?l(g):Aa(g)?l(zt(2,{from:t,to:g})):(i&&r.enterCallbacks[s]===i&&typeof g=="function"&&i.push(g),c())},u=o(()=>e.call(r&&r.instances[s],t,n,a));let f=Promise.resolve(u);e.length<3&&(f=f.then(a)),f.catch(g=>l(g))})}function dr(e,t,n,r,s=o=>o()){const o=[];for(const i of e)for(const c in i.components){let l=i.components[c];if(!(t!=="beforeRouteEnter"&&!i.instances[c]))if(cl(l)){const u=(l.__vccOpts||l)[t];u&&o.push(mt(u,n,r,i,c,s))}else{let a=l();o.push(()=>a.then(u=>{if(!u)throw new Error(`Couldn't resolve component "${c}" at "${i.path}"`);const f=Yu(u)?u.default:u;i.mods[c]=u,i.components[c]=f;const p=(f.__vccOpts||f)[t];return p&&mt(p,n,r,i,c,s)()}))}}return o}function _o(e){const t=qe(Xn),n=qe(ws),r=He(()=>{const l=_t(e.to);return t.resolve(l)}),s=He(()=>{const{matched:l}=r.value,{length:a}=l,u=l[a-1],f=n.matched;if(!u||!f.length)return-1;const g=f.findIndex($t.bind(null,u));if(g>-1)return g;const p=yo(l[a-2]);return a>1&&yo(u)===p&&f[f.length-1].path!==p?f.findIndex($t.bind(null,l[a-2])):g}),o=He(()=>s.value>-1&&Wa(n.params,r.value.params)),i=He(()=>s.value>-1&&s.value===n.matched.length-1&&pl(n.params,r.value.params));function c(l={}){if(Ga(l)){const a=t[_t(e.replace)?"replace":"push"](_t(e.to)).catch(cn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>a),a}return Promise.resolve()}return{route:r,href:He(()=>r.value.href),isActive:o,isExactActive:i,navigate:c}}function Ka(e){return e.length===1?e[0]:e}const $a=Me({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:_o,setup(e,{slots:t}){const n=$n(_o(e)),{options:r}=qe(Xn),s=He(()=>({[vo(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[vo(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&Ka(t.default(n));return e.custom?o:vs("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),za=$a;function Ga(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Wa(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!Ke(s)||s.length!==r.length||r.some((o,i)=>o!==s[i]))return!1}return!0}function yo(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const vo=(e,t,n)=>e??t??n,Ja=Me({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=qe(Zr),s=He(()=>e.route||r.value),o=qe(mo,0),i=He(()=>{let a=_t(o);const{matched:u}=s.value;let f;for(;(f=u[a])&&!f.components;)a++;return a}),c=He(()=>s.value.matched[i.value]);Pn(mo,He(()=>i.value+1)),Pn(qa,c),Pn(Zr,s);const l=me();return on(()=>[l.value,c.value,e.name],([a,u,f],[g,p,b])=>{u&&(u.instances[f]=a,p&&p!==u&&a&&a===g&&(u.leaveGuards.size||(u.leaveGuards=p.leaveGuards),u.updateGuards.size||(u.updateGuards=p.updateGuards))),a&&u&&(!p||!$t(u,p)||!g)&&(u.enterCallbacks[f]||[]).forEach(w=>w(a))},{flush:"post"}),()=>{const a=s.value,u=e.name,f=c.value,g=f&&f.components[u];if(!g)return bo(n.default,{Component:g,route:a});const p=f.props[u],b=p?p===!0?a.params:typeof p=="function"?p(a):p:null,B=vs(g,re({},b,t,{onVnodeUnmounted:S=>{S.component.isUnmounted&&(f.instances[u]=null)},ref:l}));return bo(n.default,{Component:B,route:a})||B}}});function bo(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const bl=Ja;function Ya(e){const t=Fa(e.routes,e),n=e.parseQuery||Ha,r=e.stringifyQuery||go,s=e.history,o=Qt(),i=Qt(),c=Qt(),l=lc(dt);let a=dt;Ft&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=ar.bind(null,y=>""+y),f=ar.bind(null,ua),g=ar.bind(null,mn);function p(y,M){let x,k;return ml(y)?(x=t.getRecordMatcher(y),k=M):k=y,t.addRoute(k,x)}function b(y){const M=t.getRecordMatcher(y);M&&t.removeRoute(M)}function w(){return t.getRoutes().map(y=>y.record)}function B(y){return!!t.getRecordMatcher(y)}function S(y,M){if(M=re({},M||l.value),typeof y=="string"){const m=fr(n,y,M.path),v=t.resolve({path:m.path},M),C=s.createHref(m.fullPath);return re(m,v,{params:g(v.params),hash:mn(m.hash),redirectedFrom:void 0,href:C})}let x;if(y.path!=null)x=re({},y,{path:fr(n,y.path,M.path).path});else{const m=re({},y.params);for(const v in m)m[v]==null&&delete m[v];x=re({},y,{params:f(m)}),M.params=f(M.params)}const k=t.resolve(x,M),ce=y.hash||"";k.params=u(g(k.params));const d=da(r,re({},y,{hash:ia(ce),path:k.path})),h=s.createHref(d);return re({fullPath:d,hash:ce,query:r===go?ja(y.query):y.query||{}},k,{redirectedFrom:void 0,href:h})}function R(y){return typeof y=="string"?fr(n,y,l.value.path):re({},y)}function P(y,M){if(a!==y)return zt(8,{from:M,to:y})}function _(y){return L(y)}function G(y){return _(re(R(y),{replace:!0}))}function N(y){const M=y.matched[y.matched.length-1];if(M&&M.redirect){const{redirect:x}=M;let k=typeof x=="function"?x(y):x;return typeof k=="string"&&(k=k.includes("?")||k.includes("#")?k=R(k):{path:k},k.params={}),re({query:y.query,hash:y.hash,params:k.path!=null?{}:y.params},k)}}function L(y,M){const x=a=S(y),k=l.value,ce=y.state,d=y.force,h=y.replace===!0,m=N(x);if(m)return L(re(R(m),{state:typeof m=="object"?re({},ce,m.state):ce,force:d,replace:h}),M||x);const v=x;v.redirectedFrom=M;let C;return!d&&ha(r,k,x)&&(C=zt(16,{to:v,from:k}),Re(k,k,!0,!1)),(C?Promise.resolve(C):j(v,k)).catch(E=>rt(E)?rt(E,2)?E:De(E):Z(E,v,k)).then(E=>{if(E){if(rt(E,2))return L(re({replace:h},R(E.to),{state:typeof E.to=="object"?re({},ce,E.to.state):ce,force:d}),M||v)}else E=q(v,k,!0,h,ce);return H(v,k,E),E})}function V(y,M){const x=P(y,M);return x?Promise.reject(x):Promise.resolve()}function D(y){const M=at.values().next().value;return M&&typeof M.runWithContext=="function"?M.runWithContext(y):y()}function j(y,M){let x;const[k,ce,d]=Qa(y,M);x=dr(k.reverse(),"beforeRouteLeave",y,M);for(const m of k)m.leaveGuards.forEach(v=>{x.push(mt(v,y,M))});const h=V.bind(null,y,M);return x.push(h),Pe(x).then(()=>{x=[];for(const m of o.list())x.push(mt(m,y,M));return x.push(h),Pe(x)}).then(()=>{x=dr(ce,"beforeRouteUpdate",y,M);for(const m of ce)m.updateGuards.forEach(v=>{x.push(mt(v,y,M))});return x.push(h),Pe(x)}).then(()=>{x=[];for(const m of d)if(m.beforeEnter)if(Ke(m.beforeEnter))for(const v of m.beforeEnter)x.push(mt(v,y,M));else x.push(mt(m.beforeEnter,y,M));return x.push(h),Pe(x)}).then(()=>(y.matched.forEach(m=>m.enterCallbacks={}),x=dr(d,"beforeRouteEnter",y,M,D),x.push(h),Pe(x))).then(()=>{x=[];for(const m of i.list())x.push(mt(m,y,M));return x.push(h),Pe(x)}).catch(m=>rt(m,8)?m:Promise.reject(m))}function H(y,M,x){c.list().forEach(k=>D(()=>k(y,M,x)))}function q(y,M,x,k,ce){const d=P(y,M);if(d)return d;const h=M===dt,m=Ft?history.state:{};x&&(k||h?s.replace(y.fullPath,re({scroll:h&&m&&m.scroll},ce)):s.push(y.fullPath,ce)),l.value=y,Re(y,M,x,h),De()}let U;function J(){U||(U=s.listen((y,M,x)=>{if(!ft.listening)return;const k=S(y),ce=N(k);if(ce){L(re(ce,{replace:!0,force:!0}),k).catch(cn);return}a=k;const d=l.value;Ft&&wa(oo(d.fullPath,x.delta),Qn()),j(k,d).catch(h=>rt(h,12)?h:rt(h,2)?(L(re(R(h.to),{force:!0}),k).then(m=>{rt(m,20)&&!x.delta&&x.type===_n.pop&&s.go(-1,!1)}).catch(cn),Promise.reject()):(x.delta&&s.go(-x.delta,!1),Z(h,k,d))).then(h=>{h=h||q(k,d,!1),h&&(x.delta&&!rt(h,8)?s.go(-x.delta,!1):x.type===_n.pop&&rt(h,20)&&s.go(-1,!1)),H(k,d,h)}).catch(cn)}))}let Ce=Qt(),de=Qt(),ne;function Z(y,M,x){De(y);const k=de.list();return k.length?k.forEach(ce=>ce(y,M,x)):console.error(y),Promise.reject(y)}function Ve(){return ne&&l.value!==dt?Promise.resolve():new Promise((y,M)=>{Ce.add([y,M])})}function De(y){return ne||(ne=!y,J(),Ce.list().forEach(([M,x])=>y?x(y):M()),Ce.reset()),y}function Re(y,M,x,k){const{scrollBehavior:ce}=e;if(!Ft||!ce)return Promise.resolve();const d=!x&&Ea(oo(y.fullPath,0))||(k||!x)&&history.state&&history.state.scroll||null;return ds().then(()=>ce(y,M,d)).then(h=>h&&ba(h)).catch(h=>Z(h,y,M))}const ge=y=>s.go(y);let $e;const at=new Set,ft={currentRoute:l,listening:!0,addRoute:p,removeRoute:b,clearRoutes:t.clearRoutes,hasRoute:B,getRoutes:w,resolve:S,options:e,push:_,replace:G,go:ge,back:()=>ge(-1),forward:()=>ge(1),beforeEach:o.add,beforeResolve:i.add,afterEach:c.add,onError:de.add,isReady:Ve,install(y){const M=this;y.component("RouterLink",za),y.component("RouterView",bl),y.config.globalProperties.$router=M,Object.defineProperty(y.config.globalProperties,"$route",{enumerable:!0,get:()=>_t(l)}),Ft&&!$e&&l.value===dt&&($e=!0,_(s.location).catch(ce=>{}));const x={};for(const ce in dt)Object.defineProperty(x,ce,{get:()=>l.value[ce],enumerable:!0});y.provide(Xn,M),y.provide(ws,bi(x)),y.provide(Zr,l);const k=y.unmount;at.add(y),y.unmount=function(){at.delete(y),at.size<1&&(a=dt,U&&U(),U=null,l.value=dt,$e=!1,ne=!1),k()}}};function Pe(y){return y.reduce((M,x)=>M.then(()=>D(x)),Promise.resolve())}return ft}function Qa(e,t){const n=[],r=[],s=[],o=Math.max(t.matched.length,e.matched.length);for(let i=0;i$t(a,c))?r.push(c):n.push(c));const l=e.matched[i];l&&(t.matched.find(a=>$t(a,l))||s.push(l))}return[n,r,s]}function wl(){return qe(Xn)}function Xa(e){return qe(ws)}const Za=Me({__name:"App",setup(e){return(t,n)=>(ee(),Tt(_t(bl)))}}),Ue=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},ef=Ue(Za,[["__scopeId","data-v-913ef6b1"]]),tf="/assets/logo_belt-BKkOxVEN.png",nf={},rf={class:"belt-block"};function sf(e,t){return ee(),fe("div",null,[t[0]||(t[0]=$("div",{class:"shadow"},null,-1)),$("div",rf,[vn(e.$slots,"default",{},void 0)])])}const of=Ue(nf,[["render",sf],["__scopeId","data-v-9903d979"]]),lf={},cf={class:"belt-block"};function uf(e,t){return ee(),fe("div",null,[t[0]||(t[0]=$("div",{class:"shadow shadow-top"},null,-1)),t[1]||(t[1]=$("div",{class:"shadow shadow-bottom"},null,-1)),$("div",cf,[vn(e.$slots,"default",{},void 0)])])}const El=Ue(lf,[["render",uf],["__scopeId","data-v-3203f6df"]]),af={class:"text-with-font"},ff=Me({__name:"HeaderText",setup(e){return(t,n)=>(ee(),fe("span",af,[vn(t.$slots,"default",{},void 0)]))}}),Sl=Ue(ff,[["__scopeId","data-v-33b571eb"]]),df={},hf={class:"plate-block"},pf={class:"metal-plate-block"};function gf(e,t){return ee(),fe("div",hf,[$("div",pf,[vn(e.$slots,"default",{},void 0)]),t[0]||(t[0]=$("div",{class:"pin pin-top-left"},null,-1)),t[1]||(t[1]=$("div",{class:"pin pin-top-right"},null,-1)),t[2]||(t[2]=$("div",{class:"pin pin-bottom-right"},null,-1)),t[3]||(t[3]=$("div",{class:"pin pin-bottom-left"},null,-1))])}const kn=Ue(df,[["render",gf],["__scopeId","data-v-24c80f2d"]]),mf={class:"game-header"},_f={class:"center"},yf={class:"position-right-center-block"},vf=Me({__name:"GameHeader",setup(e){return(t,n)=>(ee(),fe("div",mf,[$("div",_f,[ie(kn,{class:"controller-metal controller-metal-left"}),ie(kn,{class:"controller-metal controller-metal-right"}),n[1]||(n[1]=$("img",{alt:"Вечерний детектив",class:"logo",src:tf},null,-1)),ie(of,{class:"belt-mini"}),ie(El,{class:"belt"},{default:yt(()=>[$("div",yf,[ie(Sl,null,{default:yt(()=>n[0]||(n[0]=[qt("Вечерний детектив")])),_:1})])]),_:1})])]))}}),bf=Ue(vf,[["__scopeId","data-v-cb5d784c"]]);class xt extends Error{constructor(t="Пользователь не авторизован (401)"){super(t),this.name="UnauthorizedError",Object.setPrototypeOf(this,xt.prototype)}}const Cl=async(e,t)=>{try{const n=await fetch(Es("/team"),{method:"GET",headers:{"X-Id":Ss(e),"X-Password":t}});if(n.status===401)throw new xt("Ошибка авторизации");if(!n.ok)throw new Error(`http error status: ${n.status}`);return await n.json()}catch(n){throw console.error("[apiGetTeam] error:",n),n}},Rl=async(e,t,n)=>{try{const r=await fetch(Es("/team/actions"),{method:"POST",headers:{"X-Id":Ss(e),"X-Password":t},body:JSON.stringify({place:n})});if(r.status===401)throw new xt("Ошибка авторизации");if(!r.ok)throw new Error(`http error status: ${r.status}`);return await r.json()}catch(r){throw console.error("[apiLetsgo] error:",r),r}},wf=async(e,t)=>{try{const n=await fetch(Es("/game"),{method:"GET",headers:{"X-Id":Ss(e),"X-Password":t}});if(n.status===401)throw new xt("Ошибка авторизации");if(!n.ok)throw new Error(`http error status: ${n.status}`);return await n.json()}catch(n){throw console.error("[apiGetGame] error:",n),n}};function Es(e){return"http://"+window.location.host.split(":")[0]+":8090"+e}function Ss(e){return btoa(encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,(t,n)=>String.fromCharCode(parseInt(n,16))))}var Nt={},hr,wo;function Ef(){return wo||(wo=1,hr=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}),hr}var pr={},ht={},Eo;function It(){if(Eo)return ht;Eo=1;let e;const t=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];return ht.getSymbolSize=function(r){if(!r)throw new Error('"version" cannot be null or undefined');if(r<1||r>40)throw new Error('"version" should be in range from 1 to 40');return r*4+17},ht.getSymbolTotalCodewords=function(r){return t[r]},ht.getBCHDigit=function(n){let r=0;for(;n!==0;)r++,n>>>=1;return r},ht.setToSJISFunction=function(r){if(typeof r!="function")throw new Error('"toSJISFunc" is not a valid function.');e=r},ht.isKanjiModeEnabled=function(){return typeof e<"u"},ht.toSJIS=function(r){return e(r)},ht}var gr={},So;function Cs(){return So||(So=1,function(e){e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(n){if(typeof n!="string")throw new Error("Param is not a string");switch(n.toLowerCase()){case"l":case"low":return e.L;case"m":case"medium":return e.M;case"q":case"quartile":return e.Q;case"h":case"high":return e.H;default:throw new Error("Unknown EC Level: "+n)}}e.isValid=function(r){return r&&typeof r.bit<"u"&&r.bit>=0&&r.bit<4},e.from=function(r,s){if(e.isValid(r))return r;try{return t(r)}catch{return s}}}(gr)),gr}var mr,Co;function Sf(){if(Co)return mr;Co=1;function e(){this.buffer=[],this.length=0}return e.prototype={get:function(t){const n=Math.floor(t/8);return(this.buffer[n]>>>7-t%8&1)===1},put:function(t,n){for(let r=0;r>>n-r-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(t){const n=Math.floor(this.length/8);this.buffer.length<=n&&this.buffer.push(0),t&&(this.buffer[n]|=128>>>this.length%8),this.length++}},mr=e,mr}var _r,Ro;function Cf(){if(Ro)return _r;Ro=1;function e(t){if(!t||t<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=t,this.data=new Uint8Array(t*t),this.reservedBit=new Uint8Array(t*t)}return e.prototype.set=function(t,n,r,s){const o=t*this.size+n;this.data[o]=r,s&&(this.reservedBit[o]=!0)},e.prototype.get=function(t,n){return this.data[t*this.size+n]},e.prototype.xor=function(t,n,r){this.data[t*this.size+n]^=r},e.prototype.isReserved=function(t,n){return this.reservedBit[t*this.size+n]},_r=e,_r}var yr={},Po;function Rf(){return Po||(Po=1,function(e){const t=It().getSymbolSize;e.getRowColCoords=function(r){if(r===1)return[];const s=Math.floor(r/7)+2,o=t(r),i=o===145?26:Math.ceil((o-13)/(2*s-2))*2,c=[o-7];for(let l=1;l=0&&s<=7},e.from=function(s){return e.isValid(s)?parseInt(s,10):void 0},e.getPenaltyN1=function(s){const o=s.size;let i=0,c=0,l=0,a=null,u=null;for(let f=0;f=5&&(i+=t.N1+(c-5)),a=p,c=1),p=s.get(g,f),p===u?l++:(l>=5&&(i+=t.N1+(l-5)),u=p,l=1)}c>=5&&(i+=t.N1+(c-5)),l>=5&&(i+=t.N1+(l-5))}return i},e.getPenaltyN2=function(s){const o=s.size;let i=0;for(let c=0;c=10&&(c===1488||c===93)&&i++,l=l<<1&2047|s.get(u,a),u>=10&&(l===1488||l===93)&&i++}return i*t.N3},e.getPenaltyN4=function(s){let o=0;const i=s.data.length;for(let l=0;l=0;){const i=o[0];for(let l=0;l0){const c=new Uint8Array(this.degree);return c.set(o,i),c}return o},Er=t,Er}var Sr={},Cr={},Rr={},No;function Al(){return No||(No=1,Rr.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40}),Rr}var Ye={},Oo;function Tl(){if(Oo)return Ye;Oo=1;const e="[0-9]+",t="[A-Z $%*+\\-./:]+";let n="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";n=n.replace(/u/g,"\\u");const r="(?:(?![A-Z0-9 $%*+\\-./:]|"+n+`)(?:.|[\r + */const Ft=typeof document<"u";function cl(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Yu(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&cl(e.default)}const re=Object.assign;function ar(e,t){const n={};for(const r in t){const s=t[r];n[r]=Ke(s)?s.map(e):e(s)}return n}const cn=()=>{},Ke=Array.isArray,ul=/#/g,Qu=/&/g,Xu=/\//g,Zu=/=/g,ea=/\?/g,al=/\+/g,ta=/%5B/g,na=/%5D/g,fl=/%5E/g,ra=/%60/g,dl=/%7B/g,sa=/%7C/g,hl=/%7D/g,oa=/%20/g;function bs(e){return encodeURI(""+e).replace(sa,"|").replace(ta,"[").replace(na,"]")}function ia(e){return bs(e).replace(dl,"{").replace(hl,"}").replace(fl,"^")}function Qr(e){return bs(e).replace(al,"%2B").replace(oa,"+").replace(ul,"%23").replace(Qu,"%26").replace(ra,"`").replace(dl,"{").replace(hl,"}").replace(fl,"^")}function la(e){return Qr(e).replace(Zu,"%3D")}function ca(e){return bs(e).replace(ul,"%23").replace(ea,"%3F")}function ua(e){return e==null?"":ca(e).replace(Xu,"%2F")}function mn(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const aa=/\/$/,fa=e=>e.replace(aa,"");function fr(e,t,n="/"){let r,s={},o="",i="";const c=t.indexOf("#");let l=t.indexOf("?");return c=0&&(l=-1),l>-1&&(r=t.slice(0,l),o=t.slice(l+1,c>-1?c:t.length),s=e(o)),c>-1&&(r=r||t.slice(0,c),i=t.slice(c,t.length)),r=ga(r??t,n),{fullPath:r+(o&&"?")+o+i,path:r,query:s,hash:mn(i)}}function da(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function ro(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function ha(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&$t(t.matched[r],n.matched[s])&&pl(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function $t(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function pl(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!pa(e[n],t[n]))return!1;return!0}function pa(e,t){return Ke(e)?so(e,t):Ke(t)?so(t,e):e===t}function so(e,t){return Ke(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function ga(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let o=n.length-1,i,c;for(i=0;i1&&o--;else break;return n.slice(0,o).join("/")+"/"+r.slice(i).join("/")}const dt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var _n;(function(e){e.pop="pop",e.push="push"})(_n||(_n={}));var un;(function(e){e.back="back",e.forward="forward",e.unknown=""})(un||(un={}));function ma(e){if(!e)if(Ft){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),fa(e)}const _a=/^[^#]+#/;function ya(e,t){return e.replace(_a,"#")+t}function va(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const Qn=()=>({left:window.scrollX,top:window.scrollY});function ba(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=va(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function oo(e,t){return(history.state?history.state.position-t:-1)+e}const Xr=new Map;function wa(e,t){Xr.set(e,t)}function Ea(e){const t=Xr.get(e);return Xr.delete(e),t}let Sa=()=>location.protocol+"//"+location.host;function gl(e,t){const{pathname:n,search:r,hash:s}=t,o=e.indexOf("#");if(o>-1){let c=s.includes(e.slice(o))?e.slice(o).length:1,l=s.slice(c);return l[0]!=="/"&&(l="/"+l),ro(l,"")}return ro(n,e)+r+s}function Ca(e,t,n,r){let s=[],o=[],i=null;const c=({state:g})=>{const p=gl(e,location),b=n.value,w=t.value;let B=0;if(g){if(n.value=p,t.value=g,i&&i===b){i=null;return}B=w?g.position-w.position:0}else r(p);s.forEach(S=>{S(n.value,b,{delta:B,type:_n.pop,direction:B?B>0?un.forward:un.back:un.unknown})})};function l(){i=n.value}function a(g){s.push(g);const p=()=>{const b=s.indexOf(g);b>-1&&s.splice(b,1)};return o.push(p),p}function u(){const{history:g}=window;g.state&&g.replaceState(re({},g.state,{scroll:Qn()}),"")}function f(){for(const g of o)g();o=[],window.removeEventListener("popstate",c),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",c),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:l,listen:a,destroy:f}}function io(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?Qn():null}}function Ra(e){const{history:t,location:n}=window,r={value:gl(e,n)},s={value:t.state};s.value||o(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(l,a,u){const f=e.indexOf("#"),g=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+l:Sa()+e+l;try{t[u?"replaceState":"pushState"](a,"",g),s.value=a}catch(p){console.error(p),n[u?"replace":"assign"](g)}}function i(l,a){const u=re({},t.state,io(s.value.back,l,s.value.forward,!0),a,{position:s.value.position});o(l,u,!0),r.value=l}function c(l,a){const u=re({},s.value,t.state,{forward:l,scroll:Qn()});o(u.current,u,!0);const f=re({},io(r.value,l,null),{position:u.position+1},a);o(l,f,!1),r.value=l}return{location:r,state:s,push:c,replace:i}}function Pa(e){e=ma(e);const t=Ra(e),n=Ca(e,t.state,t.location,t.replace);function r(o,i=!0){i||n.pauseListeners(),history.go(o)}const s=re({location:"",base:e,go:r,createHref:ya.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}function Aa(e){return typeof e=="string"||e&&typeof e=="object"}function ml(e){return typeof e=="string"||typeof e=="symbol"}const _l=Symbol("");var lo;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(lo||(lo={}));function zt(e,t){return re(new Error,{type:e,[_l]:!0},t)}function rt(e,t){return e instanceof Error&&_l in e&&(t==null||!!(e.type&t))}const co="[^/]+?",Ta={sensitive:!1,strict:!1,start:!0,end:!0},xa=/[.+*?^${}()[\]/\\]/g;function Ia(e,t){const n=re({},Ta,t),r=[];let s=n.start?"^":"";const o=[];for(const a of e){const u=a.length?[]:[90];n.strict&&!a.length&&(s+="/");for(let f=0;ft.length?t.length===1&&t[0]===80?1:-1:0}function yl(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const Ba={type:0,value:""},Na=/[a-zA-Z0-9_]/;function Oa(e){if(!e)return[[]];if(e==="/")return[[Ba]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(p){throw new Error(`ERR (${n})/"${a}": ${p}`)}let n=0,r=n;const s=[];let o;function i(){o&&s.push(o),o=[]}let c=0,l,a="",u="";function f(){a&&(n===0?o.push({type:0,value:a}):n===1||n===2||n===3?(o.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${a}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:a,regexp:u,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),a="")}function g(){a+=l}for(;c{i(P)}:cn}function i(f){if(ml(f)){const g=r.get(f);g&&(r.delete(f),n.splice(n.indexOf(g),1),g.children.forEach(i),g.alias.forEach(i))}else{const g=n.indexOf(f);g>-1&&(n.splice(g,1),f.record.name&&r.delete(f.record.name),f.children.forEach(i),f.alias.forEach(i))}}function c(){return n}function l(f){const g=Ua(f,n);n.splice(g,0,f),f.record.name&&!ho(f)&&r.set(f.record.name,f)}function a(f,g){let p,b={},w,B;if("name"in f&&f.name){if(p=r.get(f.name),!p)throw zt(1,{location:f});B=p.record.name,b=re(ao(g.params,p.keys.filter(P=>!P.optional).concat(p.parent?p.parent.keys.filter(P=>P.optional):[]).map(P=>P.name)),f.params&&ao(f.params,p.keys.map(P=>P.name))),w=p.stringify(b)}else if(f.path!=null)w=f.path,p=n.find(P=>P.re.test(w)),p&&(b=p.parse(w),B=p.record.name);else{if(p=g.name?r.get(g.name):n.find(P=>P.re.test(g.path)),!p)throw zt(1,{location:f,currentLocation:g});B=p.record.name,b=re({},g.params,f.params),w=p.stringify(b)}const S=[];let R=p;for(;R;)S.unshift(R.record),R=R.parent;return{name:B,path:w,params:b,matched:S,meta:ka(S)}}e.forEach(f=>o(f));function u(){n.length=0,r.clear()}return{addRoute:o,resolve:a,removeRoute:i,clearRoutes:u,getRoutes:c,getRecordMatcher:s}}function ao(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function fo(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Da(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Da(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function ho(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function ka(e){return e.reduce((t,n)=>re(t,n.meta),{})}function po(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function Ua(e,t){let n=0,r=t.length;for(;n!==r;){const o=n+r>>1;yl(e,t[o])<0?r=o:n=o+1}const s=Va(e);return s&&(r=t.lastIndexOf(s,r-1)),r}function Va(e){let t=e;for(;t=t.parent;)if(vl(t)&&yl(e,t)===0)return t}function vl({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Ha(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;so&&Qr(o)):[r&&Qr(r)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function ja(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=Ke(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const qa=Symbol(""),mo=Symbol(""),Xn=Symbol(""),ws=Symbol(""),Zr=Symbol("");function Qt(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function mt(e,t,n,r,s,o=i=>i()){const i=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((c,l)=>{const a=g=>{g===!1?l(zt(4,{from:n,to:t})):g instanceof Error?l(g):Aa(g)?l(zt(2,{from:t,to:g})):(i&&r.enterCallbacks[s]===i&&typeof g=="function"&&i.push(g),c())},u=o(()=>e.call(r&&r.instances[s],t,n,a));let f=Promise.resolve(u);e.length<3&&(f=f.then(a)),f.catch(g=>l(g))})}function dr(e,t,n,r,s=o=>o()){const o=[];for(const i of e)for(const c in i.components){let l=i.components[c];if(!(t!=="beforeRouteEnter"&&!i.instances[c]))if(cl(l)){const u=(l.__vccOpts||l)[t];u&&o.push(mt(u,n,r,i,c,s))}else{let a=l();o.push(()=>a.then(u=>{if(!u)throw new Error(`Couldn't resolve component "${c}" at "${i.path}"`);const f=Yu(u)?u.default:u;i.mods[c]=u,i.components[c]=f;const p=(f.__vccOpts||f)[t];return p&&mt(p,n,r,i,c,s)()}))}}return o}function _o(e){const t=qe(Xn),n=qe(ws),r=He(()=>{const l=_t(e.to);return t.resolve(l)}),s=He(()=>{const{matched:l}=r.value,{length:a}=l,u=l[a-1],f=n.matched;if(!u||!f.length)return-1;const g=f.findIndex($t.bind(null,u));if(g>-1)return g;const p=yo(l[a-2]);return a>1&&yo(u)===p&&f[f.length-1].path!==p?f.findIndex($t.bind(null,l[a-2])):g}),o=He(()=>s.value>-1&&Wa(n.params,r.value.params)),i=He(()=>s.value>-1&&s.value===n.matched.length-1&&pl(n.params,r.value.params));function c(l={}){if(Ga(l)){const a=t[_t(e.replace)?"replace":"push"](_t(e.to)).catch(cn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>a),a}return Promise.resolve()}return{route:r,href:He(()=>r.value.href),isActive:o,isExactActive:i,navigate:c}}function Ka(e){return e.length===1?e[0]:e}const $a=Me({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:_o,setup(e,{slots:t}){const n=$n(_o(e)),{options:r}=qe(Xn),s=He(()=>({[vo(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[vo(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&Ka(t.default(n));return e.custom?o:vs("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),za=$a;function Ga(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Wa(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!Ke(s)||s.length!==r.length||r.some((o,i)=>o!==s[i]))return!1}return!0}function yo(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const vo=(e,t,n)=>e??t??n,Ja=Me({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=qe(Zr),s=He(()=>e.route||r.value),o=qe(mo,0),i=He(()=>{let a=_t(o);const{matched:u}=s.value;let f;for(;(f=u[a])&&!f.components;)a++;return a}),c=He(()=>s.value.matched[i.value]);Pn(mo,He(()=>i.value+1)),Pn(qa,c),Pn(Zr,s);const l=me();return on(()=>[l.value,c.value,e.name],([a,u,f],[g,p,b])=>{u&&(u.instances[f]=a,p&&p!==u&&a&&a===g&&(u.leaveGuards.size||(u.leaveGuards=p.leaveGuards),u.updateGuards.size||(u.updateGuards=p.updateGuards))),a&&u&&(!p||!$t(u,p)||!g)&&(u.enterCallbacks[f]||[]).forEach(w=>w(a))},{flush:"post"}),()=>{const a=s.value,u=e.name,f=c.value,g=f&&f.components[u];if(!g)return bo(n.default,{Component:g,route:a});const p=f.props[u],b=p?p===!0?a.params:typeof p=="function"?p(a):p:null,B=vs(g,re({},b,t,{onVnodeUnmounted:S=>{S.component.isUnmounted&&(f.instances[u]=null)},ref:l}));return bo(n.default,{Component:B,route:a})||B}}});function bo(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const bl=Ja;function Ya(e){const t=Fa(e.routes,e),n=e.parseQuery||Ha,r=e.stringifyQuery||go,s=e.history,o=Qt(),i=Qt(),c=Qt(),l=lc(dt);let a=dt;Ft&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=ar.bind(null,y=>""+y),f=ar.bind(null,ua),g=ar.bind(null,mn);function p(y,M){let x,k;return ml(y)?(x=t.getRecordMatcher(y),k=M):k=y,t.addRoute(k,x)}function b(y){const M=t.getRecordMatcher(y);M&&t.removeRoute(M)}function w(){return t.getRoutes().map(y=>y.record)}function B(y){return!!t.getRecordMatcher(y)}function S(y,M){if(M=re({},M||l.value),typeof y=="string"){const m=fr(n,y,M.path),v=t.resolve({path:m.path},M),C=s.createHref(m.fullPath);return re(m,v,{params:g(v.params),hash:mn(m.hash),redirectedFrom:void 0,href:C})}let x;if(y.path!=null)x=re({},y,{path:fr(n,y.path,M.path).path});else{const m=re({},y.params);for(const v in m)m[v]==null&&delete m[v];x=re({},y,{params:f(m)}),M.params=f(M.params)}const k=t.resolve(x,M),ce=y.hash||"";k.params=u(g(k.params));const d=da(r,re({},y,{hash:ia(ce),path:k.path})),h=s.createHref(d);return re({fullPath:d,hash:ce,query:r===go?ja(y.query):y.query||{}},k,{redirectedFrom:void 0,href:h})}function R(y){return typeof y=="string"?fr(n,y,l.value.path):re({},y)}function P(y,M){if(a!==y)return zt(8,{from:M,to:y})}function _(y){return L(y)}function G(y){return _(re(R(y),{replace:!0}))}function N(y){const M=y.matched[y.matched.length-1];if(M&&M.redirect){const{redirect:x}=M;let k=typeof x=="function"?x(y):x;return typeof k=="string"&&(k=k.includes("?")||k.includes("#")?k=R(k):{path:k},k.params={}),re({query:y.query,hash:y.hash,params:k.path!=null?{}:y.params},k)}}function L(y,M){const x=a=S(y),k=l.value,ce=y.state,d=y.force,h=y.replace===!0,m=N(x);if(m)return L(re(R(m),{state:typeof m=="object"?re({},ce,m.state):ce,force:d,replace:h}),M||x);const v=x;v.redirectedFrom=M;let C;return!d&&ha(r,k,x)&&(C=zt(16,{to:v,from:k}),Re(k,k,!0,!1)),(C?Promise.resolve(C):j(v,k)).catch(E=>rt(E)?rt(E,2)?E:De(E):Z(E,v,k)).then(E=>{if(E){if(rt(E,2))return L(re({replace:h},R(E.to),{state:typeof E.to=="object"?re({},ce,E.to.state):ce,force:d}),M||v)}else E=q(v,k,!0,h,ce);return H(v,k,E),E})}function V(y,M){const x=P(y,M);return x?Promise.reject(x):Promise.resolve()}function D(y){const M=at.values().next().value;return M&&typeof M.runWithContext=="function"?M.runWithContext(y):y()}function j(y,M){let x;const[k,ce,d]=Qa(y,M);x=dr(k.reverse(),"beforeRouteLeave",y,M);for(const m of k)m.leaveGuards.forEach(v=>{x.push(mt(v,y,M))});const h=V.bind(null,y,M);return x.push(h),Pe(x).then(()=>{x=[];for(const m of o.list())x.push(mt(m,y,M));return x.push(h),Pe(x)}).then(()=>{x=dr(ce,"beforeRouteUpdate",y,M);for(const m of ce)m.updateGuards.forEach(v=>{x.push(mt(v,y,M))});return x.push(h),Pe(x)}).then(()=>{x=[];for(const m of d)if(m.beforeEnter)if(Ke(m.beforeEnter))for(const v of m.beforeEnter)x.push(mt(v,y,M));else x.push(mt(m.beforeEnter,y,M));return x.push(h),Pe(x)}).then(()=>(y.matched.forEach(m=>m.enterCallbacks={}),x=dr(d,"beforeRouteEnter",y,M,D),x.push(h),Pe(x))).then(()=>{x=[];for(const m of i.list())x.push(mt(m,y,M));return x.push(h),Pe(x)}).catch(m=>rt(m,8)?m:Promise.reject(m))}function H(y,M,x){c.list().forEach(k=>D(()=>k(y,M,x)))}function q(y,M,x,k,ce){const d=P(y,M);if(d)return d;const h=M===dt,m=Ft?history.state:{};x&&(k||h?s.replace(y.fullPath,re({scroll:h&&m&&m.scroll},ce)):s.push(y.fullPath,ce)),l.value=y,Re(y,M,x,h),De()}let U;function J(){U||(U=s.listen((y,M,x)=>{if(!ft.listening)return;const k=S(y),ce=N(k);if(ce){L(re(ce,{replace:!0,force:!0}),k).catch(cn);return}a=k;const d=l.value;Ft&&wa(oo(d.fullPath,x.delta),Qn()),j(k,d).catch(h=>rt(h,12)?h:rt(h,2)?(L(re(R(h.to),{force:!0}),k).then(m=>{rt(m,20)&&!x.delta&&x.type===_n.pop&&s.go(-1,!1)}).catch(cn),Promise.reject()):(x.delta&&s.go(-x.delta,!1),Z(h,k,d))).then(h=>{h=h||q(k,d,!1),h&&(x.delta&&!rt(h,8)?s.go(-x.delta,!1):x.type===_n.pop&&rt(h,20)&&s.go(-1,!1)),H(k,d,h)}).catch(cn)}))}let Ce=Qt(),de=Qt(),ne;function Z(y,M,x){De(y);const k=de.list();return k.length?k.forEach(ce=>ce(y,M,x)):console.error(y),Promise.reject(y)}function Ve(){return ne&&l.value!==dt?Promise.resolve():new Promise((y,M)=>{Ce.add([y,M])})}function De(y){return ne||(ne=!y,J(),Ce.list().forEach(([M,x])=>y?x(y):M()),Ce.reset()),y}function Re(y,M,x,k){const{scrollBehavior:ce}=e;if(!Ft||!ce)return Promise.resolve();const d=!x&&Ea(oo(y.fullPath,0))||(k||!x)&&history.state&&history.state.scroll||null;return ds().then(()=>ce(y,M,d)).then(h=>h&&ba(h)).catch(h=>Z(h,y,M))}const ge=y=>s.go(y);let $e;const at=new Set,ft={currentRoute:l,listening:!0,addRoute:p,removeRoute:b,clearRoutes:t.clearRoutes,hasRoute:B,getRoutes:w,resolve:S,options:e,push:_,replace:G,go:ge,back:()=>ge(-1),forward:()=>ge(1),beforeEach:o.add,beforeResolve:i.add,afterEach:c.add,onError:de.add,isReady:Ve,install(y){const M=this;y.component("RouterLink",za),y.component("RouterView",bl),y.config.globalProperties.$router=M,Object.defineProperty(y.config.globalProperties,"$route",{enumerable:!0,get:()=>_t(l)}),Ft&&!$e&&l.value===dt&&($e=!0,_(s.location).catch(ce=>{}));const x={};for(const ce in dt)Object.defineProperty(x,ce,{get:()=>l.value[ce],enumerable:!0});y.provide(Xn,M),y.provide(ws,bi(x)),y.provide(Zr,l);const k=y.unmount;at.add(y),y.unmount=function(){at.delete(y),at.size<1&&(a=dt,U&&U(),U=null,l.value=dt,$e=!1,ne=!1),k()}}};function Pe(y){return y.reduce((M,x)=>M.then(()=>D(x)),Promise.resolve())}return ft}function Qa(e,t){const n=[],r=[],s=[],o=Math.max(t.matched.length,e.matched.length);for(let i=0;i$t(a,c))?r.push(c):n.push(c));const l=e.matched[i];l&&(t.matched.find(a=>$t(a,l))||s.push(l))}return[n,r,s]}function wl(){return qe(Xn)}function Xa(e){return qe(ws)}const Za=Me({__name:"App",setup(e){return(t,n)=>(ee(),Tt(_t(bl)))}}),Ue=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},ef=Ue(Za,[["__scopeId","data-v-913ef6b1"]]),tf="/assets/logo_belt-BKkOxVEN.png",nf={},rf={class:"belt-block"};function sf(e,t){return ee(),fe("div",null,[t[0]||(t[0]=$("div",{class:"shadow"},null,-1)),$("div",rf,[vn(e.$slots,"default",{},void 0)])])}const of=Ue(nf,[["render",sf],["__scopeId","data-v-9903d979"]]),lf={},cf={class:"belt-block"};function uf(e,t){return ee(),fe("div",null,[t[0]||(t[0]=$("div",{class:"shadow shadow-top"},null,-1)),t[1]||(t[1]=$("div",{class:"shadow shadow-bottom"},null,-1)),$("div",cf,[vn(e.$slots,"default",{},void 0)])])}const El=Ue(lf,[["render",uf],["__scopeId","data-v-57312f28"]]),af={class:"text-with-font"},ff=Me({__name:"HeaderText",setup(e){return(t,n)=>(ee(),fe("span",af,[vn(t.$slots,"default",{},void 0)]))}}),Sl=Ue(ff,[["__scopeId","data-v-33b571eb"]]),df={},hf={class:"plate-block"},pf={class:"metal-plate-block"};function gf(e,t){return ee(),fe("div",hf,[$("div",pf,[vn(e.$slots,"default",{},void 0)]),t[0]||(t[0]=$("div",{class:"pin pin-top-left"},null,-1)),t[1]||(t[1]=$("div",{class:"pin pin-top-right"},null,-1)),t[2]||(t[2]=$("div",{class:"pin pin-bottom-right"},null,-1)),t[3]||(t[3]=$("div",{class:"pin pin-bottom-left"},null,-1))])}const kn=Ue(df,[["render",gf],["__scopeId","data-v-24c80f2d"]]),mf={class:"game-header"},_f={class:"center"},yf={class:"position-right-center-block"},vf=Me({__name:"GameHeader",setup(e){return(t,n)=>(ee(),fe("div",mf,[$("div",_f,[ie(kn,{class:"controller-metal controller-metal-left"}),ie(kn,{class:"controller-metal controller-metal-right"}),n[1]||(n[1]=$("img",{alt:"Вечерний детектив",class:"logo",src:tf},null,-1)),ie(of,{class:"belt-mini"}),ie(El,{class:"belt"},{default:yt(()=>[$("div",yf,[ie(Sl,null,{default:yt(()=>n[0]||(n[0]=[qt("Вечерний детектив")])),_:1})])]),_:1})])]))}}),bf=Ue(vf,[["__scopeId","data-v-cb5d784c"]]);class xt extends Error{constructor(t="Пользователь не авторизован (401)"){super(t),this.name="UnauthorizedError",Object.setPrototypeOf(this,xt.prototype)}}const Cl=async(e,t)=>{try{const n=await fetch(Es("/team"),{method:"GET",headers:{"X-Id":Ss(e),"X-Password":t}});if(n.status===401)throw new xt("Ошибка авторизации");if(!n.ok)throw new Error(`http error status: ${n.status}`);return await n.json()}catch(n){throw console.error("[apiGetTeam] error:",n),n}},Rl=async(e,t,n)=>{try{const r=await fetch(Es("/team/actions"),{method:"POST",headers:{"X-Id":Ss(e),"X-Password":t},body:JSON.stringify({place:n})});if(r.status===401)throw new xt("Ошибка авторизации");if(!r.ok)throw new Error(`http error status: ${r.status}`);return await r.json()}catch(r){throw console.error("[apiLetsgo] error:",r),r}},wf=async(e,t)=>{try{const n=await fetch(Es("/game"),{method:"GET",headers:{"X-Id":Ss(e),"X-Password":t}});if(n.status===401)throw new xt("Ошибка авторизации");if(!n.ok)throw new Error(`http error status: ${n.status}`);return await n.json()}catch(n){throw console.error("[apiGetGame] error:",n),n}};function Es(e){return"http://"+window.location.host.split(":")[0]+":8090"+e}function Ss(e){return btoa(encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,(t,n)=>String.fromCharCode(parseInt(n,16))))}var Nt={},hr,wo;function Ef(){return wo||(wo=1,hr=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}),hr}var pr={},ht={},Eo;function It(){if(Eo)return ht;Eo=1;let e;const t=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];return ht.getSymbolSize=function(r){if(!r)throw new Error('"version" cannot be null or undefined');if(r<1||r>40)throw new Error('"version" should be in range from 1 to 40');return r*4+17},ht.getSymbolTotalCodewords=function(r){return t[r]},ht.getBCHDigit=function(n){let r=0;for(;n!==0;)r++,n>>>=1;return r},ht.setToSJISFunction=function(r){if(typeof r!="function")throw new Error('"toSJISFunc" is not a valid function.');e=r},ht.isKanjiModeEnabled=function(){return typeof e<"u"},ht.toSJIS=function(r){return e(r)},ht}var gr={},So;function Cs(){return So||(So=1,function(e){e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(n){if(typeof n!="string")throw new Error("Param is not a string");switch(n.toLowerCase()){case"l":case"low":return e.L;case"m":case"medium":return e.M;case"q":case"quartile":return e.Q;case"h":case"high":return e.H;default:throw new Error("Unknown EC Level: "+n)}}e.isValid=function(r){return r&&typeof r.bit<"u"&&r.bit>=0&&r.bit<4},e.from=function(r,s){if(e.isValid(r))return r;try{return t(r)}catch{return s}}}(gr)),gr}var mr,Co;function Sf(){if(Co)return mr;Co=1;function e(){this.buffer=[],this.length=0}return e.prototype={get:function(t){const n=Math.floor(t/8);return(this.buffer[n]>>>7-t%8&1)===1},put:function(t,n){for(let r=0;r>>n-r-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(t){const n=Math.floor(this.length/8);this.buffer.length<=n&&this.buffer.push(0),t&&(this.buffer[n]|=128>>>this.length%8),this.length++}},mr=e,mr}var _r,Ro;function Cf(){if(Ro)return _r;Ro=1;function e(t){if(!t||t<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=t,this.data=new Uint8Array(t*t),this.reservedBit=new Uint8Array(t*t)}return e.prototype.set=function(t,n,r,s){const o=t*this.size+n;this.data[o]=r,s&&(this.reservedBit[o]=!0)},e.prototype.get=function(t,n){return this.data[t*this.size+n]},e.prototype.xor=function(t,n,r){this.data[t*this.size+n]^=r},e.prototype.isReserved=function(t,n){return this.reservedBit[t*this.size+n]},_r=e,_r}var yr={},Po;function Rf(){return Po||(Po=1,function(e){const t=It().getSymbolSize;e.getRowColCoords=function(r){if(r===1)return[];const s=Math.floor(r/7)+2,o=t(r),i=o===145?26:Math.ceil((o-13)/(2*s-2))*2,c=[o-7];for(let l=1;l=0&&s<=7},e.from=function(s){return e.isValid(s)?parseInt(s,10):void 0},e.getPenaltyN1=function(s){const o=s.size;let i=0,c=0,l=0,a=null,u=null;for(let f=0;f=5&&(i+=t.N1+(c-5)),a=p,c=1),p=s.get(g,f),p===u?l++:(l>=5&&(i+=t.N1+(l-5)),u=p,l=1)}c>=5&&(i+=t.N1+(c-5)),l>=5&&(i+=t.N1+(l-5))}return i},e.getPenaltyN2=function(s){const o=s.size;let i=0;for(let c=0;c=10&&(c===1488||c===93)&&i++,l=l<<1&2047|s.get(u,a),u>=10&&(l===1488||l===93)&&i++}return i*t.N3},e.getPenaltyN4=function(s){let o=0;const i=s.data.length;for(let l=0;l=0;){const i=o[0];for(let l=0;l0){const c=new Uint8Array(this.degree);return c.set(o,i),c}return o},Er=t,Er}var Sr={},Cr={},Rr={},No;function Al(){return No||(No=1,Rr.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40}),Rr}var Ye={},Oo;function Tl(){if(Oo)return Ye;Oo=1;const e="[0-9]+",t="[A-Z $%*+\\-./:]+";let n="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";n=n.replace(/u/g,"\\u");const r="(?:(?![A-Z0-9 $%*+\\-./:]|"+n+`)(?:.|[\r ]))+`;Ye.KANJI=new RegExp(n,"g"),Ye.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),Ye.BYTE=new RegExp(r,"g"),Ye.NUMERIC=new RegExp(e,"g"),Ye.ALPHANUMERIC=new RegExp(t,"g");const s=new RegExp("^"+n+"$"),o=new RegExp("^"+e+"$"),i=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");return Ye.testKanji=function(l){return s.test(l)},Ye.testNumeric=function(l){return o.test(l)},Ye.testAlphanumeric=function(l){return i.test(l)},Ye}var Lo;function Mt(){return Lo||(Lo=1,function(e){const t=Al(),n=Tl();e.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},e.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},e.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(o,i){if(!o.ccBits)throw new Error("Invalid mode: "+o);if(!t.isValid(i))throw new Error("Invalid version: "+i);return i>=1&&i<10?o.ccBits[0]:i<27?o.ccBits[1]:o.ccBits[2]},e.getBestModeForData=function(o){return n.testNumeric(o)?e.NUMERIC:n.testAlphanumeric(o)?e.ALPHANUMERIC:n.testKanji(o)?e.KANJI:e.BYTE},e.toString=function(o){if(o&&o.id)return o.id;throw new Error("Invalid mode")},e.isValid=function(o){return o&&o.bit&&o.ccBits};function r(s){if(typeof s!="string")throw new Error("Param is not a string");switch(s.toLowerCase()){case"numeric":return e.NUMERIC;case"alphanumeric":return e.ALPHANUMERIC;case"kanji":return e.KANJI;case"byte":return e.BYTE;default:throw new Error("Unknown mode: "+s)}}e.from=function(o,i){if(e.isValid(o))return o;try{return r(o)}catch{return i}}}(Cr)),Cr}var Fo;function Mf(){return Fo||(Fo=1,function(e){const t=It(),n=Pl(),r=Cs(),s=Mt(),o=Al(),i=7973,c=t.getBCHDigit(i);function l(g,p,b){for(let w=1;w<=40;w++)if(p<=e.getCapacity(w,b,g))return w}function a(g,p){return s.getCharCountIndicator(g,p)+4}function u(g,p){let b=0;return g.forEach(function(w){const B=a(w.mode,p);b+=B+w.getBitsLength()}),b}function f(g,p){for(let b=1;b<=40;b++)if(u(g,b)<=e.getCapacity(b,p,s.MIXED))return b}e.from=function(p,b){return o.isValid(p)?parseInt(p,10):b},e.getCapacity=function(p,b,w){if(!o.isValid(p))throw new Error("Invalid QR Code version");typeof w>"u"&&(w=s.BYTE);const B=t.getSymbolTotalCodewords(p),S=n.getTotalCodewordsCount(p,b),R=(B-S)*8;if(w===s.MIXED)return R;const P=R-a(w,p);switch(w){case s.NUMERIC:return Math.floor(P/10*3);case s.ALPHANUMERIC:return Math.floor(P/11*2);case s.KANJI:return Math.floor(P/13);case s.BYTE:default:return Math.floor(P/8)}},e.getBestVersionForData=function(p,b){let w;const B=r.from(b,r.M);if(Array.isArray(p)){if(p.length>1)return f(p,B);if(p.length===0)return 1;w=p[0]}else w=p;return l(w.mode,w.getLength(),B)},e.getEncodedBits=function(p){if(!o.isValid(p)||p<7)throw new Error("Invalid QR Code version");let b=p<<12;for(;t.getBCHDigit(b)-c>=0;)b^=i<=0;)l^=t<0&&(o=this.data.substr(s),i=parseInt(o,10),r.put(i,c*3+1))},Tr=t,Tr}var xr,Uo;function Of(){if(Uo)return xr;Uo=1;const e=Mt(),t=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function n(r){this.mode=e.ALPHANUMERIC,this.data=r}return n.getBitsLength=function(s){return 11*Math.floor(s/2)+6*(s%2)},n.prototype.getLength=function(){return this.data.length},n.prototype.getBitsLength=function(){return n.getBitsLength(this.data.length)},n.prototype.write=function(s){let o;for(o=0;o+2<=this.data.length;o+=2){let i=t.indexOf(this.data[o])*45;i+=t.indexOf(this.data[o+1]),s.put(i,11)}this.data.length%2&&s.put(t.indexOf(this.data[o]),6)},xr=n,xr}var Ir,Vo;function Lf(){if(Vo)return Ir;Vo=1;const e=Mt();function t(n){this.mode=e.BYTE,typeof n=="string"?this.data=new TextEncoder().encode(n):this.data=new Uint8Array(n)}return t.getBitsLength=function(r){return r*8},t.prototype.getLength=function(){return this.data.length},t.prototype.getBitsLength=function(){return t.getBitsLength(this.data.length)},t.prototype.write=function(n){for(let r=0,s=this.data.length;r=33088&&o<=40956)o-=33088;else if(o>=57408&&o<=60351)o-=49472;else throw new Error("Invalid SJIS character: "+this.data[s]+` Make sure your charset is UTF-8`);o=(o>>>8&255)*192+(o&255),r.put(o,13)}},Mr=n,Mr}var Br={exports:{}},jo;function Df(){return jo||(jo=1,function(e){var t={single_source_shortest_paths:function(n,r,s){var o={},i={};i[r]=0;var c=t.PriorityQueue.make();c.push(r,0);for(var l,a,u,f,g,p,b,w,B;!c.empty();){l=c.pop(),a=l.value,f=l.cost,g=n[a]||{};for(u in g)g.hasOwnProperty(u)&&(p=g[u],b=f+p,w=i[u],B=typeof i[u]>"u",(B||w>b)&&(i[u]=b,c.push(u,b),o[u]=a))}if(typeof s<"u"&&typeof i[s]>"u"){var S=["Could not find a path from ",r," to ",s,"."].join("");throw new Error(S)}return o},extract_shortest_path_from_predecessor_list:function(n,r){for(var s=[],o=r;o;)s.push(o),n[o],o=n[o];return s.reverse(),s},find_path:function(n,r,s){var o=t.single_source_shortest_paths(n,r,s);return t.extract_shortest_path_from_predecessor_list(o,s)},PriorityQueue:{make:function(n){var r=t.PriorityQueue,s={},o;n=n||{};for(o in r)r.hasOwnProperty(o)&&(s[o]=r[o]);return s.queue=[],s.sorter=n.sorter||r.default_sorter,s},default_sorter:function(n,r){return n.cost-r.cost},push:function(n,r){var s={value:n,cost:r};this.queue.push(s),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};e.exports=t}(Br)),Br.exports}var qo;function kf(){return qo||(qo=1,function(e){const t=Mt(),n=Nf(),r=Of(),s=Lf(),o=Ff(),i=Tl(),c=It(),l=Df();function a(S){return unescape(encodeURIComponent(S)).length}function u(S,R,P){const _=[];let G;for(;(G=S.exec(P))!==null;)_.push({data:G[0],index:G.index,mode:R,length:G[0].length});return _}function f(S){const R=u(i.NUMERIC,t.NUMERIC,S),P=u(i.ALPHANUMERIC,t.ALPHANUMERIC,S);let _,G;return c.isKanjiModeEnabled()?(_=u(i.BYTE,t.BYTE,S),G=u(i.KANJI,t.KANJI,S)):(_=u(i.BYTE_KANJI,t.BYTE,S),G=[]),R.concat(P,_,G).sort(function(L,V){return L.index-V.index}).map(function(L){return{data:L.data,mode:L.mode,length:L.length}})}function g(S,R){switch(R){case t.NUMERIC:return n.getBitsLength(S);case t.ALPHANUMERIC:return r.getBitsLength(S);case t.KANJI:return o.getBitsLength(S);case t.BYTE:return s.getBitsLength(S)}}function p(S){return S.reduce(function(R,P){const _=R.length-1>=0?R[R.length-1]:null;return _&&_.mode===P.mode?(R[R.length-1].data+=P.data,R):(R.push(P),R)},[])}function b(S){const R=[];for(let P=0;P=0&&U<=6&&(J===0||J===6)||J>=0&&J<=6&&(U===0||U===6)||U>=2&&U<=4&&J>=2&&J<=4?N.set(H+U,q+J,!0,!0):N.set(H+U,q+J,!1,!0))}}function b(N){const L=N.size;for(let V=8;V>U&1)===1,N.set(j,H,q,!0),N.set(H,j,q,!0)}function S(N,L,V){const D=N.size,j=u.getEncodedBits(L,V);let H,q;for(H=0;H<15;H++)q=(j>>H&1)===1,H<6?N.set(H,8,q,!0):H<8?N.set(H+1,8,q,!0):N.set(D-15+H,8,q,!0),H<8?N.set(8,D-H-1,q,!0):H<9?N.set(8,15-H-1+1,q,!0):N.set(8,15-H-1,q,!0);N.set(D-8,8,1,!0)}function R(N,L){const V=N.size;let D=-1,j=V-1,H=7,q=0;for(let U=V-1;U>0;U-=2)for(U===6&&U--;;){for(let J=0;J<2;J++)if(!N.isReserved(j,U-J)){let Ce=!1;q>>H&1)===1),N.set(j,U-J,Ce),H--,H===-1&&(q++,H=7)}if(j+=D,j<0||V<=j){j-=D,D=-D;break}}}function P(N,L,V){const D=new n;V.forEach(function(J){D.put(J.mode.bit,4),D.put(J.getLength(),f.getCharCountIndicator(J.mode,N)),J.write(D)});const j=e.getSymbolTotalCodewords(N),H=c.getTotalCodewordsCount(N,L),q=(j-H)*8;for(D.getLengthInBits()+4<=q&&D.put(0,4);D.getLengthInBits()%8!==0;)D.putBit(0);const U=(q-D.getLengthInBits())/8;for(let J=0;J=7&&B(J,L),R(J,q),isNaN(D)&&(D=i.getBestMask(J,S.bind(null,J,V))),i.applyMask(D,J),S(J,V,D),{modules:J,version:L,errorCorrectionLevel:V,maskPattern:D,segments:j}}return pr.create=function(L,V){if(typeof L>"u"||L==="")throw new Error("No input text");let D=t.M,j,H;return typeof V<"u"&&(D=t.from(V.errorCorrectionLevel,t.M),j=a.from(V.version),H=i.from(V.maskPattern),V.toSJISFunc&&e.setToSJISFunction(V.toSJISFunc)),G(L,j,D,H)},pr}var Nr={},Or={},$o;function xl(){return $o||($o=1,function(e){function t(n){if(typeof n=="number"&&(n=n.toString()),typeof n!="string")throw new Error("Color should be defined as hex string");let r=n.slice().replace("#","").split("");if(r.length<3||r.length===5||r.length>8)throw new Error("Invalid hex color: "+n);(r.length===3||r.length===4)&&(r=Array.prototype.concat.apply([],r.map(function(o){return[o,o]}))),r.length===6&&r.push("F","F");const s=parseInt(r.join(""),16);return{r:s>>24&255,g:s>>16&255,b:s>>8&255,a:s&255,hex:"#"+r.slice(0,6).join("")}}e.getOptions=function(r){r||(r={}),r.color||(r.color={});const s=typeof r.margin>"u"||r.margin===null||r.margin<0?4:r.margin,o=r.width&&r.width>=21?r.width:void 0,i=r.scale||4;return{width:o,scale:o?4:i,margin:s,color:{dark:t(r.color.dark||"#000000ff"),light:t(r.color.light||"#ffffffff")},type:r.type,rendererOpts:r.rendererOpts||{}}},e.getScale=function(r,s){return s.width&&s.width>=r+s.margin*2?s.width/(r+s.margin*2):s.scale},e.getImageWidth=function(r,s){const o=e.getScale(r,s);return Math.floor((r+s.margin*2)*o)},e.qrToImageData=function(r,s,o){const i=s.modules.size,c=s.modules.data,l=e.getScale(i,o),a=Math.floor((i+o.margin*2)*l),u=o.margin*l,f=[o.color.light,o.color.dark];for(let g=0;g=u&&p>=u&&g"u"&&(!i||!i.getContext)&&(l=i,i=void 0),i||(a=r()),l=t.getOptions(l);const u=t.getImageWidth(o.modules.size,l),f=a.getContext("2d"),g=f.createImageData(u,u);return t.qrToImageData(g.data,o,l),n(f,a,u),f.putImageData(g,0,0),a},e.renderToDataURL=function(o,i,c){let l=c;typeof l>"u"&&(!i||!i.getContext)&&(l=i,i=void 0),l||(l={});const a=e.render(o,i,l),u=l.type||"image/png",f=l.rendererOpts||{};return a.toDataURL(u,f.quality)}}(Nr)),Nr}var Lr={},Go;function Hf(){if(Go)return Lr;Go=1;const e=xl();function t(s,o){const i=s.a/255,c=o+'="'+s.hex+'"';return i<1?c+" "+o+'-opacity="'+i.toFixed(2).slice(1)+'"':c}function n(s,o,i){let c=s+o;return typeof i<"u"&&(c+=" "+i),c}function r(s,o,i){let c="",l=0,a=!1,u=0;for(let f=0;f0&&g>0&&s[f-1]||(c+=a?n("M",g+i,.5+p+i):n("m",l,0),l=0,a=!1),g+1':"",p="',b='viewBox="0 0 '+f+" "+f+'"',B=''+g+p+` -`;return typeof c=="function"&&c(null,B),B},Lr}var Wo;function jf(){if(Wo)return Nt;Wo=1;const e=Ef(),t=Uf(),n=Vf(),r=Hf();function s(o,i,c,l,a){const u=[].slice.call(arguments,1),f=u.length,g=typeof u[f-1]=="function";if(!g&&!e())throw new Error("Callback required as last argument");if(g){if(f<2)throw new Error("Too few arguments provided");f===2?(a=c,c=i,i=l=void 0):f===3&&(i.getContext&&typeof a>"u"?(a=l,l=void 0):(a=l,l=c,c=i,i=void 0))}else{if(f<1)throw new Error("Too few arguments provided");return f===1?(c=i,i=l=void 0):f===2&&!i.getContext&&(l=c,c=i,i=void 0),new Promise(function(p,b){try{const w=t.create(c,l);p(o(w,i,l))}catch(w){b(w)}})}try{const p=t.create(c,l);a(null,o(p,i,l))}catch(p){a(p)}}return Nt.create=t.create,Nt.toCanvas=s.bind(null,n.render),Nt.toDataURL=s.bind(null,n.renderToDataURL),Nt.toString=s.bind(null,function(o,i,c){return r.render(o,c)}),Nt}var Fr=jf();/*! vue-qrcode v2.0.0 | (c) 2018-present Chen Fengyuan | MIT */const Jo="ready";var qf=Me({name:"VueQrcode",props:{value:{type:String,default:void 0},options:{type:Object,default:void 0},tag:{type:String,default:"canvas"}},emits:[Jo],watch:{$props:{deep:!0,immediate:!0,handler(){this.$el&&this.generate()}}},mounted(){this.generate()},methods:{generate(){const e=this.options||{},t=String(this.value),n=()=>{this.$emit(Jo,this.$el)};switch(this.tag){case"canvas":Fr.toCanvas(this.$el,t,e,r=>{if(r)throw r;n()});break;case"img":Fr.toDataURL(t,e,(r,s)=>{if(r)throw r;this.$el.src=s,this.$el.onload=n});break;case"svg":Fr.toString(t,e,(r,s)=>{if(r)throw r;const o=document.createElement("div");o.innerHTML=s;const i=o.querySelector("svg");if(i){const{attributes:c,childNodes:l}=i;Object.keys(c).forEach(a=>{const u=c[Number(a)];this.$el.setAttribute(u.name,u.value)}),Object.keys(l).forEach(a=>{const u=l[Number(a)];this.$el.appendChild(u.cloneNode(!0))}),n()}});break}}},render(){return vs(this.tag,this.$slots.default)}});const Kf={class:"main"},$f={class:"message-cloud"},zf=Me({__name:"MessagePaper",setup(e){return(t,n)=>(ee(),fe("div",Kf,[n[0]||(n[0]=$("div",{class:"message-cloud-3"},null,-1)),n[1]||(n[1]=$("div",{class:"message-cloud-2"},null,-1)),$("div",$f,[vn(t.$slots,"default",{},void 0)])]))}}),Rs=Ue(zf,[["__scopeId","data-v-130d846e"]]),Gf={class:"qr"},Wf={class:"team-name"},Jf=Me({__name:"WelcomeGameBlock",props:{qrurl:{},team:{}},setup(e){const t=me({width:200,margin:1,color:{dark:"#303030",light:"#f0f0f0"}}),n=e;return(r,s)=>(ee(),fe("div",null,[ie(Rs,null,{default:yt(()=>[$("div",Gf,[$("div",Wf,Xe(r.team),1),ie(_t(qf),{value:n.qrurl,options:t.value,tag:"svg",class:"qr-code"},null,8,["value","options"]),s[0]||(s[0]=$("div",{class:"message"}," Пора решать загадку ",-1))])]),_:1})]))}}),Yf=Ue(Jf,[["__scopeId","data-v-7828595e"]]),Qf={class:"message-header"},Xf={class:"message-content"},Zf={key:0},ed={class:"message-image-border"},td=["src"],nd={key:0},rd={key:0,class:"hr"},sd=["onClick","disabled"],od={class:"button-dialog-text"},id={key:1,class:"hr"},ld={class:"application-label"},cd=Me({__name:"MessageCloud",props:Li({action:{},gameState:{},login:{},password:{},index:{},count:{}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=e,n=Qi(e,"modelValue");function r(){t.action.isOpen=!t.action.isOpen}async function s(o){n.value=!0,await Rl(t.login,t.password,o)}return(o,i)=>(ee(),Tt(Rs,null,{default:yt(()=>{var c;return[$("div",Qf,[qt(Xe(t.action.place)+": "+Xe(t.action.name)+" ",1),t.action.isOpen?(ee(),fe("span",{key:0,class:"collapse-icon collapse-icon-up",onClick:r})):(ee(),fe("span",{key:1,class:"collapse-icon",onClick:r}))]),Bn($("div",null,[i[0]||(i[0]=$("hr",{class:"hr"},null,-1)),$("div",Xf,[t.action.image.length?(ee(),fe("div",Zf,[$("div",ed,[$("img",{src:t.action.image,class:"message-image"},null,8,td)])])):en("",!0),qt(Xe(t.action.text),1)]),o.index==o.count-1?(ee(),fe("div",nd,[(c=t.action.buttons)!=null&&c.length?(ee(),fe("hr",rd)):en("",!0),(ee(!0),fe(_e,null,qr(t.action.buttons,l=>(ee(),fe("div",{key:l.code,class:"button-dialog",onClick:a=>s(l.code),disabled:o.gameState!=="RUN"||!l.show},[$("div",od,Xe(l.name),1)],8,sd))),128))])):en("",!0),t.action.applications.length?(ee(),fe("hr",id)):en("",!0),(ee(!0),fe(_e,null,qr(t.action.applications,l=>(ee(),fe("div",{class:"message-footer",key:l.name},[qt(" Приложение: "+Xe(l.name)+" ",1),$("div",ld,Xe(l.number),1)]))),128))],512),[[Pu,t.action.isOpen]])]}),_:1}))}}),ud=Ue(cd,[["__scopeId","data-v-b740256b"]]),ad={class:"form-custom"},fd={class:"center-block-custom"},dd={class:"controller"},hd={class:"game-input"},pd=["disabled"],gd=["disabled"],md=Me({__name:"GameInputForm",props:Li({gameState:{},login:{},password:{}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=me(""),n=e,r=Qi(e,"modelValue");async function s(){r.value=!0;const o=t.value.trim();if(o===""){t.value="";return}await Rl(n.login,n.password,o),t.value=""}return(o,i)=>(ee(),fe("div",ad,[ie(El,{class:"input-form"},{default:yt(()=>[ie(kn,{class:"controller-metal controller-metal-left"}),ie(kn,{class:"controller-metal controller-metal-right"}),$("div",fd,[$("form",{onSubmit:ll(s,["prevent"])},[$("div",dd,[$("div",hd,[Bn($("input",{id:"run",class:"game-input-run","onUpdate:modelValue":i[0]||(i[0]=c=>t.value=c),type:"text",placeholder:"Место назначения",disabled:n.gameState!=="RUN"},null,8,pd),[[Yr,t.value]])]),i[2]||(i[2]=$("div",{class:"game-button-run-shadow"},null,-1)),$("button",{class:"game-button-run",type:"submit",disabled:n.gameState!=="RUN"},[ie(Sl,null,{default:yt(()=>i[1]||(i[1]=[qt("Поехали")])),_:1})],8,gd)])],32)])]),_:1})]))}}),_d=Ue(md,[["__scopeId","data-v-fb9d4e7d"]]),yd={key:0},vd={class:"messages-block center-container"},bd={key:1},wd={class:"center-block-custom"},Ed={key:0,class:"modal-overlay"},Sd=Me({__name:"GameWindow",setup(e){const t=wl(),n=Xa(),r=me(!1),s=me(""),o=me(""),i=me({name:"",actions:[]}),c=me([]),l=me(),a=me("STOP"),u=me(""),f=me("-");async function g(){var P;let B;try{B=await Cl(s.value,o.value)}catch(_){_ instanceof xt?t.push("/login"):console.error("Неизвестная ошибка:",_);return}const S=i.value.actions;i.value=B;const R=(P=i.value)==null?void 0:P.actions;R.forEach(_=>{_.isOpen=!0});for(let _=0;_N.show)}}const p=async(B="smooth")=>{await ds(),l.value&&l.value.scrollTo({top:l.value.scrollHeight,behavior:B})};async function b(){f.value=location.href;const B=await wf(s.value,o.value);a.value=B.state,B.state==="NEW"&&(u.value="Игра ещё не началась"),B.state==="RUN"&&(u.value=""),B.state==="STOP"&&(u.value="Игра остановлена")}on(c,()=>{r.value!==!1&&(p(),r.value=!1)},{deep:!0});let w=0;return gs(()=>{var B,S;s.value=sessionStorage.getItem("teamId")||"",o.value=sessionStorage.getItem("password")||"",s.value==""&&(s.value=((B=n.query.name)==null?void 0:B.toString())||"",o.value=((S=n.query.password)==null?void 0:S.toString())||"",sessionStorage.setItem("teamId",s.value),sessionStorage.setItem("password",o.value)),g(),w=setInterval(()=>{g(),b()},2e3),t.beforeEach((R,P,_)=>{clearInterval(w),_()})}),(B,S)=>(ee(),fe(_e,null,[$("div",null,[ie(bf),ie(_d,{modelValue:r.value,"onUpdate:modelValue":S[0]||(S[0]=R=>r.value=R),gameState:a.value,login:s.value,password:o.value},null,8,["modelValue","gameState","login","password"]),!i.value||!i.value.actions.length?(ee(),fe("div",yd,[$("div",vd,[ie(Yf,{qrurl:f.value,team:i.value.name},null,8,["qrurl","team"])])])):(ee(),fe("div",bd,[$("div",{class:"messages-block",ref_key:"scrollContainer",ref:l},[$("div",wd,[(ee(!0),fe(_e,null,qr(i.value.actions,(R,P)=>(ee(),fe("div",{key:R.id},[ie(ud,{modelValue:r.value,"onUpdate:modelValue":S[1]||(S[1]=_=>r.value=_),action:R,gameState:a.value,login:s.value,password:o.value,index:P,count:i.value.actions.length},null,8,["modelValue","action","gameState","login","password","index","count"])]))),128))])],512)]))]),a.value=="STOP"?(ee(),fe("div",Ed,S[2]||(S[2]=[$("div",{class:"modal-content"},[$("div",{class:"modal-body"})],-1)]))):en("",!0)],64))}}),Cd=Ue(Sd,[["__scopeId","data-v-351cc8f7"]]),Rd=Me({__name:"HomeView",setup(e){return(t,n)=>(ee(),Tt(Cd))}}),Pd={class:"center-message"},Ad={class:"button-container"},Td={class:"button-custom",type:"submit"},xd={class:"error-message"},Id=Me({__name:"LoginWindow",setup(e){const t=wl(),n=me(""),r=me(""),s=me("Вход"),o=me("");async function i(){const c=s.value;s.value="Загрузка...",o.value="";try{await Cl(n.value,r.value)}catch(l){if(l instanceof xt){if(n.value==""&&r.value=="")return;o.value="Не верны название команды или пароль"}else o.value="Сервер не доступен";return}finally{s.value=c}sessionStorage.setItem("teamId",n.value),sessionStorage.setItem("password",r.value),t.push("/")}return gs(()=>{n.value=sessionStorage.getItem("teamId")||"",r.value=sessionStorage.getItem("password")||"",i()}),(c,l)=>(ee(),fe(_e,null,[l[2]||(l[2]=$("div",{class:"header-block"}," Вечерний детектив ",-1)),$("div",Pd,[ie(Rs,null,{default:yt(()=>[$("form",{onSubmit:ll(i,["prevent"])},[$("div",null,[Bn($("input",{class:"input-custom","onUpdate:modelValue":l[0]||(l[0]=a=>n.value=a),type:"text",placeholder:"Название команды"},null,512),[[Yr,n.value]])]),$("div",null,[Bn($("input",{class:"input-custom","onUpdate:modelValue":l[1]||(l[1]=a=>r.value=a),type:"text",placeholder:"Пароль",autocapitalize:"off"},null,512),[[Yr,r.value]])]),$("div",Ad,[$("button",Td,Xe(s.value),1)]),$("div",xd,Xe(o.value),1)],32)]),_:1})])],64))}}),Md=Ue(Id,[["__scopeId","data-v-7028a494"]]),Bd=Me({__name:"LoginView",setup(e){return(t,n)=>(ee(),Tt(Md))}}),Nd=Ya({history:Pa("/"),routes:[{path:"/",name:"home",component:Rd},{path:"/login",name:"login",component:Bd}]}),Ps=$u(ef);Ps.use(Ju());Ps.use(Nd);Ps.mount("#app"); +`;return typeof c=="function"&&c(null,B),B},Lr}var Wo;function jf(){if(Wo)return Nt;Wo=1;const e=Ef(),t=Uf(),n=Vf(),r=Hf();function s(o,i,c,l,a){const u=[].slice.call(arguments,1),f=u.length,g=typeof u[f-1]=="function";if(!g&&!e())throw new Error("Callback required as last argument");if(g){if(f<2)throw new Error("Too few arguments provided");f===2?(a=c,c=i,i=l=void 0):f===3&&(i.getContext&&typeof a>"u"?(a=l,l=void 0):(a=l,l=c,c=i,i=void 0))}else{if(f<1)throw new Error("Too few arguments provided");return f===1?(c=i,i=l=void 0):f===2&&!i.getContext&&(l=c,c=i,i=void 0),new Promise(function(p,b){try{const w=t.create(c,l);p(o(w,i,l))}catch(w){b(w)}})}try{const p=t.create(c,l);a(null,o(p,i,l))}catch(p){a(p)}}return Nt.create=t.create,Nt.toCanvas=s.bind(null,n.render),Nt.toDataURL=s.bind(null,n.renderToDataURL),Nt.toString=s.bind(null,function(o,i,c){return r.render(o,c)}),Nt}var Fr=jf();/*! vue-qrcode v2.0.0 | (c) 2018-present Chen Fengyuan | MIT */const Jo="ready";var qf=Me({name:"VueQrcode",props:{value:{type:String,default:void 0},options:{type:Object,default:void 0},tag:{type:String,default:"canvas"}},emits:[Jo],watch:{$props:{deep:!0,immediate:!0,handler(){this.$el&&this.generate()}}},mounted(){this.generate()},methods:{generate(){const e=this.options||{},t=String(this.value),n=()=>{this.$emit(Jo,this.$el)};switch(this.tag){case"canvas":Fr.toCanvas(this.$el,t,e,r=>{if(r)throw r;n()});break;case"img":Fr.toDataURL(t,e,(r,s)=>{if(r)throw r;this.$el.src=s,this.$el.onload=n});break;case"svg":Fr.toString(t,e,(r,s)=>{if(r)throw r;const o=document.createElement("div");o.innerHTML=s;const i=o.querySelector("svg");if(i){const{attributes:c,childNodes:l}=i;Object.keys(c).forEach(a=>{const u=c[Number(a)];this.$el.setAttribute(u.name,u.value)}),Object.keys(l).forEach(a=>{const u=l[Number(a)];this.$el.appendChild(u.cloneNode(!0))}),n()}});break}}},render(){return vs(this.tag,this.$slots.default)}});const Kf={class:"main"},$f={class:"message-cloud"},zf=Me({__name:"MessagePaper",setup(e){return(t,n)=>(ee(),fe("div",Kf,[n[0]||(n[0]=$("div",{class:"message-cloud-3"},null,-1)),n[1]||(n[1]=$("div",{class:"message-cloud-2"},null,-1)),$("div",$f,[vn(t.$slots,"default",{},void 0)])]))}}),Rs=Ue(zf,[["__scopeId","data-v-4f467660"]]),Gf={class:"qr"},Wf={class:"team-name"},Jf=Me({__name:"WelcomeGameBlock",props:{qrurl:{},team:{}},setup(e){const t=me({width:200,margin:1,color:{dark:"#303030",light:"#f0f0f0"}}),n=e;return(r,s)=>(ee(),fe("div",null,[ie(Rs,null,{default:yt(()=>[$("div",Gf,[$("div",Wf,Xe(r.team),1),ie(_t(qf),{value:n.qrurl,options:t.value,tag:"svg",class:"qr-code"},null,8,["value","options"]),s[0]||(s[0]=$("div",{class:"message"}," Пора решать загадку ",-1))])]),_:1})]))}}),Yf=Ue(Jf,[["__scopeId","data-v-7828595e"]]),Qf={class:"message-header"},Xf={class:"message-content"},Zf={key:0},ed={class:"message-image-border"},td=["src"],nd={key:0},rd={key:0,class:"hr"},sd=["onClick","disabled"],od={class:"button-dialog-text"},id={key:1,class:"hr"},ld={class:"application-label"},cd=Me({__name:"MessageCloud",props:Li({action:{},gameState:{},login:{},password:{},index:{},count:{}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=e,n=Qi(e,"modelValue");function r(){t.action.isOpen=!t.action.isOpen}async function s(o){n.value=!0,await Rl(t.login,t.password,o)}return(o,i)=>(ee(),Tt(Rs,null,{default:yt(()=>{var c;return[$("div",Qf,[qt(Xe(t.action.place)+": "+Xe(t.action.name)+" ",1),t.action.isOpen?(ee(),fe("span",{key:0,class:"collapse-icon collapse-icon-up",onClick:r})):(ee(),fe("span",{key:1,class:"collapse-icon",onClick:r}))]),Bn($("div",null,[i[0]||(i[0]=$("hr",{class:"hr"},null,-1)),$("div",Xf,[t.action.image.length?(ee(),fe("div",Zf,[$("div",ed,[$("img",{src:t.action.image,class:"message-image"},null,8,td)])])):en("",!0),qt(Xe(t.action.text),1)]),o.index==o.count-1?(ee(),fe("div",nd,[(c=t.action.buttons)!=null&&c.length?(ee(),fe("hr",rd)):en("",!0),(ee(!0),fe(_e,null,qr(t.action.buttons,l=>(ee(),fe("div",{key:l.code,class:"button-dialog",onClick:a=>s(l.code),disabled:o.gameState!=="RUN"||!l.show},[$("div",od,Xe(l.name),1)],8,sd))),128))])):en("",!0),t.action.applications.length?(ee(),fe("hr",id)):en("",!0),(ee(!0),fe(_e,null,qr(t.action.applications,l=>(ee(),fe("div",{class:"message-footer",key:l.name},[qt(" Приложение: "+Xe(l.name)+" ",1),$("div",ld,Xe(l.number),1)]))),128))],512),[[Pu,t.action.isOpen]])]}),_:1}))}}),ud=Ue(cd,[["__scopeId","data-v-b740256b"]]),ad={class:"form-custom"},fd={class:"center-block-custom"},dd={class:"controller"},hd={class:"game-input"},pd=["disabled"],gd=["disabled"],md=Me({__name:"GameInputForm",props:Li({gameState:{},login:{},password:{}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=me(""),n=e,r=Qi(e,"modelValue");async function s(){r.value=!0;const o=t.value.trim();if(o===""){t.value="";return}await Rl(n.login,n.password,o),t.value=""}return(o,i)=>(ee(),fe("div",ad,[ie(El,{class:"input-form"},{default:yt(()=>[ie(kn,{class:"controller-metal controller-metal-left"}),ie(kn,{class:"controller-metal controller-metal-right"}),$("div",fd,[$("form",{onSubmit:ll(s,["prevent"])},[$("div",dd,[$("div",hd,[Bn($("input",{id:"run",class:"game-input-run","onUpdate:modelValue":i[0]||(i[0]=c=>t.value=c),type:"text",placeholder:"Место назначения",disabled:n.gameState!=="RUN"},null,8,pd),[[Yr,t.value]])]),i[2]||(i[2]=$("div",{class:"game-button-run-shadow"},null,-1)),$("button",{class:"game-button-run",type:"submit",disabled:n.gameState!=="RUN"},[ie(Sl,null,{default:yt(()=>i[1]||(i[1]=[qt("Поехали")])),_:1})],8,gd)])],32)])]),_:1})]))}}),_d=Ue(md,[["__scopeId","data-v-fb9d4e7d"]]),yd={key:0},vd={class:"messages-block center-container"},bd={key:1},wd={class:"center-block-custom"},Ed={key:0,class:"modal-overlay"},Sd=Me({__name:"GameWindow",setup(e){const t=wl(),n=Xa(),r=me(!1),s=me(""),o=me(""),i=me({name:"",actions:[]}),c=me([]),l=me(),a=me("STOP"),u=me(""),f=me("-");async function g(){var P;let B;try{B=await Cl(s.value,o.value)}catch(_){_ instanceof xt?t.push("/login"):console.error("Неизвестная ошибка:",_);return}const S=i.value.actions;i.value=B;const R=(P=i.value)==null?void 0:P.actions;R.forEach(_=>{_.isOpen=!0});for(let _=0;_N.show)}}const p=async(B="smooth")=>{await ds(),l.value&&l.value.scrollTo({top:l.value.scrollHeight,behavior:B})};async function b(){f.value=location.href;const B=await wf(s.value,o.value);a.value=B.state,B.state==="NEW"&&(u.value="Игра ещё не началась"),B.state==="RUN"&&(u.value=""),B.state==="STOP"&&(u.value="Игра остановлена")}on(c,()=>{r.value!==!1&&(p(),r.value=!1)},{deep:!0});let w=0;return gs(()=>{var B,S;s.value=sessionStorage.getItem("teamId")||"",o.value=sessionStorage.getItem("password")||"",s.value==""&&(s.value=((B=n.query.name)==null?void 0:B.toString())||"",o.value=((S=n.query.password)==null?void 0:S.toString())||"",sessionStorage.setItem("teamId",s.value),sessionStorage.setItem("password",o.value)),g(),w=setInterval(()=>{g(),b()},2e3),t.beforeEach((R,P,_)=>{clearInterval(w),_()})}),(B,S)=>(ee(),fe(_e,null,[$("div",null,[ie(bf),ie(_d,{modelValue:r.value,"onUpdate:modelValue":S[0]||(S[0]=R=>r.value=R),gameState:a.value,login:s.value,password:o.value},null,8,["modelValue","gameState","login","password"]),!i.value||!i.value.actions.length?(ee(),fe("div",yd,[$("div",vd,[ie(Yf,{qrurl:f.value,team:i.value.name},null,8,["qrurl","team"])])])):(ee(),fe("div",bd,[$("div",{class:"messages-block",ref_key:"scrollContainer",ref:l},[$("div",wd,[(ee(!0),fe(_e,null,qr(i.value.actions,(R,P)=>(ee(),fe("div",{key:R.id},[ie(ud,{modelValue:r.value,"onUpdate:modelValue":S[1]||(S[1]=_=>r.value=_),action:R,gameState:a.value,login:s.value,password:o.value,index:P,count:i.value.actions.length},null,8,["modelValue","action","gameState","login","password","index","count"])]))),128))])],512)]))]),a.value=="STOP"?(ee(),fe("div",Ed,S[2]||(S[2]=[$("div",{class:"modal-content"},[$("div",{class:"modal-body"})],-1)]))):en("",!0)],64))}}),Cd=Ue(Sd,[["__scopeId","data-v-351cc8f7"]]),Rd=Me({__name:"HomeView",setup(e){return(t,n)=>(ee(),Tt(Cd))}}),Pd={class:"center-message"},Ad={class:"button-container"},Td={class:"button-custom",type:"submit"},xd={class:"error-message"},Id=Me({__name:"LoginWindow",setup(e){const t=wl(),n=me(""),r=me(""),s=me("Вход"),o=me("");async function i(){const c=s.value;s.value="Загрузка...",o.value="";try{await Cl(n.value,r.value)}catch(l){if(l instanceof xt){if(n.value==""&&r.value=="")return;o.value="Не верны название команды или пароль"}else o.value="Сервер не доступен";return}finally{s.value=c}sessionStorage.setItem("teamId",n.value),sessionStorage.setItem("password",r.value),t.push("/")}return gs(()=>{n.value=sessionStorage.getItem("teamId")||"",r.value=sessionStorage.getItem("password")||"",i()}),(c,l)=>(ee(),fe(_e,null,[l[2]||(l[2]=$("div",{class:"header-block"}," Вечерний детектив ",-1)),$("div",Pd,[ie(Rs,null,{default:yt(()=>[$("form",{onSubmit:ll(i,["prevent"])},[$("div",null,[Bn($("input",{class:"input-custom","onUpdate:modelValue":l[0]||(l[0]=a=>n.value=a),type:"text",placeholder:"Название команды"},null,512),[[Yr,n.value]])]),$("div",null,[Bn($("input",{class:"input-custom","onUpdate:modelValue":l[1]||(l[1]=a=>r.value=a),type:"text",placeholder:"Пароль",autocapitalize:"off"},null,512),[[Yr,r.value]])]),$("div",Ad,[$("button",Td,Xe(s.value),1)]),$("div",xd,Xe(o.value),1)],32)]),_:1})])],64))}}),Md=Ue(Id,[["__scopeId","data-v-7028a494"]]),Bd=Me({__name:"LoginView",setup(e){return(t,n)=>(ee(),Tt(Md))}}),Nd=Ya({history:Pa("/"),routes:[{path:"/",name:"home",component:Rd},{path:"/login",name:"login",component:Bd}]}),Ps=$u(ef);Ps.use(Ju());Ps.use(Nd);Ps.mount("#app"); diff --git a/cmd/evening_detective/static/user/assets/label-0coROqfy.png b/cmd/evening_detective/static/user/assets/label-0coROqfy.png deleted file mode 100644 index b04d620..0000000 Binary files a/cmd/evening_detective/static/user/assets/label-0coROqfy.png and /dev/null differ diff --git a/cmd/evening_detective/static/user/assets/label-DjUQJlD7.png b/cmd/evening_detective/static/user/assets/label-DjUQJlD7.png new file mode 100644 index 0000000..42f6115 Binary files /dev/null and b/cmd/evening_detective/static/user/assets/label-DjUQJlD7.png differ diff --git a/cmd/evening_detective/static/user/index.html b/cmd/evening_detective/static/user/index.html index 8b06c52..9127ea3 100644 --- a/cmd/evening_detective/static/user/index.html +++ b/cmd/evening_detective/static/user/index.html @@ -5,8 +5,8 @@ Вечерний детектив - - + +