-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
305 lines (196 loc) · 413 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1" name="viewport">
<title>The Good Citizen</title>
<style title="Twine CSS">@keyframes appear{0%{opacity:0}to{opacity:1}}@keyframes fade-in-out{0%,to{opacity:0}50%{opacity:1}}@keyframes rumble{25%{top:-0.1em}75%{top:0.1em}0%,to{top:0px}}@keyframes shudder{25%{left:0.1em}75%{left:-0.1em}0%,to{left:0px}}@keyframes buoy{25%{top:0.25em}75%{top:-0.25em}0%,to{top:0px}}@keyframes sway{25%{left:0.25em}75%{left:-0.25em}0%,to{left:0px}}@keyframes pulse{0%{transform:scale(0, 0)}20%{transform:scale(1.2, 1.2)}40%{transform:scale(0.9, 0.9)}60%{transform:scale(1.05, 1.05)}80%{transform:scale(0.925, 0.925)}to{transform:scale(1, 1)}}@keyframes zoom-in{0%{transform:scale(0, 0)}to{transform:scale(1, 1)}}@keyframes shudder-in{0%, to{transform:translateX(0em)}5%, 25%, 45%{transform:translateX(-1em)}15%, 35%, 55%{transform:translateX(1em)}65%{transform:translateX(-0.6em)}75%{transform:translateX(0.6em)}85%{transform:translateX(-0.2em)}95%{transform:translateX(0.2em)}}@keyframes rumble-in{0%, to{transform:translateY(0em)}5%, 25%, 45%{transform:translateY(-1em)}15%, 35%, 55%{transform:translateY(1em)}65%{transform:translateY(-0.6em)}75%{transform:translateY(0.6em)}85%{transform:translateY(-0.2em)}95%{transform:translateY(0.2em)}}@keyframes fidget{0%, 8.1%, 82.1%, 31.1%, 38.1%, 44.1%, 40.1%, 47.1%, 74.1%, 16.1%, 27.1%, 72.1%, 24.1%, 95.1%, 6.1%, 36.1%, 20.1%, 4.1%, 91.1%, 14.1%, 87.1%, to{left:0px;top:0px}8%, 82%, 31%, 38%, 44%{left:-1px}40%, 47%, 74%, 16%, 27%{left:1px}72%, 24%, 95%, 6%, 36%{top:-1px}20%, 4%, 91%, 14%, 87%{top:1px}}@keyframes slide-right{0%{transform:translateX(-100vw)}}@keyframes slide-left{0%{transform:translateX(100vw)}}@keyframes slide-up{0%{transform:translateY(100vh)}}@keyframes slide-down{0%{transform:translateY(-100vh)}}@keyframes fade-right{0%{opacity:0;transform:translateX(-1em)}to{opacity:1}}@keyframes fade-left{0%{opacity:0;transform:translateX(1em)}to{opacity:1}}@keyframes fade-up{0%{opacity:0;transform:translateY(1em)}to{opacity:1}}@keyframes fade-down{0%{opacity:0;transform:translateY(-1em)}to{opacity:1}}@keyframes flicker{0%,29%,31%,63%,65%,77%,79%,86%,88%,91%,93%{opacity:0}30%{opacity:0.2}64%{opacity:0.4}78%{opacity:0.6}87%{opacity:0.8}92%, to{opacity:1}}@keyframes blur{0%{filter:blur(2rem);opacity:0}25%{opacity:1}to{filter:blur(0rem);opacity:1}}.dom-debug-mode tw-story,.dom-debug-mode tw-passage,.dom-debug-mode tw-sidebar,.dom-debug-mode tw-include,.dom-debug-mode tw-hook,.dom-debug-mode tw-expression,.dom-debug-mode tw-link,.dom-debug-mode tw-dialog,.dom-debug-mode tw-columns,.dom-debug-mode tw-column,.dom-debug-mode tw-align{outline:1px solid #f5a3da;min-height:32px;display:block !important}.dom-debug-mode tw-story::before,.dom-debug-mode tw-passage::before,.dom-debug-mode tw-sidebar::before,.dom-debug-mode tw-include::before,.dom-debug-mode tw-hook::before,.dom-debug-mode tw-expression::before,.dom-debug-mode tw-link::before,.dom-debug-mode tw-dialog::before,.dom-debug-mode tw-columns::before,.dom-debug-mode tw-column::before,.dom-debug-mode tw-align::before{position:absolute;top:0;left:0;height:16px;background-color:#f5a3da;color:black;font-size:16px;font-weight:normal;font-style:normal;font-family:monospace;display:inline-block;line-height:100%;white-space:pre;z-index:999997}.dom-debug-mode tw-story:hover,.dom-debug-mode tw-passage:hover,.dom-debug-mode tw-sidebar:hover,.dom-debug-mode tw-include:hover,.dom-debug-mode tw-hook:hover,.dom-debug-mode tw-expression:hover,.dom-debug-mode tw-link:hover,.dom-debug-mode tw-dialog:hover,.dom-debug-mode tw-columns:hover,.dom-debug-mode tw-column:hover,.dom-debug-mode tw-align:hover{outline:1px solid #fc9}.dom-debug-mode tw-story:hover::before,.dom-debug-mode tw-passage:hover::before,.dom-debug-mode tw-sidebar:hover::before,.dom-debug-mode tw-include:hover::before,.dom-debug-mode tw-hook:hover::before,.dom-debug-mode tw-expression:hover::before,.dom-debug-mode tw-link:hover::before,.dom-debug-mode tw-dialog:hover::before,.dom-debug-mode tw-columns:hover::before,.dom-debug-mode tw-column:hover::before,.dom-debug-mode tw-align:hover::before{background-color:#fc9;transition:background-color 1s}.dom-debug-mode tw-passage,.dom-debug-mode tw-include,.dom-debug-mode tw-hook,.dom-debug-mode tw-expression,.dom-debug-mode tw-link,.dom-debug-mode tw-dialog,.dom-debug-mode tw-columns,.dom-debug-mode tw-column,.dom-debug-mode tw-align{padding:1em;margin:0}.dom-debug-mode tw-story::before{content:'<tw-story tags="' attr(tags) '">'}.dom-debug-mode tw-passage::before{top:-16px;content:'<tw-passage tags="' attr(tags) '">'}.dom-debug-mode tw-sidebar::before{top:-16px;content:"<tw-sidebar>"}.dom-debug-mode tw-hook::before{content:'<tw-hook name="' attr(name) '">'}.dom-debug-mode tw-expression::before{content:'<tw-expression name="' attr(name) '">'}.dom-debug-mode tw-link::before{content:'<tw-link name="' attr(name) '">'}.dom-debug-mode tw-dialog::before{content:"<tw-dialog>"}.dom-debug-mode tw-columns::before{content:"<tw-columns>"}.dom-debug-mode tw-column::before{content:"<tw-column>"}.dom-debug-mode tw-align::before{content:"<tw-align>"}.dom-debug-mode tw-include::before{content:'<tw-include type="' attr(type) '" title="' attr(title) '">'}.debug-mode tw-expression{display:inline-block !important}.debug-mode tw-expression[type=variable]::after{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:"$" attr(name)}.debug-mode tw-expression[type=tempVariable]::after{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:"_" attr(name)}.debug-mode tw-expression[return=boolean]{background-color:rgba(179,179,179,0.2)}.debug-mode tw-expression[return=array]{background-color:rgba(255,102,102,0.2)}.debug-mode tw-expression[return=dataset]{background-color:rgba(255,128,0,0.2)}.debug-mode tw-expression[return=number]{background-color:rgba(255,179,102,0.2)}.debug-mode tw-expression[return=datamap]{background-color:rgba(255,255,102,0.2)}.debug-mode tw-expression[return=changer]{background-color:rgba(179,255,102,0.2)}.debug-mode tw-expression[return=lambda]{background-color:rgba(102,255,102,0.2)}.debug-mode tw-expression[return=hookname]{background-color:rgba(102,255,204,0.2)}.debug-mode tw-expression[return=string]{background-color:rgba(102,255,255,0.2)}.debug-mode tw-expression[return=datatype]{background-color:rgba(102,153,255,0.2)}.debug-mode tw-expression[return=gradient],.debug-mode tw-expression[return=colour]{background-color:rgba(204,102,255,0.2)}.debug-mode tw-expression[return=instant],.debug-mode tw-expression[return=macro]{background-color:rgba(240,117,199,0.2)}.debug-mode tw-expression[return=command]{background-color:rgba(153,153,255,0.2)}.debug-mode tw-expression.false{background-color:rgba(255,0,0,0.2) !important}.debug-mode tw-expression[type=macro]::before{content:"(" attr(name) ":)";padding:0 0.5rem;font-size:1rem;vertical-align:middle;line-height:normal;background-color:inherit;border:1px solid rgba(255,255,255,0.5)}.debug-mode tw-hook{background-color:rgba(0,85,255,0.1) !important}.debug-mode tw-hook::before{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:"["}.debug-mode tw-hook::after{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:"]"}.debug-mode tw-hook[name]::after{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:"]<" attr(name) "|"}.debug-mode tw-pseudo-hook{background-color:rgba(255,170,0,0.1) !important}.debug-mode tw-collapsed::before{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:"{"}.debug-mode tw-collapsed::after{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:"}"}.debug-mode tw-verbatim::before,.debug-mode tw-verbatim::after{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:"`"}.debug-mode tw-align[style*="text-align: center"]{background:linear-gradient(to right, rgba(255,204,189,0) 0%, rgba(255,204,189,0.25) 50%, rgba(255,204,189,0) 100%)}.debug-mode tw-align[style*="text-align: left"]{background:linear-gradient(to right, rgba(255,204,189,0.25) 0%, rgba(255,204,189,0) 100%)}.debug-mode tw-align[style*="text-align: right"]{background:linear-gradient(to right, rgba(255,204,189,0) 0%, rgba(255,204,189,0.25) 100%)}.debug-mode tw-column{background-color:rgba(189,228,255,0.2)}.debug-mode tw-enchantment{animation:enchantment 0.5s infinite;border:1px solid}.debug-mode tw-link::after,.debug-mode tw-broken-link::after{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:attr(passage-name)}.debug-mode tw-include{background-color:rgba(204,128,51,0.1)}.debug-mode tw-include::before{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:attr(type) ' "' attr(title) '"'}@keyframes enchantment{0%,to{border-color:#ffb366}50%{border-color:#6fc}}tw-debugger{position:fixed;box-sizing:border-box;bottom:0;right:0;z-index:999999;min-width:10em;min-height:1em;padding:0em 0.5em 0.5em 1em;font-size:1.25em;font-family:sans-serif;color:#000;border-left:solid #000 2px;border-top:solid #000 2px;border-top-left-radius:.5em;background:#fff;opacity:1}tw-debugger select{margin-right:1em;width:12em}tw-debugger button{border-radius:3px;border:solid #999 1px;margin:auto 4px;background-color:#fff;font-size:inherit;color:#000}tw-debugger button.enabled{background-color:#eee;box-shadow:inset #ddd 3px 5px 0.5em}tw-debugger .panel{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;position:absolute;bottom:100%;left:-2px;right:0;padding:1em;max-height:40vh;overflow-y:scroll;overflow-x:hidden;z-index:999998;background:#fff;border:inherit;border-bottom:solid #999 2px;border-top-left-radius:.5em;border-bottom-left-radius:.5em;font-size:0.8em}tw-debugger .panel:empty,tw-debugger .panel[hidden]{display:none}tw-debugger .panel-source,tw-debugger .panel-row-source{font-family:monospace;overflow-x:scroll;white-space:pre;-ms-flex-preferred-size:100%;flex-basis:100%}tw-debugger .panel-row-source{margin:5px 0}tw-debugger .panel-rows{width:100%;overflow-x:scroll}tw-debugger .panel-rows>*{display:table-row}tw-debugger .panel-rows>div:nth-of-type(2n){background:#EEE}tw-debugger .panel-row-buttons{text-align:right}tw-debugger .panel-variables .panel-rows:empty::before{content:"~ No variables ~";font-style:italic;color:#888;text-align:center}tw-debugger .panel-enchantments .panel-rows:empty::before{content:"~ No enchantments ~";font-style:italic;color:#888;text-align:center}tw-debugger .panel-errors .panel-rows:empty::before{content:"~ No errors... for now. ~";font-style:italic;color:#888;text-align:center}tw-debugger .panel-rows:empty+.panel-variables-bottom{display:none}tw-debugger .panel-storylets:not(.panel-exclusive) .storylet-exclusive,tw-debugger .panel-storylets:not(.panel-urgent) .storylet-urgent{display:none}tw-debugger .panel-variables-bottom{padding-top:5px}tw-debugger .enchantment-row{min-height:1.5em}tw-debugger .variable-path{opacity:0.4}tw-debugger .temporary-variable-scope,tw-debugger .enchantment-local{font-family:sans-serif;font-weight:normal;opacity:0.8;font-size:0.75em}tw-debugger .temporary-variable-scope:not(:empty)::before,tw-debugger .enchantment-local:not(:empty)::before{content:" in "}tw-debugger .variable-name,tw-debugger .enchantment-name{font-family:monospace;font-weight:bold}tw-debugger .variable-type{color:#444;font-weight:normal;text-overflow:ellipsis;overflow:hidden;max-width:10em}tw-debugger .error-row{display:table-row;background-color:rgba(230,101,204,0.3)}tw-debugger .error-row:nth-of-type(2n){background-color:rgba(237,145,219,0.3)}tw-debugger .error-row>*{display:table-cell;padding:0.25em 0.5em}tw-debugger .error-row .error-message{cursor:help}tw-debugger .error-row .error-passage{color:#444}tw-debugger .storylet-row{background-color:rgba(201,233,222,0.3)}tw-debugger .storylet-row:nth-child(2n){background-color:rgba(128,203,178,0.3)}tw-debugger .storylet-row.storylet-closed{font-style:italic;opacity:0.4;background-color:rgba(217,217,217,0.3)}tw-debugger .storylet-row.storylet-closed:nth-child(2n){background-color:rgba(166,166,166,0.3)}.storylet-error tw-debugger .storylet-row{background-color:rgba(230,101,204,0.3)}.storylet-error tw-debugger .storylet-row:nth-child(2n){background-color:rgba(237,145,219,0.3)}tw-debugger .storylet-row .storylet-name,tw-debugger .storylet-row .storylet-value{display:inline-block;width:50%}tw-debugger .tabs{padding-bottom:0.5em}tw-debugger .tab{border-radius:0px 0px 0.5em 0.5em;border-top:none}tw-debugger .resizer{position:absolute;height:3em;border-left:2px solid #ccc;border-right:2px solid #ccc;top:10px;left:4px;width:8px;cursor:ew-resize}tw-dialog{z-index:999997;border:#fff solid 2px;padding:2em;color:#fff;background-color:#000;display:block}@media (min-width: 576px){tw-dialog{max-width:50vw}}tw-dialog input[type=text]{font-size:inherit;width:100%}tw-dialog-links{text-align:right;display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end}tw-backdrop{z-index:999996;position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.8);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}tw-backdrop ~ tw-backdrop{display:none}tw-link,.link,tw-icon,.enchantment-clickblock{cursor:pointer}tw-link,.enchantment-link{color:#4169E1;font-weight:bold;text-decoration:none;transition:color 0.2s ease-in-out}tw-passage [style^="color"] tw-link:not(:hover),tw-passage [style*=" color"] tw-link:not(:hover),tw-passage [style^="color"][hover="true"] tw-link:hover,tw-passage [style*=" color"][hover="true"] tw-link:hover,tw-passage [style^="color"] .enchantment-link:not(:hover),tw-passage [style*=" color"] .enchantment-link:not(:hover),tw-passage [style^="color"][hover="true"] .enchantment-link:hover,tw-passage [style*=" color"][hover="true"] .enchantment-link:hover{color:inherit}tw-link:hover,.enchantment-link:hover{color:#00bfff}tw-link:active,.enchantment-link:active{color:#DD4B39}.visited{color:#6941e1}tw-passage [style^="color"] .visited:not(:hover),tw-passage [style*=" color"] .visited:not(:hover),tw-passage [style^="color"][hover="true"] .visited:hover,tw-passage [style*=" color"][hover="true"] .visited:hover{color:inherit}.visited:hover{color:#E3E}tw-broken-link{color:#993333;border-bottom:2px solid #993333;cursor:not-allowed}tw-passage [style^="color"] tw-broken-link:not(:hover),tw-passage [style*=" color"] tw-broken-link:not(:hover),tw-passage [style^="color"][hover="true"] tw-broken-link:hover,tw-passage [style*=" color"][hover="true"] tw-broken-link:hover{color:inherit}.enchantment-mouseover{border-bottom:2px dashed #999}.enchantment-mouseout{border:rgba(64,149,191,0.6) 1px solid}.enchantment-mouseout:hover{background-color:rgba(175,197,207,0.75);border:transparent 1px solid;border-radius:0.2em}.enchantment-clickblock{width:100%;height:100%;display:block}.enchantment-clickblock>:not(tw-enchantment)::after{content:"";width:100%;height:100%;top:0;left:0;display:block;box-sizing:border-box;position:absolute;pointer-events:none;color:rgba(65,105,225,0.5);transition:color 0.2s ease-in-out}.enchantment-clickblock>:not(tw-enchantment):hover::after{color:rgba(0,191,255,0.5)}.enchantment-clickblock>:not(tw-enchantment):active::after{color:rgba(222,78,59,0.5)}.enchantment-clickblock>:not(tw-enchantment)::after{box-shadow:inset 0 0 0 0.5vmax}.enchantment-clickblock>tw-passage::after,.enchantment-clickblock>tw-sidebar::after{box-shadow:0 0 0 0.5vmax}.enchantment-mouseoverblock>:not(tw-enchantment)::after{content:"";width:100%;height:100%;top:0;left:0;display:block;box-sizing:border-box;position:absolute;pointer-events:none;border:2px dashed #999}.enchantment-mouseoutblock>:not(tw-enchantment)::after{content:"";width:100%;height:100%;top:0;left:0;display:block;box-sizing:border-box;position:absolute;pointer-events:none;border:rgba(64,149,191,0.6) 2px solid}.enchantment-mouseoutblock:hover>:not(tw-enchantment)::after{content:"";width:100%;height:100%;top:0;left:0;display:block;box-sizing:border-box;position:absolute;pointer-events:none;background-color:rgba(175,197,207,0.75);border:transparent 2px solid;border-radius:0.2em}tw-link.enchantment-button,.enchantment-link.enchantment-button,.enchantment-button:not(.enchantment-link) tw-link,.enchantment-button:not(.enchantment-link) .enchantment-link{border-radius:16px;border-style:solid;border-width:2px;text-align:center;padding:0px 8px;display:block}tw-dialog-links{padding-top:1.5em}tw-dialog-links tw-link{border-radius:16px;border-style:solid;border-width:2px;text-align:center;padding:0px 8px;display:block;display:inline-block}html{margin:0;height:100%;overflow-x:hidden}*,:before,:after{position:relative;box-sizing:inherit}body{margin:0;height:100%}tw-storydata{display:none}tw-story{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;font:100% Georgia, serif;box-sizing:border-box;width:100%;min-height:100%;font-size:1.5em;line-height:1.5em;padding:5% 5%;overflow:hidden;background-color:#000;color:#fff}tw-story [style*=content-box] *{box-sizing:border-box}@media (min-width: 576px){tw-story{padding:5% 20%}}tw-story tw-consecutive-br{display:block;height:1.6ex;visibility:hidden}tw-story select{background-color:transparent;font:inherit;border-style:solid;padding:2px}tw-story select:not([disabled]){color:inherit}tw-story textarea{resize:none;background-color:transparent;font:inherit;color:inherit;border-style:none;padding:2px}tw-story input[type=checkbox]{transform:scale(1.5);margin:0 0.5em}tw-story tw-noscript{animation:appear 0.8s}tw-passage{display:block}tw-sidebar{text-align:center;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}@media (min-width: 576px){tw-sidebar{left:-5em;width:3em;position:absolute;-ms-flex-direction:column;flex-direction:column}tw-enchantment[style*="width"]>tw-sidebar{width:inherit}}tw-icon{display:inline-block;margin:0.5em 0;font-size:66px;font-family:"Verdana",sans-serif}tw-icon[alt]{opacity:0.2}tw-icon[alt]:hover{opacity:0.4}tw-icon[data-label]::after{font-weight:bold;content:attr(data-label);font-size:20px;bottom:-20px;left:-50%;white-space:nowrap}tw-meter{display:block}tw-hook:empty,tw-expression:empty{display:none}tw-error{display:inline-block;border-radius:0.2em;padding:0.2em;font-size:1rem;cursor:help;white-space:pre-wrap}tw-error.error{background-color:rgba(223,58,190,0.6);color:#fff}tw-error.warning{background-color:rgba(223,140,58,0.6);color:#fff;display:none}.debug-mode tw-error.warning{display:inline}tw-error-explanation{display:block;font-size:0.8rem;line-height:1rem}tw-open-button,tw-folddown{cursor:pointer;line-height:0em;border-radius:1px;border:1px solid black;font-size:0.8rem;margin:0 0.4rem;padding:2px;white-space:pre}tw-folddown::after{content:"\25b6"}tw-folddown.open::after{content:"\25bc"}tw-open-button::after{content:"Open"}tw-notifier{border-radius:0.2em;padding:0.2em;font-size:1rem;background-color:rgba(223,182,58,0.4);display:none}.debug-mode tw-notifier{display:inline}tw-notifier::before{content:attr(message)}tw-colour{border:1px solid black;display:inline-block;width:1em;height:1em}tw-enchantment:empty{display:none}h1{font-size:3em}h2{font-size:2.25em}h3{font-size:1.75em}h1,h2,h3,h4,h5,h6{line-height:1em;margin:0.3em 0 0.6em 0}pre{font-size:1rem;line-height:initial}small{font-size:70%}big{font-size:120%}mark{color:rgba(0,0,0,0.6);background-color:#ff9}ins{color:rgba(0,0,0,0.6);background-color:rgba(255,242,204,0.5);border-radius:0.5em;box-shadow:0em 0em 0.2em #ffe699;text-decoration:none}center{text-align:center;margin:0 auto;width:60%}blink{text-decoration:none;animation:fade-in-out 1s steps(1, end) infinite alternate}tw-align{display:block}tw-columns{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:justify;justify-content:space-between}.transition-in{animation:appear 0ms step-start}.transition-out{animation:appear 0ms step-end}[data-t8n^=dissolve].transition-in,[data-t8n=fade].transition-in{animation:appear .8s}[data-t8n^=dissolve].transition-out,[data-t8n=fade].transition-out{animation:appear .8s reverse}[data-t8n^=shudder].transition-in{display:inline-block !important;animation:shudder-in .8s}[data-t8n^=shudder].transition-out{display:inline-block !important;animation:shudder-in .8s reverse}[data-t8n^=rumble].transition-in{display:inline-block !important;animation:rumble-in .8s}[data-t8n^=rumble].transition-out{display:inline-block !important;animation:rumble-in .8s reverse}[data-t8n^=pulse].transition-in{animation:pulse .8s;display:inline-block !important}[data-t8n^=pulse].transition-out{animation:pulse .8s reverse;display:inline-block !important}[data-t8n^=zoom].transition-in{animation:zoom-in .8s;display:inline-block !important}[data-t8n^=zoom].transition-out{animation:zoom-in .8s reverse;display:inline-block !important}[data-t8n^=blur].transition-in{animation:blur .8s;display:inline-block !important}[data-t8n^=blur].transition-out{animation:blur .8s reverse;display:inline-block !important}[data-t8n^=slideleft].transition-in{animation:slide-left .8s;display:inline-block !important}[data-t8n^=slideleft].transition-out{animation:slide-right .8s reverse;display:inline-block !important}[data-t8n^=slideright].transition-in{animation:slide-right .8s;display:inline-block !important}[data-t8n^=slideright].transition-out{animation:slide-left .8s reverse;display:inline-block !important}[data-t8n^=slideup].transition-in{animation:slide-up .8s;display:inline-block !important}[data-t8n^=slideup].transition-out{animation:slide-down .8s reverse;display:inline-block !important}[data-t8n^=slidedown].transition-in{animation:slide-down .8s;display:inline-block !important}[data-t8n^=slidedown].transition-out{animation:slide-up .8s reverse;display:inline-block !important}[data-t8n^=fadeleft].transition-in{animation:fade-left .8s;display:inline-block !important}[data-t8n^=fadeleft].transition-out{animation:fade-right .8s reverse;display:inline-block !important}[data-t8n^=faderight].transition-in{animation:fade-right .8s;display:inline-block !important}[data-t8n^=faderight].transition-out{animation:fade-left .8s reverse;display:inline-block !important}[data-t8n^=fadeup].transition-in{animation:fade-up .8s;display:inline-block !important}[data-t8n^=fadeup].transition-out{animation:fade-down .8s reverse;display:inline-block !important}[data-t8n^=fadedown].transition-in{animation:fade-down .8s;display:inline-block !important}[data-t8n^=fadedown].transition-out{animation:fade-up .8s reverse;display:inline-block !important}[data-t8n^=flicker].transition-in{animation:flicker .8s}[data-t8n^=flicker].transition-out{animation:flicker .8s reverse}
</style>
</head>
<body>
<tw-story><noscript><tw-noscript>JavaScript needs to be enabled to play The Good Citizen.</tw-noscript></noscript></tw-story>
<tw-storydata name="The Good Citizen" startnode="1" creator="Twine" creator-version="2.3.14" ifid="6A915D21-7E74-4D9D-9388-E4B1AD2A52CC" zoom="1" format="Harlowe" format-version="3.2.2" options="" hidden><style role="stylesheet" id="twine-user-stylesheet" type="text/twine-css"></style><script role="script" id="twine-user-script" type="text/twine-javascript"></script><tw-passagedata pid="1" name="Intro" tags="" position="620,239.5" size="100,100">
<img src="https://cdn.pixabay.com/photo/2015/02/27/22/28/india-652857_960_720.png">
Namashkar. Welcome Good Citizen. We believe in your innate goodness, your rational thinking and your super powers of Empathy
[[This is a lot for me]]
[[Okay, let's go!]]</tw-passagedata><tw-passagedata pid="2" name="This is a lot for me" tags="" position="500,389.5" size="100,100">Don't worry about it. May we suggest some pro-nation breathing. This is how it is done.
<img src="https://onlinelibrary.wiley.com/cms/asset/bef6148e-53c1-49c1-9242-f63d23304bfb/acem14035-fig-0001-m.png"
Sorry about the bad pun.
Do you feel any better?
[[Okay, let's go!]]</tw-passagedata><tw-passagedata pid="3" name="Okay, let's go!" tags="" position="740,389.5" size="100,100">(set: $name to (prompt:"What Should we call you", "Citizen X"))
<img src="https://cdn.pixabay.com/photo/2019/08/30/14/52/id-4441548_960_720.png">
Welcome, $name
So what life do you want to try out today?
[[Pick an Avatar]]</tw-passagedata><tw-passagedata pid="4" name="Pick an Avatar" tags="" position="740,539.5" size="100,100"><b>Which life would you like to live today, $name?</b>
<img src="https://cdn.stocksnap.io/img-thumbs/960w/people-crowd_QM8SLOCJ8M.jpg">
[[The Student]]
[[The Lawyer]]
[[The School Mid-day Meal Cook]]
[[The Doctor]]
[[The Priest]]</tw-passagedata><tw-passagedata pid="5" name="The Student" tags="" position="456,684.5" size="100,100">The student! Good Choice! After All we all started there. And you are a good one too.
(align:"==>")+(box:"X=")[You got an undergraduate degree in History,
a masters in History
an Mphil in development studies
And you are on your way to do a PhD in History]
---
[[Wow, look at me go!]]</tw-passagedata><tw-passagedata pid="6" name="The Lawyer" tags="" position="590,689.5" size="100,100">Aha, so you are a high achiever, $name.
Good for you, because you were born to super educated parents and in a first world foreign land.
[[I sound like a brat]]
[[Good luck all around]]</tw-passagedata><tw-passagedata pid="7" name="The School Mid-day Meal Cook" tags="" position="740,689.5" size="100,100">We will start your story when you were just a child, $name
[[good]]
[[This already sounds grim]]</tw-passagedata><tw-passagedata pid="8" name="The Doctor" tags="" position="1094,716.5" size="100,100">Every Indian parent's dream job for their kids! Well done, $name.
And you're not some random doctor either. You have an MD in Paediatrics. After serving as an Asst Prof in a well known medical college, you chose to practice in a government hospital in your own hometown in North India.
<img src="https://cdn.pixabay.com/photo/2015/07/10/20/54/stethoscope-840125_960_720.jpg">
But did we tell you that you belonged to minority community?
[[What has that got to do with anything?]]
[[I get it]]</tw-passagedata><tw-passagedata pid="9" name="The Priest" tags="" position="1296,696.5" size="100,100">We apologise, $name. This story is under construction. W
[[Pick an Avatar]]
</tw-passagedata><tw-passagedata pid="10" name="Wow, look at me go!" tags="" position="220,790.5" size="100,100">But as you have been pursuing academic excellance, there are issues that have always bothered you.
[[What sort of Issues?]]
[[Seems Unlikely!]]</tw-passagedata><tw-passagedata pid="11" name="What sort of Issues?" tags="" position="37,952.5" size="100,100">Growing up in Haryana, you saw patriarchy up and close. Luckily your activist father never let any conservative values enter the house and brought you up up to be a independent, critical thinking, strong young woman.
At 16, you didn't like it when the leader of a national party said his party didn't need a minority communities' votes
At 18, you couldn't undertsand why your college could have a full fledged boy's hostel but no girl's hostel. You hated the curfew-culture of women's hostels and PGs in your campus.
4 years later, when you were doing your masters, you were surprised to see how the situation for women had not changed once bit.
[[Did I do something about it?]]</tw-passagedata><tw-passagedata pid="12" name="Seems Unlikely!" tags="" position="273,938.5" size="100,100">Well, you don't have an ordinary upbringing. Your father was an activist who believed in gender equality. He brought you up to be independent, critical thinking and free.
So there was stuff that you noticed that bothered you as a young adult
[[What stuff]]</tw-passagedata><tw-passagedata pid="13" name="What stuff" tags="" position="279,1111.5" size="100,100">Growing up in Haryana, you saw patriarchy up and close. Luckily your activist father never let any conservative values enter the house and brought you up up to be a independent, critical thinking, strong young woman.
At 16, you didn't like it when the leader of a national party said his party didn't need a minority communities' votes
At 18, you couldn't undertsand why your college could have a full fledged boy's hostel but no girl's hostel. You hated the curfew-culture of women's hostels and PGs in your campus.
4 years later, when you were doing your masters, you were surprised to see how the situation for women had not changed once bit.
[[Did I do something about it?]]</tw-passagedata><tw-passagedata pid="14" name="Did I do something about it?" tags="" position="31,1105.5" size="100,100">Of course! You are fire, girl. You have started an immesely popular women's movement in your campus along with other women activists.
<img src= "https://cdn.pixabay.com/photo/2020/10/21/12/45/woman-5673050_960_720.jpg">
[[So, no academics for me, right? I knew it!]]</tw-passagedata><tw-passagedata pid="15" name="So, no academics for me, right? I knew it!" tags="" position="75,1264.5" size="100,100">Did you forget the PhD you're enrolled in, $name? You have been writing and researching and getting published all this while.
[[Oh,yay!]]</tw-passagedata><tw-passagedata pid="16" name="Oh,yay!" tags="" position="83,1401.5" size="100,100">Not so fast though. A draconian bill has been passed by the parliament that will severely curb the rights of a minority community, threatening their citizenship. So you do what you do best?
[[Organise Women?]]
</tw-passagedata><tw-passagedata pid="17" name="Organise Women?" tags="" position="84,1540.5" size="100,100">''Organise Women!''
The city is full of women organising small peaceful protests against this bill and you participate in several of them.
<img src="https://cdn.pixabay.com/photo/2014/12/02/11/21/prison-553836_960_720.jpg">
But then, you are arrested much to the shock of fellow student activists. You are wrongfully accused of inciting violence in the city. There are several cases slapped on you, one of them being under the dreaded UAPA.
What do you do next?
[[Organise Women]]
[[Apply for bail]]</tw-passagedata><tw-passagedata pid="18" name="Organise Women" tags="" position="25,1664.5" size="100,100"><img src="https://lesserknowngems.files.wordpress.com/2019/05/sd-330x220.jpg">
That's just you isn't it? You //do// organise women. This time in jail. You conduct reading sessions and read 'Sultana's Dream' by Rokeya Hussain with your inmates. You do group yoga sessions. You play with the children who have been born in jail. You write and you read. You love books and are made the head librarian of the Women's prison. Because of your petition, Covid vaccines have been made available to all inmates of your ward.
Of course you apply for [[bail]] as well. </tw-passagedata><tw-passagedata pid="19" name="Apply for bail" tags="" position="163,1666.5" size="100,100"><img src="https://lesserknowngems.files.wordpress.com/2019/05/sd-330x220.jpg">
Yes, but you organise women as well.This time in jail. You conduct reading sessions and read 'Sultana's Dream' by Rokeya Hussain with your inmates. You do group yoga sessions. You play with the children who have been born in jail. You write and you read. You love books and are made the head librarian of the Women's prison. Because of your petition, Covid vaccines have been made available to all inmates of your ward.
The [[bail]] proceedings continue. </tw-passagedata><tw-passagedata pid="20" name="bail" tags="" position="98,1799.5" size="100,100">$name, although you were granted bail in one of the FIR's which cited you as a conspirator for violence in the city, you remain incarecrated under Unlawful Activies Prevention Act (UAPA).
Unlawful Activities Preventions Act is a much abused act, often used to silence voices of dissent against the government. It functions on the principle of preventative detetention, with extremely stringent rules for bail.
[[Take me to the real world]]
</tw-passagedata><tw-passagedata pid="21" name="Take me to the real world" tags="" position="99,1925.5" size="100,100">Natasha Narwal is a PhD scholar at the Jawaharlal Nehru University, New Delhi. In 2015, she, along with Devangana Kalita, and other women activists formed PinjraTod (Break the cages!), a hugely popular women's movement campaigning against unjustified restrictions put on women in Univeristy spaces.
<img src= "https://1.bp.blogspot.com/-gaFVBMgiT08/YLB9b8IChjI/AAAAAAAATgk/w34OOwFHA4wE8OnByHs9GWwqWWrLIZC6wCNcBGAsYHQ/s320/PT%2B1.webp">
On 23rd May 2020, Natasha Narwal along with Devangana Kalita was arrested for protesting at Jaffrabad Metro Station. Several drummed up charges of inciting and abetting violence have been put on her, many of which the Delhi Police has not been able to prove in court. However, Natasha still remains incarcerated under the Unalwful Activieties Preventions Act.
Update: On 10th May 2021, Natasha was given a 3 week bail to perform the last rites of her father who passed away from Covid while she was in jail.
---
[[Talk to me, Natasha]]
</tw-passagedata><tw-passagedata pid="22" name="Talk to me, Natasha" tags="" position="99,2075.5" size="100,100"><img src="https://1.bp.blogspot.com/-Y9KgMxHF2Zs/YKgwn1Q2AfI/AAAAAAAATc0/FSFpKOFRrAoEbP-eNWucFLN2bdJN3RG1gCNcBGAsYHQ/w945-h600-p-k-no-nu/natasha%2Bfinal.jpg">
“I can also glimpse the moon from our barrack window. It’s caged in the grills but the moonlight is coming to us filtering through them. Before coming inside our ward to be locked, I managed to see some stars as well giving the moon some company. I don’t know when one will be able to see the night sky without these grills and bars. How long will or can the moon be caged, hum dekhenge (We will see).”
[[Pick an Avatar]]
[[End Game]]</tw-passagedata><tw-passagedata pid="23" name="I sound like a brat" tags="" position="515,839.5" size="100,100">Not at all. You came back to India with your parents and eventually ended up joining IIT Kanpur for a degree in integrated mathematics
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/Department_of_Computer_Science_and_Engineering_IIT_Kanpur.jpg/800px-Department_of_Computer_Science_and_Engineering_IIT_Kanpur.jpg">
[[Nice!]]</tw-passagedata><tw-passagedata pid="24" name="Good luck all around" tags="" position="665,839.5" size="100,100">Well, luck is an untrustworthy muse.
You came back to India with your parents and eventually end up joining IIT Kanpur for a degree in integrated mathematics
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/Department_of_Computer_Science_and_Engineering_IIT_Kanpur.jpg/800px-Department_of_Computer_Science_and_Engineering_IIT_Kanpur.jpg">
[[Nice!]]</tw-passagedata><tw-passagedata pid="25" name="Nice!" tags="" position="553,997.5" size="100,100">Very Nice! You get a nice teaching job at Delhi Public School.
But then you hear of an activist in Central India leading an extraordinarily democratic and visionary non-violent workers’ organization A lot of young students, activists, and even middle class from across the northern belt are drawn to this worker's organisation. You decide to leave your plush job in the capital and go to Central India, a place where people need you more.
[[Strange..]]</tw-passagedata><tw-passagedata pid="26" name="Strange.." tags="" position="459,1131.5" size="100,100">Right? They don't make them like you anymore. But you do find your true calling as an activist. Organsing protests against mining sharks like Jindal, Birla, Adani and Tata. You begin your legal career assisting lawyers as legal cases pile up against trade union activist. Your fellow activists urge you to pursue law and become a lawyer your self. Because lawyers were proving to be both untrustworthy and expensive.
Ever heard this saying?
(text-style:"bold")[''"A lawyer with a briefcase can steal more than a hundred men with guns"'']
But that wasn't you, was it $name?
[[I'm a good person]]
[[I don't know]]</tw-passagedata><tw-passagedata pid="27" name="I'm a good person" tags="" position="362,1261.5" size="100,100">Yes, you are! A real gem. Fighting for the rights of Dalits, Adivasis, Farmers and other oppressed. you become their champion in courts, in a setting where excercised little power
[[So, all good? Can I go now?]]</tw-passagedata><tw-passagedata pid="28" name="I don't know" tags="" position="538,1257.5" size="100,100">Don't doubt yourself. Unless corrupted by power, human beings are fundamentally good. And you are amongst the best of us. Now say it loud and clear,
[[I'm a good person]]</tw-passagedata><tw-passagedata pid="29" name="So, all good? Can I go now?" tags="" position="391,1390.5" size="100,100">Go? We don't know about that $name.
You get arrested for allegedly inciting violence. Several other prominenet activists fighting for the just of the people have been arrested in the same case. Evidence seems fabricated, witnesses false. You protest. So do many academics, activists, and civil society members. The FIR shown to you is in marathi, a language that you do not understand. You are 59 at this point. You suffer from diabetes and high blood pressure and have a history of pulmonary tuberclosis. You are at risk as there is Covid 19 outbreak in your prison. But the courts do not relent and do not grant you bail.
Unlawful Activities Preventions Act is a much abused act, often used to silence voices of dissent against the government. It functions on the principle of preventative detetention, with extremely stringent rules for bail.
[[Take me to the real world!]] </tw-passagedata><tw-passagedata pid="30" name="Take me to the real world!" tags="" position="420,1531.5" size="100,100">Leaving her Delhi life behind, Sudha Bharwaj travelled to Chattisgarh in 1986 to work with Shankar Guha Niyogi and his organisation Chattisgarh Mukti Morcha. It was here that she came to realise that she must pursue law in order to help her fellow activists and the indigenous people that she wanted to work for.
<img src="https://1.bp.blogspot.com/-izyvdFNhWXE/YLCF444mzzI/AAAAAAAATgs/aJONE44tGmIv7xoBejr2cUx_qN7EoJWkACNcBGAsYHQ/s320/SB.jpeg">
Sudha Bhardwaj was arrested on 28th august 2018. She was accused of inciting violence in Bhima Koregaon by giving a speech at ELgaar Parishad. 15 other activists who have been very vocal against the government have been charged with similar cases. Sudha remains incarcerated under the UAPA.
---
[[Talk to me, Sudha]]</tw-passagedata><tw-passagedata pid="31" name="Talk to me, Sudha" tags="" position="452,1668.5" size="100,100">“We need groups organised to fight, they’re the ones who can make a dent”
<img src="https://1.bp.blogspot.com/-sybsBwkK4KA/YKgyUvFV9PI/AAAAAAAATc8/NcOe0a02SJQ1eOXCf0Q51QmAlSq6B93VACNcBGAsYHQ/s1500/Sudha%2BFinal.jpg">
[[Pick an Avatar]]
[[End Game]] </tw-passagedata><tw-passagedata pid="32" name="good" tags="" position="785,839.5" size="100,100">You lost your father at the age of 15. It doesn't help that you come from one of the most oppresed areas in the country. You belong to the Gond tribe, adivasis who have inhabited their lands for centuries but now have barely any rights to them.
<img src= "https://cdn.pixabay.com/photo/2018/07/02/09/07/landscape-3511180_960_720.jpg">
What do you do next?
[[try getting a job]]
[[educate myself]]</tw-passagedata><tw-passagedata pid="33" name="This already sounds grim" tags="" position="905,839.5" size="100,100">Yes. But all hope is not lost. Maybe there is still some [[good]] to come.</tw-passagedata><tw-passagedata pid="34" name="try getting a job" tags="" position="710,989.5" size="100,100">Yes, with two younger sisters to care of you had to take a job as a Midday meal cook in a public school at the age of 21
<img src="https://upload.wikimedia.org/wikipedia/commons/9/9f/Midday_Meal_Scheme_children_at_primary_school.jpg">
[[Twenty One?]]</tw-passagedata><tw-passagedata pid="35" name="educate myself" tags="" position="860,989.5" size="100,100">That would be the best and we wish that were true for all adivasi girls of Central India. But with two younger sisters to care for you had to take a job as a Midday meal cook in a public school at the age of 21.
[[Twenty One?]]</tw-passagedata><tw-passagedata pid="36" name="Twenty One?" tags="" position="710,1139.5" size="100,100">Yes it is at this age that you start noticing the oppression of your people: the women and the adivasis. And decide to take up social work and work towards the upliftment of the community
[[What is "social work"?]]
</tw-passagedata><tw-passagedata pid="37" name="What is "social work"?" tags="" position="710,1289.5" size="100,100">You've been doing some killer work, $name.
you have :
protested against state mining projects
mobilised around state brutaliies on Adivasi Women. You have specifically been speak about cutodial killing and rapes of adivasi women.
advocated for release of adivasis languishing in jail on fake charges. Along with other prominenet adivasi activists, you formed an organisation for which worked on documentaion and the release of prisoners
[[I did all this?]]
[[Sounds like I would do this]]</tw-passagedata><tw-passagedata pid="38" name="I did all this?" tags="" position="635,1439.5" size="100,100">You did so much more!
<img src="https://cdn.pixabay.com/photo/2017/08/31/11/39/iceland-2700427_960_720.jpg">
You organised a movement to save a mountain sacred to your people from profit thirsty miners who wanted to escavate it for iron.
you really showed them, didn't you $name?
[[And then?]]</tw-passagedata><tw-passagedata pid="39" name="Sounds like I would do this" tags="" position="796,1437.5" size="100,100">You did so much more!
<img src="https://cdn.pixabay.com/photo/2017/08/31/11/39/iceland-2700427_960_720.jpg">
You organised a movement to save a mountain sacred to your people from profit thirsty miners who wanted to escavate it for iron.
you really showed them, didn't you $name?
[[And then?]]</tw-passagedata><tw-passagedata pid="40" name="And then?" tags="" position="635,1589.5" size="100,100">and then they arrested you, $name. Yours was a very public arrest too. You were forcefully dragged into a SUV by the police personnel. Your fellow activists think they wanted to make an example out of you.
They accused of belonging to a militant group. A press release by the police confused you with another woman who had the same first name as yours. This wasn't unheard of. Many in chattisgarh are jailed for merely sharing their names with suspected militanats.
They slapped the draconian Unlawful Activities Prevention Act on you and till date you are imprisonned in the Central Jail of your state.
Unlawful Activities Preventions Act is a much abused act, often used to silence voices of dissent against the government. It functions on the principle of preventative detetention, with extremely stringent rules for bail.
[[Take me to the real world.]]</tw-passagedata><tw-passagedata pid="41" name="Take me to the real world." tags="" position="635,1739.5" size="100,100">Hidme Markam is an Adivasi anti-mining activist and human rights defender, who served as a convener for the Jail Bandi Rihai Manch (JBRM – Committee for the Release of Prisoners), a platform working on the documentation and release of Adivasi prisoners primarily incarcerated under charges of Naxalism. Markam is part of the Gond tribe and Burgum, her village in Chhattisgarh’s conflict-ridden Dantewada district.
Hidme was arrested while participating in an event that commemorated Adivasi women who had been victims of state violence. Markam was dragged into an SUV by the Police. Soon after her arrest, the Police press release confused her identity with that of an alleged Maoist named Hidme Kawasi. Markam’s family observed that some of the charges named one Hidme Kawasi, but the Police implicated Markam based on the same first name.
Hidme remains incarcerated under UAPA
[[Talk to me, Hidme]]</tw-passagedata><tw-passagedata pid="42" name="Talk to me, Hidme" tags="" position="635,1889.5" size="100,100">"Why is it that this government – just to give favors to corporations, just to snatch our mountains – is ready to commit such crimes on us? Whether it is the Congress government or the Bharatiya Janata Party (BJP) government or whatever the party in power – there has never been anything beneficial done for the average Adivasi’s life. Rather, from our blood to our bodies, in everything they have exploited us."
<img src = "https://1.bp.blogspot.com/-25XwLPoMQDs/YKg1GfDhdXI/AAAAAAAATdM/9ZKyFTHOmd4mLMsSdAofWj4yVXxr5KdXACNcBGAsYHQ/s700/hidme%2B1.jpg">
[[Pick an Avatar]]
[[End Game]] </tw-passagedata><tw-passagedata pid="43" name="What has that got to do with anything?" tags="" position="1019,866.5" size="100,100">We'll get to that and maybe you'll get what we [[mean]]</tw-passagedata><tw-passagedata pid="44" name="I get it" tags="" position="1169,866.5" size="100,100">$name, you look the sort who gets what we [[mean]]</tw-passagedata><tw-passagedata pid="45" name="mean" tags="" position="1019,1016.5" size="100,100">In 2017, your hospital is overrun by children suffering from Acute encephalitis syndrome. But what kills 63 children in one night is the lack of medical oxygen in the hospital.
The hospital had not paid it's bills so the supplier has cut the oxygen supply.
what do you do?
[[Wait it out]]
[[Try to find oxygen on my own]]</tw-passagedata><tw-passagedata pid="46" name="Wait it out" tags="" position="944,1166.5" size="100,100">Seems like a reasonable thing to do. Doctors don't panic.
But meanwhile, you call the head of department, the principal and acting principal of your hospital, the district magistrate of the city, the chief medical superintendent, and your other colleagues to inform them of the situation. You also call local oxygen supplier agencies and nearby hospitals and beg them to immediately arrange for oxygen cylinders
But time is running out. There has been no response from the authorities. What do you do next?
[[Try to find oxygen on my own]]</tw-passagedata><tw-passagedata pid="47" name="Try to find oxygen on my own" tags="" position="1094,1166.5" size="100,100">You do find oxygen. You are able to scrape many cylinders together, paying for them yourself and promising the suppliers that you would arrange for the rest of the payment soon. You carry some in your car and arrange with the DIG of Police for a truck and manpower from the Armed Border Force to deliver the others.
[[And then??]]</tw-passagedata><tw-passagedata pid="48" name="And then??" tags="" position="1094,1316.5" size="100,100">and then something unexpected happened, $name
The state government claimed that no deaths had occured due to oxygen shortage. This is strange for you. You don't understand the lies.If you close your eyes, you can still hear the children gasping for breath.
And you get arrested under false charges of dereliction of duty. You can't believe yourself. But remember what we told you in the beginning about belonging to a minority community?
[[Yes, I remember]]
[[I don't think that played a role]]</tw-passagedata><tw-passagedata pid="49" name="Yes, I remember" tags="" position="1019,1466.5" size="100,100">All hope is not lost though and you are not alone. A lot of people across the country raise their voices for you. Resident doctors Association, AIIMS and Indian Medical Association both bring out statements stating you are being made a scapegoat. You are cleared off all charges after 9 months of imprisonment.
But then two years later, you are [[arrested again]]. </tw-passagedata><tw-passagedata pid="50" name="I don't think that played a role" tags="" position="1169,1466.5" size="100,100">Yeah maybe not. After all, a lot of people across the country raise their voices for you. Resident doctors Association, AIIMS and Indian Medical Association both bring out statements stating you are being made a scapegoat. You are cleared off all charges after 9 months of imprisonment.
But then, you are [[arrested again]] </tw-passagedata><tw-passagedata pid="51" name="arrested again" tags="" position="1019,1616.5" size="100,100">This time it is for a speech you gave at a peaceful protest. A protest against a new Act that you think will severely curb the rights of a minority community, threatening their citizenship.
The speech, they said, is promoting discord between communities. You are arrested under National Security Act.
While you are in Jail, a pandemic breaks out in the country. A respiratory disease unleasing havoc in the country. You are haunted by images of patients gasping for breath and you ask to be released in order to serve as a frontline worker.
I am [[awesome]]!
[[This all sounds so scary]]</tw-passagedata><tw-passagedata pid="52" name="awesome" tags="" position="944,1766.5" size="100,100">You really are. After another 9 months of imprisonment, to no one's surprise all charges against you are dropped again.
What do you do next?
[[Time to put my feet up and relax?]]
[[More work]]</tw-passagedata><tw-passagedata pid="53" name="This all sounds so scary" tags="" position="1094,1766.5" size="100,100">It is scary. You signed up to save lives not to get into a full on battle with the state. But you can't give up now, $name. You are so [[awesome]] </tw-passagedata><tw-passagedata pid="54" name="Time to put my feet up and relax?" tags="" position="869,1916.5" size="100,100">Unfortunately $name, there is no time to relax for doctors in the middle of the pandemic. You join Doctors on the Road, a volunteer group who will set up clinics in rural areas where the already skeletal healthcare infrastructure has collapsed.
[[Take me to the real world, please]]</tw-passagedata><tw-passagedata pid="55" name="More work" tags="" position="1019,1916.5" size="100,100">That's right. There is no time to relax for doctors in the middle of the pandemic. You join Doctors on the Road, a volunteer group who will set up clinics in rural areas where the already skeletal healthcare infrastructure has collapsed.
[[Take me to the real world, please]] </tw-passagedata><tw-passagedata pid="56" name="Take me to the real world, please" tags="" position="869,2066.5" size="100,100">Dr. Kafeel Khan worked in the BRD hospital in Gorakhpur.
After he exposed the negligence of the hospital authorities and their non-payment of dues to the oxygen supply company Pushpa Sales, which resulted in the death of 63 children in one night, Kafeel was arrested on charges of corruption and negligence on 2nd September 2017. On 27th September 2019, he was aquitted of all charges.
On 13th December 2019, he was arrested again under the National Security Act, after he made a speech criticising a controversial new citizenship law that is seen as discriminating against Muslims.
The high court in Allahabad disagreed with the police and threw out the case, saying Dr Khan "did not promote hatred or violence". Two judges said the doctor actually gave a call for "unity among citizens", and that authorities had read the speech selective
---
[[Talk to me Kafeel]]</tw-passagedata><tw-passagedata pid="57" name="Talk to me Kafeel" tags="" position="869,2216.5" size="100,100">"We are 25 crores, you can neither scare us by mob-lynching, or by such trivial laws. We will be together, we will be together, we will be united. We will be together like a wall. This is our Hindustan and we will tell you how it will run. ‘//Darna aata nahi hai hume, jitna bhi dara lo. Har baar ek nai taakat se uthege, chahe jitna bhi daba lo.’// We won’t be afraid no matter how much scare us. Every time we will rise, no matter how much you suppress us."
<img src= "https://1.bp.blogspot.com/-37hjspY-IpI/YKg0LObIDkI/AAAAAAAATdE/7BBZ1OE8MJQI_CqFHwjf9tAKUA6uZiq8wCNcBGAsYHQ/s320/dr-kafeel-khan.jpg">
[[Pick an Avatar]]
[[End Game]] </tw-passagedata><tw-passagedata pid="58" name="End Game" tags="" position="709,2460.5" size="100,100">Created for ''dra.ft 2021''
dra.ft is a movement, a festival, a community, a long-term research project that explores emergent ideas of text and its future. dra.ft draws from the idea of poetic computation where the machine and author are collaborators. It is in these intersectional spaces that we can produce, perform and embody new meanings and develop new texts. dra.ft encourages unfinished, work in progress, prototypes, tests (essentially drafts) of texts and text making.
Author ''Pankhuri Zaheer''
Pankhuri Zaheer is a practitioner and academic of dance and theatre. She competed her MPhil in Women’s Studies, from Jawaharlal Nehru University, New Delhi. She has been active in several student led movements in Delhi, including Kiss of Love, PinjraTod, Justice for Rohith Vemula and Stand with JNU.</tw-passagedata></tw-storydata>
<script title="Twine engine code" data-main="harlowe">"use strict";var _slicedToArray=function(){return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,a=!1,i=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){a=!0,i=e}finally{try{!r&&s.return&&s.return()}finally{if(a)throw i}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}!function(){
/**
* @license almond 0.3.3 Copyright jQuery Foundation and other contributors.
* Released under MIT license, http://github.com/requirejs/almond/LICENSE
*/var requirejs,require,define,root,factory;!function(e){var t,n,r,a,i={},o={},s={},c={},u=Object.prototype.hasOwnProperty,l=[].slice,p=/\.js$/;function f(e,t){return u.call(e,t)}function d(e,t){var n,r,a,i,o,c,u,l,f,d,h,y=t&&t.split("/"),m=s.map,g=m&&m["*"]||{};if(e){for(o=(e=e.split("/")).length-1,s.nodeIdCompat&&p.test(e[o])&&(e[o]=e[o].replace(p,"")),"."===e[0].charAt(0)&&y&&(e=y.slice(0,y.length-1).concat(e)),f=0;f<e.length;f++)if("."===(h=e[f]))e.splice(f,1),f-=1;else if(".."===h){if(0===f||1===f&&".."===e[2]||".."===e[f-1])continue;f>0&&(e.splice(f-1,2),f-=2)}e=e.join("/")}if((y||g)&&m){for(f=(n=e.split("/")).length;f>0;f-=1){if(r=n.slice(0,f).join("/"),y)for(d=y.length;d>0;d-=1)if((a=m[y.slice(0,d).join("/")])&&(a=a[r])){i=a,c=f;break}if(i)break;!u&&g&&g[r]&&(u=g[r],l=f)}!i&&u&&(i=u,c=l),i&&(n.splice(0,c,i),e=n.join("/"))}return e}function h(t,r){return function(){var a=l.call(arguments,0);return"string"!=typeof a[0]&&1===a.length&&a.push(null),n.apply(e,a.concat([t,r]))}}function y(e){return function(t){i[e]=t}}function m(n){if(f(o,n)){var r=o[n];delete o[n],c[n]=!0,t.apply(e,r)}if(!f(i,n)&&!f(c,n))throw new Error("No "+n);return i[n]}function g(e){var t,n=e?e.indexOf("!"):-1;return n>-1&&(t=e.substring(0,n),e=e.substring(n+1,e.length)),[t,e]}function v(e){return e?g(e):[]}r=function(e,t){var n,r,a=g(e),i=a[0],o=t[1];return e=a[1],i&&(n=m(i=d(i,o))),i?e=n&&n.normalize?n.normalize(e,(r=o,function(e){return d(e,r)})):d(e,o):(i=(a=g(e=d(e,o)))[0],e=a[1],i&&(n=m(i))),{f:i?i+"!"+e:e,n:e,pr:i,p:n}},a={require:function(e){return h(e)},exports:function(e){var t=i[e];return void 0!==t?t:i[e]={}},module:function(e){return{id:e,uri:"",exports:i[e],config:function(e){return function(){return s&&s.config&&s.config[e]||{}}}(e)}}},t=function(t,n,s,u){var l,p,d,g,b,w,T,S=[],x=void 0===s?"undefined":_typeof(s);if(w=v(u=u||t),"undefined"===x||"function"===x){for(n=!n.length&&s.length?["require","exports","module"]:n,b=0;b<n.length;b+=1)if("require"===(p=(g=r(n[b],w)).f))S[b]=a.require(t);else if("exports"===p)S[b]=a.exports(t),T=!0;else if("module"===p)l=S[b]=a.module(t);else if(f(i,p)||f(o,p)||f(c,p))S[b]=m(p);else{if(!g.p)throw new Error(t+" missing "+p);g.p.load(g.n,h(u,!0),y(p),{}),S[b]=i[p]}d=s?s.apply(i[t],S):void 0,t&&(l&&l.exports!==e&&l.exports!==i[t]?i[t]=l.exports:d===e&&T||(i[t]=d))}else t&&(i[t]=s)},requirejs=require=n=function(i,o,c,u,l){if("string"==typeof i)return a[i]?a[i](o):m(r(i,v(o)).f);if(!i.splice){if((s=i).deps&&n(s.deps,s.callback),!o)return;o.splice?(i=o,o=c,c=null):i=e}return o=o||function(){},"function"==typeof c&&(c=u,u=l),u?t(e,i,o,c):setTimeout(function(){t(e,i,o,c)},4),n},n.config=function(e){return n(e)},requirejs._defined=i,(define=function(e,t,n){if("string"!=typeof e)throw new Error("See almond README: incorrect module build, no module name");t.splice||(n=t,t=[]),f(i,e)||f(o,e)||(o[e]=[e,t,n])}).amd={jQuery:!0}}(),define("almond",function(){}),
/*!
* https://github.com/paulmillr/es6-shim
* @license es6-shim Copyright 2013-2016 by Paul Miller (http://paulmillr.com)
* and contributors, MIT License
* es6-shim: v0.35.4
* see https://github.com/paulmillr/es6-shim/blob/0.35.3/LICENSE
* Details and documentation:
* https://github.com/paulmillr/es6-shim/
*/
root=this,factory=function(){var e,t,n=Function.call.bind(Function.apply),r=Function.call.bind(Function.call),a=Array.isArray,i=Object.keys,o=function(e){try{return e(),!1}catch(e){return!0}},s=function(e){try{return e()}catch(e){return!1}},c=(e=o,function(){return!n(e,this,arguments)}),u=!!Object.defineProperty&&!o(function(){return Object.defineProperty({},"x",{get:function(){}})}),l="foo"===function(){}.name,p=Function.call.bind(Array.prototype.forEach),f=Function.call.bind(Array.prototype.reduce),d=Function.call.bind(Array.prototype.filter),h=Function.call.bind(Array.prototype.some),y=function(e,t,n,r){!r&&t in e||(u?Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:!0,value:n}):e[t]=n)},m=function(e,t,n){p(i(t),function(r){var a=t[r];y(e,r,a,!!n)})},g=Function.call.bind(Object.prototype.toString),v="function"==typeof/abc/?function(e){return"function"==typeof e&&"[object Function]"===g(e)}:function(e){return"function"==typeof e},b=function(e,t,n){if(!u)throw new TypeError("getters require true ES5 support");Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get:n})},w=function(e,t,n){if(!u)throw new TypeError("getters require true ES5 support");var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,{configurable:r.configurable,enumerable:r.enumerable,get:function(){return e[t]},set:function(n){e[t]=n}})},T=function(e,t,n){if(u){var r=Object.getOwnPropertyDescriptor(e,t);r.value=n,Object.defineProperty(e,t,r)}else e[t]=n},S=function(e,t,n){u?Object.defineProperty(e,t,n):"value"in n&&(e[t]=n.value)},x=function(e,t){t&&v(t.toString)&&y(e,"toString",t.toString.bind(t),!0)},k=Object.create||function(e,t){var n=function(){};n.prototype=e;var r=new n;return void 0!==t&&i(t).forEach(function(e){S(r,e,t[e])}),r},O=function(e,t){return!!Object.setPrototypeOf&&s(function(){var n=function t(n){var r=new e(n);return Object.setPrototypeOf(r,t.prototype),r};return Object.setPrototypeOf(n,e),n.prototype=k(e.prototype,{constructor:{value:n}}),t(n)})},j=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw new Error("unable to locate global object")}(),A=j.isFinite,C=Function.call.bind(String.prototype.indexOf),E=Function.apply.bind(Array.prototype.indexOf),_=Function.call.bind(Array.prototype.concat),N=Function.call.bind(String.prototype.slice),P=Function.call.bind(Array.prototype.push),I=Function.apply.bind(Array.prototype.push),M=Function.call.bind(Array.prototype.shift),D=Math.max,R=Math.min,L=Math.floor,q=Math.abs,F=Math.exp,V=Math.log,H=Math.sqrt,z=Function.call.bind(Object.prototype.hasOwnProperty),$=function(){},B=j.Map,W=B&&B.prototype.delete,U=B&&B.prototype.get,G=B&&B.prototype.has,X=B&&B.prototype.set,Y=j.Symbol||{},J=Y.species||"@@species",K=Number.isNaN||function(e){return e!=e},Z=Number.isFinite||function(e){return"number"==typeof e&&A(e)},Q=v(Math.sign)?Math.sign:function(e){var t=Number(e);return 0===t?t:K(t)?t:t<0?-1:1},ee=function(e){var t=Number(e);return t<-1||K(t)?NaN:0===t||t===1/0?t:-1===t?-1/0:1+t-1==0?t:t*(V(1+t)/(1+t-1))},te=function(e){return"[object Arguments]"===g(e)},ne=te(arguments)?te:function(e){return null!==e&&"object"===(void 0===e?"undefined":_typeof(e))&&"number"==typeof e.length&&e.length>=0&&"[object Array]"!==g(e)&&"[object Function]"===g(e.callee)},re=function(e){return null===e||"function"!=typeof e&&"object"!==(void 0===e?"undefined":_typeof(e))},ae=function(e){return"[object String]"===g(e)},ie=function(e){return"[object RegExp]"===g(e)},oe=function(e){return"function"==typeof j.Symbol&&"symbol"===(void 0===e?"undefined":_typeof(e))},se=function(e,t,n){var r=e[t];y(e,t,n,!0),x(e[t],r)},ce="function"==typeof Y&&"function"==typeof Y.for&&oe(Y()),ue=oe(Y.iterator)?Y.iterator:"_es6-shim iterator_";j.Set&&"function"==typeof(new j.Set)["@@iterator"]&&(ue="@@iterator"),j.Reflect||y(j,"Reflect",{},!0);var le,pe=j.Reflect,fe=String,de="undefined"!=typeof document&&document?document.all:null,he=null==de?function(e){return null==e}:function(e){return null==e&&e!==de},ye={Call:function(e,t){var r=arguments.length>2?arguments[2]:[];if(!ye.IsCallable(e))throw new TypeError(e+" is not a function");return n(e,t,r)},RequireObjectCoercible:function(e,t){if(he(e))throw new TypeError(t||"Cannot call method on "+e);return e},TypeIsObject:function(e){return null!=e&&!0!==e&&!1!==e&&("function"==typeof e||"object"===(void 0===e?"undefined":_typeof(e))||e===de)},ToObject:function(e,t){return Object(ye.RequireObjectCoercible(e,t))},IsCallable:v,IsConstructor:function(e){return ye.IsCallable(e)},ToInt32:function(e){return ye.ToNumber(e)>>0},ToUint32:function(e){return ye.ToNumber(e)>>>0},ToNumber:function(e){if("[object Symbol]"===g(e))throw new TypeError("Cannot convert a Symbol value to a number");return+e},ToInteger:function(e){var t=ye.ToNumber(e);return K(t)?0:0!==t&&Z(t)?(t>0?1:-1)*L(q(t)):t},ToLength:function(e){var t=ye.ToInteger(e);return t<=0?0:t>Number.MAX_SAFE_INTEGER?Number.MAX_SAFE_INTEGER:t},SameValue:function(e,t){return e===t?0!==e||1/e==1/t:K(e)&&K(t)},SameValueZero:function(e,t){return e===t||K(e)&&K(t)},IsIterable:function(e){return ye.TypeIsObject(e)&&(void 0!==e[ue]||ne(e))},GetIterator:function(e){if(ne(e))return new t(e,"value");var n=ye.GetMethod(e,ue);if(!ye.IsCallable(n))throw new TypeError("value is not an iterable");var r=ye.Call(n,e);if(!ye.TypeIsObject(r))throw new TypeError("bad iterator");return r},GetMethod:function(e,t){var n=ye.ToObject(e)[t];if(!he(n)){if(!ye.IsCallable(n))throw new TypeError("Method not callable: "+t);return n}},IteratorComplete:function(e){return!!e.done},IteratorClose:function(e,t){var n=ye.GetMethod(e,"return");if(void 0!==n){var r,a;try{r=ye.Call(n,e)}catch(e){a=e}if(!t){if(a)throw a;if(!ye.TypeIsObject(r))throw new TypeError("Iterator's return method returned a non-object.")}}},IteratorNext:function(e){var t=arguments.length>1?e.next(arguments[1]):e.next();if(!ye.TypeIsObject(t))throw new TypeError("bad iterator");return t},IteratorStep:function(e){var t=ye.IteratorNext(e);return!ye.IteratorComplete(t)&&t},Construct:function(e,t,n,r){var a=void 0===n?e:n;if(!r&&pe.construct)return pe.construct(e,t,a);var i=a.prototype;ye.TypeIsObject(i)||(i=Object.prototype);var o=k(i),s=ye.Call(e,o,t);return ye.TypeIsObject(s)?s:o},SpeciesConstructor:function(e,t){var n=e.constructor;if(void 0===n)return t;if(!ye.TypeIsObject(n))throw new TypeError("Bad constructor");var r=n[J];if(he(r))return t;if(!ye.IsConstructor(r))throw new TypeError("Bad @@species");return r},CreateHTML:function(e,t,n,r){var a=ye.ToString(e),i="<"+t;""!==n&&(i+=" "+n+'="'+ye.ToString(r).replace(/"/g,""")+'"');return i+">"+a+"</"+t+">"},IsRegExp:function(e){if(!ye.TypeIsObject(e))return!1;var t=e[Y.match];return void 0!==t?!!t:ie(e)},ToString:function(e){return fe(e)}};if(u&&ce){var me=function(e){if(oe(Y[e]))return Y[e];var t=Y.for("Symbol."+e);return Object.defineProperty(Y,e,{configurable:!1,enumerable:!1,writable:!1,value:t}),t};if(!oe(Y.search)){var ge=me("search"),ve=String.prototype.search;y(RegExp.prototype,ge,function(e){return ye.Call(ve,e,[this])});se(String.prototype,"search",function(e){var t=ye.RequireObjectCoercible(this);if(!he(e)){var n=ye.GetMethod(e,ge);if(void 0!==n)return ye.Call(n,e,[t])}return ye.Call(ve,t,[ye.ToString(e)])})}if(!oe(Y.replace)){var be=me("replace"),we=String.prototype.replace;y(RegExp.prototype,be,function(e,t){return ye.Call(we,e,[this,t])});se(String.prototype,"replace",function(e,t){var n=ye.RequireObjectCoercible(this);if(!he(e)){var r=ye.GetMethod(e,be);if(void 0!==r)return ye.Call(r,e,[n,t])}return ye.Call(we,n,[ye.ToString(e),t])})}if(!oe(Y.split)){var Te=me("split"),Se=String.prototype.split;y(RegExp.prototype,Te,function(e,t){return ye.Call(Se,e,[this,t])});se(String.prototype,"split",function(e,t){var n=ye.RequireObjectCoercible(this);if(!he(e)){var r=ye.GetMethod(e,Te);if(void 0!==r)return ye.Call(r,e,[n,t])}return ye.Call(Se,n,[ye.ToString(e),t])})}var xe=oe(Y.match),ke=xe&&((le={})[Y.match]=function(){return 42},42!=="a".match(le));if(!xe||ke){var Oe=me("match"),je=String.prototype.match;y(RegExp.prototype,Oe,function(e){return ye.Call(je,e,[this])});se(String.prototype,"match",function(e){var t=ye.RequireObjectCoercible(this);if(!he(e)){var n=ye.GetMethod(e,Oe);if(void 0!==n)return ye.Call(n,e,[t])}return ye.Call(je,t,[ye.ToString(e)])})}}var Ae=function(e,t,n){x(t,e),Object.setPrototypeOf&&Object.setPrototypeOf(e,t),u?p(Object.getOwnPropertyNames(e),function(r){r in $||n[r]||w(e,r,t)}):p(Object.keys(e),function(r){r in $||n[r]||(t[r]=e[r])}),t.prototype=e.prototype,T(e.prototype,"constructor",t)},Ce=function(){return this},Ee=function(e){u&&!z(e,J)&&b(e,J,Ce)},_e=function(e,t){var n=t||function(){return this};y(e,ue,n),!e[ue]&&oe(ue)&&(e[ue]=n)},Ne=function(e,t,n){if(function(e,t,n){u?Object.defineProperty(e,t,{configurable:!0,enumerable:!0,writable:!0,value:n}):e[t]=n}(e,t,n),!ye.SameValue(e[t],n))throw new TypeError("property is nonconfigurable")},Pe=function(e,t,n,r){if(!ye.TypeIsObject(e))throw new TypeError("Constructor requires `new`: "+t.name);var a=t.prototype;ye.TypeIsObject(a)||(a=n);var i=k(a);for(var o in r)if(z(r,o)){var s=r[o];y(i,o,s,!0)}return i};if(String.fromCodePoint&&1!==String.fromCodePoint.length){var Ie=String.fromCodePoint;se(String,"fromCodePoint",function(e){return ye.Call(Ie,this,arguments)})}var Me={fromCodePoint:function(e){for(var t,n=[],r=0,a=arguments.length;r<a;r++){if(t=Number(arguments[r]),!ye.SameValue(t,ye.ToInteger(t))||t<0||t>1114111)throw new RangeError("Invalid code point "+t);t<65536?P(n,String.fromCharCode(t)):(t-=65536,P(n,String.fromCharCode(55296+(t>>10))),P(n,String.fromCharCode(t%1024+56320)))}return n.join("")},raw:function(e){var t=ye.ToObject(e,"bad callSite"),n=ye.ToObject(t.raw,"bad raw value"),r=n.length,a=ye.ToLength(r);if(a<=0)return"";for(var i,o,s,c,u=[],l=0;l<a&&(i=ye.ToString(l),s=ye.ToString(n[i]),P(u,s),!(l+1>=a));)o=l+1<arguments.length?arguments[l+1]:"",c=ye.ToString(o),P(u,c),l+=1;return u.join("")}};String.raw&&"xy"!==String.raw({raw:{0:"x",1:"y",length:2}})&&se(String,"raw",Me.raw),m(String,Me);var De={repeat:function(e){var t=ye.ToString(ye.RequireObjectCoercible(this)),n=ye.ToInteger(e);if(n<0||n>=1/0)throw new RangeError("repeat count must be less than infinity and not overflow maximum string size");return function e(t,n){if(n<1)return"";if(n%2)return e(t,n-1)+t;var r=e(t,n/2);return r+r}(t,n)},startsWith:function(e){var t=ye.ToString(ye.RequireObjectCoercible(this));if(ye.IsRegExp(e))throw new TypeError('Cannot call method "startsWith" with a regex');var n,r=ye.ToString(e);arguments.length>1&&(n=arguments[1]);var a=D(ye.ToInteger(n),0);return N(t,a,a+r.length)===r},endsWith:function(e){var t=ye.ToString(ye.RequireObjectCoercible(this));if(ye.IsRegExp(e))throw new TypeError('Cannot call method "endsWith" with a regex');var n,r=ye.ToString(e),a=t.length;arguments.length>1&&(n=arguments[1]);var i=void 0===n?a:ye.ToInteger(n),o=R(D(i,0),a);return N(t,o-r.length,o)===r},includes:function(e){if(ye.IsRegExp(e))throw new TypeError('"includes" does not accept a RegExp');var t,n=ye.ToString(e);return arguments.length>1&&(t=arguments[1]),-1!==C(this,n,t)},codePointAt:function(e){var t=ye.ToString(ye.RequireObjectCoercible(this)),n=ye.ToInteger(e),r=t.length;if(n>=0&&n<r){var a=t.charCodeAt(n);if(a<55296||a>56319||n+1===r)return a;var i=t.charCodeAt(n+1);return i<56320||i>57343?a:1024*(a-55296)+(i-56320)+65536}}};if(String.prototype.includes&&!1!=="a".includes("a",1/0)&&se(String.prototype,"includes",De.includes),String.prototype.startsWith&&String.prototype.endsWith){var Re=o(function(){return"/a/".startsWith(/a/)}),Le=s(function(){return!1==="abc".startsWith("a",1/0)});Re&&Le||(se(String.prototype,"startsWith",De.startsWith),se(String.prototype,"endsWith",De.endsWith))}ce&&(s(function(){var e=/a/;return e[Y.match]=!1,"/a/".startsWith(e)})||se(String.prototype,"startsWith",De.startsWith),s(function(){var e=/a/;return e[Y.match]=!1,"/a/".endsWith(e)})||se(String.prototype,"endsWith",De.endsWith),s(function(){var e=/a/;return e[Y.match]=!1,"/a/".includes(e)})||se(String.prototype,"includes",De.includes));m(String.prototype,De);var qe=["\t\n\v\f\r \xa0\u1680\u180e\u2000\u2001\u2002\u2003","\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028","\u2029\ufeff"].join(""),Fe=new RegExp("(^["+qe+"]+)|(["+qe+"]+$)","g"),Ve=function(){return ye.ToString(ye.RequireObjectCoercible(this)).replace(Fe,"")},He=["\x85","\u200b","\ufffe"].join(""),ze=new RegExp("["+He+"]","g"),$e=/^[-+]0x[0-9a-f]+$/i,Be=He.trim().length!==He.length;y(String.prototype,"trim",Ve,Be);var We=function(e){return{value:e,done:0===arguments.length}},Ue=function(e){ye.RequireObjectCoercible(e),this._s=ye.ToString(e),this._i=0};Ue.prototype.next=function(){var e=this._s,t=this._i;if(void 0===e||t>=e.length)return this._s=void 0,We();var n,r,a=e.charCodeAt(t);return r=a<55296||a>56319||t+1===e.length?1:(n=e.charCodeAt(t+1))<56320||n>57343?1:2,this._i=t+r,We(e.substr(t,r))},_e(Ue.prototype),_e(String.prototype,function(){return new Ue(this)});var Ge={from:function(e){var t,n,a,i,o,s,c=this;if(arguments.length>1&&(t=arguments[1]),void 0===t)n=!1;else{if(!ye.IsCallable(t))throw new TypeError("Array.from: when provided, the second argument must be a function");arguments.length>2&&(a=arguments[2]),n=!0}if(void 0!==(ne(e)||ye.GetMethod(e,ue))){o=ye.IsConstructor(c)?Object(new c):[];var u,l,p=ye.GetIterator(e);for(s=0;!1!==(u=ye.IteratorStep(p));){l=u.value;try{n&&(l=void 0===a?t(l,s):r(t,a,l,s)),o[s]=l}catch(e){throw ye.IteratorClose(p,!0),e}s+=1}i=s}else{var f,d=ye.ToObject(e);for(i=ye.ToLength(d.length),o=ye.IsConstructor(c)?Object(new c(i)):new Array(i),s=0;s<i;++s)f=d[s],n&&(f=void 0===a?t(f,s):r(t,a,f,s)),Ne(o,s,f)}return o.length=i,o},of:function(){for(var e=arguments.length,t=this,n=a(t)||!ye.IsCallable(t)?new Array(e):ye.Construct(t,[e]),r=0;r<e;++r)Ne(n,r,arguments[r]);return n.length=e,n}};m(Array,Ge),Ee(Array),m((t=function(e,t){this.i=0,this.array=e,this.kind=t}).prototype,{next:function(){var e=this.i,n=this.array;if(!(this instanceof t))throw new TypeError("Not an ArrayIterator");if(void 0!==n)for(var r=ye.ToLength(n.length);e<r;e++){var a,i=this.kind;return"key"===i?a=e:"value"===i?a=n[e]:"entry"===i&&(a=[e,n[e]]),this.i=e+1,We(a)}return this.array=void 0,We()}}),_e(t.prototype),Array.of===Ge.of||function(){var e=function(e){this.length=e};e.prototype=[];var t=Array.of.apply(e,[1,2]);return t instanceof e&&2===t.length}()||se(Array,"of",Ge.of);var Xe={copyWithin:function(e,t){var n,r=ye.ToObject(this),a=ye.ToLength(r.length),i=ye.ToInteger(e),o=ye.ToInteger(t),s=i<0?D(a+i,0):R(i,a),c=o<0?D(a+o,0):R(o,a);arguments.length>2&&(n=arguments[2]);var u=void 0===n?a:ye.ToInteger(n),l=u<0?D(a+u,0):R(u,a),p=R(l-c,a-s),f=1;for(c<s&&s<c+p&&(f=-1,c+=p-1,s+=p-1);p>0;)c in r?r[s]=r[c]:delete r[s],c+=f,s+=f,p-=1;return r},fill:function(e){var t,n;arguments.length>1&&(t=arguments[1]),arguments.length>2&&(n=arguments[2]);var r=ye.ToObject(this),a=ye.ToLength(r.length);t=ye.ToInteger(void 0===t?0:t);for(var i=(n=ye.ToInteger(void 0===n?a:n))<0?a+n:n,o=t<0?D(a+t,0):R(t,a);o<a&&o<i;++o)r[o]=e;return r},find:function(e){var t=ye.ToObject(this),n=ye.ToLength(t.length);if(!ye.IsCallable(e))throw new TypeError("Array#find: predicate must be a function");for(var a,i=arguments.length>1?arguments[1]:null,o=0;o<n;o++)if(a=t[o],i){if(r(e,i,a,o,t))return a}else if(e(a,o,t))return a},findIndex:function(e){var t=ye.ToObject(this),n=ye.ToLength(t.length);if(!ye.IsCallable(e))throw new TypeError("Array#findIndex: predicate must be a function");for(var a=arguments.length>1?arguments[1]:null,i=0;i<n;i++)if(a){if(r(e,a,t[i],i,t))return i}else if(e(t[i],i,t))return i;return-1},keys:function(){return new t(this,"key")},values:function(){return new t(this,"value")},entries:function(){return new t(this,"entry")}};if(Array.prototype.keys&&!ye.IsCallable([1].keys().next)&&delete Array.prototype.keys,Array.prototype.entries&&!ye.IsCallable([1].entries().next)&&delete Array.prototype.entries,Array.prototype.keys&&Array.prototype.entries&&!Array.prototype.values&&Array.prototype[ue]&&(m(Array.prototype,{values:Array.prototype[ue]}),oe(Y.unscopables)&&(Array.prototype[Y.unscopables].values=!0)),l&&Array.prototype.values&&"values"!==Array.prototype.values.name){var Ye=Array.prototype.values;se(Array.prototype,"values",function(){return ye.Call(Ye,this,arguments)}),y(Array.prototype,ue,Array.prototype.values,!0)}m(Array.prototype,Xe),1/[!0].indexOf(!0,-0)<0&&y(Array.prototype,"indexOf",function(e){var t=E(this,arguments);return 0===t&&1/t<0?0:t},!0),_e(Array.prototype,function(){return this.values()}),Object.getPrototypeOf&&_e(Object.getPrototypeOf([].values()));var Je,Ke=s(function(){return 0===Array.from({length:-1}).length}),Ze=1===(Je=Array.from([0].entries())).length&&a(Je[0])&&0===Je[0][0]&&0===Je[0][1];if(Ke&&Ze||se(Array,"from",Ge.from),!s(function(){return Array.from([0],void 0)})){var Qe=Array.from;se(Array,"from",function(e){return arguments.length>1&&void 0!==arguments[1]?ye.Call(Qe,this,arguments):r(Qe,this,e)})}var et=-(Math.pow(2,32)-1),tt=function(e,t){var n={length:et};return n[t?(n.length>>>0)-1:0]=!0,s(function(){return r(e,n,function(){throw new RangeError("should not reach here")},[]),!0})};if(!tt(Array.prototype.forEach)){var nt=Array.prototype.forEach;se(Array.prototype,"forEach",function(e){return ye.Call(nt,this.length>=0?this:[],arguments)})}if(!tt(Array.prototype.map)){var rt=Array.prototype.map;se(Array.prototype,"map",function(e){return ye.Call(rt,this.length>=0?this:[],arguments)})}if(!tt(Array.prototype.filter)){var at=Array.prototype.filter;se(Array.prototype,"filter",function(e){return ye.Call(at,this.length>=0?this:[],arguments)})}if(!tt(Array.prototype.some)){var it=Array.prototype.some;se(Array.prototype,"some",function(e){return ye.Call(it,this.length>=0?this:[],arguments)})}if(!tt(Array.prototype.every)){var ot=Array.prototype.every;se(Array.prototype,"every",function(e){return ye.Call(ot,this.length>=0?this:[],arguments)})}if(!tt(Array.prototype.reduce)){var st=Array.prototype.reduce;se(Array.prototype,"reduce",function(e){return ye.Call(st,this.length>=0?this:[],arguments)})}if(!tt(Array.prototype.reduceRight,!0)){var ct=Array.prototype.reduceRight;se(Array.prototype,"reduceRight",function(e){return ye.Call(ct,this.length>=0?this:[],arguments)})}var ut=8!==Number("0o10"),lt=2!==Number("0b10"),pt=h(He,function(e){return 0===Number(e+0+e)});if(ut||lt||pt){var ft=Number,dt=/^0b[01]+$/i,ht=/^0o[0-7]+$/i,yt=dt.test.bind(dt),mt=ht.test.bind(ht),gt=ze.test.bind(ze),vt=$e.test.bind($e),bt=function(){var e=function(t){var n;"string"==typeof(n=arguments.length>0?re(t)?t:function(e){var t;if("function"==typeof e.valueOf&&(t=e.valueOf(),re(t)))return t;if("function"==typeof e.toString&&(t=e.toString(),re(t)))return t;throw new TypeError("No default value")}(t):0)&&(n=ye.Call(Ve,n),yt(n)?n=parseInt(N(n,2),2):mt(n)?n=parseInt(N(n,2),8):(gt(n)||vt(n))&&(n=NaN));var r=this,a=s(function(){return ft.prototype.valueOf.call(r),!0});return r instanceof e&&!a?new ft(n):ft(n)};return e}();Ae(ft,bt,{}),m(bt,{NaN:ft.NaN,MAX_VALUE:ft.MAX_VALUE,MIN_VALUE:ft.MIN_VALUE,NEGATIVE_INFINITY:ft.NEGATIVE_INFINITY,POSITIVE_INFINITY:ft.POSITIVE_INFINITY}),Number=bt,T(j,"Number",bt)}var wt=Math.pow(2,53)-1;m(Number,{MAX_SAFE_INTEGER:wt,MIN_SAFE_INTEGER:-wt,EPSILON:2.220446049250313e-16,parseInt:j.parseInt,parseFloat:j.parseFloat,isFinite:Z,isInteger:function(e){return Z(e)&&ye.ToInteger(e)===e},isSafeInteger:function(e){return Number.isInteger(e)&&q(e)<=Number.MAX_SAFE_INTEGER},isNaN:K}),y(Number,"parseInt",j.parseInt,Number.parseInt!==j.parseInt),1===[,1].find(function(){return!0})&&se(Array.prototype,"find",Xe.find),0!==[,1].findIndex(function(){return!0})&&se(Array.prototype,"findIndex",Xe.findIndex);var Tt,St,xt,kt=Function.bind.call(Function.bind,Object.prototype.propertyIsEnumerable),Ot=function(e,t){u&&kt(e,t)&&Object.defineProperty(e,t,{enumerable:!1})},jt=function(){for(var e=Number(this),t=arguments.length,n=t-e,r=new Array(n<0?0:n),a=e;a<t;++a)r[a-e]=arguments[a];return r},At=function(e){return function(t,n){return t[n]=e[n],t}},Ct=function(e,t){var n,r=i(Object(t));return ye.IsCallable(Object.getOwnPropertySymbols)&&(n=d(Object.getOwnPropertySymbols(Object(t)),kt(t))),f(_(r,n||[]),At(t),e)},Et={assign:function(e,t){var n=ye.ToObject(e,"Cannot convert undefined or null to object");return f(ye.Call(jt,1,arguments),Ct,n)},is:function(e,t){return ye.SameValue(e,t)}};if(Object.assign&&Object.preventExtensions&&function(){var e=Object.preventExtensions({1:2});try{Object.assign(e,"xy")}catch(t){return"y"===e[1]}}()&&se(Object,"assign",Et.assign),m(Object,Et),u){var _t={setPrototypeOf:function(e,t){var n,a=function(e,t){return function(e,t){if(!ye.TypeIsObject(e))throw new TypeError("cannot set prototype on a non-object");if(null!==t&&!ye.TypeIsObject(t))throw new TypeError("can only set prototype to an object or null"+t)}(e,t),r(n,e,t),e};try{n=e.getOwnPropertyDescriptor(e.prototype,"__proto__").set,r(n,{},null)}catch(t){if(e.prototype!=={}.__proto__)return;n=function(e){this.__proto__=e},a.polyfill=a(a({},null),e.prototype)instanceof e}return a}(Object)};m(Object,_t)}if(Object.setPrototypeOf&&Object.getPrototypeOf&&null!==Object.getPrototypeOf(Object.setPrototypeOf({},null))&&null===Object.getPrototypeOf(Object.create(null))&&(Tt=Object.create(null),St=Object.getPrototypeOf,xt=Object.setPrototypeOf,Object.getPrototypeOf=function(e){var t=St(e);return t===Tt?null:t},Object.setPrototypeOf=function(e,t){return xt(e,null===t?Tt:t)},Object.setPrototypeOf.polyfill=!1),!!o(function(){return Object.keys("foo")})){var Nt=Object.keys;se(Object,"keys",function(e){return Nt(ye.ToObject(e))}),i=Object.keys}if(o(function(){return Object.keys(/a/g)})){var Pt=Object.keys;se(Object,"keys",function(e){if(ie(e)){var t=[];for(var n in e)z(e,n)&&P(t,n);return t}return Pt(e)}),i=Object.keys}if(Object.getOwnPropertyNames&&!!o(function(){return Object.getOwnPropertyNames("foo")})){var It="object"===("undefined"==typeof window?"undefined":_typeof(window))?Object.getOwnPropertyNames(window):[],Mt=Object.getOwnPropertyNames;se(Object,"getOwnPropertyNames",function(e){var t=ye.ToObject(e);if("[object Window]"===g(t))try{return Mt(t)}catch(e){return _([],It)}return Mt(t)})}if(Object.getOwnPropertyDescriptor&&!!o(function(){return Object.getOwnPropertyDescriptor("foo","bar")})){var Dt=Object.getOwnPropertyDescriptor;se(Object,"getOwnPropertyDescriptor",function(e,t){return Dt(ye.ToObject(e),t)})}if(Object.seal&&!!o(function(){return Object.seal("foo")})){var Rt=Object.seal;se(Object,"seal",function(e){return ye.TypeIsObject(e)?Rt(e):e})}if(Object.isSealed&&!!o(function(){return Object.isSealed("foo")})){var Lt=Object.isSealed;se(Object,"isSealed",function(e){return!ye.TypeIsObject(e)||Lt(e)})}if(Object.freeze&&!!o(function(){return Object.freeze("foo")})){var qt=Object.freeze;se(Object,"freeze",function(e){return ye.TypeIsObject(e)?qt(e):e})}if(Object.isFrozen&&!!o(function(){return Object.isFrozen("foo")})){var Ft=Object.isFrozen;se(Object,"isFrozen",function(e){return!ye.TypeIsObject(e)||Ft(e)})}if(Object.preventExtensions&&!!o(function(){return Object.preventExtensions("foo")})){var Vt=Object.preventExtensions;se(Object,"preventExtensions",function(e){return ye.TypeIsObject(e)?Vt(e):e})}if(Object.isExtensible&&!!o(function(){return Object.isExtensible("foo")})){var Ht=Object.isExtensible;se(Object,"isExtensible",function(e){return!!ye.TypeIsObject(e)&&Ht(e)})}if(Object.getPrototypeOf&&!!o(function(){return Object.getPrototypeOf("foo")})){var zt=Object.getPrototypeOf;se(Object,"getPrototypeOf",function(e){return zt(ye.ToObject(e))})}var $t,Bt=u&&(($t=Object.getOwnPropertyDescriptor(RegExp.prototype,"flags"))&&ye.IsCallable($t.get));if(u&&!Bt){b(RegExp.prototype,"flags",function(){if(!ye.TypeIsObject(this))throw new TypeError("Method called on incompatible type: must be an object.");var e="";return this.global&&(e+="g"),this.ignoreCase&&(e+="i"),this.multiline&&(e+="m"),this.unicode&&(e+="u"),this.sticky&&(e+="y"),e})}var Wt,Ut=u&&s(function(){return"/a/i"===String(new RegExp(/a/g,"i"))}),Gt=ce&&u&&((Wt=/./)[Y.match]=!1,RegExp(Wt)===Wt),Xt=s(function(){return"/abc/"===RegExp.prototype.toString.call({source:"abc"})}),Yt=Xt&&s(function(){return"/a/b"===RegExp.prototype.toString.call({source:"a",flags:"b"})});if(!Xt||!Yt){var Jt=RegExp.prototype.toString;y(RegExp.prototype,"toString",function(){var e=ye.RequireObjectCoercible(this);return ie(e)?r(Jt,e):"/"+fe(e.source)+"/"+fe(e.flags)},!0),x(RegExp.prototype.toString,Jt)}if(u&&(!Ut||Gt)){var Kt=Object.getOwnPropertyDescriptor(RegExp.prototype,"flags").get,Zt=Object.getOwnPropertyDescriptor(RegExp.prototype,"source")||{},Qt=ye.IsCallable(Zt.get)?Zt.get:function(){return this.source},en=RegExp,tn=function e(t,n){var r=ye.IsRegExp(t);return this instanceof e||!r||void 0!==n||t.constructor!==e?ie(t)?new e(ye.Call(Qt,t),void 0===n?ye.Call(Kt,t):n):(r&&(t.source,void 0===n&&t.flags),new en(t,n)):t};Ae(en,tn,{$input:!0}),RegExp=tn,T(j,"RegExp",tn)}if(u){var nn={input:"$_",lastMatch:"$&",lastParen:"$+",leftContext:"$`",rightContext:"$'"};p(i(nn),function(e){e in RegExp&&!(nn[e]in RegExp)&&b(RegExp,nn[e],function(){return RegExp[e]})})}Ee(RegExp);var rn=1/Number.EPSILON,an=Math.pow(2,-23),on=Math.pow(2,127)*(2-an),sn=Math.pow(2,-126),cn=Math.E,un=Math.LOG2E,ln=Math.LOG10E,pn=Number.prototype.clz;delete Number.prototype.clz;var fn={acosh:function(e){var t=Number(e);if(K(t)||e<1)return NaN;if(1===t)return 0;if(t===1/0)return t;var n=1/(t*t);if(t<2)return ee(t-1+H(1-n)*t);var r=t/2;return ee(r+H(1-n)*r-1)+1/un},asinh:function(e){var t=Number(e);if(0===t||!A(t))return t;var n=q(t),r=n*n,a=Q(t);return n<1?a*ee(n+r/(H(r+1)+1)):a*(ee(n/2+H(1+1/r)*n/2-1)+1/un)},atanh:function(e){var t=Number(e);if(0===t)return t;if(-1===t)return-1/0;if(1===t)return 1/0;if(K(t)||t<-1||t>1)return NaN;var n=q(t);return Q(t)*ee(2*n/(1-n))/2},cbrt:function(e){var t=Number(e);if(0===t)return t;var n,r=t<0;return r&&(t=-t),n=t===1/0?1/0:(t/((n=F(V(t)/3))*n)+2*n)/3,r?-n:n},clz32:function(e){var t=Number(e),n=ye.ToUint32(t);return 0===n?32:pn?ye.Call(pn,n):31-L(V(n+.5)*un)},cosh:function(e){var t=Number(e);if(0===t)return 1;if(K(t))return NaN;if(!A(t))return 1/0;var n=F(q(t)-1);return(n+1/(n*cn*cn))*(cn/2)},expm1:function(e){var t=Number(e);if(t===-1/0)return-1;if(!A(t)||0===t)return t;if(q(t)>.5)return F(t)-1;for(var n=t,r=0,a=1;r+n!==r;)r+=n,n*=t/(a+=1);return r},hypot:function(e,t){for(var n=0,r=0,a=0;a<arguments.length;++a){var i=q(Number(arguments[a]));r<i?(n*=r/i*(r/i),n+=1,r=i):n+=i>0?i/r*(i/r):i}return r===1/0?1/0:r*H(n)},log2:function(e){return V(e)*un},log10:function(e){return V(e)*ln},log1p:ee,sign:Q,sinh:function(e){var t=Number(e);if(!A(t)||0===t)return t;var n=q(t);if(n<1){var r=Math.expm1(n);return Q(t)*r*(1+1/(r+1))/2}var a=F(n-1);return Q(t)*(a-1/(a*cn*cn))*(cn/2)},tanh:function(e){var t=Number(e);return K(t)||0===t?t:t>=20?1:t<=-20?-1:(Math.expm1(t)-Math.expm1(-t))/(F(t)+F(-t))},trunc:function(e){var t=Number(e);return t<0?-L(-t):L(t)},imul:function(e,t){var n=ye.ToUint32(e),r=ye.ToUint32(t),a=65535&n,i=65535&r;return a*i+((n>>>16&65535)*i+a*(r>>>16&65535)<<16>>>0)|0},fround:function(e){var t=Number(e);if(0===t||t===1/0||t===-1/0||K(t))return t;var n=Q(t),r=q(t);if(r<sn)return n*(r/sn/an+rn-rn)*sn*an;var a=(1+an/Number.EPSILON)*r,i=a-(a-r);return i>on||K(i)?n*(1/0):n*i}},dn=function(e,t,n){return q(1-e/t)/Number.EPSILON<(n||8)};m(Math,fn),y(Math,"sinh",fn.sinh,Math.sinh(710)===1/0),y(Math,"cosh",fn.cosh,Math.cosh(710)===1/0),y(Math,"log1p",fn.log1p,-1e-17!==Math.log1p(-1e-17)),y(Math,"asinh",fn.asinh,Math.asinh(-1e7)!==-Math.asinh(1e7)),y(Math,"asinh",fn.asinh,Math.asinh(1e300)===1/0),y(Math,"atanh",fn.atanh,0===Math.atanh(1e-300)),y(Math,"tanh",fn.tanh,-2e-17!==Math.tanh(-2e-17)),y(Math,"acosh",fn.acosh,Math.acosh(Number.MAX_VALUE)===1/0),y(Math,"acosh",fn.acosh,!dn(Math.acosh(1+Number.EPSILON),Math.sqrt(2*Number.EPSILON))),y(Math,"cbrt",fn.cbrt,!dn(Math.cbrt(1e-300),1e-100)),y(Math,"sinh",fn.sinh,-2e-17!==Math.sinh(-2e-17));var hn=Math.expm1(10);y(Math,"expm1",fn.expm1,hn>22025.465794806718||hn<22025.465794806718);var yn=Math.round,mn=0===Math.round(.5-Number.EPSILON/4)&&1===Math.round(Number.EPSILON/3.99-.5),gn=[rn+1,2*rn-1].every(function(e){return Math.round(e)===e});y(Math,"round",function(e){var t=L(e);return e-t<.5?t:-1===t?-0:t+1},!mn||!gn),x(Math.round,yn);var vn=Math.imul;-5!==Math.imul(4294967295,5)&&(Math.imul=fn.imul,x(Math.imul,vn)),2!==Math.imul.length&&se(Math,"imul",function(e,t){return ye.Call(vn,Math,arguments)});var bn,wn,Tn=function(){var e=j.setTimeout;if("function"==typeof e||"object"===(void 0===e?"undefined":_typeof(e))){ye.IsPromise=function(e){return!!ye.TypeIsObject(e)&&void 0!==e._promise};var t,n=function(e){if(!ye.IsConstructor(e))throw new TypeError("Bad promise constructor");var t=this;if(t.resolve=void 0,t.reject=void 0,t.promise=new e(function(e,n){if(void 0!==t.resolve||void 0!==t.reject)throw new TypeError("Bad Promise implementation!");t.resolve=e,t.reject=n}),!ye.IsCallable(t.resolve)||!ye.IsCallable(t.reject))throw new TypeError("Bad promise constructor")};"undefined"!=typeof window&&ye.IsCallable(window.postMessage)&&(t=function(){var e=[];return window.addEventListener("message",function(t){if(t.source===window&&"zero-timeout-message"===t.data){if(t.stopPropagation(),0===e.length)return;M(e)()}},!0),function(t){P(e,t),window.postMessage("zero-timeout-message","*")}});var a,i,o,s,c,u=ye.IsCallable(j.setImmediate)?j.setImmediate:"object"===("undefined"==typeof process?"undefined":_typeof(process))&&process.nextTick?process.nextTick:(a=j.Promise,(i=a&&a.resolve&&a.resolve())&&function(e){return i.then(e)}||(ye.IsCallable(t)?t():function(t){e(t,0)})),l=function(e){return e},p=function(e){throw e},f={},d=function(e,t,n){u(function(){h(e,t,n)})},h=function(e,t,n){var r,a;if(t===f)return e(n);try{r=e(n),a=t.resolve}catch(e){r=e,a=t.reject}a(r)},y=function(e,t){var n=e._promise,r=n.reactionLength;if(r>0&&(d(n.fulfillReactionHandler0,n.reactionCapability0,t),n.fulfillReactionHandler0=void 0,n.rejectReactions0=void 0,n.reactionCapability0=void 0,r>1))for(var a=1,i=0;a<r;a++,i+=3)d(n[i+0],n[i+2],t),e[i+0]=void 0,e[i+1]=void 0,e[i+2]=void 0;n.result=t,n.state=1,n.reactionLength=0},g=function(e,t){var n=e._promise,r=n.reactionLength;if(r>0&&(d(n.rejectReactionHandler0,n.reactionCapability0,t),n.fulfillReactionHandler0=void 0,n.rejectReactions0=void 0,n.reactionCapability0=void 0,r>1))for(var a=1,i=0;a<r;a++,i+=3)d(n[i+1],n[i+2],t),e[i+0]=void 0,e[i+1]=void 0,e[i+2]=void 0;n.result=t,n.state=2,n.reactionLength=0},v=function(e){var t=!1;return{resolve:function(n){var r;if(!t){if(t=!0,n===e)return g(e,new TypeError("Self resolution"));if(!ye.TypeIsObject(n))return y(e,n);try{r=n.then}catch(t){return g(e,t)}if(!ye.IsCallable(r))return y(e,n);u(function(){w(e,n,r)})}},reject:function(n){if(!t)return t=!0,g(e,n)}}},b=function(e,t,n,a){e===s?r(e,t,n,a,f):r(e,t,n,a)},w=function(e,t,n){var r=v(e),a=r.resolve,i=r.reject;try{b(n,t,a,i)}catch(e){i(e)}},T=c=function(e){if(!(this instanceof c))throw new TypeError('Constructor Promise requires "new"');if(this&&this._promise)throw new TypeError("Bad construction");if(!ye.IsCallable(e))throw new TypeError("not a valid resolver");var t=Pe(this,c,o,{_promise:{result:void 0,state:0,reactionLength:0,fulfillReactionHandler0:void 0,rejectReactionHandler0:void 0,reactionCapability0:void 0}}),n=v(t),r=n.reject;try{e(n.resolve,r)}catch(e){r(e)}return t};o=T.prototype;var S=function(e,t,n,r){var a=!1;return function(i){a||(a=!0,t[e]=i,0==--r.count&&(0,n.resolve)(t))}};return m(T,{all:function(e){var t=this;if(!ye.TypeIsObject(t))throw new TypeError("Promise is not object");var r,a,i=new n(t);try{return function(e,t,n){for(var r,a,i=e.iterator,o=[],s={count:1},c=0;;){try{if(!1===(r=ye.IteratorStep(i))){e.done=!0;break}a=r.value}catch(t){throw e.done=!0,t}o[c]=void 0;var u=t.resolve(a),l=S(c,o,n,s);s.count+=1,b(u.then,u,l,n.reject),c+=1}0==--s.count&&(0,n.resolve)(o);return n.promise}(a={iterator:r=ye.GetIterator(e),done:!1},t,i)}catch(e){var o=e;if(a&&!a.done)try{ye.IteratorClose(r,!0)}catch(e){o=e}return(0,i.reject)(o),i.promise}},race:function(e){var t=this;if(!ye.TypeIsObject(t))throw new TypeError("Promise is not object");var r,a,i=new n(t);try{return function(e,t,n){for(var r,a,i,o=e.iterator;;){try{if(!1===(r=ye.IteratorStep(o))){e.done=!0;break}a=r.value}catch(t){throw e.done=!0,t}i=t.resolve(a),b(i.then,i,n.resolve,n.reject)}return n.promise}(a={iterator:r=ye.GetIterator(e),done:!1},t,i)}catch(e){var o=e;if(a&&!a.done)try{ye.IteratorClose(r,!0)}catch(e){o=e}return(0,i.reject)(o),i.promise}},reject:function(e){if(!ye.TypeIsObject(this))throw new TypeError("Bad promise constructor");var t=new n(this);return(0,t.reject)(e),t.promise},resolve:function(e){var t=this;if(!ye.TypeIsObject(t))throw new TypeError("Bad promise constructor");if(ye.IsPromise(e)&&e.constructor===t)return e;var r=new n(t);return(0,r.resolve)(e),r.promise}}),m(o,{catch:function(e){return this.then(null,e)},then:function(e,t){if(!ye.IsPromise(this))throw new TypeError("not a promise");var r,a=ye.SpeciesConstructor(this,T);r=arguments.length>2&&arguments[2]===f&&a===T?f:new n(a);var i,o=ye.IsCallable(e)?e:l,s=ye.IsCallable(t)?t:p,c=this._promise;if(0===c.state){if(0===c.reactionLength)c.fulfillReactionHandler0=o,c.rejectReactionHandler0=s,c.reactionCapability0=r;else{var u=3*(c.reactionLength-1);c[u+0]=o,c[u+1]=s,c[u+2]=r}c.reactionLength+=1}else if(1===c.state)i=c.result,d(o,r,i);else{if(2!==c.state)throw new TypeError("unexpected Promise state");i=c.result,d(s,r,i)}return r.promise}}),f=new n(T),s=o.then,T}}();if(j.Promise&&(delete j.Promise.accept,delete j.Promise.defer,delete j.Promise.prototype.chain),"function"==typeof Tn){m(j,{Promise:Tn});var Sn=O(j.Promise,function(e){return e.resolve(42).then(function(){})instanceof e}),xn=!o(function(){return j.Promise.reject(42).then(null,5).then(null,$)}),kn=o(function(){return j.Promise.call(3,$)}),On=function(e){var t=e.resolve(5);t.constructor={};var n=e.resolve(t);try{n.then(null,$).then(null,$)}catch(e){return!0}return t===n}(j.Promise),jn=u&&(bn=0,wn=Object.defineProperty({},"then",{get:function(){bn+=1}}),Promise.resolve(wn),1===bn),An=function e(t){var n=new Promise(t);t(3,function(){}),this.then=n.then,this.constructor=e};An.prototype=Promise.prototype,An.all=Promise.all;var Cn=s(function(){return!!An.all([1,2])});if(Sn&&xn&&kn&&!On&&jn&&!Cn||(Promise=Tn,se(j,"Promise",Tn)),1!==Promise.all.length){var En=Promise.all;se(Promise,"all",function(e){return ye.Call(En,this,arguments)})}if(1!==Promise.race.length){var _n=Promise.race;se(Promise,"race",function(e){return ye.Call(_n,this,arguments)})}if(1!==Promise.resolve.length){var Nn=Promise.resolve;se(Promise,"resolve",function(e){return ye.Call(Nn,this,arguments)})}if(1!==Promise.reject.length){var Pn=Promise.reject;se(Promise,"reject",function(e){return ye.Call(Pn,this,arguments)})}Ot(Promise,"all"),Ot(Promise,"race"),Ot(Promise,"resolve"),Ot(Promise,"reject"),Ee(Promise)}var In,Mn,Dn=function(e){var t=i(f(e,function(e,t){return e[t]=!0,e},{}));return e.join(":")===t.join(":")},Rn=Dn(["z","a","bb"]),Ln=Dn(["z",1,"a","3",2]);if(u){var qn=function(e,t){return t||Rn?he(e)?"^"+ye.ToString(e):"string"==typeof e?"$"+e:"number"==typeof e?Ln?e:"n"+e:"boolean"==typeof e?"b"+e:null:null},Fn=function(){return Object.create?Object.create(null):{}},Vn=function(e,t,n){if(a(n)||ae(n))p(n,function(e){if(!ye.TypeIsObject(e))throw new TypeError("Iterator value "+e+" is not an entry object");t.set(e[0],e[1])});else if(n instanceof e)r(e.prototype.forEach,n,function(e,n){t.set(n,e)});else{var i,o;if(!he(n)){if(o=t.set,!ye.IsCallable(o))throw new TypeError("bad map");i=ye.GetIterator(n)}if(void 0!==i)for(;;){var s=ye.IteratorStep(i);if(!1===s)break;var c=s.value;try{if(!ye.TypeIsObject(c))throw new TypeError("Iterator value "+c+" is not an entry object");r(o,t,c[0],c[1])}catch(e){throw ye.IteratorClose(i,!0),e}}}},Hn=function(e,t,n){if(a(n)||ae(n))p(n,function(e){t.add(e)});else if(n instanceof e)r(e.prototype.forEach,n,function(e){t.add(e)});else{var i,o;if(!he(n)){if(o=t.add,!ye.IsCallable(o))throw new TypeError("bad set");i=ye.GetIterator(n)}if(void 0!==i)for(;;){var s=ye.IteratorStep(i);if(!1===s)break;var c=s.value;try{r(o,t,c)}catch(e){throw ye.IteratorClose(i,!0),e}}}},zn={Map:function(){var e={},t=function(e,t){this.key=e,this.value=t,this.next=null,this.prev=null};t.prototype.isRemoved=function(){return this.key===e};var n,a=function(e,t){if(!ye.TypeIsObject(e)||!function(e){return!!e._es6map}(e))throw new TypeError("Method Map.prototype."+t+" called on incompatible receiver "+ye.ToString(e))},i=function(e,t){a(e,"[[MapIterator]]"),this.head=e._head,this.i=this.head,this.kind=t};_e(i.prototype={isMapIterator:!0,next:function(){if(!this.isMapIterator)throw new TypeError("Not a MapIterator");var e,t=this.i,n=this.kind,r=this.head;if(void 0===this.i)return We();for(;t.isRemoved()&&t!==r;)t=t.prev;for(;t.next!==r;)if(!(t=t.next).isRemoved())return e="key"===n?t.key:"value"===n?t.value:[t.key,t.value],this.i=t,We(e);return this.i=void 0,We()}});var o=function e(){if(!(this instanceof e))throw new TypeError('Constructor Map requires "new"');if(this&&this._es6map)throw new TypeError("Bad construction");var r=Pe(this,e,n,{_es6map:!0,_head:null,_map:B?new B:null,_size:0,_storage:Fn()}),a=new t(null,null);return a.next=a.prev=a,r._head=a,arguments.length>0&&Vn(e,r,arguments[0]),r};return b(n=o.prototype,"size",function(){if(void 0===this._size)throw new TypeError("size method called on incompatible Map");return this._size}),m(n,{get:function(e){var t;a(this,"get");var n=qn(e,!0);if(null!==n)return(t=this._storage[n])?t.value:void 0;if(this._map)return(t=U.call(this._map,e))?t.value:void 0;for(var r=this._head,i=r;(i=i.next)!==r;)if(ye.SameValueZero(i.key,e))return i.value},has:function(e){a(this,"has");var t=qn(e,!0);if(null!==t)return void 0!==this._storage[t];if(this._map)return G.call(this._map,e);for(var n=this._head,r=n;(r=r.next)!==n;)if(ye.SameValueZero(r.key,e))return!0;return!1},set:function(e,n){a(this,"set");var r,i=this._head,o=i,s=qn(e,!0);if(null!==s){if(void 0!==this._storage[s])return this._storage[s].value=n,this;r=this._storage[s]=new t(e,n),o=i.prev}else this._map&&(G.call(this._map,e)?U.call(this._map,e).value=n:(r=new t(e,n),X.call(this._map,e,r),o=i.prev));for(;(o=o.next)!==i;)if(ye.SameValueZero(o.key,e))return o.value=n,this;return r=r||new t(e,n),ye.SameValue(-0,e)&&(r.key=0),r.next=this._head,r.prev=this._head.prev,r.prev.next=r,r.next.prev=r,this._size+=1,this},delete:function(t){a(this,"delete");var n=this._head,r=n,i=qn(t,!0);if(null!==i){if(void 0===this._storage[i])return!1;r=this._storage[i].prev,delete this._storage[i]}else if(this._map){if(!G.call(this._map,t))return!1;r=U.call(this._map,t).prev,W.call(this._map,t)}for(;(r=r.next)!==n;)if(ye.SameValueZero(r.key,t))return r.key=e,r.value=e,r.prev.next=r.next,r.next.prev=r.prev,this._size-=1,!0;return!1},clear:function(){a(this,"clear"),this._map=B?new B:null,this._size=0,this._storage=Fn();for(var t=this._head,n=t,r=n.next;(n=r)!==t;)n.key=e,n.value=e,r=n.next,n.next=n.prev=t;t.next=t.prev=t},keys:function(){return a(this,"keys"),new i(this,"key")},values:function(){return a(this,"values"),new i(this,"value")},entries:function(){return a(this,"entries"),new i(this,"key+value")},forEach:function(e){a(this,"forEach");for(var t=arguments.length>1?arguments[1]:null,n=this.entries(),i=n.next();!i.done;i=n.next())t?r(e,t,i.value[1],i.value[0],this):e(i.value[1],i.value[0],this)}}),_e(n,n.entries),o}(),Set:function(){var e,t=function(e,t){if(!ye.TypeIsObject(e)||!function(e){return e._es6set&&void 0!==e._storage}(e))throw new TypeError("Set.prototype."+t+" called on incompatible receiver "+ye.ToString(e))},n=function t(){if(!(this instanceof t))throw new TypeError('Constructor Set requires "new"');if(this&&this._es6set)throw new TypeError("Bad construction");var n=Pe(this,t,e,{_es6set:!0,"[[SetData]]":null,_storage:Fn()});if(!n._es6set)throw new TypeError("bad set");return arguments.length>0&&Hn(t,n,arguments[0]),n};e=n.prototype;var a=function(e){if(!e["[[SetData]]"]){var t=new zn.Map;e["[[SetData]]"]=t,p(i(e._storage),function(e){var n=function(e){var t=e;if("^null"===t)return null;if("^undefined"!==t){var n=t.charAt(0);return"$"===n?N(t,1):"n"===n?+N(t,1):"b"===n?"btrue"===t:+t}}(e);t.set(n,n)}),e["[[SetData]]"]=t}e._storage=null};b(n.prototype,"size",function(){return t(this,"size"),this._storage?i(this._storage).length:(a(this),this["[[SetData]]"].size)}),m(n.prototype,{has:function(e){var n;return t(this,"has"),this._storage&&null!==(n=qn(e))?!!this._storage[n]:(a(this),this["[[SetData]]"].has(e))},add:function(e){var n;return t(this,"add"),this._storage&&null!==(n=qn(e))?(this._storage[n]=!0,this):(a(this),this["[[SetData]]"].set(e,e),this)},delete:function(e){var n;if(t(this,"delete"),this._storage&&null!==(n=qn(e))){var r=z(this._storage,n);return delete this._storage[n]&&r}return a(this),this["[[SetData]]"].delete(e)},clear:function(){t(this,"clear"),this._storage&&(this._storage=Fn()),this["[[SetData]]"]&&this["[[SetData]]"].clear()},values:function(){return t(this,"values"),a(this),new o(this["[[SetData]]"].values())},entries:function(){return t(this,"entries"),a(this),new o(this["[[SetData]]"].entries())},forEach:function(e){t(this,"forEach");var n=arguments.length>1?arguments[1]:null,i=this;a(i),this["[[SetData]]"].forEach(function(t,a){n?r(e,n,a,a,i):e(a,a,i)})}}),y(n.prototype,"keys",n.prototype.values,!0),_e(n.prototype,n.prototype.values);var o=function(e){this.it=e};return o.prototype={isSetIterator:!0,next:function(){if(!this.isSetIterator)throw new TypeError("Not a SetIterator");return this.it.next()}},_e(o.prototype),n}()};if(j.Set&&!Set.prototype.delete&&Set.prototype.remove&&Set.prototype.items&&Set.prototype.map&&Array.isArray((new Set).keys)&&(j.Set=zn.Set),j.Map||j.Set){s(function(){return 2===new Map([[1,2]]).get(1)})||(j.Map=function e(){if(!(this instanceof e))throw new TypeError('Constructor Map requires "new"');var t=new B;return arguments.length>0&&Vn(e,t,arguments[0]),delete t.constructor,Object.setPrototypeOf(t,j.Map.prototype),t},j.Map.prototype=k(B.prototype),y(j.Map.prototype,"constructor",j.Map,!0),x(j.Map,B));var $n=new Map,Bn=((Mn=new Map([[1,0],[2,0],[3,0],[4,0]])).set(-0,Mn),Mn.get(0)===Mn&&Mn.get(-0)===Mn&&Mn.has(0)&&Mn.has(-0)),Wn=$n.set(1,2)===$n;Bn&&Wn||se(Map.prototype,"set",function(e,t){return r(X,this,0===e?0:e,t),this}),Bn||(m(Map.prototype,{get:function(e){return r(U,this,0===e?0:e)},has:function(e){return r(G,this,0===e?0:e)}},!0),x(Map.prototype.get,U),x(Map.prototype.has,G));var Un=new Set,Gn=Set.prototype.delete&&Set.prototype.add&&Set.prototype.has&&((In=Un).delete(0),In.add(-0),!In.has(0)),Xn=Un.add(1)===Un;if(!Gn||!Xn){var Yn=Set.prototype.add;Set.prototype.add=function(e){return r(Yn,this,0===e?0:e),this},x(Set.prototype.add,Yn)}if(!Gn){var Jn=Set.prototype.has;Set.prototype.has=function(e){return r(Jn,this,0===e?0:e)},x(Set.prototype.has,Jn);var Kn=Set.prototype.delete;Set.prototype.delete=function(e){return r(Kn,this,0===e?0:e)},x(Set.prototype.delete,Kn)}var Zn=O(j.Map,function(e){var t=new e([]);return t.set(42,42),t instanceof e}),Qn=Object.setPrototypeOf&&!Zn,er=function(){try{return!(j.Map()instanceof j.Map)}catch(e){return e instanceof TypeError}}();0===j.Map.length&&!Qn&&er||(j.Map=function e(){if(!(this instanceof e))throw new TypeError('Constructor Map requires "new"');var t=new B;return arguments.length>0&&Vn(e,t,arguments[0]),delete t.constructor,Object.setPrototypeOf(t,e.prototype),t},j.Map.prototype=B.prototype,y(j.Map.prototype,"constructor",j.Map,!0),x(j.Map,B));var tr=O(j.Set,function(e){var t=new e([]);return t.add(42,42),t instanceof e}),nr=Object.setPrototypeOf&&!tr,rr=function(){try{return!(j.Set()instanceof j.Set)}catch(e){return e instanceof TypeError}}();if(0!==j.Set.length||nr||!rr){var ar=j.Set;j.Set=function e(){if(!(this instanceof e))throw new TypeError('Constructor Set requires "new"');var t=new ar;return arguments.length>0&&Hn(e,t,arguments[0]),delete t.constructor,Object.setPrototypeOf(t,e.prototype),t},j.Set.prototype=ar.prototype,y(j.Set.prototype,"constructor",j.Set,!0),x(j.Set,ar)}var ir=new j.Map,or=!s(function(){return ir.keys().next().done});if(("function"!=typeof j.Map.prototype.clear||0!==(new j.Set).size||0!==ir.size||"function"!=typeof j.Map.prototype.keys||"function"!=typeof j.Set.prototype.keys||"function"!=typeof j.Map.prototype.forEach||"function"!=typeof j.Set.prototype.forEach||c(j.Map)||c(j.Set)||"function"!=typeof ir.keys().next||or||!Zn)&&m(j,{Map:zn.Map,Set:zn.Set},!0),j.Set.prototype.keys!==j.Set.prototype.values&&y(j.Set.prototype,"keys",j.Set.prototype.values,!0),_e(Object.getPrototypeOf((new j.Map).keys())),_e(Object.getPrototypeOf((new j.Set).keys())),l&&"has"!==j.Set.prototype.has.name){var sr=j.Set.prototype.has;se(j.Set.prototype,"has",function(e){return r(sr,this,e)})}}m(j,zn),Ee(j.Map),Ee(j.Set)}var cr=function(e){if(!ye.TypeIsObject(e))throw new TypeError("target must be an object")},ur={apply:function(){return ye.Call(ye.Call,null,arguments)},construct:function(e,t){if(!ye.IsConstructor(e))throw new TypeError("First argument must be a constructor.");var n=arguments.length>2?arguments[2]:e;if(!ye.IsConstructor(n))throw new TypeError("new.target must be a constructor.");return ye.Construct(e,t,n,"internal")},deleteProperty:function(e,t){if(cr(e),u){var n=Object.getOwnPropertyDescriptor(e,t);if(n&&!n.configurable)return!1}return delete e[t]},has:function(e,t){return cr(e),t in e}};Object.getOwnPropertyNames&&Object.assign(ur,{ownKeys:function(e){cr(e);var t=Object.getOwnPropertyNames(e);return ye.IsCallable(Object.getOwnPropertySymbols)&&I(t,Object.getOwnPropertySymbols(e)),t}});var lr=function(e){return!o(e)};if(Object.preventExtensions&&Object.assign(ur,{isExtensible:function(e){return cr(e),Object.isExtensible(e)},preventExtensions:function(e){return cr(e),lr(function(){return Object.preventExtensions(e)})}}),u){var pr=function(e,t,n){var r=Object.getOwnPropertyDescriptor(e,t);if(!r){var a=Object.getPrototypeOf(e);if(null===a)return;return pr(a,t,n)}return"value"in r?r.value:r.get?ye.Call(r.get,n):void 0},fr=function(e,t,n,a){var i=Object.getOwnPropertyDescriptor(e,t);if(!i){var o=Object.getPrototypeOf(e);if(null!==o)return fr(o,t,n,a);i={value:void 0,writable:!0,enumerable:!0,configurable:!0}}return"value"in i?!!i.writable&&(!!ye.TypeIsObject(a)&&(Object.getOwnPropertyDescriptor(a,t)?pe.defineProperty(a,t,{value:n}):pe.defineProperty(a,t,{value:n,writable:!0,enumerable:!0,configurable:!0}))):!!i.set&&(r(i.set,a,n),!0)};Object.assign(ur,{defineProperty:function(e,t,n){return cr(e),lr(function(){return Object.defineProperty(e,t,n)})},getOwnPropertyDescriptor:function(e,t){return cr(e),Object.getOwnPropertyDescriptor(e,t)},get:function(e,t){cr(e);var n=arguments.length>2?arguments[2]:e;return pr(e,t,n)},set:function(e,t,n){cr(e);var r=arguments.length>3?arguments[3]:e;return fr(e,t,n,r)}})}if(Object.getPrototypeOf){var dr=Object.getPrototypeOf;ur.getPrototypeOf=function(e){return cr(e),dr(e)}}if(Object.setPrototypeOf&&ur.getPrototypeOf){Object.assign(ur,{setPrototypeOf:function(e,t){if(cr(e),null!==t&&!ye.TypeIsObject(t))throw new TypeError("proto must be an object or null");return t===pe.getPrototypeOf(e)||!(pe.isExtensible&&!pe.isExtensible(e))&&(!function(e,t){for(var n=t;n;){if(e===n)return!0;n=ur.getPrototypeOf(n)}return!1}(e,t)&&(Object.setPrototypeOf(e,t),!0))}})}Object.keys(ur).forEach(function(e){!function(e,t){ye.IsCallable(j.Reflect[e])?s(function(){return j.Reflect[e](1),j.Reflect[e](NaN),j.Reflect[e](!0),!0})&&se(j.Reflect,e,t):y(j.Reflect,e,t)}(e,ur[e])});var hr=j.Reflect.getPrototypeOf;if(l&&hr&&"getPrototypeOf"!==hr.name&&se(j.Reflect,"getPrototypeOf",function(e){return r(hr,j.Reflect,e)}),j.Reflect.setPrototypeOf&&s(function(){return j.Reflect.setPrototypeOf(1,{}),!0})&&se(j.Reflect,"setPrototypeOf",ur.setPrototypeOf),j.Reflect.defineProperty&&(s(function(){var e=!j.Reflect.defineProperty(1,"test",{value:1}),t="function"!=typeof Object.preventExtensions||!j.Reflect.defineProperty(Object.preventExtensions({}),"test",{});return e&&t})||se(j.Reflect,"defineProperty",ur.defineProperty)),j.Reflect.construct&&(s(function(){var e=function(){};return j.Reflect.construct(function(){},[],e)instanceof e})||se(j.Reflect,"construct",ur.construct)),"Invalid Date"!==String(new Date(NaN))){var yr=Date.prototype.toString;se(Date.prototype,"toString",function(){var e=+this;return e!=e?"Invalid Date":ye.Call(yr,this)})}var mr={anchor:function(e){return ye.CreateHTML(this,"a","name",e)},big:function(){return ye.CreateHTML(this,"big","","")},blink:function(){return ye.CreateHTML(this,"blink","","")},bold:function(){return ye.CreateHTML(this,"b","","")},fixed:function(){return ye.CreateHTML(this,"tt","","")},fontcolor:function(e){return ye.CreateHTML(this,"font","color",e)},fontsize:function(e){return ye.CreateHTML(this,"font","size",e)},italics:function(){return ye.CreateHTML(this,"i","","")},link:function(e){return ye.CreateHTML(this,"a","href",e)},small:function(){return ye.CreateHTML(this,"small","","")},strike:function(){return ye.CreateHTML(this,"strike","","")},sub:function(){return ye.CreateHTML(this,"sub","","")},sup:function(){return ye.CreateHTML(this,"sup","","")}};p(Object.keys(mr),function(e){var t=String.prototype[e],n=!1;if(ye.IsCallable(t)){var a=r(t,"",' " '),i=_([],a.match(/"/g)).length;n=a!==a.toLowerCase()||i>2}else n=!0;n&&se(String.prototype,e,mr[e])});var gr=function(){if(!ce)return!1;var e="object"===("undefined"==typeof JSON?"undefined":_typeof(JSON))&&"function"==typeof JSON.stringify?JSON.stringify:null;if(!e)return!1;if(void 0!==e(Y()))return!0;if("[null]"!==e([Y()]))return!0;var t={a:Y()};return t[Y()]=!0,"{}"!==e(t)}(),vr=s(function(){return!ce||"{}"===JSON.stringify(Object(Y()))&&"[{}]"===JSON.stringify([Object(Y())])});if(gr||!vr){var br=JSON.stringify;se(JSON,"stringify",function(e){if("symbol"!==(void 0===e?"undefined":_typeof(e))){var t;arguments.length>1&&(t=arguments[1]);var n=[e];if(a(t))n.push(t);else{var i=ye.IsCallable(t)?t:null;n.push(function(e,t){var n=i?r(i,this,e,t):t;if("symbol"!==(void 0===n?"undefined":_typeof(n)))return oe(n)?At({})(n):n})}return arguments.length>2&&n.push(arguments[2]),br.apply(this,n)}})}return j},"function"==typeof define&&define.amd?define("es6-shim",factory):"object"===("undefined"==typeof exports?"undefined":_typeof(exports))?module.exports=factory():root.returnExports=factory(),function(e,t){"object"===("undefined"==typeof module?"undefined":_typeof(module))&&"object"===_typeof(module.exports)?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){var n=[],r=Object.getPrototypeOf,a=n.slice,i=n.flat?function(e){return n.flat.call(e)}:function(e){return n.concat.apply([],e)},o=n.push,s=n.indexOf,c={},u=c.toString,l=c.hasOwnProperty,p=l.toString,f=p.call(Object),d={},h=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},y=function(e){return null!=e&&e===e.window},m=e.document,g={type:!0,src:!0,nonce:!0,noModule:!0};function v(e,t,n){var r,a,i=(n=n||m).createElement("script");if(i.text=e,t)for(r in g)(a=t[r]||t.getAttribute&&t.getAttribute(r))&&i.setAttribute(r,a);n.head.appendChild(i).parentNode.removeChild(i)}function b(e){return null==e?e+"":"object"===(void 0===e?"undefined":_typeof(e))||"function"==typeof e?c[u.call(e)]||"object":void 0===e?"undefined":_typeof(e)}var w=function e(t,n){return new e.fn.init(t,n)};function T(e){var t=!!e&&"length"in e&&e.length,n=b(e);return!h(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}w.fn=w.prototype={jquery:"3.5.1",constructor:w,length:0,toArray:function(){return a.call(this)},get:function(e){return null==e?a.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(a.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(w.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(w.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:o,sort:n.sort,splice:n.splice},w.extend=w.fn.extend=function(){var e,t,n,r,a,i,o=arguments[0]||{},s=1,c=arguments.length,u=!1;for("boolean"==typeof o&&(u=o,o=arguments[s]||{},s++),"object"===(void 0===o?"undefined":_typeof(o))||h(o)||(o={}),s===c&&(o=this,s--);s<c;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&o!==r&&(u&&r&&(w.isPlainObject(r)||(a=Array.isArray(r)))?(n=o[t],i=a&&!Array.isArray(n)?[]:a||w.isPlainObject(n)?n:{},a=!1,o[t]=w.extend(u,i,r)):void 0!==r&&(o[t]=r));return o},w.extend({expando:"jQuery"+("3.5.1"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==u.call(e))&&(!(t=r(e))||"function"==typeof(n=l.call(t,"constructor")&&t.constructor)&&p.call(n)===f)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){v(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(T(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(T(Object(e))?w.merge(n,"string"==typeof e?[e]:e):o.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:s.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,a=e.length;r<n;r++)e[a++]=t[r];return e.length=a,e},grep:function(e,t,n){for(var r=[],a=0,i=e.length,o=!n;a<i;a++)!t(e[a],a)!==o&&r.push(e[a]);return r},map:function(e,t,n){var r,a,o=0,s=[];if(T(e))for(r=e.length;o<r;o++)null!=(a=t(e[o],o,n))&&s.push(a);else for(o in e)null!=(a=t(e[o],o,n))&&s.push(a);return i(s)},guid:1,support:d}),"function"==typeof Symbol&&(w.fn[Symbol.iterator]=n[Symbol.iterator]),w.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){c["[object "+t+"]"]=t.toLowerCase()});var S=function(e){var t,n,r,a,i,o,s,c,u,l,p,f,d,h,y,m,g,v,b,w="sizzle"+1*new Date,T=e.document,S=0,x=0,k=ce(),O=ce(),j=ce(),A=ce(),C=function(e,t){return e===t&&(p=!0),0},E={}.hasOwnProperty,_=[],N=_.pop,P=_.push,I=_.push,M=_.slice,D=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",q="(?:\\\\[\\da-fA-F]{1,6}"+L+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",F="\\["+L+"*("+q+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+q+"))|)"+L+"*\\]",V=":("+q+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+F+")*)|.*)\\)|)",H=new RegExp(L+"+","g"),z=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),$=new RegExp("^"+L+"*,"+L+"*"),B=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),W=new RegExp(L+"|>"),U=new RegExp(V),G=new RegExp("^"+q+"$"),X={ID:new RegExp("^#("+q+")"),CLASS:new RegExp("^\\.("+q+")"),TAG:new RegExp("^("+q+"|[*])"),ATTR:new RegExp("^"+F),PSEUDO:new RegExp("^"+V),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,J=/^(?:input|select|textarea|button)$/i,K=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,Q=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+L+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ae=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},ie=function(){f()},oe=we(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{I.apply(_=M.call(T.childNodes),T.childNodes),_[T.childNodes.length].nodeType}catch(e){I={apply:_.length?function(e,t){P.apply(e,M.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(e,t,r,a){var i,s,u,l,p,h,g,v=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!a&&(f(t),t=t||d,y)){if(11!==T&&(p=Q.exec(e)))if(i=p[1]){if(9===T){if(!(u=t.getElementById(i)))return r;if(u.id===i)return r.push(u),r}else if(v&&(u=v.getElementById(i))&&b(t,u)&&u.id===i)return r.push(u),r}else{if(p[2])return I.apply(r,t.getElementsByTagName(e)),r;if((i=p[3])&&n.getElementsByClassName&&t.getElementsByClassName)return I.apply(r,t.getElementsByClassName(i)),r}if(n.qsa&&!A[e+" "]&&(!m||!m.test(e))&&(1!==T||"object"!==t.nodeName.toLowerCase())){if(g=e,v=t,1===T&&(W.test(e)||B.test(e))){for((v=ee.test(e)&&ge(t.parentNode)||t)===t&&n.scope||((l=t.getAttribute("id"))?l=l.replace(re,ae):t.setAttribute("id",l=w)),s=(h=o(e)).length;s--;)h[s]=(l?"#"+l:":scope")+" "+be(h[s]);g=h.join(",")}try{return I.apply(r,v.querySelectorAll(g)),r}catch(t){A(e,!0)}finally{l===w&&t.removeAttribute("id")}}}return c(e.replace(z,"$1"),t,r,a)}function ce(){var e=[];return function t(n,a){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=a}}function ue(e){return e[w]=!0,e}function le(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function pe(e,t){for(var n=e.split("|"),a=n.length;a--;)r.attrHandle[n[a]]=t}function fe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function he(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ye(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&oe(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function me(e){return ue(function(t){return t=+t,ue(function(n,r){for(var a,i=e([],n.length,t),o=i.length;o--;)n[a=i[o]]&&(n[a]=!(r[a]=n[a]))})})}function ge(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},f=se.setDocument=function(e){var t,a,o=e?e.ownerDocument||e:T;return o!=d&&9===o.nodeType&&o.documentElement?(h=(d=o).documentElement,y=!i(d),T!=d&&(a=d.defaultView)&&a.top!==a&&(a.addEventListener?a.addEventListener("unload",ie,!1):a.attachEvent&&a.attachEvent("onunload",ie)),n.scope=le(function(e){return h.appendChild(e).appendChild(d.createElement("div")),void 0!==e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),n.attributes=le(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=le(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Z.test(d.getElementsByClassName),n.getById=le(function(e){return h.appendChild(e).id=w,!d.getElementsByName||!d.getElementsByName(w).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&y){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&y){var n,r,a,i=t.getElementById(e);if(i){if((n=i.getAttributeNode("id"))&&n.value===e)return[i];for(a=t.getElementsByName(e),r=0;i=a[r++];)if((n=i.getAttributeNode("id"))&&n.value===e)return[i]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],a=0,i=t.getElementsByTagName(e);if("*"===e){for(;n=i[a++];)1===n.nodeType&&r.push(n);return r}return i},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&y)return t.getElementsByClassName(e)},g=[],m=[],(n.qsa=Z.test(d.querySelectorAll))&&(le(function(e){var t;h.appendChild(e).innerHTML="<a id='"+w+"'></a><select id='"+w+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&m.push("[*^$]="+L+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||m.push("\\["+L+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+w+"-]").length||m.push("~="),(t=d.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||m.push("\\["+L+"*name"+L+"*="+L+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||m.push(":checked"),e.querySelectorAll("a#"+w+"+*").length||m.push(".#.+[+~]"),e.querySelectorAll("\\\f"),m.push("[\\r\\n\\f]")}),le(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&m.push("name"+L+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&m.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&m.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),m.push(",.*:")})),(n.matchesSelector=Z.test(v=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&le(function(e){n.disconnectedMatch=v.call(e,"*"),v.call(e,"[s!='']:x"),g.push("!=",V)}),m=m.length&&new RegExp(m.join("|")),g=g.length&&new RegExp(g.join("|")),t=Z.test(h.compareDocumentPosition),b=t||Z.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},C=t?function(e,t){if(e===t)return p=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e==d||e.ownerDocument==T&&b(T,e)?-1:t==d||t.ownerDocument==T&&b(T,t)?1:l?D(l,e)-D(l,t):0:4&r?-1:1)}:function(e,t){if(e===t)return p=!0,0;var n,r=0,a=e.parentNode,i=t.parentNode,o=[e],s=[t];if(!a||!i)return e==d?-1:t==d?1:a?-1:i?1:l?D(l,e)-D(l,t):0;if(a===i)return fe(e,t);for(n=e;n=n.parentNode;)o.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;o[r]===s[r];)r++;return r?fe(o[r],s[r]):o[r]==T?-1:s[r]==T?1:0},d):d},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(f(e),n.matchesSelector&&y&&!A[t+" "]&&(!g||!g.test(t))&&(!m||!m.test(t)))try{var r=v.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){A(t,!0)}return se(t,d,null,[e]).length>0},se.contains=function(e,t){return(e.ownerDocument||e)!=d&&f(e),b(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=d&&f(e);var a=r.attrHandle[t.toLowerCase()],i=a&&E.call(r.attrHandle,t.toLowerCase())?a(e,t,!y):void 0;return void 0!==i?i:n.attributes||!y?e.getAttribute(t):(i=e.getAttributeNode(t))&&i.specified?i.value:null},se.escape=function(e){return(e+"").replace(re,ae)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,r=[],a=0,i=0;if(p=!n.detectDuplicates,l=!n.sortStable&&e.slice(0),e.sort(C),p){for(;t=e[i++];)t===e[i]&&(a=r.push(i));for(;a--;)e.splice(r[a],1)}return l=null,e},a=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=a(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=a(t);return n},(r=se.selectors={cacheLength:50,createPseudo:ue,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return X.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&U.test(n)&&(t=o(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=k[e+" "];return t||(t=new RegExp("(^|"+L+")"+e+"("+L+"|$)"))&&k(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var a=se.attr(r,e);return null==a?"!="===t:!t||(a+="","="===t?a===n:"!="===t?a!==n:"^="===t?n&&0===a.indexOf(n):"*="===t?n&&a.indexOf(n)>-1:"$="===t?n&&a.slice(-n.length)===n:"~="===t?(" "+a.replace(H," ")+" ").indexOf(n)>-1:"|="===t&&(a===n||a.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,a){var i="nth"!==e.slice(0,3),o="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===a?function(e){return!!e.parentNode}:function(t,n,c){var u,l,p,f,d,h,y=i!==o?"nextSibling":"previousSibling",m=t.parentNode,g=s&&t.nodeName.toLowerCase(),v=!c&&!s,b=!1;if(m){if(i){for(;y;){for(f=t;f=f[y];)if(s?f.nodeName.toLowerCase()===g:1===f.nodeType)return!1;h=y="only"===e&&!h&&"nextSibling"}return!0}if(h=[o?m.firstChild:m.lastChild],o&&v){for(b=(d=(u=(l=(p=(f=m)[w]||(f[w]={}))[f.uniqueID]||(p[f.uniqueID]={}))[e]||[])[0]===S&&u[1])&&u[2],f=d&&m.childNodes[d];f=++d&&f&&f[y]||(b=d=0)||h.pop();)if(1===f.nodeType&&++b&&f===t){l[e]=[S,d,b];break}}else if(v&&(b=d=(u=(l=(p=(f=t)[w]||(f[w]={}))[f.uniqueID]||(p[f.uniqueID]={}))[e]||[])[0]===S&&u[1]),!1===b)for(;(f=++d&&f&&f[y]||(b=d=0)||h.pop())&&((s?f.nodeName.toLowerCase()!==g:1!==f.nodeType)||!++b||(v&&((l=(p=f[w]||(f[w]={}))[f.uniqueID]||(p[f.uniqueID]={}))[e]=[S,b]),f!==t)););return(b-=a)===r||b%r==0&&b/r>=0}}},PSEUDO:function(e,t){var n,a=r.pseudos[e]||r.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[w]?a(t):a.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?ue(function(e,n){for(var r,i=a(e,t),o=i.length;o--;)e[r=D(e,i[o])]=!(n[r]=i[o])}):function(e){return a(e,0,n)}):a}},pseudos:{not:ue(function(e){var t=[],n=[],r=s(e.replace(z,"$1"));return r[w]?ue(function(e,t,n,a){for(var i,o=r(e,null,a,[]),s=e.length;s--;)(i=o[s])&&(e[s]=!(t[s]=i))}):function(e,a,i){return t[0]=e,r(t,null,i,n),t[0]=null,!n.pop()}}),has:ue(function(e){return function(t){return se(e,t).length>0}}),contains:ue(function(e){return e=e.replace(te,ne),function(t){return(t.textContent||a(t)).indexOf(e)>-1}}),lang:ue(function(e){return G.test(e||"")||se.error("unsupported lang: "+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=y?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ye(!1),disabled:ye(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return K.test(e.nodeName)},input:function(e){return J.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:me(function(){return[0]}),last:me(function(e,t){return[t-1]}),eq:me(function(e,t,n){return[n<0?n+t:n]}),even:me(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:me(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:me(function(e,t,n){for(var r=n<0?n+t:n>t?t:n;--r>=0;)e.push(r);return e}),gt:me(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=r.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=de(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=he(t);function ve(){}function be(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function we(e,t,n){var r=t.dir,a=t.next,i=a||r,o=n&&"parentNode"===i,s=x++;return t.first?function(t,n,a){for(;t=t[r];)if(1===t.nodeType||o)return e(t,n,a);return!1}:function(t,n,c){var u,l,p,f=[S,s];if(c){for(;t=t[r];)if((1===t.nodeType||o)&&e(t,n,c))return!0}else for(;t=t[r];)if(1===t.nodeType||o)if(l=(p=t[w]||(t[w]={}))[t.uniqueID]||(p[t.uniqueID]={}),a&&a===t.nodeName.toLowerCase())t=t[r]||t;else{if((u=l[i])&&u[0]===S&&u[1]===s)return f[2]=u[2];if(l[i]=f,f[2]=e(t,n,c))return!0}return!1}}function Te(e){return e.length>1?function(t,n,r){for(var a=e.length;a--;)if(!e[a](t,n,r))return!1;return!0}:e[0]}function Se(e,t,n,r,a){for(var i,o=[],s=0,c=e.length,u=null!=t;s<c;s++)(i=e[s])&&(n&&!n(i,r,a)||(o.push(i),u&&t.push(s)));return o}function xe(e,t,n,r,a,i){return r&&!r[w]&&(r=xe(r)),a&&!a[w]&&(a=xe(a,i)),ue(function(i,o,s,c){var u,l,p,f=[],d=[],h=o.length,y=i||function(e,t,n){for(var r=0,a=t.length;r<a;r++)se(e,t[r],n);return n}(t||"*",s.nodeType?[s]:s,[]),m=!e||!i&&t?y:Se(y,f,e,s,c),g=n?a||(i?e:h||r)?[]:o:m;if(n&&n(m,g,s,c),r)for(u=Se(g,d),r(u,[],s,c),l=u.length;l--;)(p=u[l])&&(g[d[l]]=!(m[d[l]]=p));if(i){if(a||e){if(a){for(u=[],l=g.length;l--;)(p=g[l])&&u.push(m[l]=p);a(null,g=[],u,c)}for(l=g.length;l--;)(p=g[l])&&(u=a?D(i,p):f[l])>-1&&(i[u]=!(o[u]=p))}}else g=Se(g===o?g.splice(h,g.length):g),a?a(null,o,g,c):I.apply(o,g)})}function ke(e){for(var t,n,a,i=e.length,o=r.relative[e[0].type],s=o||r.relative[" "],c=o?1:0,l=we(function(e){return e===t},s,!0),p=we(function(e){return D(t,e)>-1},s,!0),f=[function(e,n,r){var a=!o&&(r||n!==u)||((t=n).nodeType?l(e,n,r):p(e,n,r));return t=null,a}];c<i;c++)if(n=r.relative[e[c].type])f=[we(Te(f),n)];else{if((n=r.filter[e[c].type].apply(null,e[c].matches))[w]){for(a=++c;a<i&&!r.relative[e[a].type];a++);return xe(c>1&&Te(f),c>1&&be(e.slice(0,c-1).concat({value:" "===e[c-2].type?"*":""})).replace(z,"$1"),n,c<a&&ke(e.slice(c,a)),a<i&&ke(e=e.slice(a)),a<i&&be(e))}f.push(n)}return Te(f)}return ve.prototype=r.filters=r.pseudos,r.setFilters=new ve,o=se.tokenize=function(e,t){var n,a,i,o,s,c,u,l=O[e+" "];if(l)return t?0:l.slice(0);for(s=e,c=[],u=r.preFilter;s;){for(o in n&&!(a=$.exec(s))||(a&&(s=s.slice(a[0].length)||s),c.push(i=[])),n=!1,(a=B.exec(s))&&(n=a.shift(),i.push({value:n,type:a[0].replace(z," ")}),s=s.slice(n.length)),r.filter)!(a=X[o].exec(s))||u[o]&&!(a=u[o](a))||(n=a.shift(),i.push({value:n,type:o,matches:a}),s=s.slice(n.length));if(!n)break}return t?s.length:s?se.error(e):O(e,c).slice(0)},s=se.compile=function(e,t){var n,a=[],i=[],s=j[e+" "];if(!s){for(t||(t=o(e)),n=t.length;n--;)(s=ke(t[n]))[w]?a.push(s):i.push(s);(s=j(e,function(e,t){var n=t.length>0,a=e.length>0,i=function(i,o,s,c,l){var p,h,m,g=0,v="0",b=i&&[],w=[],T=u,x=i||a&&r.find.TAG("*",l),k=S+=null==T?1:Math.random()||.1,O=x.length;for(l&&(u=o==d||o||l);v!==O&&null!=(p=x[v]);v++){if(a&&p){for(h=0,o||p.ownerDocument==d||(f(p),s=!y);m=e[h++];)if(m(p,o||d,s)){c.push(p);break}l&&(S=k)}n&&((p=!m&&p)&&g--,i&&b.push(p))}if(g+=v,n&&v!==g){for(h=0;m=t[h++];)m(b,w,o,s);if(i){if(g>0)for(;v--;)b[v]||w[v]||(w[v]=N.call(c));w=Se(w)}I.apply(c,w),l&&!i&&w.length>0&&g+t.length>1&&se.uniqueSort(c)}return l&&(S=k,u=T),b};return n?ue(i):i}(i,a))).selector=e}return s},c=se.select=function(e,t,n,a){var i,c,u,l,p,f="function"==typeof e&&e,d=!a&&o(e=f.selector||e);if(n=n||[],1===d.length){if((c=d[0]=d[0].slice(0)).length>2&&"ID"===(u=c[0]).type&&9===t.nodeType&&y&&r.relative[c[1].type]){if(!(t=(r.find.ID(u.matches[0].replace(te,ne),t)||[])[0]))return n;f&&(t=t.parentNode),e=e.slice(c.shift().value.length)}for(i=X.needsContext.test(e)?0:c.length;i--&&(u=c[i],!r.relative[l=u.type]);)if((p=r.find[l])&&(a=p(u.matches[0].replace(te,ne),ee.test(c[0].type)&&ge(t.parentNode)||t))){if(c.splice(i,1),!(e=a.length&&be(c)))return I.apply(n,a),n;break}}return(f||s(e,d))(a,t,!y,n,!t||ee.test(e)&&ge(t.parentNode)||t),n},n.sortStable=w.split("").sort(C).join("")===w,n.detectDuplicates=!!p,f(),n.sortDetached=le(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),le(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||pe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&le(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||pe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),le(function(e){return null==e.getAttribute("disabled")})||pe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(e);w.find=S,w.expr=S.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=S.uniqueSort,w.text=S.getText,w.isXMLDoc=S.isXML,w.contains=S.contains,w.escapeSelector=S.escape;var x=function(e,t,n){for(var r=[],a=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(a&&w(e).is(n))break;r.push(e)}return r},k=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},O=w.expr.match.needsContext;function j(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function C(e,t,n){return h(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return s.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,a=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t<r;t++)if(w.contains(a[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)w.find(e,a[t],n);return r>1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(C(this,e||[],!1))},not:function(e){return this.pushStack(C(this,e||[],!0))},is:function(e){return!!C(this,"string"==typeof e&&O.test(e)?w(e):e||[],!1).length}});var E,_=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var r,a;if(!e)return this;if(n=n||E,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:_.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:m,!0)),A.test(r[1])&&w.isPlainObject(t))for(r in t)h(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(a=m.getElementById(r[2]))&&(this[0]=a,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):h(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,E=w(m);var N=/^(?:parents|prev(?:Until|All))/,P={children:!0,contents:!0,next:!0,prev:!0};function I(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(w.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,a=this.length,i=[],o="string"!=typeof e&&w(e);if(!O.test(e))for(;r<a;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(o?o.index(n)>-1:1===n.nodeType&&w.find.matchesSelector(n,e))){i.push(n);break}return this.pushStack(i.length>1?w.uniqueSort(i):i)},index:function(e){return e?"string"==typeof e?s.call(w(e),this[0]):s.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x(e,"parentNode")},parentsUntil:function(e,t,n){return x(e,"parentNode",n)},next:function(e){return I(e,"nextSibling")},prev:function(e){return I(e,"previousSibling")},nextAll:function(e){return x(e,"nextSibling")},prevAll:function(e){return x(e,"previousSibling")},nextUntil:function(e,t,n){return x(e,"nextSibling",n)},prevUntil:function(e,t,n){return x(e,"previousSibling",n)},siblings:function(e){return k((e.parentNode||{}).firstChild,e)},children:function(e){return k(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(j(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var a=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(a=w.filter(r,a)),this.length>1&&(P[e]||w.uniqueSort(a),N.test(e)&&a.reverse()),this.pushStack(a)}});var M=/[^\x20\t\r\n\f]+/g;function D(e){return e}function R(e){throw e}function L(e,t,n,r){var a;try{e&&h(a=e.promise)?a.call(e).done(t).fail(n):e&&h(a=e.then)?a.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.Callbacks=function(e){e="string"==typeof e?function(e){var t={};return w.each(e.match(M)||[],function(e,n){t[n]=!0}),t}(e):w.extend({},e);var t,n,r,a,i=[],o=[],s=-1,c=function(){for(a=a||e.once,r=t=!0;o.length;s=-1)for(n=o.shift();++s<i.length;)!1===i[s].apply(n[0],n[1])&&e.stopOnFalse&&(s=i.length,n=!1);e.memory||(n=!1),t=!1,a&&(i=n?[]:"")},u={add:function(){return i&&(n&&!t&&(s=i.length-1,o.push(n)),function t(n){w.each(n,function(n,r){h(r)?e.unique&&u.has(r)||i.push(r):r&&r.length&&"string"!==b(r)&&t(r)})}(arguments),n&&!t&&c()),this},remove:function(){return w.each(arguments,function(e,t){for(var n;(n=w.inArray(t,i,n))>-1;)i.splice(n,1),n<=s&&s--}),this},has:function(e){return e?w.inArray(e,i)>-1:i.length>0},empty:function(){return i&&(i=[]),this},disable:function(){return a=o=[],i=n="",this},disabled:function(){return!i},lock:function(){return a=o=[],n||t||(i=n=""),this},locked:function(){return!!a},fireWith:function(e,n){return a||(n=[e,(n=n||[]).slice?n.slice():n],o.push(n),t||c()),this},fire:function(){return u.fireWith(this,arguments),this},fired:function(){return!!r}};return u},w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",a={state:function(){return r},always:function(){return i.done(arguments).fail(arguments),this},catch:function(e){return a.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var a=h(e[r[4]])&&e[r[4]];i[r[1]](function(){var e=a&&a.apply(this,arguments);e&&h(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,a?[e]:arguments)})}),e=null}).promise()},then:function(t,r,a){var i=0;function o(t,n,r,a){return function(){var s=this,c=arguments,u=function(){var e,u;if(!(t<i)){if((e=r.apply(s,c))===n.promise())throw new TypeError("Thenable self-resolution");u=e&&("object"===(void 0===e?"undefined":_typeof(e))||"function"==typeof e)&&e.then,h(u)?a?u.call(e,o(i,n,D,a),o(i,n,R,a)):(i++,u.call(e,o(i,n,D,a),o(i,n,R,a),o(i,n,D,n.notifyWith))):(r!==D&&(s=void 0,c=[e]),(a||n.resolveWith)(s,c))}},l=a?u:function(){try{u()}catch(e){w.Deferred.exceptionHook&&w.Deferred.exceptionHook(e,l.stackTrace),t+1>=i&&(r!==R&&(s=void 0,c=[e]),n.rejectWith(s,c))}};t?l():(w.Deferred.getStackHook&&(l.stackTrace=w.Deferred.getStackHook()),e.setTimeout(l))}}return w.Deferred(function(e){n[0][3].add(o(0,e,h(a)?a:D,e.notifyWith)),n[1][3].add(o(0,e,h(t)?t:D)),n[2][3].add(o(0,e,h(r)?r:R))}).promise()},promise:function(e){return null!=e?w.extend(e,a):a}},i={};return w.each(n,function(e,t){var o=t[2],s=t[5];a[t[1]]=o.add,s&&o.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),o.add(t[3].fire),i[t[0]]=function(){return i[t[0]+"With"](this===i?void 0:this,arguments),this},i[t[0]+"With"]=o.fireWith}),a.promise(i),t&&t.call(i,i),i},when:function(e){var t=arguments.length,n=t,r=Array(n),i=a.call(arguments),o=w.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?a.call(arguments):n,--t||o.resolveWith(r,i)}};if(t<=1&&(L(e,o.done(s(n)).resolve,o.reject,!t),"pending"===o.state()||h(i[n]&&i[n].then)))return o.then();for(;n--;)L(i[n],s(n),o.reject);return o.promise()}});var q=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&q.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();function V(){m.removeEventListener("DOMContentLoaded",V),e.removeEventListener("load",V),w.ready()}w.fn.ready=function(e){return F.then(e).catch(function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(m,[w]))}}),w.ready.then=F.then,"complete"===m.readyState||"loading"!==m.readyState&&!m.documentElement.doScroll?e.setTimeout(w.ready):(m.addEventListener("DOMContentLoaded",V),e.addEventListener("load",V));var H=function e(t,n,r,a,i,o,s){var c=0,u=t.length,l=null==r;if("object"===b(r))for(c in i=!0,r)e(t,n,c,r[c],!0,o,s);else if(void 0!==a&&(i=!0,h(a)||(s=!0),l&&(s?(n.call(t,a),n=null):(l=n,n=function(e,t,n){return l.call(w(e),n)})),n))for(;c<u;c++)n(t[c],r,s?a:a.call(t[c],c,n(t[c],r)));return i?t:l?n.call(t):u?n(t[0],r):o},z=/^-ms-/,$=/-([a-z])/g;function B(e,t){return t.toUpperCase()}function W(e){return e.replace(z,"ms-").replace($,B)}var U=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=w.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},U(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,a=this.cache(e);if("string"==typeof t)a[W(t)]=n;else for(r in t)a[W(r)]=t[r];return a},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][W(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(W):(t=W(t))in r?[t]:t.match(M)||[]).length;for(;n--;)delete r[t[n]]}(void 0===t||w.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!w.isEmptyObject(t)}};var X=new G,Y=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=function(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:J.test(e)?JSON.parse(e):e)}(n)}catch(e){}Y.set(e,t,n)}else n=void 0;return n}w.extend({hasData:function(e){return Y.hasData(e)||X.hasData(e)},data:function(e,t,n){return Y.access(e,t,n)},removeData:function(e,t){Y.remove(e,t)},_data:function(e,t,n){return X.access(e,t,n)},_removeData:function(e,t){X.remove(e,t)}}),w.fn.extend({data:function(e,t){var n,r,a,i=this[0],o=i&&i.attributes;if(void 0===e){if(this.length&&(a=Y.get(i),1===i.nodeType&&!X.get(i,"hasDataAttrs"))){for(n=o.length;n--;)o[n]&&0===(r=o[n].name).indexOf("data-")&&(r=W(r.slice(5)),Z(i,r,a[r]));X.set(i,"hasDataAttrs",!0)}return a}return"object"===(void 0===e?"undefined":_typeof(e))?this.each(function(){Y.set(this,e)}):H(this,function(t){var n;if(i&&void 0===t)return void 0!==(n=Y.get(i,e))?n:void 0!==(n=Z(i,e))?n:void 0;this.each(function(){Y.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){Y.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=X.get(e,t),n&&(!r||Array.isArray(n)?r=X.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,a=n.shift(),i=w._queueHooks(e,t);"inprogress"===a&&(a=n.shift(),r--),a&&("fx"===t&&n.unshift("inprogress"),delete i.stop,a.call(e,function(){w.dequeue(e,t)},i)),!r&&i&&i.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return X.get(e,n)||X.access(e,n,{empty:w.Callbacks("once memory").add(function(){X.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?w.queue(this[0],e):void 0===t?this:this.each(function(){var n=w.queue(this,e,t);w._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&w.dequeue(this,e)})},dequeue:function(e){return this.each(function(){w.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,a=w.Deferred(),i=this,o=this.length,s=function(){--r||a.resolveWith(i,[i])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";o--;)(n=X.get(i[o],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),a.promise(t)}});var Q=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ee=new RegExp("^(?:([+-])=|)("+Q+")([a-z%]*)$","i"),te=["Top","Right","Bottom","Left"],ne=m.documentElement,re=function(e){return w.contains(e.ownerDocument,e)},ae={composed:!0};ne.getRootNode&&(re=function(e){return w.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});var ie=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&re(e)&&"none"===w.css(e,"display")};function oe(e,t,n,r){var a,i,o=20,s=r?function(){return r.cur()}:function(){return w.css(e,t,"")},c=s(),u=n&&n[3]||(w.cssNumber[t]?"":"px"),l=e.nodeType&&(w.cssNumber[t]||"px"!==u&&+c)&&ee.exec(w.css(e,t));if(l&&l[3]!==u){for(c/=2,u=u||l[3],l=+c||1;o--;)w.style(e,t,l+u),(1-i)*(1-(i=s()/c||.5))<=0&&(o=0),l/=i;l*=2,w.style(e,t,l+u),n=n||[]}return n&&(l=+l||+c||0,a=n[1]?l+(n[1]+1)*n[2]:+n[2],r&&(r.unit=u,r.start=l,r.end=a)),a}var se={};function ce(e){var t,n=e.ownerDocument,r=e.nodeName,a=se[r];return a||(t=n.body.appendChild(n.createElement(r)),a=w.css(t,"display"),t.parentNode.removeChild(t),"none"===a&&(a="block"),se[r]=a,a)}function ue(e,t){for(var n,r,a=[],i=0,o=e.length;i<o;i++)(r=e[i]).style&&(n=r.style.display,t?("none"===n&&(a[i]=X.get(r,"display")||null,a[i]||(r.style.display="")),""===r.style.display&&ie(r)&&(a[i]=ce(r))):"none"!==n&&(a[i]="none",X.set(r,"display",n)));for(i=0;i<o;i++)null!=a[i]&&(e[i].style.display=a[i]);return e}w.fn.extend({show:function(){return ue(this,!0)},hide:function(){return ue(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ie(this)?w(this).show():w(this).hide()})}});var le,pe,fe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;le=m.createDocumentFragment().appendChild(m.createElement("div")),(pe=m.createElement("input")).setAttribute("type","radio"),pe.setAttribute("checked","checked"),pe.setAttribute("name","t"),le.appendChild(pe),d.checkClone=le.cloneNode(!0).cloneNode(!0).lastChild.checked,le.innerHTML="<textarea>x</textarea>",d.noCloneChecked=!!le.cloneNode(!0).lastChild.defaultValue,le.innerHTML="<option></option>",d.option=!!le.lastChild;var ye={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function me(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&j(e,t)?w.merge([e],n):n}function ge(e,t){for(var n=0,r=e.length;n<r;n++)X.set(e[n],"globalEval",!t||X.get(t[n],"globalEval"))}ye.tbody=ye.tfoot=ye.colgroup=ye.caption=ye.thead,ye.th=ye.td,d.option||(ye.optgroup=ye.option=[1,"<select multiple='multiple'>","</select>"]);var ve=/<|&#?\w+;/;function be(e,t,n,r,a){for(var i,o,s,c,u,l,p=t.createDocumentFragment(),f=[],d=0,h=e.length;d<h;d++)if((i=e[d])||0===i)if("object"===b(i))w.merge(f,i.nodeType?[i]:i);else if(ve.test(i)){for(o=o||p.appendChild(t.createElement("div")),s=(de.exec(i)||["",""])[1].toLowerCase(),c=ye[s]||ye._default,o.innerHTML=c[1]+w.htmlPrefilter(i)+c[2],l=c[0];l--;)o=o.lastChild;w.merge(f,o.childNodes),(o=p.firstChild).textContent=""}else f.push(t.createTextNode(i));for(p.textContent="",d=0;i=f[d++];)if(r&&w.inArray(i,r)>-1)a&&a.push(i);else if(u=re(i),o=me(p.appendChild(i),"script"),u&&ge(o),n)for(l=0;i=o[l++];)he.test(i.type||"")&&n.push(i);return p}var we=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Se=/^([^.]*)(?:\.(.+)|)/;function xe(){return!0}function ke(){return!1}function Oe(e,t){return e===function(){try{return m.activeElement}catch(e){}}()==("focus"===t)}function je(e,t,n,r,a,i){var o,s;if("object"===(void 0===t?"undefined":_typeof(t))){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)je(e,s,n,r,t[s],i);return e}if(null==r&&null==a?(a=n,r=n=void 0):null==a&&("string"==typeof n?(a=r,r=void 0):(a=r,r=n,n=void 0)),!1===a)a=ke;else if(!a)return e;return 1===i&&(o=a,(a=function(e){return w().off(e),o.apply(this,arguments)}).guid=o.guid||(o.guid=w.guid++)),e.each(function(){w.event.add(this,t,a,r,n)})}function Ae(e,t,n){n?(X.set(e,t,!1),w.event.add(e,t,{namespace:!1,handler:function(e){var r,i,o=X.get(this,t);if(1&e.isTrigger&&this[t]){if(o.length)(w.event.special[t]||{}).delegateType&&e.stopPropagation();else if(o=a.call(arguments),X.set(this,t,o),r=n(this,t),this[t](),o!==(i=X.get(this,t))||r?X.set(this,t,!1):i={},o!==i)return e.stopImmediatePropagation(),e.preventDefault(),i.value}else o.length&&(X.set(this,t,{value:w.event.trigger(w.extend(o[0],w.Event.prototype),o.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===X.get(e,t)&&w.event.add(e,t,xe)}w.event={global:{},add:function(e,t,n,r,a){var i,o,s,c,u,l,p,f,d,h,y,m=X.get(e);if(U(e))for(n.handler&&(n=(i=n).handler,a=i.selector),a&&w.find.matchesSelector(ne,a),n.guid||(n.guid=w.guid++),(c=m.events)||(c=m.events=Object.create(null)),(o=m.handle)||(o=m.handle=function(t){return void 0!==w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),u=(t=(t||"").match(M)||[""]).length;u--;)d=y=(s=Se.exec(t[u])||[])[1],h=(s[2]||"").split(".").sort(),d&&(p=w.event.special[d]||{},d=(a?p.delegateType:p.bindType)||d,p=w.event.special[d]||{},l=w.extend({type:d,origType:y,data:r,handler:n,guid:n.guid,selector:a,needsContext:a&&w.expr.match.needsContext.test(a),namespace:h.join(".")},i),(f=c[d])||((f=c[d]=[]).delegateCount=0,p.setup&&!1!==p.setup.call(e,r,h,o)||e.addEventListener&&e.addEventListener(d,o)),p.add&&(p.add.call(e,l),l.handler.guid||(l.handler.guid=n.guid)),a?f.splice(f.delegateCount++,0,l):f.push(l),w.event.global[d]=!0)},remove:function(e,t,n,r,a){var i,o,s,c,u,l,p,f,d,h,y,m=X.hasData(e)&&X.get(e);if(m&&(c=m.events)){for(u=(t=(t||"").match(M)||[""]).length;u--;)if(d=y=(s=Se.exec(t[u])||[])[1],h=(s[2]||"").split(".").sort(),d){for(p=w.event.special[d]||{},f=c[d=(r?p.delegateType:p.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),o=i=f.length;i--;)l=f[i],!a&&y!==l.origType||n&&n.guid!==l.guid||s&&!s.test(l.namespace)||r&&r!==l.selector&&("**"!==r||!l.selector)||(f.splice(i,1),l.selector&&f.delegateCount--,p.remove&&p.remove.call(e,l));o&&!f.length&&(p.teardown&&!1!==p.teardown.call(e,h,m.handle)||w.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)w.event.remove(e,d+t[u],n,r,!0);w.isEmptyObject(c)&&X.remove(e,"handle events")}},dispatch:function(e){var t,n,r,a,i,o,s=new Array(arguments.length),c=w.event.fix(e),u=(X.get(this,"events")||Object.create(null))[c.type]||[],l=w.event.special[c.type]||{};for(s[0]=c,t=1;t<arguments.length;t++)s[t]=arguments[t];if(c.delegateTarget=this,!l.preDispatch||!1!==l.preDispatch.call(this,c)){for(o=w.event.handlers.call(this,c,u),t=0;(a=o[t++])&&!c.isPropagationStopped();)for(c.currentTarget=a.elem,n=0;(i=a.handlers[n++])&&!c.isImmediatePropagationStopped();)c.rnamespace&&!1!==i.namespace&&!c.rnamespace.test(i.namespace)||(c.handleObj=i,c.data=i.data,void 0!==(r=((w.event.special[i.origType]||{}).handle||i.handler).apply(a.elem,s))&&!1===(c.result=r)&&(c.preventDefault(),c.stopPropagation()));return l.postDispatch&&l.postDispatch.call(this,c),c.result}},handlers:function(e,t){var n,r,a,i,o,s=[],c=t.delegateCount,u=e.target;if(c&&u.nodeType&&!("click"===e.type&&e.button>=1))for(;u!==this;u=u.parentNode||this)if(1===u.nodeType&&("click"!==e.type||!0!==u.disabled)){for(i=[],o={},n=0;n<c;n++)void 0===o[a=(r=t[n]).selector+" "]&&(o[a]=r.needsContext?w(a,this).index(u)>-1:w.find(a,this,null,[u]).length),o[a]&&i.push(r);i.length&&s.push({elem:u,handlers:i})}return u=this,c<t.length&&s.push({elem:u,handlers:t.slice(c)}),s},addProp:function(e,t){Object.defineProperty(w.Event.prototype,e,{enumerable:!0,configurable:!0,get:h(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[w.expando]?e:new w.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return fe.test(t.type)&&t.click&&j(t,"input")&&Ae(t,"click",xe),!1},trigger:function(e){var t=this||e;return fe.test(t.type)&&t.click&&j(t,"input")&&Ae(t,"click"),!0},_default:function(e){var t=e.target;return fe.test(t.type)&&t.click&&j(t,"input")&&X.get(t,"click")||j(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},w.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},w.Event=function(e,t){if(!(this instanceof w.Event))return new w.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?xe:ke,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&w.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[w.expando]=!0},w.Event.prototype={constructor:w.Event,isDefaultPrevented:ke,isPropagationStopped:ke,isImmediatePropagationStopped:ke,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=xe,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=xe,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=xe,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},w.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&we.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Te.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},w.event.addProp),w.each({focus:"focusin",blur:"focusout"},function(e,t){w.event.special[e]={setup:function(){return Ae(this,e,Oe),!1},trigger:function(){return Ae(this,e),!0},delegateType:t}}),w.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){w.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=e.relatedTarget,a=e.handleObj;return r&&(r===this||w.contains(this,r))||(e.type=a.origType,n=a.handler.apply(this,arguments),e.type=t),n}}}),w.fn.extend({on:function(e,t,n,r){return je(this,e,t,n,r)},one:function(e,t,n,r){return je(this,e,t,n,r,1)},off:function(e,t,n){var r,a;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,w(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"===(void 0===e?"undefined":_typeof(e))){for(a in e)this.off(a,t,e[a]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=ke),this.each(function(){w.event.remove(this,e,n,t)})}});var Ce=/<script|<style|<link/i,Ee=/checked\s*(?:[^=]|=\s*.checked.)/i,_e=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Ne(e,t){return j(e,"table")&&j(11!==t.nodeType?t:t.firstChild,"tr")&&w(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Ie(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,a,i,o,s;if(1===t.nodeType){if(X.hasData(e)&&(s=X.get(e).events))for(a in X.remove(t,"handle events"),s)for(n=0,r=s[a].length;n<r;n++)w.event.add(t,a,s[a][n]);Y.hasData(e)&&(i=Y.access(e),o=w.extend({},i),Y.set(t,o))}}function De(e,t,n,r){t=i(t);var a,o,s,c,u,l,p=0,f=e.length,y=f-1,m=t[0],g=h(m);if(g||f>1&&"string"==typeof m&&!d.checkClone&&Ee.test(m))return e.each(function(a){var i=e.eq(a);g&&(t[0]=m.call(this,a,i.html())),De(i,t,n,r)});if(f&&(o=(a=be(t,e[0].ownerDocument,!1,e,r)).firstChild,1===a.childNodes.length&&(a=o),o||r)){for(c=(s=w.map(me(a,"script"),Pe)).length;p<f;p++)u=a,p!==y&&(u=w.clone(u,!0,!0),c&&w.merge(s,me(u,"script"))),n.call(e[p],u,p);if(c)for(l=s[s.length-1].ownerDocument,w.map(s,Ie),p=0;p<c;p++)u=s[p],he.test(u.type||"")&&!X.access(u,"globalEval")&&w.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?w._evalUrl&&!u.noModule&&w._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):v(u.textContent.replace(_e,""),u,l))}return e}function Re(e,t,n){for(var r,a=t?w.filter(t,e):e,i=0;null!=(r=a[i]);i++)n||1!==r.nodeType||w.cleanData(me(r)),r.parentNode&&(n&&re(r)&&ge(me(r,"script")),r.parentNode.removeChild(r));return e}w.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,a,i,o,s,c,u,l=e.cloneNode(!0),p=re(e);if(!(d.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(o=me(l),r=0,a=(i=me(e)).length;r<a;r++)s=i[r],c=o[r],void 0,"input"===(u=c.nodeName.toLowerCase())&&fe.test(s.type)?c.checked=s.checked:"input"!==u&&"textarea"!==u||(c.defaultValue=s.defaultValue);if(t)if(n)for(i=i||me(e),o=o||me(l),r=0,a=i.length;r<a;r++)Me(i[r],o[r]);else Me(e,l);return(o=me(l,"script")).length>0&&ge(o,!p&&me(e,"script")),l},cleanData:function(e){for(var t,n,r,a=w.event.special,i=0;void 0!==(n=e[i]);i++)if(U(n)){if(t=n[X.expando]){if(t.events)for(r in t.events)a[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[X.expando]=void 0}n[Y.expando]&&(n[Y.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Re(this,e,!0)},remove:function(e){return Re(this,e)},text:function(e){return H(this,function(e){return void 0===e?w.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return De(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Ne(this,e).appendChild(e)})},prepend:function(){return De(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Ne(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return De(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return De(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(me(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return H(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ce.test(e)&&!ye[(de.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(w.cleanData(me(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return De(this,arguments,function(t){var n=this.parentNode;w.inArray(this,e)<0&&(w.cleanData(me(this)),n&&n.replaceChild(t,this))},e)}}),w.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){w.fn[e]=function(e){for(var n,r=[],a=w(e),i=a.length-1,s=0;s<=i;s++)n=s===i?this:this.clone(!0),w(a[s])[t](n),o.apply(r,n.get());return this.pushStack(r)}});var Le=new RegExp("^("+Q+")(?!px)[a-z%]+$","i"),qe=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},Fe=function(e,t,n){var r,a,i={};for(a in t)i[a]=e.style[a],e.style[a]=t[a];for(a in r=n.call(e),t)e.style[a]=i[a];return r},Ve=new RegExp(te.join("|"),"i");function He(e,t,n){var r,a,i,o,s=e.style;return(n=n||qe(e))&&(""!==(o=n.getPropertyValue(t)||n[t])||re(e)||(o=w.style(e,t)),!d.pixelBoxStyles()&&Le.test(o)&&Ve.test(t)&&(r=s.width,a=s.minWidth,i=s.maxWidth,s.minWidth=s.maxWidth=s.width=o,o=n.width,s.width=r,s.minWidth=a,s.maxWidth=i)),void 0!==o?o+"":o}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function t(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ne.appendChild(u).appendChild(l);var t=e.getComputedStyle(l);r="1%"!==t.top,c=12===n(t.marginLeft),l.style.right="60%",o=36===n(t.right),a=36===n(t.width),l.style.position="absolute",i=12===n(l.offsetWidth/3),ne.removeChild(u),l=null}}function n(e){return Math.round(parseFloat(e))}var r,a,i,o,s,c,u=m.createElement("div"),l=m.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",d.clearCloneStyle="content-box"===l.style.backgroundClip,w.extend(d,{boxSizingReliable:function(){return t(),a},pixelBoxStyles:function(){return t(),o},pixelPosition:function(){return t(),r},reliableMarginLeft:function(){return t(),c},scrollboxSize:function(){return t(),i},reliableTrDimensions:function(){var t,n,r,a;return null==s&&(t=m.createElement("table"),n=m.createElement("tr"),r=m.createElement("div"),t.style.cssText="position:absolute;left:-11111px",n.style.height="1px",r.style.height="9px",ne.appendChild(t).appendChild(n).appendChild(r),a=e.getComputedStyle(n),s=parseInt(a.height)>3,ne.removeChild(t)),s}}))}();var $e=["Webkit","Moz","ms"],Be=m.createElement("div").style,We={};function Ue(e){var t=w.cssProps[e]||We[e];return t||(e in Be?e:We[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=$e.length;n--;)if((e=$e[n]+t)in Be)return e}(e)||e)}var Ge=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ye={position:"absolute",visibility:"hidden",display:"block"},Je={letterSpacing:"0",fontWeight:"400"};function Ke(e,t,n){var r=ee.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ze(e,t,n,r,a,i){var o="width"===t?1:0,s=0,c=0;if(n===(r?"border":"content"))return 0;for(;o<4;o+=2)"margin"===n&&(c+=w.css(e,n+te[o],!0,a)),r?("content"===n&&(c-=w.css(e,"padding"+te[o],!0,a)),"margin"!==n&&(c-=w.css(e,"border"+te[o]+"Width",!0,a))):(c+=w.css(e,"padding"+te[o],!0,a),"padding"!==n?c+=w.css(e,"border"+te[o]+"Width",!0,a):s+=w.css(e,"border"+te[o]+"Width",!0,a));return!r&&i>=0&&(c+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-i-c-s-.5))||0),c}function Qe(e,t,n){var r=qe(e),a=(!d.boxSizingReliable()||n)&&"border-box"===w.css(e,"boxSizing",!1,r),i=a,o=He(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Le.test(o)){if(!n)return o;o="auto"}return(!d.boxSizingReliable()&&a||!d.reliableTrDimensions()&&j(e,"tr")||"auto"===o||!parseFloat(o)&&"inline"===w.css(e,"display",!1,r))&&e.getClientRects().length&&(a="border-box"===w.css(e,"boxSizing",!1,r),(i=s in e)&&(o=e[s])),(o=parseFloat(o)||0)+Ze(e,t,n||(a?"border":"content"),i,r,o)+"px"}function et(e,t,n,r,a){return new et.prototype.init(e,t,n,r,a)}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=He(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var a,i,o,s=W(t),c=Xe.test(t),u=e.style;if(c||(t=Ue(s)),o=w.cssHooks[t]||w.cssHooks[s],void 0===n)return o&&"get"in o&&void 0!==(a=o.get(e,!1,r))?a:u[t];"string"===(i=void 0===n?"undefined":_typeof(n))&&(a=ee.exec(n))&&a[1]&&(n=oe(e,t,a),i="number"),null!=n&&n==n&&("number"!==i||c||(n+=a&&a[3]||(w.cssNumber[s]?"":"px")),d.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),o&&"set"in o&&void 0===(n=o.set(e,n,r))||(c?u.setProperty(t,n):u[t]=n))}},css:function(e,t,n,r){var a,i,o,s=W(t);return Xe.test(t)||(t=Ue(s)),(o=w.cssHooks[t]||w.cssHooks[s])&&"get"in o&&(a=o.get(e,!0,n)),void 0===a&&(a=He(e,t,r)),"normal"===a&&t in Je&&(a=Je[t]),""===n||n?(i=parseFloat(a),!0===n||isFinite(i)?i||0:a):a}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!Ge.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Qe(e,t,r):Fe(e,Ye,function(){return Qe(e,t,r)})},set:function(e,n,r){var a,i=qe(e),o=!d.scrollboxSize()&&"absolute"===i.position,s=(o||r)&&"border-box"===w.css(e,"boxSizing",!1,i),c=r?Ze(e,t,r,s,i):0;return s&&o&&(c-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(i[t])-Ze(e,t,"border",!1,i)-.5)),c&&(a=ee.exec(n))&&"px"!==(a[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Ke(0,n,c)}}}),w.cssHooks.marginLeft=ze(d.reliableMarginLeft,function(e,t){if(t)return(parseFloat(He(e,"marginLeft"))||e.getBoundingClientRect().left-Fe(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,a={},i="string"==typeof n?n.split(" "):[n];r<4;r++)a[e+te[r]+t]=i[r]||i[r-2]||i[0];return a}},"margin"!==e&&(w.cssHooks[e+t].set=Ke)}),w.fn.extend({css:function(e,t){return H(this,function(e,t,n){var r,a,i={},o=0;if(Array.isArray(t)){for(r=qe(e),a=t.length;o<a;o++)i[t[o]]=w.css(e,t[o],!1,r);return i}return void 0!==n?w.style(e,t,n):w.css(e,t)},e,t,arguments.length>1)}}),w.Tween=et,et.prototype={constructor:et,init:function(e,t,n,r,a,i){this.elem=e,this.prop=n,this.easing=a||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=i||(w.cssNumber[n]?"":"px")},cur:function(){var e=et.propHooks[this.prop];return e&&e.get?e.get(this):et.propHooks._default.get(this)},run:function(e){var t,n=et.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):et.propHooks._default.set(this),this}},et.prototype.init.prototype=et.prototype,et.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||!w.cssHooks[e.prop]&&null==e.elem.style[Ue(e.prop)]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},et.propHooks.scrollTop=et.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=et.prototype.init,w.fx.step={};var tt,nt,rt=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function it(){nt&&(!1===m.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(it):e.setTimeout(it,w.fx.interval),w.fx.tick())}function ot(){return e.setTimeout(function(){tt=void 0}),tt=Date.now()}function st(e,t){var n,r=0,a={height:e};for(t=t?1:0;r<4;r+=2-t)a["margin"+(n=te[r])]=a["padding"+n]=e;return t&&(a.opacity=a.width=e),a}function ct(e,t,n){for(var r,a=(ut.tweeners[t]||[]).concat(ut.tweeners["*"]),i=0,o=a.length;i<o;i++)if(r=a[i].call(n,t,e))return r}function ut(e,t,n){var r,a,i=0,o=ut.prefilters.length,s=w.Deferred().always(function(){delete c.elem}),c=function(){if(a)return!1;for(var t=tt||ot(),n=Math.max(0,u.startTime+u.duration-t),r=1-(n/u.duration||0),i=0,o=u.tweens.length;i<o;i++)u.tweens[i].run(r);return s.notifyWith(e,[u,r,n]),r<1&&o?n:(o||s.notifyWith(e,[u,1,0]),s.resolveWith(e,[u]),!1)},u=s.promise({elem:e,props:w.extend({},t),opts:w.extend(!0,{specialEasing:{},easing:w.easing._default},n),originalProperties:t,originalOptions:n,startTime:tt||ot(),duration:n.duration,tweens:[],createTween:function(t,n){var r=w.Tween(e,u.opts,t,n,u.opts.specialEasing[t]||u.opts.easing);return u.tweens.push(r),r},stop:function(t){var n=0,r=t?u.tweens.length:0;if(a)return this;for(a=!0;n<r;n++)u.tweens[n].run(1);return t?(s.notifyWith(e,[u,1,0]),s.resolveWith(e,[u,t])):s.rejectWith(e,[u,t]),this}}),l=u.props;for(!function(e,t){var n,r,a,i,o;for(n in e)if(a=t[r=W(n)],i=e[n],Array.isArray(i)&&(a=i[1],i=e[n]=i[0]),n!==r&&(e[r]=i,delete e[n]),(o=w.cssHooks[r])&&"expand"in o)for(n in i=o.expand(i),delete e[r],i)n in e||(e[n]=i[n],t[n]=a);else t[r]=a}(l,u.opts.specialEasing);i<o;i++)if(r=ut.prefilters[i].call(u,e,l,u.opts))return h(r.stop)&&(w._queueHooks(u.elem,u.opts.queue).stop=r.stop.bind(r)),r;return w.map(l,ct,u),h(u.opts.start)&&u.opts.start.call(e,u),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always),w.fx.timer(w.extend(c,{elem:e,anim:u,queue:u.opts.queue})),u}w.Animation=w.extend(ut,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return oe(n.elem,e,ee.exec(t),n),n}]},tweener:function(e,t){h(e)?(t=e,e=["*"]):e=e.match(M);for(var n,r=0,a=e.length;r<a;r++)n=e[r],ut.tweeners[n]=ut.tweeners[n]||[],ut.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,a,i,o,s,c,u,l,p="width"in t||"height"in t,f=this,d={},h=e.style,y=e.nodeType&&ie(e),m=X.get(e,"fxshow");for(r in n.queue||(null==(o=w._queueHooks(e,"fx")).unqueued&&(o.unqueued=0,s=o.empty.fire,o.empty.fire=function(){o.unqueued||s()}),o.unqueued++,f.always(function(){f.always(function(){o.unqueued--,w.queue(e,"fx").length||o.empty.fire()})})),t)if(a=t[r],rt.test(a)){if(delete t[r],i=i||"toggle"===a,a===(y?"hide":"show")){if("show"!==a||!m||void 0===m[r])continue;y=!0}d[r]=m&&m[r]||w.style(e,r)}if((c=!w.isEmptyObject(t))||!w.isEmptyObject(d))for(r in p&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(u=m&&m.display)&&(u=X.get(e,"display")),"none"===(l=w.css(e,"display"))&&(u?l=u:(ue([e],!0),u=e.style.display||u,l=w.css(e,"display"),ue([e]))),("inline"===l||"inline-block"===l&&null!=u)&&"none"===w.css(e,"float")&&(c||(f.done(function(){h.display=u}),null==u&&(l=h.display,u="none"===l?"":l)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",f.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),c=!1,d)c||(m?"hidden"in m&&(y=m.hidden):m=X.access(e,"fxshow",{display:u}),i&&(m.hidden=!y),y&&ue([e],!0),f.done(function(){for(r in y||ue([e]),X.remove(e,"fxshow"),d)w.style(e,r,d[r])})),c=ct(y?m[r]:0,r,f),r in m||(m[r]=c.start,y&&(c.end=c.start,c.start=0))}],prefilter:function(e,t){t?ut.prefilters.unshift(e):ut.prefilters.push(e)}}),w.speed=function(e,t,n){var r=e&&"object"===(void 0===e?"undefined":_typeof(e))?w.extend({},e):{complete:n||!n&&t||h(e)&&e,duration:e,easing:n&&t||t&&!h(t)&&t};return w.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in w.fx.speeds?r.duration=w.fx.speeds[r.duration]:r.duration=w.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){h(r.old)&&r.old.call(this),r.queue&&w.dequeue(this,r.queue)},r},w.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ie).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var a=w.isEmptyObject(e),i=w.speed(t,n,r),o=function(){var t=ut(this,w.extend({},e),i);(a||X.get(this,"finish"))&&t.stop(!0)};return o.finish=o,a||!1===i.queue?this.each(o):this.queue(i.queue,o)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&this.queue(e||"fx",[]),this.each(function(){var t=!0,a=null!=e&&e+"queueHooks",i=w.timers,o=X.get(this);if(a)o[a]&&o[a].stop&&r(o[a]);else for(a in o)o[a]&&o[a].stop&&at.test(a)&&r(o[a]);for(a=i.length;a--;)i[a].elem!==this||null!=e&&i[a].queue!==e||(i[a].anim.stop(n),t=!1,i.splice(a,1));!t&&n||w.dequeue(this,e)})},finish:function(e){return!1!==e&&(e=e||"fx"),this.each(function(){var t,n=X.get(this),r=n[e+"queue"],a=n[e+"queueHooks"],i=w.timers,o=r?r.length:0;for(n.finish=!0,w.queue(this,e,[]),a&&a.stop&&a.stop.call(this,!0),t=i.length;t--;)i[t].elem===this&&i[t].queue===e&&(i[t].anim.stop(!0),i.splice(t,1));for(t=0;t<o;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),w.each(["toggle","show","hide"],function(e,t){var n=w.fn[t];w.fn[t]=function(e,r,a){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(st(t,!0),e,r,a)}}),w.each({slideDown:st("show"),slideUp:st("hide"),slideToggle:st("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){w.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),w.timers=[],w.fx.tick=function(){var e,t=0,n=w.timers;for(tt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||w.fx.stop(),tt=void 0},w.fx.timer=function(e){w.timers.push(e),w.fx.start()},w.fx.interval=13,w.fx.start=function(){nt||(nt=!0,it())},w.fx.stop=function(){nt=null},w.fx.speeds={slow:600,fast:200,_default:400},w.fn.delay=function(t,n){return t=w.fx&&w.fx.speeds[t]||t,n=n||"fx",this.queue(n,function(n,r){var a=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(a)}})},function(){var e=m.createElement("input"),t=m.createElement("select").appendChild(m.createElement("option"));e.type="checkbox",d.checkOn=""!==e.value,d.optSelected=t.selected,(e=m.createElement("input")).value="t",e.type="radio",d.radioValue="t"===e.value}();var lt,pt=w.expr.attrHandle;w.fn.extend({attr:function(e,t){return H(this,w.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,a,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return void 0===e.getAttribute?w.prop(e,t,n):(1===i&&w.isXMLDoc(e)||(a=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?lt:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):a&&"set"in a&&void 0!==(r=a.set(e,n,t))?r:(e.setAttribute(t,n+""),n):a&&"get"in a&&null!==(r=a.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!d.radioValue&&"radio"===t&&j(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,a=t&&t.match(M);if(a&&1===e.nodeType)for(;n=a[r++];)e.removeAttribute(n)}}),lt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=pt[t]||w.find.attr;pt[t]=function(e,t,r){var a,i,o=t.toLowerCase();return r||(i=pt[o],pt[o]=a,a=null!=n(e,t,r)?o:null,pt[o]=i),a}});var ft=/^(?:input|select|textarea|button)$/i,dt=/^(?:a|area)$/i;function ht(e){return(e.match(M)||[]).join(" ")}function yt(e){return e.getAttribute&&e.getAttribute("class")||""}function mt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(M)||[]}w.fn.extend({prop:function(e,t){return H(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,a,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return 1===i&&w.isXMLDoc(e)||(t=w.propFix[t]||t,a=w.propHooks[t]),void 0!==n?a&&"set"in a&&void 0!==(r=a.set(e,n,t))?r:e[t]=n:a&&"get"in a&&null!==(r=a.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):ft.test(e.nodeName)||dt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),d.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this}),w.fn.extend({addClass:function(e){var t,n,r,a,i,o,s,c=0;if(h(e))return this.each(function(t){w(this).addClass(e.call(this,t,yt(this)))});if((t=mt(e)).length)for(;n=this[c++];)if(a=yt(n),r=1===n.nodeType&&" "+ht(a)+" "){for(o=0;i=t[o++];)r.indexOf(" "+i+" ")<0&&(r+=i+" ");a!==(s=ht(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,a,i,o,s,c=0;if(h(e))return this.each(function(t){w(this).removeClass(e.call(this,t,yt(this)))});if(!arguments.length)return this.attr("class","");if((t=mt(e)).length)for(;n=this[c++];)if(a=yt(n),r=1===n.nodeType&&" "+ht(a)+" "){for(o=0;i=t[o++];)for(;r.indexOf(" "+i+" ")>-1;)r=r.replace(" "+i+" "," ");a!==(s=ht(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=void 0===e?"undefined":_typeof(e),r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):h(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,yt(this),t),t)}):this.each(function(){var t,a,i,o;if(r)for(a=0,i=w(this),o=mt(e);t=o[a++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else void 0!==e&&"boolean"!==n||((t=yt(this))&&X.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":X.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+ht(yt(n))+" ").indexOf(t)>-1)return!0;return!1}});var gt=/\r/g;w.fn.extend({val:function(e){var t,n,r,a=this[0];return arguments.length?(r=h(e),this.each(function(n){var a;1===this.nodeType&&(null==(a=r?e.call(this,n,w(this).val()):e)?a="":"number"==typeof a?a+="":Array.isArray(a)&&(a=w.map(a,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,a,"value")||(this.value=a))})):a?(t=w.valHooks[a.type]||w.valHooks[a.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(a,"value"))?n:"string"==typeof(n=a.value)?n.replace(gt,""):null==n?"":n:void 0}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:ht(w.text(e))}},select:{get:function(e){var t,n,r,a=e.options,i=e.selectedIndex,o="select-one"===e.type,s=o?null:[],c=o?i+1:a.length;for(r=i<0?c:o?i:0;r<c;r++)if(((n=a[r]).selected||r===i)&&!n.disabled&&(!n.parentNode.disabled||!j(n.parentNode,"optgroup"))){if(t=w(n).val(),o)return t;s.push(t)}return s},set:function(e,t){for(var n,r,a=e.options,i=w.makeArray(t),o=a.length;o--;)((r=a[o]).selected=w.inArray(w.valHooks.option.get(r),i)>-1)&&(n=!0);return n||(e.selectedIndex=-1),i}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},d.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),d.focusin="onfocusin"in e;var vt=/^(?:focusinfocus|focusoutblur)$/,bt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,r,a){var i,o,s,c,u,p,f,d,g=[r||m],v=l.call(t,"type")?t.type:t,b=l.call(t,"namespace")?t.namespace.split("."):[];if(o=d=s=r=r||m,3!==r.nodeType&&8!==r.nodeType&&!vt.test(v+w.event.triggered)&&(v.indexOf(".")>-1&&(v=(b=v.split(".")).shift(),b.sort()),u=v.indexOf(":")<0&&"on"+v,(t=t[w.expando]?t:new w.Event(v,"object"===(void 0===t?"undefined":_typeof(t))&&t)).isTrigger=a?2:3,t.namespace=b.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:w.makeArray(n,[t]),f=w.event.special[v]||{},a||!f.trigger||!1!==f.trigger.apply(r,n))){if(!a&&!f.noBubble&&!y(r)){for(c=f.delegateType||v,vt.test(c+v)||(o=o.parentNode);o;o=o.parentNode)g.push(o),s=o;s===(r.ownerDocument||m)&&g.push(s.defaultView||s.parentWindow||e)}for(i=0;(o=g[i++])&&!t.isPropagationStopped();)d=o,t.type=i>1?c:f.bindType||v,(p=(X.get(o,"events")||Object.create(null))[t.type]&&X.get(o,"handle"))&&p.apply(o,n),(p=u&&o[u])&&p.apply&&U(o)&&(t.result=p.apply(o,n),!1===t.result&&t.preventDefault());return t.type=v,a||t.isDefaultPrevented()||f._default&&!1!==f._default.apply(g.pop(),n)||!U(r)||u&&h(r[v])&&!y(r)&&((s=r[u])&&(r[u]=null),w.event.triggered=v,t.isPropagationStopped()&&d.addEventListener(v,bt),r[v](),t.isPropagationStopped()&&d.removeEventListener(v,bt),w.event.triggered=void 0,s&&(r[u]=s)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),d.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this.document||this,a=X.access(r,t);a||r.addEventListener(e,n,!0),X.access(r,t,(a||0)+1)},teardown:function(){var r=this.ownerDocument||this.document||this,a=X.access(r,t)-1;a?X.access(r,t,a):(r.removeEventListener(e,n,!0),X.remove(r,t))}}});var wt=e.location,Tt={guid:Date.now()},St=/\?/;w.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+t),n};var xt=/\[\]$/,kt=/\r?\n/g,Ot=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function At(e,t,n,r){var a;if(Array.isArray(t))w.each(t,function(t,a){n||xt.test(e)?r(e,a):At(e+"["+("object"===(void 0===a?"undefined":_typeof(a))&&null!=a?t:"")+"]",a,n,r)});else if(n||"object"!==b(t))r(e,t);else for(a in t)At(e+"["+a+"]",t[a],n,r)}w.param=function(e,t){var n,r=[],a=function(e,t){var n=h(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){a(this.name,this.value)});else for(n in e)At(n,e[n],t,a);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&jt.test(this.nodeName)&&!Ot.test(e)&&(this.checked||!fe.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(kt,"\r\n")}}):{name:t.name,value:n.replace(kt,"\r\n")}}).get()}});var Ct=/%20/g,Et=/#.*$/,_t=/([?&])_=[^&]*/,Nt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Pt=/^(?:GET|HEAD)$/,It=/^\/\//,Mt={},Dt={},Rt="*/".concat("*"),Lt=m.createElement("a");function qt(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,a=0,i=t.toLowerCase().match(M)||[];if(h(n))for(;r=i[a++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function Ft(e,t,n,r){var a={},i=e===Dt;function o(s){var c;return a[s]=!0,w.each(e[s]||[],function(e,s){var u=s(t,n,r);return"string"!=typeof u||i||a[u]?i?!(c=u):void 0:(t.dataTypes.unshift(u),o(u),!1)}),c}return o(t.dataTypes[0])||!a["*"]&&o("*")}function Vt(e,t){var n,r,a=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((a[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}Lt.href=wt.href,w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:wt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(wt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Rt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Vt(Vt(e,w.ajaxSettings),t):Vt(w.ajaxSettings,e)},ajaxPrefilter:qt(Mt),ajaxTransport:qt(Dt),ajax:function(t,n){"object"===(void 0===t?"undefined":_typeof(t))&&(n=t,t=void 0),n=n||{};var r,a,i,o,s,c,u,l,p,f,d=w.ajaxSetup({},n),h=d.context||d,y=d.context&&(h.nodeType||h.jquery)?w(h):w.event,g=w.Deferred(),v=w.Callbacks("once memory"),b=d.statusCode||{},T={},S={},x="canceled",k={readyState:0,getResponseHeader:function(e){var t;if(u){if(!o)for(o={};t=Nt.exec(i);)o[t[1].toLowerCase()+" "]=(o[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=o[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return u?i:null},setRequestHeader:function(e,t){return null==u&&(e=S[e.toLowerCase()]=S[e.toLowerCase()]||e,T[e]=t),this},overrideMimeType:function(e){return null==u&&(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(u)k.always(e[k.status]);else for(t in e)b[t]=[b[t],e[t]];return this},abort:function(e){var t=e||x;return r&&r.abort(t),O(0,t),this}};if(g.promise(k),d.url=((t||d.url||wt.href)+"").replace(It,wt.protocol+"//"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=(d.dataType||"*").toLowerCase().match(M)||[""],null==d.crossDomain){c=m.createElement("a");try{c.href=d.url,c.href=c.href,d.crossDomain=Lt.protocol+"//"+Lt.host!=c.protocol+"//"+c.host}catch(e){d.crossDomain=!0}}if(d.data&&d.processData&&"string"!=typeof d.data&&(d.data=w.param(d.data,d.traditional)),Ft(Mt,d,n,k),u)return k;for(p in(l=w.event&&d.global)&&0==w.active++&&w.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Pt.test(d.type),a=d.url.replace(Et,""),d.hasContent?d.data&&d.processData&&0===(d.contentType||"").indexOf("application/x-www-form-urlencoded")&&(d.data=d.data.replace(Ct,"+")):(f=d.url.slice(a.length),d.data&&(d.processData||"string"==typeof d.data)&&(a+=(St.test(a)?"&":"?")+d.data,delete d.data),!1===d.cache&&(a=a.replace(_t,"$1"),f=(St.test(a)?"&":"?")+"_="+Tt.guid+++f),d.url=a+f),d.ifModified&&(w.lastModified[a]&&k.setRequestHeader("If-Modified-Since",w.lastModified[a]),w.etag[a]&&k.setRequestHeader("If-None-Match",w.etag[a])),(d.data&&d.hasContent&&!1!==d.contentType||n.contentType)&&k.setRequestHeader("Content-Type",d.contentType),k.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Rt+"; q=0.01":""):d.accepts["*"]),d.headers)k.setRequestHeader(p,d.headers[p]);if(d.beforeSend&&(!1===d.beforeSend.call(h,k,d)||u))return k.abort();if(x="abort",v.add(d.complete),k.done(d.success),k.fail(d.error),r=Ft(Dt,d,n,k)){if(k.readyState=1,l&&y.trigger("ajaxSend",[k,d]),u)return k;d.async&&d.timeout>0&&(s=e.setTimeout(function(){k.abort("timeout")},d.timeout));try{u=!1,r.send(T,O)}catch(e){if(u)throw e;O(-1,e)}}else O(-1,"No Transport");function O(t,n,o,c){var p,f,m,T,S,x=n;u||(u=!0,s&&e.clearTimeout(s),r=void 0,i=c||"",k.readyState=t>0?4:0,p=t>=200&&t<300||304===t,o&&(T=function(e,t,n){for(var r,a,i,o,s=e.contents,c=e.dataTypes;"*"===c[0];)c.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(a in s)if(s[a]&&s[a].test(r)){c.unshift(a);break}if(c[0]in n)i=c[0];else{for(a in n){if(!c[0]||e.converters[a+" "+c[0]]){i=a;break}o||(o=a)}i=i||o}if(i)return i!==c[0]&&c.unshift(i),n[i]}(d,k,o)),!p&&w.inArray("script",d.dataTypes)>-1&&(d.converters["text script"]=function(){}),T=function(e,t,n,r){var a,i,o,s,c,u={},l=e.dataTypes.slice();if(l[1])for(o in e.converters)u[o.toLowerCase()]=e.converters[o];for(i=l.shift();i;)if(e.responseFields[i]&&(n[e.responseFields[i]]=t),!c&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),c=i,i=l.shift())if("*"===i)i=c;else if("*"!==c&&c!==i){if(!(o=u[c+" "+i]||u["* "+i]))for(a in u)if((s=a.split(" "))[1]===i&&(o=u[c+" "+s[0]]||u["* "+s[0]])){!0===o?o=u[a]:!0!==u[a]&&(i=s[0],l.unshift(s[1]));break}if(!0!==o)if(o&&e.throws)t=o(t);else try{t=o(t)}catch(e){return{state:"parsererror",error:o?e:"No conversion from "+c+" to "+i}}}return{state:"success",data:t}}(d,T,k,p),p?(d.ifModified&&((S=k.getResponseHeader("Last-Modified"))&&(w.lastModified[a]=S),(S=k.getResponseHeader("etag"))&&(w.etag[a]=S)),204===t||"HEAD"===d.type?x="nocontent":304===t?x="notmodified":(x=T.state,f=T.data,p=!(m=T.error))):(m=x,!t&&x||(x="error",t<0&&(t=0))),k.status=t,k.statusText=(n||x)+"",p?g.resolveWith(h,[f,x,k]):g.rejectWith(h,[k,x,m]),k.statusCode(b),b=void 0,l&&y.trigger(p?"ajaxSuccess":"ajaxError",[k,d,p?f:m]),v.fireWith(h,[k,x]),l&&(y.trigger("ajaxComplete",[k,d]),--w.active||w.event.trigger("ajaxStop")))}return k},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],function(e,t){w[t]=function(e,n,r,a){return h(n)&&(a=a||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:a,data:n,success:r},w.isPlainObject(e)&&e))}}),w.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),w._evalUrl=function(e,t,n){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){w.globalEval(e,t,n)}})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(h(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return h(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=h(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Ht={0:200,1223:204},zt=w.ajaxSettings.xhr();d.cors=!!zt&&"withCredentials"in zt,d.ajax=zt=!!zt,w.ajaxTransport(function(t){var n,r;if(d.cors||zt&&!t.crossDomain)return{send:function(a,i){var o,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(o in t.xhrFields)s[o]=t.xhrFields[o];for(o in t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||a["X-Requested-With"]||(a["X-Requested-With"]="XMLHttpRequest"),a)s.setRequestHeader(o,a[o]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?i(0,"error"):i(s.status,s.statusText):i(Ht[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),w.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),w.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),w.ajaxTransport("script",function(e){var t,n;if(e.crossDomain||e.scriptAttrs)return{send:function(r,a){t=w("<script>").attr(e.scriptAttrs||{}).prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&a("error"===e.type?404:200,e.type)}),m.head.appendChild(t[0])},abort:function(){n&&n()}}});var $t,Bt=[],Wt=/(=)\?(?=&|$)|\?\?/;w.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Bt.pop()||w.expando+"_"+Tt.guid++;return this[e]=!0,e}}),w.ajaxPrefilter("json jsonp",function(t,n,r){var a,i,o,s=!1!==t.jsonp&&(Wt.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Wt.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return a=t.jsonpCallback=h(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(Wt,"$1"+a):!1!==t.jsonp&&(t.url+=(St.test(t.url)?"&":"?")+t.jsonp+"="+a),t.converters["script json"]=function(){return o||w.error(a+" was not called"),o[0]},t.dataTypes[0]="json",i=e[a],e[a]=function(){o=arguments},r.always(function(){void 0===i?w(e).removeProp(a):e[a]=i,t[a]&&(t.jsonpCallback=n.jsonpCallback,Bt.push(a)),o&&h(i)&&i(o[0]),o=i=void 0}),"script"}),d.createHTMLDocument=(($t=m.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===$t.childNodes.length),w.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(d.createHTMLDocument?((r=(t=m.implementation.createHTMLDocument("")).createElement("base")).href=m.location.href,t.head.appendChild(r)):t=m),i=!n&&[],(a=A.exec(e))?[t.createElement(a[1])]:(a=be([e],t,i),i&&i.length&&w(i).remove(),w.merge([],a.childNodes)));var r,a,i},w.fn.load=function(e,t,n){var r,a,i,o=this,s=e.indexOf(" ");return s>-1&&(r=ht(e.slice(s)),e=e.slice(0,s)),h(t)?(n=t,t=void 0):t&&"object"===(void 0===t?"undefined":_typeof(t))&&(a="POST"),o.length>0&&w.ajax({url:e,type:a||"GET",dataType:"html",data:t}).done(function(e){i=arguments,o.html(r?w("<div>").append(w.parseHTML(e)).find(r):e)}).always(n&&function(e,t){o.each(function(){n.apply(this,i||[e.responseText,t,e])})}),this},w.expr.pseudos.animated=function(e){return w.grep(w.timers,function(t){return e===t.elem}).length},w.offset={setOffset:function(e,t,n){var r,a,i,o,s,c,u=w.css(e,"position"),l=w(e),p={};"static"===u&&(e.style.position="relative"),s=l.offset(),i=w.css(e,"top"),c=w.css(e,"left"),("absolute"===u||"fixed"===u)&&(i+c).indexOf("auto")>-1?(o=(r=l.position()).top,a=r.left):(o=parseFloat(i)||0,a=parseFloat(c)||0),h(t)&&(t=t.call(e,n,w.extend({},s))),null!=t.top&&(p.top=t.top-s.top+o),null!=t.left&&(p.left=t.left-s.left+a),"using"in t?t.using.call(e,p):("number"==typeof p.top&&(p.top+="px"),"number"==typeof p.left&&(p.left+="px"),l.css(p))}},w.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){w.offset.setOffset(this,e,t)});var t,n,r=this[0];return r?r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],a={top:0,left:0};if("fixed"===w.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===w.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((a=w(e).offset()).top+=w.css(e,"borderTopWidth",!0),a.left+=w.css(e,"borderLeftWidth",!0))}return{top:t.top-a.top-w.css(r,"marginTop",!0),left:t.left-a.left-w.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===w.css(e,"position");)e=e.offsetParent;return e||ne})}}),w.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;w.fn[e]=function(r){return H(this,function(e,r,a){var i;if(y(e)?i=e:9===e.nodeType&&(i=e.defaultView),void 0===a)return i?i[t]:e[r];i?i.scrollTo(n?i.pageXOffset:a,n?a:i.pageYOffset):e[r]=a},e,r,arguments.length)}}),w.each(["top","left"],function(e,t){w.cssHooks[t]=ze(d.pixelPosition,function(e,n){if(n)return n=He(e,t),Le.test(n)?w(e).position()[t]+"px":n})}),w.each({Height:"height",Width:"width"},function(e,t){w.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){w.fn[r]=function(a,i){var o=arguments.length&&(n||"boolean"!=typeof a),s=n||(!0===a||!0===i?"margin":"border");return H(this,function(t,n,a){var i;return y(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body["scroll"+e],i["scroll"+e],t.body["offset"+e],i["offset"+e],i["client"+e])):void 0===a?w.css(t,n,s):w.style(t,n,a,s)},t,o?a:void 0,o)}})}),w.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){w.fn[t]=function(e){return this.on(t,e)}}),w.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),w.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){w.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}});var Ut=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),h(e))return r=a.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(a.call(arguments)))}).guid=e.guid=e.guid||w.guid++,i},w.holdReady=function(e){e?w.readyWait++:w.ready(!0)},w.isArray=Array.isArray,w.parseJSON=JSON.parse,w.nodeName=j,w.isFunction=h,w.isWindow=y,w.camelCase=W,w.type=b,w.now=Date.now,w.isNumeric=function(e){var t=w.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},w.trim=function(e){return null==e?"":(e+"").replace(Ut,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return w});var Gt=e.jQuery,Xt=e.$;return w.noConflict=function(t){return e.$===w&&(e.$=Xt),t&&e.jQuery===w&&(e.jQuery=Gt),w},void 0===t&&(e.jQuery=e.$=w),w}),define("jqueryplugins",["jquery"],function(e){e.prototype.extend({popAttr:function(e){var t=this.attr(e);return this.removeAttr(e),t},popData:function(e){var t=this.data(e);return this.removeData(e),t},tag:function(){return this[0]&&this[0].tagName&&this[0].tagName.toLowerCase()},textNodes:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"*";return 1===this.length&&this[0]instanceof Text?[this[0]]:this.get().concat(this.contents().get(),this.find(e).contents().get()).filter(function(e,t,n){return e instanceof Text&&n.indexOf(e)===t}).sort(function(e,t){return 2&e.compareDocumentPosition(t)?1:-1})},findAndFilter:function(e){return this.filter(e).add(this.find(e))}})}),function(){var e=void 0,t={};function n(){for(var e=0;e<arguments.length;e++)for(var t in arguments[e])this[t]=arguments[e][t]}function r(e,t){e.childAt=e.childAt||{};for(var n=t.start;n<t.end;n+=1)e.childAt[n]=t}function a(e,t,n,r){return!(e.canFollow&&!(e.canFollow.indexOf(n&&n.type)>-1)||e.cannotFollow&&(-1!==e.cannotFollow.indexOf(n&&n.type)||e.cannotFollow.indexOf("text")>-1&&r)||e.peek&&e.peek.toLowerCase()!==t.slice(0,e.peek.length).toLowerCase())}function i(e){for(var n=e.innerText,r=[],i=0,s=i,c=n.length,u=null;i<c;){for(var l=n.slice(i),p=(r.length?r[0]:e).innerMode,f=0,d=p.length;f<d;f+=1){var h=t[p[f]];if(a(h,l,u,s<i)&&h.pattern.test(l)){var y=h.pattern.exec(l),m=h.fn(y),g=!1,v=0;if(m.matches){for(;v<r.length;v+=1){var b=r[v].type;if(b in m.matches){g=!0;break}0===b.indexOf("verbatim")&&(b="verbatimOpener"),m.cannotCross&&m.cannotCross.indexOf(b)>-1&&(v=r.length-1)}if(v>=r.length&&!m.isFront)continue}s<i&&e.addChild({type:"text",text:n.slice(s,i),innerMode:p}),s=i+=(u=e.addChild(m)).text.length,g&&(o(e,u,r[v]),r=r.slice(v+1)),u.isFrontToken()&&r.unshift(u);break}}f===d&&(i+=1,null===u&&(u={type:"text"}))}for(s<i&&e.addChild({type:"text",text:n.slice(s,i),innerMode:(r.length?r[0]:e).innerMode});r.length>0;)r.shift().demote();return e}function o(e,t,n){var a=e.children.indexOf(t),i=e.children.indexOf(n);t.children=e.children.splice(i+1,a-(i+1)),t.children.forEach(function(e){r(t,e)}),t.type=t.matches[n.type],t.innerText="";for(var o=0,s=t.children.length;o<s;o++)t.innerText+=t.children[o].text;t.start=n.start,t.text=n.text+t.innerText+t.text,Object.keys(n).forEach(function(e){Object.hasOwnProperty.call(t,e)||(t[e]=n[e])}),t.isFront&&(t.isFront=!1),e.children.splice(i,1),r(e,t)}n.prototype={constructor:n,addChild:function(e){var t=this.lastChildEnd(),a=new n({start:t,end:e.text&&t+e.text.length,children:[]},e);return a.innerText&&i(a),this.children.push(a),r(this,a),a},firstChild:function(){return this.children&&this.children[0]||null},lastChild:function(){return this.children&&this.children[this.children.length-1]||null},lastChildEnd:function(){var e=this.lastChild();return e?e.end:this.start+Math.max(0,this.text.indexOf(this.innerText))},tokenAt:function(e){if(e<this.start||e>=this.end)return null;if(this.childAt)return this.childAt[e]&&this.childAt[e].tokenAt(e)||this;if(this.children.length)for(var t=0;t<this.children.length;t+=1){var n=this.children[t].tokenAt(e);if(n)return n}return this},pathAt:function(e){if(e<this.start||e>=this.end)return[];if(this.childAt)return(this.childAt[e]&&this.childAt[e].pathAt(e)||[]).concat(this);var t=[];if(this.children.length)for(var n=0;n<this.children.length;n+=1){var r=this.children[n].pathAt(e);if(r.length){t.concat(r);break}}return t.concat(this)},nearestTokenAt:function(e){return e<this.start||e>=this.end?null:this.children?this.children.reduce(function(t,n){return t||(e>=n.start&&e<n.end?n:null)},null):this},everyLeaf:function(e){return this.children&&0!==this.children.length?this.children.reduce(function(t,n){return t&&n.everyLeaf(e)},!0):!!e(this)},isWhitespace:function(){return this.everyLeaf(function(e){return"whitespace"===e.type||!e.text.trim()})},isFrontToken:function(){return this.isFront},isBackToken:function(){return"matches"in this},demote:function(){this.type="text"},error:function(e){this.type="error",this.message=e},toString:function(){var e=this.type+"("+this.start+"\u2192"+this.end+")";return this.children&&this.children.length>0&&(e+="["+this.children+"]"),e}},e={lex:function(t,r){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"start";return i(new n({type:"root",start:r||0,end:t.length,text:t,innerText:t,children:[],childAt:{},innerMode:e.modes[a]}))},rules:t,modes:{}},"object"===("undefined"==typeof module?"undefined":_typeof(module))?module.exports=e:"function"==typeof define&&define.amd?define("lexer",[],function(){return e}):this&&this.loaded?(this.modules||(this.modules={}),this.modules.Lexer=e):this.TwineLexer=e}.call(eval("this")||("undefined"!=typeof global?global:window)),function(){var e;function t(e){return e&&"object"===(void 0===e?"undefined":_typeof(e))?(Object.keys(e).forEach(function(n){e[n]=t(e[n])}),e):(e+"").replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}function n(e){return function(){return"("+e+Array.apply(0,arguments).join("|")+")"}}var r=n("?:"),a=n("?!"),i=n("?="),o="[ \\f\\t\\v\\u00a0\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]*",s=o.replace("*","+"),c="\\b",u="[\\w\\-\\u00c0-\\u00de\\u00df-\\u00ff\\u0150\\u0170\\u0151\\u0171\\uD800-\\uDFFF]",l=u.replace("\\-",""),p=r("\\n","$"),f=o+"(\\*+)"+s,d=o+"((?:0\\.)+)"+s,h=o+"-{3,}"+o+p,y=o+"(==+>|<=+|=+><=+|<==+>)"+o+p,m=o+"(=+\\|+|\\|+=+|=+\\|+=+|\\|=+\\|)"+o+p,g={opener:"\\[\\[(?!\\[)",text:"("+function(){return"[^"+Array.apply(0,arguments).map(t).join("")+"]*"}("]")+")",rightSeparator:r("\\->","\\|"),leftSeparator:"<\\-",closer:"\\]\\]",legacySeparator:"\\|",legacyText:"("+r("[^\\|\\]]","\\]"+a("\\]"))+"+)"},v=l+"*"+l.replace("\\w","a-zA-Z")+l+"*",b="\\$("+v+")",w="_("+v+")",T="'s"+s+"("+v+")",S="("+v+")"+s+"of"+c+a("it\\b"),x="'s"+s,k=r("it","time","visits?","exits?","pos")+c,O="its"+s+"("+v+")",j="its"+s,A="("+v+")"+s+"of"+s+"it"+c,C="of\\b"+s+"it"+c,E={opener:"\\(",name:"("+r("\\$","_")+"?"+u+"+):"+a("\\/"),closer:"\\)"},_=r("=<","=>","[gl]te?\\b","n?eq\\b","isnot\\b","are\\b","x\\b","isa\\b","or"+s+"a"+c),N="[a-zA-Z][\\w\\-]*",P="(?:\"[^\"]*\"|'[^']*'|[^'\">])*?",I="\\|("+u+"+)(>|\\))",M="(<|\\()("+u+"+)\\|",D="\\b(\\d+(?:\\.\\d+)?(?:[eE][+\\-]?\\d+)?)"+a("m?s")+c;g.main=g.opener+r(g.text+g.rightSeparator,g.text.replace("*","*?")+g.leftSeparator)+g.text,e={upperLetter:"[A-Z\\u00c0-\\u00de\\u0150\\u0170]",lowerLetter:"[a-z0-9_\\-\\u00df-\\u00ff\\u0151\\u0171]",anyLetter:u,anyLetterStrict:l,whitespace:s.replace("[","[\\n\\r"),escapedLine:"\\\\\\n\\\\?|\\n\\\\",br:"\\n(?!\\\\)",commentFront:"\x3c!--",commentBack:"--\x3e",tag:"<\\/?"+N+P+">",tagPeek:"<",scriptStyleTag:"<("+r("script","style","textarea")+")"+P+">[^]*?<\\/\\1>",scriptStyleTagOpener:"<",url:"("+r("https?","mailto","javascript","ftp","data")+":\\/\\/[^\\s<]+[^<.,:;\"')\\]\\s])",bullet:"\\*",hr:h,heading:"[ \\f\\t\\v\\u00a0\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]*(#{1,6})[ \\f\\t\\v\\u00a0\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]*",align:y,column:m,bulleted:f,numbered:d,strikeOpener:t("~~"),italicOpener:t("//"),boldOpener:t("''"),supOpener:t("^^"),strongFront:t("**"),strongBack:t("**"),emFront:t("*"),emBack:t("*"),verbatimOpener:"`+",collapsedFront:"{",collapsedBack:"}",hookAppendedFront:"\\["+a("=+"),hookPrependedFront:I+"\\["+a("=+"),hookFront:"\\["+a("=+"),hookBack:"\\]"+a(M),hookAppendedBack:"\\]"+M,unclosedHook:"\\[=+",unclosedHookPrepended:I+"\\[=+",unclosedCollapsed:"\\{=+",passageLink:g.main+g.closer,passageLinkPeek:"[[",legacyLink:g.opener+g.legacyText+g.legacySeparator+g.legacyText+g.closer,legacyLinkPeek:"[[",simpleLink:g.opener+g.legacyText+g.closer,simpleLinkPeek:"[[",macroFront:E.opener+i(E.name),macroFrontPeek:"(",macroName:E.name,groupingFront:"\\("+a(E.name),groupingFrontPeek:"(",groupingBack:"\\)",twine1Macro:"<<[^>\\s]+\\s*(?:\\\\.|'(?:[^'\\\\]*\\\\.)*[^'\\\\]*'|\"(?:[^\"\\\\]*\\\\.)*[^\"\\\\]*\"|[^'\"\\\\>]|>(?!>))*>>",twine1MacroPeek:"<<",validPropertyName:v,property:T,propertyPeek:"'s",belongingProperty:S,possessiveOperator:x,belongingOperator:"of\\b",belongingOperatorPeek:"of",itsOperator:j,itsOperatorPeek:"its",belongingItOperator:C,belongingItOperatorPeek:"of",variable:b,variablePeek:"$",tempVariable:w,tempVariablePeek:"_",hookName:"\\?("+u+"+)\\b",hookNamePeek:"?",cssTime:"(\\d+\\.?\\d*|\\d*\\.?\\d+)(m?s)\\b",colour:r(r("Red","Orange","Yellow","Lime","Green","Cyan","Aqua","Blue","Navy","Purple","Fuchsia","Magenta","White","Gray","Grey","Black","Transparent"),"#[\\dA-Fa-f]{3}(?:[\\dA-Fa-f]{3})?"),datatype:r("alnum","alphanumeric","any(?:case)?","array","bool(?:ean)?","changer","colou?r","const","command","dm","data"+r("map","type","set"),"ds","digit","gradient","empty","even","int"+a("o")+"(?:eger)?","lambda","lowercase","macro","linebreak","num(?:ber)?","odd","str(?:ing)?","uppercase","whitespace")+c,number:D,boolean:r("true","false")+c,identifier:k,itsProperty:O,itsPropertyPeek:"its",belongingItProperty:A,escapedStringChar:"\\\\[^\\n]",singleStringOpener:"'",doubleStringOpener:'"',singleStringCloser:"'",doubleStringCloser:'"',is:"is"+a(s+"not"+c,s+"an?"+c,s+"in"+c,s+"<",s+">")+c,isNot:"is"+s+"not"+a(s+r("an?","in")+c)+c,isA:"is"+s+"an?"+c,isNotA:"is"+s+"not"+s+"an?"+c,matches:"matches\\b",doesNotMatch:"does"+s+"not"+s+"match"+c,and:"and\\b",or:"or\\b",not:"not\\b",inequality:"((?:is(?:"+s+"not)?"+o+")*)("+r("<(?!=)","<=",">(?!=)",">=")+")",isIn:"is"+s+"in"+c,contains:"contains\\b",doesNotContain:"does"+s+"not"+s+"contain"+c,isNotIn:"is"+s+"not"+s+"in"+c,addition:t("+")+a("="),subtraction:t("-")+a("=","type"),multiplication:t("*")+a("="),division:r("/","%")+a("="),comma:",",spread:"\\.\\.\\."+a("\\."),to:r("to\\b","="),into:"into\\b",making:"making\\b",where:"where\\b",when:"when\\b",via:"via\\b",each:"each\\b",augmentedAssign:r("\\+","\\-","\\*","\\/","%")+"=",bind:"2?bind\\b",typeSignature:t("-type")+c,incorrectOperator:_},"object"===("undefined"==typeof module?"undefined":_typeof(module))?module.exports=e:"function"==typeof define&&define.amd?define("patterns",[],function(){return e}):this&&this.loaded?(this.modules||(this.modules={}),this.modules.Patterns=e):this.Patterns=e}.call(eval("this")||("undefined"!=typeof global?global:window)),function(){var e=void 0;Object.assign=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};var t=Object.keys,n=Object.assign;function r(r){return Object.freeze({lex:function(r){function a(e){return e=e||"innerText",function(t){var n=t.reduceRight(function(e,t,n){return e||(n?t:"")},""),r={};return r[e]=n,r}}function i(e,t){var n={};return n[e]=t,function(){return{isFront:!0,matches:n,cannotCross:["verbatimOpener"]}}}var o=Object.bind(0,null);function s(e,t){return Object.keys(t).forEach(function(n){var r=t[n].fn;t[n].fn=function(t){var a=r(t);return a.text||(a.text=t[0]),a.type||(a.type=n),a.innerMode||(a.innerMode=e),a}}),t}var c=[],u=[],l=[],p=s(c,{hr:{fn:o},bulleted:{fn:function(e){return{depth:e[1].length}}},numbered:{fn:function(e){return{depth:e[1].length/2}}},heading:{fn:function(e){return{depth:e[1].length}}},align:{fn:function(e){var t=void 0,n=e[1],r=n.indexOf("><");return~r?25===(t=Math.round(r/(n.length-2)*50))&&(t="center"):"<"===n[0]&&">"===n.slice(-1)?t="justify":n.indexOf(">")>-1?t="right":n.indexOf("<")>-1&&(t="left"),{align:t}}},column:{fn:function(e){var t=void 0,n=e[1],r=n.indexOf("|");return r&&r<n.length-1?t="center":"|"===n[0]&&"|"===n.slice(-1)?t="none":r===n.length-1?t="right":r||(t="left"),{column:t,width:/\|+/.exec(n)[0].length,marginLeft:/^=*/.exec(n)[0].length,marginRight:/=*$/.exec(n)[0].length}}}});t(p).forEach(function(e){p[e].canFollow=[null,"br","hr","bulleted","numbered","heading","align","column","escapedLine"],p[e].cannotFollow=["text"]});var f=s(c,{twine1Macro:{fn:function(){return{type:"error",message:"Harlowe macros use a different syntax to Twine 1, SugarCube, and Yarn macros."}}},emBack:{fn:function(){return{matches:{emFront:"em"},cannotCross:["verbatimOpener"]}}},strongBack:{fn:function(){return{matches:{strongFront:"strong"},cannotCross:["verbatimOpener"]}}},strongFront:{fn:function(){return{isFront:!0}}},emFront:{fn:function(){return{isFront:!0}}},boldOpener:{fn:i("boldOpener","bold")},italicOpener:{fn:i("italicOpener","italic")},strikeOpener:{fn:i("strikeOpener","strike")},supOpener:{fn:i("supOpener","sup")},commentFront:{fn:function(){return{isFront:!0}}},commentBack:{fn:function(){return{matches:{commentFront:"comment"}}}},scriptStyleTag:{fn:o},tag:{fn:o},url:{fn:o},hookPrependedFront:{fn:function(e){return{name:e[1],hidden:")"===e[2],isFront:!0,tagPosition:"prepended"}}},hookFront:{fn:function(){return{isFront:!0}}},hookBack:{fn:function(){return{matches:{hookPrependedFront:"hook",hookFront:"hook"},cannotCross:["verbatimOpener"]}}},hookAppendedBack:{fn:function(e){return{name:e[2],hidden:"("===e[1],tagPosition:"appended",matches:{hookFront:"hook"},cannotCross:["verbatimOpener"]}}},unclosedHook:{fn:o},unclosedHookPrepended:{fn:function(e){return{type:"unclosedHook",name:e[1],hidden:")"===e[2]}}},verbatimOpener:{fn:function(e){var t=e[0].length,n={};return n["verbatim"+t]="verbatim",{type:"verbatim"+t,isFront:!0,matches:n}}},unclosedCollapsed:{fn:o},collapsedFront:{fn:function(){return{isFront:!0}}},collapsedBack:{fn:function(){return{matches:{collapsedFront:"collapsed"},cannotCross:["verbatimOpener"]}}},escapedLine:{fn:o},legacyLink:{fn:function(e){return{type:"twineLink",innerText:e[1],passage:e[2],innerMode:c}}},br:{fn:o}}),d=n(s(u,{macroFront:{fn:function(e){return{isFront:!0,name:e[1]}}},groupingBack:{fn:function(){return{matches:{groupingFront:"grouping",macroFront:"macro"},cannotCross:["singleStringOpener","doubleStringOpener"]}}},passageLink:{fn:function(e){var t=e[1]||"",n=e[2]||"",r=e[3]||"";return{type:"twineLink",innerText:n?r:t,passage:t?r:n,innerMode:c}}},simpleLink:{fn:function(e){return{type:"twineLink",innerText:e[1]||"",passage:e[1]||"",innerMode:c}}},variable:{cannotFollow:["macroFront"],fn:a("name")},tempVariable:{cannotFollow:["macroFront"],fn:a("name")}}),{hookFront:f.hookFront,hookBack:f.hookBack}),h=s(u,n({macroName:{canFollow:["macroFront"],fn:a("name")},groupingFront:{fn:function(){return{isFront:!0}}},property:{fn:a("name"),canFollow:["variable","hookName","property","tempVariable","colour","itsProperty","belongingItProperty","macro","grouping","string","datatype","hook","boolean","number"]},possessiveOperator:{fn:o},itsProperty:{cannotFollow:["text"],fn:a("name")},itsOperator:{cannotFollow:["text"],fn:o},belongingItProperty:{cannotFollow:["text"],fn:a("name")},belongingItOperator:{cannotFollow:["text"],fn:o},belongingProperty:{cannotFollow:["text"],fn:a("name")},belongingOperator:{cannotFollow:["text"],fn:o},escapedStringChar:{fn:function(){return{type:"text"}}},singleStringOpener:{fn:function(){return{isFront:!0,matches:{singleStringOpener:"string"},innerMode:l}}},doubleStringOpener:{fn:function(){return{isFront:!0,matches:{doubleStringOpener:"string"},innerMode:l}}},hookName:{fn:a("name")},cssTime:{fn:function(e){return{value:+e[1]*("s"===e[2].toLowerCase()?1e3:1)}}},datatype:{cannotFollow:["text"],fn:function(e){return{name:e[0].toLowerCase()}}},colour:{cannotFollow:["text"],fn:function(e){var t=e[0].toLowerCase(),n={red:"e61919",orange:"e68019",yellow:"e5e619",lime:"80e619",green:"19e619",cyan:"19e5e6",aqua:"19e5e6",blue:"197fe6",navy:"1919e6",purple:"7f19e6",fuchsia:"e619e5",magenta:"e619e5",white:"fff",black:"000",gray:"888",grey:"888"};return{colour:Object.hasOwnProperty.call(n,t)?"#"+n[t]:t}}},number:{fn:function(e){return{value:parseFloat(e[0])}}},inequality:{fn:function(e){return{operator:e[2],negate:e[1].indexOf("not")>-1}}},augmentedAssign:{fn:function(e){return{operator:e[0][0]}}},identifier:{fn:a("name"),cannotFollow:["text"]},whitespace:{fn:o,cannotFollow:"text"},incorrectOperator:{fn:function(e){var t={"=>":">=","=<":"<=",gte:">=",lte:"<=",gt:">",lt:"<",eq:"is",isnot:"is not",neq:"is not",isa:"is a",are:"is",x:"*","or a":"or"}[e[0].toLowerCase().replace(/\s+/g," ")];return{type:"error",message:"Please say "+(t?"'"+t+"'":"something else")+" instead of '"+e[0]+"'.",explanation:"In the interests of readability, I want certain operators to be in a specific form."}},cannotFollow:"text"}},["boolean","is","to","into","where","when","via","making","each","and","or","not","isNot","contains","doesNotContain","isIn","isA","isNotA","isNotIn","matches","doesNotMatch","bind"].reduce(function(e,t){return e[t]={fn:o,cannotFollow:["text"]},e},{}),["comma","spread","typeSignature","addition","subtraction","multiplication","division"].reduce(function(e,t){return e[t]={fn:o},e},{}))),y=s(l,{singleStringCloser:h.singleStringOpener,doubleStringCloser:h.doubleStringOpener,escapedStringChar:h.escapedStringChar});c.push.apply(c,_toConsumableArray(t(p)).concat(_toConsumableArray(t(d)),_toConsumableArray(t(f)))),u.push.apply(u,_toConsumableArray(t(d)).concat(_toConsumableArray(t(h)))),l.push.apply(l,_toConsumableArray(t(y)));var m=n({},p,f,d,h,y);t(m).forEach(function(t){var n=e[t];m[t].pattern="string"!=typeof n?n:RegExp("^(?:"+n+")","i"),e[t+"Peek"]&&(m[t].peek=e[t+"Peek"])}),n(r.rules,m);var g=r.modes;return g.start=g.markup=c,g.macro=u,g.string=l,r}(r).lex,Patterns:e})}"object"===("undefined"==typeof module?"undefined":_typeof(module))?(e=require("./patterns"),module.exports=r(require("./lexer"))):"function"==typeof define&&define.amd?define("markup",["lexer","patterns"],function(t,n){return e=n,r(t)}):this&&this.loaded&&this.modules?(e=this.modules.Patterns,this.modules.Markup=r(this.modules.Lexer)):(e=this.Patterns,this.TwineMarkup=r(this.TwineLexer))}.call(eval("this")||("undefined"!=typeof global?global:window)),define("utils/polyfills",[],function(){var e=Array.prototype;"function"!=typeof e.includes&&(e.includes=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(!Number.isNaN(t)&&Number.isFinite(n)&&void 0!==t)return e.indexOf.call(this,t,n)>-1;var r=Object(this),a=parseInt(r.length);if(a<=0)return!1;for(var i=n>=0?n:Math.max(0,a+n);i<a;){if(Object.is(t,r[i]))return!0;i+=1}return!1}),!window.Symbol&&(window.Symbol={iterator:"_es6-shim iterator_"})}),define("utils",["jquery","markup","utils/polyfills"],function(e){var t=String.fromCharCode,n="audio,blockquote,canvas,div,h1,h2,h3,h4,h5,hr,ol,p,pre,table,ul,video,tw-align,tw-story,tw-passage,tw-sidebar,tw-columns,tw-column,tw-meter".split(","),r="a,b,i,em,strong,sup,sub,abbr,acronym,s,strike,del,big,small,script,img,button,input,tw-link,tw-broken-link,tw-verbatim,tw-collapsed,tw-error,tw-colour,tw-icon".split(","),a=["audio"],i=[function(e){return t(e)!==t(e).toLowerCase()},function(e){return t(e)!==t(e).toUpperCase()},function(e){return t(e).toLowerCase()!==t(e).toUpperCase()}].map(function(e){return"["+Array.from(Array(57343)).map(function(e,t){return t}).filter(e).map(function(e,n,r){return e===r[n-1]+1&&e===r[n+1]-1?"-":t(e)}).join("").replace(/\-+/g,"-")+"]"}),o=_slicedToArray(i,3),s=o[0],c=o[1],u=o[2];function l(e){return"instant"===e?0:800}var p=void 0,f=[],d={},h=0,y={},m=0,g={},v=void 0;function b(e,t,n,r,a){var i=null,o=0,s=t+n;function c(n){1&e[0].compareDocumentPosition(document)&&(s=0),i&&(s-=n-i,o+=n-i),i=n,r>0&&h+m>0&&(s-=r,e.css("animation-delay",(v.cssTimeUnit(e.css("animation-delay"))||0)-r+"ms")),s<=0?a(o):requestAnimationFrame(c),s<=t&&e.css("visibility","")}s?requestAnimationFrame(c):c()}return e(document.documentElement).on("keydown keyup mousedown mouseup",function(e){var t=e.key,n=e.button,r=e.type.includes("down"),a=t?d:y,i=t&&v.insensitiveName(t)||n;a[i]&&!r?t?h=Math.max(h-1,0):m=Math.max(m-1,0):!a[i]&&r&&(t?h+=1:m+=1),a[i]=r}).on("mousemove",function(e){var t=e.pageX,n=e.pageY;g.x=t,g.y=n}),v={lockProperty:function(e,t,n){var r=Object.create({configurable:0,writable:0});return n&&(r.value=n),Object.defineProperty(e,t,r),e},permutations:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];for(var r=t.length,a=[[].concat(t)],i=Array(r).fill(0),o=1,s=void 0,c=void 0;o<r;)i[o]<o?(s=o%2&&i[o],c=t[o],t[o]=t[s],t[s]=c,++i[o],o=1,a.push([].concat(t))):(i[o]=0,++o);return a},shuffled:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.reduce(function(e,t,n){var r=Math.random()*(n+1)|0;return r===n?e.push(t):(e.push(e[r]),e[r]=t),e},[])},matMul:function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];var i;if(r.length>0)return(i=v).matMul.apply(i,[v.matMul(e,t)].concat(r));if(!t)return e;for(var o=[],s=0;s<e.length;s++){o[s]=[];for(var c=0;c<t[0].length;c++){for(var u=0,l=0;l<e[0].length;l++)u+=e[s][l]*t[l][c];o[s][c]=u}}return o},cssTimeUnit:function(e){return"ms"===(e=e.toLowerCase()).slice(-2)?+e.slice(0,-2)||0:"s"===e.slice(-1)&&1e3*+e.slice(0,-1)||0},nth:function(e){var t=(+e+"").slice(-1);return e+("1"===t?"st":"2"===t?"nd":"3"===t?"rd":"th")},plural:function(e,t){return e+" "+t+(e>1?"s":"")},andList:function(e){return 1===e.length?e[0]:e.slice(0,-1).join(", ")+" and "+e[e.length-1]},realWhitespace:"[ \\n\\r\\f\\t\\v\\u00a0\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]",anyRealLetter:"[\\dA-Za-z\\u00c0-\\u00de\\u00df-\\u00ff\\u0150\\u0170\\u0151\\u0171\\uD800-\\uDFFF]",anyUppercase:s,anyLowercase:c,anyCasedLetter:u,anyNewline:"(?:\\n|\\r|\\r\\n)",unescape:function(e){return e.replace(/&(?:amp|lt|gt|quot|nbsp|zwnj|#39|#96);/g,function(e){return{"&":"&",">":">","<":"<",""":'"',"'":"'"," ":String.fromCharCode(160),"‌":String.fromCharCode(8204)}[e]})},escape:function(e){return e.replace(/[&><"']/g,function(e){return{"&":"&",">":">","<":"<",'"':""","'":"'"}[e]})},insensitiveName:function(e){return(e+"").toLowerCase().replace(/-|_/g,"")},allKeysDown:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.every(function(e){return d[e]})},someKeysDown:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.some(function(e){return d[e]})},buttonsDown:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.every(function(e){return y[e]})},anyInputDown:function(){return h+m>0},mouseCoords:g,parentColours:function(e){for(var t={colour:null,backgroundColour:null},n=/^\w+a\(.+?,\s*0\s*\)$|^transparent$/;e.length&&e[0]!==document;e=e.parent()){if(!t.backgroundColour){var r=e.css("background-color");r.match(n)||(t.backgroundColour=r)}if(!t.colour){var a=e.css("color");a.match(n)||(t.colour=a)}if(t.colour&&t.backgroundColour)return t}return{colour:"#fff",backgroundColour:"#000"}},childrenProbablyInline:function(e){var t=[];return[].every.call(e.findAndFilter("*"),function(e){return!!(e.hidden||/none|inline/.test(e.style.display)||/display: (none|inline)/.test(e.getAttribute("style")))||!n.includes(e.tagName.toLowerCase())&&!/display: (?!none|inline|inherit|unset)/.test(e.getAttribute("style"))&&(!!r.includes(e.tagName.toLowerCase())||(t.push(e),!0))})&&t.every(function(e){return window.getComputedStyle(e).display.includes("inline")})},transitionReplace:function(t,n,r){var a=t.closest("tw-hook");a.length>0&&(t=a);var i=e("<tw-transition-container>").css("position","relative");i.insertBefore(t.first());var o=void 0;n&&(o=e("<tw-transition-container>").appendTo(i),n.appendTo(o));var s=e("<tw-transition-container>").css("position","absolute").prependTo(i);t.detach().appendTo(s),v.transitionOut(s,r),n&&v.transitionIn(o,r,function(){o.unwrap().children().first().unwrap()})},transitionOut:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:void 0;0!==e.length&&(n=n||l(t),(e.length>1||!v.childrenProbablyInline(e)||!["tw-hook","tw-passage","tw-expression"].includes(e.tag()))&&(e=e.wrapAll("<tw-transition-container>").parent()),o&&e.css("transform-origin",o),e.attr("data-t8n",t).addClass("transition-out").css({"animation-duration":n+"ms","animation-delay":r-i+"ms"}),requestAnimationFrame(function(){v.childrenProbablyInline(e)?e.css("display","inline"):e.parent().is("tw-backdrop,tw-story")||e[0].setAttribute("style",e[0].getAttribute("style")+"display:block !important;width:100%")}),b(e,n,r-i,a,function(){e.remove()}))},transitionIn:function(t,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,c=arguments.length>6&&void 0!==arguments[6]?arguments[6]:void 0;if(0!==t.length){r=r||l(n);var u=t.length>1||!v.childrenProbablyInline(t)||!["tw-hook","tw-passage","tw-expression"].includes(t.tag());u&&(t=t.wrapAll("<tw-transition-container>").parent()),c&&t.css("transform-origin",c),t.attr("data-t8n",n).addClass("transition-in").css(Object.assign({"animation-duration":r+"ms","animation-delay":i-s+"ms"},i-s?{visibility:"hidden"}:{})),requestAnimationFrame(function(){v.childrenProbablyInline(t)?t.css("display","inline"):t.parent().is("tw-backdrop,tw-story")||t[0].setAttribute("style",t[0].getAttribute("style")+"display:block !important;width:100%")}),b(t,r,i-s,o,function(n){var r=0===t.filter(a.join(",")).length;u&&r?(t.find("tw-transition-container").each(function(t,r){(r=e(r)).css("animation-delay",v.cssTimeUnit(r.css("animation-delay")||0)-n+"ms")}),t.contents().unwrap()):t.removeClass("transition-in").removeAttr("data-t8n")})}},debounce:function(e){var t=void 0,n=void 0,r=0,a=function a(){Date.now()-r>300?(t=0,e.apply(void 0,_toConsumableArray(n))):t=requestAnimationFrame(a)};return function(){r=Date.now(),n=arguments,t&&cancelAnimationFrame(t),t=requestAnimationFrame(a)}},impossible:function(e,t){window.console&&console.error(e+"(): "+t)},assertMustHave:function(e,t){if(window.console)for(var n=0;n<t.length;n+=1)t[n]in e||console.error("Assertion failed: object lacks property "+t[n])},assertOnlyHas:function(e,t){if(window.console)for(var n in e)t.includes(n)||console.error("Assertion failed: object had unexpected property '"+n+"'!")},onStartup:function(e){f?f.push(e):e()},get storyElement(){return p}},e(function(){p=e("tw-story"),f.forEach(function(e){return e()}),f=null}),Object.freeze(v)}),define("utils/naturalsort",[],function(){return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:String;return function(n,r){var a,i,o,s,c=/(^-?[0-9]+(\.?[0-9]*)[df]?e?[0-9]?$|^0x[0-9a-f]+$|[0-9]+)/gi,u=/(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,l=/^0x[0-9a-f]+$/i,p=/^0/,f=t(n).trim(),d=t(r).trim(),h=f.replace(c,"\0$1\0").replace(/\0$/,"").replace(/^\0/,"").split("\0"),y=d.replace(c,"\0$1\0").replace(/\0$/,"").replace(/^\0/,"").split("\0"),m=parseInt(f.match(l))||1!==h.length&&f.match(u)&&Date.parse(f),g=parseInt(d.match(l))||m&&d.match(u)&&Date.parse(d)||null;if(e&&window.Intl&&window.Intl.Collator&&(o=window.Intl.Collator(e)),g){if(m<g)return-1;if(m>g)return 1}for(var v=0,b=Math.max(h.length,y.length);v<b;v++){if(a=!(h[v]||"").match(p)&&parseFloat(h[v])||h[v]||0,i=!(y[v]||"").match(p)&&parseFloat(y[v])||y[v]||0,isNaN(a)!==isNaN(i))return isNaN(a)?1:-1;if((void 0===a?"undefined":_typeof(a))!==(void 0===i?"undefined":_typeof(i)))a+="",i+="";else if("string"==typeof a&&o&&0!==(s=o.compare(a,i)))return s;if(a<i)return-1;if(a>i)return 1}return 0}}}),define("twinescript/compiler",["utils"],function(e){var t=e.impossible,n=JSON.stringify;function r(e,t){for(var n=0;n<e.length;n+=1)if(t.includes(e[n].type))return n;return NaN}function a(e,t){var n=[];return e.length?([["error"],["comma"],["to","into"],["where","when","via"],["making","each"],["typeSignature"],["augmentedAssign"],["and","or"],["is","isNot"],["contains","doesNotContain","isIn","isNotIn"],["isA","isNotA","matches","doesNotMatch"],["inequality"],["addition","subtraction"],["multiplication","division"],{rightAssociative:["spread","bind"]},{rightAssociative:["not","positive","negative"]},{rightAssociative:["belongingProperty","belongingItProperty","belongingOperator","belongingItOperator"]},["property","itsProperty","possessiveOperator","itsOperator"],["twineLink"],["macro"],["grouping"]]["most"===t?"reverse":"valueOf"]().some(function(t){var a=void 0;if(a=t.rightAssociative?r(e,t.rightAssociative):function(e,t){return e.length-1-r.apply(void 0,[[].concat(_toConsumableArray(e)).reverse(),t])}(e,t),!Number.isNaN(a)&&a>-1)return n=[e[a],a],!0}),n):n}function i(e){if("inequality"===e.type){var t=e.operator;return e.negate?{">":"<=","<":">=",">=":"<","<=":">"}[t]:t}return e.type}function o(e){var t=i(e);return{">":"<","<":">",">=":"<=","<=":">=",contains:"isIn",doesNotContain:"isNotIn",isIn:"contains",isA:"typifies",typifies:"isA",isNotA:"untypifies",untypifies:"isNotA"}[t]||t}var s=["inequality","is","isNot","isIn","contains","doesNotContain","isNotIn","isA","typifies","isNotA","untypifies","matches","doesNotMatch"];return function e(r){var c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},u=c.isVarRef,l=c.isTypedVar,p=c.whitespaceError,f=c.elidedComparison,d=c.testNeedsRight,h="Operations.Identifiers.it";if(!(r=[].concat(r)).length)return u&&p?"TwineError.create('operation',"+n(p)+")":"";var y=void 0;if(1===r.length){var m=(y=r[0]).type;if("identifier"===m)return u?"VarRef.create(Operations.Identifiers,"+n(y.text)+")":"Operations.Identifiers."+y.text.toLowerCase()+" ";if("variable"===m||"tempVariable"===m){var g="VarRef.create("+("tempVariable"===m?"section.stackTop.tempV":"State.v")+"ariables,"+n(y.name)+")"+(u||l?"":".get()");return l?"TypedVar.create(Datatype.create('any'),"+g+")":g}if("hookName"===m)return"HookSet.create({type:'name', data:'"+y.name+"'}) ";if("string"===m)return y.text.replace(/\n/g,"\\n");if("hook"===m)return"CodeHook.create("+n(y.text.slice(1,-1))+","+n(y.html||"")+")";if("colour"===m)return"Colour.create("+n(y.colour)+")";if("datatype"===m)return"Datatype.create("+n(y.name)+")";if("blockedValue"===m)return"section.blockedValue()";if("root"===m)return e(y.children);if("whitespace"===m&&u&&p)return"TwineError.create('operation',"+n(p)+")"}var v,b=a(r,"least"),w=_slicedToArray(b,2);y=w[0],v=w[1];var T=(y||{}).type,S=r.slice(0,v),x=r.slice(v+1),k=function(e,t){return{isVarRef:!0,isTypedVar:t,whitespaceError:"I need usable data to be on the "+e+' of "'+y.text+'".'}},O="must",j="mustn't",A="may",C=void 0,E=void 0,_="",N="",P="",I=O,M=O,D=!1;if(T)if("comma"===T)N=",",M=A;else if("spread"===T)_="Operations.makeSpreader(",P=")",I=A;else if("bind"===T)_="VarBind.create(",E=e(x,k("right")),P=(y.text.startsWith("2")?",'two way'":"")+")",I=j;else if("to"===T)_="Operations.makeAssignmentRequest(Operations.setIt(",E=e(x,k("right")),N="),",C=e(S,k("left",!0)),P=",'to')";else if("into"===T)_="Operations.makeAssignmentRequest(",E=e(S,k("left")),N=",Operations.setIt(",C=e(x,k("right",!0)),P="),'into')";else if("typeSignature"===T)_="TypedVar.create(",N=",",E=e(x,k("right")),P=")",l=!1;else if("where"===T||"when"===T||"via"===T)_="Lambda.create(",C=e(S,{isVarRef:!0,whitespaceError:null}).trim()||"undefined",N=","+n(y.type)+",",E=n(e(x)),P=","+n(r.map(function(e){return e.text}).join(""))+")";else if("making"===T||"each"===T)"each"===T?(_="Lambda.create(",E=e(x,k("right")).trim(),P=",'where','true',"+n(r.map(function(e){return e.text}).join(""))+")",I=A):(_="Lambda.create(",C=e(S,{isVarRef:!0,whitespaceError:null}).trim()||"undefined",N=","+n(y.type)+",",E=e(x,k("right")).trim(),P=","+n(r.map(function(e){return e.text}).join(""))+")");else if("augmentedAssign"===T)_="Operations.makeAssignmentRequest(",C=e(S,k("left")),N=",",E="Operations["+n(y.operator)+"]("+e(S)+","+e(x)+")",P=","+n(y.operator)+")";else if("and"===T||"or"===T){var R=function e(t){var n=a(t,"least"),r=_slicedToArray(n,2),i=r[0],o=r[1];if(i)return s.includes(i.type)?i:["and","or"].includes(i.type)?e(t.slice(0,o))||e(t.slice(o+1)):void 0},L=R(S),q=R(x),F="TwineError.create('operation', 'This use of \"is not\" and \""+T+"\" is grammatically ambiguous','Maybe try rewriting this as \"__ is not __ "+T+" __ is not __\"') ";if(_="Operations."+T+"(",N=",",P=")",f===y.type)_=P="",C=e(S,{isVarRef:u,elidedComparison:f}).trim(),E=e(x,{elidedComparison:f}).trim();else if(L&&!q){var V=L,H=n(i(V));if("isNot"===V.type||"isNotA"===V.type||"untypifies"===V.type)return F;E="Operations.elidedComparisonOperator("+n(y.type)+","+H+","+e(x,{elidedComparison:T})+")"}else if(!L&&q){var z=q,$=r.indexOf(z),B=n(o(z));if("isNot"===z.type||"isNotA"===z.type||"untypifies"===z.type)return F;E="Operations.elidedComparisonOperator("+n(y.type)+","+B+","+e(S,{elidedComparison:T})+")",C=e([].concat(_toConsumableArray(r.slice($+1)),[Object.assign(Object.create(z),_defineProperty({},"inequality"===z.type?"operator":"type",o(z)))],_toConsumableArray(r.slice(v+1,$))))}u=!1}else if(s.includes(T))D=!0,u=!1,_="Operations["+n(i(y))+"](",N=",",P=")";else if("addition"===T||"subtraction"===T){if(!e(S,{testNeedsRight:!0}).trim())return y.type={addition:"positive",subtraction:"negative"}[T],e(r,{isVarRef:u,whitespaceError:p,elidedComparison:f,testNeedsRight:d});u=!1,_="Operations["+n(y.text)+"](",N=",",P=")"}else if("multiplication"===T||"division"===T)u=!1,_="Operations["+n(y.text)+"](",N=",",P=")";else if("positive"===T||"negative"===T)u=!1,C="negative"===T?"-1":"1",_="Operations['*'](",N=",",P=")";else if("not"===T)_="Operations.not(",E=e(x),P=")",I=A;else if("belongingProperty"===T)_="VarRef.create(",E=e(x,k("right")),P=","+n(y.name)+")"+(u?"":".get()"),I=A;else if("belongingOperator"===T||"belongingItOperator"===T)C=y.type.includes("It")?h:e(x,k("right")),E=e(S),_="VarRef.create(",N=",{computed:true,value:",P="})"+(u?"":".get()");else if("property"===T)_="VarRef.create(",C=e(S,k("left")),P=","+n(y.name)+")"+(u?"":".get()"),M=A;else if("itsProperty"===T||"belongingItProperty"===T)_="VarRef.create(",C=h,P=","+n(y.name)+")"+(u?"":".get()"),I=M=A;else if("possessiveOperator"===T||"itsOperator"===T)y.type.includes("it")&&(C=h,I=A),_="VarRef.create(",N=",{computed:true,value:",P="})"+(u?"":".get()"),l=!1;else if("twineLink"===T)N='Macros.run("link-goto", [section,'+n(y.innerText)+","+n(y.passage)+"])",I=M=j;else if("macro"===T){var W=y.children[0],U="$"===W.text[0]||"_"===W.text[0];"macroName"===W.type||U||t("Compiler.compile","macro token had no macroName child token"),N="Macros.run"+(U?"Custom":"")+"("+(U?"VarRef.create("+("_"===W.text[0]?"section.stackTop.tempV":"State.v")+"ariables,"+n(W.text.trim().slice(1,-1))+").get()":'"'+y.name+'"')+", [section,"+e(y.children.slice(1),{isTypedVar:l})+"])",I=M=j}else if("grouping"===T)N="("+e(y.children,{isVarRef:u})+")",I=M=j;else if("error"===T)return"TwineError.create('syntax',"+n(y.message)+(y.explanation?", "+n(y.explanation):"")+")";return v>-1?(C=(C||e(S,{isVarRef:u,isTypedVar:l})).trim(),E=(E||e(x)).trim(),D&&!C&&(C=h),I===O&&!C||M===O&&!E?d&&M&&!E?"":"TwineError.create('operation','I need usable code to be "+(I===O?"left ":"")+(I===O&&M===O?"and ":"")+(M===O?"right ":"")+'of "'+y.text+"\"')":I===j&&C||M===j&&E?"TwineError.create('operation','There can't be code to the "+(I===j?"left ":"")+(I===j&&M===j?"or ":"")+(M===j?"right ":"")+'of "'+y.text+"\"')":_+C+N+E+P):1===r.length?(("value"in r[0]?r[0].value:r[0].text)+"").trim()||" ":r.reduce(function(t,n){return t+e(n,{isVarRef:u,isTypedVar:l})},"")}}),define("internaltypes/twineerror",["jquery","utils"],function(e,t){var n=t.impossible,r=t.escape;e(document.documentElement).on("click","tw-folddown",function(t){var n=t.target;for((n=e(n)).toggleClass("open");n&&!n.next().length;)n=n.parent();n&&n.next().toggle()});var a={syntax:"The markup seems to contain a mistake.",saving:"I tried to save or load the game, but I couldn't do it.",operation:"I tried to perform an operation on some data, but the data's type was incorrect.",macrocall:"I tried to use a macro, but its call wasn't written correctly.",datatype:"I tried to use a macro, but was given the wrong type of data to it.",custommacro:"I tried to use a custom macro, but its code hook had a mistake in it.",infinite:"I almost ended up doing the same thing over and over, forever.",property:"I tried to access a value in a string/array/datamap, but I couldn't find it.",unimplemented:"I currently don't have this particular feature. I'm sorry.",javascript:"This error message was reported by your browser's Javascript engine. I don't understand it either, but it usually means that an expression was badly written.",propagated:"Click the 'Open' button to see the code hook as it was executed.",user:"This is a custom error created by (error:). It usually means you used a custom macro incorrectly.",assertion:"This command exists to provide a helpful error if a certain important condition wasn't true."},i={error:[],warning:[]},o={create:function(e,t,r,i){return t&&"string"==typeof t||n("TwineError.create","has a bad message string"),r||e in a||n("TwineError.create","no error explanation given"),"user"!==e&&(t=t[0].toUpperCase()+t.slice(1)),Object.assign(Object.create(this),{type:e,message:t,explanation:r,source:void 0,innerDOM:i,appendTitleText:!1})},fromError:function(e){return o.create("javascript","\u2615 "+e.message)},containsError:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.reduce(function(e,t){return e||(t instanceof Error?t:o.isPrototypeOf(t)?t:!!Array.isArray(t)&&o.containsError.apply(o,_toConsumableArray(t)))},!1)},createWarning:function(e,t){return Object.assign(this.create(e,t),{warning:!0})},render:function(n){var o=this;n=n||this.source||"";var s=e("<tw-error class='"+("javascript"===this.type?"javascript ":"")+(this.warning?"warning":"error")+"' title='"+r(n)+"'>"+r(this.message+(this.appendTitleText?" "+n:""))+"</tw-error>"),c=e("<tw-error-explanation>").text(this.explanation||a[this.type]).hide(),u=e("<tw-folddown tabindex=0>");return this.innerDOM&&e("<tw-open-button>").on("click",function(){var n=e("<tw-backdrop><tw-dialog></tw-backdrop>");n.find("tw-dialog").prepend(o.innerDOM,e("<tw-link tabindex=0>OK</tw-link>").on("click",function(){o.innerDOM.detach(),n.remove()}).wrap("<tw-dialog-links>").parent()),t.storyElement.prepend(n)}).appendTo(s),s.append(u).append(c),s.data("TwineError",this),i.error.forEach(function(e){return e(o,n)}),s},on:function(e,t){if(e in i)return"function"!=typeof t||i[e].includes(t)||i[e].push(t),o;n("TwineError.on","invalid event name")}};return o}),define("renderer",["utils","markup","twinescript/compiler","internaltypes/twineerror"],function(e,t,n,r){var a=e.escape,i=e.impossible,o=e.insensitiveName,s=void 0;function c(e,t){return"<"+t+">"+e+"</"+t+">"}function u(e,t){var n=s.render(e.children);return n&&c(n,t)}var l,p,f="text-align: center; max-width:50%; ",d=RegExp(t.Patterns.macroFront+t.Patterns.macroName,"ig");return s={options:{debug:!1,blockerMacros:[],metadataMacros:[]},preprocess:function(e){var a=s.options.metadataMacros;if(!(e.match(d)||[]).some(function(e){return a.some(function(t){return o(e.slice(1,-1))===t})}))return{};var i=!1,c={};return t.lex(e).children.forEach(function e(t){if("macro"===t.type){if(a.some(function(e){return t.name===e})){if(r.isPrototypeOf(c[t.name]))return;if(i)return void(c[t.name]=r.create("syntax","The ("+t.name+":) macro can't appear after non-metadata macros."));if(c[t.name])return void(c[t.name]=r.create("syntax","There is more than one ("+t.name+":) macro."));c[t.name]={code:n(t),source:t.text}}else i=!0;t.children.forEach(function e(t){"macro"===t.type&&a.some(function(e){return t.name===e})?c[t.name]=r.create("syntax","The ("+t.name+":) macro can't be inside another macro."):t.children.forEach(e)})}else t.children.forEach(e)}),c},exec:(l=void 0,p=void 0,function(e){return"string"!=typeof e?(i("Renderer.exec","source was not a string, but "+(void 0===e?"undefined":_typeof(e))),""):e===l?p:(l=e,p=s.render(t.lex(e).children))}),render:function e(i){var l="",p=[];if(!i)return l;for(var d=i.length,h=0;h<d;h+=1){var y=i[h];switch(y.type){case"error":l+=r.create("syntax",y.message,y.explanation).render(a(y.text))[0].outerHTML;break;case"numbered":case"bulleted":var m="numbered"===y.type?"ol":"ul";l+="<"+m+">";for(var g=1;h<d&&i[h];){if("br"===i[h].type){if(l+="</li>",!i[h+1]||i[h+1].type!==y.type)break}else i[h].type===y.type?(l+=("<"+m+">").repeat(Math.max(0,i[h].depth-g)),l+=("</"+m+">").repeat(Math.max(0,g-i[h].depth)),l+="<li>",g=i[h].depth):l+=e([i[h]]);h+=1}l+=("</"+m+">").repeat(g+1);break;case"align":for(;y&&"align"===y.type;){var v=y.align,b=h+=1;if("left"===v){h-=1;break}for(;h<d&&i[h]&&"align"!==i[h].type;)h+=1;var w=e(i.slice(b,h)),T="";switch(v){case"center":T+=f+"margin-left: auto; margin-right: auto;";break;case"justify":case"right":T+="text-align: "+v+";";break;default:+v&&(T+=f+"margin-left: "+v+"%;")}l+="<tw-align "+(T?'style="'+T+'"':"")+">"+w+"</tw-align>\n",y=i[h]}break;case"column":for(var S=[];y&&"column"===y.type;){var x=y.column,k=h+=1;if("none"===x){h-=1;break}for(;h<d&&i[h]&&"column"!==i[h].type;)h+=1;S.push({text:y.text,type:x,body:e(i.slice(k,h)),width:y.width,marginLeft:y.marginLeft,marginRight:y.marginRight}),y=i[h]}S.length&&function(){var e=S.reduce(function(e,t){return e+t.width},0);l+="<tw-columns>"+S.map(function(t){return"<tw-column type="+t.type+' style="width:'+t.width/e*100+"%; margin-left: "+t.marginLeft+"em; margin-right: "+t.marginRight+'em;">'+t.body+"</tw-column>\n"}).join("")+"</tw-columns>"}();break;case"heading":for(l+="<h"+y.depth+">";++h<d&&i[h];){if("br"===i[h].type){l+="</h"+y.depth+">";break}l+=e([i[h]])}break;case"br":if(!p.length||/td|th/.test(p[0])){l+="<br>";for(var O=i[h+1];O&&("br"===O.type||"tag"===O.type&&/^<br\b/i.test(O.text));)l+="<tw-consecutive-br"+("tag"===O.type?" data-raw":"")+"></tw-consecutive-br>",O=i[(h+=1)+1]}break;case"hr":l+="<hr>";break;case"escapedLine":case"comment":break;case"inlineUrl":l+='<a class="link" href="'+a(y.text)+'">'+y.text+"</a>";break;case"scriptStyleTag":case"tag":var j=y.text.toLowerCase();/^<\/?(?:table|thead|tbody|tr|tfoot|td|th)\b/.test(j)&&p[y.text.startsWith("</")?"shift":"unshift"](j),l+=y.text.startsWith("</")?y.text:y.text.replace(/>$/," data-raw>");break;case"sub":case"sup":case"strong":case"em":l+=u(y,y.type);break;case"strike":l+=u(y,"s");break;case"bold":l+=u(y,"b");break;case"italic":l+=u(y,"i");break;case"twineLink":var A=_slicedToArray(t.lex("(link-goto:"+JSON.stringify(y.innerText)+","+JSON.stringify(y.passage)+")").children,1)[0];l+='<tw-expression type="macro" name="link-goto"'+(s.options.debug?' title="'+a(y.text)+'"':"")+' js="'+a(n(A))+'"></tw-expression>';break;case"hook":l+="<tw-hook "+(y.hidden?"hidden ":"")+(y.name?'name="'+o(y.name)+'"':"")+(s.options.debug&&y.name?' title="Hook: ?'+y.name+'"':"")+' source="'+a(y.innerText)+'"></tw-hook>';break;case"unclosedHook":return l+="<tw-hook "+(y.hidden?"hidden ":"")+(y.name?'name="'+o(y.name)+'"':"")+'source="'+a(i.slice(h+1,d).map(function(e){return e.text}).join(""))+'"></tw-hook>';case"verbatim":l+=c(a(y.innerText).replace(/\n/g,"<br>"),"tw-verbatim");break;case"collapsed":l+=u(y,"tw-collapsed");break;case"unclosedCollapsed":return l+="<tw-collapsed>"+e(i.slice(h+1,d))+"</tw-collapsed>";case"variable":case"tempVariable":case"macro":var C=function(){var t=[],i=[];if("macro"===y.type&&function n(r){"string"!==r.type&&"hook"!==r.type&&r.children.every(n);var a=r.firstChild();if("macro"===r.type&&a&&"macroName"===a.type&&s.options.blockerMacros.includes(o(a.text.slice(0,-1))))t.push(r);else if("hook"===r.type){if(!r.everyLeaf(function(e){return"error"!==e.type||(i.push(e),!1)}))return!1;r.html=e(r.children)}return!0}(y),i.length)return{v:r.create("syntax","This code hook's markup contained "+i.length+" error"+(i.length?"s":"")+":<br>\u2014"+i.map(function(e){return e.message}).join("<br>\u2014")).render(a(y.text))[0].outerHTML};var c=t.length&&t.map(function(e){var t=n(e);return e.type="blockedValue",t});l+='<tw-expression type="'+y.type+'" name="'+a(y.name||y.text)+'"'+(s.options.debug?' title="'+a(y.text)+'"':"")+(t.length?' blockers="'+a(JSON.stringify(c))+'"':"")+' js="'+a(n(y))+'"></tw-expression>',t.forEach(function(e){return e.type="macro"})}();if("object"===(void 0===C?"undefined":_typeof(C)))return C.v;break;default:l+=y.children&&y.children.length?e(y.children):y.text}}return l}},Object.freeze(s)}),define("passages",["jquery","utils/naturalsort","utils","markup","renderer","internaltypes/twineerror"],function(e,t,n,r,a,i){var o=n.unescape,s=n.onStartup,c=Object.assign;function u(e){var t=o(e.html()),n=a.preprocess(t);return c(new Map([["source",t],["tags",(e.attr("tags")||"").split(/\s/)||[]],["name",e.attr("name")]]),{TwineScript_TypeName:"a passage datamap",TwineScript_ObjectName:"a passage datamap",metadata:n})}var l=c(new Map,{TwineScript_ObjectName:"the Passages datamap",getTagged:function(e){var n=t("en",function(e){return e.get("name")}),r=[];return this.forEach(function(t){var n=t instanceof Map&&t.get("tags");Array.isArray(n)&&n.includes(e)&&r.push(t)}),r.sort(n)},getStorylets:function(e,n){var r=n?n.filter(e,[].concat(_toConsumableArray(l.values()))):[].concat(_toConsumableArray(l.values()));if(i.containsError(r))return r;var a=[],o=-1/0,s=r.reduce(function(t,n){if(t)return t;var r=n.get("storylet");if(r){var s=e.speculate(r,n.get("name"),"a (storylet:) macro");if(i.containsError(s))return s.message="There's an error in the storylet passage \""+n.get("name")+'":\n'+s.message,s.source=r.TwineScript_ToSource(),s;if(s){var c=n.get("exclusivity");o=Math.max(o,"number"==typeof c?c:0),a.push(n)}}},void 0);if(s)return s;var c=t("en");return a.filter(function(e){var t=e.get("exclusivity");return(t="number"==typeof t?t:0)===o}).sort(function(e,t){var n=e.get("urgency"),r=t.get("urgency");return(n="number"==typeof n?n:0)!==(r="number"==typeof r?r:0)?r-n:c(e.get("name"),t.get("name"))})},allStorylets:function(){return[].concat(_toConsumableArray(l.values())).filter(function(e){return e.get("storylet")})},loadMetadata:function(e){var t=[];return l.forEach(function(n){n.metadata&&Object.keys(n.metadata).forEach(function(r){if(i.containsError(n.metadata[r]))t.push(n.metadata[r]);else{var a=n.metadata[r],o=a.code,s=a.source,c=e.speculate(o,n.get("name"),"a ("+r+":) macro"),u='In "'+n.get("name")+'":\n';if(i.containsError(c))return c.message=u+c.message,c.source=s,void t.push(c);c instanceof Map?c.forEach(function(e,t){return l(t,e)}):l(r,c)}function l(e,r){n.has(e)?t.push(i.create("syntax","This passage's datamap already has a '"+JSON.stringify(e)+"' data name.")):n.set(e,r)}}),n.metadata=void 0}),t},hasValid:function(e){var t=this.get(e);return t&&t instanceof Map&&t.has("source")},create:u});return s(function(){Array.from(e("tw-storydata > tw-passagedata")).forEach(function(t){t=e(t),l.set(t.attr("name"),new u(t))})}),l}),define("utils/operationutils",["utils/naturalsort","utils","internaltypes/twineerror","patterns"],function(e,t,n,r){var a=t.impossible,i=t.nth,o=t.insensitiveName,s=t.permutations,c=r.validPropertyName,u="object",l="boolean",p="string",f="number",d="function";function h(e){return!!e&&((void 0===e?"undefined":_typeof(e))===u||(void 0===e?"undefined":_typeof(e))===d)}function y(e){return e&&Object.getPrototypeOf(e)===Object.prototype}function m(e){return Array.isArray(e)?"array":e instanceof Map?"datamap":e instanceof Set?"dataset":(void 0===e?"undefined":_typeof(e))===p?p:e&&(void 0===e?"undefined":_typeof(e))===u?u:""}function g(e){if(!h(e))return e;if(_typeof(e.TwineScript_Clone)===d)return e.TwineScript_Clone();if(Array.isArray(e))return[].concat(_toConsumableArray(e));if(e instanceof Map)return new Map(e);if(e instanceof Set)return new Set(e);if((void 0===e?"undefined":_typeof(e))===d)return Object.assign(e.bind(),e);switch(Object.getPrototypeOf(e)){case Object.prototype:return Object.assign({},e);case null:return Object.assign(Object.create(null),e)}return a("OperationUtils.clone","The value "+e+" cannot be cloned!"),e}function v(e){return h(e)&&"TwineScript_ObjectName"in e?e.TwineScript_ObjectName:Array.isArray(e)?"an array":e instanceof Map?"a datamap":e instanceof Set?"a dataset":(void 0===e?"undefined":_typeof(e))===l?"the boolean value '"+e+"'":(void 0===e?"undefined":_typeof(e))===p||(void 0===e?"undefined":_typeof(e))===f?"the "+(void 0===e?"undefined":_typeof(e))+" "+JSON.stringify(e):void 0===e?"an empty variable":"...whatever this is"}function b(e,t){return(void 0===e?"undefined":_typeof(e))!==u&&(void 0===t?"undefined":_typeof(t))!==u?e===t:Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every(function(e,n){return b(t[n],e)}):e instanceof Map&&t instanceof Map?b(Array.from(e.entries()).sort(),Array.from(t.entries()).sort()):e instanceof Set&&t instanceof Set?b([].concat(_toConsumableArray(e)),[].concat(_toConsumableArray(t))):e&&_typeof(e.TwineScript_is)===d?e.TwineScript_is(t):e&&(void 0===e?"undefined":_typeof(e))===u&&t&&(void 0===t?"undefined":_typeof(t))===u&&y(e)&&y(t)?b(Object.getOwnPropertyNames(e).map(function(t){return[t,e[t]]}),Object.getOwnPropertyNames(t).map(function(e){return[e,t[e]]})):Object.is(e,t)}return Object.freeze({isObject:h,isPureObject:y,singleTypeCheck:function e(t,n){if(null===n)return void 0===t;var r=void 0===t?"undefined":_typeof(t);if((void 0===n?"undefined":_typeof(n))!==d&&n.pattern){if("optional"===n.pattern||"zero or more"===n.pattern)return void 0===t||e(t,n.innerType);if("either"===n.pattern)return n.innerType.some(function(n){return e(t,n)});if("lambda"===n.pattern&&e(t,n.innerType))return n.clauses.includes("where")==="where"in t&&n.clauses.includes("making")==="making"in t&&n.clauses.includes("via")==="via"in t&&n.clauses.includes("with")==="with"in t;if("insensitive set"===n.pattern)return n.innerType.includes(o(t));if("range"===n.pattern)return n.range(t);if("wrapped"===n.pattern)return e(t,n.innerType)}return(void 0===n||void 0!==t)&&("anything"===n.TwineScript_TypeName&&void 0!==t&&!t.TwineScript_Unstorable||"everything"===n.TwineScript_TypeName&&void 0!==t||(n===String?r===p:n===Boolean?r===l:n===parseInt?r===f&&!Number.isNaN(t)&&!(t+"").includes("."):n===Number?r===f&&!Number.isNaN(t):n===Array?Array.isArray(t):n===Map||n===Set?t instanceof n:Object.isPrototypeOf.call(n,t)))},isValidDatamapName:function(e,t){if(e instanceof Map||a("isValidDatamapName","called with non-Map"),n.containsError(t))return t;if((void 0===t?"undefined":_typeof(t))!==p&&(void 0===t?"undefined":_typeof(t))!==f)return n.create("property","Only strings and numbers can be used as data names for "+v(e)+", not "+v(t)+".");var r=(void 0===t?"undefined":_typeof(t))===p?+t:""+t;return!(!Number.isNaN(r)&&e.has(r))||n.create("property","You mustn't use both "+v(t)+" and "+v(r)+" as data names in the same datamap.")},collectionType:m,isSequential:function(e){return(void 0===e?"undefined":_typeof(e))===p||Array.isArray(e)||_typeof(e.hooks)===d},unstorableValue:function e(t){return t&&t.TwineScript_Unstorable&&t||Array.isArray(t)&&t.find(e)||t instanceof Map&&[].concat(_toConsumableArray(t.values())).find(e)||t instanceof Set&&[].concat(_toConsumableArray(t)).find(e)},clone:g,objectName:v,typeName:function e(t){var n=y(t);if(n&&t.innerType)return t.typeName?t.typeName:"insensitive set"===t.pattern?"a case-insensitive string name":"either"===t.pattern?(Array.isArray(t.innerType)||a("typeName",'"either" pattern had non-array inner type'),t.innerType.map(e).join(" or ")):"optional"===t.pattern?"(optional) "+e(t.innerType):e(t.innerType);if(n&&t.pattern&&"range"===t.pattern){if(t.name)return t.name;var r=t.min,i=t.max;return"a"+(r>0?" positive":"")+(t.integer?" whole":"")+" number"+(0===r?" between 0 and "+i:i<1/0?" up to "+i:"")}return t===String||t===Number||t===Boolean?"a "+_typeof(t()):t===parseInt?"a whole number":t===Map?"a datamap":t===Set?"a dataset":t===Array?"an array":h(t)&&"TwineScript_TypeName"in t?t.TwineScript_TypeName:v(t)},typeID:function(e){var t=void 0===e?"undefined":_typeof(e);return[l,p,f].includes(t)?t:Array.isArray(e)?"array":e instanceof Map?"datamap":e instanceof Set?"dataset":e.TwineScript_TypeID||""},toSource:function t(r,o){var s=n.containsError(r);return s&&a("toSource","received a TwineError: "+s.message),_typeof(r.TwineScript_ToSource)===d?r.TwineScript_ToSource():y(r)&&"first"in r&&"last"in r?(r.first<0?(-1!==r.first?i(-r.first):"")+"last":i(r.first+1))+"to"+(r.last<0?(-1!==r.last?i(-r.last):"")+"last":i(r.last+1)):Array.isArray(r)?"(a:"+("property"===o?r.map(function(e){return e+(e>0)}):r).map(t)+")":r instanceof Map?"(dm:"+Array.from(r.entries()).sort(function(t,n){return[t[0],n[0]].sort(e("en"))[0]===t[0]?-1:1}).map(function(e){return e.map(t)})+")":r instanceof Set?"(ds:"+Array.from(r).sort(e("en")).map(t)+")":(void 0===r?"undefined":_typeof(r))===f&&"property"===o?r<0?-1===r?"last":i(-r)+"last":i(r+1):(void 0===r?"undefined":_typeof(r))===p&&"property"===o?RegExp(c).test(r)?r:"("+JSON.stringify(r)+")":JSON.stringify(r)},is:b,contains:function(e,t){if(e||""===e){if((void 0===e?"undefined":_typeof(e))===p)return(void 0===t?"undefined":_typeof(t))!==p?n.create("operation",v(e)+" can only contain strings, not "+v(t)+"."):e.includes(t);if(Array.isArray(e))return e.some(function(e){return b(e,t)});if(e instanceof Set||e instanceof Map)return Array.from(e.keys()).some(function(e){return b(e,t)})}return n.create("operation",v(e)+" cannot contain any values, let alone "+v(t))},isA:function(e,t){return _typeof(t.TwineScript_IsTypeOf)===d?t.TwineScript_IsTypeOf(e):n.create("operation",'"is a" should only be used to compare type names, not '+v(t)+".")},matches:function e(t,r){var a=!1;if(t&&_typeof(t.TwineScript_IsTypeOf)===d){var i=t.TwineScript_IsTypeOf(r);if(n.containsError(i))return i;a|=i}if(r&&_typeof(r.TwineScript_IsTypeOf)===d){var o=r.TwineScript_IsTypeOf(t);if(n.containsError(o))return o;a|=o}if(a)return!0;if(Array.isArray(t)&&Array.isArray(r)){for(var c=0,u=0,l=!0;l&&c<t.length&&u<r.length;){var p=t[c],f=r[u];if(p.rest){for(;u<r.length&&e(p,f);)f=r[u+=1];c+=1}else if(f.rest){for(;c<t.length&&e(p,f);)p=t[c+=1];u+=1}else e(p,f)?(c+=1,u+=1):l=!1}return l&&c>=t.length&&u>=r.length}return t instanceof Map&&r instanceof Map?e(Array.from(t.entries()).sort(),Array.from(r.entries()).sort()):t instanceof Set&&r instanceof Set?(t=[].concat(_toConsumableArray(t)),s.apply(void 0,_toConsumableArray(r)).some(function(n){return e(t,n)})):b(t,r)},subset:function e(t,r,a){if(!r||!a)return n.create("macrocall","The sub"+m(t)+" index value must not be "+(r&&a)+".");var i=(void 0===t?"undefined":_typeof(t))===p;if(i&&(t=Array.from(t)),r<0&&(r=Math.max(0,t.length+r+1)),a<0&&(a=Math.max(0,t.length+a+1)),r>a)return e(arguments[0],a,r);var o=t.slice(r>0?r-1:r,a).map(g);return i?o.join(""):o},range:function e(t,n){if(t>n)return e(n,t);var r=[t];for(n-=t;n-- >0;)r.push(++t);return r},printBuiltinValue:function e(t){return n.containsError(t)?t:t&&_typeof(t.TwineScript_Print)===d?t.TwineScript_Print():t instanceof Map?(t=Array.from(t.entries()),n.containsError(t)?t:t.reduce(function(t,n){var r=_slicedToArray(n,2),a=r[0],i=r[1];return t+"<tr><td>`"+e(a)+"`</td><td>`"+e(i)+"`</td></tr>"},"<table class=datamap>")+"</table>"):t instanceof Set?Array.from(t.values()).map(e)+"":Array.isArray(t)?t.map(e)+"":t&&_typeof(t.jquery)===p?t:h(t)?n.create("unimplemented","I don't know how to print this value yet."):t+""},unique:function(e,t,n){return!n.slice(t+1).some(function(t){return b(e,t)})}})}),define("utils/renderutils",["jquery","utils","renderer"],function(e,t,n){var r=RegExp(t.realWhitespace+"+"),a=RegExp(t.realWhitespace+"+","g");function i(e,t,n){var r=e.textContent.length;if(!(t>=r)){var a=void 0,i=[a=0===t?e:e.splitText(t)];return n&&(n<=0&&(n=r-n),n<r&&i.push(a.splitText(n-t))),i}}var o,s=(o=void 0,function(){if(void 0!==o)return o;var t=e("<p>");return t[0].normalize?(t.append(document.createTextNode("0-"),document.createTextNode("2"),document.createTextNode(""))[0].normalize(),o=1===t.contents().length):o=!1});var c="tw-collapsed,[collapsing=true]";var u=/^(=*)([^=]+)=*$/;return Object.freeze({dialog:function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=r.section,i=r.parent,o=void 0===i?t.storyElement:i,s=r.cd,c=r.message,u=void 0===c?"":c,l=r.defaultValue,p=r.buttons,f=void 0===p?[{name:"OK",confirm:!0,callback:Object}]:p,d=e("<tw-backdrop><tw-dialog>"+(l||""===l?"<input type=text style='display:block;margin:0 auto'></input>\n":"")+"<tw-dialog-links>"+(f.length?f.reduce(function(e,t,n){var r=t.name;return e+"<tw-link style='margin:0 "+(n===f.length-1?"0 0 0.5em":0===n?"0.5em 0 0":"0.5em")+"' tabindex=0>"+r+"</tw-link>"},""):"<tw-link tabindex=0>"+f[0].name+"</tw-link>")+"</tw-dialog-links></tw-dialog></tw-backdrop>"),h=d.find("tw-dialog");if(o.append(d),a){a.renderInto(u,h,Object.assign({},s,{append:"prepend"}));var y=s&&s.transition&&d.find("tw-dialog > tw-transition-container");y&&y.length&&y.appendTo(d).append(h.prepend(y.contents().detach()))}else h.prepend(n.exec(u));if(l){var m=d.find("input").last();m.val(l).on("keypress",function(e){13===e.which&&(d.remove(),f.filter(function(e){return e.confirm}).forEach(function(e){return e.callback()}))}),setTimeout(function(){return m.focus()},100)}return f.reverse().forEach(function(t,n){e(d.find("tw-link").get(-n-1)).on("click",function(){d.remove(),t.callback()})}),d},realWhitespace:r,textNodeToChars:function(e){var t=[].concat(_toConsumableArray(e.textContent));return 1===t.length?[e]:t.reduce(function(e,t){return t.match(r)&&e.length&&e[e.length-1].match(r)?e[e.length-1]+=t:e.push(t),e},[]).reduce(function(t,n){var r=e;return n.length<e.textContent.length&&(e=e.splitText(n.length)),t.concat(r)},[])},findTextInNodes:function e(t,n){var r=[],a="",o=[];if(!t.length||!n)return o;for(;t.length>0;){r.push(t[0]),a+=t[0].textContent,t.shift();var s=a.indexOf(n);if(s>-1){for(var c,u=a.length-(s+n.length);s>=r[0].textContent.length;)s-=r[0].textContent.length,r.shift();if(1===r.length){var l=i(r[0],s,s+n.length);o.push(l[0]),l[1]&&t.unshift(l[1]);break}o.push(i(r[0],s,r[0].length)[0]),(c=o).push.apply(c,_toConsumableArray(r.slice(1,-1)));var p=i(r[r.length-1],0,r[r.length-1].textContent.length-u);o.push(p[0]),p[1]&&t.unshift(p[1]),o=o.filter(Boolean);break}}return[o].concat(_toConsumableArray(e(t,n)))},collapse:function(t){function n(t){return 0===e(this||t).parentsUntil(c).filter("tw-verbatim, tw-expression, [collapsing=false]").length}var r=function e(t){var n=t[0],r=t.parent();if(!r.length||t.findAndFilter("tw-story").length)return null;var a=r.textNodes().filter(function(e){var t=e.compareDocumentPosition(n);return 4&t&&!(8&t)});return(a=a[a.length-1])||e(r)}(t);e(r).parents(c).length||(r=null);var i=function e(t){var n=t[0],r=t.parent();if(!r.length||t.findAndFilter("tw-story").length)return null;var a=r.textNodes().filter(function(e){var t=e.compareDocumentPosition(n);return 2&t&&!(8&t)})[0];return a||e(r)}(t);e(i).parents(c).length||(i=null);var o="br:not([data-raw]),tw-consecutive-br:not([data-raw])";t.find(o).filter(n).replaceWith(document.createTextNode(" "));var u=(t=e(t.get().map(function(t){return e(t).filter(n).is(o)?e(document.createTextNode(" ")).replaceAll(t)[0]:t}))).textNodes(),l=0;u.reduce(function(e,t){return n(t)?(t.textContent=t.textContent.replace(a," ")," "!==t.textContent[0]||e&&e.textContent&&!(e.textContent.search(/\s$/)>-1)||(t.textContent=t.textContent.slice(1)),t):document.createTextNode("A")},r),[].concat(_toConsumableArray(u)).reverse().every(function(e){return!!n(e)&&(e.textContent.match(/^\s*$/)?(l+=e.textContent.length,e.textContent="",!0):(e.textContent=e.textContent.replace(/\s+$/,function(e){return l+=e.length,""}),!1))}),l>0&&i&&(u[u.length-1].textContent+=" "),t[0]&&s()&&t[0].normalize()},geomStringRegExp:u,geomParse:function(e){var t=e.length,n=u.exec(e)||[],r=_slicedToArray(n,3),a=r[0],i=r[1],o=r[2];return a?{marginLeft:i.length/t*100,size:o.length/t*100}:{marginLeft:0,size:0}}})}),define("datatypes/hookset",["jquery","utils","utils/renderutils","utils/operationutils"],function(e,t,n,r){var a=n.textNodeToChars,i=n.realWhitespace,o=n.findTextInNodes,s=r.toSource;function c(n){var r=n.dom,s=e();this.next&&(s=s.add(c.call(this.next,n)));var u=function(t,n){if(Array.isArray(n))return n.reduce(function(e,n){return e.add(t.get(n))},e());if(n&&"object"===(void 0===n?"undefined":_typeof(n))&&"first"in n&&"last"in n){var r=n.first,o=n.last,s=t.length;r<0&&(r+=s),o<0&&(o+=s);for(var c=[t.get(r)];r!==o;)r+=Math.sign(o-r),c.push(t.get(r));return e(c)}if("string"==typeof n){if("chars"===n){var u=[],l=!0,p=!1,f=void 0;try{for(var d,h=t.textNodes(":not(tw-error, tw-error *)")[Symbol.iterator]();!(l=(d=h.next()).done);l=!0){var y=d.value,m=!0,g=!1,v=void 0;try{for(var b,w=a(y)[Symbol.iterator]();!(m=(b=w.next()).done);m=!0){var T=b.value;T.textContent.match(i)||u.push(T)}}catch(e){g=!0,v=e}finally{try{!m&&w.return&&w.return()}finally{if(g)throw v}}}}catch(e){p=!0,f=e}finally{try{!l&&h.return&&h.return()}finally{if(p)throw f}}return e(u)}if("links"===n)return t.findAndFilter("tw-link, .enchantment-link");if("visited"===n)return t.findAndFilter("tw-link.visited");if("lines"===n){var S=t.findAndFilter("br:not(tw-sidebar *),tw-consecutive-br:not(tw-sidebar *)").get(),x=[[]];return t.textNodes(":not(tw-error, tw-error *):not(tw-sidebar, tw-sidebar *)").forEach(function(e){S.length&&2&e.compareDocumentPosition(S[0])&&(S.shift(),x.push([])),x[x.length-1]=x[x.length-1].concat(e)}),x=x.map(function(t){return t.map(function(n){for(var r=n.parentNode;e(r).textNodes().every(function(e){return t.includes(e)})&&!t.every(function(t){return e(r).has(t).length});){r=(n=r).parentNode}return n})}),e(x.map(function(t){return e(t).wrapAll("<tw-pseudo-hook>").parent()[0]}))}}return e(t.get(n))};if(this.selector){var l=void 0;if("string"===this.selector.type)l=function(t,n){var r=o(n.textNodes(),t),a=e();return r.forEach(function(t){a=a.add(e(t).wrapAll("<tw-pseudo-hook>").parent())}),a}(this.selector.data,r);else{if("base"===this.selector.type)return s.add(u(c.call(this.selector.data,n),this.property));var p=function(e){var n='tw-hook[name="'+(e=t.insensitiveName(e).replace(/"/g,"""))+'"],tw-enchantment[name="'+e+'"]';return n+={page:", tw-story",passage:", tw-passage",sidebar:", tw-sidebar",link:", tw-link, .enchantment-link"}[e]||""}(this.selector.data);l=r.findAndFilter(p).add(r.parentsUntil(t.storyElement.parent())).filter(p)}s=this.property?s.add(u(l,this.property)):s.add(l)}return s}function u(e){if(!e)return[];var n=e.selector,r=e.property,a=e.next;return[JSON.stringify(["base"===n.type?u(n.data):t.insensitiveName(n.data),r])].concat(_toConsumableArray(u(a))).sort()}var l=Object.freeze({forEach:function(t,n){var r=c.call(this,t).each(function(t){n(e(this),t)});return t.dom.findAndFilter("tw-pseudo-hook").contents().unwrap(),r},hooks:function(e){return c.call(this,e)},get TwineScript_ObjectName(){return this.property||this.next?"a complex hook name":"?"+this.selector.data+" (a hook name)"},TwineScript_TypeID:"hookName",TwineScript_TypeName:"a hook name (like ?this)",TwineScript_Unstorable:!0,TwineScript_ToSource:function(){var e="",n=this.selector,r=n.type,a=n.data;return"name"===r?a.match(RegExp("^"+t.anyRealLetter+"+$"))?e+="?"+a:e+="(hooks-named:"+JSON.stringify(a)+")":"string"===r?e+=JSON.stringify(a):"base"===r&&(e+=a.TwineScript_ToSource()+"'s "+s(this.property,"property")),this.next&&(e+=" + "+this.next.TwineScript_ToSource()),e},"TwineScript_+":function(e){for(var t=this.TwineScript_Clone(),n=t;n.next;)n=n.next;return n.next=e,t},TwineScript_is:function(e){return u(this)+""==u(e)+""},TwineScript_GetProperty:function(e){return l.create({type:"base",data:this},e,void 0)},TwineScript_Properties:["chars","links","lines","visited"],TwineScript_Clone:function(){return l.create(this.selector,this.property,this.next)},create:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;return Object.assign(Object.create(this||l),{selector:Object.freeze(e),property:t,next:n})},from:function(e){return l.isPrototypeOf(e)||"string"==typeof e||t.impossible("HookSet.from() was given a non-HookSet non-string."),l.isPrototypeOf(e)?e:l.create({type:"string",data:e})}});return l}),define("internaltypes/changedescriptor",["jquery","utils","renderer","datatypes/hookset"],function(e,t,n,r){var a=t.assertOnlyHas,i=t.impossible,o=t.transitionIn,s=n.exec,c=Object.assign,u=Object.keys,l=Object.create,p=Object.seal,f=function(e){return e.split(/\n/g).reduce(function(e,t,n,r){var a=r.length;return e.concat(document.createTextNode(t),n!==a-1&&document.createElement(t.length?"br":"tw-consecutive-br"))},[])},d=void 0,h={source:"",appendSource:null,enabled:!0,enablers:null,verbatim:!1,target:null,append:"",newTargets:null,transition:"",transitionTime:null,transitionDeferred:!1,transitionDelay:0,transitionSkip:0,transitionOrigin:null,loopVars:null,styles:null,attr:null,data:null,innerEnchantments:null,section:null,timestamp:0,summary:function(){var e=this;return["source","appendSource","enabled","verbatim","target","append","newTargets","transition","transitionTime","transitionDeferred","transitionDelay","transitionSkip","transitionOrigin","innerEnchantments","enablers"].filter(function(t){return e.hasOwnProperty(t)}).concat([this.attr.length&&"attr",this.styles.length&&"styles",u(this.loopVars).length&&"loopVars",u(this.data).length&&"data"].filter(Boolean))},create:function(e,t){var n=c(l(this),{attr:[].concat(this.attr||[]),styles:[].concat(this.styles||[]),loopVars:this.loopVars||{},data:this.data||{}},e);return t&&t.run(n),n},update:function(){var e=this,t=this.section,n=this.newTargets,a=this.transition,i=this.transitionDeferred,s=this.append,c=this.target;"function"==typeof c&&(c=c());var l=function(t){if(Array.isArray(e.styles)&&e.styles.length>0){var n=e.styles.reduce(function(e,t){return u(t).forEach(function(n){var r=t[n];e[+("function"==typeof r)].push(_defineProperty({},n,r))}),e},[[],[]]),r=_slicedToArray(n,2),a=r[0],i=r[1];a.forEach(function(e){return t.css(e)}),setTimeout(function(){i.forEach(function(e){return t.css(e)})})}e.attr&&e.attr.forEach(function(e){return t.attr(e)}),e.data&&t.data(e.data)};if(Array.isArray(n)&&n.length&&(c=n.map(function(e){return e.target})),[].concat(c).forEach(function(e){r.isPrototypeOf(e)?e.forEach(t,l):l(e)}),a&&!i&&!s){var p=c,f=void 0;do{!(f=p.data("timestamp"))&&(p=p.parent())}while(!f&&p.length);o(c,a,this.transitionTime,this.transitionDelay,this.transitionSkip,f?Date.now()-f:0,this.transitionOrigin)}},render:function(){var t=this,n=this.source,u=this.transition,l=this.transitionTime,p=this.transitionDeferred,y=this.enabled,m=this.enablers,g=this.data,v=this.section,b=this.newTargets,w=this.innerEnchantments,T=this.appendSource,S=this.target,x=this.target,k=this.append;if("function"==typeof S&&(S=S()),a(this,d),!k)return i("ChangeDescriptor.render","This doesn't have an 'append' method chosen."),e();if(m&&m.length){var O=m[0],j=O.descriptor,A=O.changer,C=j.render();if(A){var E=h.create({section:v,target:C});A.run(E),E.update()}return C}if(!y||void 0!==S.attr("hidden"))return h.create({target:S,attr:this.attr.filter(function(e){return!("style"in e)}),data:c({},g,{originalSource:n,hidden:!0})}).update(),e();if(Array.isArray(b)&&b.length&&(S=b),!S)return i("ChangeDescriptor.render","ChangeDescriptor has source but not a target!"),e();var _=e();if([].concat(S).filter(function(e){return!e.jquery}).map(function(e){var t=k,n=void 0;if(e.target&&e.append){var r=e;t=r.append,n=r.before,e=e.target}return{elements:e.hooks(v,x).filter(function(){return!(n&&1&this.compareDocumentPosition(document)&&2&this.compareDocumentPosition(x[0]))}),append:t}},[]).forEach(function(n){var r=n.elements,a=n.append;r.each(function(n,r){r=e(r),_=_.add(t.create({target:r,append:a,newTargets:null}).render()),r.filter("tw-pseudo-hook").contents().unwrap()})}),_.length||Array.isArray(S)||r.isPrototypeOf(S))return _;if(!(k in S)){if("replace"!==k)return i("ChangeDescriptor.render","The target doesn't have a '"+k+"' method."),e();S[0]instanceof Text?k="replaceWith":(S.empty(),k="append")}return S[0]instanceof Text&&("append"===k&&(k="after"),"prepend"===k&&(k="before")),_=e(n&&(this.verbatim?f(n):e.parseHTML(s(n),document,!0))),Array.isArray(T)&&T.forEach(function(n){var r=n.source,a=n.append,i=e(t.verbatim?f(r):e.parseHTML(s(r),document,!0));_="append"===a?_.add(i):"prepend"===a?i.add(_):i}),S[k](_.length?_:void 0),S.data("timestamp",Date.now()),this.update(),u&&!p&&o("replace"===k?S:_,u,l,this.transitionDelay,this.transitionSkip,this.expedite,this.transitionOrigin),w&&w.map(function(e){return e(S)}).forEach(function(e){return v.addEnchantment(e)}),_}};return d=u(h),p(h)}),define("datatypes/changercommand",["utils","utils/operationutils","internaltypes/changedescriptor","internaltypes/twineerror"],function(e,t,n,r){var a=e.impossible,i=t.is,o=t.toSource,s={},c={TwineScript_TypeID:"changer",TwineScript_TypeName:"a changer",TwineScript_Print:function(){return"`[A ("+this.macroName+":) changer]`"},TwineScript_ToSource:function(){return"("+this.macroName+":"+("else"===this.name?"":this.params.map(o))+")"+(this.next?"+"+this.next.TwineScript_ToSource():"")},summary:function(){var e=n.create();return this.run(e),e.summary()},create:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return Array.isArray(t)||a("ChangerCommand.create","params was not an array but "+t),Object.assign(Object.create(this),{macroName:e,params:t,next:n,TwineScript_ObjectName:"a ("+e+":) changer"})},"TwineScript_+":function(e){for(var t=this.TwineScript_Clone(),n=t;n.next;)n=n.next;return n.next=e,t},TwineScript_is:function(e){if(c.isPrototypeOf(e))return this.macroName===e.macroName&&i(this.params,e.params)&&i(this.next,e.next)},TwineScript_Clone:function(){for(var e=this.create(this.macroName,this.params,this.next),t=e;t.next;)t=t.next=t.next.TwineScript_Clone();return e},run:function(e){var t=s[this.macroName].apply(s,[e].concat(_toConsumableArray(this.params)));if(r.containsError(t))return t;this.next&&this.next.run(e)},register:function(e,t){s[e]=t}};return Object.freeze(c)}),define("state",["utils","passages","datatypes/changercommand","internaltypes/twineerror","utils/operationutils","markup","twinescript/compiler"],function(e,t,n,r,a,i,o){var s=e.impossible,c=a.objectName,u=a.toSource,l=i.lex,p=Object.assign,f=Object.create,d=["localStorage","sessionStorage"].map(function(e){try{return!!window[e]&&(window[e].setItem("test","1"),window[e].removeItem("test"),!0)}catch(e){return!1}}),h=p(f(null),{TwineScript_ObjectName:"this story's variables",TwineScript_TypeDefs:f(null),TwineScript_VariableStore:!0,TwineScript_MockVisits:null}),y={passage:"",variables:h,create:function(e,t){var n=f(y);return n.passage=e||"",n.variables=p(f(this.variables),t),n}},m=[],g=-1,v=y.create(),b=void 0,w={forward:[],back:[],load:[]},T=void 0;function S(e){v=(m[g]||y).create(e),function(){if(T.hasSessionStorage){var e=T.serialise();if("string"==typeof e)try{sessionStorage.setItem("Saved Session",e)}catch(e){return}}}()}return T=p({get passage(){return v.passage},get variables(){return v.variables},get pastLength(){return g},get futureLength(){return m.length-1-g},get mockVisits(){return v.variables.TwineScript_MockVisits||[]},set mockVisits(e){v.variables.TwineScript_MockVisits=e},passageNameVisited:function(e){var n=0;if(!t.get(e))return 0;for(var r=0;r<=g;r++)n+=+(e===m[r].passage);return n},passageNameLastVisited:function(e){if(!t.get(e))return 1/0;if(e===v.passage)return 0;for(var n=g;n>0;n--)if(m[n].passage===e)return g-n+1;return 1/0},pastPassageNames:function(){for(var e=[],t=g-1;t>=0;t--)e.unshift(m[t].passage);return e},timelinePassageNames:function(){return m.map(function(e){return e.passage})},play:function(e){v||s("State.play","present is undefined!"),v.passage=e,m=m.slice(0,g+1).concat(v),g+=1,S(e),w.forward.forEach(function(t){return t(e)})},rewind:function(e){var t=1,n=!1;if(e)if("string"==typeof e){if((t=this.passageNameLastVisited(e))===1/0)return}else"number"==typeof e&&(t=e);for(;t>0&&g>0;t--)n=!0,g-=1;return n&&(S(m[g].passage),w.back.forEach(function(e){return e()})),n},fastForward:function(e){var t=1,n=!1;for("number"==typeof e&&(t=e);t>0&&m.length>0;t--)n=!0,g+=1;return n&&(S(m[g].passage),w.forward.forEach(function(e){return e(m[g].passage,"fastForward")})),n},on:function(e,t){if(e in w)return"function"!=typeof t||w[e].includes(t)||w[e].push(t),T;s("State.on","invalid event name")},reset:function(){m=[],g=-1,v=y.create(),b=void 0,w.load.forEach(function(e){return e(m)})},hasStorage:d[0],hasSessionStorage:d[1]},function(){function e(e,t){Object.keys(t).forEach(function(n){return!n.startsWith("TwineScript_")&&(t[n]=e.eval(o(l(t[n],0,"macro"))))})}return{serialise:function(){var e=m.slice(0,g+1),t=e.map(function(e){return Object.keys(e.variables).filter(function(t){return e.variables[t]&&(n=e.variables[t],a=void 0===n?"undefined":_typeof(n),!(!r.containsError(n)&&("function"==typeof n.TwineScript_ToSource||Array.isArray(n)||n instanceof Map||n instanceof Set||"string"===a||"number"===a||"boolean"===a||Object.isPrototypeOf.call(h.TwineScript_TypeDefs,n))));var n,a}).map(function(t){return[t,e.variables[t]]})});if(b||(b=t.reduce(function(e,t,n){var r=_slicedToArray(t,2),a=r[0],i=r[1];return e||a&&[a,i,n+1]},void 0)),b){var n=_slicedToArray(b,3),a=n[0],i=n[1],o=n[2];return r.create("saving","The variable $"+a+" holds "+c(i)+" (which is, or contains, a complex data value) on turn "+o+"; the game can no longer be saved.")}try{return JSON.stringify(e,function(e,t){return this.TwineScript_VariableStore?"TwineScript_TypeDefs"===e?Object.keys(t).reduce(function(e,n){return e[n]=u(t[n]),e},{}):u(t):t})}catch(e){return!1}},deserialise:function(n,r){var a,i=void 0,o=h,s="The save data is unintelligible.";try{i=JSON.parse(r)}catch(e){return Error(s)}return Array.isArray(i)?(a=(i=i.map(function(r){if("object"!==(void 0===r?"undefined":_typeof(r))||!r.hasOwnProperty("passage")||!r.hasOwnProperty("variables"))return Error(s);if(!t.hasValid(r.passage))return Error("The data refers to a passage named '"+r.passage+"', but it isn't in this story.");if(r.variables=p(f(o),r.variables),Object.hasOwnProperty.call(r.variables,"TwineScript_TypeDefs")){var a=r.variables.TwineScript_TypeDefs=p(f(o.TwineScript_TypeDefs),r.variables.TwineScript_TypeDefs);try{e(n,a)}catch(e){return Error(s)}}try{e(n,r.variables)}catch(e){return Error(s)}return o=r.variables,p(f(y),r)})).find(function(e){return e instanceof Error}))?a:(m=i,w.load.forEach(function(e){return e(m)}),g=m.length-1,S(m[g].passage),!0):Error(s)}}}()),Object.seal(y),Object.freeze(T)}),define("internaltypes/varref",["state","internaltypes/twineerror","utils","utils/operationutils","datatypes/hookset"],function(e,t,n,r,a){var i=n.impossible,o=n.andList,s=n.nth,c=r.is,u=r.isObject,l=r.toSource,p=r.isSequential,f=r.objectName,d=r.typeName,h=r.clone,y=r.isValidDatamapName,m=r.subset,g=r.collectionType,v=r.unstorableValue,b=r.matches,w=void 0,T=0,S={set:[],delete:[]};function x(e,n){var r=void 0;if(e instanceof Map&&(r=t.containsError(y(e,n))))return r;if(p(e)){var i=void 0,s="You can only access position strings/numbers ('4th', 'last', '2ndlast', (2), etc.) or slices ('1stTo2ndlast', '3rdTo5th'), ",c="You can't access the '0th' or '0thlast' position of "+f(e)+".";if("number"==typeof n){if(0===n)return t.create("property","You can't access elements at position 0 of "+f(e)+".","Only positive and negative position values exist.");n>0&&(n-=1)}else if("string"==typeof n&&(i=/^(\d+)(?:st|[nr]d|th)last$/i.exec(n))){if("0"===i[1])return t.create("property",c);n=-i[1]}else if("string"==typeof n&&(i=/^(\d+)(?:st|[nr]d|th)$/i.exec(n))){if("0"===i[1])return t.create("property",c);n=i[1]-1}else if("string"==typeof n&&(i=/^(?:(\d+)(?:st|[nr]d|th)(last)?|last)to(?:(\d+)(?:st|[nr]d|th)(last)?|last)$/i.exec(n))){var u=_slicedToArray(i,5),l=u[1],d=void 0===l?0:l,h=u[2],m=u[3],g=void 0===m?0:m;n={last:g=u[4]?-g:g-1,first:d=h?-d:d-1}}else if("last"===n)n=-1;else if("random"===n){if(!e.length)return t.create("property","I can't get a random value from "+f(e)+", because it's empty");n=Math.random()*Array.from(e).length|0}else{if(a.isPrototypeOf(e)&&!a.TwineScript_Properties.includes(n))return t.create("property",s+o(a.TwineScript_Properties.map(function(e){return"'"+e+"'"}))+" of "+f(e)+", not "+f(n)+".");if(!["length","any","all","start","end","random"].includes(n)&&!a.isPrototypeOf(e))return t.create("property",s+"'length', 'any', 'all', 'start', 'end', and 'random' of "+f(e)+", not "+f(n)+".")}}else if(e instanceof Set){if(!["length","any","all"].includes(n))return t.create("property","You can only get the 'length', 'any' and 'all' of "+f(e)+".","To check contained values, use the 'contains' operator.");"length"===n&&(n="size")}else{if(Array.isArray(e.TwineScript_Properties)&&!e.TwineScript_Properties.includes(n))return t.create("property","You can only get the "+o(e.TwineScript_Properties.map(function(e){return"'"+e+"'"}))+" of "+f(e)+", not "+f(n)+".");if("number"==typeof e||"boolean"==typeof e)return t.create("property","You can't get data values from "+f(e)+".")}return n}function k(e,t){return t-0<0&&Math.abs(t)<=e.length?e.length+(t-0):t}function O(e,t){if(void 0===e)return e;if(e instanceof Map||w.isPrototypeOf(e))return e.get(t);if(("any"===t||"all"===t||"start"===t||"end"===t)&&!e.TwineScript_VariableStoreName)return function(e,t){var n="'"+t+"' value"+("any"===t?"":"s")+" of ";return{determiner:t,array:[].concat(_toConsumableArray(e)),string:"string"==typeof e&&e,TwineScript_ObjectName:n+f(e),TwineScript_TypeName:n+"a data structure",TwineScript_Unstorable:!0,TwineScript_Print:function(){return"`["+this.TwineScript_TypeName+"]`"}}}(e,t);if("string"==typeof e&&(e=[].concat(_toConsumableArray(e))),p(e)&&Number.isFinite(t)&&(t=k(e,t)),e.TwineScript_GetProperty)return e.TwineScript_GetProperty(t);var n=e[t];return"function"!=typeof n?n:void 0}function j(e){if(e.computed){var t=e.value;return w.isPrototypeOf(t)&&(t=t.get()),"string"==typeof t?"('"+t+"')":"("+t+")"}return"number"==typeof e?s(e):"'"+e+"'"}function A(n,r,i){if(n.TwineScript_VariableStore){if(n.TwineScript_TypeDefs&&r in n.TwineScript_TypeDefs){var o=n.TwineScript_TypeDefs[r];if("const"===o.name){if(void 0!==n[r])return t.create("operation","I can't alter "+(n===e.variables?"$":"_")+r+" because it's been restricted to a constant value.","This variable can't be changed for the rest of the story.")}else if(!b(o,i))return t.create("operation","I can't set "+(n===e.variables?"$":"_")+r+" to "+d(i)+" because it's been restricted to "+l(o)+"-type data.","You can restrict a variable or data name by giving a typed variable to (set:) or (put:).")}return!0}return Array.isArray(r)?r.map(function(e){return A(n,e)}):n instanceof Map?"string"==typeof r||t.create("operation",f(n)+" can only have string data names, not "+f(r)+"."):p(n)?["length","random","any","all","start","end"].includes(r)?t.create("operation","I can't forcibly alter the '"+r+"' of "+f(n)+".","start"===r||"end"===r?"Alter the values at actual positions, like 1st or 2ndlast, rather than just the '"+r+"'.":void 0):+r==(0|r)||t.create("property",f(n)+" can only have position keys ('3rd', '1st', (5), etc.), not "+j(r)+"."):n.TwineScript_Identifiers&&r in n?t.create("keyword","I can't alter the value of the '"+r+"' identifier.","You can only alter data in variables and hooks, not fixed identifiers."):t.create("operation","I can't modify "+f(n),n instanceof Set?"You should use an (array:) if you need to modify the data inside this dataset.":a.isPrototypeOf(n)?"You should alter hooks indirectly using macros like (replace:) or (enchant:).":void 0)}function C(e,t,n){var r=t;e instanceof Map?e.set(t,n):(p(e)&&(t=k(e,t)),e.TwineScript_Set?e.TwineScript_Set(t):e[t]=n),S.set.forEach(function(t){return t(e,r,n)})}function E(e,t){var n=t;p(e)&&(t=k(e,t)),Array.isArray(e)&&/^(?:[1-9]\d*|0)$/.exec(t)?e.splice(t,1):e instanceof Map||e instanceof Set?e.delete(t):delete e[t],S.delete.forEach(function(t){return t(e,n)})}function _(e){return Object.assign(Object.create(w),{error:e})}function N(n,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:r;if(r&&"object"===(void 0===r?"undefined":_typeof(r))&&"last"in r&&"first"in r){if(a.isPrototypeOf(n))return n.TwineScript_GetProperty(r);var s=r.first,c=r.last;return m(n,s+(s>=0),c+(c>=0))}if(Array.isArray(r))return a.isPrototypeOf(n)?n.TwineScript_GetProperty(r):r.map(function(e){return N(n,e,e)})["string"==typeof n?"join":"valueOf"]("");var u=O(n,r);if(void 0===u){if(n===e.variables)return T;if(n.TwineScript_VariableStore)return t.create("property","There isn't a temp variable named _"+i+" in this place.","Temp variables only exist inside the same passage and hook in which they're (set:).");if(Array.isArray(n)&&"number"==typeof r)return t.create("property","This array of "+n.length+" elements doesn't have a "+j(i)+" element.",n.length?"It contains: "+o(n.map(f))+".":"The array is empty.");var l=Array.from("function"==typeof n.keys&&n.keys());return t.create("property","I can't find a "+j(i)+" data name in "+f(n),n instanceof Map&&l.length?"Its names include: "+o(l)+".":void 0)}return u}function P(e,n){var r=this,a=this.compiledPropertyChain.reduce(function(e,t){var n=void 0;return n=0===e.length?r.object:N.apply(void 0,_toConsumableArray(e[e.length-1])),e.push([n,t])&&e},[]).reduceRight(e,n);return t.containsError(a)?a:void 0}return w=Object.freeze({get:function(){return this.error?this.error:N(this.compiledPropertyChain.slice(0,-1).reduce(function(e,t){return N(e,t)},this.object),this.compiledPropertyChain.slice(-1)[0],this.propertyChain.slice(-1)[0])},set:function(n){var r=this;return this.error?this.error:!this.object||this.object.TwineScript_VariableStore||this.object.TwineScript_Identifiers?P.call(this,function(n,a,i){var o,s=_slicedToArray(a,2),c=s[0],l=s[1];if(o=t.containsError(n,c,l)||t.containsError(A(c,l,n)))return o;var d;if(d=v(n))return t.create("operation",f(n)+" can't be stored"+(g(n)?" because it holds "+f(d)+".":""));if(i>0)c=h(c);else if(c.TwineScript_VariableStore&&c!==e.variables){for(var y=c;y.TwineScript_VariableStore&&!y.hasOwnProperty(l);)y=Object.getPrototypeOf(y);y.TwineScript_VariableStore&&(c=y)}if("string"==typeof c){if("string"!=typeof n)return t.create("datatype","I can't put this non-string value, "+f(n)+", in a string.");if(n.length!==(Array.isArray(l)?l.length:1))return t.create("datatype",f(n)+"is not the right length to fit into this string location.");c=[].concat(_toConsumableArray(c));var m=[].concat(_toConsumableArray(n));[].concat(l).forEach(function(e){0+e<0&&(e=c.length+(0+e)),c=[].concat(_toConsumableArray(c.slice(0,e)),[m.shift()],_toConsumableArray(c.slice(e+1)))}),c=c.join("")}else u(c)&&(void 0!==n.TwineScript_KnownName&&(n.TwineScript_KnownName=r.TwineScript_ObjectName),Array.isArray(l)&&p(n)?("string"==typeof n&&(n=[].concat(_toConsumableArray(n))),l.map(function(e,t){return[e,n[t]]}).forEach(function(e){var t=_slicedToArray(e,2),n=t[0],r=t[1];return C(c,n,r)})):C(c,l,n));return c},n):t.create("macrocall","I can't (set:) "+f(this)+", if the "+(f(this.object).match(/ (.+$)/)||["","value"])[1]+" isn't stored in a variable.","Modifying data structures that aren't in variables won't change the game state at all.")},delete:function(){return this.error?this.error:P.call(this,function(e,n,r){var a,i=_slicedToArray(n,2),o=i[0],s=i[1];if(a=t.containsError(e,o,s)||t.containsError(A(o,s)))return a;if(r>0&&(o=h(o)),null===e){var c="string"==typeof o;c&&(o=[].concat(_toConsumableArray(o))),Array.isArray(s)?(p(o)&&(s=[].concat(_toConsumableArray(new Set(s)))).sort(function(e,t){return k(o,t)-k(o,e)}),s.forEach(function(e){return E(o,e)})):E(o,s),c&&(o=o.join(""))}else C(o,s,e);return o},null)},defineType:function(e){var n=this.object,r=this.compiledPropertyChain;if(!n||!n.TwineScript_VariableStore||1!==r.length||!n.TwineScript_TypeDefs)return t.create("unimplemented","I can only restrict the datatypes of variables, not data names or anything else.");var a=r[0];Object.hasOwnProperty.call(n,"TwineScript_TypeDefs")||(n.TwineScript_TypeDefs=Object.create(n.TwineScript_TypeDefs));var i=n.TwineScript_TypeDefs,o=i[a];if(o&&!c(o,e))return t.create("operation","I can't redefine the type of "+f(this)+" to "+(e.TwineScript_ObjectName||d(e))+", as it is already "+(o.TwineScript_ObjectName||d(o))+".");i[a]=e,"const"===e.name&&(n[a]=void 0)},matches:function(e,t){return this.object===e&&this.compiledPropertyChain[0]===t},getName:function(){return this.compiledPropertyChain[0]},create:function(e,n){var r=void 0;if(r=t.containsError(e))return _(r);n=[].concat(n),w.isPrototypeOf(e)&&(n=e.propertyChain.concat(n),e=e.object);var a=function(e,n){return n.reduce(function(r,a,i){var o;return a.computed&&(a=a.value),w.isPrototypeOf(a)&&(a=a.get()),a=Array.isArray(a)?a.map(function(t){return x(e,t)}):x(e,a),(o=t.containsError(r,a))?o:(i<n.length-1&&(e=N(e,a)),r.push(a),r)},[])}(e,n);return(r=t.containsError(a))?_(r):Object.assign(Object.create(w),{object:e,propertyChain:n,compiledPropertyChain:a})},TwineScript_ToSource:function(){var t=this,n=function(e,n){return!n&&t.object.TwineScript_VariableStore?e:j(e)};return(this.object===e.variables?"$":this.object.TwineScript_VariableStore?"_":f(this.object)+"'s ")+(1===this.propertyChain.length?n(this.propertyChain[0]):this.propertyChain.reduce(function(e,t,r){return e+"'s "+n(t,r)}))},get TwineScript_ObjectName(){return this.TwineScript_ToSource()+(this.object.TwineScript_VariableStoreName?" in "+this.object.TwineScript_VariableStoreName:"")},on:function(e,t){if(e in S)return"function"!=typeof t||S[e].includes(t)||S[e].push(t),w;i("VarRef.on","invalid event name")}})}),define("internaltypes/varscope",[],function(){return Object.seal({TwineScript_ObjectName:"the temporary variables",TwineScript_VariableStore:!0,TwineScript_TypeDefs:Object.create(null)})}),define("internaltypes/twinenotifier",["jquery","utils"],function(e,t){var n=t.impossible,r={create:function(e){return e||n("TwineNotifier.create","called with only 1 string."),Object.assign(Object.create(r),{message:e})},render:function(){return e("<tw-notifier>").attr("message",this.message)}};return r}),define("datatypes/custommacro",["jquery","utils/operationutils","internaltypes/changedescriptor","internaltypes/varref","internaltypes/varscope","internaltypes/twineerror","internaltypes/twinenotifier"],function(e,t,n,r,a,i,o){var s=t.objectName,c=t.typeName,u=t.matches,l=Object.assign,p=Object.create,f=function(t){return function(c){for(var u=arguments.length,f=Array(u>1?u-1:0),d=1;d<u;d++)f[d-1]=arguments[d];t.called+=1;var h=t.varNames,y=t.params,m=t.body,g=l(p(a),{TwineScript_VariableStoreName:t.TwineScript_ObjectName+" call #"+t.called,TwineScript_TypeDefs:p(null)}),v=[],b=0;f.forEach(function(e,t){var n=h[b];g.TwineScript_TypeDefs[n]=y[b].datatype.rest?y[b].datatype.create("array"):y[b].datatype;var a=r.create(g,n);if(y[b].datatype.rest){var i=(g[n]||[]).concat([e]);if(t<f.length-1)return void(g[n]=i);a.set(i)}else a.set(e),b+=1;v.push(o.create(s(a)+" is now "+s(g[n])))}),f.length&&(b+=1),y[b]&&y[b].datatype.rest&&(r.create(g,h[b]).set([]),g.TwineScript_TypeDefs[name]=y[b].datatype.create("array"));var w=void 0,T=e("<p>").append(m.html),S=c.stack.length;for(c.stack.unshift({tempVariables:g,dom:T,output:function(e){w=e}}),c.execute();c.stack.length>S;)c.stack.shift();var x,k,O=T.find("tw-error");return O.length?(T.prepend(v.map(function(e){return e.render()}),"<br>"),i.create("propagated",O.length+" error"+(O.length>1?"s":"")+" occurred when running "+t.TwineScript_ObjectName+".",void 0,T)):void 0===w?i.create("custommacro",t.TwineScript_ObjectName+" didn't output any data or hooks using (output:) or (output-data:)."):n.isPrototypeOf(w)?(x=w,k=l({TwineScript_TypeID:"command",TwineScript_ObjectName:"a custom command",TwineScript_TypeName:"a custom command",TwineScript_Print:function(){return"`[a custom command]`"},TwineScript_Attach:function(e){return e.run(x),k},TwineScript_Run:function(){return x}})):w}},d=Object.freeze({TwineScript_TypeID:"macro",TwineScript_TypeName:"a custom macro",get TwineScript_ObjectName(){return this.TwineScript_KnownName?"the "+this.TwineScript_KnownName+" macro":"a custom macro"},TwineScript_GetProperty:function(e){if("params"===e)return[].concat(_toConsumableArray(this.params))},TwineScript_Properties:["params"],TwineScript_Print:function(){return"`["+this.TwineScript_ObjectName+"]`"},TwineScript_Clone:function(){return l(p(d),this)},TwineScript_ToSource:function(){return"(macro:"+this.params.map(function(e){return e.TwineScript_ToSource()}).concat("")+this.body.TwineScript_ToSource()+")"},create:function(e,t){var n=l(p(this),{params:e,called:0,varNames:e.map(function(e){return e.varRef.propertyChain[0]}),typeSignature:e.map(function(e){var t=void 0;return t=e.datatype.toTypeSignatureObject?e.datatype.toTypeSignatureObject({rest:e.rest}):{pattern:"range",range:function(t){return u(e.datatype,t)},name:c(e.datatype)},e.rest?{pattern:"zero or more",innerType:t}:t}),body:t,TwineScript_KnownName:""});return n.fn=f(n),n}});return d}),define("datatypes/lambda",["utils/operationutils","internaltypes/varscope","internaltypes/varref","internaltypes/twineerror"],function(e,t,n,r){var a=e.objectName,i=Object.freeze({TwineScript_TypeID:"lambda",TwineScript_TypeName:"a lambda",get TwineScript_ObjectName(){return'a "'+("making"in this?"making ... ":"")+("where"in this?"where ... ":"")+("when"in this?"when ... ":"")+("via"in this?"via ... ":"")+'" lambda'},TwineScript_Print:function(){return"`[A lambda]`"},TwineScript_is:function(e){return e===this},TwineScript_ToSource:function(){return this.source},TypeSignature:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return{pattern:"lambda",innerType:i,clauses:t,typeName:'a "'+t.concat("").join(" ...")+'" lambda'}},TwineScript_Clone:function(){return Object.assign(Object.create(i),this)},create:function(e,o,s,c){var u=void 0;function l(e){var r=e&&e.varRef?e.varRef:e;return void 0===r||r&&n.isPrototypeOf(r)&&t.isPrototypeOf(r.object)&&1===r.propertyChain.length}if("making"===o&&!l(s))return r.create("syntax","I need a temp variable, or typed temp variable, to the right of '"+o+"', not "+a(s)+".");if(r.containsError(e))return e;if(i.isPrototypeOf(e)){if("when"===o||"when"in e)return r.create("syntax","A 'when' lambda cannot have any other clauses, such as '"+o+"'.");if(o in e&&("where"!==o||"true"!==e[o]))return r.create("syntax","This lambda has two '"+o+"' clauses.");u=e}else{if("when"===o&&void 0!==e)return r.create("syntax","A 'when' lambda shouldn't begin with a temp variable (just use 'when' followed by the condition).");if(!l(e))return r.create("syntax","This lambda needs to start with a single temp variable, or typed temp variable, not "+a(e)+".");(u=Object.create(this)).loop=e||""}return u.source=c.trim(),u[o]=s,u.making&&u.making.getName()===(u.loop&&u.loop.getName())?r.create("syntax","This lambda has two variables named '"+u.loop.getName()+"'.","Lambdas should have all-unique parameter names."):u},apply:function(e,n){var a=n.loop,i=n.pos,o=n.making,s=n.ignoreVia,c=n.tempVariables;function u(e,t){if(e)if("datatype"in e&&"varRef"in e){var n=e.varRef.create(c,e.varRef.propertyChain);n.defineType(e.datatype);var a=n.set(t);if(r.containsError(a))return a}else c[e.getName()]=t}c=c||Object.create(e.stack.length?e.stackTop.tempVariables:t);var l=u(this.loop,a)||u(this.making,o);if(r.containsError(l))return l;e.stack.unshift(Object.assign(Object.create(e.stackTop||null),{tempVariables:c,lambdaPos:this.when?void 0:i}));var p=e.eval("Operations");!a||this.making||this.when?p.initialiseIt(r.create("operation","I can't use 'it', or an implied 'it', in "+this.TwineScript_ObjectName)):p.initialiseIt(a);var f=!s&&this.via,d=e.eval("where"in this||"when"in this?"Operations.where("+(this.where||this.when)+","+(f||"true")+",null)":f||"true");return e.stack.shift(),d},filter:function(e,t){var n=this,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=void 0,o=t.reduce(function(t,o,s){if(i=r.containsError(t))return i;var c=n.apply(e,{loop:o,pos:s+1,ignoreVia:!0,tempVariables:a});return(i=r.containsError(c))?i:t.concat(c?[o]:[])},[]);return(i=r.containsError(o))?i:o}});return i}),define("datatypes/codehook",["internaltypes/twineerror","renderer"],function(e,t){var n=t.exec;return Object.freeze({TwineScript_TypeName:"a code hook",TwineScript_ObjectName:"a code hook",TwineScript_Unstorable:!0,TwineScript_ToSource:function(){return"["+this.source+"]"},create:function(t,r){r||(r=n(t));var a=e.containsError(r);return a||Object.assign(Object.create(this),{source:t,html:r})}})}),define("datatypes/colour",["jquery","utils"],function(e,t){var n=t.matMul,r=Math.max,a=Math.min,i=Math.sin,o=Math.cos,s=Math.pow,c=Math.round,u=Math.floor,l=Math.atan2,p=Math.cbrt,f=Math.sqrt,d=Math.PI,h=Object.assign,y=Object.create,m=/^([\da-fA-F])([\da-fA-F])([\da-fA-F])$/,g=/^([\da-fA-F])([\da-fA-F])([\da-fA-F])([\da-fA-F])([\da-fA-F])([\da-fA-F])$/,v=y(null);function b(e){var t=e.r,n=e.g,i=e.b,o=e.a,s=r(t/=255,n/=255,i/=255),u=a(t,n,i),l=(s+u)/2,p=s-u;if(s===u)return{h:0,s:0,l:l};var f=void 0;switch(s){case t:f=(n-i)/p+(n<i?6:0);break;case n:f=(i-t)/p+2;break;case i:f=(t-n)/p+4}return{h:f=c(60*f),s:l>.5?p/(2-s-u):p/(s+u),l:l,a:o}}var w=[.96422,1,.82521],T=24389/27,S=216/24389,x=function(e){return e.map(function(e){return[e]})},k=function(e){return e.map(function(e){return e[0]})};function O(e){var t=e.l,r=e.c,a=e.h,c=e.a;t*=100;var u=[];u[1]=(t+16)/116,u[0]=r*o(a*d/180)/500+u[1],u[2]=u[1]-r*i(a*d/180)/200;var l=[s(u[0],3)>S?s(u[0],3):(116*u[0]-16)/T,t>T*S?s((t+16)/116,3):t/T,s(u[2],3)>S?s(u[2],3):(116*u[2]-16)/T].map(function(e,t){return e*w[t]}),p=k(n([[.9555766,-.0230393,.0631636],[-.0282895,1.0099416,.0210077],[.0122982,-.020483,1.3299098]],n([[3.2404542,-1.5371385,-.4985314],[-.969266,1.8760108,.041556],[.0556434,-.2040259,1.0572252]],x(l)))).map(function(e){return 255*e}),f=_slicedToArray(p,3);return{r:f[0],g:f[1],b:f[2],a:c}}function j(e){var t=O(e);return[t.r,t.g,t.b].every(function(e){return e>=0&&e<=255})}var A=Object.freeze({TwineScript_TypeID:"colour",TwineScript_TypeName:"a colour",TwineScript_ObjectName:"a colour",TwineScript_DebugName:function(){return"a colour "+this.TwineScript_Print()},"TwineScript_+":function(e){var t=this.toRGBA(),n=e.toRGBA();return A.create({r:Math.min(Math.round(.6*(t.r+n.r)),255),g:Math.min(Math.round(.6*(t.g+n.g)),255),b:Math.min(Math.round(.6*(t.b+n.b)),255),a:(t.a+n.a)/2})},TwineScript_Print:function(){var e=this.toRGBA();return"<tw-colour style='background-color:rgba("+[e.r,e.g,e.b,e.a]+");'></tw-colour>"},TwineScript_is:function(e){if(!A.isPrototypeOf(e))return!1;if(e.lcha&&this.lcha)return e.lcha.l===this.lcha.l&&e.lcha.c===this.lcha.c&&e.lcha.h===this.lcha.h&&e.a===this.a;var t=this.toRGBA();return(e=e.toRGBA()).r===t.r&&e.g===t.g&&e.b===t.b&&e.a===t.a},TwineScript_Clone:function(){return A.create(this)},toRGBAString:function(){var e=this.toRGBA();return"rgba("+e.r+", "+e.g+", "+e.b+", "+e.a+")"},toHSLA:function(){return b(this.toRGBA())},toRGBA:function(){return this.lch?O(function(e){if(j(e))return e;var t=(e=h({},e)).c,n=0;for(e.c/=2;t-n>1e-5;)j(e)?n=e.c:t=e.c,e.c=(t+n)/2;return e}(h({},this.lch,{a:this.a}))):this},toLCHA:function(){return this.lch?h({},this.lch):(t=(e=this).r,r=e.g,a=e.b,i=e.a,o=k(n([[1.0478112,.0228866,-.050127],[.0295424,.9904844,-.0170491],[-.0092345,.0150436,.7521316]],n([[.4124564,.3575761,.1804375],[.2126729,.7151522,.072175],[.0193339,.119192,.9503041]],x([t/255,r/255,a/255])))).map(function(e,t){return e/w[t]}).map(function(e){return e>S?p(e):(T*e+16)/116}),c=[116*o[1]-16,500*(o[0]-o[1]),200*(o[1]-o[2])],u=180*l(c[2],c[1])/d,{l:c[0]/100,c:f(s(c[1],2)+s(c[2],2)),h:u>=0?u:u+360,a:i});var e,t,r,a,i,o,c,u},LCHRotate:function(e){e<0&&(e=360+e);var t=this.toLCHA();return t.h=(t.h+e)%360,t.a=this.a,A.create(t)},TwineScript_GetProperty:function(e){if("lch"===e){var t=this.toLCHA();return new Map([["l",t.l],["c",t.c],["h",t.h]])}var n=this.toRGBA();return"h"===e||"s"===e||"l"===e?b(n)[e]:"r"===e||"g"===e||"b"===e||"a"===e?n[e]:void 0},TwineScript_Properties:["h","s","l","r","g","b","a","lch"],TwineScript_ToSource:function(){var e=!this.lch&&b(this);if(e&&!e.h&&!e.s){if(1===e.l)return"white";if(0===e.l)return"black"}return"("+(this.lch?"lch":"hsl")+":"+(this.lch?[this.lch.l,this.lch.c,this.lch.h]:[e.h,e.s,e.l])+(1!==this.a?","+this.a:"")+")"},create:function(t){return"string"==typeof t?this.create((A.isHexString(t)?function(e){return"string"!=typeof e?e:(e=(e=e.replace("#","")).replace(m,"$1$1$2$2$3$3"),{r:parseInt(e.slice(0,2),16),g:parseInt(e.slice(2,4),16),b:parseInt(e.slice(4,6),16)})}:function(t){if(t in v)return v[t];var n=e("<p>").css("background-color",t).css("background-color");return n="transparent"===n?{r:0,g:0,b:0,a:0}:n.startsWith("rgb")?n.match(/\d+/g).reduce(function(e,t,n){return e["rgb"[n]]=+t,e},{}):{r:192,g:192,b:192},v[t]=n,n})(t)):!("h"in t&&"s"in t&&"l"in t)||"r"in t||"g"in t||"b"in t?("a"in t&&"number"==typeof t.a||(t.a=1),h(y(this),"h"in t&&"c"in t&&!("s"in t)&&"l"in t?{a:t.a,lch:{l:t.l,c:t.c,h:t.h}}:t)):this.create(function(e){var t=e.h,n=e.s,r=e.l,a=e.a;if(0===n){var i=u(255*r);return{r:i,g:i,b:i}}var o=r<.5?r*(1+n):r+n-r*n,s=2*r-o;function c(e){return e<0&&(e+=1),e>1&&(e-=1),e<1/6?s+6*(o-s)*e:e<.5?o:e<2/3?s+(o-s)*(2/3-e)*6:s}return{r:u(255*c((t/=360)+1/3)),g:u(255*c(t)),b:u(255*c(t-1/3)),a:a}}(t))},isHexString:function(e){return"string"==typeof e&&"#"===e[0]&&(e.slice(1).match(m)||e.slice(1).match(g))},isCSS3Function:function(e){return"string"==typeof e&&/^(?:rgb|hsl)a?\(\s*\d+\s*,\s*\d+%?\s*,\s*\d+%?(?:,\s*\d+(?:\.\d+)?\s*)?\)$/.test(e)}});return A}),define("datatypes/gradient",["utils/operationutils"],function(e){var t=e.toSource,n=Object.freeze({TwineScript_TypeID:"gradient",TwineScript_TypeName:"a gradient",TwineScript_ObjectName:"a gradient",TwineScript_DebugName:function(){return"a gradient "+this.TwineScript_Print()},TwineScript_GetProperty:function(e){var t=this;return"angle"===e?this.angle:"stops"===e?this.stops.map(function(e){return new Map([[t.repeating?"pixels":"percent",e.stop],["colour",e.colour.TwineScript_Clone()]])}):void 0},TwineScript_Properties:["angle","stops"],TwineScript_ToSource:function(){return"(gradient:"+this.angle+","+this.stops.map(function(e){return t(e.stop)+","+t(e.colour)})+")"},TwineScript_is:function(e){var t=this;return e.angle===this.angle&&e.stops.length===this.stops.length&&e.stops.every(function(e,n){var r=e.colour,a=e.stop;return t.stops[n].stop===a&&t.stops[n].colour.TwineScript_is(r)})},TwineScript_Clone:function(){return n.create(this.angle,[].concat(_toConsumableArray(this.stops)))},TwineScript_Print:function(){return"<tw-colour style='background:"+this.toLinearGradientString()+"'></tw-colour>"},create:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return Object.assign(Object.create(this),{angle:e,stops:t.sort(function(e,t){return e.stop-t.stop}),repeating:n})},multiply:function(e){return n.create(this.angle,this.stops.map(function(t){return{colour:t.colour,stop:t.stop*e}}))},toLinearGradientString:function(){var e=this;return(this.repeating?"repeating-":"")+"linear-gradient("+this.angle+"deg, "+this.stops.reduce(function(t,n){var r=n.colour,a=n.stop;return t+r.toRGBAString()+" "+a*(e.repeating?1:100)+(e.repeating?"px,":"%,")},"").slice(0,-1)+")"}});return n}),define("datatypes/datatype",["utils","utils/operationutils","datatypes/changercommand","datatypes/colour","datatypes/gradient","datatypes/lambda","datatypes/custommacro","internaltypes/twineerror"],function(e,t,n,r,a,i,o,s){var c=e.realWhitespace,u=e.anyRealLetter,l=e.anyCasedLetter,p=e.anyNewline,f=t.objectName,d=Object.assign,h=Object.seal,y=Object.keys,m=Math.floor,g=Math.abs,v=void 0,b=void 0,w={TwineScript_TypeID:"datatype",TwineScript_TypeName:"a datatype",TwineScript_Print:function(){return"`["+this.TwineScript_ObjectName+"]`"},get TwineScript_ObjectName(){return"the "+(this.rest?"...":"")+this.name+" datatype"},TwineScript_is:function(e){return w.isPrototypeOf(e)&&e.name===this.name},TwineScript_Clone:function(){return this.rest?this:Object.create(this)},TwineScript_ToSource:function(){return(this.rest?"...":"")+this.name},TwineScript_IsTypeOf:function(e){var t=this.name,n=this.rest;return!!v[t]&&v[t](e,n)},toTypeSignatureObject:function(){var e=this.name,t={pattern:"range",range:v[e],name:"a "+("dm"===e?"datamap":"ds"===e?"dataset":"num"===e?e+"ber":"str"===e?e+"ing":"color"===e?"colour":"bool"===e?e+"ean":"alnum"===e?"alphanumeric character":"int"===e?e+"eger":"even"===e||"odd"===e?e+" number":e.endsWith("case")||"whitespace"===e?e+" character":"empty"===e?e+" value":e)};return this.rest?{pattern:"zero or more",innerType:t}:t},create:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e="datamap"===e?"dm":"dataset"===e?"ds":"number"===e?"num":"string"===e?"str":"color"===e?"colour":"boolean"===e?"bool":"alphanumeric"===e?"alnum":"integer"===e?"int":e;var n=Object.create(this);return n.name=e,n.rest=t,n},from:function(e){var t=y(b).find(function(t){return b[t](e)});return t?w.create(t):s.create("datatype",f(e)+" doesn't correspond to a datatype value.")}};return b={array:Array.isArray,dm:function(e){return e instanceof Map},ds:function(e){return e instanceof Set},datatype:function(e){return w.isPrototypeOf(e)},changer:function(e){return n.isPrototypeOf(e)},colour:function(e){return r.isPrototypeOf(e)},gradient:function(e){return a.isPrototypeOf(e)},lambda:function(e){return i.isPrototypeOf(e)},macro:function(e){return o.isPrototypeOf(e)},str:function(e){return"string"==typeof e},num:function(e){return"number"==typeof e},bool:function(e){return"boolean"==typeof e}},v=d({},b,{even:function(e){return!isNaN(e)&&m(g(e))%2==0},odd:function(e){return!isNaN(e)&&m(g(e))%2==1},empty:function(e){return e instanceof Map||e instanceof Set?!e.size:!(!Array.isArray(e)&&"string"!=typeof e)&&!e.length},int:function(e){return"number"==typeof e&&e===(0|e)},uppercase:function(e){return"string"==typeof e&&1===[].concat(_toConsumableArray(e)).length&&[].concat(_toConsumableArray(e)).every(function(e){return e!==e.toLowerCase()})},lowercase:function(e){return"string"==typeof e&&1===[].concat(_toConsumableArray(e)).length&&[].concat(_toConsumableArray(e)).every(function(e){return e!==e.toUpperCase()})},whitespace:function(e){return"string"==typeof e&&!!e.match("^"+c+"$")},digit:function(e){return"string"==typeof e&&!!e.match("^\\d$")},alnum:function(e){return"string"==typeof e&&!!e.match("^"+u+"$")},anycase:function(e){return"string"==typeof e&&!!e.match("^"+l+"$")},linebreak:function(e){return"string"==typeof e&&!!e.match("^"+p+"$")},any:function(){return!0},const:function(){return!0}}),h(w)}),define("datatypes/typedvar",["utils/operationutils","datatypes/datatype","internaltypes/varref","internaltypes/twineerror"],function(e,t,n,r){var a=e.typeName,i=e.matches,o=e.toSource,s=e.unstorableValue,c=Object.freeze,u=Object.assign,l=Object.create,p=c({TwineScript_TypeName:"a typed variable name",get TwineScript_ObjectName(){return this.TwineScript_ToSource()},TwineScript_Print:function(){return"`[A typed variable name]`"},TwineScript_Unstorable:!0,TwineScript_Clone:function(){return u(l(p),{datatype:this.datatype.TwineScript_Clone(),varRef:this.varRef})},TwineScript_ToSource:function(){return o(this.datatype)+"-type "+this.varRef.TwineScript_ToSource()},TwineScript_GetProperty:function(e){return"name"===e?this.getName():this[e]},TwineScript_Properties:["datatype","name"],TwineScript_IsTypeOf:function(e){return i(this.datatype,e)},get:function(){var e;return(e=this.varRef).get.apply(e,arguments)},getName:function(){return this.varRef.getName()},defineType:function(){if("any"!==this.datatype.name)return this.varRef.defineType(this.datatype)},create:function(e,t){var n;if(n=r.containsError(t)||r.containsError(e)||t.error)return n;var i=s(e);return i&&!p.isPrototypeOf(i)?r.create("syntax","The -type syntax can't have "+a(i)+" to its left."):u(l(this),{datatype:e,varRef:t})}});return p}),define("macros",["jquery","utils/naturalsort","utils","utils/operationutils","datatypes/changercommand","datatypes/custommacro","datatypes/lambda","datatypes/hookset","datatypes/codehook","datatypes/typedvar","datatypes/datatype","internaltypes/changedescriptor","internaltypes/twineerror"],function(e,t,n,r,a,i,o,s,c,u,l,p,f){var d=n.insensitiveName,h=n.nth,y=n.plural,m=n.andList,g=n.lockProperty,v=(r.clone,r.objectName),b=r.typeName,w=r.singleTypeCheck,T=r.toSource,S=void 0,x={};function k(e,n,r){var a=n.fn,i=n.typeSignature,s=n.isChanger,u=void 0!==s&&s,l=r[0];r=function(e){return e.reduce(function(e,n){if(n&&!0===n.spreader){var r=n.value,a=f.containsError(r);if(a)e.push(a);else if(Array.isArray(r)||"string"==typeof r)for(var i=0;i<r.length;i++)e.push(r[i]);else r instanceof Set?e.push.apply(e,_toConsumableArray(Array.from(r).sort(t("en")))):e.push(f.create("operation","I can't spread out "+v(r)+", because it is not a string, dataset, or array."))}else e.push(n);return e},[])}(r.slice(1)),i=[].concat(i||[]);var p=!e,d=p?"":"("+(Array.isArray(e)&&e.length>1?e[0]:e)+":)";e=p?"this custom macro":"the "+d+" macro";var g=void 0;g=i.length>0?e+" must only be given "+m(i.map(b))+(i.length>1?", in that order":"."):e+" must not be given any data."+(p?"":" Just write "+d);for(var T=void 0,x=function(t,n){var a=i[t],s=r[t];if(f.containsError(s))return{v:s};if(c.isPrototypeOf(s)&&u)return{v:f.create("syntax","Please put this hook outside the parentheses of the changer macro, not inside it.","Hooks should appear after a macro"+(p?".":": "+d+"[Some text]"))};if(t>=i.length&&!T)return{v:f.create("datatype",r.length-i.length+" too many values were given to "+e+".",g)};if(a||(a=T),!a.innerType||"rest"!==a.pattern&&"zero or more"!==a.pattern||(T=a.innerType,"rest"===a.pattern&&(a=a.innerType)),!w(s,a)){if(void 0===s){var l=i.filter(function(e){return!("optional"===e.pattern||"zero or more"===e.pattern)}).length;return{v:f.create("datatype",e+" needs "+y(l-t,"more value")+".",g)}}return s&&s.TwineScript_Unstorable&&(a===S.TypeSignature.Any||a.innerType&&a.innerType===S.TypeSignature.Any)?{v:f.create("datatype",e+"'s "+h(t+1)+" value, "+v(s)+", is not valid data for this macro.",g)}:s&&o.isPrototypeOf(s)&&"lambda"===a.pattern?{v:f.create("datatype",e+"'s "+h(t+1)+" value (a lambda) should have "+m(["where","when","making","via","with"].filter(function(e){return a.clauses.includes(e)}).map(function(e){return"a '"+e+"' clause"}))+", not "+m(["where","when","making","via","with"].filter(function(e){return e in s}).map(function(e){return"a '"+e+"' clause"}))+".")}:"insensitive set"===a.pattern?{v:f.create("datatype",v(s)+" is not a valid name string for "+e+".","Only the following names are recognised (capitalisation and hyphens ignored): "+m(a.innerType)+".")}:{v:f.create("datatype",e+"'s "+h(t+1)+" value is "+v(s)+", but should be "+b(a)+".",a.message||g)}}},k=0,O=Math.max(r.length,i.length);k<O;k+=1){var j=x(k);if("object"===(void 0===j?"undefined":_typeof(j)))return j.v}return a.apply(void 0,[l].concat(_toConsumableArray(r)))}function O(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a={fn:t,typeSignature:n};r&&(a.isChanger=!0),Object.freeze(a),Array.isArray(e)?e.forEach(function(e){return g(x,d(e),a)}):g(x,d(e),a)}return S={has:function(e){return e=d(e),x.hasOwnProperty(e)},get:function(e){return e=d(e),x.hasOwnProperty(e)&&x[e]},add:function e(t,n,r){return O(t,n,r),e},addChanger:function e(t,n,r,i){return O(t,n,i,!0),a.register(Array.isArray(t)?t[0]:t,r),e},addCommand:function e(t,n,r,a){var i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];return O(t,function(e,t,n,r){return function(a){for(var i=arguments.length,o=Array(i>1?i-1:0),s=1;s<i;s++)o[s-1]=arguments[s];var c=t.apply(void 0,o);if(c)return c;var u=p.create(),l=Object.assign({TwineScript_TypeID:"command",TwineScript_ObjectName:"a ("+e+":) command",TwineScript_TypeName:"a ("+e+":) command",TwineScript_Print:function(){return"`[A ("+e+":) command]`"},TwineScript_ToSource:function(){return"("+e+":"+o.map(T)+")"},TwineScript_is:function(e){return T(this)===T(e)}},r?{TwineScript_Attach:function(e,t){return u.section=e,t.run(u),l},TwineScript_Run:function(e){return n.apply(void 0,[u,e].concat(o))}}:{TwineScript_Run:function(e){return n.apply(void 0,[e].concat(o))}});return l}}([].concat(t)[0],n,r,i),a),e},TypeSignature:{optional:function(e){return{pattern:"optional",innerType:e}},zeroOrMore:function(e){return{pattern:"zero or more",innerType:e}},either:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return{pattern:"either",innerType:t}},rest:function(e){return{pattern:"rest",innerType:e}},insensitiveSet:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return{pattern:"insensitive set",innerType:t}},numberRange:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1/0;return{pattern:"range",min:e,max:t,range:function(n){return"number"==typeof n&&!Number.isNaN(n)&&n>=e&&n<=t}}},nonNegativeInteger:{pattern:"range",integer:!0,min:0,max:1/0,range:function(e){return"number"==typeof e&&!Number.isNaN(e)&&e>=0&&!(e+"").includes(".")}},positiveInteger:{pattern:"range",integer:!0,min:1,max:1/0,range:function(e){return"number"==typeof e&&!Number.isNaN(e)&&e>=1&&!(e+"").includes(".")}},wrapped:function(e,t){return{pattern:"wrapped",innerType:e,message:t}},Any:{TwineScript_TypeName:"anything"},Everything:{TwineScript_TypeName:"everything"}},run:function(e,t){return S.has(e)?k(e,S.get(e),t):f.create("macrocall","I can't run the macro '"+e+"' because it doesn't exist.","Did you mean to run a macro? If you have a word written like (this:), it is regarded as a macro name.")},runCustom:function(e,t){return i.isPrototypeOf(e)?k("",e,t):f.create("macrocall","I can't call "+v(e)+" because it isn't a custom macro.")}},Object.assign(S.TypeSignature,{positiveNumber:S.TypeSignature.numberRange(Math.pow(2,-52),1/0),nonNegativeNumber:S.TypeSignature.numberRange(0,1/0),percent:S.TypeSignature.numberRange(0,1)}),Object.freeze(S)}),define("datatypes/varbind",["jquery","utils","utils/operationutils","internaltypes/varref","internaltypes/twineerror"],function(e,t,n,r,a){var i=n.objectName;return r.on("set",function(n,r){n.TwineScript_VariableStore&&e(t.storyElement).find("[data-2bind]").each(function(t,a){var i=(a=e(a)).data("twoWayBindEvent");"function"==typeof i&&i(a,n,r)})}),Object.freeze({TwineScript_TypeName:"a bound variable",TwineScript_ObjectName:"a bound variable",TwineScript_Unstorable:!0,TwineScript_ToSource:function(){return("two way"===this.bind?"2":"")+"bind "+this.varRef.TwineScript_ToSource()},set:function(e){var t,n=this.varRef.set(e);if(t=a.containsError(n))return t},create:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"one way";return r.isPrototypeOf(e)?e.error?e.error:Object.assign(Object.create(this),{varRef:e,bind:t}):a.create("operation","I can only 'bind' a variable, not "+i(e)+".")}})}),define("datatypes/assignmentrequest",["utils/operationutils","datatypes/typedvar","datatypes/datatype","internaltypes/varref","internaltypes/twineerror"],function(e,t,n,r,a){var i=e.objectName,o=e.matches;return Object.freeze({assignmentRequest:!0,TwineScript_TypeName:"a 'to' or 'into' expression",TwineScript_ObjectName:"a 'to' or 'into' expression",TwineScript_Unstorable:!0,set:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],s=void 0,c=[],u=function e(s,c){var u,l=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],p=[],f=void 0;if(f=c&&r.isPrototypeOf(c)?c.get():c,u=a.containsError(f))return u;if(Array.isArray(f)&&Array.isArray(s)){for(var d=0,h=0;d<s.length&&h<f.length;){var y=s[d],m=f[h];if(t.isPrototypeOf(y)&&y.datatype.rest||n.isPrototypeOf(y)&&y.rest){for(var g=h;h<f.length&&o(y,m);)m=f[h+=1];t.isPrototypeOf(y)?y.datatype=[y.datatype]:n.isPrototypeOf(y)&&(y=n.create("array")),p=p.concat(e(y,r.isPrototypeOf(c)?r.create(c,{first:g+1,last:h+1}):f.slice(g,h)))}else p=p.concat(e(y,r.isPrototypeOf(c)?r.create(c,h+1):m)),h+=1;d+=1}return d<s.length?l&&a.create("operation","I can't unpack this array because it needs "+(s.length-d)+" more value"+(s.length-d>0?"s":"")+"."):p}if(s instanceof Map&&f instanceof Map){var v=!0,b=!1,w=void 0;try{for(var T,S=s.entries()[Symbol.iterator]();!(v=(T=S.next()).done);v=!0){var x=_slicedToArray(T.value,2),k=x[0],O=x[1];if(!f.has(k))return l&&a.create("operation","I can't unpack this datamap because it needs a '"+k+"' data name.");p=p.concat(e(O,r.isPrototypeOf(c)?r.create(c,k):f.get(k)))}}catch(e){b=!0,w=e}finally{try{!v&&S.return&&S.return()}finally{if(b)throw w}}return p}if(t.isPrototypeOf(s)){if("function"==typeof s.datatype.destructure)return[{dest:s,value:f,src:c}].concat(s.datatype.destructure(f));if(!o(f,s.datatype))return[l&&a.create("operation","I can't unpack "+i(f)+" into "+s.varRef.TwineScript_ToSource()+" because it doesn't match "+i(s.datatype)+".")];p=p.concat(e(s.datatype,f))}return r.isPrototypeOf(s)||t.isPrototypeOf(s)?p.concat({dest:s,value:f,src:c}):"function"==typeof s.destructure?p.concat(s.destructure(f)):o(f,s)?p:l&&a.create("operation","I tried to unpack, but "+i(s)+" in the pattern didn't match "+i(f)+".")}(this.dest,this.src);if(s=a.containsError(u))return s;if(!u.length)return a.create("operation","I can't store a new value inside "+i(this.dest)+" that isn't in a variable.","You need a variable, or a data structure containing variables at certain positions, to store the value.");var l=!0,p=!1,f=void 0;try{for(var d,h=u.reverse()[Symbol.iterator]();!(l=(d=h.next()).done);l=!0){var y=d.value,m=y.dest,g=y.value,v=y.src;if(t.isPrototypeOf(m)){if(s=a.containsError(m.defineType()))return s;m=m.varRef}if(s=m.set(g),a.isPrototypeOf(s))return s;e&&v&&v.delete(),c.shift(i(m)+" is now "+i(g))}}catch(e){p=!0,f=e}finally{try{!l&&h.return&&h.return()}finally{if(p)throw f}}return c.join("; ")},create:function(e,t,n){return Object.assign(Object.create(this),{dest:e,src:t,operator:n})}})}),define("twinescript/operations",["jquery","state","datatypes/assignmentrequest","utils/operationutils","internaltypes/varref","datatypes/typedvar","datatypes/datatype","internaltypes/twineerror"],function(e,t,n,r,a,i,o,s){var c=r.isObject,u=r.collectionType,l=r.is,p=r.isA,f=r.clone,d=r.unique,h=r.contains,y=r.matches,m=r.objectName,g=void 0,v=0;function b(e,t,n,r){return n=n||"do this to",function(a,i){1===t.length&&(i=a);var o;return(o=s.containsError(a,i))?o:(void 0===a?"undefined":_typeof(a))!==e||(void 0===i?"undefined":_typeof(i))!==e?s.create("operation","I can only "+n+" "+e+"s, not "+m((void 0===a?"undefined":_typeof(a))!==e?a:i)+".",r):t(a,i)}}function w(e){return function(t,n){var r;if(r=s.containsError(t,n))return r;if((void 0===t?"undefined":_typeof(t))!==(void 0===n?"undefined":_typeof(n))||c(t)&&"TwineScript_TypeName"in t&&c(n)&&"TwineScript_TypeName"in n&&t.TwineScript_TypeName!==n.TwineScript_TypeName||u(t)!==u(n)){var a=m(t)+" isn't the same type of data as "+m(n);return s.create("operation",a[0].toUpperCase()+a.slice(1))}return e(t,n)}}function T(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function r(a,i){var o=void 0;if(o=s.containsError(a,i))return o;v=a;var c=a.determiner?[a,i]:i.determiner?[i,a]:[],u=_slicedToArray(c,2),l=u[0],p=u[1];if(l){var f=l.determiner;if("start"===f||"end"===f){if(t)return s.create("operation","I can't use '"+t+"' with the 'start' or 'end' of "+m(l)+".");if(p.determiner){if("start"===p.determiner||"end"===p.determiner)return s.create("operation","I can't compare one value's 'start' or 'end' with another value's 'start' or 'end'.","Please change one of them to use an exact range, such as '1stto4th' or '2ndlasttolast'.");var d=[p,l];l=d[0],p=d[1]}for(var h=l.string||l.array,y=0;y<h.length+1;y+=1){var g=y?"end"===f?h.slice(-y):h.slice(0,y):h.constructor(),b=l===a?r(g,i):r(a,g);if(o=s.containsError(b))return o;if(b!==n)return b}return n}var w="all"===f;return l.array.reduce(function(e,t){var n,o=l===a?r(t,i):r(a,t);return(n=s.containsError(e,o))?n:w?e&&o:e||o},w)}return e(a,i)}}function S(e,t){return T(function(t,n){var r=e(t,n);return s.containsError(r)?r:!r},t,!0)}var x="If one of these values is a number, you may want to write a check that it 'is not 0'. Also, if one is a string, you may want to write a check that it 'is not \"\" '.";return g={create:function(n){var r=Object.create(this);return r.Identifiers={TwineScript_Identifiers:!0,get it(){return v},get time(){return n.stackTop&&n.stackTop.evaluateOnly?s.create("operation","'time' can't be used in "+n.stackTop.evaluateOnly+"."):Date.now()-n.timestamp},get visits(){var e=n.stackTop.speculativePassage,r=function(n){return n===(e||t.passage)};return t.pastPassageNames().filter(r).length+t.mockVisits.filter(r).length+(!e||e===t.passage)},get visit(){return r.Identifiers.visits},get exits(){return n.stackTop&&n.stackTop.evaluateOnly?s.create("operation","'exit' and 'exits' can't be used in "+n.stackTop.evaluateOnly+"."):n.dom.find("tw-enchantment, tw-link").filter(function(t,n){return e(n).data("enchantmentEvent")||e(n).parent().data("linkPassageName")||e(n).parent().data("clickEvent")}).length},get exit(){return r.Identifiers.exits},get pos(){return n.stackTop&&!n.stackTop.evaluateOnly&&n.stackTop.lambdaPos?+n.stackTop.lambdaPos||1:s.create("operation","'pos' can only be used in lambdas that aren't 'when' lambdas.")}},r},elidedComparisonOperator:function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];return r.reduce(function(n,r){return"boolean"==typeof r?r:g[e](n,g[t](v,r))},"and"===e)},and:b("boolean",w(function(e,t){return e&&t}),"use 'and' to join",x),or:b("boolean",w(function(e,t){return e||t}),"use 'or' to join",x),not:b("boolean",function(e){return!e},"use 'not' to invert",x),"+":w(function(e,t){if(Array.isArray(e))return[].concat(_toConsumableArray(e),_toConsumableArray(t));var n=void 0;return e instanceof Map?(n=new Map(e),t.forEach(function(e,t){return n.set(t,e)}),n):e instanceof Set?new Set([].concat(_toConsumableArray(e),_toConsumableArray(t)).filter(d).map(f)):"function"==typeof e["TwineScript_+"]?e["TwineScript_+"](t):"string|number|boolean".includes(void 0===e?"undefined":_typeof(e))?e+t:s.create("operation","I can't use + on "+m(e)+".")}),"-":w(function(e,t){if(Array.isArray(e))return e.filter(function(e){return!t.some(function(t){return l(e,t)})});if(e instanceof Set){var n=[].concat(_toConsumableArray(t));return new Set([].concat(_toConsumableArray(e)).filter(function(e){return!n.some(function(t){return l(e,t)})}))}return"string"==typeof e?e.split(t).join(""):"number"==typeof e?e-t:s.create("operation","I can't use - on "+m(e)+".")}),"*":b("number",w(function(e,t){return e*t}),"multiply"),"/":b("number",w(function(e,t){return 0===t?s.create("operation","I can't divide "+m(e)+" by zero."):e/t}),"divide"),"%":b("number",w(function(e,t){return 0===t?s.create("operation","I can't modulo "+m(e)+" by zero."):e%t}),"modulus"),"<":T(b("number",w(function(e,t){return e<t}),"do < to"),"<"),">":T(b("number",w(function(e,t){return e>t}),"do > to"),">"),"<=":T(b("number",w(function(e,t){return e<=t}),"do <= to"),"<="),">=":T(b("number",w(function(e,t){return e>=t}),"do >= to"),">="),is:T(l),isNot:S(l),contains:T(h,"contains"),doesNotContain:S(h,"does not contain"),isIn:T(function(e,t){return h(t,e)},"is in"),isNotIn:S(function(e,t){return h(t,e)},"is not in"),isA:T(p,"is a"),isNotA:S(p,"is not a"),typifies:T(function(e,t){return p(t,e)}),untypifies:S(function(e,t){return p(t,e)}),matches:T(y),doesNotMatch:S(y),where:function(e,t,n){var r;return(r=s.containsError(e))?r:"boolean"!=typeof e?s.create("operation","This lambda's 'where' clause must evaluate to true or false, not "+m(e)+"."):e?t:n},makeSpreader:function(e){if(i.isPrototypeOf(e)||o.isPrototypeOf(e)){var t=f(e);return(i.isPrototypeOf(e)?t.datatype:t).rest=!0,t}return{value:e,spreader:!0,TwineScript_TypeName:"a spreaded '...' value",TwineScript_ObjectName:"a spreaded '...' value",TwineScript_Unstorable:!0}},makeAssignmentRequest:function(e,t,r){var a=s.containsError(e,t);return a||n.create(e,t,r)},setIt:function(e){return a.isPrototypeOf(e)||i.isPrototypeOf(e)?(v=e.get(),e):e},initialiseIt:function(e){v=e}},Object.freeze(g)}),define("twinescript/environ",["macros","state","utils","datatypes/colour","datatypes/hookset","datatypes/lambda","datatypes/datatype","datatypes/varbind","datatypes/codehook","datatypes/typedvar","internaltypes/varref","internaltypes/twineerror","twinescript/operations"],function(Macros,State,Utils,Colour,HookSet,Lambda,Datatype,VarBind,CodeHook,TypedVar,VarRef,TwineError,OperationsProto){return function(section){"object"===(void 0===section?"undefined":_typeof(section))&§ion||Utils.impossible("TwineScript.environ","no Section argument was given!");var Operations=OperationsProto.create(section);return section.eval=function(){try{return eval(arguments[0])}catch(e){return e}},section}}),define("section",["jquery","utils","renderer","twinescript/environ","twinescript/operations","state","utils/operationutils","utils/renderutils","datatypes/changercommand","datatypes/hookset","datatypes/colour","datatypes/lambda","internaltypes/changedescriptor","internaltypes/varscope","internaltypes/twineerror","internaltypes/twinenotifier"],function(e,t,n,r,a,i,o,s,c,u,l,p,f,d,h,y){var m,g=o.printBuiltinValue,v=o.objectName,b=o.typeID,w=s.collapse;function T(e,n,r){if(n&&"object"===(void 0===n?"undefined":_typeof(n))&&c.isPrototypeOf(n)){if(r.data("originalSource",r.popAttr("source")),!this.renderInto(r.data("originalSource"),r,n)){var a=t.insensitiveName(e.attr("name"));if(["if","elseif","unless","else","testfalse"].includes(a)&&(e.addClass("false"),"elseif"!==a&&(this.stackTop.lastHookShown=!1)),r.data("live")){var i=r.data("live"),o=i.delay,s=i.event;(function(e,n){var r=this,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:20,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0;i&&t.assertMustHave(i,["when"]);var o=n.data("originalSource")||"",s=_slicedToArray(this.stack,1)[0].tempVariables,c=this.whenUnblocked.bind(this,function(){if(r.inDOM()){var t=i&&i.filter(r,[!0],s);h.containsError(t)?t.render(e.attr("title")).replaceAll(e):!i||t[0]?(r.renderInto(o,n,{append:"replace"}),t||n.find("tw-expression[name='stop']").length||r.inDOM()&&setTimeout(c,a)):setTimeout(c,a)}});setTimeout(c,a)}).call(this,e,r,o,s)}return}}else{if(!1===n)return r.attr("source")&&(r.data("originalSource",r.popAttr("source")),r.data("hidden",!0)),e.addClass("false"),void(this.stackTop.lastHookShown=!1);!0!==n&&e.replaceWith(h.create("datatype",v(n)+" cannot be attached to this hook.","Only Booleans and changers can be attached to hooks.").render(e.attr("title")))}this.stackTop.lastHookShown=!0}function S(t){var n=(t instanceof e?t[0]:t).nextSibling;if(n&&(n instanceof Text&&!n.textContent.trim()||["br","tw-consecutive-br"].includes((n.tagName||"").toLowerCase()))){var r=S(n),a=r.whitespace,i=r.nextElem;return{whitespace:e(n).add(a),nextElem:i}}return{whitespace:e(),nextElem:e(n)}}var x={add:[],remove:[]};return m={create:function(e){var n=Object.assign(Object.create(this),{timestamp:Date.now(),dom:e||t.storyElement,stack:[],enchantments:[],unblockCallbacks:[]});return n=r(n)},get stackTop(){return this.stack[0]},inDOM:function(){return e(t.storyElement).find(this.dom).length>0},evaluateTwineMarkup:function(t,n){var r=e("<p>");this.stack.unshift({desc:f.create({target:r,source:t,section:this,append:"append"}),tempVariables:this.stackTop.tempVariables,evaluateOnly:n,finalIter:!0}),this.execute();var a;return(a=r.find("tw-error")).length>0?a:r},speculate:function(e,t,n){this.stack.unshift({evaluateOnly:n,finalIter:!0,tempVariables:Object.assign(Object.create(d),{TwineScript_VariableStoreName:n}),speculativePassage:t});var r=void 0;return r=p.isPrototypeOf(e)?e.apply(this,{fail:!1,pass:!0}):this.eval(e),this.stack.shift(),r},renderInto:function(t,n,r){var a=this,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=f.create({target:n,source:t,section:this,append:"append"});if(r)if(c.isPrototypeOf(r)){var s=r.run(o);if(h.containsError(s))return s.render(n.attr("title")).replaceAll(n),!1}else Object.assign(o,r);if((n=o.target,this.stack.length>=50)&&this.stack.reduce(function(e,t){return e+!!t.finalIter},0)>=50)return h.create("infinite","Printing this expression may have trapped me in an infinite loop.").render(n.attr("title")).replaceAll(n),!1;var u=function(t,r,i){var o=n instanceof e&&n.is("tw-hook")&&n.parents("tw-collapsed,[collapsing=true]").length>0;a.stack.unshift({desc:t,finalIter:i,tempVariables:r,collapses:o,evaluateOnly:a.stackTop&&a.stackTop.evaluateOnly})};if(i||(i=Object.create(this.stack.length?this.stackTop.tempVariables:d)),!i.hasOwnProperty("TwineScript_VariableStoreName")){var l=n&&n.tag();i.TwineScript_VariableStoreName="tw-hook"===l?n.attr("name")?"?"+n.attr("name"):"an unnamed hook":"tw-expression"===l?"a "+n.attr("type")+" expression":"tw-passage"===l?"this passage":"an unknown scope"}return Object.keys(o.loopVars).length?function(){var e=Object.assign({},o.loopVars),t=Math.min.apply(Math,_toConsumableArray(Object.keys(e).map(function(t){return e[t].length})));if(y.create(t+" loop"+(1!==t?"s":"")).render().prependTo(n),t){for(var r=function(n){u(o,Object.keys(e).reduce(function(t,r){return t[r]=e[r][n],t},Object.create(i),n===t-1))},s=t-1;s>=0;s-=1)r(s);for(s=t-1;s>=0&&!a.stackTop.blocked;s-=1)a.execute()}}():(u(o,i,!0),this.execute()),0===this.stack.length&&this.updateEnchantments(),o.enabled},execute:function(){var n=this,r=this.stackTop,i=r.desc,o=r.dom,s=r.collapses,u=r.evaluateOnly;i&&!o&&(o=i.render(),this.stackTop.dom=o,this.stackTop.desc=void 0),o.findAndFilter("tw-hook,tw-expression").each(function(r,i){if(n.stackTop.blocked)return!1;switch((i=e(i)).tag()){case"tw-hook":var o=i.popAttr("source")||"";if(o&&i.data("originalSource",o),i.data("tempVariables",n.stackTop.tempVariables),i.popAttr("hidden")){i.data("hidden",!0);break}o&&n.renderInto(o,i);break;case"tw-expression":if(i.attr("blockers")){if(u)return void i.removeAttr("blockers").removeAttr("js").replaceWith(h.create("syntax","I can't use a macro like (prompt:) or (confirm:) in "+u+".","Please rewrite this without putting such macros here.").render(i.attr("title"),i));var s=[];try{s=JSON.parse(i.popAttr("blockers")),i.data("blockers",s)}catch(e){t.impossible("Section.execute","JSON.parse blockers failed.")}}if(i.data("blockers")){var p=i.data("blockers");if(p.length){n.stackTop.blocked=!0;var d=n.eval(p.shift());return h.containsError(d)&&(n.stackTop.blocked=!1,i.removeData("blockers").replaceWith(d.render(i.attr("title"),i))),!1}i.removeData("blockers")}i.attr("js")&&function(n){var r=this.eval(n.popAttr("js")||"");this.stackTop.evaluateOnly&&r&&(c.isPrototypeOf(r)||"function"==typeof r.TwineScript_Run)&&(r=h.create("syntax","I can't work out what "+this.stackTop.evaluateOnly+" should evaluate to, because it contains a "+(c.isPrototypeOf(r)?"changer.":"command."),"Please rewrite this without putting changers or commands here."));var i=void 0,o=void 0,s=e();for(o=n;c.isPrototypeOf(r);){var u=S(o);if(i=u.whitespace,(o=u.nextElem)[0]instanceof Text&&"+"===o[0].textContent.trim()){var p,d=o,m=S(d);if(p=m.whitespace,(o=m.nextElem).is("tw-expression")){var w=this.eval(o.popAttr("js"));if(h.containsError(w)){r=w;break}var x=a["+"](r,w);e(i).add(d).add(p).remove(),r=h.containsError(x)?h.create("operation","I can't combine "+v(r)+" with "+v(w)+".","function"==typeof w.TwineScript_Run?"If you want to attach this changer to "+v(w)+", remove the + between them.":"Changers can only be added to other changers."):x;continue}}if(o.is("tw-expression")){var k=this.eval(o.popAttr("js"));if(h.containsError(k)){r=k;break}if(k&&"object"===(void 0===k?"undefined":_typeof(k))&&"function"==typeof k.TwineScript_Attach){r=k.TwineScript_Attach(this,r);break}return c.isPrototypeOf(k)?void n.replaceWith(h.create("operation","Changers like ("+r.macroName+":) need to be combined using + between them.","Place the + between the changer macros, or the variables holding them. The + is absent only between a changer and its attached hook or command.").render(n.attr("title"))):void n.replaceWith(h.create("operation",v(k)+" can't have changers like ("+r.macroName+":) attached.","Changers placed just before hooks, links and commands will attempt to attach, but in this case it didn't work.").render(n.attr("title")))}if(o.is("tw-hook")){i.remove(),s=o;break}r.macroName||t.impossible("Section.runExpression","changer has no macroName");var O=n.attr("title")||"("+r.macroName+": ...)";return void n.replaceWith(h.create("syntax","The ("+r.macroName+":) changer should be stored in a variable or attached to a hook.","Macros like this should appear before a hook: "+O+"[Some text]").render(n.attr("title")))}n.attr("return",b(r)),s=s.length?s:S(n).nextElem.filter("tw-hook");var j=void 0;if(j=h.containsError(r))j instanceof Error&&(j=h.fromError(j)),n.replaceWith(j.render(n.attr("title"),n));else if(y.isPrototypeOf(r))n.append(r.render());else if(r&&"function"==typeof r.TwineScript_Run)if(r=r.TwineScript_Run(this),h.containsError(r))n.replaceWith(r.render(n.attr("title")));else if(f.isPrototypeOf(r)){if(r.data&&r.data.live)return void n.replaceWith(h.create("unimplemented","I currently can't attach (live:) or (event:) macros to commands - only hooks.").render(n.attr("title")));r.section=this,r.target=o,this.renderInto("",o,r)}else{if("blocked"===r)return this.stackTop.blocked=!0,void n.attr("js","section.blockedValue()");r&&t.impossible("Section.runExpression","TwineScript_Run() returned a non-ChangeDescriptor "+(void 0===r?"undefined":_typeof(r))+': "'+r+'"')}else!s.length&&("string"==typeof r||"number"==typeof r||r instanceof Map||r instanceof Set||Array.isArray(r)||l.isPrototypeOf(r))||r&&"function"==typeof r.TwineScript_Print&&!c.isPrototypeOf(r)?(r=g(r),h.containsError(r)?(r instanceof Error&&(r=h.fromError(r)),n.replaceWith(r.render(n.attr("title")))):"string"!=typeof r?t.impossible("printBuiltinValue() produced a non-string "+(void 0===r?"undefined":_typeof(r))):this.renderInto(r,n)):s.length?T.call(this,n,r,s):c.isPrototypeOf(r)||"boolean"==typeof r||t.impossible("Section.runExpression","The expression evaluated to an unknown value: "+r)}.call(n,i)}}),this.stackTop.blocked||(o.length&&s&&w(o),o.findAndFilter("tw-collapsed,[collapsing=true]").each(function(){w(e(this))}),this.stack.shift())},updateEnchantments:function(){this.enchantments.forEach(function(e){e.disenchant(),e.enchantScope()})},on:function(e,t){return x[e].push(t),this},addEnchantment:function(e){var t=this;this.enchantments.push(e),x.add.forEach(function(n){return n(t,e)})},removeEnchantment:function(e){var t=this,n=this.enchantments.indexOf(e);this.enchantments.splice(n,1),e.disenchant(),x.remove.forEach(function(n){return n(t,e)})},unblock:function(e){for(this.stack.length||t.impossible("Section.unblock","stack is empty"),this.stackTop.blocked=!1,void 0!==e&&(this.stackTop.blockedValues=(this.stackTop.blockedValues||[]).concat(e));this.stack.length&&!this.stackTop.blocked;)this.execute();if(!this.stack.length)for(;this.unblockCallbacks.length>0;){if(this.unblockCallbacks.shift()(),this.stackTop&&this.stackTop.blocked)return}},whenUnblocked:function(e){this.stack.length&&this.stackTop.blocked?this.unblockCallbacks=this.unblockCallbacks.concat(e):e()},blockedValue:function(){var e=this.stackTop;return e||t.impossible("Section.blockedValue","stack is empty"),e.blockedValues&&e.blockedValues.length||t.impossible("Section.blockedValue","blockedValues is missing or empty"),e.blockedValues.shift()}},Object.preventExtensions(m)}),define("engine",["jquery","utils","state","section","passages"],function(e,t,n,r,a){var i,o=t.escape,s=t.impossible,c=t.passageSelector,u=t.transitionOut,l=Object.create(null);function p(e,t){return"<tw-include type="+e+" title='"+o(t.get("name"))+"'>"+t.get("source")+"</tw-include>"}function f(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t.assertOnlyHas(o,["stretch","transition"]);var f=a.get(i),d=t.storyElement,h=d.parent(),y=o.stretch,m=o.transition,g=(m=void 0===m?{}:m).depart,v=void 0===g?"instant":g,b=m.arrive,w=void 0===b?"dissolve":b,T=m.departOrigin,S=m.arriveOrigin,x=m.time;h.findAndFilter("tw-enchantment").each(function(t,n){var r=(n=e(n)).data("enchantedProperties");r&&d.css(r.reduce(function(e,t){return e[t]="",e},{})),n[0]===h[0]&&(h=d.unwrap().parent())}),a.hasValid(i)||s("Engine.showPassage","There's no passage with the name \""+i+'"!');var k,O,j,A,C=d.children(c).not(".transition-out, .transition-out *"),E=(f.get("tags")||[]).join(" "),_=(k=e("<tw-passage><tw-sidebar>"),O=k.children("tw-sidebar"),j=e('<tw-icon tabindex=0 alt="Undo" title="Undo">↶</tw-icon>'),A=e('<tw-icon tabindex=0 alt="Redo" title="Redo">↷</tw-icon>'),n.pastLength<=0&&j.css("visibility","hidden"),n.futureLength<=0&&A.css("visibility","hidden"),O.append(j,A),k);"function"==typeof T&&(T=T.call(C)),"function"==typeof S&&(S=S.call(_)),d.detach(),_.appendTo(d).attr({tags:E}),!y&&v&&(u(C,v,x,0,0,0,T),C.css("position","absolute")),d.attr({tags:E});var N=r.create(_),P=f.get("source");P=a.getTagged("header").map(p.bind(0,"header")).join("")+(l.debug?a.getTagged("debug-header").map(p.bind(0,"debug-header")).join(""):"")+P+a.getTagged("footer").map(p.bind(0,"footer")).join("")+(l.debug?a.getTagged("debug-footer").map(p.bind(0,"debug-footer")).join(""):""),n.pastLength<=0&&(l.debug&&(P=a.getTagged("debug-startup").map(p.bind(0,"debug-startup")).join("")+P),P=a.getTagged("startup").map(p.bind(0,"startup")).join("")+P),N.renderInto(P,_,{transition:w,transitionTime:x,transitionOrigin:S}),h.append(d.parents().length?d.parents().last():d),scroll(0,y?_.offset().top-.05*e(window).height():d.offset().top)}return i={goBack:function(e){n.rewind()&&f(n.passage,e)},goForward:function(e){n.fastForward()&&f(n.passage,e)},goToPassage:function(e,t){n.play(e),f(e,t)},toggleFullscreen:function(){var e=document.documentElement;document.fullscreenElement?document.exitFullscreen():document.msFullscreenElement?document.msExitFullscreen():(e.msRequestFullscreen||e.requestFullscreen).call(e)},showPassage:f,options:l},Object.freeze(i)}),define("debugmode/panel",["jquery"],function(e){return Object.freeze({create:function(t){var n=t.className,r=t.rowAdd,a=t.rowCheck,i=t.columnHead,o=t.tabName,s=t.tabUpdate,c=e("<div class='panel panel-"+n+"' hidden><table class='panel-rows'></table></div>"),u=e("<button class='tab tab-"+n+"'>0 "+o+"s</button>");return u.click(function(){u.toggleClass("enabled"),u.parent().siblings(".panel").attr("hidden",""),u.is(".enabled")&&(u.siblings(".tab:not(.tab-"+n+")").removeClass("enabled"),c.removeAttr("hidden"))}),s||(s=function(e){return u.text(e+" "+o+(1!==e?"s":""))}),Object.assign(Object.create(this),{tabName:o,tab:u,panel:c,panelRows:c.find(".panel-rows"),rowAdd:r,rowCheck:a,columnHead:i,tabUpdate:s})},update:function(t,n){var r=this.rowCheck,a=this.rowAdd,i=this.panelRows,o=this.columnHead,s=[],c=i.children();t.forEach(function(t){var n=c.filter(function(n,a){return r(t,e(a))}),o=a(t);n.length?n.replaceWith(o):i.append(o),s.push(o[0])}),c.filter(function(e,t){return!s.includes(t)}).remove(),this.tabUpdate(n),n>0&&!i.find(".panel-head").length?i.prepend(o()):0===n&&i.find(".panel-head").remove()}})}),define("debugmode/mode",["jquery","utils","state","internaltypes/varref","internaltypes/twineerror","utils/operationutils","engine","passages","section","debugmode/panel"],function(e,t,n,r,a,i,o,s,c,u){var l=t.escape,p=t.nth,f=t.storyElement,d=t.debounce,h=i.objectName,y=i.isObject,m=i.toSource;return function(t,i){var g=e(document.documentElement),v=e("<tw-debugger>\n\t\t<div class='panel panel-errors' hidden><table></table></div>\n\t\t<div class='tabs'></div>\n\t\t<label style='user-select:none'>Turns: </label><select class='turns' disabled></select><button class='show-invisibles'>Debug View</button><button class='show-dom'>DOM View</button>\n\t\t<div class='resizer'>\n\t\t</tw-debugger>"),b=v.find(".tabs"),w=v.find(".show-dom"),T=v.find(".show-invisibles"),S=v.find(".turns");v.find(".resizer").mousedown(function(e){if(1!==e.which)return!0;e.stopPropagation();var t=e.pageX,n=v.width();g.on("mousemove.debugger-resizer",function(e){var r=e.pageX;v.width((n+t-r|0)+"px")}).on("mouseup.debugger-resizer",function(){g.off(".debugger-resizer")})}),T.click(function(){g.toggleClass("debug-mode").removeClass("dom-debug-mode"),T.toggleClass("enabled"),w.removeClass("enabled")}),w.click(function(){g.toggleClass("dom-debug-mode").removeClass("debug-mode"),w.toggleClass("enabled"),T.removeClass("enabled")}),n.timelinePassageNames().forEach(function(e,t){S.append("<option value="+t+">"+(t+1)+": "+e+"</option>")}),S.val(n.pastLength),n.pastLength>0&&S.removeAttr("disabled"),S.change(function(e){var t=e.target.value-n.pastLength;0!==t&&(n[t<0?"rewind":"fastForward"](Math.abs(t)),o.showPassage(n.passage))}),n.on("forward",function(t){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=n.pastLength;a>=1&&S.removeAttr("disabled"),r?(S.find("[selected]").removeAttr("selected"),S.val(a)):(S.children().each(function(t,n){t>=a&&e(n).remove()}),S.append("<option value="+a+">"+(a+1)+": "+t+"</option>").val(a))}).on("back",function(){n.pastLength<=1&&S.attr("disabled"),S.find("[selected]").removeAttr("selected"),S.val(n.pastLength)}).on("load",function(e){S.empty(),S[e.length<=1?"attr":"removeAttr"]("disabled"),e.forEach(function(e,t){return S.append("<option value="+t+">"+(t+1)+": "+e.passage+"</option>")})});var x=new Set,k=u.create({className:"variables",tabName:"Variable",rowAdd:function(t){var n=t.name,r=t.dataset,a=t.path,i=t.value,o=t.tempScope,s=t.type,c=y(i)&&i.TwineScript_DebugName?i.TwineScript_DebugName():l(h(i)),u="";a.length&&(u=a.reduce(function(e,t){return e+t+"'s "},"")),r&&(n="???");var p=s?m(s):"",f=c.length>48&&!i.TwineScript_DebugName,d="object"===(void 0===i?"undefined":_typeof(i))||f,g=f?c.slice(0,48)+"\u2026":c;return e('<div class="variable-row">').attr("data-name",n).attr("data-path",a+"").attr("data-scope",o||"").css("padding-left",Math.min(5,a.length)+"em").append("<td class='variable-type'>"+(p?p+"-type ":"")+"</td>","<td class='variable-name'>"+(u?"<span class='variable-path'>"+(o?"_":"$")+l(u)+"</span> ":"")+(u?"":o?"_":"$")+l(n+"")+"</td>","<td class='temporary-variable-scope'>"+(o||"")+"</td>","<td class='variable-value'>"+g+"</td><td class='panel-row-buttons'>"+(d?"<tw-folddown tabindex=0>(source:) </tw-folddown>":"")+"</td>").add(d?"<tr class='variable-row panel-row-source' style='display:none'><td colspan='5'>"+l(m(i))+"</td></tr>":"")},rowCheck:function(e,t){var n=e.name,r=e.path;e.tempScope;return t.attr("data-name")===n&&t.attr("data-path")===r+""},columnHead:function(){return'<tr class="panel-head"><th>Type</th><th>Name</th><th>Scope</th><th>Value</th></tr>'}}),O=d(function(){var e=[],t=n.variables,r=e.length;function a(t){if(!(e.length>500)){e.push(t);var n=t.path.concat(t.name),r=t.value,i=t.tempScope;Array.isArray(r)?r.forEach(function(e,t){return a({name:p(t+1),path:n,value:e,tempScope:i})}):r instanceof Map?[].concat(_toConsumableArray(r)).forEach(function(e){var t=_slicedToArray(e,2),r=t[0],o=t[1];return a({name:r,path:n,value:o,tempScope:i})}):r instanceof Set&&[].concat(_toConsumableArray(r)).forEach(function(e,t){return a({name:t,dataset:!0,path:n,value:e,tempScope:i})})}}for(var i in t)i.startsWith("TwineScript")||(r+=1,a({name:i,path:[],value:t[i],tempScope:"",type:t.TwineScript_TypeDefs&&t.TwineScript_TypeDefs[i]}));e.push.apply(e,_toConsumableArray(x)),r+=x.size,k.update(e,r),k.panel[(r?"remove":"add")+"Class"]("panel-variables-empty")}),j=void 0;r.on("set",function(e,t,r){if(e!==n.variables&&e.TwineScript_VariableStoreName&&!e.TwineScript_VariableStoreName.match(/#\d+$/)){var a=e.TwineScript_VariableStoreName,i=e.TwineScript_TypeDefs&&e.TwineScript_TypeDefs[t],o=[].concat(_toConsumableArray(x)).find(function(e){return e.name===t&&e.tempScope===a});o?o.value=r:x.add({name:t,path:[],value:r,tempScope:a,type:i})}O(),j()}).on("delete",function(){O(),j()}),k.panel.append("<div class='panel-variables-bottom'>\n\t\t\t<button class='panel-variables-copy'>Copy $ variables as (set:) call</button>\n\t\t\t<input class='clipboard' type=\"text\" style='opacity:0;pointer-events:none;position:absolute;'></input>\n\t\t</div>").removeAttr("hidden"),k.tab.addClass("enabled");var A=k.panel.find(".clipboard");g.on("click",".panel-variables-copy",function(){var e=[];for(var t in n.variables)t.startsWith("TwineScript")||e.push("$"+t+" to "+m(n.variables[t]));A.val("(set:"+e+")")[0].select(),document.execCommand("copy")});var C=u.create({className:"enchantments",tabName:"Enchantment",rowAdd:function(t){var n=t.scope,r=t.changer,a=t.name,i=t.localHook,o=void 0;return o=r?l(h(r)):"<em>enchanted via ("+a+":)</em>",e('<div class="enchantment-row">').data("enchantment",t).append("<td><span class='enchantment-name'>"+m(n)+(i?"</span><span class=enchantment-local>"+("function"==typeof i.TwineScript_ToSource?i.TwineScript_ToSource():i.attr("name")?"?"+i.attr("name"):"an unnamed hook"):"")+"</span></td><td class='enchantment-value'>"+o+"</td>"+(r?"<td class='panel-row-buttons'><tw-folddown tabindex=0>(source:)</tw-folddown></td>":"")).add(r?"<tr class='panel-row-source' style='display:none'><td colspan='3'>"+l(m(r))+"</td></tr>":"")},rowCheck:function(e,t){return t.data("enchantment")===e},columnHead:function(){return'<tr class="panel-head"><th>Scope</th><th>Value</th></div>'}}),E=d(function(e){C.update(e.enchantments,e.enchantments.length)});c.on("add",E).on("remove",E);var _=c.create(f),N=u.create({className:"storylets",tabName:"Storylet",rowAdd:function(t){var n=t.name,r=t.active,a=t.storyletSource,i=t.exclusive,o=t.urgent;return e('<tr class="storylet-row '+(r?"":"storylet-closed")+'">').attr("data-name",n).append("<td class='storylet-name'>"+n+"</td><td class='storylet-lambda'>"+a+"</td><td class='storylet-exclusive'>"+i+"</td><td class='storylet-urgent'>"+o+"</td>")},rowCheck:function(e,t){var n=e.name;return t.attr("data-name")===l(n+"")},columnHead:function(){return"<tr class=\"panel-head\"><th>Name</th><th>Condition</th><th class='storylet-exclusive'>Exclusivity</th><th class='storylet-urgent'>Urgency</th></tr>"}});N.tab.hide(),j=d(function(){var e=s.getStorylets(_),t=a.containsError(e),n=s.allStorylets();N.update(n.map(function(n){return{name:n.get("name"),storyletSource:n.get("storylet").TwineScript_ToSource(),active:!t&&e.some(function(e){return e.get("name")===n.get("name")}),exclusive:"number"==typeof n.get("exclusivity")?n.get("exclusivity"):0,urgent:"number"==typeof n.get("urgency")?n.get("urgency"):0}}),t?0:e.length),N.panel[(t?"add":"remove")+"Class"]("storylet-error");var r=n.some(function(e){return e.get("exclusivity")&&"number"==typeof e.get("exclusivity")}),i=n.some(function(e){return e.get("urgency")&&"number"==typeof e.get("urgency")});N.panel[(r?"add":"remove")+"Class"]("panel-exclusive"),N.panel[(i?"add":"remove")+"Class"]("panel-urgent"),n.length&&N.tab.show()});var P=u.create({className:"source",tabName:"Source",rowAdd:e.noop,rowCheck:e.noop,tabUpdate:e.noop,columnHead:e.noop});P.tab.text("Source");var I=u.create({className:"errors",tabName:"Error",rowAdd:e.noop,rowCheck:e.noop,columnHead:e.noop}),M=function(t,r){if("propagated"!==t.type){I.panelRows.children().length>500&&I.panelRows.children(":first-child").remove();var a=e('<tr class="error-row"><td class="error-passage">'+n.passage+'</td><td class="error-message">'+t.message+"</td></tr>");a.find(".error-message").attr("title",r),I.panelRows.append(a),I.tabUpdate(I.panelRows.children().length)}};function D(){if(x=new Set,O(),j(),C.panelRows.empty(),C.tabUpdate(0),n.passage){var e=s.get(n.passage);e&&P.panelRows.text(e.get("source"))}}a.on("error",M),v.prepend(k.panel,C.panel,I.panel,N.panel,P.panel),b.prepend(k.tab,C.tab,I.tab,N.tab,P.tab),n.on("forward",D).on("back",D).on("load",D),t&&(M(t,i),D()),e(document.body).append(v)}}),define("macrolib/values",["macros","utils","utils/operationutils","datatypes/colour","datatypes/gradient","datatypes/datatype","datatypes/hookset","internaltypes/twineerror"],function(e,t,n,r,a,i,o,s){var c=t.realWhitespace,u=t.nth,l=t.anyRealLetter,p=n.subset,f=n.objectName,d=n.clone,h=n.toSource,y=e.TypeSignature,m=y.rest,g=y.zeroOrMore,v=y.either,b=y.optional,w=y.insensitiveSet,T=y.numberRange,S=y.percent,x=y.nonNegativeInteger,k=y.positiveInteger,O=y.Any,j=Math.max,A=Math.min,C=Math.round,E=Math.floor,_=Math.ceil;function N(e){return function(){var t=e.apply(void 0,arguments);return"number"!=typeof t||isNaN(t)?s.create("macrocall","This mathematical expression doesn't compute!"):t}}e.add(["str","string","text"],function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return n.join("")},[g(e.TypeSignature.either(String,Number,Boolean,Array))])("source",function(e,t){return t&&"command"===t.TwineScript_TypeID&&!t.TwineScript_ToSource?s.create("datatype","I can't construct the source code of a command created by a custom macro."):h(t)},[O])("substring",function(e,t,n,r){return p(t,n,r)},[String,parseInt,parseInt])("lowercase",function(e,t){return t.toLowerCase()},[String])("uppercase",function(e,t){return t.toUpperCase()},[String])("lowerfirst",function(e,t){return t.replace(RegExp(l+"+"),function(e){return(e=Array.from(e))[0].toLowerCase()+e.slice(1).join("").toLowerCase()})},[String])("upperfirst",function(e,t){return t.replace(RegExp(l+"+"),function(e){return(e=Array.from(e))[0].toUpperCase()+e.slice(1).join("").toLowerCase()})},[String])("words",function(e,t){return t.split(RegExp(c+"+")).filter(Boolean)},[String])(["str-repeated","string-repeated"],function(e,t,n){return 0===n.length?s.create("macrocall","I can't repeat an empty string."):n.repeat(t)},[x,String])(["str-reversed","string-reversed"],function(e,t){return[].concat(_toConsumableArray(t)).reverse().join("")},[String])("joined",function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];return r.join(t)},[m(String)])("plural",function(e,t,n,r){return n&&""!==r?t+" "+(1!==Math.abs(t)?r||n+"s":n):s.create("macrocall","The (plural:) macro can't be given empty strings.")},[parseInt,String,b(String)])(["str-nth","string-nth"],function(e,t){return u(t)},[parseInt])(["num","number"],function(e,t){return Number.isNaN(+t)?s.create("macrocall","I couldn't convert "+f(t)+" to a number."):+t},[String])("datatype",function(e,t){return i.from(t)},[O])("datapattern",function(e,t){return function e(t){var n,r=void 0;return Array.isArray(t)?r=t.map(e):t instanceof Map?(r=new Map,[].concat(_toConsumableArray(t)).forEach(function(t){var n=_slicedToArray(t,2),a=n[0],i=n[1];return r.set(a,e(i))})):r=i.from(t),(n=s.containsError(r))?n:r}(t)},[O])(["rgb","rgba"],function(e){return r.create({r:arguments.length<=1?void 0:arguments[1],g:arguments.length<=2?void 0:arguments[2],b:arguments.length<=3?void 0:arguments[3],a:arguments.length<=4?void 0:arguments[4]})},[T(0,255),T(0,255),T(0,255),b(S)])(["hsl","hsla"],function(e,t,n,a,i){return(t=C(t)%360)<0&&(t+=360),r.create({h:t,s:n,l:a,a:i})},[Number,S,S,b(S)])(["lch","lcha"],function(e,t,n,a,i){return(a=C(a)%360)<0&&(a+=360),r.create({l:t,c:n,h:a,a:i})},[S,T(0,132),Number,b(S)])("complement",function(e,t){return t.LCHRotate(180)},[r])("palette",function(e,t,n){var a=n.toLCHA(),i=a.l,o={l:i<=.75?.75+i/3:.75-3*(1-i),c:80,h:a.h,a:1},s=void 0,c=void 0,u=void 0;return s=r.create(o),o.l+=i<=.75?-.1:.1,o.l<.5&&(o.l*=.5/o.l),c=r.create(o),o.l+=i<=.85?.15:-.15,u=r.create(o),"adjacent"===t?(c=(s=s.LCHRotate(-30)).LCHRotate(30),u=s.LCHRotate(60)):"triad"===t&&(u=s.LCHRotate(180),c=s.LCHRotate(140),s=s.LCHRotate(-140)),[n,s,c,u]},[w("mono","adjacent","triad"),r])("gradient",function(e,t){for(var n=arguments.length,i=Array(n>2?n-2:0),o=2;o<n;o++)i[o-2]=arguments[o];if((t=C(t)%360)<0&&(t+=360),i.length<4)return s.create("datatype","(gradient:) must be given at least 2 colour-stop pairs of numbers and colours.");var c=void 0,u=[],l=i.reduce(function(e,t){if(s.containsError(e))return e;if(void 0===c)c=t;else{if("number"!=typeof c||!r.isPrototypeOf(t))return s.create("datatype","(gradient:) colour-stops should be pairs of numbers and colours, not colours and numbers.");u.push({stop:c,colour:d(t)}),c=void 0}return e},!0);return s.containsError(l)?l:void 0!==c?s.create("macrocall","This gradient has a colour-stop percent without a colour."):a.create(t,u)},[Number,m(v(S,r))])("stripes",function(e,t,n){for(var r=arguments.length,i=Array(r>3?r-3:0),o=3;o<r;o++)i[o-3]=arguments[o];(t=C(t)%360)<0&&(t+=360);var s=0,c=[];return i.forEach(function(e){c.push({stop:s,colour:d(e)}),s+=n,c.push({stop:s,colour:d(e)})}),a.create(t,c,!0)},[Number,k,r,m(r)])("hooks-named",function(e,t){return t?o.create({type:"name",data:t}):s.create("datatype","(hooks-named:) can't be given an empty string.")},[String])("cond",function(e){for(var t=0;t<(arguments.length<=1?0:arguments.length-1);t+=2){var n=arguments.length<=t+1?void 0:arguments[t+1];if(t===(arguments.length<=1?0:arguments.length-1)-1||s.containsError(n))return n;if("boolean"!=typeof n)return s.create("datatype","(cond:)'s "+u(t+1)+" value is "+f(n)+", but should be a boolean.");if(n)return arguments.length<=t+1+1?void 0:arguments[t+1+1]}return s.create("macrocall","An odd number of values must be given to (cond:), not "+(arguments.length<=1?0:arguments.length-1),"(cond:) must be given one or more pairs of booleans and values, as well as one final value.")},[Boolean,O,m(O)]),{weekday:[function(){return["Sun","Mon","Tues","Wednes","Thurs","Fri","Satur"][(new Date).getDay()]+"day"},null],monthday:[function(){return(new Date).getDate()},null],currenttime:[function(){var e=new Date,t=e.getHours()<12;return(e.getHours()%12||12)+":"+((e.getMinutes()<10?"0":"")+e.getMinutes())+" "+(t?"A":"P")+"M"},null],currentdate:[function(){return(new Date).toDateString()},null],min:[A,m(Number)],max:[j,m(Number)],abs:[Math.abs,Number],sign:[Math.sign,Number],sin:[Math.sin,Number],cos:[Math.cos,Number],tan:[Math.tan,Number],floor:[E,Number],round:[C,Number],trunc:[function(e){return e>0?E(e):_(e)},Number],ceil:[_,Number],pow:[N(Math.pow),[Number,Number]],exp:[Math.exp,Number],sqrt:[N(Math.sqrt),Number],log:[N(Math.log),Number],log10:[N(Math.log10),Number],log2:[N(Math.log2),Number],random:[function(e,t){var n=void 0,r=void 0;return t?(n=A(e,t),r=j(e,t)):(n=0,r=e),r+=1,~~(Math.random()*(r-n))+n},[parseInt,e.TypeSignature.optional(parseInt)]],either:[function(){var e;return e=~~(Math.random()*arguments.length),arguments.length<=e?void 0:arguments[e]},m(O)],nth:[function(e){var t;return e<=0?s.create("datatype","(nth:)'s first value should be a positive whole number, not "+e):(t=(e-1)%(arguments.length<=1?0:arguments.length-1)+1,arguments.length<=t?void 0:arguments[t])},[parseInt,m(O)]],"":function(){var t=this;Object.keys(this).forEach(function(n){if(n){var r=t[n][0],a=t[n][1];e.add(n,function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];return r.apply(void 0,n)},a)}})}}[""]()}),define("macrolib/commands",["jquery","macros","utils","state","passages","renderer","engine","internaltypes/twineerror","internaltypes/twinenotifier","datatypes/assignmentrequest","datatypes/hookset","datatypes/codehook","datatypes/lambda","datatypes/colour","datatypes/gradient","internaltypes/varref","datatypes/typedvar","datatypes/varbind","utils/operationutils","utils/renderutils"],function(e,t,n,r,a,i,o,s,c,u,l,p,f,d,h,y,m,g,v,b){var w=v.printBuiltinValue,T=v.objectName,S=v.clone,x=v.toSource,k=b.dialog,O=b.geomParse,j=b.geomStringRegExp,A=t.TypeSignature,C=A.Any,E=A.Everything,_=A.rest,N=A.either,P=A.optional,I=A.zeroOrMore,M=A.positiveInteger,D=A.positiveNumber,R=Object.assign,L=Math.floor,q=Math.ceil,F=Math.abs,V=Math.max,H=Math.min,z=e.noop;function $(e){return"("+e+" "+o.options.ifid+") "}["set","put","unpack"].forEach(function(e){return t.add(e,function(t){for(var n=0;n<(arguments.length<=1?0:arguments.length-1);n+=1){var r=arguments.length<=n+1?void 0:arguments[n+1];if("into"===r.operator&&"set"===e)return s.create("macrocall","Please say 'to' when using the (set:) macro.");if("to"===r.operator&&"set"!==e)return s.create("macrocall","Please say 'into' when using the (put:) or (unpack:) macro.");if((y.isPrototypeOf(r.dest)||m.isPrototypeOf(r.dest))===("unpack"===e))return s.create("macrocall","unpack"===e?"Please use the (unpack:) macro with arrays, datamaps or (p:) patterns containing variables to the right of 'into'.":"Please use the ("+e+":) macro with just single variables and typed variables to the "+("set"===e?"left of 'to'.":"right of 'into'."));var a=r.set();if(s.containsError(a))return a}return{TwineScript_TypeID:"instant",TwineScript_TypeName:"a ("+e+":) operation",TwineScript_ObjectName:"a ("+e+":) operation",TwineScript_Unstorable:!0,TwineScript_Print:function(){return o.options.debug,""}}},[_(u)])}),t.add("move",function(e){for(var t=0;t<(arguments.length<=1?0:arguments.length-1);t+=1){var n=arguments.length<=t+1?void 0:arguments[t+1];if("into"!==n.operator)return s.create("macrocall","Please say 'into' when using the (move:) macro.");var r=n.set(!0);if(s.containsError(r))return r}return{TwineScript_TypeID:"instant",TwineScript_TypeName:"a (move:) operation",TwineScript_ObjectName:"a (move:) operation",TwineScript_Unstorable:!0,TwineScript_Print:function(){return o.options.debug,""}}},[_(u)]),t.addCommand("display",function(e){if(!a.hasValid(e))return s.create("macrocall","I can't (display:) the passage '"+e+"' because it doesn't exist.")},function(e,t,r){return R(e,{source:n.unescape(a.get(r).get("source"))})},[String])("print",z,function(e,t,n){return R(e,{source:w(n)})},[C])(["verbatim-print","v6m-print"],z,function(e,t,n){return R(e,{verbatim:!0,source:w(n)})},[C])(["verbatim-source","v6m-source"],function(e){if(e&&"command"===e.TwineScript_TypeID&&!e.TwineScript_ToSource)return s.create("datatype","I can't construct the source code of a command created by a custom macro.")},function(e,t,n){return R(e,{verbatim:!0,source:w(x(n))})},[C])("go-to",function(e){if(!a.hasValid(e))return s.create("macrocall","I can't (go-to:) the passage '"+e+"' because it doesn't exist.")},function(e,t,n){return requestAnimationFrame(function(){return o.goToPassage(n,{transition:e.data.passageT8n})}),"blocked"},[String])("undo",z,function(e){return r.pastLength<1?s.create("macrocall","I can't (undo:) on the first turn."):(requestAnimationFrame(function(){return o.goBack({transition:e.data.passageT8n})}),"blocked")},[]),n.onStartup(function(){return e(n.storyElement).on("click.icon","tw-icon",function(t){var n=e(this),a=n.data("clickEvent"),i=n.attr("alt");a&&a(n),"Undo"===i&&(t.stopPropagation(),o.goBack()),"Redo"===i&&(t.stopPropagation(),o.goForward()),"Fullscreen"===i&&(t.stopPropagation(),o.toggleFullscreen()),"Restart"===i&&(r.hasSessionStorage&&sessionStorage.removeItem("Saved Session"),window.location.reload())})}),[["Undo","↶",function(){return r.pastLength>0}],["Redo","↷",function(){return r.futureLength>0}],["Fullscreen","⛶",function(){return document.fullscreenEnabled||document.msFullscreenEnabled}],["Restart","⟲",Object]].forEach(function(e){var n=_slicedToArray(e,3),r=n[0],a=n[1],i=n[2];t.addCommand("icon-"+r.toLowerCase(),function(e,t){if("string"==typeof e&&"string"==typeof t){var n=[].concat(_toConsumableArray(e)).length,a=[].concat(_toConsumableArray(t)).length;if(n>1&&a>1)return s.create("datatype","One of the two strings given to (icon-"+r.toLowerCase()+":) should be 1 character long, for its icon.");if(1===n&&1===a)return s.create("datatype","One of the two strings given to (icon-"+r.toLowerCase()+":) should be 2 or more characters long, for its label.")}},function(e,t,n,o){if("string"==typeof o&&1===[].concat(_toConsumableArray(o)).length||"string"==typeof n&&[].concat(_toConsumableArray(n)).length>1){var s=[o,n];n=s[0],o=s[1]}return R(e,{source:'<tw-icon tabindex=0 alt="'+r+'" '+(o?'data-label="'+o.replace('"',""")+'"':"")+' title="'+r+'" '+(i()?"":'style="visibility:hidden"')+">"+(n||a)+"</tw-icon>"})},[P(String),P(String)])}),t.addCommand("icon-counter",function(e,t,n){var r=" label string given to (icon-counter:) can't be empty or only whitespace.";return t&&t.trim()?"string"!=typeof n||n.trim()?void 0:s.create("datatype","The 2nd "+r):s.create("datatype","The 1st "+r)},function(e,t,r,a,i){e.attr.push({"data-2bind":!0}),e.data.twoWayBindEvent=function(t,n,o){if(r.varRef.matches(n,o)){var s=r.varRef.get();if("number"==typeof s)e.target.children("tw-icon").text(s>0?L(s):q(s)).attr("data-label",1!==F(s)&&void 0!==i?i:a)}};var o=r.varRef.get();return"number"!=typeof o?s.create("datatype","(icon-counter:) can only be bound to a variable holding a number, not "+T(o)+"."):R(e,{source:'<tw-icon data-label="'+n.escape(1!==F(o)&&void 0!==i?i:a)+'">'+(o>0?L(o):q(o))+"</tw-icon>"})},[g,String,P(String)]),t.addCommand("meter",function(e,t,n,r){return"string"!=typeof r||r.trim()?-1===n.search(j)||!n.includes("=")&&n.length>1?s.create("datatype",'The (meter:) macro requires a sizing line("==X==", "==X", "=XXXX=" etc.) be provided, not '+JSON.stringify(n)+"."):void 0:s.create("datatype","The label string given to (meter:) can't be empty or only whitespace.")},function(e,t,n,r,a,i,o){i&&"string"!=typeof i&&(o=i,i=void 0),o||(o=d.create({h:0,s:0,l:.5,a:.5})),d.isPrototypeOf(o)&&(o=h.create(90,[{colour:o,stop:0},{colour:o,stop:1}]));var c=O(a),u=c.marginLeft,l=c.size,p=u>0&&Math.ceil(u+l)<100,f=function(e){var t=V(0,H(1,e/r)),n=o.repeating?o:o.multiply(r/e);return"height:100%;background-repeat:no-repeat;background-image:"+(p?R(n,n.repeating?{}:{angle:270}).toLinearGradientString()+", ":"")+R(n,n.repeating?{}:{angle:p||0===u?90:270}).toLinearGradientString()+";background-size:"+(p?Array(2).fill(50*t+"%"):100*t+"%")+";background-position-x:"+(p?-100/(2-t)+100+"%,"+100/(2-t)+"%":0===u?"left":"right")+";text-align:"+(p?"center":0===u?"left":"right")};e.styles.push({"margin-left":u+"%",width:l+"%",height:"1.5em",display:"block"}),e.attr.push({"data-2bind":!0});var y=i&&t.stackTop.tempVariables;e.data.twoWayBindEvent=function(t,r,a){if(n.varRef.matches(r,a)){var o=n.varRef.get();if("number"==typeof o){var s=e.target.children("tw-meter");s.attr("style",f(o)),i&&e.section.renderInto("",null,{source:i,target:s,append:"replace",transitionDeferred:!1},y)}}};var m=n.varRef.get();return"number"!=typeof m?s.create("datatype","(meter:) can only be bound to a variable holding a number, not "+T(m)+"."):R(e,{source:'<tw-meter style="'+f(m)+'">'+(i||"")+"</tw-meter>"})},[g,D,String,P(N(String,d,h)),P(N(d,h))]),[["cycling-link"],["seq-link","sequence-link"]].forEach(function(e,n){return t.addCommand(e,function(){return""===(arguments.length<=0?void 0:arguments[0])?s.create("datatype","The first string in a ("+e[0]+":) can't be empty."):arguments.length<=(g.isPrototypeOf(arguments.length<=0?void 0:arguments[0])?2:1)?s.create("datatype","I need two or more strings to "+(n?"sequence":"cycle")+" through, not just '"+(t=arguments.length-1,arguments.length<=t?void 0:arguments[t])+"'."):void 0;var t},function(e,t){for(var r=arguments.length,a=Array(r>2?r-2:0),i=2;i<r;i++)a[i-2]=arguments[i];var o=void 0;g.isPrototypeOf(a[0])&&(o=a.shift());var c=0;if(o&&"two way"===o.bind){e.attr.push({"data-2bind":!0});var u=a.indexOf(o.varRef.get());u>-1&&(c=u)}var l=t.stackTop.tempVariables;function p(t,r){var i=c>=a.length-1&&n,u=""===a[c]?"":i?a[c]:"<tw-link>"+a[c]+"</tw-link>";if(i&&(e.data.clickEvent=void 0),o&&!r){var p=o.set(a[c]);if(s.containsError(p))return void t.replaceWith(p.render(a[c]))}var f=R({},e,{source:u,transitionDeferred:!1});e.section.renderInto("",null,f,l)}a[c]&&(e.data.clickEvent=function(e){c=(c+1)%a.length,p(e,!1)})&&(e.data.twoWayBindEvent=function(e,t,n){if(o.varRef.matches(t,n)){var r=o.varRef.get(),i=a.indexOf(r);i>-1&&i!==c&&(c=i,p(e,!0))}});var f="<tw-link>"+a[c]+"</tw-link>";if(o){var d=o.set(a[c]);if(s.containsError(d))return d}return R(e,{source:f,append:"replace",transitionDeferred:!0})},[N(g,String),_(String)])}),n.onStartup(function(){return e(n.storyElement).on("change.dropdown-macro","select",function(){var t=e(this),n=t.closest("tw-expression, tw-hook").data("dropdownEvent");n&&n(t)})}),t.addCommand("dropdown",function(e){var t;return""===(arguments.length<=1?void 0:arguments[1])||""===(t=(arguments.length<=1?0:arguments.length-1)-1+1,arguments.length<=t?void 0:arguments[t])?s.create("datatype","The first or last strings in a (dropdown:) can't be empty.","Because empty strings create separators within (dropdown:)s, having them at the start or end doesn't make sense."):(arguments.length<=1?0:arguments.length-1)<=1?s.create("datatype","I need two or more strings to create a (dropdown:) menu, not just "+(arguments.length<=1?0:arguments.length-1)+"."):void 0},function(t,r,a){for(var i=arguments.length,o=Array(i>3?i-3:0),c=3;c<i;c++)o[c-3]=arguments[c];var u=0;if("two way"===a.bind){t.attr.push({"data-2bind":!0});var l=o.indexOf(a.varRef.get());l>-1&&(u=l)}var p=Math.max.apply(Math,_toConsumableArray(o.map(function(e){return[].concat(_toConsumableArray(e)).length}))),f="<select>"+o.map(function(e,t){return"<option"+(t===u?" selected":"")+(""===e?" disabled":"")+">"+n.escape(e||"\u2500".repeat(p))+"</option>"}).join("\n")+"</select>";t.data.dropdownEvent=function(e){var t=e.val(),n=a.set(t);s.containsError(n)&&e.replaceWith(n.render(t))},t.data.twoWayBindEvent=function(e,t,n){if(a.varRef.matches(t,n)){var r=a.varRef.get(),i=o.indexOf(r);i>-1&&i!==u&&(e.find("select").val(r),u=i)}},t.styles.push({"background-color":function(){return n.parentColours(e(this)).backgroundColour}});var d=a.set(o[u]);return s.containsError(d)?d:R(t,{source:f,append:"replace"})},[g,String,_(String)]),n.onStartup(function(){return e(n.storyElement).on("input.checkbox-macro","input[type=checkbox]",function(){var t=e(this),n=t.closest("tw-expression").data("checkboxEvent");n&&n(t)})});var B=1;t.addCommand("checkbox",function(){},function(e,t,n,r){var a=!1,i="checkbox-"+ ++B;if("two way"===n.bind){e.attr.push({"data-2bind":!0});var o=n.varRef.get();"boolean"==typeof o&&(a=o),e.data.twoWayBindEvent=function(e,t,r){if(n.varRef.matches(t,r)){var a=n.varRef.get();"boolean"==typeof a&&e.children("input[type=checkbox]").prop("checked",a)}}}return e.data.checkboxEvent=function(e){var t=e.is(":checked"),r=n.set(t);s.containsError(r)&&e.replaceWith(r.render(""))},R(e,{source:'<input id="'+i+'" type="checkbox" '+(a?"checked":"")+'><label for="'+i+'">'+r+"</label>",append:"replace"})},[g,String]),n.onStartup(function(){return e(document).on("fullscreenchange",function(){e("input[type=checkbox][id^=fullscreen]",n.storyElement).each(function(t,n){(e(n).closest("tw-expression").data("fullscreenEvent")||Object)(n)})})}),t.addCommand("checkbox-fullscreen",function(){},function(t,n,r){var a="fullscreenCheckbox-"+ ++B;return t.data.fullscreenEvent=function(t){return e(t).prop("checked",!(!document.fullscreenElement&&!document.msFullscreenElement))},t.data.checkboxEvent=function(){return o.toggleFullscreen()},R(t,{source:'<input id="'+a+'" type="checkbox" '+(document.fullscreenEnabled||document.msFullscreenEnabled?" ":"disabled ")+(document.fullscreenElement||document.msFullscreenElement?"checked":"")+'><label for="'+a+'">'+r+"</label>",append:"replace"})},[String]),n.onStartup(function(){return e(n.storyElement).on("input.input-box-macro","textarea",function(){var t=e(this),n=t.closest("tw-expression").data("inputBoxEvent");n&&n(t)})}),["input-box","force-input-box"].forEach(function(e){return t.addCommand(e,function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];var a=g.isPrototypeOf(n[0]),i="number"==typeof n[1+a],o="string"==typeof n[1+a+i],c=n[+a];if("string"!=typeof c||-1===c.search(j)||!c.includes("=")&&c.length>1)return s.create("datatype","The ("+e+':) macro requires a sizing line("==X==", "==X", "=XXXX=" etc.) be provided, not '+JSON.stringify(c)+".");if("force-input-box"===e&&!o)return s.create("datatype","The ("+e+":) macro requires a string of text to forcibly input.");var u=1+a+i+o;return n.length>u?s.create("datatype","An incorrect combination of values was given to this ("+e+":) macro."):void 0},function(t,r){for(var a=arguments.length,i=Array(a>2?a-2:0),o=2;o<a;o++)i[o-2]=arguments[o];var c="force-input-box"===e,u=g.isPrototypeOf(i[0]),l="number"==typeof i[1+u],p=u&&i[0],f=l?i[1+u]:3,d=O(i[+u]),h=d.marginLeft,y=d.size,m="string"==typeof i[1+u+l]?i[1+u+l]:"",v=c?"":m;if("two way"===p.bind){t.attr.push({"data-2bind":!0});var b=p.varRef.get();if("string"==typeof b){v=c?m.slice(0,b.length):b;var w=p.set(v);if(s.containsError(w))return w}t.data.twoWayBindEvent=function(e,t,n){if(p.varRef.matches(t,n)){var r=p.varRef.get();"string"==typeof r&&e.find("textarea").val(c?m.slice(0,r.length):r)}}}else if(p){var T=p.set(c?"":m);if(s.containsError(T))return T}!c&&p&&(t.data.inputBoxEvent=function(e){var t=e.val(),n=p.set(t);s.containsError(n)&&e.replaceWith(n.render(""))});var S='<textarea style="width:100%" rows='+f+">"+n.escape(v)+"</textarea>";if(c){var x=Array.from(m);t.data.inputBoxEvent=function(e){var t=e.val().length,n=x.slice(0,t).join("");if(e.val(n),p){var r=p.set(n);s.containsError(r)&&e.replaceWith(r.render(""))}return!0}}return t.styles.push({display:"block","margin-left":h+"%",width:y+"%","border-style":function(){return this.style.borderStyle||"solid"}}),R(t,{source:S,append:"replace"})},[N(g,String),P(N(M,String)),P(N(M,String)),P(String)])}),["show","rerun"].forEach(function(n){return t.addCommand(n,z,function(t,r){for(var a=arguments.length,i=Array(a>2?a-2:0),o=2;o<a;o++)i[o-2]=arguments[o];return i.forEach(function(a){return a.forEach(r,function(a){var i=a.data("hidden");if(void 0!==i!=("rerun"===n))if(a.removeData("hidden"),i instanceof e)a.empty().append(i);else{var o=a.data("tempVariables");r.renderInto("",null,R({},t,{append:"replace",source:a.data("originalSource")||"",target:a}),o&&Object.create(o))}})}),t},[_(l)])});var W=function(e){return["I can't use a dialog macro in "+e+".","Please rewrite this without putting such macros here."]};t.addCommand("hide",z,function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];n.forEach(function(t){return t.forEach(e,function(e){Boolean(e.data("hidden"))||e.data("hidden",e.contents().detach())})})},[_(l)],!1)("stop",z,z,[],!1)("load-game",z,function(e,t){var n=localStorage.getItem($("Saved Game")+t);if(!n)return s.create("saving","I can't find a save slot named '"+t+"'!");var a=r.deserialise(e,n);if(a instanceof Error){var i=k({message:"Sorry to interrupt... The story tried to load saved data, but there was a problem.\n"+a.message+"\n\nThat data might have been saved from a different version of this story. Should I delete it?\n(Type 'delete' and choose Yes to delete it.)\n\nEither way, the story will now continue without loading the data.",defaultValue:"",buttons:[{name:"Yes",confirm:!0,callback:function(){"delete"===i.find("input").last().val()&&localStorage.removeItem($("Saved Game")+t),e.unblock("")}},{name:"No",cancel:!0,callback:function(){return e.unblock()}}]});return"blocked"}requestAnimationFrame(o.showPassage.bind(o,r.passage,!1))},[String],!1)("mock-visits",function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];if(!o.options.debug)return s.create("operation","(mock-visits:) cannot be used outside of debug mode.","This macro is not meant to be used outside of debugging your story.");var r=t.find(function(e){return!a.hasValid(e)});return r?s.create("datatype","I can't mock-visit '"+r+"' because no passage with that name exists."):void 0},function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];r.mockVisits=S(n)},[_(String)],!1)(["dialog","alert"],function(e,t){for(var r=arguments.length,a=Array(r>2?r-2:0),i=2;i<r;i++)a[i-2]=arguments[i];if(g.isPrototypeOf(e)){if("two way"===e.bind)return s.create("datatype","(dialog:) shouldn't be given two-way bound variables.");if(void 0===t)return s.create("datatype","(dialog:) needs a message string to display.")}else void 0!==t&&a.unshift(t);var o=a.findIndex(function(e){return""===e});if(o>-1)return s.create("datatype","(dialog:)'s "+n.nth(o+1)+" link text shouldn't be an empty string.")},function(e,t,n,r){for(var a=arguments.length,i=Array(a>4?a-4:0),o=4;o<a;o++)i[o-4]=arguments[o];return g.isPrototypeOf(n)||(void 0!==r&&i.unshift(r),r=n,n=void 0),i.length||(i=["OK"]),k({section:t,message:r,cd:e,buttons:i.map(function(e){return{name:e,callback:function(){t.unblock(n&&n.set(e)||"")}}})}),"blocked"},[N(g,String),I(String)])("open-url",z,function(e,t){window.open(t,"")},[String],!1)(["restart","reload"],z,function(){if(r.pastLength<1)return s.create("infinite","I mustn't (restart:) the story in the starting passage.");r.hasSessionStorage&&sessionStorage.removeItem("Saved Session"),window.location.reload()},[],!1)("goto-url",z,function(e,t){window.location.assign(t)},[String],!1)("ignore",z,z,[I(E)])("assert-exists",function(e){if(""===e)return s.create("datatype","(assert-exists:) mustn't be given an empty string.")},function(e,t,n){var r=0;return("string"==typeof n?l.create({type:"string",data:n}):n).forEach(t,function(){++r}),r?e:s.create("assertion","I didn't see any "+("string"==typeof n?"text occurrences of":"hooks matching")+" "+x(n)+" in this passage.")},[N(l,String)]),t.add("assert",function(e,t){return t?{TwineScript_TypeID:"instant",TwineScript_TypeName:"an (assert:) operation",TwineScript_ObjectName:"an (assert:) operation",TwineScript_Unstorable:!0,TwineScript_Print:function(){return""}}:R(s.create("assertion","An assertion failed: "),{appendTitleText:!0})},[Boolean])("save-game",function(e,t,n){if(n=n||"",!r.hasStorage)return!1;var a=r.serialise();if(s.containsError(a))return a;if(!1===a)return!1;try{return localStorage.setItem($("Saved Game")+t,a),localStorage.setItem($("Saved Game Filename")+t,n),!0}catch(e){return!1}},[String,P(String)])("prompt",function(e,t,n,r,a){if(e.stackTop&&e.stackTop.evaluateOnly)return s.create.apply(s,["macrocall"].concat(_toConsumableArray(W(e.stackTop.evaluateOnly))));if(""===a)return s.create("datatype","The text for (prompt:)'s confirm link can't be blank.");var i=k({section:e,message:t,defaultValue:n,buttons:[{name:a||"OK",confirm:!0,callback:function(){return e.unblock(i.find("input").last().val())}}].concat(""===r?[]:{name:r||"Cancel",cancel:!0,callback:function(){return e.unblock(n)}})});setTimeout(function(){return i.find("input").last().focus()},100)},[String,String,P(String),P(String)])("confirm",function(e,t,n,r){return e.stackTop&&e.stackTop.evaluateOnly?s.create.apply(s,["macrocall"].concat(_toConsumableArray(W(e.stackTop.evaluateOnly)))):""===r?s.create("datatype","The text for (confirm:)'s confirm link can't be blank."):void k({section:e,message:t,defaultValue:!1,buttons:[{name:r||"OK",confirm:!0,callback:function(){return e.unblock(!0)}}].concat(""===n?[]:{name:n||"Cancel",cancel:!0,callback:function(){return e.unblock(!1)}})})},[String,P(String),P(String)])("page-url",function(){return window.location.href},[]),i.options.blockerMacros.push("prompt","confirm")}),define("macrolib/datastructures",["jquery","utils","utils/naturalsort","macros","utils/operationutils","state","engine","passages","datatypes/lambda","datatypes/datatype","datatypes/typedvar","internaltypes/varref","internaltypes/twineerror"],function(e,t,n,r,a,i,o,s,c,u,l,p,f){var d=t.shuffled,h=t.permutations,y=a.objectName,m=a.subset,g=a.collectionType,v=a.isValidDatamapName,b=a.is,w=a.unique,T=a.clone,S=a.range,x=r.TypeSignature,k=x.optional,O=x.rest,j=x.either,A=x.zeroOrMore,C=x.Any,E=x.nonNegativeInteger;r.add(["a","array"],function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return n},A(j(l,C)))("range",function(e,t,n){return S(t,n)},[parseInt,parseInt])("subarray",function(e,t,n,r){return m(t,n,r)},[Array,parseInt,parseInt])("reversed",function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return n.reverse().map(T)},A(C))("shuffled",function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return d.apply(void 0,n).map(T)},[C,O(C)])("sorted",function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),a=1;a<t;a++)r[a-1]=arguments[a];return r.sort(n("en"))},[j(Number,String),O(j(Number,String))])("rotated",function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];return 0===(t*=-1)?f.create("macrocall","I can't rotate these values by 0 positions."):Math.abs(t)>=r.length?f.create("macrocall","I can't rotate these "+r.length+" values by "+t+" positions."):r.slice(t).concat(r.slice(0,t)).map(T)},[parseInt,C,O(C)])("rotated-to",function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];var i=t.filter(e,r);if(f.containsError(i))return i;if(!i.length)return f.create("macrocall","None of these "+r.length+" values matched the lambda, so I can't rotate them.");var o=r.indexOf(i[0]);return r.slice(o).concat(r.slice(0,o)).map(T)},[c.TypeSignature("where"),C,O(C)])("repeated",function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];for(var i=[];t-- >0;)i.push.apply(i,r);return i.map(T)},[E,O(C)])("interlaced",function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];for(var a=Math.min.apply(Math,_toConsumableArray(n.map(function(e){return e.length}))),i=[],o=0;o<a;o+=1)for(var s=0;s<n.length;s+=1)i.push(T(n[s][o]));return i},[Array,O(Array)])("permutations",function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return n.length?h.apply(void 0,n):[]},[A(C)]),r.add("altered",function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];return r.map(function(n,r){return t.apply(e,{loop:n,pos:r+1})})},[c.TypeSignature("via"),A(C)])("find",function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];return t.filter(e,r)},[c.TypeSignature("where"),A(C)])(["all-pass","pass"],function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];var i=t.filter(e,r);return f.containsError(i)||i.length===r.length},[c.TypeSignature("where"),A(C)])("some-pass",function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];var i=t.filter(e,r);return f.containsError(i)||i.length>0},[c.TypeSignature("where"),A(C)])("none-pass",function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];var i=t.filter(e,r);return f.containsError(i)||0===i.length},[c.TypeSignature("where"),A(C)])("folded",function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];return"where"in t&&(r=t.filter(e,r)),f.containsError(r)||r.reduce(function(n,r,a){return t.apply(e,{making:n,loop:r,pos:a+1})})},[j(c.TypeSignature("where","via","making"),c.TypeSignature("via","making")),O(C)]),r.add("datanames",function(e,t){return Array.from(t.keys()).sort(n("en"))},[Map])("datavalues",function(e,t){return Array.from(t.entries()).sort(n("en",function(e){return String(e[0])})).map(function(e){return T(e[1])})},[Map])("dataentries",function(e,t){return Array.from(t.entries()).sort(function(e,t){return[e[0],t[0]].sort(n("en"))[0]===e[0]?-1:1}).map(function(e){return new Map([["name",e[0]],["value",T(e[1])]])})},[Map])("history",function(e,t){var n=i.mockVisits.concat(i.pastPassageNames());if(!t)return n;var r=t.filter(e,n.map(function(e){return s.get(e)}));return f.containsError(r)?r:r.map(function(e){return e.get("name")})},[k(c.TypeSignature("where"))])("passage",function(e,t){return T(s.get(t||i.passage))||f.create("macrocall","There's no passage named '"+t+"' in this story.")},[k(String)])("passages",function(e,t){var r=n("en"),a=[].concat(_toConsumableArray(s.values())).map(function(e){return T(e)}),i=t?t.filter(e,a):a,o=f.containsError(i);return o||i.sort(function(e,t){return r(e.get("name"),t.get("name"))})},[k(c.TypeSignature("where"))])("open-storylets",function(e,t){if(e.stackTop.evaluateOnly)return f.create("macrocall","(open-storylets:) can't be used in "+e.stackTop.evaluateOnly+".");var n=s.getStorylets(e,t),r=f.containsError(n);return r||n.map(T)},[k(c.TypeSignature("where"))])("savedgames",function(){function e(e){return"("+e+" "+o.options.ifid+") "}var t=0,n=void 0,r=new Map;do{if(!i.hasStorage)break;n=localStorage.key(t),t+=1;var a=e("Saved Game");n&&n.startsWith(a)&&(n=n.slice(a.length),r.set(n,localStorage.getItem(e("Saved Game Filename")+n)))}while(n);return r},[])(["datamap","dm"],function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var a=void 0,i=new Map,o=n.reduce(function(e,t){var n=void 0;if(f.containsError(e))return e;if(void 0===a)a=t;else{if(n=f.containsError(v(i,a)))return n;if(i.has(a))return f.create("macrocall","You used the same data name ("+y(a)+") twice in the same (datamap:) call.");i.set(a,T(t)),a=void 0}return e},!0);return f.containsError(o)?o:void 0!==a?f.create("macrocall","This datamap has a data name without a value."):i},A(j(l,C)))(["dataset","ds"],function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return new Set(n.filter(w).map(T))},A(C))("count",function e(t,n){for(var r=arguments.length,a=Array(r>2?r-2:0),i=2;i<r;i++)a[i-2]=arguments[i];if(a.length>1){var o,s=a.map(function(r){return e(t,n,r)});return(o=f.containsError(s))?o:s.reduce(function(e,t){return e+t},0)}var c=a[0];switch(g(n)){case"dataset":case"datamap":return f.create("macrocall","(count:) shouldn't be given a datamap or dataset.","You should use the 'contains' operator instead. For instance, write: $variable contains 'value'.");case"string":return"string"!=typeof c?f.create("macrocall",y(n)+" can't contain "+y(c)+" because it isn't also a string."):c?n.split(c).length-1:0;case"array":return n.reduce(function(e,t){return e+b(t,c)},0);default:return f.create("macrocall",y(n)+" can't contain values, let alone "+y(c)+".")}},[C,O(C)])}),define("macrolib/stylechangers",["jquery","macros","utils","utils/renderutils","datatypes/colour","datatypes/hookset","datatypes/gradient","datatypes/changercommand","datatypes/lambda","internaltypes/changedescriptor","internaltypes/twineerror"],function(e,t,n,r,a,i,o,s,c,u,l){var p=r.geomParse,f=r.geomStringRegExp,d=Object.assign,h=t.TypeSignature,y=h.either,m=h.wrapped,g=h.optional,v=h.Any,b=h.Everything,w=h.zeroOrMore,T=h.rest,S=h.insensitiveSet,x=h.positiveNumber,k=h.positiveInteger,O=h.nonNegativeNumber,j=h.percent,A=[m(Boolean,'If you gave a number, you may instead want to check that the number is not 0. If you gave a string, you may instead want to check that the string is not "".')];n.onStartup(function(){return e(n.storyElement).on("mouseenter.hover-macro","[hover=false]",function(){var t=e(this),n=t.data("hoverChanger");t.data({mouseoutStyle:t.attr("style")||""}),u.create({target:t},n).update(),t.attr("hover",!0)}).on("mouseleave.hover-macro","[hover=true]",function(){var t=e(this),n=t.data("mouseoutStyle");t.attr("style",n).removeData("mouseoutStyle").attr("hover",!1)})});var C,E,_=S("instant","dissolve","fade","rumble","shudder","pulse","zoom","flicker","slideleft","slideright","slideup","slidedown","fadeleft","faderight","fadeup","fadedown","blur"),N=S("dotted","dashed","solid","double","groove","ridge","inset","outset","none");t.addChanger("if",function(e,t){return s.create("if",[t])},function(e,t){return e.enabled=e.enabled&&t},A)("unless",function(e,t){return s.create("unless",[t])},function(e,t){return e.enabled=e.enabled&&!t},A)("elseif",function(e,t){return"lastHookShown"in e.stack[0]?s.create("elseif",[!1===e.stack[0].lastHookShown&&!!t]):l.create("macrocall","There's no (if:) or something else before this to do (else-if:) with.")},function(e,t){return e.enabled=e.enabled&&t},A)("else",function(e){return"lastHookShown"in e.stack[0]?s.create("else",[!1===e.stack[0].lastHookShown]):l.create("macrocall","There's nothing before this to do (else:) with.")},function(e,t){return e.enabled=e.enabled&&t},null)("hidden",function(){return s.create("hidden")},function(e){return e.enabled=!1},null)(["verbatim","v6m"],function(){return s.create("verbatim")},function(e){return e.verbatim=!0},null)("live",function(e,t){return s.create("live",[t])},function(e,t){e.enabled=!1,e.data.live={delay:t}},g(Number))("event",function(e,t){return s.create("event",[t])},function(e,t){e.enabled=!1,e.data.live={event:t}},c.TypeSignature("when"))("more",function(){return s.create("more")},function(e){e.enabled=!1,e.data.live={event:{when:!0,filter:function(e){return 0!==e.eval("Operations").Identifiers.exits?[]:[!0]}}}},null)("after",function(e,t,n){return s.create("after",[t].concat(void 0!==n?[n]:[]))},function(e,t,r){e.enabled=!1,e.data.live={event:{when:!0,filter:function(e){return n.anyInputDown()&&(t-=r),e.eval("Operations").Identifiers.time>t?[!0]:[]}}}},[x,g(O)])("hook",function(e,t){return t?s.create("hook",[t]):l.create("datatype","(hook:) names can't be empty strings.")},function(e,t){return e.attr.push({name:t})},[String])(["for","loop"],function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];return t.loop?s.create("for",[t].concat(r)):l.create("datatype","The lambda provided to (for:) must refer to a temp variable, not just 'it'.")},function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];var i,o=t.filter(e.section,r);if(i=l.containsError(o))return i;e.loopVars[t.loop.getName()]=o||[]},[c.TypeSignature("where"),w(v)])(["transition","t8n"],function(e,t){return s.create("transition",[n.insensitiveName(t)])},function(t,r){return t.transition=r,"zoom"===r&&(t.transitionOrigin=function(){var t=e(this).offset(),r=t.left,a=t.top;return n.mouseCoords.x-r+"px "+(n.mouseCoords.y-a)+"px"}),t},[_])(["transition-time","t8n-time"],function(e,t){return s.create("transition-time",[t])},function(e,t){return e.transitionTime=t,e.data.passageT8n=d(e.data.passageT8n||{},{time:t}),e},[x])(["transition-delay","t8n-delay"],function(e,t){return s.create("transition-delay",[t])},function(e,t){return e.transitionDelay=t,e},[O])(["transition-skip","t8n-skip"],function(e,t){return s.create("transition-skip",[t])},function(e,t){return e.transitionSkip=t,e},[x])(["transition-depart","t8n-depart"],function(e,t){return s.create("transition-depart",[n.insensitiveName(t)])},function(t,r){return t.data.passageT8n=d(t.data.passageT8n||{},{depart:r}),"zoom"===r&&(t.data.passageT8n.departOrigin=function(){var t=e(this).offset(),r=t.left,a=t.top;return n.mouseCoords.x-r+"px "+(n.mouseCoords.y-a)+"px"}),t},[_])(["transition-arrive","t8n-arrive"],function(e,t){return s.create("transition-arrive",[n.insensitiveName(t)])},function(t,r){return t.data.passageT8n=d(t.data.passageT8n||{},{arrive:r}),"zoom"===r&&(t.data.passageT8n.arriveOrigin=function(){var t=e(this),r=t.offset(),a=r.left,i=r.top,o=t.height();return{"transform-origin":100*(n.mouseCoords.x-a)/t.width()+"% "+100*(n.mouseCoords.y-i)/o+"%",height:o+"px"}}),t},[_])("button",function(){return s.create("button",[])},function(e){return e.attr.push({class:function(){return this.className+(this.classList.contains("enchantment-button")?"":" ".repeat(this.className.length>0)+"enchantment-button")}}),e},[])(["border","b4r"],function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),a=1;a<t;a++)r[a-1]=arguments[a];return s.create("border",r.map(n.insensitiveName))},function(t){for(var n=arguments.length,r=Array(n>1?n-1:0),a=1;a<n;a++)r[a-1]=arguments[a];return t.styles.push({display:function(){var t=e(this).css("display");return r.every(function(e){return"none"===e})||!t.includes("inline")?t:"inline-block"},"border-style":r.join(" "),"border-width":function(){return this.style.borderWidth||"2px"}}),t},[N].concat(_toConsumableArray(Array(3).fill(g(N)))))(["border-size","b4r-size"],function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return s.create("border-size",n)},function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return e.styles.push({"border-width":n.map(function(e){return e+"px"}).join(" ")}),e},[O].concat(_toConsumableArray(Array(3).fill(g(O)))))("corner-radius",function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return s.create("corner-radius",n)},function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return e.styles.push({"border-radius":n.map(function(e){return e+"px"}).join(" "),padding:function(){return this.style.padding||n.map(function(e){return e+"px"}).join(" ")}}),e},[O].concat(_toConsumableArray(Array(3).fill(g(O)))))(["border-colour","b4r-colour","border-color","b4r-color"],function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return s.create("border-colour",n.map(function(e){return a.isPrototypeOf(e)?e.toRGBAString(e):e}))},function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return e.styles.push({"border-color":n.join(" ")}),e},[y(String,a)].concat(_toConsumableArray(Array(3).fill(g(y(String,a))))))("opacity",function(e,t){return s.create("opacity",[t])},function(e,t){return e.styles.push({opacity:t})},[j])("font",function(e,t){return s.create("font",[t])},function(e,t){return e.styles.push({"font-family":t}),e},[String])("align",function(e,t){var n=void 0,r=t.indexOf("><");if(!/^(==+>|<=+|=+><=+|<==+>)$/.test(t))return l.create("datatype",'The (align:) macro requires an alignment arrow ("==>", "<==", "==><=" etc.) be provided, not "'+t+'"');if(~r){var a=Math.round(r/(t.length-2)*50);n=d({"text-align":"center","max-width":"50%"},25===a?{"margin-left":"auto","margin-right":"auto"}:{"margin-left":a+"%"})}else n="<"===t[0]&&">"===t.slice(-1)?{"text-align":"justify","max-width":"50%"}:t.includes(">")?{"text-align":"right"}:{"text-align":"left"};return n.display="inline-block",s.create("align",[n])},function(e,t){e.styles.push(t)},[String])(["text-colour","text-color","color","colour"],function(e,t){return s.create("text-colour",[t])},function(e,t){return a.isPrototypeOf(t)&&(t=t.toRGBAString(t)),e.styles.push({color:t}),e},[y(String,a)])(["text-size","size"],function(e,t){return s.create("text-size",[t])},function(e,t){return e.styles.push({"font-size":24*t+"px","line-height":36*t+"px"}),e},[O])("text-indent",function(e,t){return s.create("text-indent",[t])},function(e,t){return e.styles.push({"text-indent":t+"px",display:"inline-block"}),e},[O])(["text-rotate-z","text-rotate"],function(e,t){return s.create("text-rotate-z",[t])},function(t,n){return t.styles.push({display:"inline-block",transform:function(){var t=e(this).css("transform")||"";return"none"===t&&(t=""),t+" rotate("+n+"deg)"}}),t},[Number])("text-rotate-y",function(e,t){return s.create("text-rotate-y",[t])},function(t,n){return t.styles.push({display:"inline-block",transform:function(){var t=e(this).css("transform")||"";return"none"===t&&(t=""),t+" perspective(50vw) rotateY("+n+"deg)"}}),t},[Number])("text-rotate-x",function(e,t){return s.create("text-rotate-x",[t])},function(t,n){return t.styles.push({display:"inline-block",transform:function(){var t=e(this).css("transform")||"";return"none"===t&&(t=""),t+" perspective(50vw) rotateX("+n+"deg)"}}),t},[Number])(["background","bg"],function(e,t){return s.create("background",[t])},function(t,r){var i=void 0;return a.isPrototypeOf(r)?r=r.toRGBAString(r):o.isPrototypeOf(r)&&(r=r.toLinearGradientString(r)),i=a.isHexString(r)||a.isCSS3Function(r)?{"background-color":r}:r.startsWith("linear-gradient(")||r.startsWith("repeating-linear-gradient(")?{"background-image":r}:{"background-size":"cover","background-image":"url("+r+")"},t.styles.push(i,{display:function(){var t=e(this);return!t.children().length||n.childrenProbablyInline(t)?e(this).css("display"):"block"}}),t},[y(String,a,o)]).apply(void 0,_toConsumableArray((C={color:function(){return"transparent"}},E=d(Object.create(null),{none:{},bold:{"font-weight":"bold"},italic:{"font-style":"italic"},underline:{"text-decoration":"underline"},doubleunderline:{"text-decoration":"underline","text-decoration-style":"double"},wavyunderline:{"text-decoration":"underline","text-decoration-style":"wavy"},strike:{"text-decoration":"line-through"},doublestrike:{"text-decoration":"line-through","text-decoration-style":"double"},wavystrike:{"text-decoration":"line-through","text-decoration-style":"wavy"},superscript:{"vertical-align":"super","font-size":".83em"},subscript:{"vertical-align":"sub","font-size":".83em"},blink:{animation:"fade-in-out 1s steps(1,end) infinite alternate"},shudder:{animation:"shudder linear 0.1s 0s infinite"},mark:{"background-color":"hsla(60, 100%, 50%, 0.6)"},condense:{"letter-spacing":"-0.08em"},expand:{"letter-spacing":"0.1em"},outline:[{"text-shadow":function(){var t=e(this).css("color");return"-1px -1px 0 "+t+", 1px -1px 0 "+t+",-1px 1px 0 "+t+", 1px 1px 0 "+t}},{color:function(){return n.parentColours(e(this)).backgroundColour}}],shadow:{"text-shadow":function(){return"0.08em 0.08em 0.08em "+e(this).css("color")}},emboss:{"text-shadow":function(){return"0.04em 0.04em 0em "+e(this).css("color")}},smear:[{"text-shadow":function(){var t=e(this).css("color");return"0em 0em 0.02em "+t+",-0.2em 0em 0.5em "+t+", 0.2em 0em 0.5em "+t}},C],blur:[{"text-shadow":function(){return"0em 0em 0.08em "+e(this).css("color")}},C],blurrier:[{"text-shadow":function(){return"0em 0em 0.2em "+e(this).css("color")},"user-select":"none"},C],mirror:{display:"inline-block",transform:"scaleX(-1)"},upsidedown:{display:"inline-block",transform:"scaleY(-1)"},fadeinout:{animation:"fade-in-out 2s ease-in-out infinite alternate"},rumble:{animation:"rumble linear 0.1s 0s infinite"},sway:{animation:"sway linear 2.5s 0s infinite"},buoy:{animation:"buoy linear 2.5s 0s infinite"},fidget:{animation:function(){return"fidget step-end 60s "+60*-Math.random()+"s infinite"+(Math.random()<.5?" reverse":"")}}}),["text-style",function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),a=1;a<t;a++)r[a-1]=arguments[a];return s.create("text-style",r.map(n.insensitiveName))},function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];for(var a=0;a<n.length;a+=1)"none"===n[a]?e.styles=[]:e.styles=e.styles.concat(E[n[a]]);return e},[T(S.apply(void 0,_toConsumableArray(Object.keys(E))))]])))("collapse",function(){return s.create("collapse")},function(e){return e.attr.push({collapsing:!0}),e},[])("hover-style",function(e,t){var n=u.create(),r=(t.run(n),n.summary());return r+""=="styles"||r.every(function(e){return"styles"===e||"attr"===e})&&n.attr.every(function(e){return Object.keys(e)+""=="style"})?s.create("hover-style",[t]):l.create("datatype","The changer given to (hover-style:) must only change the hook's style.")},function(e,t){return e.data.hoverChanger=t,e.attr.push({hover:function(e,t){return void 0!==t&&t}}),e},[s])("css",function(e,t){return t.trim().endsWith(";")||(t+=";"),s.create("css",[t])},function(t,n){return t.attr.push({style:function(){return(e(this).attr("style")||"")+n}}),t},[String])("test-true",function(){return s.create("test-true",[])},function(e){return e.enabled=!0},w(b))("test-false",function(){return s.create("test-false",[])},function(e){return e.enabled=!1},w(b)),t.addCommand("animate",e.noop,function(e,t,r,a,i){r.forEach(t,function(t){var r=void 0;if("zoom"===name){var o=t.offset(),s=o.left,c=o.top;r=n.mouseCoords.x-s+"px "+(n.mouseCoords.y-c)+"px"}n.transitionIn(t,a,e.transitionTime||i,e.transitionDelay,e.transitionSkip,0,r)})},[T(i),S.apply(void 0,_toConsumableArray(_.innerType.filter(function(e){return"instant"!==e}))),g(x)]),["box","float-box"].forEach(function(r){return t.addChanger(r,function(e,t,n){var a=-1===t.search(f)||t.length>1&&!t.includes("="),i="float-box"===r&&(-1===n.search(f)||n.length>1&&!n.includes("="));return a||i?l.create("datatype","The ("+r+':) macro requires a sizing line("==X==", "==X", "=XXXX=" etc.) be provided, not "'+(a?t:n)+'".'):s.create(r,[t,n].filter(function(e){return void 0!==e}))},function(t,a,i){var o,s=p(a),c=s.marginLeft,u=s.size,l=void 0;if("float-box"===r){var f=p(i);l=f.marginLeft,i=f.size}var h="box"===r?"%":"vw",y=(_defineProperty(o={display:"block",width:u+h,"max-width":u+h},"box"===r?"margin-left":"left",c+h),_defineProperty(o,"box-sizing","content-box"),_defineProperty(o,"overflow-y","auto"),_defineProperty(o,"padding",function(){return e(this).css("padding")||"1em"}),o);return void 0!==i&&(y.height=i+("box"===r?"em":"vh")),"float-box"===r&&d(y,{position:"fixed",top:l+"vh","background-color":function(){return n.parentColours(e(this)).backgroundColour}}),t.styles.push(y),t},[String,"box"===r?g(k):String])})}),define("internaltypes/enchantment",["jquery","utils","internaltypes/changedescriptor","datatypes/changercommand","utils/operationutils","internaltypes/twineerror","utils/renderutils"],function(e,t,n,r,a,i,o){var s=a.objectName,c=o.collapse,u={create:function(n){return t.assertOnlyHas(n,["scope","localHook","section","attr","data","changer","functions","lambda","name"]),Object.assign(Object.create(this),{enchantments:e()},n)},enchantScope:function(){var a=this,o=this.attr,u=this.data,l=this.functions,p=this.section,f=this.scope,d=this.localHook,h=this.lambda,y=[];f.forEach(p,function(m,g){if(!d||(d.jquery?d:d.hooks(p)).has(m[0]).length){var v=void 0;if(h)if(v=h.apply(p,{loop:f.TwineScript_GetProperty(g),pos:g+1}),i.containsError(v))m.replaceWith(v.render("")),h=v=null;else if(r.isPrototypeOf(v)){var b=v.summary();(b.includes("newTargets")||b.includes("target"))&&(m.replaceWith(i.create("macrocall","The changer produced by the 'via' lambda given to enchantment macros can't include a revision or enchantment changer like (replace:) or (click:).").render("")),h=v=null)}else m.replaceWith(i.create("macrocall","The 'via' lambda given to enchantment macros must return a changer, not "+s(v)+".").render("")),h=v=null;else v=a.changer;var w=!o&&!u&&(!v||v.summary().every(function(e){return e.startsWith("transition")})),T=w?m:m.wrap("<tw-enchantment>").parent();if(o&&T.attr(o),u&&T.data(u),l&&l.forEach(function(e){return e(T)}),v){var S=n.create({section:p,target:T});if(v.run(S),S.update(),m.is(t.storyElement)){var x=Object.keys(Object.assign.apply(Object,[{}].concat(_toConsumableArray(S.styles))));m.css(x.reduce(function(e,t){return e[t]="inherit",e},{})),T.data({enchantedProperties:x})}else if(m.is("tw-passage")&&S.styles.some(function(e){return"margin-left"in e||"margin"in e||"margin-right"in e})){var k="padding-left",O="padding-right";t.storyElement.css(k,"0px").css(O,"0px"),T.data({enchantedProperties:[k,O]})}}m.is(t.storyElement)&&T.css({width:"100%",height:"100%"}),"true"===T.attr("collapsing")&&(T.find("[collapsing=false]").each(function(){e(this).removeAttr("collapsing")}),c(T)),w||y.push(T)}}),this.enchantments=e(y)},disenchant:function(){this.enchantments.each(function(){e(this).contents().unwrap();var n=e(this).data("enchantedProperties");n&&t.storyElement.css(n.reduce(function(e,t){return e[t]="",e},{}))})}};return Object.freeze(u)}),define("macrolib/enchantments",["jquery","utils","utils/operationutils","engine","state","passages","macros","datatypes/hookset","datatypes/changercommand","datatypes/lambda","internaltypes/changedescriptor","internaltypes/enchantment","internaltypes/twineerror"],function(e,t,n,r,a,i,o,s,c,u,l,p,f){var d=n.is,h=o.TypeSignature,y=h.either,m=h.rest,g=h.optional;function v(e,t){if(c.isPrototypeOf(t)){var n=t.summary();if(["newTargets","target","appendSource","functions"].some(function(e){return n.includes(e)}))return f.create("datatype","The changer given to ("+e+":) can't include a revision or enchantment changer like (replace:) or (click:).")}}["enchant","change"].forEach(function(e){o.addCommand(e,function(t,n){var r=v(e,n);if(r)return r},function(t,n,r){var a;n=s.from(n);var i=[];if(c.isPrototypeOf(r)){var o=l.create({section:t});if(r.run(o),(o.innerEnchantments||[]).length>0){var u=o.innerEnchantments.map(function(e){return e(n)});i.push.apply(i,_toConsumableArray(u))}}return i.push(p.create((_defineProperty(a={scope:n},c.isPrototypeOf(r)?"changer":"lambda",r),_defineProperty(a,"section",t),a))),i.forEach(function(n){"enchant"===e?(t.addEnchantment(n),t.updateEnchantments()):n.enchantScope()}),""},[y(s,String),y(c,u.TypeSignature("via"))],!1)}),o.addChanger("enchant-in",function(e,t,n){var r=v("enchant-in",n);return r||c.create("enchant-in",[t,n])},function(e,t,n){return e.innerEnchantments=(e.innerEnchantments||[]).concat(function(r){var a;return p.create((_defineProperty(a={scope:s.from(t),localHook:r},c.isPrototypeOf(n)?"changer":"lambda",n),_defineProperty(a,"section",e.section),a))}),e},[y(s,String),y(c,u.TypeSignature("via"))]),[["link-style",s.create({type:"name",data:"link"})],["line-style",s.create({type:"base",data:s.create({type:"name",data:"page"})},"lines",void 0)],["char-style",s.create({type:"base",data:s.create({type:"name",data:"page"})},"chars",void 0)]].forEach(function(e){var t=_slicedToArray(e,2),n=t[0],r=t[1];o.addChanger(n,function(e,t){var r=v(n,t);return r||c.create(n,[t])},function(e,t){return e.innerEnchantments=(e.innerEnchantments||[]).concat(function(n){var a;return p.create((_defineProperty(a={scope:r,localHook:n},c.isPrototypeOf(t)?"changer":"lambda",t),_defineProperty(a,"section",e.section),a))}),e},[y(c,u.TypeSignature("via"))])});var b=["replace","append","prepend"];function w(n,a){return t.onStartup(function(){var r=n.classList.replace(/ /g,"."),a=n.blockClassList?n.blockClassList.replace(/ /g,"."):"",i="."+r+(a?",."+a:"");t.storyElement.on(n.event.map(function(e){return e+".enchantment"}).join(" "),i,function(){var t=e(Array.from(e(this).parents(i).add(this)).sort(function(e,t){return 8&e.compareDocumentPosition(t)?1:-1})[0]),n=t.data("enchantmentEvent");n&&n(t)})}),[function(e,t,n){if(!t)return f.create("datatype","A string given to this ("+a+":) macro was empty.");if(n){var r=v(a,n);if(r)return r}return c.create(a,[s.from(t)].concat(n?[n]:[]))},function(e,t,i){e.enabled=!1,e.transitionDeferred=!0,n.rerender&&(e.newTargets=(e.newTargets||[]).concat({target:t,append:n.rerender}));var o=e.section&&e.section.stackTop?e.section.stackTop.tempVariables:Object.create(null),s=p.create(_defineProperty({functions:[function(e){e.attr("class",e.children().is("tw-story, tw-sidebar, tw-passage")||"block"===e.children().css("display")?n.blockClassList:n.classList)}],attr:(n.classList+"").match(/\b(?:link|enchantment-clickblock)\b/)?{tabIndex:"0"}:{},data:{enchantmentEvent:function(){e.section.stackTop&&e.section.stackTop.blocked||(n.once&&e.section.removeEnchantment(s),n.goto?r.goToPassage(n.goto,{transition:n.transition}):n.undo?r.goBack({transition:n.transition}):e.section.renderInto(e.source,null,Object.assign({},e,{enabled:!0,transitionDeferred:!1}),o))}},scope:t,section:e.section,name:a},c.isPrototypeOf(i)?"changer":"lambda",i));return e.section&&(e.section.addEnchantment(s),s.enchantScope()),e},[y(s,String),g(y(c,u.TypeSignature("via")))]]}b.forEach(function(t){o.addChanger(t,function(e){for(var n=arguments.length,r=Array(n>1?n-1:0),a=1;a<n;a++)r[a-1]=arguments[a];return r.every(Boolean)?c.create(t,r.map(s.from)):f.create("datatype","A string given to this ("+t+":) macro was empty.")},function(n){for(var r,a=arguments.length,i=Array(a>1?a-1:0),o=1;o<a;o++)i[o-1]=arguments[o];return e(n.target).parents().filter("tw-collapsed,[collapsing=true]").length>0||n.attr.some(function(e){return e.collapsing})||(n.attr=[].concat(_toConsumableArray(n.attr),[{collapsing:!1}])),n.newTargets=n.newTargets||[],(r=n.newTargets).push.apply(r,_toConsumableArray(i.filter(function(e){return!n.newTargets.some(function(n){var r=n.target,a=n.append;return d(e,r)&&t===a})}).map(function(e){return{target:e,append:t,before:!0}}))),n},m(y(s,String)))(t+"-with",function(e,n){return c.create(t+"-with",[n])},function(e,n){return e.appendSource=(e.appendSource||[]).concat({source:n,append:t}),e},String)});var T="ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0,S=[{name:"click",enchantDesc:{event:["click"],once:!0,rerender:"",classList:"link enchantment-link",blockClassList:"enchantment-clickblock"}},{name:"mouseover",enchantDesc:{event:["mouseenter",T?"click":""].filter(Boolean),once:!0,rerender:"",classList:"enchantment-mouseover",blockClassList:"enchantment-mouseoverblock"}},{name:"mouseout",enchantDesc:{event:["mouseleave",T?"click":""].filter(Boolean),once:!0,rerender:"",classList:"enchantment-mouseout",blockClassList:"enchantment-mouseoutblock"}}];S.forEach(function(e){return o.addChanger.apply(o,[e.name].concat(_toConsumableArray(w(e.enchantDesc,e.name))))}),t.onStartup(function(){S.forEach(function(n){var r=n.enchantDesc;r.blockClassList&&t.storyElement.on(r.event.map(function(e){return e+".enchantment"}).join(" "),function(){var t=e(Array.from(e(this).parents("."+r.blockClassList.replace(/ /g,"."))).sort(function(e,t){return 8&e.compareDocumentPosition(t)?1:-1})[0]),n=t.data("enchantmentEvent");n&&n(t)})})}),b.forEach(function(e){S.forEach(function(t){var n=Object.assign({},t.enchantDesc,{rerender:e}),r=t.name+"-"+e;o.addChanger.apply(o,[r].concat(_toConsumableArray(w(n,r))))})}),S.forEach(function(e){["goto","undo"].forEach(function(t){var n=e.name+"-"+t;o.addCommand(n,function(e,r){return!e||!r&&"goto"===t?f.create("datatype","A string given to this ("+n+":) macro was empty."):"goto"!==t||i.hasValid(r)?void 0:f.create("macrocall","I can't ("+n+":) the passage '"+r+"' because it doesn't exist.")},function(r,i,o,c){if("undo"===t&&a.pastLength<1)return f.create("macrocall","I can't (undo:) on the first turn.");var u=w(Object.assign({},e.enchantDesc,{transition:r.data.passageT8n},"undo"===t?{undo:!0}:{goto:c}),n);return(0,_slicedToArray(u,2)[1])({section:i},s.from(o)),Object.assign(r,{source:""})},[y(s,String)].concat("undo"===t?[]:String))})})}),define("macrolib/metadata",["macros","renderer","utils/operationutils","datatypes/lambda","internaltypes/twineerror"],function(e,t,n,r,a){var i=n.clone,o=n.objectName,s=n.isValidDatamapName,c=e.TypeSignature,u=c.zeroOrMore,l=c.Any,p=t.options.metadataMacros,f=function(e){return{TwineScript_TypeName:"a ("+e+":) macro",TwineScript_ObjectName:"a ("+e+":) macro",TwineScript_Unstorable:!0,TwineScript_Print:function(){return""}}};[["storylet",r.TypeSignature("when")],["urgency",Number],["exclusivity",Number]].forEach(function(t){var n=_slicedToArray(t,2),r=n[0],a=n[1];e.add(r,function(e,t){return e.stackTop.speculativePassage?t:f(r)},a),p.push(r)}),e.add("metadata",function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var c=void 0,u=new Map,l=n.reduce(function(e,t){var n=void 0;if(a.containsError(e))return e;if(void 0===c)c=t;else{if(n=a.containsError(s(u,c)))return n;if(u.has(c))return a.create("macrocall","You used the same data name ("+o(c)+") twice in the same (metadata:) call.");u.set(c,i(t)),c=void 0}return e},!0);return a.containsError(l)?l:void 0!==c?a.create("macrocall","This (metadata:) macro has a data name without a value."):e.stackTop.speculativePassage?u:f("storylet")},u(l)),p.push("metadata")}),define("macrolib/patterns",["jquery","macros","utils","utils/operationutils","datatypes/datatype","datatypes/typedvar","internaltypes/twineerror"],function(e,t,n,r,a,i,o){var s=n.anyRealLetter,c=n.anyUppercase,u=n.anyLowercase,l=n.anyCasedLetter,p=n.realWhitespace,f=n.impossible,d=r.objectName,h=r.toSource,y=t.TypeSignature,m=y.rest,g=y.either,v=y.optional,b=y.nonNegativeInteger,w=Object.assign,T=Object.create,S=m(g(String,a,i)),x=function e(t){var n,r=t.name,y=t.fullArgs,m=t.args,g=t.makeRegExpString,v=void 0===g?function(e){return e.join("")}:g,b=t.insensitive,S=void 0!==b&&b,x=t.canContainTypedVars,k=void 0===x||x,O=t.canBeUsedAlone,j=void 0===O||O,A=m||y,C=A.map(function e(t){if(i.isPrototypeOf(t)){if(!k)return o.create("operation","Optional string patterns, like ("+r+":)"+("p-many"===r?" with min 0":"")+", can't have typed variables inside them.");var n=e(t.datatype);return o.containsError(n)?n:"("+n+")"}if(a.isPrototypeOf(t)){if(!k&&"typedVars"in t&&t.typedVars().length)return o.create("operation","("+r+":) can't have typed variables inside its pattern.");if(t.regExp)return(t.rest?"(?:":"")+(S?t.insensitive().regExp:t.regExp)+(t.rest?")*":"");var h=t.name,y=t.rest?"*":"";return"alnum"===h?s+y:"whitespace"===h?p+y:"uppercase"===h?(S?l:c)+y:"lowercase"===h?(S?l:u)+y:"anycase"===h?l+y:"digit"===h?"\\d"+y:"linebreak"===h?"(?:\\r|\\n|\\r\\n)"+y:"str"===h?".*?":["even","odd","int","num"].includes(h)?o.create("datatype","Please use string datatypes like 'digit' in ("+r+":) instead of number datatypes."):o.create("datatype","The ("+r+":) macro must only be given string-related datatypes, not "+d(t)+".")}return"string"==typeof t?(t=t.replace(/[.*+\-?^${}()|[\]\\]/g,"\\$&"),S&&(t=t.replace(RegExp("("+c+"|"+u+")","g"),function(e){return"["+e.toUpperCase()+e.toLowerCase()+"]"})),t):(f("createPattern","mapper() was given a non-string non-datatype "+t),"")});if(n=o.containsError(C))return n;var E=v(C),_=w(T(a),{name:r,regExp:E,insensitive:function(){return S?_:e({name:r,fullArgs:y,args:A.map(function(e){return a.isPrototypeOf(e)&&"function"==typeof e.insensitive?e.insensitive():e}),makeRegExpString:v,insensitive:!0,canContainTypedVars:k,canBeUsedAlone:j})},typedVars:function(){return A.reduce(function(t,n){return i.isPrototypeOf(n)&&(t=t.concat(S?i.create(e({name:"p-ins",fullArgs:[n.datatype],insensitive:!0}),n.varRef):n),n=n.datatype),a.isPrototypeOf(n)&&"function"==typeof n.typedVars&&(t=t.concat(n.typedVars())),t},[])},destructure:function(t){if("string"!=typeof t)return[o.create("operation","I can't unpack "+d(t)+" into "+this.TwineScript_ToSource()+" because it isn't a string.")];var n=this.typedVars();if(!n.length)return[];var r=(RegExp("^"+(this.rest?"(?:":"")+E+(this.rest?")*":"")+"$").exec(t)||[]).slice(1);return r.length?r.map(function(t,r){var a=n[r];if(a)return a.datatype.rest&&!a.datatype.regExp&&((a=a.TwineScript_Clone()).datatype=e({name:"p",fullArgs:[a.datatype]})),{dest:a,value:t||"",src:void 0}}).filter(Boolean):[o.create("operation","I can't unpack "+d(t)+" because it doesn't match the pattern "+this.TwineScript_ToSource()+".")]},TwineScript_IsTypeOf:function(e){return j?"string"==typeof e&&!!e.match("^"+(this.rest?"(?:":"")+E+(this.rest?")*":"")+"$"):o.create("operation","A ("+r+":) datatype must only be used with a (p:) macro.")},TwineScript_toTypeSignatureObject:function(){var e=this;return{pattern:"range",name:r,range:function(t){return e.TwineScript_IsTypeOf(t)}}},TwineScript_ToSource:function(){return(this.rest?"...":"")+"("+r+":"+y.map(h)+")"}});return Object.defineProperty(_,"TwineScript_ObjectName",{get:function(){return"a ("+r+":) datatype"}}),_};t.add(["p","pattern"],function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return x({name:"p",fullArgs:n})},S)(["p-either","pattern-either"],function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return x({name:"p-either",fullArgs:n,canContainTypedVars:!1,makeRegExpString:function(e){return"(?:"+e.join("|")+")"}})},S)(["p-opt","pattern-opt","p-optional","pattern-optional"],function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return x({name:"p-opt",fullArgs:n,canContainTypedVars:!1,makeRegExpString:function(e){return"(?:"+e.join("")+")?"}})},S)(["p-not","pattern-not"],function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return n.find(function(e){return"string"==typeof e?1!==[].concat(_toConsumableArray(e)).length:e.rest||e.regExp||["str","empty"].includes(e.name)})?o.create("datatype","(p-not:) should only be given single character"):x({name:"p-not",fullArgs:n,canContainTypedVars:!1,makeRegExpString:function(e){return"[^"+e.map(function(e){return e.startsWith("[")&&e.endsWith("]")?e.slice(1,-1):e}).join("")+"]"}})},S)(["p-many","pattern-many"],function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var s=n.slice(),c=void 0,u=void 0;if("number"==typeof n[0]&&(c=n.shift(),u="number"==typeof n[0]?n.shift():1/0),void 0!==u&&u<c)return o.create("datatype","The (p-many:) macro needs to be given string patterns, not just min and max numbers.");if(!n.length)return o.create("datatype","The (p-many:) macro needs to be given string patterns, not just min and max numbers.");var l=n.find(function(e){return"string"!=typeof e&&!a.isPrototypeOf(e)&&!i.isPrototypeOf(e)});return l?o.create("datatype","This (p-many:) macro can only be given a min and max number followed by datatypes or strings, but was also given "+d(l)+"."):x({name:"p-many",args:n,fullArgs:s,canContainTypedVars:c>0,makeRegExpString:function(e){return"(?:"+e.join("")+")"+(void 0!==c?"{"+c+(u===1/0?",":u!==c?","+u:"")+"}":"+")}})},[m(g(b,String,a,i))])(["p-ins","pattern-ins","p-insensitive","pattern-insensitive"],function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return x({name:"p-ins",fullArgs:n,insensitive:!0})},S)(["split","splitted"],function(e,t,n){if(t=x({name:"split",fullArgs:[t],canContainTypedVars:!1}),o.containsError(t))return t;if(!n)return[""];if(!t.regExp)return[].concat(_toConsumableArray(n));for(var r=RegExp(t.regExp),a=[],i=void 0;n&&(i=r.exec(n));){if(i.index+i[0].length===0)return a;a.push(n.slice(0,i.index)),n=n.slice(i.index+i[0].length)}return a.concat(n||[])},[g(String,a),String])("trimmed",function(e,t,n){return void 0===n||a.isPrototypeOf(t)&&"whitespace"===t.name?t.trim():(t=x({name:"trimmed",fullArgs:[t],canContainTypedVars:!1}),o.containsError(t)?t:t.regExp?n.replace(RegExp("^("+t.regExp+")*|("+t.regExp+")*$","g"),""):n)},[g(String,a),v(String)])}),define("macrolib/links",["jquery","macros","utils","state","passages","engine","datatypes/changercommand","internaltypes/changedescriptor","datatypes/hookset","datatypes/lambda","internaltypes/twineerror"],function(e,t,n,r,a,i,o,s,c,u,l){var p=t.TypeSignature,f=p.optional,d=p.rest,h=p.either,y=["Links can't have empty strings for their displayed text.","In the link syntax, a link's displayed text is inside the [[ and ]], and on the non-pointy side of the -> or <- arrow if it's there."],m=Object.assign;function g(e,t,r){r=r||t;var i=a.hasValid(t)&&t===r,o=e.evaluateTwineMarkup(n.unescape(r),"a link's passage name"),s=void 0;if(i){var c=o.children().length>0?"`".repeat((r.match(/`+/)||[]).reduce(function(e,t){return Math.max(e,t.length+1)},1)):"";t=c+"\0".repeat(!!c)+t+"\0".repeat(!!c)+c}else o.findAndFilter("tw-error").length&&(s=o.findAndFilter("tw-error").data("TwineError")),r=o.text();return{text:t,passage:r,error:s}}n.onStartup(function(){e(n.storyElement).on("click.passage-link","tw-link",function(t){var n=e(this),r=n.closest("tw-expression"),a=n.closest("tw-expression, tw-hook"),o=a.data("clickEvent"),s=a.data("section");if(!(s&&s.stackTop&&s.stackTop.blocked)){if(o){if(n.find("tw-error").length>0)return;return t.stopPropagation(),void o(n)}var c=r.data("linkPassageName"),u=Object.assign({},r.data("passageT8n")||{});return r.find("tw-enchantment").each(function(t,n){Object.assign(u,e(n).data("passageT8n")||{})}),c?(t.stopPropagation(),void i.goToPassage(c,{transition:u})):n.is("[undo]")?(t.stopPropagation(),void i.goBack({transition:u})):n.is("[fullscreen]")?(t.stopPropagation(),void i.toggleFullscreen()):void 0}}),e(document).on("fullscreenchange",function(){e("tw-link[fullscreen]",n.storyElement).each(function(t,n){(e(n).closest("tw-expression, tw-hook").data("fullscreenEvent")||Object)(n)})})}),[["link","link-replace"],["link-reveal"],["link-repeat"],["link-rerun"]].forEach(function(e){return t.addChanger(e,function(t,n,r){if(!n)return l.create("datatype",y[0]);if(r){var a=r.summary();if(["newTargets","target","appendSource","functions"].some(function(e){return a.includes(e)}))return l.create("datatype","The changer given to ("+e[0]+":) can't include a revision or enchantment changer like (replace:) or (click:).")}return o.create(e[0],[n].concat(r||[]))},function(t,n,r){var a=e[0],i=t.section&&t.section.stackTop?t.section.stackTop.tempVariables:Object.create(null),o=s.create({source:"<tw-link tabindex=0>"+n+"</tw-link>",target:function(){return t.target},append:"replace",data:{section:t.section,clickEvent:function(e){t.enablers=t.enablers.filter(function(e){return e.descriptor!==o}),"link-reveal"===a&&e.contents().unwrap();var n=e.parentsUntil(":not(tw-enchantment)").parent();if(n.length||(n=e.parent()),"link-rerun"===a){var r=e.parentsUntil(":not(tw-enchantment)");e.detach(),r.remove()}"link"!==a&&"link-rerun"!==a||n.empty(),t.section.renderInto("",null,t,i),"link-rerun"===a&&n.prepend(e)}}});return t.enablers=(t.enablers||[]).concat({descriptor:o,changer:r}),t},[String,f(o)])}),t.addCommand("link-goto",function(e){if(!e)return l.create.apply(l,["datatype"].concat(y))},function(e,t,i,o){var s,c=g(t,i,o);if(i=c.text,o=c.passage,s=c.error)return s;if(e.transition){var u="transition";return l.create("datatype","Please attach ("+u+"-depart:) or ("+u+"-arrive:) to a passage link, not ("+u+":).")}var p=void 0;return a.hasValid(o)||(p='<tw-broken-link passage-name="'+n.escape(o)+'">'+i+"</tw-broken-link>"),p=p||"<tw-link tabindex=0 "+(r.passageNameVisited(o)>0?'class="visited" ':"")+">"+i+"</tw-link>",e.data.linkPassageName=o,e.data.section=t,m(e,{source:p,transitionDeferred:!0})},[String,f(String)])("link-storylet",function(){var e,t=(e=1===arguments.length||"string"!=typeof(arguments.length<=0?void 0:arguments[0])?0:1,arguments.length<=e?void 0:arguments[e]);if(!t||"string"==typeof t)return l.create("datatype","(link-storylet:) should be given one index number or one 'where' lambda, after the optional link text string.")},function(e,t){var n,i,o,s=(n=2+(1==(arguments.length<=2?0:arguments.length-2)?0:3==(arguments.length<=2?0:arguments.length-2)||"string"==typeof(arguments.length<=2?void 0:arguments[2])?1:2),arguments.length<=n?void 0:arguments[n]),c="string"==typeof(arguments.length<=2?void 0:arguments[2])&&(arguments.length<=2?void 0:arguments[2]),p=(i=(arguments.length<=2?0:arguments.length-2)-1+2,(arguments.length<=i?void 0:arguments[i])!==s&&(o=(arguments.length<=2?0:arguments.length-2)-1+2,arguments.length<=o?void 0:arguments[o]));if(e.transition){var f="transition";return l.create("datatype","Please attach ("+f+"-depart:) or ("+f+"-arrive:) to (link-storylet:), not ("+f+":).")}var d=u.isPrototypeOf(s),h=a.getStorylets(t,d&&s),y=l.containsError(h);if(y)return y;var g=h[d?0:s<0?h.length+s:s-1],v=void 0;if(g)g=g.get("name"),c=c||g,v=v||"<tw-link tabindex=0 "+(r.passageNameVisited(g)>0?'class="visited" ':"")+">"+c+"</tw-link>",e.data.linkPassageName=g,e.data.section=t;else{if(!p)return e;v=p}return m(e,{source:v,transitionDeferred:!0})},[h(parseInt,String,u.TypeSignature("where")),f(h(parseInt,String,u.TypeSignature("where"))),f(String)])("link-undo",function(e){if(!e)return l.create("datatype",y[0])},function(e,t,n){return r.pastLength<1?l.create("macrocall","I can't use (link-undo:) on the first turn."):(e.data.section=t,m(e,{source:"<tw-link tabindex=0 undo>"+n+"</tw-link>",transitionDeferred:!0}))},[String])("link-show",function(e){if(!e)return l.create("datatype",y[0])},function(t,n,r){for(var a=arguments.length,i=Array(a>3?a-3:0),o=3;o<a;o++)i[o-3]=arguments[o];return t.data.section=n,t.data.clickEvent=function(r){r.contents().unwrap(),i.forEach(function(r){return r.forEach(n,function(r){var a=r.data("originalSource")||"",i=r.data("hidden");if(i)if(r.removeData("hidden"),i instanceof e)r.empty().append(i);else{var o=r.data("tempVariables");n.renderInto("",null,m({},t,{source:a,target:r,transitionDeferred:!1}),o&&Object.create(o))}})})},m(t,{source:"<tw-link tabindex=0>"+r+"</tw-link>",transitionDeferred:!0})},[String,d(c)])("link-fullscreen",function(e,t){if(!e||!t)return l.create("datatype",y[0])},function(e,t,n,r){var a=function(){return document.fullscreenEnabled||document.msFullscreenEnabled?"<tw-link tabindex=0 fullscreen>"+(document.fullscreenElement||document.msFullscreenElement?r:n)+"</tw-link>":r?"<tw-broken-link>"+r+"</tw-broken-link>":""},i=t.stackTop.tempVariables;return e.data.section=t,e.data.fullscreenEvent=function(){(document.fullscreenEnabled||document.msFullscreenEnabled)&&e.data.section.whenUnblocked(function(){var t=m({},e,{append:"replace",source:a(),transitionDeferred:!1});e.section.renderInto("",null,t,i)})},m(e,{source:a(),transitionDeferred:!0})},[String,String,f(String)]),t.addChanger(["link-reveal-goto"],function(e,t,n,r){if(!t)return l.create.apply(l,["datatype"].concat(y));if(o.isPrototypeOf(n)){if(o.isPrototypeOf(r))return l.create("datatype","You mustn't give two changers to (link-reveal-goto:)");r=n,n=void 0}if(r){var a=r.summary();if(["newTargets","target","appendSource","functions"].some(function(e){return a.includes(e)}))return l.create("datatype","The changer given to (link-reveal-goto:) can't include a revision or enchantment changer like (replace:) or (click:).")}var i=g(e,t,n);return t=i.text,n=i.passage,i.error||o.create("link-reveal-goto",[t,n,r].filter(function(e){return void 0!==e}))},function(e,t,o,c){if(a.hasValid(o)){var u=r.passageNameVisited(o),l=e.section&&e.section.stackTop?e.section.stackTop.tempVariables:Object.create(null),p=s.create({source:"<tw-link tabindex=0 "+(u>0?'class="visited" ':"")+">"+t+"</tw-link>",target:e.target,append:"replace",data:{section:e.section,append:"replace",clickEvent:function(t){e.enablers=e.enablers.filter(function(e){return e.descriptor!==p}),t.contents().unwrap(),e.section.renderInto("",null,e,l),e.section.whenUnblocked(function(){return i.goToPassage(o,{transition:e.data.passageT8n})})}}});return e.enablers=(e.enablers||[]).concat({descriptor:p,changer:c}),e}e.source='<tw-broken-link passage-name="'+n.escape(o)+'">'+t+"</tw-broken-link>"},[String,f(h(o,String)),f(o)])}),define("macrolib/custommacros",["utils","macros","state","utils/operationutils","datatypes/changercommand","datatypes/custommacro","datatypes/codehook","datatypes/typedvar","internaltypes/twineerror"],function(e,t,n,r,a,i,o,s,c){var u=t.add,l=t.addChanger,p=t.addCommand,f=t.TypeSignature,d=f.rest,h=f.either,y=f.Any,m=r.objectName;u("macro",function(t){for(var r=arguments.length,a=Array(r>1?r-1:0),o=1;o<r;o++)a[o-1]=arguments[o];var u=void 0,l=[];for(u=0;u<a.length;u+=1){var p=u===a.length-1;if(s.isPrototypeOf(a[u])===p)return c.create("datatype","The "+(p?"":e.nth(a.length-u+1)+"-")+"last value given to (macro:) should be a "+(p?"code hook":"datatyped variable")+", not "+m(a[u]));if(!p){var f="A custom macro";if(a[u].varRef.object===n.variables)return c.create("datatype",f+"'s typed variables must be temp variables (with a '_'), not global variables (with a '$').","Write them with a _ symbol at the start instead of a $ symbol.");if(a[u].varRef.propertyChain.length>1)return c.create("datatype",f+"'s typed variables can't be properties inside a data structure.");if(a[u].datatype.rest&&u!==a.length-2)return c.create("datatype",f+" can only have one spread variable, and it must be its last variable.");var d=a[u].varRef.propertyChain[0];if(l.includes(d))return c.create("datatype",f+"'s typed variables can't both be named '"+d+"'.");l.push(d)}}return i.create(a.slice(0,-1),a[a.length-1])},[d(h(s,o))]);var g=function(e,t,n){if(!t.some(function(e){if("function"==typeof e.output)return e.output(n),!0}))return c.create("macrocall","("+e+":) should only be used inside a code hook passed to (macro:).")};p(["output-data","out-data"],function(){},function(e,t){var n=e.stack;return g("output-data",n,t)||"blocked"},[y],!1),l(["output","out"],function(e){return Object.assign(a.create("output",[e]))},function(e,t){var n=t.stack,r=t.stackTop;return e.loopVars=Object.keys(r.tempVariables).reduce(function(e,t){return e[t]=[r.tempVariables[t]],e},{}),g("output",n,e),r.blocked=!0,e},[]),p("error",function(e){if(!e)return c.create("datatype","This (error:) macro was given an empty string.")},function(e,t){var n=e.stack;return g("error",n,c.create("user",t))||"blocked"},[String],!1)}),define("repl",["utils","engine","markup","twinescript/compiler","twinescript/environ"],function(e,t,n,r,a){e.onStartup(function(){return setTimeout(function(){t.options.debug&&(window.REPL=function(e){var t=r(n.lex("(print:"+e+")"));console.log(t);var i=a({}).eval(t);return i.TwineScript_Run?i.TwineScript_Run().source:i},window.LEX=function(e){var t=n.lex(e);return 1===t.length?t[0]:t})})})}),require.config({paths:{jquery:"../node_modules/jquery/dist/jquery",almond:"../node_modules/almond/almond","es6-shim":"../node_modules/es6-shim/es6-shim",jqueryplugins:"utils/jqueryplugins",markup:"./markup/markup",lexer:"./markup/lexer",patterns:"./markup/patterns"},deps:["es6-shim","jqueryplugins"]}),require(["jquery","debugmode/mode","renderer","state","section","engine","passages","utils","utils/renderutils","internaltypes/varscope","internaltypes/twineerror","macros","macrolib/values","macrolib/commands","macrolib/datastructures","macrolib/stylechangers","macrolib/enchantments","macrolib/metadata","macrolib/patterns","macrolib/links","macrolib/custommacros","repl"],function($,DebugMode,Renderer,State,Section,Engine,Passages,Utils,_ref118,VarScope,TwineError){var dialog=_ref118.dialog;function __HarloweEval(text){return eval(text+"")}var _installHandlers=function(){$(document.documentElement).on("keydown",function(e){13===e.which&&"0"===e.target.getAttribute("tabindex")&&$(e.target).trigger("click")}),Engine.options.debug?DebugMode():TwineError.on("error",function(e,t){return!$("tw-debugger").length&&DebugMode(e,t)}),_installHandlers=null},oldOnError;function printJSError(e){var t=e.name+": "+e.message;if(e.stack){var n=e.stack.split("\n"),r=n.findIndex(function(e){return e.includes("__HarloweEval")});t+="\n"+n.slice(0,r).join("\n").replace(/\([^\)]+\)/g,"")}return"<div style='font-family:monospace;overflow-y:scroll;max-height:30vh'>```"+t+"```</div>"}oldOnError=window.onerror,window.onerror=function(e,t,n,r,a){window.onerror=oldOnError,Utils.storyElement.parent().append(dialog({message:"Sorry to interrupt, but this page's code has got itself in a mess.\n\n"+printJSError(a)+"\n(This is probably due to a bug in the Harlowe game engine.)"})),"function"==typeof oldOnError&&oldOnError.apply(void 0,arguments)},Utils.onStartup(function(){var e=$("tw-storydata");if(0!==e.length){var t=e.attr("options");t&&t.split(/\s/).forEach(function(e){Renderer.options[e]=Engine.options[e]=!0});var n=e.attr("startnode");Renderer.options.ifid=Engine.options.ifid=e.attr("ifid"),n||(n=[].reduce.call($("tw-passagedata"),function(e,t){var n=t.getAttribute("pid");return n<e?n:e},1/0)),n=$("tw-passagedata[pid="+n+"]").attr("name"),_installHandlers();var r=!1;$("[role=script]").each(function(e){try{__HarloweEval($(this).html())}catch(t){r||(r=!0,dialog({parent:Utils.storyElement.parent(),message:"There is a problem with this story's "+Utils.nth(e+1)+" script:\n\n"+printJSError(t)}))}}),$("[role=stylesheet]").each(function(e){$(document.head).append('<style data-title="Story stylesheet '+(e+1)+'">'+$(this).html())});var a=Section.create();a.stack=[{tempVariables:Object.create(VarScope)}];var i=Passages.loadMetadata(a);if(i.length){var o=dialog({parent:Utils.storyElement.parent(),message:"These errors occurred when running the `(metadata:)` macro calls in this story's passages:<p></p>"});i.forEach(function(e){return o.find("p").append(e.render(""))})}var s=!Engine.options.debug&&State.hasSessionStorage&&sessionStorage.getItem("Saved Session");s&&!0===State.deserialise(a,s)?Engine.showPassage(State.passage,!1):Engine.goToPassage(n)}})}),define("harlowe",function(){}),require(["harlowe"])}();
</script>
</body>
</html>