Initial commit

ZnoteX / Commit #5

Commit Initial commit

Alex Alex committed 01/10/2026 09:20 main Full upload
481 files +128,311 -0
A assets/forum.css +277-0 View file
@@ -0,0 +1,277 @@
1+.znx-forum {
2+ --znf-surface: var(--box-inner-bg, var(--box-bg, var(--nz-panel, var(--wc-bg-2, var(--z-panel-2, var(--s-panel, var(--primary, #1b1e25)))))));
3+ --znf-surface-2: color-mix(in srgb, var(--znf-surface) 82%, #000);
4+ --znf-hover: color-mix(in srgb, var(--znf-accent, #d1a233) 8%, transparent);
5+ --znf-text: var(--font-color, var(--text, var(--nz-text, var(--wc-text, var(--z-text, var(--s-text, #dfe4ec))))));
6+ --znf-border: var(--border, var(--box-inner-border, var(--box-border, var(--nz-border-soft, var(--wc-line, var(--z-border, #2a2e37))))));
7+ --znf-accent: var(--accent, var(--link, var(--nz-accent, #d1a233)));
8+ --znf-danger: #e5534b;
9+ --znf-radius: 12px;
10+ --znf-muted: color-mix(in srgb, var(--znf-text) 58%, transparent);
11+
12+ color: var(--znf-text);
13+ line-height: 1.55;
14+ font-size: 14px;
15+}
16+.znx-forum * { box-sizing: border-box; }
17+.znx-forum a { color: var(--znf-accent); text-decoration: none; }
18+.znx-forum a:hover { text-decoration: underline; }
19+.znx-forum font { font: inherit; }
20+.znx-forum font[color="red"], .znx-forum font[color='red'] { color: var(--znf-danger); font-weight: 700; }
21+
22+/* ---- headings + breadcrumb ------------------------------- */
23+.znx-forum h1, .znx-forum .znf-h1, .znx-forum #ThreadTitle, .znx-forum .znf-title {
24+ font-size: 23px; line-height: 1.25; font-weight: 800; margin: 2px 0 4px; letter-spacing: .01em;
25+}
26+.znx-forum h1 a, .znx-forum .znf-title a { color: inherit; }
27+.znx-forum .znf-crumbs {
28+ display: flex; flex-wrap: wrap; align-items: center; gap: 6px;
29+ margin: 0 0 14px; font-size: 12.5px; color: var(--znf-muted);
30+}
31+.znx-forum .znf-crumbs a { color: var(--znf-muted); }
32+.znx-forum .znf-crumbs a:hover { color: var(--znf-accent); text-decoration: none; }
33+.znx-forum .znf-crumbs span { opacity: .5; }
34+
35+.znx-forum .znf-bhead {
36+ display: flex; align-items: center; justify-content: space-between;
37+ gap: 14px; flex-wrap: wrap; margin: 0 0 16px;
38+}
39+.znx-forum .znf-bhead h1, .znx-forum .znf-bhead .znf-h1 { margin: 0; }
40+
41+/* ---- alerts / permission messages ---------------------- */
42+.znx-forum .znf-alert,
43+.znx-forum p:has(> b > font[color]),
44+.znx-forum p:has(> font[color]) {
45+ margin: 0 0 16px; padding: 12px 16px;
46+ border: 1px solid color-mix(in srgb, var(--znf-danger) 45%, var(--znf-border));
47+ border-left: 3px solid var(--znf-danger);
48+ border-radius: 10px;
49+ background: color-mix(in srgb, var(--znf-danger) 11%, transparent);
50+ font-size: 13.5px;
51+}
52+.znx-forum .znf-note {
53+ margin: 0 0 16px; padding: 12px 16px; border: 1px solid var(--znf-border);
54+ border-radius: 10px; background: var(--znf-surface-2); font-size: 13.5px; color: var(--znf-muted);
55+}
56+.znx-forum .forumCooldown {
57+ display: block; margin: 12px 0; padding: 10px 14px;
58+ border: 1px solid color-mix(in srgb, var(--znf-danger) 40%, var(--znf-border));
59+ border-radius: 9px; background: color-mix(in srgb, var(--znf-danger) 9%, transparent);
60+ color: var(--znf-danger); font-size: 13px; font-weight: 600;
61+}
62+.znx-forum .znf-empty {
63+ margin: 0; padding: 26px 16px; text-align: center;
64+ color: var(--znf-muted); font-size: 14px;
65+}
66+
67+/* ---- board list --------------------------------------- */
68+.znx-forum .znf-boards { display: flex; flex-direction: column; gap: 0; border: 1px solid var(--znf-border); border-radius: var(--znf-radius); overflow: hidden; background: var(--znf-surface); }
69+.znx-forum .znf-boards + .znf-boards { margin-top: 18px; }
70+.znx-forum .znf-boards__title {
71+ padding: 10px 16px; font-size: 11px; font-weight: 800; text-transform: uppercase;
72+ letter-spacing: .07em; color: var(--znf-muted); background: var(--znf-surface-2);
73+ border-bottom: 1px solid var(--znf-border);
74+}
75+.znx-forum .znf-board {
76+ display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 14px;
77+ padding: 15px 16px; border-top: 1px solid var(--znf-border); cursor: pointer;
78+ color: inherit;
79+}
80+.znx-forum .znf-boards__title + .znf-board,
81+.znx-forum .znf-board:first-child { border-top: 0; }
82+.znx-forum .znf-board:hover { background: var(--znf-hover); }
83+.znx-forum .znf-board__icon {
84+ width: 40px; height: 40px; display: grid; place-items: center; font-size: 18px;
85+ border-radius: 9px; background: color-mix(in srgb, var(--znf-accent) 14%, transparent);
86+ color: var(--znf-accent);
87+}
88+.znx-forum .znf-board__main { min-width: 0; }
89+.znx-forum .znf-board__name { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 15.5px; font-weight: 700; }
90+.znx-forum .znf-board__name a { color: var(--znf-text); }
91+.znx-forum .znf-board__name a:hover { color: var(--znf-accent); text-decoration: none; }
92+.znx-forum .znf-board__last { display: block; margin-top: 3px; font-size: 12.5px; color: var(--znf-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
93+.znx-forum .znf-board__last b { color: color-mix(in srgb, var(--znf-text) 82%, transparent); font-weight: 600; }
94+.znx-forum .znf-board__count { text-align: right; font-size: 12.5px; color: var(--znf-muted); white-space: nowrap; }
95+.znx-forum .znf-board__count b { display: block; font-size: 17px; color: var(--znf-text); font-weight: 800; }
96+.znx-forum .znf-board__admin { display: flex; gap: 6px; }
97+.znx-forum .znf-board__admin form { margin: 0; }
98+
99+/* ---- tags / badges ----------------------------------- */
100+.znx-forum .znf-tag {
101+ display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px;
102+ border-radius: 999px; font-size: 10.5px; font-weight: 800; text-transform: uppercase;
103+ letter-spacing: .04em; border: 1px solid var(--znf-border);
104+}
105+.znx-forum .znf-tag--lock { color: var(--znf-danger); border-color: color-mix(in srgb, var(--znf-danger) 45%, var(--znf-border)); }
106+.znx-forum .znf-tag--hidden { color: var(--znf-muted); }
107+.znx-forum .znf-tag--sticky { color: var(--znf-accent); border-color: color-mix(in srgb, var(--znf-accent) 45%, var(--znf-border)); }
108+.znx-forum .znf-tag--guild { color: var(--znf-accent); background: color-mix(in srgb, var(--znf-accent) 12%, transparent); }
109+
110+/* ---- thread list ------------------------------------- */
111+.znx-forum .znf-threads { border: 1px solid var(--znf-border); border-radius: var(--znf-radius); overflow: hidden; background: var(--znf-surface); }
112+.znx-forum .znf-thread {
113+ display: grid; grid-template-columns: 30px 1fr auto; align-items: center; gap: 14px;
114+ padding: 14px 16px; border-top: 1px solid var(--znf-border); cursor: pointer;
115+}
116+.znx-forum .znf-thread:first-child { border-top: 0; }
117+.znx-forum .znf-thread:hover { background: var(--znf-hover); }
118+.znx-forum .znf-thread.is-sticky { background: color-mix(in srgb, var(--znf-accent) 5%, transparent); }
119+.znx-forum .znf-thread__ico { text-align: center; font-size: 15px; opacity: .8; }
120+.znx-forum .znf-thread__main { min-width: 0; }
121+.znx-forum .znf-thread__title { display: block; font-size: 15px; font-weight: 700; color: var(--znf-text); overflow-wrap: anywhere; }
122+.znx-forum .znf-thread__title:hover { color: var(--znf-accent); text-decoration: none; }
123+.znx-forum .znf-thread.is-locked .znf-thread__title { opacity: .7; }
124+.znx-forum .znf-thread__meta { display: block; margin-top: 3px; font-size: 12px; color: var(--znf-muted); }
125+.znx-forum .znf-thread__meta a { color: var(--znf-muted); }
126+.znx-forum .znf-thread__meta a:hover { color: var(--znf-accent); }
127+.znx-forum .znf-thread__stats { text-align: right; font-size: 11.5px; color: var(--znf-muted); white-space: nowrap; line-height: 1.5; }
128+.znx-forum .znf-thread__stats b { color: var(--znf-text); font-size: 14px; font-weight: 800; }
129+
130+/* ---- thread view: post cards ------------------------- */
131+.znx-forum .znf-tbadges { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 16px; }
132+.znx-forum .znf-mod {
133+ display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; padding: 12px 14px;
134+ border: 1px dashed var(--znf-border); border-radius: 10px; background: var(--znf-surface-2);
135+}
136+.znx-forum .znf-mod form { margin: 0; }
137+
138+.znx-forum .znf-post {
139+ display: grid; grid-template-columns: 176px 1fr; margin: 0 0 14px;
140+ border: 1px solid var(--znf-border); border-radius: var(--znf-radius);
141+ background: var(--znf-surface); overflow: hidden;
142+}
143+.znx-forum .znf-post.is-op { border-color: color-mix(in srgb, var(--znf-accent) 40%, var(--znf-border)); }
144+.znx-forum .znf-post__side, .znx-forum .znf-post .avatar {
145+ padding: 16px 14px; text-align: center; background: var(--znf-surface-2);
146+ border-right: 1px solid var(--znf-border); font-size: 13px;
147+}
148+.znx-forum .znf-post__side > a, .znx-forum .znf-post .avatar > a { display: block; font-weight: 800; color: var(--znf-text); word-break: break-word; }
149+.znx-forum .znf-post__side > a:hover, .znx-forum .znf-post .avatar > a:hover { color: var(--znf-accent); text-decoration: none; }
150+.znx-forum .znf-post__side img, .znx-forum .znf-post .avatar img {
151+ display: block; margin: 12px auto 8px; width: 96px; height: 96px; object-fit: contain;
152+ padding: 8px; border: 1px solid var(--znf-border); border-radius: 12px;
153+ background: color-mix(in srgb, var(--znf-text) 5%, transparent); image-rendering: -webkit-optimize-contrast;
154+}
155+.znx-forum .znf-post__side span, .znx-forum .znf-post .avatar span {
156+ display: inline-block; margin-top: 2px; padding: 2px 9px; border-radius: 999px;
157+ font-size: 11px; font-weight: 700; color: var(--znf-accent);
158+ background: color-mix(in srgb, var(--znf-accent) 15%, transparent);
159+}
160+.znx-forum .znf-post__body { padding: 0; }
161+.znx-forum .znf-post__meta {
162+ padding: 9px 16px; font-size: 11.5px; color: var(--znf-muted);
163+ border-bottom: 1px solid var(--znf-border); background: color-mix(in srgb, var(--znf-surface-2) 55%, transparent);
164+}
165+.znx-forum .znf-post__meta a { color: var(--znf-text); }
166+.znx-forum .znf-post__text { padding: 16px; }
167+.znx-forum .znf-post__text p { margin: 0; overflow-wrap: anywhere; }
168+.znx-forum .znf-post__text img { max-width: 100%; height: auto; border-radius: 6px; }
169+.znx-forum .znf-post__text blockquote {
170+ margin: 10px 0; padding: 8px 14px; border-left: 3px solid var(--znf-accent);
171+ background: color-mix(in srgb, var(--znf-accent) 8%, transparent); border-radius: 0 6px 6px 0; color: var(--znf-muted);
172+}
173+.znx-forum .znf-post__text pre { background: var(--znf-surface-2); border: 1px solid var(--znf-border); border-radius: 6px; padding: 12px 14px; overflow-x: auto; }
174+.znx-forum .znf-post__text code { background: var(--znf-surface-2); border: 1px solid var(--znf-border); border-radius: 6px; padding: 1px 5px; }
175+.znx-forum .znf-post__actions { padding: 0 16px 14px; display: flex; gap: 8px; flex-wrap: wrap; }
176+.znx-forum .znf-post__actions form { margin: 0; }
177+
178+.znx-forum hr.bighr { border: 0; height: 0; margin: 0; }
179+.znx-forum .znf-reply { margin-top: 20px; }
180+.znx-forum .znf-reply h2, .znx-forum .znf-reply h3 { font-size: 15px; margin: 0 0 10px; }
181+
182+/* ---- forms + inputs --------------------------------- */
183+.znx-forum input[type="text"], .znx-forum input[type="password"], .znx-forum input[type="number"],
184+.znx-forum textarea, .znx-forum select,
185+.znx-forum .form-control, .znx-forum .span12,
186+.znx-forum .znote-newthread-title, .znx-forum .znote-postas-select {
187+ appearance: none; width: 100%; max-width: 100%; min-height: 40px; padding: 8px 12px;
188+ color: var(--znf-text); background: color-mix(in srgb, var(--znf-text) 5%, var(--znf-surface));
189+ border: 1px solid var(--znf-border); border-radius: 9px; font: inherit;
190+ transition: border-color .15s, box-shadow .15s;
191+}
192+.znx-forum textarea { min-height: 120px; resize: vertical; }
193+.znx-forum select { max-width: 340px; }
194+.znx-forum input:focus, .znx-forum textarea:focus, .znx-forum select:focus, .znx-forum .form-control:focus {
195+ outline: 0; border-color: var(--znf-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--znf-accent) 22%, transparent);
196+}
197+.znx-forum label { font-size: 12px; font-weight: 700; color: var(--znf-muted); }
198+
199+/* ---- buttons (scoped) ------------------------------- */
200+.znx-forum .btn, .znx-forum .znf-btn,
201+.znx-forum input[type="submit"], .znx-forum button[type="submit"] {
202+ display: inline-flex; align-items: center; justify-content: center; gap: 7px;
203+ min-height: 38px; padding: 0 16px; width: auto;
204+ border: 1px solid var(--znf-border); border-radius: 9px;
205+ background: color-mix(in srgb, var(--znf-text) 8%, var(--znf-surface));
206+ color: var(--znf-text); font: inherit; font-weight: 700; line-height: 1;
207+ cursor: pointer; transition: filter .12s, transform .06s;
208+}
209+.znx-forum .btn:hover, .znx-forum .znf-btn:hover,
210+.znx-forum input[type="submit"]:hover, .znx-forum button[type="submit"]:hover { filter: brightness(1.12); text-decoration: none; }
211+.znx-forum .btn:active, .znx-forum .znf-btn:active { transform: translateY(1px); }
212+.znx-forum .btn-primary, .znx-forum .btn-info, .znx-forum .znf-btn--primary { background: var(--znf-accent); border-color: var(--znf-accent); color: #16181d; }
213+.znx-forum .btn-success { background: #2f9e5e; border-color: #2f9e5e; color: #fff; }
214+.znx-forum .btn-warning { background: #d89a2b; border-color: #d89a2b; color: #16181d; }
215+.znx-forum .btn-danger { background: #c9443c; border-color: #c9443c; color: #fff; }
216+.znx-forum .btn-default, .znx-forum .znf-btn--ghost { background: transparent; }
217+.znx-forum .btn--sm, .znx-forum .znf-btn--sm { min-height: 30px; padding: 0 10px; font-size: 12px; }
218+
219+/* ---- post-as picker + new-thread form -------------- */
220+.znx-forum .znf-newwrap {
221+ margin-top: 18px; padding: 16px; border: 1px solid var(--znf-border);
222+ border-radius: var(--znf-radius); background: var(--znf-surface-2);
223+}
224+.znote-postas, .znote-newthread-head {
225+ display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0;
226+}
227+.znote-postas-label { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--znf-muted); }
228+.znote-postas-single { font-weight: 800; padding: 8px 13px; border-radius: 8px; background: color-mix(in srgb, var(--znf-accent) 14%, transparent); color: var(--znf-accent); }
229+.znx-forum .znote-postas-select { width: auto; min-width: 200px; }
230+.znote-postas-btn { min-height: 40px; white-space: nowrap; }
231+.znx-forum .znote-newthread-title { font-size: 15px; margin: 12px 0 14px; }
232+.znx-forum .znote-newthread-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 14px; }
233+.znx-forum .znote-newthread { margin: 0; }
234+
235+/* ---- editor + admin edit forms -------------------- */
236+.znote-editor-wrap { margin: 6px 0 4px; }
237+.znote-editor-wrap .sceditor-container { border: 1px solid var(--znf-border) !important; border-radius: 10px !important; overflow: hidden; }
238+.znote-editor-note { margin: 6px 0 12px; font-size: 12px; color: var(--znf-muted); }
239+.znx-forum .updateTable, .znx-forum .editThread { width: 100%; margin: 6px 0 18px; border-collapse: separate; border-spacing: 0; border: 1px dashed var(--znf-border); border-radius: 10px; background: var(--znf-surface-2); }
240+.znx-forum .updateTable td, .znx-forum .editThread td { padding: 10px 14px; vertical-align: top; }
241+.znx-forum .postButton { display: inline-block; margin: 3px 6px 3px 0; }
242+
243+/* ---- stacked field form (create / edit board) -------- */
244+.znx-forum .znf-form {
245+ max-width: 520px; margin: 4px 0 8px;
246+ border: 1px solid var(--znf-border); border-radius: 12px;
247+ background: var(--znf-surface-2); padding: 18px 20px;
248+}
249+.znx-forum .znf-form__title { margin: 0 0 16px; font-size: 16px; }
250+.znx-forum .znf-field {
251+ display: grid; grid-template-columns: 150px 1fr;
252+ align-items: center; gap: 12px; margin: 0 0 12px;
253+}
254+.znx-forum .znf-field > label { color: var(--znf-muted); font-size: 13px; font-weight: 600; }
255+.znx-forum .znf-field > input[type="text"],
256+.znx-forum .znf-field > select { width: 100%; max-width: none; margin: 0; }
257+.znx-forum .znf-field--submit { grid-template-columns: 150px 1fr; margin: 16px 0 0; }
258+.znx-forum .znf-field--submit > input[type="submit"] { grid-column: 2; justify-self: start; }
259+@media (max-width: 560px) {
260+ .znx-forum .znf-field, .znx-forum .znf-field--submit { grid-template-columns: 1fr; gap: 4px; }
261+ .znx-forum .znf-field--submit > input[type="submit"] { grid-column: 1; }
262+}
263+
264+/* ---- responsive --------------------------------------- */
265+@media (max-width: 720px) {
266+ .znx-forum .znf-board { grid-template-columns: 34px 1fr; }
267+ .znx-forum .znf-board__count { grid-column: 2; text-align: left; margin-top: 2px; }
268+ .znx-forum .znf-board__count b { display: inline; font-size: inherit; }
269+ .znx-forum .znf-thread { grid-template-columns: 24px 1fr; }
270+ .znx-forum .znf-thread__stats { grid-column: 2; text-align: left; margin-top: 4px; }
271+ .znx-forum .znf-post { grid-template-columns: 1fr; }
272+ .znx-forum .znf-post__side, .znx-forum .znf-post .avatar {
273+ display: flex; align-items: center; gap: 12px; text-align: left;
274+ border-right: 0; border-bottom: 1px solid var(--znf-border);
275+ }
276+ .znx-forum .znf-post__side img, .znx-forum .znf-post .avatar img { margin: 0; width: 56px; height: 56px; padding: 4px; }
277+}
A assets/img/znoteX.png +0-0 View file
Binary file not shown.
A assets/js/jquery.js +2-0 View file
@@ -0,0 +1,2 @@
1+/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */
2+!function(e,t){"use strict";"object"==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(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+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]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}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&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=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",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\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,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.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)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=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+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,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 G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(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=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!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!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.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:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(D).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(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}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(D(this,e||[],!1))},not:function(e){return this.pushStack(D(this,e||[],!0))},is:function(e){return!!D(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var j,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.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 S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(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(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.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&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={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 ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^key/,we=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Te=/^([^.]*)(?:\.(.+)|)/;function Ce(){return!0}function Ee(){return!1}function Se(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function ke(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)ke(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ee;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Ae(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,Ce)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=Te.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=Te.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(t,"click",Ce),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ce:Ee,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&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Ee,isPropagationStopped:Ee,isImmediatePropagationStopped:Ee,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ce,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ce,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ce,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.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&&be.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&we.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Ae(this,e,Se),!1},trigger:function(){return Ae(this,e),!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return ke(this,e,t,n,r)},one:function(e,t,n,r){return ke(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Ee),this.each(function(){S.event.remove(this,e,n,t)})}});var Ne=/<script|<style|<link/i,De=/checked\s*(?:[^=]|=\s*.checked.)/i,je=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function Pe(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&De.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Pe(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),Le)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,He),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(je,""),u,l))}return n}function Re(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Oe(o[r],a[r]);else Oe(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Re(this,e,!0)},remove:function(e){return Re(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.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 Pe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||qe(this,e).appendChild(e)})},prepend:function(){return Pe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=qe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Pe(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&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(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&&!Ne.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Pe(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Me=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Ie=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},We=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Fe=new RegExp(ne.join("|"),"i");function Be(e,t,n){var r,i,o,a,s=e.style;return(n=n||Ie(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Me.test(a)&&Fe.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function $e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){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%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px",t.style.height="1px",n.style.height="9px",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=3<parseInt(r.height),re.removeChild(e)),a}}))}();var _e=["Webkit","Moz","ms"],ze=E.createElement("div").style,Ue={};function Xe(e){var t=S.cssProps[e]||Ue[e];return t||(e in ze?e:Ue[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=_e.length;while(n--)if((e=_e[n]+t)in ze)return e}(e)||e)}var Ve=/^(none|table(?!-c[ea]).+)/,Ge=/^--/,Ye={position:"absolute",visibility:"hidden",display:"block"},Qe={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ke(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Ze(e,t,n){var r=Ie(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=Be(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Me.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ke(e,t,n||(i?"border":"content"),o,r,a)+"px"}function et(e,t,n,r,i){return new et.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(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 i,o,a,s=X(t),u=Ge.test(t),l=e.style;if(u||(t=Xe(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Ge.test(t)||(t=Xe(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Be(e,t,r)),"normal"===i&&t in Qe&&(i=Qe[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ve.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ze(e,u,n):We(e,Ye,function(){return Ze(e,u,n)})},set:function(e,t,n){var r,i=Ie(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Ke(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Ke(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Je(0,t,s)}}}),S.cssHooks.marginLeft=$e(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Be(e,"marginLeft"))||e.getBoundingClientRect().left-We(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Je)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Ie(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=et).prototype={constructor:et,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.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=S.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}}).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=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[Xe(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=et.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=et.prototype.init,S.fx.step={};var tt,nt,rt,it,ot=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function st(){nt&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(st):C.setTimeout(st,S.fx.interval),S.fx.tick())}function ut(){return C.setTimeout(function(){tt=void 0}),tt=Date.now()}function lt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ct(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ft(o,e,t){var n,a,r=0,i=ft.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=tt||ut(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:tt||ut(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=ft.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ct,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(ft,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],ft.tweeners[n]=ft.tweeners[n]||[],ft.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],ot.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ct(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?ft.prefilters.unshift(e):ft.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=ft(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&at.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(lt(r,!0),e,t,n)}}),S.each({slideDown:lt("show"),slideUp:lt("hide"),slideToggle:lt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(tt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),tt=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){nt||(nt=!0,st())},S.fx.stop=function(){nt=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},rt=E.createElement("input"),it=E.createElement("select").appendChild(E.createElement("option")),rt.type="checkbox",y.checkOn=""!==rt.value,y.optSelected=it.selected,(rt=E.createElement("input")).value="t",rt.type="radio",y.radioValue="t"===rt.value;var pt,dt=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?pt:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),pt={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=dt[t]||S.find.attr;dt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=dt[o],dt[o]=r,r=null!=a(e,t,n)?o:null,dt[o]=i),r}});var ht=/^(?:input|select|textarea|button)$/i,gt=/^(?:a|area)$/i;function vt(e){return(e.match(P)||[]).join(" ")}function yt(e){return e.getAttribute&&e.getAttribute("class")||""}function mt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):ht.test(e.nodeName)||gt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.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)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,yt(this)))});if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,yt(this)))});if(!arguments.length)return this.attr("class","");if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,yt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=mt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=yt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+vt(yt(n))+" ").indexOf(t))return!0;return!1}});var xt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(xt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:vt(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var bt=/^(?:focusinfocus|focusoutblur)$/,wt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!bt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,bt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,wt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,wt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var Tt=C.location,Ct={guid:Date.now()},Et=/\?/;S.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||S.error("Invalid XML: "+e),t};var St=/\[\]$/,kt=/\r?\n/g,At=/^(?:submit|button|image|reset|file)$/i,Nt=/^(?:input|select|textarea|keygen)/i;function Dt(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||St.test(n)?i(n,t):Dt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)Dt(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)Dt(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&Nt.test(this.nodeName)&&!At.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.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 jt=/%20/g,qt=/#.*$/,Lt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,Pt=/^\/\//,Rt={},Mt={},It="*/".concat("*"),Wt=E.createElement("a");function Ft(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Bt(t,i,o,a){var s={},u=t===Mt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function $t(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Wt.href=Tt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":It,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":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?$t($t(e,S.ajaxSettings),t):$t(S.ajaxSettings,e)},ajaxPrefilter:Ft(Rt),ajaxTransport:Ft(Mt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Ht.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Tt.href)+"").replace(Pt,Tt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Wt.protocol+"//"+Wt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Bt(Rt,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Ot.test(v.type),f=v.url.replace(qt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(jt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Et.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Lt,"$1"),o=(Et.test(f)?"&":"?")+"_="+Ct.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+It+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Bt(Mt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var _t={0:200,1223:204},zt=S.ajaxSettings.xhr();y.cors=!!zt&&"withCredentials"in zt,y.ajax=zt=!!zt,S.ajaxTransport(function(i){var o,a;if(y.cors||zt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(_t[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.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 S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=vt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.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)}}),S.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,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Gt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Gt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Yt=C.jQuery,Qt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Qt),e&&C.jQuery===S&&(C.jQuery=Yt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});
A assets/sceditor/formats/bbcode.min.js +1-0 View file
@@ -0,0 +1,1 @@
1+(t=>{var e=t.escapeEntities,n=t.escapeUriScheme,r=t.dom,l=t.utils,i=r.css,o=r.attr,a=r.is,s=l.extend,u=l.each,c="data-sceditor-emoticon",f=t.command.get,d={always:1,never:2,auto:3},h={bold:{txtExec:["[b]","[/b]"]},italic:{txtExec:["[i]","[/i]"]},underline:{txtExec:["[u]","[/u]"]},strike:{txtExec:["[s]","[/s]"]},subscript:{txtExec:["[sub]","[/sub]"]},superscript:{txtExec:["[sup]","[/sup]"]},left:{txtExec:["[left]","[/left]"]},center:{txtExec:["[center]","[/center]"]},right:{txtExec:["[right]","[/right]"]},justify:{txtExec:["[justify]","[/justify]"]},font:{txtExec:function(t){var e=this;f("font")._dropDown(e,t,function(t){e.insertText("[font="+t+"]","[/font]")})}},size:{txtExec:function(t){var e=this;f("size")._dropDown(e,t,function(t){e.insertText("[size="+t+"]","[/size]")})}},color:{txtExec:function(t){var e=this;f("color")._dropDown(e,t,function(t){e.insertText("[color="+t+"]","[/color]")})}},bulletlist:{txtExec:function(t,e){this.insertText("[ul]\n[li]"+e.split(/\r?\n/).join("[/li]\n[li]")+"[/li]\n[/ul]")}},orderedlist:{txtExec:function(t,e){this.insertText("[ol]\n[li]"+e.split(/\r?\n/).join("[/li]\n[li]")+"[/li]\n[/ol]")}},table:{txtExec:["[table][tr][td]","[/td][/tr][/table]"]},horizontalrule:{txtExec:["[hr]"]},code:{txtExec:["[code]","[/code]"]},image:{txtExec:function(t,e){var n=this;f("image")._dropDown(n,t,e,function(t,e,r){var l="";e&&(l+=" width="+e),r&&(l+=" height="+r),n.insertText("[img"+l+"]"+t+"[/img]")})}},email:{txtExec:function(t,e){var n=this;f("email")._dropDown(n,t,function(t,r){n.insertText("[email="+t+"]"+(r||e||t)+"[/email]")})}},link:{txtExec:function(t,e){var n=this;f("link")._dropDown(n,t,function(t,r){n.insertText("[url="+t+"]"+(r||e||t)+"[/url]")})}},quote:{txtExec:["[quote]","[/quote]"]},youtube:{txtExec:function(t){var e=this;f("youtube")._dropDown(e,t,function(t){e.insertText("[youtube]"+t+"[/youtube]")})}},rtl:{txtExec:["[rtl]","[/rtl]"]},ltr:{txtExec:["[ltr]","[/ltr]"]}},m={b:{tags:{b:null,strong:null},styles:{"font-weight":["bold","bolder","401","700","800","900"]},format:"[b]{0}[/b]",html:"<strong>{0}</strong>"},i:{tags:{i:null,em:null},styles:{"font-style":["italic","oblique"]},format:"[i]{0}[/i]",html:"<em>{0}</em>"},u:{tags:{u:null},styles:{"text-decoration":["underline"]},format:"[u]{0}[/u]",html:"<u>{0}</u>"},s:{tags:{s:null,strike:null},styles:{"text-decoration":["line-through"]},format:"[s]{0}[/s]",html:"<s>{0}</s>"},sub:{tags:{sub:null},format:"[sub]{0}[/sub]",html:"<sub>{0}</sub>"},sup:{tags:{sup:null},format:"[sup]{0}[/sup]",html:"<sup>{0}</sup>"},font:{tags:{font:{face:null}},styles:{"font-family":null},quoteType:d.never,format:function(t,e){var n;return"[font="+b(n=a(t,"font")&&(n=o(t,"face"))?n:i(t,"font-family"))+"]"+e+"[/font]"},html:'<font face="{defaultattr}">{0}</font>'},size:{tags:{font:{size:null}},styles:{"font-size":null},format:function(t,e){var n=o(t,"size"),r=2;return-1<(n=n||i(t,"fontSize")).indexOf("px")?((n=+n.replace("px",""))<12&&(r=1),15<n&&(r=3),17<n&&(r=4),23<n&&(r=5),31<n&&(r=6),47<n&&(r=7)):r=n,"[size="+r+"]"+e+"[/size]"},html:'<font size="{defaultattr}">{!0}</font>'},color:{tags:{font:{color:null}},styles:{color:null},quoteType:d.never,format:function(t,e){var n;return"[color="+I(n=a(t,"font")&&(n=o(t,"color"))?n:t.style.color||i(t,"color"))+"]"+e+"[/color]"},html:function(t,n,r){return'<font color="'+e(I(n.defaultattr),!0)+'">'+r+"</font>"}},ul:{tags:{ul:null},breakStart:!0,isInline:!1,skipLastLineBreak:!0,format:"[ul]{0}[/ul]",html:"<ul>{0}</ul>"},list:{breakStart:!0,isInline:!1,skipLastLineBreak:!0,html:"<ul>{0}</ul>"},ol:{tags:{ol:null},breakStart:!0,isInline:!1,skipLastLineBreak:!0,format:"[ol]{0}[/ol]",html:"<ol>{0}</ol>"},li:{tags:{li:null},isInline:!1,closedBy:["/ul","/ol","/list","*","li"],format:"[li]{0}[/li]",html:"<li>{0}</li>"},"*":{isInline:!1,closedBy:["/ul","/ol","/list","*","li"],html:"<li>{0}</li>"},table:{tags:{table:null},isInline:!1,isHtmlInline:!0,skipLastLineBreak:!0,format:"[table]{0}[/table]",html:"<table>{0}</table>"},tr:{tags:{tr:null},isInline:!1,skipLastLineBreak:!0,format:"[tr]{0}[/tr]",html:"<tr>{0}</tr>"},th:{tags:{th:null},allowsEmpty:!0,isInline:!1,format:"[th]{0}[/th]",html:"<th>{0}</th>"},td:{tags:{td:null},allowsEmpty:!0,isInline:!1,format:"[td]{0}[/td]",html:"<td>{0}</td>"},emoticon:{allowsEmpty:!0,tags:{img:{src:null,"data-sceditor-emoticon":null}},format:function(t,e){return o(t,c)+e},html:"{0}"},hr:{tags:{hr:null},allowsEmpty:!0,isSelfClosing:!0,isInline:!1,format:"[hr]{0}",html:"<hr />"},img:{allowsEmpty:!0,tags:{img:{src:null}},allowedChildren:["#"],quoteType:d.never,format:function(t,e){function n(e){return t.style?t.style[e]:null}var l,i="";return o(t,c)?e:(e=o(t,"width")||n("width"),l=o(t,"height")||n("height"),"[img"+(i=t.complete&&(e||l)||e&&l?"="+r.width(t)+"x"+r.height(t):i)+"]"+o(t,"src")+"[/img]")},html:function(t,r,l){var i="",o=r.width,a=r.height;return r.defaultattr&&(o=(r=r.defaultattr.split(/x/i))[0],a=2===r.length?r[1]:r[0]),void 0!==o&&(i+=' width="'+e(o,!0)+'"'),void 0!==a&&(i+=' height="'+e(a,!0)+'"'),"<img"+i+' src="'+n(l)+'" />'}},url:{allowsEmpty:!0,tags:{a:{href:null}},quoteType:d.never,format:function(t,e){return"mailto:"===(t=o(t,"href")).substr(0,7)?'[email="'+t.substr(7)+'"]'+e+"[/email]":"[url="+t+"]"+e+"[/url]"},html:function(t,r,l){return r.defaultattr=e(r.defaultattr,!0)||l,'<a href="'+n(r.defaultattr)+'">'+l+"</a>"}},email:{quoteType:d.never,html:function(t,n,r){return'<a href="mailto:'+(e(n.defaultattr,!0)||r)+'">'+r+"</a>"}},quote:{tags:{blockquote:null},isInline:!1,quoteType:d.never,format:function(t,e){for(var n,r="data-author",l="",i=t.children,s=0;!n&&s<i.length;s++)a(i[s],"cite")&&(n=i[s]);return(n||o(t,r))&&(l=n&&n.textContent||o(t,r),o(t,r,l),n&&t.removeChild(n),e=this.elementToBbcode(t),l="="+l.replace(/(^\s+|\s+$)/g,""),n)&&t.insertBefore(n,t.firstChild),"[quote"+l+"]"+e+"[/quote]"},html:function(t,n,r){return"<blockquote>"+(r=n.defaultattr?"<cite>"+e(n.defaultattr)+"</cite>"+r:r)+"</blockquote>"}},code:{tags:{code:null},isInline:!1,allowedChildren:["#","#newline"],format:"[code]{0}[/code]",html:"<code>{0}</code>"},left:{styles:{"text-align":["left","-webkit-left","-moz-left","-khtml-left"]},isInline:!1,allowsEmpty:!0,format:"[left]{0}[/left]",html:'<div align="left">{0}</div>'},center:{styles:{"text-align":["center","-webkit-center","-moz-center","-khtml-center"]},isInline:!1,allowsEmpty:!0,format:"[center]{0}[/center]",html:'<div align="center">{0}</div>'},right:{styles:{"text-align":["right","-webkit-right","-moz-right","-khtml-right"]},isInline:!1,allowsEmpty:!0,format:"[right]{0}[/right]",html:'<div align="right">{0}</div>'},justify:{styles:{"text-align":["justify","-webkit-justify","-moz-justify","-khtml-justify"]},isInline:!1,allowsEmpty:!0,format:"[justify]{0}[/justify]",html:'<div align="justify">{0}</div>'},youtube:{allowsEmpty:!0,tags:{iframe:{"data-youtube-id":null}},format:function(t,e){return(t=o(t,"data-youtube-id"))?"[youtube]"+t+"[/youtube]":e},html:'<iframe width="560" height="315" frameborder="0" src="https://www.youtube-nocookie.com/embed/{0}?wmode=opaque" data-youtube-id="{0}" allowfullscreen></iframe>'},rtl:{styles:{direction:["rtl"]},isInline:!1,format:"[rtl]{0}[/rtl]",html:'<div style="direction: rtl">{0}</div>'},ltr:{styles:{direction:["ltr"]},isInline:!1,format:"[ltr]{0}[/ltr]",html:'<div style="direction: ltr">{0}</div>'},ignore:{}};function p(t,n){return t.replace(/\{([^}]+)\}/g,function(t,r){var l=!0;return"!"===r.charAt(0)&&(l=!1,r=r.substring(1)),"0"===r&&(l=!1),void 0===n[r]?t:l?e(n[r],!0):n[r]})}function g(t){return"function"==typeof t}function b(t){return t&&t.replace(/\\(.)/g,"$1").replace(/^(["'])(.*?)\1$/,"$2")}var y="open",v="content",x="newline",k="close";function w(t,e,n,r,l,i){var o=this;o.type=t,o.name=e,o.val=n,o.attrs=r||{},o.children=l||[],o.closing=i||null}function E(t){var n=this;function r(t,e){var n,r,l;return t===y&&(n=e.match(/\[([^\]\s=]+)(?:([^\]]+))?\]/))&&(l=c(n[1]),n[2])&&(n[2]=n[2].trim())&&(r=(t=>{var e,n=/([^\s=]+)=(?:(?:(["'])((?:\\\2|[^\2])*?)\2)|((?:.(?!\s\S+=))*.))/g,r={};if("="===t.charAt(0)&&t.indexOf("=",1)<0)r.defaultattr=b(t.substr(1));else for("="===t.charAt(0)&&(t="defaultattr"+t);e=n.exec(t);)r[c(e[1])]=b(e[3])||e[4];return r})(n[2])),t===k&&(n=e.match(/\[\/([^\[\]]+)\]/))&&(l=c(n[1])),(l=t===x?"#newline":l)&&(t!==y&&t!==k||m[l])||(t=v,l="#"),new w(t,l,e,r)}function l(t,e,n){for(var r=n.length;r--;)if(n[r].type===e&&n[r].name===t)return 1}function i(t,e){return t=(t?m[t.name]:{}).allowedChildren,!n.opts.fixInvalidChildren||!t||-1<t.indexOf(e.name||"#")}function o(t,r){for(var l,i,a,s,u,c,f="",d=function(t){return!1!==(!t||(void 0!==t.isHtmlInline?t.isHtmlInline:t.isInline))};0<t.length;)if(l=t.shift()){if(l.type===y)c=l.children[l.children.length-1]||{},i=m[l.name],s=r&&d(i),a=o(l.children,!1),c=i&&i.html?(d(i)||!d(m[c.name])||i.isPreFormatted||i.skipLastLineBreak||(a+="<br />"),g(i.html)?i.html.call(n,l,l.attrs,a):(l.attrs[0]=a,p(i.html,l.attrs))):l.val+a+(l.closing?l.closing.val:"");else{if(l.type===x){if(!r){f+="<br />";continue}u||(f+="<div>"),f+="<br />",t.length||(f+="<br />"),f+="</div>\n",u=!1;continue}s=r,c=e(l.val,!0)}s&&!u?(f+="<div>",u=!0):!s&&u&&(f+="</div>\n",u=!1),f+=c}return u&&(f+="</div>\n"),f}function a(t,e,n){var r=/\s|=/.test(t);return g(e)?e(t,n):e===d.never||e===d.auto&&!r?t:'"'+t.replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'}function u(t){return t.length?t[t.length-1]:null}function c(t){return t.toLowerCase()}n.opts=s({},E.defaults,t),n.tokenize=function(t){var e,n,l,i=[],o=[{type:v,regex:/^([^\[\r\n]+|\[)/},{type:x,regex:/^(\r\n|\r|\n)/},{type:y,regex:/^\[[^\[\]]+\]/},{type:k,regex:/^\[\/[^\[\]]+\]/}];t:for(;t.length;){for(l=o.length;l--;)if(n=o[l].type,(e=t.match(o[l].regex))&&e[0]){i.push(r(n,e[0])),t=t.substr(e[0].length);continue t}t.length&&i.push(r(v,t)),t=""}return i},n.parse=function(t,e){t=(t=>{function e(){return u(g)}function r(t){(e()?e().children:p).push(t)}function o(t){return e()&&(s=m[e().name])&&s.closedBy&&-1<s.closedBy.indexOf(t)}for(var a,s,c,f,d,h=[],p=[],g=[];a=t.shift();)switch(d=t[0],i(e(),a)||a.type===k&&e()&&a.name===e().name||(a.name="#",a.type=v),a.type){case y:o(a.name)&&g.pop(),r(a),(s=m[a.name])&&!s.isSelfClosing&&(s.closedBy||l(a.name,k,t))?g.push(a):s&&s.isSelfClosing||(a.type=v);break;case k:if(e()&&a.name!==e().name&&o("/"+a.name)&&g.pop(),e()&&a.name===e().name)e().closing=a,g.pop();else if(l(a.name,y,g)){for(;c=g.pop();){if(c.name===a.name){c.closing=a;break}c=c.clone(),h.length&&c.children.push(u(h)),h.push(c)}for(d&&d.type===x&&(s=m[a.name])&&!1===s.isInline&&(r(d),t.shift()),r(u(h)),f=h.length;f--;)g.push(h[f]);h.length=0}else a.type=v,r(a);break;case x:e()&&d&&o((d.type===k?"/":"")+d.name)&&(d.type===k&&d.name===e().name||((s=m[e().name])&&s.breakAfter||s&&!1===s.isInline&&n.opts.breakAfterBlock&&!1!==s.breakAfter)&&g.pop()),r(a);break;default:r(a)}return p})(n.tokenize(t));var r=n.opts;return r.fixInvalidNesting&&function t(e,n,r,l){var o,a,s,c,f=function(t){return!(t=m[t.name])||!1!==t.isInline};for(n=n||[],l=l||e,a=0;a<e.length;a++)if((o=e[a])&&o.type===y){var d,h;if(r&&!f(o)&&(c=(h=u(n)).splitAt(o),s=1<n.length?n[n.length-2].children:l,i(o,h)&&((d=h.clone()).children=o.children,o.children=[d]),-1<(d=s.indexOf(h))))return c.children.splice(0,1),s.splice(d+1,0,o,c),void((h=c.children[0])&&h.type===x&&!f(o)&&(c.children.splice(0,1),s.splice(d+2,0,h)));n.push(o),t(o.children,n,r||f(o),l),n.pop()}}(t),function t(e,r,l){var i,o,a,s,u,c,f,d,h=e.length;r&&(s=m[r.name]);for(var p=h;p--;)(i=e[p])&&(i.type===x?(o=0<p?e[p-1]:null,a=p<h-1?e[p+1]:null,d=!1,!l&&s&&!0!==s.isSelfClosing&&(o?c||a||(!1===s.isInline&&n.opts.breakEndBlock&&!1!==s.breakEnd&&(d=!0),s.breakEnd&&(d=!0),c=d):(!1===s.isInline&&n.opts.breakStartBlock&&!1!==s.breakStart&&(d=!0),s.breakStart&&(d=!0))),o&&o.type===y&&(u=m[o.name])&&(l?!1===u.isInline&&(d=!0):(!1===u.isInline&&n.opts.breakAfterBlock&&!1!==u.breakAfter&&(d=!0),u.breakAfter&&(d=!0))),!l&&!f&&a&&a.type===y&&(u=m[a.name])&&(!1===u.isInline&&n.opts.breakBeforeBlock&&!1!==u.breakBefore&&(d=!0),u.breakBefore&&(d=!0),f=d)?e.splice(p,1):(d&&e.splice(p,1),f=!1)):i.type===y&&t(i.children,i,l))}(t,null,e),r.removeEmptyTags&&function t(e){for(var n,r,l=function(t){for(var e=t.length;e--;){var n=t[e].type;if(n===y||n===k)return!1;if(n===v&&/\S|\u00A0/.test(t[e].val))return!1}return!0},i=e.length;i--;)(n=e[i])&&n.type===y&&(r=m[n.name],t(n.children),l(n.children))&&r&&!r.isSelfClosing&&!r.allowsEmpty&&e.splice.apply(e,[i,1].concat(n.children))}(t),t},n.toHTML=function(t,e){return o(n.parse(t,e),!0)},n.toHTMLFragment=function(t,e){return o(n.parse(t,e),!1)},n.toBBCode=function(t,e){return function t(e){for(var r,l,i,o,s,u,c,f,h,p="";0<e.length;)if(r=e.shift())if(h=!(!(i=m[r.name])||!1!==i.isInline),o=i&&i.isSelfClosing,u=h&&n.opts.breakBeforeBlock&&!1!==i.breakBefore||i&&i.breakBefore,c=h&&!o&&n.opts.breakStartBlock&&!1!==i.breakStart||i&&i.breakStart,f=h&&n.opts.breakEndBlock&&!1!==i.breakEnd||i&&i.breakEnd,h=h&&n.opts.breakAfterBlock&&!1!==i.breakAfter||i&&i.breakAfter,s=(i?i.quoteType:null)||n.opts.quoteType||d.auto,i||r.type!==y)if(r.type===y){if(u&&(p+="\n"),p+="["+r.name,r.attrs)for(l in r.attrs.defaultattr&&(p+="="+a(r.attrs.defaultattr,s,"defaultattr"),delete r.attrs.defaultattr),r.attrs)r.attrs.hasOwnProperty(l)&&(p+=" "+l+"="+a(r.attrs[l],s,l));p+="]",c&&(p+="\n"),r.children&&(p+=t(r.children)),o||i.excludeClosing||(f&&(p+="\n"),p+="[/"+r.name+"]"),h&&(p+="\n"),r.closing&&o&&(p+=r.closing.val)}else p+=r.val;else p+=r.val,r.children&&(p+=t(r.children)),r.closing&&(p+=r.closing.val);return p}(n.parse(t,e))}}function B(t){return t=parseInt(t,10),isNaN(t)?"00":(t=Math.max(0,Math.min(t,255)).toString(16)).length<2?"0"+t:t}function I(t){var e;return(e=(t=t||"#000").match(/rgb\((\d{1,3}),\s*?(\d{1,3}),\s*?(\d{1,3})\)/i))?"#"+B(e[1])+B(e[2])+B(e[3]):(e=t.match(/#([0-9a-f])([0-9a-f])([0-9a-f])\s*?$/i))?"#"+e[1]+e[1]+e[2]+e[2]+e[3]+e[3]:t}function C(){var t=this,e=(t.stripQuotes=b,{}),n={ul:["li","ol","ul"],ol:["li","ol","ul"],table:["tr"],tr:["td","th"],code:["br","p","div"]};function l(n,l,i){function a(t){var e=t[0],l=(t=t[1],r.getStyle(n,e)),i=n.parentNode;return!(!l||i&&r.hasStyle(i,e,l))&&(!t||t.includes(l))}function s(r){e[r]&&e[r][i]&&u(e[r][i],function(e,r){var i,s=m[e].strictMatch,u=(s=void 0===s?t.opts.strictMatch:s)?"every":"some";if(!r||r[u]((i=s,function(t){var e=t[0];t=t[1];return("style"!==e||"CODE"!==n.nodeName)&&("style"===e&&t?t[i?"every":"some"](a):(e=o(n,e))&&(!t||t.includes(e)))})))return r=m[e].format,l=g(r)?r.call(t,n,l):function(t){var e=arguments;return t.replace(/\{(\d+)\}/g,function(t,n){return void 0!==e[+n+1]?e[+n+1]:"{"+n+"}"})}(r,l),!1})}return s("*"),s(n.nodeName.toLowerCase()),l}function f(t,e){return function t(e,i,s){var u="";return r.traverse(e,function(e){var f="",d=e.nodeType,h=e.nodeName.toLowerCase(),m="code"===h,p="img"===h&&!!o(e,c),g=n[h],b=e.firstChild,y=!0;!s||(y=-1<s.indexOf(h),y=p||y)||(g=s),1===d?a(e,".sceditor-nlf")&&!b||("iframe"!==h&&(f=t(e,i||m,g)),y?(i&&!p||(m||(f=l(e,f,!1)),f=l(e,f,!0)),u+=((t,e)=>{var n=t.nodeName.toLowerCase(),l=r.isInline;if(!l(t,!0)||"br"===n){for(var i,o,s=t.previousSibling;s&&1===s.nodeType&&!a(s,"br")&&l(s,!0)&&!s.firstChild;)s=s.previousSibling;for(;i=((o=t.parentNode)&&o.lastChild)===t,(t=o)&&i&&l(o,!0););i&&"li"!==n||(e+="\n"),"br"!==n&&s&&!a(s,"br")&&l(s,!0)&&(e="\n"+e)}return e})(e,f)):u+=f):3===d&&(u+=e.nodeValue)},!1,!0),u}(t,e)}function d(e,n,r){var l=new E(t.opts.parserOptions);return(e||r?l.toHTMLFragment:l.toHTML)(t.opts.bbcodeTrim?n.trim():n)}function p(e,n,l,o){l=l||document;var a,s=!!r.closest(o,"code"),u=l.createElement("div"),c=l.createElement("div"),d=new E(t.opts.parserOptions);for(c.innerHTML=n,i(u,"visibility","hidden"),u.appendChild(c),l.body.appendChild(u),e&&(u.insertBefore(l.createTextNode("#"),u.firstChild),u.appendChild(l.createTextNode("#"))),o&&i(c,"whiteSpace",i(o,"whiteSpace")),a=c.getElementsByClassName("sceditor-ignore");a.length;)a[0].parentNode.removeChild(a[0]);return r.removeWhiteSpace(u),n=f(c,s),l.body.removeChild(u),n=d.toBBCode(n,!0),t.opts.bbcodeTrim?n.trim():n}t.init=function(){t.opts=this.opts,t.elementToBbcode=f,u(m,function(t,n){var r=!1===n.isInline,l=(n=m[t].tags,m[t].styles);l&&(e["*"]=e["*"]||{},e["*"][r]=e["*"][r]||{},e["*"][r][t]=[["style",Object.entries(l)]]),n&&u(n,function(n,l){l&&l.style&&(l.style=Object.entries(l.style)),e[n]=e[n]||{},e[n][r]=e[n][r]||{},e[n][r][t]=l&&Object.entries(l)})}),this.commands=s(!0,{},h,this.commands),this.toBBCode=t.toSource,this.fromBBCode=t.toHtml},t.toHtml=d.bind(null,!1),t.fragmentToHtml=d.bind(null,!0),t.toSource=p.bind(null,!1),t.fragmentToSource=p.bind(null,!0)}w.prototype={clone:function(){var t=this;return new w(t.type,t.name,t.val,s({},t.attrs),[],t.closing?t.closing.clone():null)},splitAt:function(t){var e,n=this.clone();return-1<(t=this.children.indexOf(t))&&(e=this.children.length-t,n.children=this.children.splice(t,e)),n}},E.QuoteType=d,E.defaults={breakBeforeBlock:!1,breakStartBlock:!1,breakEndBlock:!1,breakAfterBlock:!0,removeEmptyTags:!0,fixInvalidNesting:!0,fixInvalidChildren:!0,quoteType:d.auto,strictMatch:!1},C.get=function(t){return m[t]||null},C.set=function(t,e){return t&&e&&((e=s(m[t]||{},e)).remove=function(){delete m[t]},m[t]=e),this},C.rename=function(t,e){return t in m&&(m[e]=m[t],delete m[t]),this},C.remove=function(t){return t in m&&delete m[t],this},C.formatBBCodeString=p,t.formats.bbcode=C,t.BBCodeParser=E})(sceditor);
A assets/sceditor/icons/material.min.js +1-0 View file
@@ -0,0 +1,1 @@
1+(H=>{var V=H.dom,M={bold:'<path d="M13.5,15.5H10V12.5H13.5A1.5,1.5 0 0,1 15,14A1.5,1.5 0 0,1 13.5,15.5M10,6.5H13A1.5,1.5 0 0,1 14.5,8A1.5,1.5 0 0,1 13,9.5H10M15.6,10.79C16.57,10.11 17.25,9 17.25,8C17.25,5.74 15.5,4 13.25,4H7V18H14.04C16.14,18 17.75,16.3 17.75,14.21C17.75,12.69 16.89,11.39 15.6,10.79Z" />',bulletlist:'<path d="M7,5H21V7H7V5M7,13V11H21V13H7M4,4.5A1.5,1.5 0 0,1 5.5,6A1.5,1.5 0 0,1 4,7.5A1.5,1.5 0 0,1 2.5,6A1.5,1.5 0 0,1 4,4.5M4,10.5A1.5,1.5 0 0,1 5.5,12A1.5,1.5 0 0,1 4,13.5A1.5,1.5 0 0,1 2.5,12A1.5,1.5 0 0,1 4,10.5M7,19V17H21V19H7M4,16.5A1.5,1.5 0 0,1 5.5,18A1.5,1.5 0 0,1 4,19.5A1.5,1.5 0 0,1 2.5,18A1.5,1.5 0 0,1 4,16.5Z" />',center:'<path d="M3,3H21V5H3V3M7,7H17V9H7V7M3,11H21V13H3V11M7,15H17V17H7V15M3,19H21V21H3V19Z" />',code:'<path d="M8,3A2,2 0 0,0 6,5V9A2,2 0 0,1 4,11H3V13H4A2,2 0 0,1 6,15V19A2,2 0 0,0 8,21H10V19H8V14A2,2 0 0,0 6,12A2,2 0 0,0 8,10V5H10V3M16,3A2,2 0 0,1 18,5V9A2,2 0 0,0 20,11H21V13H20A2,2 0 0,0 18,15V19A2,2 0 0,1 16,21H14V19H16V14A2,2 0 0,1 18,12A2,2 0 0,1 16,10V5H14V3H16Z" />',color:'<path d="M9.62,12L12,5.67L14.37,12M11,3L5.5,17H7.75L8.87,14H15.12L16.25,17H18.5L13,3H11Z" /><path class="sce-color" d="M0,24H24V20H0V24Z" />',copy:'<path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" />',cut:'<path d="M19,3L13,9L15,11L22,4V3M12,12.5A0.5,0.5 0 0,1 11.5,12A0.5,0.5 0 0,1 12,11.5A0.5,0.5 0 0,1 12.5,12A0.5,0.5 0 0,1 12,12.5M6,20A2,2 0 0,1 4,18C4,16.89 4.9,16 6,16A2,2 0 0,1 8,18C8,19.11 7.1,20 6,20M6,8A2,2 0 0,1 4,6C4,4.89 4.9,4 6,4A2,2 0 0,1 8,6C8,7.11 7.1,8 6,8M9.64,7.64C9.87,7.14 10,6.59 10,6A4,4 0 0,0 6,2A4,4 0 0,0 2,6A4,4 0 0,0 6,10C6.59,10 7.14,9.87 7.64,9.64L10,12L7.64,14.36C7.14,14.13 6.59,14 6,14A4,4 0 0,0 2,18A4,4 0 0,0 6,22A4,4 0 0,0 10,18C10,17.41 9.87,16.86 9.64,16.36L12,14L19,21H22V20L9.64,7.64Z" />',date:'<path d="M7,10H12V15H7M19,19H5V8H19M19,3H18V1H16V3H8V1H6V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z" />',email:'<path d="M20,8L12,13L4,8V6L12,11L20,6M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z" />',emoticon:'<path d="M12,17.5C14.33,17.5 16.3,16.04 17.11,14H6.89C7.69,16.04 9.67,17.5 12,17.5M8.5,11A1.5,1.5 0 0,0 10,9.5A1.5,1.5 0 0,0 8.5,8A1.5,1.5 0 0,0 7,9.5A1.5,1.5 0 0,0 8.5,11M15.5,11A1.5,1.5 0 0,0 17,9.5A1.5,1.5 0 0,0 15.5,8A1.5,1.5 0 0,0 14,9.5A1.5,1.5 0 0,0 15.5,11M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z" />',font:'<path d="M17,8H20V20H21V21H17V20H18V17H14L12.5,20H14V21H10V20H11L17,8M18,9L14.5,16H18V9M5,3H10C11.11,3 12,3.89 12,5V16H9V11H6V16H3V5C3,3.89 3.89,3 5,3M6,5V9H9V5H6Z" />',format:'<path d="M18,4V3A1,1 0 0,0 17,2H5A1,1 0 0,0 4,3V7A1,1 0 0,0 5,8H17A1,1 0 0,0 18,7V6H19V10H9V21A1,1 0 0,0 10,22H12A1,1 0 0,0 13,21V12H21V4H18Z" />',grip:'<path d="M22,22H20V20H22V22M22,18H20V16H22V18M18,22H16V20H18V22M18,18H16V16H18V18M14,22H12V20H14V22M22,14H20V12H22V14Z" />',horizontalrule:'<path d="M 3,3 21,3 21,5 3,5 3,3 M 3,7 15,7 15,9 3,9 3,7 m 0,4 18,0 0,4 -18,0 0,-4" />',image:'<path d="M8.5,13.5L11,16.5L14.5,12L19,18H5M21,19V5C21,3.89 20.1,3 19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19Z" />',indent:'<path d="M11,13H21V11H11M11,9H21V7H11M3,3V5H21V3M11,17H21V15H11M3,8V16L7,12M3,21H21V19H3V21Z" />',italic:'<path d="M10,4V7H12.21L8.79,15H6V18H14V15H11.79L15.21,7H18V4H10Z" />',justify:'<path d="M3,3H21V5H3V3M3,7H21V9H3V7M3,11H21V13H3V11M3,15H21V17H3V15M3,19H21V21H3V19Z" />\t\t',left:'<path d="M3,3H21V5H3V3M3,7H15V9H3V7M3,11H21V13H3V11M3,15H15V17H3V15M3,19H21V21H3V19Z" />\t\t',link:'<path d="M16,6H13V7.9H16C18.26,7.9 20.1,9.73 20.1,12A4.1,4.1 0 0,1 16,16.1H13V18H16A6,6 0 0,0 22,12C22,8.68 19.31,6 16,6M3.9,12C3.9,9.73 5.74,7.9 8,7.9H11V6H8A6,6 0 0,0 2,12A6,6 0 0,0 8,18H11V16.1H8C5.74,16.1 3.9,14.26 3.9,12M8,13H16V11H8V13Z" />',ltr:'<path d="M21,18L17,14V17H5V19H17V22M9,10V15H11V4H13V15H15V4H17V2H9A4,4 0 0,0 5,6A4,4 0 0,0 9,10Z" />',maximize:'<path d="M9.5,13.09L10.91,14.5L6.41,19H10V21H3V14H5V17.59L9.5,13.09M10.91,9.5L9.5,10.91L5,6.41V10H3V3H10V5H6.41L10.91,9.5M14.5,13.09L19,17.59V14H21V21H14V19H17.59L13.09,14.5L14.5,13.09M13.09,9.5L17.59,5H14V3H21V10H19V6.41L14.5,10.91L13.09,9.5Z" />',orderedlist:'<path d="M7,13H21V11H7M7,19H21V17H7M7,7H21V5H7M2,11H3.8L2,13.1V14H5V13H3.2L5,10.9V10H2M3,8H4V4H2V5H3M2,17H4V17.5H3V18.5H4V19H2V20H5V16H2V17Z" />',outdent:'<path d="M11,13H21V11H11M11,9H21V7H11M3,3V5H21V3M3,21H21V19H3M3,12L7,16V8M11,17H21V15H11V17Z" />',paste:'<path d="M19,20H5V4H7V7H17V4H19M12,2A1,1 0 0,1 13,3A1,1 0 0,1 12,4A1,1 0 0,1 11,3A1,1 0 0,1 12,2M19,2H14.82C14.4,0.84 13.3,0 12,0C10.7,0 9.6,0.84 9.18,2H5A2,2 0 0,0 3,4V20A2,2 0 0,0 5,22H19A2,2 0 0,0 21,20V4A2,2 0 0,0 19,2Z" />',pastetext:'<path d="M19,20H5V4H7V7H17V4H19M12,2A1,1 0 0,1 13,3A1,1 0 0,1 12,4A1,1 0 0,1 11,3A1,1 0 0,1 12,2M19,2H14.82C14.4,0.84 13.3,0 12,0C10.7,0 9.6,0.84 9.18,2H5A2,2 0 0,0 3,4V20A2,2 0 0,0 5,22H19A2,2 0 0,0 21,20V4A2,2 0 0,0 19,2Z" />',print:'<path d="M18,3H6V7H18M19,12A1,1 0 0,1 18,11A1,1 0 0,1 19,10A1,1 0 0,1 20,11A1,1 0 0,1 19,12M16,19H8V14H16M19,8H5A3,3 0 0,0 2,11V17H6V21H18V17H22V11A3,3 0 0,0 19,8Z" />',quote:'<path d="M14,17H17L19,13V7H13V13H16M6,17H9L11,13V7H5V13H8L6,17Z" />',redo:'<path d="M18.4,10.6C16.55,9 14.15,8 11.5,8C6.85,8 2.92,11.03 1.54,15.22L3.9,16C4.95,12.81 7.95,10.5 11.5,10.5C13.45,10.5 15.23,11.22 16.62,12.38L13,16H22V7L18.4,10.6Z" />',removeformat:'<path d="M6,5V5.18L8.82,8H11.22L10.5,9.68L12.6,11.78L14.21,8H20V5H6M3.27,5L2,6.27L8.97,13.24L6.5,19H9.5L11.07,15.34L16.73,21L18,19.73L3.55,5.27L3.27,5Z" />',right:'<path d="M3,3H21V5H3V3M9,7H21V9H9V7M3,11H21V13H3V11M9,15H21V17H9V15M3,19H21V21H3V19Z" />',rtl:'<path d="M8,17V14L4,18L8,22V19H20V17M10,10V15H12V4H14V15H16V4H18V2H10A4,4 0 0,0 6,6A4,4 0 0,0 10,10Z" />',size:'<path d="M3,12H6V19H9V12H12V9H3M9,4V7H14V19H17V7H22V4H9Z" />',source:'<path d="M14.6,16.6L19.2,12L14.6,7.4L16,6L22,12L16,18L14.6,16.6M9.4,16.6L4.8,12L9.4,7.4L8,6L2,12L8,18L9.4,16.6Z" />',strike:'<path d="M3,14H21V12H3M5,4V7H10V10H14V7H19V4M10,19H14V16H10V19Z" />',subscript:'<path d="M16,7.41L11.41,12L16,16.59L14.59,18L10,13.41L5.41,18L4,16.59L8.59,12L4,7.41L5.41,6L10,10.59L14.59,6L16,7.41M21.85,21.03H16.97V20.03L17.86,19.23C18.62,18.58 19.18,18.04 19.56,17.6C19.93,17.16 20.12,16.75 20.13,16.36C20.14,16.08 20.05,15.85 19.86,15.66C19.68,15.5 19.39,15.38 19,15.38C18.69,15.38 18.42,15.44 18.16,15.56L17.5,15.94L17.05,14.77C17.32,14.56 17.64,14.38 18.03,14.24C18.42,14.1 18.85,14 19.32,14C20.1,14.04 20.7,14.25 21.1,14.66C21.5,15.07 21.72,15.59 21.72,16.23C21.71,16.79 21.53,17.31 21.18,17.78C20.84,18.25 20.42,18.7 19.91,19.14L19.27,19.66V19.68H21.85V21.03Z" />',superscript:'<path d="M16,7.41L11.41,12L16,16.59L14.59,18L10,13.41L5.41,18L4,16.59L8.59,12L4,7.41L5.41,6L10,10.59L14.59,6L16,7.41M21.85,9H16.97V8L17.86,7.18C18.62,6.54 19.18,6 19.56,5.55C19.93,5.11 20.12,4.7 20.13,4.32C20.14,4.04 20.05,3.8 19.86,3.62C19.68,3.43 19.39,3.34 19,3.33C18.69,3.34 18.42,3.4 18.16,3.5L17.5,3.89L17.05,2.72C17.32,2.5 17.64,2.33 18.03,2.19C18.42,2.05 18.85,2 19.32,2C20.1,2 20.7,2.2 21.1,2.61C21.5,3 21.72,3.54 21.72,4.18C21.71,4.74 21.53,5.26 21.18,5.73C20.84,6.21 20.42,6.66 19.91,7.09L19.27,7.61V7.63H21.85V9Z" />',table:'<path d="M5,4H19A2,2 0 0,1 21,6V18A2,2 0 0,1 19,20H5A2,2 0 0,1 3,18V6A2,2 0 0,1 5,4M5,8V12H11V8H5M13,8V12H19V8H13M5,14V18H11V14H5M13,14V18H19V14H13Z" />',time:'<path d="M12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22C6.47,22 2,17.5 2,12A10,10 0 0,1 12,2M12.5,7V12.25L17,14.92L16.25,16.15L11,13V7H12.5Z" />',underline:'<path d="M5,21H19V19H5V21M12,17A6,6 0 0,0 18,11V3H15.5V11A3.5,3.5 0 0,1 12,14.5A3.5,3.5 0 0,1 8.5,11V3H6V11A6,6 0 0,0 12,17Z" />',undo:'<path d="M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z" />',unlink:'<path d="M2,5.27L3.28,4L20,20.72L18.73,22L14.73,18H13V16.27L9.73,13H8V11.27L5.5,8.76C4.5,9.5 3.9,10.68 3.9,12C3.9,14.26 5.74,16.1 8,16.1H11V18H8A6,6 0 0,1 2,12C2,10.16 2.83,8.5 4.14,7.41L2,5.27M16,6A6,6 0 0,1 22,12C22,14.21 20.8,16.15 19,17.19L17.6,15.77C19.07,15.15 20.1,13.7 20.1,12C20.1,9.73 18.26,7.9 16,7.9H13V6H16M8,6H11V7.9H9.72L7.82,6H8M16,11V13H14.82L12.82,11H16Z" />',youtube:'<path d="M10,16.5V7.5L16,12M20,4.4C19.4,4.2 15.7,4 12,4C8.3,4 4.6,4.19 4,4.38C2.44,4.9 2,8.4 2,12C2,15.59 2.44,19.1 4,19.61C4.6,19.81 8.3,20 12,20C15.7,20 19.4,19.81 20,19.61C21.56,19.1 22,15.59 22,12C22,8.4 21.56,4.91 20,4.4Z" />'};H.icons.material=function(){var L,A={};return{create:function(V){return V in M&&(A[V]=H.dom.parseHTML('<svg xmlns="http://www.w3.org/2000/svg" viewbox="1 1 22 22" unselectable="on">'+M[V]+"</svg>").firstChild,"color"===V)&&(L=A[V].querySelector(".sce-color")),A[V]},update:function(H,M){var A;L&&(A="inherit",!H&&M&&(A=M.ownerDocument.queryCommandValue("forecolor")),V.css(L,"fill",A))},rtl:function(H){var M=A.grip;M&&(V.css(M,"transform",H=H?"scaleX(-1)":""),V.css(M,"msTransform",H),V.css(M,"webkitTransform",H))}}},H.icons.material.icons=M})((document,sceditor));
A assets/sceditor/plugins/autoyoutube.min.js +1-0 View file
@@ -0,0 +1,1 @@
1+((e,t)=>{var n=t.dom,r=/(^|\s)(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/watch\?v=)([^"&?\/ ]{11})(?:\&[\&_\?0-9a-z\#]+)?(\s|$)/i;function o(e){return'<iframe width="560" height="315" frameborder="0" src="https://www.youtube-nocookie.com/embed/'+e+'" data-youtube-id="'+e+'" allowfullscreen></iframe>'}t.plugins.autoyoutube=function(){this.signalPasteRaw=function(i){var s;n.closest(this.currentNode(),"code")||(i.html||i.text)&&((s=e.createElement("div")).innerHTML=i.html||t.escapeEntities(i.text),function t(i,s){var a,u,c=i.firstChild,l=i.textContent||"",d=(l=s?l.trim():l).match(r);if(l===l.trim()&&d&&d[0].length===l.length)n.removeAttr(i,"style"),n.removeAttr(i,"class"),i.innerHTML=o(d[2]);else for(;c;)3===c.nodeType?(a=c.nodeValue,u=c.parentNode,(d=a.match(r))&&(u.insertBefore(e.createTextNode(a.substr(0,d.index)+d[1]),c),u.insertBefore(n.parseHTML(o(d[2])),c),c.nodeValue=d[3]+a.substr(d.index+d[0].length))):n.is(c,"code")||t(c),c=c.nextSibling}(s,!0),i.html=s.innerHTML)}}})(document,sceditor);
A assets/sceditor/plugins/undo.min.js +1-0 View file
@@ -0,0 +1,1 @@
1+sceditor.plugins.undo=function(){var e,t,n,o,r=this,i="",a=0,s=!1,c=!1,d=!1,u=50,l=[],g=0;function f(e){if(c=!0,t.sourceMode(e.sourceMode),e.sourceMode)t.val(e.value,!1),t.sourceEditorCaret(e.caret);else if(t.getBody().innerHTML=e.value,e.caret){var o=t.getRangeHelper().selectedRange(),r=o;e=e.caret;try{var i=e.startPositions,a=e.endPositions;r.setStart(S(n,i),i[0]),r.setEnd(S(n,a),a[0])}catch(e){console&&console.warn&&console.warn("[SCEditor] Undo plugin lost caret",e)}t.getRangeHelper().selectRange(o)}t.focus(),c=!1}function p(e,n){var r=e[n];e[n]=function(){var e=s;!e&&!c&&o&&t.getRangeHelper().hasSelection()&&h(),s=!0,r.apply(this,arguments),e||(s=!1,c)||(v(),i="")}}function v(){g&&(l.length-=g,g=0),0<u&&u<l.length&&l.shift(),o={},h(),l.push(o)}function h(){var e=t.sourceMode();o.caret=e?t.sourceEditorCaret():(e=>{if(e)return n.normalize(),{startPositions:y(e.startContainer,e.startOffset),endPositions:y(e.endContainer,e.endOffset)}})(t.getRangeHelper().selectedRange()),o.sourceMode=e,o.value=e?t.getSourceEditorValue(!1):t.getBody().innerHTML}function E(){e===document.activeElement&&r.signalSelectionchangedEvent()}function y(e,t){for(var n=[t],o=e;o&&"BODY"!==o.tagName;)n.push((e=>{for(var t=0;e=e.previousSibling;)t++;return t})(o)),o=o.parentNode;return n}function S(e,t){for(var n=t.length-1;e&&0<n;n--)e=e.childNodes[t[n]];return e}r.init=function(){u=(t=this).undoLimit||u,t.addShortcut("ctrl+z",r.undo),t.addShortcut("ctrl+shift+z",r.redo),t.addShortcut("ctrl+y",r.redo)},r.signalReady=function(){function o(e){"historyUndo"===e.inputType?(r.undo(),e.preventDefault()):"historyRedo"===e.inputType&&(r.redo(),e.preventDefault())}function a(){i="",v()}e=t.getContentAreaContainer().nextSibling,n=t.getBody(),v(),p(t,"setWysiwygEditorValue"),p(t,"setSourceEditorValue"),p(t,"sourceEditorInsertText"),p(t.getRangeHelper(),"insertNode"),p(t,"toggleSourceMode"),n.addEventListener("beforeinput",o),e.addEventListener("beforeinput",o),n.addEventListener("compositionend",a),e.addEventListener("compositionend",a),document.addEventListener("selectionchange",E)},r.destroy=function(){document.removeEventListener("selectionchange",E)},r.undo=function(){return o=null,g<l.length-1&&(g++,f(l[l.length-1-g])),!1},r.redo=function(){return 0<g&&(g--,f(l[l.length-1-g])),!1},r.signalSelectionchangedEvent=function(){c||d?d=!1:(o&&h(),i="")},r.signalInputEvent=function(e){var t=e.inputType;if(d=!0,t&&!e.isComposing)switch(e.inputType){case"deleteContentBackward":o&&i===t&&a<20?h():(v(),a=0),i=t;break;case"insertText":a+=e.data?e.data.length:1,o&&i===t&&a<20&&!/\s$/.test(e.data)?h():(v(),a=0),i=t;break;default:i="sce-misc",a=0,v()}}};
A assets/sceditor/sceditor.min.js +2-0 View file
@@ -0,0 +1,2 @@
1+/* SCEditor v3.2.1 | (C) 2017, Sam Clarke | sceditor.com/license */
2+(()=>{function i(e,t){return typeof t===e}var ye=i.bind(null,"string"),Xe=i.bind(null,"undefined"),Ke=i.bind(null,"function"),a=i.bind(null,"number");function l(e){return!Object.keys(e).length}function be(e,t){var n=e===!!e,o=n?2:1,r=n?t:e,i=n&&e;function a(e){return null!==e&&"object"==typeof e&&Object.getPrototypeOf(e)===Object.prototype}for(;o<arguments.length;o++){var l,s=arguments[o];for(l in s){var c,u,d=r[l],f=s[l];Xe(f)||"__proto__"!==l&&"constructor"!==l&&(u=a(f),c=Array.isArray(f),i&&(u||c)?(u=a(d)===u&&Array.isArray(d)===c,r[l]=be(!0,u?d:c?[]:{},f)):r[l]=f)}}return r}function Ze(e,t){t=e.indexOf(t);-1<t&&e.splice(t,1)}function we(t,n){if(Array.isArray(t)||"length"in t&&a(t.length))for(var e=0;e<t.length;e++)n(e,t[e]);else Object.keys(t).forEach(function(e){n(e,t[e])})}var s={},xe=1,Te=3,c=8;function r(e){return e=parseFloat(e),isFinite(e)?e:0}function Ee(e,t,n){var o=(n||document).createElement(e);return we(t||{},function(e,t){"style"===e?o.style.cssText=t:e in o?o[e]=t:o.setAttribute(e,t)}),o}function Je(e,t){for(var n=e||{};(n=n.parentNode)&&!/(9|11)/.test(n.nodeType);)if(!t||Me(n,t))return n}function Ce(e,t){return Me(e,t)?e:Je(e,t)}function Se(e){e.parentNode&&e.parentNode.removeChild(e)}function Ne(e,t){e.appendChild(t)}function ke(e,t){return e.querySelectorAll(t)}function De(n,e,o,r,i){e.split(" ").forEach(function(e){var t;ye(o)?(t=r["_sce-event-"+e+o]||function(e){for(var t=e.target;t&&t!==n;){if(Me(t,o))return void r.call(t,e);t=t.parentNode}},r["_sce-event-"+e+o]=t):(t=o,i=r),n.addEventListener(e,t,i||!1)})}function Ae(n,e,o,r,i){e.split(" ").forEach(function(e){var t;ye(o)?t=r["_sce-event-"+e+o]:(t=o,i=r),n.removeEventListener(e,t,i||!1)})}function _e(e,t,n){if(arguments.length<3)return e.getAttribute(t);null==n?Qe(e,t):e.setAttribute(t,n)}function Qe(e,t){e.removeAttribute(t)}function et(e){Re(e,"display","none")}function tt(e){Re(e,"display","")}function nt(e){(st(e)?et:tt)(e)}function Re(n,e,t){if(arguments.length<3){if(ye(e))return 1===n.nodeType?getComputedStyle(n)[e]:null;we(e,function(e,t){Re(n,e,t)})}else{var o=(t||0===t)&&!isNaN(t);n.style[e]=o?t+"px":t}}function ot(e,t,n){var o=arguments.length,r={};if(e.nodeType===xe)return 1===o?(we(e.attributes,function(e,t){/^data\-/i.test(t.name)&&(r[t.name.substr(5)]=t.value)}),r):2===o?_e(e,"data-"+t):void _e(e,"data-"+t,String(n))}function Me(e,t){var n=!1;return n=e&&e.nodeType===xe?(e.matches||e.msMatchesSelector||e.webkitMatchesSelector).call(e,t):n}function Oe(e,t){t.parentNode.insertBefore(e,t)}function u(e){return e.className.trim().split(/\s+/)}function rt(e,t){return Me(e,"."+t)}function Ie(e,t){var n=u(e);n.indexOf(t)<0&&n.push(t),e.className=n.join(" ")}function it(e,t){var n=u(e);Ze(n,t),e.className=n.join(" ")}function Le(e,t,n){((n=Xe(n)?!rt(e,t):n)?Ie:it)(e,t)}function at(e,t){var n,o;if(Xe(t))return n=r((o=getComputedStyle(e)).paddingLeft)+r(o.paddingRight),o=r(o.borderLeftWidth)+r(o.borderRightWidth),e.offsetWidth-n-o;Re(e,"width",t)}function Fe(e,t){var n,o;if(Xe(t))return n=r((o=getComputedStyle(e)).paddingTop)+r(o.paddingBottom),o=r(o.borderTopWidth)+r(o.borderBottomWidth),e.offsetHeight-n-o;Re(e,"height",t)}function lt(e,t,n){var o;Ke(window.CustomEvent)?o=new CustomEvent(t,{bubbles:!0,cancelable:!0,detail:n}):(o=e.ownerDocument.createEvent("CustomEvent")).initCustomEvent(t,!0,!0,n),e.dispatchEvent(o)}function st(e){return e.getClientRects().length}function d(e,t,n,o,r){for(e=r?e.lastChild:e.firstChild;e;){var i=r?e.previousSibling:e.nextSibling;if(!n&&!1===t(e)||!o&&!1===d(e,t,n,o,r)||n&&!1===t(e))return!1;e=i}}function ct(e,t,n,o){d(e,t,n,o,!0)}function ut(e,t){var n=(t=t||document).createDocumentFragment(),o=Ee("div",{},t);for(o.innerHTML=e;o.firstChild;)Ne(n,o.firstChild);return n}function dt(e){return e&&(!Me(e,"p,div")||e.className||_e(e,"style")||!l(ot(e)))}function ft(e,t){var n=Ee(t,{},e.ownerDocument);for(we(e.attributes,function(e,t){try{_e(n,t.name,t.value)}catch(e){}});e.firstChild;)Ne(n,e.firstChild);return e.parentNode.replaceChild(n,e),n}var f="|body|hr|p|div|h1|h2|h3|h4|h5|h6|address|pre|form|table|tbody|thead|tfoot|th|tr|td|li|ol|ul|blockquote|center|details|section|article|aside|nav|main|header|hgroup|footer|fieldset|dl|dt|dd|figure|figcaption|";function pt(e){return!!/11?|9/.test(e.nodeType)&&"|iframe|area|base|basefont|br|col|frame|hr|img|input|wbr|isindex|link|meta|param|command|embed|keygen|source|track|object|".indexOf("|"+e.nodeName.toLowerCase()+"|")<0}function He(e,t){var n=(e||{}).nodeType||Te;return n!==xe?n===Te:"code"===(n=e.tagName.toLowerCase())?!t:f.indexOf("|"+n+"|")<0}function p(e){return e.lastChild&&p(e.lastChild)&&Se(e.lastChild),3===e.nodeType?!e.nodeValue:pt(e)&&!e.childNodes.length}function mt(e){d(e,function(e){var t=!He(e,!0)&&e.nodeType!==c,n=e.parentNode;if(t&&(He(n,!0)||"P"===n.tagName)){for(var o=e;He(o.parentNode,!0)||"P"===o.parentNode.tagName;)o=o.parentNode;for(var r=g(o,e),i=e;n&&He(n,!0);){if(n.nodeType===xe){for(var a=n.cloneNode();i.firstChild;)Ne(a,i.firstChild);Ne(i,a)}n=n.parentNode}Oe(i,o),p(r)||Oe(r,i),p(o)&&Se(o)}t&&Me(e,"ul,ol")&&Me(e.parentNode,"ul,ol")&&(r="li",t=(t=e).previousElementSibling,(t=!r||!t||Me(t,r)?t:null)||Oe(t=Ee("li"),e),Ne(t,e))})}function m(e,t){return e?(t?e.previousSibling:e.nextSibling)||m(e.parentNode,t):null}function gt(e){var t,n,o,r,i,a,l=Re(e,"whiteSpace"),s=/line$/i.test(l),c=e.firstChild;if(!/pre(\-wrap)?$/i.test(l))for(;c;){if(i=c.nextSibling,t=c.nodeValue,(n=c.nodeType)===xe&&c.firstChild&&gt(c),n===Te){for(n=m(c),o=m(c,!0),a=!1;rt(o,"sceditor-ignore");)o=m(o,!0);if(He(c)&&o){for(r=o;r.lastChild;)for(r=r.lastChild;rt(r,"sceditor-ignore");)r=m(r,!0);a=r.nodeType===Te?/[\t\n\r ]$/.test(r.nodeValue):!He(r)}t=t.replace(/\u200B/g,""),o&&He(o)&&!a||(t=t.replace(s?/^[\t ]+/:/^[\t\n\r ]+/,"")),(t=n&&He(n)?t:t.replace(s?/[\t ]+$/:/[\t\n\r ]+$/,"")).length?c.nodeValue=t.replace(s?/[\t ]+/g:/[\t\n\r ]+/g," "):Se(c)}c=i}}function g(e,t){var n=e.ownerDocument.createRange();return n.setStartBefore(e),n.setEndAfter(t),n.extractContents()}function ht(e){for(var t=0,n=0;e;)t+=e.offsetLeft,n+=e.offsetTop,e=e.offsetParent;return{left:t,top:n}}function h(e,t){var n=e.style;return s[t]||(s[t]=t.replace(/^-ms-/,"ms-").replace(/-(\w)/g,function(e,t){return t.toUpperCase()})),n=n[t=s[t]],"textAlign"===t&&(n=n||Re(e,t),Re(e.parentNode,t)===n||"block"!==Re(e,"display")||Me(e,"hr,th"))?"":n}function vt(e,t){var n=e.attributes.length;if(n===t.attributes.length){for(;n--;){var o=e.attributes[n];if("style"===o.name?!((e,t)=>{var n=e.style.length;if(n===t.style.length){for(;n--;){var o=e.style[n];if(e.style[o]!==t.style[o])return}return 1}})(e,t):o.value!==_e(t,o.name))return}return 1}}function yt(e){for(;e.firstChild;)Oe(e.firstChild,e);Se(e)}var v,bt={toolbar:"bold,italic,underline,strike,subscript,superscript|left,center,right,justify|font,size,color,removeformat|cut,copy,pastetext|bulletlist,orderedlist,indent,outdent|table|code,quote|horizontalrule,image,email,link,unlink|emoticon,youtube,date,time|ltr,rtl|print,maximize,source",toolbarExclude:null,style:"jquery.sceditor.default.css",fonts:"Arial,Arial Black,Comic Sans MS,Courier New,Georgia,Impact,Sans-serif,Serif,Times New Roman,Trebuchet MS,Verdana",colors:"#000000,#44B8FF,#1E92F7,#0074D9,#005DC2,#00369B,#b3d5f4|#444444,#C3FFFF,#9DF9FF,#7FDBFF,#68C4E8,#419DC1,#d9f4ff|#666666,#72FF84,#4CEA5E,#2ECC40,#17B529,#008E02,#c0f0c6|#888888,#FFFF44,#FFFA1E,#FFDC00,#E8C500,#C19E00,#fff5b3|#aaaaaa,#FFC95F,#FFA339,#FF851B,#E86E04,#C14700,#ffdbbb|#cccccc,#FF857A,#FF5F54,#FF4136,#E82A1F,#C10300,#ffc6c3|#eeeeee,#FF56FF,#FF30DC,#F012BE,#D900A7,#B20080,#fbb8ec|#ffffff,#F551FF,#CF2BE7,#B10DC9,#9A00B2,#9A00B2,#e8b6ef",locale:_e(document.documentElement,"lang")||"en",charset:"utf-8",emoticonsCompat:!1,emoticonsEnabled:!0,emoticonsRoot:"",emoticons:{dropdown:{":)":"emoticons/smile.png",":angel:":"emoticons/angel.png",":angry:":"emoticons/angry.png","8-)":"emoticons/cool.png",":'(":"emoticons/cwy.png",":ermm:":"emoticons/ermm.png",":D":"emoticons/grin.png","<3":"emoticons/heart.png",":(":"emoticons/sad.png",":O":"emoticons/shocked.png",":P":"emoticons/tongue.png",";)":"emoticons/wink.png"},more:{":alien:":"emoticons/alien.png",":blink:":"emoticons/blink.png",":blush:":"emoticons/blush.png",":cheerful:":"emoticons/cheerful.png",":devil:":"emoticons/devil.png",":dizzy:":"emoticons/dizzy.png",":getlost:":"emoticons/getlost.png",":happy:":"emoticons/happy.png",":kissing:":"emoticons/kissing.png",":ninja:":"emoticons/ninja.png",":pinch:":"emoticons/pinch.png",":pouty:":"emoticons/pouty.png",":sick:":"emoticons/sick.png",":sideways:":"emoticons/sideways.png",":silly:":"emoticons/silly.png",":sleeping:":"emoticons/sleeping.png",":unsure:":"emoticons/unsure.png",":woot:":"emoticons/w00t.png",":wassat:":"emoticons/wassat.png"},hidden:{":whistling:":"emoticons/whistling.png",":love:":"emoticons/wub.png"}},width:null,height:null,resizeEnabled:!0,resizeMinWidth:null,resizeMinHeight:null,resizeMaxHeight:null,resizeMaxWidth:null,resizeHeight:!0,resizeWidth:!0,dateFormat:"year-month-day",toolbarContainer:null,enablePasteFiltering:!1,disablePasting:!1,readOnly:!1,rtl:!1,autofocus:!1,autofocusEnd:!0,autoExpand:!1,autoUpdate:!1,spellcheck:!0,runWithoutWysiwygSupport:!1,startInSourceMode:!1,id:null,plugins:"",zIndex:null,bbcodeTrim:!1,disableBlockRemove:!1,allowedIframeUrls:[],parserOptions:{},dropDownCss:{},allowedTags:[],allowedAttributes:[]},y=/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i,b=/^data:image\/(png|bmp|gif|p?jpe?g);/i,w=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g;function wt(e){return e.replace(/([\-.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")}function ze(e,t){var n;return e&&(!(n={"&":"&amp;","<":"&lt;",">":"&gt;"," ":"&nbsp; ","\r\n":"<br />","\r":"<br />","\n":"<br />"})!==t&&(n['"']="&#34;",n["'"]="&#39;",n["`"]="&#96;"),e=e.replace(/ {2}|\r\n|[&<>\r\n'"`]/g,function(e){return n[e]||e})),e}function xt(e){var t,n=window.location;return!e||b.test(e)||y.test(e.replace(w,""))||((t=n.pathname.split("/")).pop(),e=n.protocol+"//"+n.host+t.join("/")+"/"+e,y.test(e.replace(w,"")))?e:""}let{entries:Tt,setPrototypeOf:x,isFrozen:T,getPrototypeOf:E,getOwnPropertyDescriptor:C}=Object,{freeze:Ve,seal:e,create:Et}=Object,{apply:S,construct:N}="undefined"!=typeof Reflect&&Reflect,Ct=(Ve=Ve||function(e){return e},e=e||function(e){return e},S=S||function(e,t){for(var n=arguments.length,o=new Array(2<n?n-2:0),r=2;r<n;r++)o[r-2]=arguments[r];return e.apply(t,o)},N=N||function(e){for(var t=arguments.length,n=new Array(1<t?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];return new e(...n)},o(Array.prototype.forEach)),St=o(Array.prototype.lastIndexOf),Nt=o(Array.prototype.pop),kt=o(Array.prototype.push),Dt=o(Array.prototype.splice),At=o(String.prototype.toLowerCase),_t=o(String.prototype.toString),Rt=o(String.prototype.match),Mt=o(String.prototype.replace),Ot=o(String.prototype.indexOf),It=o(String.prototype.trim),Ge=o(Object.prototype.hasOwnProperty),Ye=o(RegExp.prototype.test),Lt=(v=TypeError,function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return N(v,t)});function o(r){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var t=arguments.length,n=new Array(1<t?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];return S(r,e,n)}}function qe(t,n,e){var o,r=2<arguments.length&&void 0!==e?e:At;x&&x(t,null);let i=n.length;for(;i--;){let e=n[i];"string"==typeof e&&(o=r(e))!==e&&(T(n)||(n[i]=o),e=o),t[e]=!0}return t}function $e(e){var t,n,o=Et(null);for([t,n]of Tt(e))Ge(e,t)&&(Array.isArray(n)?o[t]=(t=>{for(let e=0;e<t.length;e++)Ge(t,e)||(t[e]=null);return t})(n):n&&"object"==typeof n&&n.constructor===Object?o[t]=$e(n):o[t]=n);return o}function Ft(e,t){for(;null!==e;){var n=C(e,t);if(n){if(n.get)return o(n.get);if("function"==typeof n.value)return o(n.value)}e=E(e)}return function(){return null}}let Ht=Ve(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),zt=Ve(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","slot","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Pt=Ve(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),Bt=Ve(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Ut=Ve(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),Wt=Ve(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),jt=Ve(["#text"]),Vt=Ve(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),Gt=Ve(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Yt=Ve(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),qt=Ve(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]);var k=e(/\{\{[\w\W]*|[\w\W]*\}\}/gm),D=e(/<%[\w\W]*|[\w\W]*%>/gm),A=e(/\$\{[\w\W]*/gm),t=e(/^data-[\-\w.\u00B7-\uFFFF]+$/),n=e(/^aria-[\-\w]+$/);let $t=e(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i);var _=e(/^(?:\w+script|data):/i),R=e(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g);let Xt=e(/^html$/i);var M=e(/^[a-z][.\w]*(-[.\w]+)+$/i),Kt=Object.freeze({__proto__:null,ARIA_ATTR:n,ATTR_WHITESPACE:R,CUSTOM_ELEMENT:M,DATA_ATTR:t,DOCTYPE_NAME:Xt,ERB_EXPR:D,IS_ALLOWED_URI:$t,IS_SCRIPT_OR_DATA:_,MUSTACHE_EXPR:k,TMPLIT_EXPR:A});function Zt(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}}let Jt={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12};var Qt=function i(e){e=0<arguments.length&&void 0!==e?e:"undefined"==typeof window?null:window;let u=e=>i(e);if(u.version="3.2.7",u.removed=[],!e||!e.document||e.document.nodeType!==Jt.document||!e.Element)return u.isSupported=!1,u;let r=e.document,l=r,H=l.currentScript,{DocumentFragment:z,HTMLTemplateElement:P,Node:s,Element:B,NodeFilter:t,NamedNodeMap:U=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:W,DOMParser:j,trustedTypes:d}=e;e=B.prototype;let V=Ft(e,"cloneNode"),G=Ft(e,"remove"),Y=Ft(e,"nextSibling"),q=Ft(e,"childNodes"),a=Ft(e,"parentNode");"function"==typeof P&&(e=r.createElement("template")).content&&e.content.ownerDocument&&(r=e.content.ownerDocument);function $(e){return e instanceof RegExp||e instanceof Function}function X(){let e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};if(!o||o!==e){if(e=$e(e=e&&"object"==typeof e?e:{}),O=-1===Le.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE,I="application/xhtml+xml"===O?_t:At,g=Ge(e,"ALLOWED_TAGS")?qe({},e.ALLOWED_TAGS,I):me,h=Ge(e,"ALLOWED_ATTR")?qe({},e.ALLOWED_ATTR,I):ge,Me=Ge(e,"ALLOWED_NAMESPACES")?qe({},e.ALLOWED_NAMESPACES,_t):Oe,Ae=Ge(e,"ADD_URI_SAFE_ATTR")?qe($e(_e),e.ADD_URI_SAFE_ATTR,I):_e,ke=Ge(e,"ADD_DATA_URI_TAGS")?qe($e(De),e.ADD_DATA_URI_TAGS,I):De,N=Ge(e,"FORBID_CONTENTS")?qe({},e.FORBID_CONTENTS,I):Ne,y=Ge(e,"FORBID_TAGS")?qe({},e.FORBID_TAGS,I):$e({}),he=Ge(e,"FORBID_ATTR")?qe({},e.FORBID_ATTR,I):$e({}),n=!!Ge(e,"USE_PROFILES")&&e.USE_PROFILES,ve=!1!==e.ALLOW_ARIA_ATTR,ye=!1!==e.ALLOW_DATA_ATTR,be=e.ALLOW_UNKNOWN_PROTOCOLS||!1,we=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,b=e.SAFE_FOR_TEMPLATES||!1,w=!1!==e.SAFE_FOR_XML,x=e.WHOLE_DOCUMENT||!1,T=e.RETURN_DOM||!1,E=e.RETURN_DOM_FRAGMENT||!1,C=e.RETURN_TRUSTED_TYPE||!1,Te=e.FORCE_BODY||!1,Ee=!1!==e.SANITIZE_DOM,Ce=e.SANITIZE_NAMED_PROPS||!1,Se=!1!==e.KEEP_CONTENT,S=e.IN_PLACE||!1,pe=e.ALLOWED_URI_REGEXP||$t,_=e.NAMESPACE||A,R=e.MATHML_TEXT_INTEGRATION_POINTS||R,M=e.HTML_INTEGRATION_POINTS||M,v=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&$(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(v.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&$(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(v.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(v.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),b&&(ye=!1),E&&(T=!0),n&&(g=qe({},jt),h=[],!0===n.html&&(qe(g,Ht),qe(h,Vt)),!0===n.svg&&(qe(g,zt),qe(h,Gt),qe(h,qt)),!0===n.svgFilters&&(qe(g,Pt),qe(h,Gt),qe(h,qt)),!0===n.mathMl)&&(qe(g,Ut),qe(h,Yt),qe(h,qt)),e.ADD_TAGS&&qe(g=g===me?$e(g):g,e.ADD_TAGS,I),e.ADD_ATTR&&qe(h=h===ge?$e(h):h,e.ADD_ATTR,I),e.ADD_URI_SAFE_ATTR&&qe(Ae,e.ADD_URI_SAFE_ATTR,I),e.FORBID_CONTENTS&&qe(N=N===Ne?$e(N):N,e.FORBID_CONTENTS,I),Se&&(g["#text"]=!0),x&&qe(g,["html","head","body"]),g.table&&(qe(g,["tbody"]),delete y.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw Lt('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw Lt('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');p=e.TRUSTED_TYPES_POLICY,c=p.createHTML("")}else null!==(p=void 0===p?((e,t)=>{if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;let n=null;var o="data-tt-policy-suffix",t="dompurify"+((n=t&&t.hasAttribute(o)?t.getAttribute(o):n)?"#"+n:"");try{return e.createPolicy(t,{createHTML(e){return e},createScriptURL(e){return e}})}catch(e){return console.warn("TrustedTypes policy "+t+" could not be created."),null}})(d,H):p)&&"string"==typeof c&&(c=p.createHTML(""));Ve&&Ve(e),o=e}}function f(e,t){try{kt(u.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){kt(u.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e)if(T||E)try{L(t)}catch(e){}else try{t.setAttribute(e,"")}catch(e){}}function K(e){let t=null,n=null;Te?e="<remove></remove>"+e:(o=Rt(e,/^[\r\n\t ]+/),n=o&&o[0]),"application/xhtml+xml"===O&&_===A&&(e='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+e+"</body></html>");var o=p?p.createHTML(e):e;if(_===A)try{t=(new j).parseFromString(o,O)}catch(e){}if(!t||!t.documentElement){t=ee.createDocument(_,"template",null);try{t.documentElement.innerHTML=Re?c:o}catch(e){}}return o=t.body||t.documentElement,e&&n&&o.insertBefore(r.createTextNode(n),o.childNodes[0]||null),_===A?oe.call(t,x?"html":"body")[0]:x?t.documentElement:o}function Z(e){return te.call(e.ownerDocument||e,e,t.SHOW_ELEMENT|t.SHOW_COMMENT|t.SHOW_TEXT|t.SHOW_PROCESSING_INSTRUCTION|t.SHOW_CDATA_SECTION,null)}function J(e){return e instanceof W&&("string"!=typeof e.nodeName||"string"!=typeof e.textContent||"function"!=typeof e.removeChild||!(e.attributes instanceof U)||"function"!=typeof e.removeAttribute||"function"!=typeof e.setAttribute||"string"!=typeof e.namespaceURI||"function"!=typeof e.insertBefore||"function"!=typeof e.hasChildNodes)}function Q(e){return"function"==typeof s&&e instanceof s}let p,c="",{implementation:ee,createNodeIterator:te,createDocumentFragment:ne,getElementsByTagName:oe}=r,re=l.importNode,m=Zt(),{MUSTACHE_EXPR:ie,ERB_EXPR:ae,TMPLIT_EXPR:le,DATA_ATTR:se,ARIA_ATTR:ce,IS_SCRIPT_OR_DATA:ue,ATTR_WHITESPACE:de,CUSTOM_ELEMENT:fe}=(u.isSupported="function"==typeof Tt&&"function"==typeof a&&ee&&void 0!==ee.createHTMLDocument,Kt),pe=Kt.IS_ALLOWED_URI,g=null,me=qe({},[...Ht,...zt,...Pt,...Ut,...jt]),h=null,ge=qe({},[...Vt,...Gt,...Yt,...qt]),v=Object.seal(Et(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),y=null,he=null,ve=!0,ye=!0,be=!1,we=!0,b=!1,w=!0,x=!1,xe=!1,Te=!1,T=!1,E=!1,C=!1,Ee=!0,Ce=!1,Se=!0,S=!1,n={},N=null,Ne=qe({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),ke=null,De=qe({},["audio","video","img","source","image","track"]),Ae=null,_e=qe({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),k="http://www.w3.org/1998/Math/MathML",D="http://www.w3.org/2000/svg",A="http://www.w3.org/1999/xhtml",_=A,Re,Me=null,Oe=qe({},[k,D,A],_t),R=qe({},["mi","mo","mn","ms","mtext"]),M=qe({},["annotation-xml"]),Ie=qe({},["title","style","font","a","script"]),O=null,Le=["application/xhtml+xml","text/html"],I=null,o=null,Fe=r.createElement("form"),He=qe({},[...zt,...Pt,...Bt]),ze=qe({},[...Ut,...Wt]),L=function(t){kt(u.removed,{element:t});try{a(t).removeChild(t)}catch(e){G(t)}};function F(e,t,n){Ct(e,e=>{e.call(u,t,n,o)})}function Pe(t){let n=null;if(F(m.beforeSanitizeElements,t,null),!J(t)){var e=I(t.nodeName);if(F(m.uponSanitizeElement,t,{tagName:e,allowedTags:g}),!(w&&t.hasChildNodes()&&!Q(t.firstElementChild)&&Ye(/<[/\w!]/g,t.innerHTML)&&Ye(/<[/\w!]/g,t.textContent)||t.nodeType===Jt.progressingInstruction||w&&t.nodeType===Jt.comment&&Ye(/<[/\w]/g,t.data))){if(g[e]&&!y[e])return t instanceof B&&!(e=>{let t=a(e);t&&t.tagName||(t={namespaceURI:_,tagName:"template"});var n=At(e.tagName),o=At(t.tagName);return!!Me[e.namespaceURI]&&(e.namespaceURI===D?t.namespaceURI===A?"svg"===n:t.namespaceURI===k?"svg"===n&&("annotation-xml"===o||R[o]):Boolean(He[n]):e.namespaceURI===k?t.namespaceURI===A?"math"===n:t.namespaceURI===D?"math"===n&&M[o]:Boolean(ze[n]):e.namespaceURI===A?!(t.namespaceURI===D&&!M[o]||t.namespaceURI===k&&!R[o]||ze[n])&&(Ie[n]||!He[n]):!("application/xhtml+xml"!==O||!Me[e.namespaceURI]))})(t)||("noscript"===e||"noembed"===e||"noframes"===e)&&Ye(/<\/no(script|embed|frames)/i,t.innerHTML)?L(t):(b&&t.nodeType===Jt.text&&(n=t.textContent,Ct([ie,ae,le],e=>{n=Mt(n,e," ")}),t.textContent!==n)&&(kt(u.removed,{element:t.cloneNode()}),t.textContent=n),F(m.afterSanitizeElements,t,null));if(!y[e]&&je(e)){if(v.tagNameCheck instanceof RegExp&&Ye(v.tagNameCheck,e))return;if(v.tagNameCheck instanceof Function&&v.tagNameCheck(e))return}if(Se&&!N[e]){var o=a(t)||t.parentNode,r=q(t)||t.childNodes;if(r&&o)for(let e=r.length-1;0<=e;--e){var i=V(r[e],!0);i.__removalCount=(t.__removalCount||0)+1,o.insertBefore(i,Y(t))}}}}L(t)}function Be(e,t,n){if(Ee&&("id"===t||"name"===t)&&(n in r||n in Fe))return!1;if((!ye||he[t]||!Ye(se,t))&&(!ve||!Ye(ce,t)))if(!h[t]||he[t]){if(!(je(e)&&(v.tagNameCheck instanceof RegExp&&Ye(v.tagNameCheck,e)||v.tagNameCheck instanceof Function&&v.tagNameCheck(e))&&(v.attributeNameCheck instanceof RegExp&&Ye(v.attributeNameCheck,t)||v.attributeNameCheck instanceof Function&&v.attributeNameCheck(t,e))||"is"===t&&v.allowCustomizedBuiltInElements&&(v.tagNameCheck instanceof RegExp&&Ye(v.tagNameCheck,n)||v.tagNameCheck instanceof Function&&v.tagNameCheck(n))))return!1}else if(!Ae[t]&&!Ye(pe,Mt(n,de,""))&&("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==Ot(n,"data:")||!ke[e])&&(!be||Ye(ue,Mt(n,de,"")))&&n)return!1;return!0}function Ue(n){F(m.beforeSanitizeAttributes,n,null);var o=n.attributes;if(o&&!J(n)){var r={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:h,forceKeepAttr:void 0};let e=o.length;for(;e--;){var{name:i,namespaceURI:a,value:l}=o[e],s=I(i);let t="value"===i?l:It(l);if(r.attrName=s,r.attrValue=t,r.keepAttr=!0,r.forceKeepAttr=void 0,F(m.uponSanitizeAttribute,n,r),t=r.attrValue,!Ce||"id"!==s&&"name"!==s||(f(i,n),t="user-content-"+t),w&&Ye(/((--!?|])>)|<\/(style|title|textarea)/i,t))f(i,n);else if("attributename"===s&&Rt(t,"href"))f(i,n);else if(!r.forceKeepAttr)if(r.keepAttr)if(!we&&Ye(/\/>/i,t))f(i,n);else{b&&Ct([ie,ae,le],e=>{t=Mt(t,e," ")});var c=I(n.nodeName);if(Be(c,s,t)){if(p&&"object"==typeof d&&"function"==typeof d.getAttributeType&&!a)switch(d.getAttributeType(c,s)){case"TrustedHTML":t=p.createHTML(t);break;case"TrustedScriptURL":t=p.createScriptURL(t)}if(t!==l)try{a?n.setAttributeNS(a,i,t):n.setAttribute(i,t),J(n)?L(n):Nt(u.removed)}catch(e){f(i,n)}}else f(i,n)}else f(i,n)}F(m.afterSanitizeAttributes,n,null)}}function We(e){var t,n=Z(e);for(F(m.beforeSanitizeShadowDOM,e,null);t=n.nextNode();)F(m.uponSanitizeShadowNode,t,null),Pe(t),Ue(t),t.content instanceof z&&We(t.content);F(m.afterSanitizeShadowDOM,e,null)}let je=function(e){return"annotation-xml"!==e&&Rt(e,fe)};return u.sanitize=function(e){var t,n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};let o=null,r=null;if("string"!=typeof(e=(Re=!e)?"\x3c!--\x3e":e)&&!Q(e)){if("function"!=typeof e.toString)throw Lt("toString is not a function");if("string"!=typeof(e=e.toString()))throw Lt("dirty is not a string, aborting")}if(!u.isSupported)return e;if(xe||X(n),u.removed=[],S="string"!=typeof e&&S){if(e.nodeName){n=I(e.nodeName);if(!g[n]||y[n])throw Lt("root node is forbidden and cannot be sanitized in-place")}}else if(e instanceof s)(n=(o=K("\x3c!----\x3e")).ownerDocument.importNode(e,!0)).nodeType===Jt.element&&"BODY"===n.nodeName||"HTML"===n.nodeName?o=n:o.appendChild(n);else{if(!T&&!b&&!x&&-1===e.indexOf("<"))return p&&C?p.createHTML(e):e;if(!(o=K(e)))return T?null:C?c:""}o&&Te&&L(o.firstChild);for(var i=Z(S?e:o);t=i.nextNode();)Pe(t),Ue(t),t.content instanceof z&&We(t.content);if(S)return e;if(T){if(E)for(r=ne.call(o.ownerDocument);o.firstChild;)r.appendChild(o.firstChild);else r=o;return r=h.shadowroot||h.shadowrootmode?re.call(l,r,!0):r}let a=x?o.outerHTML:o.innerHTML;return x&&g["!doctype"]&&o.ownerDocument&&o.ownerDocument.doctype&&o.ownerDocument.doctype.name&&Ye(Xt,o.ownerDocument.doctype.name)&&(a="<!DOCTYPE "+o.ownerDocument.doctype.name+">\n"+a),b&&Ct([ie,ae,le],e=>{a=Mt(a,e," ")}),p&&C?p.createHTML(a):a},u.setConfig=function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};X(e),xe=!0},u.clearConfig=function(){o=null,xe=!1},u.isValidAttribute=function(e,t,n){return o||X({}),e=I(e),t=I(t),Be(e,t,n)},u.addHook=function(e,t){"function"==typeof t&&kt(m[e],t)},u.removeHook=function(e,t){return void 0!==t?-1===(t=St(m[e],t))?void 0:Dt(m[e],t,1)[0]:Nt(m[e])},u.removeHooks=function(e){m[e]=[]},u.removeAllHooks=function(){m=Zt()},u}(),O={html:'<!DOCTYPE html><html{attrs}><head><meta http-equiv="Content-Type" content="text/html;charset={charset}" /><link rel="stylesheet" type="text/css" href="{style}" /></head><body contenteditable="true" {spellcheck}><p></p></body></html>',toolbarButton:'<a class="sceditor-button sceditor-button-{name}" data-sceditor-command="{name}" unselectable="on"><div unselectable="on">{dispName}</div></a>',emoticon:'<img src="{url}" data-sceditor-emoticon="{key}" alt="{key}" title="{tooltip}" />',fontOpt:'<a class="sceditor-font-option" href="#" data-font="{font}"><font face="{font}">{font}</font></a>',sizeOpt:'<a class="sceditor-fontsize-option" data-size="{size}" href="#"><font size="{size}">{size}</font></a>',pastetext:'<div><label for="txt">{label}</label> <textarea cols="20" rows="7" id="txt"></textarea></div><div><input type="button" class="button" value="{insert}" /></div>',table:'<div><label for="rows">{rows}</label><input type="text" id="rows" value="2" /></div><div><label for="cols">{cols}</label><input type="text" id="cols" value="2" /></div><div><input type="button" class="button" value="{insert}" /></div>',image:'<div><label for="image">{url}</label> <input type="text" id="image" dir="ltr" placeholder="https://" /></div><div><label for="width">{width}</label> <input type="text" id="width" size="2" dir="ltr" /></div><div><label for="height">{height}</label> <input type="text" id="height" size="2" dir="ltr" /></div><div><input type="button" class="button" value="{insert}" /></div>',email:'<div><label for="email">{label}</label> <input type="text" id="email" dir="ltr" /></div><div><label for="des">{desc}</label> <input type="text" id="des" /></div><div><input type="button" class="button" value="{insert}" /></div>',link:'<div><label for="link">{url}</label> <input type="text" id="link" dir="ltr" placeholder="https://" /></div><div><label for="des">{desc}</label> <input type="text" id="des" /></div><div><input type="button" class="button" value="{ins}" /></div>',youtubeMenu:'<div><label for="link">{label}</label> <input type="text" id="link" dir="ltr" placeholder="https://" /></div><div><input type="button" class="button" value="{insert}" /></div>',youtube:'<iframe width="560" height="315" frameborder="0" allowfullscreen src="https://www.youtube-nocookie.com/embed/{id}?wmode=opaque&start={time}" data-youtube-id="{id}"></iframe>'};function Pe(e,t,n,o){var r=O[e];return Object.keys(t).forEach(function(e){!1!==o&&(t[e]=ze(String(t[e]))),r=r.replace(new RegExp(wt("{"+e+"}"),"g"),t[e])}),!1!==o&&(r=Qt.sanitize(r,{ADD_ATTR:["unselectable"]})),r=n?ut(r):r}function I(e){if("mozHidden"in document)for(var t,n=e.getBody();n;){if((t=n).firstChild)t=t.firstChild;else{for(;t&&!t.nextSibling;)t=t.parentNode;t=t&&t.nextSibling}3!==n.nodeType||!/[\n\r\t]+/.test(n.nodeValue)||/^pre/.test(Re(n.parentNode,"whiteSpace"))||Se(n),n=t}}var Be={bold:{exec:"bold",tooltip:"Bold",shortcut:"Ctrl+B"},italic:{exec:"italic",tooltip:"Italic",shortcut:"Ctrl+I"},underline:{exec:"underline",tooltip:"Underline",shortcut:"Ctrl+U"},strike:{exec:"strikethrough",tooltip:"Strikethrough"},subscript:{exec:"subscript",tooltip:"Subscript"},superscript:{exec:"superscript",tooltip:"Superscript"},left:{state:function(e){var t;if(e=e&&3===e.nodeType?e.parentNode:e)return t="ltr"===Re(e,"direction"),e=Re(e,"textAlign"),/left/.test(e)||e===(t?"start":"end")},exec:"justifyleft",tooltip:"Align left"},center:{exec:"justifycenter",tooltip:"Center"},right:{state:function(e){var t;if(e=e&&3===e.nodeType?e.parentNode:e)return t="ltr"===Re(e,"direction"),e=Re(e,"textAlign"),/right/.test(e)||e===(t?"end":"start")},exec:"justifyright",tooltip:"Align right"},justify:{exec:"justifyfull",tooltip:"Justify"},font:{_dropDown:function(t,e,n){var o=Ee("div");De(o,"click","a",function(e){n(ot(this,"font")),t.closeDropDown(!0),e.preventDefault()}),t.opts.fonts.split(",").forEach(function(e){Ne(o,Pe("fontOpt",{font:e},!0))}),t.createDropDown(e,"font-picker",o)},exec:function(e){var t=this;Be.font._dropDown(t,e,function(e){t.execCommand("fontname",e)})},tooltip:"Font Name"},size:{_dropDown:function(t,e,n){var o=Ee("div");De(o,"click","a",function(e){n(ot(this,"size")),t.closeDropDown(!0),e.preventDefault()});for(var r=1;r<=7;r++)Ne(o,Pe("sizeOpt",{size:r},!0));t.createDropDown(e,"fontsize-picker",o)},exec:function(e){var t=this;Be.size._dropDown(t,e,function(e){t.execCommand("fontsize",e)})},tooltip:"Font Size"},color:{_dropDown:function(t,e,n){var o=Ee("div"),r="",i=Be.color;i._htmlCache||(t.opts.colors.split("|").forEach(function(e){r+='<div class="sceditor-color-column">',e.split(",").forEach(function(e){/^[\#a-z0-9\-\(\) \/%\.]+$/i.test(e)||(e=""),r+='<a href="#" class="sceditor-color-option" style="background-color: '+e+'" data-color="'+e+'"></a>'}),r+="</div>"}),i._htmlCache=r),Ne(o,ut(i._htmlCache)),De(o,"click","a",function(e){n(ot(this,"color")),t.closeDropDown(!0),e.preventDefault()}),t.createDropDown(e,"color-picker",o)},exec:function(e){var t=this;Be.color._dropDown(t,e,function(e){t.execCommand("forecolor",e)})},tooltip:"Font Color"},removeformat:{exec:"removeformat",tooltip:"Remove Formatting"},cut:{exec:"cut",tooltip:"Cut",errorMessage:"Your browser does not allow the cut command. Please use the keyboard shortcut Ctrl/Cmd-X"},copy:{exec:"copy",tooltip:"Copy",errorMessage:"Your browser does not allow the copy command. Please use the keyboard shortcut Ctrl/Cmd-C"},paste:{exec:"paste",tooltip:"Paste",errorMessage:"Your browser does not allow the paste command. Please use the keyboard shortcut Ctrl/Cmd-V"},pastetext:{exec:function(e){var t,n=Ee("div"),o=this;Ne(n,Pe("pastetext",{label:o._("Paste your text inside the following box:"),insert:o._("Insert")},!0)),De(n,"click",".button",function(e){(t=ke(n,"#txt")[0].value)&&o.wysiwygEditorInsertText(t),o.closeDropDown(!0),e.preventDefault()}),o.createDropDown(e,"pastetext",n)},tooltip:"Paste Text"},bulletlist:{exec:function(){I(this),this.execCommand("insertunorderedlist")},tooltip:"Bullet list"},orderedlist:{exec:function(){I(this),this.execCommand("insertorderedlist")},tooltip:"Numbered list"},indent:{state:function(e,t){var n;return Me(t,"li")||Me(t,"ul,ol,menu")&&(n=(t=this.getRangeHelper().selectedRange()).startContainer.parentNode,t=t.endContainer.parentNode,n!==n.parentNode.firstElementChild||Me(t,"li")&&t!==t.parentNode.lastElementChild)?0:-1},exec:function(){var e=this.getRangeHelper().getFirstBlockParent();this.focus(),Ce(e,"ul,ol,menu")&&this.execCommand("indent")},tooltip:"Add indent"},outdent:{state:function(e,t){return Ce(t,"ul,ol,menu")?0:-1},exec:function(){Ce(this.getRangeHelper().getFirstBlockParent(),"ul,ol,menu")&&this.execCommand("outdent")},tooltip:"Remove one indent"},table:{exec:function(e){var r=this,i=Ee("div");Ne(i,Pe("table",{rows:r._("Rows:"),cols:r._("Cols:"),insert:r._("Insert")},!0)),De(i,"click",".button",function(e){var t=Number(ke(i,"#rows")[0].value),n=Number(ke(i,"#cols")[0].value),o="<table>";0<t&&0<n&&(o+=Array(t+1).join("<tr>"+Array(n+1).join("<td><br /></td>")+"</tr>"),r.wysiwygEditorInsertHtml(o+="</table>"),r.closeDropDown(!0),e.preventDefault())}),r.createDropDown(e,"inserttable",i)},tooltip:"Insert a table"},horizontalrule:{exec:"inserthorizontalrule",tooltip:"Insert a horizontal rule"},code:{exec:function(){this.wysiwygEditorInsertHtml("<code>","<br /></code>")},tooltip:"Code"},image:{_dropDown:function(t,e,n,o){var r=Ee("div"),i=(Ne(r,Pe("image",{url:t._("URL:"),width:t._("Width (optional):"),height:t._("Height (optional):"),insert:t._("Insert")},!0)),ke(r,"#image")[0]);i.value=n,De(r,"click",".button",function(e){i.value&&o(i.value,ke(r,"#width")[0].value,ke(r,"#height")[0].value),t.closeDropDown(!0),e.preventDefault()}),t.createDropDown(e,"insertimage",r)},exec:function(e){var r=this;Be.image._dropDown(r,e,"",function(e,t,n){var o="";t&&(o+=' width="'+parseInt(t,10)+'"'),n&&(o+=' height="'+parseInt(n,10)+'"'),o+=' src="'+ze(e)+'"',r.wysiwygEditorInsertHtml("<img"+o+" />")})},tooltip:"Insert an image"},email:{_dropDown:function(n,e,o){var r=Ee("div");Ne(r,Pe("email",{label:n._("E-mail:"),desc:n._("Description (optional):"),insert:n._("Insert")},!0)),De(r,"click",".button",function(e){var t=ke(r,"#email")[0].value;t&&o(t,ke(r,"#des")[0].value),n.closeDropDown(!0),e.preventDefault()}),n.createDropDown(e,"insertemail",r)},exec:function(e){var n=this;Be.email._dropDown(n,e,function(e,t){!n.getRangeHelper().selectedHtml()||t?n.wysiwygEditorInsertHtml('<a href="mailto:'+ze(e)+'">'+ze(t||e)+"</a>"):n.execCommand("createlink","mailto:"+e)})},tooltip:"Insert an email"},link:{_dropDown:function(t,e,n){var o=Ee("div"),r=(Ne(o,Pe("link",{url:t._("URL:"),desc:t._("Description (optional):"),ins:t._("Insert")},!0)),ke(o,"#link")[0]);function i(e){r.value&&n(r.value,ke(o,"#des")[0].value),t.closeDropDown(!0),e.preventDefault()}De(o,"click",".button",i),De(o,"keypress",function(e){13===e.which&&r.value&&i(e)},!0),t.createDropDown(e,"insertlink",o)},exec:function(e){var n=this;Be.link._dropDown(n,e,function(e,t){t||!n.getRangeHelper().selectedHtml()?n.wysiwygEditorInsertHtml('<a href="'+ze(e)+'">'+ze(t||e)+"</a>"):n.execCommand("createlink",e)})},tooltip:"Insert a link"},unlink:{state:function(){return Ce(this.currentNode(),"a")?0:-1},exec:function(){var e=Ce(this.currentNode(),"a");if(e){for(;e.firstChild;)Oe(e.firstChild,e);Se(e)}},tooltip:"Unlink"},quote:{exec:function(e,t,n){var o="<blockquote>",r="</blockquote>";t?(o=o+(n=n?"<cite>"+ze(n)+"</cite>":"")+t+r,r=null):""===this.getRangeHelper().selectedHtml()&&(r="<br />"+r),this.wysiwygEditorInsertHtml(o,r)},tooltip:"Insert a Quote"},emoticon:{exec:function(u){function d(e){var n,t=f.opts,o=t.emoticonsRoot||"",r=t.emoticonsCompat,i=f.getRangeHelper(),a=r&&" "!==i.getOuterText(!0,1)?" ":"",l=r&&" "!==i.getOuterText(!1,1)?" ":"",s=Ee("div"),c=Ee("div"),r=be({},t.emoticons.dropdown,e?t.emoticons.more:{});return Ne(s,c),n=Math.sqrt(Object.keys(r).length),De(s,"click","img",function(e){f.insert(a+_e(this,"alt")+l,null,!1).closeDropDown(!0),e.preventDefault()}),we(r,function(e,t){Ne(c,Ee("img",{src:xt(o+(t.url||t)),alt:e,title:t.tooltip||e})),c.children.length>=n&&(c=Ee("div"),Ne(s,c))}),!e&&t.emoticons.more&&(Ne(i=Ee("a",{className:"sceditor-more"}),document.createTextNode(f._("More"))),De(i,"click",function(e){f.createDropDown(u,"more-emoticons",d(!0)),e.preventDefault()}),Ne(s,i)),s}var f=this;f.createDropDown(u,"emoticons",d(!1))},txtExec:function(e){Be.emoticon.exec.call(this,e)},tooltip:"Insert an emoticon"},youtube:{_dropDown:function(r,e,i){var a=Ee("div");Ne(a,Pe("youtubeMenu",{label:r._("Video URL:"),insert:r._("Insert")},!0)),De(a,"click",".button",function(e){var t=ke(a,"#link")[0].value,n=t.match(/(?:v=|v\/|embed\/|youtu.be\/)?([a-zA-Z0-9_-]{11})/),t=t.match(/[&|?](?:star)?t=((\d+[hms]?){1,3})/),o=0;t&&we(t[1].split(/[hms]/),function(e,t){""!==t&&(o=60*o+Number(t))}),n&&/^[a-zA-Z0-9_\-]{11}$/.test(n[1])&&i(n[1],o),r.closeDropDown(!0),e.preventDefault()}),r.createDropDown(e,"insertlink",a)},exec:function(e){var n=this;Be.youtube._dropDown(n,e,function(e,t){n.wysiwygEditorInsertHtml(Pe("youtube",{id:e,time:t},!1,!1))})},tooltip:"Insert a YouTube video"},date:{_date:function(e){var t=new Date,n=t.getYear(),o=t.getMonth()+1,t=t.getDate();return o<10&&(o="0"+o),t<10&&(t="0"+t),e.opts.dateFormat.replace(/year/i,n=n<2e3?1900+n:n).replace(/month/i,o).replace(/day/i,t)},exec:function(){this.insertText(Be.date._date(this))},txtExec:function(){this.insertText(Be.date._date(this))},tooltip:"Insert current date"},time:{_time:function(){var e=new Date,t=e.getHours(),n=e.getMinutes(),e=e.getSeconds();return(t=t<10?"0"+t:t)+":"+(n=n<10?"0"+n:n)+":"+(e=e<10?"0"+e:e)},exec:function(){this.insertText(Be.time._time())},txtExec:function(){this.insertText(Be.time._time())},tooltip:"Insert current time"},ltr:{state:function(e,t){return t&&"ltr"===t.style.direction},exec:function(){var e=this.getRangeHelper(),t=e.getFirstBlockParent();this.focus(),(t&&!Me(t,"body")||(this.execCommand("formatBlock","p"),(t=e.getFirstBlockParent())&&!Me(t,"body")))&&(e="ltr"===Re(t,"direction")?"":"ltr",Re(t,"direction",e))},tooltip:"Left-to-Right"},rtl:{state:function(e,t){return t&&"rtl"===t.style.direction},exec:function(){var e=this.getRangeHelper(),t=e.getFirstBlockParent();this.focus(),(t&&!Me(t,"body")||(this.execCommand("formatBlock","p"),(t=e.getFirstBlockParent())&&!Me(t,"body")))&&(e="rtl"===Re(t,"direction")?"":"rtl",Re(t,"direction",e))},tooltip:"Right-to-Left"},print:{exec:"print",tooltip:"Print"},maximize:{state:function(){return this.maximize()},exec:function(){this.maximize(!this.maximize()),this.focus()},txtExec:function(){this.maximize(!this.maximize()),this.focus()},tooltip:"Maximize",shortcut:"Ctrl+Shift+M"},source:{state:function(){return this.sourceMode()},exec:function(){this.toggleSourceMode(),this.focus()},txtExec:function(){this.toggleSourceMode(),this.focus()},tooltip:"View source",shortcut:"Ctrl+Shift+S"},ignore:{}},L={};function en(i){function a(e){return"signal"+e.charAt(0).toUpperCase()+e.slice(1)}function e(e,t){e=[].slice.call(e);for(var n,o=a(e.shift()),r=0;r<l.length;r++)if(o in l[r]&&(n=l[r][o].apply(i,e),t))return n}var r=this,l=[];r.call=function(){e(arguments,!1)},r.callOnlyFirst=function(){return e(arguments,!0)},r.hasHandler=function(e){var t=l.length;for(e=a(e);t--;)if(e in l[t])return!0;return!1},r.exists=function(e){return e in L&&"function"==typeof(e=L[e])&&"object"==typeof e.prototype},r.isRegistered=function(e){if(r.exists(e))for(var t=l.length;t--;)if(l[t]instanceof L[e])return!0;return!1},r.register=function(e){return!(!r.exists(e)||r.isRegistered(e)||(e=new L[e],l.push(e),"init"in e&&e.init.call(i),0))},r.deregister=function(e){var t,n=l.length,o=!1;if(r.isRegistered(e))for(;n--;)l[n]instanceof L[e]&&(o=!0,"destroy"in(t=l.splice(n,1)[0]))&&t.destroy.call(i);return o},r.destroy=function(){for(var e=l.length;e--;)"destroy"in l[e]&&l[e].destroy.call(i);l=[],i=null}}en.plugins=L;var F=function(e,t,n){var o,r,i,a,l,s="",c=e.startContainer,u=e.startOffset;for(c&&3!==c.nodeType&&(c=c.childNodes[u],u=0),i=a=u;n>s.length&&c&&3===c.nodeType;)o=c.nodeValue,r=n-s.length,l&&(a=o.length,i=0),l=c,c=t?(u=i=Math.max(a-r,0),s=o.substr(i,a-i)+s,l.previousSibling):(u=i+(a=Math.min(r,o.length)),s+=o.substr(i,a),l.nextSibling);return{node:l||c,offset:u,text:s}};function tn(r,e,i){var a,l,s=e||r.contentDocument||r.document,c="sceditor-start-marker",u="sceditor-end-marker",h=this;h.insertHTML=function(e,t){var n,o;if(!h.selectedRange())return!1;for(t&&(e+=h.selectedHtml()+t),o=Ee("p",{},s),n=s.createDocumentFragment(),o.innerHTML=i(e);o.firstChild;)Ne(n,o.firstChild);h.insertNode(n)},l=function(e,t,n){var o,r=s.createDocumentFragment();if("string"==typeof e?(t&&(e+=h.selectedHtml()+t),r=ut(e)):(Ne(r,e),t&&(Ne(r,h.selectedRange().extractContents()),Ne(r,t))),o=r.lastChild){for(;!He(o.lastChild,!0);)o=o.lastChild;return pt(o)?o.lastChild||Ne(o,document.createTextNode("​")):o=r,h.removeMarkers(),Ne(o,a(c)),Ne(o,a(u)),n?(Ne(e=Ee("div"),r),e.innerHTML):r}},h.insertNode=function(e,t){var n,o,e=l(e,t),t=h.selectedRange(),r=t.commonAncestorContainer,i=[];if(!e)return!1;function a(e){e&&p(e)&&i.indexOf(e)<0&&Se(e)}t.startContainer!==t.endContainer&&(we(r.childNodes,function(e,t){p(t)&&i.push(t)}),n=e.firstChild,o=e.lastChild),t.deleteContents(),r&&3!==r.nodeType&&!pt(r)?Oe(e,r):(t.insertNode(e),a(n&&n.previousSibling),a(o&&o.nextSibling)),h.restoreRange()},h.cloneSelected=function(){var e=h.selectedRange();if(e)return e.cloneRange()},h.selectedRange=function(){var e,t,n=r.getSelection();if(n){if(n.rangeCount<=0){for(t=s.body;t.firstChild;)t=t.firstChild;(e=s.createRange()).setStartBefore(t),n.addRange(e)}return e=0<n.rangeCount?n.getRangeAt(0):e}},h.hasSelection=function(){var e=r.getSelection();return e&&0<e.rangeCount},h.selectedHtml=function(){var e,t=h.selectedRange();return t?(Ne(e=Ee("p",{},s),t.cloneContents()),e.innerHTML):""},h.parentNode=function(){var e=h.selectedRange();if(e)return e.commonAncestorContainer},h.getFirstBlockParent=function(e){var t=function(e){return He(e,!0)?(e=e?e.parentNode:null)&&t(e):e};return t(e||h.parentNode())},h.insertNodeAt=function(e,t){var n=h.selectedRange(),o=h.cloneSelected();if(!o)return!1;o.collapse(e),o.insertNode(t),h.selectRange(n)},a=function(e){h.removeMarker(e);e=Ee("span",{id:e,className:"sceditor-selection sceditor-ignore",style:"display:none;line-height:0"},s);return e.innerHTML=" ",e},h.insertMarkers=function(){var e=h.selectedRange(),t=a(c);h.removeMarkers(),h.insertNodeAt(!0,t),e&&e.collapsed?t.parentNode.insertBefore(a(u),t.nextSibling):h.insertNodeAt(!1,a(u))},h.getMarker=function(e){return s.getElementById(e)},h.removeMarker=function(e){e=h.getMarker(e);e&&Se(e)},h.removeMarkers=function(){h.removeMarker(c),h.removeMarker(u)},h.saveRange=function(){h.insertMarkers()},h.selectRange=function(e){var t,n=r.getSelection(),o=e.endContainer;if(e.collapsed&&o&&!He(o,!0)){for(t=o.lastChild;t&&Me(t,".sceditor-ignore");)t=t.previousSibling;Me(t,"br")&&((o=s.createRange()).setEndAfter(t),o.collapse(!1),h.compare(e,o))&&(e.setStartBefore(t),e.collapse(!0))}n&&(h.clear(),n.addRange(e))},h.restoreRange=function(){var e,t=h.selectedRange(),n=h.getMarker(c),o=h.getMarker(u);if(!n||!o||!t)return!1;e=n.nextSibling===o,(t=s.createRange()).setStartBefore(n),t.setEndAfter(o),e&&t.collapse(!0),h.selectRange(t),h.removeMarkers()},h.selectOuterText=function(e,t){var n=h.cloneSelected();if(!n)return!1;n.collapse(!1),e=F(n,!0,e),t=F(n,!1,t),n.setStart(e.node,e.offset),n.setEnd(t.node,t.offset),h.selectRange(n)},h.getOuterText=function(e,t){var n=h.cloneSelected();return n?(n.collapse(!e),F(n,e,t).text):""},h.replaceKeyword=function(e,t,n,o,r,i){n||e.sort(function(e,t){return e[0].length-t[0].length});var a,l,s,c,u,d,f,p="(^|[\\s    ])",m=e.length,g=r?1:0,n=o||e[m-1][0].length;for(r&&n++,i=i||"",c=(a=h.getOuterText(!0,n)).length,a+=i,t&&(a+=h.getOuterText(!1,n));m--;)if(f=(d=e[m][0]).length,s=Math.max(0,c-f-g),l=-1,r?(u=a.substr(s).match(new RegExp(p+wt(d)+p)))&&(l=u.index+s+u[1].length):l=a.indexOf(d,s),-1<l&&l<=c&&c<=l+f+g)return h.selectOuterText(u=c-l,f-u-(/^\S/.test(i)?1:0)),h.insertHTML(e[m][1]),!0;return!1},h.compare=function(e,t){return t=t||h.selectedRange(),e&&t?0===e.compareBoundaryPoints(Range.END_TO_END,t)&&0===e.compareBoundaryPoints(Range.START_TO_START,t):!e&&!t},h.clear=function(){var e=r.getSelection();e&&(e.removeAllRanges?e.removeAllRanges():e.empty&&e.empty())}}var H,n=navigator.userAgent,nn=/iPhone|iPod|iPad| wosbrowser\//i.test(n),on=(R=!!window.document.documentMode,M="-ms-ime-align"in document.documentElement.style,(t=document.createElement("div")).contentEditable=!0,"contentEditable"in document.documentElement&&"true"===t.contentEditable&&(t=/Opera Mobi|Opera Mini/i.test(n),/Android/i.test(n)&&(t=!0,/Safari/.test(n))&&(t=!(H=/Safari\/(\d+)/.exec(n))||!H[1]||H[1]<534),/ Silk\//i.test(n)&&(t=!(H=/AppleWebKit\/(\d+)/.exec(n))||!H[1]||H[1]<534),nn&&(t=/OS [0-4](_\d)+ like Mac/i.test(n)),/Firefox/i.test(n)&&(t=!1),/OneBrowser/i.test(n)&&(t=!1),"UCWEB"===navigator.vendor&&(t=!1),!(t=R||M?!0:t))),Ue=window,We=document,rn=/^image\/(p?jpe?g|gif|png|bmp)$/i;function an(e,t){var n;d(e,function(e){He(e,!0)?(n||e.nodeType===Te?/\S/.test(e.nodeValue):!Me(e,".sceditor-ignore"))&&(n||Oe(n=Ee("p",{},t),e),Ne(n,e)):n=null},!1,!0)}function je(r,e){var a,w,u,i,o,f,d,l,s,c,p,t,m,g,h,v,y,F,H,n,b,z,P,x,T,B,U,W,j,V,G,Y,q,$,X,K,Z,J,Q,ee,E,te,ne,oe,re,ie,C,ae,S,le,se,ce,ue,de,fe,N,pe,k,me,D,A=this,_={},ge=[],R=[],M={},he={},O={},I=(A.commands=be(!0,{},e.commands||Be),A.opts=be(!0,{},bt,e)),ve=(A.opts.emoticons=e.emoticons||bt.emoticons,Array.isArray(I.allowedIframeUrls)||(I.allowedIframeUrls=[]),I.allowedIframeUrls.push("https://www.youtube-nocookie.com/embed/"),Qt());function L(e){var t=["iframe"].concat(I.allowedTags),n=["allowfullscreen","frameborder","target"].concat(I.allowedAttributes);return ve.sanitize(e,{ADD_TAGS:t,ADD_ATTR:n})}ve.addHook("uponSanitizeElement",function(e,t){var n=I.allowedIframeUrls;if("iframe"===t.tagName){for(var o=_e(e,"src")||"",r=0;r<n.length;r++){var i=n[r];if(ye(i)&&o.substr(0,i.length)===i)return;if(i.test&&i.test(o))return}Se(e)}}),ve.addHook("afterSanitizeAttributes",function(e){"target"in e&&_e(e,"data-sce-target",_e(e,"target")),Qe(e,"target")}),e=function(){r._sceditor=A,I.locale&&"en"!==I.locale&&j(),Oe(w=Ee("div",{className:"sceditor-container"}),r),Re(w,"z-index",I.zIndex),H=r.required,r.required=!1;function e(){Ae(Ue,"load",e),I.autofocus&&ce(!!I.autofocusEnd),D(),S(),g.call("ready"),"onReady"in a&&a.onReady.call(A)}var t=je.formats[I.format];a=t?new t:{},g=new en(A),(I.plugins||"").split(",").forEach(function(e){g.register(e.trim())}),"init"in a&&a.init.call(A),$(),V(),W(),G(),Y(),on||A.toggleSourceMode(),C();De(Ue,"load",e),"complete"===We.readyState&&e()},j=function(){var e;(t=je.locale[I.locale])||(e=I.locale.split("-"),t=je.locale[e[0]]),t&&t.dateFormat&&(I.dateFormat=t.dateFormat)},W=function(){l=Ee("textarea"),i=Ee("iframe",{frameborder:0,allowfullscreen:!0}),I.startInSourceMode?(Ie(w,"sourceMode"),et(i)):(Ie(w,"wysiwygMode"),et(l)),I.spellcheck||_e(w,"spellcheck","false"),"https:"===Ue.location.protocol&&_e(i,"src","about:blank"),Ne(w,i),Ne(w,l),A.dimensions(I.width||at(r),I.height||Fe(r)),ve.isValidAttribute("link","href",I.style)||(I.style=""),/^[a-z\-0-9 ]+$/i.test(I.charset)||(I.charset="UTF-8"),(d=i.contentDocument).open(),d.write(Pe("html",{attrs:nn?' class="ios"':"",spellcheck:I.spellcheck?"":'spellcheck="false"',charset:I.charset,style:ze(I.style)},!1,!1)),d.close(),f=d.body,o=i.contentWindow,A.readOnly(!!I.readOnly),nn&&(Fe(f,"100%"),De(f,"touchend",A.focus));var e=_e(r,"tabindex"),e=(_e(l,"tabindex",e),_e(i,"tabindex",e),m=new tn(o,null,L),et(r),A.val(r.value),I.placeholder||_e(r,"placeholder"));e&&(l.placeholder=e,_e(f,"placeholder",e))},G=function(){I.autoUpdate&&(De(f,"blur",me),De(l,"blur",me)),null===I.rtl&&(I.rtl="rtl"===Re(l,"direction")),A.rtl(!!I.rtl),I.autoExpand&&(De(f,"load",D,!0),De(f,"input keyup",D)),I.resizeEnabled&&q(),_e(w,"id",I.id),A.emoticons(I.emoticonsEnabled)},Y=function(){var e=r.form,t="compositionstart compositionend",n="keydown keyup keypress focus blur contextmenu input",o="onselectionchange"in d?"selectionchange":"keyup focus blur contextmenu mouseup touchend click";De(We,"click",re),e&&(De(e,"reset",E),De(e,"submit",A.updateOriginal,!0)),De(window,"pagehide",A.updateOriginal),De(window,"pageshow",E),De(f,"keypress",ee),De(f,"keydown",J),De(f,"keydown",Q),De(f,"keyup",S),De(f,"blur",pe),De(f,"keyup",k),De(f,"paste",X),De(f,"cut copy",K),De(f,t,ne),De(f,o,le),De(f,n,oe),I.emoticonsCompat&&Ue.getSelection&&De(f,"keyup",de),De(f,"blur",function(){A.val()||Ie(f,"placeholder")}),De(f,"focus",function(){it(f,"placeholder")}),De(l,"blur",pe),De(l,"keyup",k),De(l,"keydown",J),De(l,t,ne),De(l,n,oe),De(d,"mousedown",te),De(d,o,le),De(d,"keyup",S),De(w,"selectionchanged",se),De(w,"selectionchanged",C),De(w,"selectionchanged valuechanged nodechanged pasteraw paste",oe)},V=function(){var i,a=A.commands,l=(I.toolbarExclude||"").split(","),e=I.toolbar.split("|");u=Ee("div",{className:"sceditor-toolbar",unselectable:"on"}),I.icons in je.icons&&(T=new je.icons[I.icons]),we(e,function(e,t){i=Ee("div",{className:"sceditor-group"}),we(t.split(","),function(e,t){var n,o,r=a[t];!r||-1<l.indexOf(t)||(n=r.shortcut,o=Pe("toolbarButton",{name:t,dispName:A._(r.name||r.tooltip||t)},!0).firstChild,T&&T.create&&T.create(t)&&(Oe(T.create(t),o.firstChild),Ie(o,"has-icon")),o._sceTxtMode=!!r.txtExec,o._sceWysiwygMode=!!r.exec,Le(o,"disabled",!r.exec),De(o,"click",function(e){rt(o,"disabled")||U(o,r),C(),e.preventDefault()}),De(o,"mousedown",function(e){A.closeDropDown(),e.preventDefault()}),r.tooltip&&_e(o,"title",A._(r.tooltip)+(n?" ("+n+")":"")),n&&A.addShortcut(n,t),r.state?R.push({name:t,state:r.state}):ye(r.exec)&&R.push({name:t,state:r.exec}),Ne(i,o),he[t]=o)}),i.firstChild&&Ne(u,i)}),Ne(I.toolbarContainer||w,u)},q=function(){var e=Ee("div",{className:"sceditor-grip"}),t=Ee("div",{className:"sceditor-resize-cover"}),n="touchmove mousemove",o="touchcancel touchend mouseup",r=0,i=0,a=0,l=0,s=0,c=0,u=at(w),d=Fe(w),f=!1,p=A.rtl(),m=I.resizeMinHeight||d/1.5,g=I.resizeMaxHeight||2.5*d,h=I.resizeMinWidth||u/1.25,v=I.resizeMaxWidth||1.25*u,y=function(e){l=("touchmove"===e.type?(e=Ue.event,a=e.changedTouches[0].pageX,e.changedTouches[0]):(a=e.pageX,e)).pageY;var t=c+(l-i),n=p?s-(a-r):s+(a-r);0<v&&v<n&&(n=v),0<h&&n<h&&(n=h),I.resizeWidth||(n=!1),0<g&&g<t&&(t=g),0<m&&t<m&&(t=m),I.resizeHeight||(t=!1),(n||t)&&A.dimensions(n,t),e.preventDefault()},b=function(e){f&&(f=!1,et(t),it(w,"resizing"),Ae(We,n,y),Ae(We,o,b),e.preventDefault())};T&&T.create&&(d=T.create("grip"))&&(Ne(e,d),Ie(e,"has-icon")),Ne(w,e),Ne(w,t),et(t),De(e,"touchstart mousedown",function(e){i=("touchstart"===e.type?(e=Ue.event,r=e.touches[0].pageX,e.touches[0]):(r=e.pageX,e)).pageY,s=at(w),c=Fe(w),f=!0,Ie(w,"resizing"),tt(t),De(We,n,y),De(We,o,b),e.preventDefault()})},$=function(){var e=I.emoticons,n=I.emoticonsRoot||"";we(O=e?be({},e.more,e.dropdown,e.hidden):O,function(e,t){O[e]=Pe("emoticon",{key:e,url:n+(t.url||t),tooltip:t.tooltip||e}),I.emoticonsEnabled&&ge.push(Ee("img",{src:xt(n+(t.url||t))}))})},ce=function(e){var t,n=f.firstChild;if(st(w))if(A.sourceMode())t=e?l.value.length:0,l.setSelectionRange(t,t);else{if(gt(f),e)for((n=f.lastChild)||(n=Ee("p",{},d),Ne(f,n));n.lastChild;)Me(n=n.lastChild,"br")&&n.previousSibling&&(n=n.previousSibling);t=d.createRange(),pt(n)?t.selectNodeContents(n):(t.setStartBefore(n),e&&t.setStartAfter(n)),t.collapse(!e),m.selectRange(t),y=t,e&&(f.scrollTop=f.scrollHeight),A.focus()}},A.readOnly=function(e){return"boolean"!=typeof e?!l.readonly:(f.contentEditable=!e,l.readonly=!e,ie(e),A)},A.rtl=function(e){var t=e?"rtl":"ltr";return"boolean"!=typeof e?"rtl"===_e(l,"dir"):(_e(f,"dir",t),_e(l,"dir",t),it(w,"rtl"),it(w,"ltr"),Ie(w,t),T&&T.rtl&&T.rtl(e),A)},ie=function(n){var o=A.inSourceMode()?"_sceTxtMode":"_sceWysiwygMode";we(he,function(e,t){Le(t,"disabled",n||!t[o])})},A.width=function(e,t){return e||0===e?(A.dimensions(e,null,t),A):at(w)},A.dimensions=function(e,t,n){return t=!(!t&&0!==t)&&t,!1===(e=!(!e&&0!==e)&&e)&&!1===t?{width:A.width(),height:A.height()}:(!1!==e&&(!1!==n&&(I.width=e),at(w,e)),!1!==t&&(!1!==n&&(I.height=t),Fe(w,t)),A)},A.height=function(e,t){return e||0===e?(A.dimensions(null,e,t),A):Fe(w)},A.maximize=function(e){var t="sceditor-maximize";return Xe(e)?rt(w,t):((e=!!e)&&(P=Ue.pageYOffset),Le(We.documentElement,t,e),Le(We.body,t,e),Le(w,t,e),A.width(e?"100%":I.width,!1),A.height(e?"100%":I.height,!1),e||Ue.scrollTo(0,P),D(),A)},D=function(){I.autoExpand&&!z&&(z=setTimeout(A.expandToContent,200))},A.expandToContent=function(e){var t,n;A.maximize()||(clearTimeout(z),z=!1,b||(n=I.resizeMinHeight||I.height||Fe(r),b={min:n,max:I.resizeMaxHeight||2*n}),(n=We.createRange()).selectNodeContents(f),n=n.getBoundingClientRect(),t=d.documentElement.clientHeight-1,n=n.bottom-n.top,n=A.height()+1+(n-t),e||-1===b.max||(n=Math.min(n,b.max)),A.height(Math.ceil(Math.max(n,b.min))))},A.destroy=function(){var e;g&&(g.destroy(),g=m=null,s&&Se(s),Ae(We,"click",re),(e=r.form)&&(Ae(e,"reset",E),Ae(e,"submit",A.updateOriginal,!0)),Ae(window,"pagehide",A.updateOriginal),Ae(window,"pageshow",E),Se(l),Se(u),Se(w),delete r._sceditor,tt(r),r.required=H)},A.createDropDown=function(e,t,n){var t="sceditor-"+t;A.closeDropDown(),s&&rt(s,t)||(e=be({top:e.offsetTop,left:e.offsetLeft,marginTop:e.clientHeight},I.dropDownCss),Re(s=Ee("div",{className:"sceditor-dropdown "+t}),e),Ne(s,n),Ne(w,s),De(s,"click focusin",function(e){e.stopPropagation()}),s&&(t=ke(s,"input,textarea")[0])&&t.focus())},re=function(e){3!==e.which&&s&&!e.defaultPrevented&&(me(),A.closeDropDown())},K=function(e){var t=m.selectedRange();if(t){for(var n,o,r=Ee("div",{},d),i=t.commonAncestorContainer;i&&He(i,!0);)i.nodeType===xe&&(o=i.cloneNode(),r.firstChild&&Ne(o,r.firstChild),Ne(r,o),n=n||o),i=i.parentNode;Ne(n||r,t.cloneContents()),gt(r),e.clipboardData.setData("text/html",r.innerHTML),we(ke(r,"p"),function(e,t){ft(t,"div")}),we(ke(r,"br"),function(e,t){t.nextSibling&&He(t.nextSibling,!0)||Se(t)}),Ne(f,r),e.clipboardData.setData("text/plain",r.innerText),Se(r),"cut"===e.type&&t.deleteContents(),e.preventDefault()}},X=function(e){var t,n,o=f,r=e.clipboardData;if(r){var i={},a=r.types,l=r.items;e.preventDefault();for(var s=0;s<a.length;s++){if(a.indexOf("text/html")<0&&Ue.FileReader&&l&&rn.test(l[s].type))return t=r.items[s].getAsFile(),n=void 0,(n=new FileReader).onload=function(e){Z({html:'<img src="'+e.target.result+'" />'})},void n.readAsDataURL(t);i[a[s]]=r.getData(a[s])}i.text=i["text/plain"],i.html=L(i["text/html"]),Z(i)}else if(!x){var c=o.scrollTop;for(m.saveRange(),x=We.createDocumentFragment();o.firstChild;)Ne(x,o.firstChild);setTimeout(function(){var e=o.innerHTML;o.innerHTML="",Ne(o,x),o.scrollTop=c,x=!1,m.restoreRange(),Z({html:L(e)})},0)}},Z=function(e){var t=Ee("div",{},d),e=(g.call("pasteRaw",e),lt(w,"pasteraw",e),e.html?(t.innerHTML=L(e.html),mt(t)):t.innerHTML=ze(e.text||""),{val:t.innerHTML}),t=("fragmentToSource"in a&&(e.val=a.fragmentToSource(e.val,d,h)),g.call("paste",e),lt(w,"paste",e),"fragmentToHtml"in a&&(e.val=a.fragmentToHtml(e.val,h)),g.call("pasteHtml",e),m.getFirstBlockParent());A.wysiwygEditorInsertHtml(e.val,null,!0),function e(t){if(t.nodeType===xe){for(var n=t.parentNode,o=t.tagName,r=t.childNodes.length;r--;)e(t.childNodes[r]);if(He(t)&&"BR"!==o){for(r=t.style.length;r--;){var i=t.style[r];Re(n,i)===Re(t,i)&&t.style.removeProperty(i)}if(!t.style.length)if(Qe(t,"style"),"FONT"===o&&(Re(t,"fontFamily").toLowerCase()===Re(n,"fontFamily").toLowerCase()&&Qe(t,"face"),Re(t,"color")===Re(n,"color")&&Qe(t,"color"),Re(t,"fontSize")===Re(n,"fontSize"))&&Qe(t,"size"),!t.attributes.length&&/SPAN|FONT/.test(o))yt(t);else if(/B|STRONG|EM|SPAN|FONT/.test(o))for(var a=/B|STRONG/.test(o),l="EM"===o;n&&He(n)&&(!a||/bold|700/i.test(Re(n,"fontWeight")))&&(!l||"italic"===Re(n,"fontStyle"));){if((n.tagName===o||a&&/B|STRONG/.test(n.tagName))&&vt(n,t)){yt(t);break}n=n.parentNode}var s=t.nextSibling;s&&s.tagName===o&&vt(s,t)&&(Ne(t,s),yt(s))}}}(t)},A.closeDropDown=function(e){s&&(Se(s),s=null),!0===e&&A.focus()},A.wysiwygEditorInsertHtml=function(e,t,n){var o=Fe(i);A.focus(),!n&&Ce(v,"code")||(m.insertHTML(e,t),m.saveRange(),B(),mt(f),an(f,d),tt(n=ke(f,"#sceditor-end-marker")[0]),e=f.scrollTop,t=ht(n).top+1.5*n.offsetHeight-o,et(n),(e<t||t+o<e)&&(f.scrollTop=t),N(!1),m.restoreRange(),S())},A.wysiwygEditorInsertText=function(e,t){A.wysiwygEditorInsertHtml(ze(e),ze(t))},A.insertText=function(e,t){return A.inSourceMode()?A.sourceEditorInsertText(e,t):A.wysiwygEditorInsertText(e,t),A},A.sourceEditorInsertText=function(e,t){var n,o=l.selectionStart,r=l.selectionEnd,i=l.scrollTop;l.focus(),n=l.value,t&&(e+=n.substring(o,r)+t),l.value=n.substring(0,o)+e+n.substring(r,n.length),l.selectionStart=o+e.length-(t?t.length:0),l.selectionEnd=l.selectionStart,l.scrollTop=i,l.focus(),N()},A.getRangeHelper=function(){return m},A.sourceEditorCaret=function(e){return l.focus(),e?(l.selectionStart=e.start,l.selectionEnd=e.end,this):{start:l.selectionStart,end:l.selectionEnd}},A.val=function(e,t){return ye(e)?(A.inSourceMode()?A.setSourceEditorValue(e):(!1!==t&&"toHtml"in a&&(e=a.toHtml(e)),A.setWysiwygEditorValue(e)),A):A.inSourceMode()?A.getSourceEditorValue(!1):A.getWysiwygEditorValue(t)},A.insert=function(e,t,n,o,r){var i;return A.inSourceMode()?A.sourceEditorInsertText(e,t):(t&&(i=m.selectedHtml(),e+=(i=!1!==n&&"fragmentToSource"in a?a.fragmentToSource(i,d,h):i)+t),!1!==n&&"fragmentToHtml"in a&&(e=a.fragmentToHtml(e,h)),!1!==n&&!0===r&&(e=e.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&")),A.wysiwygEditorInsertHtml(e)),A},A.getWysiwygEditorValue=function(e){for(var t,n=Ee("div",{},d),o=f.childNodes,r=0;r<o.length;r++)Ne(n,o[r].cloneNode(!0));return Ne(f,n),mt(n),Se(n),t=n.innerHTML,t=!1!==e&&a.hasOwnProperty("toSource")?a.toSource(t,d):t},A.getBody=function(){return f},A.getContentAreaContainer=function(){return i},A.getSourceEditorValue=function(e){var t=l.value;return t=!1!==e&&"toHtml"in a?a.toHtml(t):t},A.setWysiwygEditorValue=function(e){f.innerHTML=L(e=e||"<p><br /></p>"),B(),S(),N(),D()},A.setSourceEditorValue=function(e){l.value=e,N()},A.updateOriginal=function(){r.value=A.val()},B=function(){var e,l,s,c,t,u,d;I.emoticonsEnabled&&(e=f,l=O,s=I.emoticonsCompat,c=e.ownerDocument,t="(^|\\s| | | | |$)",u=[],d={},Je(e,"code")||(we(l,function(e){d[e]=new RegExp(t+wt(e)+t),u.push(e)}),u.sort(function(e,t){return t.length-e.length}),function e(t){for(t=t.firstChild;t;){if(t.nodeType!==xe||Me(t,"code")||e(t),t.nodeType===Te)for(var n=0;n<u.length;n++){var o,r=t.nodeValue,i=u[n],a=s?r.search(d[i]):r.indexOf(i);-1<a&&(a=r.indexOf(i,a),o=ut(l[i],c),i=r.substr(a+i.length),o.appendChild(c.createTextNode(i)),t.nodeValue=r.substr(0,a),t.parentNode.insertBefore(o,t.nextSibling))}t=t.nextSibling}}(e)))},A.inSourceMode=function(){return rt(w,"sourceMode")},A.sourceMode=function(e){var t=A.inSourceMode();return"boolean"!=typeof e?t:((t&&!e||!t&&e)&&A.toggleSourceMode(),A)},A.toggleSourceMode=function(){var e=A.inSourceMode();!on&&e||(e||(m.saveRange(),m.clear()),y=null,A.blur(),e?A.setWysiwygEditorValue(A.getSourceEditorValue()):A.setSourceEditorValue(A.getWysiwygEditorValue()),nt(l),nt(i),Le(w,"wysiwygMode",e),Le(w,"sourceMode",!e),ie(),C())},ae=function(){return l.focus(),l.value.substring(l.selectionStart,l.selectionEnd)},U=function(e,t){A.inSourceMode()?t.txtExec&&(Array.isArray(t.txtExec)?A.sourceEditorInsertText.apply(A,t.txtExec):t.txtExec.call(A,e,ae())):t.exec&&(Ke(t.exec)?t.exec.call(A,e):A.execCommand(t.exec,t.hasOwnProperty("execParam")?t.execParam:null))},A.execCommand=function(e,t){var n=!1,o=A.commands[e];if(A.focus(),!Ce(m.parentNode(),"code")){try{n=d.execCommand(e,!1,t)}catch(e){}!n&&o&&o.errorMessage&&alert(A._(o.errorMessage)),C()}},le=function(){function e(){if(o.getSelection()&&o.getSelection().rangeCount<=0)y=null;else if(m&&!m.compare(y)){if((y=m.cloneSelected())&&y.collapsed){var e=y.startContainer,t=y.startOffset;for(t&&e.nodeType!==Te&&(e=e.childNodes[t]);e&&e.parentNode!==f;)e=e.parentNode;e&&He(e,!0)&&(m.saveRange(),an(f,d),m.restoreRange())}lt(w,"selectionchanged")}F=!1}F||(F=!0,"onselectionchange"in d?e():setTimeout(e,100))},se=function(){var e,t=m.parentNode();h!==t&&(e=h,h=t,v=m.getFirstBlockParent(t),lt(w,"nodechanged",{oldNode:e,newNode:h}))},A.currentNode=function(){return h},A.currentBlockNode=function(){return v},C=function(){var e,t,n="active",o=d,r=A.sourceMode();if(A.readOnly())we(ke(u,n),function(e,t){it(t,n)});else{r||(t=m.parentNode(),e=m.getFirstBlockParent(t));for(var i=0;i<R.length;i++){var a=0,l=he[R[i].name],s=R[i].state,c=r&&!l._sceTxtMode||!r&&!l._sceWysiwygMode;if(ye(s)){if(!r)try{-1<(a=o.queryCommandEnabled(s)?0:-1)&&(a=o.queryCommandState(s)?1:0)}catch(e){}}else c||(a=s.call(A,t,e));Le(l,"disabled",c||a<0),Le(l,n,0<a)}T&&T.update&&T.update(r,t,e)}},ee=function(e){var t,n,o;e.defaultPrevented||(A.closeDropDown(),13===e.which&&!Me(v,"li,ul,ol")&&dt(v)&&(t=Ee("br",{},d),m.insertNode(t),(o=(n=t.parentNode).lastChild)&&o.nodeType===Te&&""===o.nodeValue&&(Se(o),o=n.lastChild),!He(n,!0)&&o===t&&He(t.previousSibling)&&m.insertHTML("<br>"),e.preventDefault()))},S=function(){ct(f,function(e){var t;if(e.nodeType===xe&&!/inline/.test(Re(e,"display"))&&(!Me(e,".sceditor-nlf")&&dt(e)))return(t=Ee("p",{},d)).className="sceditor-nlf",t.innerHTML="<br />",Ne(f,t),!1;if(3===e.nodeType&&!/^\s*$/.test(e.nodeValue)||Me(e,"br"))return!1})},E=function(){A.val(r.value)},te=function(){A.closeDropDown()},A._=function(){var n=arguments;return t&&t[n[0]]&&(n[0]=t[n[0]]),n[0].replace(/\{(\d+)\}/g,function(e,t){return void 0!==n[+t+1]?n[+t+1]:"{"+t+"}"})},oe=function(t){g&&g.call(t.type+"Event",t,A);var e=(t.target===l?"scesrc":"scewys")+t.type;_[e]&&_[e].forEach(function(e){e.call(A,t)})},A.bind=function(e,t,n,o){for(var r,i,a=(e=e.split(" ")).length;a--;)Ke(t)&&(r="scewys"+e[a],i="scesrc"+e[a],n||(_[r]=_[r]||[],_[r].push(t)),o||(_[i]=_[i]||[],_[i].push(t)),"valuechanged"===e[a])&&(N.hasHandler=!0);return A},A.unbind=function(e,t,n,o){for(var r=(e=e.split(" ")).length;r--;)Ke(t)&&(n||Ze(_["scewys"+e[r]]||[],t),o||Ze(_["scesrc"+e[r]]||[],t));return A},A.blur=function(e,t,n){return Ke(e)?A.bind("blur",e,t,n):(A.sourceMode()?l:f).blur(),A},A.focus=function(e,t,n){if(Ke(e))A.bind("focus",e,t,n);else if(A.inSourceMode())l.focus();else{if(ke(d,":focus").length)return;e=m.selectedRange();y||ce(!0),e&&1===e.endOffset&&e.collapsed&&(t=e.endContainer)&&1===t.childNodes.length&&Me(t.firstChild,"br")&&(e.setStartBefore(t.firstChild),e.collapse(!0),m.selectRange(e)),o.focus(),f.focus()}return C(),A},A.keyDown=function(e,t,n){return A.bind("keydown",e,t,n)},A.keyPress=function(e,t,n){return A.bind("keypress",e,t,n)},A.keyUp=function(e,t,n){return A.bind("keyup",e,t,n)},A.nodeChanged=function(e){return A.bind("nodechanged",e,!1,!0)},A.selectionChanged=function(e){return A.bind("selectionchanged",e,!1,!0)},A.valueChanged=function(e,t,n){return A.bind("valuechanged",e,t,n)},ue=function(e){var n=0,o=A.emoticonsCache,t=String.fromCharCode(e.which);Ce(v,"code")||(o||(o=[],we(O,function(e,t){o[n++]=[e,t]}),o.sort(function(e,t){return e[0].length-t[0].length}),A.emoticonsCache=o,A.longestEmoticonCode=o[o.length-1][0].length),!m.replaceKeyword(A.emoticonsCache,!0,!0,A.longestEmoticonCode,I.emoticonsCompat,t))||I.emoticonsCompat&&/^\s$/.test(t)||e.preventDefault()},de=function(){var e=v,t=m,n=/[^\s\xA0\u2002\u2003\u2009]+/,o=e&&ke(e,"img[data-sceditor-emoticon]");if(e&&o.length)for(var r=0;r<o.length;r++){var i,a,l,s,c=o[r],u=c.parentNode,d=c.previousSibling,f=c.nextSibling;(d&&n.test(d.nodeValue.slice(-1))||f&&n.test((f.nodeValue||"")[0]))&&(a=-1,l=(i=t.cloneSelected()).startContainer,s=d&&d.nodeValue||"",s+=ot(c,"sceditor-emoticon"),l===f&&(a=s.length+i.startOffset),l===e&&e.childNodes[i.startOffset]===f&&(a=s.length),l===d&&(a=i.startOffset),(f=f&&f.nodeType===Te?f:u.insertBefore(u.ownerDocument.createTextNode(""),f)).insertData(0,s),Se(c),d&&Se(d),-1<a)&&(i.setStart(f,a),i.collapse(!0),t.selectRange(i))}},A.emoticons=function(e){return e||!1===e?((I.emoticonsEnabled=e)?(De(f,"keypress",ue),A.sourceMode()||(m.saveRange(),B(),N(!1),m.restoreRange())):(we(ke(f,"img[data-sceditor-emoticon]"),function(e,t){var n=ot(t,"sceditor-emoticon"),n=d.createTextNode(n);t.parentNode.replaceChild(n,t)}),Ae(f,"keypress",ue),N()),A):I.emoticonsEnabled},A.css=function(e){return n||(n=Ee("style",{id:"inline"},d),Ne(d.head,n)),ye(e)?(n.styleSheet?n.styleSheet.cssText=e:n.innerHTML=e,A):n.styleSheet?n.styleSheet.cssText:n.innerHTML},J=function(e){var t=[],n={"`":"~",1:"!",2:"@",3:"#",4:"$",5:"%",6:"^",7:"&",8:"*",9:"(",0:")","-":"_","=":"+",";":": ","'":'"',",":"<",".":">","/":"?","\\":"|","[":"{","]":"}"},o={109:"-",110:"del",111:"/",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9"},r=e.which,i={8:"backspace",9:"tab",13:"enter",19:"pause",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"insert",46:"del",91:"win",92:"win",93:"select",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",109:"-",110:".",111:"/",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",121:"f10",122:"f11",123:"f12",144:"numlock",145:"scrolllock",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"}[r]||String.fromCharCode(r).toLowerCase();(e.ctrlKey||e.metaKey)&&t.push("ctrl"),e.altKey&&t.push("alt"),e.shiftKey&&(t.push("shift"),o[r]?i=o[r]:n[i]&&(i=n[i])),i&&(r<16||18<r)&&t.push(i),t=t.join("+"),M[t]&&!1===M[t].call(A)&&(e.stopPropagation(),e.preventDefault())},A.addShortcut=function(e,t){return e=e.toLowerCase(),ye(t)?M[e]=function(){return U(he[t],A.commands[t]),!1}:M[e]=t,A},A.removeShortcut=function(e){return delete M[e.toLowerCase()],A},Q=function(e){var t,n,o;if(!I.disableBlockRemove&&8===e.which&&(n=m.selectedRange())&&(t=n.startContainer,0===n.startOffset)&&(o=fe())&&!Me(o,"body")){for(;t!==o;){for(;t.previousSibling;)if((t=t.previousSibling).nodeType!==Te||t.nodeValue)return;if(!(t=t.parentNode))return}A.clearBlockFormatting(o),e.preventDefault()}},fe=function(){for(var e=v;!dt(e)||He(e,!0);)if(!(e=e.parentNode)||Me(e,"body"))return;return e},A.clearBlockFormatting=function(e){return(e=e||fe())&&!Me(e,"body")&&(m.saveRange(),e.className="",_e(e,"style",""),Me(e,"p,div,td")||ft(e,"p"),m.restoreRange()),A},N=function(e){var t,n,o;g&&(g.hasHandler("valuechangedEvent")||N.hasHandler)&&(o=!(n=A.sourceMode())&&m.hasSelection(),e=(c=!1)!==e&&!d.getElementById("sceditor-start-marker"),p&&(clearTimeout(p),p=!1),o&&e&&m.saveRange(),(t=n?l.value:f.innerHTML)!==N.lastVal&&(N.lastVal=t,lt(w,"valuechanged",{rawValue:n?A.val():t})),o)&&e&&m.removeMarkers()},pe=function(){p&&N()},k=function(e){var e=e.which,t=k.lastChar,n=13===t||32===t,t=8===t||46===t;k.lastChar=e,c||(13===e||32===e?n?k.triggerNext=!0:N():8===e||46===e?t?k.triggerNext=!0:N():k.triggerNext&&(N(),k.triggerNext=!1),clearTimeout(p),p=setTimeout(function(){c||N()},1500))},ne=function(e){(c=/start/i.test(e.type))||N()},me=function(){A.updateOriginal()},e()}je.locale={},je.formats={},je.icons={},je.command={get:function(e){return Be[e]||null},set:function(e,t){return!(!e||!t)&&((t=be(Be[e]||{},t)).remove=function(){je.command.remove(e)},Be[e]=t,this)},remove:function(e){return Be[e]&&delete Be[e],this}},window.sceditor={command:je.command,commands:Be,defaultOptions:bt,ios:nn,isWysiwygSupported:on,regexEscape:wt,escapeEntities:ze,escapeUriScheme:xt,dom:{css:Re,attr:_e,removeAttr:Qe,is:Me,closest:Ce,width:at,height:Fe,traverse:d,rTraverse:ct,parseHTML:ut,hasStyling:dt,convertElement:ft,blockLevelList:f,canHaveChildren:pt,isInline:He,copyCSS:function(e,t){t.style&&e.style&&(t.style.cssText=e.style.cssText+t.style.cssText)},fixNesting:mt,findCommonAncestor:function(e,t){for(;e=e.parentNode;)if((n=e)!==(o=t)&&n.contains&&n.contains(o))return e;var n,o},getSibling:m,removeWhiteSpace:gt,extractContents:g,getOffset:ht,getStyle:h,hasStyle:function(e,t,n){return!!(e=h(e,t))&&(!n||e===n||Array.isArray(n)&&-1<n.indexOf(e))}},locale:je.locale,icons:je.icons,utils:{each:we,isEmptyObject:l,extend:be},plugins:en.plugins,formats:je.formats,create:function(e,t){t=t||{},Je(e,".sceditor-container")||(t.runWithoutWysiwygSupport||on)&&new je(e,t)},instance:function(e){return e._sceditor}}})();
A assets/sceditor/themes/content/default.min.css +1-0 View file
@@ -0,0 +1,1 @@
1+/*! SCEditor | (C) 2011-2013, Sam Clarke | sceditor.com/license */body,code:before,html,p,table{color:#111;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:14px;line-height:1.25;margin:0;overflow:visible;padding:0}html{height:100%}.ios{overflow:auto;-webkit-overflow-scrolling:touch}.ios body{overflow:auto;position:relative}body{min-height:100%;word-wrap:break-word}body.placeholder:before{color:#555;content:attr(placeholder);font-style:italic}ol,ul{margin-bottom:0;margin-top:0;padding-bottom:0;padding-top:0}table,td{border:1px dotted #000;empty-cells:show}table td{min-width:5px}code{background:#f1f1f1;direction:ltr;display:block;margin:.25em 0;padding:1em;text-align:left;white-space:pre}blockquote{background:#fff7d9;border-left:.3em solid #f4e59f;margin:.25em 0;padding:.5em .5em .5em .75em}blockquote cite{border-bottom:1px solid #f4e59f;display:block;font-size:1em;font-weight:700;margin:0 -.5em .25em -.75em;padding:0 .5em .15em .75em}h1,h2,h3,h4,h5,h6{margin:0;padding:0}div,p{min-height:1.25em}
A assets/sceditor/themes/defaultdark.min.css +1-0 View file
@@ -0,0 +1,1 @@
1+/*! SCEditor | (C) 2017, Sam Clarke | sceditor.com/license */.sceditor-button div,div.sceditor-grip{background-image:url(famfamfam.png);background-repeat:no-repeat;height:16px;width:16px}.sceditor-button-youtube div{background-position:0 0}.sceditor-button-link div{background-position:0 -16px}.sceditor-button-unlink div{background-position:0 -32px}.sceditor-button-underline div{background-position:0 -48px}.sceditor-button-time div{background-position:0 -64px}.sceditor-button-table div{background-position:0 -80px}.sceditor-button-superscript div{background-position:0 -96px}.sceditor-button-subscript div{background-position:0 -112px}.sceditor-button-strike div{background-position:0 -128px}.sceditor-button-source div{background-position:0 -144px}.sceditor-button-size div{background-position:0 -160px}.sceditor-button-rtl div{background-position:0 -176px}.sceditor-button-right div{background-position:0 -192px}.sceditor-button-removeformat div{background-position:0 -208px}.sceditor-button-quote div{background-position:0 -224px}.sceditor-button-print div{background-position:0 -240px}.sceditor-button-pastetext div{background-position:0 -256px}.sceditor-button-paste div{background-position:0 -272px}.sceditor-button-outdent div{background-position:0 -288px}.sceditor-button-orderedlist div{background-position:0 -304px}.sceditor-button-maximize div{background-position:0 -320px}.sceditor-button-ltr div{background-position:0 -336px}.sceditor-button-left div{background-position:0 -352px}.sceditor-button-justify div{background-position:0 -368px}.sceditor-button-italic div{background-position:0 -384px}.sceditor-button-indent div{background-position:0 -400px}.sceditor-button-image div{background-position:0 -416px}.sceditor-button-horizontalrule div{background-position:0 -432px}.sceditor-button-format div{background-position:0 -448px}.sceditor-button-font div{background-position:0 -464px}.sceditor-button-emoticon div{background-position:0 -480px}.sceditor-button-emojis div{background-position:0 -660px}.sceditor-button-email div{background-position:0 -496px}.sceditor-button-date div{background-position:0 -512px}.sceditor-button-cut div{background-position:0 -528px}.sceditor-button-copy div{background-position:0 -544px}.sceditor-button-color div{background-position:0 -560px}.sceditor-button-code div{background-position:0 -576px}.sceditor-button-center div{background-position:0 -592px}.sceditor-button-bulletlist div{background-position:0 -608px}.sceditor-button-bold div{background-position:0 -624px}div.sceditor-grip{background-position:0 -640px}.rtl div.sceditor-grip{background-position:0 -650px}.sceditor-container{display:-ms-flexbox;display:-webkit-box;display:flex;-ms-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;background:#fff;background-clip:padding-box;border:1px solid #d9d9d9;border-radius:4px;color:#333;flex-direction:column;font-family:Arial,Helvetica Neue,Helvetica,sans-serif;font-size:13px;font-weight:700;height:250px;line-height:1;position:relative}.sceditor-container *,.sceditor-container :after,.sceditor-container :before{-webkit-box-sizing:content-box;box-sizing:content-box}.sceditor-container,.sceditor-container div,div.sceditor-dropdown,div.sceditor-dropdown div{margin:0;padding:0;z-index:3}.sceditor-container iframe,.sceditor-container textarea{display:block;-ms-flex:1 1 0%;-webkit-box-flex:1;background:#fff;border:0;color:#111;flex:1 1 0%;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:14px;height:auto!important;line-height:1.25;margin:5px;min-height:1px;outline:none;padding:0;resize:none;width:auto!important;width:calc(100% - 10px)!important}.sceditor-container textarea{margin:7px 5px}div.sceditor-dnd-cover{background:hsla(0,0%,100%,.2);border:5px dashed #aaa;bottom:0;color:#aaa;font-size:2em;left:0;position:absolute;right:0;text-align:center;top:0;z-index:200}div.sceditor-dnd-cover p{pointer-events:none;position:relative;top:45%}div.sceditor-resize-cover{background:#000;height:100%;left:0;opacity:.3;position:absolute;top:0;width:100%;z-index:10}div.sceditor-grip{bottom:0;cursor:pointer;height:10px;line-height:0;overflow:hidden;position:absolute;right:0;width:10px;z-index:3}div.sceditor-grip.has-icon{background-image:none}.sceditor-maximize{background-clip:padding-box;border-radius:0;height:100%!important;left:0;position:fixed;top:0;width:100%!important;z-index:2000}body.sceditor-maximize,html.sceditor-maximize{height:100%;margin:0;overflow:hidden;padding:0;width:100%}.sceditor-maximize div.sceditor-grip{display:none}.sceditor-maximize div.sceditor-toolbar{background-clip:padding-box;border-radius:0}div.sceditor-dropdown{background:#fff;background-clip:padding-box;border:1px solid #ccc;border-radius:2px;-webkit-box-shadow:1px 2px 4px rgba(0,0,0,.2);box-shadow:1px 2px 4px rgba(0,0,0,.2);font-size:15px;font-weight:400;padding:10px;position:absolute;z-index:4000}div.sceditor-dropdown *,div.sceditor-dropdown :after,div.sceditor-dropdown :before{-webkit-box-sizing:border-box;box-sizing:border-box}div.sceditor-dropdown a,div.sceditor-dropdown a:link{color:#333}div.sceditor-dropdown form{margin:0}div.sceditor-dropdown label{color:#3c3c3c;display:block;font-weight:700;padding:4px 0}div.sceditor-dropdown input,div.sceditor-dropdown textarea{background-clip:padding-box;border:1px solid #ccc;border-radius:1px;border-top-color:#888;font-family:Arial,Helvetica Neue,Helvetica,sans-serif;margin:0 0 .75em;outline:0;padding:4px}div.sceditor-dropdown textarea{padding:6px}div.sceditor-dropdown input:focus,div.sceditor-dropdown textarea:focus{border-color:#666 #aaa #aaa;-webkit-box-shadow:inset 0 1px 5px rgba(0,0,0,.1);box-shadow:inset 0 1px 5px rgba(0,0,0,.1)}div.sceditor-dropdown .button{background:#ececec;background-clip:padding-box;border:1px solid #ccc;border-radius:2px;color:#444;cursor:pointer;font-weight:700;margin:.3em 0 0;padding:6px 12px}div.sceditor-dropdown .button:hover{background:#f3f3f3;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.15);box-shadow:0 1px 1px rgba(0,0,0,.15)}div.sceditor-font-picker,div.sceditor-fontsize-picker,div.sceditor-format{padding:6px 0}div.sceditor-color-picker{padding:4px}div.sceditor-emoticons,div.sceditor-more-emoticons{padding:0}.sceditor-pastetext textarea{border:1px solid #bbb;width:20em}.sceditor-emojis span,.sceditor-emoticons img,.sceditor-more-emoticons img{cursor:pointer;margin:2px;padding:0}.sceditor-emojis>div>div:not(:last-child){margin-bottom:6px}.sceditor-more{border-top:1px solid #bbb;cursor:pointer;display:block;font-weight:700;padding:6px 0;text-align:center}.sceditor-dropdown a:hover{background:#eee}.sceditor-font-option,.sceditor-fontsize-option,.sceditor-format a{color:#222;cursor:pointer;display:block;padding:7px 10px;text-decoration:none}.sceditor-fontsize-option{padding:7px 13px}.sceditor-color-column{float:left}.sceditor-color-option{border:2px solid #fff;display:block;height:18px;overflow:hidden;width:18px}.sceditor-color-option:hover{border:1px solid #aaa}div.sceditor-toolbar{-ms-flex-negative:0;background:#f7f7f7;background-clip:padding-box;border-bottom:1px solid silver;border-radius:3px 3px 0 0;flex-shrink:0;line-height:0;overflow:hidden;padding:3px 5px 2px;text-align:left;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.sceditor-group{background:#ddd;border-bottom:1px solid #aaa;display:inline-block;margin:1px 5px 1px 0;padding:1px}.sceditor-button,div.sceditor-group{background-clip:padding-box;border-radius:3px}.sceditor-button{cursor:pointer;float:left;height:20px;padding:3px 5px;width:16px}.sceditor-button.active,.sceditor-button:active,.sceditor-button:hover{background:#fff;-webkit-box-shadow:inset 1px 1px 0 rgba(0,0,0,.3),inset -1px 0 rgba(0,0,0,.3),inset 0 -1px 0 rgba(0,0,0,.2);box-shadow:inset 1px 1px 0 rgba(0,0,0,.3),inset -1px 0 rgba(0,0,0,.3),inset 0 -1px 0 rgba(0,0,0,.2)}.sceditor-button:active{background:#fff;-webkit-box-shadow:inset 1px 1px 0 rgba(0,0,0,.3),inset -1px 0 rgba(0,0,0,.3),inset 0 -1px 0 rgba(0,0,0,.2),inset 0 0 8px rgba(0,0,0,.3);box-shadow:inset 1px 1px 0 rgba(0,0,0,.3),inset -1px 0 rgba(0,0,0,.3),inset 0 -1px 0 rgba(0,0,0,.2),inset 0 0 8px rgba(0,0,0,.3)}.sceditor-button.disabled:hover{background:inherit;-webkit-box-shadow:none;box-shadow:none;cursor:default}.sceditor-button,.sceditor-button div{display:block}.sceditor-button svg{display:inline-block;fill:#111;height:16px;line-height:1;margin:2px 0;pointer-events:none;text-decoration:none;width:16px}.sceditor-button.disabled svg{fill:#888}.sceditor-button div{color:transparent;display:inline-block;font-size:0;line-height:0;margin:2px 0;overflow:hidden;padding:0}.sceditor-button.has-icon div{display:none}.sceditor-button.disabled div{opacity:.3}.sceditor-button.text,.sceditor-button.text div,.sceditor-button.text-icon,.sceditor-button.text-icon div,.text .sceditor-button,.text .sceditor-button div,.text-icon .sceditor-button,.text-icon .sceditor-button div{color:inherit;display:inline-block;font-size:1em;line-height:16px;text-indent:0;width:auto}.sceditor-button.has-icon div,.sceditor-button.text div,.text .sceditor-button div,.text-icon .sceditor-button.has-icon div{background:none;padding:0 2px}.sceditor-button.text svg,.text .sceditor-button svg{display:none}.sceditor-button.text-icon div,.text-icon .sceditor-button div{padding:0 2px 0 20px}.rtl div.sceditor-toolbar{text-align:right}.rtl .sceditor-button{float:right}.rtl div.sceditor-grip{left:0;right:auto}div.sceditor-toolbar{background:#5d5d5d}div.sceditor-group{background:#303030;border-bottom:1px solid #000}.sceditor-button.active,.sceditor-button:active,.sceditor-button:hover{background:#6b6b6b}.sceditor-button svg{fill:#fff}.sceditor-button.disabled svg{fill:#777}
A assets/sceditor/znote-content-acp.css +38-0 View file
@@ -0,0 +1,38 @@
1+html, body {
2+ margin: 0;
3+ padding: 6px 8px;
4+ background: transparent;
5+ color: #15191f;
6+ font: 14px/1.55 -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
7+ word-wrap: break-word;
8+}
9+
10+body { min-height: 100%; }
11+
12+a { color: #1b577d; }
13+
14+img { max-width: 100%; height: auto; }
15+
16+blockquote {
17+ margin: 8px 0;
18+ padding: 6px 12px;
19+ border-left: 3px solid #45a7df;
20+ background: rgba(0, 0, 0, .05);
21+}
22+
23+code, pre {
24+ font-family: Consolas, "Courier New", monospace;
25+ background: rgba(0, 0, 0, .07);
26+}
27+
28+pre { padding: 8px 10px; overflow-x: auto; }
29+
30+ul, ol { padding-left: 22px; }
31+
32+/* znote-editor.js copies data-acp-theme from the panel onto this document,
33+ because an iframe cannot see the parent page's attributes or stylesheet. */
34+html[data-acp-theme="dark"], html[data-acp-theme="dark"] body { color: #e7ebf1; }
35+html[data-acp-theme="dark"] a { color: #45a7df; }
36+html[data-acp-theme="dark"] blockquote { background: rgba(255, 255, 255, .05); }
37+html[data-acp-theme="dark"] code,
38+html[data-acp-theme="dark"] pre { background: rgba(0, 0, 0, .3); }
A assets/sceditor/znote-content.css +57-0 View file
@@ -0,0 +1,57 @@
1+html, body {
2+ margin: 0;
3+ padding: 6px 8px;
4+ background: var(--znote-editor-bg, transparent);
5+ color: var(--znote-editor-color, #dfe4ec);
6+ font: 14px/1.55 -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
7+ word-wrap: break-word;
8+ caret-color: var(--znote-editor-color, #dfe4ec);
9+}
10+
11+body { min-height: 100%; }
12+
13+html[data-znote-editor-scheme="light"], html[data-znote-editor-scheme="light"] body {
14+ color: var(--znote-editor-color, #1c1f27);
15+}
16+
17+html[data-acp-theme="dark"], html[data-acp-theme="dark"] body,
18+html[data-znote-editor-scheme="dark"], html[data-znote-editor-scheme="dark"] body {
19+ color: var(--znote-editor-color, #c8cedb);
20+}
21+
22+a { color: var(--znote-editor-link, #b9762a); }
23+html[data-acp-theme="dark"] a,
24+html[data-znote-editor-scheme="dark"] a {
25+ color: var(--znote-editor-link, #d9a441);
26+}
27+
28+::selection {
29+ background: var(--znote-editor-selection-bg, #0b65c2);
30+ color: var(--znote-editor-selection-color, #ffffff);
31+}
32+
33+img {
34+ max-width: 100%;
35+ height: auto;
36+}
37+
38+blockquote {
39+ margin: 8px 0;
40+ padding: 6px 12px;
41+ border-left: 3px solid #d9a441;
42+ background: rgba(0, 0, 0, .05);
43+}
44+html[data-acp-theme="dark"] blockquote { background: rgba(255, 255, 255, .04); }
45+
46+code, pre {
47+ font-family: Consolas, "Courier New", monospace;
48+ background: rgba(0, 0, 0, .08);
49+}
50+html[data-acp-theme="dark"] code, html[data-acp-theme="dark"] pre { background: rgba(0, 0, 0, .3); }
51+
52+pre {
53+ padding: 8px 10px;
54+ overflow-x: auto;
55+}
56+
57+ul, ol { padding-left: 22px; }
A assets/sceditor/znote-editor-acp.css +131-0 View file
@@ -0,0 +1,131 @@
1+.znote-editor-wrap {
2+ max-width: 100%;
3+ margin: 0 0 6px;
4+}
5+
6+div.sceditor-container {
7+ width: 100% !important;
8+ max-width: 100%;
9+ border: 1px solid var(--acp-line, #d7dce2);
10+ border-radius: var(--acp-radius, 4px);
11+ background: var(--acp-panel, #fff);
12+ font-family: inherit;
13+ resize: vertical;
14+ overflow: hidden;
15+}
16+
17+div.sceditor-container.sourceMode textarea,
18+div.sceditor-container iframe {
19+ background: var(--acp-panel, #fff) !important;
20+ color: var(--acp-fg, #15191f);
21+}
22+
23+div.sceditor-container.sourceMode textarea {
24+ font-family: Consolas, "Courier New", monospace;
25+ font-size: 13px;
26+ padding: 6px 8px;
27+ border: 0;
28+}
29+
30+div.sceditor-toolbar {
31+ background: var(--acp-bg, #ececec);
32+ border-bottom: 1px solid var(--acp-line, #d7dce2);
33+ padding: 3px;
34+}
35+
36+div.sceditor-group {
37+ background: transparent;
38+ margin: 1px 3px 1px 0;
39+ padding: 0;
40+ border-radius: 3px;
41+}
42+
43+a.sceditor-button {
44+ border-radius: 3px;
45+ opacity: .8;
46+ padding: 4px;
47+ width: 24px;
48+ height: 24px;
49+ transition: background .12s, opacity .12s;
50+}
51+
52+a.sceditor-button.disabled { opacity: .3; }
53+
54+a.sceditor-button:hover,
55+a.sceditor-button.active {
56+ opacity: 1;
57+ background: var(--acp-line-soft, rgba(128, 128, 128, .18));
58+}
59+
60+/* The material icon pack draws SVG, so the theme's sprite background would
61+ only produce a 404 for famfamfam.png. */
62+.sceditor-button div {
63+ background-image: none !important;
64+ width: 16px;
65+ height: 16px;
66+}
67+
68+.sceditor-button svg {
69+ fill: var(--acp-muted, #5d6878);
70+ stroke: var(--acp-muted, #5d6878);
71+}
72+
73+a.sceditor-button:hover svg,
74+a.sceditor-button.active svg {
75+ fill: var(--acp-fg, #15191f);
76+ stroke: var(--acp-fg, #15191f);
77+}
78+
79+div.sceditor-grip { background-image: none; }
80+
81+div.sceditor-dropdown {
82+ background: var(--acp-panel, #fff);
83+ border: 1px solid var(--acp-line, #d7dce2);
84+ color: var(--acp-fg, #15191f);
85+ border-radius: var(--acp-radius, 4px);
86+ box-shadow: 0 6px 18px rgba(0, 0, 0, .18);
87+}
88+
89+div.sceditor-dropdown a,
90+div.sceditor-dropdown label { color: var(--acp-fg, #15191f); }
91+
92+div.sceditor-dropdown input,
93+div.sceditor-dropdown textarea {
94+ background: var(--acp-bg, #ececec);
95+ border: 1px solid var(--acp-line, #d7dce2);
96+ color: var(--acp-fg, #15191f);
97+ border-radius: 3px;
98+ padding: 4px 6px;
99+}
100+
101+div.sceditor-dropdown input[type=button] {
102+ background: var(--acp-green, #2f9d68);
103+ color: #fff;
104+ border: 0;
105+ cursor: pointer;
106+ padding: 5px 12px;
107+ border-radius: 3px;
108+}
109+
110+.znote-editor-note {
111+ font-size: 12px;
112+ color: var(--acp-muted, #5d6878);
113+ margin: 4px 0 0;
114+}
115+
116+.znote-editor-warning {
117+ color: var(--acp-red, #d64b4b);
118+ font-size: 13px;
119+ margin: 6px 0 0;
120+}
121+
122+.znote-editor-count {
123+ font-size: 12px;
124+ color: var(--acp-muted, #5d6878);
125+ margin: 4px 0 0;
126+}
127+
128+.znote-editor-count.is-over {
129+ color: var(--acp-red, #d64b4b);
130+ font-weight: 600;
131+}
A assets/sceditor/znote-editor.css +191-0 View file
@@ -0,0 +1,191 @@
1+.znote-editor-wrap {
2+ max-width: 100%;
3+ margin: 0 0 12px;
4+}
5+
6+div.sceditor-container {
7+ width: 100% !important;
8+ max-width: 100%;
9+ border: 1px solid var(--border, #2b2f38);
10+ border-radius: 4px;
11+ background: var(--secondary, #191c21);
12+ font-family: inherit;
13+ resize: vertical;
14+ overflow: hidden;
15+}
16+
17+div.sceditor-container.sourceMode textarea,
18+div.sceditor-container iframe {
19+ background: var(--secondary, #191c21) !important;
20+ color: var(--font-color, #9ba2b1);
21+}
22+
23+div.sceditor-container.sourceMode textarea {
24+ font-family: Consolas, "Courier New", monospace;
25+ font-size: 13px;
26+ padding: 6px 8px;
27+ border: 0;
28+}
29+
30+div.sceditor-toolbar {
31+ background: var(--primary, #1e2128);
32+ border-bottom: 1px solid var(--border, #2b2f38);
33+ padding: 3px;
34+}
35+
36+div.sceditor-group {
37+ background: transparent;
38+ border-radius: 3px;
39+ margin: 1px 3px 1px 0;
40+ padding: 0;
41+}
42+
43+a.sceditor-button {
44+ border-radius: 3px;
45+ opacity: .75;
46+ padding: 4px;
47+ width: 24px;
48+ height: 24px;
49+ transition: background .12s, opacity .12s;
50+}
51+
52+a.sceditor-button.disabled { opacity: .3; }
53+
54+a.sceditor-button:hover,
55+a.sceditor-button.active {
56+ opacity: 1;
57+ background: rgba(255, 255, 255, .09);
58+}
59+
60+/* The material icon pack draws SVG into the buttons, so the theme's
61+ sprite background would only produce a 404 for famfamfam.png. */
62+.sceditor-button div {
63+ background-image: none !important;
64+ width: 16px;
65+ height: 16px;
66+}
67+
68+.sceditor-button svg {
69+ fill: var(--font-color, #9ba2b1);
70+ stroke: var(--font-color, #9ba2b1);
71+}
72+
73+a.sceditor-button:hover svg,
74+a.sceditor-button.active svg {
75+ fill: var(--anchor, #d9a441);
76+ stroke: var(--anchor, #d9a441);
77+}
78+
79+div.sceditor-grip { background-image: none; }
80+
81+/* Dropdowns (colour picker, font size, link/image prompts) */
82+div.sceditor-dropdown {
83+ background: var(--primary, #1e2128);
84+ border: 1px solid var(--border, #2b2f38);
85+ color: var(--font-color, #9ba2b1);
86+ border-radius: 4px;
87+ box-shadow: 0 6px 18px rgba(0, 0, 0, .45);
88+}
89+
90+div.sceditor-dropdown a,
91+div.sceditor-dropdown label { color: var(--font-color, #9ba2b1); }
92+
93+div.sceditor-dropdown input,
94+div.sceditor-dropdown textarea {
95+ background: var(--secondary, #191c21);
96+ border: 1px solid var(--border, #2b2f38);
97+ color: var(--font-color, #9ba2b1);
98+ border-radius: 3px;
99+ padding: 4px 6px;
100+}
101+
102+div.sceditor-dropdown input[type=button] {
103+ background: var(--anchor, #d9a441);
104+ color: #16181d;
105+ border: 0;
106+ cursor: pointer;
107+ padding: 5px 12px;
108+}
109+
110+.znote-editor-note {
111+ font-size: 12px;
112+ color: var(--font-color, #9ba2b1);
113+ opacity: .7;
114+ margin: 4px 0 10px;
115+}
116+
117+.znote-editor-warning {
118+ color: #e06c6c;
119+ font-size: 13px;
120+ margin: 6px 0 0;
121+}
122+
123+.znote-editor-count {
124+ font-size: 12px;
125+ opacity: .6;
126+ margin: 4px 0 0;
127+}
128+
129+.znote-editor-count.is-over {
130+ color: #e06c6c;
131+ opacity: 1;
132+ font-weight: 600;
133+}
134+
135+/* ---- rendered post body ---- */
136+.zbb-img {
137+ max-width: 100%;
138+ height: auto;
139+ border-radius: 3px;
140+}
141+
142+.zbb-quote {
143+ margin: 8px 0;
144+ padding: 8px 14px;
145+ border-left: 3px solid var(--anchor, #d9a441);
146+ background: rgba(255, 255, 255, .04);
147+ border-radius: 0 3px 3px 0;
148+}
149+
150+.zbb-quote cite {
151+ display: block;
152+ font-style: normal;
153+ font-weight: 600;
154+ opacity: .8;
155+ margin-bottom: 4px;
156+}
157+
158+.zbb-code {
159+ margin: 8px 0;
160+ padding: 10px 12px;
161+ background: rgba(0, 0, 0, .3);
162+ border: 1px solid var(--border, #2b2f38);
163+ border-radius: 3px;
164+ overflow-x: auto;
165+ font-family: Consolas, "Courier New", monospace;
166+ font-size: 13px;
167+ white-space: pre-wrap;
168+ word-break: break-word;
169+}
170+
171+.zbb-list {
172+ padding-left: 24px;
173+ margin: 6px 0;
174+}
175+
176+.zbb-video {
177+ position: relative;
178+ width: 100%;
179+ max-width: 640px;
180+ aspect-ratio: 16 / 9;
181+ margin: 10px 0;
182+}
183+
184+.zbb-video iframe {
185+ position: absolute;
186+ inset: 0;
187+ width: 100%;
188+ height: 100%;
189+ border: 0;
190+ border-radius: 3px;
191+}
A assets/sceditor/znote-editor.js +290-0 View file
@@ -0,0 +1,290 @@
1+(function () {
2+ 'use strict';
3+
4+ var DEFAULT_TOOLBAR = [
5+ 'bold,italic,underline,strike',
6+ 'size,color,removeformat',
7+ 'left,center,right',
8+ 'bulletlist,orderedlist',
9+ 'quote,code',
10+ 'link,unlink,image,youtube',
11+ 'undo,redo,source'
12+ ].join('|');
13+
14+ function boot() {
15+ if (typeof sceditor === 'undefined') {
16+ return;
17+ }
18+
19+ var boxes = document.querySelectorAll('textarea.znote-editor');
20+ if (!boxes.length) {
21+ return;
22+ }
23+
24+ Array.prototype.forEach.call(boxes, function (box) {
25+ var base = box.getAttribute('data-asset-base') || 'assets/sceditor/';
26+
27+ sceditor.create(box, {
28+ format: 'bbcode',
29+ icons: 'material',
30+ style: base + (box.getAttribute('data-content-css') || 'znote-content.css'),
31+ plugins: 'undo,autoyoutube',
32+ toolbar: box.getAttribute('data-toolbar') || DEFAULT_TOOLBAR,
33+ emoticonsEnabled: false,
34+ resizeEnabled: true,
35+ resizeWidth: false,
36+ autoUpdate: true,
37+ height: box.getAttribute('data-height') || 260
38+ });
39+
40+ mirrorTheme(box);
41+ mirrorColors(box);
42+ bindDraft(box);
43+
44+ var limit = parseInt(box.getAttribute('data-maxlength'), 10);
45+ if (!isNaN(limit) && limit > 0) {
46+ startCounter(box, limit);
47+ }
48+ });
49+
50+ bindForms();
51+ bindQuoteButtons();
52+ }
53+
54+ /* The editing area is an iframe, so it cannot see the panel's data-acp-theme
55+ or its stylesheet. Copy the attribute across and let the content CSS key
56+ off it, so the editor is dark when the admin panel is dark. */
57+ function mirrorTheme(box) {
58+ var theme = document.documentElement.getAttribute('data-acp-theme');
59+ if (!theme) {
60+ return;
61+ }
62+
63+ var instance = sceditor.instance(box);
64+ var apply = function () {
65+ var body = instance.getBody();
66+ if (body && body.ownerDocument) {
67+ body.ownerDocument.documentElement.setAttribute('data-acp-theme', theme);
68+ }
69+ };
70+
71+ apply();
72+ instance.bind('ready', apply);
73+ }
74+
75+ function cssVar(styles, name) {
76+ return (styles.getPropertyValue(name) || '').trim();
77+ }
78+
79+ function parseRgb(value) {
80+ var match = String(value || '').match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/i);
81+ if (!match) {
82+ return null;
83+ }
84+
85+ return [parseInt(match[1], 10), parseInt(match[2], 10), parseInt(match[3], 10)];
86+ }
87+
88+ function isDark(value) {
89+ var rgb = parseRgb(value);
90+ if (!rgb) {
91+ return true;
92+ }
93+
94+ return ((rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000) < 128;
95+ }
96+
97+ function mirrorColors(box) {
98+ var rootStyles = window.getComputedStyle(document.documentElement);
99+ var bodyStyles = window.getComputedStyle(document.body);
100+ var bg = cssVar(rootStyles, '--secondary') || cssVar(rootStyles, '--primary') || bodyStyles.backgroundColor || '#191c21';
101+ var color = cssVar(rootStyles, '--font-color') || bodyStyles.color || (isDark(bg) ? '#dfe4ec' : '#1c1f27');
102+ var link = cssVar(rootStyles, '--anchor') || cssVar(rootStyles, '--anchor-hover') || (isDark(bg) ? '#d9a441' : '#b9762a');
103+ var scheme = isDark(bg) ? 'dark' : 'light';
104+
105+ var instance = sceditor.instance(box);
106+ var apply = function () {
107+ var body = instance.getBody();
108+ if (!body || !body.ownerDocument || !body.ownerDocument.documentElement) {
109+ return;
110+ }
111+
112+ var html = body.ownerDocument.documentElement;
113+ html.setAttribute('data-znote-editor-scheme', scheme);
114+ html.style.setProperty('--znote-editor-bg', 'transparent');
115+ html.style.setProperty('--znote-editor-color', color);
116+ html.style.setProperty('--znote-editor-link', link);
117+ html.style.setProperty('--znote-editor-selection-bg', scheme === 'dark' ? '#0b65c2' : '#bcd7ff');
118+ html.style.setProperty('--znote-editor-selection-color', scheme === 'dark' ? '#ffffff' : '#111827');
119+ };
120+
121+ apply();
122+ instance.bind('ready', apply);
123+ instance.bind('focus', apply);
124+ }
125+
126+ function instanced(form) {
127+ return Array.prototype.filter.call(
128+ form.querySelectorAll('textarea.znote-editor'),
129+ function (box) { return !!sceditor.instance(box); }
130+ );
131+ }
132+
133+ /* The changelog column is varchar(255), and BBCode tags count toward it -
134+ so the limit is shown live rather than discovered on save. */
135+ function startCounter(box, limit) {
136+ var instance = sceditor.instance(box);
137+ var note = document.createElement('p');
138+ note.className = 'znote-editor-count';
139+ box.parentNode.appendChild(note);
140+
141+ var tick = function () {
142+ var used = instance.val().length;
143+ note.textContent = used + ' / ' + limit + ' characters';
144+ note.classList.toggle('is-over', used > limit);
145+ };
146+
147+ instance.bind('valuechanged', tick);
148+ tick();
149+ }
150+
151+ function bindForms() {
152+ var seen = [];
153+
154+ Array.prototype.forEach.call(document.querySelectorAll('textarea.znote-editor'), function (box) {
155+ var form = box.form;
156+ if (!form || seen.indexOf(form) !== -1) {
157+ return;
158+ }
159+ seen.push(form);
160+
161+ form.addEventListener('submit', function (event) {
162+ var blocked = false;
163+
164+ instanced(form).forEach(function (box) {
165+ var value = sceditor.instance(box).val();
166+
167+ // SCEditor syncs on submit already; doing it here too keeps
168+ // this correct if a theme submits the form from script.
169+ box.value = value;
170+
171+ var problem = check(box, value);
172+ warn(box, problem);
173+ if (problem) {
174+ blocked = true;
175+ }
176+ });
177+
178+ if (blocked) {
179+ event.preventDefault();
180+ } else {
181+ instanced(form).forEach(clearDraft);
182+ }
183+ });
184+ });
185+ }
186+
187+ function draftKey(box) {
188+ return 'znoteEditorDraft:' + location.pathname + location.search + ':' + (box.name || '');
189+ }
190+
191+ function clearDraft(box) {
192+ try {
193+ localStorage.removeItem(draftKey(box));
194+ } catch (e) {}
195+ }
196+
197+ function bindDraft(box) {
198+ var key = draftKey(box);
199+ var instance = sceditor.instance(box);
200+ var saved = null;
201+
202+ try {
203+ saved = localStorage.getItem(key);
204+ } catch (e) {}
205+
206+ if (saved && !box.value) {
207+ instance.val(saved);
208+ }
209+
210+ instance.bind('valuechanged', function () {
211+ try {
212+ var value = instance.val();
213+ if (value) {
214+ localStorage.setItem(key, value);
215+ } else {
216+ localStorage.removeItem(key);
217+ }
218+ } catch (e) {}
219+ });
220+ }
221+
222+ function bindQuoteButtons() {
223+ Array.prototype.forEach.call(document.querySelectorAll('.znf-quote-btn'), function (btn) {
224+ btn.addEventListener('click', function () {
225+ var article = btn.closest('article');
226+ var target = document.querySelector('.znf-reply textarea.znote-editor');
227+ if (!article || !target || typeof sceditor === 'undefined') {
228+ return;
229+ }
230+
231+ var source = article.querySelector('.znf-quote-source');
232+ var instance = sceditor.instance(target);
233+ if (!source || !instance) {
234+ return;
235+ }
236+
237+ var author = btn.getAttribute('data-author') || '';
238+ var quoted = '[quote=' + author + ']' + source.content.textContent + '[/quote]\n\n';
239+ instance.val(quoted + instance.val());
240+ instance.focus();
241+ target.scrollIntoView({ behavior: 'smooth', block: 'center' });
242+ });
243+ });
244+ }
245+
246+ function check(box, value) {
247+ var max = parseInt(box.getAttribute('data-max-images'), 10);
248+ if (!isNaN(max) && max >= 0) {
249+ var used = (value.match(/\[img(=[^\]]*)?\]/gi) || []).length;
250+ if (used > max) {
251+ return max === 0
252+ ? 'Images are not allowed here.'
253+ : 'Only ' + max + ' image' + (max === 1 ? '' : 's') + ' allowed — you have ' +
254+ used + '. Remove ' + (used - max) + '.';
255+ }
256+ }
257+
258+ var limit = parseInt(box.getAttribute('data-maxlength'), 10);
259+ if (!isNaN(limit) && limit > 0 && value.length > limit) {
260+ return 'Too long: ' + value.length + ' of ' + limit +
261+ ' characters. BBCode tags count too — remove ' + (value.length - limit) + '.';
262+ }
263+
264+ return '';
265+ }
266+
267+ function warn(box, message) {
268+ var container = box.parentNode;
269+ var note = container.querySelector('.znote-editor-warning');
270+
271+ if (!message) {
272+ if (note) note.remove();
273+ return;
274+ }
275+
276+ if (!note) {
277+ note = document.createElement('p');
278+ note.className = 'znote-editor-warning';
279+ container.appendChild(note);
280+ }
281+
282+ note.textContent = message;
283+ }
284+
285+ if (document.readyState === 'loading') {
286+ document.addEventListener('DOMContentLoaded', boot);
287+ } else {
288+ boot();
289+ }
290+})();
A bans.php +138-0 View file
@@ -0,0 +1,138 @@
1+<?php require_once 'engine/init.php';
2+theme_open();
3+
4+/**
5+ * Public ban list.
6+ *
7+ * Two completely different shapes depending on the engine:
8+ * TFS 1.x / 1.6 / Canary account_bans + ip_bans + player_namelocks
9+ * TFS 0.x / OTHire one `bans` table with a type column
10+ *
11+ * IP bans are counted but never listed: an address is personal data and
12+ * publishing it helps nobody. Names and reasons are what players expect to see.
13+ *
14+ * Prepared for the view:
15+ * $bansSupported false when the engine has no ban tables this page can read
16+ * $accountBans [name, reason, banned_at, expires_at, by]
17+ * $nameLocks [name, reason, at, by]
18+ * $ipBanCount how many address bans are active, as a number only
19+ */
20+
21+$engine = znote_server_adapter()->normalizedEngine();
22+$isModern = ($engine === 'TFS_10'); // TFS_16, Canary and BlackTek normalise to this
23+
24+$bansSupported = true;
25+$accountBans = array();
26+$nameLocks = array();
27+$ipBanCount = 0;
28+
29+$now = time();
30+
31+if ($isModern) {
32+
33+ $isOthire = false;
34+ $accNameCol = '`a`.`name`';
35+
36+ // Characters are shown rather than the account name: that is what other
37+ // players recognise, and one account may have several.
38+ $rows = db()->fetchAll("
39+ SELECT {$accNameCol} AS `account_name`,
40+ `b`.`reason`, `b`.`banned_at`, `b`.`expires_at`,
41+ (SELECT `name` FROM `players` WHERE `account_id` = `b`.`account_id` ORDER BY `level` DESC LIMIT 1) AS `character_name`
42+ FROM `account_bans` `b`
43+ INNER JOIN `accounts` `a` ON `a`.`id` = `b`.`account_id`
44+ ORDER BY `b`.`banned_at` DESC
45+ LIMIT 200;
46+ ");
47+
48+ if (is_array($rows)) {
49+ foreach ($rows as $row) {
50+ $accountBans[] = array(
51+ 'name' => (string)($row['character_name'] !== null && $row['character_name'] !== ''
52+ ? $row['character_name'] : $row['account_name']),
53+ 'reason' => (string)$row['reason'],
54+ 'banned_at' => (int)$row['banned_at'],
55+ 'expires_at' => (int)$row['expires_at'],
56+ );
57+ }
58+ }
59+
60+ $locks = db()->fetchAll("
61+ SELECT `p`.`name`, `n`.`reason`, `n`.`namelocked_at`
62+ FROM `player_namelocks` `n`
63+ INNER JOIN `players` `p` ON `p`.`id` = `n`.`player_id`
64+ ORDER BY `n`.`namelocked_at` DESC
65+ LIMIT 100;
66+ ");
67+ if (is_array($locks)) {
68+ foreach ($locks as $row) {
69+ $nameLocks[] = array(
70+ 'name' => (string)$row['name'],
71+ 'reason' => (string)$row['reason'],
72+ 'at' => (int)$row['namelocked_at'],
73+ );
74+ }
75+ }
76+
77+ $ipBanCount = (int)(db()->fetchOne("
78+ SELECT COUNT(*) AS `c` FROM `ip_bans`
79+ WHERE `expires_at` <= 0 OR `expires_at` > ?;
80+ ", [$now])['c'] ?? 0);
81+
82+} elseif (in_array($engine, array('TFS_02', 'TFS_03', 'OTHIRE'), true)) {
83+
84+ // One table, a type column: 1 = IP, 2 = namelock, 3 = account, 5 = deletion.
85+ $rows = db()->fetchAll("
86+ SELECT `type`, `value`, `param`, `expires`, `added`, `comment`, `reason_id`
87+ FROM `bans`
88+ WHERE `active` = 1 OR `active` IS NULL
89+ ORDER BY `added` DESC
90+ LIMIT 200;
91+ ");
92+
93+ if (is_array($rows)) {
94+ foreach ($rows as $row) {
95+ $type = (int)$row['type'];
96+
97+ if ($type === 1) {
98+ $ipBanCount++;
99+ continue;
100+ }
101+
102+ // value is a player id for namelocks, an account id for bans.
103+ $name = '';
104+ if ($type === 2) {
105+ $player = db()->fetchOne("SELECT `name` FROM `players` WHERE `id` = ? LIMIT 1;", [(int)$row['value']]);
106+ $name = is_array($player) ? (string)$player['name'] : '';
107+ } else {
108+ $player = db()->fetchOne("SELECT `name` FROM `players` WHERE `account_id` = ? ORDER BY `level` DESC LIMIT 1;", [(int)$row['value']]);
109+ $name = is_array($player) ? (string)$player['name'] : '';
110+ }
111+
112+ if ($name === '') {
113+ continue;
114+ }
115+
116+ $entry = array(
117+ 'name' => $name,
118+ 'reason' => (string)$row['comment'],
119+ 'banned_at' => (int)$row['added'],
120+ 'expires_at' => (int)$row['expires'],
121+ 'at' => (int)$row['added'],
122+ );
123+
124+ if ($type === 2) {
125+ $nameLocks[] = $entry;
126+ } else {
127+ $accountBans[] = $entry;
128+ }
129+ }
130+ }
131+
132+} else {
133+ $bansSupported = false;
134+}
135+
136+view('bans');
137+
138+theme_close();
A blank.php +5-0 View file
@@ -0,0 +1,5 @@
1+<?php require_once 'engine/init.php'; theme_open();
2+
3+view('blank');
4+
5+theme_close();
A buypoints.php +20-0 View file
@@ -0,0 +1,20 @@
1+<?php require_once 'engine/init.php';
2+protect_page();
3+theme_open();
4+
5+if (empty($config['buypoints_enabled'])) {
6+ echo '<p>'. t('buypoints.off') .'</p>';
7+ theme_close();
8+ exit();
9+}
10+
11+// Import from config:
12+$pagseguro = $config['pagseguro'];
13+$paypal = $config['paypal'];
14+$stripe = $config['stripe'] ?? array('enabled' => false);
15+$mercadopago = $config['mercadopago'] ?? array('enabled' => false);
16+$prices = $config['paypal_prices'];
17+
18+view('buypoints');
19+
20+theme_close();
A cache/README.md +1-0 View file
@@ -0,0 +1,1 @@
1+Simple file to get the folder created for easy installation without manually creating cache folder.
A changelog.php +35-0 View file
@@ -0,0 +1,35 @@
1+<?php require_once 'engine/init.php'; theme_open();
2+
3+/**
4+ * Public changelog.
5+ *
6+ * Creating, editing and deleting entries moved to the admin panel
7+ * (Content > Changelog). This page only reads now - it used to carry the whole
8+ * editor inline, which meant a public page held database writes.
9+ */
10+
11+$cache = new Cache('engine/cache/changelog');
12+$cache->useMemory(false);
13+$changelogs = $cache->load();
14+
15+// The cache is written by the admin panel. If it has never been built - a
16+// fresh install, or someone cleared engine/cache/ - fall back to the table.
17+if ($changelogs === false || $changelogs === null) {
18+ $changelogs = db()->fetchAll("
19+ SELECT `id`, `text`, `time`, `report_id`, `status`
20+ FROM `znote_changelog`
21+ ORDER BY `id` DESC;
22+ ");
23+ if (is_array($changelogs)) {
24+ $cache->setContent($changelogs);
25+ $cache->save();
26+ }
27+}
28+
29+if (!is_array($changelogs)) {
30+ $changelogs = array();
31+}
32+
33+view('changelog');
34+
35+theme_close();
A changepassword.php +76-0 View file
@@ -0,0 +1,76 @@
1+<?php require_once 'engine/init.php';
2+protect_page();
3+
4+if (empty($_POST) === false) {
5+ /* Token used for cross site scripting security */
6+ if (!Token::isValid($_POST['token'] ?? null)) {
7+ $errors[] = t('login.token_invalid');
8+ }
9+
10+ $required_fields = array('current_password', 'new_password', 'new_password_again');
11+
12+ foreach($required_fields as $key) {
13+ if (empty($_POST[$key])) {
14+ $errors[] = t('reg.fill_all');
15+ break 1;
16+ }
17+ }
18+
19+ $pass_data = user_data($session_user_id, 'password');
20+ if (!is_array($pass_data)) $pass_data = array('password' => '');
21+
22+ // .3 compatibility
23+ $salt = array('salt' => '');
24+ if (znote_server_adapter()->normalizedEngine() === 'TFS_03' && $config['salt'] === true) {
25+ $salt = user_data($session_user_id, 'salt');
26+ if (!is_array($salt)) $salt = array('salt' => '');
27+ }
28+ $current_password = (string)($_POST['current_password'] ?? '');
29+ $new_password = (string)($_POST['new_password'] ?? '');
30+ $new_password_again = (string)($_POST['new_password_again'] ?? '');
31+ if (user_verify_login_password((int)$session_user_id, $current_password, (string)$pass_data['password'], (string)($salt['salt'] ?? ''))) {
32+ if (trim($new_password) !== trim($new_password_again)) {
33+ $errors[] = t('changepw.mismatch');
34+ } else if (strlen($new_password) < 6) {
35+ $errors[] = t('changepw.too_short');
36+ } else if (strlen($new_password) > 100) {
37+ $errors[] = t('changepw.too_long');
38+ }
39+ } else {
40+ $errors[] = t('changepw.wrong');
41+ }
42+}
43+
44+/**
45+ * What the view has to render: 'success', 'errors' or 'form'.
46+ * The password write itself stays here - a theme must never carry it.
47+ */
48+$formState = 'form';
49+
50+if (isset($_GET['success']) && empty($_GET['success'])) {
51+ $formState = 'success';
52+
53+ // The password changed, so this session is no longer valid.
54+ znote_session_destroy();
55+ header('refresh:2;url=index.php');
56+
57+} elseif (empty($_POST) === false && empty($errors) === true) {
58+
59+ if (znote_server_adapter()->normalizedEngine() === 'TFS_03') {
60+ user_change_password03($session_user_id, $_POST['new_password']);
61+ } else {
62+ user_change_password($session_user_id, $_POST['new_password']);
63+ }
64+
65+ header('Location: changepassword.php?success');
66+ exit;
67+
68+} elseif (empty($errors) === false) {
69+ $formState = 'errors';
70+}
71+
72+theme_open();
73+
74+view('changepassword');
75+
76+theme_close();
Top