From 860103a7a4ea1d12bb451b1537400d54acc40a8c Mon Sep 17 00:00:00 2001 From: gruppler Date: Sat, 18 Jun 2016 14:42:33 -0400 Subject: [PATCH 1/6] Highlight squares affected by current ply in edit mode --- css/board.scss | 17 +++++++++++++++++ css/style.css | 2 +- css/style.css.map | 2 +- js/app/board.js | 29 ++++++++++++++++++++++++++--- js/app/game.js | 2 ++ 5 files changed, 47 insertions(+), 5 deletions(-) diff --git a/css/board.scss b/css/board.scss index 70391caa..c1e2875f 100644 --- a/css/board.scss +++ b/css/board.scss @@ -50,6 +50,23 @@ position: absolute; background-color: $primary-color-light; + &:after { + content: ''; + display: block; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + opacity: 0; + pointer-events: none; + background-color: $accent-color; + transition: opacity $time-smooth $natural; + } + body.editmode &.active:after { + opacity: 0.5; + } + &.dark { background-color: $primary-color; } diff --git a/css/style.css b/css/style.css index 8ba42d24..dbde3a1f 100644 --- a/css/style.css +++ b/css/style.css @@ -1,3 +1,3 @@ -html,body{overflow:hidden;position:absolute;top:0;bottom:0;left:0;right:0;margin:0;padding:0;font-size:14px;font-family:"Roboto",sans-serif;background-color:#455A64}::-webkit-scrollbar-track{background-color:transparent}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-thumb{background-color:#90A4AE}::-moz-selection{color:#fff;background:#607D8B}::selection{color:#fff;background:#607D8B}button,.button,.fab{background:transparent;border:none;border-radius:2px;display:inline-block;height:36px;line-height:36px;outline:0;padding:0 0.5em;text-transform:uppercase;cursor:default;position:relative;font-size:20px;text-align:center;vertical-align:middle;text-decoration:none;box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 1px 5px 0 rgba(0,0,0,0.12),0 3px 1px -2px rgba(0,0,0,0.2);transition:all .1s ease-out;user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}button i,.button i,.fab i{line-height:36px}button:hover,.button:hover,.fab:hover{box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.4)}button:active,.button:active,.fab:active{box-shadow:0 8px 10px 1px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.4)}button.flat,.button.flat,.fab.flat{box-shadow:none}button.flat:hover,.button.flat:hover,.fab.flat:hover{background-color:rgba(0,0,0,0.05)}button.flat:active,.button.flat:active,.fab.flat:active{background-color:rgba(0,0,0,0.1)}button.round,.button.round,.fab.round{border-radius:50%;width:40px;height:40px;line-height:40px}button.round i,.button.round i,.fab.round i{line-height:40px}button.cta,.button.cta,.fab.cta{background-color:#8BC34A;color:#fff}button.cta:hover,button.cta:active,.button.cta:hover,.button.cta:active,.fab.cta:hover,.fab.cta:active{background-color:#97c95d}.fab{border-radius:50%;width:56px;height:56px;line-height:56px;padding:0;overflow:hidden;background-color:#CFD8DC;color:#37474F;box-shadow:0 6px 10px 0 rgba(0,0,0,0.14),0 1px 18px 0 rgba(0,0,0,0.12),0 3px 5px -1px rgba(0,0,0,0.4);font-size:1.6rem}.fab i{line-height:56px}.fab.small{width:40px;height:40px;line-height:40px}.fab.small i{line-height:40px}.fab:hover{background-color:#fff}.fab:hover{box-shadow:0 8px 10px 1px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.4)}.fab:active{box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -5px rgba(0,0,0,0.4)}#messages>div{position:absolute;top:-0.5em;left:0;padding:16px;overflow:auto;max-height:100%;max-width:calc(100% - 72px);box-sizing:border-box;z-index:1}#messages .messages-parse,#messages .messages-board{opacity:0;transform:translateX(-100%);transition:all .25s cubic-bezier(0.4, 0, 0.2, 1)}#messages .messages-parse.visible,body.playmode #messages .messages-board{transform:translateX(0);opacity:1}#messages .message{float:left;clear:left;position:relative;white-space:nowrap;border-radius:2px;margin-top:0.5em;margin-right:16px;max-width:100%;box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 1px 5px 0 rgba(0,0,0,0.12),0 3px 1px -2px rgba(0,0,0,0.2);transition:all .25s cubic-bezier(0.4, 0, 0.2, 1)}#messages .message.animating{opacity:0;margin-top:calc(-1.22em - 2rem)}#messages .message .content{margin:1rem calc(32px + 1.5rem);overflow:hidden;text-overflow:ellipsis}#messages .message i{position:absolute;padding:10.66667px 16px;left:0;top:0;font-size:1.5em}#messages .message i.icon-x{opacity:0.5;left:auto;right:0;cursor:default;transition:opacity .25s cubic-bezier(0.4, 0, 0.2, 1)}#messages .message i.icon-x:hover{opacity:1}#messages .message.success{background-color:#4CAF50;color:rgba(0,0,0,0.8)}#messages .message.warning{background-color:#FFC107;color:rgba(0,0,0,0.8)}#messages .message.error{background-color:#F44336;color:#fff}#messages .message.error b{border-bottom:2px solid #fff}#messages .message.help{background-color:#8BC34A;color:rgba(0,0,0,0.8)}#messages .message.info{background-color:#2196F3;color:#fff}#messages .message.comment{background-color:#8BC34A;color:#fff}#messages .message.player1{background-color:#CFD8DC;color:#37474F}#messages .message.player2{background-color:#37474F;color:#CFD8DC}.ptn .player1,.ptn .player2{margin:0 -0.25em;padding:0 0.25em;border-radius:0.25em}.ptn .player1{background-color:rgba(255,255,255,0.08)}.ptn .player2{background-color:rgba(0,0,0,0.13)}.ptn .tag{color:rgba(0,0,0,0.5);font-weight:300}.ptn .tag i{color:rgba(255,255,255,0.75);margin-right:0.2em;font-size:1em;line-height:1em;vertical-align:middle}.ptn .tag .name{color:rgba(255,255,255,0.75);font-weight:300;vertical-align:middle}.ptn .tag .value{color:rgba(255,255,255,0.75);font-weight:600}.ptn .comment{color:rgba(0,0,0,0.5);font-weight:300}.ptn .comment .text{color:rgba(255,255,255,0.75);font-weight:400}.ptn .linenum{color:rgba(0,0,0,0.5);font-weight:400}.ptn .ply{font-weight:700}.ptn .ply.illegal{background:transparent;box-shadow:none !important}.ptn .ply.illegal *{color:#F44336 !important}.ptn .ply .stone{color:#fff}.ptn .ply .column{color:#FFCA28;font-weight:600}.ptn .ply .row{color:#FF9800;font-weight:600}.ptn .ply .count_text{color:#8BC34A;font-weight:300}.ptn .ply .direction{color:rgba(255,255,255,0.75)}.ptn .ply .drops{color:#64B5F6;font-weight:300}.ptn .ply .evaluation{color:rgba(255,255,255,0.8);font-weight:300}.ptn .result{font-weight:700}.ptn .result .win{color:#fff}.ptn .result .win.road{color:#8BC34A}.ptn .result .win.flat{color:#64B5F6}.ptn .result .loss{color:#EF5350}.ptn .result .draw{color:#FFCA28}.ptn .invalid{color:rgba(255,255,255,0.5)}.ptn .invalid .first-letter{color:#F44336;font-weight:600}#viewer{position:absolute;top:0;bottom:0;left:0;right:0;z-index:0;transition:opacity .25s cubic-bezier(0.4, 0, 0.2, 1)}.board{position:absolute;top:calc(50% - 50vmin + 42px);right:calc(16px*2 + 56px);width:calc(100vmin - 84px);height:calc(100vmin - 84px);font-size:3vmin}#viewer.animated .board{transition:all .25s cubic-bezier(0.4, 0, 0.2, 1)}body.playmode .board{top:calc(16px + 50% - 50vmin + 0.5em)}body.playmode:not(.ptn) .board{right:calc(1em + 50% - 50vmin + 42px);z-index:1}@media (max-aspect-ratio: 11 / 10){.board{right:calc(1em + 50% - 50vmin + 42px)}}.board .squares,.board .pieces{position:absolute;top:0;bottom:2em;left:2em;right:0}.board .square{position:absolute;background-color:#90A4AE}.board .square.dark{background-color:#607D8B}.board .piece{position:absolute;bottom:0;left:0;transition:transform .25s cubic-bezier(0.4, 0, 0.2, 1)}.board .piece .wrapper{position:absolute;top:0;bottom:0;left:0;right:0;transition:transform .25s cubic-bezier(0.4, 0, 0.2, 1),opacity .25s cubic-bezier(0.4, 0, 0.2, 1)}.board .piece.placing .wrapper{opacity:0;transform:scale(2)}.board .piece .stone.p1,.board .piece .captive.p1{background-color:#CFD8DC}.board .piece .stone.p2,.board .piece .captive.p2{background-color:#37474F}.board .piece .stone{width:50%;height:50%;margin:25%;border-radius:0.8vmin;position:relative;transition:transform .25s cubic-bezier(0.4, 0, 0.2, 1),width .25s cubic-bezier(0.4, 0, 0.2, 1),margin .25s cubic-bezier(0.4, 0, 0.2, 1),box-shadow .25s ease-out}.board .piece .stone.F.h1{box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 1px 5px 0 rgba(0,0,0,0.12),0 3px 1px -2px rgba(0,0,0,0.2)}.board .piece .stone.F.h2{box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.4)}.board .piece .stone.F.h3{box-shadow:0 6px 10px 0 rgba(0,0,0,0.14),0 1px 18px 0 rgba(0,0,0,0.12),0 3px 5px -1px rgba(0,0,0,0.4)}.board .piece .stone.F.h4{box-shadow:0 8px 10px 1px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.4)}.board .piece .stone.F.h5{box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -5px rgba(0,0,0,0.4)}.board .piece .stone.S{width:18.75%;margin-left:40.625%}.board .piece .stone.S.p1{transform:rotate(-45deg);box-shadow:-3px 3px 10px 0 rgba(0,0,0,0.14),-1px 1px 18px 0 rgba(0,0,0,0.12),-2px 2px 5px -1px rgba(0,0,0,0.4)}.board .piece .stone.S.p2{transform:rotate(45deg);box-shadow:3px 3px 10px 0 rgba(0,0,0,0.14),1px 1px 18px 0 rgba(0,0,0,0.12),2px 2px 5px -1px rgba(0,0,0,0.4)}.board .piece .stone.C{border-radius:50%;box-shadow:0 6px 10px 0 rgba(0,0,0,0.14),0 1px 18px 0 rgba(0,0,0,0.12),0 3px 5px -1px rgba(0,0,0,0.4)}.board .piece .captive{position:absolute;bottom:25%;left:10%;width:15%;height:7.5%;opacity:0;border-radius:0.25vmin;box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 1px 5px 0 rgba(0,0,0,0.12),0 3px 1px -2px rgba(0,0,0,0.2);transition:all .25s cubic-bezier(0.4, 0, 0.2, 1)}.board .piece .captive.visible{opacity:1}.board .labels{color:#fff;position:absolute;font-size:1em;display:flex;justify-content:space-around}.board .labels.row{top:0;left:0;flex-direction:column-reverse;width:2em;height:calc(100% - 2em);text-align:center}.board .labels.col{bottom:0;right:0;flex-direction:row;width:calc(100% - 2em);height:2em;line-height:2em}.size-3 .square,.size-3 .piece{width:33.33333%;height:33.33333%}.size-3 .c0{left:0%}.size-3 .c1{left:33.33333%}.size-3 .c2{left:66.66667%}.size-3 .r0{bottom:0%}.size-3 .r1{bottom:33.33333%}.size-3 .r2{bottom:66.66667%}.size-4 .square,.size-4 .piece{width:25%;height:25%}.size-4 .c0{left:0%}.size-4 .c1{left:25%}.size-4 .c2{left:50%}.size-4 .c3{left:75%}.size-4 .r0{bottom:0%}.size-4 .r1{bottom:25%}.size-4 .r2{bottom:50%}.size-4 .r3{bottom:75%}.size-5 .square,.size-5 .piece{width:20%;height:20%}.size-5 .c0{left:0%}.size-5 .c1{left:20%}.size-5 .c2{left:40%}.size-5 .c3{left:60%}.size-5 .c4{left:80%}.size-5 .r0{bottom:0%}.size-5 .r1{bottom:20%}.size-5 .r2{bottom:40%}.size-5 .r3{bottom:60%}.size-5 .r4{bottom:80%}.size-6 .square,.size-6 .piece{width:16.66667%;height:16.66667%}.size-6 .c0{left:0%}.size-6 .c1{left:16.66667%}.size-6 .c2{left:33.33333%}.size-6 .c3{left:50%}.size-6 .c4{left:66.66667%}.size-6 .c5{left:83.33333%}.size-6 .r0{bottom:0%}.size-6 .r1{bottom:16.66667%}.size-6 .r2{bottom:33.33333%}.size-6 .r3{bottom:50%}.size-6 .r4{bottom:66.66667%}.size-6 .r5{bottom:83.33333%}.size-7 .square,.size-7 .piece{width:14.28571%;height:14.28571%}.size-7 .c0{left:0%}.size-7 .c1{left:14.28571%}.size-7 .c2{left:28.57143%}.size-7 .c3{left:42.85714%}.size-7 .c4{left:57.14286%}.size-7 .c5{left:71.42857%}.size-7 .c6{left:85.71429%}.size-7 .r0{bottom:0%}.size-7 .r1{bottom:14.28571%}.size-7 .r2{bottom:28.57143%}.size-7 .r3{bottom:42.85714%}.size-7 .r4{bottom:57.14286%}.size-7 .r5{bottom:71.42857%}.size-7 .r6{bottom:85.71429%}.size-8 .square,.size-8 .piece{width:12.5%;height:12.5%}.size-8 .c0{left:0%}.size-8 .c1{left:12.5%}.size-8 .c2{left:25%}.size-8 .c3{left:37.5%}.size-8 .c4{left:50%}.size-8 .c5{left:62.5%}.size-8 .c6{left:75%}.size-8 .c7{left:87.5%}.size-8 .r0{bottom:0%}.size-8 .r1{bottom:12.5%}.size-8 .r2{bottom:25%}.size-8 .r3{bottom:37.5%}.size-8 .r4{bottom:50%}.size-8 .r5{bottom:62.5%}.size-8 .r6{bottom:75%}.size-8 .r7{bottom:87.5%}.size-9 .square,.size-9 .piece{width:11.11111%;height:11.11111%}.size-9 .c0{left:0%}.size-9 .c1{left:11.11111%}.size-9 .c2{left:22.22222%}.size-9 .c3{left:33.33333%}.size-9 .c4{left:44.44444%}.size-9 .c5{left:55.55556%}.size-9 .c6{left:66.66667%}.size-9 .c7{left:77.77778%}.size-9 .c8{left:88.88889%}.size-9 .r0{bottom:0%}.size-9 .r1{bottom:11.11111%}.size-9 .r2{bottom:22.22222%}.size-9 .r3{bottom:33.33333%}.size-9 .r4{bottom:44.44444%}.size-9 .r5{bottom:55.55556%}.size-9 .r6{bottom:66.66667%}.size-9 .r7{bottom:77.77778%}.size-9 .r8{bottom:88.88889%}#app{position:absolute;top:0;bottom:0;left:0;right:0}#editor{position:absolute;top:0;bottom:0;left:0;right:0;color:#90A4AE;font-family:"Source Code Pro","Bitstream Vera Sans Mono","Consolas","Courier",monospace;flex-grow:1;z-index:1;transition:all .25s cubic-bezier(0.4, 0, 0.2, 1)}body.playmode #editor{user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;pointer-events:none;opacity:0}#editor:before{content:'';display:block;position:absolute;top:0;bottom:0;left:0;right:0;background:linear-gradient(to right, rgba(69,90,100,0.8) 10em, rgba(69,90,100,0) 30em);transition:opacity .25s cubic-bezier(0.4, 0, 0.2, 1)}body.playmode #editor:before{opacity:0}#ptn{position:absolute;top:0;bottom:0;left:0;right:0;overflow:auto;font-weight:300;font-size:1.3em;line-height:1.5em;padding:16px;padding-right:56px;margin:0;white-space:pre-wrap;text-shadow:0 1px 1px rgba(0,0,0,0.5)}#ptn:focus{outline:none}body.playmode #ptn{cursor:default;overflow:hidden}#ptn .ply{transition:all .1s ease-out}body.editmode #ptn .ply:hover{box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.4)}body.editmode #ptn .ply:active,body.editmode #ptn .ply.active{box-shadow:0 8px 10px 1px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.4)}#fab{position:absolute;right:16px;bottom:28px;z-index:2}#fab i{opacity:0;position:absolute;left:50%;transform:translate(-50%);transition:all .25s ease-in-out}#fab i.icon-play{transform:translate(-50%) rotate(179deg)}#fab i.icon-edit{transform:translate(-50%) rotate(-90deg)}body.editmode #fab i.icon-play{opacity:1;transform:translate(-50%)}body.playmode #fab i.icon-edit{opacity:1;transform:translate(-50%)}body.error #fab{background-color:#F44336;color:#fff}body.error #fab:hover{background-color:#f6675d}body.error #fab i{opacity:0 !important}body.error #fab i.icon-error{opacity:1 !important}#controls{background-color:#37474F;position:absolute;bottom:0;left:0;right:0;flex-shrink:0;z-index:1;height:56px;transform:translateY(100%);transition:transform .25s cubic-bezier(0.4, 0, 0.2, 1)}body.playmode #controls{transform:none}#controls>div{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:8px 16px}#controls button{color:rgba(255,255,255,0.8)}#controls button+button{margin-left:8px}#controls button.play i{transition:opacity .25s cubic-bezier(0.4, 0, 0.2, 1)}#controls button.play i.icon-pause{position:absolute;top:0;left:0.5em;opacity:0}body.playing #controls button.play i.icon-play{opacity:0}body.playing #controls button.play i.icon-pause{opacity:1}#share-menu{position:absolute;top:0;right:0;width:40px;padding:16px;overflow:visible;z-index:1}#share-menu .fab+.fab{margin-top:16px;opacity:0;transform:scale(0);pointer-events:none;transition:all .1s cubic-bezier(0.4, 0, 0.2, 1)}#share-menu:hover .fab+.fab{opacity:1;transform:scale(1);pointer-events:all}.fab.small .icon-share{margin-left:-2px}#open{display:block;position:absolute;top:0;bottom:0;left:0;right:0;opacity:0} +html,body{overflow:hidden;position:absolute;top:0;bottom:0;left:0;right:0;margin:0;padding:0;font-size:14px;font-family:"Roboto",sans-serif;background-color:#455A64}::-webkit-scrollbar-track{background-color:transparent}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-thumb{background-color:#90A4AE}::-moz-selection{color:#fff;background:#607D8B}::selection{color:#fff;background:#607D8B}button,.button,.fab{background:transparent;border:none;border-radius:2px;display:inline-block;height:36px;line-height:36px;outline:0;padding:0 0.5em;text-transform:uppercase;cursor:default;position:relative;font-size:20px;text-align:center;vertical-align:middle;text-decoration:none;box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 1px 5px 0 rgba(0,0,0,0.12),0 3px 1px -2px rgba(0,0,0,0.2);transition:all .1s ease-out;user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}button i,.button i,.fab i{line-height:36px}button:hover,.button:hover,.fab:hover{box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.4)}button:active,.button:active,.fab:active{box-shadow:0 8px 10px 1px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.4)}button.flat,.button.flat,.fab.flat{box-shadow:none}button.flat:hover,.button.flat:hover,.fab.flat:hover{background-color:rgba(0,0,0,0.05)}button.flat:active,.button.flat:active,.fab.flat:active{background-color:rgba(0,0,0,0.1)}button.round,.button.round,.fab.round{border-radius:50%;width:40px;height:40px;line-height:40px}button.round i,.button.round i,.fab.round i{line-height:40px}button.cta,.button.cta,.fab.cta{background-color:#8BC34A;color:#fff}button.cta:hover,button.cta:active,.button.cta:hover,.button.cta:active,.fab.cta:hover,.fab.cta:active{background-color:#97c95d}.fab{border-radius:50%;width:56px;height:56px;line-height:56px;padding:0;overflow:hidden;background-color:#CFD8DC;color:#37474F;box-shadow:0 6px 10px 0 rgba(0,0,0,0.14),0 1px 18px 0 rgba(0,0,0,0.12),0 3px 5px -1px rgba(0,0,0,0.4);font-size:1.6rem}.fab i{line-height:56px}.fab.small{width:40px;height:40px;line-height:40px}.fab.small i{line-height:40px}.fab:hover{background-color:#fff}.fab:hover{box-shadow:0 8px 10px 1px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.4)}.fab:active{box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -5px rgba(0,0,0,0.4)}#messages>div{position:absolute;top:-0.5em;left:0;padding:16px;overflow:auto;max-height:100%;max-width:calc(100% - 72px);box-sizing:border-box;z-index:1}#messages .messages-parse,#messages .messages-board{opacity:0;transform:translateX(-100%);transition:all .25s cubic-bezier(0.4, 0, 0.2, 1)}#messages .messages-parse.visible,body.playmode #messages .messages-board{transform:translateX(0);opacity:1}#messages .message{float:left;clear:left;position:relative;white-space:nowrap;border-radius:2px;margin-top:0.5em;margin-right:16px;max-width:100%;box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 1px 5px 0 rgba(0,0,0,0.12),0 3px 1px -2px rgba(0,0,0,0.2);transition:all .25s cubic-bezier(0.4, 0, 0.2, 1)}#messages .message.animating{opacity:0;margin-top:calc(-1.22em - 2rem)}#messages .message .content{margin:1rem calc(32px + 1.5rem);overflow:hidden;text-overflow:ellipsis}#messages .message i{position:absolute;padding:10.66667px 16px;left:0;top:0;font-size:1.5em}#messages .message i.icon-x{opacity:0.5;left:auto;right:0;cursor:default;transition:opacity .25s cubic-bezier(0.4, 0, 0.2, 1)}#messages .message i.icon-x:hover{opacity:1}#messages .message.success{background-color:#4CAF50;color:rgba(0,0,0,0.8)}#messages .message.warning{background-color:#FFC107;color:rgba(0,0,0,0.8)}#messages .message.error{background-color:#F44336;color:#fff}#messages .message.error b{border-bottom:2px solid #fff}#messages .message.help{background-color:#8BC34A;color:rgba(0,0,0,0.8)}#messages .message.info{background-color:#2196F3;color:#fff}#messages .message.comment{background-color:#8BC34A;color:#fff}#messages .message.player1{background-color:#CFD8DC;color:#37474F}#messages .message.player2{background-color:#37474F;color:#CFD8DC}.ptn .player1,.ptn .player2{margin:0 -0.25em;padding:0 0.25em;border-radius:0.25em}.ptn .player1{background-color:rgba(255,255,255,0.08)}.ptn .player2{background-color:rgba(0,0,0,0.13)}.ptn .tag{color:rgba(0,0,0,0.5);font-weight:300}.ptn .tag i{color:rgba(255,255,255,0.75);margin-right:0.2em;font-size:1em;line-height:1em;vertical-align:middle}.ptn .tag .name{color:rgba(255,255,255,0.75);font-weight:300;vertical-align:middle}.ptn .tag .value{color:rgba(255,255,255,0.75);font-weight:600}.ptn .comment{color:rgba(0,0,0,0.5);font-weight:300}.ptn .comment .text{color:rgba(255,255,255,0.75);font-weight:400}.ptn .linenum{color:rgba(0,0,0,0.5);font-weight:400}.ptn .ply{font-weight:700}.ptn .ply.illegal{background:transparent;box-shadow:none !important}.ptn .ply.illegal *{color:#F44336 !important}.ptn .ply .stone{color:#fff}.ptn .ply .column{color:#FFCA28;font-weight:600}.ptn .ply .row{color:#FF9800;font-weight:600}.ptn .ply .count_text{color:#8BC34A;font-weight:300}.ptn .ply .direction{color:rgba(255,255,255,0.75)}.ptn .ply .drops{color:#64B5F6;font-weight:300}.ptn .ply .evaluation{color:rgba(255,255,255,0.8);font-weight:300}.ptn .result{font-weight:700}.ptn .result .win{color:#fff}.ptn .result .win.road{color:#8BC34A}.ptn .result .win.flat{color:#64B5F6}.ptn .result .loss{color:#EF5350}.ptn .result .draw{color:#FFCA28}.ptn .invalid{color:rgba(255,255,255,0.5)}.ptn .invalid .first-letter{color:#F44336;font-weight:600}#viewer{position:absolute;top:0;bottom:0;left:0;right:0;z-index:0;transition:opacity .25s cubic-bezier(0.4, 0, 0.2, 1)}.board{position:absolute;top:calc(50% - 50vmin + 42px);right:calc(16px*2 + 56px);width:calc(100vmin - 84px);height:calc(100vmin - 84px);font-size:3vmin}#viewer.animated .board{transition:all .25s cubic-bezier(0.4, 0, 0.2, 1)}body.playmode .board{top:calc(16px + 50% - 50vmin + 0.5em)}body.playmode:not(.ptn) .board{right:calc(1em + 50% - 50vmin + 42px);z-index:1}@media (max-aspect-ratio: 11 / 10){.board{right:calc(1em + 50% - 50vmin + 42px)}}.board .squares,.board .pieces{position:absolute;top:0;bottom:2em;left:2em;right:0}.board .square{position:absolute;background-color:#90A4AE}.board .square:after{content:'';display:block;position:absolute;top:0;bottom:0;left:0;right:0;opacity:0;pointer-events:none;background-color:#8BC34A;transition:opacity .25s cubic-bezier(0.4, 0, 0.2, 1)}body.editmode .board .square.active:after{opacity:0.5}.board .square.dark{background-color:#607D8B}.board .piece{position:absolute;bottom:0;left:0;transition:transform .25s cubic-bezier(0.4, 0, 0.2, 1)}.board .piece .wrapper{position:absolute;top:0;bottom:0;left:0;right:0;transition:transform .25s cubic-bezier(0.4, 0, 0.2, 1),opacity .25s cubic-bezier(0.4, 0, 0.2, 1)}.board .piece.placing .wrapper{opacity:0;transform:scale(2)}.board .piece .stone.p1,.board .piece .captive.p1{background-color:#CFD8DC}.board .piece .stone.p2,.board .piece .captive.p2{background-color:#37474F}.board .piece .stone{width:50%;height:50%;margin:25%;border-radius:0.8vmin;position:relative;transition:transform .25s cubic-bezier(0.4, 0, 0.2, 1),width .25s cubic-bezier(0.4, 0, 0.2, 1),margin .25s cubic-bezier(0.4, 0, 0.2, 1),box-shadow .25s ease-out}.board .piece .stone.F.h1{box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 1px 5px 0 rgba(0,0,0,0.12),0 3px 1px -2px rgba(0,0,0,0.2)}.board .piece .stone.F.h2{box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.4)}.board .piece .stone.F.h3{box-shadow:0 6px 10px 0 rgba(0,0,0,0.14),0 1px 18px 0 rgba(0,0,0,0.12),0 3px 5px -1px rgba(0,0,0,0.4)}.board .piece .stone.F.h4{box-shadow:0 8px 10px 1px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.4)}.board .piece .stone.F.h5{box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -5px rgba(0,0,0,0.4)}.board .piece .stone.S{width:18.75%;margin-left:40.625%}.board .piece .stone.S.p1{transform:rotate(-45deg);box-shadow:-3px 3px 10px 0 rgba(0,0,0,0.14),-1px 1px 18px 0 rgba(0,0,0,0.12),-2px 2px 5px -1px rgba(0,0,0,0.4)}.board .piece .stone.S.p2{transform:rotate(45deg);box-shadow:3px 3px 10px 0 rgba(0,0,0,0.14),1px 1px 18px 0 rgba(0,0,0,0.12),2px 2px 5px -1px rgba(0,0,0,0.4)}.board .piece .stone.C{border-radius:50%;box-shadow:0 6px 10px 0 rgba(0,0,0,0.14),0 1px 18px 0 rgba(0,0,0,0.12),0 3px 5px -1px rgba(0,0,0,0.4)}.board .piece .captive{position:absolute;bottom:25%;left:10%;width:15%;height:7.5%;opacity:0;border-radius:0.25vmin;box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 1px 5px 0 rgba(0,0,0,0.12),0 3px 1px -2px rgba(0,0,0,0.2);transition:all .25s cubic-bezier(0.4, 0, 0.2, 1)}.board .piece .captive.visible{opacity:1}.board .labels{color:#fff;position:absolute;font-size:1em;display:flex;justify-content:space-around}.board .labels.row{top:0;left:0;flex-direction:column-reverse;width:2em;height:calc(100% - 2em);text-align:center}.board .labels.col{bottom:0;right:0;flex-direction:row;width:calc(100% - 2em);height:2em;line-height:2em}.size-3 .square,.size-3 .piece{width:33.33333%;height:33.33333%}.size-3 .c0{left:0%}.size-3 .c1{left:33.33333%}.size-3 .c2{left:66.66667%}.size-3 .r0{bottom:0%}.size-3 .r1{bottom:33.33333%}.size-3 .r2{bottom:66.66667%}.size-4 .square,.size-4 .piece{width:25%;height:25%}.size-4 .c0{left:0%}.size-4 .c1{left:25%}.size-4 .c2{left:50%}.size-4 .c3{left:75%}.size-4 .r0{bottom:0%}.size-4 .r1{bottom:25%}.size-4 .r2{bottom:50%}.size-4 .r3{bottom:75%}.size-5 .square,.size-5 .piece{width:20%;height:20%}.size-5 .c0{left:0%}.size-5 .c1{left:20%}.size-5 .c2{left:40%}.size-5 .c3{left:60%}.size-5 .c4{left:80%}.size-5 .r0{bottom:0%}.size-5 .r1{bottom:20%}.size-5 .r2{bottom:40%}.size-5 .r3{bottom:60%}.size-5 .r4{bottom:80%}.size-6 .square,.size-6 .piece{width:16.66667%;height:16.66667%}.size-6 .c0{left:0%}.size-6 .c1{left:16.66667%}.size-6 .c2{left:33.33333%}.size-6 .c3{left:50%}.size-6 .c4{left:66.66667%}.size-6 .c5{left:83.33333%}.size-6 .r0{bottom:0%}.size-6 .r1{bottom:16.66667%}.size-6 .r2{bottom:33.33333%}.size-6 .r3{bottom:50%}.size-6 .r4{bottom:66.66667%}.size-6 .r5{bottom:83.33333%}.size-7 .square,.size-7 .piece{width:14.28571%;height:14.28571%}.size-7 .c0{left:0%}.size-7 .c1{left:14.28571%}.size-7 .c2{left:28.57143%}.size-7 .c3{left:42.85714%}.size-7 .c4{left:57.14286%}.size-7 .c5{left:71.42857%}.size-7 .c6{left:85.71429%}.size-7 .r0{bottom:0%}.size-7 .r1{bottom:14.28571%}.size-7 .r2{bottom:28.57143%}.size-7 .r3{bottom:42.85714%}.size-7 .r4{bottom:57.14286%}.size-7 .r5{bottom:71.42857%}.size-7 .r6{bottom:85.71429%}.size-8 .square,.size-8 .piece{width:12.5%;height:12.5%}.size-8 .c0{left:0%}.size-8 .c1{left:12.5%}.size-8 .c2{left:25%}.size-8 .c3{left:37.5%}.size-8 .c4{left:50%}.size-8 .c5{left:62.5%}.size-8 .c6{left:75%}.size-8 .c7{left:87.5%}.size-8 .r0{bottom:0%}.size-8 .r1{bottom:12.5%}.size-8 .r2{bottom:25%}.size-8 .r3{bottom:37.5%}.size-8 .r4{bottom:50%}.size-8 .r5{bottom:62.5%}.size-8 .r6{bottom:75%}.size-8 .r7{bottom:87.5%}.size-9 .square,.size-9 .piece{width:11.11111%;height:11.11111%}.size-9 .c0{left:0%}.size-9 .c1{left:11.11111%}.size-9 .c2{left:22.22222%}.size-9 .c3{left:33.33333%}.size-9 .c4{left:44.44444%}.size-9 .c5{left:55.55556%}.size-9 .c6{left:66.66667%}.size-9 .c7{left:77.77778%}.size-9 .c8{left:88.88889%}.size-9 .r0{bottom:0%}.size-9 .r1{bottom:11.11111%}.size-9 .r2{bottom:22.22222%}.size-9 .r3{bottom:33.33333%}.size-9 .r4{bottom:44.44444%}.size-9 .r5{bottom:55.55556%}.size-9 .r6{bottom:66.66667%}.size-9 .r7{bottom:77.77778%}.size-9 .r8{bottom:88.88889%}#app{position:absolute;top:0;bottom:0;left:0;right:0}#editor{position:absolute;top:0;bottom:0;left:0;right:0;color:#90A4AE;font-family:"Source Code Pro","Bitstream Vera Sans Mono","Consolas","Courier",monospace;flex-grow:1;z-index:1;transition:all .25s cubic-bezier(0.4, 0, 0.2, 1)}body.playmode #editor{user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;pointer-events:none;opacity:0}#editor:before{content:'';display:block;position:absolute;top:0;bottom:0;left:0;right:0;background:linear-gradient(to right, rgba(69,90,100,0.8) 10em, rgba(69,90,100,0) 30em);transition:opacity .25s cubic-bezier(0.4, 0, 0.2, 1)}body.playmode #editor:before{opacity:0}#ptn{position:absolute;top:0;bottom:0;left:0;right:0;overflow:auto;font-weight:300;font-size:1.3em;line-height:1.5em;padding:16px;padding-right:56px;margin:0;white-space:pre-wrap;text-shadow:0 1px 1px rgba(0,0,0,0.5)}#ptn:focus{outline:none}body.playmode #ptn{cursor:default;overflow:hidden}#ptn .ply{transition:all .1s ease-out}body.editmode #ptn .ply:hover{box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.4)}body.editmode #ptn .ply:active,body.editmode #ptn .ply.active{box-shadow:0 8px 10px 1px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.4)}#fab{position:absolute;right:16px;bottom:28px;z-index:2}#fab i{opacity:0;position:absolute;left:50%;transform:translate(-50%);transition:all .25s ease-in-out}#fab i.icon-play{transform:translate(-50%) rotate(179deg)}#fab i.icon-edit{transform:translate(-50%) rotate(-90deg)}body.editmode #fab i.icon-play{opacity:1;transform:translate(-50%)}body.playmode #fab i.icon-edit{opacity:1;transform:translate(-50%)}body.error #fab{background-color:#F44336;color:#fff}body.error #fab:hover{background-color:#f6675d}body.error #fab i{opacity:0 !important}body.error #fab i.icon-error{opacity:1 !important}#controls{background-color:#37474F;position:absolute;bottom:0;left:0;right:0;flex-shrink:0;z-index:1;height:56px;transform:translateY(100%);transition:transform .25s cubic-bezier(0.4, 0, 0.2, 1)}body.playmode #controls{transform:none}#controls>div{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:8px 16px}#controls button{color:rgba(255,255,255,0.8)}#controls button+button{margin-left:8px}#controls button.play i{transition:opacity .25s cubic-bezier(0.4, 0, 0.2, 1)}#controls button.play i.icon-pause{position:absolute;top:0;left:0.5em;opacity:0}body.playing #controls button.play i.icon-play{opacity:0}body.playing #controls button.play i.icon-pause{opacity:1}#share-menu{position:absolute;top:0;right:0;width:40px;padding:16px;overflow:visible;z-index:1}#share-menu .fab+.fab{margin-top:16px;opacity:0;transform:scale(0);pointer-events:none;transition:all .1s cubic-bezier(0.4, 0, 0.2, 1)}#share-menu:hover .fab+.fab{opacity:1;transform:scale(1);pointer-events:all}.fab.small .icon-share{margin-left:-2px}#open{display:block;position:absolute;top:0;bottom:0;left:0;right:0;opacity:0} /*# sourceMappingURL=style.css.map */ \ No newline at end of file diff --git a/css/style.css.map b/css/style.css.map index 48992345..f6ec62f2 100644 --- a/css/style.css.map +++ b/css/style.css.map @@ -11,6 +11,6 @@ "grammar.scss", "board.scss" ], - "mappings": "AGAA,AAAA,IAAI,CAAE,AAAA,IAAI,AAAC,CACT,QAAQ,CAAE,MAAO,CACjB,QAAQ,CAAE,QAAS,CACnB,GAAG,CAAE,CAAE,CACP,MAAM,CAAE,CAAE,CACV,IAAI,CAAE,CAAE,CACR,KAAK,CAAE,CAAE,CACT,MAAM,CAAE,CAAE,CACV,OAAO,CAAE,CAAE,CACX,SAAS,CAAE,IAAK,CAChB,WAAW,CDsBN,QAAQ,CAAE,UAAU,CCrBzB,gBAAgB,CDNG,OAAO,CCO3B,AAED,AAAA,yBAAyB,AAAC,CACzB,gBAAgB,CAAE,WAAY,CAC9B,AACD,AAAA,mBAAmB,AAAC,CACnB,MAAM,CDoBK,GAAG,CCnBd,KAAK,CDmBM,GAAG,CClBd,AACD,AAAA,yBAAyB,AAAC,CACzB,gBAAgB,CDfK,OAAO,CCgB5B,AFJE,AAAA,gBAAgB,AAAC,CEOlB,KAAK,CDjBc,IAAO,CCkB1B,UAAU,CDrBI,OAAO,CDepB,AACA,AAAA,WAAW,AAAC,CEIb,KAAK,CDjBc,IAAO,CCkB1B,UAAU,CDrBI,OAAO,CDkBpB,AGfH,AAAA,MAAM,CAAE,AAAA,OAAO,CAAE,AAAA,IAAI,AAAC,CACpB,UAAU,CAAE,WAAY,CACxB,MAAM,CAAE,IAAK,CACb,aAAa,CAAE,GAAI,CACnB,OAAO,CAAE,YAAa,CACtB,MAAM,CATQ,IAAI,CAUlB,WAAW,CAVG,IAAI,CAWlB,OAAO,CAAE,CAAE,CACX,OAAO,CAAE,OAAQ,CACjB,cAAc,CAAE,SAAU,CAC1B,MAAM,CAAE,OAAQ,CAChB,QAAQ,CAAE,QAAS,CACnB,SAAS,CAAE,IAAK,CAChB,UAAU,CAAE,MAAO,CACnB,cAAc,CAAE,MAAO,CACvB,eAAe,CAAE,IAAK,CACtB,UAAU,CFuBF,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAI,CAAc,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAI,CAAc,CAAC,CAAC,GAAG,CAAC,GAAG,CAAE,IAAG,CAAC,eAAI,CEtBvF,UAAU,CAAE,GAAG,CFkBJ,GAAI,CElBa,QAAQ,CHEpC,WAAW,CAAE,IAAK,CAClB,gBAAgB,CAAE,IAAK,CACvB,eAAe,CAAE,IAAK,CACtB,mBAAmB,CAAE,IAAK,CAC1B,2BAA2B,CAAE,WAAY,CGuC1C,AA9DD,AAqBE,MArBI,CAqBJ,CAAC,CArBK,AAqBN,OArBa,CAqBb,CAAC,CArBc,AAqBf,IArBmB,CAqBnB,CAAC,AAAC,CACA,WAAW,CA1BC,IAAI,CA2BjB,AAvBH,AAAA,MAAM,AAyBH,MAAM,CAzBD,AAAA,OAAO,AAyBZ,MAAM,CAzBQ,AAAA,IAAI,AAyBlB,MAAM,AAAC,CACN,UAAU,CFcJ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAI,CAAc,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAI,CAAc,CAAC,CAAC,GAAG,CAAC,GAAG,CAAE,IAAG,CAAC,eAAI,CEbvF,AA3BH,AAAA,MAAM,AA4BH,OAAO,CA5BF,AAAA,OAAO,AA4BZ,OAAO,CA5BO,AAAA,IAAI,AA4BlB,OAAO,AAAC,CACP,UAAU,CFaJ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAI,CAAc,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAI,CAAc,CAAC,CAAC,GAAG,CAAC,GAAG,CAAE,IAAG,CAAC,eAAI,CEZ5F,AA9BH,AAAA,MAAM,AAgCH,KAAK,CAhCA,AAAA,OAAO,AAgCZ,KAAK,CAhCS,AAAA,IAAI,AAgClB,KAAK,AAAC,CACL,UAAU,CAAE,IAAK,CAQlB,AAzCH,AAAA,MAAM,AAgCH,KAAK,AAGH,MAAM,CAnCH,AAAA,OAAO,AAgCZ,KAAK,AAGH,MAAM,CAnCM,AAAA,IAAI,AAgClB,KAAK,AAGH,MAAM,AAAC,CACN,gBAAgB,CAAE,gBAAI,CACvB,AArCL,AAAA,MAAM,AAgCH,KAAK,AAMH,OAAO,CAtCJ,AAAA,OAAO,AAgCZ,KAAK,AAMH,OAAO,CAtCK,AAAA,IAAI,AAgClB,KAAK,AAMH,OAAO,AAAC,CACP,gBAAgB,CAAE,eAAI,CACvB,AAxCL,AAAA,MAAM,AA2CH,MAAM,CA3CD,AAAA,OAAO,AA2CZ,MAAM,CA3CQ,AAAA,IAAI,AA2ClB,MAAM,AAAC,CACN,aAAa,CAAE,GAAI,CACnB,KAAK,CA/CU,IAAI,CAgDnB,MAAM,CAhDS,IAAI,CAiDnB,WAAW,CAjDI,IAAI,CAsDpB,AApDH,AAiDI,MAjDE,AA2CH,MAAM,CAML,CAAC,CAjDG,AAiDJ,OAjDW,AA2CZ,MAAM,CAML,CAAC,CAjDY,AAiDb,IAjDiB,AA2ClB,MAAM,CAML,CAAC,AAAC,CACA,WAAW,CApDE,IAAI,CAqDlB,AAnDL,AAAA,MAAM,AAsDH,IAAI,CAtDC,AAAA,OAAO,AAsDZ,IAAI,CAtDU,AAAA,IAAI,AAsDlB,IAAI,AAAC,CACJ,gBAAgB,CFtDL,OAAO,CEuDlB,KAAK,CFxDY,IAAO,CE6DzB,AA7DH,AAAA,MAAM,AAsDH,IAAI,AAIF,MAAM,CA1DX,AAAA,MAAM,AAsDH,IAAI,AAIO,OAAO,CA1Db,AAAA,OAAO,AAsDZ,IAAI,AAIF,MAAM,CA1DH,AAAA,OAAO,AAsDZ,IAAI,AAIO,OAAO,CA1DJ,AAAA,IAAI,AAsDlB,IAAI,AAIF,MAAM,CA1DM,AAAA,IAAI,AAsDlB,IAAI,AAIO,OAAO,AAAC,CAChB,gBAAgB,CFzDD,OAAO,CE0DvB,AAIL,AAAA,IAAI,AAAC,CACH,aAAa,CAAE,GAAI,CACnB,KAAK,CArEM,IAAI,CAsEf,MAAM,CAtEK,IAAI,CAuEf,WAAW,CAvEA,IAAI,CAwEf,OAAO,CAAE,CAAE,CACX,QAAQ,CAAE,MAAO,CACjB,gBAAgB,CFxEM,OAAO,CEyE7B,KAAK,CF7EgB,OAAO,CE8E5B,UAAU,CFhCF,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAI,CAAc,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAI,CAAc,CAAC,CAAC,GAAG,CAAC,GAAG,CAAE,IAAG,CAAC,eAAI,CEiCzF,SAAS,CAAE,MAAO,CAyBnB,AAnCD,AAYE,IAZE,CAYF,CAAC,AAAC,CACA,WAAW,CAhFF,IAAI,CAiFd,AAdH,AAAA,IAAI,AAgBD,MAAM,AAAC,CACN,KAAK,CAnFU,IAAI,CAoFnB,MAAM,CApFS,IAAI,CAqFnB,WAAW,CArFI,IAAI,CA0FpB,AAxBH,AAqBI,IArBA,AAgBD,MAAM,CAKL,CAAC,AAAC,CACA,WAAW,CAxFE,IAAI,CAyFlB,AAvBL,AAAA,IAAI,AA0BD,MAAM,AAAC,CACN,gBAAgB,CFpFZ,IAAO,CEqFZ,AA5BH,AAAA,IAAI,AA6BD,MAAM,AAAC,CACN,UAAU,CFpDJ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAI,CAAc,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAI,CAAc,CAAC,CAAC,GAAG,CAAC,GAAG,CAAE,IAAG,CAAC,eAAI,CEqD5F,AA/BH,AAAA,IAAI,AAgCD,OAAO,AAAC,CACP,UAAU,CFtDJ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAI,CAAc,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAI,CAAc,CAAC,CAAC,GAAG,CAAC,IAAI,CAAE,IAAG,CAAC,eAAI,CEuD9F,ACtGH,AACI,SADK,CACL,GAAG,AAAC,CACJ,QAAQ,CAAE,QAAS,CACnB,GAAG,CAAE,MAAO,CACZ,IAAI,CAAE,CAAE,CACR,OAAO,CH2BJ,IAAI,CG1BP,QAAQ,CAAE,IAAK,CACf,UAAU,CAAE,IAAK,CACjB,SAAS,CAAE,iBAAI,CACf,UAAU,CAAE,UAAW,CACvB,OAAO,CAAE,CAAE,CACZ,AAXH,AAaE,SAbO,CAaP,eAAe,CAbjB,AAcE,SAdO,CAcP,eAAe,AAAC,CACd,OAAO,CAAE,CAAE,CACX,SAAS,CAAE,iBAAU,CACrB,UAAU,CAAE,GAAG,CHqBL,IAAK,CAET,4BAAY,CGtBnB,AAlBH,AAoBiB,SApBR,CAoBP,eAAe,AAAA,QAAQ,CACvB,AAAgB,IAAZ,AAAA,SAAS,CArBf,SAAS,CAqBS,eAAe,AAAC,CAC9B,SAAS,CAAE,aAAU,CACrB,OAAO,CAAE,CAAE,CACZ,AAxBH,AA0BE,SA1BO,CA0BP,QAAQ,AAAC,CACP,KAAK,CAAE,IAAK,CACZ,KAAK,CAAE,IAAK,CACZ,QAAQ,CAAE,QAAS,CACnB,WAAW,CAAE,MAAO,CACpB,aAAa,CAAE,GAAI,CACnB,UAAU,CAAE,KAAM,CAClB,YAAY,CHDT,IAAI,CGEP,SAAS,CAAE,IAAK,CAChB,UAAU,CHQJ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAI,CAAc,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAI,CAAc,CAAC,CAAC,GAAG,CAAC,GAAG,CAAE,IAAG,CAAC,eAAI,CGPrF,UAAU,CAAE,GAAG,CHEL,IAAK,CAET,4BAAY,CGwEnB,AAhHH,AA0BE,SA1BO,CA0BP,QAAQ,AAYL,UAAU,AAAC,CACV,OAAO,CAAE,CAAE,CACX,UAAU,CAAE,oBAAI,CACjB,AAzCL,AA2CI,SA3CK,CA0BP,QAAQ,CAiBN,QAAQ,AAAC,CACP,MAAM,CAAE,IAAI,CAAC,mBAAI,CACjB,QAAQ,CAAE,MAAO,CACjB,aAAa,CAAE,QAAS,CACzB,AA/CL,AAiDI,SAjDK,CA0BP,QAAQ,CAuBN,CAAC,AAAC,CACA,QAAQ,CAAE,QAAS,CACnB,OAAO,CAAE,UAAK,CHnBb,IAAI,CGoBL,IAAI,CAAE,CAAE,CACR,GAAG,CAAE,CAAE,CACP,SAAS,CAAE,KAAM,CAalB,AAnEL,AAiDI,SAjDK,CA0BP,QAAQ,CAuBN,CAAC,AAOE,OAAO,AAAC,CACP,OAAO,CAAE,GAAI,CACb,IAAI,CAAE,IAAK,CACX,KAAK,CAAE,CAAE,CACT,MAAM,CAAE,OAAQ,CAChB,UAAU,CAAE,OAAO,CHvBb,IAAK,CAET,4BAAY,CG0Bf,AAlEP,AAiDI,SAjDK,CA0BP,QAAQ,CAuBN,CAAC,AAOE,OAAO,AAOL,MAAM,AAAC,CACN,OAAO,CAAE,CAAE,CACZ,AAjET,AA0BE,SA1BO,CA0BP,QAAQ,AA2CL,QAAQ,AAAC,CACR,gBAAgB,CHvDN,OAAO,CGwDjB,KAAK,CH1DA,eAAI,CG2DV,AAxEL,AA0BE,SA1BO,CA0BP,QAAQ,AAgDL,QAAQ,AAAC,CACR,gBAAgB,CH1DN,OAAO,CG2DjB,KAAK,CH/DA,eAAI,CGgEV,AA7EL,AA0BE,SA1BO,CA0BP,QAAQ,AAqDL,MAAM,AAAC,CACN,gBAAgB,CH7DR,OAAO,CG8Df,KAAK,CHtEH,IAAO,CG2EV,AAtFL,AAmFM,SAnFG,CA0BP,QAAQ,AAqDL,MAAM,CAIL,CAAC,AAAC,CACA,aAAa,CAAE,GAAG,CAAC,KAAK,CHzExB,IAAO,CG0ER,AArFP,AA0BE,SA1BO,CA0BP,QAAQ,AA8DL,KAAK,AAAC,CACL,gBAAgB,CHpFP,OAAO,CGqFhB,KAAK,CH7EA,eAAI,CG8EV,AA3FL,AA0BE,SA1BO,CA0BP,QAAQ,AAmEL,KAAK,AAAC,CACL,gBAAgB,CHvET,OAAO,CGwEd,KAAK,CHpFH,IAAO,CGqFV,AAhGL,AA0BE,SA1BO,CA0BP,QAAQ,AAwEL,QAAQ,AAAC,CACR,gBAAgB,CH9FP,OAAO,CG+FhB,KAAK,CHhGU,IAAO,CGiGvB,AArGL,AA0BE,SA1BO,CA0BP,QAAQ,AA6EL,QAAQ,AAAC,CACR,gBAAgB,CHrGE,OAAO,CGsGzB,KAAK,CH1GY,OAAO,CG2GzB,AA1GL,AA0BE,SA1BO,CA0BP,QAAQ,AAkFL,QAAQ,AAAC,CACR,gBAAgB,CH9GC,OAAO,CG+GxB,KAAK,CH3Ga,OAAO,CG4G1B,AC7FL,AACE,IADE,CACF,QAAQ,CADV,AACY,IADR,CACQ,QAAQ,AAAC,CACjB,MAAM,CAAE,SAAU,CAClB,OAAO,CAAE,QAAS,CAClB,aAAa,CAAE,MAAO,CACvB,AALH,AAME,IANE,CAMF,QAAQ,AAAC,CACP,gBAAgB,CAhBN,sBAAI,CAiBf,AARH,AASE,IATE,CASF,QAAQ,AAAC,CACP,gBAAgB,CApBN,gBAAI,CAqBf,AAXH,AAaE,IAbE,CAaF,IAAI,AAAC,CACH,KAAK,CA5BM,eAAI,CA6Bf,WAAW,CAAE,GAAI,CAoBlB,AAnCH,AAiBI,IAjBA,CAaF,IAAI,CAIF,CAAC,AAAC,CACA,KAAK,CAjCG,sBAAI,CAkCZ,YAAY,CAAE,KAAM,CACpB,SAAS,CAAE,GAAI,CACf,WAAW,CAAE,GAAI,CACjB,cAAc,CAAE,MAAO,CACxB,AAvBL,AAyBI,IAzBA,CAaF,IAAI,CAYF,KAAK,AAAC,CACJ,KAAK,CAzCG,sBAAI,CA0CZ,WAAW,CAAE,GAAI,CACjB,cAAc,CAAE,MAAO,CACxB,AA7BL,AA+BI,IA/BA,CAaF,IAAI,CAkBF,MAAM,AAAC,CACL,KAAK,CA/CG,sBAAI,CAgDZ,WAAW,CAAE,GAAI,CAClB,AAlCL,AAqCE,IArCE,CAqCF,QAAQ,AAAC,CACP,KAAK,CApDM,eAAI,CAqDf,WAAW,CAAE,GAAI,CAMlB,AA7CH,AAyCI,IAzCA,CAqCF,QAAQ,CAIN,KAAK,AAAC,CACJ,KAAK,CAzDG,sBAAI,CA0DZ,WAAW,CAAE,GAAI,CAClB,AA5CL,AA+CE,IA/CE,CA+CF,QAAQ,AAAC,CACP,KAAK,CA9DM,eAAI,CA+Df,WAAW,CAAE,GACd,CAAC,AAlDJ,AAoDE,IApDE,CAoDF,IAAI,AAAC,CACH,WAAW,CAAE,GAAI,CAqClB,AA1FH,AAoDE,IApDE,CAoDF,IAAI,AAGD,QAAQ,AAAC,CACR,UAAU,CAAE,WAAY,CACxB,UAAU,CAAE,eAAgB,CAK7B,AA9DL,AA2DM,IA3DF,CAoDF,IAAI,AAGD,QAAQ,CAIP,CAAC,AAAC,CACA,KAAK,CJ3DC,OAAO,CI2DO,UAAU,CAC/B,AA7DP,AAgEI,IAhEA,CAoDF,IAAI,CAYF,MAAM,AAAC,CACL,KAAK,CJxEH,IAAO,CIyEV,AAlEL,AAmEI,IAnEA,CAoDF,IAAI,CAeF,OAAO,AAAC,CACN,KAAK,CAzEF,OAAO,CA0EV,WAAW,CAAE,GAAI,CAClB,AAtEL,AAuEI,IAvEA,CAoDF,IAAI,CAmBF,IAAI,AAAC,CACH,KAAK,CA9EF,OAAO,CA+EV,WAAW,CAAE,GAAI,CAClB,AA1EL,AA2EI,IA3EA,CAoDF,IAAI,CAuBF,WAAW,AAAC,CACV,KAAK,CAhFH,OAAO,CAiFT,WAAW,CAAE,GAAI,CAClB,AA9EL,AA+EI,IA/EA,CAoDF,IAAI,CA2BF,UAAU,AAAC,CACT,KAAK,CA/FG,sBAAI,CAgGb,AAjFL,AAkFI,IAlFA,CAoDF,IAAI,CA8BF,MAAM,AAAC,CACL,KAAK,CAtFJ,OAAO,CAuFR,WAAW,CAAE,GAAI,CAClB,AArFL,AAsFI,IAtFA,CAoDF,IAAI,CAkCF,WAAW,AAAC,CACV,KAAK,CJ7FD,qBAAI,CI8FR,WAAW,CAAE,GAAI,CAClB,AAzFL,AA4FE,IA5FE,CA4FF,OAAO,AAAC,CACN,WAAW,CAAE,GAAI,CAkBlB,AA/GH,AA+FI,IA/FA,CA4FF,OAAO,CAGL,IAAI,AAAC,CACH,KAAK,CAjHG,IAAI,CAyHb,AAxGL,AA+FI,IA/FA,CA4FF,OAAO,CAGL,IAAI,AAGD,KAAK,AAAC,CACL,KAAK,CAvGL,OAAO,CAwGR,AApGP,AA+FI,IA/FA,CA4FF,OAAO,CAGL,IAAI,AAMD,KAAK,AAAC,CACL,KAAK,CAzGN,OAAO,CA0GP,AAvGP,AAyGI,IAzGA,CA4FF,OAAO,CAaL,KAAK,AAAC,CACJ,KAAK,CAjHL,OAAO,CAkHR,AA3GL,AA4GI,IA5GA,CA4FF,OAAO,CAgBL,KAAK,AAAC,CACJ,KAAK,CAlHF,OAAO,CAmHX,AA9GL,AAiHE,IAjHE,CAiHF,QAAQ,AAAC,CACP,KAAK,CA/HM,qBAAI,CAqIhB,AAxHH,AAoHI,IApHA,CAiHF,QAAQ,CAGN,aAAa,AAAC,CACZ,KAAK,CJpHG,OAAO,CIqHf,WAAW,CAAE,GAAI,CAClB,ACzIL,AAAA,OAAO,AAAC,CACN,QAAQ,CAAE,QAAS,CACnB,GAAG,CAAE,CAAE,CACP,MAAM,CAAE,CAAE,CACV,IAAI,CAAE,CAAE,CACR,KAAK,CAAE,CAAE,CACT,OAAO,CAAE,CAAE,CACX,UAAU,CAAE,OAAO,CL+BP,IAAK,CAET,4BAAY,CKhCrB,AAED,AAAA,MAAM,AAAC,CACL,QAAQ,CAAE,QAAS,CACnB,GAAG,CAAE,yBAAI,CACT,KAAK,CAAE,mBAAI,CACX,KAAK,CAAE,oBAAI,CACX,MAAM,CAAE,oBAAI,CACZ,SAAS,CAAE,KAAM,CAkJlB,AAhJC,AARF,OAQS,AAAA,SAAS,CARlB,MAAM,AAQe,CACjB,UAAU,CAAE,GAAG,CLmBL,IAAK,CAET,4BAAY,CKpBnB,AAED,AAZF,IAYM,AAAA,SAAS,CAZf,MAAM,AAYY,CACd,GAAG,CAAE,iCAAI,CACV,AACD,AAfF,IAeM,AAAA,SAAS,AAAA,IAAK,CAAA,AAAA,IAAI,EAfxB,MAAM,AAesB,CACxB,KAAK,CAAE,+BAAI,CACX,OAAO,CAAE,CAAE,CACZ,AAED,MAAM,EAAL,gBAAgB,EAAE,EAAE,GAAC,EAAE,EApB1B,AAAA,MAAM,AAAC,CAqBH,KAAK,CAAE,+BAAI,CAmId,CAxJD,AAwBE,MAxBI,CAwBJ,QAAQ,CAxBV,AAyBE,MAzBI,CAyBJ,OAAO,AAAC,CACN,QAAQ,CAAE,QAAS,CACnB,GAAG,CAAE,CAAE,CACP,MAAM,CAAE,GAAI,CACZ,IAAI,CAAE,GAAI,CACV,KAAK,CAAE,CAAE,CACV,AA/BH,AAiCE,MAjCI,CAiCJ,OAAO,AAAC,CACN,QAAQ,CAAE,QAAS,CACnB,gBAAgB,CL3CE,OAAO,CKgD1B,AAxCH,AAiCE,MAjCI,CAiCJ,OAAO,AAIJ,KAAK,AAAC,CACL,gBAAgB,CL/CN,OAAO,CKgDlB,AAvCL,AA0CE,MA1CI,CA0CJ,MAAM,AAAC,CACL,QAAQ,CAAE,QAAS,CACnB,MAAM,CAAE,CAAE,CACV,IAAI,CAAE,CAAE,CACR,UAAU,CAAE,SAAS,CLlBX,IAAK,CAET,4BAAY,CKgGnB,AA9HH,AAgDI,MAhDE,CA0CJ,MAAM,CAMJ,QAAQ,AAAC,CACP,QAAQ,CAAE,QAAS,CACnB,GAAG,CAAE,CAAE,CACP,MAAM,CAAE,CAAE,CACV,IAAI,CAAE,CAAE,CACR,KAAK,CAAE,CAAE,CACT,UAAU,CAAE,SAAS,CL1Bb,IAAK,CAET,4BAAY,CKyBd,OAAO,CL3BD,IAAK,CAET,4BAAY,CK0BjB,AAxDL,AA0Dc,MA1DR,CA0CJ,MAAM,AAgBH,QAAQ,CAAC,QAAQ,AAAC,CACjB,OAAO,CAAE,CAAE,CACX,SAAS,CAAE,QAAK,CACjB,AA7DL,AA+DI,MA/DE,CA0CJ,MAAM,CAqBJ,MAAM,AACH,GAAG,CAhEV,AA+DY,MA/DN,CA0CJ,MAAM,CAqBI,QAAQ,AACb,GAAG,AAAC,CACH,gBAAgB,CLxEA,OAAO,CKyExB,AAlEP,AA+DI,MA/DE,CA0CJ,MAAM,CAqBJ,MAAM,AAIH,GAAG,CAnEV,AA+DY,MA/DN,CA0CJ,MAAM,CAqBI,QAAQ,AAIb,GAAG,AAAC,CACH,gBAAgB,CL/ED,OAAO,CKgFvB,AArEP,AAwEI,MAxEE,CA0CJ,MAAM,CA8BJ,MAAM,AAAC,CACL,KAAK,CAAE,GAAI,CACX,MAAM,CAAE,GAAI,CACZ,MAAM,CAAE,GAAI,CACZ,aAAa,CAAE,OAAQ,CACvB,QAAQ,CAAE,QAAS,CACnB,UAAU,CAAE,SAAS,CLlDb,IAAK,CAET,4BAAY,CKiDd,KAAK,CLnDC,IAAK,CAET,4BAAY,CKkDd,MAAM,CLpDA,IAAK,CAET,4BAAY,CKmDd,UAAU,CLrDJ,IAAK,CKqDa,QAAQ,CA4BnC,AA7GL,AAwEI,MAxEE,CA0CJ,MAAM,CA8BJ,MAAM,AAWH,EAAE,AACA,GAAG,AAAC,CAAE,UAAU,CLnDf,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAI,CAAc,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAI,CAAc,CAAC,CAAC,GAAG,CAAC,GAAG,CAAE,IAAG,CAAC,eAAI,CKmDlD,AApFvC,AAwEI,MAxEE,CA0CJ,MAAM,CA8BJ,MAAM,AAWH,EAAE,AAEA,GAAG,AAAC,CAAE,UAAU,CLnDf,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAI,CAAc,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAI,CAAc,CAAC,CAAC,GAAG,CAAC,GAAG,CAAE,IAAG,CAAC,eAAI,CKmDnD,AArFvC,AAwEI,MAxEE,CA0CJ,MAAM,CA8BJ,MAAM,AAWH,EAAE,AAGA,GAAG,AAAC,CAAE,UAAU,CLnDf,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAI,CAAc,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAI,CAAc,CAAC,CAAC,GAAG,CAAC,GAAG,CAAE,IAAG,CAAC,eAAI,CKmDpD,AAtFvC,AAwEI,MAxEE,CA0CJ,MAAM,CA8BJ,MAAM,AAWH,EAAE,AAIA,GAAG,AAAC,CAAE,UAAU,CLnDf,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAI,CAAc,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAI,CAAc,CAAC,CAAC,GAAG,CAAC,GAAG,CAAE,IAAG,CAAC,eAAI,CKmDxD,AAvFvC,AAwEI,MAxEE,CA0CJ,MAAM,CA8BJ,MAAM,AAWH,EAAE,AAKA,GAAG,AAAC,CAAE,UAAU,CLnDf,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAI,CAAc,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAI,CAAc,CAAC,CAAC,GAAG,CAAC,IAAI,CAAE,IAAG,CAAC,eAAI,CKmD1D,AAxFvC,AAwEI,MAxEE,CA0CJ,MAAM,CA8BJ,MAAM,AAmBH,EAAE,AAAC,CACF,KAAK,CAAE,MAAO,CACd,WAAW,CAAE,OAAQ,CAUtB,AAvGP,AAwEI,MAxEE,CA0CJ,MAAM,CA8BJ,MAAM,AAmBH,EAAE,AAIA,GAAG,AAAC,CACH,SAAS,CAAE,cAAM,CACjB,UAAU,CAAG,IAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAI,CAAe,IAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAI,CAAe,IAAG,CAAC,GAAG,CAAC,GAAG,CAAE,IAAG,CAAC,eAAI,CACvG,AAlGT,AAwEI,MAxEE,CA0CJ,MAAM,CA8BJ,MAAM,AAmBH,EAAE,AAQA,GAAG,AAAC,CACH,SAAS,CAAE,aAAM,CACjB,UAAU,CAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAI,CAAc,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAI,CAAc,GAAG,CAAC,GAAG,CAAC,GAAG,CAAE,IAAG,CAAC,eAAI,CACpG,AAtGT,AAwEI,MAxEE,CA0CJ,MAAM,CA8BJ,MAAM,AAiCH,EAAE,AAAC,CACF,aAAa,CAAE,GAAI,CACnB,UAAU,CLxER,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAI,CAAc,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAI,CAAc,CAAC,CAAC,GAAG,CAAC,GAAG,CAAE,IAAG,CAAC,eAAI,CKyEpF,AA5GP,AA+GI,MA/GE,CA0CJ,MAAM,CAqEJ,QAAQ,AAAC,CACP,QAAQ,CAAE,QAAS,CACnB,MAAM,CAAE,GAAI,CACZ,IAAI,CAAE,GAAI,CACV,KAAK,CAAE,GAAI,CACX,MAAM,CAAE,IAAK,CACb,OAAO,CAAE,CAAE,CACX,aAAa,CAAE,QAAS,CACxB,UAAU,CLtFN,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAI,CAAc,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAI,CAAc,CAAC,CAAC,GAAG,CAAC,GAAG,CAAE,IAAG,CAAC,eAAI,CKuFnF,UAAU,CAAE,GAAG,CL5FP,IAAK,CAET,4BAAY,CK+FjB,AA7HL,AA+GI,MA/GE,CA0CJ,MAAM,CAqEJ,QAAQ,AAWL,QAAQ,AAAC,CACR,OAAO,CAAE,CAAE,CACZ,AA5HP,AAgIE,MAhII,CAgIJ,OAAO,AAAC,CACN,KAAK,CLvIY,IAAO,CKwIxB,QAAQ,CAAE,QAAS,CACnB,SAAS,CAAE,GAAI,CACf,OAAO,CAAE,IAAK,CACd,eAAe,CAAE,YAAa,CAkB/B,AAvJH,AAgIE,MAhII,CAgIJ,OAAO,AAOJ,IAAI,AAAC,CACJ,GAAG,CAAE,CAAE,CACP,IAAI,CAAE,CAAE,CACR,cAAc,CAAE,cAAe,CAC/B,KAAK,CAAE,GAAI,CACX,MAAM,CAAE,gBAAI,CACZ,UAAU,CAAE,MAAO,CACpB,AA9IL,AAgIE,MAhII,CAgIJ,OAAO,AAeJ,IAAI,AAAC,CACJ,MAAM,CAAE,CAAE,CACV,KAAK,CAAE,CAAE,CACT,cAAc,CAAE,GAAI,CACpB,KAAK,CAAE,gBAAI,CACX,MAAM,CAAE,GAAI,CACZ,WAAW,CAAE,GAAI,CAClB,AAKH,AAAQ,OAAD,CAAC,OAAO,CACf,AAAQ,OAAD,CAAC,MAAM,AADd,CACE,KAAK,CAAE,SAAU,CACjB,MAAM,CAAE,SAAU,CACnB,AAGC,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,EAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,SAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,SAAU,CACjB,AAGD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,EAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,SAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,SAAU,CACnB,AAbH,AAAQ,OAAD,CAAC,OAAO,CACf,AAAQ,OAAD,CAAC,MAAM,AADd,CACE,KAAK,CAAE,GAAU,CACjB,MAAM,CAAE,GAAU,CACnB,AAGC,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,EAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,GAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,GAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,GAAU,CACjB,AAGD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,EAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,GAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,GAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,GAAU,CACnB,AAbH,AAAQ,OAAD,CAAC,OAAO,CACf,AAAQ,OAAD,CAAC,MAAM,AADd,CACE,KAAK,CAAE,GAAU,CACjB,MAAM,CAAE,GAAU,CACnB,AAGC,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,EAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,GAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,GAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,GAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,GAAU,CACjB,AAGD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,EAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,GAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,GAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,GAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,GAAU,CACnB,AAbH,AAAQ,OAAD,CAAC,OAAO,CACf,AAAQ,OAAD,CAAC,MAAM,AADd,CACE,KAAK,CAAE,SAAU,CACjB,MAAM,CAAE,SAAU,CACnB,AAGC,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,EAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,SAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,SAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,GAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,SAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,SAAU,CACjB,AAGD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,EAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,SAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,SAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,GAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,SAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,SAAU,CACnB,AAbH,AAAQ,OAAD,CAAC,OAAO,CACf,AAAQ,OAAD,CAAC,MAAM,AADd,CACE,KAAK,CAAE,SAAU,CACjB,MAAM,CAAE,SAAU,CACnB,AAGC,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,EAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,SAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,SAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,SAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,SAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,SAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,SAAU,CACjB,AAGD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,EAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,SAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,SAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,SAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,SAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,SAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,SAAU,CACnB,AAbH,AAAQ,OAAD,CAAC,OAAO,CACf,AAAQ,OAAD,CAAC,MAAM,AADd,CACE,KAAK,CAAE,KAAU,CACjB,MAAM,CAAE,KAAU,CACnB,AAGC,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,EAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,KAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,GAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,KAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,GAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,KAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,GAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,KAAU,CACjB,AAGD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,EAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,KAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,GAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,KAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,GAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,KAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,GAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,KAAU,CACnB,AAbH,AAAQ,OAAD,CAAC,OAAO,CACf,AAAQ,OAAD,CAAC,MAAM,AADd,CACE,KAAK,CAAE,SAAU,CACjB,MAAM,CAAE,SAAU,CACnB,AAGC,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,EAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,SAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,SAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,SAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,SAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,SAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,SAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,SAAU,CACjB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,IAAI,CAAE,SAAU,CACjB,AAGD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,EAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,SAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,SAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,SAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,SAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,SAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,SAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,SAAU,CACnB,AAFD,AAAQ,OAAD,CAAC,GAAG,AAAX,CACE,MAAM,CAAE,SAAU,CACnB,AP3KL,AAAA,IAAI,AAAC,CACH,QAAQ,CAAE,QAAS,CACnB,GAAG,CAAE,CAAE,CACP,MAAM,CAAE,CAAE,CACV,IAAI,CAAE,CAAE,CACR,KAAK,CAAE,CAAE,CACV,AAED,AAAA,OAAO,AAAC,CACN,QAAQ,CAAE,QAAS,CACnB,GAAG,CAAE,CAAE,CACP,MAAM,CAAE,CAAE,CACV,IAAI,CAAE,CAAE,CACR,KAAK,CAAE,CAAE,CACT,KAAK,CEnBe,OAAO,CFoB3B,WAAW,CEOD,iBAAiB,CAAE,0BAA0B,CAAE,UAAU,CAAE,SAAS,CAAE,SAAS,CFNzF,SAAS,CAAE,CAAE,CACb,OAAO,CAAE,CAAE,CACX,UAAU,CAAE,GAAG,CEaH,IAAK,CAET,4BAAY,CFQrB,AArBC,AAZF,IAYM,AAAA,SAAS,CAZf,OAAO,AAYW,CCJhB,WAAW,CAAE,IAAK,CAClB,gBAAgB,CAAE,IAAK,CACvB,eAAe,CAAE,IAAK,CACtB,mBAAmB,CAAE,IAAK,CAC1B,2BAA2B,CAAE,WAAY,CDEvC,cAAc,CAAE,IAAK,CACrB,OAAO,CAAE,CAAE,CACZ,AAhBH,AAAA,OAAO,AAkBJ,OAAO,AAAC,CACP,OAAO,CAAE,EAAG,CACZ,OAAO,CAAE,KAAM,CACf,QAAQ,CAAE,QAAS,CACnB,GAAG,CAAE,CAAE,CACP,MAAM,CAAE,CAAE,CACV,IAAI,CAAE,CAAE,CACR,KAAK,CAAE,CAAE,CACT,UAAU,CAAE,2EAAe,CAC3B,UAAU,CAAE,OAAO,CEJT,IAAK,CAET,4BAAY,CFOnB,AAHC,AA7BJ,IA6BQ,AAAA,SAAS,CA7BjB,OAAO,AAkBJ,OAAO,AAWU,CACd,OAAO,CAAE,CAAE,CACZ,AAIL,AAAA,IAAI,AAAC,CACH,QAAQ,CAAE,QAAS,CACnB,GAAG,CAAE,CAAE,CACP,MAAM,CAAE,CAAE,CACV,IAAI,CAAE,CAAE,CACR,KAAK,CAAE,CAAE,CACT,QAAQ,CAAE,IAAK,CACf,WAAW,CAAE,GAAI,CACjB,SAAS,CAAE,KAAM,CACjB,WAAW,CAAE,KAAM,CACnB,OAAO,CE5BF,IAAI,CF6BT,aAAa,CAAE,IAAK,CACpB,MAAM,CAAE,CAAE,CACV,WAAW,CAAE,QAAS,CACtB,WAAW,CAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,eAAI,CAuB5B,AArCD,AAAA,IAAI,AAgBD,MAAM,AAAC,CACN,OAAO,CAAE,IAAK,CACf,AAED,AApBF,IAoBM,AAAA,SAAS,CApBf,IAAI,AAoBc,CACd,MAAM,CAAE,OAAQ,CAChB,QAAQ,CAAE,MAAO,CAClB,AAvBH,AAyBE,IAzBE,CAyBF,IAAI,AAAC,CACH,UAAU,CAAE,GAAG,CErCN,GAAI,CFqCe,QAAQ,CACrC,AACD,AAAgB,IAAZ,AAAA,SAAS,CA5Bf,IAAI,CA4Bc,IAAI,AACjB,MAAM,AAAC,CACN,UAAU,CEpCN,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAI,CAAc,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAI,CAAc,CAAC,CAAC,GAAG,CAAC,GAAG,CAAE,IAAG,CAAC,eAAI,CFqCrF,AAHH,AAAgB,IAAZ,AAAA,SAAS,CA5Bf,IAAI,CA4Bc,IAAI,AAIjB,OAAO,CAJV,AAAgB,IAAZ,AAAA,SAAS,CA5Bf,IAAI,CA4Bc,IAAI,AAKjB,OAAO,AAAC,CACP,UAAU,CEtCN,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAI,CAAc,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAI,CAAc,CAAC,CAAC,GAAG,CAAC,GAAG,CAAE,IAAG,CAAC,eAAI,CFuC1F,AAIL,AAAA,IAAI,AAAC,CACH,QAAQ,CAAE,QAAS,CACnB,KAAK,CE3DA,IAAI,CF4DT,MAAM,CAAE,IAAe,CACvB,OAAO,CAAE,CAAE,CA8CZ,AAlDD,AAME,IANE,CAMF,CAAC,AAAC,CACA,OAAO,CAAE,CAAE,CACX,QAAQ,CAAE,QAAS,CACnB,IAAI,CAAE,GAAI,CACV,SAAS,CAAE,eAAS,CACpB,UAAU,CAAE,GAAG,CE9DL,IAAK,CF8Dc,WAAW,CAQzC,AAnBH,AAME,IANE,CAMF,CAAC,AAOE,UAAU,AAAC,CACV,SAAS,CAAE,eAAS,CAAO,cAAM,CAClC,AAfL,AAME,IANE,CAMF,CAAC,AAUE,UAAU,AAAC,CACV,SAAS,CAAE,eAAS,CAAO,cAAM,CAClC,AAGH,AACG,IADC,AAAA,SAAS,CArBf,IAAI,CAsBA,CAAC,AAAA,UAAU,AAAC,CACV,OAAO,CAAE,CAAE,CACX,SAAS,CAAE,eAAS,CACrB,AAGH,AACG,IADC,AAAA,SAAS,CA5Bf,IAAI,CA6BA,CAAC,AAAA,UAAU,AAAC,CACV,OAAO,CAAE,CAAE,CACX,SAAS,CAAE,eAAS,CACrB,AAGH,AAnCF,IAmCM,AAAA,MAAM,CAnCZ,IAAI,AAmCW,CACX,gBAAgB,CE1GN,OAAO,CF2GjB,KAAK,CEnHD,IAAO,CF+HZ,AAdD,AAnCF,IAmCM,AAAA,MAAM,CAnCZ,IAAI,AAuCC,MAAM,AAAC,CACN,gBAAgB,CAAE,OAAO,CAC1B,AANH,AAQE,IARE,AAAA,MAAM,CAnCZ,IAAI,CA2CA,CAAC,AAAC,CACA,OAAO,CAAE,YAAa,CACvB,AAVH,AAWG,IAXC,AAAA,MAAM,CAnCZ,IAAI,CA8CA,CAAC,AAAA,WAAW,AAAC,CACX,OAAO,CAAE,YAAa,CACvB,AAIL,AAAA,SAAS,AAAC,CACR,gBAAgB,CE/IK,OAAO,CFgJ5B,QAAQ,CAAE,QAAS,CACnB,MAAM,CAAE,CAAE,CACV,IAAI,CAAE,CAAE,CACR,KAAK,CAAE,CAAE,CACT,WAAW,CAAE,CAAE,CACf,OAAO,CAAE,CAAE,CACX,MAAM,CEnHS,IAAI,CFoHnB,SAAS,CAAE,gBAAU,CACrB,UAAU,CAAE,SAAS,CEjHT,IAAK,CAET,4BAAY,CF0JrB,AAzCC,AAZF,IAYM,AAAA,SAAS,CAZf,SAAS,AAYS,CACd,SAAS,CAAE,IAAK,CACjB,AAdH,AAgBI,SAhBK,CAgBL,GAAG,AAAC,CACJ,OAAO,CAAE,IAAK,CACd,cAAc,CAAE,GAAI,CACpB,eAAe,CAAE,MAAO,CACxB,WAAW,CAAE,MAAO,CACpB,OAAO,CAAE,GAAK,CElIX,IAAI,CFmIR,AAtBH,AAwBE,SAxBO,CAwBP,MAAM,AAAC,CACL,KAAK,CE1JC,qBAAI,CF+JX,AA9BH,AA2BM,SA3BG,CAwBP,MAAM,CAGF,MAAM,AAAC,CACP,WAAW,CAAE,GAAK,CACnB,AA7BL,AAiCI,SAjCK,CAgCP,MAAM,AAAA,KAAK,CACT,CAAC,AAAC,CACA,UAAU,CAAE,OAAO,CEzIX,IAAK,CAET,4BAAY,CF+IjB,AA1CL,AAiCI,SAjCK,CAgCP,MAAM,AAAA,KAAK,CACT,CAAC,AAGE,WAAW,AAAC,CACX,QAAQ,CAAE,QAAS,CACnB,GAAG,CAAE,CAAE,CACP,IAAI,CAAE,KAAM,CACZ,OAAO,CAAE,CAAE,CACZ,AAGH,AACG,IADC,AAAA,QAAQ,CA5ChB,SAAS,CAgCP,MAAM,AAAA,KAAK,CAaP,CAAC,AAAA,UAAU,AAAC,CACV,OAAO,CAAE,CAAE,CACZ,AAHH,AAIG,IAJC,AAAA,QAAQ,CA5ChB,SAAS,CAgCP,MAAM,AAAA,KAAK,CAgBP,CAAC,AAAA,WAAW,AAAC,CACX,OAAO,CAAE,CAAE,CACZ,AAKP,AAAA,WAAW,AAAC,CACV,QAAQ,CAAE,QAAS,CACnB,GAAG,CAAE,CAAE,CACP,KAAK,CAAE,CAAE,CACT,KAAK,CItMY,IAAI,CJuMrB,OAAO,CEzKF,IAAI,CF0KT,QAAQ,CAAE,OAAQ,CAClB,OAAO,CAAE,CAAE,CAiBZ,AAxBD,AASS,WATE,CAST,IAAI,CAAG,IAAI,AAAC,CACV,UAAU,CE9KP,IAAI,CF+KP,OAAO,CAAE,CAAE,CACX,SAAS,CAAE,QAAK,CAChB,cAAc,CAAE,IAAK,CACrB,UAAU,CAAE,GAAG,CE3KN,GAAI,CACP,4BAAY,CF2KnB,AAfH,AAkBW,WAlBA,AAiBR,MAAM,CACL,IAAI,CAAG,IAAI,AAAC,CACV,OAAO,CAAE,CAAE,CACX,SAAS,CAAE,QAAK,CAChB,cAAc,CAAE,GAAI,CACrB,AAIL,AAAW,IAAP,AAAA,MAAM,CAAC,WAAW,AAAC,CACrB,WAAW,CAAE,IAAK,CACnB,AAED,AAAA,KAAK,AAAC,CACJ,OAAO,CAAE,KAAM,CACf,QAAQ,CAAE,QAAS,CACnB,GAAG,CAAE,CAAE,CACP,MAAM,CAAE,CAAE,CACV,IAAI,CAAE,CAAE,CACR,KAAK,CAAE,CAAE,CACT,OAAO,CAAE,CAAE,CACZ", + "mappings": "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", "names": [] } \ No newline at end of file diff --git a/js/app/board.js b/js/app/board.js index 623ebdf8..3a9a27f1 100644 --- a/js/app/board.js +++ b/js/app/board.js @@ -240,6 +240,12 @@ define(['app/messages', 'i18n!nls/main', 'lodash'], function (Messages, t, _) { return this.piece; }; + Square.prototype.set_active = function () { + if (this.$view) { + this.$view.addClass('active'); + } + }; + Square.prototype.render = function () { this.$view = $(tpl.square(this)); this.$view.data('model', this); @@ -267,6 +273,7 @@ define(['app/messages', 'i18n!nls/main', 'lodash'], function (Messages, t, _) { } this.set_piece(piece, false, true); + ply.squares[0] = this; this.piece.render(); @@ -301,6 +308,8 @@ define(['app/messages', 'i18n!nls/main', 'lodash'], function (Messages, t, _) { return illegal(); } + ply.squares[0] = this; + remaining_stack = piece.captives.splice(ply.count - 1); square.set_piece(remaining_stack[0], remaining_stack.slice(1)); moving_stack = [piece].concat(piece.captives); @@ -331,6 +340,7 @@ define(['app/messages', 'i18n!nls/main', 'lodash'], function (Messages, t, _) { } square.set_piece(remaining_stack[0], remaining_stack.slice(1)); + ply.squares[i + 1] = square; } return true; @@ -526,7 +536,7 @@ define(['app/messages', 'i18n!nls/main', 'lodash'], function (Messages, t, _) { }; Board.prototype.do_ply = function () { - var ply, square, piece; + var ply, square, piece, ply_result; if (this.ply == this.game.plys.length) { this.pause(); @@ -553,10 +563,14 @@ define(['app/messages', 'i18n!nls/main', 'lodash'], function (Messages, t, _) { _.invokeMap(this.ply_callbacks, 'call', this, this.ply - 1); if (ply.is_slide) { - return square.slide(ply); + ply_result = square.slide(ply); } else { - return square.place(ply); + ply_result = square.place(ply); } + + this.set_active_squares(ply); + + return ply_result; }; Board.prototype.undo_ply = function () { @@ -576,8 +590,10 @@ define(['app/messages', 'i18n!nls/main', 'lodash'], function (Messages, t, _) { if (this.ply == 0) { this.show_comments(this.game); + this.set_active_squares(ply); } else { this.show_comments(this.game.plys[this.ply - 1]); + this.set_active_squares(this.game.plys[this.ply - 1]); } _.invokeMap(this.ply_callbacks, 'call', this, this.ply - 1); @@ -597,6 +613,13 @@ define(['app/messages', 'i18n!nls/main', 'lodash'], function (Messages, t, _) { return false; }; + Board.prototype.set_active_squares = function (ply) { + if (this.$view) { + this.$squares.children().removeClass('active'); + _.invokeMap(ply.squares, 'set_active'); + } + }; + Board.prototype.show_comments = function (ply) { m.clear(false, true); diff --git a/js/app/game.js b/js/app/game.js index f9d059e2..9c9ce1c4 100644 --- a/js/app/game.js +++ b/js/app/game.js @@ -145,6 +145,7 @@ define(['app/grammar', 'app/messages', 'i18n!nls/main', 'lodash', 'lzstring'], f this.col = parts[2][0]; this.row = parts[2][1]*1; this.square = this.col+this.row; + this.squares = []; this.direction = parts[3]; this.drops_text = parts[4] || '', this.drops = parts[4] ? parts[4].split('').map(_.toInteger) : [this.count]; @@ -168,6 +169,7 @@ define(['app/grammar', 'app/messages', 'i18n!nls/main', 'lodash', 'lzstring'], f this.col = parts[2][0]; this.row = parts[2][1]*1; this.square = this.col+this.row; + this.squares = []; this.evaluation = ply_group[4] || ''; } From cdd69ba6d1a7d78394cb27dcaca552f59e85e86d Mon Sep 17 00:00:00 2001 From: gruppler Date: Sat, 18 Jun 2016 14:50:18 -0400 Subject: [PATCH 2/6] Stop playing immediately after last ply Minor refactoring --- js/app/board.js | 36 +++++++++++++++++++++++++++++------- js/app/main.js | 21 +++++++-------------- 2 files changed, 36 insertions(+), 21 deletions(-) diff --git a/js/app/board.js b/js/app/board.js index 3a9a27f1..4d12460c 100644 --- a/js/app/board.js +++ b/js/app/board.js @@ -538,9 +538,6 @@ define(['app/messages', 'i18n!nls/main', 'lodash'], function (Messages, t, _) { Board.prototype.do_ply = function () { var ply, square, piece, ply_result; - if (this.ply == this.game.plys.length) { - this.pause(); - } if (this.ply >= this.game.plys.length || this.ply < 0) { return false; } @@ -570,6 +567,10 @@ define(['app/messages', 'i18n!nls/main', 'lodash'], function (Messages, t, _) { this.set_active_squares(ply); + if (this.ply == this.game.plys.length) { + this.pause(); + } + return ply_result; }; @@ -648,10 +649,11 @@ define(['app/messages', 'i18n!nls/main', 'lodash'], function (Messages, t, _) { }; Board.prototype.play = function () { - this.do_ply(); - this.play_timer = setInterval(_.bind(this.do_ply, this), 1000); - this.is_playing = true; - $('body').addClass('playing'); + if (this.do_ply() && this.game.plys[this.ply]) { + this.play_timer = setInterval(_.bind(this.do_ply, this), 1000); + this.is_playing = true; + $('body').addClass('playing'); + } }; Board.prototype.pause = function () { @@ -693,6 +695,26 @@ define(['app/messages', 'i18n!nls/main', 'lodash'], function (Messages, t, _) { this.do_ply(); }; + Board.prototype.prev_move = function (event) { + if (event) { + event.stopPropagation(); + event.preventDefault(); + } + + this.pause(); + this.go_to_ply(this.ply + 2); + }; + + Board.prototype.next_move = function (event) { + if (event) { + event.stopPropagation(); + event.preventDefault(); + } + + this.pause(); + this.go_to_ply(this.ply - 2); + }; + Board.prototype.first = function (event) { if (event) { event.stopPropagation(); diff --git a/js/app/main.js b/js/app/main.js index 17bf9cdd..0af28760 100644 --- a/js/app/main.js +++ b/js/app/main.js @@ -335,32 +335,25 @@ requirejs({locale: navigator.language}, [ // Play Mode switch (event.keymap) { case 'Spacebar': - board.playpause(); - event.preventDefault(); + board.playpause(event); break; case 'ArrowLeft': - board.prev(); - event.preventDefault(); + board.prev(event); break; case 'ArrowRight': - board.next(); - event.preventDefault(); + board.next(event); break; case '^ArrowLeft': - board.first(); - event.preventDefault(); + board.first(event); break; case '^ArrowRight': - board.last(); - event.preventDefault(); + board.last(event); break; case 'ArrowDown': - board.go_to_ply(board.ply + 2); - event.preventDefault(); + board.prev_move(event); break; case 'ArrowUp': - board.go_to_ply(board.ply - 2); - event.preventDefault(); + board.next_move(event); break; } From af6541a99bebf52c28fd12ece9b422567c0d8db7 Mon Sep 17 00:00:00 2001 From: gruppler Date: Sat, 18 Jun 2016 14:58:46 -0400 Subject: [PATCH 3/6] Save and Open hotkeys --- js/app/main.js | 10 ++++++++++ readme.md | 10 ++++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/js/app/main.js b/js/app/main.js index 0af28760..4a13793d 100644 --- a/js/app/main.js +++ b/js/app/main.js @@ -366,6 +366,16 @@ requirejs({locale: navigator.language}, [ toggle_edit_mode(); } break; + case '^s': + $('#download').click(); + event.preventDefault(); + event.stopPropagation(); + break; + case '^o': + $('#open').click(); + event.preventDefault(); + event.stopPropagation(); + break; case '^?': game.parse(sample_ptn, true); break; diff --git a/readme.md b/readme.md index 7717d3d3..b2a500ca 100644 --- a/readme.md +++ b/readme.md @@ -21,10 +21,12 @@ The **share** menu in the upper-right corner allows you to do the following: ## Hotkeys #### Global -| Key | Action | -| -------------------------- | -------------------------------------- | -| Esc | Toggle between Play Mode and Edit Mode | -| Ctrl + Shift + / | Load sample PTN | +| Key | Action | +| ------------------------------ | -------------------------------------- | +| Esc | Toggle between Play Mode and Edit Mode | +| Ctrl + s | Download .ptn file | +| Ctrl + o | Open .ptn file | +| Ctrl + Shift + / | Load sample PTN | #### Edit Mode | Key | Action | From cc61a3a7a0ca96b33990e05462fc39035dd84d93 Mon Sep 17 00:00:00 2001 From: gruppler Date: Sat, 18 Jun 2016 15:04:51 -0400 Subject: [PATCH 4/6] Mark plies with invalid squares as illegal --- js/app/game.js | 1 + 1 file changed, 1 insertion(+) diff --git a/js/app/game.js b/js/app/game.js index 9c9ce1c4..32c7e1f3 100644 --- a/js/app/game.js +++ b/js/app/game.js @@ -179,6 +179,7 @@ define(['app/grammar', 'app/messages', 'i18n!nls/main', 'lodash', 'lzstring'], f ) { game.is_valid = false; m.error(t.error.invalid_square({square: this.col+this.row})); + this.mark_illegal(); } return this; From eb94c9177407a6991be7b2125fafc2046a12635c Mon Sep 17 00:00:00 2001 From: gruppler Date: Sat, 18 Jun 2016 16:36:18 -0400 Subject: [PATCH 5/6] Fix bug allowing pieces to animate after editing --- js/app/board.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/js/app/board.js b/js/app/board.js index 4d12460c..9516f3de 100644 --- a/js/app/board.js +++ b/js/app/board.js @@ -420,7 +420,7 @@ define(['app/messages', 'i18n!nls/main', 'lodash'], function (Messages, t, _) { }; Board.prototype.init = function (game, silent) { - var saved_ply, i, j, row, col, col_letter, square, piece, tps + var i, j, row, col, col_letter, square, piece, tps , a = 'a'.charCodeAt(0); if (silent !== true) { @@ -434,7 +434,7 @@ define(['app/messages', 'i18n!nls/main', 'lodash'], function (Messages, t, _) { this.size = 1*game.config.size; this.tps = game.config.tps; - saved_ply = this.ply; + this.saved_ply = this.ply; this.clear(); for (col = 0; col < this.size; col++) { @@ -523,7 +523,9 @@ define(['app/messages', 'i18n!nls/main', 'lodash'], function (Messages, t, _) { ) ); - this.go_to_ply(this.saved_ply); + if (this.saved_ply) { + this.go_to_ply(this.saved_ply); + } return this.$view; }; From 06cdf0de97a252be2f3a934c05c747d8dbc5350f Mon Sep 17 00:00:00 2001 From: gruppler Date: Sat, 18 Jun 2016 16:40:04 -0400 Subject: [PATCH 6/6] Build v1.0.5 - Highlight squares affected by current ply in edit mode - Save and Open hotkeys - Bug fixes --- dist/css/style.css | 2 +- dist/js/app.js | 14 +++++++------- dist/readme.md | 10 ++++++---- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/dist/css/style.css b/dist/css/style.css index 465e94e6..4d1e21a1 100644 --- a/dist/css/style.css +++ b/dist/css/style.css @@ -1 +1 @@ -html,body{overflow:hidden;position:absolute;top:0;bottom:0;left:0;right:0;margin:0;padding:0;font-size:14px;font-family:"Roboto",sans-serif;background-color:#455A64}::-webkit-scrollbar-track{background-color:transparent}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-thumb{background-color:#90A4AE}::-moz-selection{color:#fff;background:#607D8B}::selection{color:#fff;background:#607D8B}button,.button,.fab{background:transparent;border:none;border-radius:2px;display:inline-block;height:36px;line-height:36px;outline:0;padding:0 0.5em;text-transform:uppercase;cursor:default;position:relative;font-size:20px;text-align:center;vertical-align:middle;text-decoration:none;box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 1px 5px 0 rgba(0,0,0,0.12),0 3px 1px -2px rgba(0,0,0,0.2);transition:all .1s ease-out;user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}button i,.button i,.fab i{line-height:36px}button:hover,.button:hover,.fab:hover{box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.4)}button:active,.button:active,.fab:active{box-shadow:0 8px 10px 1px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.4)}button.flat,.button.flat,.fab.flat{box-shadow:none}button.flat:hover,.button.flat:hover,.fab.flat:hover{background-color:rgba(0,0,0,0.05)}button.flat:active,.button.flat:active,.fab.flat:active{background-color:rgba(0,0,0,0.1)}button.round,.button.round,.fab.round{border-radius:50%;width:40px;height:40px;line-height:40px}button.round i,.button.round i,.fab.round i{line-height:40px}button.cta,.button.cta,.fab.cta{background-color:#8BC34A;color:#fff}button.cta:hover,button.cta:active,.button.cta:hover,.button.cta:active,.fab.cta:hover,.fab.cta:active{background-color:#97c95d}.fab{border-radius:50%;width:56px;height:56px;line-height:56px;padding:0;overflow:hidden;background-color:#CFD8DC;color:#37474F;box-shadow:0 6px 10px 0 rgba(0,0,0,0.14),0 1px 18px 0 rgba(0,0,0,0.12),0 3px 5px -1px rgba(0,0,0,0.4);font-size:1.6rem}.fab i{line-height:56px}.fab.small{width:40px;height:40px;line-height:40px}.fab.small i{line-height:40px}.fab:hover{background-color:#fff}.fab:hover{box-shadow:0 8px 10px 1px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.4)}.fab:active{box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -5px rgba(0,0,0,0.4)}#messages>div{position:absolute;top:-0.5em;left:0;padding:16px;overflow:auto;max-height:100%;max-width:calc(100% - 72px);box-sizing:border-box;z-index:1}#messages .messages-parse,#messages .messages-board{opacity:0;transform:translateX(-100%);transition:all .25s cubic-bezier(0.4,0,0.2,1)}#messages .messages-parse.visible,body.playmode #messages .messages-board{transform:translateX(0);opacity:1}#messages .message{float:left;clear:left;position:relative;white-space:nowrap;border-radius:2px;margin-top:0.5em;margin-right:16px;max-width:100%;box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 1px 5px 0 rgba(0,0,0,0.12),0 3px 1px -2px rgba(0,0,0,0.2);transition:all .25s cubic-bezier(0.4,0,0.2,1)}#messages .message.animating{opacity:0;margin-top:calc(-1.22em - 2rem)}#messages .message .content{margin:1rem calc(32px + 1.5rem);overflow:hidden;text-overflow:ellipsis}#messages .message i{position:absolute;padding:10.66667px 16px;left:0;top:0;font-size:1.5em}#messages .message i.icon-x{opacity:0.5;left:auto;right:0;cursor:default;transition:opacity .25s cubic-bezier(0.4,0,0.2,1)}#messages .message i.icon-x:hover{opacity:1}#messages .message.success{background-color:#4CAF50;color:rgba(0,0,0,0.8)}#messages .message.warning{background-color:#FFC107;color:rgba(0,0,0,0.8)}#messages .message.error{background-color:#F44336;color:#fff}#messages .message.error b{border-bottom:2px solid #fff}#messages .message.help{background-color:#8BC34A;color:rgba(0,0,0,0.8)}#messages .message.info{background-color:#2196F3;color:#fff}#messages .message.comment{background-color:#8BC34A;color:#fff}#messages .message.player1{background-color:#CFD8DC;color:#37474F}#messages .message.player2{background-color:#37474F;color:#CFD8DC}.ptn .player1,.ptn .player2{margin:0 -0.25em;padding:0 0.25em;border-radius:0.25em}.ptn .player1{background-color:rgba(255,255,255,0.08)}.ptn .player2{background-color:rgba(0,0,0,0.13)}.ptn .tag{color:rgba(0,0,0,0.5);font-weight:300}.ptn .tag i{color:rgba(255,255,255,0.75);margin-right:0.2em;font-size:1em;line-height:1em;vertical-align:middle}.ptn .tag .name{color:rgba(255,255,255,0.75);font-weight:300;vertical-align:middle}.ptn .tag .value{color:rgba(255,255,255,0.75);font-weight:600}.ptn .comment{color:rgba(0,0,0,0.5);font-weight:300}.ptn .comment .text{color:rgba(255,255,255,0.75);font-weight:400}.ptn .linenum{color:rgba(0,0,0,0.5);font-weight:400}.ptn .ply{font-weight:700}.ptn .ply.illegal{background:transparent;box-shadow:none !important}.ptn .ply.illegal *{color:#F44336 !important}.ptn .ply .stone{color:#fff}.ptn .ply .column{color:#FFCA28;font-weight:600}.ptn .ply .row{color:#FF9800;font-weight:600}.ptn .ply .count_text{color:#8BC34A;font-weight:300}.ptn .ply .direction{color:rgba(255,255,255,0.75)}.ptn .ply .drops{color:#64B5F6;font-weight:300}.ptn .ply .evaluation{color:rgba(255,255,255,0.8);font-weight:300}.ptn .result{font-weight:700}.ptn .result .win{color:#fff}.ptn .result .win.road{color:#8BC34A}.ptn .result .win.flat{color:#64B5F6}.ptn .result .loss{color:#EF5350}.ptn .result .draw{color:#FFCA28}.ptn .invalid{color:rgba(255,255,255,0.5)}.ptn .invalid .first-letter{color:#F44336;font-weight:600}#viewer{position:absolute;top:0;bottom:0;left:0;right:0;z-index:0;transition:opacity .25s cubic-bezier(0.4,0,0.2,1)}.board{position:absolute;top:calc(50% - 50vmin + 42px);right:calc(16px*2 + 56px);width:calc(100vmin - 84px);height:calc(100vmin - 84px);font-size:3vmin}#viewer.animated .board{transition:all .25s cubic-bezier(0.4,0,0.2,1)}body.playmode .board{top:calc(16px + 50% - 50vmin + 0.5em)}body.playmode:not(.ptn) .board{right:calc(1em + 50% - 50vmin + 42px);z-index:1}@media (max-aspect-ratio:11 / 10){.board{right:calc(1em + 50% - 50vmin + 42px)}}.board .squares,.board .pieces{position:absolute;top:0;bottom:2em;left:2em;right:0}.board .square{position:absolute;background-color:#90A4AE}.board .square.dark{background-color:#607D8B}.board .piece{position:absolute;bottom:0;left:0;transition:transform .25s cubic-bezier(0.4,0,0.2,1)}.board .piece .wrapper{position:absolute;top:0;bottom:0;left:0;right:0;transition:transform .25s cubic-bezier(0.4,0,0.2,1),opacity .25s cubic-bezier(0.4,0,0.2,1)}.board .piece.placing .wrapper{opacity:0;transform:scale(2)}.board .piece .stone.p1,.board .piece .captive.p1{background-color:#CFD8DC}.board .piece .stone.p2,.board .piece .captive.p2{background-color:#37474F}.board .piece .stone{width:50%;height:50%;margin:25%;border-radius:0.8vmin;position:relative;transition:transform .25s cubic-bezier(0.4,0,0.2,1),width .25s cubic-bezier(0.4,0,0.2,1),margin .25s cubic-bezier(0.4,0,0.2,1),box-shadow .25s ease-out}.board .piece .stone.F.h1{box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 1px 5px 0 rgba(0,0,0,0.12),0 3px 1px -2px rgba(0,0,0,0.2)}.board .piece .stone.F.h2{box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.4)}.board .piece .stone.F.h3{box-shadow:0 6px 10px 0 rgba(0,0,0,0.14),0 1px 18px 0 rgba(0,0,0,0.12),0 3px 5px -1px rgba(0,0,0,0.4)}.board .piece .stone.F.h4{box-shadow:0 8px 10px 1px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.4)}.board .piece .stone.F.h5{box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -5px rgba(0,0,0,0.4)}.board .piece .stone.S{width:18.75%;margin-left:40.625%}.board .piece .stone.S.p1{transform:rotate(-45deg);box-shadow:-3px 3px 10px 0 rgba(0,0,0,0.14),-1px 1px 18px 0 rgba(0,0,0,0.12),-2px 2px 5px -1px rgba(0,0,0,0.4)}.board .piece .stone.S.p2{transform:rotate(45deg);box-shadow:3px 3px 10px 0 rgba(0,0,0,0.14),1px 1px 18px 0 rgba(0,0,0,0.12),2px 2px 5px -1px rgba(0,0,0,0.4)}.board .piece .stone.C{border-radius:50%;box-shadow:0 6px 10px 0 rgba(0,0,0,0.14),0 1px 18px 0 rgba(0,0,0,0.12),0 3px 5px -1px rgba(0,0,0,0.4)}.board .piece .captive{position:absolute;bottom:25%;left:10%;width:15%;height:7.5%;opacity:0;border-radius:0.25vmin;box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 1px 5px 0 rgba(0,0,0,0.12),0 3px 1px -2px rgba(0,0,0,0.2);transition:all .25s cubic-bezier(0.4,0,0.2,1)}.board .piece .captive.visible{opacity:1}.board .labels{color:#fff;position:absolute;font-size:1em;display:flex;justify-content:space-around}.board .labels.row{top:0;left:0;flex-direction:column-reverse;width:2em;height:calc(100% - 2em);text-align:center}.board .labels.col{bottom:0;right:0;flex-direction:row;width:calc(100% - 2em);height:2em;line-height:2em}.size-3 .square,.size-3 .piece{width:33.33333%;height:33.33333%}.size-3 .c0{left:0%}.size-3 .c1{left:33.33333%}.size-3 .c2{left:66.66667%}.size-3 .r0{bottom:0%}.size-3 .r1{bottom:33.33333%}.size-3 .r2{bottom:66.66667%}.size-4 .square,.size-4 .piece{width:25%;height:25%}.size-4 .c0{left:0%}.size-4 .c1{left:25%}.size-4 .c2{left:50%}.size-4 .c3{left:75%}.size-4 .r0{bottom:0%}.size-4 .r1{bottom:25%}.size-4 .r2{bottom:50%}.size-4 .r3{bottom:75%}.size-5 .square,.size-5 .piece{width:20%;height:20%}.size-5 .c0{left:0%}.size-5 .c1{left:20%}.size-5 .c2{left:40%}.size-5 .c3{left:60%}.size-5 .c4{left:80%}.size-5 .r0{bottom:0%}.size-5 .r1{bottom:20%}.size-5 .r2{bottom:40%}.size-5 .r3{bottom:60%}.size-5 .r4{bottom:80%}.size-6 .square,.size-6 .piece{width:16.66667%;height:16.66667%}.size-6 .c0{left:0%}.size-6 .c1{left:16.66667%}.size-6 .c2{left:33.33333%}.size-6 .c3{left:50%}.size-6 .c4{left:66.66667%}.size-6 .c5{left:83.33333%}.size-6 .r0{bottom:0%}.size-6 .r1{bottom:16.66667%}.size-6 .r2{bottom:33.33333%}.size-6 .r3{bottom:50%}.size-6 .r4{bottom:66.66667%}.size-6 .r5{bottom:83.33333%}.size-7 .square,.size-7 .piece{width:14.28571%;height:14.28571%}.size-7 .c0{left:0%}.size-7 .c1{left:14.28571%}.size-7 .c2{left:28.57143%}.size-7 .c3{left:42.85714%}.size-7 .c4{left:57.14286%}.size-7 .c5{left:71.42857%}.size-7 .c6{left:85.71429%}.size-7 .r0{bottom:0%}.size-7 .r1{bottom:14.28571%}.size-7 .r2{bottom:28.57143%}.size-7 .r3{bottom:42.85714%}.size-7 .r4{bottom:57.14286%}.size-7 .r5{bottom:71.42857%}.size-7 .r6{bottom:85.71429%}.size-8 .square,.size-8 .piece{width:12.5%;height:12.5%}.size-8 .c0{left:0%}.size-8 .c1{left:12.5%}.size-8 .c2{left:25%}.size-8 .c3{left:37.5%}.size-8 .c4{left:50%}.size-8 .c5{left:62.5%}.size-8 .c6{left:75%}.size-8 .c7{left:87.5%}.size-8 .r0{bottom:0%}.size-8 .r1{bottom:12.5%}.size-8 .r2{bottom:25%}.size-8 .r3{bottom:37.5%}.size-8 .r4{bottom:50%}.size-8 .r5{bottom:62.5%}.size-8 .r6{bottom:75%}.size-8 .r7{bottom:87.5%}.size-9 .square,.size-9 .piece{width:11.11111%;height:11.11111%}.size-9 .c0{left:0%}.size-9 .c1{left:11.11111%}.size-9 .c2{left:22.22222%}.size-9 .c3{left:33.33333%}.size-9 .c4{left:44.44444%}.size-9 .c5{left:55.55556%}.size-9 .c6{left:66.66667%}.size-9 .c7{left:77.77778%}.size-9 .c8{left:88.88889%}.size-9 .r0{bottom:0%}.size-9 .r1{bottom:11.11111%}.size-9 .r2{bottom:22.22222%}.size-9 .r3{bottom:33.33333%}.size-9 .r4{bottom:44.44444%}.size-9 .r5{bottom:55.55556%}.size-9 .r6{bottom:66.66667%}.size-9 .r7{bottom:77.77778%}.size-9 .r8{bottom:88.88889%}#app{position:absolute;top:0;bottom:0;left:0;right:0}#editor{position:absolute;top:0;bottom:0;left:0;right:0;color:#90A4AE;font-family:"Source Code Pro","Bitstream Vera Sans Mono","Consolas","Courier",monospace;flex-grow:1;z-index:1;transition:all .25s cubic-bezier(0.4,0,0.2,1)}body.playmode #editor{user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;pointer-events:none;opacity:0}#editor:before{content:'';display:block;position:absolute;top:0;bottom:0;left:0;right:0;background:linear-gradient(to right,rgba(69,90,100,0.8) 10em,rgba(69,90,100,0) 30em);transition:opacity .25s cubic-bezier(0.4,0,0.2,1)}body.playmode #editor:before{opacity:0}#ptn{position:absolute;top:0;bottom:0;left:0;right:0;overflow:auto;font-weight:300;font-size:1.3em;line-height:1.5em;padding:16px;padding-right:56px;margin:0;white-space:pre-wrap;text-shadow:0 1px 1px rgba(0,0,0,0.5)}#ptn:focus{outline:none}body.playmode #ptn{cursor:default;overflow:hidden}#ptn .ply{transition:all .1s ease-out}body.editmode #ptn .ply:hover{box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.4)}body.editmode #ptn .ply:active,body.editmode #ptn .ply.active{box-shadow:0 8px 10px 1px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.4)}#fab{position:absolute;right:16px;bottom:28px;z-index:2}#fab i{opacity:0;position:absolute;left:50%;transform:translate(-50%);transition:all .25s ease-in-out}#fab i.icon-play{transform:translate(-50%) rotate(179deg)}#fab i.icon-edit{transform:translate(-50%) rotate(-90deg)}body.editmode #fab i.icon-play{opacity:1;transform:translate(-50%)}body.playmode #fab i.icon-edit{opacity:1;transform:translate(-50%)}body.error #fab{background-color:#F44336;color:#fff}body.error #fab:hover{background-color:#f6675d}body.error #fab i{opacity:0 !important}body.error #fab i.icon-error{opacity:1 !important}#controls{background-color:#37474F;position:absolute;bottom:0;left:0;right:0;flex-shrink:0;z-index:1;height:56px;transform:translateY(100%);transition:transform .25s cubic-bezier(0.4,0,0.2,1)}body.playmode #controls{transform:none}#controls>div{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:8px 16px}#controls button{color:rgba(255,255,255,0.8)}#controls button+button{margin-left:8px}#controls button.play i{transition:opacity .25s cubic-bezier(0.4,0,0.2,1)}#controls button.play i.icon-pause{position:absolute;top:0;left:0.5em;opacity:0}body.playing #controls button.play i.icon-play{opacity:0}body.playing #controls button.play i.icon-pause{opacity:1}#share-menu{position:absolute;top:0;right:0;width:40px;padding:16px;overflow:visible;z-index:1}#share-menu .fab+.fab{margin-top:16px;opacity:0;transform:scale(0);pointer-events:none;transition:all .1s cubic-bezier(0.4,0,0.2,1)}#share-menu:hover .fab+.fab{opacity:1;transform:scale(1);pointer-events:all}.fab.small .icon-share{margin-left:-2px}#open{display:block;position:absolute;top:0;bottom:0;left:0;right:0;opacity:0} \ No newline at end of file +html,body{overflow:hidden;position:absolute;top:0;bottom:0;left:0;right:0;margin:0;padding:0;font-size:14px;font-family:"Roboto",sans-serif;background-color:#455A64}::-webkit-scrollbar-track{background-color:transparent}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-thumb{background-color:#90A4AE}::-moz-selection{color:#fff;background:#607D8B}::selection{color:#fff;background:#607D8B}button,.button,.fab{background:transparent;border:none;border-radius:2px;display:inline-block;height:36px;line-height:36px;outline:0;padding:0 0.5em;text-transform:uppercase;cursor:default;position:relative;font-size:20px;text-align:center;vertical-align:middle;text-decoration:none;box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 1px 5px 0 rgba(0,0,0,0.12),0 3px 1px -2px rgba(0,0,0,0.2);transition:all .1s ease-out;user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}button i,.button i,.fab i{line-height:36px}button:hover,.button:hover,.fab:hover{box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.4)}button:active,.button:active,.fab:active{box-shadow:0 8px 10px 1px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.4)}button.flat,.button.flat,.fab.flat{box-shadow:none}button.flat:hover,.button.flat:hover,.fab.flat:hover{background-color:rgba(0,0,0,0.05)}button.flat:active,.button.flat:active,.fab.flat:active{background-color:rgba(0,0,0,0.1)}button.round,.button.round,.fab.round{border-radius:50%;width:40px;height:40px;line-height:40px}button.round i,.button.round i,.fab.round i{line-height:40px}button.cta,.button.cta,.fab.cta{background-color:#8BC34A;color:#fff}button.cta:hover,button.cta:active,.button.cta:hover,.button.cta:active,.fab.cta:hover,.fab.cta:active{background-color:#97c95d}.fab{border-radius:50%;width:56px;height:56px;line-height:56px;padding:0;overflow:hidden;background-color:#CFD8DC;color:#37474F;box-shadow:0 6px 10px 0 rgba(0,0,0,0.14),0 1px 18px 0 rgba(0,0,0,0.12),0 3px 5px -1px rgba(0,0,0,0.4);font-size:1.6rem}.fab i{line-height:56px}.fab.small{width:40px;height:40px;line-height:40px}.fab.small i{line-height:40px}.fab:hover{background-color:#fff}.fab:hover{box-shadow:0 8px 10px 1px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.4)}.fab:active{box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -5px rgba(0,0,0,0.4)}#messages>div{position:absolute;top:-0.5em;left:0;padding:16px;overflow:auto;max-height:100%;max-width:calc(100% - 72px);box-sizing:border-box;z-index:1}#messages .messages-parse,#messages .messages-board{opacity:0;transform:translateX(-100%);transition:all .25s cubic-bezier(0.4,0,0.2,1)}#messages .messages-parse.visible,body.playmode #messages .messages-board{transform:translateX(0);opacity:1}#messages .message{float:left;clear:left;position:relative;white-space:nowrap;border-radius:2px;margin-top:0.5em;margin-right:16px;max-width:100%;box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 1px 5px 0 rgba(0,0,0,0.12),0 3px 1px -2px rgba(0,0,0,0.2);transition:all .25s cubic-bezier(0.4,0,0.2,1)}#messages .message.animating{opacity:0;margin-top:calc(-1.22em - 2rem)}#messages .message .content{margin:1rem calc(32px + 1.5rem);overflow:hidden;text-overflow:ellipsis}#messages .message i{position:absolute;padding:10.66667px 16px;left:0;top:0;font-size:1.5em}#messages .message i.icon-x{opacity:0.5;left:auto;right:0;cursor:default;transition:opacity .25s cubic-bezier(0.4,0,0.2,1)}#messages .message i.icon-x:hover{opacity:1}#messages .message.success{background-color:#4CAF50;color:rgba(0,0,0,0.8)}#messages .message.warning{background-color:#FFC107;color:rgba(0,0,0,0.8)}#messages .message.error{background-color:#F44336;color:#fff}#messages .message.error b{border-bottom:2px solid #fff}#messages .message.help{background-color:#8BC34A;color:rgba(0,0,0,0.8)}#messages .message.info{background-color:#2196F3;color:#fff}#messages .message.comment{background-color:#8BC34A;color:#fff}#messages .message.player1{background-color:#CFD8DC;color:#37474F}#messages .message.player2{background-color:#37474F;color:#CFD8DC}.ptn .player1,.ptn .player2{margin:0 -0.25em;padding:0 0.25em;border-radius:0.25em}.ptn .player1{background-color:rgba(255,255,255,0.08)}.ptn .player2{background-color:rgba(0,0,0,0.13)}.ptn .tag{color:rgba(0,0,0,0.5);font-weight:300}.ptn .tag i{color:rgba(255,255,255,0.75);margin-right:0.2em;font-size:1em;line-height:1em;vertical-align:middle}.ptn .tag .name{color:rgba(255,255,255,0.75);font-weight:300;vertical-align:middle}.ptn .tag .value{color:rgba(255,255,255,0.75);font-weight:600}.ptn .comment{color:rgba(0,0,0,0.5);font-weight:300}.ptn .comment .text{color:rgba(255,255,255,0.75);font-weight:400}.ptn .linenum{color:rgba(0,0,0,0.5);font-weight:400}.ptn .ply{font-weight:700}.ptn .ply.illegal{background:transparent;box-shadow:none !important}.ptn .ply.illegal *{color:#F44336 !important}.ptn .ply .stone{color:#fff}.ptn .ply .column{color:#FFCA28;font-weight:600}.ptn .ply .row{color:#FF9800;font-weight:600}.ptn .ply .count_text{color:#8BC34A;font-weight:300}.ptn .ply .direction{color:rgba(255,255,255,0.75)}.ptn .ply .drops{color:#64B5F6;font-weight:300}.ptn .ply .evaluation{color:rgba(255,255,255,0.8);font-weight:300}.ptn .result{font-weight:700}.ptn .result .win{color:#fff}.ptn .result .win.road{color:#8BC34A}.ptn .result .win.flat{color:#64B5F6}.ptn .result .loss{color:#EF5350}.ptn .result .draw{color:#FFCA28}.ptn .invalid{color:rgba(255,255,255,0.5)}.ptn .invalid .first-letter{color:#F44336;font-weight:600}#viewer{position:absolute;top:0;bottom:0;left:0;right:0;z-index:0;transition:opacity .25s cubic-bezier(0.4,0,0.2,1)}.board{position:absolute;top:calc(50% - 50vmin + 42px);right:calc(16px*2 + 56px);width:calc(100vmin - 84px);height:calc(100vmin - 84px);font-size:3vmin}#viewer.animated .board{transition:all .25s cubic-bezier(0.4,0,0.2,1)}body.playmode .board{top:calc(16px + 50% - 50vmin + 0.5em)}body.playmode:not(.ptn) .board{right:calc(1em + 50% - 50vmin + 42px);z-index:1}@media (max-aspect-ratio:11 / 10){.board{right:calc(1em + 50% - 50vmin + 42px)}}.board .squares,.board .pieces{position:absolute;top:0;bottom:2em;left:2em;right:0}.board .square{position:absolute;background-color:#90A4AE}.board .square:after{content:'';display:block;position:absolute;top:0;bottom:0;left:0;right:0;opacity:0;pointer-events:none;background-color:#8BC34A;transition:opacity .25s cubic-bezier(0.4,0,0.2,1)}body.editmode .board .square.active:after{opacity:0.5}.board .square.dark{background-color:#607D8B}.board .piece{position:absolute;bottom:0;left:0;transition:transform .25s cubic-bezier(0.4,0,0.2,1)}.board .piece .wrapper{position:absolute;top:0;bottom:0;left:0;right:0;transition:transform .25s cubic-bezier(0.4,0,0.2,1),opacity .25s cubic-bezier(0.4,0,0.2,1)}.board .piece.placing .wrapper{opacity:0;transform:scale(2)}.board .piece .stone.p1,.board .piece .captive.p1{background-color:#CFD8DC}.board .piece .stone.p2,.board .piece .captive.p2{background-color:#37474F}.board .piece .stone{width:50%;height:50%;margin:25%;border-radius:0.8vmin;position:relative;transition:transform .25s cubic-bezier(0.4,0,0.2,1),width .25s cubic-bezier(0.4,0,0.2,1),margin .25s cubic-bezier(0.4,0,0.2,1),box-shadow .25s ease-out}.board .piece .stone.F.h1{box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 1px 5px 0 rgba(0,0,0,0.12),0 3px 1px -2px rgba(0,0,0,0.2)}.board .piece .stone.F.h2{box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.4)}.board .piece .stone.F.h3{box-shadow:0 6px 10px 0 rgba(0,0,0,0.14),0 1px 18px 0 rgba(0,0,0,0.12),0 3px 5px -1px rgba(0,0,0,0.4)}.board .piece .stone.F.h4{box-shadow:0 8px 10px 1px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.4)}.board .piece .stone.F.h5{box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -5px rgba(0,0,0,0.4)}.board .piece .stone.S{width:18.75%;margin-left:40.625%}.board .piece .stone.S.p1{transform:rotate(-45deg);box-shadow:-3px 3px 10px 0 rgba(0,0,0,0.14),-1px 1px 18px 0 rgba(0,0,0,0.12),-2px 2px 5px -1px rgba(0,0,0,0.4)}.board .piece .stone.S.p2{transform:rotate(45deg);box-shadow:3px 3px 10px 0 rgba(0,0,0,0.14),1px 1px 18px 0 rgba(0,0,0,0.12),2px 2px 5px -1px rgba(0,0,0,0.4)}.board .piece .stone.C{border-radius:50%;box-shadow:0 6px 10px 0 rgba(0,0,0,0.14),0 1px 18px 0 rgba(0,0,0,0.12),0 3px 5px -1px rgba(0,0,0,0.4)}.board .piece .captive{position:absolute;bottom:25%;left:10%;width:15%;height:7.5%;opacity:0;border-radius:0.25vmin;box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 1px 5px 0 rgba(0,0,0,0.12),0 3px 1px -2px rgba(0,0,0,0.2);transition:all .25s cubic-bezier(0.4,0,0.2,1)}.board .piece .captive.visible{opacity:1}.board .labels{color:#fff;position:absolute;font-size:1em;display:flex;justify-content:space-around}.board .labels.row{top:0;left:0;flex-direction:column-reverse;width:2em;height:calc(100% - 2em);text-align:center}.board .labels.col{bottom:0;right:0;flex-direction:row;width:calc(100% - 2em);height:2em;line-height:2em}.size-3 .square,.size-3 .piece{width:33.33333%;height:33.33333%}.size-3 .c0{left:0%}.size-3 .c1{left:33.33333%}.size-3 .c2{left:66.66667%}.size-3 .r0{bottom:0%}.size-3 .r1{bottom:33.33333%}.size-3 .r2{bottom:66.66667%}.size-4 .square,.size-4 .piece{width:25%;height:25%}.size-4 .c0{left:0%}.size-4 .c1{left:25%}.size-4 .c2{left:50%}.size-4 .c3{left:75%}.size-4 .r0{bottom:0%}.size-4 .r1{bottom:25%}.size-4 .r2{bottom:50%}.size-4 .r3{bottom:75%}.size-5 .square,.size-5 .piece{width:20%;height:20%}.size-5 .c0{left:0%}.size-5 .c1{left:20%}.size-5 .c2{left:40%}.size-5 .c3{left:60%}.size-5 .c4{left:80%}.size-5 .r0{bottom:0%}.size-5 .r1{bottom:20%}.size-5 .r2{bottom:40%}.size-5 .r3{bottom:60%}.size-5 .r4{bottom:80%}.size-6 .square,.size-6 .piece{width:16.66667%;height:16.66667%}.size-6 .c0{left:0%}.size-6 .c1{left:16.66667%}.size-6 .c2{left:33.33333%}.size-6 .c3{left:50%}.size-6 .c4{left:66.66667%}.size-6 .c5{left:83.33333%}.size-6 .r0{bottom:0%}.size-6 .r1{bottom:16.66667%}.size-6 .r2{bottom:33.33333%}.size-6 .r3{bottom:50%}.size-6 .r4{bottom:66.66667%}.size-6 .r5{bottom:83.33333%}.size-7 .square,.size-7 .piece{width:14.28571%;height:14.28571%}.size-7 .c0{left:0%}.size-7 .c1{left:14.28571%}.size-7 .c2{left:28.57143%}.size-7 .c3{left:42.85714%}.size-7 .c4{left:57.14286%}.size-7 .c5{left:71.42857%}.size-7 .c6{left:85.71429%}.size-7 .r0{bottom:0%}.size-7 .r1{bottom:14.28571%}.size-7 .r2{bottom:28.57143%}.size-7 .r3{bottom:42.85714%}.size-7 .r4{bottom:57.14286%}.size-7 .r5{bottom:71.42857%}.size-7 .r6{bottom:85.71429%}.size-8 .square,.size-8 .piece{width:12.5%;height:12.5%}.size-8 .c0{left:0%}.size-8 .c1{left:12.5%}.size-8 .c2{left:25%}.size-8 .c3{left:37.5%}.size-8 .c4{left:50%}.size-8 .c5{left:62.5%}.size-8 .c6{left:75%}.size-8 .c7{left:87.5%}.size-8 .r0{bottom:0%}.size-8 .r1{bottom:12.5%}.size-8 .r2{bottom:25%}.size-8 .r3{bottom:37.5%}.size-8 .r4{bottom:50%}.size-8 .r5{bottom:62.5%}.size-8 .r6{bottom:75%}.size-8 .r7{bottom:87.5%}.size-9 .square,.size-9 .piece{width:11.11111%;height:11.11111%}.size-9 .c0{left:0%}.size-9 .c1{left:11.11111%}.size-9 .c2{left:22.22222%}.size-9 .c3{left:33.33333%}.size-9 .c4{left:44.44444%}.size-9 .c5{left:55.55556%}.size-9 .c6{left:66.66667%}.size-9 .c7{left:77.77778%}.size-9 .c8{left:88.88889%}.size-9 .r0{bottom:0%}.size-9 .r1{bottom:11.11111%}.size-9 .r2{bottom:22.22222%}.size-9 .r3{bottom:33.33333%}.size-9 .r4{bottom:44.44444%}.size-9 .r5{bottom:55.55556%}.size-9 .r6{bottom:66.66667%}.size-9 .r7{bottom:77.77778%}.size-9 .r8{bottom:88.88889%}#app{position:absolute;top:0;bottom:0;left:0;right:0}#editor{position:absolute;top:0;bottom:0;left:0;right:0;color:#90A4AE;font-family:"Source Code Pro","Bitstream Vera Sans Mono","Consolas","Courier",monospace;flex-grow:1;z-index:1;transition:all .25s cubic-bezier(0.4,0,0.2,1)}body.playmode #editor{user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;pointer-events:none;opacity:0}#editor:before{content:'';display:block;position:absolute;top:0;bottom:0;left:0;right:0;background:linear-gradient(to right,rgba(69,90,100,0.8) 10em,rgba(69,90,100,0) 30em);transition:opacity .25s cubic-bezier(0.4,0,0.2,1)}body.playmode #editor:before{opacity:0}#ptn{position:absolute;top:0;bottom:0;left:0;right:0;overflow:auto;font-weight:300;font-size:1.3em;line-height:1.5em;padding:16px;padding-right:56px;margin:0;white-space:pre-wrap;text-shadow:0 1px 1px rgba(0,0,0,0.5)}#ptn:focus{outline:none}body.playmode #ptn{cursor:default;overflow:hidden}#ptn .ply{transition:all .1s ease-out}body.editmode #ptn .ply:hover{box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.4)}body.editmode #ptn .ply:active,body.editmode #ptn .ply.active{box-shadow:0 8px 10px 1px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.4)}#fab{position:absolute;right:16px;bottom:28px;z-index:2}#fab i{opacity:0;position:absolute;left:50%;transform:translate(-50%);transition:all .25s ease-in-out}#fab i.icon-play{transform:translate(-50%) rotate(179deg)}#fab i.icon-edit{transform:translate(-50%) rotate(-90deg)}body.editmode #fab i.icon-play{opacity:1;transform:translate(-50%)}body.playmode #fab i.icon-edit{opacity:1;transform:translate(-50%)}body.error #fab{background-color:#F44336;color:#fff}body.error #fab:hover{background-color:#f6675d}body.error #fab i{opacity:0 !important}body.error #fab i.icon-error{opacity:1 !important}#controls{background-color:#37474F;position:absolute;bottom:0;left:0;right:0;flex-shrink:0;z-index:1;height:56px;transform:translateY(100%);transition:transform .25s cubic-bezier(0.4,0,0.2,1)}body.playmode #controls{transform:none}#controls>div{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:8px 16px}#controls button{color:rgba(255,255,255,0.8)}#controls button+button{margin-left:8px}#controls button.play i{transition:opacity .25s cubic-bezier(0.4,0,0.2,1)}#controls button.play i.icon-pause{position:absolute;top:0;left:0.5em;opacity:0}body.playing #controls button.play i.icon-play{opacity:0}body.playing #controls button.play i.icon-pause{opacity:1}#share-menu{position:absolute;top:0;right:0;width:40px;padding:16px;overflow:visible;z-index:1}#share-menu .fab+.fab{margin-top:16px;opacity:0;transform:scale(0);pointer-events:none;transition:all .1s cubic-bezier(0.4,0,0.2,1)}#share-menu:hover .fab+.fab{opacity:1;transform:scale(1);pointer-events:all}.fab.small .icon-share{margin-left:-2px}#open{display:block;position:absolute;top:0;bottom:0;left:0;right:0;opacity:0} \ No newline at end of file diff --git a/dist/js/app.js b/dist/js/app.js index e43d2399..ced756a7 100644 --- a/dist/js/app.js +++ b/dist/js/app.js @@ -37,10 +37,10 @@ // Copyright (c) 2013 Daniel Wachsstock -!function(){"use strict";function t(t,e,n,r,i,o){e[t]&&(n.push(t),(e[t]===!0||1===e[t])&&r.push(i+t+"/"+o))}function e(t,e,n,r,i){var o=r+e+"/"+i;require._fileExists(t.toUrl(o+".js"))&&n.push(o)}function n(t,e,r){var i;for(i in e)!e.hasOwnProperty(i)||t.hasOwnProperty(i)&&!r?"object"==typeof e[i]&&(!t[i]&&e[i]&&(t[i]={}),n(t[i],e[i],r)):t[i]=e[i]}var r=/(^.*(^|\/)nls(\/|$))([^\/]*)\/?([^\/]*)/;define("i18n",["module"],function(i){var o=i.config?i.config():{};return{version:"2.0.6",load:function(i,a,s,u){u=u||{},u.locale&&(o.locale=u.locale);var l,c,f,p=r.exec(i),h=p[1],d=p[4],g=p[5],v=d.split("-"),y=[],m={},b="";if(p[5]?(h=p[1],l=h+g):(l=i,g=p[4],d=o.locale,d||(d=o.locale="undefined"==typeof navigator?"root":(navigator.languages&&navigator.languages[0]||navigator.language||navigator.userLanguage||"root").toLowerCase()),v=d.split("-")),u.isBuild){for(y.push(l),e(a,"root",y,h,g),c=0;c-1&&i[t];t--)o=i[t],r=e[o],(r===!0||1===r)&&(r=a(h+o+"/"+g)),n(m,r);s(m)})})}}})}(),define("nls/main",{root:{App_Title:"PTN Ninja",Clock:"Clock",Date:"Date",Download:"Download",Edit_Mode:"Edit Mode",Event:"Event",First_Ply:"First Ply",Last_Ply:"Last Ply",Next_Ply:"Next Ply",Open:"Open",Permalink:"Permalink",Play_Mode:"Play Mode",PlayPause:"Play/Pause",Player1:"Player1",Player2:"Player2",Points:"Points",Previous_Ply:"Previous Ply",Rating1:"Rating1",Rating2:"Rating2",Result:"Result",Round:"Round",Share:"Share",ShowHide_Errors:"Show/Hide Errors",Site:"Site",Size:"Size",TPS:"TPS",Tak:"Tak",Time:"Time",n_characters:"<%=n%> characters",result:{1:"<%=player%> wins by default",F:"<%=player%> wins by flats",R:"<%=player%> wins by building a road",tie:"It's a tie"},success:{},warning:{long_url:"The permalink is over 2000 characters long, which might not work in some browsers."},error:{illegal_ply:'Illegal ply: "<%=ply%>"',invalid_movetext:'Invalid movetext: "<%=text%>"',invalid_file_format:"Invalid file format",invalid_header:"Invalid header",invalid_ply:'Invalid ply: "<%=ply%>"',invalid_square:'Invalid square: "<%=square%>"',invalid_tag:'Invalid tag: "<%=tag%>"',invalid_tag_value:'Invalid <%=tag%>: "<%=value%>"',invalid_TPS_dimensions:"Invalid TPS dimensions",missing_tags:"Missing required tag(s): <%=_.map(tags, _.upperFirst).join(', ')%>"},help:{},info:{}}}),!function(t,e){"object"==typeof module&&"object"==typeof module.exports?module.exports=t.document?e(t,!0):function(t){if(!t.document)throw new Error("jQuery requires a window with a document");return e(t)}:e(t)}("undefined"!=typeof window?window:this,function(t,e){function n(t){var e=!!t&&"length"in t&&t.length,n=ot.type(t);return"function"===n||ot.isWindow(t)?!1:"array"===n||0===e||"number"==typeof e&&e>0&&e-1 in t}function r(t,e,n){if(ot.isFunction(e))return ot.grep(t,function(t,r){return!!e.call(t,r,t)!==n});if(e.nodeType)return ot.grep(t,function(t){return t===e!==n});if("string"==typeof e){if(gt.test(e))return ot.filter(e,t,n);e=ot.filter(e,t)}return ot.grep(t,function(t){return J.call(e,t)>-1!==n})}function i(t,e){for(;(t=t[e])&&1!==t.nodeType;);return t}function o(t){var e={};return ot.each(t.match(xt)||[],function(t,n){e[n]=!0}),e}function a(){Q.removeEventListener("DOMContentLoaded",a),t.removeEventListener("load",a),ot.ready()}function s(){this.expando=ot.expando+s.uid++}function u(t,e,n){var r;if(void 0===n&&1===t.nodeType)if(r="data-"+e.replace(Et,"-$&").toLowerCase(),n=t.getAttribute(r),"string"==typeof n){try{n="true"===n?!0:"false"===n?!1:"null"===n?null:+n+""===n?+n:Tt.test(n)?ot.parseJSON(n):n}catch(i){}Ct.set(t,e,n)}else n=void 0;return n}function l(t,e,n,r){var i,o=1,a=20,s=r?function(){return r.cur()}:function(){return ot.css(t,e,"")},u=s(),l=n&&n[3]||(ot.cssNumber[e]?"":"px"),c=(ot.cssNumber[e]||"px"!==l&&+u)&&Rt.exec(ot.css(t,e));if(c&&c[3]!==l){l=l||c[3],n=n||[],c=+u||1;do o=o||".5",c/=o,ot.style(t,e,c+l);while(o!==(o=s()/u)&&1!==o&&--a)}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}function c(t,e){var n="undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e||"*"):"undefined"!=typeof t.querySelectorAll?t.querySelectorAll(e||"*"):[];return void 0===e||e&&ot.nodeName(t,e)?ot.merge([t],n):n}function f(t,e){for(var n=0,r=t.length;r>n;n++)At.set(t[n],"globalEval",!e||At.get(e[n],"globalEval"))}function p(t,e,n,r,i){for(var o,a,s,u,l,p,h=e.createDocumentFragment(),d=[],g=0,v=t.length;v>g;g++)if(o=t[g],o||0===o)if("object"===ot.type(o))ot.merge(d,o.nodeType?[o]:o);else if(Mt.test(o)){for(a=a||h.appendChild(e.createElement("div")),s=(Lt.exec(o)||["",""])[1].toLowerCase(),u=Pt[s]||Pt._default,a.innerHTML=u[1]+ot.htmlPrefilter(o)+u[2],p=u[0];p--;)a=a.lastChild;ot.merge(d,a.childNodes),a=h.firstChild,a.textContent=""}else d.push(e.createTextNode(o));for(h.textContent="",g=0;o=d[g++];)if(r&&ot.inArray(o,r)>-1)i&&i.push(o);else if(l=ot.contains(o.ownerDocument,o),a=c(h.appendChild(o),"script"),l&&f(a),n)for(p=0;o=a[p++];)qt.test(o.type||"")&&n.push(o);return h}function h(){return!0}function d(){return!1}function g(){try{return Q.activeElement}catch(t){}}function v(t,e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=void 0);for(s in e)v(t,s,n,r,e[s],o);return t}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),i===!1)i=d;else if(!i)return t;return 1===o&&(a=i,i=function(t){return ot().off(t),a.apply(this,arguments)},i.guid=a.guid||(a.guid=ot.guid++)),t.each(function(){ot.event.add(this,e,i,r,n)})}function y(t,e){return ot.nodeName(t,"table")&&ot.nodeName(11!==e.nodeType?e:e.firstChild,"tr")?t.getElementsByTagName("tbody")[0]||t.appendChild(t.ownerDocument.createElement("tbody")):t}function m(t){return t.type=(null!==t.getAttribute("type"))+"/"+t.type,t}function b(t){var e=Wt.exec(t.type);return e?t.type=e[1]:t.removeAttribute("type"),t}function _(t,e){var n,r,i,o,a,s,u,l;if(1===e.nodeType){if(At.hasData(t)&&(o=At.access(t),a=At.set(e,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;r>n;n++)ot.event.add(e,i,l[i][n])}Ct.hasData(t)&&(s=Ct.access(t),u=ot.extend({},s),Ct.set(e,u))}}function x(t,e){var n=e.nodeName.toLowerCase();"input"===n&&Nt.test(t.type)?e.checked=t.checked:"input"!==n&&"textarea"!==n||(e.defaultValue=t.defaultValue)}function w(t,e,n,r){e=Y.apply([],e);var i,o,a,s,u,l,f=0,h=t.length,d=h-1,g=e[0],v=ot.isFunction(g);if(v||h>1&&"string"==typeof g&&!rt.checkClone&&zt.test(g))return t.each(function(i){var o=t.eq(i);v&&(e[0]=g.call(this,i,o.html())),w(o,e,n,r)});if(h&&(i=p(e,t[0].ownerDocument,!1,t,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(a=ot.map(c(i,"script"),m),s=a.length;h>f;f++)u=i,f!==d&&(u=ot.clone(u,!0,!0),s&&ot.merge(a,c(u,"script"))),n.call(t[f],u,f);if(s)for(l=a[a.length-1].ownerDocument,ot.map(a,b),f=0;s>f;f++)u=a[f],qt.test(u.type||"")&&!At.access(u,"globalEval")&&ot.contains(l,u)&&(u.src?ot._evalUrl&&ot._evalUrl(u.src):ot.globalEval(u.textContent.replace(Ut,"")))}return t}function k(t,e,n){for(var r,i=e?ot.filter(e,t):t,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||ot.cleanData(c(r)),r.parentNode&&(n&&ot.contains(r.ownerDocument,r)&&f(c(r,"script")),r.parentNode.removeChild(r));return t}function j(t,e){var n=ot(e.createElement(t)).appendTo(e.body),r=ot.css(n[0],"display");return n.detach(),r}function A(t){var e=Q,n=Xt[t];return n||(n=j(t,e),"none"!==n&&n||(Vt=(Vt||ot("