UNPKG

webwriter-chart

Version:

ww-chart is an interactive data visualization widget for the WebWriter tool that implements various charts and diagrams for static and exploratory data visualization.

2,136 lines (2,135 loc) 804 kB
var Rf = Object.defineProperty; var Ff = (e, t, i) => t in e ? Rf(e, t, { enumerable: !0, configurable: !0, writable: !0, value: i }) : e[t] = i; var E = (e, t, i) => (Ff(e, typeof t != "symbol" ? t + "" : t, i), i); /** * @license * Copyright 2019 Google LLC * SPDX-License-Identifier: BSD-3-Clause */ const Vs = globalThis, Pa = Vs.ShadowRoot && (Vs.ShadyCSS === void 0 || Vs.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, Ea = Symbol(), _l = /* @__PURE__ */ new WeakMap(); let tu = class { constructor(t, i, n) { if (this._$cssResult$ = !0, n !== Ea) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead."); this.cssText = t, this.t = i; } get styleSheet() { let t = this.o; const i = this.t; if (Pa && t === void 0) { const n = i !== void 0 && i.length === 1; n && (t = _l.get(i)), t === void 0 && ((this.o = t = new CSSStyleSheet()).replaceSync(this.cssText), n && _l.set(i, t)); } return t; } toString() { return this.cssText; } }; const If = (e) => new tu(typeof e == "string" ? e : e + "", void 0, Ea), Z = (e, ...t) => { const i = e.length === 1 ? e[0] : t.reduce((n, s, r) => n + ((o) => { if (o._$cssResult$ === !0) return o.cssText; if (typeof o == "number") return o; throw Error("Value passed to 'css' function must be a 'css' function result: " + o + ". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security."); })(s) + e[r + 1], e[0]); return new tu(i, e, Ea); }, eu = (e, t) => { if (Pa) e.adoptedStyleSheets = t.map((i) => i instanceof CSSStyleSheet ? i : i.styleSheet); else for (const i of t) { const n = document.createElement("style"), s = Vs.litNonce; s !== void 0 && n.setAttribute("nonce", s), n.textContent = i.cssText, e.appendChild(n); } }, wl = Pa ? (e) => e : (e) => e instanceof CSSStyleSheet ? ((t) => { let i = ""; for (const n of t.cssRules) i += n.cssText; return If(i); })(e) : e; /** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause */ const { is: Nf, defineProperty: Bf, getOwnPropertyDescriptor: Vf, getOwnPropertyNames: Hf, getOwnPropertySymbols: jf, getPrototypeOf: Wf } = Object, Ve = globalThis, kl = Ve.trustedTypes, Uf = kl ? kl.emptyScript : "", so = Ve.reactiveElementPolyfillSupport, Tn = (e, t) => e, Ni = { toAttribute(e, t) { switch (t) { case Boolean: e = e ? Uf : null; break; case Object: case Array: e = e == null ? e : JSON.stringify(e); } return e; }, fromAttribute(e, t) { let i = e; switch (t) { case Boolean: i = e !== null; break; case Number: i = e === null ? null : Number(e); break; case Object: case Array: try { i = JSON.parse(e); } catch { i = null; } } return i; } }, Ta = (e, t) => !Nf(e, t), Sl = { attribute: !0, type: String, converter: Ni, reflect: !1, hasChanged: Ta }; Symbol.metadata ?? (Symbol.metadata = Symbol("metadata")), Ve.litPropertyMetadata ?? (Ve.litPropertyMetadata = /* @__PURE__ */ new WeakMap()); class Ei extends HTMLElement { static addInitializer(t) { this._$Ei(), (this.l ?? (this.l = [])).push(t); } static get observedAttributes() { return this.finalize(), this._$Eh && [...this._$Eh.keys()]; } static createProperty(t, i = Sl) { if (i.state && (i.attribute = !1), this._$Ei(), this.elementProperties.set(t, i), !i.noAccessor) { const n = Symbol(), s = this.getPropertyDescriptor(t, n, i); s !== void 0 && Bf(this.prototype, t, s); } } static getPropertyDescriptor(t, i, n) { const { get: s, set: r } = Vf(this.prototype, t) ?? { get() { return this[i]; }, set(o) { this[i] = o; } }; return { get() { return s == null ? void 0 : s.call(this); }, set(o) { const a = s == null ? void 0 : s.call(this); r.call(this, o), this.requestUpdate(t, a, n); }, configurable: !0, enumerable: !0 }; } static getPropertyOptions(t) { return this.elementProperties.get(t) ?? Sl; } static _$Ei() { if (this.hasOwnProperty(Tn("elementProperties"))) return; const t = Wf(this); t.finalize(), t.l !== void 0 && (this.l = [...t.l]), this.elementProperties = new Map(t.elementProperties); } static finalize() { if (this.hasOwnProperty(Tn("finalized"))) return; if (this.finalized = !0, this._$Ei(), this.hasOwnProperty(Tn("properties"))) { const i = this.properties, n = [...Hf(i), ...jf(i)]; for (const s of n) this.createProperty(s, i[s]); } const t = this[Symbol.metadata]; if (t !== null) { const i = litPropertyMetadata.get(t); if (i !== void 0) for (const [n, s] of i) this.elementProperties.set(n, s); } this._$Eh = /* @__PURE__ */ new Map(); for (const [i, n] of this.elementProperties) { const s = this._$Eu(i, n); s !== void 0 && this._$Eh.set(s, i); } this.elementStyles = this.finalizeStyles(this.styles); } static finalizeStyles(t) { const i = []; if (Array.isArray(t)) { const n = new Set(t.flat(1 / 0).reverse()); for (const s of n) i.unshift(wl(s)); } else t !== void 0 && i.push(wl(t)); return i; } static _$Eu(t, i) { const n = i.attribute; return n === !1 ? void 0 : typeof n == "string" ? n : typeof t == "string" ? t.toLowerCase() : void 0; } constructor() { super(), this._$Ep = void 0, this.isUpdatePending = !1, this.hasUpdated = !1, this._$Em = null, this._$Ev(); } _$Ev() { var t; this._$ES = new Promise((i) => this.enableUpdating = i), this._$AL = /* @__PURE__ */ new Map(), this._$E_(), this.requestUpdate(), (t = this.constructor.l) == null || t.forEach((i) => i(this)); } addController(t) { var i; (this._$EO ?? (this._$EO = /* @__PURE__ */ new Set())).add(t), this.renderRoot !== void 0 && this.isConnected && ((i = t.hostConnected) == null || i.call(t)); } removeController(t) { var i; (i = this._$EO) == null || i.delete(t); } _$E_() { const t = /* @__PURE__ */ new Map(), i = this.constructor.elementProperties; for (const n of i.keys()) this.hasOwnProperty(n) && (t.set(n, this[n]), delete this[n]); t.size > 0 && (this._$Ep = t); } createRenderRoot() { const t = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions); return eu(t, this.constructor.elementStyles), t; } connectedCallback() { var t; this.renderRoot ?? (this.renderRoot = this.createRenderRoot()), this.enableUpdating(!0), (t = this._$EO) == null || t.forEach((i) => { var n; return (n = i.hostConnected) == null ? void 0 : n.call(i); }); } enableUpdating(t) { } disconnectedCallback() { var t; (t = this._$EO) == null || t.forEach((i) => { var n; return (n = i.hostDisconnected) == null ? void 0 : n.call(i); }); } attributeChangedCallback(t, i, n) { this._$AK(t, n); } _$EC(t, i) { var r; const n = this.constructor.elementProperties.get(t), s = this.constructor._$Eu(t, n); if (s !== void 0 && n.reflect === !0) { const o = (((r = n.converter) == null ? void 0 : r.toAttribute) !== void 0 ? n.converter : Ni).toAttribute(i, n.type); this._$Em = t, o == null ? this.removeAttribute(s) : this.setAttribute(s, o), this._$Em = null; } } _$AK(t, i) { var r; const n = this.constructor, s = n._$Eh.get(t); if (s !== void 0 && this._$Em !== s) { const o = n.getPropertyOptions(s), a = typeof o.converter == "function" ? { fromAttribute: o.converter } : ((r = o.converter) == null ? void 0 : r.fromAttribute) !== void 0 ? o.converter : Ni; this._$Em = s, this[s] = a.fromAttribute(i, o.type), this._$Em = null; } } requestUpdate(t, i, n) { if (t !== void 0) { if (n ?? (n = this.constructor.getPropertyOptions(t)), !(n.hasChanged ?? Ta)(this[t], i)) return; this.P(t, i, n); } this.isUpdatePending === !1 && (this._$ES = this._$ET()); } P(t, i, n) { this._$AL.has(t) || this._$AL.set(t, i), n.reflect === !0 && this._$Em !== t && (this._$Ej ?? (this._$Ej = /* @__PURE__ */ new Set())).add(t); } async _$ET() { this.isUpdatePending = !0; try { await this._$ES; } catch (i) { Promise.reject(i); } const t = this.scheduleUpdate(); return t != null && await t, !this.isUpdatePending; } scheduleUpdate() { return this.performUpdate(); } performUpdate() { var n; if (!this.isUpdatePending) return; if (!this.hasUpdated) { if (this.renderRoot ?? (this.renderRoot = this.createRenderRoot()), this._$Ep) { for (const [r, o] of this._$Ep) this[r] = o; this._$Ep = void 0; } const s = this.constructor.elementProperties; if (s.size > 0) for (const [r, o] of s) o.wrapped !== !0 || this._$AL.has(r) || this[r] === void 0 || this.P(r, this[r], o); } let t = !1; const i = this._$AL; try { t = this.shouldUpdate(i), t ? (this.willUpdate(i), (n = this._$EO) == null || n.forEach((s) => { var r; return (r = s.hostUpdate) == null ? void 0 : r.call(s); }), this.update(i)) : this._$EU(); } catch (s) { throw t = !1, this._$EU(), s; } t && this._$AE(i); } willUpdate(t) { } _$AE(t) { var i; (i = this._$EO) == null || i.forEach((n) => { var s; return (s = n.hostUpdated) == null ? void 0 : s.call(n); }), this.hasUpdated || (this.hasUpdated = !0, this.firstUpdated(t)), this.updated(t); } _$EU() { this._$AL = /* @__PURE__ */ new Map(), this.isUpdatePending = !1; } get updateComplete() { return this.getUpdateComplete(); } getUpdateComplete() { return this._$ES; } shouldUpdate(t) { return !0; } update(t) { this._$Ej && (this._$Ej = this._$Ej.forEach((i) => this._$EC(i, this[i]))), this._$EU(); } updated(t) { } firstUpdated(t) { } } Ei.elementStyles = [], Ei.shadowRootOptions = { mode: "open" }, Ei[Tn("elementProperties")] = /* @__PURE__ */ new Map(), Ei[Tn("finalized")] = /* @__PURE__ */ new Map(), so == null || so({ ReactiveElement: Ei }), (Ve.reactiveElementVersions ?? (Ve.reactiveElementVersions = [])).push("2.0.4"); /** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause */ const zn = globalThis, ir = zn.trustedTypes, $l = ir ? ir.createPolicy("lit-html", { createHTML: (e) => e }) : void 0, iu = "$lit$", Le = `lit$${Math.random().toFixed(9).slice(2)}$`, nu = "?" + Le, qf = `<${nu}>`, gi = document, Bn = () => gi.createComment(""), Vn = (e) => e === null || typeof e != "object" && typeof e != "function", su = Array.isArray, Xf = (e) => su(e) || typeof (e == null ? void 0 : e[Symbol.iterator]) == "function", ro = `[ \f\r]`, cn = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, Cl = /-->/g, Ml = />/g, Ze = RegExp(`>|${ro}(?:([^\\s"'>=/]+)(${ro}*=${ro}*(?:[^ \f\r"'\`<>=]|("|')|))|$)`, "g"), Al = /'/g, Ol = /"/g, ru = /^(?:script|style|textarea|title)$/i, Yf = (e) => (t, ...i) => ({ _$litType$: e, strings: t, values: i }), O = Yf(1), Bt = Symbol.for("lit-noChange"), lt = Symbol.for("lit-nothing"), Dl = /* @__PURE__ */ new WeakMap(), oi = gi.createTreeWalker(gi, 129); function ou(e, t) { if (!Array.isArray(e) || !e.hasOwnProperty("raw")) throw Error("invalid template strings array"); return $l !== void 0 ? $l.createHTML(t) : t; } const Kf = (e, t) => { const i = e.length - 1, n = []; let s, r = t === 2 ? "<svg>" : "", o = cn; for (let a = 0; a < i; a++) { const l = e[a]; let c, h, u = -1, d = 0; for (; d < l.length && (o.lastIndex = d, h = o.exec(l), h !== null); ) d = o.lastIndex, o === cn ? h[1] === "!--" ? o = Cl : h[1] !== void 0 ? o = Ml : h[2] !== void 0 ? (ru.test(h[2]) && (s = RegExp("</" + h[2], "g")), o = Ze) : h[3] !== void 0 && (o = Ze) : o === Ze ? h[0] === ">" ? (o = s ?? cn, u = -1) : h[1] === void 0 ? u = -2 : (u = o.lastIndex - h[2].length, c = h[1], o = h[3] === void 0 ? Ze : h[3] === '"' ? Ol : Al) : o === Ol || o === Al ? o = Ze : o === Cl || o === Ml ? o = cn : (o = Ze, s = void 0); const f = o === Ze && e[a + 1].startsWith("/>") ? " " : ""; r += o === cn ? l + qf : u >= 0 ? (n.push(c), l.slice(0, u) + iu + l.slice(u) + Le + f) : l + Le + (u === -2 ? a : f); } return [ou(e, r + (e[i] || "<?>") + (t === 2 ? "</svg>" : "")), n]; }; class Hn { constructor({ strings: t, _$litType$: i }, n) { let s; this.parts = []; let r = 0, o = 0; const a = t.length - 1, l = this.parts, [c, h] = Kf(t, i); if (this.el = Hn.createElement(c, n), oi.currentNode = this.el.content, i === 2) { const u = this.el.content.firstChild; u.replaceWith(...u.childNodes); } for (; (s = oi.nextNode()) !== null && l.length < a; ) { if (s.nodeType === 1) { if (s.hasAttributes()) for (const u of s.getAttributeNames()) if (u.endsWith(iu)) { const d = h[o++], f = s.getAttribute(u).split(Le), p = /([.?@])?(.*)/.exec(d); l.push({ type: 1, index: r, name: p[2], strings: f, ctor: p[1] === "." ? Zf : p[1] === "?" ? Jf : p[1] === "@" ? Qf : jr }), s.removeAttribute(u); } else u.startsWith(Le) && (l.push({ type: 6, index: r }), s.removeAttribute(u)); if (ru.test(s.tagName)) { const u = s.textContent.split(Le), d = u.length - 1; if (d > 0) { s.textContent = ir ? ir.emptyScript : ""; for (let f = 0; f < d; f++) s.append(u[f], Bn()), oi.nextNode(), l.push({ type: 2, index: ++r }); s.append(u[d], Bn()); } } } else if (s.nodeType === 8) if (s.data === nu) l.push({ type: 2, index: r }); else { let u = -1; for (; (u = s.data.indexOf(Le, u + 1)) !== -1; ) l.push({ type: 7, index: r }), u += Le.length - 1; } r++; } } static createElement(t, i) { const n = gi.createElement("template"); return n.innerHTML = t, n; } } function Bi(e, t, i = e, n) { var o, a; if (t === Bt) return t; let s = n !== void 0 ? (o = i._$Co) == null ? void 0 : o[n] : i._$Cl; const r = Vn(t) ? void 0 : t._$litDirective$; return (s == null ? void 0 : s.constructor) !== r && ((a = s == null ? void 0 : s._$AO) == null || a.call(s, !1), r === void 0 ? s = void 0 : (s = new r(e), s._$AT(e, i, n)), n !== void 0 ? (i._$Co ?? (i._$Co = []))[n] = s : i._$Cl = s), s !== void 0 && (t = Bi(e, s._$AS(e, t.values), s, n)), t; } class Gf { constructor(t, i) { this._$AV = [], this._$AN = void 0, this._$AD = t, this._$AM = i; } get parentNode() { return this._$AM.parentNode; } get _$AU() { return this._$AM._$AU; } u(t) { const { el: { content: i }, parts: n } = this._$AD, s = ((t == null ? void 0 : t.creationScope) ?? gi).importNode(i, !0); oi.currentNode = s; let r = oi.nextNode(), o = 0, a = 0, l = n[0]; for (; l !== void 0; ) { if (o === l.index) { let c; l.type === 2 ? c = new is(r, r.nextSibling, this, t) : l.type === 1 ? c = new l.ctor(r, l.name, l.strings, this, t) : l.type === 6 && (c = new tp(r, this, t)), this._$AV.push(c), l = n[++a]; } o !== (l == null ? void 0 : l.index) && (r = oi.nextNode(), o++); } return oi.currentNode = gi, s; } p(t) { let i = 0; for (const n of this._$AV) n !== void 0 && (n.strings !== void 0 ? (n._$AI(t, n, i), i += n.strings.length - 2) : n._$AI(t[i])), i++; } } class is { get _$AU() { var t; return ((t = this._$AM) == null ? void 0 : t._$AU) ?? this._$Cv; } constructor(t, i, n, s) { this.type = 2, this._$AH = lt, this._$AN = void 0, this._$AA = t, this._$AB = i, this._$AM = n, this.options = s, this._$Cv = (s == null ? void 0 : s.isConnected) ?? !0; } get parentNode() { let t = this._$AA.parentNode; const i = this._$AM; return i !== void 0 && (t == null ? void 0 : t.nodeType) === 11 && (t = i.parentNode), t; } get startNode() { return this._$AA; } get endNode() { return this._$AB; } _$AI(t, i = this) { t = Bi(this, t, i), Vn(t) ? t === lt || t == null || t === "" ? (this._$AH !== lt && this._$AR(), this._$AH = lt) : t !== this._$AH && t !== Bt && this._(t) : t._$litType$ !== void 0 ? this.$(t) : t.nodeType !== void 0 ? this.T(t) : Xf(t) ? this.k(t) : this._(t); } S(t) { return this._$AA.parentNode.insertBefore(t, this._$AB); } T(t) { this._$AH !== t && (this._$AR(), this._$AH = this.S(t)); } _(t) { this._$AH !== lt && Vn(this._$AH) ? this._$AA.nextSibling.data = t : this.T(gi.createTextNode(t)), this._$AH = t; } $(t) { var r; const { values: i, _$litType$: n } = t, s = typeof n == "number" ? this._$AC(t) : (n.el === void 0 && (n.el = Hn.createElement(ou(n.h, n.h[0]), this.options)), n); if (((r = this._$AH) == null ? void 0 : r._$AD) === s) this._$AH.p(i); else { const o = new Gf(s, this), a = o.u(this.options); o.p(i), this.T(a), this._$AH = o; } } _$AC(t) { let i = Dl.get(t.strings); return i === void 0 && Dl.set(t.strings, i = new Hn(t)), i; } k(t) { su(this._$AH) || (this._$AH = [], this._$AR()); const i = this._$AH; let n, s = 0; for (const r of t) s === i.length ? i.push(n = new is(this.S(Bn()), this.S(Bn()), this, this.options)) : n = i[s], n._$AI(r), s++; s < i.length && (this._$AR(n && n._$AB.nextSibling, s), i.length = s); } _$AR(t = this._$AA.nextSibling, i) { var n; for ((n = this._$AP) == null ? void 0 : n.call(this, !1, !0, i); t && t !== this._$AB; ) { const s = t.nextSibling; t.remove(), t = s; } } setConnected(t) { var i; this._$AM === void 0 && (this._$Cv = t, (i = this._$AP) == null || i.call(this, t)); } } class jr { get tagName() { return this.element.tagName; } get _$AU() { return this._$AM._$AU; } constructor(t, i, n, s, r) { this.type = 1, this._$AH = lt, this._$AN = void 0, this.element = t, this.name = i, this._$AM = s, this.options = r, n.length > 2 || n[0] !== "" || n[1] !== "" ? (this._$AH = Array(n.length - 1).fill(new String()), this.strings = n) : this._$AH = lt; } _$AI(t, i = this, n, s) { const r = this.strings; let o = !1; if (r === void 0) t = Bi(this, t, i, 0), o = !Vn(t) || t !== this._$AH && t !== Bt, o && (this._$AH = t); else { const a = t; let l, c; for (t = r[0], l = 0; l < r.length - 1; l++) c = Bi(this, a[n + l], i, l), c === Bt && (c = this._$AH[l]), o || (o = !Vn(c) || c !== this._$AH[l]), c === lt ? t = lt : t !== lt && (t += (c ?? "") + r[l + 1]), this._$AH[l] = c; } o && !s && this.j(t); } j(t) { t === lt ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, t ?? ""); } } class Zf extends jr { constructor() { super(...arguments), this.type = 3; } j(t) { this.element[this.name] = t === lt ? void 0 : t; } } class Jf extends jr { constructor() { super(...arguments), this.type = 4; } j(t) { this.element.toggleAttribute(this.name, !!t && t !== lt); } } class Qf extends jr { constructor(t, i, n, s, r) { super(t, i, n, s, r), this.type = 5; } _$AI(t, i = this) { if ((t = Bi(this, t, i, 0) ?? lt) === Bt) return; const n = this._$AH, s = t === lt && n !== lt || t.capture !== n.capture || t.once !== n.once || t.passive !== n.passive, r = t !== lt && (n === lt || s); s && this.element.removeEventListener(this.name, this, n), r && this.element.addEventListener(this.name, this, t), this._$AH = t; } handleEvent(t) { var i; typeof this._$AH == "function" ? this._$AH.call(((i = this.options) == null ? void 0 : i.host) ?? this.element, t) : this._$AH.handleEvent(t); } } class tp { constructor(t, i, n) { this.element = t, this.type = 6, this._$AN = void 0, this._$AM = i, this.options = n; } get _$AU() { return this._$AM._$AU; } _$AI(t) { Bi(this, t); } } const oo = zn.litHtmlPolyfillSupport; oo == null || oo(Hn, is), (zn.litHtmlVersions ?? (zn.litHtmlVersions = [])).push("3.1.3"); const ep = (e, t, i) => { const n = (i == null ? void 0 : i.renderBefore) ?? t; let s = n._$litPart$; if (s === void 0) { const r = (i == null ? void 0 : i.renderBefore) ?? null; n._$litPart$ = s = new is(t.insertBefore(Bn(), r), r, void 0, i ?? {}); } return s._$AI(e), s; }; /** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause */ let hi = class extends Ei { constructor() { super(...arguments), this.renderOptions = { host: this }, this._$Do = void 0; } createRenderRoot() { var i; const t = super.createRenderRoot(); return (i = this.renderOptions).renderBefore ?? (i.renderBefore = t.firstChild), t; } update(t) { const i = this.render(); this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(t), this._$Do = ep(i, this.renderRoot, this.renderOptions); } connectedCallback() { var t; super.connectedCallback(), (t = this._$Do) == null || t.setConnected(!0); } disconnectedCallback() { var t; super.disconnectedCallback(), (t = this._$Do) == null || t.setConnected(!1); } render() { return Bt; } }; var Qh; hi._$litElement$ = !0, hi.finalized = !0, (Qh = globalThis.litElementHydrateSupport) == null || Qh.call(globalThis, { LitElement: hi }); const ao = globalThis.litElementPolyfillSupport; ao == null || ao({ LitElement: hi }); (globalThis.litElementVersions ?? (globalThis.litElementVersions = [])).push("4.0.5"); /** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause */ const gt = (e) => (t, i) => { i !== void 0 ? i.addInitializer(() => { customElements.define(e, t); }) : customElements.define(e, t); }; /** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause */ const ip = { attribute: !0, type: String, converter: Ni, reflect: !1, hasChanged: Ta }, np = (e = ip, t, i) => { const { kind: n, metadata: s } = i; let r = globalThis.litPropertyMetadata.get(s); if (r === void 0 && globalThis.litPropertyMetadata.set(s, r = /* @__PURE__ */ new Map()), r.set(i.name, e), n === "accessor") { const { name: o } = i; return { set(a) { const l = t.get.call(this); t.set.call(this, a), this.requestUpdate(o, l, e); }, init(a) { return a !== void 0 && this.P(o, void 0, e), a; } }; } if (n === "setter") { const { name: o } = i; return function(a) { const l = this[o]; t.call(this, a), this.requestUpdate(o, l, e); }; } throw Error("Unsupported decorator location: " + n); }; function k(e) { return (t, i) => typeof i == "object" ? np(e, t, i) : ((n, s, r) => { const o = s.hasOwnProperty(r); return s.constructor.createProperty(r, o ? { ...n, wrapped: !0 } : n), o ? Object.getOwnPropertyDescriptor(s, r) : void 0; })(e, t, i); } /** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause */ function X(e) { return k({ ...e, state: !0, attribute: !1 }); } /** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause */ function au(e) { return (t, i) => { const n = typeof t == "function" ? t : t[i]; Object.assign(n, e); }; } /** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause */ const Pl = (e, t, i) => (i.configurable = !0, i.enumerable = !0, Reflect.decorate && typeof t != "object" && Object.defineProperty(e, t, i), i); /** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause */ function nt(e, t) { return (i, n, s) => { const r = (o) => { var a; return ((a = o.renderRoot) == null ? void 0 : a.querySelector(e)) ?? null; }; if (t) { const { get: o, set: a } = typeof n == "object" ? i : s ?? (() => { const l = Symbol(); return { get() { return this[l]; }, set(c) { this[l] = c; } }; })(); return Pl(i, n, { get() { let l = o.call(this); return l === void 0 && (l = r(this), (l !== null || this.hasUpdated) && a.call(this, l)), l; } }); } return Pl(i, n, { get() { return r(this); } }); }; } var _i = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}; function sp(e) { if (e.__esModule) return e; var t = e.default; if (typeof t == "function") { var i = function n() { if (this instanceof n) { var s = [null]; s.push.apply(s, arguments); var r = Function.bind.apply(t, s); return new r(); } return t.apply(this, arguments); }; i.prototype = t.prototype; } else i = {}; return Object.defineProperty(i, "__esModule", { value: !0 }), Object.keys(e).forEach(function(n) { var s = Object.getOwnPropertyDescriptor(e, n); Object.defineProperty(i, n, s.get ? s : { enumerable: !0, get: function() { return e[n]; } }); }), i; } var zo = {}, rp = { get exports() { return zo; }, set exports(e) { zo = e; } }; (function(e) { (function(t, i, n) { function s(l) { var c = this, h = a(); c.next = function() { var u = 2091639 * c.s0 + c.c * 23283064365386963e-26; return c.s0 = c.s1, c.s1 = c.s2, c.s2 = u - (c.c = u | 0); }, c.c = 1, c.s0 = h(" "), c.s1 = h(" "), c.s2 = h(" "), c.s0 -= h(l), c.s0 < 0 && (c.s0 += 1), c.s1 -= h(l), c.s1 < 0 && (c.s1 += 1), c.s2 -= h(l), c.s2 < 0 && (c.s2 += 1), h = null; } function r(l, c) { return c.c = l.c, c.s0 = l.s0, c.s1 = l.s1, c.s2 = l.s2, c; } function o(l, c) { var h = new s(l), u = c && c.state, d = h.next; return d.int32 = function() { return h.next() * 4294967296 | 0; }, d.double = function() { return d() + (d() * 2097152 | 0) * 11102230246251565e-32; }, d.quick = d, u && (typeof u == "object" && r(u, h), d.state = function() { return r(h, {}); }), d; } function a() { var l = 4022871197, c = function(h) { h = String(h); for (var u = 0; u < h.length; u++) { l += h.charCodeAt(u); var d = 0.02519603282416938 * l; l = d >>> 0, d -= l, d *= l, l = d >>> 0, d -= l, l += d * 4294967296; } return (l >>> 0) * 23283064365386963e-26; }; return c; } i && i.exports ? i.exports = o : n && n.amd ? n(function() { return o; }) : this.alea = o; })( _i, e, // present in node.js !1 // present with an AMD loader ); })(rp); var Lo = {}, op = { get exports() { return Lo; }, set exports(e) { Lo = e; } }; (function(e) { (function(t, i, n) { function s(a) { var l = this, c = ""; l.x = 0, l.y = 0, l.z = 0, l.w = 0, l.next = function() { var u = l.x ^ l.x << 11; return l.x = l.y, l.y = l.z, l.z = l.w, l.w ^= l.w >>> 19 ^ u ^ u >>> 8; }, a === (a | 0) ? l.x = a : c += a; for (var h = 0; h < c.length + 64; h++) l.x ^= c.charCodeAt(h) | 0, l.next(); } function r(a, l) { return l.x = a.x, l.y = a.y, l.z = a.z, l.w = a.w, l; } function o(a, l) { var c = new s(a), h = l && l.state, u = function() { return (c.next() >>> 0) / 4294967296; }; return u.double = function() { do var d = c.next() >>> 11, f = (c.next() >>> 0) / 4294967296, p = (d + f) / (1 << 21); while (p === 0); return p; }, u.int32 = c.next, u.quick = u, h && (typeof h == "object" && r(h, c), u.state = function() { return r(c, {}); }), u; } i && i.exports ? i.exports = o : n && n.amd ? n(function() { return o; }) : this.xor128 = o; })( _i, e, // present in node.js !1 // present with an AMD loader ); })(op); var Ro = {}, ap = { get exports() { return Ro; }, set exports(e) { Ro = e; } }; (function(e) { (function(t, i, n) { function s(a) { var l = this, c = ""; l.next = function() { var u = l.x ^ l.x >>> 2; return l.x = l.y, l.y = l.z, l.z = l.w, l.w = l.v, (l.d = l.d + 362437 | 0) + (l.v = l.v ^ l.v << 4 ^ (u ^ u << 1)) | 0; }, l.x = 0, l.y = 0, l.z = 0, l.w = 0, l.v = 0, a === (a | 0) ? l.x = a : c += a; for (var h = 0; h < c.length + 64; h++) l.x ^= c.charCodeAt(h) | 0, h == c.length && (l.d = l.x << 10 ^ l.x >>> 4), l.next(); } function r(a, l) { return l.x = a.x, l.y = a.y, l.z = a.z, l.w = a.w, l.v = a.v, l.d = a.d, l; } function o(a, l) { var c = new s(a), h = l && l.state, u = function() { return (c.next() >>> 0) / 4294967296; }; return u.double = function() { do var d = c.next() >>> 11, f = (c.next() >>> 0) / 4294967296, p = (d + f) / (1 << 21); while (p === 0); return p; }, u.int32 = c.next, u.quick = u, h && (typeof h == "object" && r(h, c), u.state = function() { return r(c, {}); }), u; } i && i.exports ? i.exports = o : n && n.amd ? n(function() { return o; }) : this.xorwow = o; })( _i, e, // present in node.js !1 // present with an AMD loader ); })(ap); var Fo = {}, lp = { get exports() { return Fo; }, set exports(e) { Fo = e; } }; (function(e) { (function(t, i, n) { function s(a) { var l = this; l.next = function() { var h = l.x, u = l.i, d, f; return d = h[u], d ^= d >>> 7, f = d ^ d << 24, d = h[u + 1 & 7], f ^= d ^ d >>> 10, d = h[u + 3 & 7], f ^= d ^ d >>> 3, d = h[u + 4 & 7], f ^= d ^ d << 7, d = h[u + 7 & 7], d = d ^ d << 13, f ^= d ^ d << 9, h[u] = f, l.i = u + 1 & 7, f; }; function c(h, u) { var d, f = []; if (u === (u | 0)) f[0] = u; else for (u = "" + u, d = 0; d < u.length; ++d) f[d & 7] = f[d & 7] << 15 ^ u.charCodeAt(d) + f[d + 1 & 7] << 13; for (; f.length < 8; ) f.push(0); for (d = 0; d < 8 && f[d] === 0; ++d) ; for (d == 8 ? f[7] = -1 : f[d], h.x = f, h.i = 0, d = 256; d > 0; --d) h.next(); } c(l, a); } function r(a, l) { return l.x = a.x.slice(), l.i = a.i, l; } function o(a, l) { a == null && (a = +/* @__PURE__ */ new Date()); var c = new s(a), h = l && l.state, u = function() { return (c.next() >>> 0) / 4294967296; }; return u.double = function() { do var d = c.next() >>> 11, f = (c.next() >>> 0) / 4294967296, p = (d + f) / (1 << 21); while (p === 0); return p; }, u.int32 = c.next, u.quick = u, h && (h.x && r(h, c), u.state = function() { return r(c, {}); }), u; } i && i.exports ? i.exports = o : n && n.amd ? n(function() { return o; }) : this.xorshift7 = o; })( _i, e, // present in node.js !1 // present with an AMD loader ); })(lp); var Io = {}, cp = { get exports() { return Io; }, set exports(e) { Io = e; } }; (function(e) { (function(t, i, n) { function s(a) { var l = this; l.next = function() { var h = l.w, u = l.X, d = l.i, f, p; return l.w = h = h + 1640531527 | 0, p = u[d + 34 & 127], f = u[d = d + 1 & 127], p ^= p << 13, f ^= f << 17, p ^= p >>> 15, f ^= f >>> 12, p = u[d] = p ^ f, l.i = d, p + (h ^ h >>> 16) | 0; }; function c(h, u) { var d, f, p, g, m, b = [], y = 128; for (u === (u | 0) ? (f = u, u = null) : (u = u + "\0", f = 0, y = Math.max(y, u.length)), p = 0, g = -32; g < y; ++g) u && (f ^= u.charCodeAt((g + 32) % u.length)), g === 0 && (m = f), f ^= f << 10, f ^= f >>> 15, f ^= f << 4, f ^= f >>> 13, g >= 0 && (m = m + 1640531527 | 0, d = b[g & 127] ^= f + m, p = d == 0 ? p + 1 : 0); for (p >= 128 && (b[(u && u.length || 0) & 127] = -1), p = 127, g = 4 * 128; g > 0; --g) f = b[p + 34 & 127], d = b[p = p + 1 & 127], f ^= f << 13, d ^= d << 17, f ^= f >>> 15, d ^= d >>> 12, b[p] = f ^ d; h.w = m, h.X = b, h.i = p; } c(l, a); } function r(a, l) { return l.i = a.i, l.w = a.w, l.X = a.X.slice(), l; } function o(a, l) { a == null && (a = +/* @__PURE__ */ new Date()); var c = new s(a), h = l && l.state, u = function() { return (c.next() >>> 0) / 4294967296; }; return u.double = function() { do var d = c.next() >>> 11, f = (c.next() >>> 0) / 4294967296, p = (d + f) / (1 << 21); while (p === 0); return p; }, u.int32 = c.next, u.quick = u, h && (h.X && r(h, c), u.state = function() { return r(c, {}); }), u; } i && i.exports ? i.exports = o : n && n.amd ? n(function() { return o; }) : this.xor4096 = o; })( _i, // window object or global e, // present in node.js !1 // present with an AMD loader ); })(cp); var No = {}, hp = { get exports() { return No; }, set exports(e) { No = e; } }; (function(e) { (function(t, i, n) { function s(a) { var l = this, c = ""; l.next = function() { var u = l.b, d = l.c, f = l.d, p = l.a; return u = u << 25 ^ u >>> 7 ^ d, d = d - f | 0, f = f << 24 ^ f >>> 8 ^ p, p = p - u | 0, l.b = u = u << 20 ^ u >>> 12 ^ d, l.c = d = d - f | 0, l.d = f << 16 ^ d >>> 16 ^ p, l.a = p - u | 0; }, l.a = 0, l.b = 0, l.c = -1640531527, l.d = 1367130551, a === Math.floor(a) ? (l.a = a / 4294967296 | 0, l.b = a | 0) : c += a; for (var h = 0; h < c.length + 20; h++) l.b ^= c.charCodeAt(h) | 0, l.next(); } function r(a, l) { return l.a = a.a, l.b = a.b, l.c = a.c, l.d = a.d, l; } function o(a, l) { var c = new s(a), h = l && l.state, u = function() { return (c.next() >>> 0) / 4294967296; }; return u.double = function() { do var d = c.next() >>> 11, f = (c.next() >>> 0) / 4294967296, p = (d + f) / (1 << 21); while (p === 0); return p; }, u.int32 = c.next, u.quick = u, h && (typeof h == "object" && r(h, c), u.state = function() { return r(c, {}); }), u; } i && i.exports ? i.exports = o : n && n.amd ? n(function() { return o; }) : this.tychei = o; })( _i, e, // present in node.js !1 // present with an AMD loader ); })(hp); var Bo = {}, up = { get exports() { return Bo; }, set exports(e) { Bo = e; } }; const dp = {}, fp = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ __proto__: null, default: dp }, Symbol.toStringTag, { value: "Module" })), pp = /* @__PURE__ */ sp(fp); (function(e) { (function(t, i, n) { var s = 256, r = 6, o = 52, a = "random", l = n.pow(s, r), c = n.pow(2, o), h = c * 2, u = s - 1, d; function f(w, _, x) { var $ = []; _ = _ == !0 ? { entropy: !0 } : _ || {}; var C = b(m( _.entropy ? [w, S(i)] : w ?? y(), 3 ), $), A = new p($), D = function() { for (var M = A.g(r), P = l, z = 0; M < c; ) M = (M + z) * s, P *= s, z = A.g(1); for (; M >= h; ) M /= 2, P /= 2, z >>>= 1; return (M + z) / P; }; return D.int32 = function() { return A.g(4) | 0; }, D.quick = function() { return A.g(4) / 4294967296; }, D.double = D, b(S(A.S), i), (_.pass || x || function(M, P, z, T) { return T && (T.S && g(T, A), M.state = function() { return g(A, {}); }), z ? (n[a] = M, P) : M; })( D, C, "global" in _ ? _.global : this == n, _.state ); } function p(w) { var _, x = w.length, $ = this, C = 0, A = $.i = $.j = 0, D = $.S = []; for (x || (w = [x++]); C < s; ) D[C] = C++; for (C = 0; C < s; C++) D[C] = D[A = u & A + w[C % x] + (_ = D[C])], D[A] = _; ($.g = function(M) { for (var P, z = 0, T = $.i, L = $.j, R = $.S; M--; ) P = R[T = u & T + 1], z = z * s + R[u & (R[T] = R[L = u & L + P]) + (R[L] = P)]; return $.i = T, $.j = L, z; })(s); } function g(w, _) { return _.i = w.i, _.j = w.j, _.S = w.S.slice(), _; } function m(w, _) { var x = [], $ = typeof w, C; if (_ && $ == "object") for (C in w) try { x.push(m(w[C], _ - 1)); } catch { } return x.length ? x : $ == "string" ? w : w + "\0"; } function b(w, _) { for (var x = w + "", $, C = 0; C < x.length; ) _[u & C] = u & ($ ^= _[u & C] * 19) + x.charCodeAt(C++); return S(_); } function y() { try { var w; return d && (w = d.randomBytes) ? w = w(s) : (w = new Uint8Array(s), (t.crypto || t.msCrypto).getRandomValues(w)), S(w); } catch { var _ = t.navigator, x = _ && _.plugins; return [+/* @__PURE__ */ new Date(), t, x, t.screen, S(i)]; } } function S(w) { return String.fromCharCode.apply(0, w); } if (b(n.random(), i), e.exports) { e.exports = f; try { d = pp; } catch { } } else n["seed" + a] = f; })( // global: `self` in browsers (including strict mode and web workers), // otherwise `this` in Node and other environments typeof self < "u" ? self : _i, [], // pool: entropy pool starts empty Math // math: package containing random, pow, and seedrandom ); })(up); var gp = zo, mp = Lo, bp = Ro, vp = Fo, yp = Io, xp = No, wi = Bo; wi.alea = gp; wi.xor128 = mp; wi.xorwow = bp; wi.xorshift7 = vp; wi.xor4096 = yp; wi.tychei = xp; var _p = wi, wp = _p, Vo = [ // Borrowed from xkcd password generator which borrowed it from wherever "ability", "able", "aboard", "about", "above", "accept", "accident", "according", "account", "accurate", "acres", "across", "act", "action", "active", "activity", "actual", "actually", "add", "addition", "additional", "adjective", "adult", "adventure", "advice", "affect", "afraid", "after", "afternoon", "again", "against", "age", "ago", "agree", "ahead", "aid", "air", "airplane", "alike", "alive", "all", "allow", "almost", "alone", "along", "aloud", "alphabet", "already", "also", "although", "am", "among", "amount", "ancient", "angle", "angry", "animal", "announced", "another", "answer", "ants", "any", "anybody", "anyone", "anything", "anyway", "anywhere", "apart", "apartment", "appearance", "apple", "applied", "appropriate", "are", "area", "arm", "army", "around", "arrange", "arrangement", "arrive", "arrow", "art", "article", "as", "aside", "ask", "asleep", "at", "ate", "atmosphere", "atom", "atomic", "attached", "attack", "attempt", "attention", "audience", "author", "automobile", "available", "average", "avoid", "aware", "away", "baby", "back", "bad", "badly", "bag", "balance", "ball", "balloon", "band", "bank", "bar", "bare", "bark", "barn", "base", "baseball", "basic", "basis", "basket", "bat", "battle", "be", "bean", "bear", "beat", "beautiful", "beauty", "became", "because", "become", "becoming", "bee", "been", "before", "began", "beginning", "begun", "behavior", "behind", "being", "believed", "bell", "belong", "below", "belt", "bend", "beneath", "bent", "beside", "best", "bet", "better", "between", "beyond", "bicycle", "bigger", "biggest", "bill", "birds", "birth", "birthday", "bit", "bite", "black", "blank", "blanket", "blew", "blind", "block", "blood", "blow", "blue", "board", "boat", "body", "bone", "book", "border", "born", "both", "bottle", "bottom", "bound", "bow", "bowl", "box", "boy", "brain", "branch", "brass", "brave", "bread", "break", "breakfast", "breath", "breathe", "breathing", "breeze", "brick", "bridge", "brief", "bright", "bring", "broad", "broke", "broken", "brother", "brought", "brown", "brush", "buffalo", "build", "building", "built", "buried", "burn", "burst", "bus", "bush", "business", "busy", "but", "butter", "buy", "by", "cabin", "cage", "cake", "call", "calm", "came", "camera", "camp", "can", "canal", "cannot", "cap", "capital", "captain", "captured", "car", "carbon", "card", "care", "careful", "carefully", "carried", "carry", "case", "cast", "castle", "cat", "catch", "cattle", "caught", "cause", "cave", "cell", "cent", "center", "central", "century", "certain", "certainly", "chain", "chair", "chamber", "chance", "change", "changing", "chapter", "character", "characteristic", "charge", "chart", "check", "cheese", "chemical", "chest", "chicken", "chief", "child", "children", "choice", "choose", "chose", "chosen", "church", "circle", "circus", "citizen", "city", "class", "classroom", "claws", "clay", "clean", "clear", "clearly", "climate", "climb", "clock", "close", "closely", "closer", "cloth", "clothes", "clothing", "cloud", "club", "coach", "coal", "coast", "coat", "coffee", "cold", "collect", "college", "colony", "color", "column", "combination", "combine", "come", "comfortable", "coming", "command", "common", "community", "company", "compare", "compass", "complete", "completely", "complex", "composed", "composition", "compound", "concerned", "condition", "congress", "connected", "consider", "consist", "consonant", "constantly", "construction", "contain", "continent", "continued", "contrast", "control", "conversation", "cook", "cookies", "cool", "copper", "copy", "corn", "corner", "correct", "correctly", "cost", "cotton", "could", "count", "country", "couple", "courage", "course", "court", "cover", "cow", "cowboy", "crack", "cream", "create", "creature", "crew", "crop", "cross", "crowd", "cry", "cup", "curious", "current", "curve", "customs", "cut", "cutting", "daily", "damage", "dance", "danger", "dangerous", "dark", "darkness", "date", "daughter", "dawn", "day", "dead", "deal", "dear", "death", "decide", "declared", "deep", "deeply", "deer", "definition", "degree", "depend", "depth", "describe", "desert", "design", "desk", "detail", "determine", "develop", "development", "diagram", "diameter", "did", "die", "differ", "difference", "different", "difficult", "difficulty", "dig", "dinner", "direct", "direction", "directly", "dirt", "dirty", "disappear", "discover", "discovery", "discuss", "discussion", "disease", "dish", "distance", "distant", "divide", "division", "do", "doctor", "does", "dog", "doing", "doll", "dollar", "done", "donkey", "door", "dot", "double", "doubt", "down", "dozen", "draw", "drawn", "dream", "dress", "drew", "dried", "drink", "drive", "driven", "driver", "driving", "drop", "dropped", "drove", "dry", "duck", "due", "dug", "dull", "during", "dust", "duty", "each", "eager", "ear", "earlier", "early", "earn", "earth", "easier", "easily", "east", "easy", "eat", "eaten", "edge", "education", "effect", "effort", "egg", "eight", "either", "electric", "electricity", "element", "elephant", "eleven", "else", "empty", "end", "enemy", "energy", "engine", "engineer", "enjoy", "enough", "enter", "entire", "entirely", "environment", "equal", "equally", "equator", "equipment", "escape", "especially", "essential", "establish", "even", "evening", "event", "eventually", "ever", "every", "everybody", "everyone", "everything", "everywhere", "evidence", "exact", "exactly", "examine", "example", "excellent", "except", "exchange", "excited", "excitement", "exciting", "exclaimed", "exercise", "exist", "expect", "experience", "experiment", "explain", "explanation", "explore", "express", "expression", "extra", "eye", "face", "facing", "fact", "factor", "factory", "failed", "fair", "fairly", "fall", "fallen", "familiar", "family", "famous", "far", "farm", "farmer", "farther", "fast", "fastened", "faster", "fat", "father", "favorite", "fear", "feathers", "feature", "fed", "feed", "feel", "feet", "fell", "fellow", "felt", "fence", "few", "fewer", "field", "fierce", "fifteen", "fifth", "fifty", "fight", "fighting", "figure", "fill", "film", "final", "finally", "find", "fine", "finest", "finger", "finish", "fire", "fireplace", "firm", "first", "fish", "five", "fix", "flag", "flame", "flat", "flew", "flies", "flight", "floating", "floor", "flow", "flower", "fly", "fog", "folks", "follow", "food", "foot", "football", "for", "force", "foreign", "forest", "forget", "forgot", "forgotten", "form", "former", "fort", "forth", "forty", "forward", "fought", "found", "four", "fourth", "fox", "frame", "free", "freedom", "frequently", "fresh", "friend", "friendly", "frighten", "frog", "from", "front", "frozen", "fruit", "fuel", "full", "fully", "fun", "function", "funny", "fur", "furniture", "further", "future", "gain", "game", "garage", "garden", "gas", "gasoline", "gate", "gather", "gave", "general", "generally", "gentle", "gently", "get", "getting", "giant", "gift", "girl", "give", "given", "giving", "glad", "glass", "globe", "go", "goes", "gold", "golden", "gone", "good", "goose", "got", "government", "grabbed", "grade", "gradually", "grain", "grandfather", "grandmother", "graph", "grass", "gravity", "gray", "great", "greater", "greatest", "greatly", "green", "grew", "ground", "group", "grow", "grown", "growth", "guard", "guess", "guide", "gulf", "gun", "habit", "had", "hair", "half", "halfway", "hall", "hand", "handle", "handsome", "hang", "happen", "happened", "happily", "happy", "harbor", "hard", "harder", "hardly", "has", "hat", "have", "having", "hay", "he", "headed", "heading", "health", "heard", "hearing", "heart", "heat", "heavy", "height", "held", "hello", "help", "helpful", "her", "herd", "here", "herself", "hidden", "hide", "high", "higher", "highest", "highway", "hill", "him", "himself", "his", "history", "hit", "hold", "hole", "hollow", "home", "honor", "hope", "horn", "horse", "hospital", "hot", "hour", "house", "how", "however", "huge", "human", "hundred", "hung", "hungry", "hunt", "hunter", "hurried", "hurry", "hurt", "husband", "ice", "idea", "identity", "if", "ill", "image", "imagine", "immediately", "importance", "important", "impossible", "improve", "in", "inch", "include", "including", "income", "increase", "indeed", "independent", "indicate", "individual", "industrial", "industry", "influence", "information", "inside", "instance", "instant", "instead", "instrument", "interest", "interior", "into", "introduced", "invented", "involved", "iron", "is", "island", "it", "its", "itself", "jack", "jar", "jet", "job", "join", "joined", "journey", "joy", "judge", "jump", "jungle", "just", "keep", "kept", "key", "kids", "kill", "kind", "kitchen", "knew", "knife", "know", "knowledge", "known", "label", "labor", "lack", "lady", "laid", "lake", "lamp", "land", "language", "large", "larger", "largest", "last", "late", "later", "laugh", "law", "lay", "layers", "lead", "leader", "leaf", "learn", "least", "leather", "leave", "leaving", "led", "left", "leg", "length", "lesson", "let", "letter", "level", "library", "lie", "life", "lift", "light", "like", "likely", "limited", "line", "lion", "lips", "liquid", "list", "listen", "little", "live", "living", "load", "local", "locate", "location", "log", "lonely", "long", "longer", "look", "loose", "lose", "loss", "lost", "lot", "loud", "love", "lovely", "low", "lower", "luck", "lucky", "lunch", "lungs", "lying", "machine", "machinery", "mad", "made", "magic", "magnet", "mail", "main", "mainly", "major", "make", "making", "man", "managed", "manner", "manufacturing", "many", "map", "mark", "market", "married", "mass", "massage", "master", "material", "mathematics", "matter", "may", "maybe", "me", "meal", "mean", "means", "meant", "measure", "meat", "medicine", "meet",