diff --git a/bin/build.sh b/bin/build.sh index f6490f9..ed86c48 100755 --- a/bin/build.sh +++ b/bin/build.sh @@ -1,3 +1,3 @@ #!/usr/bin/env bash -npm run build 1 \ No newline at end of file +npm run build \ No newline at end of file diff --git a/log/error.log b/log/error.log index e69de29..4a0e922 100755 --- a/log/error.log +++ b/log/error.log @@ -0,0 +1,6 @@ +2018-09-18T21:39:55+02:00 ERR (3): +2018-09-18T22:19:51+02:00 ERR (3): +2018-09-18T22:36:07+02:00 ERR (3): +2018-09-18T22:37:14+02:00 ERR (3): +2018-09-18T22:37:16+02:00 ERR (3): +2018-09-18T23:03:24+02:00 ERR (3): diff --git a/log/log.log b/log/log.log index e69de29..4a0e922 100755 --- a/log/log.log +++ b/log/log.log @@ -0,0 +1,6 @@ +2018-09-18T21:39:55+02:00 ERR (3): +2018-09-18T22:19:51+02:00 ERR (3): +2018-09-18T22:36:07+02:00 ERR (3): +2018-09-18T22:37:14+02:00 ERR (3): +2018-09-18T22:37:16+02:00 ERR (3): +2018-09-18T23:03:24+02:00 ERR (3): diff --git a/public/css/wordRotator.css b/public/css/wordRotator.css index 289d393..9933edc 100755 --- a/public/css/wordRotator.css +++ b/public/css/wordRotator.css @@ -1 +1 @@ -.height-10{height:10%}.width-10{width:10%}.height-20{height:20%}.width-20{width:20%}.height-30{height:30%}.width-30{width:30%}.height-40{height:40%}.width-40{width:40%}.height-50{height:50%}.width-50{width:50%}.height-60{height:60%}.width-60{width:60%}.height-70{height:70%}.width-70{width:70%}.height-80{height:80%}.width-80{width:80%}.height-90{height:90%}.width-90{width:90%}.height-100{height:100%}.width-100{width:100%}@-webkit-keyframes rotate-90{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(90deg);transform:rotate(90deg)}}@keyframes rotate-90{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(90deg);transform:rotate(90deg)}}@-webkit-keyframes rotate-180{0%{-webkit-transform:rotate(90deg);transform:rotate(90deg)}to{-webkit-transform:rotate(180deg);transform:rotate(180deg)}}@keyframes rotate-180{0%{-webkit-transform:rotate(90deg);transform:rotate(90deg)}to{-webkit-transform:rotate(180deg);transform:rotate(180deg)}}@-webkit-keyframes rotate-270{0%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(270deg);transform:rotate(270deg)}}@keyframes rotate-270{0%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(270deg);transform:rotate(270deg)}}@-webkit-keyframes rotate-360{0%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes rotate-360{0%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.segment:not(.segment-row):not(.segment-triangle).rotating{z-index:10!important;overflow:hidden}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-90{-webkit-animation-name:rotate-90;animation-name:rotate-90;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-90>.child-container>.segment{-webkit-animation-name:rotate-360;animation-name:rotate-360;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;animation-direction:reverse;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-90>.child-container>.segment.rotate-90{-webkit-animation-name:rotate-90;animation-name:rotate-90}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-90>.child-container>.segment.rotate-180{-webkit-animation-name:rotate-180;animation-name:rotate-180}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-90>.child-container>.segment.rotate-270{-webkit-animation-name:rotate-270;animation-name:rotate-270}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-90>.child-container>.segment.rotate-360{-webkit-animation-name:rotate-360;animation-name:rotate-360}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-180{-webkit-animation-name:rotate-180;animation-name:rotate-180;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-180>.child-container>.segment{-webkit-animation-name:rotate-270;animation-name:rotate-270;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;animation-direction:reverse;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-180>.child-container>.segment.rotate-90{-webkit-animation-name:rotate-360;animation-name:rotate-360}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-180>.child-container>.segment.rotate-180{-webkit-animation-name:rotate-90;animation-name:rotate-90}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-180>.child-container>.segment.rotate-270{-webkit-animation-name:rotate-180;animation-name:rotate-180}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-180>.child-container>.segment.rotate-360{-webkit-animation-name:rotate-270;animation-name:rotate-270}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-270{-webkit-animation-name:rotate-270;animation-name:rotate-270;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-270>.child-container>.segment{-webkit-animation-name:rotate-180;animation-name:rotate-180;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;animation-direction:reverse;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-270>.child-container>.segment.rotate-90{-webkit-animation-name:rotate-270;animation-name:rotate-270}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-270>.child-container>.segment.rotate-180{-webkit-animation-name:rotate-360;animation-name:rotate-360}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-270>.child-container>.segment.rotate-270{-webkit-animation-name:rotate-90;animation-name:rotate-90}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-270>.child-container>.segment.rotate-360{-webkit-animation-name:rotate-180;animation-name:rotate-180}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-360{-webkit-animation-name:rotate-360;animation-name:rotate-360;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-360>.child-container>.segment{-webkit-animation-name:rotate-90;animation-name:rotate-90;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;animation-direction:reverse;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-360>.child-container>.segment.rotate-90{-webkit-animation-name:rotate-180;animation-name:rotate-180}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-360>.child-container>.segment.rotate-180{-webkit-animation-name:rotate-270;animation-name:rotate-270}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-360>.child-container>.segment.rotate-270{-webkit-animation-name:rotate-360;animation-name:rotate-360}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-360>.child-container>.segment.rotate-360{-webkit-animation-name:rotate-90;animation-name:rotate-90}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-90>.child-container>.segment{-webkit-transform:rotate(270deg);transform:rotate(270deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-90>.child-container>.segment.rotate-90{-webkit-transform:rotate(1turn);transform:rotate(1turn);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-90>.child-container>.segment.rotate-90.rotating{-webkit-animation-name:rotate-360;animation-name:rotate-360;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-90>.child-container>.segment.rotate-180{-webkit-transform:rotate(90deg);transform:rotate(90deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-90>.child-container>.segment.rotate-180.rotating{-webkit-animation-name:rotate-90;animation-name:rotate-90;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-90>.child-container>.segment.rotate-270{-webkit-transform:rotate(180deg);transform:rotate(180deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-90>.child-container>.segment.rotate-270.rotating{-webkit-animation-name:rotate-180;animation-name:rotate-180;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-90>.child-container>.segment.rotate-360{-webkit-transform:rotate(270deg);transform:rotate(270deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-90>.child-container>.segment.rotate-360.rotating{-webkit-animation-name:rotate-270;animation-name:rotate-270;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-180,.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-180>.child-container>.segment{-webkit-transform:rotate(180deg);transform:rotate(180deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-180>.child-container>.segment.rotate-90{-webkit-transform:rotate(270deg);transform:rotate(270deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-180>.child-container>.segment.rotate-90.rotating{-webkit-animation-name:rotate-270;animation-name:rotate-270;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-180>.child-container>.segment.rotate-180{-webkit-transform:rotate(1turn);transform:rotate(1turn);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-180>.child-container>.segment.rotate-180.rotating{-webkit-animation-name:rotate-360;animation-name:rotate-360;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-180>.child-container>.segment.rotate-270{-webkit-transform:rotate(90deg);transform:rotate(90deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-180>.child-container>.segment.rotate-270.rotating{-webkit-animation-name:rotate-90;animation-name:rotate-90;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-180>.child-container>.segment.rotate-360{-webkit-transform:rotate(180deg);transform:rotate(180deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-180>.child-container>.segment.rotate-360.rotating{-webkit-animation-name:rotate-180;animation-name:rotate-180;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-270>.child-container>.segment{-webkit-transform:rotate(90deg);transform:rotate(90deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-270>.child-container>.segment.rotate-90{-webkit-transform:rotate(180deg);transform:rotate(180deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-270>.child-container>.segment.rotate-90.rotating{-webkit-animation-name:rotate-180;animation-name:rotate-180;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-270>.child-container>.segment.rotate-180{-webkit-transform:rotate(270deg);transform:rotate(270deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-270>.child-container>.segment.rotate-180.rotating{-webkit-animation-name:rotate-270;animation-name:rotate-270;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-270>.child-container>.segment.rotate-270{-webkit-transform:rotate(1turn);transform:rotate(1turn);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-270>.child-container>.segment.rotate-270.rotating{-webkit-animation-name:rotate-360;animation-name:rotate-360;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-270>.child-container>.segment.rotate-360{-webkit-transform:rotate(90deg);transform:rotate(90deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-270>.child-container>.segment.rotate-360.rotating{-webkit-animation-name:rotate-90;animation-name:rotate-90;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-360{-webkit-transform:rotate(1turn);transform:rotate(1turn);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-360>.child-container>.segment{-webkit-transform:rotate(0deg);transform:rotate(0deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-360>.child-container>.segment.rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-360>.child-container>.segment.rotate-90.rotating{-webkit-animation-name:rotate-90;animation-name:rotate-90;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-360>.child-container>.segment.rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-360>.child-container>.segment.rotate-180.rotating{-webkit-animation-name:rotate-180;animation-name:rotate-180;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-360>.child-container>.segment.rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-360>.child-container>.segment.rotate-270.rotating{-webkit-animation-name:rotate-270;animation-name:rotate-270;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-360>.child-container>.segment.rotate-360{-webkit-transform:rotate(1turn);transform:rotate(1turn);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-360>.child-container>.segment.rotate-360.rotating{-webkit-animation-name:rotate-360;animation-name:rotate-360;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}#level{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;max-width:100%;-webkit-tap-highlight-color:rgba(255,255,255,0);overflow-y:visible}#level,#level *,.segment{-webkit-transition:none;transition:none}.segment{vertical-align:top;white-space:normal;cursor:pointer;display:inline-block;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1;background-color:#fff;line-height:0}.segment.segment-row{display:block;width:100%;-webkit-animation:none!important;animation:none!important;white-space:nowrap}.segment.segment-leaf{background-color:transparent;min-width:1em;padding:.8em}.segment.segment-leaf:before{content:" ";display:block;padding-top:100%}.segment.segment-leaf .leaf-element{position:absolute;width:100%;height:100%;line-height:1.5em;top:0;left:0}.segment.segment-parent{border:1px solid #a9a9a9;border-radius:3px;padding:1px}.segment.segment-parent.layer-2{border:3px solid #000}.show-when-won{visibility:hidden}.show-when-won,.show-when-won *{-webkit-transition:none;transition:none}.won .show-when-won{visibility:initial} \ No newline at end of file +.height-10{height:10%}.width-10{width:10%}.height-20{height:20%}.width-20{width:20%}.height-30{height:30%}.width-30{width:30%}.height-40{height:40%}.width-40{width:40%}.height-50{height:50%}.width-50{width:50%}.height-60{height:60%}.width-60{width:60%}.height-70{height:70%}.width-70{width:70%}.height-80{height:80%}.width-80{width:80%}.height-90{height:90%}.width-90{width:90%}.height-100{height:100%}.width-100{width:100%}@-webkit-keyframes rotate-90{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(90deg);transform:rotate(90deg)}}@keyframes rotate-90{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(90deg);transform:rotate(90deg)}}@-webkit-keyframes rotate-180{0%{-webkit-transform:rotate(90deg);transform:rotate(90deg)}to{-webkit-transform:rotate(180deg);transform:rotate(180deg)}}@keyframes rotate-180{0%{-webkit-transform:rotate(90deg);transform:rotate(90deg)}to{-webkit-transform:rotate(180deg);transform:rotate(180deg)}}@-webkit-keyframes rotate-270{0%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(270deg);transform:rotate(270deg)}}@keyframes rotate-270{0%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(270deg);transform:rotate(270deg)}}@-webkit-keyframes rotate-360{0%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes rotate-360{0%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.segment:not(.segment-row):not(.segment-triangle).rotating{z-index:10!important;overflow:hidden}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-90{-webkit-animation-name:rotate-90;animation-name:rotate-90;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-90>.child-container>.segment{-webkit-animation-name:rotate-360;animation-name:rotate-360;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;animation-direction:reverse;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-90>.child-container>.segment.rotate-90{-webkit-animation-name:rotate-90;animation-name:rotate-90}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-90>.child-container>.segment.rotate-180{-webkit-animation-name:rotate-180;animation-name:rotate-180}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-90>.child-container>.segment.rotate-270{-webkit-animation-name:rotate-270;animation-name:rotate-270}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-90>.child-container>.segment.rotate-360{-webkit-animation-name:rotate-360;animation-name:rotate-360}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-180{-webkit-animation-name:rotate-180;animation-name:rotate-180;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-180>.child-container>.segment{-webkit-animation-name:rotate-270;animation-name:rotate-270;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;animation-direction:reverse;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-180>.child-container>.segment.rotate-90{-webkit-animation-name:rotate-360;animation-name:rotate-360}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-180>.child-container>.segment.rotate-180{-webkit-animation-name:rotate-90;animation-name:rotate-90}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-180>.child-container>.segment.rotate-270{-webkit-animation-name:rotate-180;animation-name:rotate-180}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-180>.child-container>.segment.rotate-360{-webkit-animation-name:rotate-270;animation-name:rotate-270}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-270{-webkit-animation-name:rotate-270;animation-name:rotate-270;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-270>.child-container>.segment{-webkit-animation-name:rotate-180;animation-name:rotate-180;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;animation-direction:reverse;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-270>.child-container>.segment.rotate-90{-webkit-animation-name:rotate-270;animation-name:rotate-270}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-270>.child-container>.segment.rotate-180{-webkit-animation-name:rotate-360;animation-name:rotate-360}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-270>.child-container>.segment.rotate-270{-webkit-animation-name:rotate-90;animation-name:rotate-90}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-270>.child-container>.segment.rotate-360{-webkit-animation-name:rotate-180;animation-name:rotate-180}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-360{-webkit-animation-name:rotate-360;animation-name:rotate-360;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-360>.child-container>.segment{-webkit-animation-name:rotate-90;animation-name:rotate-90;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;animation-direction:reverse;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-360>.child-container>.segment.rotate-90{-webkit-animation-name:rotate-180;animation-name:rotate-180}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-360>.child-container>.segment.rotate-180{-webkit-animation-name:rotate-270;animation-name:rotate-270}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-360>.child-container>.segment.rotate-270{-webkit-animation-name:rotate-360;animation-name:rotate-360}.segment:not(.segment-row):not(.segment-triangle).rotating.rotate-360>.child-container>.segment.rotate-360{-webkit-animation-name:rotate-90;animation-name:rotate-90}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-90>.child-container>.segment{-webkit-transform:rotate(270deg);transform:rotate(270deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-90>.child-container>.segment.rotate-90{-webkit-transform:rotate(1turn);transform:rotate(1turn);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-90>.child-container>.segment.rotate-90.rotating{-webkit-animation-name:rotate-360;animation-name:rotate-360;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-90>.child-container>.segment.rotate-180{-webkit-transform:rotate(90deg);transform:rotate(90deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-90>.child-container>.segment.rotate-180.rotating{-webkit-animation-name:rotate-90;animation-name:rotate-90;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-90>.child-container>.segment.rotate-270{-webkit-transform:rotate(180deg);transform:rotate(180deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-90>.child-container>.segment.rotate-270.rotating{-webkit-animation-name:rotate-180;animation-name:rotate-180;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-90>.child-container>.segment.rotate-360{-webkit-transform:rotate(270deg);transform:rotate(270deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-90>.child-container>.segment.rotate-360.rotating{-webkit-animation-name:rotate-270;animation-name:rotate-270;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-180,.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-180>.child-container>.segment{-webkit-transform:rotate(180deg);transform:rotate(180deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-180>.child-container>.segment.rotate-90{-webkit-transform:rotate(270deg);transform:rotate(270deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-180>.child-container>.segment.rotate-90.rotating{-webkit-animation-name:rotate-270;animation-name:rotate-270;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-180>.child-container>.segment.rotate-180{-webkit-transform:rotate(1turn);transform:rotate(1turn);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-180>.child-container>.segment.rotate-180.rotating{-webkit-animation-name:rotate-360;animation-name:rotate-360;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-180>.child-container>.segment.rotate-270{-webkit-transform:rotate(90deg);transform:rotate(90deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-180>.child-container>.segment.rotate-270.rotating{-webkit-animation-name:rotate-90;animation-name:rotate-90;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-180>.child-container>.segment.rotate-360{-webkit-transform:rotate(180deg);transform:rotate(180deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-180>.child-container>.segment.rotate-360.rotating{-webkit-animation-name:rotate-180;animation-name:rotate-180;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-270>.child-container>.segment{-webkit-transform:rotate(90deg);transform:rotate(90deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-270>.child-container>.segment.rotate-90{-webkit-transform:rotate(180deg);transform:rotate(180deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-270>.child-container>.segment.rotate-90.rotating{-webkit-animation-name:rotate-180;animation-name:rotate-180;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-270>.child-container>.segment.rotate-180{-webkit-transform:rotate(270deg);transform:rotate(270deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-270>.child-container>.segment.rotate-180.rotating{-webkit-animation-name:rotate-270;animation-name:rotate-270;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-270>.child-container>.segment.rotate-270{-webkit-transform:rotate(1turn);transform:rotate(1turn);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-270>.child-container>.segment.rotate-270.rotating{-webkit-animation-name:rotate-360;animation-name:rotate-360;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-270>.child-container>.segment.rotate-360{-webkit-transform:rotate(90deg);transform:rotate(90deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-270>.child-container>.segment.rotate-360.rotating{-webkit-animation-name:rotate-90;animation-name:rotate-90;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-360{-webkit-transform:rotate(1turn);transform:rotate(1turn);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-360>.child-container>.segment{-webkit-transform:rotate(0deg);transform:rotate(0deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-360>.child-container>.segment.rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-360>.child-container>.segment.rotate-90.rotating{-webkit-animation-name:rotate-90;animation-name:rotate-90;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-360>.child-container>.segment.rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-360>.child-container>.segment.rotate-180.rotating{-webkit-animation-name:rotate-180;animation-name:rotate-180;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-360>.child-container>.segment.rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-360>.child-container>.segment.rotate-270.rotating{-webkit-animation-name:rotate-270;animation-name:rotate-270;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-360>.child-container>.segment.rotate-360{-webkit-transform:rotate(1turn);transform:rotate(1turn);background-color:#fff;z-index:1}.segment:not(.segment-row):not(.segment-triangle):not(.rotating).rotate-360>.child-container>.segment.rotate-360.rotating{-webkit-animation-name:rotate-360;animation-name:rotate-360;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:linear;animation-timing-function:linear}#level{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;max-width:100%;-webkit-tap-highlight-color:rgba(255,255,255,0);overflow-y:visible}#level,#level *,.segment{-webkit-transition:none;transition:none}.segment{vertical-align:top;white-space:normal;cursor:pointer;display:inline-block;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1;background-color:#fff;line-height:0}.segment.segment-row{display:block;width:100%;-webkit-animation:none!important;animation:none!important;white-space:nowrap}.segment.segment-leaf{background-color:transparent;min-width:1em;padding:.8em}.segment.segment-leaf:before{content:" ";display:block;padding-top:100%}.segment.segment-leaf .leaf-element{position:absolute;width:100%;height:100%;line-height:1.5em;top:0;left:0}.segment.segment-parent{border:1px solid #a9a9a9;border-radius:3px;padding:1px}.segment.segment-parent.layer-2{border:3px solid #000}.show-when-won{visibility:hidden}.show-when-won,.show-when-won *{-webkit-transition:none;transition:none}.won .show-when-won{visibility:initial}#level-number-container{-webkit-transition:none;transition:none;position:absolute;left:50%;-webkit-transform:translate(-50%);transform:translate(-50%);border:3px solid #fff;border-radius:50%;visibility:hidden;margin-top:-5px;display:table-cell;height:45px;width:45px;text-align:center;vertical-align:middle}#level-number-container.visible{visibility:visible}#level-number-container #level-number{-webkit-transition:none;transition:none;position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);font-weight:700} \ No newline at end of file diff --git a/public/index.html b/public/index.html index 41ead69..cde4f37 100755 --- a/public/index.html +++ b/public/index.html @@ -52,9 +52,14 @@
- WordRotator + WordRotator + WR +
+ + + @@ -86,11 +91,13 @@
-
+
+
-
+
+
diff --git a/public/js/app.js b/public/js/app.js index f1f6eb9..2c14a9e 100755 --- a/public/js/app.js +++ b/public/js/app.js @@ -1 +1,5631 @@ -!function(t){"use strict";var e,n=Object.prototype,r=n.hasOwnProperty,i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",a=i.toStringTag||"@@toStringTag",u="object"==typeof module,l=t.regeneratorRuntime;if(l)u&&(module.exports=l);else{(l=t.regeneratorRuntime=u?module.exports:{}).wrap=k;var c="suspendedStart",h="suspendedYield",f="executing",d="completed",v={},p={};p[o]=function(){return this};var y=Object.getPrototypeOf,g=y&&y(y(S([])));g&&g!==n&&r.call(g,o)&&(p=g);var m=O.prototype=_.prototype=Object.create(p);b.prototype=m.constructor=O,O.constructor=b,O[a]=b.displayName="GeneratorFunction",l.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===b||"GeneratorFunction"===(e.displayName||e.name))},l.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,O):(t.__proto__=O,a in t||(t[a]="GeneratorFunction")),t.prototype=Object.create(m),t},l.awrap=function(t){return{__await:t}},L(P.prototype),P.prototype[s]=function(){return this},l.AsyncIterator=P,l.async=function(t,e,n,r){var i=new P(k(t,e,n,r));return l.isGeneratorFunction(e)?i:i.next().then(function(t){return t.done?t.value:i.next()})},L(m),m[a]="Generator",m[o]=function(){return this},m.toString=function(){return"[object Generator]"},l.keys=function(t){var e=[];for(var n in t)e.push(n);return e.reverse(),function n(){for(;e.length;){var r=e.pop();if(r in t)return n.value=r,n.done=!1,n}return n.done=!0,n}},l.values=S,C.prototype={constructor:C,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(E),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return a.type="throw",a.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var s=this.tryEntries[o],a=s.completion;if("root"===s.tryLoc)return i("end");if(s.tryLoc<=this.prev){var u=r.call(s,"catchLoc"),l=r.call(s,"finallyLoc");if(u&&l){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),E(n),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;E(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:S(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),v}}}function k(t,e,n,r){var i=e&&e.prototype instanceof _?e:_,o=Object.create(i.prototype),s=new C(r||[]);return o._invoke=function(t,e,n){var r=c;return function(i,o){if(r===f)throw new Error("Generator is already running");if(r===d){if("throw"===i)throw o;return T()}for(n.method=i,n.arg=o;;){var s=n.delegate;if(s){var a=x(s,n);if(a){if(a===v)continue;return a}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===c)throw r=d,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=f;var u=w(t,e,n);if("normal"===u.type){if(r=n.done?d:h,u.arg===v)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r=d,n.method="throw",n.arg=u.arg)}}}(t,n,s),o}function w(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}function _(){}function b(){}function O(){}function L(t){["next","throw","return"].forEach(function(e){t[e]=function(t){return this._invoke(e,t)}})}function P(t){var e;this._invoke=function(n,i){function o(){return new Promise(function(e,o){!function e(n,i,o,s){var a=w(t[n],t,i);if("throw"!==a.type){var u=a.arg,l=u.value;return l&&"object"==typeof l&&r.call(l,"__await")?Promise.resolve(l.__await).then(function(t){e("next",t,o,s)},function(t){e("throw",t,o,s)}):Promise.resolve(l).then(function(t){u.value=t,o(u)},function(t){return e("throw",t,o,s)})}s(a.arg)}(n,i,e,o)})}return e=e?e.then(o,o):o()}}function x(t,n){var r=t.iterator[n.method];if(r===e){if(n.delegate=null,"throw"===n.method){if(t.iterator.return&&(n.method="return",n.arg=e,x(t,n),"throw"===n.method))return v;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return v}var i=w(r,t.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,v;var o=i.arg;return o?o.done?(n[t.resultName]=o.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,v):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,v)}function j(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function E(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function C(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(j,this),this.reset(!0)}function S(t){if(t){var n=t[o];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,s=function n(){for(;++i0){this.Z.splice(e,1);for(var n=this.dt(t),r=0,i=n.length;r0){var t=arguments[0],n=Array.prototype.slice.call(arguments,1);return e.F(t)&&(0===n.length||e.Zt.apply(null,[t[n[0]]].concat(n.slice(1))))}return!1}},{key:"gt",value:function(t){return null===t||void 0===t}},{key:"F",value:function(t){return!e.gt(t)}},{key:"o",value:function(t,n){return e.F(t)?t:n}},{key:"te",value:function(t){return!e.empty(t)}},{key:"ee",value:function(t){var e=[];for(var n in t)e.push(encodeURIComponent(n)+"="+encodeURIComponent(t[n]));return"?"+e.join("&")}},{key:"empty",value:function(t){return e.gt(t)||"string"==typeof t&&""===t.trim()}},{key:"ne",value:function(t){var e=document.createElement("template");return e.innerHTML=t,e.content.childNodes}},{key:"se",value:function(){var t="http://www.w3.org/2000/svg",e=document.createElement("div");e.className="loader";var n=document.createElementNS(t,"svg");n.setAttribute("viewBox","0 0 32 32"),n.setAttribute("widh","32"),n.setAttribute("height","32");var r=document.createElementNS(t,"circle");return r.setAttribute("id","spinner"),r.setAttribute("cx","16"),r.setAttribute("cy","16"),r.setAttribute("r","14"),r.setAttribute("fill","none"),n.appendChild(r),e.appendChild(n),e}},{key:"jt",value:function(t){return a.i()+t}},{key:"re",value:function(){return navigator.userAgent.match(/iPhone|iPad|iPod/i)}},{key:"ie",value:function(){return null!==navigator.userAgent.match(/Android|BlackBerry|Opera Mini|IEMobile/i)||e.re()||void 0!==window.orientation||!1===window.orientation||null===window.orientation}},{key:"select",value:function(t){var e=document.createRange();e.selectNodeContents(t);var n=window.getSelection();n.removeAllRanges(),n.addRange(e)}},{key:"format",value:function(t,e){for(t=""+t;t.length0&&(o=new Array(r+1-s).join("0")+o),n+=o}return n}},{key:"ae",value:function(t,e){for(var n=Math.floor(Math.log(265)/Math.log(e)),r=t.match(new RegExp(".{1,"+n+"}","g"))||[],i="",o=0,s=r.length;o1&&0==(3&a)&&(a%100!=0||a%400==0)?1:0),3),"%k":""+u,"%l":(u+11)%12+1,"%m":v(s+1,2),"%M":v(n.getMinutes(),2),"%p":u<12?"AM":"PM","%P":u<12?"am":"pm","%s":Math.round(n.getTime()/1e3),"%S":v(n.getSeconds(),2),"%u":i||7,"%V":function(){var t=f(),e=t.valueOf();t.setMonth(0,1);var n=t.getDay();return 4!==n&&t.setMonth(0,1+(4-n+7)%7),v(1+Math.ceil((e-t)/6048e5),2)}(),"%w":""+i,"%x":n.toLocaleDateString(),"%X":n.toLocaleTimeString(),"%y":(""+a).slice(2),"%Y":a,"%z":n.toTimeString().replace(/.+GMT([+-]\d+).+/,"$1"),"%Z":n.toTimeString().replace(/.+\((.+?)\)$/,"$1")}[t]||t})}},{key:"he",value:function(n){var r=void 0;if(e.gt(n)||"object"!=(void 0===n?"undefined":t(n)))return n;if(n instanceof Array){var i=[];for(r=0;r",""":'"',"'":"'","’":"’","‘":"‘","–":"–","—":"—","…":"…","”":"”"};return e.F(t)&&"function"==typeof t.replace?t.replace(/\&[\w\d\#]{2,5}\;/g,function(t){return n[t]}):t}},{key:"de",value:function(t){var e=new FormData;for(var n in t)e.set(n,t[n]);return e}},{key:"me",value:function(t,n){var r=window.getComputedStyle(t),i=window.getComputedStyle(n);if(i.height>r.height||i.width>r.width)return e.ge(t,n)}},{key:"ge",value:function(t,n){e.pe(t);for(var r=window.getComputedStyle(t),i=window.getComputedStyle(n),o=0,s=parseFloat(i.getPropertyValue("font-size")),a=i.width,u=i.height;i.height>r.height||i.width>r.width;)if(s*=.95,u>r.height&&(u*=.95),a>i.width&&(a*=.95),n.style["font-size"]=s+"px",n.style["max-height"]=u+"px",n.style["max-width"]=a+"px",++o>2e3){console.log("breaked");break}e.fe(n),i=window.getComputedStyle(n),n.style["font-size"]=parseFloat(i.getPropertyValue("font-size"))/parseFloat(document.documentElement.clientHeight)*100+"vh"}},{key:"pe",value:function(t){for(var n=t.childNodes,r=0,i=n.length;r-1,i=e.userAgent.indexOf("Edge")>-1;return!!e.userAgent.match("CriOS")||null!==t&&void 0!==t&&"Google Inc."===n&&!1===r&&!1===i}},{key:"Se",value:function(t,e){for(var n={},r=0,i=t.length;r0&&(n=r[0])}else-1!==t.ye.indexOf(e)&&(n=e);if(v.F(n)){localStorage.setItem("currentTheme",n.Te);var i=new Promise(function(t){document.querySelector("nav.top-bar").addEventListener("transitionend",function(){t()})});document.body.className=n.Pe,t.be=n;for(var o=0,s=t.Le.length;o0?t.ve(n[0]):t.ye.length>0&&t.ve(t.ye[0])}}},{key:"Ce",value:function(){return new u(t.be.Te,function(e){var n=(t.ye.indexOf(t.be)+1)%t.ye.length;t.ve(t.ye[n]),e.title=t.be.Te,e.m.U()},c.q)}},{key:"addChangeListener",value:function(e){t.Le.push(e)}}]),t}();p.ye=[],p.Le=[];var y=function(){function t(e){s(this,t),this.Fe=e,this.xe=!0,this.De=3650,this.Re="complianceCookie",this.Be="true"}return n(t,[{key:"ke",value:function(){t.Ie(this.Re)!==this.Be&&this.show()}},{key:"Ue",value:function(){this.Ee(this.Re,this.Be,this.De)}},{key:"Ee",value:function(t,e,n){var r=void 0;if(v.F(n)){var i=new Date;i.setTime(i.getTime()+24*n*60*60*1e3),r="; expires="+i.toGMTString()}else r="";this.xe&&(document.cookie=t+"="+e+r+"; path=/")}},{key:"Oe",value:function(t){this.Ee(t,"",-1)}},{key:"show",value:function(){var t=this,e=document.getElementById(this.Fe);e.style.display="block",e.querySelector("#close-cookie-msg").onclick=function(){t.Ue(),e.remove()}}}],[{key:"Ie",value:function(t){for(var e=t+"=",n=document.cookie.split(";"),r=0;r0||("smedium"===t||"small"===t)&&r.Ve(e.getElementsByClassName(c.h)).length>0||"small"===t&&r.Ve(e.getElementsByClassName(c.pt)).length>0||r.Ve(e.getElementsByClassName(c.X)).length>0?document.getElementById("responsive-menu-toggle").style.display="block":(document.getElementById("responsive-menu-toggle").style.display="none",v.F(r.We)&&r.We.close())}},{key:"lt",value:function(){var t=e(r.prototype.__proto__||Object.getPrototypeOf(r.prototype),"lt",this).call(this);return function(e){t(e)instanceof l||!v.F(r.We)||r.We.close()}}},{key:"rt",value:function(t){var n=e(r.prototype.__proto__||Object.getPrototypeOf(r.prototype),"rt",this).call(this,t);return this.Ne(),r.We=this,n}},{key:"close",value:function(){document.getElementById("responsive-menu").style.display="none";for(var t=0,e=this.tt.length;t0;){var i=this.Yn.firstChild;i.remove(),r.appendChild(i)}this.Zn={dn:r,title:document.title},console.log(this.Zn);var o=this;window.onpopstate=function(){if(o.qn.length>=1){var t=o.qn[o.qn.length-1].In();!1!==t.Cn()&&o.Sn(t)}}}return n(t,[{key:"cn",value:function(){return this.Zn}},{key:"ts",value:function(t){this.Qn=t}},{key:"fn",value:function(){return this.Qn}},{key:"es",value:function(t){this.Gn.push(t)}},{key:"yn",value:function(){return this.Gn}},{key:"pn",value:function(t,e){if(!(t.prototype instanceof w))throw{error:"wrong class given! Expected AbstractSite, given "+t.name};var n=new t(this),r={},i=new Promise(function(t,e){r.resolve=t,r.reject=e}),o=new _(n,r);this.zn.removeAllChildren().appendChild(v.se());var s=this;return this.$n=new Promise(function(t){Promise.resolve(e).then(function(t){return o.jn(t),Promise.all([n.Qe(t),n.Ke])}).then(function(){n.ln=n.vn(s.ns())}).then(function(){t(s.show(o))})}),i}},{key:"Sn",value:function(t,e){var n=this;this.$n.then(function(){var r=n.ss(t),i=n.qn.splice(r,1),o=null;if((i=i[0])===n.Kn){n.Kn.In().en(),n.Kn=null;var s=n.qn.length-1;if(s<0)return n.rs(),void n.pn(n.Qn);n.zn.removeAllChildren().appendChild(v.se()),o=n.qn[s]}i.In().nn(),Promise.resolve(e).then(function(t){i.Vn().resolve(t),v.F(o)&&n.show(o)})})}},{key:"addListener",value:function(t,e,n,r){this.zn.addEventListener(e,function(e){var i=e.target;t.in&&i.matches(n)&&r(i,e)})}},{key:"xn",value:function(t,e,n,r,i){this.addListener(t,n,r,i),this.Fn(t,e,i)}},{key:"Fn",value:function(t,e,n){window.addEventListener("keydown",function(r){t.in&&r.which===e&&n(this,r)})}},{key:"Mn",value:function(t){var e=this.ss(t),n=this.qn.splice(e,1);n=n[0],this.show(n)}},{key:"refreshCurrentSite",value:function(){return this.show(this.Kn)}},{key:"show",value:function(t){v.F(this.Kn)&&(this.Kn.Nn(this.Kn.In().en()),this.Kn.On(this.zn.innerHTML)),this.zn.removeAllChildren().appendChild(v.se());var e=this;return this.Kn=t,-1===this.qn.indexOf(t)&&this.qn.push(t),t.In().Ke.then(function(n){return t.In().ln.U(),e.zn.removeAllChildren().appendChild(n),e.mn(),d.Vt().Jt(),n}).then(function(n){t.In().Ye(t.Wn()),history.pushState({siteName:t.In().constructor.name,siteData:n.outerHTML,stackPosition:e.qn.length-1},t.In().constructor.name,t.In().An())})}},{key:"Pn",value:function(t){if(v.F(this.Kn)&&this.Kn.In()===t){history.replaceState({siteName:t.constructor.name,siteData:t.ze.outerHTML,stackPosition:this.qn.length-1},t.constructor.name,t.An())}}},{key:"os",value:function(){if(null!=this.Kn)return this.Kn.In()}},{key:"as",value:function(){null!=this.Kn&&this.Kn.In().ln.U()}},{key:"mn",value:function(){var t=this.os().title;this.Yn.removeAllChildren().appendChild(t.dn),document.title=v.o(t.title,this.Zn.title)}},{key:"ss",value:function(t){for(var e=0,n=this.qn.length;e=0&&(this.ms[e].remove(!0),this.ms.splice(e,1))}},{key:"pn",value:function(t,e){return this.us.pn(t,e)}},{key:"start",value:function(e){a.t(this.s);var n=v.o(this.Ls(),e),r=t.xs();this.fs=e,d.init(),p.init(),this.gs&&this.es(p.Ce()),this.us=new b(this.cs,this.hs),this.us.Gn=this.ms,this.us.ts(e),this.us.pn(n,r),this.As(),this.ps&&new y("cookie-compliance").ke()}}],[{key:"Cs",value:function(t){if(v.gt(t))return null;for(var e={},n=[],r=t.split("&"),i=0;i0&&(e[n[0]]=decodeURIComponent(n[1]));return e}},{key:"xs",value:function(){return t.Cs(window.location.search.substr(1))}}]),t}(),P=function(){function t(e,n){s(this,t),this.Ds=null,this.content=null,this.Rs=null,this.cancelable=!0,this.title=v.o(n,""),this.Bs=!0,this.ks="",this.buttons=[],this.result=null,v.F(e)&&this.Is(e)}return n(t,[{key:"T",value:function(t){return this.title=t,this}},{key:"Us",value:function(t){this.Bs=t}},{key:"Es",value:function(t){this.ks=t}},{key:"A",value:function(){return this.title}},{key:"Os",value:function(t){return this.cancelable=!0===t,this}},{key:"Is",value:function(){var t=r(regeneratorRuntime.mark(function t(e){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return this.Ws=Promise.resolve(e),t.next=3,this.Ws;case 3:return this.content=t.sent,t.abrupt("return",this);case 5:case"end":return t.stop()}},t,this)}));return function(){return t.apply(this,arguments)}}()},{key:"Ns",value:function(t,e,n){n=v.o(n,!0);var r=null;"string"==typeof t?((r=document.createElement("button")).classList.add("button"),r.classList.add("right"),r.appendChild(d.ut(t))):r=t;var i=this;if("function"!=typeof e){var o=e;e=function(){i.result=o}}var s;s=n?function(t){v.F(e)&&e(t),i.close()}:e,v.F(s)&&r.addEventListener("click",s),this.buttons.push(r)}},{key:"show",value:function(){var t=r(regeneratorRuntime.mark(function t(){var e,n,r,i,o,s,a,u,l;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:for((e=document.createElement("span")).classList.add("title"),this.Bs&&""!==this.title?e.appendChild(d.ut(this.title)):e.innerHTML=this.title,(n=document.createElement("div")).appendChild(e),(r=document.createElement("div")).classList.add("content-container"),(i=document.createElement("div")).className=this.ks,i.classList.add("modal"),i.appendChild(n),i.appendChild(r),(o=document.createElement("div")).classList.add("modal-button-container"),s=0,a=this.buttons.length;s0&&e.js(e.zs,i),e.zs++}}]),e}();x.zs=0,x.qs=3500,x.Ks=1e3,x.Js="success",x.Xs="error",x.$s="default",x.Gs="info",x.Qs="warning";var j=function(){function t(){s(this,t)}return n(t,null,[{key:"Ys",value:function(e){if("function"==typeof e){var n=e;e=t.Zs.then(function(t){return n(t)})}t.tr.push(e)}},{key:"resolve",value:function(e){return t.er(e),t.Zs.then(function(){return Promise.all(t.tr)})}}]),t}();j.tr=[],j.Zs=new Promise(function(t){j.er=t});var E=function(){function t(e,n){s(this,t);var r=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB||window.nr;this.sr=r.open(e,n);var i=this;this.sr.onupgradeneeded=function(t){i.rr(i.sr.result,t.oldVersion,t.newVersion,t)},this.ir=new Promise(function(t){i.sr.onsuccess=function(e){i.Lt=i.sr.result,t(e)}})}return n(t,[{key:"or",value:function(t,e,n){var r=this;"function"==typeof e&&v.gt(n)&&(n=e,e="read"),this.ir.then(function(){var i=null;try{i=r.sr.result.transaction(t,e)}catch(e){console.warn(e),i=r.sr.result.transaction(t)}n(i)})}},{key:"ar",value:function(t,e,n){"function"==typeof e&&v.gt(n)&&(n=e,e="readonly"),this.or(t,e,function(e){n(e.objectStore(t))})}},{key:"lr",value:function(t,e){var n=this;return new Promise(function(r){n.ar(e,"readwrite",function(e){var n=e.put(t);n.onsuccess=r,n.onerror=function(t){throw{type:"indexed-db-error",event:t}}})})}},{key:"ur",value:function(t,e){var n=this;return new Promise(function(r){n.ar(e,"readwrite",function(e){for(var n=[],i=function(r,i){n.push(new Promise(function(n){var r=e.put(t[i]);r.onsuccess=n,r.onerror=function(t){throw{type:"indexed-db-error",event:t}}}))},o=0,s=t.length;o=0){var n=new P("optimistic-locking-dialog","optimistic-locking-dialog-title");n._s(),n.show()}else t(e)}:t,this.Xr=n}},{key:"Gr",value:function(){if(!this.zr){var t=this;return this.submit().then(function(e){if(e.success){if(null!==t.Kr)return t.Kr(e.result)}else if(v.F(t.Xr))return t.Xr(e.errors)})}}},{key:"load",value:function(t,e){return this.Yr(V.load(t,e).then(function(t){return t.success?t.result:{}})),this}},{key:"Yr",value:function(t){this.Zr(!0);var e=this;return Promise.resolve(t).then(function(t){for(var n in e.Zr(!1),t)if(v.F(e.Vr.elements[n])){if(v.F(e.Vr.elements[n].options)&&v.F(t[n+"Options"])){var r=e.Vr.elements[n].options;for(var i in t[n+"Options"]){var o=document.createElement("option");o.value=i,o.innerText=t[n+"Options"][i],r.add(o)}}e.Vr.elements[n].value=v.ce(t[n]),v.F(t[n])&&""!==(""+t[n]).trim()?e.Vr.elements[n].classList.add("notEmpty"):e.Vr.elements[n].classList.remove("notEmpty")}return e})}},{key:"$r",value:function(){var t=r(regeneratorRuntime.mark(function t(e){var n,r,i,o;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:for(i in n=!1,r=null,e)v.F(this.Vr.elements[i])&&"hidden"!==this.Vr.elements[i].type&&v.gt(this.Vr.elements[i].ti)&&(v.gt(this.Vr.elements[i].disabled)||!this.Vr.elements[i].disabled)&&(this.Vr.elements[i].setCustomValidity(d.translate(v.o(e[i],"form-default-error"))),n=!0),v.gt(r)&&(r=v.o(e[i],"form-default-error"));if(n||!v.F(r)){t.next=11;break}t.t0=regeneratorRuntime.keys(this.Vr.elements);case 4:if((t.t1=t.t0()).done){t.next=11;break}if(o=t.t1.value,"hidden"===this.Vr.elements[o].type){t.next=9;break}return this.Vr.elements[o].setCustomValidity(d.translate(r)),n=!0,t.abrupt("break",11);case 9:t.next=4;break;case 11:n&&this.Vr.querySelector("input[type=submit]").click();case 12:case"end":return t.stop()}},t,this)}));return function(){return t.apply(this,arguments)}}()},{key:"Zr",value:function(t){this.zr=t,this.zr?this.Vr.classList.add("sending"):this.Vr.classList.remove("sending")}},{key:"submit",value:function(){var t=this;return new Promise(function(e){t.Zr(!0);var n=new FormData(t.Vr);e(t.qr(n))}).then(function(e){return t.Zr(!1),e})}},{key:"ei",value:function(t){this.Kr=t}}]),t}(),K=function(){function t(){s(this,t),this.si=null,this.ri="settings"}return n(t,null,[{key:"Vt",value:function(){return null===t.ni&&(t.ni=new t),t.ni}}]),n(t,[{key:"ii",value:function(){return v.gt(this.si)&&this.oi(),this.si}},{key:"ai",value:function(t,e){var n=this.ii();return v.F(n[t])?n[t].value:e}},{key:"li",value:function(t){this.ii(),delete this.si[t],this.ui()}},{key:"hi",value:function(t,e){this.ii(),this.si[t]={ci:(new Date).getTime(),value:e},this.ui()}},{key:"di",value:function(t){for(var e in this.ii(),t)this.si[e]=t[e];this.ui()}},{key:"mi",value:function(t){return v.o(this.si[t])}},{key:"oi",value:function(){this.si=localStorage.getItem(this.ri),null===this.si?this.si={}:this.si=JSON.parse(this.si)}},{key:"ui",value:function(){null!==this.si&&localStorage.setItem(this.ri,JSON.stringify(this.si))}}]),t}();K.ni=null;var q=function(){function t(e,n,r){s(this,t),this.Te=e,this.gi=n,this.pi=v.o(r,!0),this.fi=!0,this.wi=-1,this.Si=null}return n(t,[{key:"Mi",value:function(t){return this.Si=t,this}},{key:"Hi",value:function(t){this.wi=t}},{key:"vi",value:function(){return this.Te}},{key:"yi",value:function(){return this.gi}},{key:"Ti",value:function(){var t=document.createElement("th");return t.appendChild(this.pi?d.ut(this.gi):document.createTextNode(this.gi)),this.fi&&(t.classList.add("sort"),t.dataset.sort=this.Te),t.dataset.column=this.wi,this.Pi=t,this.Pi}},{key:"bi",value:function(){return this.Te}},{key:"Li",value:function(t){return t}},{key:"Ai",value:function(){var t=document.createElement("td");return t.classList.add(this.Te),t.dataset.column=this.wi,v.F(this.Si)&&t.classList.add("clickable"),t}},{key:"click",value:function(t,e,n){v.F(this.Si)&&this.Si(t,e,n)}}]),t}(),D=function(){function t(e,n,r,o){var a;return s(this,t),(a=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n,r))).fi=!1,a.Ci=v.o(o,!1),a}return o(t,q),n(t,[{key:"bi",value:function(){return null}},{key:"Ai",value:function(){var n=e(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"Ai",this).call(this);return n.classList.remove(this.Te),n.appendChild(this.Ci?d.ut(this.Te):document.createTextNode(this.Te)),n}}]),t}(),Z=function(){function t(e,n,r){return s(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n,r=v.o(r,!1)))}return o(t,q),n(t,[{key:"Ti",value:function(){return document.createTextNode("")}},{key:"bi",value:function(){return{data:[this.Te]}}},{key:"Ai",value:function(){return document.createTextNode("")}}]),t}(),z=function(){function t(e,n,r){var o;return s(this,t),(o=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n,r))).Ci=!1,o}return o(t,D),n(t,[{key:"Ai",value:function(){var n=e(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"Ai",this).call(this),r=document.createElement("img");return r.src=this.Te,n.removeAllChildren().appendChild(r),n}}]),t}(),H=function(){function t(e,n,r){s(this,t),this.Fi=e,this.xi=v.o(n,{}),this.Di=r,"string"==typeof this.Fi&&(this.Fi=document.getElementById(this.Fi)),this.Ri=[],Array.isArray(n)?this.Ri=n:v.F(n.columns)&&(this.Ri=n.columns)}return n(t,[{key:"Li",value:function(t){if(console.log("prepareData",t),v.F(t))for(var e=0,n=t.length;en&&o.Ri[n].click(e,i,t)}),this.list=i,i}},{key:"Ii",value:function(){for(var t=document.createElement("tr"),e=document.createElement("tr"),n=[],r=0,i=this.Ri.length;r=1&&(n=this.Bi(n),r[0].values(n))}},{key:"Oi",value:function(t){t?this.Fi.classList.add("sending"):this.Fi.classList.remove("sending")}}]),t}(),Y=function(){function t(e){s(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,"core/html/settings.html","settings"));for(var r in t.Wi)n.Ni(r,new t.Wi[r](n));return n.active=null,n}return o(t,w),n(t,[{key:"Ni",value:function(t,e){this.sn("#settings-fragments",e),delete this.$e["#settings-fragments"],this.$e[t]=e}},{key:"Ye",value:function(){var n=e(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"Ye",this).call(this);return v.F(this.active)&&!this.$e[this.active].tn()&&this.setActive(null),this._i(),n}},{key:"setActive",value:function(t){v.F(this.active)&&(this.$e[this.active].Ke.then(function(t){t.classList.remove("active")}),this.rn("#show-fragment-"+this.active).classList.remove("active")),this.active=t,v.F(this.active)&&(this.$e[this.active].Ke.then(function(t){t.classList.add("active")}),this.rn("#show-fragment-"+this.active).classList.add("active"))}},{key:"_i",value:function(){var t=this,e=this.rn("#settings-fragment-list");e.removeAllChildren();var n=this,r=function(r){if(t.$e[r].tn()){var i=document.createElement("li");i.id="show-fragment-"+r,i.appendChild(d.ut(r,null,"a")),i.addEventListener("click",function(){n.setActive(r)}),e.appendChild(i),v.gt(t.active)&&t.setActive(r)}};for(var i in this.$e)r(i)}}],[{key:"Ni",value:function(e,n){t.Wi[e]=n}},{key:"ji",value:function(e){t.Vi=e}}]),t}();Y.Wi={},Y.Vi=!0,j.Ys(function(t){if(Y.Vi){t.Ts("settings",Y);var e=new u("settings",function(){t.pn(Y)},u.K,1e4);e.N("img/settings.png"),t.es(e)}});var W=function(){function t(){s(this,t)}return n(t,[{key:"Ji",value:function(t,e,n,r,i,o,s){console.log("test"),o=v.o(o,10),r=v.o(r,!1),i=v.o(i,!1),s=v.o(s,e.innerHTML.length);var a=n.classList.contains("no-transition");n.classList.add("no-transition");var u=1,l=0,c=0,h=0,f=0,d=0;do{u+=l/(s+1),e.style.fontSize=u+"px";var p=window.getComputedStyle(n);f=p.getPropertyValue("width").replace("px",""),d=p.getPropertyValue("height").replace("px",""),c=f-e.offsetWidth,h=d-e.offsetHeight;var y=i?h:r?c:Math.min(c,h);if(y===l)break;l=y}while((c>(1-t)*f||i)&&(h>(1-t)*d||r));e.style.fontSize=u-o+"px",a||n.classList.remove("no-transition");var g=this;window.addEventListener("resize",function(){setTimeout(function(){g.Ji(t,e,n,r,i,o,s)},255)})}},{key:"zi",value:function(t,e,n,r,i,o){return this.Ji(1,t,e,n,r,i,o)}}]),t}(),$=function(){function t(e){s(this,t),"string"==typeof e&&(e={code:e}),this.qi=e,this.Ki=!1}return n(t,[{key:"Xi",value:function(t){this.Ki=t}},{key:"$i",value:function(){return this.Ki}},{key:"Gi",value:function(){return V.send("c/code",this.qi)}}]),t}(),U=function(){function t(e){return s(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,"core/html/load.html","code"))}return o(t,w),n(t,[{key:"Qe",value:function(n){e(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"Qe",this).call(this,n),console.log(n);Promise.resolve();if(v.F(n.code)){var r=n.code,i=v.o(n.cachable,!1),o=new $(r);o.Xi(i);var s=this;o.Gi().then(function(t){t.success?x.Vs(x.Js,d.translate(v.o(t.result.successMessage,"code-activated"))):x.Vs(x.Js,d.translate(t.errors[0])),s.finish()})}}}]),t}();j.Ys(function(t){t.Ts("code",U)});var J=function(){function t(){s(this,t)}return n(t,null,[{key:"init",value:function(e){t.Qi=null,t.Yi={Zi:!1,id:null,accesses:["default"]},t.app=e,t.to=new Promise(function(e){t.eo=e})}},{key:"setData",value:function(e){t.Yi=Object.assign(t.Yi,e);var n=t.app.ws();n&&n.as()}},{key:"no",value:function(e){return t.Qi=v.o(e,t.Qi),V.load(t.Qi).then(function(e){e.success&&t.setData(e.result),t.eo()})}},{key:"so",value:function(){return V.load("u/logout").then(function(e){if(e.success){t.setData(e.result);var n=t.app.ws();n&&n.refreshCurrentSite(),x.Vs(x.Js,d.translate("logged-out-successfully"))}})}},{key:"ro",value:function(e){return t.Yi.accesses.indexOf(e)>=0}},{key:"io",value:function(e,n){t.oo(function(r){n(r&&t.ao(e))})}},{key:"oo",value:function(e){this.to.then(function(){e(t.lo())})}},{key:"ao",value:function(e){return t.Yi.id===e}},{key:"lo",value:function(){return v.F(t.Yi)&&v.F(t.Yi.id)}}]),t}();j.Ys(function(t){return J.init(t),J.no("u/me").then(function(){J.oo(function(t){if(t){var e=K.Vt(),n=v.he(e.ii());for(var r in n)n[r].value=JSON.stringify(n[r].value);V.send("u/syncSettings",n).then(function(t){if(t.success){for(var n in t.result)t.result[n].value=JSON.parse(t.result[n].value);e.di(t.result)}})}})})});var X=function(){function t(e,n,r,o,a){var u;return s(this,t),(u=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n,r,o))).uo=v.o(a,"default"),u}return o(t,u),n(t,[{key:"k",value:function(){return e(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"k",this).call(this)&&J.ro(this.uo)}},{key:"ho",value:function(){return this.uo}},{key:"V",value:function(n){var r=e(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"V",this).call(this,v.o(n,new t));return r.uo=this.uo,r}}]),t}(),G=function(){function t(e){return s(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,"userManagement/html/403.html"))}return o(t,w),t}(),Q=function(){function t(e,n,r,o){var a;return s(this,t),(a=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n,r))).uo=o,a}return o(t,w),n(t,[{key:"Qe",value:function(n){return J.ro(this.uo)?e(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"Qe",this).call(this,n):(this.pn(G),void this.finish({error:403}))}},{key:"Ye",value:function(n){return J.ro(this.uo)?e(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"Ye",this).call(this,n):(this.pn(G),void this.finish({error:403}))}}]),t}(),tt=function(){function t(e,n,r,o){s(this,t);var a=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n,r,o)),u=e.querySelector("#email"),l=e.querySelector("#password"),c=function(){u.setCustomValidity(""),l.setCustomValidity("")};return u.addEventListener("keydown",c),l.addEventListener("keydown",c),a}return o(t,N),t}(),et=function(){function t(e,n,r,o){return s(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n,r,o))}return o(t,N),n(t,[{key:"co",value:function(){}}]),t}(),nt=function(){function t(e,n,r){var o;return s(this,t),(o=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n))).uo=r,o}return o(t,M),n(t,[{key:"tn",value:function(){return e(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"tn",this).call(this)&&J.ro(this.uo)}}]),t}(),rt=function(){function t(e){return s(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,"userManagement/html/fragments/passwordSettings.html","online"))}return o(t,nt),n(t,[{key:"Ze",value:function(){var n=e(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"Ze",this).call(this),r=new N(document.getElementById("change-password-form"),"u/passwordSettings/set","post");return r.ei(function(t){for(var e=0,n=t.length;e=2&&this.dn.classList.add("layer-"+t);var e=this.dn.querySelector(".child-container");e.removeAllChildren(),this.xo(),this.dn.removeEventListener("mouseup",this.Co),this.dn.removeEventListener("touchend",this.Ao),this.dn.addEventListener("mouseup",this.Co),this.dn.addEventListener("touchend",this.Ao);for(var n=0,r=this.children.length;n=1&&this.children[0]&&this.children[0]instanceof t?this.children[0].ko()+1:1}}]),t}();ft.Po();var dt=function(){function t(e,n){var r;return s(this,t),(r=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))).Io="A",v.F(n)&&r.Uo(n),r}return o(t,ht),n(t,[{key:"wo",value:function(e){return e instanceof t&&e.Io===this.Io}},{key:"Uo",value:function(t){this.Io=t}},{key:"vo",value:function(){this.dn.querySelector(".leaf-element").removeAllChildren().appendChild(document.createTextNode(this.Io))}}]),t}(),vt=function(){function t(e,n,r,i){s(this,t),this.Eo=e,this.Oo=n,this.Wo=r,this.No=i}return n(t,[{key:"_o",value:function(){return v.cloneNode(this.Eo)}},{key:"jo",value:function(){return v.cloneNode(this.Oo)}},{key:"Vo",value:function(){return v.cloneNode(this.Wo)}},{key:"Jo",value:function(){return v.cloneNode(this.No)}}]),t}(),pt=function(){function t(e){s(this,t),this.zo=null,this.words=[],this.qo=[],this.Ko=e,this.Xo=!1,this.id=null,this.$o=null,this.Go=null;var n=this;this.Qo=new Promise(function(t,e){n.$o=t,n.Go=e})}return n(t,[{key:"Yo",value:function(){var t=this.fo();localStorage.setItem("currentLevel",JSON.stringify({id:this.id,rotations:t}))}},{key:"fo",value:function(){return null!==this.zo?this.zo.fo([]):[]}},{key:"Zo",value:function(t){this.id=t}},{key:"_",value:function(){return this.id}},{key:"Mo",value:function(){return this}},{key:"ta",value:function(t){this.zo=t,this.zo.So(this),this.qo&&this.yo()}},{key:"ea",value:function(t){this.words=[];for(var e=0,n=t.length;e=2&&this.words[0].length>=this.aa&&this.words[1].length>=this.aa){for(var t=pt.oa(this.words[0],this.Ko._o()),e=pt.oa(this.words[1],this.Ko._o()),n=new yt(this.Ko.Vo()),r=0,i=this.aa/2;r=6&&this.words[0].length>=this.aa&&this.words[1].length>=this.aa&&this.words[2].length>=this.aa&&this.words[3].length>=this.aa&&this.words[4].length>=this.aa&&this.words[5].length>=this.aa){var t=[];t[0]=pt.oa(this.words[0],this.Ko._o()),t[1]=pt.oa(this.words[1],this.Ko._o()),t[2]=pt.oa(this.words[2],this.Ko._o()),t[3]=pt.oa(this.words[3],this.Ko._o()),t[4]=pt.oa(this.words[4],this.Ko._o()),t[5]=pt.oa(this.words[5],this.Ko._o());for(var e=new yt(this.Ko.Vo()),n=0;n=4&&this.words[0].length>=this.aa&&this.words[1].length>=this.aa&&this.words[2].length>=this.aa&&this.words[3].length>=this.aa){var t=[];t[0]=pt.oa(this.words[0],this.Ko._o()),t[1]=pt.oa(this.words[1],this.Ko._o()),t[2]=pt.oa(this.words[2],this.Ko._o()),t[3]=pt.oa(this.words[3],this.Ko._o());for(var e=new yt(this.Ko.Vo()),n=0;n=1)&&e.createObjectStore(t.da.ca,{keyPath:"id"}),(v.gt(n)||n<2&&r>=2)&&i.target.transaction.objectStore(t.da.ca).createIndex("played",["deleted","played","difficulty","id"],{unique:!1}),(v.gt(n)||n<3&&r>=3)&&i.target.transaction.objectStore(t.da.ca).createIndex("difficulty","difficulty",{unique:!1})}},{key:"ma",value:function(){var e=r(regeneratorRuntime.mark(function e(n){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.ur(n,t.da.ca));case 1:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"ga",value:function(){var e=r(regeneratorRuntime.mark(function e(n){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.load(n,t.da.ca));case 1:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"pa",value:function(){var e=r(regeneratorRuntime.mark(function e(n){var r,i,o,s,a,u;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.cr("difficulty",IDBKeyRange.lowerBound(0),t.da.ca);case 2:for(r=e.sent,i=[],o=[],s=-1,a=0,u=r.length;an.length)&&(e=n.length),e-=t.length;var r=n.indexOf(t,e);return-1!==r&&r===e}),window.fetch=v.o(window.fetch,function(t){console.log("customFetch",t);var e=null;if(window.XMLHttpRequest)e=new XMLHttpRequest;else if(window.Er)try{e=new ActiveXObject("Msxml2.XMLHTTP")}catch(t){try{e=new ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}var n=new Promise(function(t){e.onload=function(){var e=this.responseText;t({json:function(){return Promise.resolve(JSON.parse(e))},text:function(){return Promise.resolve(e)}})},e.onerror=function(e){t(Promise.reject(e))}});return e.open("get",t,!0),e.send(),n}),p.Ae(new R("red","")),p.Ae(new R("blue","blue")),p.Ae(new R("black","black")),p.Ae(new R("green","green")),p.Ae(new R("pink","pink")),T.Fr(new F("img/whatsapp.svg")),T.Fr(new B("img/sms.svg")),T.Fr(new A("img/telegram.svg"));var At=new L;At.Ss(!0),At.es(d.Kt()),window.ThemeManager=p,window.ThemeManager.addChangeListener=p.addChangeListener,window.app=At,window.app.refreshCurrentSite=At.refreshCurrentSite,window.Translator=d,window.Translator.setLanguage=d.setLanguage,j.resolve(At).then(function(){At.start(Bt),d.setLanguage("de")}); \ No newline at end of file +class SystemSettings { + static setBasePath(basePath) + { + SystemSettings._basePath = basePath; + } + static getBasePath() + { + return SystemSettings._basePath; + } +} +SystemSettings.setBasePath("/"); + +class MenuAction { + constructor(title, callback, showFor, order) { + this.title = Helper.nonNull(title, null); + this.callback = callback; + this.showFor = Helper.nonNull(showFor, MenuAction.SHOW_FOR_MEDIUM); + this.order = Helper.nonNull(order, 1000); + + this._menu = null; + this._activated = true; + this._visible = true; + this.id = MenuAction.maxId++; + this._icon = null; + this._shouldTranslate = true; + this._copies = []; + } + + setTitle(title) + { + this.title = title; + } + + setShouldTranslate(shouldTranslate) + { + this._shouldTranslate = shouldTranslate; + } + + getShowFor(){ + return this.showFor; + } + + getTitle() + { + return this.title; + } + + getShouldTranslate() + { + return this._shouldTranslate; + } + + remove(removeCopies) { + removeCopies = Helper.nonNull(removeCopies, false); + if (Helper.isNotNull(this._menu)) { + console.log(this._menu); + this._menu.removeAction(this); + this._menu = null; + } + if (removeCopies) + { + for (let i = 0; i < this._copies.length; i++) { + this._copies[i].remove(); + } + } + } + + getMenu() { + return this._menu; + } + + setMenu(value) { + this._menu = value; + } + + getVisible() { + return this._visible; + } + + setVisible(value) { + if (value !== this._visible) { + this._visible = value; + this.redraw(); + } + } + + getActivated() { + return this._activated; + } + + getIcon() { + return this._icon; + } + + setIcon(value) { + this._icon = value; + } + + getId() + { + return this.id; + } + + redraw() { + if (Helper.isNotNull(this._menu)) { + this._menu.updateAction(this); + } + } + copy(instance){ + let copy = Helper.nonNull(instance, new MenuAction()); + copy.title = this.title; + copy.callback = this.callback; + copy.showFor = this.showFor; + copy.order = this.order; + + copy._activated = this._activated; + copy._visible = this._visible; + copy._icon = this._icon; + copy._shouldTranslate = this._shouldTranslate; + + copy._menu = null; + copy.id = MenuAction.maxId++; + this._copies.push(copy); + return copy; + } + + redrawMenu() + { + if (Helper.isNotNull(this._menu)) { + this._menu.redraw(); + } + } +} +MenuAction.maxId = 0; + +MenuAction.SHOW_ALWAYS = "always"; +MenuAction.SHOW_FOR_MEDIUM = "medium"; +MenuAction.SHOW_FOR_LARGE = "large"; +MenuAction.SHOW_NEVER = "never"; + +class OpenSubmenuAction extends MenuAction { + constructor(title, menu, showFor, order) { + super(title, function (action) { + action.getSubmenu().toggle(); + action.redraw(); + }, showFor, order); + + this.submenu = menu; + menu.setParentAction(this); + } + + getSubmenu() { + return this.submenu; + } + + copy(instance) { + instance = super.copy(Helper.nonNull(instance, new OpenSubmenuAction(null, this.submenu.copy()))); + return instance; + } +} + +class Menu { + constructor(parentElementSelector) { + this.actions = []; + this.submenus = []; + if (typeof parentElementSelector === 'string') { + this.parentElements = document.querySelectorAll(parentElementSelector); + } + else if (Array.isArray(parentElementSelector)) { + this.parentElements = parentElementSelector; + } + else { + this.parentElements = [parentElementSelector]; + } + } + + copy(instance) + { + instance = Helper.nonNull(instance, new Menu([])); + + instance.actions = []; + for (let i = 0, n = this.actions.length; i < n; i++) { + instance.actions.push(this.actions[i].copy()); + } + + instance.submenus = []; + for (let i = 0, n = this.submenus.length; i < n; i++) { + instance.submenus.push(this.submenus[i].copy()); + } + + return instance; + } + + addAction(action) { + if (Helper.includesNot(this.actions, action)) { + this.actions.push(action); + this.redraw(); + action.setMenu(this); + if (action instanceof OpenSubmenuAction) { + this.submenus.push(action.getSubmenu()); + } + } + } + + draw() { + if (Helper.isNotNull(this.parentElements)) { + this.sortActions(); + + let actionElements = []; + for (let i = 0; i < this.actions.length; i++) { + let element = this.renderAction(this.actions[i]); + this.actions[i]._htmlElement = element; + actionElements.push(element); + } + for (let i = 0, n = this.parentElements.length; i < n; i++) { + this.parentElements[i].removeAllChildren(); + for (let i2 = 0, n2 = actionElements.length; i2 < n2; i2++) { + this.parentElements[i].appendChild(Helper.cloneNode(actionElements[i2])); + } + this.parentElements[i].onclick = this._getOnClickListener(); + } + } + } + + _getOnClickListener() { + let menu = this; + return function (event) { + let _element = event.target; + if (_element.matches('.action') || _element.matches('.action *')) { + // while (!_element.matches('.action > a')) { + // _element = _element.parentNode; + // } + _element = _element.closest(".action"); + let actionId = parseInt(_element.dataset["id"]); + for (let i = 0, n = menu.actions.length; i < n; i++) { + if (menu.actions[i].id === actionId) { + if (typeof menu.actions[i].callback === 'function' && menu.actions[i].getActivated()) { + menu.actions[i].callback(menu.actions[i], event); + } + return menu.actions[i]; + } + } + for (let i = 0, n = menu.submenus.length; i < n; i++) { + if (menu.submenus[i].click(actionId, event)) { + return menu.submenus[i]; + } + } + } + return null; + }; + } + + /** @protected */ + renderAction(action) { + let aElement = document.createElement("a"); + if (typeof action.callback === 'string') { + aElement.href = action.callback; + } + + if (Helper.isNotNull(action.getIcon())) { + let iconElement = document.createElement("img"); + iconElement.src = action.getIcon(); + iconElement.classList.add('action-image'); + if (action.getShouldTranslate()) + { + iconElement.dataset["translationTitle"] = action.title; + } + aElement.appendChild(iconElement); + } + let title = action.getTitle(); + if (action.getShouldTranslate()) + { + title = Translator.makePersistentTranslation(title); + } + else + { + title = document.createTextNode(title); + } + aElement.appendChild(title); + + return this.renderLiElement(aElement, action) + } + + /** @protected */ + renderLiElement(aElement, action) { + let liElement = document.createElement("li"); + liElement.classList.add('action'); + liElement.appendChild(aElement); + liElement.dataset["id"] = action.id; + if (Helper.isNotNull(action.getIcon())) { + liElement.classList.add("img"); + } + + if (!action.getVisible()) + { + liElement.classList.add("hidden"); + } + + if (action instanceof OpenSubmenuAction) { + action.getSubmenu().draw(); + liElement.appendChild(action.getSubmenu().getParentElement()); + liElement.classList.add("is-dropdown-submenu-parent"); + liElement.classList.add("opens-right"); + } + return liElement; + } + + /** @private */ + sortActions() { + this.actions = this.actions.sort(function (first, second) { + return first.order - second.order; + }); + } + + _getElementsForAction(action){ + let elements = []; + for (let i = 0; i < this.parentElements.length; i++) { + let elem = this.parentElements[i].querySelector("[data-id=\""+action.getId()+"\"]"); + Helper.isNull(elem) || elements.push(elem); + } + return elements + } + + updateAction(action) + { + console.log("update action here!"); + let oldElements = this._getElementsForAction(action); + if (oldElements.length === 0) + { + return; + } + + let element = this.renderAction(action); + action._htmlElement = element; + + for (let i = 0; i < oldElements.length; i++) { + oldElements[i].replaceWith(Helper.cloneNode(element)); + } + } + + removeAction(action) + { + let index = this.actions.indexOf(action); + if (index > 0) + { + this.actions.splice(index, 1); + let oldElements = this._getElementsForAction(action); + for (let i = 0, n = oldElements.length; i < n; i++) { + oldElements[i].remove(); + } + if (action instanceof OpenSubmenuAction) { + let index = this.submenus.indexOf(action.getSubmenu()); + this.submenus.splice(index, 1); + } + } + } + + redraw() { + this.draw(); + } +} + +Menu.SHOW_ALWAYS = "always"; +Menu.SHOW_FOR_MEDIUM = "medium"; +Menu.SHOW_FOR_SMEDIUM = "smedium"; +Menu.SHOW_FOR_LARGE = "large"; +Menu.SHOW_NEVER = "never"; + +class Submenu extends Menu +{ + constructor() + { + let menuElement = document.createElement("ul"); + menuElement.classList.add("menu"); + menuElement.classList.add("vertical"); + menuElement.classList.add("submenu"); + menuElement.classList.add("is-dropdown-submenu"); + menuElement.classList.add("first-sub"); + super(menuElement); + + this.parentAction = null; + this.isOpen = false; + } + + + + copy(instance) + { + instance = super.copy(Helper.nonNull(instance, new Submenu())); + instance.parentElements = []; + for (let i = 0, n = this.parentElements.length; i < n; i++) { + instance.parentElements.push(Helper.cloneNode(this.parentElements[i])); + } + instance.parentAction = this.parentAction; + instance.isOpen = this.isOpen; + return instance; + } + + setParentAction(action) + { + this.parentAction = action; + } + + draw() + { + super.draw(); + if (Helper.isNotNull(this.parentElements)) + { + let self = this; + for (let i = 0; i < this.parentElements.length; i++) { + let closeListener = document.createElement("div"); + closeListener.classList.add("close-listener"); + closeListener.onclick = function(e){ + console.log(e); + self.close(); + }; + this.parentElements[i].insertBefore(closeListener, this.parentElements[i].firstElementChild); + } + } + } + + getParentElement() + { + return this.parentElements[0]; + } + + _getOnClickListener() + { + return function () {}; + } + + click(actionId, event) + { + for (let i = 0, n = this.actions.length; i < n; i++) { + if (this.actions[i].id === actionId) + { + if (typeof this.actions[i].callback === 'function' && this.actions[i].getActivated()) { + this.actions[i].callback(this.actions[i], event); + } + this.close(); + return true; + } + } + return false; + } + + toggle() + { + if (this.isOpen) + { + this.close(); + } + else + { + this.open(); + } + } + + open() + { + this.isOpen = true; + for (let i = 0, n = this.parentElements.length; i < n; i++) { + this.parentElements[i].classList.add("js-dropdown-active"); + } + if (Helper.isNotNull(this.parentAction)) + { + this.parentAction.redraw(); + } + } + close() + { + this.isOpen = false; + for (let i = 0, n = this.parentElements.length; i < n; i++) { + this.parentElements[i].classList.remove("js-dropdown-active"); + } + if (Helper.isNotNull(this.parentAction)) + { + this.parentAction.redraw(); + } + } +} + +class TranslatorDB { + constructor() { + this._indexedDB = indexedDB || mozIndexedDB || webkitIndexedDB || msIndexedDB; + this._version = 3; + + let self = this; + this._dbPromise = new Promise(function (resolve, reject) { + let request = self._indexedDB.open("Translator", self._version); + request.onupgradeneeded = function (event) { + let db = event.target.result; + self._upgradeDb(db); + }; + request.onsuccess = function (event) { + let db = event.target.result; + resolve(db); + }; + request.onerror = function (event) { + reject(event); + }; + }).catch(function(e){ + console.error(e); + }); + } + + _upgradeDb(db) { + try { + db.deleteObjectStore("currentLang"); + db.deleteObjectStore("translations"); + } + catch (e) { + console.warn(e); + } + let currentLangObjectStore = db.createObjectStore("currentLang", {"keyPath": "id"}); + let translationsObjectStore = db.createObjectStore("translations", {"keyPath": ["lang","key"]}); + translationsObjectStore.createIndex("lang", "lang", {"unique": false}); + } + + setLanguage(lang) { + this._dbPromise.then(function (db) { + let transaction = TranslatorDB._openTransaction(["currentLang"], "readwrite", db); + let currentLangObjectStore = transaction.objectStore("currentLang"); + currentLangObjectStore.put({"id": 1, "lang": lang}); + }).catch(function(e){ + console.error(e); + }); + } + + saveTranslationsForLang(lang, translations) { + return this._dbPromise.then(function (db) { + return new Promise(function (resolve) { + let transaction = TranslatorDB._openTransaction(["translations"], "readwrite", db); + let translationsObjectStore = transaction.objectStore("translations"); + for (let k in translations) { + translationsObjectStore.put({"lang": lang, "key": k, "translation": translations[k]}); + } + transaction.oncomplete = function () { + resolve(); + }; + }); + }).catch(function(e){ + // console.error(e); + }); + } + + loadTranslationsForLang(lang) { + return this._dbPromise.then(function (db) { + return new Promise(function (resolve) { + let transaction = TranslatorDB._openTransaction(["translations"], "readonly", db); + let translationsObjectStore = transaction.objectStore("translations"); + let index = translationsObjectStore.index("lang"); + let request = index.openCursor(IDBKeyRange.only(lang)); + + let translations = {}; + request.onsuccess = function (e) { + let cursor = e.target.result; + if (cursor) { + + let translation = cursor.value; + translations[translation["key"]] = translation["translation"]; + cursor.continue(); + } + }; + transaction.oncomplete = function(){ + resolve(translations); + }; + }); + }).catch(function(e){ + console.error(e); + return {}; + }); + } + + getLanguage() { + return this._dbPromise.then(function (db) { + return new Promise(function (resolve) { + let transaction = TranslatorDB._openTransaction(["currentLang"], "readonly", db); + let currentLangObjectStore = transaction.objectStore("currentLang"); + let req = currentLangObjectStore.get(1); + req.onsuccess = function (e) { + let data = e.currentTarget.result; + if (data) + { + resolve(data["lang"]); + } + else + { + resolve(null); + } + }; + req.onerror = function (e) { + resolve(null); + }; + }); + }).catch(function(e){ + // console.error(e); + }); + } + + static _openTransaction(name, transactionMode, db) { + let transaction = null; + try { + transaction = db.transaction(name, transactionMode); + } + catch (e) { + console.warn(e); + transaction = db.transaction(name); + } + return transaction; + } +} + +class Translator { + constructor() { + this._translations = []; + this._db = new TranslatorDB(); + this._currentLanguage = null; + this._supportedLanguages = Translator.supportedLanguages; + this._baseLanguage = Translator.baseLanguage; + this._languageBasePath = Translator.languageBasePath; + this._markUntranslatedTranslations = Translator.markUntranslatedTranslations; + this._markTranslations = Translator.markTranslations; + + let self = this; + this._initPromise = this.loadBaseLanguage().then(function () { + return self.loadUserLanguage(); + }); + } + + _loadLanguage(language) { + let self = this; + return fetch(Helper.basePath(this._languageBasePath + language + ".json")).then(function (result) { + return result.json(); + }).then(function (res) { + self._translations[language] = Object.assign(res, self._translations[language]); + self._db.saveTranslationsForLang(language, self._translations[language]); + }).catch(function (err) { + console.error("could not load lang " + language + " because of error: ", err); + }); + } + + loadBaseLanguage() { + let self = this; + return this._loadLanguage(this._baseLanguage).then(function () { + self._currentLanguage = self._baseLanguage; + if (typeof document !== 'undefined') { + document.getElementsByTagName("html")[0].setAttribute("lang", self._baseLanguage); + } + }); + }; + + static setLanguage(language) { + let instance = Translator.getInstance(); + if (instance) { + return instance.setLanguage(language); + } + } + + setLanguage(language) { + if (this._currentLanguage === language) { + this.updateTranslations(); + return Promise.resolve(); + } + + if (this._supportedLanguages.indexOf(language) === -1) { + return Promise.resolve(); + } + + this._currentLanguage = language; + if (typeof localStorage !== 'undefined') { + localStorage.setItem("language", language); + } + this._db.setLanguage(language); + + let self = this; + return this._loadLanguage(language).then(function () { + if (typeof document !== 'undefined') { + document.getElementsByTagName("html")[0].setAttribute("lang", language); + } + self.updateTranslations(); + }); + } + + static translate(key, args) { + let instance = Translator.getInstance(); + if (instance) { + return instance.translate(key, args); + } + return ""; + } + + translate(key, args) { + if (typeof key === 'object' && Helper.isNotNull(key)) { + key = this.addDynamicTranslation(key); + } + + let translation = null; + if (Helper.isNotNull(this._translations[this._currentLanguage]) && Helper.isNotNull(this._translations[this._currentLanguage][key])) { + translation = this._translations[this._currentLanguage][key]; + } + + if (Helper.isNull(translation)) { + if (Translator.logMissingTranslations) { + console.warn("missing translation for language " + this._currentLanguage + " and key " + key); + } + if (Helper.isNotNull(this._translations[this._baseLanguage])) { + translation = this._translations[this._baseLanguage][key]; + } + + if (Helper.isNull(translation)) { + if (Translator.logMissingTranslations) { + console.error("missing base translation for key " + key + ". FIX IT"); + } + translation = key; + } + if (this._markUntranslatedTranslations) { + translation = ">>" + translation + "<<"; + } + } + + if (this._markTranslations) { + translation = "$" + translation + "$"; + } + + if (args !== undefined) { + translation = translation.format(args); + } + + return translation; + } + + static addDynamicTranslation(trans) { + let instance = Translator.getInstance(); + if (instance) { + return instance.addDynamicTranslation(trans); + } + } + + addDynamicTranslation(trans) { + let key = trans["key"]; + delete trans["key"]; + for (let lang in trans) { + if (trans.hasOwnProperty(lang)) { + if (Helper.isNull(this._translations[lang])) { + this._translations[lang] = {}; + } + this._translations[lang][key] = trans[lang]; + } + } + return key; + } + + updateTranslations() { + if (typeof document !== 'undefined') { + let elements = document.querySelectorAll("[data-translation]"); + for (let i = 0, max = elements.length; i < max; i++) { + if (elements[i].dataset["translation"] != "") { + try { + elements[i].innerHTML = this.translate(elements[i].dataset["translation"], (elements[i].dataset["translationArgs"] !== undefined) ? JSON.parse(elements[i].dataset["translationArgs"]) : undefined); + } + catch (err) { + console.error("wrong configured translation: " + err); + } + } + for (let k in elements[i].dataset) { + if (k.startsWith("translation") && !k.endsWith("Args")) { + try { + elements[i][k.substr(11).toLowerCase()] = this.translate(elements[i].dataset[k], (elements[i].dataset[k + "Args"] !== undefined) ? JSON.parse(elements[i].dataset[k + "Args"]) : undefined); + } + catch (err) { + console.error("wrong configured translation: " + err); + } + } + } + } + } + } + + loadUserLanguage() { + let userLanguage = localStorage.getItem("language"); + if (Helper.isNull(userLanguage) || this._supportedLanguages.indexOf(userLanguage) === -1) { + let userLanguages = []; + if (Helper.isNotNull(navigator.languages)) { + userLanguages = navigator.languages.slice(0); //.slice(0) klont das Array. Behebt einen Bug in Firefox + } + + if (navigator.language !== undefined) { + userLanguages.push(navigator.language); + } + //sicherstellen, dass überhaupt eine Sprache gefunden wird + userLanguages.push(this._baseLanguage); + + if (userLanguages !== undefined) { + for (let i = 0, numLanguages = userLanguages.length; i < numLanguages; i++) { + if (this._supportedLanguages.indexOf(userLanguages[i]) !== -1) { + userLanguage = userLanguages[i]; + break; + } + } + } + } + return this.setLanguage(userLanguage.toLowerCase()) + } + + static makePersistentTranslation(key, args, tag) { + tag = Helper.nonNull(tag, "span"); + if (typeof key === 'object') { + key = Translator.addDynamicTranslation(key); + } + + if (typeof document !== 'undefined') { + let htmlElem = document.createElement(tag); + htmlElem.dataset["translation"] = key; + if (args !== undefined) { + htmlElem.dataset["translationArgs"] = JSON.stringify(args); + } + htmlElem.innerHTML = Translator.translate(key, args); + return htmlElem; + } + } + + static generateChangeLanguageMenuAction() { + let submenu = new Submenu(); + submenu.addAction(new MenuAction("en", function () { + Translator.getInstance().setLanguage("en"); + })); + submenu.addAction(new MenuAction("de", function () { + Translator.getInstance().setLanguage("de"); + })); + return new OpenSubmenuAction("current-lang", submenu, Menu.SHOW_ALWAYS) + } + + static init() { + Translator.instance = new Translator(); + // Translator.loadBaseLanguage().then(function () { + // Translator.loadUserLanguage(); + // }); + } + + static getInstance() { + return Translator.instance; + } +} +Translator.logMissingTranslations = false; + +Translator.instance = null; + +Translator.baseLanguage = "en"; +Translator.supportedLanguages = [ + "de", + "en" +]; +Translator.markUntranslatedTranslations = true; +Translator.markTranslations = false; +Translator.languageBasePath = "js/lang/"; +Translator.currentLanguage = null; +Translator.translations = {}; + +class Helper { + static init() { + Helper.heightMmToPxFactor = null; + Helper.widthMmToPxFactor = null; + } + + static includesNot(array, value, fromIndex) { + return -1 === array.indexOf(value, fromIndex); + } + + static includes(array, value, fromIndex) { + return !Helper.includesNot(array, value, fromIndex); + } + + static isSet() { + if (arguments.length > 0) { + const object = arguments[0]; + let keys = Array.prototype.slice.call(arguments, 1); + return (Helper.isNotNull(object) && (keys.length === 0 || Helper.isSet.apply(null, [object[keys[0]]].concat(keys.slice(1))))); + } + return false; + } + + static isNull(variable) { + return (variable === null || variable === undefined); + } + + static isNotNull(variable) { + return !Helper.isNull(variable); + } + + static nonNull(val1, val2) { + if (Helper.isNotNull(val1)) { + return val1; + } + return val2; + } + + static notEmpty(value) { + return !Helper.empty(value); + } + + static buildQuery(values) { + let queryStrings = []; + for (let k in values) { + queryStrings.push(encodeURIComponent(k) + "=" + encodeURIComponent(values[k])); + } + return "?" + queryStrings.join("&"); + } + + static empty(value) { + return (Helper.isNull(value) || (typeof value === 'string' && value.trim() === "")) + } + + static inflateElementsFromString(string) { + let template = document.createElement('template'); + template.innerHTML = string; + return template.content.childNodes; + } + + static createLoadingSymbol() { + let svgNS = "http://www.w3.org/2000/svg"; + + let loader = document.createElement("div"); + loader.className = 'loader'; + + let svg = document.createElementNS(svgNS, "svg"); + svg.setAttribute('viewBox', "0 0 32 32"); + svg.setAttribute("widh", "32"); + svg.setAttribute("height", "32"); + + let circle = document.createElementNS(svgNS, "circle"); + circle.setAttribute("id", "spinner"); + circle.setAttribute("cx", "16"); + circle.setAttribute("cy", "16"); + circle.setAttribute("r", "14"); + circle.setAttribute("fill", "none"); + + svg.appendChild(circle); + loader.appendChild(svg); + + return loader; + } + + static basePath(url) { + return SystemSettings.getBasePath() + url; + } + + static isMobileApple() { + return navigator.userAgent.match(/iPhone|iPad|iPod/i); + } + + static isMobile() { + return (navigator.userAgent.match(/Android|BlackBerry|Opera Mini|IEMobile/i) !== null || Helper.isMobileApple() || (typeof window.orientation !== "undefined" || window.orientation === false || window.orientation === null)); + } + + static select(e) { + let range = document.createRange(); + range.selectNodeContents(e); + let sel = window.getSelection(); + sel.removeAllRanges(); + sel.addRange(range); + } + + static format(number, leadingZeros) { + number = "" + number; + while (number.length < leadingZeros) { + number = "0" + number; + } + return number; + } + + static cloneNode(srcNode) { + let destNode = srcNode.cloneNode(true); + destNode.onclick = srcNode.onclick; + return destNode; + } + + static encodeToBase(stringToEncode, base) { + let encodedString = ""; + let charlength = Math.floor(Math.log(265) / Math.log(base)); + for (let i = 0; i < stringToEncode.length; i++) { + let value = stringToEncode.charCodeAt(i).toString(base); + let joinLength = value.length % charlength; + if (joinLength > 0) { + let joinArray = new Array(charlength + 1 - (joinLength)); //+1, da join nur zwischen elemente einfügt + value = joinArray.join("0") + value; + } + encodedString += value; + } + return encodedString; + } + + static decodeToBase(stringToDecode, base) { + let charlength = Math.floor(Math.log(265) / Math.log(base)); + let values = stringToDecode.match(new RegExp(".{1," + charlength + "}", "g")) || []; + let encodedString = ""; + for (let i = 0, n = values.length; i < n; i++) { + encodedString += String.fromCharCode(parseInt(values[i], base)); + } + return encodedString; + } + + static toggleVisibility(elem) { + if (elem.style.display === "none") { + elem.style.display = ""; + return true; + } + else { + elem.style.display = "none"; + return false; + } + } + + static print(content) { + let printContent = document.getElementById("print-content"); + if (content instanceof Element) { + printContent.removeAllChildren(); + printContent.appendChild(content); + } + else { + printContent.innerHTML = content; + } + window.print(); + } + + static strftime(sFormat, date, useUTC) { + if (!(date instanceof Date)) date = new Date(date); + useUTC = Helper.nonNull(useUTC, false); + let nDay = (useUTC) ? date.getUTCDay() : date.getDay(), + nDate = (useUTC) ? date.getUTCDate() : date.getDate(), + nMonth = (useUTC) ? date.getUTCMonth() : date.getMonth(), + nYear = (useUTC) ? date.getUTCFullYear() : date.getFullYear(), + nHour = (useUTC) ? date.getUTCHours() : date.getHours(), + aDays = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + aMonths = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + aDayCount = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334], + isLeapYear = function () { + if ((nYear & 3) !== 0) return false; + return nYear % 100 !== 0 || nYear % 400 === 0; + }, + getThursday = function () { + let target = new Date(date); + target.setDate(nDate - ((nDay + 6) % 7) + 3); + return target; + }, + zeroPad = function (nNum, nPad) { + return ('' + (Math.pow(10, nPad) + nNum)).slice(1); + }; + + return sFormat.replace(/%[a-z]/gi, function (sMatch) { + return { + '%a': Translator.makePersistentTranslation(aDays[nDay].slice(0, 3)).outerHTML, + '%A': Translator.makePersistentTranslation(aDays[nDay]).outerHTML, + '%b': Translator.makePersistentTranslation(aMonths[nMonth].slice(0, 3)).outerHTML, + '%B': Translator.makePersistentTranslation(aMonths[nMonth]).outerHTML, + '%c': date.toUTCString(), + '%C': Math.floor(nYear / 100), + '%d': zeroPad(nDate, 2), + '%e': nDate, + '%f': zeroPad(date.getTime() % 1000, 4), + '%F': date.toISOString().slice(0, 10), + '%G': getThursday().getFullYear(), + '%g': ('' + getThursday().getFullYear()).slice(2), + '%H': zeroPad(nHour, 2), + '%I': zeroPad((nHour + 11) % 12 + 1, 2), + '%j': zeroPad(aDayCount[nMonth] + nDate + ((nMonth > 1 && isLeapYear()) ? 1 : 0), 3), + '%k': '' + nHour, + '%l': (nHour + 11) % 12 + 1, + '%m': zeroPad(nMonth + 1, 2), + '%M': zeroPad(date.getMinutes(), 2), + '%p': (nHour < 12) ? 'AM' : 'PM', + '%P': (nHour < 12) ? 'am' : 'pm', + '%s': Math.round(date.getTime() / 1000), + '%S': zeroPad(date.getSeconds(), 2), + '%u': nDay || 7, + '%V': (function () { + let target = getThursday(), + n1stThu = target.valueOf(); + target.setMonth(0, 1); + let nJan1 = target.getDay(); + if (nJan1 !== 4) target.setMonth(0, 1 + ((4 - nJan1) + 7) % 7); + return zeroPad(1 + Math.ceil((n1stThu - target) / 604800000), 2); + })(), + '%w': '' + nDay, + '%x': date.toLocaleDateString(), + '%X': date.toLocaleTimeString(), + '%y': ('' + nYear).slice(2), + '%Y': nYear, + '%z': date.toTimeString().replace(/.+GMT([+-]\d+).+/, '$1'), + '%Z': date.toTimeString().replace(/.+\((.+?)\)$/, '$1') + }[sMatch] || sMatch; + }); + } + + static cloneJson(obj) { + // https://stackoverflow.com/questions/4120475/how-to-create-and-clone-a-json-object/17502990#17502990 + let i; + + // basic type deep copy + if (Helper.isNull(obj) || typeof obj !== 'object') { + return obj + } + // array deep copy + if (obj instanceof Array) { + let cloneA = []; + for (i = 0; i < obj.length; ++i) { + cloneA[i] = Helper.cloneJson(obj[i]); + } + return cloneA; + } + if (obj instanceof Date) + { + return new Date(obj.getTime()); + } + // object deep copy + let cloneO = {}; + for (i in obj) { + cloneO[i] = Helper.cloneJson(obj[i]); + } + return cloneO; + } + + static htmlspecialcharsDecode(text) { + const map = { + '&': '&', + '&': "&", + '<': '<', + '>': '>', + '"': '"', + ''': "'", + '’': "’", + '‘': "‘", + '–': "–", + '—': "—", + '…': "…", + '”': '”' + }; + + if (Helper.isNotNull(text) && typeof text.replace === "function") { + return text.replace(/\&[\w\d\#]{2,5}\;/g, function (m) { + return map[m]; + }); + } + return text; + } + + static formDataFromObject(obj) { + let formData = new FormData(); + for (let k in obj) { + formData.set(k, obj[k]); + } + return formData; + } + + static scaleContentRecursive(element, content) { + + let elementStyle = window.getComputedStyle(element); + let contentStyle = window.getComputedStyle(content); + + if (contentStyle.height > elementStyle.height || contentStyle.width > elementStyle.width) { + return Helper.scaleDownContentRecursive(element, content); + } + } + + static scaleDownContentRecursive(element, content) { + Helper.convertChildrenToRelativeRecursive(element); + + let elementStyle = window.getComputedStyle(element); + let contentStyle = window.getComputedStyle(content); + + let runs = 0; + let fontSize = parseFloat(contentStyle.getPropertyValue("font-size")); + let width = contentStyle.width; + let height = contentStyle.height; + while (contentStyle.height > elementStyle.height || contentStyle.width > elementStyle.width) { + fontSize *= 0.95; + + if (height > elementStyle.height) { + height *= 0.95; + } + if (width > contentStyle.width) { + width *= 0.95; + } + content.style["font-size"] = fontSize + "px"; + content.style["max-height"] = height + "px"; + content.style["max-width"] = width + "px"; + + runs++; + if (runs > 2000) { + console.log("breaked"); + break; + } + } + Helper.convertToRelative(content); + + contentStyle = window.getComputedStyle(content); + content.style["font-size"] = (parseFloat(contentStyle.getPropertyValue("font-size")) / parseFloat(document.documentElement.clientHeight) * 100) + "vh"; + } + + static convertChildrenToRelativeRecursive(element) { + let children = element.childNodes; + for (let i = 0, n = children.length; i < n; i++) { + if (children[i] instanceof Element) { + Helper.convertToRelative(children[i]); + Helper.convertChildrenToRelativeRecursive(children[i]); + } + } + } + + static convertToRelative(element) { + let hasTransitionClass = (element.classList.contains("no-transtition")); + + element.classList.add("no-transition"); + + let parent = element.parentNode; + + console.log(element); + let elementStyle = window.getComputedStyle(element); + let parentStyle = window.getComputedStyle(parent); + + let fontSize = parseFloat(elementStyle.getPropertyValue("font-size")) / parseFloat(parentStyle.getPropertyValue("font-size")); + + let maxHeight = elementStyle.height; + let maxWidth = elementStyle.width; + + let pHeight = parentStyle.height; + let pWidth = parentStyle.width; + + let relativeAttributes = element.style; + relativeAttributes['max-height'] = Math.floor(maxHeight / pHeight * 100) + "%"; + relativeAttributes['margin-left'] = Math.floor(parseFloat(elementStyle.getPropertyValue('margin-left')) / pWidth * 100) + "%"; + relativeAttributes['margin-right'] = Math.floor(parseFloat(elementStyle.getPropertyValue('margin-right')) / pWidth * 100) + "%"; + relativeAttributes['margin-top'] = Math.floor(parseFloat(elementStyle.getPropertyValue('margin-top')) / pHeight * 100) + "%"; + relativeAttributes['margin-bottom'] = Math.floor(parseFloat(elementStyle.getPropertyValue('margin-bottom')) / pHeight * 100) + "%"; + relativeAttributes['max-width'] = Math.floor(maxWidth / pWidth * 100) + "%"; + relativeAttributes["font-size"] = fontSize + "em"; + // console.log(relativeAttributes); + // element.css(relativeAttributes); + + if (!hasTransitionClass) { + element.classList.remove("no-transition"); + } + } + + static isChrome() { + let isChromium = window.chrome, + winNav = window.navigator, + vendorName = winNav.vendor, + isOpera = winNav.userAgent.indexOf("OPR") > -1, + isIEedge = winNav.userAgent.indexOf("Edge") > -1, + isIOSChrome = winNav.userAgent.match("CriOS"); + + if (isIOSChrome) { + return true; + } else { + return isChromium !== null && + typeof isChromium !== "undefined" && + vendorName === "Google Inc." && + isOpera === false && + isIEedge === false; + } + } + + static getIndexedObject(array, keyValue) { + let obj = {}; + for (let i = 0, n = array.length; i < n; i++) { + obj[array[i][keyValue]] = array[i]; + } + return obj; + } + + static invertKeyValues(obj) { + let new_obj = {}; + + for (let prop in obj) { + if (obj.hasOwnProperty(prop)) { + new_obj[obj[prop]] = prop; + } + } + + return new_obj; + } + + static toArray(object) { + let res = []; + for (let k in object) { + res.push(object[k]); + } + return res; + } +} +Helper.init(); + +class ThemeManager { + static init() { + ThemeManager.loadCurrentTheme(); + } + + static changeCurrentTheme(newTheme) { + let theme = null; + if (typeof newTheme === 'string') { + let themes = ThemeManager.themes.filter(function (theme) { + return theme._name === newTheme; + }); + if (themes.length > 0) { + theme = themes[0]; + } + } + else if (ThemeManager.themes.indexOf(newTheme) !== -1) { + theme = newTheme; + } + if (Helper.isNotNull(theme)) { + localStorage.setItem("currentTheme", theme._name); + let themePromise = new Promise(function (resolve) { + document.querySelector("nav.top-bar").addEventListener("transitionend", function(){ + resolve(); + }); + }); + document.body.className = theme._className; + ThemeManager.currentTheme = theme; + for (let i = 0, n = ThemeManager.changeListeners.length; i < n; i++) { + ThemeManager.changeListeners[i](ThemeManager.currentTheme, themePromise); + } + } + } + + static addTheme(theme) { + ThemeManager.themes.push(theme); + } + + static loadCurrentTheme() { + ThemeManager.changeCurrentTheme(localStorage.getItem("currentTheme")); + if (Helper.isNull(ThemeManager.currentTheme)) { + let className = document.body.className; + let themes = ThemeManager.themes.filter(function (theme) { + return theme._className === className; + }); + if (themes.length > 0) { + ThemeManager.changeCurrentTheme(themes[0]); + } + else if (ThemeManager.themes.length > 0) { + ThemeManager.changeCurrentTheme(ThemeManager.themes[0]); + } + } + } + + static generateChangeThemeMenuAction() { + return new MenuAction(ThemeManager.currentTheme._name, function (action) { + let currentThemeIndex = ThemeManager.themes.indexOf(ThemeManager.currentTheme); + let nextIndex = (currentThemeIndex + 1) % ThemeManager.themes.length; + ThemeManager.changeCurrentTheme(ThemeManager.themes[nextIndex]); + action.title = ThemeManager.currentTheme._name; + action._menu.redraw(); + }, Menu.SHOW_ALWAYS) + } + + static addChangeListener(listener) { + ThemeManager.changeListeners.push(listener); + } +} + +ThemeManager.themes = []; +ThemeManager.changeListeners = []; + +class CookieCompliance { + constructor(cookieContainerId) { + this.cookieContainerId = cookieContainerId; + this.dropCookie = true; + this.cookieDuration = 365 * 10; + this.cookieName = 'complianceCookie'; + this.cookieValue = 'true'; + } + + showIfNeeded() + { + if (CookieCompliance.checkCookie(this.cookieName) !== this.cookieValue) { + this.show(); + } + } + + removeMe() { + this.createCookie(this.cookieName, this.cookieValue, this.cookieDuration); + } + + createCookie(name, value, days) { + let expires; + if (Helper.isNotNull(days)) { + const date = new Date(); + date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); + expires = "; expires=" + date.toGMTString(); + } + else { + expires = ""; + } + if (this.dropCookie) { + document.cookie = name + "=" + value + expires + "; path=/"; + } + } + + eraseCookie(name) { + this.createCookie(name, "", -1); + } + + static checkCookie(name) { + const nameEQ = name + "="; + const cookies = document.cookie.split(';'); + for (let i = 0; i < cookies.length; i++) { + let c = cookies[i]; + while (c.charAt(0) === ' ') { + c = c.substring(1, c.length); + } + if (c.indexOf(nameEQ) === 0) { + return c.substring(nameEQ.length, c.length); + } + } + return null; + } + + show() { + let cookieCompliance = this; + const cookieMessage = document.getElementById(this.cookieContainerId); + cookieMessage.style.display='block'; + cookieMessage.querySelector("#close-cookie-msg").onclick = function(){ + cookieCompliance.removeMe(); + cookieMessage.remove(); + }; + + } +} + +class ActionBarMenu extends Menu { + static init() { + function parseStyleToObject(str) { + let styleObject = {}; + + if (typeof str !== 'string') { + return styleObject; + } + + str = str.trim().slice(1, -1); // browsers re-quote string style values + + if (!str) { + return styleObject; + } + + styleObject = str.split('&').reduce(function (ret, param) { + const parts = param.replace(/\+/g, ' ').split('='); + let key = parts[0]; + let val = parts[1]; + key = decodeURIComponent(key); + + // missing `=` should be `null`: + // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters + val = val === undefined ? null : decodeURIComponent(val); + + if (!ret.hasOwnProperty(key)) { + ret[key] = val; + } else if (Array.isArray(ret[key])) { + ret[key].push(val); + } else { + ret[key] = [ret[key], val]; + } + return ret; + }, {}); + + return styleObject; + } + + let cssStyle = document.getElementsByClassName('foundation-mq'); + if (cssStyle.length === 0) { + return; + } + let queries = []; + cssStyle = parseStyleToObject(window.getComputedStyle(cssStyle[0]).getPropertyValue('font-family')); + for (let key in cssStyle) { + if (cssStyle.hasOwnProperty(key)) { + queries.push({ + _name: key, + value: 'only screen and (min-width: ' + cssStyle[key] + ')' + }); + } + } + + window.addEventListener('resize', function () { + if (Helper.isNotNull(ActionBarMenu.currentMenu)) { + ActionBarMenu.currentMenu.updateToggleButton(); + } + }); + let responsiveMenu = document.getElementById("responsive-menu"); + document.getElementById("responsive-menu-toggle").onclick = function () { + if (window.getComputedStyle(responsiveMenu).getPropertyValue('display') === 'none') { + responsiveMenu.style.display = 'block'; + } + else if (Helper.isNotNull(ActionBarMenu.currentMenu)) { + ActionBarMenu.currentMenu.close(); + + } + }; + responsiveMenu.firstElementChild.addEventListener("click", function (e) { + if (e.target === responsiveMenu.firstElementChild && Helper.isNotNull(ActionBarMenu.currentMenu)) { + ActionBarMenu.currentMenu.close(); + } + } + ); + ActionBarMenu.queries = queries; + } + + static _getCurrentSize() { + let matched; + + for (let i = 0; i < ActionBarMenu.queries.length; i++) { + let query = ActionBarMenu.queries[i]; + + if (matchMedia(query.value).matches) { + matched = query; + } + } + + if (typeof matched === 'object') { + return matched._name; + } else { + return matched; + } + } + + static filterVisibleElements(elements) { + let visibleElements = []; + for (let i = 0, n = elements.length; i < n; i++) { + if (!elements[i].classList.contains("hidden")) { + visibleElements.push(elements[i]); + } + } + return visibleElements; + } + + renderLiElement(aElement, action) { + let liElement = super.renderLiElement(aElement, action); + liElement.classList.add(action.getShowFor()); + return liElement; + } + + updateToggleButton() { + let size = ActionBarMenu._getCurrentSize(); + let firstParentElement = this.parentElements[0]; + if ((size === "medium" || size === "smedium" || size === "small") && ActionBarMenu.filterVisibleElements(firstParentElement.getElementsByClassName(Menu.SHOW_FOR_LARGE)).length > 0 || + (size === "smedium" || size === "small") && ActionBarMenu.filterVisibleElements(firstParentElement.getElementsByClassName(Menu.SHOW_FOR_MEDIUM)).length > 0 || + (size === "small") && ActionBarMenu.filterVisibleElements(firstParentElement.getElementsByClassName(Menu.SHOW_FOR_SMEDIUM)).length > 0 || + ActionBarMenu.filterVisibleElements(firstParentElement.getElementsByClassName(Menu.SHOW_NEVER)).length > 0) { + document.getElementById("responsive-menu-toggle").style.display = 'block'; + } else { + document.getElementById("responsive-menu-toggle").style.display = 'none'; + if (Helper.isNotNull(ActionBarMenu.currentMenu)) { + ActionBarMenu.currentMenu.close(); + } + } + } + + _getOnClickListener() { + let superListener = super._getOnClickListener(); + return function (event) { + let action = superListener(event); + if (!(action instanceof OpenSubmenuAction) && Helper.isNotNull(ActionBarMenu.currentMenu)) { + ActionBarMenu.currentMenu.close(); + } + } + } + + draw(parentElement) { + let returnValue = super.draw(parentElement); + this.updateToggleButton(); + + ActionBarMenu.currentMenu = this; + return returnValue; + } + + close() { + document.getElementById("responsive-menu").style.display = 'none'; + for (let i = 0, n = this.submenus.length; i < n; i++) { + this.submenus[i].close(); + } + } + + removeAction(action) { + let res = super.removeAction(action); + this.updateToggleButton(); + return res; + } +} + +ActionBarMenu.queries = []; +ActionBarMenu.currentMenu = null; +ActionBarMenu.init(); + +class ViewInflater { + static inflate(viewUrl, parentUrls) { + parentUrls = Helper.nonNull(parentUrls, []).slice(0); + + let resultPromise = Promise.resolve(); + if (viewUrl instanceof Element) { + resultPromise = Promise.resolve(viewUrl); + } + else { + if (parentUrls.indexOf(viewUrl) !== -1) { + return Promise.reject("views are in a circuit! cannot resolve view for url " + parentUrls[0] + "! url " + viewUrl + " is in stack before!"); + } + parentUrls.push(viewUrl); + resultPromise = fetch(Helper.basePath(viewUrl), {credentials: "same-origin"}).then(function (result) { + return result.text(); + }).then(function (htmlText) { + let doc = (new DOMParser()).parseFromString(htmlText, "text/html"); + if (Helper.isNull(doc)) { + doc = document.implementation.createHTMLDocument(''); + doc.body.innerHTML = htmlText; + } + return doc.body.firstChild + }); + } + + return resultPromise.then(function (parentElement) { + let promises = []; + let childViews = parentElement.querySelectorAll("[data-view]"); + + for (let i = 0, n = childViews.length; i < n; i++) { + promises.push(ViewInflater.inflate(childViews[i].dataset["view"], parentUrls).then(function (element) { + childViews[i].replaceWith(element); + })); + } + return Promise.all(promises).then(function () { + return parentElement; + }); + }); + } +} + +class Context { + constructor(view) { + let self = this; + this._siteContent = null; + this.firstStart = true; + this.inflatePromise = new Promise(function (resolver) { + self.inflatePromiseResolver = resolver; + }); + this.fragments = {}; + + if (Helper.isNotNull(view)) { + this.inflateView(view); + } + } + + onConstruct() { + let results = []; + for (let k in this.fragments) { + results.push(this.fragments[k].onConstruct.apply(this.fragments[k], arguments)); + results.push(this.fragments[k].inflatePromise); + } + return Promise.all(results); + } + + onStart() { + if (this.firstStart) { + this.onFirstStart(); + this.firstStart = false; + } + + for (let k in this.fragments) { + let fragment = this.fragments[k]; + fragment.onStart.apply(this.fragments[k], arguments); + this.fragments[k].inflatePromise.then(function (fragmentView) { + if (fragment.isActive()) { + fragmentView.classList.remove("hidden"); + } + else { + fragmentView.classList.add("hidden"); + } + }); + } + } + + onFirstStart() { + // for (let k in this.fragments) { + // this.fragments[k].onFirstStart.apply(this.fragments[k], arguments); + // } + } + + onPause() { + for (let k in this.fragments) { + this.fragments[k].onPause.apply(this.fragments[k], arguments); + } + } + + onDestroy() { + for (let k in this.fragments) { + this.fragments[k].onDestroy.apply(this.fragments[k], arguments); + } + } + + addFragment(viewQuery, fragment) { + this.fragments[viewQuery] = fragment; + this.inflatePromise = this.inflatePromise.then(function (siteContent) { + return fragment.inflatePromise.then(function (fragmentView) { + siteContent.querySelector(viewQuery).appendChild(fragmentView); + return siteContent; + }); + }); + } + + /** @protected */ + inflateView(link) { + let self = this; + this.inflatePromiseResolver(ViewInflater.inflate(link).then(function (siteContent) { + self._siteContent = siteContent; + return siteContent; + })); + + return this.inflatePromise; + } + + findBy(query, all, asPromise) { + all = Helper.nonNull(all, false); + asPromise = Helper.nonNull(asPromise, false); + + let getVal = function (root) { + let res = null; + if (all) { + res = root.querySelectorAll(query); + if (root.matches(query)) { + res.push(root); + } + } + else { + if (root.matches(query)) { + res = root; + } + else { + res = root.querySelector(query); + } + } + return res; + }; + + if (asPromise) { + return this.inflatePromise.then(function (rootView) { + return getVal(rootView); + }); + } + return getVal(this._siteContent); + } +} + +class AbstractSite extends Context { + constructor(siteManager, view, deepLink) { + super(view); + + this.isVisible = false; + this.siteManager = siteManager; + this.isFinishing = false; + this.actionMenu = null; + this.url = ""; + this.deepLink = deepLink; + this.startArgs = {}; + this.title = siteManager.getDefaultTitle(); + } + + setTitle(titleElement, title) { + if (typeof titleElement === "string") { + title = titleElement; + titleElement = document.createTextNode(titleElement); + } + this.title = { + element: titleElement + }; + this.title["title"] = Helper.nonNull(title, this.title["title"]); + + if (this.isVisible) { + this.siteManager.updateTitle(); + } + } + + startStartsite() { + return this.startSite(this.siteManager.getStartSiteName()); + } + + inflateView(link) { + let self = this; + return super.inflateView(link).then(function (res) { + let promises = []; + for (let i = 0, n = self.fragments.length; i < n; i++) { + promises.push(self.fragments[i].inflatePromise); + } + return Promise.all(promises).then(function () { + return res; + }); + }); + } + + onConstruct(args) { + this.startArgs = args; + if (Helper.isNotNull(this.deepLink)) { + this.setUrlFromParams(args); + } + return super.onConstruct(args); + } + + onStart(args) { + this.isVisible = true; + let res = super.onStart(args); + this.actionMenu.redraw(); + return res; + } + + onPause(args) { + super.onPause(args); + this.isVisible = false; + } + + finish(result) { + if (!this.isFinishing) { + this.isFinishing = true; + this.siteManager.endSite(this, result); + } + } + + startSite(siteName, args) { + return this.siteManager.startSite(siteName, args); + } + + toForeground() { + this.siteManager.toForeground(this); + } + + finishAndStartNext(siteName, startParams, finishResult) { + this.startSite(siteName, startParams); + this.finish(finishResult); + } + + createActionBarMenu(menu) { + let defaultActions = this.siteManager.getDefaultActions(); + for (let i = 0, n = defaultActions.length; i < n; i++) { + menu.addAction(defaultActions[i].copy()); + } + return menu; + } + + setUrl(url) { + this.url = url; + this.siteManager.updateUrl(this); + } + + setUrlFromParams(params) { + this.setUrl(this.deepLink + Helper.buildQuery(params)); + } + + updateUrlParams(params) { + this.startArgs = Object.assign(this.startArgs, params); + this.setUrlFromParams(this.startArgs); + } + + getUrl() { + return this.url; + } + + getFullUrl() { + return Helper.basePath(this.url); + } + + onBackPressed() { + } + + addListener(event, selector, listenerFunction) { + this.siteManager.addListener(this, event, selector, listenerFunction); + } + + addKeyListener(keycode, listenerFunction) + { + this.siteManager.addKeyListener(this, keycode, listenerFunction); + } + + addKeyAndEventListener(keycode, event, selector, listenerFunction) { + this.siteManager.addKeyAndEventListener(this, keycode, event, selector, listenerFunction); + } +} + +class SiteContainer { + constructor(site, finishResolver) { + this._site = site; + this._siteContent = null; + this._pauseParameters = {}; + this._startParameters = {}; + this._finishResolver = finishResolver; + } + getSite() { + return this._site; + } + + setSite(site) { + if (site instanceof AbstractSite) { + this._site = site; + } + } + + getSiteContent() { + return this._siteContent; + } + + setSiteContent(value) { + this._siteContent = value; + } + + getPauseParameters() { + return this._pauseParameters; + } + + setPauseParameters(value) { + this._pauseParameters = value; + } + + getStartParameters() { + return this._startParameters; + } + + setStartParameters(value) { + this._startParameters = value; + } + + getFinishResolver() { + return this._finishResolver; + } + + setFinishResolver(value) { + this._finishResolver = value; + } +} + +class SiteManager { + constructor(siteDivId, actionBarMenuSelector) { + this.siteDiv = document.getElementById(siteDivId); + this.siteContainerStack = []; + this.currentSiteContainerToShow = null; + this.actionBarMenuSelector = Helper.nonNull(actionBarMenuSelector, '.action-bar'); + + this.siteStartingPromise = Promise.resolve(); + this.defaultActions = []; + this.startSiteName = null; + + this.titleElement = document.querySelector(".top-bar-title"); + + const defaultTitleElem = document.createElement("span"); + while(this.titleElement.childNodes.length > 0) + { + const child = this.titleElement.firstChild; + child.remove(); + defaultTitleElem.appendChild(child); + } + + this.defaultTitle = { + element: defaultTitleElem, + title: document.title + }; + console.log(this.defaultTitle); + + let siteManager = this; + window.onpopstate = function (e) { + if (siteManager.siteContainerStack.length >= 1) { + let site = siteManager.siteContainerStack[siteManager.siteContainerStack.length - 1].getSite(); + if (site.onBackPressed() !== false) { + siteManager.endSite(site); + } + } + }; + } + + getDefaultTitle() { + return this.defaultTitle; + } + + setStartSiteName(startSiteName) { + this.startSiteName = startSiteName; + } + + getStartSiteName() { + return this.startSiteName; + } + + addDefaultAction(action) { + this.defaultActions.push(action); + } + + getDefaultActions() { + return this.defaultActions; + } + + startSite(siteConstructor, paramsPromise) { + if (!(siteConstructor.prototype instanceof AbstractSite)) + { + throw { + "error": "wrong class given! Expected AbstractSite, given "+siteConstructor.name + }; + } + + let site = new siteConstructor(this); + let resolver = {}; + let finishPromise = new Promise(function (resolve, reject) { + resolver.resolve = resolve; + resolver.reject = reject; + }); + let siteContainer = new SiteContainer(site, resolver); + this.siteDiv.removeAllChildren().appendChild(Helper.createLoadingSymbol()); + + let manager = this; + this.siteStartingPromise = new Promise(function (resolve) { + Promise.resolve(paramsPromise).then(function (params) { + siteContainer.setStartParameters(params); + return Promise.all([site.onConstruct(params), site.inflatePromise]); + }).then(function () { + site.actionMenu = site.createActionBarMenu(manager.buildActionBarMenu()); + }).then(function () { + resolve(manager.show(siteContainer)); + }); + }); + + return finishPromise; + } + + endSite(site, result) { + let manager = this; + this.siteStartingPromise.then(function () { + let index = manager.findContainerIndexBySite(site); + let container = manager.siteContainerStack.splice(index, 1); + container = container[0]; + + let showSiteContainer = null; + if (container === manager.currentSiteContainerToShow) { + manager.currentSiteContainerToShow.getSite().onPause(); + manager.currentSiteContainerToShow = null; + let newSiteContainerIndex = manager.siteContainerStack.length - 1; + if (newSiteContainerIndex < 0) { + + manager.showAppEndedMessage(); + manager.startSite(manager.startSiteName); + return; + } + manager.siteDiv.removeAllChildren().appendChild(Helper.createLoadingSymbol()); + showSiteContainer = manager.siteContainerStack[newSiteContainerIndex]; + } + container.getSite().onDestroy(); + + Promise.resolve(result).then(function (resValue) { + container.getFinishResolver().resolve(resValue); + if (Helper.isNotNull(showSiteContainer)) { + manager.show(showSiteContainer); + } + }); + }); + } + + addListener(site, event, _selector, listener) { + this.siteDiv.addEventListener(event, function (_event) { + let _element = _event.target; + if (site.isVisible && _element.matches(_selector)) { + listener(_element, _event); + } + }); + } + + addKeyAndEventListener(site, keycode, event, selector, listener) { + this.addListener(site, event, selector, listener); + this.addKeyListener(site, keycode, listener); + } + + addKeyListener(site, keycode, listener) { + window.addEventListener("keydown", function (e) { + if (site.isVisible && e.which === keycode) { + listener(this, e); + } + }); + } + + toForeground(site) { + let index = this.findContainerIndexBySite(site); + let container = this.siteContainerStack.splice(index, 1); + container = container[0]; + + this.show(container); + } + + refreshCurrentSite() { + return this.show(this.currentSiteContainerToShow); + } + + /** @private */ + show(siteContainer) { + if (Helper.isNotNull(this.currentSiteContainerToShow)) { + this.currentSiteContainerToShow.setPauseParameters(this.currentSiteContainerToShow.getSite().onPause()); + this.currentSiteContainerToShow.setSiteContent(this.siteDiv.innerHTML); + } + this.siteDiv.removeAllChildren().appendChild(Helper.createLoadingSymbol()); + + let siteManager = this; + this.currentSiteContainerToShow = siteContainer; + if (-1 === this.siteContainerStack.indexOf(siteContainer)) { + this.siteContainerStack.push(siteContainer); + } + + return siteContainer.getSite().inflatePromise.then(function (data) { + siteContainer.getSite().actionMenu.redraw(); + siteManager.siteDiv.removeAllChildren().appendChild(data); + siteManager.updateTitle(); + Translator.getInstance().updateTranslations(); + return data; + }).then(function (data) { + siteContainer.getSite().onStart(siteContainer.getPauseParameters()); + history.pushState({ + 'siteName': siteContainer.getSite().constructor.name, + 'siteData': data.outerHTML, + 'stackPosition': siteManager.siteContainerStack.length - 1 + }, siteContainer.getSite().constructor.name, siteContainer.getSite().getFullUrl()); + }); + } + + updateUrl(site) { + if (Helper.isNotNull(this.currentSiteContainerToShow) && this.currentSiteContainerToShow.getSite() === site) { + let self = this; + history.replaceState({ + 'siteName': site.constructor.name, + 'siteData': site._siteContent.outerHTML, + 'stackPosition': self.siteContainerStack.length - 1 + }, site.constructor.name, site.getFullUrl()); + } + } + + getCurrentSite() { + if (this.currentSiteContainerToShow != null) + return this.currentSiteContainerToShow.getSite(); + } + + redrawCurrentActionBar() { + if (this.currentSiteContainerToShow != null) + this.currentSiteContainerToShow.getSite().actionMenu.redraw(); + } + + updateTitle() { + let title = this.getCurrentSite().title; + this.titleElement.removeAllChildren().appendChild(title.element); + document.title = Helper.nonNull(title.title, this.defaultTitle.title); + } + + /** @private */ + findContainerIndexBySite(site) { + for (let i = 0, n = this.siteContainerStack.length; i < n; i++) { + if (this.siteContainerStack[i].getSite() === site) { + return i; + } + } + return -1; + } + + /** @private */ + findContainerBySite(site) { + let index = this.findContainerIndexBySite(site); + if (index === -1) { + return null; + } + return this.siteContainerStack[index]; + } + + /** @private */ + showAppEndedMessage() { + this.siteDiv.removeAllChildren().appendChild(Translator.makePersistentTranslation("The app has ended! Please close the window.")); + } + + /** @private */ + buildActionBarMenu() { + return new ActionBarMenu(this.actionBarMenuSelector); + } +} + +class PauseSite extends AbstractSite { + onConstruct(args) { + let pausedElement = null; + + if (Helper.isSet(args, "url")) { + pausedElement = args["url"]; + } + else { + pausedElement = document.createElement("div"); + pausedElement.innerHTML = "Paused..."; + } + + this.inflateView(pausedElement); + } +} + +class App { + constructor() { + this._siteManager = null; + this._actionBarMenuSelector = '.action-bar'; + this._basePath = SystemSettings.getBasePath(); + this._siteContentId = 'site-content'; + this._deepLinks = new Map(); + this._defaultActions = []; + this._addThemeAction = false; + this._showCookieCompliance = true; + this._startSite = null; + } + + getSiteManager() + { + return this._siteManager; + } + + addDefaultAction(action) { + this._defaultActions.push(action); + } + + setAddThemeAction(addThemeAction) { + this._addThemeAction = addThemeAction; + } + + getSiteContentId() { + return this._siteContentId; + } + + setSiteContentId(value) { + this._siteContentId = value; + } + + getActionBarMenuSelector() { + return this._actionBarMenuSelector; + } + + setActionBarMenuSelector(value) { + this._actionBarMenuSelector = value; + } + + getBasePath() { + return this._basePath; + } + + setBasePath(value) { + this._basePath = value; + } + + addDeepLink(alias, site) { + this._deepLinks.set(alias.toLowerCase(), site); + } + + setShowCookieCompliance(cookieCompliance) + { + this._showCookieCompliance = cookieCompliance; + } + + refreshCurrentSite() + { + this._siteManager.refreshCurrentSite(); + } + + pause(elementToShow){ + this.startSite(PauseSite, {"url": elementToShow}); + } + + resume(){ + const currentSite = this._siteManager.getCurrentSite(); + if (currentSite instanceof PauseSite) + { + currentSite.finish(); + } + } + + _resolveDeepLink(deepLink) { + deepLink = deepLink.toLowerCase(); + if (this._deepLinks.has(deepLink)) { + return this._deepLinks.get(deepLink); + } + return null; + } + + _getDeepLink() { + let deepLink = ""; + if (window.location.pathname.search(this._basePath) === 0) { + deepLink = window.location.pathname.substr(this._basePath.length).trim(); + } + if (deepLink.charAt(0) === '/') { + deepLink = deepLink.substr(1).trim(); + } + if (deepLink.charAt(deepLink.length - 1) === '/') { + deepLink = deepLink.substr(0, deepLink.length - 2).trim(); + } + if (deepLink.length === 0 && window.location.hash) { + deepLink = window.location.hash.substr(1).trim(); + } + + return this._resolveDeepLink(deepLink); + } + + _addDeepLinksListener() { + let app = this; + let elements = document.getElementsByClassName("deep-link"); + for (let i = 0, n = elements.length; i < n; i++) { + elements[i].addEventListener("click", function (e) { + e.preventDefault(); + app._siteManager.startSite(Helper.nonNull(app._resolveDeepLink(this.dataset["siteName"]), app._startSite), App._extractParams(this.dataset["siteArgs"])); + return true; + }); + } + } + + removeDefaultAction(action) + { + let index = this._defaultActions.indexOf(action); + if (index >= 0) + { + this._defaultActions[index].remove(true); + this._defaultActions.splice(index, 1); + } + } + + startSite(site, parameter) + { + return this._siteManager.startSite(site, parameter); + } + + start(fallbackStartSite) { + SystemSettings.setBasePath(this._basePath); + let startSite = Helper.nonNull(this._getDeepLink(), fallbackStartSite); + let startParams = App._getStartParams(); + this._startSite = fallbackStartSite; + + Translator.init(); + ThemeManager.init(); + if (this._addThemeAction) { + this.addDefaultAction(ThemeManager.generateChangeThemeMenuAction()); + } + this._siteManager = new SiteManager(this._siteContentId, this._actionBarMenuSelector); + this._siteManager.defaultActions = this._defaultActions; + this._siteManager.setStartSiteName(fallbackStartSite); + this._siteManager.startSite(startSite, startParams); + this._addDeepLinksListener(); + + if (this._showCookieCompliance) + { + new CookieCompliance('cookie-compliance').showIfNeeded(); + } + } + + static _extractParams(paramString) { + if (Helper.isNull(paramString)) { + return null; + } + let result = {}, tmp = []; + let items = paramString.split("&"); + for (let index = 0; index < items.length; index++) { + tmp = items[index].split("="); + if (tmp[0].trim().length > 0) { + result[tmp[0]] = decodeURIComponent(tmp[1]); + } + } + return result; + } + + static _getStartParams() { + return App._extractParams(window.location.search.substr(1)); + } +} + +class Dialog { + constructor(content, title) { + this.resolver = null; + this.content = null; + this.backgroundElement = null; + this.cancelable = true; + this.title = Helper.nonNull(title, ""); + this.translatable = true; + this.additionalClasses = ""; + this.buttons = []; + this.result = null; + + if (Helper.isNotNull(content)) { + this.setContent(content); + } + } + + setTitle(title) { + this.title = title; + return this; + } + + setTranslatable(translatable) { + this.translatable = translatable; + } + + setAdditionalClasses(classes) { + this.additionalClasses = classes; + } + + getTitle() { + return this.title; + } + + setCancelable(cancelable) { + this.cancelable = (cancelable === true); + return this; + } + + async setContent(content) { + this.contentPromise = Promise.resolve(content); + this.content = await this.contentPromise; + return this; + } + + addButton(elementOrText, listenerOrResult, shouldClose) { + shouldClose = Helper.nonNull(shouldClose, true); + + let button = null; + if (typeof elementOrText === "string") { + button = document.createElement("button"); + button.classList.add("button"); + button.classList.add("right"); + button.appendChild(Translator.makePersistentTranslation(elementOrText)); + } + else { + button = elementOrText; + } + + let self = this; + if (typeof listenerOrResult !== "function") { + let result = listenerOrResult; + listenerOrResult = function () { + self.result = result; + }; + } + + let callback = null; + if (shouldClose) { + callback = function (e) { + if (Helper.isNotNull(listenerOrResult)) { + listenerOrResult(e); + } + self.close(); + }; + } + else { + callback = listenerOrResult; + } + + if (Helper.isNotNull(callback)) { + button.addEventListener("click", callback); + } + this.buttons.push(button); + } + + async show() { + + let titleElement = document.createElement("span"); + titleElement.classList.add("title"); + if (this.translatable && this.title !== "") { + titleElement.appendChild(Translator.makePersistentTranslation(this.title)); + } + else { + titleElement.innerHTML = this.title; + } + + let titleBar = document.createElement("div"); + titleBar.appendChild(titleElement); + + let contentContainer = document.createElement("div"); + contentContainer.classList.add("content-container"); + + let modalDialog = document.createElement("div"); + modalDialog.className = this.additionalClasses; + modalDialog.classList.add("modal"); + modalDialog.appendChild(titleBar); + modalDialog.appendChild(contentContainer); + + let buttonBar = document.createElement("div"); + buttonBar.classList.add("modal-button-container"); + + for (let i = 0, n = this.buttons.length; i < n; i++) { + buttonBar.appendChild(this.buttons[i]); + } + + await this.contentPromise; + if (!(this.content instanceof Node)) { + this.content = (this.translatable) ? Translator.makePersistentTranslation(this.content) : document.createTextNode(this.content); + } + contentContainer.appendChild(this.content); + + this.backgroundElement = document.createElement("div"); + this.backgroundElement.classList.add("background"); + this.backgroundElement.appendChild(modalDialog); + + this.backgroundElement.querySelector(".modal").appendChild(buttonBar); + this.backgroundElement.style.display = "block"; + + let self = this; + if (this.cancelable) { + let closeButton = document.createElement("span"); + closeButton.classList.add("close"); + closeButton.innerHTML = "×"; + + titleBar.appendChild(closeButton); + closeButton.addEventListener("click", function () { + self.close(); + }); + window.addEventListener("click", function (e) { + if (e.target === self.backgroundElement) { + self.close(); + } + }); + } + + document.body.appendChild(this.backgroundElement); + Translator.getInstance().updateTranslations(); + + return new Promise(function (resolve) { + self.resolver = resolve; + }); + } + + close() { + if (Helper.isNotNull(this.backgroundElement)) { + this.backgroundElement.style.display = "none"; + this.backgroundElement.remove(); + this.backgroundElement = null; + } + if (Helper.isNotNull(this.resolver)) { + this.resolver(this.result); + } + } + + addDefaultButton(){ + this.addButton("confirm-button"); + } +} + +class FlashMessenger { + static deleteMessage(_idNumber, _delayInMilliSeconds) { + _delayInMilliSeconds = Helper.nonNull(_delayInMilliSeconds, 0); + setTimeout(function () { + let elem = document.getElementById("flashMessage" + _idNumber); + elem.fadeOut(.2).then(function () { + elem.remove(); + }); + }, _delayInMilliSeconds); + } + + static addMessage(messageType, messageText, timeToShow, translate){ + + let translationArgs = null; + if (Helper.isNull(messageText) || typeof messageText === "object") + { + translationArgs = messageText; + messageText = messageType; + messageType = FlashMessenger.MESSAGE_TYPE_SUCCESS; + translate = true; + } + translate = Helper.nonNull(translate, false); + + let id = FlashMessenger.messageCount; + + let wrapper = document.createElement("div"); + + let _flashMessage = document.createElement("div"); + _flashMessage.className = "flashMessage " + messageType; + _flashMessage.id = "flashMessage" + id; + _flashMessage.style.opacity = '0'; + _flashMessage.addEventListener("click", function () { + FlashMessenger.deleteMessage(id); + }); + _flashMessage.appendChild((translate) ? Translator.makePersistentTranslation(messageText, translationArgs, "span") : document.createTextNode(messageText)); + + wrapper.appendChild(_flashMessage); + document.getElementById("flashMessageContainer").appendChild(wrapper); + _flashMessage.fadeIn(); + timeToShow = Helper.nonNull(timeToShow, FlashMessenger.defaultTimeToShow); + if (timeToShow > 0) { + FlashMessenger.deleteMessage(FlashMessenger.messageCount, timeToShow); + } + FlashMessenger.messageCount++; + } +} + +FlashMessenger.messageCount = 0; +FlashMessenger.defaultTimeToShow = 3500; +FlashMessenger.LENGTH_SHORT= 1000; + +FlashMessenger.MESSAGE_TYPE_SUCCESS = 'success'; +FlashMessenger.MESSAGE_TYPE_ERROR = 'error'; +FlashMessenger.MESSAGE_TYPE_DEFAULT = 'default'; +FlashMessenger.MESSAGE_TYPE_INFO = 'info'; +FlashMessenger.MESSAGE_TYPE_WARNING = 'warning'; + +class InitPromise +{ + static addPromise(promise) + { + if (typeof promise === 'function') + { + let func = promise; + promise = InitPromise.mainPromise.then(function(app){ + return (func(app)); + }); + } + InitPromise.promises.push(promise); + } + + static resolve(app) + { + InitPromise.mainResolver(app); + return InitPromise.mainPromise.then(function(){ + return Promise.all(InitPromise.promises); + }); + } +} +InitPromise.promises = []; +InitPromise.mainPromise = new Promise(function(resolver){ + InitPromise.mainResolver = resolver; +}); + +class MyDb { + constructor(dbName, version) { + let indexedDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB || window.shimIndexedDB; + this._conn = indexedDB.open(dbName, version); + + let myDB = this; + this._conn.onupgradeneeded = function (upgradeEvent) { + myDB.upgrade(myDB._conn.result, upgradeEvent.oldVersion, upgradeEvent.newVersion, upgradeEvent); + }; + this.queryPromise = new Promise(function (resolve) { + myDB._conn.onsuccess = function (e) { + myDB._db = myDB._conn.result; + resolve(e); + }; + }); + } + + openTransaction(name, transactionMode, callback) { + let myDb = this; + if (typeof transactionMode === 'function' && Helper.isNull(callback)) { + callback = transactionMode; + transactionMode = "read"; + } + + this.queryPromise.then(function () { + let res = null; + try { + res = myDb._conn.result.transaction(name, transactionMode); + } + catch (e) { + console.warn(e); + res = myDb._conn.result.transaction(name); + } + callback(res); + }); + } + + openStore(name, transactionMode, callback) { + if (typeof transactionMode === 'function' && Helper.isNull(callback)) { + callback = transactionMode; + transactionMode = "readonly"; + } + this.openTransaction(name, transactionMode, function (t) { + callback(t.objectStore(name)); + }); + } + + saveObj(obj, objectStore) { + let self = this; + return new Promise(function (resolve) { + self.openStore(objectStore, "readwrite", function (store) { + let request = store.put(obj); + request.onsuccess = resolve; + request.onerror = function (e) { + throw { + "type": "indexed-db-error", + "event": e + } + }; + }); + }); + } + + saveMany(manyObj, objectStore) { + let self = this; + return new Promise(function (resolve) { + self.openStore(objectStore, "readwrite", function (store) { + let promises = []; + for (let i = 0, n = manyObj.length; i < n; i++) { + promises.push(new Promise(function (resolveInner) { + let request = store.put(manyObj[i]); + request.onsuccess = resolveInner; + request.onerror = function (e) { + throw { + "type": "indexed-db-error", + "event": e + } + }; + })); + } + resolve(Promise.all(promises)); + }); + }); + } + + load(key, objectStore) { + let self = this; + return new Promise(function (resolve) { + self.openStore(objectStore, function (store) { + let request = store.get(key); + request.onsuccess = function (e) { + resolve(e.currentTarget.result); + }; + request.onerror = function (e) { + console.warn(e); + throw { + "type": "indexed-db-load-error", + "event": e + } + }; + }); + }); + } + + loadAll(objectStore, query, count) + { + let self = this; + return new Promise(function (resolve) { + self.openStore(objectStore, function (store) { + let request = store.getAll(query, count); + request.onsuccess = function (e) { + resolve(e.currentTarget.result); + }; + request.onerror = function (e) { + console.warn(e); + throw { + "type": "indexed-db-load-error", + "event": e + } + }; + }); + }); + } + + loadMany(index, value, objectStore, limit, direction) { + let self = this; + return new Promise(function (resolve) { + self.openStore(objectStore, function (store) { + let indexRequest = store.index(index); + indexRequest.onerror = function (e) { + throw { + "type": "indexed-db-index-error", + "event": e + } + }; + let request = indexRequest.openCursor(value, direction); + request.onerror = function (e) { + throw { + "type": "indexed-db-index-error", + "event": e + } + }; + let objects = []; + let numberResults = 0; + request.onsuccess = function (e) { + let cursor = e.target.result; + if (cursor) { + objects.push(cursor.value); + numberResults++; + if (Helper.isNull(limit) || numberResults < limit) { + cursor.continue(); + return; + } + } + resolve(objects); + }; + }); + }); + } + + remove(id, objectStore) { + let self = this; + return new Promise(function (resolve) { + self.openStore(objectStore, "readwrite", function (store) { + let deleteRequest = store.delete(id); + deleteRequest.onerror = function (e) { + throw { + "type": "indexed-db-delete-error", + "event": e + } + }; + deleteRequest.onsuccess = function (e) { + resolve(); + }; + }); + }); + } + + removeMany(ids, objectStore) { + let self = this; + return new Promise(function (resolve) { + self.openStore(objectStore, "readwrite", function (store) { + let promises = []; + for (let i = 0, n = ids.length; i < n; i++) { + let deleteRequest = store.delete(ids[i]); + deleteRequest.onerror = function (e) { + throw { + "type": "indexed-db-delete-error", + "event": e + } + }; + promises.push(new Promise(function (resolve) { + deleteRequest.onsuccess = function () { + resolve(); + }; + })); + } + resolve(Promise.all(promises)); + }); + }); + } + + removeWithIndex(index, value, objectStore) { + let self = this; + return new Promise(function (resolve) { + self.openStore(objectStore, "readwrite", function (store) { + let indexRequest = store.index(index); + indexRequest.onerror = function (e) { + throw { + "type": "indexed-db-index-error", + "event": e + } + }; + let request = indexRequest.openCursor(value); + request.onerror = function (e) { + throw { + "type": "indexed-db-index-error", + "event": e + } + }; + request.onsuccess = function (e) { + let cursor = e.target.result; + if (cursor) { + cursor.delete(); + cursor.continue(); + } + else { + resolve(); + } + }; + }); + }); + } + + upgrade(db) { + }; +} + +class ScriptLoader { + static loadScript(scriptSrc) { + if (Helper.isNotNull(ScriptLoader.scriptPromises[scriptSrc])) { + return ScriptLoader.scriptPromises[scriptSrc]; + } + else { + let scriptPromise = new Promise(function (resolve) { + let script = document.createElement("script"); + script.src = Helper.basePath(scriptSrc); + script.onload = resolve; + + document.body.appendChild(script); + }); + ScriptLoader.scriptPromises[scriptSrc] = scriptPromise; + return scriptPromise; + } + } + static loadCss(cssFile, media){ + if (Helper.isNotNull(ScriptLoader.cssPromises[cssFile])) { + return ScriptLoader.cssPromises[cssFile]; + } + else { + media = Helper.nonNull(media, "all"); + let cssPromise = new Promise(function (resolve) { + let link = document.createElement("link"); + link.rel='stylesheet'; + link.type="text/css"; + link.href = Helper.basePath(cssFile); + link.media = media; + link.onload = resolve; + + document.head.appendChild(link); + }); + ScriptLoader.cssPromises[cssFile] = cssPromise; + return cssPromise; + } + } +} + +ScriptLoader.scriptPromises = {}; +ScriptLoader.cssPromises = {}; + +class ShareButton { + constructor(deviceType, icon, callback) + { + this._deviceType = deviceType; + this._icon = icon; + this._callback = callback; + } + + shouldShowFor(deviceType) + { + return (deviceType === (deviceType & this._deviceType)) + } + + getIcon() + { + return this._icon; + } + + getCallback() + { + return this._callback; + } +} +ShareButton.TYPE_DESKTOP = 1; +ShareButton.TYPE_MOBILE_APPLE = 2; +ShareButton.TYPE_MOBILE_LEFTOVER = 4; +ShareButton.TYPE_MOBILE = ShareButton.TYPE_MOBILE_APPLE+ShareButton.TYPE_MOBILE_LEFTOVER; +ShareButton.TYPE_ALL = ShareButton.TYPE_DESKTOP+ShareButton.TYPE_MOBILE; + +class ShareManager { + static init() { + ShareManager.shareButtons = []; + } + + static addShareButton(shareButton) { + ShareManager.shareButtons.push(shareButton); + } + + static generateDefaultShareElement(shareUrl) + { + return ShareManager.generateShareElement(shareUrl, ShareManager.getDefaultGenerateCallback()); + } + + static generateDefaultShareElementForButtons(shareUrl, buttons) + { + return ShareManager.generateShareElementForButtons(shareUrl, buttons, ShareManager.getDefaultGenerateCallback()); + } + + static generateShareElement(shareUrl, generateCallback) { + return ShareManager.generateShareElementForButtons(shareUrl, ShareManager.shareButtons, generateCallback); + } + + static generateShareElementForButtons(shareUrl, buttons, generateCallback) + { + let shareButtonElement = document.createElement("div"); + let currentDeviceType = ShareManager.getCurrentDeviceType(); + for (let i = 0, n = buttons.length; i < n; i++) { + if (buttons[i].shouldShowFor(currentDeviceType)) { + let elem = generateCallback(buttons[i], shareUrl); + elem.onclick = function(event){ + buttons[i].getCallback()(shareUrl, this, event); + }; + shareButtonElement.appendChild(elem); + } + } + return shareButtonElement; + } + + static getCurrentDeviceType() { + if (navigator.userAgent.match(/iPhone|iPad|iPod/i)) { + return ShareButton.TYPE_MOBILE_APPLE; + } + else if ((navigator.userAgent.match(/Android|BlackBerry|Opera Mini|IEMobile/i) !== null || (typeof window.orientation !== "undefined"))) { + return ShareButton.TYPE_MOBILE_LEFTOVER; + } + else { + return ShareButton.TYPE_DESKTOP; + } + } + + static getDefaultGenerateCallback() + { + return function(button){ + let linkElement = document.createElement("a"); + let iconElement = document.createElement("img"); + linkElement.appendChild(iconElement); + + iconElement.src = Helper.basePath(button.getIcon()); + iconElement.classList.add("share-icon"); + + return linkElement; + } + } +} + +ShareManager.init(); + +class SmsShareButton extends ShareButton +{ + constructor(icon) { + super(ShareButton.TYPE_MOBILE, icon, function (link) { + let linkToOpen = ""; + if (ShareManager.getCurrentDeviceType() === ShareButton.TYPE_MOBILE_APPLE) { + linkToOpen = "sms:&body="+encodeURIComponent(link); + } + else { + linkToOpen = "sms:?body=" + encodeURIComponent(link); + } + window.open(linkToOpen, '_blank'); + }); + } +} + +class TelegramShareButton extends ShareButton { + constructor(icon) { + super(ShareButton.TYPE_ALL, icon, function (link) { + let linkToOpen = "https://t.me/share/url?url="+encodeURIComponent(link); + window.open(linkToOpen, '_blank'); + }); + } +} + +class WhatsappShareButton extends ShareButton { + constructor(icon) { + super(ShareButton.TYPE_ALL, icon, function (link) { + let linkToOpen = ""; + if (ShareManager.getCurrentDeviceType() === ShareButton.TYPE_DESKTOP) { + linkToOpen = "https://web.whatsapp.com/send?text="+encodeURIComponent(link); + } + else { + linkToOpen = "whatsapp://send?text=" + encodeURIComponent(link); + } + window.open(linkToOpen, '_blank'); + }); + } +} + +class Fragment extends Context +{ + constructor(site, view) + { + super(view); + this.site = site; + this.active = true; + } + + getSite() + { + return this.site; + } + + isActive() + { + return this.active; + } +} + +class Theme +{ + constructor(name, className, icon) + { + this._name = name; + this._className = className; + this._icon = icon; + } +} + +function applyPolyfills(){ + if (!String.prototype.format) { + String.prototype["format"] = function (args) { + return this.replace(/{(\d+)}/g, function (match, number) { + return args[number] !== undefined + ? args[number] + : match + ; + }); + }; + } + Object["assign"] = Helper.nonNull(Object["assign"], function (base, obj) { + base = Helper.nonNull(base, {}); + if (obj === null || typeof(obj) !== 'object' || 'isActiveClone' in obj) + return base; + + // if (obj instanceof Date) { + // temp = new obj.constructor(); //or new Date(obj); + // } + // else { + // temp = obj.constructor(); + // } + + for (let key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + obj['isActiveClone'] = null; + base[key] = obj[key]; + delete obj['isActiveClone']; + } + } + + return base; + }); + + if (typeof window !== 'undefined') { + if (Helper.isNotNull(window["Node"]) && !window["Node"]["prototype"]["removeAllChildren"]) { + Node.prototype["removeAllChildren"] = function () { + while (this.firstChild) { + this.removeChild(this.firstChild); + } + return this; + }; + } + + if (HTMLElement) { + HTMLElement.prototype["fadeOut"] = Helper.nonNull(HTMLElement.prototype["fadeOut"], + function (time, effect, delay) { + time = Helper.nonNull(time, 0.5); + effect = Helper.nonNull(effect, "ease-in-out"); + delay = Helper.nonNull(delay, 0); + this.style.transition = "opacity " + time + "s " + effect + " " + delay + "s"; + let elem = this; + let animPromise = new Promise(function (resolve) { + let transEndLis = function (e) { + elem.removeEventListener("transitionend", transEndLis); + elem.removeEventListener("transitioncancel", transCancelledLis); + elem.style.opacity = null; + elem.style.transition = null; + resolve(true, e); + }; + + let transCancelledLis = function (e) { + elem.removeEventListener("transitionend", transEndLis); + elem.removeEventListener("transitioncancel", transCancelledLis); + elem.style.opacity = null; + elem.style.transition = null; + resolve(false, e); + }; + elem.addEventListener("transitionend", transEndLis); + elem.addEventListener("transitioncancel", transCancelledLis); + }); + //Nach Seitenneuzeichnen, damit chrome das immer macht (und FF auch) + requestAnimationFrame(function () { + requestAnimationFrame(function () { + elem.style.opacity = 0; + }); + }); + return animPromise + }); + + HTMLElement.prototype["fadeIn"] = Helper.nonNull(HTMLElement.prototype["fadeIn"], function (time, effect, delay) { + time = Helper.nonNull(time, 0.5); + effect = Helper.nonNull(effect, "ease-in-out"); + delay = Helper.nonNull(delay, 0); + this.style.transition = "opacity " + time + "s " + effect + " " + delay + "s"; + + let elem = this; + let animPromise = new Promise(function (resolve) { + let transEndLis = function (e) { + elem.removeEventListener("transitionend", transEndLis); + elem.removeEventListener("transitioncancel", transCancelledLis); + elem.style.opacity = null; + elem.style.transition = null; + resolve(true, e); + }; + + let transCancelledLis = function (e) { + elem.removeEventListener("transitionend", transEndLis); + elem.removeEventListener("transitioncancel", transCancelledLis); + elem.style.opacity = null; + elem.style.transition = null; + resolve(false, e); + }; + elem.addEventListener("transitionend", transEndLis); + elem.addEventListener("transitioncancel", transCancelledLis); + }); + + //Nach Seitenneuzeichnen, damit chrome das immer macht (und FF auch) + requestAnimationFrame(function () { + requestAnimationFrame(function () { + elem.style.opacity = 1; + }); + }); + return animPromise; + }); + } + + if (Node) { + Node.prototype["replaceWith"] = Helper.nonNull(Node.prototype["replaceWith"], function (elem) { + this.parentElement.replaceChild(elem, this); + }); + Node.prototype["remove"] = Helper.nonNull(Node.prototype["remove"], function () { + this.parentElement.removeChild(this); + }); + } + + if (Element) { + Element.prototype.matches = Helper.nonNull(Element.prototype.matches, Helper.nonNull(Element.prototype["matchesSelector"], Element.prototype["webkitMatchesSelector"])); + + window["Element"]["prototype"]["closest"] = Helper.nonNull(window["Element"]["prototype"]["getAll"], function (s) { + // if (!Element.prototype.matches) + // Element.prototype.matches = Element.prototype.msMatchesSelector || + // Element.prototype.webkitMatchesSelector; + // + // if (!Element.prototype.closest) + // Element.prototype.closest = function(s) { + let el = this; + if (!document.documentElement.contains(el)) return null; + do { + if (el.matches(s)) return el; + el = el.parentElement; + } while (el !== null); + return null; + // }; + }); + } + + window["IDBObjectStore"]["prototype"]["getAll"] = Helper.nonNull(window["IDBObjectStore"]["prototype"]["getAll"], function () { + let res = {}; + let items = []; + this.openCursor().onsuccess = function (e) { + let cursor = e.target.result; + if (Helper.isNotNull(cursor)) { + items.push(cursor.value); + cursor.continue(); + } + else if (Helper.isNotNull(res.onsuccess)) { + res.onsuccess({currentTarget: {result: items}}); + } + }; + return res; + }); + } + + String.prototype.startsWith = Helper.nonNull(String.prototype.startsWith, function (searchString, position) { + position = position || 0; + return this.indexOf(searchString, position) === position; + }); + + String.prototype.endsWith = Helper.nonNull(String.prototype.endsWith, function (searchString, position) { + var subjectString = this.toString(); + if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) { + position = subjectString.length; + } + position -= searchString.length; + var lastIndex = subjectString.indexOf(searchString, position); + return lastIndex !== -1 && lastIndex === position; + }); + + + window["fetch"] = Helper.nonNull(window["fetch"], function (url) { + console.log("customFetch", url); + let request = null; + if (window.XMLHttpRequest) { // Mozilla, Safari, ... + request = new XMLHttpRequest(); + } else if (window.ActiveXObject) { // IE + try { + request = new ActiveXObject('Msxml2.XMLHTTP'); + } + catch (e) { + try { + request = new ActiveXObject('Microsoft.XMLHTTP'); + } + catch (e) { + } + } + } + + let resultPromise = new Promise(function (resolve) { + request.onload = function () { + let data = this.responseText; + let response = { + json: function () { + return Promise.resolve(JSON.parse(data)); + }, + text: function () { + return Promise.resolve(data); + } + }; + resolve(response); + }; + request.onerror = function (err) { + resolve(Promise.reject(err)); + }; + }); + request.open('get', url, true); + request.send(); + return resultPromise; + }); +} + +class Constants{} +Constants.SCRIPTS = { + CKEDITOR:"version/2/ckeditor/ckeditor.js", + LIST_JS: "version/1/listjs/list.min.js" +}; + +class DataManager { + static load(url, isCachable, raw) { + isCachable = Helper.nonNull(isCachable, false); + raw = Helper.nonNull(raw, false); + let fullUrl = (isCachable) ? Helper.basePath(DataManager.cachePath + url) : Helper.basePath(DataManager.dataPath + url); + return fetch(fullUrl, {"credentials": "same-origin"}).then(function (res) { + if (raw) { + return res.text(); + } + return res.json(); + }).catch(function (e) { + console.error("error", e); + if (!raw) { + return { + "success": false, + "errors": [ + "not-online" + ] + } + } + }); + } + + static send(url, params) { + let fullUrl = Helper.basePath(DataManager.dataPath + url); + + if (!(params instanceof FormData)) { + let newParams = new FormData(); + for (let k in params) { + newParams.append(k, params[k]); + } + params = newParams; + } + + return fetch(fullUrl, { + "credentials": "same-origin", + "method": "POST", + "body": params + }).then(function (res) { + return res.json(); + }).catch(function (e) { + console.error("error", e); + return { + "success": false, + "errors": [ + "not-online" + ] + } + }); + } + + static buildQuery(values) { + return Helper.buildQuery(values); + } +} + +DataManager.dataPath = "data/"; +DataManager.cachePath = "cached/"; + +class Form { + constructor(formElem, url, method, isCachable) { + this.formElem = formElem; + this.method = Helper.nonNull(method, Helper.nonNull(formElem["method"], "POST")); + this.isCachable = (Helper.nonNull(isCachable, this.method.toLowerCase() === "get") === true); + + this.isBusy = false; + + if (typeof url === "string") + { + this.submitHandler = function(values){ + if (self.method.toLowerCase() === "get") { + return (DataManager.load(url + DataManager.buildQuery(values), self.isCachable)); + } + else { + return (DataManager.send(url, values)); + } + }; + } + else { + this.submitHandler = url; + } + + let self = this; + + this.submitCallback = null; + this.errorCallback = async function (errors) { + await self.setErrors(errors); + }; + + formElem.addEventListener("submit", async function (e) { + console.log("submitting!", e); + e.preventDefault(); + await self.doSubmit(e); + }); + + for (let i = 0, n = formElem.elements.length; i < n; i++) { + let elem = formElem.elements[i]; + elem.addEventListener("change", function () { + if (this.value.trim() !== "") { + this.classList.add("notEmpty"); + } + else { + this.classList.remove("notEmpty"); + } + this.setCustomValidity(""); + }); + elem.addEventListener("keydown", function () { + this.setCustomValidity(""); + }); + } + } + + onError(errorHandler, ownHandlerForOptimisticLocking){ + ownHandlerForOptimisticLocking = Helper.nonNull(ownHandlerForOptimisticLocking, true); + let callback = null; + + if (ownHandlerForOptimisticLocking){ + callback = function(errors){ + if (Array.isArray(errors) && errors.indexOf("optimistic-locking-exception") >= 0){ + let dialog = new Dialog("optimistic-locking-dialog", "optimistic-locking-dialog-title"); + dialog.addDefaultButton(); + dialog.show(); + } + else + { + errorHandler(errors); + } + }; + } + else + { + callback = errorHandler; + } + this.errorCallback = callback; + } + + doSubmit() { + if (!this.isBusy) { + let self = this; + return this.submit().then(function (res) { + if (res["success"]) { + if (self.submitCallback !== null) { + return self.submitCallback(res["result"]); + } + } + else if (Helper.isNotNull(self.errorCallback)) { + return self.errorCallback(res["errors"]); + } + }); + } + } + + load(url, isCached) { + this.setValues(DataManager.load(url, isCached).then(function (values) { + if (values["success"]) { + return values["result"]; + } + return {}; + })); + return this; + } + + setValues(valuePromise) { + this.setIsBusy(true); + + let self = this; + return Promise.resolve(valuePromise).then(function (values) { + self.setIsBusy(false); + for (let k in values) { + if (Helper.isNotNull(self.formElem.elements[k])) { + if (Helper.isNotNull(self.formElem.elements[k].options) && Helper.isNotNull(values[k+"Options"])) + { + let options = self.formElem.elements[k].options; + for (let val in values[k+"Options"]) + { + let option = document.createElement("option"); + option.value = val; + option.innerText = values[k+"Options"][val]; + options.add(option); + } + } + + self.formElem.elements[k].value = Helper.htmlspecialcharsDecode(values[k]); + if (Helper.isNotNull(values[k]) && (""+values[k]).trim() !== "") { + self.formElem.elements[k].classList.add("notEmpty"); + } + else { + self.formElem.elements[k].classList.remove("notEmpty"); + } + } + } + return self; + }); + } + + async setErrors(errors) { + let hasElem = false; + let firstError = null; + + for (let k in errors) { + if (Helper.isNotNull(this.formElem.elements[k]) && this.formElem.elements[k].type !== "hidden" + && Helper.isNull(this.formElem.elements[k].readonly) && ( + Helper.isNull(this.formElem.elements[k].disabled) || !this.formElem.elements[k].disabled) + ) { + this.formElem.elements[k].setCustomValidity(Translator.translate(Helper.nonNull(errors[k], "form-default-error"))); + hasElem = true; + } + if (Helper.isNull(firstError)) { + firstError = Helper.nonNull(errors[k], "form-default-error"); + } + } + if (!hasElem && Helper.isNotNull(firstError)) { + for (let k in this.formElem.elements) { + if (this.formElem.elements[k].type !== "hidden") { + this.formElem.elements[k].setCustomValidity(Translator.translate(firstError)); + hasElem = true; + break; + } + } + } + + if (hasElem) { + this.formElem.querySelector("input[type=submit]").click(); + } + } + + setIsBusy(isBusy) { + this.isBusy = isBusy; + if (this.isBusy) { + this.formElem.classList.add("sending"); + } + else { + this.formElem.classList.remove("sending"); + } + } + + submit() { + let self = this; + return new Promise(function (resolve) { + self.setIsBusy(true); + let values = new FormData(self.formElem); + resolve(self.submitHandler(values)); + }).then(function (data) { + self.setIsBusy(false); + return data; + }); + } + + onSubmit(callback) { + this.submitCallback = callback; + } +} + +class SettingsManager { + static getInstance() { + if (SettingsManager._instance === null) { + SettingsManager._instance = new SettingsManager(); + } + return SettingsManager._instance; + } + + constructor() { + this._settings = null; + this._localStorageKey = "settings"; + } + + getSettings() { + if (Helper.isNull(this._settings)) { + this._loadSettings(); + } + return this._settings; + } + + getSetting(name, defaultValue) { + const settings = this.getSettings(); + + if (Helper.isNotNull(settings[name])) { + return settings[name].value; + } + else { + return defaultValue; + } + } + + deleteSetting(name) { + this.getSettings(); + delete this._settings[name]; + this._saveSettings(); + } + + setSetting(name, value) { + this.getSettings(); + this._settings[name] = { + date: new Date().getTime(), + value: value + }; + this._saveSettings(); + } + + setSettings(settingsObject) { + this.getSettings(); + for (const k in settingsObject) { + this._settings[k] = settingsObject[k]; + } + this._saveSettings(); + } + + hasSetting(name) + { + return Helper.nonNull(this._settings[name]); + } + + _loadSettings() { + this._settings = localStorage.getItem(this._localStorageKey); + if (this._settings === null) { + this._settings = {}; + } + else { + this._settings = JSON.parse(this._settings); + } + } + + _saveSettings() { + if (this._settings !== null) { + localStorage.setItem(this._localStorageKey, JSON.stringify(this._settings)); + } + } +} + +SettingsManager._instance = null; + +class SmartColumn{ + constructor(name, label, translateable){ + this._name = name; + this._label = label; + this._translateable = Helper.nonNull(translateable, true); + this._sortable = true; + + this._index = -1; + + this._clickListener = null; + } + + setClickListener(listener) + { + this._clickListener = listener; + return this; + } + + setIndex(index) + { + this._index = index; + } + + getName() + { + return this._name; + } + + getLabel() + { + return this._label; + } + + getHeadElement() + { + const headElement = document.createElement("th"); + headElement.appendChild((this._translateable)?Translator.makePersistentTranslation(this._label):document.createTextNode(this._label)); + + if (this._sortable) + { + headElement.classList.add("sort"); + headElement["dataset"]["sort"] = this._name; + } + + headElement["dataset"]["column"] = this._index; + + this._headElement = headElement; + return this._headElement; + } + + getValueName(){ + return this._name; + } + + prepareData(myData, rowData) + { + return myData; + } + + getItemElement(){ + const element = document.createElement("td"); + element.classList.add(this._name); + element["dataset"]["column"] = this._index; + + if (Helper.isNotNull(this._clickListener)) + { + element.classList.add("clickable"); + } + + return element; + } + + click(tableCell, table, event){ + if (Helper.isNotNull(this._clickListener)) + { + this._clickListener(tableCell, table, event); + } + } +} + +class ConstSmartColumn extends SmartColumn{ + constructor(name, label, translatable, valueTranslatable) { + super(name, label, translatable); + this._sortable = false; + this._valueTranslatable = Helper.nonNull(valueTranslatable, false); + } + + getValueName() { + return null; + } + + getItemElement(){ + const element = super.getItemElement(); + element.classList.remove(this._name); + element.appendChild((this._valueTranslatable)?Translator.makePersistentTranslation(this._name):document.createTextNode(this._name)); + return element; + } +} + +class DataSmartColumn extends SmartColumn{ + constructor(name, label, translateable) { + translateable = Helper.nonNull(translateable, false); + super(name, label, translateable); + } + + getHeadElement() { + return document.createTextNode(""); + } + + getValueName() { + return { + "data":[this._name] + }; + } + + getItemElement() { + return document.createTextNode(""); + } +} + +class ImgConstSmartColumn extends ConstSmartColumn{ + constructor(name, label, translateable) { + super(name, label, translateable); + this._valueTranslatable = false; + } + + getItemElement() { + const element = super.getItemElement(); + const imgElement = document.createElement("img"); + imgElement["src"] = this._name; + + element.removeAllChildren().appendChild(imgElement); + return element; + } +} + +class ListHelper { + constructor(id, options, values) { + this._tableElement = id; + this._options = Helper.nonNull(options, {}); + this._values = values; + + if (typeof this._tableElement === "string") { + this._tableElement = document.getElementById(this._tableElement); + } + + this._columns = []; + if (Array.isArray(options)) { + this._columns = options; + } + else if (Helper.isNotNull(options["columns"])) { + this._columns = options["columns"]; + } + } + + prepareData(data) { + console.log("prepareData", data); + if (Helper.isNotNull(data)) { + for (let i = 0, n = data.length; i < n; i++) { + data[i] = this.prepareDataset(data[i]); + } + } + return data; + } + + prepareDataset(dataset) { + console.log("prepareDataset", dataset); + for (let i = 0, n = this._columns.length; i < n; i++) { + if (Helper.isNotNull(dataset[this._columns[i].getName()])) { + dataset[this._columns[i].getName()] = this._columns[i].prepareData(dataset[this._columns[i].getName()], dataset); + } + } + return dataset; + } + + createTable() { + if (Helper.isNotNull(this._columns)) { + this.updateColumns(); + } + + let id = this._tableElement; + let options = this._options; + let values = this._values; + + options["item"] = Helper.nonNull(options["item"], id["id"] + "-template-item"); + options["page"] = Helper.nonNull(options["page"], 5); + options["pagination"] = Helper.nonNull(options["pagination"], { + "outerWindow": 1, + "innerWindow": 1 + }); + + let template = document.getElementById(options["item"]); + if (template) { + options["item"] = template.outerHTML; + template.remove(); + } + + values = this.prepareData(values); + + const list = new List(id, options, values); + let self = this; + id.querySelector("." + Helper.nonNull(options["listClass"], "list")).addEventListener("click", function (e) { + let columnElem = e.target.closest("td[data-column]"); + const column = parseInt(columnElem["dataset"]["column"]); + if (self._columns.length > column) { + self._columns[column].click(columnElem, list, e); + } + }); + this.list = list; + + return list; + } + + updateColumns() { + const head = document.createElement("tr"); + const item = document.createElement("tr"); + const valueNames = []; + + for (let i = 0, n = this._columns.length; i < n; i++) { + this._columns[i].setIndex(i); + + head.appendChild(this._columns[i].getHeadElement()); + item.appendChild(this._columns[i].getItemElement()); + + const valueName = this._columns[i].getValueName(); + if (Helper.isNotNull(valueName)) { + valueNames.push(valueName); + } + } + const header = this._tableElement.querySelector("thead"); + const footer = this._tableElement.querySelector("tfoot"); + + if (Helper.isNotNull(header)) { + header.removeAllChildren().appendChild(head); + } + if (Helper.isNotNull(footer)) { + footer.removeAllChildren().appendChild(Helper.cloneNode(head)); + } + + + this._options["item"] = item.outerHTML; + this._options["valueNames"] = valueNames; + } + + getList() { + return this.list; + } + + updateItem(valueName, value, newValues) { + const items = this.list.get(valueName, value); + if (Helper.isNotNull(items) && items.length >= 1) { + newValues = this.prepareDataset(newValues); + items[0].values(newValues); + } + } + + setBusy(isBusy) { + if (isBusy) { + this._tableElement.classList.add("sending"); + } + else { + this._tableElement.classList.remove("sending"); + } + } +} + +class SettingsSite extends AbstractSite { + constructor(siteManager) { + super(siteManager, 'core/html/settings.html', "settings"); + for (let k in SettingsSite.settingsFragments) { + this.addSettingsFragment(k, new SettingsSite.settingsFragments[k](this)); + } + this.active = null; + } + + addSettingsFragment(name, settingsFragment) { + this.addFragment("#settings-fragments", settingsFragment); + delete this.fragments["#settings-fragments"]; + this.fragments[name] = settingsFragment; + } + + onStart() { + let res = super.onStart(); + if (Helper.isNotNull(this.active) && !this.fragments[this.active].isActive()) { + this.setActive(null); + } + + this.buildList(); + return res; + } + + setActive(name) { + if (Helper.isNotNull(this.active)) { + this.fragments[this.active].inflatePromise.then(function (view) { + view.classList.remove("active"); + }); + this.findBy("#show-fragment-" + this.active).classList.remove("active"); + } + this.active = name; + if (Helper.isNotNull(this.active)) { + this.fragments[this.active].inflatePromise.then(function (view) { + view.classList.add("active"); + }); + this.findBy("#show-fragment-" + this.active).classList.add("active"); + } + } + + buildList() { + let listNameElem = this.findBy("#settings-fragment-list"); + listNameElem.removeAllChildren(); + + let self = this; + for (let k in this.fragments) { + if (this.fragments[k].isActive()) { + + let liElement = document.createElement("li"); + liElement.id = "show-fragment-" + k; + liElement.appendChild(Translator.makePersistentTranslation(k, null, "a")); + liElement.addEventListener("click", function () { + self.setActive(k); + }); + listNameElem.appendChild(liElement); + + if (Helper.isNull(this.active)) { + this.setActive(k); + } + } + } + } + + static addSettingsFragment(name, settingsFragment) { + SettingsSite.settingsFragments[name] = settingsFragment; + } + + static setAddSettingsSite(addLink) { + SettingsSite.shouldAddSettingsSite = addLink; + } +} + +SettingsSite.settingsFragments = {}; +SettingsSite.shouldAddSettingsSite = true; + +InitPromise.addPromise(function (app) { + if (SettingsSite.shouldAddSettingsSite) { + app.addDeepLink("settings", SettingsSite); + + let settingsAction = new MenuAction("settings", function () { + app.startSite(SettingsSite); + }, MenuAction.SHOW_FOR_LARGE, 10000); + settingsAction.setIcon("img/settings.png"); + app.addDefaultAction(settingsAction); + } +}); + +class ScaleHelper { + scaleTo(scale, fontElement, container, ignoreHeight, ignoreWidth, margin, fontWeight, addListener) { + + margin = Helper.nonNull(margin, 10); + ignoreHeight = Helper.nonNull(ignoreHeight, false); + ignoreWidth = Helper.nonNull(ignoreWidth, false); + fontWeight = Helper.nonNull(fontWeight, fontElement.innerHTML.length); + addListener = Helper.nonNull(addListener, true); + + let hasNoTransitionClass = container.classList.contains("no-transition"); + container.classList.add("no-transition"); + + let currentFontSize = 1; + let diff = 0; + let widthDiff = 0; + let heightDiff = 0; + let containerWidth = 0; + let containerHeight = 0; + do { + currentFontSize += diff / (fontWeight + 1); + fontElement.style.fontSize = currentFontSize + 'px'; + + let containerStyle = window.getComputedStyle(container); + + containerWidth = containerStyle.getPropertyValue("width").replace('px', ''); + containerHeight = containerStyle.getPropertyValue("height").replace('px', ''); + + widthDiff = containerWidth - fontElement.offsetWidth; + heightDiff = containerHeight - fontElement.offsetHeight; + + let newDiff = (ignoreWidth ? heightDiff : (ignoreHeight ? widthDiff : Math.min(widthDiff, heightDiff))); + if (newDiff === diff) { + break; + } + diff = newDiff; + } while ((widthDiff > (1 - scale) * containerWidth || ignoreWidth) && (heightDiff > (1 - scale) * containerHeight || ignoreHeight)); + fontElement.style.fontSize = (currentFontSize - margin) + 'px'; + + if (!hasNoTransitionClass) { + container.classList.remove("no-transition"); + } + + let self = this; + let listener = function () { + setTimeout(() => { + self.scaleTo(scale, fontElement, container, ignoreHeight, ignoreWidth, margin, fontWeight, false); + }, 255); + }; + if (addListener) { + window.addEventListener("resize", listener); + } + return listener; + } + + scaleToFull(fontElement, container, ignoreHeight, ignoreWidth, margin, fontWeight) { + return this.scaleTo(1, fontElement, container, ignoreHeight, ignoreWidth, margin, fontWeight); + } +} + +class Code { + constructor(args) { + if (typeof args === "string") { + args = { + "code": args + }; + } + this.args = args; + this.isCacheable = false; + } + + setIsCacheable(isCacheable) { + this.isCacheable = isCacheable; + } + + getIsCacheable() { + return this.isCacheable; + } + + activate() { + return DataManager.send("c/code", this.args); + } +} + +class CodeSite extends AbstractSite { + constructor(siteManager) { + super(siteManager, "core/html/load.html", "code"); + } + + onConstruct(args) { + super.onConstruct(args); + console.log(args); + + let resPromise = Promise.resolve(); + if (Helper.isNotNull(args["code"])) { + let code = args["code"]; + let isCachable = Helper.nonNull(args["cachable"], false); + + let codeObject = new Code(code); + codeObject.setIsCacheable(isCachable); + + let self = this; + resPromise = codeObject.activate().then(function (res) { + if (!res["success"]) { + FlashMessenger.addMessage(FlashMessenger.MESSAGE_TYPE_SUCCESS, Translator.translate(res["errors"][0])); + } + else { + FlashMessenger.addMessage(FlashMessenger.MESSAGE_TYPE_SUCCESS, Translator.translate(Helper.nonNull(res["result"]["successMessage"], "code-activated"))); + } + self.finish(); + }); + } + } +} + +InitPromise.addPromise(function (app) { + app.addDeepLink("code", CodeSite); +}); + +class UserManager { + static init(app) { + UserManager.getMeUrl = null; + UserManager.userData = { + online: false, + id: null, + accesses: ["default"] + }; + UserManager.app = app; + + UserManager.fetchMePromise = new Promise(function (resolve) { + UserManager.fetchMePromiseResolver = resolve; + }); + } + + static setData(data) { + UserManager.userData = Object.assign(UserManager.userData, data); + let siteManager = UserManager.app.getSiteManager(); + + if (siteManager) + siteManager.redrawCurrentActionBar(); + } + + static fetchMe(url) { + UserManager.getMeUrl = Helper.nonNull(url, UserManager.getMeUrl); + return DataManager.load(UserManager.getMeUrl).then(function (result) { + if (result["success"]) { + UserManager.setData(result["result"]); + } + UserManager.fetchMePromiseResolver(); + }); + } + + static logOut() { + return DataManager.load("u/logout").then(function (data) { + if (data["success"]) { + UserManager.setData(data["result"]); + let siteManager = UserManager.app.getSiteManager(); + + if (siteManager) + siteManager.refreshCurrentSite(); + FlashMessenger.addMessage(FlashMessenger.MESSAGE_TYPE_SUCCESS, Translator.translate("logged-out-successfully")); + } + }); + } + + static hasAccess(access) { + // console.log("Has access", access, UserManager.userData["accesses"].indexOf(access), UserManager.userData); + return (UserManager.userData["accesses"].indexOf(access) >= 0) + } + + static addCurrentUserListener(userId, listener) { + UserManager.addIsLoggedInListener(function (isLoggedIn) { + listener(isLoggedIn && UserManager.isCurrentUser(userId)); + }); + } + + static addIsLoggedInListener(listener) { + this.fetchMePromise.then(function () { + listener(UserManager.isLoggedIn()); + }); + } + + static isCurrentUser(userId) { + return UserManager.userData.id === userId; + } + + static isLoggedIn() { + return Helper.isNotNull(UserManager.userData) && Helper.isNotNull(UserManager.userData.id); + } +} + +InitPromise.addPromise(function(app){ + UserManager.init(app); + return UserManager.fetchMe("u/me").then(function(){ + UserManager.addIsLoggedInListener(function (isLoggedIn) { + if (isLoggedIn) { + const settingsManager = SettingsManager.getInstance(); + const settings = Helper.cloneJson(settingsManager.getSettings()); + for (let k in settings) { + settings[k]["value"] = JSON.stringify(settings[k]["value"]); + } + DataManager.send("u/syncSettings", settings).then(function(res){ + if (res["success"]) + { + for (let k in res["result"]) + { + res["result"][k]["value"] = JSON.parse(res["result"][k]["value"]); + } + settingsManager.setSettings(res["result"]); + } + }); + } + }); + }); +}); + +class UserAction extends MenuAction { + constructor(title, callback, icon, order, access) { + super(title, callback, icon, order); + this._access = Helper.nonNull(access, "default"); + } + + getVisible() { + // console.log("Action-access: ", this._access); + return (super.getVisible() && UserManager.hasAccess(this._access)); + } + + getAccess() { + return this._access; + } + + copy(instance){ + let copy = super.copy(Helper.nonNull(instance, new UserAction())); + copy._access = this._access; + return copy; + } +} + +class NotAllowedSite extends AbstractSite{ + constructor(siteManager) { + super(siteManager, 'userManagement/html/403.html'); + } +} + +class UserSite extends AbstractSite { + + constructor(siteManager, view, deepLink, access) { + super(siteManager, view, deepLink); + this._access = access; + } + + onConstruct(args) { + if (!UserManager.hasAccess(this._access)) + { + this.startSite(NotAllowedSite); + this.finish({ + "error":403 + }); + return; + } + return super.onConstruct(args); + } + + onStart(args) { + if (!UserManager.hasAccess(this._access)) + { + this.startSite(NotAllowedSite); + this.finish({ + "error":403 + }); + return; + } + return super.onStart(args); + } +} + +class LoginForm extends Form { + + constructor(formElem, url, method, isCachable) { + super(formElem, url, method, isCachable); + + let emailElem = formElem.querySelector("#email"); + let passwordElem = formElem.querySelector("#password"); + + let listener = function(){ + emailElem.setCustomValidity(""); + passwordElem.setCustomValidity(""); + }; + + emailElem.addEventListener("keydown", listener); + passwordElem.addEventListener("keydown", listener); + } +} + +class RegistrationForm extends Form { + constructor(formElem, url, method, isCachable) { + super(formElem, url, method, isCachable); + + // this.pw1 = formElem.querySelector("#password1"); + // this.pw2 = formElem.querySelector("#password2"); + + // let self=this; + // this.pw1.addEventListener("change", function(){ + // self.checkPw(); + // }); + // this.pw2.addEventListener("change", function(){ + // self.checkPw(); + // }); + } + + checkPw(){ + // if (this.pw1.value !== this.pw2.value || this.pw1.value.length < 8) + // { + // + // } + } +} + +class UserFragment extends Fragment{ + + constructor(site, view, access) { + super(site, view); + this._access = access; + } + + isActive() { + return super.isActive() && UserManager.hasAccess(this._access); + } +} + +class PasswordSettingsFragment extends UserFragment{ + constructor(site) + { + super(site, "userManagement/html/fragments/passwordSettings.html", "online"); + } + onFirstStart() { + let res = super.onFirstStart(); + let form = new Form(document.getElementById("change-password-form"), "u/passwordSettings/set", "post"); + form.onSubmit(function(res){ + for (let i = 0, n = res.length; i < n; i++) + { + FlashMessenger.addMessage(res[i]); + } + form.setValues({ + "oldPassword":"", + "newPassword1":"", + "newPassword2":"" + }); + }); + return res; + } +} +InitPromise.addPromise(function(){ + SettingsSite.addSettingsFragment("password-settings", PasswordSettingsFragment); +}); + +class UserSettingsFragment extends UserFragment{ + constructor(site) + { + super(site, "userManagement/html/fragments/userSettings.html", "online"); + } + + onFirstStart() { + let res = super.onFirstStart(); + (new Form(document.getElementById("user-settings-form"), "u/userSettings/set", "post")).load('u/userSettings').onSubmit(function(res){ + for (let i = 0, n = res.length; i < n; i++) + { + FlashMessenger.addMessage(res[i]); + } + }); + return res; + } +} +InitPromise.addPromise(function(){ + SettingsSite.addSettingsFragment("user-settings", UserSettingsFragment); +}); + +class EditUserRolesSite extends UserSite { + constructor(siteManager) { + super(siteManager, 'userManagement/html/editUserRoles.html', "userRoles", "admin"); + } + + onConstruct(args) { + let res = super.onConstruct(args); + this.userId = args["id"]; + + let self = this; + return Promise.all([ + ScriptLoader.loadScript(Constants.SCRIPTS.LIST_JS), + DataManager.load("u/userRoles" + DataManager.buildQuery({"id": self.userId})).then(function (res) { + if (!res["success"]) { + FlashMessenger.addMessage(res["errors"][0]); + self.finish(); + } + else { + self.setUserRoles(res["result"]["userRoles"]); + self.setAvailableRoles(res["result"]["availableRoles"]); + self.setUsername(res["result"]["username"]); + } + }) + ]).then(function () { + return res; + }); + } + + onFirstStart() { + this.findBy("#username").innerHTML = this.username; + + const userRolesElement = this.findBy("#userRoles"); + const availableRolesElement = this.findBy("#availableRoles"); + + const imgColumnUserRoles = new ImgConstSmartColumn("img/minus.png", "", false); + const imgColumnAvailableRoles = new ImgConstSmartColumn("img/plus.png", "", false); + + const userRolesColumns = [ + new DataSmartColumn("id"), + new SmartColumn("name", "name"), + new SmartColumn("description", "description"), + imgColumnUserRoles, + ]; + + const availableRolesColumns = [ + new DataSmartColumn("id"), + new SmartColumn("name", "name"), + new SmartColumn("description", "description"), + imgColumnAvailableRoles, + ]; + + const userRolesListHelper = new ListHelper(userRolesElement, userRolesColumns, this.userRoles); + const availableRolesListHelper = new ListHelper(availableRolesElement, availableRolesColumns, this.availableRoles); + + const userRolesTable = userRolesListHelper.createTable(); + const availableRolesTable = availableRolesListHelper.createTable(); + + let self = this; + const changeRoleFunction = function (roleId, addRole) { + userRolesListHelper.setBusy(true); + availableRolesListHelper.setBusy(true); + + return DataManager.send("u/changeUserRole", { + "id": roleId, + "userId": self.userId, + "add": addRole + }).then(function (res) { + userRolesListHelper.setBusy(false); + availableRolesListHelper.setBusy(false); + + if (!res["success"]) { + FlashMessenger.addMessage(res["errors"][0]); + return res; + } + + let removingTable = null; + let addingTable = null; + if (res["result"]["hasRole"]) { + removingTable = availableRolesTable; + addingTable = userRolesTable; + } + else { + addingTable = availableRolesTable; + removingTable = userRolesTable; + } + + const rowData = removingTable.get("id", roleId); + if (rowData.length === 1) { + addingTable.add(rowData[0].values()); + removingTable.remove("id", roleId); + } + + return res; + }); + }; + + imgColumnUserRoles.setClickListener(function (cell) { + let userRoleId = cell.closest("tr")["dataset"]["id"]; + changeRoleFunction(userRoleId, false); + }); + + imgColumnAvailableRoles.setClickListener(function (cell) { + let availableRoleId = cell.closest("tr")["dataset"]["id"]; + changeRoleFunction(availableRoleId, true); + }); + + } + + setUserRoles(userRoles) { + this.userRoles = userRoles; + } + + setAvailableRoles(availableRoles) { + this.availableRoles = availableRoles; + } + + setUsername(username) { + this.username = username; + } +} + +InitPromise.addPromise(function (app) { + app.addDeepLink("userRoles", EditUserRolesSite); + app.addDefaultAction(new UserAction('userRoles', function(){ + app.startSite(EditUserRolesSite); + }, null, 1100, "admin")); +}); + +class ForgotPasswordSite extends UserSite{ + + constructor(siteManager) { + super(siteManager, 'userManagement/html/forgotPassword.html', "forgotPassword", "offline"); + } + + onFirstStart() { + let self = this; + (new Form(document.getElementById("forgot-password-form"), "u/newPassword", "post")).onSubmit(function(res){ + // UserManager.setData(res); + // self.startStartsite(); + FlashMessenger.addMessage(FlashMessenger.MESSAGE_TYPE_SUCCESS, Translator.translate("new-password-code-send")); + self.finish(); + }); + } +} +InitPromise.addPromise(function(app){ + app.addDeepLink("forgotPassword", ForgotPasswordSite); +}); + +class LoginSite extends UserSite{ + constructor(siteManager) { + super(siteManager, 'userManagement/html/login.html', "login", "offline"); + } + + onFirstStart() { + let self = this; + (new LoginForm(document.getElementById("login-form"), "u/login", "post")).onSubmit(function(res){ + UserManager.setData(res); + self.startStartsite(); + FlashMessenger.addMessage(FlashMessenger.MESSAGE_TYPE_SUCCESS, Translator.translate("login-success")); + self.finish(); + }); + + this.findBy("#forgot-password-link").addEventListener("click", function(){ + self.startSite(ForgotPasswordSite); + self.finish(); + }); + } +} +InitPromise.addPromise(function(app){ + app.addDeepLink("login", LoginSite); + app.addDefaultAction(new UserAction('login', function(){ + app.startSite(LoginSite); + }, Menu.SHOW_NEVER, 1100, "offline")); + app.addDefaultAction(new UserAction('logout', function(){ + UserManager.logOut(); + }, Menu.SHOW_NEVER, 1100, "online")); +}); + +class RegistrationSite extends UserSite { + constructor(siteManager) { + super(siteManager, 'userManagement/html/registration.html', "registration", "offline"); + } + + onFirstStart() { + (new RegistrationForm(document.getElementById("registration-form"), "u/registration", "post")).onSubmit(function(res){ + FlashMessenger.addMessage(FlashMessenger.MESSAGE_TYPE_SUCCESS, Translator.translate("registration-success")); + }); + } +} + +InitPromise.addPromise(function (app) { + app.addDeepLink("registration", RegistrationSite); + app.addDefaultAction(new UserAction('registration', function(){ + app.startSite(RegistrationSite); + }, null, 1100, "offline")); +}); + +class SetNewPasswordSite extends UserSite { + constructor(siteManager) { + super(siteManager, 'userManagement/html/setNewPassword.html', "newPassword", "offline"); + } + + onConstruct(args) { + this.code = args["code"]; + return super.onConstruct(args); + } + + onFirstStart() { + let formElem = document.getElementById("new-password-form"); + document.getElementById("code").value = this.code; + + let self = this; + (new Form(formElem, "c/code", "post")).onSubmit(function(res){ + FlashMessenger.addMessage(FlashMessenger.MESSAGE_TYPE_SUCCESS, Translator.translate("password-updated")); + self.startSite(LoginSite); + self.finish(); + }); + } +} +InitPromise.addPromise(function(app){ + app.addDeepLink("newPassword", SetNewPasswordSite); +}); + +let basePath = "/pwa/wordRotator/public/"; +if (window.location.pathname.endsWith("publicTest/")) +{ + basePath = "/pwa/wordRotator/publicTest/"; +} + +SystemSettings.setBasePath(basePath); +Translator.supportedLanguages = ["de", "en"]; +Translator.markTranslations = false; + +class Segment{ + constructor(element){ + this.rotation = 0; + this.element = element; + this.parent = null; + } + + getCurrentRotations(rotations){ + return rotations; + } + + sameAs(otherSegment){ + return false; + } + + setParent(parent) + { + this.parent = parent; + } + + getLevel() + { + if (this.parent!==null) + { + return this.parent.getLevel(); + } + } + + isSolved(){ + return (this.rotation === 0); + } + + async rotate(){ + return Promise.resolve(); + }; + + _updateElement(){}; + + applyRotations(rotations){ + return rotations; + } + + getElement() + { + return this.element; + } +} + +class ParentSegment extends Segment { + static initListener(){ + window.addEventListener("mousedown", (e) => { + ParentSegment.mouseDownTarget = e.target; + // ParentSegment.mouseDownTarget = e.originalTarget; + }); + window.addEventListener("mouseup", (e) => { + ParentSegment.mouseDownTarget = null; + }); + + window.addEventListener("touchstart", (e) => { + console.log("start", e); + if (e.targetTouches.length === 1) + { + ParentSegment.mouseDownTarget = e.targetTouches[0].target; + } + }); + window.addEventListener("touchend", (e) => { + console.log("end", e); + ParentSegment.mouseDownTarget = null; + }); + } + + constructor(element) { + super(element); + this.children = []; + this.class = "rotate-0"; + + let self = this; + this.touchendListener = function(e){ + if (e.targetTouches.length === 0 && e.changedTouches.length === 1 && self.element.contains(ParentSegment.mouseDownTarget) && self.element.contains(document.elementFromPoint(e.changedTouches[0].pageX, e.changedTouches[0].pageY))) + { + console.log(e); + self.rotate(); + e.stopPropagation(); + } + }; + this.mouseupListener = function(e){ + console.log("mouseup", e); + // if (ParentSegment.mouseDownTarget !== null && self.element.contains(ParentSegment.mouseDownTarget) && self.element.contains(e.originalTarget)) + if (ParentSegment.mouseDownTarget !== null && self.element.contains(ParentSegment.mouseDownTarget) && self.element.contains(e.target)) + { + self.rotate(); + e.stopPropagation(); + } + }; + } + + async rotate() { + let timeout = 250; + + if (!this.getLevel().getHasWon()) { + this.rotation += 90; + this.rotation %= 360; + + let currentRotation = this.rotation; + + this._updateRotationClass(); + this.element.classList.add("rotating"); + + let self = this; + let delayPromise = new Promise(function (resolve) { + setTimeout(resolve, timeout); + }).then(() => { + if (self.rotation === currentRotation) { + self.element.classList.remove("rotating"); + } + }); + this.getLevel().checkHasWon(delayPromise); + return delayPromise; + } + } + + sameAs(otherSegment) { + if (!(otherSegment instanceof ParentSegment) || otherSegment.children.length !== this.children.length) { + return false; + } + for (let i = 0; i < this.children.length; i++) { + if (!this.children[i].sameAs(otherSegment.children[i])) { + return false; + } + } + return true; + } + + applyRotations(rotations) { + this.rotation = rotations[0]; + rotations.splice(0, 1); + for (let i = 0, n = this.children.length; i < n; i++) { + rotations = this.children[i].applyRotations(rotations); + } + return rotations; + } + + getCurrentRotations(rotations) + { + rotations.push(this.rotation); + for (let i = 0, n = this.children.length; i < n; i++) { + rotations = this.children[i].getCurrentRotations(rotations); + } + return rotations; + } + + isSolved() { + for (let i = 0, n = this.children.length; i < n; i++) { + if (!this.children[i].isSolved()) { + return false; + } + } + return (this.rotation === 0 || ( + this.children[0].sameAs(this.children[2]) && this.children[1].sameAs(this.children[3]) && ( + this.rotation === 2 || this.children[0].sameAs(this.children[1])))) + } + + setChildren(children) { + this.children = []; + for (let i = 0, n = children.length; i < n; i++) { + this.addChild(children[i]); + } + } + + addChild(child) { + this.children.push(child); + child.setParent(this); + this._updateElement(); + } + + _updateRotationClass() { + // this.style.transform = "rotate("+this.rotation+"deg)"; + this.element.classList.remove(this.class); + this.class = "rotate-" + this.rotation; + if (this.class === "rotate-0") { + this.class = "rotate-360"; + } + this.element.classList.add(this.class); + } + + _updateElement() { + + let layer = this._getLayer(); + if (layer >= 2) + { + this.element.classList.add("layer-"+layer); + } + + const childContainer = this.element.querySelector(".child-container"); + childContainer.removeAllChildren(); + + this._updateRotationClass(); + + // const self = this; + // this.element.onclick = function (e) { + // self.rotate(); + // e.stopPropagation(); + // }; + + this.element.removeEventListener("mouseup",this.mouseupListener); + this.element.removeEventListener("touchend",this.touchendListener); + + this.element.addEventListener("mouseup", this.mouseupListener); + this.element.addEventListener("touchend", this.touchendListener); + + for (let i = 0, n = this.children.length; i < n; i++) { + this.children[i]._updateElement(); + childContainer.appendChild(this.children[i].getElement()); + if (i % 2 === 1 && this.children.length - 1 !== i) { + childContainer.appendChild(document.createElement("br")); + } + } + } + + _getLayer(){ + if (this.children.length >= 1 && this.children[0] && this.children[0] instanceof ParentSegment) + { + return this.children[0]._getLayer()+1; + } + return 1; + } +} +ParentSegment.initListener(); + +class LeafSegment extends Segment { + + constructor(element, leaf) { + super(element); + this.leaf = 'A'; + if (Helper.isNotNull(leaf)) { + this.setLeaf(leaf); + } + } + + sameAs(otherSegment) { + return (otherSegment instanceof LeafSegment && otherSegment.leaf === this.leaf); + } + + setLeaf(leaf) { + this.leaf = leaf; + } + + _updateElement() { + this.element.querySelector(".leaf-element").removeAllChildren().appendChild(document.createTextNode(this.leaf)); + } +} + +class TemplateContainer{ + constructor(leafTemplate, parentTemplate, rowTemplate, triangleTemplate){ + this.leafTemplate = leafTemplate; + this.parentTemplate = parentTemplate; + this.rowTemplate = rowTemplate; + this.triangleTemplate = triangleTemplate; + } + + copyLeafTemplate() + { + return Helper.cloneNode(this.leafTemplate); + } + + copyParentTemplate() + { + return Helper.cloneNode(this.parentTemplate); + } + + copyRowTemplate() + { + return Helper.cloneNode(this.rowTemplate); + } + + copyTriangleTemplate() + { + return Helper.cloneNode(this.triangleTemplate); + } +} + +class Level { + constructor(templateContainer) { + this.rootSegment = null; + this.words = []; + this.startRotations = []; + this.templateContainer = templateContainer; + + this.hasWon = false; + this.id = null; + + this.wonResolver = null; + this.giveUpResolver = null; + + const self = this; + this.wonPromise = new Promise((resolve, reject) => { + self.wonResolver = resolve; + self.giveUpResolver = reject; + }); + } + + saveAsCurrentLevel(){ + let rotations = this.getCurrentRotations(); + localStorage.setItem("currentLevel", JSON.stringify({"id": this.id, "rotations": rotations})); + } + + getCurrentRotations(){ + if (this.rootSegment !== null) + { + return this.rootSegment.getCurrentRotations([]); + } + return []; + } + + setId(id) + { + this.id = id; + } + + getId() + { + return this.id; + } + + getLevel() + { + return this; + } + + setRootSegment(rootSegment) + { + this.rootSegment = rootSegment; + this.rootSegment.setParent(this); + if (this.startRotations) + { + this.applyRotations(); + } + } + + setWords(words) + { + this.words = []; + for (let i = 0, n = words.length; i < n; i++) { + this.words.push(words[i].toUpperCase()); + } + } + + setStartRotations(rotations) + { + this.startRotations = rotations; + } + + applyRotations(rotations) + { + if (this.rootSegment) + { + rotations = Helper.nonNull(rotations, this.startRotations); + this.rootSegment.applyRotations(rotations); + } + } + + getHasWon() + { + return this.hasWon; + } + + checkHasWon(delayPromise) { + if (this.rootSegment.isSolved()){ + this.hasWon = true; + const self = this; + delayPromise.then(()=>{ + self.wonResolver(true); + }); + return true; + } + this.saveAsCurrentLevel(); + return false; + } + + getWonPromise(){ + return this.wonPromise; + } + + getRootSegment(){ + return this.rootSegment; + } + + createSegments() {}; + + static _createLeafsForWord(word, leafSegmentTemplate) + { + let leafSegments = []; + for (let i = 0, n = word.length; i < n; i++) { + leafSegments.push(new LeafSegment(Helper.cloneNode(leafSegmentTemplate), word.charAt(i))); + } + return leafSegments; + } +} + +class RowSegment extends ParentSegment{ + rotate() {} + + applyRotations(rotations) + { + for (let i = 0, n = this.children.length; i < n; i++) { + rotations = this.children[i].applyRotations(rotations); + } + return rotations; + } + + getCurrentRotations(rotations){ + for (let i = 0, n = this.children.length; i < n; i++) { + rotations = this.children[i].getCurrentRotations(rotations); + } + return rotations; + } + + _updateElement() { + const childContainer = this.element.querySelector(".child-container"); + childContainer.removeAllChildren(); + + this._updateRotationClass(); + + const self = this; + this.element.onclick = function (e) { + self.rotate(); + e.stopPropagation(); + }; + + for (let i = 0, n = this.children.length; i < n; i++) { + this.children[i]._updateElement(); + childContainer.appendChild(this.children[i].getElement()); + } + } +} + +class RowLevel extends Level { + constructor(container, wordLength) { + super(container); + this.wordLength = wordLength; + } + + createSegments() { + if (this.words.length >= 2 && this.words[0].length >= this.wordLength && this.words[1].length >= this.wordLength) { + let leafsWordOne = Level._createLeafsForWord(this.words[0], this.templateContainer.copyLeafTemplate()); + let leafsWordTwo = Level._createLeafsForWord(this.words[1], this.templateContainer.copyLeafTemplate()); + + let rootSegment = new RowSegment(this.templateContainer.copyRowTemplate()); + for (let i = 0, n = this.wordLength / 2; i < n; i++) { + let parent = new ParentSegment(this.templateContainer.copyParentTemplate()); + parent.addChild(leafsWordOne[2 * i]); + parent.addChild(leafsWordOne[2 * i + 1]); + parent.addChild(leafsWordTwo[2 * i]); + parent.addChild(leafsWordTwo[2 * i + 1]); + rootSegment.addChild(parent); + } + // rootSegment.applyRotations(this.startRotations); + this.setRootSegment(rootSegment); + } + } +} + +class SimpleLevel extends RowLevel{ + constructor(container) { + super(container, 6); + } +} + +class RowLevel8 extends RowLevel{ + constructor(container) { + super(container, 8); + } +} + +class RowLevel10 extends RowLevel{ + constructor(container) { + super(container, 10); + } +} + +class TriangleSegment extends RowSegment{ + +} + +class SixWordsRowLevel extends Level { + + constructor(templateContainer, wordLength) { + super(templateContainer); + this.wordLength = wordLength; + } + + createSegments() { + if (this.words.length >= 6 && + this.words[0].length >= this.wordLength && + this.words[1].length >= this.wordLength && + this.words[2].length >= this.wordLength && + this.words[3].length >= this.wordLength && + this.words[4].length >= this.wordLength && + this.words[5].length >= this.wordLength + ) { + let leafsWords = []; + leafsWords[0] = Level._createLeafsForWord(this.words[0], this.templateContainer.copyLeafTemplate()); + leafsWords[1] = Level._createLeafsForWord(this.words[1], this.templateContainer.copyLeafTemplate()); + leafsWords[2] = Level._createLeafsForWord(this.words[2], this.templateContainer.copyLeafTemplate()); + leafsWords[3] = Level._createLeafsForWord(this.words[3], this.templateContainer.copyLeafTemplate()); + leafsWords[4] = Level._createLeafsForWord(this.words[4], this.templateContainer.copyLeafTemplate()); + leafsWords[5] = Level._createLeafsForWord(this.words[5], this.templateContainer.copyLeafTemplate()); + + let rootSegment = new RowSegment(this.templateContainer.copyRowTemplate()); + for (let i = 0; i < this.wordLength / 4; i++) { + + let parents = []; + parents[0] = new ParentSegment(this.templateContainer.copyParentTemplate()); + parents[1] = new ParentSegment(this.templateContainer.copyParentTemplate()); + parents[2] = new ParentSegment(this.templateContainer.copyParentTemplate()); + parents[3] = new ParentSegment(this.templateContainer.copyParentTemplate()); + parents[4] = new ParentSegment(this.templateContainer.copyParentTemplate()); + parents[5] = new ParentSegment(this.templateContainer.copyParentTemplate()); + + parents[0].addChild(leafsWords[0][4*i]); + parents[0].addChild(leafsWords[0][4*i+1]); + parents[0].addChild(leafsWords[1][4*i]); + parents[0].addChild(leafsWords[1][4*i+1]); + + parents[1].addChild(leafsWords[0][4*i+2]); + parents[1].addChild(leafsWords[0][4*i+3]); + parents[1].addChild(leafsWords[1][4*i+2]); + parents[1].addChild(leafsWords[1][4*i+3]); + + parents[2].addChild(leafsWords[2][4*i]); + parents[2].addChild(leafsWords[2][4*i+1]); + parents[2].addChild(leafsWords[3][4*i]); + parents[2].addChild(leafsWords[3][4*i+1]); + + parents[3].addChild(leafsWords[2][4*i+2]); + parents[3].addChild(leafsWords[2][4*i+3]); + parents[3].addChild(leafsWords[3][4*i+2]); + parents[3].addChild(leafsWords[3][4*i+3]); + + parents[4].addChild(leafsWords[4][4*i]); + parents[4].addChild(leafsWords[4][4*i+1]); + parents[4].addChild(leafsWords[5][4*i]); + parents[4].addChild(leafsWords[5][4*i+1]); + + parents[5].addChild(leafsWords[4][4*i+2]); + parents[5].addChild(leafsWords[4][4*i+3]); + parents[5].addChild(leafsWords[5][4*i+2]); + parents[5].addChild(leafsWords[5][4*i+3]); + + + let parent = new ParentSegment(this.templateContainer.copyParentTemplate()); + let triangle = new TriangleSegment(this.templateContainer.copyTriangleTemplate()); + if (i % 2 === 0) { + parent.addChild(parents[0]); + parent.addChild(parents[1]); + parent.addChild(parents[2]); + parent.addChild(parents[3]); + + let rowSegment = new RowSegment(this.templateContainer.copyRowTemplate()); + + rowSegment.addChild(parents[4]); + rowSegment.addChild(parents[5]); + + triangle.addChild(parent); + triangle.addChild(rowSegment); + + triangle.getElement().classList.add("type-1"); + } + else { + + let rowSegment = new RowSegment(this.templateContainer.copyRowTemplate()); + + rowSegment.addChild(parents[0]); + rowSegment.addChild(parents[1]); + + triangle.addChild(rowSegment); + triangle.addChild(parent); + + parent.addChild(parents[2]); + parent.addChild(parents[3]); + parent.addChild(parents[4]); + parent.addChild(parents[5]); + + triangle.getElement().classList.add("type-2"); + } + rootSegment.addChild(triangle); + } + this.setRootSegment(rootSegment); + } + } +} + +class SixWordsRowLevel8 extends SixWordsRowLevel { + constructor(templateContainer) { + super(templateContainer, 8); + } +} + +class SixWordsRowLevel12 extends SixWordsRowLevel { + constructor(templateContainer) { + super(templateContainer, 12); + } +} + +class FourWordsLevel extends Level { + + constructor(templateContainer, wordLength) { + super(templateContainer); + this.wordLength = wordLength; + } + + createSegments() { + if (this.words.length >= 4 && + this.words[0].length >= this.wordLength && + this.words[1].length >= this.wordLength && + this.words[2].length >= this.wordLength && + this.words[3].length >= this.wordLength + ) { + let leafsWords = []; + leafsWords[0] = Level._createLeafsForWord(this.words[0], this.templateContainer.copyLeafTemplate()); + leafsWords[1] = Level._createLeafsForWord(this.words[1], this.templateContainer.copyLeafTemplate()); + leafsWords[2] = Level._createLeafsForWord(this.words[2], this.templateContainer.copyLeafTemplate()); + leafsWords[3] = Level._createLeafsForWord(this.words[3], this.templateContainer.copyLeafTemplate()); + + let rootSegment = new RowSegment(this.templateContainer.copyRowTemplate()); + for (let i = 0; i < this.wordLength / 4; i++) { + + let parents = []; + parents[0] = new ParentSegment(this.templateContainer.copyParentTemplate()); + parents[1] = new ParentSegment(this.templateContainer.copyParentTemplate()); + parents[2] = new ParentSegment(this.templateContainer.copyParentTemplate()); + parents[3] = new ParentSegment(this.templateContainer.copyParentTemplate()); + + parents[0].addChild(leafsWords[0][4 * i]); + parents[0].addChild(leafsWords[0][4 * i + 1]); + parents[0].addChild(leafsWords[1][4 * i]); + parents[0].addChild(leafsWords[1][4 * i + 1]); + + parents[1].addChild(leafsWords[0][4 * i + 2]); + parents[1].addChild(leafsWords[0][4 * i + 3]); + parents[1].addChild(leafsWords[1][4 * i + 2]); + parents[1].addChild(leafsWords[1][4 * i + 3]); + + parents[2].addChild(leafsWords[2][4 * i]); + parents[2].addChild(leafsWords[2][4 * i + 1]); + parents[2].addChild(leafsWords[3][4 * i]); + parents[2].addChild(leafsWords[3][4 * i + 1]); + + parents[3].addChild(leafsWords[2][4 * i + 2]); + parents[3].addChild(leafsWords[2][4 * i + 3]); + parents[3].addChild(leafsWords[3][4 * i + 2]); + parents[3].addChild(leafsWords[3][4 * i + 3]); + + let parent = new ParentSegment(this.templateContainer.copyParentTemplate()); + parent.addChild(parents[0]); + parent.addChild(parents[1]); + parent.addChild(parents[2]); + parent.addChild(parents[3]); + + rootSegment.addChild(parent); + } + this.setRootSegment(rootSegment); + } + } +} + +class FourWordsLevel8 extends FourWordsLevel{ + constructor(templateContainer) { + super(templateContainer, 8); + } +} + +class FourWordsLevel12 extends FourWordsLevel{ + constructor(templateContainer) { + super(templateContainer, 12); + } +} + +class LevelHelper { + static setLevelType(typeId, level) { + LevelHelper.types[typeId] = level; + } + + static getLevelClass(type) { + return LevelHelper.types[type]; + } + + static inflateLevel(jsonLevel, templateContainer) { + let level = new (LevelHelper.types[jsonLevel["rendererType"]])(templateContainer); + level.setWords(jsonLevel["words"]); + level.setId(jsonLevel["id"]); + + for (let i = 0, n = jsonLevel["rotations"].length; i < n; i++) { + if (jsonLevel["rotations"][i] <= 4) { + jsonLevel["rotations"][i] = 90 * jsonLevel["rotations"][i]; + } + } + + level.setStartRotations(jsonLevel["rotations"]); + return level; + } +} + +LevelHelper.types = { + 20: SimpleLevel, + 40: RowLevel8, + 60: RowLevel10, + 100: SixWordsRowLevel8, + 120: FourWordsLevel8, + 140: SixWordsRowLevel12, + 160: FourWordsLevel12, +}; + +class WordRotatorDb extends MyDb { + + static getInstance() { + if (Helper.isNull(WordRotatorDb.instance)) { + WordRotatorDb.instance = new WordRotatorDb(); + } + return WordRotatorDb.instance; + } + + constructor() { + super("wordRotator", 3); + } + + upgrade(db, oldVersion, newVersion, e) { + if (Helper.isNull(oldVersion) || oldVersion < 1 && newVersion >= 1) { + let levelObjectStore = db.createObjectStore(WordRotatorDb.OBJECT_STORE.LEVEL, {"keyPath": "id"}); + } + if (Helper.isNull(oldVersion) || oldVersion < 2 && newVersion >= 2) { + let levelObjectStore = e.target.transaction.objectStore(WordRotatorDb.OBJECT_STORE.LEVEL); + levelObjectStore.createIndex("played", ["deleted", "played", "difficulty", "id"], {"unique": false}); + } + if (Helper.isNull(oldVersion) || oldVersion < 3 && newVersion >= 3) { + let levelObjectStore = e.target.transaction.objectStore(WordRotatorDb.OBJECT_STORE.LEVEL); + levelObjectStore.createIndex("difficulty", "difficulty", {"unique": false}); + } + }; + + async saveManyLevels(levels) { + return this.saveMany(levels, WordRotatorDb.OBJECT_STORE.LEVEL); + } + + async loadLevel(levelId) { + return this.load(levelId, WordRotatorDb.OBJECT_STORE.LEVEL); + } + + async loadNextLevel(rendererTypes) { + const levels = await this.loadMany("difficulty", IDBKeyRange.lowerBound(0), WordRotatorDb.OBJECT_STORE.LEVEL); + + let wrongLevels = []; + let newLevels = []; + let difficulty = -1; + for (let i = 0, n = levels.length; i < n; i++) { + if ((difficulty < 0 || difficulty === levels[i]["difficulty"]) && !levels[i]["deleted"] && !levels[i]["played"] && rendererTypes.indexOf(levels[i]["rendererType"]) !== -1) { + newLevels.push(levels[i]); + difficulty = levels[i]["difficulty"]; + } + else if (levels[i]["difficulty"] !== 0 && !levels[i]["deleted"] && !levels[i]["played"] ) { + wrongLevels.push(levels[i]); + } + } + + if (newLevels.length === 0) { + return null; + } + + return newLevels[Math.round(Math.random() * newLevels.length) % newLevels.length]; + } + + async saveLevelPlayed(levelId) { + const level = await this.loadLevel(levelId); + level.played = true; + return await this.saveObj(level, WordRotatorDb.OBJECT_STORE.LEVEL); + } +} + +WordRotatorDb.OBJECT_STORE = { + LEVEL: "level", +}; +WordRotatorDb.instance = null; + +class WordRotatorBaseSite extends AbstractSite { + + createActionBarMenu(menu) { + menu = super.createActionBarMenu(menu); + let actions = menu.actions; + for (let i = 0; i < actions.length; i++) { + if (actions[i].title === "login" || actions[i].title === "registration"){ + actions[i].setVisible(false); + } + } + return menu; + } +} + +class EndSite extends WordRotatorBaseSite{ + constructor(siteManager) { + super(siteManager, "html/application/end.html"); + } +} + +class LevelSite extends WordRotatorBaseSite { + constructor(siteManager) { + super(siteManager, "html/application/level.html"); + } + + onConstruct(args) { + this.levelCounter = Helper.nonNull(localStorage.getItem("levelCounter"), 1); + return super.onConstruct(args); + } + + onFirstStart() { + super.onFirstStart(); + + let leafSegmentTemplate = this.findBy("#segment-leaf-template"); + let parentSegmentTemplate = this.findBy("#segment-parent-template"); + let rowSegmentTemplate = this.findBy("#segment-row-template"); + let triangleTemplate = this.findBy("#segment-triangle-template"); + + leafSegmentTemplate.id = null; + parentSegmentTemplate.id = null; + rowSegmentTemplate.id = null; + triangleTemplate.id = null; + + leafSegmentTemplate.remove(); + parentSegmentTemplate.remove(); + rowSegmentTemplate.remove(); + triangleTemplate.remove(); + + let self = this; + let continueButton = this.findBy("#continue-button"); + continueButton.addEventListener("click", () => { + self.nextLevel(); + }); + + let wonText = this.findBy("#won-text"); + + let scaleHelper = new ScaleHelper(); + scaleHelper.scaleToFull(continueButton, continueButton.parentElement, false, true); + scaleHelper.scaleToFull(wonText, wonText.parentElement); + + //Benutze Document, da Element außerhalb von Seite (eigentlich unschön!) + this.levelCounterActionContainer = document.getElementById("level-number-container"); + this.levelCounterAction = document.getElementById("level-number"); + this.levelCounterAction.innerText = this.levelCounter; + this.levelNumberScaler = scaleHelper.scaleToFull(this.levelCounterAction, this.levelCounterActionContainer, false, false, 4); + this.templateContainer = new TemplateContainer(leafSegmentTemplate, parentSegmentTemplate, rowSegmentTemplate, triangleTemplate); + + this.loadLastLevel(); + } + + async loadLastLevel() { + try { + let currentLevelInfo = localStorage.getItem("currentLevel"); + if (currentLevelInfo !== null) { + currentLevelInfo = JSON.parse(currentLevelInfo); + console.log("LevelID: ", currentLevelInfo["id"]); + + const db = WordRotatorDb.getInstance(); + const levelJson = await db.loadLevel(currentLevelInfo["id"]); + if (levelJson === null) { + return this.nextLevel(); + } + + const level = LevelHelper.inflateLevel(levelJson, this.templateContainer); + level.setStartRotations(currentLevelInfo["rotations"]); + + const self = this; + level.getWonPromise().then(() => { + self.levelWon(level); + }); + + level.createSegments(); + level.getRootSegment()._updateElement(); + + level.saveAsCurrentLevel(); + + let levelSegment = this.findBy("#level"); + levelSegment.removeAllChildren().appendChild(level.getRootSegment().getElement()); + let scaleHelper = new ScaleHelper(); + scaleHelper.scaleToFull(levelSegment, levelSegment.parentElement, false, false, 2, level.words[0].length * 2); + + this.level = level; + return; + } + } + catch (e) { + console.error(e); + } + return this.nextLevel(); + } + + async nextLevel() { + try { + this._siteContent.classList.remove('won'); + + const db = WordRotatorDb.getInstance(); + const nextLevelJson = await db.loadNextLevel([20, 40, 60, 100, 120, 140, 160]); + // const nextLevelJson = await db.loadNextLevel([120]); + if (nextLevelJson === null) { + this.startSite(EndSite); + return; + } + const level = LevelHelper.inflateLevel(nextLevelJson, this.templateContainer); + const self = this; + level.getWonPromise().then(() => { + self.levelWon(level); + }); + + level.createSegments(); + level.getRootSegment()._updateElement(); + + level.saveAsCurrentLevel(); + + let levelSegment = this.findBy("#level"); + levelSegment.removeAllChildren().appendChild(level.getRootSegment().getElement()); + let scaleHelper = new ScaleHelper(); + scaleHelper.scaleToFull(levelSegment, levelSegment.parentElement, false, false, 2, level.words[0].length * 2); + + this.level = level; + this.levelCounterAction.innerText = this.levelCounter; + this.levelNumberScaler(); + } + catch (e) { + console.error(e); + } + } + + onStart(args) { + let res = super.onStart(args); + this.levelCounterAction.innerText = this.levelCounter; + this.levelCounterActionContainer.classList.add("visible"); + return res; + } + + onPause(args) { + super.onPause(args); + this.levelCounterActionContainer.classList.remove("visible"); + } + + async levelWon(level) { + try { + const db = WordRotatorDb.getInstance(); + const savePromise = db.saveLevelPlayed(level.getId()); + + this.levelCounter++; + localStorage.setItem("levelCounter", this.levelCounter); + + this._siteContent.classList.add('won'); + localStorage.removeItem("currentLevel"); + await savePromise; + } + catch (e) { + console.error(e); + } + } +} + +class SynchronizeSite extends WordRotatorBaseSite { + + constructor(siteManager) { + super(siteManager, "html/application/sync.html"); + } + + async onConstruct(args) { + let res = await super.onConstruct(args); + await this.loadLevels(); + return res; + } + + onFirstStart() { + super.onFirstStart(); + this.startSite(LevelSite); + } + + async loadLevels() { + const dateLastSync = Helper.nonNull(localStorage.getItem("date-last-sync"), 0); + const db = WordRotatorDb.getInstance(); + + let newLastSync = null; + let maxRuns = 1; + let levelPromises = []; + for (let run = 0; run < maxRuns; run++) { + let res = await DataManager.load("wordRotator/levels" + DataManager.buildQuery({ + "currentRun": run, + "dateLastSync": dateLastSync + })); + if (!res["success"]) { + break; + } + res = res["result"]; + newLastSync = Helper.nonNull(newLastSync, res["currentSyncDate"]); + maxRuns = res["maxRuns"]; + + let levels = res["levels"]; + for (let i = 0, n = levels.length; i < n; i++) { + let currentLevel = levels[i]; + levelPromises.push(db.loadLevel(levels[i]["id"]).then(level => { + currentLevel["played"] = (Helper.nonNull(Helper.nonNull(level, {}).played, false)); + return currentLevel; + })); + } + } + let levels = await Promise.all(levelPromises); + await db.saveManyLevels(levels); + + if (newLastSync != null && newLastSync !== "null") + { + localStorage.setItem("date-last-sync", newLastSync); + } + } +} + +applyPolyfills(); + +ThemeManager.addTheme(new Theme('red', '')); +ThemeManager.addTheme(new Theme("blue", "blue")); +ThemeManager.addTheme(new Theme("black", "black")); +ThemeManager.addTheme(new Theme("green", "green")); +ThemeManager.addTheme(new Theme("pink", "pink")); + +ShareManager.addShareButton(new WhatsappShareButton('img/whatsapp.svg')); +ShareManager.addShareButton(new SmsShareButton('img/sms.svg')); +ShareManager.addShareButton(new TelegramShareButton('img/telegram.svg')); +// ShareManager.addShareButton(new CopyShareButton('img/copy.svg')); + +let app = new App(); +// app.addDeepLink("policy", PrivatePolicySite.name); +app.setAddThemeAction(true); +// app.addDefaultAction(Translator.generateChangeLanguageMenuAction()); + +// bridge für Android +window["ThemeManager"] = ThemeManager; +window["ThemeManager"]["addChangeListener"] = ThemeManager.addChangeListener; +window["app"] = app; +window["app"]["refreshCurrentSite"] = app.refreshCurrentSite; +window["Translator"] = Translator; +window["Translator"]["setLanguage"] = Translator.setLanguage; + +InitPromise.resolve(app).then(function(){ + app.start(SynchronizeSite); + Translator.setLanguage("de"); +}); diff --git a/src/js/init.js b/src/js/init.js index 107000f..1b51bf1 100755 --- a/src/js/init.js +++ b/src/js/init.js @@ -36,7 +36,7 @@ ShareManager.addShareButton(new TelegramShareButton('img/telegram.svg')); let app = new App(); // app.addDeepLink("policy", PrivatePolicySite.name); app.setAddThemeAction(true); -app.addDefaultAction(Translator.generateChangeLanguageMenuAction()); +// app.addDefaultAction(Translator.generateChangeLanguageMenuAction()); // bridge für Android window["ThemeManager"] = ThemeManager; diff --git a/src/js/lib/pwa-assets.js b/src/js/lib/pwa-assets.js index be4f8f0..990f0e8 100755 --- a/src/js/lib/pwa-assets.js +++ b/src/js/lib/pwa-assets.js @@ -9,13 +9,13 @@ class DelayPromise extends Promise { } class ScaleHelper { - scaleTo(scale, fontElement, container, ignoreHeight, ignoreWidth, margin, fontWeight) { - console.log("test"); + scaleTo(scale, fontElement, container, ignoreHeight, ignoreWidth, margin, fontWeight, addListener) { margin = Helper.nonNull(margin, 10); ignoreHeight = Helper.nonNull(ignoreHeight, false); ignoreWidth = Helper.nonNull(ignoreWidth, false); fontWeight = Helper.nonNull(fontWeight, fontElement.innerHTML.length); + addListener = Helper.nonNull(addListener, true); let hasNoTransitionClass = container.classList.contains("no-transition"); container.classList.add("no-transition"); @@ -51,11 +51,15 @@ class ScaleHelper { } let self = this; - window.addEventListener("resize", function () { + let listener = function () { setTimeout(() => { - self.scaleTo(scale, fontElement, container, ignoreHeight, ignoreWidth, margin, fontWeight); + self.scaleTo(scale, fontElement, container, ignoreHeight, ignoreWidth, margin, fontWeight, false); }, 255); - }); + }; + if (addListener) { + window.addEventListener("resize", listener); + } + return listener; } scaleToFull(fontElement, container, ignoreHeight, ignoreWidth, margin, fontWeight) { diff --git a/src/module/Application/pwa/js/site/EndSite.js b/src/module/Application/pwa/js/site/EndSite.js index ef4fcac..bf48bbf 100755 --- a/src/module/Application/pwa/js/site/EndSite.js +++ b/src/module/Application/pwa/js/site/EndSite.js @@ -1,6 +1,6 @@ -import {AbstractSite} from "../../../../../js/lib/pwa-lib"; +import {WordRotatorBaseSite} from "./WordRotatorBaseSite"; -export class EndSite extends AbstractSite{ +export class EndSite extends WordRotatorBaseSite{ constructor(siteManager) { super(siteManager, "html/application/end.html"); } diff --git a/src/module/Application/pwa/js/site/LevelSite.js b/src/module/Application/pwa/js/site/LevelSite.js index 9292887..bc04343 100755 --- a/src/module/Application/pwa/js/site/LevelSite.js +++ b/src/module/Application/pwa/js/site/LevelSite.js @@ -1,4 +1,4 @@ -import {AbstractSite, Helper, Menu, MenuAction} from "../../../../../js/lib/pwa-lib"; +import {Helper, Menu, MenuAction} from "../../../../../js/lib/pwa-lib"; import {ParentSegment} from "../wordrotator/Segment/ParentSegment"; import {LeafSegment} from "../wordrotator/Segment/LeafSegment"; import {TemplateContainer} from "../wordrotator/Segment/TemplateContainer"; @@ -7,23 +7,13 @@ import {LevelHelper} from "../wordrotator/Level/LevelHelper"; import {WordRotatorDb} from "../WordRotatorDb"; import {ScaleHelper} from "../../../../../js/lib/pwa-assets"; import {EndSite} from "./EndSite"; +import {WordRotatorBaseSite} from "./WordRotatorBaseSite"; -export class LevelSite extends AbstractSite { +export class LevelSite extends WordRotatorBaseSite { constructor(siteManager) { super(siteManager, "html/application/level.html"); } - createActionBarMenu(menu) { - menu = super.createActionBarMenu(menu); - - this.levelCounterAction = new MenuAction("", function () { - }, Menu.SHOW_ALWAYS, 0); - this.levelCounterAction.setShouldTranslate(false); - menu.addAction(this.levelCounterAction); - - return menu; - } - onConstruct(args) { this.levelCounter = Helper.nonNull(localStorage.getItem("levelCounter"), 1); return super.onConstruct(args); @@ -59,7 +49,11 @@ export class LevelSite extends AbstractSite { scaleHelper.scaleToFull(continueButton, continueButton.parentElement, false, true); scaleHelper.scaleToFull(wonText, wonText.parentElement); - this.levelCounterAction.setTitle(this.levelCounter); + //Benutze Document, da Element außerhalb von Seite (eigentlich unschön!) + this.levelCounterActionContainer = document.getElementById("level-number-container"); + this.levelCounterAction = document.getElementById("level-number"); + this.levelCounterAction.innerText = this.levelCounter; + this.levelNumberScaler = scaleHelper.scaleToFull(this.levelCounterAction, this.levelCounterActionContainer, false, false, 4); this.templateContainer = new TemplateContainer(leafSegmentTemplate, parentSegmentTemplate, rowSegmentTemplate, triangleTemplate); this.loadLastLevel(); @@ -134,12 +128,29 @@ export class LevelSite extends AbstractSite { scaleHelper.scaleToFull(levelSegment, levelSegment.parentElement, false, false, 2, level.words[0].length * 2); this.level = level; + this.levelCounterAction.innerText = this.levelCounter; + this.levelNumberScaler(); } catch (e) { console.error(e); } } + onStart(args) { + let res = super.onStart(args); + + let scaleHelper = new ScaleHelper(); + scaleHelper.s + this.levelCounterAction.innerText = this.levelCounter; + this.levelCounterActionContainer.classList.add("visible"); + return res; + } + + onPause(args) { + super.onPause(args); + this.levelCounterActionContainer.classList.remove("visible"); + } + async levelWon(level) { try { const db = WordRotatorDb.getInstance(); @@ -147,8 +158,6 @@ export class LevelSite extends AbstractSite { this.levelCounter++; localStorage.setItem("levelCounter", this.levelCounter); - this.levelCounterAction.setTitle(this.levelCounter); - this.levelCounterAction.redraw(); this._siteContent.classList.add('won'); localStorage.removeItem("currentLevel"); diff --git a/src/module/Application/pwa/js/site/SynchronizeSite.js b/src/module/Application/pwa/js/site/SynchronizeSite.js index 43bbfc4..170b77b 100755 --- a/src/module/Application/pwa/js/site/SynchronizeSite.js +++ b/src/module/Application/pwa/js/site/SynchronizeSite.js @@ -1,9 +1,10 @@ -import {AbstractSite, Helper} from "../../../../../js/lib/pwa-lib"; +import {Helper} from "../../../../../js/lib/pwa-lib"; import {DataManager} from "../../../../../js/lib/pwa-core"; import {WordRotatorDb} from "../WordRotatorDb"; import {LevelSite} from "./LevelSite"; +import {WordRotatorBaseSite} from "./WordRotatorBaseSite"; -export class SynchronizeSite extends AbstractSite { +export class SynchronizeSite extends WordRotatorBaseSite { constructor(siteManager) { super(siteManager, "html/application/sync.html"); diff --git a/src/module/Application/pwa/js/site/WordRotatorBaseSite.js b/src/module/Application/pwa/js/site/WordRotatorBaseSite.js new file mode 100644 index 0000000..4536daf --- /dev/null +++ b/src/module/Application/pwa/js/site/WordRotatorBaseSite.js @@ -0,0 +1,15 @@ +import {AbstractSite, Menu, MenuAction} from "../../../../../js/lib/pwa-lib"; + +export class WordRotatorBaseSite extends AbstractSite { + + createActionBarMenu(menu) { + menu = super.createActionBarMenu(menu); + let actions = menu.actions; + for (let i = 0; i < actions.length; i++) { + if (actions[i].title === "login" || actions[i].title === "registration"){ + actions[i].setVisible(false); + } + } + return menu; + } +} \ No newline at end of file diff --git a/src/module/Application/pwa/js/wordrotator/Segment/ParentSegment.js b/src/module/Application/pwa/js/wordrotator/Segment/ParentSegment.js index db5aca5..cc252e7 100755 --- a/src/module/Application/pwa/js/wordrotator/Segment/ParentSegment.js +++ b/src/module/Application/pwa/js/wordrotator/Segment/ParentSegment.js @@ -1,5 +1,4 @@ import {Segment} from "./Segment"; -import {DelayPromise} from "../../../../../../js/lib/pwa-assets"; export class ParentSegment extends Segment { static initListener(){ diff --git a/src/scss/wordRotator.scss b/src/scss/wordRotator.scss index b934c8a..5571a3d 100755 --- a/src/scss/wordRotator.scss +++ b/src/scss/wordRotator.scss @@ -179,9 +179,32 @@ $animationDuration: 0.25s; } } -#continue-button { - //width: 80%; - //margin-left: 10%; - //margin-right: 10%; - //margin-bottom: 20% -} +#level-number-container{ + transition: none; + position: absolute; + left: 50%; + transform: translate(-50%); + border: 3px solid white; + border-radius: 50%; + visibility: hidden; + margin-top: -5px; + display: table-cell; + + height: 45px; + width: 45px; + text-align: center; + vertical-align: middle; + + &.visible{ + visibility: visible; + } + + #level-number{ + transition: none; + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%,-50%); + font-weight: bold; + } +} \ No newline at end of file diff --git a/test/betaplay.testcafe b/test/betaplay.testcafe new file mode 100644 index 0000000..7cf9b8c --- /dev/null +++ b/test/betaplay.testcafe @@ -0,0 +1,19593 @@ +{ + "fixtures": [ + { + "name": "betaPlay", + "pageUrl": "http://beta.wordrotator.silas.link", + "tests": [ + { + "name": "Play", + "commands": [ + { + "actual": { + "type": "js-expr", + "value": "Selector('#action-bar-visible').find('a').withText('1').textContent" + }, + "assertionType": "eql", + "callsite": "21", + "expected": { + "type": "js-expr", + "value": "\"1\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#action-bar-visible').find('a').withText('2').textContent" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.action.always[data-id=\"55\"]').find('a').withText('2').textContent" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('a').withText('2').nth(0).textContent" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('li').withText('2').find('a').textContent" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.action.always[data-id=\"55\"]').find('a').textContent" + }, + "ruleType": "attr-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#action-bar-visible').find('li').find('a').textContent" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('nav').find('div').find('div').nth(1).find('div').find('ul').find('li').find('a').textContent" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#action-bar-visible').find('a').withText('1').textContent" + }, + "ruleType": "cust" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-90').nth(0).getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "0", + "expected": { + "type": "js-expr", + "value": "\"matrix(0, 1, -1, 0, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-90').nth(0).getStyleProperty('transform')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('.segment.segment-parent.rotate-90').nth(0).getStyleProperty('transform')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').find('.segment.segment-parent.rotate-90').nth(0).getStyleProperty('transform')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(11).find('.segment.segment-parent.rotate-90').nth(0).getStyleProperty('transform')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').withText('A').nth(1).getStyleProperty('transform')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').find('div').getStyleProperty('transform')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(1).getStyleProperty('transform')" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(12).getStyleProperty('transform')" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').getStyleProperty('transform')" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-90').nth(1).getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "1", + "expected": { + "type": "js-expr", + "value": "\"matrix(0, 1, -1, 0, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-90').nth(1).getStyleProperty('transform')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('.segment.segment-parent.rotate-90').nth(1).getStyleProperty('transform')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').find('.segment.segment-parent.rotate-90').nth(1).getStyleProperty('transform')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(11).find('.segment.segment-parent.rotate-90').nth(1).getStyleProperty('transform')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').withText('C').nth(5).getStyleProperty('transform')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').find('div').nth(10).getStyleProperty('transform')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(6).getStyleProperty('transform')" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('C').nth(17).getStyleProperty('transform')" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(10).getStyleProperty('transform')" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-270').getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "2", + "expected": { + "type": "js-expr", + "value": "\"matrix(0, -1, 1, 0, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-270').getStyleProperty('transform')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('.segment.segment-parent.rotate-270').getStyleProperty('transform')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').find('.segment.segment-parent.rotate-270').getStyleProperty('transform')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(11).find('.segment.segment-parent.rotate-270').getStyleProperty('transform')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').withText('I').nth(1).getStyleProperty('transform')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').find('div').nth(20).getStyleProperty('transform')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(10).getStyleProperty('transform')" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(11).getStyleProperty('transform')" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(20).getStyleProperty('transform')" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('#won-text').getStyleProperty('visibility')" + }, + "assertionType": "eql", + "callsite": "3", + "expected": { + "type": "js-expr", + "value": "\"hidden\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.max-height.overflow-hidden').find('.max-height').getStyleProperty('visibility')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(6).find('.max-height').getStyleProperty('visibility')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.max-height').nth(1).getStyleProperty('visibility')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('.max-height').nth(1).getStyleProperty('visibility')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('div').find('div').getStyleProperty('visibility')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(6).nth(6).find('div').getStyleProperty('visibility')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('div').withText('A').nth(1).getStyleProperty('visibility')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(7).getStyleProperty('visibility')" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').getStyleProperty('visibility')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#won-text').getStyleProperty('visibility')" + }, + "ruleType": "cust" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('#continue-button').getStyleProperty('visibility')" + }, + "assertionType": "eql", + "callsite": "4", + "expected": { + "type": "js-expr", + "value": "\"hidden\"" + }, + "options": {}, + "studio": {}, + "type": "assertion" + }, + { + "callsite": "9", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(15).find('div').withText('E')" + }, + "studio": { + "offsetX": 16, + "offsetY": 151, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(15).find('div').withText('E')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(11).find('div').withText('E')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(17).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(15).nth(15).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(11)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(17).nth(17).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(15).nth(15).nth(15).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(18)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(20).find('div').find('div').nth(6).find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-360').getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "10", + "expected": { + "type": "js-expr", + "value": "\"matrix(1, 0, 0, 1, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-360').getStyleProperty('transform')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('.segment.segment-parent.rotate-360').getStyleProperty('transform')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').find('.segment.segment-parent.rotate-360').getStyleProperty('transform')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(11).find('.segment.segment-parent.rotate-360').getStyleProperty('transform')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').withText('I').nth(1).getStyleProperty('transform')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').find('div').nth(20).getStyleProperty('transform')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(10).getStyleProperty('transform')" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(11).getStyleProperty('transform')" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(20).getStyleProperty('transform')" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "callsite": "11", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(3).find('div').withText('R')" + }, + "studio": { + "offsetX": 54, + "offsetY": 14, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(3).find('div').withText('R')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(1).find('div').withText('R')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(21).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(3).nth(3).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(1)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(21).nth(21).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(3).nth(3).nth(3).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(22)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "12", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').find('div').withText('A')" + }, + "studio": { + "offsetX": 54, + "offsetY": 14, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').find('div').withText('A')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).find('div').withText('A')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(14).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).nth(2).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(0)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(14).nth(14).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).nth(2).nth(2).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(15)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "13", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(4).find('div').withText('C')" + }, + "studio": { + "offsetX": 54, + "offsetY": 14, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(4).find('div').withText('C')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(2).find('div').withText('C')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('C').nth(15).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(4).nth(4).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(2)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('C').nth(15).nth(15).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(4).nth(4).nth(4).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('C').nth(16)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(4).find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-360').nth(0).getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "14", + "expected": { + "type": "js-expr", + "value": "\"matrix(1, 0, 0, 1, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-360').nth(0).getStyleProperty('transform')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('.segment.segment-parent.rotate-360').nth(0).getStyleProperty('transform')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').find('.segment.segment-parent.rotate-360').nth(0).getStyleProperty('transform')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(11).find('.segment.segment-parent.rotate-360').nth(0).getStyleProperty('transform')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').withText('A').nth(1).getStyleProperty('transform')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').find('div').getStyleProperty('transform')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(1).getStyleProperty('transform')" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(12).getStyleProperty('transform')" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').getStyleProperty('transform')" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "callsite": "15", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(7).find('div').withText('C')" + }, + "studio": { + "offsetX": 25, + "offsetY": 211, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(7).find('div').withText('C')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(4).find('div').withText('C')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('C').nth(19).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(7).nth(7).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(4)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('C').nth(19).nth(19).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(7).nth(7).nth(7).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('C').nth(20)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(10).find('div').find('div').find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "16", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(9).find('div').withText('A')" + }, + "studio": { + "offsetX": 24, + "offsetY": 211, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(9).find('div').withText('A')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(6).find('div').withText('A')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(18).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(9).nth(9).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(6)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(18).nth(18).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(9).nth(9).nth(9).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(19)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(10).find('div').find('div').nth(4).find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "17", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(10).find('div').withText('R')" + }, + "studio": { + "offsetX": 24, + "offsetY": 211, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(10).find('div').withText('R')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(7).find('div').withText('R')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(25).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(10).nth(10).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(7)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(25).nth(25).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(10).nth(10).nth(10).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(26)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(10).find('div').find('div').nth(6).find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-360').nth(1).getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "18", + "expected": { + "type": "js-expr", + "value": "\"matrix(1, 0, 0, 1, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-360').nth(1).getStyleProperty('transform')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('.segment.segment-parent.rotate-360').nth(1).getStyleProperty('transform')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').find('.segment.segment-parent.rotate-360').nth(1).getStyleProperty('transform')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(11).find('.segment.segment-parent.rotate-360').nth(1).getStyleProperty('transform')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').withText('C').nth(5).getStyleProperty('transform')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').find('div').nth(10).getStyleProperty('transform')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(6).getStyleProperty('transform')" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('C').nth(17).getStyleProperty('transform')" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(10).getStyleProperty('transform')" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('#won-text').visible" + }, + "assertionType": "eql", + "callsite": "19", + "expected": { + "type": "js-expr", + "value": "true" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#won-text').visible" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('b').withText('Gewonnen').visible" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('[data-translation=\"won\"]').visible" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('b').withText('Gewonnen').visible" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('[data-translation=\"won\"]').visible" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.show-when-won.height-20.center.flex-center').find('b').withText('Gewonnen').visible" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Gewonnen').nth(6).find('[data-translation=\"won\"]').visible" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('div').find('div').find('div').find('b').visible" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').find('b').visible" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('#continue-button').visible" + }, + "assertionType": "eql", + "callsite": "20", + "expected": { + "type": "js-expr", + "value": "true" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#continue-button').visible" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('button').withText('Weiter').visible" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.button.max-width[data-translation=\"continue\"]').visible" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('button').withText('Weiter').visible" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('.button.max-width[data-translation=\"continue\"]').visible" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.show-when-won.flex-center.height-20').nth(1).find('button').withText('Weiter').visible" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Weiter').nth(6).find('.button.max-width[data-translation=\"continue\"]').visible" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('div').find('div').find('div').nth(35).find('button').visible" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(35).find('button').visible" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "callsite": "22", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#continue-button')" + }, + "studio": { + "offsetX": 226, + "offsetY": 20, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#continue-button')" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('button').withText('Weiter')" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.button.max-width[data-translation=\"continue\"]')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('button').withText('Weiter')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('.button.max-width[data-translation=\"continue\"]')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.show-when-won.flex-center.height-20').nth(1).find('button').withText('Weiter')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Weiter').nth(6).find('.button.max-width[data-translation=\"continue\"]')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('div').find('div').find('div').nth(35).find('button')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(35).find('button')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-270').nth(0).textContent" + }, + "assertionType": "eql", + "callsite": "23", + "expected": { + "type": "js-expr", + "value": "\"BOAL\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-270').nth(0).textContent" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('.segment.segment-parent.rotate-270').nth(0).textContent" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').find('.segment.segment-parent.rotate-270').nth(0).textContent" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(17).find('.segment.segment-parent.rotate-270').nth(0).textContent" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').withText('B').nth(1).textContent" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').find('div').textContent" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(1).textContent" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(18).textContent" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').textContent" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-180').textContent" + }, + "assertionType": "eql", + "callsite": "24", + "expected": { + "type": "js-expr", + "value": "\"DEAR\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-180').textContent" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('.segment.segment-parent.rotate-180').textContent" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').find('.segment.segment-parent.rotate-180').textContent" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(17).find('.segment.segment-parent.rotate-180').textContent" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').withText('D').nth(1).textContent" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').find('div').nth(10).textContent" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(6).textContent" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('D').nth(18).textContent" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(10).textContent" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-360').textContent" + }, + "assertionType": "eql", + "callsite": "25", + "expected": { + "type": "js-expr", + "value": "\"NSMR\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-360').textContent" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('.segment.segment-parent.rotate-360').textContent" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').find('.segment.segment-parent.rotate-360').textContent" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(17).find('.segment.segment-parent.rotate-360').textContent" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').withText('N').nth(1).textContent" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').find('div').nth(20).textContent" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('N').nth(10).textContent" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(11).textContent" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(20).textContent" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-270').nth(1).textContent" + }, + "assertionType": "eql", + "callsite": "26", + "expected": { + "type": "js-expr", + "value": "\"EEUF\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-270').nth(1).textContent" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('.segment.segment-parent.rotate-270').nth(1).textContent" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').find('.segment.segment-parent.rotate-270').nth(1).textContent" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(17).find('.segment.segment-parent.rotate-270').nth(1).textContent" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').withText('E').nth(5).textContent" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').find('div').nth(30).textContent" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(16).textContent" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(19).textContent" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(30).textContent" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-270').nth(0).getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "27", + "expected": { + "type": "js-expr", + "value": "\"matrix(0, -1, 1, 0, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-270').nth(0).getStyleProperty('transform')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('.segment.segment-parent.rotate-270').nth(0).getStyleProperty('transform')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').find('.segment.segment-parent.rotate-270').nth(0).getStyleProperty('transform')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(17).find('.segment.segment-parent.rotate-270').nth(0).getStyleProperty('transform')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').withText('B').nth(1).getStyleProperty('transform')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').find('div').getStyleProperty('transform')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(1).getStyleProperty('transform')" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(18).getStyleProperty('transform')" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').getStyleProperty('transform')" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-180').getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "28", + "expected": { + "type": "js-expr", + "value": "\"matrix(-1, 0, 0, -1, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-180')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('.segment.segment-parent.rotate-180')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').find('.segment.segment-parent.rotate-180')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(17).find('.segment.segment-parent.rotate-180')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').withText('D').nth(1)" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').find('div').nth(10)" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(6)" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('D').nth(18)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(10)" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-180').getStyleProperty('transform')" + }, + "ruleType": "cust" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-360').getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "29", + "expected": { + "type": "js-expr", + "value": "\"matrix(1, 0, 0, 1, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-360')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('.segment.segment-parent.rotate-360')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').find('.segment.segment-parent.rotate-360')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(17).find('.segment.segment-parent.rotate-360')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').withText('N').nth(1)" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').find('div').nth(20)" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('N').nth(10)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(11)" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(20)" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-360').getStyleProperty('transform')" + }, + "ruleType": "cust" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-270').nth(1).getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "30", + "expected": { + "type": "js-expr", + "value": "\"matrix(0, -1, 1, 0, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-270').nth(1)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('.segment.segment-parent.rotate-270').nth(1)" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').find('.segment.segment-parent.rotate-270').nth(1)" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(17).find('.segment.segment-parent.rotate-270').nth(1)" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').withText('E').nth(5)" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').find('div').nth(30)" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(16)" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(19)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(30)" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-270').nth(1).getStyleProperty('transform')" + }, + "ruleType": "cust" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('#continue-button').getStyleProperty('visibility')" + }, + "assertionType": "eql", + "callsite": "31", + "expected": { + "type": "js-expr", + "value": "\"hidden\"" + }, + "options": {}, + "studio": {}, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('#action-bar-visible').find('a').withText('2').textContent" + }, + "assertionType": "eql", + "callsite": "33", + "expected": { + "type": "js-expr", + "value": "\"2\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#action-bar-visible').find('a').withText('2').textContent" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.action.always[data-id=\"55\"]').find('a').withText('2').textContent" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('a').withText('2').nth(0).textContent" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('li').withText('2').find('a').textContent" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.action.always[data-id=\"55\"]').find('a').textContent" + }, + "ruleType": "attr-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#action-bar-visible').find('li').find('a').textContent" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('nav').find('div').find('div').nth(1).find('div').find('ul').find('li').find('a').textContent" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('#won-text').getStyleProperty('visibility')" + }, + "assertionType": "eql", + "callsite": "34", + "expected": { + "type": "js-expr", + "value": "\"hidden\"" + }, + "options": {}, + "studio": {}, + "type": "assertion" + }, + { + "callsite": "35", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(10).find('div').withText('R')" + }, + "studio": { + "offsetX": 161, + "offsetY": 131, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(10).find('div').withText('R')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(7).find('div').withText('R')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(21).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(10).nth(10).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(21).nth(21).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(10).nth(10).nth(10).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(7)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(22)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(10).find('div').find('div').nth(6).find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "36", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(8).find('div').withText('E')" + }, + "studio": { + "offsetX": 161, + "offsetY": 131, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(8).find('div').withText('E')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(5).find('div').withText('E')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(17).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(8).nth(8).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(17).nth(17).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(8).nth(8).nth(8).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(5)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(18)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(10).find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "37", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(5).find('div').withText('L')" + }, + "studio": { + "offsetX": 38, + "offsetY": 141, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(5).find('div').withText('L')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(3).find('div').withText('L')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('L').nth(14).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(5).nth(5).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('L').nth(14).nth(14).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(5).nth(5).nth(5).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('L').nth(15)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(3)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(6).find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "38", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(3).find('div').withText('O')" + }, + "studio": { + "offsetX": 38, + "offsetY": 141, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(3).find('div').withText('O')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(1).find('div').withText('O')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('O').nth(12).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(3).nth(3).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('O').nth(12).nth(12).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(3).nth(3).nth(3).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('O').nth(13)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(1)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "39", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').find('div').withText('B')" + }, + "studio": { + "offsetX": 38, + "offsetY": 141, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').find('div').withText('B')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).find('div').withText('B')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(20).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).nth(2).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(20).nth(20).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).nth(2).nth(2).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(0)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(21)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "40", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(4).find('div').withText('A')" + }, + "studio": { + "offsetX": 38, + "offsetY": 141, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(4).find('div').withText('A')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(2).find('div').withText('A')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(14).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(4).nth(4).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(14).nth(14).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(4).nth(4).nth(4).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(2)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(15)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(4).find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "41", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(5).find('div').withText('L')" + }, + "studio": { + "offsetX": 38, + "offsetY": 141, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(5).find('div').withText('L')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(3).find('div').withText('L')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('L').nth(14).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(5).nth(5).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('L').nth(14).nth(14).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(5).nth(5).nth(5).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('L').nth(15)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(3)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(6).find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "42", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(17).find('div').withText('E')" + }, + "studio": { + "offsetX": 155, + "offsetY": 23, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(17).find('div').withText('E')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(12).find('div').withText('E')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(21).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(17).nth(17).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(21).nth(21).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(17).nth(17).nth(17).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(12)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(22)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(30).find('div').find('div').find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-360').nth(0).getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "43", + "expected": { + "type": "js-expr", + "value": "\"matrix(1, 0, 0, 1, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-360').nth(0).getStyleProperty('transform')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('.segment.segment-parent.rotate-360').nth(0).getStyleProperty('transform')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').find('div').withText('B').nth(0).getStyleProperty('transform')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').withText('B').nth(1).getStyleProperty('transform')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(17).find('.segment.segment-parent.rotate-360').nth(0).getStyleProperty('transform')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').find('div').getStyleProperty('transform')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(1).getStyleProperty('transform')" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(18).getStyleProperty('transform')" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').getStyleProperty('transform')" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "callsite": "44", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(4).find('div').withText('A')" + }, + "studio": { + "offsetX": 153, + "offsetY": 75, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(4).find('div').withText('A')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(2).find('div').withText('A')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(14).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(4).nth(4).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(14).nth(14).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(4).nth(4).nth(4).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(2)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(15)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(4).find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-360').nth(0).getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "45", + "expected": { + "type": "js-expr", + "value": "\"matrix(1, 0, 0, 1, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-360').nth(0).getStyleProperty('transform')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('.segment.segment-parent.rotate-360').nth(0).getStyleProperty('transform')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').find('div').withText('B').nth(0).getStyleProperty('transform')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').withText('B').nth(1).getStyleProperty('transform')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(17).find('.segment.segment-parent.rotate-360').nth(0).getStyleProperty('transform')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').find('div').getStyleProperty('transform')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(1).getStyleProperty('transform')" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(18).getStyleProperty('transform')" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').getStyleProperty('transform')" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('#won-text').visible" + }, + "assertionType": "eql", + "callsite": "46", + "expected": { + "type": "js-expr", + "value": "true" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#won-text').visible" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('b').withText('Gewonnen').visible" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('[data-translation=\"won\"]').visible" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('b').withText('Gewonnen').visible" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('[data-translation=\"won\"]').visible" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.show-when-won.height-20.center.flex-center').find('b').withText('Gewonnen').visible" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Gewonnen').nth(6).find('[data-translation=\"won\"]').visible" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('div').find('div').find('div').find('b').visible" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').find('b').visible" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('#continue-button').visible" + }, + "assertionType": "eql", + "callsite": "47", + "expected": { + "type": "js-expr", + "value": "true" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#continue-button').visible" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('button').withText('Weiter').visible" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.button.max-width[data-translation=\"continue\"]').visible" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('button').withText('Weiter').visible" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('.button.max-width[data-translation=\"continue\"]').visible" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.show-when-won.flex-center.height-20').nth(1).find('button').withText('Weiter').visible" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Weiter').nth(6).find('.button.max-width[data-translation=\"continue\"]').visible" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('div').find('div').find('div').nth(45).find('button').visible" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(45).find('button').visible" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "callsite": "48", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#continue-button')" + }, + "studio": { + "offsetX": 179, + "offsetY": 73, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#continue-button')" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('button').withText('Weiter')" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.button.max-width[data-translation=\"continue\"]')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('button').withText('Weiter')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('.button.max-width[data-translation=\"continue\"]')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.show-when-won.flex-center.height-20').nth(1).find('button').withText('Weiter')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Weiter').nth(6).find('.button.max-width[data-translation=\"continue\"]')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('div').find('div').find('div').nth(45).find('button')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(45).find('button')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-90').nth(0).textContent" + }, + "assertionType": "eql", + "callsite": "49", + "expected": { + "type": "js-expr", + "value": "\"ZEHO\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-90').nth(0).textContent" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('.segment.segment-parent.rotate-90').nth(0).textContent" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').find('.segment.segment-parent.rotate-90').nth(0).textContent" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Z').nth(9).find('.segment.segment-parent.rotate-90').nth(0).textContent" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').withText('Z').nth(1).textContent" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').find('div').textContent" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Z').nth(10).textContent" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(1).textContent" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').textContent" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-360').textContent" + }, + "assertionType": "eql", + "callsite": "50", + "expected": { + "type": "js-expr", + "value": "\"ITCH\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-360').textContent" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('.segment.segment-parent.rotate-360').textContent" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').find('.segment.segment-parent.rotate-360').textContent" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Z').nth(9).find('.segment.segment-parent.rotate-360').textContent" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').withText('I').nth(1).textContent" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').find('div').nth(10).textContent" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(10).textContent" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(6).textContent" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(10).textContent" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-270').nth(0).textContent" + }, + "assertionType": "eql", + "callsite": "51", + "expected": { + "type": "js-expr", + "value": "\"STSA\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-270').nth(0).textContent" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('.segment.segment-parent.rotate-270').nth(0).textContent" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').find('.segment.segment-parent.rotate-270').nth(0).textContent" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Z').nth(9).find('.segment.segment-parent.rotate-270').nth(0).textContent" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').withText('S').nth(1).textContent" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').find('div').nth(20).textContent" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(14).textContent" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(11).textContent" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(20).textContent" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-270').nth(1).textContent" + }, + "assertionType": "eql", + "callsite": "52", + "expected": { + "type": "js-expr", + "value": "\"RAIS\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-270').nth(1).textContent" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('.segment.segment-parent.rotate-270').nth(1).textContent" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').find('.segment.segment-parent.rotate-270').nth(1).textContent" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Z').nth(9).find('.segment.segment-parent.rotate-270').nth(1).textContent" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').withText('R').nth(1).textContent" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').find('div').nth(30).textContent" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(19).textContent" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(16).textContent" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(30).textContent" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-90').nth(1).textContent" + }, + "assertionType": "eql", + "callsite": "53", + "expected": { + "type": "js-expr", + "value": "\"FEON\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-90').nth(1).textContent" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('.segment.segment-parent.rotate-90').nth(1).textContent" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').find('.segment.segment-parent.rotate-90').nth(1).textContent" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Z').nth(9).find('.segment.segment-parent.rotate-90').nth(1).textContent" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').withText('F').nth(1).textContent" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').find('div').nth(40).textContent" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(10).textContent" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(21).textContent" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(40).textContent" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "callsite": "54", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(5).find('div').withText('O')" + }, + "studio": { + "offsetX": 93, + "offsetY": 17, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(5).find('div').withText('O')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(3).find('div').withText('O')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('O').nth(12).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(5).nth(5).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('O').nth(12).nth(12).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(5).nth(5).nth(5).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('O').nth(13)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(3)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(6).find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "55", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(3).find('div').withText('E')" + }, + "studio": { + "offsetX": 93, + "offsetY": 17, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(3).find('div').withText('E')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(1).find('div').withText('E')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(17).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(3).nth(3).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(17).nth(17).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(3).nth(3).nth(3).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(1)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(18)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "56", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').find('div').withText('Z')" + }, + "studio": { + "offsetX": 93, + "offsetY": 17, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').find('div').withText('Z')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).find('div').withText('Z')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Z').nth(12).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).nth(2).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Z').nth(12).nth(12).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).nth(2).nth(2).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Z').nth(13)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(0)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "57", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(14).find('div').withText('S')" + }, + "studio": { + "offsetX": 20, + "offsetY": 31, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(14).find('div').withText('S')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(10).find('div').withText('S')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(18).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(14).nth(14).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(18).nth(18).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(14).nth(14).nth(14).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(10)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(19)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(20).find('div').find('div').nth(4).find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "58", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(19).find('div').withText('I')" + }, + "studio": { + "offsetX": 57, + "offsetY": 28, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(19).find('div').withText('I')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(14).find('div').withText('I')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(16).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(19).nth(19).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(16).nth(16).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(19).nth(19).nth(19).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(17)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(14)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(30).find('div').find('div').nth(4).find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "59", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(25).find('div').withText('N')" + }, + "studio": { + "offsetX": 101, + "offsetY": 6, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(25).find('div').withText('N')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(19).find('div').withText('N')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('N').nth(12).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(25).nth(25).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('N').nth(12).nth(12).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(25).nth(25).nth(25).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('N').nth(13)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(19)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(40).find('div').find('div').nth(6).find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "60", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(23).find('div').withText('E')" + }, + "studio": { + "offsetX": 101, + "offsetY": 6, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(23).find('div').withText('E')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(17).find('div').withText('E')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(21).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(23).nth(23).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(21).nth(21).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(23).nth(23).nth(23).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(17)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(22)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(40).find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "61", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(22).find('div').withText('F')" + }, + "studio": { + "offsetX": 101, + "offsetY": 6, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(22).find('div').withText('F')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(16).find('div').withText('F')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(12).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(22).nth(22).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(12).nth(12).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(22).nth(22).nth(22).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(13)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(16)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(40).find('div').find('div').find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "62", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#continue-button')" + }, + "studio": { + "offsetX": 122, + "offsetY": 35, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#continue-button')" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('button').withText('Weiter')" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.button.max-width[data-translation=\"continue\"]')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('button').withText('Weiter')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('.button.max-width[data-translation=\"continue\"]')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.show-when-won.flex-center.height-20').nth(1).find('button').withText('Weiter')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Weiter').nth(6).find('.button.max-width[data-translation=\"continue\"]')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('div').find('div').find('div').nth(55).find('button')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(55).find('button')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(11).find('.segment.segment-parent.rotate-180').nth(0).textContent" + }, + "assertionType": "eql", + "callsite": "63", + "expected": { + "type": "js-expr", + "value": "\"FERÜINCKPHREYSSI\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(11).find('.segment.segment-parent.rotate-180').nth(0).textContent" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-180').nth(0).textContent" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(1).nth(1).find('.segment.segment-parent.rotate-180').nth(0).textContent" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(1).nth(1).find('.segment.segment-parent.rotate-180').nth(0).textContent" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(1).find('div').withText('F').nth(1).textContent" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(1).nth(1).nth(1).find('div').find('div').textContent" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(12).textContent" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').textContent" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).textContent" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(13).find('.segment.segment-parent.rotate-180').textContent" + }, + "assertionType": "eql", + "callsite": "64", + "expected": { + "type": "js-expr", + "value": "\"YSSI\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(13).find('.segment.segment-parent.rotate-180').textContent" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).nth(2).find('.segment.segment-parent.rotate-180').textContent" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(2).nth(2).find('.segment.segment-parent.rotate-180').textContent" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-180').nth(1).textContent" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).find('div').withText('Y').nth(1).textContent" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).nth(2).nth(2).find('div').find('div').nth(30).textContent" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Y').nth(14).textContent" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').nth(30).textContent" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(18).textContent" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(13).find('.segment.segment-parent.rotate-90').textContent" + }, + "assertionType": "eql", + "callsite": "65", + "expected": { + "type": "js-expr", + "value": "\"PHRE\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(13).find('.segment.segment-parent.rotate-90').textContent" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).nth(2).find('.segment.segment-parent.rotate-90').textContent" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(2).nth(2).find('.segment.segment-parent.rotate-90').textContent" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-90').nth(0).textContent" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).find('div').withText('P').nth(1).textContent" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).nth(2).nth(2).find('div').find('div').nth(20).textContent" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(14).textContent" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').nth(20).textContent" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(13).textContent" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(13).find('.segment.segment-parent.rotate-360').nth(1).textContent" + }, + "assertionType": "eql", + "callsite": "66", + "expected": { + "type": "js-expr", + "value": "\"INCK\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(13).find('.segment.segment-parent.rotate-360').nth(1).textContent" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-360').nth(1).textContent" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).nth(2).find('.segment.segment-parent.rotate-360').nth(1).textContent" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(2).nth(2).find('.segment.segment-parent.rotate-360').nth(1).textContent" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).find('div').withText('I').nth(1).textContent" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).nth(2).nth(2).find('div').find('div').nth(10).textContent" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(14).textContent" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').nth(10).textContent" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(8).textContent" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(13).find('.segment.segment-parent.rotate-360').nth(0).textContent" + }, + "assertionType": "eql", + "callsite": "67", + "expected": { + "type": "js-expr", + "value": "\"FERÜ\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(13).find('.segment.segment-parent.rotate-360').nth(0).textContent" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-360').nth(0).textContent" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).nth(2).find('.segment.segment-parent.rotate-360').nth(0).textContent" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(2).nth(2).find('.segment.segment-parent.rotate-360').nth(0).textContent" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).find('div').withText('F').nth(1).textContent" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).nth(2).nth(2).find('div').find('div').textContent" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(14).textContent" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').textContent" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(3).textContent" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(21).find('.segment.segment-parent.rotate-180').textContent" + }, + "assertionType": "eql", + "callsite": "68", + "expected": { + "type": "js-expr", + "value": "\"BEHE\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(21).find('.segment.segment-parent.rotate-180').textContent" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(23).nth(23).find('.segment.segment-parent.rotate-180').textContent" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(7).nth(7).find('.segment.segment-parent.rotate-180').textContent" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-180').nth(2).textContent" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(23).find('div').withText('B').nth(1).textContent" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(23).nth(23).nth(23).find('div').find('div').textContent" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(22).textContent" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(42).find('div').find('div').textContent" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(24).textContent" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(21).find('.segment.segment-parent.rotate-270').textContent" + }, + "assertionType": "eql", + "callsite": "69", + "expected": { + "type": "js-expr", + "value": "\"RARZ\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(21).find('.segment.segment-parent.rotate-270').textContent" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-270').nth(0).textContent" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(23).nth(23).find('.segment.segment-parent.rotate-270').textContent" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(7).nth(7).find('.segment.segment-parent.rotate-270').textContent" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(23).find('div').withText('R').nth(1).textContent" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(23).nth(23).nth(23).find('div').find('div').nth(10).textContent" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(42).find('div').find('div').nth(10).textContent" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(33).textContent" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(29).textContent" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('G').nth(13).find('.segment.segment-parent.rotate-270').textContent" + }, + "assertionType": "eql", + "callsite": "70", + "expected": { + "type": "js-expr", + "value": "\"GUFA\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('G').nth(13).find('.segment.segment-parent.rotate-270').textContent" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-270').nth(1).textContent" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(35).nth(35).find('.segment.segment-parent.rotate-270').textContent" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(11).nth(11).find('.segment.segment-parent.rotate-270').textContent" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(35).find('div').withText('G').nth(1).textContent" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(35).nth(35).nth(35).find('div').find('div').textContent" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('G').nth(14).textContent" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').find('div').find('div').textContent" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(36).textContent" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('G').nth(13).find('.segment.segment-parent.rotate-180').textContent" + }, + "assertionType": "eql", + "callsite": "71", + "expected": { + "type": "js-expr", + "value": "\"SSLL\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('G').nth(13).find('.segment.segment-parent.rotate-180').textContent" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(35).nth(35).find('.segment.segment-parent.rotate-180').textContent" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(11).nth(11).find('.segment.segment-parent.rotate-180').textContent" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-180').nth(3).textContent" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(35).find('div').withText('S').nth(1).textContent" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(35).nth(35).nth(35).find('div').find('div').nth(10).textContent" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(28).textContent" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').find('div').find('div').nth(10).textContent" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(41).textContent" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-90').nth(1).textContent" + }, + "assertionType": "eql", + "callsite": "72", + "expected": { + "type": "js-expr", + "value": "\"IKDEERNZTULANGND\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-90').nth(1).textContent" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('G').nth(11).find('.segment.segment-parent.rotate-90').nth(0).textContent" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(34).nth(34).find('.segment.segment-parent.rotate-90').nth(0).textContent" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(10).nth(10).find('.segment.segment-parent.rotate-90').nth(0).textContent" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(34).find('div').withText('I').nth(1).textContent" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(34).nth(34).nth(34).find('div').find('div').nth(22).textContent" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(24).textContent" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).textContent" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(46).textContent" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(25).find('.segment.segment-parent.rotate-360').nth(0).textContent" + }, + "assertionType": "eql", + "callsite": "73", + "expected": { + "type": "js-expr", + "value": "\"TULA\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(25).find('.segment.segment-parent.rotate-360').nth(0).textContent" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-360').nth(2).textContent" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(46).nth(46).find('.segment.segment-parent.rotate-360').nth(0).textContent" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(14).nth(14).find('.segment.segment-parent.rotate-360').nth(0).textContent" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(46).find('div').withText('T').nth(1).textContent" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(46).nth(46).nth(46).find('div').find('div').nth(20).textContent" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('T').nth(14).textContent" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).find('div').find('div').nth(20).textContent" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(57).textContent" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(25).find('.segment.segment-parent.rotate-90').textContent" + }, + "assertionType": "eql", + "callsite": "74", + "expected": { + "type": "js-expr", + "value": "\"IKDE\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(25).find('.segment.segment-parent.rotate-90').textContent" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(46).nth(46).find('.segment.segment-parent.rotate-90').textContent" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(14).nth(14).find('.segment.segment-parent.rotate-90').textContent" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-90').nth(2).textContent" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(46).find('div').withText('I').nth(1).textContent" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(46).nth(46).nth(46).find('div').find('div').textContent" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(26).textContent" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).find('div').find('div').textContent" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(47).textContent" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(25).find('.segment.segment-parent.rotate-360').nth(1).textContent" + }, + "assertionType": "eql", + "callsite": "75", + "expected": { + "type": "js-expr", + "value": "\"NGND\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(25).find('.segment.segment-parent.rotate-360').nth(1).textContent" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-360').nth(3).textContent" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(46).nth(46).find('.segment.segment-parent.rotate-360').nth(1).textContent" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(14).nth(14).find('.segment.segment-parent.rotate-360').nth(1).textContent" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(46).find('div').withText('N').nth(5).textContent" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(46).nth(46).nth(46).find('div').find('div').nth(30).textContent" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('N').nth(26).textContent" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).find('div').find('div').nth(30).textContent" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(62).textContent" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(25).find('.segment.segment-parent.rotate-90').textContent" + }, + "assertionType": "eql", + "callsite": "76", + "expected": { + "type": "js-expr", + "value": "\"IKDE\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(25).find('.segment.segment-parent.rotate-90').textContent" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(46).nth(46).find('.segment.segment-parent.rotate-90').textContent" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(14).nth(14).find('.segment.segment-parent.rotate-90').textContent" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-90').nth(2).textContent" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(46).find('div').withText('I').nth(1).textContent" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(46).nth(46).nth(46).find('div').find('div').textContent" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(26).textContent" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).find('div').find('div').textContent" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(47).textContent" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(11).find('.segment.segment-parent.rotate-180').nth(0).getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "77", + "expected": { + "type": "js-expr", + "value": "\"matrix(-1, 0, 0, -1, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(11).find('.segment.segment-parent.rotate-180').nth(0).getStyleProperty('transform')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-180').nth(0).getStyleProperty('transform')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(1).nth(1).find('.segment.segment-parent.rotate-180').nth(0).getStyleProperty('transform')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(1).nth(1).find('.segment.segment-parent.rotate-180').nth(0).getStyleProperty('transform')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(1).find('div').withText('F').nth(1).getStyleProperty('transform')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(1).nth(1).nth(1).find('div').find('div').getStyleProperty('transform')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(12).getStyleProperty('transform')" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').getStyleProperty('transform')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).getStyleProperty('transform')" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(13).find('.segment.segment-parent.rotate-180').getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "78", + "expected": { + "type": "js-expr", + "value": "\"matrix(1, 0, 0, 1, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(13).find('.segment.segment-parent.rotate-180')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).nth(2).find('.segment.segment-parent.rotate-180')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(2).nth(2).find('.segment.segment-parent.rotate-180')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-180').nth(1)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).find('div').withText('Y').nth(1)" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).nth(2).nth(2).find('div').find('div').nth(30)" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Y').nth(14)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').nth(30)" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(18)" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(13).find('.segment.segment-parent.rotate-180').getStyleProperty('transform')" + }, + "ruleType": "cust" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(13).find('.segment.segment-parent.rotate-90').getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "79", + "expected": { + "type": "js-expr", + "value": "\"matrix(0, -1, 1, 0, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(13).find('.segment.segment-parent.rotate-90')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).nth(2).find('.segment.segment-parent.rotate-90')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(2).nth(2).find('.segment.segment-parent.rotate-90')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-90').nth(0)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).find('div').withText('P').nth(1)" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).nth(2).nth(2).find('div').find('div').nth(20)" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(14)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').nth(20)" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(13)" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(13).find('.segment.segment-parent.rotate-90').getStyleProperty('transform')" + }, + "ruleType": "cust" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(13).find('.segment.segment-parent.rotate-360').nth(1).getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "80", + "expected": { + "type": "js-expr", + "value": "\"matrix(-1, 0, 0, -1, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(13).find('.segment.segment-parent.rotate-360').nth(1)" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-360').nth(1)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).nth(2).find('.segment.segment-parent.rotate-360').nth(1)" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(2).nth(2).find('.segment.segment-parent.rotate-360').nth(1)" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).find('div').withText('I').nth(1)" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).nth(2).nth(2).find('div').find('div').nth(10)" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(14)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').nth(10)" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(8)" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(13).find('.segment.segment-parent.rotate-360').nth(1).getStyleProperty('transform')" + }, + "ruleType": "cust" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(13).find('.segment.segment-parent.rotate-360').nth(0).getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "81", + "expected": { + "type": "js-expr", + "value": "\"matrix(-1, 0, 0, -1, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(13).find('.segment.segment-parent.rotate-360').nth(0)" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-360').nth(0)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).nth(2).find('.segment.segment-parent.rotate-360').nth(0)" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(2).nth(2).find('.segment.segment-parent.rotate-360').nth(0)" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).find('div').withText('F').nth(1)" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).nth(2).nth(2).find('div').find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(14)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(3)" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(13).find('.segment.segment-parent.rotate-360').nth(0).getStyleProperty('transform')" + }, + "ruleType": "cust" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(21).find('.segment.segment-parent.rotate-180').getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "82", + "expected": { + "type": "js-expr", + "value": "\"matrix(-1, 0, 0, -1, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(21).find('.segment.segment-parent.rotate-180')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(23).nth(23).find('.segment.segment-parent.rotate-180')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(7).nth(7).find('.segment.segment-parent.rotate-180')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-180').nth(2)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(23).find('div').withText('B').nth(1)" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(23).nth(23).nth(23).find('div').find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(22)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(42).find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(24)" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(21).find('.segment.segment-parent.rotate-180').getStyleProperty('transform')" + }, + "ruleType": "cust" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(21).find('.segment.segment-parent.rotate-270').getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "83", + "expected": { + "type": "js-expr", + "value": "\"matrix(0, -1, 1, 0, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(21).find('.segment.segment-parent.rotate-270')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-270').nth(0)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(23).nth(23).find('.segment.segment-parent.rotate-270')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(7).nth(7).find('.segment.segment-parent.rotate-270')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(23).find('div').withText('R').nth(1)" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(23).nth(23).nth(23).find('div').find('div').nth(10)" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(42).find('div').find('div').nth(10)" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(33)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(29)" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(21).find('.segment.segment-parent.rotate-270').getStyleProperty('transform')" + }, + "ruleType": "cust" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('G').nth(13).find('.segment.segment-parent.rotate-270').getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "84", + "expected": { + "type": "js-expr", + "value": "\"matrix(0, -1, 1, 0, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('G').nth(13).find('.segment.segment-parent.rotate-270')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-270').nth(1)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(35).nth(35).find('.segment.segment-parent.rotate-270')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(11).nth(11).find('.segment.segment-parent.rotate-270')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(35).find('div').withText('G').nth(1)" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(35).nth(35).nth(35).find('div').find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('G').nth(14)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(36)" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('G').nth(13).find('.segment.segment-parent.rotate-270').getStyleProperty('transform')" + }, + "ruleType": "cust" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('G').nth(13).find('.segment.segment-parent.rotate-180').getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "85", + "expected": { + "type": "js-expr", + "value": "\"matrix(-1, 0, 0, -1, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('G').nth(13).find('.segment.segment-parent.rotate-180')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(35).nth(35).find('.segment.segment-parent.rotate-180')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(11).nth(11).find('.segment.segment-parent.rotate-180')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-180').nth(3)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(35).find('div').withText('S').nth(1)" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(35).nth(35).nth(35).find('div').find('div').nth(10)" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(28)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').find('div').find('div').nth(10)" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(41)" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('G').nth(13).find('.segment.segment-parent.rotate-180').getStyleProperty('transform')" + }, + "ruleType": "cust" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-90').nth(1).getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "86", + "expected": { + "type": "js-expr", + "value": "\"matrix(0, 1, -1, 0, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-90').nth(1)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('G').nth(11).find('.segment.segment-parent.rotate-90').nth(0)" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(34).nth(34).find('.segment.segment-parent.rotate-90').nth(0)" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(10).nth(10).find('.segment.segment-parent.rotate-90').nth(0)" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(34).find('div').withText('I').nth(1)" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(34).nth(34).nth(34).find('div').find('div').nth(22)" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(24)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22)" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(46)" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-90').nth(1).getStyleProperty('transform')" + }, + "ruleType": "cust" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(25).find('.segment.segment-parent.rotate-360').nth(0).getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "87", + "expected": { + "type": "js-expr", + "value": "\"matrix(0, -1, 1, 0, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(25).find('.segment.segment-parent.rotate-360').nth(0)" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-360').nth(2)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(46).nth(46).find('.segment.segment-parent.rotate-360').nth(0)" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(14).nth(14).find('.segment.segment-parent.rotate-360').nth(0)" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(46).find('div').withText('T').nth(1)" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(46).nth(46).nth(46).find('div').find('div').nth(20)" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('T').nth(14)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).find('div').find('div').nth(20)" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(57)" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(25).find('.segment.segment-parent.rotate-360').nth(0).getStyleProperty('transform')" + }, + "ruleType": "cust" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(25).find('.segment.segment-parent.rotate-90').getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "88", + "expected": { + "type": "js-expr", + "value": "\"matrix(1, 0, 0, 1, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(25).find('.segment.segment-parent.rotate-90')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(46).nth(46).find('.segment.segment-parent.rotate-90')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(14).nth(14).find('.segment.segment-parent.rotate-90')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-90').nth(2)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(46).find('div').withText('I').nth(1)" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(46).nth(46).nth(46).find('div').find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(26)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(47)" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(25).find('.segment.segment-parent.rotate-90').getStyleProperty('transform')" + }, + "ruleType": "cust" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(25).find('.segment.segment-parent.rotate-360').nth(1).getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "89", + "expected": { + "type": "js-expr", + "value": "\"matrix(0, -1, 1, 0, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(25).find('.segment.segment-parent.rotate-360').nth(1)" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-360').nth(3)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(46).nth(46).find('.segment.segment-parent.rotate-360').nth(1)" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(14).nth(14).find('.segment.segment-parent.rotate-360').nth(1)" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(46).find('div').withText('N').nth(5)" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(46).nth(46).nth(46).find('div').find('div').nth(30)" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('N').nth(26)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).find('div').find('div').nth(30)" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(62)" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(25).find('.segment.segment-parent.rotate-360').nth(1).getStyleProperty('transform')" + }, + "ruleType": "cust" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(25).find('.segment.segment-parent.rotate-180').getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "90", + "expected": { + "type": "js-expr", + "value": "\"matrix(0, 1, -1, 0, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(25).find('.segment.segment-parent.rotate-180')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(46).nth(46).find('.segment.segment-parent.rotate-180')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(14).nth(14).find('.segment.segment-parent.rotate-180')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-180').nth(4)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(46).find('div').withText('E').nth(5)" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(46).nth(46).nth(46).find('div').find('div').nth(10)" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).find('div').find('div').nth(10)" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(43)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(52)" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(25).find('.segment.segment-parent.rotate-180').getStyleProperty('transform')" + }, + "ruleType": "cust" + } + ] + }, + "type": "assertion" + }, + { + "callsite": "91", + "dragOffsetX": 128, + "dragOffsetY": 3, + "options": { + "offsetX": 54, + "offsetY": 17 + }, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(20).find('div').withText('S')" + }, + "studio": { + "offsetX": 54, + "offsetY": 17, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(20).find('div').withText('S')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(13).find('div').withText('S')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(20).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(20).nth(20).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(20).nth(20).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(20).nth(20).nth(20).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(21)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').nth(30).find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(13)" + }, + "ruleType": "attr" + } + ], + "useOffsets": true + }, + "type": "drag" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-270').nth(0).getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "92", + "expected": { + "type": "js-expr", + "value": "\"matrix(0, -1, 1, 0, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-270').nth(0).getStyleProperty('transform')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(11).find('.segment.segment-parent.rotate-270').nth(0).getStyleProperty('transform')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(1).nth(1).find('.segment.segment-parent.rotate-270').nth(0).getStyleProperty('transform')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(1).nth(1).find('.segment.segment-parent.rotate-270').nth(0).getStyleProperty('transform')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(1).find('div').withText('F').nth(1).getStyleProperty('transform')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(1).nth(1).nth(1).find('div').find('div').getStyleProperty('transform')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(12).getStyleProperty('transform')" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').getStyleProperty('transform')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).getStyleProperty('transform')" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "callsite": "93", + "dragOffsetX": 21, + "dragOffsetY": 4, + "options": { + "offsetX": 27, + "offsetY": 41 + }, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(9).find('div').withText('I')" + }, + "studio": { + "offsetX": 27, + "offsetY": 41, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(9).find('div').withText('I')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(4).find('div').withText('I')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(16).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(9).nth(9).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(16).nth(16).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(9).nth(9).nth(9).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(17)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').nth(10).find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(4)" + }, + "ruleType": "attr" + } + ], + "useOffsets": true + }, + "type": "drag" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(13).find('.segment.segment-parent.rotate-90').nth(0).getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "94", + "expected": { + "type": "js-expr", + "value": "\"matrix(-1, 0, 0, -1, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(13).find('.segment.segment-parent.rotate-90').nth(0).getStyleProperty('transform')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-90').nth(0).getStyleProperty('transform')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).nth(2).find('.segment.segment-parent.rotate-90').nth(0).getStyleProperty('transform')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(2).nth(2).find('.segment.segment-parent.rotate-90').nth(0).getStyleProperty('transform')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).find('div').withText('I').nth(1).getStyleProperty('transform')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).nth(2).nth(2).find('div').find('div').nth(10).getStyleProperty('transform')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(14).getStyleProperty('transform')" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').nth(10).getStyleProperty('transform')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(8).getStyleProperty('transform')" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "callsite": "95", + "dragOffsetX": 10, + "dragOffsetY": 144, + "options": { + "offsetX": 64, + "offsetY": 32 + }, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(20).find('div').withText('S')" + }, + "studio": { + "offsetX": 64, + "offsetY": 32, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(20).find('div').withText('S')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(13).find('div').withText('S')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(20).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(20).nth(20).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(20).nth(20).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(20).nth(20).nth(20).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(21)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').nth(30).find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(13)" + }, + "ruleType": "attr" + } + ], + "useOffsets": true + }, + "type": "drag" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(11).find('.segment.segment-parent.rotate-360').nth(0).getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "96", + "expected": { + "type": "js-expr", + "value": "\"matrix(1, 0, 0, 1, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(11).find('.segment.segment-parent.rotate-360').nth(0).getStyleProperty('transform')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-360').nth(0).getStyleProperty('transform')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(1).nth(1).find('.segment.segment-parent.rotate-360').nth(0).getStyleProperty('transform')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(1).nth(1).find('.segment.segment-parent.rotate-360').nth(0).getStyleProperty('transform')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(1).find('div').withText('F').nth(1).getStyleProperty('transform')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(1).nth(1).nth(1).find('div').find('div').getStyleProperty('transform')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(12).getStyleProperty('transform')" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').getStyleProperty('transform')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).getStyleProperty('transform')" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "callsite": "97", + "dragOffsetX": 364, + "dragOffsetY": 16, + "options": { + "offsetX": 16, + "offsetY": 20 + }, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(61).find('div').withText('A')" + }, + "studio": { + "offsetX": 16, + "offsetY": 20, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(61).find('div').withText('A')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(43).find('div').withText('A')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(32).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(61).nth(61).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(32).nth(32).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(61).nth(61).nth(61).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(33)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).find('div').find('div').nth(20).find('div').find('div').nth(6).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(43)" + }, + "ruleType": "attr" + } + ], + "useOffsets": true + }, + "type": "drag" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('G').nth(11).find('.segment.segment-parent.rotate-90').nth(0).getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "98", + "expected": { + "type": "js-expr", + "value": "\"matrix(0, 1, -1, 0, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('G').nth(11).find('.segment.segment-parent.rotate-90').nth(0).getStyleProperty('transform')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-90').nth(2).getStyleProperty('transform')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(34).nth(34).find('.segment.segment-parent.rotate-90').nth(0).getStyleProperty('transform')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(10).nth(10).find('.segment.segment-parent.rotate-90').nth(0).getStyleProperty('transform')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(34).find('div').withText('I').nth(1).getStyleProperty('transform')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(34).nth(34).nth(34).find('div').find('div').nth(22).getStyleProperty('transform')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(24).getStyleProperty('transform')" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).getStyleProperty('transform')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(46).getStyleProperty('transform')" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "callsite": "99", + "dragOffsetX": -16, + "dragOffsetY": 133, + "options": { + "offsetX": 14, + "offsetY": 20 + }, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(49).find('div').withText('K')" + }, + "studio": { + "offsetX": 14, + "offsetY": 20, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(49).find('div').withText('K')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(33).find('div').withText('K')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('K').nth(24).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(49).nth(49).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('K').nth(24).nth(24).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(49).nth(49).nth(49).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('K').nth(25)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).find('div').find('div').find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(33)" + }, + "ruleType": "attr" + } + ], + "useOffsets": true + }, + "type": "drag" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('G').nth(11).find('.segment.segment-parent.rotate-180').nth(1).getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "100", + "expected": { + "type": "js-expr", + "value": "\"matrix(-1, 0, 0, -1, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('G').nth(11).find('.segment.segment-parent.rotate-180').nth(1).getStyleProperty('transform')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-180').nth(3).getStyleProperty('transform')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(34).nth(34).find('.segment.segment-parent.rotate-180').nth(1).getStyleProperty('transform')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(10).nth(10).find('.segment.segment-parent.rotate-180').nth(1).getStyleProperty('transform')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(34).find('div').withText('I').nth(1).getStyleProperty('transform')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(34).nth(34).nth(34).find('div').find('div').nth(22).getStyleProperty('transform')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(24).getStyleProperty('transform')" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).getStyleProperty('transform')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(46).getStyleProperty('transform')" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "callsite": "101", + "dragOffsetX": -115, + "dragOffsetY": -3, + "options": { + "offsetX": 52, + "offsetY": 14 + }, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(51).find('div').withText('E')" + }, + "studio": { + "offsetX": 52, + "offsetY": 14, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(51).find('div').withText('E')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(35).find('div').withText('E')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(41).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(51).nth(51).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(41).nth(41).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(51).nth(51).nth(51).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).find('div').find('div').find('div').find('div').nth(6).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(42)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(35)" + }, + "ruleType": "attr" + } + ], + "useOffsets": true + }, + "type": "drag" + }, + { + "callsite": "102", + "dragOffsetX": -5, + "dragOffsetY": -103, + "options": { + "offsetX": 10, + "offsetY": 69 + }, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(48).find('div').withText('I')" + }, + "studio": { + "offsetX": 10, + "offsetY": 69, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(48).find('div').withText('I')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(32).find('div').withText('I')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(28).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(48).nth(48).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(28).nth(28).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(48).nth(48).nth(48).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(29)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).find('div').find('div').find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(32)" + }, + "ruleType": "attr" + } + ], + "useOffsets": true + }, + "type": "drag" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('G').nth(11).find('.segment.segment-parent.rotate-360').nth(0).getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "103", + "expected": { + "type": "js-expr", + "value": "\"matrix(1, 0, 0, 1, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('G').nth(11).find('.segment.segment-parent.rotate-360').nth(0).getStyleProperty('transform')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-360').nth(2).getStyleProperty('transform')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(34).nth(34).find('.segment.segment-parent.rotate-360').nth(0).getStyleProperty('transform')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(10).nth(10).find('.segment.segment-parent.rotate-360').nth(0).getStyleProperty('transform')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(34).find('div').withText('I').nth(1).getStyleProperty('transform')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(34).nth(34).nth(34).find('div').find('div').nth(22).getStyleProperty('transform')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(24).getStyleProperty('transform')" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).getStyleProperty('transform')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(46).getStyleProperty('transform')" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "callsite": "104", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(45).find('div').withText('L')" + }, + "studio": { + "offsetX": 47, + "offsetY": 66, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(45).find('div').withText('L')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(31).find('div').withText('L')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('L').nth(20).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(45).nth(45).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('L').nth(20).nth(20).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(45).nth(45).nth(45).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('L').nth(21)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').find('div').find('div').nth(10).find('div').find('div').nth(6).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(31)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "105", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(43).find('div').withText('S')" + }, + "studio": { + "offsetX": 47, + "offsetY": 66, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(43).find('div').withText('S')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(29).find('div').withText('S')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(32).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(43).nth(43).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(32).nth(32).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(43).nth(43).nth(43).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(33)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').find('div').find('div').nth(10).find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(29)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "106", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(39).find('div').withText('F')" + }, + "studio": { + "offsetX": 38, + "offsetY": 6, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(39).find('div').withText('F')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(26).find('div').withText('F')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(24).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(39).nth(39).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(24).nth(24).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(39).nth(39).nth(39).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(25)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').find('div').find('div').find('div').find('div').nth(4).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(26)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "107", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(26).find('div').withText('E')" + }, + "studio": { + "offsetX": 56, + "offsetY": 23, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(26).find('div').withText('E')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(17).find('div').withText('E')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(31).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(26).nth(26).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(31).nth(31).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(26).nth(26).nth(26).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(42).find('div').find('div').find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(32)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(17)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "108", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(25).find('div').withText('B')" + }, + "studio": { + "offsetX": 56, + "offsetY": 23, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(25).find('div').withText('B')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(16).find('div').withText('B')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(24).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(25).nth(25).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(24).nth(24).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(25).nth(25).nth(25).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(25)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(42).find('div').find('div').find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(16)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "109", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(30).find('div').withText('R')" + }, + "studio": { + "offsetX": 36, + "offsetY": 9, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(30).find('div').withText('R')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(20).find('div').withText('R')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(35).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(30).nth(30).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(35).nth(35).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(30).nth(30).nth(30).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(42).find('div').find('div').nth(10).find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(36)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(20)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "110", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(12).find('div').withText('K')" + }, + "studio": { + "offsetX": 62, + "offsetY": 34, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(12).find('div').withText('K')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(7).find('div').withText('K')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('K').nth(16).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(12).nth(12).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('K').nth(16).nth(16).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(12).nth(12).nth(12).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('K').nth(17)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').nth(10).find('div').find('div').nth(6).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(7)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "111", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(10).find('div').withText('N')" + }, + "studio": { + "offsetX": 62, + "offsetY": 30, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(10).find('div').withText('N')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(5).find('div').withText('N')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('N').nth(16).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(10).nth(10).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('N').nth(16).nth(16).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(10).nth(10).nth(10).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('N').nth(17)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').nth(10).find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(5)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "112", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(9).find('div').withText('I')" + }, + "studio": { + "offsetX": 62, + "offsetY": 30, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(9).find('div').withText('I')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(4).find('div').withText('I')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(16).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(9).nth(9).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(16).nth(16).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(9).nth(9).nth(9).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(17)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').nth(10).find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(4)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "113", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(55).find('div').withText('N')" + }, + "studio": { + "offsetX": 25, + "offsetY": 66, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(55).find('div').withText('N')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(38).find('div').withText('N')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('N').nth(24).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(55).nth(55).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('N').nth(24).nth(24).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(55).nth(55).nth(55).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('N').nth(25)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).find('div').find('div').nth(10).find('div').find('div').nth(4).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(38)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "114", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(17).find('div').withText('E')" + }, + "studio": { + "offsetX": 50, + "offsetY": 12, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(17).find('div').withText('E')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(11).find('div').withText('E')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(25).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(17).nth(17).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(25).nth(25).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(17).nth(17).nth(17).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').nth(20).find('div').find('div').nth(6).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(26)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(11)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "115", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(15).find('div').withText('H')" + }, + "studio": { + "offsetX": 51, + "offsetY": 12, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(15).find('div').withText('H')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(9).find('div').withText('H')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('H').nth(16).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(15).nth(15).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('H').nth(16).nth(16).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(15).nth(15).nth(15).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('H').nth(17)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').nth(20).find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(9)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "116", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(21).find('div').withText('S')" + }, + "studio": { + "offsetX": 32, + "offsetY": 60, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(21).find('div').withText('S')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(14).find('div').withText('S')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(22).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(21).nth(21).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(22).nth(22).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(21).nth(21).nth(21).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(23)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').nth(30).find('div').find('div').nth(4).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(14)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "117", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(22).find('div').withText('I')" + }, + "studio": { + "offsetX": 32, + "offsetY": 60, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(22).find('div').withText('I')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(15).find('div').withText('I')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(20).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(22).nth(22).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(20).nth(20).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(22).nth(22).nth(22).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(21)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').nth(30).find('div').find('div').nth(6).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(15)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "118", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(20).find('div').withText('S')" + }, + "studio": { + "offsetX": 32, + "offsetY": 60, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(20).find('div').withText('S')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(13).find('div').withText('S')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(20).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(20).nth(20).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(20).nth(20).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(20).nth(20).nth(20).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(21)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').nth(30).find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(13)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "119", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(16).find('div').withText('R')" + }, + "studio": { + "offsetX": 16, + "offsetY": 13, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(16).find('div').withText('R')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(10).find('div').withText('R')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(29).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(16).nth(16).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(29).nth(29).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(16).nth(16).nth(16).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').nth(20).find('div').find('div').nth(4).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(30)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(10)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "120", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(22).find('div').withText('I')" + }, + "studio": { + "offsetX": 54, + "offsetY": null, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(22).find('div').withText('I')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(15).find('div').withText('I')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(20).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(22).nth(22).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(20).nth(20).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(22).nth(22).nth(22).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(21)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').nth(30).find('div').find('div').nth(6).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(15)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "121", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(22).find('div').withText('I')" + }, + "studio": { + "offsetX": 53, + "offsetY": 67, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(22).find('div').withText('I')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(15).find('div').withText('I')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(20).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(22).nth(22).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(20).nth(20).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(22).nth(22).nth(22).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(21)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').nth(30).find('div').find('div').nth(6).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(15)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "122", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(20).find('div').withText('S')" + }, + "studio": { + "offsetX": 53, + "offsetY": 67, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(20).find('div').withText('S')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(13).find('div').withText('S')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(20).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(20).nth(20).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(20).nth(20).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(20).nth(20).nth(20).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(21)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').nth(30).find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(13)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "123", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(49).find('div').withText('K')" + }, + "studio": { + "offsetX": 17, + "offsetY": 6, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(49).find('div').withText('K')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(33).find('div').withText('K')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('K').nth(24).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(49).nth(49).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('K').nth(24).nth(24).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(49).nth(49).nth(49).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('K').nth(25)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).find('div').find('div').find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(33)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "124", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(48).find('div').withText('I')" + }, + "studio": { + "offsetX": 17, + "offsetY": 6, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(48).find('div').withText('I')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(32).find('div').withText('I')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(28).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(48).nth(48).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(28).nth(28).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(48).nth(48).nth(48).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(29)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).find('div').find('div').find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(32)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "125", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(50).find('div').withText('D')" + }, + "studio": { + "offsetX": 17, + "offsetY": 6, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(50).find('div').withText('D')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(34).find('div').withText('D')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('D').nth(24).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(50).nth(50).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('D').nth(24).nth(24).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(50).nth(50).nth(50).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('D').nth(25)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).find('div').find('div').find('div').find('div').nth(4).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(34)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "126", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(53).find('div').withText('E')" + }, + "studio": { + "offsetX": 29, + "offsetY": 6, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(53).find('div').withText('E')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(36).find('div').withText('E')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(45).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(53).nth(53).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(45).nth(45).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(53).nth(53).nth(53).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).find('div').find('div').nth(10).find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(46)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(36)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('#continue-button').visible" + }, + "assertionType": "eql", + "callsite": "127", + "expected": { + "type": "js-expr", + "value": "true" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#continue-button').visible" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('button').withText('Weiter').visible" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.button.max-width[data-translation=\"continue\"]').visible" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('button').withText('Weiter').visible" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('.button.max-width[data-translation=\"continue\"]').visible" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.show-when-won.flex-center.height-20').nth(1).find('button').withText('Weiter').visible" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Weiter').nth(6).find('.button.max-width[data-translation=\"continue\"]').visible" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('div').find('div').find('div').nth(137).find('button').visible" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(137).find('button').visible" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('#won-text').visible" + }, + "assertionType": "eql", + "callsite": "128", + "expected": { + "type": "js-expr", + "value": "true" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#won-text').visible" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('b').withText('Gewonnen').visible" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('[data-translation=\"won\"]').visible" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('b').withText('Gewonnen').visible" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('[data-translation=\"won\"]').visible" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.show-when-won.height-20.center.flex-center').find('b').withText('Gewonnen').visible" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Gewonnen').nth(6).find('[data-translation=\"won\"]').visible" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('div').find('div').find('div').find('b').visible" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').find('b').visible" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "callsite": "129", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#continue-button')" + }, + "studio": { + "offsetX": 125, + "offsetY": 59, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#continue-button')" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('button').withText('Weiter')" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.button.max-width[data-translation=\"continue\"]')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('button').withText('Weiter')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('.button.max-width[data-translation=\"continue\"]')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.show-when-won.flex-center.height-20').nth(1).find('button').withText('Weiter')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Weiter').nth(6).find('.button.max-width[data-translation=\"continue\"]')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('div').find('div').find('div').nth(137).find('button')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(137).find('button')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('#action-bar-visible').find('a').withText('5').textContent" + }, + "assertionType": "eql", + "callsite": "130", + "expected": { + "type": "js-expr", + "value": "\"5\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#action-bar-visible').find('a').withText('5').textContent" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.action.always[data-id=\"55\"]').find('a').withText('5').textContent" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('a').withText('5').nth(0).textContent" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('li').withText('5').find('a').textContent" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.action.always[data-id=\"55\"]').find('a').textContent" + }, + "ruleType": "attr-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#action-bar-visible').find('li').find('a').textContent" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('nav').find('div').find('div').nth(1).find('div').find('ul').find('li').find('a').textContent" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.layer-2.rotate-360').textContent" + }, + "assertionType": "eql", + "callsite": "131", + "expected": { + "type": "js-expr", + "value": "\"BEANTOBEALBALEUM\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.layer-2.rotate-360').textContent" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('.segment.segment-parent.layer-2.rotate-360').textContent" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').find('.segment.segment-parent.layer-2.rotate-360').textContent" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(17).find('.segment.segment-parent.layer-2.rotate-360').textContent" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').find('div').textContent" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').withText('B').nth(1).textContent" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(18).textContent" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').textContent" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(1).textContent" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.layer-2.rotate-90').textContent" + }, + "assertionType": "eql", + "callsite": "132", + "expected": { + "type": "js-expr", + "value": "\"NUTUNGNGRGHAIEUS\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.layer-2.rotate-90').textContent" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('.segment.segment-parent.layer-2.rotate-90').textContent" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').find('.segment.segment-parent.layer-2.rotate-90').textContent" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(17).find('.segment.segment-parent.layer-2.rotate-90').textContent" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').find('div').nth(42).textContent" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').withText('N').nth(7).textContent" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('N').nth(16).textContent" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(42).textContent" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(22).textContent" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.layer-2.rotate-360').getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "133", + "expected": { + "type": "js-expr", + "value": "\"matrix(1, 0, 0, 1, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.layer-2.rotate-360').getStyleProperty('transform')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('.segment.segment-parent.layer-2.rotate-360').getStyleProperty('transform')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').find('.segment.segment-parent.layer-2.rotate-360').getStyleProperty('transform')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(17).find('.segment.segment-parent.layer-2.rotate-360').getStyleProperty('transform')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').find('div').getStyleProperty('transform')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').withText('B').nth(1).getStyleProperty('transform')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(18).getStyleProperty('transform')" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').getStyleProperty('transform')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(1).getStyleProperty('transform')" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.layer-2.rotate-90').getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "134", + "expected": { + "type": "js-expr", + "value": "\"matrix(0, 1, -1, 0, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.layer-2.rotate-90').getStyleProperty('transform')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('.segment.segment-parent.layer-2.rotate-90').getStyleProperty('transform')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').find('.segment.segment-parent.layer-2.rotate-90').getStyleProperty('transform')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(17).find('.segment.segment-parent.layer-2.rotate-90').getStyleProperty('transform')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').find('div').nth(42).getStyleProperty('transform')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').withText('N').nth(7).getStyleProperty('transform')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('N').nth(16).getStyleProperty('transform')" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(42).getStyleProperty('transform')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(22).getStyleProperty('transform')" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "callsite": "135", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').find('div').withText('B')" + }, + "studio": { + "offsetX": 54, + "offsetY": 11, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').find('div').withText('B')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(3).find('div').withText('B')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(22).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(3).nth(3).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(22).nth(22).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(3).nth(3).nth(3).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(23)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(0)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "136", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(10).find('div').withText('B')" + }, + "studio": { + "offsetX": 108, + "offsetY": 106, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(10).find('div').withText('B')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(6).find('div').withText('B')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(26).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(10).nth(10).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(26).nth(26).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(10).nth(10).nth(10).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(27)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(6)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(10).find('div').find('div').nth(4).find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "137", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(11).find('div').withText('E')" + }, + "studio": { + "offsetX": 108, + "offsetY": 106, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(11).find('div').withText('E')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(7).find('div').withText('E')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(23).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(11).nth(11).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(23).nth(23).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(11).nth(11).nth(11).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(7)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(24)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(10).find('div').find('div').nth(6).find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "138", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(9).find('div').withText('O')" + }, + "studio": { + "offsetX": 108, + "offsetY": 106, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(9).find('div').withText('O')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(5).find('div').withText('O')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('O').nth(14).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(9).nth(9).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('O').nth(14).nth(14).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(9).nth(9).nth(9).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('O').nth(15)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(5)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(10).find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "139", + "dragOffsetX": 3, + "dragOffsetY": 159, + "options": { + "offsetX": 69, + "offsetY": 28 + }, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(25).find('div').withText('U')" + }, + "studio": { + "offsetX": 69, + "offsetY": 28, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(25).find('div').withText('U')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(17).find('div').withText('U')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('U').nth(20).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(25).nth(25).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('U').nth(20).nth(20).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(25).nth(25).nth(25).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('U').nth(21)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(17)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(42).find('div').find('div').find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": true + }, + "type": "drag" + }, + { + "callsite": "140", + "dragOffsetX": -32, + "dragOffsetY": 123, + "options": { + "offsetX": 86, + "offsetY": 33 + }, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(36).find('div').withText('H')" + }, + "studio": { + "offsetX": 86, + "offsetY": 33, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(36).find('div').withText('H')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(26).find('div').withText('H')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('H').nth(14).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(36).nth(36).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('H').nth(14).nth(14).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(36).nth(36).nth(36).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('H').nth(15)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(26)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(42).find('div').find('div').nth(20).find('div').find('div').nth(4).find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": true + }, + "type": "drag" + }, + { + "callsite": "141", + "dragOffsetX": -18, + "dragOffsetY": 123, + "options": { + "offsetX": 60, + "offsetY": 37 + }, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(41).find('div').withText('U')" + }, + "studio": { + "offsetX": 60, + "offsetY": 37, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(41).find('div').withText('U')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(30).find('div').withText('U')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('U').nth(26).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(41).nth(41).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('U').nth(26).nth(26).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(41).nth(41).nth(41).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('U').nth(27)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(30)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(42).find('div').find('div').nth(30).find('div').find('div').nth(4).find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": true + }, + "type": "drag" + }, + { + "callsite": "142", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(24).find('div').withText('N')" + }, + "studio": { + "offsetX": 66, + "offsetY": 48, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(24).find('div').withText('N')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(16).find('div').withText('N')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('N').nth(20).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(24).nth(24).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('N').nth(20).nth(20).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(24).nth(24).nth(24).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('N').nth(21)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(16)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(42).find('div').find('div').find('div').find('div').find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "143", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(26).find('div').withText('T')" + }, + "studio": { + "offsetX": 61, + "offsetY": 46, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(26).find('div').withText('T')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(18).find('div').withText('T')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('T').nth(20).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(26).nth(26).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('T').nth(20).nth(20).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(26).nth(26).nth(26).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('T').nth(21)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(18)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(42).find('div').find('div').find('div').find('div').nth(4).find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "144", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(14).find('div').withText('L')" + }, + "studio": { + "offsetX": 83, + "offsetY": 17, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(14).find('div').withText('L')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(9).find('div').withText('L')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('L').nth(16).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(14).nth(14).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('L').nth(16).nth(16).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(14).nth(14).nth(14).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('L').nth(17)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(9)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(20).find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "145", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(13).find('div').withText('A')" + }, + "studio": { + "offsetX": 83, + "offsetY": 17, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(13).find('div').withText('A')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(8).find('div').withText('A')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(20).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(13).nth(13).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(20).nth(20).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(13).nth(13).nth(13).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(21)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(8)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(20).find('div').find('div').find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "146", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(15).find('div').withText('B')" + }, + "studio": { + "offsetX": 82, + "offsetY": 17, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(15).find('div').withText('B')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(10).find('div').withText('B')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(30).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(15).nth(15).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(30).nth(30).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(15).nth(15).nth(15).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(31)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(10)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(20).find('div').find('div').nth(4).find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "147", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(18).find('div').withText('L')" + }, + "studio": { + "offsetX": 109, + "offsetY": 16, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(18).find('div').withText('L')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(12).find('div').withText('L')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('L').nth(20).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(18).nth(18).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('L').nth(20).nth(20).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(18).nth(18).nth(18).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('L').nth(21)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(12)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(30).find('div').find('div').find('div')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('#won-text').visible" + }, + "assertionType": "eql", + "callsite": "148", + "expected": { + "type": "js-expr", + "value": "true" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#won-text').visible" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('b').withText('Gewonnen').visible" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('[data-translation=\"won\"]').visible" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('b').withText('Gewonnen').visible" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('[data-translation=\"won\"]').visible" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.show-when-won.height-20.center.flex-center').find('b').withText('Gewonnen').visible" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Gewonnen').nth(6).find('[data-translation=\"won\"]').visible" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('div').find('div').find('div').find('b').visible" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').find('b').visible" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('#continue-button').visible" + }, + "assertionType": "eql", + "callsite": "149", + "expected": { + "type": "js-expr", + "value": "true" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#continue-button').visible" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('button').withText('Weiter').visible" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.button.max-width[data-translation=\"continue\"]').visible" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('button').withText('Weiter').visible" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('.button.max-width[data-translation=\"continue\"]').visible" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.show-when-won.flex-center.height-20').nth(1).find('button').withText('Weiter').visible" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Weiter').nth(6).find('.button.max-width[data-translation=\"continue\"]').visible" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('div').find('div').find('div').nth(89).find('button').visible" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(89).find('button').visible" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "callsite": "150", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#continue-button')" + }, + "studio": { + "offsetX": 45, + "offsetY": 43, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#continue-button')" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('button').withText('Weiter')" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.button.max-width[data-translation=\"continue\"]')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('button').withText('Weiter')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('.button.max-width[data-translation=\"continue\"]')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.show-when-won.flex-center.height-20').nth(1).find('button').withText('Weiter')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Weiter').nth(6).find('.button.max-width[data-translation=\"continue\"]')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('div').find('div').find('div').nth(89).find('button')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(89).find('button')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('#action-bar-visible').find('a').withText('6').textContent" + }, + "assertionType": "eql", + "callsite": "151", + "expected": { + "type": "js-expr", + "value": "\"6\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#action-bar-visible').find('a').withText('6').textContent" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.action.always[data-id=\"55\"]').find('a').withText('6').textContent" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('a').withText('6').nth(0).textContent" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('li').withText('6').find('a').textContent" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.action.always[data-id=\"55\"]').find('a').textContent" + }, + "ruleType": "attr-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#action-bar-visible').find('li').find('a').textContent" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('nav').find('div').find('div').nth(1).find('div').find('ul').find('li').find('a').textContent" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(11).find('.segment.segment-parent.layer-2.rotate-360').textContent" + }, + "assertionType": "eql", + "callsite": "152", + "expected": { + "type": "js-expr", + "value": "\"FEGEHLISARBEBERE\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(11).find('.segment.segment-parent.layer-2.rotate-360').textContent" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.layer-2.rotate-360').nth(0).textContent" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(1).nth(1).find('.segment.segment-parent.layer-2.rotate-360').textContent" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(1).nth(1).find('.segment.segment-parent.layer-2.rotate-360').textContent" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(1).find('div').withText('F').nth(1).textContent" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(1).nth(1).nth(1).find('div').find('div').textContent" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').textContent" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(12).textContent" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).textContent" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(11).find('.segment.segment-parent.layer-2.rotate-360').getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "153", + "expected": { + "type": "js-expr", + "value": "\"matrix(1, 0, 0, 1, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(11).find('.segment.segment-parent.layer-2.rotate-360').getStyleProperty('transform')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.layer-2.rotate-360').nth(0).getStyleProperty('transform')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(1).nth(1).find('.segment.segment-parent.layer-2.rotate-360').getStyleProperty('transform')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(1).nth(1).find('.segment.segment-parent.layer-2.rotate-360').getStyleProperty('transform')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(1).find('div').withText('F').nth(1).getStyleProperty('transform')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(1).nth(1).nth(1).find('div').find('div').getStyleProperty('transform')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').getStyleProperty('transform')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(12).getStyleProperty('transform')" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(2).getStyleProperty('transform')" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.layer-2.rotate-180').getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "154", + "expected": { + "type": "js-expr", + "value": "\"matrix(-1, 0, 0, -1, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.layer-2.rotate-180').getStyleProperty('transform')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(11).find('.segment.segment-parent.layer-2.rotate-180').getStyleProperty('transform')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(34).nth(34).find('.segment.segment-parent.layer-2.rotate-180').getStyleProperty('transform')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(10).nth(10).find('.segment.segment-parent.layer-2.rotate-180').getStyleProperty('transform')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(34).find('div').withText('I').nth(1).getStyleProperty('transform')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(34).nth(34).nth(34).find('div').find('div').nth(22).getStyleProperty('transform')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).getStyleProperty('transform')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(26).getStyleProperty('transform')" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(46).getStyleProperty('transform')" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.layer-2.rotate-180').textContent" + }, + "assertionType": "eql", + "callsite": "155", + "expected": { + "type": "js-expr", + "value": "\"ITITSPSCIKARAROT\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.layer-2.rotate-180').textContent" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(11).find('.segment.segment-parent.layer-2.rotate-180').textContent" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(34).nth(34).find('.segment.segment-parent.layer-2.rotate-180').textContent" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(10).nth(10).find('.segment.segment-parent.layer-2.rotate-180').textContent" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(34).find('div').withText('I').nth(1).textContent" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(34).nth(34).nth(34).find('div').find('div').nth(22).textContent" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).textContent" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(26).textContent" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(46).textContent" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(13).find('.segment.segment-parent.rotate-270').textContent" + }, + "assertionType": "eql", + "callsite": "156", + "expected": { + "type": "js-expr", + "value": "\"PRTE\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(13).find('.segment.segment-parent.rotate-270').textContent" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(35).nth(35).find('.segment.segment-parent.rotate-270').textContent" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(11).nth(11).find('.segment.segment-parent.rotate-270').textContent" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-270').nth(2).textContent" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(35).find('div').withText('P').nth(1).textContent" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(35).nth(35).nth(35).find('div').find('div').textContent" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(14).textContent" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').find('div').find('div').textContent" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(36).textContent" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(13).find('.segment.segment-parent.rotate-90').getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "157", + "expected": { + "type": "js-expr", + "value": "\"matrix(0, 1, -1, 0, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(13).find('.segment.segment-parent.rotate-90').getStyleProperty('transform')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(35).nth(35).find('.segment.segment-parent.rotate-90').getStyleProperty('transform')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(11).nth(11).find('.segment.segment-parent.rotate-90').getStyleProperty('transform')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-90').nth(1).getStyleProperty('transform')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(35).find('div').withText('O').nth(1).getStyleProperty('transform')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(35).nth(35).nth(35).find('div').find('div').nth(10).getStyleProperty('transform')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').find('div').find('div').nth(10).getStyleProperty('transform')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('O').nth(22).getStyleProperty('transform')" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(41).getStyleProperty('transform')" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(33).find('.segment.segment-parent.rotate-90').nth(1).getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "158", + "expected": { + "type": "js-expr", + "value": "\"matrix(0, 1, -1, 0, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(33).find('.segment.segment-parent.rotate-90').nth(1).getStyleProperty('transform')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(89).nth(89).find('.segment.segment-parent.rotate-90').nth(1).getStyleProperty('transform')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(25).nth(25).find('.segment.segment-parent.rotate-90').nth(1).getStyleProperty('transform')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-90').nth(4).getStyleProperty('transform')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(89).find('div').withText('I').nth(5).getStyleProperty('transform')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(89).nth(89).nth(89).find('div').find('div').nth(10).getStyleProperty('transform')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(132).find('div').find('div').nth(42).find('div').find('div').nth(10).getStyleProperty('transform')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(46).getStyleProperty('transform')" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(95).getStyleProperty('transform')" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "callsite": "159", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').find('div').withText('F')" + }, + "studio": { + "offsetX": 69, + "offsetY": 12, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').find('div').withText('F')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(4).find('div').withText('F')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(16).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(4).nth(4).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(16).nth(16).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(4).nth(4).nth(4).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(17)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(0)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "160", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(37).find('div').withText('P')" + }, + "studio": { + "offsetX": 51, + "offsetY": 14, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(37).find('div').withText('P')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(24).find('div').withText('P')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(16).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(37).nth(37).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(16).nth(16).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(37).nth(37).nth(37).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(17)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').find('div').find('div').find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(24)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "161", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(45).find('div').withText('K')" + }, + "studio": { + "offsetX": 23, + "offsetY": 1, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(45).find('div').withText('K')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(31).find('div').withText('K')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('K').nth(16).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(45).nth(45).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('K').nth(16).nth(16).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(45).nth(45).nth(45).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('K').nth(17)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').find('div').find('div').nth(10).find('div').find('div').nth(6).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(31)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "162", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(43).find('div').withText('G')" + }, + "studio": { + "offsetX": 23, + "offsetY": 1, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(43).find('div').withText('G')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(29).find('div').withText('G')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('G').nth(24).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(43).nth(43).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('G').nth(24).nth(24).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(43).nth(43).nth(43).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('G').nth(25)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').find('div').find('div').nth(10).find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(29)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "163", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(42).find('div').withText('O')" + }, + "studio": { + "offsetX": 23, + "offsetY": 1, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(42).find('div').withText('O')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(28).find('div').withText('O')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('O').nth(24).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(42).nth(42).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('O').nth(24).nth(24).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(42).nth(42).nth(42).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('O').nth(25)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').find('div').find('div').nth(10).find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(28)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "164", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(71).find('div').withText('O')" + }, + "studio": { + "offsetX": 48, + "offsetY": 1, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(71).find('div').withText('O')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(49).find('div').withText('O')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('O').nth(38).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(71).nth(71).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('O').nth(38).nth(38).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(71).nth(71).nth(71).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('O').nth(39)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(132).find('div').find('div').find('div').find('div').find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(49)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "165", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(70).find('div').withText('N')" + }, + "studio": { + "offsetX": 48, + "offsetY": 1, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(70).find('div').withText('N')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(48).find('div').withText('N')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('N').nth(24).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(70).nth(70).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('N').nth(24).nth(24).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(70).nth(70).nth(70).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('N').nth(25)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(132).find('div').find('div').find('div').find('div').find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(48)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "166", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(75).find('div').withText('S')" + }, + "studio": { + "offsetX": 32, + "offsetY": null, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(75).find('div').withText('S')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(52).find('div').withText('S')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(50).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(75).nth(75).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(50).nth(50).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(75).nth(75).nth(75).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(132).find('div').find('div').find('div').find('div').nth(10).find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(51)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(52)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "167", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(14).find('div').withText('A')" + }, + "studio": { + "offsetX": 14, + "offsetY": 64, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(14).find('div').withText('A')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(8).find('div').withText('A')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(18).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(14).nth(14).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(18).nth(18).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(14).nth(14).nth(14).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').nth(20).find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(19)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(8)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "168", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(16).find('div').withText('B')" + }, + "studio": { + "offsetX": 14, + "offsetY": 64, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(16).find('div').withText('B')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(10).find('div').withText('B')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(24).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(16).nth(16).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(24).nth(24).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(16).nth(16).nth(16).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(25)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').nth(20).find('div').find('div').nth(4).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(10)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "169", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(21).find('div').withText('R')" + }, + "studio": { + "offsetX": 69, + "offsetY": 3, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(21).find('div').withText('R')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(14).find('div').withText('R')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(29).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(21).nth(21).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(29).nth(29).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(21).nth(21).nth(21).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').nth(30).find('div').find('div').nth(4).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(30)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(14)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "170", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(22).find('div').withText('E')" + }, + "studio": { + "offsetX": 69, + "offsetY": 3, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(22).find('div').withText('E')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(15).find('div').withText('E')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(33).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(22).nth(22).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(33).nth(33).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(22).nth(22).nth(22).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').nth(30).find('div').find('div').nth(6).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(34)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(15)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "171", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(20).find('div').withText('E')" + }, + "studio": { + "offsetX": 69, + "offsetY": 3, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(20).find('div').withText('E')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(13).find('div').withText('E')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(31).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(20).nth(20).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(31).nth(31).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(20).nth(20).nth(20).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').nth(30).find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(32)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(13)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "172", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(16).find('div').withText('B')" + }, + "studio": { + "offsetX": 28, + "offsetY": 11, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(16).find('div').withText('B')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(10).find('div').withText('B')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(24).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(16).nth(16).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(24).nth(24).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(16).nth(16).nth(16).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(25)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').nth(20).find('div').find('div').nth(4).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(10)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "173", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(19).find('div').withText('B')" + }, + "studio": { + "offsetX": 36, + "offsetY": 4, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(19).find('div').withText('B')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(12).find('div').withText('B')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(28).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(19).nth(19).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(28).nth(28).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(19).nth(19).nth(19).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(29)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').nth(30).find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(12)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "174", + "dragOffsetX": 106, + "dragOffsetY": -4, + "options": { + "offsetX": 33, + "offsetY": 18 + }, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(63).find('div').withText('A')" + }, + "studio": { + "offsetX": 33, + "offsetY": 18, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(63).find('div').withText('A')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(44).find('div').withText('A')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(36).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(63).nth(63).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(36).nth(36).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(63).nth(63).nth(63).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).find('div').find('div').nth(30).find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(37)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(44)" + }, + "ruleType": "attr" + } + ], + "useOffsets": true + }, + "type": "drag" + }, + { + "callsite": "175", + "dragOffsetX": 69, + "dragOffsetY": -3, + "options": { + "offsetX": 22, + "offsetY": 16 + }, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(54).find('div').withText('P')" + }, + "studio": { + "offsetX": 22, + "offsetY": 16, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(54).find('div').withText('P')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(37).find('div').withText('P')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(22).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(54).nth(54).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(22).nth(22).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(54).nth(54).nth(54).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(23)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).find('div').find('div').nth(10).find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(37)" + }, + "ruleType": "attr" + } + ], + "useOffsets": true + }, + "type": "drag" + }, + { + "callsite": "176", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(48).find('div').withText('I')" + }, + "studio": { + "offsetX": 60, + "offsetY": 27, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(48).find('div').withText('I')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(32).find('div').withText('I')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(30).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(48).nth(48).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(30).nth(30).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(48).nth(48).nth(48).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).find('div').find('div').find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(31)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(32)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "177", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(56).find('div').withText('C')" + }, + "studio": { + "offsetX": 67, + "offsetY": null, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(56).find('div').withText('C')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(39).find('div').withText('C')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('C').nth(19).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(56).nth(56).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('C').nth(19).nth(19).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(56).nth(56).nth(56).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('C').nth(20)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).find('div').find('div').nth(10).find('div').find('div').nth(6).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(39)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "178", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-90').find('.child-container')" + }, + "studio": { + "offsetX": 68, + "offsetY": 71, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-90').find('.child-container')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(38).find('.child-container')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(52).nth(52).find('.child-container')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(52).find('div').withText('S').nth(0)" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(38).nth(38).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(52).nth(52).nth(52).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(16)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).find('div').find('div').nth(10).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(39)" + }, + "ruleType": "text" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "179", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-90').find('.child-container')" + }, + "studio": { + "offsetX": 67, + "offsetY": 71, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.rotate-90').find('.child-container')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(38).find('.child-container')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(52).nth(52).find('.child-container')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(52).find('div').withText('S').nth(0)" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(38).nth(38).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(52).nth(52).nth(52).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(16)" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).find('div').find('div').nth(10).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(39)" + }, + "ruleType": "text" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "180", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(86).find('div').withText('E')" + }, + "studio": { + "offsetX": 25, + "offsetY": 8, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(86).find('div').withText('E')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(61).find('div').withText('E')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(53).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(86).nth(86).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(53).nth(53).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(86).nth(86).nth(86).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(132).find('div').find('div').find('div').find('div').nth(30).find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(54)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(61)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "181", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(85).find('div').withText('S')" + }, + "studio": { + "offsetX": 25, + "offsetY": 8, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(85).find('div').withText('S')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(60).find('div').withText('S')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(54).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(85).nth(85).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(54).nth(54).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(85).nth(85).nth(85).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(132).find('div').find('div').find('div').find('div').nth(30).find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(55)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(60)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "182", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(25).find('div').withText('M')" + }, + "studio": { + "offsetX": 62, + "offsetY": 8, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(25).find('div').withText('M')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(16).find('div').withText('M')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('M').nth(16).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(25).nth(25).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('M').nth(16).nth(16).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(25).nth(25).nth(25).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('M').nth(17)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(42).find('div').find('div').find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(16)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "183", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(31).find('div').withText('A')" + }, + "studio": { + "offsetX": 68, + "offsetY": 21, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(31).find('div').withText('A')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(21).find('div').withText('A')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(24).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(31).nth(31).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(24).nth(24).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(31).nth(31).nth(31).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(42).find('div').find('div').nth(10).find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(25)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(21)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "184", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(30).find('div').withText('S')" + }, + "studio": { + "offsetX": 68, + "offsetY": 21, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(30).find('div').withText('S')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(20).find('div').withText('S')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(26).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(30).nth(30).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(26).nth(26).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(30).nth(30).nth(30).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(42).find('div').find('div').nth(10).find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(27)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(20)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "185", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(59).find('div').withText('K')" + }, + "studio": { + "offsetX": 57, + "offsetY": 18, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(59).find('div').withText('K')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(41).find('div').withText('K')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('K').nth(22).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(59).nth(59).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('K').nth(22).nth(22).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(59).nth(59).nth(59).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('K').nth(23)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).find('div').find('div').nth(20).find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(41)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "186", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(58).find('div').withText('I')" + }, + "studio": { + "offsetX": 57, + "offsetY": 18, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(58).find('div').withText('I')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(40).find('div').withText('I')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(36).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(58).nth(58).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(36).nth(36).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(58).nth(58).nth(58).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).find('div').find('div').nth(20).find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(37)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(40)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "187", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(63).find('div').withText('A')" + }, + "studio": { + "offsetX": 6, + "offsetY": 22, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(63).find('div').withText('A')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(44).find('div').withText('A')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(36).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(63).nth(63).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(36).nth(36).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(63).nth(63).nth(63).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).find('div').find('div').nth(30).find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('A').nth(37)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(44)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "188", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(65).find('div').withText('O')" + }, + "studio": { + "offsetX": 6, + "offsetY": 22, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(65).find('div').withText('O')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(46).find('div').withText('O')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('O').nth(30).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(65).nth(65).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('O').nth(30).nth(30).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(65).nth(65).nth(65).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('O').nth(31)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).find('div').find('div').nth(30).find('div').find('div').nth(4).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(46)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "189", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(94).find('div').withText('I')" + }, + "studio": { + "offsetX": 65, + "offsetY": 23, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(94).find('div').withText('I')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(67).find('div').withText('I')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(44).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(94).nth(94).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(44).nth(44).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(94).nth(94).nth(94).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(132).find('div').find('div').nth(42).find('div').find('div').find('div').find('div').nth(6).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(45)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(67)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "190", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(92).find('div').withText('E')" + }, + "studio": { + "offsetX": 65, + "offsetY": 23, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(92).find('div').withText('E')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(65).find('div').withText('E')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(59).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(92).nth(92).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(59).nth(59).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(92).nth(92).nth(92).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(132).find('div').find('div').nth(42).find('div').find('div').find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(60)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(65)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "191", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(91).find('div').withText('B')" + }, + "studio": { + "offsetX": 65, + "offsetY": 23, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(91).find('div').withText('B')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(64).find('div').withText('B')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(36).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(91).nth(91).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(36).nth(36).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(91).nth(91).nth(91).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(37)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(132).find('div').find('div').nth(42).find('div').find('div').find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(64)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "192", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(99).find('div').withText('M')" + }, + "studio": { + "offsetX": 57, + "offsetY": 21, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(99).find('div').withText('M')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(71).find('div').withText('M')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('M').nth(24).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(99).nth(99).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('M').nth(24).nth(24).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(99).nth(99).nth(99).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('M').nth(25)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(132).find('div').find('div').nth(42).find('div').find('div').nth(10).find('div').find('div').nth(6).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(71)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "193", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(97).find('div').withText('T')" + }, + "studio": { + "offsetX": 57, + "offsetY": 21, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(97).find('div').withText('T')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(69).find('div').withText('T')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('T').nth(46).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(97).nth(97).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('T').nth(46).nth(46).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(97).nth(97).nth(97).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(132).find('div').find('div').nth(42).find('div').find('div').nth(10).find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('T').nth(47)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(69)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "194", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(96).find('div').withText('I')" + }, + "studio": { + "offsetX": 57, + "offsetY": 21, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(96).find('div').withText('I')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(68).find('div').withText('I')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(48).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(96).nth(96).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(48).nth(48).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(96).nth(96).nth(96).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(132).find('div').find('div').nth(42).find('div').find('div').nth(10).find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(49)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(68)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "230", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(54).find('div').withText('P')" + }, + "studio": { + "offsetX": 63, + "offsetY": 9, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(54).find('div').withText('P')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(37).find('div').withText('P')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(22).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(54).nth(54).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(22).nth(22).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(54).nth(54).nth(54).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(23)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).find('div').find('div').nth(10).find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(37)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "232", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(92).find('div').withText('E')" + }, + "studio": { + "offsetX": 2, + "offsetY": 12, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(92).find('div').withText('E')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(65).find('div').withText('E')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(59).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(92).nth(92).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(59).nth(59).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(92).nth(92).nth(92).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(132).find('div').find('div').nth(42).find('div').find('div').find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(60)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(65)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "233", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(91).find('div').withText('B')" + }, + "studio": { + "offsetX": 2, + "offsetY": 12, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(91).find('div').withText('B')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(64).find('div').withText('B')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(36).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(91).nth(91).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(36).nth(36).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(91).nth(91).nth(91).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(37)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(132).find('div').find('div').nth(42).find('div').find('div').find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(64)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "234", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(93).find('div').withText('F')" + }, + "studio": { + "offsetX": 2, + "offsetY": 12, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(93).find('div').withText('F')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(66).find('div').withText('F')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(40).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(93).nth(93).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(40).nth(40).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(93).nth(93).nth(93).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(41)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(132).find('div').find('div').nth(42).find('div').find('div').find('div').find('div').nth(4).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(66)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "235", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(99).find('div').withText('M')" + }, + "studio": { + "offsetX": 68, + "offsetY": 22, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(99).find('div').withText('M')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(71).find('div').withText('M')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('M').nth(24).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(99).nth(99).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('M').nth(24).nth(24).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(99).nth(99).nth(99).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('M').nth(25)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(132).find('div').find('div').nth(42).find('div').find('div').nth(10).find('div').find('div').nth(6).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(71)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "236", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(97).find('div').withText('T')" + }, + "studio": { + "offsetX": 68, + "offsetY": 22, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(97).find('div').withText('T')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(69).find('div').withText('T')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('T').nth(46).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(97).nth(97).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('T').nth(46).nth(46).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(97).nth(97).nth(97).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(132).find('div').find('div').nth(42).find('div').find('div').nth(10).find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('T').nth(47)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(69)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "237", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(96).find('div').withText('I')" + }, + "studio": { + "offsetX": 68, + "offsetY": 22, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(96).find('div').withText('I')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(68).find('div').withText('I')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(48).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(96).nth(96).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(48).nth(48).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(96).nth(96).nth(96).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(132).find('div').find('div').nth(42).find('div').find('div').nth(10).find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(49)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(68)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "231", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(53).find('div').withText('S')" + }, + "studio": { + "offsetX": 63, + "offsetY": 9, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(53).find('div').withText('S')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(36).find('div').withText('S')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(40).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(53).nth(53).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(40).nth(40).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(53).nth(53).nth(53).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).find('div').find('div').nth(10).find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(41)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(36)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(11).find('.segment.segment-parent.layer-2.rotate-360').getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "195", + "expected": { + "type": "js-expr", + "value": "\"matrix(1, 0, 0, 1, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(11).find('.segment.segment-parent.layer-2.rotate-360').getStyleProperty('transform')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(34).nth(34).find('.segment.segment-parent.layer-2.rotate-360').getStyleProperty('transform')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(10).nth(10).find('.segment.segment-parent.layer-2.rotate-360').getStyleProperty('transform')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.layer-2.rotate-360').nth(1).getStyleProperty('transform')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(34).find('div').withText('I').nth(1).getStyleProperty('transform')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(34).nth(34).nth(34).find('div').find('div').nth(22).getStyleProperty('transform')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(66).find('div').find('div').nth(22).getStyleProperty('transform')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(26).getStyleProperty('transform')" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(46).getStyleProperty('transform')" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('#continue-button').visible" + }, + "assertionType": "eql", + "callsite": "196", + "expected": { + "type": "js-expr", + "value": "true" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#continue-button').visible" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('button').withText('Weiter').visible" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.button.max-width[data-translation=\"continue\"]').visible" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('button').withText('Weiter').visible" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('.button.max-width[data-translation=\"continue\"]').visible" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.show-when-won.flex-center.height-20').nth(1).find('button').withText('Weiter').visible" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Weiter').nth(6).find('.button.max-width[data-translation=\"continue\"]').visible" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('div').find('div').find('div').nth(203).find('button').visible" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(203).find('button').visible" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('#won-text').visible" + }, + "assertionType": "eql", + "callsite": "197", + "expected": { + "type": "js-expr", + "value": "true" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#won-text').visible" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('b').withText('Gewonnen').visible" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('[data-translation=\"won\"]').visible" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('b').withText('Gewonnen').visible" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('[data-translation=\"won\"]').visible" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.show-when-won.height-20.center.flex-center').find('b').withText('Gewonnen').visible" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Gewonnen').nth(6).find('[data-translation=\"won\"]').visible" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('div').find('div').find('div').find('b').visible" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').find('b').visible" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "callsite": "198", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#continue-button')" + }, + "studio": { + "offsetX": 253, + "offsetY": 24, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#continue-button')" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('button').withText('Weiter')" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.button.max-width[data-translation=\"continue\"]')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('button').withText('Weiter')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('.button.max-width[data-translation=\"continue\"]')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.show-when-won.flex-center.height-20').nth(1).find('button').withText('Weiter')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Weiter').nth(6).find('.button.max-width[data-translation=\"continue\"]')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('div').find('div').find('div').nth(203).find('button')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(203).find('button')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.layer-2.rotate-360').getStyleProperty('transform')" + }, + "assertionType": "eql", + "callsite": "199", + "expected": { + "type": "js-expr", + "value": "\"matrix(1, 0, 0, 1, 0, 0)\"" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-parent.layer-2.rotate-360').getStyleProperty('transform')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('.segment.segment-parent.layer-2.rotate-360').getStyleProperty('transform')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').find('.segment.segment-parent.layer-2.rotate-360').getStyleProperty('transform')" + }, + "ruleType": "attr-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(13).find('.segment.segment-parent.layer-2.rotate-360').getStyleProperty('transform')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').find('div').nth(42).getStyleProperty('transform')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').withText('E').nth(11).getStyleProperty('transform')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(42).getStyleProperty('transform')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(25).getStyleProperty('transform')" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(22).getStyleProperty('transform')" + }, + "ruleType": "id" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('#null').find('div').childElementCount" + }, + "assertionType": "eql", + "callsite": "200", + "expected": { + "type": "js-expr", + "value": "3" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').childElementCount" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-row.rotate-360').find('div').childElementCount" + }, + "ruleType": "attr-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(12).nth(12).find('div').childElementCount" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.child-container').nth(0).childElementCount" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('.child-container').nth(0).childElementCount" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').find('div').withText('S').nth(0).childElementCount" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(12).find('.child-container').nth(0).childElementCount" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('S').nth(13).childElementCount" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').childElementCount" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "callsite": "201", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(14).find('div').withText('F')" + }, + "studio": { + "offsetX": 73, + "offsetY": 48, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(14).find('div').withText('F')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(9).find('div').withText('F')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(14).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(14).nth(14).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(14).nth(14).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(14).nth(14).nth(14).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(15)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(20).find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(9)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "202", + "dragOffsetX": 4, + "dragOffsetY": 77, + "options": { + "offsetX": 50, + "offsetY": 73 + }, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(16).find('div').withText('P')" + }, + "studio": { + "offsetX": 50, + "offsetY": 73, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(16).find('div').withText('P')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(11).find('div').withText('P')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(16).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(16).nth(16).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(16).nth(16).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(16).nth(16).nth(16).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(17)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(20).find('div').find('div').nth(6).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(11)" + }, + "ruleType": "attr" + } + ], + "useOffsets": true + }, + "type": "drag" + }, + { + "callsite": "203", + "dragOffsetX": -6, + "dragOffsetY": 85, + "options": { + "offsetX": 55, + "offsetY": 81 + }, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(18).find('div').withText('L')" + }, + "studio": { + "offsetX": 55, + "offsetY": 81, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(18).find('div').withText('L')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(12).find('div').withText('L')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('L').nth(16).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(18).nth(18).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('L').nth(16).nth(16).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(18).nth(18).nth(18).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('L').nth(17)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(30).find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(12)" + }, + "ruleType": "attr" + } + ], + "useOffsets": true + }, + "type": "drag" + }, + { + "callsite": "204", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(5).find('div').withText('U')" + }, + "studio": { + "offsetX": 31, + "offsetY": 32, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(5).find('div').withText('U')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(2).find('div').withText('U')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('U').nth(14).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(5).nth(5).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('U').nth(14).nth(14).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(5).nth(5).nth(5).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('U').nth(15)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').nth(4).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(2)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "205", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(8).find('div').withText('H')" + }, + "studio": { + "offsetX": 2, + "offsetY": 35, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(8).find('div').withText('H')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(4).find('div').withText('H')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('H').nth(14).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(8).nth(8).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('H').nth(14).nth(14).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(8).nth(8).nth(8).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('H').nth(15)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(10).find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(4)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "206", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(27).find('div').withText('E')" + }, + "studio": { + "offsetX": 92, + "offsetY": 38, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(27).find('div').withText('E')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(19).find('div').withText('E')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(31).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(27).nth(27).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(31).nth(31).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(27).nth(27).nth(27).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(42).find('div').find('div').find('div').find('div').nth(6).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(32)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(19)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "207", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(25).find('div').withText('I')" + }, + "studio": { + "offsetX": 93, + "offsetY": 36, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(25).find('div').withText('I')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(17).find('div').withText('I')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(14).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(25).nth(25).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(14).nth(14).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(25).nth(25).nth(25).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(15)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(42).find('div').find('div').find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(17)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "208", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(24).find('div').withText('E')" + }, + "studio": { + "offsetX": 93, + "offsetY": 36, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(24).find('div').withText('E')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(16).find('div').withText('E')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(29).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(24).nth(24).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(29).nth(29).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(24).nth(24).nth(24).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(42).find('div').find('div').find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(30)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(16)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "209", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(26).find('div').withText('B')" + }, + "studio": { + "offsetX": 93, + "offsetY": 36, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(26).find('div').withText('B')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(18).find('div').withText('B')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(22).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(26).nth(26).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(22).nth(22).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(26).nth(26).nth(26).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(23)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(42).find('div').find('div').find('div').find('div').nth(4).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(18)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "210", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(25).find('div').withText('I')" + }, + "studio": { + "offsetX": 41, + "offsetY": 78, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(25).find('div').withText('I')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(17).find('div').withText('I')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(14).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(25).nth(25).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(14).nth(14).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(25).nth(25).nth(25).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('I').nth(15)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(42).find('div').find('div').find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(17)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "211", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(24).find('div').withText('E')" + }, + "studio": { + "offsetX": 41, + "offsetY": 78, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(24).find('div').withText('E')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(16).find('div').withText('E')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(29).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(24).nth(24).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(29).nth(29).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(24).nth(24).nth(24).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(42).find('div').find('div').find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(30)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(16)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "212", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(10).find('div').withText('H')" + }, + "studio": { + "offsetX": 19, + "offsetY": 37, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(10).find('div').withText('H')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(6).find('div').withText('H')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('H').nth(16).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(10).nth(10).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('H').nth(16).nth(16).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(10).nth(10).nth(10).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('H').nth(17)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(10).find('div').find('div').nth(4).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(6)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "213", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(24).find('div').withText('E')" + }, + "studio": { + "offsetX": 105, + "offsetY": 18, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(24).find('div').withText('E')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(16).find('div').withText('E')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(29).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(24).nth(24).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(29).nth(29).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(24).nth(24).nth(24).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(42).find('div').find('div').find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(30)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(16)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "214", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(29).find('div').withText('B')" + }, + "studio": { + "offsetX": 28, + "offsetY": 23, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(29).find('div').withText('B')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(20).find('div').withText('B')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(26).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(29).nth(29).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(26).nth(26).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(29).nth(29).nth(29).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('B').nth(27)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(42).find('div').find('div').nth(10).find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(20)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "215", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(31).find('div').withText('R')" + }, + "studio": { + "offsetX": 28, + "offsetY": 23, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(31).find('div').withText('R')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(22).find('div').withText('R')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(37).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(31).nth(31).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(37).nth(37).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(31).nth(31).nth(31).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(42).find('div').find('div').nth(10).find('div').find('div').nth(4).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(38)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(22)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "216", + "dragOffsetX": 14, + "dragOffsetY": 95, + "options": { + "offsetX": 55, + "offsetY": 57 + }, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(57).find('div').withText('Z')" + }, + "studio": { + "offsetX": 55, + "offsetY": 57, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(57).find('div').withText('Z')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(42).find('div').withText('Z')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Z').nth(20).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(57).nth(57).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Z').nth(20).nth(20).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(57).nth(57).nth(57).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Z').nth(21)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(84).find('div').find('div').nth(20).find('div').find('div').nth(4).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(42)" + }, + "ruleType": "attr" + } + ], + "useOffsets": true + }, + "type": "drag" + }, + { + "callsite": "217", + "dragOffsetX": -16, + "dragOffsetY": 105, + "options": { + "offsetX": 73, + "offsetY": 30 + }, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(62).find('div').withText('R')" + }, + "studio": { + "offsetX": 73, + "offsetY": 30, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(62).find('div').withText('R')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(46).find('div').withText('R')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(45).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(62).nth(62).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(45).nth(45).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(62).nth(62).nth(62).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(84).find('div').find('div').nth(30).find('div').find('div').nth(4).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(46)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(46)" + }, + "ruleType": "attr" + } + ], + "useOffsets": true + }, + "type": "drag" + }, + { + "callsite": "218", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(53).find('div').withText('T')" + }, + "studio": { + "offsetX": 84, + "offsetY": 34, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(53).find('div').withText('T')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(39).find('div').withText('T')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('T').nth(20).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(53).nth(53).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('T').nth(20).nth(20).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(53).nth(53).nth(53).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('T').nth(21)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(84).find('div').find('div').nth(10).find('div').find('div').nth(6).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(39)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "219", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(51).find('div').withText('H')" + }, + "studio": { + "offsetX": 84, + "offsetY": 33, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(51).find('div').withText('H')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(37).find('div').withText('H')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('H').nth(22).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(51).nth(51).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('H').nth(22).nth(22).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(51).nth(51).nth(51).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('H').nth(23)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(84).find('div').find('div').nth(10).find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(37)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "220", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(50).find('div').withText('C')" + }, + "studio": { + "offsetX": 84, + "offsetY": 33, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(50).find('div').withText('C')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(36).find('div').withText('C')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('C').nth(27).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(50).nth(50).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('C').nth(27).nth(27).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(50).nth(50).nth(50).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('C').nth(28)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(84).find('div').find('div').nth(10).find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(36)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "221", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(16).find('div').withText('P')" + }, + "studio": { + "offsetX": 99, + "offsetY": 2, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(16).find('div').withText('P')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(11).find('div').withText('P')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(16).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(16).nth(16).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(16).nth(16).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(16).nth(16).nth(16).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(17)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(20).find('div').find('div').nth(6).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(11)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "222", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(14).find('div').withText('F')" + }, + "studio": { + "offsetX": 99, + "offsetY": 2, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(14).find('div').withText('F')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(9).find('div').withText('F')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(14).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(14).nth(14).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(14).nth(14).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(14).nth(14).nth(14).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('F').nth(15)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(20).find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(9)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "223", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(13).find('div').withText('P')" + }, + "studio": { + "offsetX": 99, + "offsetY": 2, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(13).find('div').withText('P')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(8).find('div').withText('P')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(14).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(13).nth(13).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(14).nth(14).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(13).nth(13).nth(13).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(15)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(20).find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(8)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "224", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(18).find('div').withText('L')" + }, + "studio": { + "offsetX": 96, + "offsetY": 23, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(18).find('div').withText('L')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(12).find('div').withText('L')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('L').nth(16).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(18).nth(18).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('L').nth(16).nth(16).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(18).nth(18).nth(18).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('L').nth(17)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(30).find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(12)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "225", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(36).find('div').withText('N')" + }, + "studio": { + "offsetX": 31, + "offsetY": 30, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(36).find('div').withText('N')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(26).find('div').withText('N')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('N').nth(16).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(36).nth(36).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('N').nth(16).nth(16).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(36).nth(36).nth(36).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('N').nth(17)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').nth(42).find('div').find('div').nth(20).find('div').find('div').nth(4).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(26)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "238", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(13).find('div').withText('P')" + }, + "studio": { + "offsetX": 61, + "offsetY": 30, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(13).find('div').withText('P')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(8).find('div').withText('P')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(14).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(13).nth(13).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(14).nth(14).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(13).nth(13).nth(13).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(15)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(20).find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(8)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "239", + "dragOffsetX": -6, + "dragOffsetY": -146, + "options": { + "offsetX": 19, + "offsetY": 51 + }, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(9).find('div').withText('R')" + }, + "studio": { + "offsetX": 19, + "offsetY": 51, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(9).find('div').withText('R')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(5).find('div').withText('R')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(27).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(9).nth(9).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(27).nth(27).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(9).nth(9).nth(9).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(10).find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(28)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(5)" + }, + "ruleType": "attr" + } + ], + "useOffsets": true + }, + "type": "drag" + }, + { + "callsite": "240", + "dragOffsetX": 20, + "dragOffsetY": -151, + "options": { + "offsetX": 28, + "offsetY": 36 + }, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(4).find('div').withText('C')" + }, + "studio": { + "offsetX": 28, + "offsetY": 36, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(4).find('div').withText('C')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(1).find('div').withText('C')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('C').nth(17).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(4).nth(4).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('C').nth(17).nth(17).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(4).nth(4).nth(4).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('C').nth(18)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(1)" + }, + "ruleType": "attr" + } + ], + "useOffsets": true + }, + "type": "drag" + }, + { + "callsite": "241", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(13).find('div').withText('P')" + }, + "studio": { + "offsetX": 49, + "offsetY": 1, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(13).find('div').withText('P')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(8).find('div').withText('P')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(14).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(13).nth(13).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(14).nth(14).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(13).nth(13).nth(13).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(15)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(20).find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(8)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "242", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(15).find('div').withText('O')" + }, + "studio": { + "offsetX": 49, + "offsetY": 1, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(15).find('div').withText('O')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(10).find('div').withText('O')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('O').nth(14).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(15).nth(15).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('O').nth(14).nth(14).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(15).nth(15).nth(15).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('O').nth(15)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(20).find('div').find('div').nth(4).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(10)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "243", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(11).find('div').withText('E')" + }, + "studio": { + "offsetX": 57, + "offsetY": 8, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(11).find('div').withText('E')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(7).find('div').withText('E')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(19).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(11).nth(11).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(19).nth(19).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(11).nth(11).nth(11).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(10).find('div').find('div').nth(6).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(20)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(7)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "244", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(13).find('div').withText('P')" + }, + "studio": { + "offsetX": 33, + "offsetY": 72, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(13).find('div').withText('P')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(8).find('div').withText('P')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(14).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(13).nth(13).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(14).nth(14).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(13).nth(13).nth(13).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(15)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(20).find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(8)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "245", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(15).find('div').withText('O')" + }, + "studio": { + "offsetX": 33, + "offsetY": 72, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(15).find('div').withText('O')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(10).find('div').withText('O')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('O').nth(14).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(15).nth(15).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('O').nth(14).nth(14).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(15).nth(15).nth(15).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('O').nth(15)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(20).find('div').find('div').nth(4).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(10)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "callsite": "246", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(16).find('div').withText('P')" + }, + "studio": { + "offsetX": 33, + "offsetY": 72, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(16).find('div').withText('P')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(11).find('div').withText('P')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(16).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(16).nth(16).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(16).nth(16).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(16).nth(16).nth(16).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('P').nth(17)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(20).find('div').find('div').nth(6).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(11)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(21).find('div').withText('R')" + }, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(21).find('div').withText('R')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(15).find('div').withText('R')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(31).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(21).nth(21).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(31).nth(31).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(21).nth(21).nth(21).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(30).find('div').find('div').nth(6).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(32)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(15)" + }, + "ruleType": "attr" + } + ], + "useOffsets": true, + "offsetX": 3, + "offsetY": 59 + }, + "dragOffsetX": -22, + "dragOffsetY": 165, + "options": { + "offsetX": 3, + "offsetY": 59 + }, + "type": "drag", + "callsite": "247" + }, + { + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(11).find('div').withText('E')" + }, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(11).find('div').withText('E')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(7).find('div').withText('E')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(19).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(11).nth(11).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(19).nth(19).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(11).nth(11).nth(11).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(10).find('div').find('div').nth(6).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('E').nth(20)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(7)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false, + "offsetX": 102, + "offsetY": 15 + }, + "options": {}, + "type": "click", + "callsite": "248" + }, + { + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(9).find('div').withText('R')" + }, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(9).find('div').withText('R')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(5).find('div').withText('R')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(27).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(9).nth(9).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(27).nth(27).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(9).nth(9).nth(9).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(10).find('div').find('div').nth(2).find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('R').nth(28)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(5)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false, + "offsetX": 102, + "offsetY": 15 + }, + "options": {}, + "type": "click", + "callsite": "249" + }, + { + "selector": { + "type": "js-expr", + "value": "Selector('#null').nth(8).find('div').withText('H')" + }, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(8).find('div').withText('H')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.segment.segment-leaf').nth(4).find('div').withText('H')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('H').nth(14).find('.leaf-element')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(8).nth(8).find('.leaf-element')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('H').nth(14).nth(14).find('div')" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#null').nth(8).nth(8).nth(8).find('div')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('H').nth(15)" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(1).find('div').find('div').find('div').find('div').find('div').find('div').nth(10).find('div').find('div').find('div')" + }, + "ruleType": "dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.leaf-element').nth(4)" + }, + "ruleType": "attr" + } + ], + "useOffsets": false, + "offsetX": 102, + "offsetY": 15 + }, + "options": {}, + "type": "click", + "callsite": "250" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('#won-text').visible" + }, + "assertionType": "eql", + "callsite": "226", + "expected": { + "type": "js-expr", + "value": "true" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#won-text').visible" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('b').withText('Gewonnen').visible" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('[data-translation=\"won\"]').visible" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('b').withText('Gewonnen').visible" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('[data-translation=\"won\"]').visible" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.show-when-won.height-20.center.flex-center').find('b').withText('Gewonnen').visible" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Gewonnen').nth(6).find('[data-translation=\"won\"]').visible" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('div').find('div').find('div').find('b').visible" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').find('b').visible" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('#continue-button').visible" + }, + "assertionType": "eql", + "callsite": "227", + "expected": { + "type": "js-expr", + "value": "true" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#continue-button').visible" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('button').withText('Weiter').visible" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.button.max-width[data-translation=\"continue\"]').visible" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('button').withText('Weiter').visible" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('.button.max-width[data-translation=\"continue\"]').visible" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.show-when-won.flex-center.height-20').nth(1).find('button').withText('Weiter').visible" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Weiter').nth(6).find('.button.max-width[data-translation=\"continue\"]').visible" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('div').find('div').find('div').nth(131).find('button').visible" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(131).find('button').visible" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + }, + { + "callsite": "228", + "options": {}, + "selector": { + "type": "js-expr", + "value": "Selector('#continue-button')" + }, + "studio": { + "offsetX": 116, + "offsetY": 27, + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#continue-button')" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('button').withText('Weiter')" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.button.max-width[data-translation=\"continue\"]')" + }, + "ruleType": "attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('button').withText('Weiter')" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('.button.max-width[data-translation=\"continue\"]')" + }, + "ruleType": "id-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.show-when-won.flex-center.height-20').nth(1).find('button').withText('Weiter')" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('Weiter').nth(6).find('.button.max-width[data-translation=\"continue\"]')" + }, + "ruleType": "text-attr" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').find('div').find('div').find('div').nth(131).find('button')" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').find('div').find('div').find('div').nth(131).find('button')" + }, + "ruleType": "dom" + } + ], + "useOffsets": false + }, + "type": "click" + }, + { + "actual": { + "type": "js-expr", + "value": "Selector('#site-content').childElementCount" + }, + "assertionType": "eql", + "callsite": "229", + "expected": { + "type": "js-expr", + "value": "1" + }, + "options": {}, + "studio": { + "selectors": [ + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#site-content').childElementCount" + }, + "ruleType": "id" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#main-content').find('div').withText('game').nth(0).childElementCount" + }, + "ruleType": "id-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.columns.small-12').find('div').withText('game').nth(0).childElementCount" + }, + "ruleType": "attr-text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('game').nth(3).childElementCount" + }, + "ruleType": "text" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('#main-content').find('div').childElementCount" + }, + "ruleType": "id-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('.columns.small-12').find('div').childElementCount" + }, + "ruleType": "attr-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('div').withText('game').nth(2).find('div').childElementCount" + }, + "ruleType": "text-dom" + }, + { + "rawSelector": { + "type": "js-expr", + "value": "Selector('body').find('div').nth(14).find('div').find('div').find('div').childElementCount" + }, + "ruleType": "dom" + } + ] + }, + "type": "assertion" + } + ] + } + ], + "authCredentials": { + "username": "admin", + "password": "20luxl200" + } + } + ] +} \ No newline at end of file