@rhinostone/swig 2.8.2 → 2.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/HISTORY.md +5 -0
- package/README.md +4 -16
- package/ROADMAP.md +5 -0
- package/dist/swig.js +8 -8
- package/dist/swig.min.js +2 -2
- package/dist/swig.min.js.map +1 -1
- package/dist/swig.runtime.js +2 -2
- package/dist/swig.runtime.min.js +2 -2
- package/lib/runtime.js +1 -1
- package/lib/swig.js +1 -1
- package/lib/tags/include.js +1 -1
- package/package.json +2 -2
package/HISTORY.md
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
[2.8.3](https://github.com/gina-io/swig/tree/v2.8.3) / 2026-10-21
|
|
2
|
+
-----------------------------------------------------------------
|
|
3
|
+
|
|
4
|
+
* **Security** The template compiler now escapes the including template filename (resolveFrom) before writing it into the compiled function body, so a double quote in a filename option can no longer break out of the generated string literal (GHSA-q89c). Escaping is centralized in the code generator, which also fixes a latent broken-JS bug for backslash paths through import, from and extends.
|
|
5
|
+
|
|
1
6
|
[2.8.2](https://github.com/gina-io/swig/tree/v2.8.2) / 2026-10-20
|
|
2
7
|
-----------------------------------------------------------------
|
|
3
8
|
|
package/README.md
CHANGED
|
@@ -43,24 +43,12 @@ Features
|
|
|
43
43
|
* Robust without the bloat — a single runtime dependency ([`@rhinostone/swig-core`](https://www.npmjs.com/package/@rhinostone/swig-core)).
|
|
44
44
|
* Extendable and customizable — register custom filters, tags, and loaders per-instance.
|
|
45
45
|
|
|
46
|
-
What's new in v2.8.
|
|
46
|
+
What's new in v2.8.3
|
|
47
47
|
--------------------
|
|
48
48
|
|
|
49
|
-
> **
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
* **Security — swig-jinja2 `wordwrap` no longer hangs on a width below 1.** A width of 0 or less, as a number or as a string such as `"0"`, ran for four to six seconds and took more than 2 GB of memory before a RangeError; it now returns the input unchanged (Jinja2 raises). A width between 0 and 1 now breaks one character at a time, as Python does. Every swig-jinja2 release since 2.5.0 has the hang.
|
|
54
|
-
* **Security — swig-twig ranges no longer hang on an infinite bound.** `a..b` with a bound of Infinity looped until the array overflowed, taking up to about three seconds and more than 2 GB of memory before a RangeError; the range is now empty, as it already was for NaN. Every release since 2.0.0-alpha.5 has the hang.
|
|
55
|
-
* **Fixed — parenthesized sub-expressions keep their grouping, in every flavor.** Since 2.0.0-alpha.2 a group whose operator binds more loosely than the operator outside it was evaluated wrongly (`{{ (1 + 2) * 3 }}` rendered 7, and `{% if (x or y) and z %}` took its branch with x true and z false), as were a comparison grouped inside a comparison and a subscript on a `+` group, and `{{ -(-x) }}` failed to compile. Groups that JavaScript reads the same way, `not (…)`, `-(…)` and a group followed by a filter were not affected.
|
|
56
|
-
* **Fixed — swig-jinja2 expressions follow Jinja2's precedence.** A unary minus applies before the filters and the `**` that follow it (`-2 ** 2` is 4); `**` reads from the left (`2 ** 3 ** 2` is 64); a test binds to the operand next to it (`{{ 1 + 2 is number }}` tests 2, and `not x is defined` negates the test) and takes one argument without parentheses (`x is divisibleby 3`); and `not` sits below the comparisons and arithmetic (`not x == y` is `not (x == y)`).
|
|
57
|
-
* **Fixed — swig-jinja2 tests.** `lower` and `upper` need a cased letter, `odd` follows Python's `n % 2 == 1`, and `number` accepts NaN, as in Jinja2.
|
|
58
|
-
* **Fixed — swig-jinja2 filters follow Jinja2.** `first`, `last`, `reverse`, `unique`, `min`, `max` and `slice` use a mapping's keys; `batch` starts a row at exactly `size` items and batches a string by its characters; `sort` of a string returns its sorted characters; `replace` converts a number first and handles an empty search string and a negative count as Python does; `format` prints `%e` with at least two exponent digits and `%g` as Python does; and `wordwrap` keeps the separating space when a line is exactly full.
|
|
59
|
-
* **Fixed — swig-django filters follow Django.** `join` joins a string's characters and a mapping's keys; `pluralize` reads a boolean, a string and a mapping as Django does; `truncatechars` and `truncatewords` return the empty string for a count of 0 or less and the value unchanged for a count that Python's `int()` rejects.
|
|
60
|
-
* **Fixed — the shared engine, in all four frontends.** An async-mode compile no longer shares its cache entry with a sync compile of the same file (a sync include of such a file rendered `[object Promise]`); an error raised while a template compiles is reported when no options object is passed, instead of a TypeError, and names its file once; and the `varControls`, `tagControls` and `cmtControls` options reject a control that is not a string, with the open and close controls named the right way round.
|
|
61
|
-
* **Fixed — guard messages and version exports.** The prototype-chain guards' messages end with `(prototype-chain guard)`, and `swig-core`, `swig-twig`, `swig-jinja2` and `swig-django` export their `version`, as `swig` always has.
|
|
62
|
-
* **Fixed — documentation.** SECURITY.md names 2.8.x as the supported line; the issue and pull-request templates no longer open with the original project's "no longer maintained" notice; and the README says that `compileFile` needs `codegenMode: 'async'` for an async loader, that its compiled function then returns a promise of `{ output, exports }`, and how to port `not in` to native swig; the swig-jinja2 and swig-django READMEs lead with `renderFile` against an async loader.
|
|
63
|
-
* **Changed — development only.** The `globals` dev dependency moves to 17.x; `make lint` reports the same clean result.
|
|
49
|
+
> **Security.** If your application passes untrusted data as the `filename` option to `render`, `compile`, `precompile`, `renderFile` or `compileFile` (or a flavor equivalent), upgrade to `2.8.3`.
|
|
50
|
+
|
|
51
|
+
* **Security — the compiled template escapes the including filename (GHSA-q89c).** The code generator now escapes a template's filename (`resolveFrom`) before writing it into the compiled function body, so a double quote in a `filename` option can no longer break out of the generated string literal. The escape is centralized in the generator, which also fixes a latent broken-JS bug for backslash paths through `import`, `from` and `extends`.
|
|
64
52
|
|
|
65
53
|
See the full [HISTORY.md](./HISTORY.md) and [ROADMAP.md](./ROADMAP.md).
|
|
66
54
|
|
package/ROADMAP.md
CHANGED
|
@@ -27,6 +27,11 @@ For bug reports and feature requests, file an issue at [gina-io/swig](https://gi
|
|
|
27
27
|
|
|
28
28
|
## Completed
|
|
29
29
|
|
|
30
|
+
### v2.8.3 (October 2026)
|
|
31
|
+
|
|
32
|
+
- Security: the template compiler escapes the including template's filename before writing it into the compiled function body, so a double quote in a `filename` option can no longer break out of the generated string literal (GHSA-q89c). Escaping is centralized in the code generator, which also fixes a latent broken-JS bug for backslash paths through `import`, `from` and `extends`.
|
|
33
|
+
- All five packages released in lockstep at `2.8.3`.
|
|
34
|
+
|
|
30
35
|
### v2.8.2 (October 2026)
|
|
31
36
|
|
|
32
37
|
- Fixed two hangs that request data can reach. swig-jinja2's `wordwrap` with a width below 1, as a number or as a string such as `"0"`, ran for four to six seconds and took more than 2 GB of memory before a RangeError; it now returns the input unchanged, and a width between 0 and 1 breaks one character at a time. swig-twig's `a..b` with an infinite bound, which plain JSON produces for a number such as `1e999`, looped until the array overflowed; the range is now empty.
|
package/dist/swig.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! Swig v2.8.
|
|
1
|
+
/*! Swig v2.8.3 | https://github.com/gina-io/swig | @license https://github.com/gina-io/swig/blob/master/LICENSE */
|
|
2
2
|
/*! DateZ (c) 2011 Tomo Universalis | @license https://github.com/tn0ms/DateZ/blob/master/LISENCE */
|
|
3
3
|
(() => {
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -1618,7 +1618,7 @@
|
|
|
1618
1618
|
} else {
|
|
1619
1619
|
incSelector = "_utils.extend({}, _ctx, " + incCtxJS + ")";
|
|
1620
1620
|
}
|
|
1621
|
-
out += (node.ignoreMissing ? " try {\n" : "") + "_output += _swig.compileFile(" + incPathJS + ', {resolveFrom: "' + node.resolveFrom + '"})(' + incSelector + ");\n" + (node.ignoreMissing ? "} catch (e) {}\n" : "");
|
|
1621
|
+
out += (node.ignoreMissing ? " try {\n" : "") + "_output += _swig.compileFile(" + incPathJS + ', {resolveFrom: "' + escapeTextValue(node.resolveFrom || "") + '"})(' + incSelector + ");\n" + (node.ignoreMissing ? "} catch (e) {}\n" : "");
|
|
1622
1622
|
return;
|
|
1623
1623
|
}
|
|
1624
1624
|
if (node.type === "IncludeDeferred") {
|
|
@@ -1643,7 +1643,7 @@
|
|
|
1643
1643
|
} else {
|
|
1644
1644
|
incdSelector = "_utils.extend({}, _ctx, " + incdCtxJS + ")";
|
|
1645
1645
|
}
|
|
1646
|
-
var incdOpts = '{resolveFrom: "' + (node.resolveFrom || "") + '"}';
|
|
1646
|
+
var incdOpts = '{resolveFrom: "' + escapeTextValue(node.resolveFrom || "") + '"}';
|
|
1647
1647
|
out += (node.ignoreMissing ? " try {\n" : "") + "_output += (await (await _swig.getTemplate(" + incdPathJS + ", " + incdOpts + "))(" + incdSelector + ")).output;\n" + (node.ignoreMissing ? "} catch (e) {}\n" : "");
|
|
1648
1648
|
return;
|
|
1649
1649
|
}
|
|
@@ -1657,7 +1657,7 @@
|
|
|
1657
1657
|
} else {
|
|
1658
1658
|
impdPathJS = node.path;
|
|
1659
1659
|
}
|
|
1660
|
-
var impdOpts = '{resolveFrom: "' + (node.resolveFrom || "") + '"}';
|
|
1660
|
+
var impdOpts = '{resolveFrom: "' + escapeTextValue(node.resolveFrom || "") + '"}';
|
|
1661
1661
|
out += "_ctx." + node.alias + " = (await (await _swig.getTemplate(" + impdPathJS + ", " + impdOpts + "))(_ctx)).exports;\n";
|
|
1662
1662
|
return;
|
|
1663
1663
|
}
|
|
@@ -1678,7 +1678,7 @@
|
|
|
1678
1678
|
} else {
|
|
1679
1679
|
fromdPathJS = node.path;
|
|
1680
1680
|
}
|
|
1681
|
-
var fromdOpts = '{resolveFrom: "' + (node.resolveFrom || "") + '"}';
|
|
1681
|
+
var fromdOpts = '{resolveFrom: "' + escapeTextValue(node.resolveFrom || "") + '"}';
|
|
1682
1682
|
var fromdBindings = "";
|
|
1683
1683
|
utils.each(fromdImports, function(entry) {
|
|
1684
1684
|
var bindName = entry.alias || entry.name;
|
|
@@ -1715,7 +1715,7 @@
|
|
|
1715
1715
|
} else {
|
|
1716
1716
|
extPathJS = node.path;
|
|
1717
1717
|
}
|
|
1718
|
-
var extOpts = '{resolveFrom: "' + (node.resolveFrom || "") + '"}';
|
|
1718
|
+
var extOpts = '{resolveFrom: "' + escapeTextValue(node.resolveFrom || "") + '"}';
|
|
1719
1719
|
out += "var _parentTpl = await _swig.getTemplate(" + extPathJS + ", " + extOpts + ");\n";
|
|
1720
1720
|
out += "var _parentResult = await _parentTpl(_ctx, _mergedBlocks);\n";
|
|
1721
1721
|
out += "_output = _parentResult.output;\n";
|
|
@@ -3327,7 +3327,7 @@
|
|
|
3327
3327
|
var missing = "missing";
|
|
3328
3328
|
var only = "only";
|
|
3329
3329
|
exports.compile = function(compiler, args, content, parents, options, blockName, token) {
|
|
3330
|
-
var file = args.shift(), onlyIdx = args.indexOf(only), onlyCtx = onlyIdx !== -1 ? args.splice(onlyIdx, 1) : false, parentFile =
|
|
3330
|
+
var file = args.shift(), onlyIdx = args.indexOf(only), onlyCtx = onlyIdx !== -1 ? args.splice(onlyIdx, 1) : false, parentFile = args.pop() || "", ignoreMissing = args[args.length - 1] === missing ? args.pop() : false, w = args.join("");
|
|
3331
3331
|
if (token && token.irExpr) {
|
|
3332
3332
|
file = token.irExpr.file;
|
|
3333
3333
|
if (token.irExpr.context !== void 0) {
|
|
@@ -4822,7 +4822,7 @@
|
|
|
4822
4822
|
var loaders = require_loaders2();
|
|
4823
4823
|
var preWalker = require_pre_walker();
|
|
4824
4824
|
var engine = require_engine();
|
|
4825
|
-
exports.version = "2.8.
|
|
4825
|
+
exports.version = "2.8.3";
|
|
4826
4826
|
var defaultOptions = {
|
|
4827
4827
|
autoescape: true,
|
|
4828
4828
|
varControls: ["{{", "}}"],
|
package/dist/swig.min.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/*! Swig v2.8.
|
|
1
|
+
/*! Swig v2.8.3 | https://github.com/gina-io/swig | @license https://github.com/gina-io/swig/blob/master/LICENSE */
|
|
2
2
|
/*! DateZ (c) 2011 Tomo Universalis | @license https://github.com/tn0ms/DateZ/blob/master/LISENCE */
|
|
3
|
-
(()=>{var e=Object.getOwnPropertyNames,t=(t,r)=>function(){try{return r||(0,t[e(t)[0]])((r={exports:{}}).exports,r),r.exports}catch(e){throw r=0,e}},r=t({"packages/swig-core/lib/security.js"(e){e.dangerousProps=["__proto__","constructor","prototype"]}}),n=t({"packages/swig-core/lib/utils.js"(e){var t,n=r();function o(e,t){var r;if(null!=e&&-1===n.dangerousProps.indexOf(t)){if("function"==typeof(r=e[t])){if(!0===r.alters_data)return;if(!0===r.do_not_call_in_templates)return r;try{return r.call(e)}catch(e){return}}return r}}e.strip=function(e){return e.replace(/^\s+|\s+$/g,"")},e.startsWith=function(e,t){return 0===e.indexOf(t)},e.endsWith=function(e,t){return-1!==e.indexOf(t,e.length-t.length)},e.each=function(e,r){var n,o;if(t(e))for(n=0,o=e.length;n<o&&!1!==r(e[n],n,e);n+=1);else for(n in e)if(e.hasOwnProperty(n)&&!1===r(e[n],n,e))break;return e},e.isArray=t=Array.hasOwnProperty("isArray")?Array.isArray:function(e){return!!e&&("object"==typeof e&&-1!==Object.prototype.toString.call(e).indexOf())},e.some=function(r,n){var o,a,i=0;if(t(r))for(a=r.length;i<a&&!(o=n(r[i],i,r));i+=1);else e.each(r,function(e,t){return!(o=n(e,t,r))});return!!o},e.map=function(e,r){var n,o=0,a=[];if(t(e))for(n=e.length;o<n;o+=1)a[o]=r(e[o],o);else for(o in e)e.hasOwnProperty(o)&&(a[o]=r(e[o],o));return a},e.extend=function(){for(var e,t,r=arguments,n=r[0],o=r.length>1?Array.prototype.slice.call(r,1):[],a=0,i=o.length;a<i;a+=1)for(e in t=o[a]||{})t.hasOwnProperty(e)&&(n[e]=t[e]);return n},e.keys=function(t){return t?Object.keys?Object.keys(t):e.map(t,function(e,t){return t}):[]},e.throwError=function(e,t,r){throw t&&(e+=" on line "+t),r&&(e+=" in file "+r),new Error(e+".")},e.range=function(e,t){var r,n,o,a=[];if("number"==typeof e&&"number"==typeof t){if(!isFinite(e)||!isFinite(t))return a;if(e<=t)for(r=e;r<=t;r+=1)a.push(r);else for(r=e;r>=t;r-=1)a.push(r);return a}if("string"==typeof e&&"string"==typeof t&&1===e.length&&1===t.length){if((n=e.charCodeAt(0))<=(o=t.charCodeAt(0)))for(r=n;r<=o;r+=1)a.push(String.fromCharCode(r));else for(r=n;r>=o;r-=1)a.push(String.fromCharCode(r));return a}return a},e.slice=function(e,t,r,n){var o,a,i,s,c,l,p="string"==typeof e,u=[];function f(e){return e=Number(e),isNaN(e)?NaN:e<0?Math.ceil(e):Math.floor(e)}function h(e,t){return null==e?t:(e=f(e),isNaN(e)?t:(e<0?(e+=o)<a&&(e=a):e>i&&(e=i),e))}if(null==e||"number"!=typeof e.length)return p?"":[];if(o=e.length,null==n?n=1:(n=f(n),(isNaN(n)||0===n)&&(n=1)),n<0?(a=-1,i=o-1):(a=0,i=o),s=h(t,n<0?i:a),c=h(r,n<0?a:i),n>0)for(l=s;l<c;l+=n)u.push(e[l]);else for(l=s;l>c;l+=n)u.push(e[l]);return p?u.join(""):u},e.coerceOutput=function(e){return null==e?"":e},e.resolve=function(e,t){var r,n=e;for(r=0;r<t.length;r+=1)if(null==(n=o(n,t[r])))return n;return n}}}),o=t({"lib/utils.js"(e,t){t.exports=n()}}),a=t({"packages/swig-core/lib/ir.js"(e){function t(e,t){return void 0!==t&&(e.loc=t),e}e.template=function(e,r,n,o){var a={type:"Template",body:e};return void 0!==r&&(a.parent=r),void 0!==n&&(a.blocks=n),t(a,o)},e.text=function(e,r){return t({type:"Text",value:e},r)},e.output=function(e,r,n,o){var a={type:"Output",expr:e};return void 0!==r&&(a.filters=r),void 0!==n&&(a.safe=n),t(a,o)},e.filterCall=function(e,t){var r={name:e};return void 0!==t&&(r.args=t),r},e.ifStmt=function(e,r){return t({type:"If",branches:e},r)},e.ifBranch=function(e,t){return{test:e,body:t}},e.forStmt=function(e,r,n,o,a,i){var s={type:"For",value:e,iterable:r,body:n};return void 0!==o&&(s.key=o),void 0!==a&&(s.emptyBody=a),t(s,i)},e.block=function(e,r,n){return t({type:"Block",name:e,body:r},n)},e.include=function(e,r,n,o,a,i){var s={type:"Include",path:e};return void 0!==r&&(s.context=r),void 0!==n&&(s.isolated=n),void 0!==o&&(s.ignoreMissing=o),void 0!==a&&(s.resolveFrom=a),t(s,i)},e.importStmt=function(e,r,n){return t({type:"Import",path:e,alias:r},n)},e.macro=function(e,r,n,o){return t({type:"Macro",name:e,params:r,body:n},o)},e.macroParam=function(e,t){var r={name:e};return void 0!==t&&(r.default=t),r},e.call=function(e,r,n){return t({type:"Call",callee:e,args:r},n)},e.set=function(e,r,n,o){return t({type:"Set",target:e,op:r,value:n},o)},e.raw=function(e,r){return t({type:"Raw",value:e},r)},e.parent=function(e,r){var n={type:"Parent"};return void 0!==e&&(n.body=e),t(n,r)},e.autoescape=function(e,r,n){return t({type:"Autoescape",strategy:e,body:r},n)},e.filter=function(e,r,n,o){var a={type:"Filter",name:e,body:r};return void 0!==n&&(a.args=n),t(a,o)},e.withStmt=function(e,r,n,o){var a={type:"With",body:n};return void 0!==e&&(a.context=e),void 0!==r&&(a.isolated=r),t(a,o)},e.legacyJS=function(e,r){return t({type:"LegacyJS",js:e},r)},e.extendsDeferred=function(e,r,n,o,a){var i={type:"ExtendsDeferred",path:e};return void 0!==r&&(i.childBlocks=r),void 0!==n&&(i.childIRs=n),void 0!==o&&(i.resolveFrom=o),t(i,a)},e.includeDeferred=function(e,r,n,o,a,i){var s={type:"IncludeDeferred",path:e};return void 0!==r&&(s.context=r),void 0!==n&&(s.isolated=n),void 0!==o&&(s.ignoreMissing=o),void 0!==a&&(s.resolveFrom=a),t(s,i)},e.importDeferred=function(e,r,n,o){var a={type:"ImportDeferred",path:e,alias:r};return void 0!==n&&(a.resolveFrom=n),t(a,o)},e.fromImportDeferred=function(e,r,n,o){var a={type:"FromImportDeferred",path:e,imports:r};return void 0!==n&&(a.resolveFrom=n),t(a,o)},e.literal=function(e,r,n){return t({type:"Literal",kind:e,value:r},n)},e.varRef=function(e,r){return t({type:"VarRef",path:e},r)},e.varRefExists=function(e,r){return t({type:"VarRefExists",path:e},r)},e.access=function(e,r,n){return t({type:"Access",object:e,key:r},n)},e.binaryOp=function(e,r,n,o){return t({type:"BinaryOp",op:e,left:r,right:n},o)},e.unaryOp=function(e,r,n){return t({type:"UnaryOp",op:e,operand:r},n)},e.conditional=function(e,r,n,o){var a={type:"Conditional",test:e,then:r};return a.else=n,t(a,o)},e.arrayLiteral=function(e,r){return t({type:"ArrayLiteral",elements:e},r)},e.objectLiteral=function(e,r){return t({type:"ObjectLiteral",properties:e},r)},e.objectProperty=function(e,t){return{key:e,value:t}},e.fnCall=function(e,r,n){return t({type:"FnCall",callee:e,args:r},n)},e.filterCallExpr=function(e,r,n,o){var a={type:"FilterCall",name:e,input:r};return void 0!==n&&(a.args=n),t(a,o)}}}),i=t({"lib/tags/autoescape.js"(e){var t=o(),r=a(),n=["html","js"];e.compile=function(e,t,n,o,a,i){var s=e(n,o,a,i);return r.autoescape(function(e){if("true"===e)return!0;if("false"===e)return!1;if("string"==typeof e&&e.length>=2){var t=e.charAt(0),r=e.charAt(e.length-1);if('"'===t&&'"'===r||"'"===t&&"'"===r)return e.slice(1,-1)}return e}(t[0]),[r.legacyJS(s)])},e.parse=function(e,r,o,a,i,s){var c;return o.on("*",function(e){if(!c&&(e.type===a.BOOL||e.type===a.STRING&&-1===n.indexOf(e.match)))return this.out.push(e.match),void(c=!0);t.throwError('Unexpected token "'+e.match+'" in autoescape tag',r,s.filename)}),!0},e.ends=!0}}),s=t({"lib/tags/block.js"(e){var t=a();e.compile=function(e,r,n,o,a){var i=r.join("");return t.block(i,[t.legacyJS(e(n,o,a,i))])},e.parse=function(e,t,r){return r.on("*",function(e){this.out.push(e.match)}),!0},e.ends=!0,e.block=!0}}),c=t({"lib/tags/else.js"(e){e.compile=function(){return"} else {\n"},e.parse=function(e,t,r,n,o){return r.on("*",function(e){throw new Error('"else" tag does not accept any tokens. Found "'+e.match+'" on line '+t+".")}),o.length&&"if"===o[o.length-1].name}}}),l=t({"packages/swig-core/lib/tokentypes.js"(e,t){t.exports={WHITESPACE:0,STRING:1,FILTER:2,FILTEREMPTY:3,FUNCTION:4,FUNCTIONEMPTY:5,PARENOPEN:6,PARENCLOSE:7,COMMA:8,VAR:9,NUMBER:10,OPERATOR:11,BRACKETOPEN:12,BRACKETCLOSE:13,DOTKEY:14,ARRAYOPEN:15,CURLYOPEN:17,CURLYCLOSE:18,COLON:19,COMPARATOR:20,LOGIC:21,NOT:22,BOOL:23,ASSIGNMENT:24,METHODOPEN:25,QMARK:27,UNKNOWN:100}}}),p=t({"lib/tags/if.js"(e){var t=a(),r=l();e.compile=function(e,r,n,o,a,i,s){var c,l,p=[],u=s&&s.irExpr?s.irExpr:t.legacyJS(r.join(" ")),f=[];for(c=0;c<n.length;c++)!(l=n[c])||"elseif"!==l.name&&"else"!==l.name?f.push(l):(p.push(t.ifBranch(u,[t.legacyJS(e(f,o,a,i))])),u="else"===l.name?null:l.irExpr?l.irExpr:t.legacyJS(l.args.join(" ")),f=[]);return p.push(t.ifBranch(u,[t.legacyJS(e(f,o,a,i))])),t.ifStmt(p)},e.lowerExpr=function(e,t){var n;for(n=0;n<t.length;n++)if(t[n].type===r.FILTER||t[n].type===r.FILTEREMPTY)return;return e.parseExpr(t)},e.parse=function(e,t,r,n){if(void 0===e)throw new Error("No conditional statement provided on line "+t+".");return r.on(n.COMPARATOR,function(e){if(this.isLast)throw new Error('Unexpected logic "'+e.match+'" on line '+t+".");if(this.prevToken.type===n.NOT)throw new Error('Attempted logic "not '+e.match+'" on line '+t+". Use !(foo "+e.match+") instead.");this.out.push(e.match),this.filterApplyIdx.push(this.out.length)}),r.on(n.NOT,function(e){if(this.isLast)throw new Error('Unexpected logic "'+e.match+'" on line '+t+".");this.out.push(e.match)}),r.on(n.BOOL,function(e){this.out.push(e.match)}),r.on(n.LOGIC,function(e){if(!this.out.length||this.isLast)throw new Error('Unexpected logic "'+e.match+'" on line '+t+".");this.out.push(e.match),this.filterApplyIdx.pop()}),!0},e.ends=!0}}),u=t({"lib/tags/elseif.js"(e){var t=p().parse,r=l();e.compile=function(e,t){return"} else if ("+t.join(" ")+") {\n"},e.lowerExpr=function(e,t){var n;for(n=0;n<t.length;n++)if(t[n].type===r.FILTER||t[n].type===r.FILTEREMPTY)return;return e.parseExpr(t)},e.parse=function(e,r,n,o,a){return t(e,r,n,o,a)&&a.length&&"if"===a[a.length-1].name}}}),f=t({"lib/tags/extends.js"(e){var t=l();e.compile=function(){},e.parse=function(){return!0},e.lowerExpr=function(e,r){var n,o,a=[];for(n=0;n<r.length;n+=1)(o=r[n]).type!==t.WHITESPACE&&a.push(o);if(a.length&&(1!==a.length||a[0].type!==t.STRING))return{file:e.parseExpr(r)}},e.ends=!1}}),h=t({"packages/swig-core/lib/dateformatter.js"(e){var t=n(),r={full:["January","February","March","April","May","June","July","August","September","October","November","December"],abbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]},o={full:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],abbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],alt:{"-1":"Yesterday",0:"Today",1:"Tomorrow"}};e.tzOffset=0,e.DateZ=function(){var r=["getUTCDate","getUTCDay","getUTCFullYear","getUTCHours","getUTCMilliseconds","getUTCMinutes","getUTCMonth","getUTCSeconds","toISOString","toGMTString","toUTCString","valueOf","getTime"],n=["getDate","getDay","getFullYear","getHours","getMilliseconds","getMinutes","getMonth","getSeconds","getYear","toDateString","toLocaleDateString","toLocaleTimeString"],o=this;o.date=o.dateZ=arguments.length>1?new Date(Date.UTC.apply(Date,arguments)+6e4*(new Date).getTimezoneOffset()):1===arguments.length?new Date(new Date(arguments[0])):new Date,o.timezoneOffset=o.dateZ.getTimezoneOffset(),t.each(n,function(e){o[e]=function(){return o.dateZ[e]()}}),t.each(r,function(e){o[e]=function(){return o.date[e]()}}),this.setTimezoneOffset(e.tzOffset)},e.DateZ.prototype={getTimezoneOffset:function(){return this.timezoneOffset},setTimezoneOffset:function(e){return this.timezoneOffset=e,this.dateZ=new Date(this.date.getTime()+6e4*this.date.getTimezoneOffset()-6e4*this.timezoneOffset),this}},e.d=function(e){return(e.getDate()<10?"0":"")+e.getDate()},e.D=function(e){return o.abbr[e.getDay()]},e.j=function(e){return e.getDate()},e.l=function(e){return o.full[e.getDay()]},e.N=function(e){var t=e.getDay();return t>=1?t:7},e.S=function(e){var t=e.getDate();return t%10==1&&11!==t?"st":t%10==2&&12!==t?"nd":t%10==3&&13!==t?"rd":"th"},e.w=function(e){return e.getDay()},e.z=function(t,r,n){var o=t.getFullYear(),a=new e.DateZ(o,t.getMonth(),t.getDate(),12,0,0),i=new e.DateZ(o,0,1,12,0,0);return a.setTimezoneOffset(r,n),i.setTimezoneOffset(r,n),Math.round((a-i)/864e5)},e.W=function(e){var t,r=new Date(e.valueOf()),n=(e.getDay()+6)%7;return r.setDate(r.getDate()-n+3),t=r.valueOf(),r.setMonth(0,1),4!==r.getDay()&&r.setMonth(0,1+(4-r.getDay()+7)%7),1+Math.ceil((t-r)/6048e5)},e.F=function(e){return r.full[e.getMonth()]},e.m=function(e){return(e.getMonth()<9?"0":"")+(e.getMonth()+1)},e.M=function(e){return r.abbr[e.getMonth()]},e.n=function(e){return e.getMonth()+1},e.t=function(e){return 32-new Date(e.getFullYear(),e.getMonth(),32).getDate()},e.L=function(e){return 29===new Date(e.getFullYear(),1,29).getDate()},e.o=function(e){var t=new Date(e.valueOf());return t.setDate(t.getDate()-(e.getDay()+6)%7+3),t.getFullYear()},e.Y=function(e){return e.getFullYear()},e.y=function(e){return e.getFullYear().toString().substr(2)},e.a=function(e){return e.getHours()<12?"am":"pm"},e.A=function(e){return e.getHours()<12?"AM":"PM"},e.B=function(e){var t,r=e.getUTCHours();return r=23===r?0:r+1,t=Math.abs((60*(60*r+e.getUTCMinutes())+e.getUTCSeconds())/86.4).toFixed(0),"000".concat(t).slice(t.length)},e.g=function(e){var t=e.getHours();return 0===t?12:t>12?t-12:t},e.G=function(e){return e.getHours()},e.h=function(e){var t=e.getHours();return(t<10||12<t&&22>t?"0":"")+(t<12?t:t-12)},e.H=function(e){var t=e.getHours();return(t<10?"0":"")+t},e.i=function(e){var t=e.getMinutes();return(t<10?"0":"")+t},e.s=function(e){var t=e.getSeconds();return(t<10?"0":"")+t},e.O=function(e){var t=e.getTimezoneOffset();return(t<0?"-":"+")+(t/60<10?"0":"")+Math.abs(t/60)+"00"},e.Z=function(e){return 60*e.getTimezoneOffset()},e.c=function(e){return e.toISOString()},e.r=function(e){return e.toUTCString()},e.U=function(e){return e.getTime()/1e3}}}),d=t({"lib/dateformatter.js"(e,t){t.exports=h()}}),y=t({"packages/swig-core/lib/filters.js"(e){var t=n();e.iterateFilter=function(e){var r=this,n={};return t.isArray(e)?t.map(e,function(e){return r.apply(null,arguments)}):"object"==typeof e?(t.each(e,function(e,t){n[t]=r.apply(null,arguments)}),n):void 0}}}),g=t({"lib/filters.js"(e){var t=o(),r=d(),n=y().iterateFilter;function a(e){return"<"===e?"<":">"===e?">":'"'===e?""":"'"}e.addslashes=function(t){var r=n.apply(e.addslashes,arguments);return void 0!==r?r:t.replace(/\\/g,"\\\\").replace(/\'/g,"\\'").replace(/\"/g,'\\"')},e.capitalize=function(t){var r=n.apply(e.capitalize,arguments);return void 0!==r?r:t.toString().charAt(0).toUpperCase()+t.toString().substr(1).toLowerCase()},e.date=function(e,t,n,o){var a,i=t.length,s=new r.DateZ(e),c=0,l="";for(n&&s.setTimezoneOffset(n,o);c<i;c+=1)"\\"===(a=t.charAt(c))?l+=(c+=1)<i?t.charAt(c):a:r.hasOwnProperty(a)?l+=r[a](s,n,o):l+=a;return l},e.default=function(e,t){return void 0===e||!e&&"number"!=typeof e?t:e},e.escape=function(t,r){var o,i,s,c,l;if(null==t)return t;if("string"!==(o=typeof t))return"object"===o&&void 0!==(s=n.apply(e.escape,arguments))?s:t;if("js"===r){for(i=t.replace(/\\/g,"\\u005C"),s="",c=0;c<i.length;c+=1)s+=(l=i.charCodeAt(c))<32?"\\u00"+(l=(l=l.toString(16).toUpperCase()).length<2?"0"+l:l):i[c];return s.replace(/&/g,"\\u0026").replace(/</g,"\\u003C").replace(/>/g,"\\u003E").replace(/\'/g,"\\u0027").replace(/"/g,"\\u0022").replace(/\=/g,"\\u003D").replace(/-/g,"\\u002D").replace(/;/g,"\\u003B")}return t.replace(/&(?!amp;|lt;|gt;|quot;|#39;)/g,"&").replace(/[<>"']/g,a)},e.e=e.escape,e.first=function(e){return"object"!=typeof e||t.isArray(e)?"string"==typeof e?e.substr(0,1):e[0]:e[t.keys(e)[0]]},e.groupBy=function(e,r){if(!t.isArray(e))return e;var n={};return t.each(e,function(e){if(e.hasOwnProperty(r)){var o=e[r],a=t.extend({},e);delete a[r],n[o]||(n[o]=[]),n[o].push(a)}}),n},e.join=function(e,r){if(t.isArray(e))return e.join(r);if("object"==typeof e){var n=[];return t.each(e,function(e){n.push(e)}),n.join(r)}return e},e.json=function(e,t){var r=JSON.stringify(e,null,t||0);return"string"!=typeof r?r:r.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/'/g,"\\u0027")},e.json.safe=!0,e.json_encode=e.json,e.last=function(e){if("object"==typeof e&&!t.isArray(e)){var r=t.keys(e);return e[r[r.length-1]]}return"string"==typeof e?e.charAt(e.length-1):e[e.length-1]},e.length=function(e){return"object"!=typeof e||t.isArray(e)?e.hasOwnProperty("length")?e.length:"":t.keys(e).length},e.lower=function(t){var r=n.apply(e.lower,arguments);return void 0!==r?r:t.toString().toLowerCase()},e.raw=function(t){return e.safe(t)},e.raw.safe=!0,e.replace=function(e,t,r,n){var o=new RegExp(t,n);return e.replace(o,r)},e.reverse=function(t){return e.sort(t,!0)},e.safe=function(e){return e},e.safe.safe=!0,e.sort=function(e,r){var n;if(t.isArray(e))n=t.extend([],e).sort();else switch(typeof e){case"object":n=t.keys(e).sort();break;case"string":return n=e.split(""),r?n.reverse().join(""):n.sort().join("")}return n&&r?n.reverse():n||e},e.striptags=function(t){var r=n.apply(e.striptags,arguments);return void 0!==r?r:t.toString().replace(/(<([^>]+)>)/gi,"")},e.title=function(t){var r=n.apply(e.title,arguments);return void 0!==r?r:t.toString().replace(/\w\S*/g,function(e){return e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()})},e.uniq=function(e){var r;return e&&t.isArray(e)?(r=[],t.each(e,function(e){-1===r.indexOf(e)&&r.push(e)}),r):""},e.upper=function(t){var r=n.apply(e.upper,arguments);return void 0!==r?r:t.toString().toUpperCase()},e.url_encode=function(t){var r=n.apply(e.url_encode,arguments);return void 0!==r?r:encodeURIComponent(t)},e.url_encode.safe=!0,e.url_decode=function(t){var r=n.apply(e.url_decode,arguments);return void 0!==r?r:decodeURIComponent(t)}}}),m=t({"lib/tags/filter.js"(e){var t=g(),r=a(),n=l();e.compile=function(e,t,n,o,a,i,s){var c=t.shift().replace(/\($/,""),l=e(n,o,a,i);")"===t[t.length-1]&&t.pop();var p=s&&s.irExpr?s.irExpr:t.length?t:void 0;return r.filter(c,[r.legacyJS(l)],p)},e.lowerExpr=function(e,t){for(var r=0;r<t.length&&t[r].type===n.WHITESPACE;)r+=1;if(!(r>=t.length)){var o=t[r];if(o.type!==n.VAR){if(o.type===n.FUNCTIONEMPTY)return[];if(o.type===n.FUNCTION){var a,i=1,s=r+1,c=[];for(a=r+1;a<t.length;a+=1){var l=t[a];if(l.type===n.FILTER||l.type===n.FILTEREMPTY)return;if(l.type!==n.PARENOPEN&&l.type!==n.FUNCTION&&l.type!==n.BRACKETOPEN&&l.type!==n.CURLYOPEN){if(l.type!==n.PARENCLOSE&&l.type!==n.BRACKETCLOSE&&l.type!==n.CURLYCLOSE)l.type===n.COMMA&&1===i&&(c.push(t.slice(s,a)),s=a+1);else if(0===(i-=1)){a>s&&c.push(t.slice(s,a));break}}else i+=1}if(0===i){var p=[];for(a=0;a<c.length;a+=1)p.push(e.parseExpr(c[a]));return p}}}}},e.parse=function(e,r,n,o){var a;function i(e){if(!t.hasOwnProperty(e))throw new Error('Filter "'+e+'" does not exist on line '+r+".")}return n.on(o.FUNCTION,function(e){return!!a||(i(a=e.match.replace(/\($/,"")),this.out.push(e.match),void this.state.push(e.type))}),n.on(o.VAR,function(e){return!!a||(i(a=e.match),void this.out.push(a))}),!0},e.ends=!0}}),v=t({"lib/tags/for.js"(e){var t=a(),n=l(),o=r().dangerousProps;e.compile=function(e,r,n,o,a,i,s){var c,l=r.shift(),p="__k";r[0]&&","===r[0]&&(r.shift(),p=l,l=r.shift()),c=s&&s.irExpr?s.irExpr:r.join("");var u=e(n,o,a,i);return t.forStmt(l,c,[t.legacyJS(u)],p)},e.lowerExpr=function(e,t){var r,o=-1;for(r=0;r<t.length;r++)if(t[r].type===n.COMPARATOR&&"in"===t[r].match){o=r;break}if(-1!==o){var a=t.slice(o+1);for(r=0;r<a.length;r++)if(a[r].type===n.FILTER||a[r].type===n.FILTEREMPTY)return;return e.parseExpr(a)}},e.parse=function(e,t,r,n){var a,i;return r.on(n.NUMBER,function(e){var r=this.state.length?this.state[this.state.length-1]:null;if(!i||r!==n.ARRAYOPEN&&r!==n.CURLYOPEN&&r!==n.CURLYCLOSE&&r!==n.FUNCTION&&r!==n.FILTER)throw new Error('Unexpected number "'+e.match+'" on line '+t+".");return!0}),r.on(n.VAR,function(e){if(i&&a)return!0;if(-1!==e.match.indexOf("."))throw new Error('Loop variable "'+e.match+'" must be a bare identifier in "for" tag on line '+t+".");if(-1!==o.indexOf(e.match))throw new Error('Unsafe loop variable "'+e.match+'" is not allowed (prototype-chain guard) on line '+t+".");this.out.length||(a=!0),this.out.push(e.match)}),r.on(n.COMMA,function(e){if(!a||this.prevToken.type!==n.VAR)return!0;this.out.push(e.match)}),r.on(n.COMPARATOR,function(e){if("in"!==e.match||!a)throw new Error('Unexpected token "'+e.match+'" on line '+t+".");i=!0,this.filterApplyIdx.push(this.out.length)}),!0},e.ends=!0}}),E=t({"packages/swig-core/lib/backend.js"(e){var t=n(),o=r(),i=a();function s(e){return e.replace(/\\/g,"\\\\").replace(/\n|\r/g,"\\n").replace(/"/g,'\\"')}function c(e){return{dangerousProps:(e=e||{}).dangerousProps||o.dangerousProps,throwError:e.throwError||t.throwError}}function l(e,r){switch(e&&"string"==typeof e.type||r.throwError("emitExpr: expected an IR expression node"),e.type){case"Literal":return function(e,t){switch(e.kind){case"string":return JSON.stringify(e.value);case"number":return String(e.value);case"bool":return e.value?"true":"false";case"null":return"null";case"undefined":return"undefined"}t.throwError('emitLiteral: unknown literal kind "'+e.kind+'"')}(e,r);case"VarRef":return function(e,r){t.isArray(e.path)&&0!==e.path.length||r.throwError("emitVarRef: path must be a non-empty array");if(t.each(e.path,function(t){p(t,r,e)}),e.resolve)return"_utils.resolve(_ctx, "+JSON.stringify(e.path)+")";return h(e.path)}(e,r);case"VarRefExists":return u(e,r);case"Access":return function(e,t){e.key&&"Literal"===e.key.type&&"string"===e.key.kind&&p(e.key.value,t,e);return d(e.object,l(e.object,t),!0)+"["+l(e.key,t)+"]"}(e,r);case"BinaryOp":return function(e,t){var r=d(e.left,l(e.left,t)),n=d(e.right,l(e.right,t));if(o=e.op,"+"===o||"-"===o||"*"===o||"/"===o||"%"===o)return r+" "+e.op+" "+n;var o;if("in"===e.op)return r+" in "+n;if("~"===e.op)return"(String("+r+") + String("+n+"))";if("??"===e.op&&e.left&&"VarRef"===e.left.type){return"("+u(i.varRefExists(e.left.path,e.left.loc),t)+" ? "+r+" : "+n+")"}return r+e.op+n}(e,r);case"UnaryOp":return function(e,t){return e.op+d(e.operand,l(e.operand,t),!0)}(e,r);case"Conditional":return function(e,t){return"("+l(e.test,t)+" ? "+l(e.then,t)+" : "+l(e.else,t)+")"}(e,r);case"ArrayLiteral":return function(e,r){var n=[];return t.each(e.elements,function(e){n.push(l(e,r))}),"["+n.join(", ")+"]"}(e,r);case"ObjectLiteral":return function(e,r){var n=[];return t.each(e.properties,function(e){n.push(l(e.key,r)+":"+l(e.value,r))}),"{"+n.join(", ")+"}"}(e,r);case"FnCall":return function(e,r){var n,o,a,i=[],s=e.callee;if(t.each(e.args,function(e){i.push(l(e,r))}),a=i.join(", "),s&&"VarRef"===s.type&&t.isArray(s.path))return t.each(s.path,function(e){p(e,r,s)}),1===s.path.length?"((typeof _ctx."+(n=s.path[0])+' !== "undefined") ? _ctx.'+n+" : ((typeof "+n+' !== "undefined") ? '+n+" : _fn))("+a+")":(o=s.path.slice(0,-1),"("+h(s.path)+" || _fn).call("+h(o)+(a?", "+a:"")+")");return"("+l(s,r)+")("+a+")"}(e,r);case"FilterCall":return function(e,r){var n=l(e.input,r),o="";if(e.args&&e.args.length){var a=[];t.each(e.args,function(e){a.push(l(e,r))}),o=", "+a.join(", ")}return'_filters["'+e.name+'"]('+n+o+")"}(e,r)}r.throwError('emitExpr: unknown IR expression type "'+e.type+'"')}function p(e,t,r){if(-1!==t.dangerousProps.indexOf(e)){var n=r&&r.loc&&r.loc.line||void 0,o=r&&r.loc&&r.loc.filename||void 0;t.throwError('Unsafe access to "'+e+'" is not allowed in templates (prototype-chain guard)',n,o)}}function u(e,r){return t.isArray(e.path)&&0!==e.path.length||r.throwError("emitVarRefExists: path must be a non-empty array"),t.each(e.path,function(t){p(t,r,e)}),"("+f(e.path,"_ctx.")+" || "+f(e.path,"")+")"}function f(e,r){var n=r+e[0],o="";return o="(typeof "+n+' !== "undefined" && '+n+" !== null",t.each(e,function(e,t){0!==t&&(o+=" && "+n+"."+e+" !== undefined && "+n+"."+e+" !== null",n+="."+e)}),o+=")"}function h(e){var t=e.join(".");return"("+f(e,"_ctx.")+" ? _ctx."+t+" : ("+f(e,"")+" ? "+t+' : ""))'}function d(e,t,r){return e&&("BinaryOp"===e.type||r&&"UnaryOp"===e.type)?"("+t+")":t}e.compile=function(r,n,a,l){var u="",f=t.isArray(r)?r:r.tokens,h=[];return t.each(f,function(r){if("string"!=typeof r)if(r&&"object"==typeof r&&"string"==typeof r.type&&"function"!=typeof r.compile)h.push(r);else{var o=r.compile(e.compile,r.args?r.args.slice(0):[],r.content?r.content.slice(0):[],n,a,l,r);null!=o&&""!==o&&("string"!=typeof o?t.isArray(o)?t.each(o,function(e){h.push(e)}):"object"!=typeof o||"string"!=typeof o.type?h.push(i.legacyJS(String(o))):h.push(o):h.push(i.legacyJS(o)))}else h.push(i.text(r))}),t.each(h,function(r){if("Text"!==r.type&&"Raw"!==r.type)if("LegacyJS"!==r.type)if("Autoescape"!==r.type){if("If"===r.type){var i="";return t.each(r.branches,function(r,n){var o,a="";t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(a+='_output += "'+s(e.value)+'";\n'):a+=e.js}),null!==r.test?(o=r.test&&"object"==typeof r.test&&"LegacyJS"===r.test.type?r.test.js:"object"==typeof r.test&&"string"==typeof r.test.type?e.emitExpr(r.test):r.test,i+=0===n?"if ("+o+") { \n"+a:"} else if ("+o+") {\n"+a):i+="} else {\n"+a}),void(u+=i+"\n}")}if("Set"===r.type){var l,f;if(r.target&&"object"==typeof r.target&&"VarRef"===r.target.type){var h=c();t.isArray(r.target.path)&&0!==r.target.path.length||h.throwError("Set: target VarRef must have a non-empty path"),t.each(r.target.path,function(e){p(e,h,r.target)}),l="_ctx."+r.target.path.join(".")}else l=r.target;return f=r.value&&"object"==typeof r.value&&"string"==typeof r.value.type?e.emitExpr(r.value):r.value,void(u+=l+" "+r.op+" "+f+";\n")}if("For"!==r.type)if("Macro"!==r.type)if("Parent"!==r.type)if("Block"!==r.type){var d,y,g;if("Include"===r.type)return d=r.path&&"object"==typeof r.path&&"string"==typeof r.path.type?e.emitExpr(r.path):r.path,void 0!==r.context&&(y="object"==typeof r.context&&"string"==typeof r.context.type?e.emitExpr(r.context):r.context),g=r.isolated&&y?y:y?"_utils.extend({}, _ctx, "+y+")":"_ctx",void(u+=(r.ignoreMissing?" try {\n":"")+"_output += _swig.compileFile("+d+', {resolveFrom: "'+r.resolveFrom+'"})('+g+");\n"+(r.ignoreMissing?"} catch (e) {}\n":""));if("IncludeDeferred"!==r.type)if("ImportDeferred"!==r.type){if("FromImportDeferred"===r.type){var m,v=r.imports||[];t.each(v,function(e){if(-1!==o.dangerousProps.indexOf(e.name))throw new Error('From-import name "'+e.name+'" is reserved.');var t=e.alias||e.name;if(-1!==o.dangerousProps.indexOf(t))throw new Error('From-import binding "'+t+'" is reserved.')}),m=r.path&&"object"==typeof r.path&&"string"==typeof r.path.type?e.emitExpr(r.path):r.path;var E='{resolveFrom: "'+(r.resolveFrom||"")+'"}',x="";return t.each(v,function(e){var t=e.alias||e.name;x+=" _ctx."+t+' = _imp["'+e.name+'"];\n'}),void(u+="await (async function () {\n var _imp = (await (await _swig.getTemplate("+m+", "+E+"))(_ctx)).exports;\n"+x+"})();\n")}if("ExtendsDeferred"===r.type){var w;r.childIRs&&r.childIRs.length&&(u+=e.compile(r.childIRs,n,a)),u+="var _localChildBlocks = {};\n",r.childBlocks&&t.each(r.childBlocks,function(e,r){var n="";t.each(e.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(n+='_output += "'+s(e.value)+'";\n'):n+=e.js}),u+="_localChildBlocks["+JSON.stringify(r)+'] = async function (_ctx) {\n var _output = "";\n'+n+" return _output;\n};\n"}),u+="var _mergedBlocks = _utils.extend({}, _localChildBlocks, _blocks || {});\n",w=r.path&&"object"==typeof r.path&&"string"==typeof r.path.type?e.emitExpr(r.path):r.path;var O='{resolveFrom: "'+(r.resolveFrom||"")+'"}';return u+="var _parentTpl = await _swig.getTemplate("+w+", "+O+");\n",u+="var _parentResult = await _parentTpl(_ctx, _mergedBlocks);\n",void(u+="_output = _parentResult.output;\n")}if("With"===r.type){var b;void 0!==r.context&&(b=r.context&&"object"==typeof r.context&&"string"==typeof r.context.type?e.emitExpr(r.context):r.context);var C,T="";return t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(T+='_output += "'+s(e.value)+'";\n'):T+=e.js}),C=r.isolated?void 0!==b?b:"{}":void 0!==b?"_utils.extend({}, _ctx, "+b+")":"_utils.extend({}, _ctx)",void(u+="(function (_ctx) {\n"+T+"})("+C+");\n")}if("Output"===r.type){if(r.expr&&"LegacyJS"===r.expr.type)return void(u+=r.expr.js);var R=e.emitExpr(r.expr);return r.filters&&r.filters.length&&t.each(r.filters,function(r){var n="";if(r.args&&r.args.length){var o=[];t.each(r.args,function(t){o.push(e.emitExpr(t))}),n=", "+o.join(", ")}R='_filters["'+r.name+'"]('+R+n+")"}),void(r.coerce?u+="_output += _utils.coerceOutput("+R+");\n":u+="_output += "+R+";\n")}if("Filter"!==r.type);else{var A="";t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(A+='_output += "'+s(e.value)+'";\n'):A+=e.js});var N='(function () {\n var _output = "";\n'+A+" return _output;\n})()",k="";if(r.args&&r.args.length){var _=[];t.each(r.args,function(t){t&&"object"==typeof t&&"string"==typeof t.type?_.push(e.emitExpr(t)):_.push(t)}),k=", "+_.join(", ")}u+='_output += _filters["'+r.name+'"]('+N+k+");\n"}}else{if(-1!==o.dangerousProps.indexOf(r.alias))throw new Error('Import alias "'+r.alias+'" is reserved.');var P;P=r.path&&"object"==typeof r.path&&"string"==typeof r.path.type?e.emitExpr(r.path):r.path;var L='{resolveFrom: "'+(r.resolveFrom||"")+'"}';u+="_ctx."+r.alias+" = (await (await _swig.getTemplate("+P+", "+L+"))(_ctx)).exports;\n"}else{var S,I,F;S=r.path&&"object"==typeof r.path&&"string"==typeof r.path.type?e.emitExpr(r.path):r.path,void 0!==r.context&&(I="object"==typeof r.context&&"string"==typeof r.context.type?e.emitExpr(r.context):r.context),F=r.isolated&&I?I:I?"_utils.extend({}, _ctx, "+I+")":"_ctx";var j='{resolveFrom: "'+(r.resolveFrom||"")+'"}';u+=(r.ignoreMissing?" try {\n":"")+"_output += (await (await _swig.getTemplate("+S+", "+j+"))("+F+")).output;\n"+(r.ignoreMissing?"} catch (e) {}\n":"")}}else{if(a&&"async"===a.codegenMode){var U=JSON.stringify(r.name);return u+="if (_blocks && _blocks["+U+"]) {\n",u+=" _output += await _blocks["+U+"](_ctx);\n",u+="} else {\n",t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(u+='_output += "'+s(e.value)+'";\n'):u+=e.js}),void(u+="}\n")}t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(u+='_output += "'+s(e.value)+'";\n'):u+=e.js})}else t.each(r.body||[],function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(u+='_output += "'+s(e.value)+'";\n'):u+=e.js});else{var M="";t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(M+='_output += "'+s(e.value)+'";\n'):M+=e.js});var Y,D,B=r.params||[],J="";if(B.length&&"object"==typeof B[0]&&null!==B[0]&&"string"==typeof B[0].name){var K=[];t.each(B,function(t){K.push(t.name),t.default&&(J+=" if ("+t.name+" === undefined) { "+t.name+" = "+e.emitExpr(t.default)+"; }\n")}),Y=K.join(", ");var W=[];t.each(K,function(e){W.push(JSON.stringify(e))}),D=W.join(",")}else Y=B.join(""),D='"'+B.join('","')+'"';if(u+="_ctx."+r.name+" = function ("+Y+') {\n var _output = "",\n __ctx = _utils.extend({}, _ctx);\n'+J+" _utils.each(_ctx, function (v, k) {\n if (["+D+"].indexOf(k) !== -1) { delete _ctx[k]; }\n });\n"+M+"\n _ctx = _utils.extend(_ctx, __ctx);\n return _output;\n};\n_ctx."+r.name+".safe = true;\n",a&&"async"===a.codegenMode){if(-1!==o.dangerousProps.indexOf(r.name))throw new Error('Macro name "'+r.name+'" is reserved.');u+="_exports."+r.name+" = _ctx."+r.name+";\n"}}else{var V,$=r.value,z=r.key,G="",H=("_ctx.__loopcache"+Math.random()).replace(/\./g,""),Z="_ctx.",q=r.loopName||"loop",Q="_ctx."+q,X=r.loopFields||{},ee=X.index||"index",te=X.index0||"index0",re=X.revindex||"revindex",ne=X.revindex0||"revindex0",oe=r.loopParent?", parentloop: "+H+"."+q:"";V=r.iterable&&"object"==typeof r.iterable&&"string"==typeof r.iterable.type?e.emitExpr(r.iterable):r.iterable,t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(G+='_output += "'+s(e.value)+'";\n'):G+=e.js});var ae=" if (!__l) { return; }\n";if(r.emptyBody){var ie="";t.each(r.emptyBody,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(ie+='_output += "'+s(e.value)+'";\n'):ie+=e.js}),ae=" if (!__l || !__len) {\n"+ie+" return;\n }\n"}u+="(function () {\n var __l = "+V+', __len = (_utils.isArray(__l) || typeof __l === "string") ? __l.length : _utils.keys(__l).length;\n'+ae+" var "+H+" = { "+q+": "+Q+", "+$+": "+Z+$+", "+z+": "+Z+z+" };\n "+Q+" = { first: false, "+ee+": 1, "+te+": 0, "+re+": __len, "+ne+": __len - 1, length: __len, last: false"+oe+" };\n _utils.each(__l, function ("+$+", "+z+") {\n "+Z+$+" = "+$+";\n "+Z+z+" = "+z+";\n "+Q+".key = "+z+";\n "+Q+".first = ("+Q+"."+te+" === 0);\n "+Q+".last = ("+Q+"."+ne+" === 0);\n "+G+" "+Q+"."+ee+" += 1; "+Q+"."+te+" += 1; "+Q+"."+re+" -= 1; "+Q+"."+ne+" -= 1;\n });\n "+Q+" = "+H+"."+q+";\n "+Z+$+" = "+H+"."+$+";\n "+Z+z+" = "+H+"."+z+";\n "+H+" = undefined;\n})();\n"}}else t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(u+='_output += "'+s(e.value)+'";\n'):u+=e.js});else u+=r.js;else u+='_output += "'+s(r.value)+'";\n'}),u},e.emitExpr=function(e,t){return l(e,c(t))}}}),x=t({"lib/lexer.js"(e){var t=o(),r=l(),n=[{type:r.WHITESPACE,regex:[/^\s+/]},{type:r.STRING,regex:[/^""/,/^".*?[^\\]"/,/^''/,/^'.*?[^\\]'/]},{type:r.FILTER,regex:[/^\|\s*(\w+)\(/],idx:1},{type:r.FILTEREMPTY,regex:[/^\|\s*(\w+)/],idx:1},{type:r.FUNCTIONEMPTY,regex:[/^\s*(\w+)\(\)/],idx:1},{type:r.FUNCTION,regex:[/^\s*(\w+)\(/],idx:1},{type:r.PARENOPEN,regex:[/^\(/]},{type:r.PARENCLOSE,regex:[/^\)/]},{type:r.COMMA,regex:[/^,/]},{type:r.LOGIC,regex:[/^(&&|\|\|)\s*/,/^(and|or)\s+/],idx:1,replace:{and:"&&",or:"||"}},{type:r.COMPARATOR,regex:[/^(===|==|\!==|\!=|<=|<|>=|>|in\s|gte\s|gt\s|lte\s|lt\s)\s*/],idx:1,replace:{gte:">=",gt:">",lte:"<=",lt:"<"}},{type:r.ASSIGNMENT,regex:[/^(=|\+=|-=|\*=|\/=)/]},{type:r.NOT,regex:[/^\!\s*/,/^not\s+/],replace:{not:"!"}},{type:r.BOOL,regex:[/^(true|false)\s+/,/^(true|false)$/],idx:1},{type:r.VAR,regex:[/^[a-zA-Z_$]\w*((\.\$?\w*)+)?/,/^[a-zA-Z_$]\w*/]},{type:r.BRACKETOPEN,regex:[/^\[/]},{type:r.BRACKETCLOSE,regex:[/^\]/]},{type:r.CURLYOPEN,regex:[/^\{/]},{type:r.COLON,regex:[/^\:/]},{type:r.CURLYCLOSE,regex:[/^\}/]},{type:r.DOTKEY,regex:[/^\.(\w+)/],idx:1},{type:r.NUMBER,regex:[/^\d+(\.\d+)?/]},{type:r.QMARK,regex:[/^\?/]},{type:r.OPERATOR,regex:[/^(\+|\-|\/|\*|%)/]}];function a(e){var o;return t.some(n,function(r){return t.some(r.regex,function(t){var n,a=e.match(t);if(a)return n=a[r.idx||0].replace(/\s*$/,""),n=r.hasOwnProperty("replace")&&r.replace.hasOwnProperty(n)?r.replace[n]:n,o={match:n,type:r.type,length:a[0].length},!0})}),o||(o={match:e,type:r.UNKNOWN,length:e.length}),o}e.types=r,e.read=function(e){for(var t,r=0,n=[];r<e.length;)r+=(t=a(e.substring(r))).length,n.push(t);return n}}}),w=t({"packages/swig-core/lib/tokenparser.js"(e){var t=n(),o=l(),i=a(),s=r().dangerousProps,c=["break","case","catch","continue","debugger","default","delete","do","else","finally","for","function","if","in","instanceof","new","return","switch","this","throw","try","typeof","var","void","while","with"];function p(e,r,n,a,i){this.out=[],this.state=[],this.filterApplyIdx=[],this._parsers={},this.line=a,this.filename=i,this.filters=r,this.escape=n,this.parse=function(){var r=this;return r._parsers.start&&r._parsers.start.call(r),t.each(e,function(t,n){var a=e[n-1];if(r.isLast=n===e.length-1,a)for(;a.type===o.WHITESPACE;)a=e[(n-=1)-1];r.prevToken=a,r.parseToken(t)}),r._parsers.end&&r._parsers.end.call(r),r.escape&&(r.filterApplyIdx=[0],"string"==typeof r.escape?(r.parseToken({type:o.FILTER,match:"e"}),r.parseToken({type:o.COMMA,match:","}),r.parseToken({type:o.STRING,match:String(n)}),r.parseToken({type:o.PARENCLOSE,match:")"})):r.parseToken({type:o.FILTEREMPTY,match:"e"})),r.out}}p.prototype={on:function(e,t){this._parsers[e]=t},parseToken:function(e){var r,n=this,a=n._parsers[e.type]||n._parsers["*"],i=e.match,c=n.prevToken,l=c?c.type:null,p=n.state.length?n.state[n.state.length-1]:null;if(!a||"function"!=typeof a||a.call(this,e))switch(p&&c&&p===o.FILTER&&l===o.FILTER&&e.type!==o.PARENCLOSE&&e.type!==o.COMMA&&e.type!==o.OPERATOR&&e.type!==o.FILTER&&e.type!==o.FILTEREMPTY&&n.out.push(", "),p&&p===o.METHODOPEN&&(n.state.pop(),e.type!==o.PARENCLOSE&&n.out.push(", ")),e.type){case o.WHITESPACE:break;case o.STRING:if(p===o.BRACKETOPEN){var u=i.replace(/^['"]|['"]$/g,"");-1!==s.indexOf(u)&&t.throwError('Unsafe access to "'+u+'" via bracket notation is not allowed in templates (prototype-chain guard)',n.line,n.filename)}n.filterApplyIdx.push(n.out.length),n.out.push(i.replace(/\\/g,"\\\\"));break;case o.NUMBER:case o.BOOL:n.filterApplyIdx.push(n.out.length),n.out.push(i);break;case o.FILTER:n.filters.hasOwnProperty(i)&&"function"==typeof n.filters[i]||t.throwError('Invalid filter "'+i+'"',n.line,n.filename),n.escape=!n.filters[i].safe&&n.escape,n.out.splice(n.filterApplyIdx[n.filterApplyIdx.length-1],0,'_filters["'+i+'"]('),n.state.push(e.type);break;case o.FILTEREMPTY:n.filters.hasOwnProperty(i)&&"function"==typeof n.filters[i]||t.throwError('Invalid filter "'+i+'"',n.line,n.filename),n.escape=!n.filters[i].safe&&n.escape,n.out.splice(n.filterApplyIdx[n.filterApplyIdx.length-1],0,'_filters["'+i+'"]('),n.out.push(")");break;case o.FUNCTION:case o.FUNCTIONEMPTY:n.out.push("((typeof _ctx."+i+' !== "undefined") ? _ctx.'+i+" : ((typeof "+i+' !== "undefined") ? '+i+" : _fn))("),n.escape=!1,e.type===o.FUNCTIONEMPTY?n.out[n.out.length-1]=n.out[n.out.length-1]+")":n.state.push(e.type),n.filterApplyIdx.push(n.out.length-1);break;case o.PARENOPEN:n.state.push(e.type),n.filterApplyIdx.length?(n.out.splice(n.filterApplyIdx[n.filterApplyIdx.length-1],0,"("),c&&l===o.VAR?(r=c.match.split(".").slice(0,-1),n.out.push(" || _fn).call("+n.checkMatch(r)),n.state.push(o.METHODOPEN),n.escape=!1):n.out.push(" || _fn)("),n.filterApplyIdx.push(n.out.length-3)):(n.out.push("("),n.filterApplyIdx.push(n.out.length-1));break;case o.PARENCLOSE:(r=n.state.pop())!==o.PARENOPEN&&r!==o.FUNCTION&&r!==o.FILTER&&t.throwError("Mismatched nesting state",n.line,n.filename),n.out.push(")"),n.filterApplyIdx.pop(),r!==o.FILTER&&n.filterApplyIdx.pop();break;case o.COMMA:p!==o.FUNCTION&&p!==o.FILTER&&p!==o.ARRAYOPEN&&p!==o.CURLYOPEN&&p!==o.PARENOPEN&&p!==o.COLON&&t.throwError("Unexpected comma",n.line,n.filename),p===o.COLON&&n.state.pop(),n.out.push(", "),n.filterApplyIdx.pop();break;case o.LOGIC:case o.COMPARATOR:c&&l!==o.COMMA&&l!==e.type&&l!==o.BRACKETOPEN&&l!==o.CURLYOPEN&&l!==o.PARENOPEN&&l!==o.FUNCTION||t.throwError("Unexpected logic",n.line,n.filename),n.out.push(e.match);break;case o.NOT:n.out.push(e.match);break;case o.VAR:n.parseVar(e,i,p);break;case o.BRACKETOPEN:!c||l!==o.VAR&&l!==o.BRACKETCLOSE&&l!==o.PARENCLOSE?(n.state.push(o.ARRAYOPEN),n.filterApplyIdx.push(n.out.length)):n.state.push(e.type),n.out.push("[");break;case o.BRACKETCLOSE:(r=n.state.pop())!==o.BRACKETOPEN&&r!==o.ARRAYOPEN&&t.throwError("Unexpected closing square bracket",n.line,n.filename),n.out.push("]"),n.filterApplyIdx.pop();break;case o.CURLYOPEN:n.state.push(e.type),n.out.push("{"),n.filterApplyIdx.push(n.out.length-1);break;case o.QMARK:n.out.push(" ? "),n.state.push(e.type),n.filterApplyIdx.pop();break;case o.COLON:p===o.CURLYOPEN?(n.state.push(e.type),n.out.push(":")):p===o.QMARK?(n.state.pop()," ? "===n.out[n.out.length-1]?n.out[n.out.length-1]=" || ":n.out.push(" : ")):t.throwError("Unexpected colon",n.line,n.filename),n.filterApplyIdx.pop();break;case o.CURLYCLOSE:p===o.COLON&&n.state.pop(),n.state.pop()!==o.CURLYOPEN&&t.throwError("Unexpected closing curly brace",n.line,n.filename),n.out.push("}"),n.filterApplyIdx.pop();break;case o.DOTKEY:(!c||l!==o.VAR&&l!==o.BRACKETCLOSE&&l!==o.DOTKEY&&l!==o.PARENCLOSE&&l!==o.FUNCTIONEMPTY&&l!==o.FILTEREMPTY&&l!==o.CURLYCLOSE)&&t.throwError('Unexpected key "'+i+'"',n.line,n.filename),-1!==s.indexOf(i)&&t.throwError('Unsafe access to "'+i+'" is not allowed in templates (prototype-chain guard)',n.line,n.filename),n.out.push("."+i);break;case o.OPERATOR:n.out.push(" "+i+" "),n.filterApplyIdx.pop()}},parseVar:function(e,r,n){var a=this;if(r=r.split("."),-1!==c.indexOf(r[0])&&t.throwError('Reserved keyword "'+r[0]+'" attempted to be used as a variable',a.line,a.filename),t.each(r,function(e){-1!==s.indexOf(e)&&t.throwError('Unsafe access to "'+e+'" is not allowed in templates (prototype-chain guard)',a.line,a.filename)}),a.filterApplyIdx.push(a.out.length),n===o.CURLYOPEN)return r.length>1&&t.throwError("Unexpected dot",a.line,a.filename),void a.out.push(r[0]);a.out.push(a.checkMatch(r))},parseExpr:function(e,r){var n=this,a=0;function l(){return function(){for(;a<e.length&&e[a].type===o.WHITESPACE;)a+=1}(),a<e.length?e[a]:null}function p(){var e=l();return e&&(a+=1),e}function u(e){t.throwError(e,n.line,n.filename)}function f(e){-1!==s.indexOf(e)&&u('Unsafe access to "'+e+'" is not allowed in templates (prototype-chain guard)')}function h(e){-1!==s.indexOf(e)&&u('Unsafe access to "'+e+'" via bracket notation is not allowed in templates (prototype-chain guard)')}function d(e){var t;if(e.type===o.LOGIC){if("||"===e.match)return{op:"||",prec:1};if("&&"===e.match)return{op:"&&",prec:2}}if(e.type===o.COMPARATOR)return"==="===(t=e.match)||"!=="===t||"=="===t||"!="===t?{op:t,prec:3}:{op:t,prec:4};if(e.type===o.OPERATOR){if("+"===(t=e.match)||"-"===t)return{op:t,prec:5};if("*"===t||"/"===t||"%"===t)return{op:t,prec:6}}return null}function y(e){return e.replace(/^['"]|['"]$/g,"")}function g(e){var t=[],r=l();if(r&&r.type===e)return p(),t;for(;;){t.push(x(0));var n=p();if(n||u("Unexpected end of expression"),n.type===e)break;n.type!==o.COMMA&&u("Expected comma or closing delimiter")}return t}function m(e){for(;;){var t=l();if(!t)break;if(t.type===o.DOTKEY)p(),f(t.match),e="VarRef"===e.type?i.varRef(e.path.concat([t.match])):i.access(e,i.literal("string",t.match));else if(t.type===o.BRACKETOPEN){p();var r=x(0);"Literal"===r.type&&"string"===r.kind&&h(r.value);var a=p();a&&a.type===o.BRACKETCLOSE||u("Unexpected closing square bracket"),e=i.access(e,r)}else if(t.type===o.PARENOPEN)p(),e=i.fnCall(e,g(o.PARENCLOSE));else{if(t.type!==o.FILTER&&t.type!==o.FILTEREMPTY)break;p();var s,c=t.match;n.filters.hasOwnProperty(c)&&"function"==typeof n.filters[c]||u('Invalid filter "'+c+'"'),s=void 0,t.type===o.FILTER&&(s=g(o.PARENCLOSE)),e=i.filterCallExpr(c,e,s)}}return e}function v(){var e,r=p();switch(r||u("Unexpected end of expression"),r.type){case o.STRING:return i.literal("string",y(r.match));case o.NUMBER:return i.literal("number",parseFloat(r.match));case o.BOOL:return i.literal("bool","true"===r.match);case o.NOT:return i.unaryOp("!",E());case o.OPERATOR:if("+"===(e=r.match)||"-"===e)return i.unaryOp(e,E());u('Unexpected operator "'+e+'"');break;case o.PARENOPEN:var n=x(0),a=p();return a&&a.type===o.PARENCLOSE||u("Mismatched nesting state"),m(n);case o.BRACKETOPEN:return m(i.arrayLiteral(g(o.BRACKETCLOSE)));case o.CURLYOPEN:return m(function(){var e=[],t=l();if(t&&t.type===o.CURLYCLOSE)return p(),i.objectLiteral([]);for(;;){var r,n=p();n||u("Unclosed object literal"),n.type===o.STRING?r=i.literal("string",y(n.match)):n.type===o.VAR?(-1!==n.match.indexOf(".")&&u("Unexpected dot"),r=i.literal("string",n.match)):n.type===o.NUMBER?r=i.literal("number",parseFloat(n.match)):u("Unexpected object key");var a=p();a&&a.type===o.COLON||u("Unexpected colon");var s=x(0);e.push(i.objectProperty(r,s));var c=p();if(c||u("Unclosed object literal"),c.type===o.CURLYCLOSE)break;c.type!==o.COMMA&&u("Expected comma or closing curly brace")}return i.objectLiteral(e)}());case o.VAR:var s=r.match.split(".");return-1!==c.indexOf(s[0])&&u('Reserved keyword "'+s[0]+'" attempted to be used as a variable'),t.each(s,function(e){f(e)}),m(i.varRef(s));case o.FUNCTION:case o.FUNCTIONEMPTY:return e=r.match,-1!==c.indexOf(e)&&u('Reserved keyword "'+e+'" attempted to be used as a variable'),f(e),r.type===o.FUNCTIONEMPTY?m(i.fnCall(i.varRef([e]),[])):m(i.fnCall(i.varRef([e]),g(o.PARENCLOSE)))}return u('Unexpected token "'+r.match+'"'),null}function E(){return v()}function x(e){for(var t=E();;){var r=l();if(!r)break;if(r.type===o.FILTER||r.type===o.FILTEREMPTY)break;var n=d(r);if(!n||n.prec<e)break;p();var a=x(n.prec+1);t=i.binaryOp(n.op,t,a)}if(0===e){var s=l();if(s&&s.type===o.QMARK){p();var c,f=l();if(f&&f.type===o.COLON)p(),c=x(0),t=i.conditional(t,t,c);else{var h=x(0),y=p();y&&y.type===o.COLON||u("Expected colon in ternary expression"),c=x(0),t=i.conditional(t,h,c)}}}return t}var w=x(0);return r&&(r.pos=a),w},parseOutput:function(e){var r=this;function n(){var e=r.parse().join("");return i.output(i.legacyJS("_output += "+e+";\n"))}var a,s,c=!1;for(a=0;a<e.length;a+=1)if(e[a].type!==o.WHITESPACE){c=!0;break}if(!c)return n();if("string"==typeof r.escape)return n();var l=0,p=!1,u=!1,f=!1,h=-1;for(a=0;a<e.length;a+=1)s=e[a],0===l&&(s.type!==o.OPERATOR&&s.type!==o.LOGIC&&s.type!==o.COMPARATOR&&s.type!==o.NOT||(p=!0),s.type!==o.FILTER&&s.type!==o.FILTEREMPTY||(u=!0,h<0&&(h=a)),s.type===o.QMARK&&(f=!0)),s.type===o.PARENOPEN||s.type===o.FUNCTION||s.type===o.BRACKETOPEN||s.type===o.CURLYOPEN||s.type===o.FILTER?l+=1:s.type!==o.PARENCLOSE&&s.type!==o.BRACKETCLOSE&&s.type!==o.CURLYCLOSE||(l-=1);if(0===h)return n();try{var d=r.escape;for(a=0;a<e.length;a+=1)if((s=e[a]).type!==o.FUNCTION&&s.type!==o.FUNCTIONEMPTY||(d=!1),s.type!==o.FILTER&&s.type!==o.FILTEREMPTY||r.filters.hasOwnProperty(s.match)&&"function"==typeof r.filters[s.match]&&r.filters[s.match].safe&&(d=!1),s.type===o.PARENOPEN){for(var y=a-1;y>=0&&e[y].type===o.WHITESPACE;)y-=1;y>=0&&e[y].type===o.VAR&&(d=!1)}if(f||p&&u){var g=r.parseExpr(e),m=d?[i.filterCall("e")]:[];return i.output(g,m.length>0?m:void 0)}var v=h>=0?h:e.length,E=e.slice(0,v),x={pos:0},w=r.parseExpr(E,x),O=!1;for(a=x.pos;a<E.length;a+=1)if(E[a].type!==o.WHITESPACE){O=!0;break}if(O)return n();var b=[];if(h>=0)for(var C=h;C<e.length;){var T=e[C];if(T.type!==o.WHITESPACE)if(T.type!==o.FILTEREMPTY)if(T.type!==o.FILTER)t.throwError('Unexpected token "'+T.match+'"',r.line,r.filename);else{r.filters.hasOwnProperty(T.match)&&"function"==typeof r.filters[T.match]||t.throwError('Invalid filter "'+T.match+'"',r.line,r.filename),r.filters[T.match].safe&&(d=!1);for(var R=1,A=C+1,N=C+1;N<e.length&&R>0;){var k=e[N];if(k.type===o.PARENOPEN||k.type===o.FUNCTION||k.type===o.BRACKETOPEN||k.type===o.CURLYOPEN||k.type===o.FILTER)R+=1;else if((k.type===o.PARENCLOSE||k.type===o.BRACKETCLOSE||k.type===o.CURLYCLOSE)&&0===(R-=1))break;N+=1}0!==R&&t.throwError('Unable to parse filter "'+T.match+'"',r.line,r.filename);var _,P=[],L=A,S=1;for(_=A;_<N;_+=1){var I=e[_];I.type===o.PARENOPEN||I.type===o.FUNCTION||I.type===o.BRACKETOPEN||I.type===o.CURLYOPEN||I.type===o.FILTER?S+=1:I.type===o.PARENCLOSE||I.type===o.BRACKETCLOSE||I.type===o.CURLYCLOSE?S-=1:I.type===o.COMMA&&1===S&&(P.push(e.slice(L,_)),L=_+1)}L<N&&P.push(e.slice(L,N));var F,j=[];for(F=0;F<P.length;F+=1){var U,M=P[F],Y=!1;for(U=0;U<M.length;U+=1)if(M[U].type!==o.WHITESPACE){Y=!0;break}Y&&j.push(r.parseExpr(M))}b.push(i.filterCall(T.match,j)),C=N+1}else r.filters.hasOwnProperty(T.match)&&"function"==typeof r.filters[T.match]||t.throwError('Invalid filter "'+T.match+'"',r.line,r.filename),r.filters[T.match].safe&&(d=!1),b.push(i.filterCall(T.match)),C+=1;else C+=1}return d&&b.push(i.filterCall("e")),i.output(w,b.length>0?b:void 0)}catch(e){if(f)throw e;return n()}},checkMatch:function(e){var r=e[0],n=e.join(".");function o(n){var o=n+r,a=e,i="";return i="(typeof "+o+' !== "undefined" && '+o+" !== null",t.each(a,function(e,t){0!==t&&(i+=" && "+o+"."+e+" !== undefined && "+o+"."+e+" !== null",o+="."+e)}),i+=")"}return"("+o("_ctx.")+" ? _ctx."+n+" : ("+o("")+" ? "+n+' : ""))'}},e.TokenParser=p}}),O=t({"lib/parser.js"(e){var t=o(),r=x(),n=r.types,a=w().TokenParser;function i(e){return e.replace(/[\-\/\\\^$*+?.()|\[\]{}]/g,"\\$&")}e.parse=function(o,s,c,l,p){s=s.replace(/\r\n/g,"\n");var u,f=c.autoescape,h=c.tagControls[0],d=c.tagControls[1],y=c.varControls[0],g=c.varControls[1],m=i(h),v=i(d),E=i(y),x=i(g),w=new RegExp("^"+m+"-?\\s*|\\s*-?"+v+"$","g"),O=new RegExp("^"+m+"-"),b=new RegExp("-"+v+"$"),C=new RegExp("^"+E+"-?\\s*|\\s*-?"+x+"$","g"),T=new RegExp("^"+E+"-"),R=new RegExp("-"+x+"$"),A=c.cmtControls[0],N=c.cmtControls[1],k="[\\s\\S]*?",_=new RegExp("("+m+k+v+"|"+E+k+x+"|"+i(A)+k+i(N)+")"),P=1,L=[],S=null,I=null,F=[],j={},U=!1;function M(e,n){var o,i,s=r.read(t.strip(e));return i=(o=new a(s,p,f,n,c.filename)).parseOutput(s),o.state.length&&t.throwError('Unable to parse "'+e+'"',n,c.filename),i}function Y(e){return"string"==typeof e&&(e=e.replace(/\s*$/,"")),e}return e.parseVariable=M,t.each(s.split(_),function(e){var i,s,m,v,E;if(e){if(!U&&t.startsWith(e,y)&&t.endsWith(e,g))m=T.test(e),u=R.test(e),i=M(e.replace(C,""),P);else if(t.startsWith(e,h)&&t.endsWith(e,d))m=O.test(e),u=b.test(e),(i=function(e,i){var s,u,h,d,y,g,m;if(t.startsWith(e,"end")){if((m=L[L.length-1])&&m.name===e.split(/\s+/)[0].replace(/^end/,"")&&m.ends){switch(m.name){case"autoescape":f=c.autoescape;break;case"raw":U=!1}return void L.pop()}U||t.throwError('Unexpected end of tag "'+e.replace(/^end/,"")+'"',i,c.filename)}if(!U){switch(d=(h=e.split(/\s+(.+)?/)).shift(),l.hasOwnProperty(d)||t.throwError('Unexpected tag "'+e+'"',i,c.filename),s=r.read(t.strip(h.join(" "))),u=new a(s,p,!1,i,c.filename),(y=l[d]).parse(h[1],i,u,n,L,c,o)||t.throwError('Unexpected tag "'+d+'"',i,c.filename),u.parse(),g=u.out,d){case"autoescape":f="false"!==g[0]&&g[0];break;case"raw":U=!0}var v;return"function"==typeof y.lowerExpr&&(v=y.lowerExpr(u,s,h[1],i)),{block:!!l[d].block,compile:y.compile,args:g,content:[],ends:y.ends,name:d,irExpr:v}}}(e.replace(w,""),P))&&("extends"===i.name?(S=i.args.join("").replace(/^\'|\'$/g,"").replace(/^\"|\"$/g,""),I=i.irExpr&&i.irExpr.file):i.block&&!L.length&&(j[i.args.join("")]=i)),U&&!i&&(i=e);else if(U||!t.startsWith(e,A)&&!t.endsWith(e,N))i=u?e.replace(/^\s*/,""):e,u=!1;else if(t.startsWith(e,A)&&t.endsWith(e,N))return;m&&F.length&&("string"==typeof(v=F.pop())?v=Y(v):v.content&&v.content.length&&(E=Y(v.content.pop()),v.content.push(E)),F.push(v)),i&&(L.length?L[L.length-1].content.push(i):F.push(i),i.name&&i.ends&&L.push(i),s=e.match(/\n/g),P+=s?s.length:0)}}),{name:c.filename,parent:S,parentExpr:I,tokens:F,blocks:j}},e.compile=E().compile}}),b=t({"lib/tags/import.js"(e){var t=o(),n=a(),i=E(),s=r().dangerousProps;e.compile=function(e,r,o,a,i){if(i&&"async"===i.codegenMode){var s=r[r.length-1],c=r[0].path;return n.importDeferred(n.literal("string",c),s,i.filename||"")}var l=r.pop(),p=[],u=[];t.each(r,function(e){(e.isImport?u:p).push(e)});var f=t.map(p,function(e){return e.name}).join("|"),h="_ctx."+l+' = {};\n var _output = "";\n',d=t.map(p,function(e){return{ex:new RegExp("_ctx."+e.name+"(\\W)(?!"+f+")","g"),re:"_ctx."+l+"."+e.name+"$1"}}),y=[];return t.each(u,function(e){t.each(e.boundNames,function(e){y.push({ex:new RegExp("_ctx\\."+e+"(\\W)","g"),re:"_ctx."+l+"."+e+"$1"})})}),t.each(u,function(e){var r=e.compiled;t.each(y,function(e){r=r.replace(e.ex,e.re)}),h+=r}),t.each(p,function(e){var r=e.compiled;t.each(d,function(e){r=r.replace(e.ex,e.re)}),t.each(y,function(e){r=r.replace(e.ex,e.re)}),h+=r}),h},e.parse=function(e,r,n,o,a,c,l){var p,u,f=O().compile,h={resolveFrom:c.filename},d=t.extend({},c,h),y=!(!c||"async"!==c.codegenMode);return n.on(o.STRING,function(e){var n=this;if(void 0!==p)throw new Error("Unexpected string "+e.match+" on line "+r+".");if(p=e.match.replace(/^("|')|("|')$/g,""),y)n.out.push({path:p});else{var o=l.parseFile(p,h).tokens;t.each(o,function(e){var t,r="";e&&e.compile&&("import"!==e.name?"macro"===e.name&&(t=e.args[0],r+=i.compile([e.compile(f,e.args,e.content,[],d)],[],d)+"\n",n.out.push({compiled:r,name:t})):n.out.push({compiled:e.compile(f,e.args.slice(),e.content,[],d)+"\n",isImport:!0,boundNames:[e.args[e.args.length-1]]}))})}}),n.on(o.VAR,function(e){if(void 0===p||u)throw new Error('Unexpected variable "'+e.match+'" on line '+r+".");if("as"!==e.match){if(-1!==s.indexOf(e.match))throw new Error('Unsafe import alias "'+e.match+'" is not allowed (prototype-chain guard) on line '+r+".");return u=e.match,this.out.push(u),!1}}),!0},e.block=!0}}),C=t({"lib/tags/include.js"(e){var t=a(),r=l(),n="ignore",o="missing",i="only";e.compile=function(e,r,n,a,s,c,l){var p=r.shift(),u=r.indexOf(i),f=-1!==u&&r.splice(u,1),h=(r.pop()||"").replace(/\\/g,"\\\\"),d=r[r.length-1]===o&&r.pop(),y=r.join("");return l&&l.irExpr&&(p=l.irExpr.file,y=void 0!==l.irExpr.context?l.irExpr.context:void 0),s&&"async"===s.codegenMode?t.includeDeferred(p,y||void 0,!!f,!!d,h):t.include(p,y||void 0,!!f,!!d,h)},e.lowerExpr=function(e,t){var o,a,s=0,c=-1,l=-1,p=-1;for(o=0;o<t.length;o++){if((a=t[o]).type===r.FILTER||a.type===r.FILTEREMPTY)return;a.type!==r.PARENOPEN&&a.type!==r.BRACKETOPEN&&a.type!==r.ARRAYOPEN&&a.type!==r.CURLYOPEN&&a.type!==r.FUNCTION&&a.type!==r.METHODOPEN?a.type!==r.PARENCLOSE&&a.type!==r.BRACKETCLOSE&&a.type!==r.CURLYCLOSE?0===s&&a.type===r.VAR&&(-1===c&&"with"===a.match?c=o:-1!==c&&-1===l&&a.match===i?l=o:-1===p&&a.match===n&&(p=o)):s--:s++}var u=t.length;-1!==c?u=c:-1!==p&&(u=p);var f=t.slice(0,u);if(0!==f.length){var h={file:e.parseExpr(f)};if(-1!==c){var d=t.length;-1!==l?d=l:-1!==p&&(d=p);var y=t.slice(c+1,d);y.length>0&&(h.context=e.parseExpr(y))}return h}},e.parse=function(e,t,r,a,s,c){var l,p;return r.on(a.STRING,function(e){return!!l||(l=e.match,void this.out.push(l))}),r.on(a.VAR,function(e){if(!l)return l=e.match,!0;if(p||"with"!==e.match){if(!p||e.match!==i||"with"===this.prevToken.match){if(e.match===n)return!1;if(e.match===o){if(this.prevToken.match!==n)throw new Error('Unexpected token "'+o+'" on line '+t+".");return this.out.push(e.match),!1}if(this.prevToken.match===n)throw new Error('Expected "'+o+'" on line '+t+' but found "'+e.match+'".');return!0}this.out.push(e.match)}else p=!0}),r.on("end",function(){this.out.push(c.filename||null)}),!0}}}),T=t({"lib/tags/macro.js"(e){var t=a();e.compile=function(e,r,n,o,a,i){var s=r.shift();return t.macro(s,r,[t.legacyJS(e(n,o,a,i))])};var n=r().dangerousProps;e.parse=function(e,t,r,o){var a;return r.on(o.VAR,function(e){if(-1!==e.match.indexOf("."))throw new Error('Unexpected dot in macro argument "'+e.match+'" on line '+t+".");if(!a){if(-1!==n.indexOf(e.match))throw new Error('Unsafe macro name "'+e.match+'" is not allowed (prototype-chain guard) on line '+t+".");return a=e.match,void this.out.push(a)}if(-1!==n.indexOf(e.match))throw new Error('Unsafe macro argument "'+e.match+'" is not allowed (prototype-chain guard) on line '+t+".");this.out.push({name:e.match})}),r.on(o.FUNCTION,function(e){if(!a){if(-1!==n.indexOf(e.match))throw new Error('Unsafe macro name "'+e.match+'" is not allowed (prototype-chain guard) on line '+t+".");a=e.match,this.out.push(a),this.state.push(o.FUNCTION)}}),r.on(o.FUNCTIONEMPTY,function(e){if(!a){if(-1!==n.indexOf(e.match))throw new Error('Unsafe macro name "'+e.match+'" is not allowed (prototype-chain guard) on line '+t+".");a=e.match,this.out.push(a)}}),r.on(o.PARENCLOSE,function(){if(!this.isLast)throw new Error("Unexpected parenthesis close on line "+t+".")}),r.on(o.COMMA,function(){}),r.on("*",function(){}),!0},e.ends=!0,e.block=!0}}),R=t({"lib/tags/parent.js"(e){var t=a();e.compile=function(e,r,n,o,a,i){if(!o||!o.length)return"";for(var s,c,l=r[0],p=o.length,u=0;u<p;u+=1)if((s=o[u]).blocks&&s.blocks.hasOwnProperty(i)&&l!==s.name){var f=(c=s.blocks[i]).compile(e,[i],c.content,o.slice(u+1),a);return t.parent(f&&f.body?f.body.concat([t.legacyJS("\n")]):[t.legacyJS("\n")])}},e.parse=function(e,t,r,n,o,a){return r.on("*",function(e){throw new Error('Unexpected argument "'+e.match+'" on line '+t+".")}),r.on("end",function(){this.out.push(a.filename)}),!0}}}),A=t({"lib/tags/raw.js"(e){var t=a();e.compile=function(e,r,n,o,a,i){var s,c=[];for(s=0;s<n.length;s++)"string"==typeof n[s]?c.push(t.raw(n[s])):c.push(t.legacyJS(e([n[s]],o,a,i)));return c},e.parse=function(e,t,r){return r.on("*",function(e){throw new Error('Unexpected token "'+e.match+'" in raw tag on line '+t+".")}),!0},e.ends=!0}}),N=t({"lib/tags/set.js"(e){var t=a(),n=l(),o=/^_ctx\.([a-zA-Z_$][\w$]*)((?:\.[a-zA-Z_$][\w$]*)*)$/;e.compile=function(e,r,n,a,i,s,c){var l=r[0],p="string"==typeof l&&o.exec(l);if(p){var u=[p[1]];if(p[2])for(var f=p[2].split("."),h=1;h<f.length;h++)u.push(f[h]);l=t.varRef(u)}var d=c&&c.irExpr?c.irExpr:r.slice(2).join(" ");return t.set(l,r[1],d)};var i=r().dangerousProps;e.lowerExpr=function(e,t){var r,o=-1;for(r=0;r<t.length;r++)if(t[r].type===n.ASSIGNMENT){o=r;break}if(-1!==o){var a=t.slice(o+1);for(r=0;r<a.length;r++)if(a[r].type===n.FILTER||a[r].type===n.FILTEREMPTY||a[r].type===n.ASSIGNMENT)return;return e.parseExpr(a)}},e.parse=function(e,t,r,n){var o,a="";return r.on(n.VAR,function(e){if(o)o+="_ctx."+e.match;else{if(r.out.length)return!0;for(var n=e.match.split("."),s=0;s<n.length;s++)if(-1!==i.indexOf(n[s]))throw new Error('Unsafe assignment to "'+n[s]+'" is not allowed (prototype-chain guard) on line '+t+".");a+=e.match}}),r.on(n.BRACKETOPEN,function(e){if(o||this.out.length)return!0;o=e.match}),r.on(n.STRING,function(e){if(!o||this.out.length)return!0;var r=e.match.replace(/^['"]|['"]$/g,"");if(-1!==i.indexOf(r))throw new Error('Unsafe assignment to "'+r+'" via bracket notation is not allowed (prototype-chain guard) on line '+t+".");o+=e.match}),r.on(n.BRACKETCLOSE,function(e){return!(o&&!this.out.length)||(a+=o+e.match,void(o=void 0))}),r.on(n.DOTKEY,function(e){if(!o&&!a)return!0;if(-1!==i.indexOf(e.match))throw new Error('Unsafe assignment to "'+e.match+'" is not allowed (prototype-chain guard) on line '+t+".");a+="."+e.match}),r.on(n.ASSIGNMENT,function(e){if(this.out.length||!a)throw new Error('Unexpected assignment "'+e.match+'" on line '+t+".");this.out.push("_ctx."+a),this.out.push(e.match),this.filterApplyIdx.push(this.out.length)}),!0},e.block=!0}}),k=t({"lib/tags/spaceless.js"(e){o();e.compile=function(e,t,r,n,o,a){var i=e(r,n,o,a);return i+='_output = _output.replace(/^\\s+/, "")\n .replace(/>\\s+</g, "><")\n .replace(/\\s+$/, "");\n'},e.parse=function(e,t,r){return r.on("*",function(e){throw new Error('Unexpected token "'+e.match+'" on line '+t+".")}),!0},e.ends=!0}}),_=t({"lib/tags/index.js"(e){e.autoescape=i(),e.block=s(),e.else=c(),e.elseif=u(),e.elif=e.elseif,e.extends=f(),e.filter=m(),e.for=v(),e.if=p(),e.import=b(),e.include=C(),e.macro=T(),e.parent=R(),e.raw=A(),e.set=N(),e.spaceless=k()}}),P=t({"browser/stubs/fs.js"(e,t){t.exports={}}}),L=t({"node_modules/path-browserify/index.js"(e,t){"use strict";function r(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var r,n="",o=0,a=-1,i=0,s=0;s<=e.length;++s){if(s<e.length)r=e.charCodeAt(s);else{if(47===r)break;r=47}if(47===r){if(a===s-1||1===i);else if(a!==s-1&&2===i){if(n.length<2||2!==o||46!==n.charCodeAt(n.length-1)||46!==n.charCodeAt(n.length-2))if(n.length>2){var c=n.lastIndexOf("/");if(c!==n.length-1){-1===c?(n="",o=0):o=(n=n.slice(0,c)).length-1-n.lastIndexOf("/"),a=s,i=0;continue}}else if(2===n.length||1===n.length){n="",o=0,a=s,i=0;continue}t&&(n.length>0?n+="/..":n="..",o=2)}else n.length>0?n+="/"+e.slice(a+1,s):n=e.slice(a+1,s),o=s-a-1;a=s,i=0}else 46===r&&-1!==i?++i:i=-1}return n}var o={resolve:function(){for(var e,t="",o=!1,a=arguments.length-1;a>=-1&&!o;a--){var i;a>=0?i=arguments[a]:(void 0===e&&(e=process.cwd()),i=e),r(i),0!==i.length&&(t=i+"/"+t,o=47===i.charCodeAt(0))}return t=n(t,!o),o?t.length>0?"/"+t:"/":t.length>0?t:"."},normalize:function(e){if(r(e),0===e.length)return".";var t=47===e.charCodeAt(0),o=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!t)).length||t||(e="."),e.length>0&&o&&(e+="/"),t?"/"+e:e},isAbsolute:function(e){return r(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,t=0;t<arguments.length;++t){var n=arguments[t];r(n),n.length>0&&(void 0===e?e=n:e+="/"+n)}return void 0===e?".":o.normalize(e)},relative:function(e,t){if(r(e),r(t),e===t)return"";if((e=o.resolve(e))===(t=o.resolve(t)))return"";for(var n=1;n<e.length&&47===e.charCodeAt(n);++n);for(var a=e.length,i=a-n,s=1;s<t.length&&47===t.charCodeAt(s);++s);for(var c=t.length-s,l=i<c?i:c,p=-1,u=0;u<=l;++u){if(u===l){if(c>l){if(47===t.charCodeAt(s+u))return t.slice(s+u+1);if(0===u)return t.slice(s+u)}else i>l&&(47===e.charCodeAt(n+u)?p=u:0===u&&(p=0));break}var f=e.charCodeAt(n+u);if(f!==t.charCodeAt(s+u))break;47===f&&(p=u)}var h="";for(u=n+p+1;u<=a;++u)u!==a&&47!==e.charCodeAt(u)||(0===h.length?h+="..":h+="/..");return h.length>0?h+t.slice(s+p):(s+=p,47===t.charCodeAt(s)&&++s,t.slice(s))},_makeLong:function(e){return e},dirname:function(e){if(r(e),0===e.length)return".";for(var t=e.charCodeAt(0),n=47===t,o=-1,a=!0,i=e.length-1;i>=1;--i)if(47===(t=e.charCodeAt(i))){if(!a){o=i;break}}else a=!1;return-1===o?n?"/":".":n&&1===o?"//":e.slice(0,o)},basename:function(e,t){if(void 0!==t&&"string"!=typeof t)throw new TypeError('"ext" argument must be a string');r(e);var n,o=0,a=-1,i=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var s=t.length-1,c=-1;for(n=e.length-1;n>=0;--n){var l=e.charCodeAt(n);if(47===l){if(!i){o=n+1;break}}else-1===c&&(i=!1,c=n+1),s>=0&&(l===t.charCodeAt(s)?-1===--s&&(a=n):(s=-1,a=c))}return o===a?a=c:-1===a&&(a=e.length),e.slice(o,a)}for(n=e.length-1;n>=0;--n)if(47===e.charCodeAt(n)){if(!i){o=n+1;break}}else-1===a&&(i=!1,a=n+1);return-1===a?"":e.slice(o,a)},extname:function(e){r(e);for(var t=-1,n=0,o=-1,a=!0,i=0,s=e.length-1;s>=0;--s){var c=e.charCodeAt(s);if(47!==c)-1===o&&(a=!1,o=s+1),46===c?-1===t?t=s:1!==i&&(i=1):-1!==t&&(i=-1);else if(!a){n=s+1;break}}return-1===t||-1===o||0===i||1===i&&t===o-1&&t===n+1?"":e.slice(t,o)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var r=t.dir||t.root,n=t.base||(t.name||"")+(t.ext||"");return r?r===t.root?r+n:r+e+n:n}("/",e)},parse:function(e){r(e);var t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;var n,o=e.charCodeAt(0),a=47===o;a?(t.root="/",n=1):n=0;for(var i=-1,s=0,c=-1,l=!0,p=e.length-1,u=0;p>=n;--p)if(47!==(o=e.charCodeAt(p)))-1===c&&(l=!1,c=p+1),46===o?-1===i?i=p:1!==u&&(u=1):-1!==i&&(u=-1);else if(!l){s=p+1;break}return-1===i||-1===c||0===u||1===u&&i===c-1&&i===s+1?-1!==c&&(t.base=t.name=0===s&&a?e.slice(1,c):e.slice(s,c)):(0===s&&a?(t.name=e.slice(1,i),t.base=e.slice(1,c)):(t.name=e.slice(s,i),t.base=e.slice(s,c)),t.ext=e.slice(i,c)),s>0?t.dir=e.slice(0,s-1):a&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};o.posix=o,t.exports=o}}),S=t({"packages/swig-core/lib/loaders/filesystem.js"(e,t){var r=P(),n=L();t.exports=function(e,t,o){var a={};return t=t||"utf8",e=e?n.resolve(e):null,a.resolve=function(t,r){var a,i;if(r=e||(r?n.dirname(r):process.cwd()),a=n.resolve(r,t),e&&!o&&(i=n.normalize(e+n.sep),a!==e&&0!==a.indexOf(i)))throw new Error('Template "'+t+'" resolves outside the loader root "'+e+'" (CVE-2023-25345).');return a},a.load=function(e,n){if(!r||n&&!r.readFile||!r.readFileSync)throw new Error("Unable to find file "+e+" because there is no filesystem to read from.");if(e=a.resolve(e),!n)return r.readFileSync(e,t);r.readFile(e,t,n)},a}}}),I=t({"packages/swig-core/lib/loaders/memory.js"(e,t){var r=L(),o=n();t.exports=function(e,t){var n={};return t=t?r.normalize(t):null,n.resolve=function(e,n){return t?(/^\.\.([\\/]|$)/.test(r.normalize(e))&&o.throwError('Template "'+e+'" resolves outside the loader root "'+t+'".'),n=t):n=n?r.dirname(n):"/",r.resolve(n,e)},n.load=function(t,r){var n,a;if(a=[t,t.replace(/^(\/|\\)/,"")],(n=e[a[0]]||e[a[1]])||o.throwError('Unable to find template "'+t+'".'),!r)return n;r(null,n)},n}}}),F=t({"packages/swig-core/lib/loaders/index.js"(e){e.fs=S(),e.memory=I()}}),j=t({"lib/loaders/index.js"(e,t){t.exports=F()}}),U=t({"lib/async/pre-walker.js"(e){var t=o();function r(e){return e.replace(/[\-\/\\\^$*+?.()|\[\]{}]/g,"\\$&")}function n(e,t,r){var n=e.substr(t.length,e.length-t.length-r.length);return"-"===n.charAt(0)&&(n=n.substr(1)),"-"===n.charAt(n.length-1)&&(n=n.substr(0,n.length-1)),n.replace(/^\s+|\s+$/g,"")}e.scan=function(e,o){e=e.replace(/\r\n/g,"\n");var a,i,s,c,l,p=function(e){var t="[\\s\\S]*?",n=r(e.varControls[0]),o=r(e.varControls[1]),a=r(e.tagControls[0]),i=r(e.tagControls[1]),s=r(e.cmtControls[0]),c=r(e.cmtControls[1]);return new RegExp("("+a+t+i+"|"+n+t+o+"|"+s+t+c+")")}(o),u=o.tagControls[0],f=o.tagControls[1],h=o.rawTag,d="end"+h,y=new RegExp("^("+o.keywords.join("|")+")\\s+[\"\\']([^\"\\']+)[\"\\']"),g=e.split(p),m=[],v=!1;for(a=0;a<g.length;a+=1)"string"==typeof(i=g[a])&&i&&t.startsWith(i,u)&&t.endsWith(i,f)&&((c=(s=n(i,u,f)).split(/\s+/)[0])!==h?c!==d?v||(l=y.exec(s))&&m.push({kind:l[1],path:l[2]}):v=!1:v=!0);return m},e.walk=function(t,r,n){var o={},a={};return new Promise(function(i,s){var c=0,l=[],p=!1;function u(e){o.hasOwnProperty(e)||a[e]||(a[e]=!0,l.push(e))}function f(){for(;l.length>0&&!p;){var e=l.shift();c+=1,h(e)}0!==c||p||0!==l.length||i(o)}function h(t){r.load(t,function(a,i){if(!p){if(a)return p=!0,void s(a);if("string"!=typeof i)return p=!0,void s(new Error('Async loader returned non-string source for "'+t+'"'));var l,h,d;o[t]=i;try{l=e.scan(i,n)}catch(e){return p=!0,void s(e)}for(h=0;h<l.length;h+=1){try{d=r.resolve(l[h].path,t)}catch(e){return p=!0,void s(e)}u(d)}c-=1,f()}})}u(t),f()})},e.makeMemoryWrapper=function(e,t){return{resolve:function(t,r){return e.resolve(t,r)},load:function(e,r){var n=t[e];if("string"!=typeof n){var o=new Error('Pre-walked map missing path: "'+e+'"');if(r)return void r(o);throw o}if(!r)return n;r(null,n)}}}}}),M=t({"packages/swig-core/lib/cache.js"(e){e.shouldCache=function(e,t){return(e=e||{}).hasOwnProperty("cache")&&!e.cache||!t},e.cacheGet=function(t,r,n,o){if(!e.shouldCache(r,n))return"memory"===n?Object.prototype.hasOwnProperty.call(o,t)?o[t]:void 0:n.get(t)},e.cacheSet=function(t,r,n,o,a){e.shouldCache(r,o)||("memory"!==o?o.set(t,n):a[t]=n)}}}),Y=t({"packages/swig-core/lib/engine.js"(e){var t=n(),r=a(),o=E(),i=M(),s=Object.getPrototypeOf(async function(){}).constructor;function c(){return""}function l(e,t){return t&&"async"===t.codegenMode?e+"#async":e}function p(e,n){var a={},i=[];return t.each(e.blocks,function(e){var s=e.args?e.args.slice(0):[],c=e.content?e.content.slice(0):[];if("block"!==e.name){var l=e.compile(o.compile,s,c,[],n,void 0,e);null!=l&&""!==l&&("string"!=typeof l?t.isArray(l)?t.each(l,function(e){i.push(e)}):"object"==typeof l&&"string"==typeof l.type&&i.push(l):i.push(r.legacyJS(l)))}else{var p=s.join(""),u=e.compile(o.compile,s,c,[],n,p,e);u&&"object"==typeof u&&"string"==typeof u.type&&(a[p]=u)}}),r.extendsDeferred(e.parentExpr||r.literal("string",e.parent),a,i,n.filename||"")}e.remapBlocks=function e(r,n){return t.map(n,function(t){var n=t.args?t.args.join(""):"";return"block"===t.name&&r[n]&&(t=r[n]),t.content&&t.content.length&&(t.content=e(r,t.content)),t})},e.importNonBlocks=function(e,r){var n=[];t.each(e,function(e){n.push(e)}),t.each(n.reverse(),function(e){"block"!==e.name&&r.unshift(e)})},e.getParents=function(r,n,o){for(var a,i,s,c=r.parent,l=[],p=[];c;){if(!n||!n.filename)throw new Error('Cannot extend "'+c+'" because current template has no filename.');if(a=a||n.filename,a=o.resolve(c,a),(i=o.cacheGet(a,n))&&i.tokens||(i=o.parseFile(a,t.extend({},n,{filename:a}))),c=i.parent,-1!==l.indexOf(a))throw new Error('Illegal circular extends of "'+a+'".');l.push(a),p.push(i)}for(s=p.length,s=p.length-2;s>=0;s-=1)p[s].tokens=e.remapBlocks(p[s].blocks,p[s+1].tokens),e.importNonBlocks(p[s].blocks,p[s].tokens);return p},e.buildTemplateFunction=function(e,t,r){if(r&&"async"===r.codegenMode){var n=' var _ext = _swig.extensions,\n _output = "",\n _exports = {};\n'+o.compile(e,t,r)+"\n return { output: _output, exports: _exports };\n";return new s("_swig","_ctx","_filters","_utils","_fn","_blocks",n)}var a=' var _ext = _swig.extensions,\n _output = "";\n'+o.compile(e,t,r)+"\n return _output;\n";return new Function("_swig","_ctx","_filters","_utils","_fn",a)},e.install=function(r,n){var o=n.parser,a=t.extend({},n.tags),s=t.extend({},n.filters),u=n.validateOptions,f=n.onCompileError;function h(e){return e&&e.locals?t.extend({},r.options.locals,e.locals):r.options.locals}function d(e,t){return i.cacheGet(e,t,r.options.cache,r.cache)}function y(e,t,n){i.cacheSet(e,t,n,r.options.cache,r.cache)}function g(e){var n=h(),o=t.keys(n).length;return function(a,i){var l;return l=a&&o?t.extend({},n,a):a&&!o?a:!a&&o?n:{},e(r,l,s,t,c,i)}}function m(e,t){if("string"!=typeof e||!e.length)throw new Error("Template registration path must be a non-empty string.");if("function"!=typeof t)throw new Error('Registered template for "'+e+'" is not a function. Pass a pre-compiled template function.');if(!r.options.cache)throw new Error("Cannot register templates while caching is disabled (cache: "+r.options.cache+"). The registry is the compile cache.")}r.invalidateCache=function(){"memory"===r.options.cache&&(r.cache={})},r.register=function(e,t){return m(e,t),y(r.options.loader.resolve(e),{},g(t)),r},r.registerBundle=function(e){var n=[];if(!e||"object"!=typeof e)throw new Error("Template bundle must be an object of { path: templateFn } pairs.");return t.each(e,function(e,t){n.push([t,e]),m(t,e)}),t.each(n,function(e){r.register(e[0],e[1])}),r},r.setFilter=function(e,t){if("function"!=typeof t)throw new Error('Filter "'+e+'" is not a valid function.');s[e]=t},r.setTag=function(e,t,r,n,o){if("function"!=typeof t)throw new Error('Tag "'+e+'" parse method is not a valid function.');if("function"!=typeof r)throw new Error('Tag "'+e+'" compile method is not a valid function.');a[e]={parse:t,compile:r,ends:n||!1,block:!!o}},r.setExtension=function(e,t){r.extensions[e]=t},r.parse=function(e,n){u(n);var i,c=h(n),l={};for(i in n)n.hasOwnProperty(i)&&"locals"!==i&&(l[i]=n[i]);return(n=t.extend({},r.options,l)).locals=c,o.parse(r,e,n,a,s)},r.parseFile=function(e,n){var o;return n||(n={}),e=r.options.loader.resolve(e,n.resolveFrom),o=r.options.loader.load(e),n.filename||(n=t.extend({filename:e},n)),r.parse(o,n)},r.precompile=function(t,n){var o,a,i=r.parse(t,n);if(n&&"async"===n.codegenMode&&i.parent)o=[],i.tokens=[p(i,n)];else{if(i.parentExpr)throw new Error("Dynamic {% extends %} requires the async render path — use renderFile(path, locals, cb) with a loader that sets loader.async === true.");o=function(t,n){return e.getParents(t,n,{resolve:function(e,t){return r.options.loader.resolve(e,t)},parseFile:r.parseFile,cacheGet:d})}(i,n),o.length&&(i.tokens=e.remapBlocks(i.blocks,o[0].tokens),e.importNonBlocks(i.blocks,i.tokens))}try{a=e.buildTemplateFunction(i,o,n)}catch(e){f(e,n)}return{tpl:a,tokens:i}},r.compile=function(e,n){var o,a,i,p=n&&n.filename?l(n.filename,n):null,u=p?d(p,n):null;if(u)return u;function f(e,n){var l;return l=e&&a?t.extend({},o,e):e&&!a?e:!e&&a?o:{},i.tpl(r,l,s,t,c,n)}return o=h(n),a=t.keys(o).length,i=r.precompile(e,n),t.extend(f,i.tokens),p&&y(p,n,f),f},r.compileFile=function(e,n,o){var a,i;return n||(n={}),e=r.options.loader.resolve(e,n.resolveFrom),n.filename||(n=t.extend({filename:e},n)),(i=d(l(e,n),n))?o?void o(null,i):i:o?void r.options.loader.load(e,function(e,t){if(e)o(e);else{var a;try{a=r.compile(t,n)}catch(e){return void o(e)}o(e,a)}}):(a=r.options.loader.load(e),r.compile(a,n))},r.getTemplate=function(e,n){var o;n=n||{};try{o=r.options.loader.resolve(e,n.resolveFrom)}catch(e){return Promise.reject(e)}var a=t.extend({},n,{filename:n.filename||o,codegenMode:"async",cache:!1});return new Promise(function(e,t){function n(n,o){if(n)t(n);else{var i;try{i=r.compile(o,a)}catch(e){return void t(e)}e(i)}}if(r.options.loader.load.length>=2)try{r.options.loader.load(o,n)}catch(e){n(e)}else{var i;try{i=r.options.loader.load(o)}catch(e){return void n(e)}n(null,i)}})},r.render=function(e,t){return r.compile(e,t)()},r.renderFile=function(e,t,n){return n?r.options.loader&&!0===r.options.loader.async?void r.getTemplate(e).then(function(e){return e(t)}).then(function(e){n(null,e.output)}).catch(n):void r.compileFile(e,{},function(e,r){var o;if(e)n(e);else{try{o=r(t)}catch(e){return void n(e)}n(null,o)}}):r.compileFile(e)(t)},r.run=function(e,n,o){var a=h({locals:n});return o&&y(r.options.loader.resolve(o),{},g(e)),e(r,a,s,t,c)}}}}),D=t({"lib/swig.js"(e){var t=o(),r=_(),n=g(),a=O(),i=d(),s=j(),c=U(),l=Y();e.version="2.8.2";var p,u={autoescape:!0,varControls:["{{","}}"],tagControls:["{%","%}"],cmtControls:["{#","#}"],locals:{},cache:"memory",loader:s.fs()};function f(e){if(e){if(t.each(["varControls","tagControls","cmtControls"],function(r){if(e.hasOwnProperty(r)){if(!t.isArray(e[r])||2!==e[r].length||"string"!=typeof e[r][0]||"string"!=typeof e[r][1])throw new Error('Option "'+r+'" must be an array containing 2 different control strings.');if(e[r][0]===e[r][1])throw new Error('Option "'+r+'" open and close controls must not be the same.');t.each(e[r],function(e,t){if(e.length<2)throw new Error('Option "'+r+'" '+(t?"close ":"open ")+'control must be at least 2 characters. Saw "'+e+'" instead.')})}}),e.hasOwnProperty("cache")&&e.cache&&"memory"!==e.cache&&(!e.cache.get||!e.cache.set))throw new Error("Invalid cache option "+JSON.stringify(e.cache)+' found. Expected "memory" or { get: function (key) { ... }, set: function (key, value) { ... } }.');if(e.hasOwnProperty("loader")&&e.loader&&(!e.loader.load||!e.loader.resolve))throw new Error("Invalid loader option "+JSON.stringify(e.loader)+" found. Expected { load: function (pathname, cb) { ... }, resolve: function (to, from) { ... } }.")}}e.setDefaults=function(e){f(e),p.options=t.extend(p.options,e)},e.setDefaultTZOffset=function(e){i.tzOffset=e},e.Swig=function(e){f(e),this.options=t.extend({},u,e||{}),this.cache={},this.extensions={},l.install(this,{parser:a,tags:r,filters:n,validateOptions:f,onCompileError:function(e,r){var n=r&&r.filename;if(e instanceof Error&&(!n||-1!==e.message.indexOf(" in file "+n)))throw e;t.throwError(e,null,n)}});var o=this;function i(){return{varControls:o.options.varControls,tagControls:o.options.tagControls,cmtControls:o.options.cmtControls,rawTag:"raw",keywords:["extends","include","import"]}}this.renderFileAsync=function(e,t,r){"function"==typeof t&&(r=t,t=void 0);var n,a=o.options.loader;try{n=a.resolve(e)}catch(e){return void r(e)}c.walk(n,a,i()).then(function(e){var i,s,l=c.makeMemoryWrapper(a,e),p=o.options.loader;o.options.loader=l;try{i=o.renderFile(n,t)}catch(e){s=e}o.options.loader=p,s?r(s):r(null,i)},function(e){r(e)})},this.compileFileAsync=function(e,t,r){"function"==typeof t&&(r=t,t={});var n,a=o.options.loader;try{n=a.resolve(e)}catch(e){return void r(e)}c.walk(n,a,i()).then(function(e){var i,s,l=c.makeMemoryWrapper(a,e),p=o.options.loader;o.options.loader=l;try{i=o.compileFile(n,t)}catch(e){s=e}if(o.options.loader=p,s)r(s);else{r(null,function(e){var t=o.options.loader;o.options.loader=l;try{var r=i(e);return o.options.loader=t,r}catch(e){throw o.options.loader=t,e}})}},function(e){r(e)})}},p=new e.Swig,e.setFilter=p.setFilter,e.setTag=p.setTag,e.setExtension=p.setExtension,e.parseFile=p.parseFile,e.precompile=p.precompile,e.compile=p.compile,e.compileFile=p.compileFile,e.compileFileAsync=p.compileFileAsync,e.render=p.render,e.renderFile=p.renderFile,e.renderFileAsync=p.renderFileAsync,e.run=p.run,e.register=p.register,e.registerBundle=p.registerBundle,e.invalidateCache=p.invalidateCache,e.loaders=s}})();"function"==typeof window.define&&"object"==typeof window.define.amd?window.define("swig",[],function(){return D}):window.swig=D})();
|
|
3
|
+
(()=>{var e=Object.getOwnPropertyNames,t=(t,r)=>function(){try{return r||(0,t[e(t)[0]])((r={exports:{}}).exports,r),r.exports}catch(e){throw r=0,e}},r=t({"packages/swig-core/lib/security.js"(e){e.dangerousProps=["__proto__","constructor","prototype"]}}),n=t({"packages/swig-core/lib/utils.js"(e){var t,n=r();function o(e,t){var r;if(null!=e&&-1===n.dangerousProps.indexOf(t)){if("function"==typeof(r=e[t])){if(!0===r.alters_data)return;if(!0===r.do_not_call_in_templates)return r;try{return r.call(e)}catch(e){return}}return r}}e.strip=function(e){return e.replace(/^\s+|\s+$/g,"")},e.startsWith=function(e,t){return 0===e.indexOf(t)},e.endsWith=function(e,t){return-1!==e.indexOf(t,e.length-t.length)},e.each=function(e,r){var n,o;if(t(e))for(n=0,o=e.length;n<o&&!1!==r(e[n],n,e);n+=1);else for(n in e)if(e.hasOwnProperty(n)&&!1===r(e[n],n,e))break;return e},e.isArray=t=Array.hasOwnProperty("isArray")?Array.isArray:function(e){return!!e&&("object"==typeof e&&-1!==Object.prototype.toString.call(e).indexOf())},e.some=function(r,n){var o,a,i=0;if(t(r))for(a=r.length;i<a&&!(o=n(r[i],i,r));i+=1);else e.each(r,function(e,t){return!(o=n(e,t,r))});return!!o},e.map=function(e,r){var n,o=0,a=[];if(t(e))for(n=e.length;o<n;o+=1)a[o]=r(e[o],o);else for(o in e)e.hasOwnProperty(o)&&(a[o]=r(e[o],o));return a},e.extend=function(){for(var e,t,r=arguments,n=r[0],o=r.length>1?Array.prototype.slice.call(r,1):[],a=0,i=o.length;a<i;a+=1)for(e in t=o[a]||{})t.hasOwnProperty(e)&&(n[e]=t[e]);return n},e.keys=function(t){return t?Object.keys?Object.keys(t):e.map(t,function(e,t){return t}):[]},e.throwError=function(e,t,r){throw t&&(e+=" on line "+t),r&&(e+=" in file "+r),new Error(e+".")},e.range=function(e,t){var r,n,o,a=[];if("number"==typeof e&&"number"==typeof t){if(!isFinite(e)||!isFinite(t))return a;if(e<=t)for(r=e;r<=t;r+=1)a.push(r);else for(r=e;r>=t;r-=1)a.push(r);return a}if("string"==typeof e&&"string"==typeof t&&1===e.length&&1===t.length){if((n=e.charCodeAt(0))<=(o=t.charCodeAt(0)))for(r=n;r<=o;r+=1)a.push(String.fromCharCode(r));else for(r=n;r>=o;r-=1)a.push(String.fromCharCode(r));return a}return a},e.slice=function(e,t,r,n){var o,a,i,s,c,l,p="string"==typeof e,u=[];function f(e){return e=Number(e),isNaN(e)?NaN:e<0?Math.ceil(e):Math.floor(e)}function h(e,t){return null==e?t:(e=f(e),isNaN(e)?t:(e<0?(e+=o)<a&&(e=a):e>i&&(e=i),e))}if(null==e||"number"!=typeof e.length)return p?"":[];if(o=e.length,null==n?n=1:(n=f(n),(isNaN(n)||0===n)&&(n=1)),n<0?(a=-1,i=o-1):(a=0,i=o),s=h(t,n<0?i:a),c=h(r,n<0?a:i),n>0)for(l=s;l<c;l+=n)u.push(e[l]);else for(l=s;l>c;l+=n)u.push(e[l]);return p?u.join(""):u},e.coerceOutput=function(e){return null==e?"":e},e.resolve=function(e,t){var r,n=e;for(r=0;r<t.length;r+=1)if(null==(n=o(n,t[r])))return n;return n}}}),o=t({"lib/utils.js"(e,t){t.exports=n()}}),a=t({"packages/swig-core/lib/ir.js"(e){function t(e,t){return void 0!==t&&(e.loc=t),e}e.template=function(e,r,n,o){var a={type:"Template",body:e};return void 0!==r&&(a.parent=r),void 0!==n&&(a.blocks=n),t(a,o)},e.text=function(e,r){return t({type:"Text",value:e},r)},e.output=function(e,r,n,o){var a={type:"Output",expr:e};return void 0!==r&&(a.filters=r),void 0!==n&&(a.safe=n),t(a,o)},e.filterCall=function(e,t){var r={name:e};return void 0!==t&&(r.args=t),r},e.ifStmt=function(e,r){return t({type:"If",branches:e},r)},e.ifBranch=function(e,t){return{test:e,body:t}},e.forStmt=function(e,r,n,o,a,i){var s={type:"For",value:e,iterable:r,body:n};return void 0!==o&&(s.key=o),void 0!==a&&(s.emptyBody=a),t(s,i)},e.block=function(e,r,n){return t({type:"Block",name:e,body:r},n)},e.include=function(e,r,n,o,a,i){var s={type:"Include",path:e};return void 0!==r&&(s.context=r),void 0!==n&&(s.isolated=n),void 0!==o&&(s.ignoreMissing=o),void 0!==a&&(s.resolveFrom=a),t(s,i)},e.importStmt=function(e,r,n){return t({type:"Import",path:e,alias:r},n)},e.macro=function(e,r,n,o){return t({type:"Macro",name:e,params:r,body:n},o)},e.macroParam=function(e,t){var r={name:e};return void 0!==t&&(r.default=t),r},e.call=function(e,r,n){return t({type:"Call",callee:e,args:r},n)},e.set=function(e,r,n,o){return t({type:"Set",target:e,op:r,value:n},o)},e.raw=function(e,r){return t({type:"Raw",value:e},r)},e.parent=function(e,r){var n={type:"Parent"};return void 0!==e&&(n.body=e),t(n,r)},e.autoescape=function(e,r,n){return t({type:"Autoescape",strategy:e,body:r},n)},e.filter=function(e,r,n,o){var a={type:"Filter",name:e,body:r};return void 0!==n&&(a.args=n),t(a,o)},e.withStmt=function(e,r,n,o){var a={type:"With",body:n};return void 0!==e&&(a.context=e),void 0!==r&&(a.isolated=r),t(a,o)},e.legacyJS=function(e,r){return t({type:"LegacyJS",js:e},r)},e.extendsDeferred=function(e,r,n,o,a){var i={type:"ExtendsDeferred",path:e};return void 0!==r&&(i.childBlocks=r),void 0!==n&&(i.childIRs=n),void 0!==o&&(i.resolveFrom=o),t(i,a)},e.includeDeferred=function(e,r,n,o,a,i){var s={type:"IncludeDeferred",path:e};return void 0!==r&&(s.context=r),void 0!==n&&(s.isolated=n),void 0!==o&&(s.ignoreMissing=o),void 0!==a&&(s.resolveFrom=a),t(s,i)},e.importDeferred=function(e,r,n,o){var a={type:"ImportDeferred",path:e,alias:r};return void 0!==n&&(a.resolveFrom=n),t(a,o)},e.fromImportDeferred=function(e,r,n,o){var a={type:"FromImportDeferred",path:e,imports:r};return void 0!==n&&(a.resolveFrom=n),t(a,o)},e.literal=function(e,r,n){return t({type:"Literal",kind:e,value:r},n)},e.varRef=function(e,r){return t({type:"VarRef",path:e},r)},e.varRefExists=function(e,r){return t({type:"VarRefExists",path:e},r)},e.access=function(e,r,n){return t({type:"Access",object:e,key:r},n)},e.binaryOp=function(e,r,n,o){return t({type:"BinaryOp",op:e,left:r,right:n},o)},e.unaryOp=function(e,r,n){return t({type:"UnaryOp",op:e,operand:r},n)},e.conditional=function(e,r,n,o){var a={type:"Conditional",test:e,then:r};return a.else=n,t(a,o)},e.arrayLiteral=function(e,r){return t({type:"ArrayLiteral",elements:e},r)},e.objectLiteral=function(e,r){return t({type:"ObjectLiteral",properties:e},r)},e.objectProperty=function(e,t){return{key:e,value:t}},e.fnCall=function(e,r,n){return t({type:"FnCall",callee:e,args:r},n)},e.filterCallExpr=function(e,r,n,o){var a={type:"FilterCall",name:e,input:r};return void 0!==n&&(a.args=n),t(a,o)}}}),i=t({"lib/tags/autoescape.js"(e){var t=o(),r=a(),n=["html","js"];e.compile=function(e,t,n,o,a,i){var s=e(n,o,a,i);return r.autoescape(function(e){if("true"===e)return!0;if("false"===e)return!1;if("string"==typeof e&&e.length>=2){var t=e.charAt(0),r=e.charAt(e.length-1);if('"'===t&&'"'===r||"'"===t&&"'"===r)return e.slice(1,-1)}return e}(t[0]),[r.legacyJS(s)])},e.parse=function(e,r,o,a,i,s){var c;return o.on("*",function(e){if(!c&&(e.type===a.BOOL||e.type===a.STRING&&-1===n.indexOf(e.match)))return this.out.push(e.match),void(c=!0);t.throwError('Unexpected token "'+e.match+'" in autoescape tag',r,s.filename)}),!0},e.ends=!0}}),s=t({"lib/tags/block.js"(e){var t=a();e.compile=function(e,r,n,o,a){var i=r.join("");return t.block(i,[t.legacyJS(e(n,o,a,i))])},e.parse=function(e,t,r){return r.on("*",function(e){this.out.push(e.match)}),!0},e.ends=!0,e.block=!0}}),c=t({"lib/tags/else.js"(e){e.compile=function(){return"} else {\n"},e.parse=function(e,t,r,n,o){return r.on("*",function(e){throw new Error('"else" tag does not accept any tokens. Found "'+e.match+'" on line '+t+".")}),o.length&&"if"===o[o.length-1].name}}}),l=t({"packages/swig-core/lib/tokentypes.js"(e,t){t.exports={WHITESPACE:0,STRING:1,FILTER:2,FILTEREMPTY:3,FUNCTION:4,FUNCTIONEMPTY:5,PARENOPEN:6,PARENCLOSE:7,COMMA:8,VAR:9,NUMBER:10,OPERATOR:11,BRACKETOPEN:12,BRACKETCLOSE:13,DOTKEY:14,ARRAYOPEN:15,CURLYOPEN:17,CURLYCLOSE:18,COLON:19,COMPARATOR:20,LOGIC:21,NOT:22,BOOL:23,ASSIGNMENT:24,METHODOPEN:25,QMARK:27,UNKNOWN:100}}}),p=t({"lib/tags/if.js"(e){var t=a(),r=l();e.compile=function(e,r,n,o,a,i,s){var c,l,p=[],u=s&&s.irExpr?s.irExpr:t.legacyJS(r.join(" ")),f=[];for(c=0;c<n.length;c++)!(l=n[c])||"elseif"!==l.name&&"else"!==l.name?f.push(l):(p.push(t.ifBranch(u,[t.legacyJS(e(f,o,a,i))])),u="else"===l.name?null:l.irExpr?l.irExpr:t.legacyJS(l.args.join(" ")),f=[]);return p.push(t.ifBranch(u,[t.legacyJS(e(f,o,a,i))])),t.ifStmt(p)},e.lowerExpr=function(e,t){var n;for(n=0;n<t.length;n++)if(t[n].type===r.FILTER||t[n].type===r.FILTEREMPTY)return;return e.parseExpr(t)},e.parse=function(e,t,r,n){if(void 0===e)throw new Error("No conditional statement provided on line "+t+".");return r.on(n.COMPARATOR,function(e){if(this.isLast)throw new Error('Unexpected logic "'+e.match+'" on line '+t+".");if(this.prevToken.type===n.NOT)throw new Error('Attempted logic "not '+e.match+'" on line '+t+". Use !(foo "+e.match+") instead.");this.out.push(e.match),this.filterApplyIdx.push(this.out.length)}),r.on(n.NOT,function(e){if(this.isLast)throw new Error('Unexpected logic "'+e.match+'" on line '+t+".");this.out.push(e.match)}),r.on(n.BOOL,function(e){this.out.push(e.match)}),r.on(n.LOGIC,function(e){if(!this.out.length||this.isLast)throw new Error('Unexpected logic "'+e.match+'" on line '+t+".");this.out.push(e.match),this.filterApplyIdx.pop()}),!0},e.ends=!0}}),u=t({"lib/tags/elseif.js"(e){var t=p().parse,r=l();e.compile=function(e,t){return"} else if ("+t.join(" ")+") {\n"},e.lowerExpr=function(e,t){var n;for(n=0;n<t.length;n++)if(t[n].type===r.FILTER||t[n].type===r.FILTEREMPTY)return;return e.parseExpr(t)},e.parse=function(e,r,n,o,a){return t(e,r,n,o,a)&&a.length&&"if"===a[a.length-1].name}}}),f=t({"lib/tags/extends.js"(e){var t=l();e.compile=function(){},e.parse=function(){return!0},e.lowerExpr=function(e,r){var n,o,a=[];for(n=0;n<r.length;n+=1)(o=r[n]).type!==t.WHITESPACE&&a.push(o);if(a.length&&(1!==a.length||a[0].type!==t.STRING))return{file:e.parseExpr(r)}},e.ends=!1}}),h=t({"packages/swig-core/lib/dateformatter.js"(e){var t=n(),r={full:["January","February","March","April","May","June","July","August","September","October","November","December"],abbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]},o={full:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],abbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],alt:{"-1":"Yesterday",0:"Today",1:"Tomorrow"}};e.tzOffset=0,e.DateZ=function(){var r=["getUTCDate","getUTCDay","getUTCFullYear","getUTCHours","getUTCMilliseconds","getUTCMinutes","getUTCMonth","getUTCSeconds","toISOString","toGMTString","toUTCString","valueOf","getTime"],n=["getDate","getDay","getFullYear","getHours","getMilliseconds","getMinutes","getMonth","getSeconds","getYear","toDateString","toLocaleDateString","toLocaleTimeString"],o=this;o.date=o.dateZ=arguments.length>1?new Date(Date.UTC.apply(Date,arguments)+6e4*(new Date).getTimezoneOffset()):1===arguments.length?new Date(new Date(arguments[0])):new Date,o.timezoneOffset=o.dateZ.getTimezoneOffset(),t.each(n,function(e){o[e]=function(){return o.dateZ[e]()}}),t.each(r,function(e){o[e]=function(){return o.date[e]()}}),this.setTimezoneOffset(e.tzOffset)},e.DateZ.prototype={getTimezoneOffset:function(){return this.timezoneOffset},setTimezoneOffset:function(e){return this.timezoneOffset=e,this.dateZ=new Date(this.date.getTime()+6e4*this.date.getTimezoneOffset()-6e4*this.timezoneOffset),this}},e.d=function(e){return(e.getDate()<10?"0":"")+e.getDate()},e.D=function(e){return o.abbr[e.getDay()]},e.j=function(e){return e.getDate()},e.l=function(e){return o.full[e.getDay()]},e.N=function(e){var t=e.getDay();return t>=1?t:7},e.S=function(e){var t=e.getDate();return t%10==1&&11!==t?"st":t%10==2&&12!==t?"nd":t%10==3&&13!==t?"rd":"th"},e.w=function(e){return e.getDay()},e.z=function(t,r,n){var o=t.getFullYear(),a=new e.DateZ(o,t.getMonth(),t.getDate(),12,0,0),i=new e.DateZ(o,0,1,12,0,0);return a.setTimezoneOffset(r,n),i.setTimezoneOffset(r,n),Math.round((a-i)/864e5)},e.W=function(e){var t,r=new Date(e.valueOf()),n=(e.getDay()+6)%7;return r.setDate(r.getDate()-n+3),t=r.valueOf(),r.setMonth(0,1),4!==r.getDay()&&r.setMonth(0,1+(4-r.getDay()+7)%7),1+Math.ceil((t-r)/6048e5)},e.F=function(e){return r.full[e.getMonth()]},e.m=function(e){return(e.getMonth()<9?"0":"")+(e.getMonth()+1)},e.M=function(e){return r.abbr[e.getMonth()]},e.n=function(e){return e.getMonth()+1},e.t=function(e){return 32-new Date(e.getFullYear(),e.getMonth(),32).getDate()},e.L=function(e){return 29===new Date(e.getFullYear(),1,29).getDate()},e.o=function(e){var t=new Date(e.valueOf());return t.setDate(t.getDate()-(e.getDay()+6)%7+3),t.getFullYear()},e.Y=function(e){return e.getFullYear()},e.y=function(e){return e.getFullYear().toString().substr(2)},e.a=function(e){return e.getHours()<12?"am":"pm"},e.A=function(e){return e.getHours()<12?"AM":"PM"},e.B=function(e){var t,r=e.getUTCHours();return r=23===r?0:r+1,t=Math.abs((60*(60*r+e.getUTCMinutes())+e.getUTCSeconds())/86.4).toFixed(0),"000".concat(t).slice(t.length)},e.g=function(e){var t=e.getHours();return 0===t?12:t>12?t-12:t},e.G=function(e){return e.getHours()},e.h=function(e){var t=e.getHours();return(t<10||12<t&&22>t?"0":"")+(t<12?t:t-12)},e.H=function(e){var t=e.getHours();return(t<10?"0":"")+t},e.i=function(e){var t=e.getMinutes();return(t<10?"0":"")+t},e.s=function(e){var t=e.getSeconds();return(t<10?"0":"")+t},e.O=function(e){var t=e.getTimezoneOffset();return(t<0?"-":"+")+(t/60<10?"0":"")+Math.abs(t/60)+"00"},e.Z=function(e){return 60*e.getTimezoneOffset()},e.c=function(e){return e.toISOString()},e.r=function(e){return e.toUTCString()},e.U=function(e){return e.getTime()/1e3}}}),d=t({"lib/dateformatter.js"(e,t){t.exports=h()}}),y=t({"packages/swig-core/lib/filters.js"(e){var t=n();e.iterateFilter=function(e){var r=this,n={};return t.isArray(e)?t.map(e,function(e){return r.apply(null,arguments)}):"object"==typeof e?(t.each(e,function(e,t){n[t]=r.apply(null,arguments)}),n):void 0}}}),g=t({"lib/filters.js"(e){var t=o(),r=d(),n=y().iterateFilter;function a(e){return"<"===e?"<":">"===e?">":'"'===e?""":"'"}e.addslashes=function(t){var r=n.apply(e.addslashes,arguments);return void 0!==r?r:t.replace(/\\/g,"\\\\").replace(/\'/g,"\\'").replace(/\"/g,'\\"')},e.capitalize=function(t){var r=n.apply(e.capitalize,arguments);return void 0!==r?r:t.toString().charAt(0).toUpperCase()+t.toString().substr(1).toLowerCase()},e.date=function(e,t,n,o){var a,i=t.length,s=new r.DateZ(e),c=0,l="";for(n&&s.setTimezoneOffset(n,o);c<i;c+=1)"\\"===(a=t.charAt(c))?l+=(c+=1)<i?t.charAt(c):a:r.hasOwnProperty(a)?l+=r[a](s,n,o):l+=a;return l},e.default=function(e,t){return void 0===e||!e&&"number"!=typeof e?t:e},e.escape=function(t,r){var o,i,s,c,l;if(null==t)return t;if("string"!==(o=typeof t))return"object"===o&&void 0!==(s=n.apply(e.escape,arguments))?s:t;if("js"===r){for(i=t.replace(/\\/g,"\\u005C"),s="",c=0;c<i.length;c+=1)s+=(l=i.charCodeAt(c))<32?"\\u00"+(l=(l=l.toString(16).toUpperCase()).length<2?"0"+l:l):i[c];return s.replace(/&/g,"\\u0026").replace(/</g,"\\u003C").replace(/>/g,"\\u003E").replace(/\'/g,"\\u0027").replace(/"/g,"\\u0022").replace(/\=/g,"\\u003D").replace(/-/g,"\\u002D").replace(/;/g,"\\u003B")}return t.replace(/&(?!amp;|lt;|gt;|quot;|#39;)/g,"&").replace(/[<>"']/g,a)},e.e=e.escape,e.first=function(e){return"object"!=typeof e||t.isArray(e)?"string"==typeof e?e.substr(0,1):e[0]:e[t.keys(e)[0]]},e.groupBy=function(e,r){if(!t.isArray(e))return e;var n={};return t.each(e,function(e){if(e.hasOwnProperty(r)){var o=e[r],a=t.extend({},e);delete a[r],n[o]||(n[o]=[]),n[o].push(a)}}),n},e.join=function(e,r){if(t.isArray(e))return e.join(r);if("object"==typeof e){var n=[];return t.each(e,function(e){n.push(e)}),n.join(r)}return e},e.json=function(e,t){var r=JSON.stringify(e,null,t||0);return"string"!=typeof r?r:r.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/'/g,"\\u0027")},e.json.safe=!0,e.json_encode=e.json,e.last=function(e){if("object"==typeof e&&!t.isArray(e)){var r=t.keys(e);return e[r[r.length-1]]}return"string"==typeof e?e.charAt(e.length-1):e[e.length-1]},e.length=function(e){return"object"!=typeof e||t.isArray(e)?e.hasOwnProperty("length")?e.length:"":t.keys(e).length},e.lower=function(t){var r=n.apply(e.lower,arguments);return void 0!==r?r:t.toString().toLowerCase()},e.raw=function(t){return e.safe(t)},e.raw.safe=!0,e.replace=function(e,t,r,n){var o=new RegExp(t,n);return e.replace(o,r)},e.reverse=function(t){return e.sort(t,!0)},e.safe=function(e){return e},e.safe.safe=!0,e.sort=function(e,r){var n;if(t.isArray(e))n=t.extend([],e).sort();else switch(typeof e){case"object":n=t.keys(e).sort();break;case"string":return n=e.split(""),r?n.reverse().join(""):n.sort().join("")}return n&&r?n.reverse():n||e},e.striptags=function(t){var r=n.apply(e.striptags,arguments);return void 0!==r?r:t.toString().replace(/(<([^>]+)>)/gi,"")},e.title=function(t){var r=n.apply(e.title,arguments);return void 0!==r?r:t.toString().replace(/\w\S*/g,function(e){return e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()})},e.uniq=function(e){var r;return e&&t.isArray(e)?(r=[],t.each(e,function(e){-1===r.indexOf(e)&&r.push(e)}),r):""},e.upper=function(t){var r=n.apply(e.upper,arguments);return void 0!==r?r:t.toString().toUpperCase()},e.url_encode=function(t){var r=n.apply(e.url_encode,arguments);return void 0!==r?r:encodeURIComponent(t)},e.url_encode.safe=!0,e.url_decode=function(t){var r=n.apply(e.url_decode,arguments);return void 0!==r?r:decodeURIComponent(t)}}}),m=t({"lib/tags/filter.js"(e){var t=g(),r=a(),n=l();e.compile=function(e,t,n,o,a,i,s){var c=t.shift().replace(/\($/,""),l=e(n,o,a,i);")"===t[t.length-1]&&t.pop();var p=s&&s.irExpr?s.irExpr:t.length?t:void 0;return r.filter(c,[r.legacyJS(l)],p)},e.lowerExpr=function(e,t){for(var r=0;r<t.length&&t[r].type===n.WHITESPACE;)r+=1;if(!(r>=t.length)){var o=t[r];if(o.type!==n.VAR){if(o.type===n.FUNCTIONEMPTY)return[];if(o.type===n.FUNCTION){var a,i=1,s=r+1,c=[];for(a=r+1;a<t.length;a+=1){var l=t[a];if(l.type===n.FILTER||l.type===n.FILTEREMPTY)return;if(l.type!==n.PARENOPEN&&l.type!==n.FUNCTION&&l.type!==n.BRACKETOPEN&&l.type!==n.CURLYOPEN){if(l.type!==n.PARENCLOSE&&l.type!==n.BRACKETCLOSE&&l.type!==n.CURLYCLOSE)l.type===n.COMMA&&1===i&&(c.push(t.slice(s,a)),s=a+1);else if(0===(i-=1)){a>s&&c.push(t.slice(s,a));break}}else i+=1}if(0===i){var p=[];for(a=0;a<c.length;a+=1)p.push(e.parseExpr(c[a]));return p}}}}},e.parse=function(e,r,n,o){var a;function i(e){if(!t.hasOwnProperty(e))throw new Error('Filter "'+e+'" does not exist on line '+r+".")}return n.on(o.FUNCTION,function(e){return!!a||(i(a=e.match.replace(/\($/,"")),this.out.push(e.match),void this.state.push(e.type))}),n.on(o.VAR,function(e){return!!a||(i(a=e.match),void this.out.push(a))}),!0},e.ends=!0}}),v=t({"lib/tags/for.js"(e){var t=a(),n=l(),o=r().dangerousProps;e.compile=function(e,r,n,o,a,i,s){var c,l=r.shift(),p="__k";r[0]&&","===r[0]&&(r.shift(),p=l,l=r.shift()),c=s&&s.irExpr?s.irExpr:r.join("");var u=e(n,o,a,i);return t.forStmt(l,c,[t.legacyJS(u)],p)},e.lowerExpr=function(e,t){var r,o=-1;for(r=0;r<t.length;r++)if(t[r].type===n.COMPARATOR&&"in"===t[r].match){o=r;break}if(-1!==o){var a=t.slice(o+1);for(r=0;r<a.length;r++)if(a[r].type===n.FILTER||a[r].type===n.FILTEREMPTY)return;return e.parseExpr(a)}},e.parse=function(e,t,r,n){var a,i;return r.on(n.NUMBER,function(e){var r=this.state.length?this.state[this.state.length-1]:null;if(!i||r!==n.ARRAYOPEN&&r!==n.CURLYOPEN&&r!==n.CURLYCLOSE&&r!==n.FUNCTION&&r!==n.FILTER)throw new Error('Unexpected number "'+e.match+'" on line '+t+".");return!0}),r.on(n.VAR,function(e){if(i&&a)return!0;if(-1!==e.match.indexOf("."))throw new Error('Loop variable "'+e.match+'" must be a bare identifier in "for" tag on line '+t+".");if(-1!==o.indexOf(e.match))throw new Error('Unsafe loop variable "'+e.match+'" is not allowed (prototype-chain guard) on line '+t+".");this.out.length||(a=!0),this.out.push(e.match)}),r.on(n.COMMA,function(e){if(!a||this.prevToken.type!==n.VAR)return!0;this.out.push(e.match)}),r.on(n.COMPARATOR,function(e){if("in"!==e.match||!a)throw new Error('Unexpected token "'+e.match+'" on line '+t+".");i=!0,this.filterApplyIdx.push(this.out.length)}),!0},e.ends=!0}}),E=t({"packages/swig-core/lib/backend.js"(e){var t=n(),o=r(),i=a();function s(e){return e.replace(/\\/g,"\\\\").replace(/\n|\r/g,"\\n").replace(/"/g,'\\"')}function c(e){return{dangerousProps:(e=e||{}).dangerousProps||o.dangerousProps,throwError:e.throwError||t.throwError}}function l(e,r){switch(e&&"string"==typeof e.type||r.throwError("emitExpr: expected an IR expression node"),e.type){case"Literal":return function(e,t){switch(e.kind){case"string":return JSON.stringify(e.value);case"number":return String(e.value);case"bool":return e.value?"true":"false";case"null":return"null";case"undefined":return"undefined"}t.throwError('emitLiteral: unknown literal kind "'+e.kind+'"')}(e,r);case"VarRef":return function(e,r){t.isArray(e.path)&&0!==e.path.length||r.throwError("emitVarRef: path must be a non-empty array");if(t.each(e.path,function(t){p(t,r,e)}),e.resolve)return"_utils.resolve(_ctx, "+JSON.stringify(e.path)+")";return h(e.path)}(e,r);case"VarRefExists":return u(e,r);case"Access":return function(e,t){e.key&&"Literal"===e.key.type&&"string"===e.key.kind&&p(e.key.value,t,e);return d(e.object,l(e.object,t),!0)+"["+l(e.key,t)+"]"}(e,r);case"BinaryOp":return function(e,t){var r=d(e.left,l(e.left,t)),n=d(e.right,l(e.right,t));if(o=e.op,"+"===o||"-"===o||"*"===o||"/"===o||"%"===o)return r+" "+e.op+" "+n;var o;if("in"===e.op)return r+" in "+n;if("~"===e.op)return"(String("+r+") + String("+n+"))";if("??"===e.op&&e.left&&"VarRef"===e.left.type){return"("+u(i.varRefExists(e.left.path,e.left.loc),t)+" ? "+r+" : "+n+")"}return r+e.op+n}(e,r);case"UnaryOp":return function(e,t){return e.op+d(e.operand,l(e.operand,t),!0)}(e,r);case"Conditional":return function(e,t){return"("+l(e.test,t)+" ? "+l(e.then,t)+" : "+l(e.else,t)+")"}(e,r);case"ArrayLiteral":return function(e,r){var n=[];return t.each(e.elements,function(e){n.push(l(e,r))}),"["+n.join(", ")+"]"}(e,r);case"ObjectLiteral":return function(e,r){var n=[];return t.each(e.properties,function(e){n.push(l(e.key,r)+":"+l(e.value,r))}),"{"+n.join(", ")+"}"}(e,r);case"FnCall":return function(e,r){var n,o,a,i=[],s=e.callee;if(t.each(e.args,function(e){i.push(l(e,r))}),a=i.join(", "),s&&"VarRef"===s.type&&t.isArray(s.path))return t.each(s.path,function(e){p(e,r,s)}),1===s.path.length?"((typeof _ctx."+(n=s.path[0])+' !== "undefined") ? _ctx.'+n+" : ((typeof "+n+' !== "undefined") ? '+n+" : _fn))("+a+")":(o=s.path.slice(0,-1),"("+h(s.path)+" || _fn).call("+h(o)+(a?", "+a:"")+")");return"("+l(s,r)+")("+a+")"}(e,r);case"FilterCall":return function(e,r){var n=l(e.input,r),o="";if(e.args&&e.args.length){var a=[];t.each(e.args,function(e){a.push(l(e,r))}),o=", "+a.join(", ")}return'_filters["'+e.name+'"]('+n+o+")"}(e,r)}r.throwError('emitExpr: unknown IR expression type "'+e.type+'"')}function p(e,t,r){if(-1!==t.dangerousProps.indexOf(e)){var n=r&&r.loc&&r.loc.line||void 0,o=r&&r.loc&&r.loc.filename||void 0;t.throwError('Unsafe access to "'+e+'" is not allowed in templates (prototype-chain guard)',n,o)}}function u(e,r){return t.isArray(e.path)&&0!==e.path.length||r.throwError("emitVarRefExists: path must be a non-empty array"),t.each(e.path,function(t){p(t,r,e)}),"("+f(e.path,"_ctx.")+" || "+f(e.path,"")+")"}function f(e,r){var n=r+e[0],o="";return o="(typeof "+n+' !== "undefined" && '+n+" !== null",t.each(e,function(e,t){0!==t&&(o+=" && "+n+"."+e+" !== undefined && "+n+"."+e+" !== null",n+="."+e)}),o+=")"}function h(e){var t=e.join(".");return"("+f(e,"_ctx.")+" ? _ctx."+t+" : ("+f(e,"")+" ? "+t+' : ""))'}function d(e,t,r){return e&&("BinaryOp"===e.type||r&&"UnaryOp"===e.type)?"("+t+")":t}e.compile=function(r,n,a,l){var u="",f=t.isArray(r)?r:r.tokens,h=[];return t.each(f,function(r){if("string"!=typeof r)if(r&&"object"==typeof r&&"string"==typeof r.type&&"function"!=typeof r.compile)h.push(r);else{var o=r.compile(e.compile,r.args?r.args.slice(0):[],r.content?r.content.slice(0):[],n,a,l,r);null!=o&&""!==o&&("string"!=typeof o?t.isArray(o)?t.each(o,function(e){h.push(e)}):"object"!=typeof o||"string"!=typeof o.type?h.push(i.legacyJS(String(o))):h.push(o):h.push(i.legacyJS(o)))}else h.push(i.text(r))}),t.each(h,function(r){if("Text"!==r.type&&"Raw"!==r.type)if("LegacyJS"!==r.type)if("Autoescape"!==r.type){if("If"===r.type){var i="";return t.each(r.branches,function(r,n){var o,a="";t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(a+='_output += "'+s(e.value)+'";\n'):a+=e.js}),null!==r.test?(o=r.test&&"object"==typeof r.test&&"LegacyJS"===r.test.type?r.test.js:"object"==typeof r.test&&"string"==typeof r.test.type?e.emitExpr(r.test):r.test,i+=0===n?"if ("+o+") { \n"+a:"} else if ("+o+") {\n"+a):i+="} else {\n"+a}),void(u+=i+"\n}")}if("Set"===r.type){var l,f;if(r.target&&"object"==typeof r.target&&"VarRef"===r.target.type){var h=c();t.isArray(r.target.path)&&0!==r.target.path.length||h.throwError("Set: target VarRef must have a non-empty path"),t.each(r.target.path,function(e){p(e,h,r.target)}),l="_ctx."+r.target.path.join(".")}else l=r.target;return f=r.value&&"object"==typeof r.value&&"string"==typeof r.value.type?e.emitExpr(r.value):r.value,void(u+=l+" "+r.op+" "+f+";\n")}if("For"!==r.type)if("Macro"!==r.type)if("Parent"!==r.type)if("Block"!==r.type){var d,y,g;if("Include"===r.type)return d=r.path&&"object"==typeof r.path&&"string"==typeof r.path.type?e.emitExpr(r.path):r.path,void 0!==r.context&&(y="object"==typeof r.context&&"string"==typeof r.context.type?e.emitExpr(r.context):r.context),g=r.isolated&&y?y:y?"_utils.extend({}, _ctx, "+y+")":"_ctx",void(u+=(r.ignoreMissing?" try {\n":"")+"_output += _swig.compileFile("+d+', {resolveFrom: "'+s(r.resolveFrom||"")+'"})('+g+");\n"+(r.ignoreMissing?"} catch (e) {}\n":""));if("IncludeDeferred"!==r.type)if("ImportDeferred"!==r.type){if("FromImportDeferred"===r.type){var m,v=r.imports||[];t.each(v,function(e){if(-1!==o.dangerousProps.indexOf(e.name))throw new Error('From-import name "'+e.name+'" is reserved.');var t=e.alias||e.name;if(-1!==o.dangerousProps.indexOf(t))throw new Error('From-import binding "'+t+'" is reserved.')}),m=r.path&&"object"==typeof r.path&&"string"==typeof r.path.type?e.emitExpr(r.path):r.path;var E='{resolveFrom: "'+s(r.resolveFrom||"")+'"}',x="";return t.each(v,function(e){var t=e.alias||e.name;x+=" _ctx."+t+' = _imp["'+e.name+'"];\n'}),void(u+="await (async function () {\n var _imp = (await (await _swig.getTemplate("+m+", "+E+"))(_ctx)).exports;\n"+x+"})();\n")}if("ExtendsDeferred"===r.type){var w;r.childIRs&&r.childIRs.length&&(u+=e.compile(r.childIRs,n,a)),u+="var _localChildBlocks = {};\n",r.childBlocks&&t.each(r.childBlocks,function(e,r){var n="";t.each(e.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(n+='_output += "'+s(e.value)+'";\n'):n+=e.js}),u+="_localChildBlocks["+JSON.stringify(r)+'] = async function (_ctx) {\n var _output = "";\n'+n+" return _output;\n};\n"}),u+="var _mergedBlocks = _utils.extend({}, _localChildBlocks, _blocks || {});\n",w=r.path&&"object"==typeof r.path&&"string"==typeof r.path.type?e.emitExpr(r.path):r.path;var O='{resolveFrom: "'+s(r.resolveFrom||"")+'"}';return u+="var _parentTpl = await _swig.getTemplate("+w+", "+O+");\n",u+="var _parentResult = await _parentTpl(_ctx, _mergedBlocks);\n",void(u+="_output = _parentResult.output;\n")}if("With"===r.type){var b;void 0!==r.context&&(b=r.context&&"object"==typeof r.context&&"string"==typeof r.context.type?e.emitExpr(r.context):r.context);var C,T="";return t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(T+='_output += "'+s(e.value)+'";\n'):T+=e.js}),C=r.isolated?void 0!==b?b:"{}":void 0!==b?"_utils.extend({}, _ctx, "+b+")":"_utils.extend({}, _ctx)",void(u+="(function (_ctx) {\n"+T+"})("+C+");\n")}if("Output"===r.type){if(r.expr&&"LegacyJS"===r.expr.type)return void(u+=r.expr.js);var R=e.emitExpr(r.expr);return r.filters&&r.filters.length&&t.each(r.filters,function(r){var n="";if(r.args&&r.args.length){var o=[];t.each(r.args,function(t){o.push(e.emitExpr(t))}),n=", "+o.join(", ")}R='_filters["'+r.name+'"]('+R+n+")"}),void(r.coerce?u+="_output += _utils.coerceOutput("+R+");\n":u+="_output += "+R+";\n")}if("Filter"!==r.type);else{var A="";t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(A+='_output += "'+s(e.value)+'";\n'):A+=e.js});var N='(function () {\n var _output = "";\n'+A+" return _output;\n})()",k="";if(r.args&&r.args.length){var _=[];t.each(r.args,function(t){t&&"object"==typeof t&&"string"==typeof t.type?_.push(e.emitExpr(t)):_.push(t)}),k=", "+_.join(", ")}u+='_output += _filters["'+r.name+'"]('+N+k+");\n"}}else{if(-1!==o.dangerousProps.indexOf(r.alias))throw new Error('Import alias "'+r.alias+'" is reserved.');var P;P=r.path&&"object"==typeof r.path&&"string"==typeof r.path.type?e.emitExpr(r.path):r.path;var L='{resolveFrom: "'+s(r.resolveFrom||"")+'"}';u+="_ctx."+r.alias+" = (await (await _swig.getTemplate("+P+", "+L+"))(_ctx)).exports;\n"}else{var S,I,F;S=r.path&&"object"==typeof r.path&&"string"==typeof r.path.type?e.emitExpr(r.path):r.path,void 0!==r.context&&(I="object"==typeof r.context&&"string"==typeof r.context.type?e.emitExpr(r.context):r.context),F=r.isolated&&I?I:I?"_utils.extend({}, _ctx, "+I+")":"_ctx";var j='{resolveFrom: "'+s(r.resolveFrom||"")+'"}';u+=(r.ignoreMissing?" try {\n":"")+"_output += (await (await _swig.getTemplate("+S+", "+j+"))("+F+")).output;\n"+(r.ignoreMissing?"} catch (e) {}\n":"")}}else{if(a&&"async"===a.codegenMode){var U=JSON.stringify(r.name);return u+="if (_blocks && _blocks["+U+"]) {\n",u+=" _output += await _blocks["+U+"](_ctx);\n",u+="} else {\n",t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(u+='_output += "'+s(e.value)+'";\n'):u+=e.js}),void(u+="}\n")}t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(u+='_output += "'+s(e.value)+'";\n'):u+=e.js})}else t.each(r.body||[],function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(u+='_output += "'+s(e.value)+'";\n'):u+=e.js});else{var M="";t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(M+='_output += "'+s(e.value)+'";\n'):M+=e.js});var Y,D,B=r.params||[],J="";if(B.length&&"object"==typeof B[0]&&null!==B[0]&&"string"==typeof B[0].name){var K=[];t.each(B,function(t){K.push(t.name),t.default&&(J+=" if ("+t.name+" === undefined) { "+t.name+" = "+e.emitExpr(t.default)+"; }\n")}),Y=K.join(", ");var W=[];t.each(K,function(e){W.push(JSON.stringify(e))}),D=W.join(",")}else Y=B.join(""),D='"'+B.join('","')+'"';if(u+="_ctx."+r.name+" = function ("+Y+') {\n var _output = "",\n __ctx = _utils.extend({}, _ctx);\n'+J+" _utils.each(_ctx, function (v, k) {\n if (["+D+"].indexOf(k) !== -1) { delete _ctx[k]; }\n });\n"+M+"\n _ctx = _utils.extend(_ctx, __ctx);\n return _output;\n};\n_ctx."+r.name+".safe = true;\n",a&&"async"===a.codegenMode){if(-1!==o.dangerousProps.indexOf(r.name))throw new Error('Macro name "'+r.name+'" is reserved.');u+="_exports."+r.name+" = _ctx."+r.name+";\n"}}else{var V,$=r.value,z=r.key,G="",H=("_ctx.__loopcache"+Math.random()).replace(/\./g,""),Z="_ctx.",q=r.loopName||"loop",Q="_ctx."+q,X=r.loopFields||{},ee=X.index||"index",te=X.index0||"index0",re=X.revindex||"revindex",ne=X.revindex0||"revindex0",oe=r.loopParent?", parentloop: "+H+"."+q:"";V=r.iterable&&"object"==typeof r.iterable&&"string"==typeof r.iterable.type?e.emitExpr(r.iterable):r.iterable,t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(G+='_output += "'+s(e.value)+'";\n'):G+=e.js});var ae=" if (!__l) { return; }\n";if(r.emptyBody){var ie="";t.each(r.emptyBody,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(ie+='_output += "'+s(e.value)+'";\n'):ie+=e.js}),ae=" if (!__l || !__len) {\n"+ie+" return;\n }\n"}u+="(function () {\n var __l = "+V+', __len = (_utils.isArray(__l) || typeof __l === "string") ? __l.length : _utils.keys(__l).length;\n'+ae+" var "+H+" = { "+q+": "+Q+", "+$+": "+Z+$+", "+z+": "+Z+z+" };\n "+Q+" = { first: false, "+ee+": 1, "+te+": 0, "+re+": __len, "+ne+": __len - 1, length: __len, last: false"+oe+" };\n _utils.each(__l, function ("+$+", "+z+") {\n "+Z+$+" = "+$+";\n "+Z+z+" = "+z+";\n "+Q+".key = "+z+";\n "+Q+".first = ("+Q+"."+te+" === 0);\n "+Q+".last = ("+Q+"."+ne+" === 0);\n "+G+" "+Q+"."+ee+" += 1; "+Q+"."+te+" += 1; "+Q+"."+re+" -= 1; "+Q+"."+ne+" -= 1;\n });\n "+Q+" = "+H+"."+q+";\n "+Z+$+" = "+H+"."+$+";\n "+Z+z+" = "+H+"."+z+";\n "+H+" = undefined;\n})();\n"}}else t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(u+='_output += "'+s(e.value)+'";\n'):u+=e.js});else u+=r.js;else u+='_output += "'+s(r.value)+'";\n'}),u},e.emitExpr=function(e,t){return l(e,c(t))}}}),x=t({"lib/lexer.js"(e){var t=o(),r=l(),n=[{type:r.WHITESPACE,regex:[/^\s+/]},{type:r.STRING,regex:[/^""/,/^".*?[^\\]"/,/^''/,/^'.*?[^\\]'/]},{type:r.FILTER,regex:[/^\|\s*(\w+)\(/],idx:1},{type:r.FILTEREMPTY,regex:[/^\|\s*(\w+)/],idx:1},{type:r.FUNCTIONEMPTY,regex:[/^\s*(\w+)\(\)/],idx:1},{type:r.FUNCTION,regex:[/^\s*(\w+)\(/],idx:1},{type:r.PARENOPEN,regex:[/^\(/]},{type:r.PARENCLOSE,regex:[/^\)/]},{type:r.COMMA,regex:[/^,/]},{type:r.LOGIC,regex:[/^(&&|\|\|)\s*/,/^(and|or)\s+/],idx:1,replace:{and:"&&",or:"||"}},{type:r.COMPARATOR,regex:[/^(===|==|\!==|\!=|<=|<|>=|>|in\s|gte\s|gt\s|lte\s|lt\s)\s*/],idx:1,replace:{gte:">=",gt:">",lte:"<=",lt:"<"}},{type:r.ASSIGNMENT,regex:[/^(=|\+=|-=|\*=|\/=)/]},{type:r.NOT,regex:[/^\!\s*/,/^not\s+/],replace:{not:"!"}},{type:r.BOOL,regex:[/^(true|false)\s+/,/^(true|false)$/],idx:1},{type:r.VAR,regex:[/^[a-zA-Z_$]\w*((\.\$?\w*)+)?/,/^[a-zA-Z_$]\w*/]},{type:r.BRACKETOPEN,regex:[/^\[/]},{type:r.BRACKETCLOSE,regex:[/^\]/]},{type:r.CURLYOPEN,regex:[/^\{/]},{type:r.COLON,regex:[/^\:/]},{type:r.CURLYCLOSE,regex:[/^\}/]},{type:r.DOTKEY,regex:[/^\.(\w+)/],idx:1},{type:r.NUMBER,regex:[/^\d+(\.\d+)?/]},{type:r.QMARK,regex:[/^\?/]},{type:r.OPERATOR,regex:[/^(\+|\-|\/|\*|%)/]}];function a(e){var o;return t.some(n,function(r){return t.some(r.regex,function(t){var n,a=e.match(t);if(a)return n=a[r.idx||0].replace(/\s*$/,""),n=r.hasOwnProperty("replace")&&r.replace.hasOwnProperty(n)?r.replace[n]:n,o={match:n,type:r.type,length:a[0].length},!0})}),o||(o={match:e,type:r.UNKNOWN,length:e.length}),o}e.types=r,e.read=function(e){for(var t,r=0,n=[];r<e.length;)r+=(t=a(e.substring(r))).length,n.push(t);return n}}}),w=t({"packages/swig-core/lib/tokenparser.js"(e){var t=n(),o=l(),i=a(),s=r().dangerousProps,c=["break","case","catch","continue","debugger","default","delete","do","else","finally","for","function","if","in","instanceof","new","return","switch","this","throw","try","typeof","var","void","while","with"];function p(e,r,n,a,i){this.out=[],this.state=[],this.filterApplyIdx=[],this._parsers={},this.line=a,this.filename=i,this.filters=r,this.escape=n,this.parse=function(){var r=this;return r._parsers.start&&r._parsers.start.call(r),t.each(e,function(t,n){var a=e[n-1];if(r.isLast=n===e.length-1,a)for(;a.type===o.WHITESPACE;)a=e[(n-=1)-1];r.prevToken=a,r.parseToken(t)}),r._parsers.end&&r._parsers.end.call(r),r.escape&&(r.filterApplyIdx=[0],"string"==typeof r.escape?(r.parseToken({type:o.FILTER,match:"e"}),r.parseToken({type:o.COMMA,match:","}),r.parseToken({type:o.STRING,match:String(n)}),r.parseToken({type:o.PARENCLOSE,match:")"})):r.parseToken({type:o.FILTEREMPTY,match:"e"})),r.out}}p.prototype={on:function(e,t){this._parsers[e]=t},parseToken:function(e){var r,n=this,a=n._parsers[e.type]||n._parsers["*"],i=e.match,c=n.prevToken,l=c?c.type:null,p=n.state.length?n.state[n.state.length-1]:null;if(!a||"function"!=typeof a||a.call(this,e))switch(p&&c&&p===o.FILTER&&l===o.FILTER&&e.type!==o.PARENCLOSE&&e.type!==o.COMMA&&e.type!==o.OPERATOR&&e.type!==o.FILTER&&e.type!==o.FILTEREMPTY&&n.out.push(", "),p&&p===o.METHODOPEN&&(n.state.pop(),e.type!==o.PARENCLOSE&&n.out.push(", ")),e.type){case o.WHITESPACE:break;case o.STRING:if(p===o.BRACKETOPEN){var u=i.replace(/^['"]|['"]$/g,"");-1!==s.indexOf(u)&&t.throwError('Unsafe access to "'+u+'" via bracket notation is not allowed in templates (prototype-chain guard)',n.line,n.filename)}n.filterApplyIdx.push(n.out.length),n.out.push(i.replace(/\\/g,"\\\\"));break;case o.NUMBER:case o.BOOL:n.filterApplyIdx.push(n.out.length),n.out.push(i);break;case o.FILTER:n.filters.hasOwnProperty(i)&&"function"==typeof n.filters[i]||t.throwError('Invalid filter "'+i+'"',n.line,n.filename),n.escape=!n.filters[i].safe&&n.escape,n.out.splice(n.filterApplyIdx[n.filterApplyIdx.length-1],0,'_filters["'+i+'"]('),n.state.push(e.type);break;case o.FILTEREMPTY:n.filters.hasOwnProperty(i)&&"function"==typeof n.filters[i]||t.throwError('Invalid filter "'+i+'"',n.line,n.filename),n.escape=!n.filters[i].safe&&n.escape,n.out.splice(n.filterApplyIdx[n.filterApplyIdx.length-1],0,'_filters["'+i+'"]('),n.out.push(")");break;case o.FUNCTION:case o.FUNCTIONEMPTY:n.out.push("((typeof _ctx."+i+' !== "undefined") ? _ctx.'+i+" : ((typeof "+i+' !== "undefined") ? '+i+" : _fn))("),n.escape=!1,e.type===o.FUNCTIONEMPTY?n.out[n.out.length-1]=n.out[n.out.length-1]+")":n.state.push(e.type),n.filterApplyIdx.push(n.out.length-1);break;case o.PARENOPEN:n.state.push(e.type),n.filterApplyIdx.length?(n.out.splice(n.filterApplyIdx[n.filterApplyIdx.length-1],0,"("),c&&l===o.VAR?(r=c.match.split(".").slice(0,-1),n.out.push(" || _fn).call("+n.checkMatch(r)),n.state.push(o.METHODOPEN),n.escape=!1):n.out.push(" || _fn)("),n.filterApplyIdx.push(n.out.length-3)):(n.out.push("("),n.filterApplyIdx.push(n.out.length-1));break;case o.PARENCLOSE:(r=n.state.pop())!==o.PARENOPEN&&r!==o.FUNCTION&&r!==o.FILTER&&t.throwError("Mismatched nesting state",n.line,n.filename),n.out.push(")"),n.filterApplyIdx.pop(),r!==o.FILTER&&n.filterApplyIdx.pop();break;case o.COMMA:p!==o.FUNCTION&&p!==o.FILTER&&p!==o.ARRAYOPEN&&p!==o.CURLYOPEN&&p!==o.PARENOPEN&&p!==o.COLON&&t.throwError("Unexpected comma",n.line,n.filename),p===o.COLON&&n.state.pop(),n.out.push(", "),n.filterApplyIdx.pop();break;case o.LOGIC:case o.COMPARATOR:c&&l!==o.COMMA&&l!==e.type&&l!==o.BRACKETOPEN&&l!==o.CURLYOPEN&&l!==o.PARENOPEN&&l!==o.FUNCTION||t.throwError("Unexpected logic",n.line,n.filename),n.out.push(e.match);break;case o.NOT:n.out.push(e.match);break;case o.VAR:n.parseVar(e,i,p);break;case o.BRACKETOPEN:!c||l!==o.VAR&&l!==o.BRACKETCLOSE&&l!==o.PARENCLOSE?(n.state.push(o.ARRAYOPEN),n.filterApplyIdx.push(n.out.length)):n.state.push(e.type),n.out.push("[");break;case o.BRACKETCLOSE:(r=n.state.pop())!==o.BRACKETOPEN&&r!==o.ARRAYOPEN&&t.throwError("Unexpected closing square bracket",n.line,n.filename),n.out.push("]"),n.filterApplyIdx.pop();break;case o.CURLYOPEN:n.state.push(e.type),n.out.push("{"),n.filterApplyIdx.push(n.out.length-1);break;case o.QMARK:n.out.push(" ? "),n.state.push(e.type),n.filterApplyIdx.pop();break;case o.COLON:p===o.CURLYOPEN?(n.state.push(e.type),n.out.push(":")):p===o.QMARK?(n.state.pop()," ? "===n.out[n.out.length-1]?n.out[n.out.length-1]=" || ":n.out.push(" : ")):t.throwError("Unexpected colon",n.line,n.filename),n.filterApplyIdx.pop();break;case o.CURLYCLOSE:p===o.COLON&&n.state.pop(),n.state.pop()!==o.CURLYOPEN&&t.throwError("Unexpected closing curly brace",n.line,n.filename),n.out.push("}"),n.filterApplyIdx.pop();break;case o.DOTKEY:(!c||l!==o.VAR&&l!==o.BRACKETCLOSE&&l!==o.DOTKEY&&l!==o.PARENCLOSE&&l!==o.FUNCTIONEMPTY&&l!==o.FILTEREMPTY&&l!==o.CURLYCLOSE)&&t.throwError('Unexpected key "'+i+'"',n.line,n.filename),-1!==s.indexOf(i)&&t.throwError('Unsafe access to "'+i+'" is not allowed in templates (prototype-chain guard)',n.line,n.filename),n.out.push("."+i);break;case o.OPERATOR:n.out.push(" "+i+" "),n.filterApplyIdx.pop()}},parseVar:function(e,r,n){var a=this;if(r=r.split("."),-1!==c.indexOf(r[0])&&t.throwError('Reserved keyword "'+r[0]+'" attempted to be used as a variable',a.line,a.filename),t.each(r,function(e){-1!==s.indexOf(e)&&t.throwError('Unsafe access to "'+e+'" is not allowed in templates (prototype-chain guard)',a.line,a.filename)}),a.filterApplyIdx.push(a.out.length),n===o.CURLYOPEN)return r.length>1&&t.throwError("Unexpected dot",a.line,a.filename),void a.out.push(r[0]);a.out.push(a.checkMatch(r))},parseExpr:function(e,r){var n=this,a=0;function l(){return function(){for(;a<e.length&&e[a].type===o.WHITESPACE;)a+=1}(),a<e.length?e[a]:null}function p(){var e=l();return e&&(a+=1),e}function u(e){t.throwError(e,n.line,n.filename)}function f(e){-1!==s.indexOf(e)&&u('Unsafe access to "'+e+'" is not allowed in templates (prototype-chain guard)')}function h(e){-1!==s.indexOf(e)&&u('Unsafe access to "'+e+'" via bracket notation is not allowed in templates (prototype-chain guard)')}function d(e){var t;if(e.type===o.LOGIC){if("||"===e.match)return{op:"||",prec:1};if("&&"===e.match)return{op:"&&",prec:2}}if(e.type===o.COMPARATOR)return"==="===(t=e.match)||"!=="===t||"=="===t||"!="===t?{op:t,prec:3}:{op:t,prec:4};if(e.type===o.OPERATOR){if("+"===(t=e.match)||"-"===t)return{op:t,prec:5};if("*"===t||"/"===t||"%"===t)return{op:t,prec:6}}return null}function y(e){return e.replace(/^['"]|['"]$/g,"")}function g(e){var t=[],r=l();if(r&&r.type===e)return p(),t;for(;;){t.push(x(0));var n=p();if(n||u("Unexpected end of expression"),n.type===e)break;n.type!==o.COMMA&&u("Expected comma or closing delimiter")}return t}function m(e){for(;;){var t=l();if(!t)break;if(t.type===o.DOTKEY)p(),f(t.match),e="VarRef"===e.type?i.varRef(e.path.concat([t.match])):i.access(e,i.literal("string",t.match));else if(t.type===o.BRACKETOPEN){p();var r=x(0);"Literal"===r.type&&"string"===r.kind&&h(r.value);var a=p();a&&a.type===o.BRACKETCLOSE||u("Unexpected closing square bracket"),e=i.access(e,r)}else if(t.type===o.PARENOPEN)p(),e=i.fnCall(e,g(o.PARENCLOSE));else{if(t.type!==o.FILTER&&t.type!==o.FILTEREMPTY)break;p();var s,c=t.match;n.filters.hasOwnProperty(c)&&"function"==typeof n.filters[c]||u('Invalid filter "'+c+'"'),s=void 0,t.type===o.FILTER&&(s=g(o.PARENCLOSE)),e=i.filterCallExpr(c,e,s)}}return e}function v(){var e,r=p();switch(r||u("Unexpected end of expression"),r.type){case o.STRING:return i.literal("string",y(r.match));case o.NUMBER:return i.literal("number",parseFloat(r.match));case o.BOOL:return i.literal("bool","true"===r.match);case o.NOT:return i.unaryOp("!",E());case o.OPERATOR:if("+"===(e=r.match)||"-"===e)return i.unaryOp(e,E());u('Unexpected operator "'+e+'"');break;case o.PARENOPEN:var n=x(0),a=p();return a&&a.type===o.PARENCLOSE||u("Mismatched nesting state"),m(n);case o.BRACKETOPEN:return m(i.arrayLiteral(g(o.BRACKETCLOSE)));case o.CURLYOPEN:return m(function(){var e=[],t=l();if(t&&t.type===o.CURLYCLOSE)return p(),i.objectLiteral([]);for(;;){var r,n=p();n||u("Unclosed object literal"),n.type===o.STRING?r=i.literal("string",y(n.match)):n.type===o.VAR?(-1!==n.match.indexOf(".")&&u("Unexpected dot"),r=i.literal("string",n.match)):n.type===o.NUMBER?r=i.literal("number",parseFloat(n.match)):u("Unexpected object key");var a=p();a&&a.type===o.COLON||u("Unexpected colon");var s=x(0);e.push(i.objectProperty(r,s));var c=p();if(c||u("Unclosed object literal"),c.type===o.CURLYCLOSE)break;c.type!==o.COMMA&&u("Expected comma or closing curly brace")}return i.objectLiteral(e)}());case o.VAR:var s=r.match.split(".");return-1!==c.indexOf(s[0])&&u('Reserved keyword "'+s[0]+'" attempted to be used as a variable'),t.each(s,function(e){f(e)}),m(i.varRef(s));case o.FUNCTION:case o.FUNCTIONEMPTY:return e=r.match,-1!==c.indexOf(e)&&u('Reserved keyword "'+e+'" attempted to be used as a variable'),f(e),r.type===o.FUNCTIONEMPTY?m(i.fnCall(i.varRef([e]),[])):m(i.fnCall(i.varRef([e]),g(o.PARENCLOSE)))}return u('Unexpected token "'+r.match+'"'),null}function E(){return v()}function x(e){for(var t=E();;){var r=l();if(!r)break;if(r.type===o.FILTER||r.type===o.FILTEREMPTY)break;var n=d(r);if(!n||n.prec<e)break;p();var a=x(n.prec+1);t=i.binaryOp(n.op,t,a)}if(0===e){var s=l();if(s&&s.type===o.QMARK){p();var c,f=l();if(f&&f.type===o.COLON)p(),c=x(0),t=i.conditional(t,t,c);else{var h=x(0),y=p();y&&y.type===o.COLON||u("Expected colon in ternary expression"),c=x(0),t=i.conditional(t,h,c)}}}return t}var w=x(0);return r&&(r.pos=a),w},parseOutput:function(e){var r=this;function n(){var e=r.parse().join("");return i.output(i.legacyJS("_output += "+e+";\n"))}var a,s,c=!1;for(a=0;a<e.length;a+=1)if(e[a].type!==o.WHITESPACE){c=!0;break}if(!c)return n();if("string"==typeof r.escape)return n();var l=0,p=!1,u=!1,f=!1,h=-1;for(a=0;a<e.length;a+=1)s=e[a],0===l&&(s.type!==o.OPERATOR&&s.type!==o.LOGIC&&s.type!==o.COMPARATOR&&s.type!==o.NOT||(p=!0),s.type!==o.FILTER&&s.type!==o.FILTEREMPTY||(u=!0,h<0&&(h=a)),s.type===o.QMARK&&(f=!0)),s.type===o.PARENOPEN||s.type===o.FUNCTION||s.type===o.BRACKETOPEN||s.type===o.CURLYOPEN||s.type===o.FILTER?l+=1:s.type!==o.PARENCLOSE&&s.type!==o.BRACKETCLOSE&&s.type!==o.CURLYCLOSE||(l-=1);if(0===h)return n();try{var d=r.escape;for(a=0;a<e.length;a+=1)if((s=e[a]).type!==o.FUNCTION&&s.type!==o.FUNCTIONEMPTY||(d=!1),s.type!==o.FILTER&&s.type!==o.FILTEREMPTY||r.filters.hasOwnProperty(s.match)&&"function"==typeof r.filters[s.match]&&r.filters[s.match].safe&&(d=!1),s.type===o.PARENOPEN){for(var y=a-1;y>=0&&e[y].type===o.WHITESPACE;)y-=1;y>=0&&e[y].type===o.VAR&&(d=!1)}if(f||p&&u){var g=r.parseExpr(e),m=d?[i.filterCall("e")]:[];return i.output(g,m.length>0?m:void 0)}var v=h>=0?h:e.length,E=e.slice(0,v),x={pos:0},w=r.parseExpr(E,x),O=!1;for(a=x.pos;a<E.length;a+=1)if(E[a].type!==o.WHITESPACE){O=!0;break}if(O)return n();var b=[];if(h>=0)for(var C=h;C<e.length;){var T=e[C];if(T.type!==o.WHITESPACE)if(T.type!==o.FILTEREMPTY)if(T.type!==o.FILTER)t.throwError('Unexpected token "'+T.match+'"',r.line,r.filename);else{r.filters.hasOwnProperty(T.match)&&"function"==typeof r.filters[T.match]||t.throwError('Invalid filter "'+T.match+'"',r.line,r.filename),r.filters[T.match].safe&&(d=!1);for(var R=1,A=C+1,N=C+1;N<e.length&&R>0;){var k=e[N];if(k.type===o.PARENOPEN||k.type===o.FUNCTION||k.type===o.BRACKETOPEN||k.type===o.CURLYOPEN||k.type===o.FILTER)R+=1;else if((k.type===o.PARENCLOSE||k.type===o.BRACKETCLOSE||k.type===o.CURLYCLOSE)&&0===(R-=1))break;N+=1}0!==R&&t.throwError('Unable to parse filter "'+T.match+'"',r.line,r.filename);var _,P=[],L=A,S=1;for(_=A;_<N;_+=1){var I=e[_];I.type===o.PARENOPEN||I.type===o.FUNCTION||I.type===o.BRACKETOPEN||I.type===o.CURLYOPEN||I.type===o.FILTER?S+=1:I.type===o.PARENCLOSE||I.type===o.BRACKETCLOSE||I.type===o.CURLYCLOSE?S-=1:I.type===o.COMMA&&1===S&&(P.push(e.slice(L,_)),L=_+1)}L<N&&P.push(e.slice(L,N));var F,j=[];for(F=0;F<P.length;F+=1){var U,M=P[F],Y=!1;for(U=0;U<M.length;U+=1)if(M[U].type!==o.WHITESPACE){Y=!0;break}Y&&j.push(r.parseExpr(M))}b.push(i.filterCall(T.match,j)),C=N+1}else r.filters.hasOwnProperty(T.match)&&"function"==typeof r.filters[T.match]||t.throwError('Invalid filter "'+T.match+'"',r.line,r.filename),r.filters[T.match].safe&&(d=!1),b.push(i.filterCall(T.match)),C+=1;else C+=1}return d&&b.push(i.filterCall("e")),i.output(w,b.length>0?b:void 0)}catch(e){if(f)throw e;return n()}},checkMatch:function(e){var r=e[0],n=e.join(".");function o(n){var o=n+r,a=e,i="";return i="(typeof "+o+' !== "undefined" && '+o+" !== null",t.each(a,function(e,t){0!==t&&(i+=" && "+o+"."+e+" !== undefined && "+o+"."+e+" !== null",o+="."+e)}),i+=")"}return"("+o("_ctx.")+" ? _ctx."+n+" : ("+o("")+" ? "+n+' : ""))'}},e.TokenParser=p}}),O=t({"lib/parser.js"(e){var t=o(),r=x(),n=r.types,a=w().TokenParser;function i(e){return e.replace(/[\-\/\\\^$*+?.()|\[\]{}]/g,"\\$&")}e.parse=function(o,s,c,l,p){s=s.replace(/\r\n/g,"\n");var u,f=c.autoescape,h=c.tagControls[0],d=c.tagControls[1],y=c.varControls[0],g=c.varControls[1],m=i(h),v=i(d),E=i(y),x=i(g),w=new RegExp("^"+m+"-?\\s*|\\s*-?"+v+"$","g"),O=new RegExp("^"+m+"-"),b=new RegExp("-"+v+"$"),C=new RegExp("^"+E+"-?\\s*|\\s*-?"+x+"$","g"),T=new RegExp("^"+E+"-"),R=new RegExp("-"+x+"$"),A=c.cmtControls[0],N=c.cmtControls[1],k="[\\s\\S]*?",_=new RegExp("("+m+k+v+"|"+E+k+x+"|"+i(A)+k+i(N)+")"),P=1,L=[],S=null,I=null,F=[],j={},U=!1;function M(e,n){var o,i,s=r.read(t.strip(e));return i=(o=new a(s,p,f,n,c.filename)).parseOutput(s),o.state.length&&t.throwError('Unable to parse "'+e+'"',n,c.filename),i}function Y(e){return"string"==typeof e&&(e=e.replace(/\s*$/,"")),e}return e.parseVariable=M,t.each(s.split(_),function(e){var i,s,m,v,E;if(e){if(!U&&t.startsWith(e,y)&&t.endsWith(e,g))m=T.test(e),u=R.test(e),i=M(e.replace(C,""),P);else if(t.startsWith(e,h)&&t.endsWith(e,d))m=O.test(e),u=b.test(e),(i=function(e,i){var s,u,h,d,y,g,m;if(t.startsWith(e,"end")){if((m=L[L.length-1])&&m.name===e.split(/\s+/)[0].replace(/^end/,"")&&m.ends){switch(m.name){case"autoescape":f=c.autoescape;break;case"raw":U=!1}return void L.pop()}U||t.throwError('Unexpected end of tag "'+e.replace(/^end/,"")+'"',i,c.filename)}if(!U){switch(d=(h=e.split(/\s+(.+)?/)).shift(),l.hasOwnProperty(d)||t.throwError('Unexpected tag "'+e+'"',i,c.filename),s=r.read(t.strip(h.join(" "))),u=new a(s,p,!1,i,c.filename),(y=l[d]).parse(h[1],i,u,n,L,c,o)||t.throwError('Unexpected tag "'+d+'"',i,c.filename),u.parse(),g=u.out,d){case"autoescape":f="false"!==g[0]&&g[0];break;case"raw":U=!0}var v;return"function"==typeof y.lowerExpr&&(v=y.lowerExpr(u,s,h[1],i)),{block:!!l[d].block,compile:y.compile,args:g,content:[],ends:y.ends,name:d,irExpr:v}}}(e.replace(w,""),P))&&("extends"===i.name?(S=i.args.join("").replace(/^\'|\'$/g,"").replace(/^\"|\"$/g,""),I=i.irExpr&&i.irExpr.file):i.block&&!L.length&&(j[i.args.join("")]=i)),U&&!i&&(i=e);else if(U||!t.startsWith(e,A)&&!t.endsWith(e,N))i=u?e.replace(/^\s*/,""):e,u=!1;else if(t.startsWith(e,A)&&t.endsWith(e,N))return;m&&F.length&&("string"==typeof(v=F.pop())?v=Y(v):v.content&&v.content.length&&(E=Y(v.content.pop()),v.content.push(E)),F.push(v)),i&&(L.length?L[L.length-1].content.push(i):F.push(i),i.name&&i.ends&&L.push(i),s=e.match(/\n/g),P+=s?s.length:0)}}),{name:c.filename,parent:S,parentExpr:I,tokens:F,blocks:j}},e.compile=E().compile}}),b=t({"lib/tags/import.js"(e){var t=o(),n=a(),i=E(),s=r().dangerousProps;e.compile=function(e,r,o,a,i){if(i&&"async"===i.codegenMode){var s=r[r.length-1],c=r[0].path;return n.importDeferred(n.literal("string",c),s,i.filename||"")}var l=r.pop(),p=[],u=[];t.each(r,function(e){(e.isImport?u:p).push(e)});var f=t.map(p,function(e){return e.name}).join("|"),h="_ctx."+l+' = {};\n var _output = "";\n',d=t.map(p,function(e){return{ex:new RegExp("_ctx."+e.name+"(\\W)(?!"+f+")","g"),re:"_ctx."+l+"."+e.name+"$1"}}),y=[];return t.each(u,function(e){t.each(e.boundNames,function(e){y.push({ex:new RegExp("_ctx\\."+e+"(\\W)","g"),re:"_ctx."+l+"."+e+"$1"})})}),t.each(u,function(e){var r=e.compiled;t.each(y,function(e){r=r.replace(e.ex,e.re)}),h+=r}),t.each(p,function(e){var r=e.compiled;t.each(d,function(e){r=r.replace(e.ex,e.re)}),t.each(y,function(e){r=r.replace(e.ex,e.re)}),h+=r}),h},e.parse=function(e,r,n,o,a,c,l){var p,u,f=O().compile,h={resolveFrom:c.filename},d=t.extend({},c,h),y=!(!c||"async"!==c.codegenMode);return n.on(o.STRING,function(e){var n=this;if(void 0!==p)throw new Error("Unexpected string "+e.match+" on line "+r+".");if(p=e.match.replace(/^("|')|("|')$/g,""),y)n.out.push({path:p});else{var o=l.parseFile(p,h).tokens;t.each(o,function(e){var t,r="";e&&e.compile&&("import"!==e.name?"macro"===e.name&&(t=e.args[0],r+=i.compile([e.compile(f,e.args,e.content,[],d)],[],d)+"\n",n.out.push({compiled:r,name:t})):n.out.push({compiled:e.compile(f,e.args.slice(),e.content,[],d)+"\n",isImport:!0,boundNames:[e.args[e.args.length-1]]}))})}}),n.on(o.VAR,function(e){if(void 0===p||u)throw new Error('Unexpected variable "'+e.match+'" on line '+r+".");if("as"!==e.match){if(-1!==s.indexOf(e.match))throw new Error('Unsafe import alias "'+e.match+'" is not allowed (prototype-chain guard) on line '+r+".");return u=e.match,this.out.push(u),!1}}),!0},e.block=!0}}),C=t({"lib/tags/include.js"(e){var t=a(),r=l(),n="ignore",o="missing",i="only";e.compile=function(e,r,n,a,s,c,l){var p=r.shift(),u=r.indexOf(i),f=-1!==u&&r.splice(u,1),h=r.pop()||"",d=r[r.length-1]===o&&r.pop(),y=r.join("");return l&&l.irExpr&&(p=l.irExpr.file,y=void 0!==l.irExpr.context?l.irExpr.context:void 0),s&&"async"===s.codegenMode?t.includeDeferred(p,y||void 0,!!f,!!d,h):t.include(p,y||void 0,!!f,!!d,h)},e.lowerExpr=function(e,t){var o,a,s=0,c=-1,l=-1,p=-1;for(o=0;o<t.length;o++){if((a=t[o]).type===r.FILTER||a.type===r.FILTEREMPTY)return;a.type!==r.PARENOPEN&&a.type!==r.BRACKETOPEN&&a.type!==r.ARRAYOPEN&&a.type!==r.CURLYOPEN&&a.type!==r.FUNCTION&&a.type!==r.METHODOPEN?a.type!==r.PARENCLOSE&&a.type!==r.BRACKETCLOSE&&a.type!==r.CURLYCLOSE?0===s&&a.type===r.VAR&&(-1===c&&"with"===a.match?c=o:-1!==c&&-1===l&&a.match===i?l=o:-1===p&&a.match===n&&(p=o)):s--:s++}var u=t.length;-1!==c?u=c:-1!==p&&(u=p);var f=t.slice(0,u);if(0!==f.length){var h={file:e.parseExpr(f)};if(-1!==c){var d=t.length;-1!==l?d=l:-1!==p&&(d=p);var y=t.slice(c+1,d);y.length>0&&(h.context=e.parseExpr(y))}return h}},e.parse=function(e,t,r,a,s,c){var l,p;return r.on(a.STRING,function(e){return!!l||(l=e.match,void this.out.push(l))}),r.on(a.VAR,function(e){if(!l)return l=e.match,!0;if(p||"with"!==e.match){if(!p||e.match!==i||"with"===this.prevToken.match){if(e.match===n)return!1;if(e.match===o){if(this.prevToken.match!==n)throw new Error('Unexpected token "'+o+'" on line '+t+".");return this.out.push(e.match),!1}if(this.prevToken.match===n)throw new Error('Expected "'+o+'" on line '+t+' but found "'+e.match+'".');return!0}this.out.push(e.match)}else p=!0}),r.on("end",function(){this.out.push(c.filename||null)}),!0}}}),T=t({"lib/tags/macro.js"(e){var t=a();e.compile=function(e,r,n,o,a,i){var s=r.shift();return t.macro(s,r,[t.legacyJS(e(n,o,a,i))])};var n=r().dangerousProps;e.parse=function(e,t,r,o){var a;return r.on(o.VAR,function(e){if(-1!==e.match.indexOf("."))throw new Error('Unexpected dot in macro argument "'+e.match+'" on line '+t+".");if(!a){if(-1!==n.indexOf(e.match))throw new Error('Unsafe macro name "'+e.match+'" is not allowed (prototype-chain guard) on line '+t+".");return a=e.match,void this.out.push(a)}if(-1!==n.indexOf(e.match))throw new Error('Unsafe macro argument "'+e.match+'" is not allowed (prototype-chain guard) on line '+t+".");this.out.push({name:e.match})}),r.on(o.FUNCTION,function(e){if(!a){if(-1!==n.indexOf(e.match))throw new Error('Unsafe macro name "'+e.match+'" is not allowed (prototype-chain guard) on line '+t+".");a=e.match,this.out.push(a),this.state.push(o.FUNCTION)}}),r.on(o.FUNCTIONEMPTY,function(e){if(!a){if(-1!==n.indexOf(e.match))throw new Error('Unsafe macro name "'+e.match+'" is not allowed (prototype-chain guard) on line '+t+".");a=e.match,this.out.push(a)}}),r.on(o.PARENCLOSE,function(){if(!this.isLast)throw new Error("Unexpected parenthesis close on line "+t+".")}),r.on(o.COMMA,function(){}),r.on("*",function(){}),!0},e.ends=!0,e.block=!0}}),R=t({"lib/tags/parent.js"(e){var t=a();e.compile=function(e,r,n,o,a,i){if(!o||!o.length)return"";for(var s,c,l=r[0],p=o.length,u=0;u<p;u+=1)if((s=o[u]).blocks&&s.blocks.hasOwnProperty(i)&&l!==s.name){var f=(c=s.blocks[i]).compile(e,[i],c.content,o.slice(u+1),a);return t.parent(f&&f.body?f.body.concat([t.legacyJS("\n")]):[t.legacyJS("\n")])}},e.parse=function(e,t,r,n,o,a){return r.on("*",function(e){throw new Error('Unexpected argument "'+e.match+'" on line '+t+".")}),r.on("end",function(){this.out.push(a.filename)}),!0}}}),A=t({"lib/tags/raw.js"(e){var t=a();e.compile=function(e,r,n,o,a,i){var s,c=[];for(s=0;s<n.length;s++)"string"==typeof n[s]?c.push(t.raw(n[s])):c.push(t.legacyJS(e([n[s]],o,a,i)));return c},e.parse=function(e,t,r){return r.on("*",function(e){throw new Error('Unexpected token "'+e.match+'" in raw tag on line '+t+".")}),!0},e.ends=!0}}),N=t({"lib/tags/set.js"(e){var t=a(),n=l(),o=/^_ctx\.([a-zA-Z_$][\w$]*)((?:\.[a-zA-Z_$][\w$]*)*)$/;e.compile=function(e,r,n,a,i,s,c){var l=r[0],p="string"==typeof l&&o.exec(l);if(p){var u=[p[1]];if(p[2])for(var f=p[2].split("."),h=1;h<f.length;h++)u.push(f[h]);l=t.varRef(u)}var d=c&&c.irExpr?c.irExpr:r.slice(2).join(" ");return t.set(l,r[1],d)};var i=r().dangerousProps;e.lowerExpr=function(e,t){var r,o=-1;for(r=0;r<t.length;r++)if(t[r].type===n.ASSIGNMENT){o=r;break}if(-1!==o){var a=t.slice(o+1);for(r=0;r<a.length;r++)if(a[r].type===n.FILTER||a[r].type===n.FILTEREMPTY||a[r].type===n.ASSIGNMENT)return;return e.parseExpr(a)}},e.parse=function(e,t,r,n){var o,a="";return r.on(n.VAR,function(e){if(o)o+="_ctx."+e.match;else{if(r.out.length)return!0;for(var n=e.match.split("."),s=0;s<n.length;s++)if(-1!==i.indexOf(n[s]))throw new Error('Unsafe assignment to "'+n[s]+'" is not allowed (prototype-chain guard) on line '+t+".");a+=e.match}}),r.on(n.BRACKETOPEN,function(e){if(o||this.out.length)return!0;o=e.match}),r.on(n.STRING,function(e){if(!o||this.out.length)return!0;var r=e.match.replace(/^['"]|['"]$/g,"");if(-1!==i.indexOf(r))throw new Error('Unsafe assignment to "'+r+'" via bracket notation is not allowed (prototype-chain guard) on line '+t+".");o+=e.match}),r.on(n.BRACKETCLOSE,function(e){return!(o&&!this.out.length)||(a+=o+e.match,void(o=void 0))}),r.on(n.DOTKEY,function(e){if(!o&&!a)return!0;if(-1!==i.indexOf(e.match))throw new Error('Unsafe assignment to "'+e.match+'" is not allowed (prototype-chain guard) on line '+t+".");a+="."+e.match}),r.on(n.ASSIGNMENT,function(e){if(this.out.length||!a)throw new Error('Unexpected assignment "'+e.match+'" on line '+t+".");this.out.push("_ctx."+a),this.out.push(e.match),this.filterApplyIdx.push(this.out.length)}),!0},e.block=!0}}),k=t({"lib/tags/spaceless.js"(e){o();e.compile=function(e,t,r,n,o,a){var i=e(r,n,o,a);return i+='_output = _output.replace(/^\\s+/, "")\n .replace(/>\\s+</g, "><")\n .replace(/\\s+$/, "");\n'},e.parse=function(e,t,r){return r.on("*",function(e){throw new Error('Unexpected token "'+e.match+'" on line '+t+".")}),!0},e.ends=!0}}),_=t({"lib/tags/index.js"(e){e.autoescape=i(),e.block=s(),e.else=c(),e.elseif=u(),e.elif=e.elseif,e.extends=f(),e.filter=m(),e.for=v(),e.if=p(),e.import=b(),e.include=C(),e.macro=T(),e.parent=R(),e.raw=A(),e.set=N(),e.spaceless=k()}}),P=t({"browser/stubs/fs.js"(e,t){t.exports={}}}),L=t({"node_modules/path-browserify/index.js"(e,t){"use strict";function r(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var r,n="",o=0,a=-1,i=0,s=0;s<=e.length;++s){if(s<e.length)r=e.charCodeAt(s);else{if(47===r)break;r=47}if(47===r){if(a===s-1||1===i);else if(a!==s-1&&2===i){if(n.length<2||2!==o||46!==n.charCodeAt(n.length-1)||46!==n.charCodeAt(n.length-2))if(n.length>2){var c=n.lastIndexOf("/");if(c!==n.length-1){-1===c?(n="",o=0):o=(n=n.slice(0,c)).length-1-n.lastIndexOf("/"),a=s,i=0;continue}}else if(2===n.length||1===n.length){n="",o=0,a=s,i=0;continue}t&&(n.length>0?n+="/..":n="..",o=2)}else n.length>0?n+="/"+e.slice(a+1,s):n=e.slice(a+1,s),o=s-a-1;a=s,i=0}else 46===r&&-1!==i?++i:i=-1}return n}var o={resolve:function(){for(var e,t="",o=!1,a=arguments.length-1;a>=-1&&!o;a--){var i;a>=0?i=arguments[a]:(void 0===e&&(e=process.cwd()),i=e),r(i),0!==i.length&&(t=i+"/"+t,o=47===i.charCodeAt(0))}return t=n(t,!o),o?t.length>0?"/"+t:"/":t.length>0?t:"."},normalize:function(e){if(r(e),0===e.length)return".";var t=47===e.charCodeAt(0),o=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!t)).length||t||(e="."),e.length>0&&o&&(e+="/"),t?"/"+e:e},isAbsolute:function(e){return r(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,t=0;t<arguments.length;++t){var n=arguments[t];r(n),n.length>0&&(void 0===e?e=n:e+="/"+n)}return void 0===e?".":o.normalize(e)},relative:function(e,t){if(r(e),r(t),e===t)return"";if((e=o.resolve(e))===(t=o.resolve(t)))return"";for(var n=1;n<e.length&&47===e.charCodeAt(n);++n);for(var a=e.length,i=a-n,s=1;s<t.length&&47===t.charCodeAt(s);++s);for(var c=t.length-s,l=i<c?i:c,p=-1,u=0;u<=l;++u){if(u===l){if(c>l){if(47===t.charCodeAt(s+u))return t.slice(s+u+1);if(0===u)return t.slice(s+u)}else i>l&&(47===e.charCodeAt(n+u)?p=u:0===u&&(p=0));break}var f=e.charCodeAt(n+u);if(f!==t.charCodeAt(s+u))break;47===f&&(p=u)}var h="";for(u=n+p+1;u<=a;++u)u!==a&&47!==e.charCodeAt(u)||(0===h.length?h+="..":h+="/..");return h.length>0?h+t.slice(s+p):(s+=p,47===t.charCodeAt(s)&&++s,t.slice(s))},_makeLong:function(e){return e},dirname:function(e){if(r(e),0===e.length)return".";for(var t=e.charCodeAt(0),n=47===t,o=-1,a=!0,i=e.length-1;i>=1;--i)if(47===(t=e.charCodeAt(i))){if(!a){o=i;break}}else a=!1;return-1===o?n?"/":".":n&&1===o?"//":e.slice(0,o)},basename:function(e,t){if(void 0!==t&&"string"!=typeof t)throw new TypeError('"ext" argument must be a string');r(e);var n,o=0,a=-1,i=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var s=t.length-1,c=-1;for(n=e.length-1;n>=0;--n){var l=e.charCodeAt(n);if(47===l){if(!i){o=n+1;break}}else-1===c&&(i=!1,c=n+1),s>=0&&(l===t.charCodeAt(s)?-1===--s&&(a=n):(s=-1,a=c))}return o===a?a=c:-1===a&&(a=e.length),e.slice(o,a)}for(n=e.length-1;n>=0;--n)if(47===e.charCodeAt(n)){if(!i){o=n+1;break}}else-1===a&&(i=!1,a=n+1);return-1===a?"":e.slice(o,a)},extname:function(e){r(e);for(var t=-1,n=0,o=-1,a=!0,i=0,s=e.length-1;s>=0;--s){var c=e.charCodeAt(s);if(47!==c)-1===o&&(a=!1,o=s+1),46===c?-1===t?t=s:1!==i&&(i=1):-1!==t&&(i=-1);else if(!a){n=s+1;break}}return-1===t||-1===o||0===i||1===i&&t===o-1&&t===n+1?"":e.slice(t,o)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var r=t.dir||t.root,n=t.base||(t.name||"")+(t.ext||"");return r?r===t.root?r+n:r+e+n:n}("/",e)},parse:function(e){r(e);var t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;var n,o=e.charCodeAt(0),a=47===o;a?(t.root="/",n=1):n=0;for(var i=-1,s=0,c=-1,l=!0,p=e.length-1,u=0;p>=n;--p)if(47!==(o=e.charCodeAt(p)))-1===c&&(l=!1,c=p+1),46===o?-1===i?i=p:1!==u&&(u=1):-1!==i&&(u=-1);else if(!l){s=p+1;break}return-1===i||-1===c||0===u||1===u&&i===c-1&&i===s+1?-1!==c&&(t.base=t.name=0===s&&a?e.slice(1,c):e.slice(s,c)):(0===s&&a?(t.name=e.slice(1,i),t.base=e.slice(1,c)):(t.name=e.slice(s,i),t.base=e.slice(s,c)),t.ext=e.slice(i,c)),s>0?t.dir=e.slice(0,s-1):a&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};o.posix=o,t.exports=o}}),S=t({"packages/swig-core/lib/loaders/filesystem.js"(e,t){var r=P(),n=L();t.exports=function(e,t,o){var a={};return t=t||"utf8",e=e?n.resolve(e):null,a.resolve=function(t,r){var a,i;if(r=e||(r?n.dirname(r):process.cwd()),a=n.resolve(r,t),e&&!o&&(i=n.normalize(e+n.sep),a!==e&&0!==a.indexOf(i)))throw new Error('Template "'+t+'" resolves outside the loader root "'+e+'" (CVE-2023-25345).');return a},a.load=function(e,n){if(!r||n&&!r.readFile||!r.readFileSync)throw new Error("Unable to find file "+e+" because there is no filesystem to read from.");if(e=a.resolve(e),!n)return r.readFileSync(e,t);r.readFile(e,t,n)},a}}}),I=t({"packages/swig-core/lib/loaders/memory.js"(e,t){var r=L(),o=n();t.exports=function(e,t){var n={};return t=t?r.normalize(t):null,n.resolve=function(e,n){return t?(/^\.\.([\\/]|$)/.test(r.normalize(e))&&o.throwError('Template "'+e+'" resolves outside the loader root "'+t+'".'),n=t):n=n?r.dirname(n):"/",r.resolve(n,e)},n.load=function(t,r){var n,a;if(a=[t,t.replace(/^(\/|\\)/,"")],(n=e[a[0]]||e[a[1]])||o.throwError('Unable to find template "'+t+'".'),!r)return n;r(null,n)},n}}}),F=t({"packages/swig-core/lib/loaders/index.js"(e){e.fs=S(),e.memory=I()}}),j=t({"lib/loaders/index.js"(e,t){t.exports=F()}}),U=t({"lib/async/pre-walker.js"(e){var t=o();function r(e){return e.replace(/[\-\/\\\^$*+?.()|\[\]{}]/g,"\\$&")}function n(e,t,r){var n=e.substr(t.length,e.length-t.length-r.length);return"-"===n.charAt(0)&&(n=n.substr(1)),"-"===n.charAt(n.length-1)&&(n=n.substr(0,n.length-1)),n.replace(/^\s+|\s+$/g,"")}e.scan=function(e,o){e=e.replace(/\r\n/g,"\n");var a,i,s,c,l,p=function(e){var t="[\\s\\S]*?",n=r(e.varControls[0]),o=r(e.varControls[1]),a=r(e.tagControls[0]),i=r(e.tagControls[1]),s=r(e.cmtControls[0]),c=r(e.cmtControls[1]);return new RegExp("("+a+t+i+"|"+n+t+o+"|"+s+t+c+")")}(o),u=o.tagControls[0],f=o.tagControls[1],h=o.rawTag,d="end"+h,y=new RegExp("^("+o.keywords.join("|")+")\\s+[\"\\']([^\"\\']+)[\"\\']"),g=e.split(p),m=[],v=!1;for(a=0;a<g.length;a+=1)"string"==typeof(i=g[a])&&i&&t.startsWith(i,u)&&t.endsWith(i,f)&&((c=(s=n(i,u,f)).split(/\s+/)[0])!==h?c!==d?v||(l=y.exec(s))&&m.push({kind:l[1],path:l[2]}):v=!1:v=!0);return m},e.walk=function(t,r,n){var o={},a={};return new Promise(function(i,s){var c=0,l=[],p=!1;function u(e){o.hasOwnProperty(e)||a[e]||(a[e]=!0,l.push(e))}function f(){for(;l.length>0&&!p;){var e=l.shift();c+=1,h(e)}0!==c||p||0!==l.length||i(o)}function h(t){r.load(t,function(a,i){if(!p){if(a)return p=!0,void s(a);if("string"!=typeof i)return p=!0,void s(new Error('Async loader returned non-string source for "'+t+'"'));var l,h,d;o[t]=i;try{l=e.scan(i,n)}catch(e){return p=!0,void s(e)}for(h=0;h<l.length;h+=1){try{d=r.resolve(l[h].path,t)}catch(e){return p=!0,void s(e)}u(d)}c-=1,f()}})}u(t),f()})},e.makeMemoryWrapper=function(e,t){return{resolve:function(t,r){return e.resolve(t,r)},load:function(e,r){var n=t[e];if("string"!=typeof n){var o=new Error('Pre-walked map missing path: "'+e+'"');if(r)return void r(o);throw o}if(!r)return n;r(null,n)}}}}}),M=t({"packages/swig-core/lib/cache.js"(e){e.shouldCache=function(e,t){return(e=e||{}).hasOwnProperty("cache")&&!e.cache||!t},e.cacheGet=function(t,r,n,o){if(!e.shouldCache(r,n))return"memory"===n?Object.prototype.hasOwnProperty.call(o,t)?o[t]:void 0:n.get(t)},e.cacheSet=function(t,r,n,o,a){e.shouldCache(r,o)||("memory"!==o?o.set(t,n):a[t]=n)}}}),Y=t({"packages/swig-core/lib/engine.js"(e){var t=n(),r=a(),o=E(),i=M(),s=Object.getPrototypeOf(async function(){}).constructor;function c(){return""}function l(e,t){return t&&"async"===t.codegenMode?e+"#async":e}function p(e,n){var a={},i=[];return t.each(e.blocks,function(e){var s=e.args?e.args.slice(0):[],c=e.content?e.content.slice(0):[];if("block"!==e.name){var l=e.compile(o.compile,s,c,[],n,void 0,e);null!=l&&""!==l&&("string"!=typeof l?t.isArray(l)?t.each(l,function(e){i.push(e)}):"object"==typeof l&&"string"==typeof l.type&&i.push(l):i.push(r.legacyJS(l)))}else{var p=s.join(""),u=e.compile(o.compile,s,c,[],n,p,e);u&&"object"==typeof u&&"string"==typeof u.type&&(a[p]=u)}}),r.extendsDeferred(e.parentExpr||r.literal("string",e.parent),a,i,n.filename||"")}e.remapBlocks=function e(r,n){return t.map(n,function(t){var n=t.args?t.args.join(""):"";return"block"===t.name&&r[n]&&(t=r[n]),t.content&&t.content.length&&(t.content=e(r,t.content)),t})},e.importNonBlocks=function(e,r){var n=[];t.each(e,function(e){n.push(e)}),t.each(n.reverse(),function(e){"block"!==e.name&&r.unshift(e)})},e.getParents=function(r,n,o){for(var a,i,s,c=r.parent,l=[],p=[];c;){if(!n||!n.filename)throw new Error('Cannot extend "'+c+'" because current template has no filename.');if(a=a||n.filename,a=o.resolve(c,a),(i=o.cacheGet(a,n))&&i.tokens||(i=o.parseFile(a,t.extend({},n,{filename:a}))),c=i.parent,-1!==l.indexOf(a))throw new Error('Illegal circular extends of "'+a+'".');l.push(a),p.push(i)}for(s=p.length,s=p.length-2;s>=0;s-=1)p[s].tokens=e.remapBlocks(p[s].blocks,p[s+1].tokens),e.importNonBlocks(p[s].blocks,p[s].tokens);return p},e.buildTemplateFunction=function(e,t,r){if(r&&"async"===r.codegenMode){var n=' var _ext = _swig.extensions,\n _output = "",\n _exports = {};\n'+o.compile(e,t,r)+"\n return { output: _output, exports: _exports };\n";return new s("_swig","_ctx","_filters","_utils","_fn","_blocks",n)}var a=' var _ext = _swig.extensions,\n _output = "";\n'+o.compile(e,t,r)+"\n return _output;\n";return new Function("_swig","_ctx","_filters","_utils","_fn",a)},e.install=function(r,n){var o=n.parser,a=t.extend({},n.tags),s=t.extend({},n.filters),u=n.validateOptions,f=n.onCompileError;function h(e){return e&&e.locals?t.extend({},r.options.locals,e.locals):r.options.locals}function d(e,t){return i.cacheGet(e,t,r.options.cache,r.cache)}function y(e,t,n){i.cacheSet(e,t,n,r.options.cache,r.cache)}function g(e){var n=h(),o=t.keys(n).length;return function(a,i){var l;return l=a&&o?t.extend({},n,a):a&&!o?a:!a&&o?n:{},e(r,l,s,t,c,i)}}function m(e,t){if("string"!=typeof e||!e.length)throw new Error("Template registration path must be a non-empty string.");if("function"!=typeof t)throw new Error('Registered template for "'+e+'" is not a function. Pass a pre-compiled template function.');if(!r.options.cache)throw new Error("Cannot register templates while caching is disabled (cache: "+r.options.cache+"). The registry is the compile cache.")}r.invalidateCache=function(){"memory"===r.options.cache&&(r.cache={})},r.register=function(e,t){return m(e,t),y(r.options.loader.resolve(e),{},g(t)),r},r.registerBundle=function(e){var n=[];if(!e||"object"!=typeof e)throw new Error("Template bundle must be an object of { path: templateFn } pairs.");return t.each(e,function(e,t){n.push([t,e]),m(t,e)}),t.each(n,function(e){r.register(e[0],e[1])}),r},r.setFilter=function(e,t){if("function"!=typeof t)throw new Error('Filter "'+e+'" is not a valid function.');s[e]=t},r.setTag=function(e,t,r,n,o){if("function"!=typeof t)throw new Error('Tag "'+e+'" parse method is not a valid function.');if("function"!=typeof r)throw new Error('Tag "'+e+'" compile method is not a valid function.');a[e]={parse:t,compile:r,ends:n||!1,block:!!o}},r.setExtension=function(e,t){r.extensions[e]=t},r.parse=function(e,n){u(n);var i,c=h(n),l={};for(i in n)n.hasOwnProperty(i)&&"locals"!==i&&(l[i]=n[i]);return(n=t.extend({},r.options,l)).locals=c,o.parse(r,e,n,a,s)},r.parseFile=function(e,n){var o;return n||(n={}),e=r.options.loader.resolve(e,n.resolveFrom),o=r.options.loader.load(e),n.filename||(n=t.extend({filename:e},n)),r.parse(o,n)},r.precompile=function(t,n){var o,a,i=r.parse(t,n);if(n&&"async"===n.codegenMode&&i.parent)o=[],i.tokens=[p(i,n)];else{if(i.parentExpr)throw new Error("Dynamic {% extends %} requires the async render path — use renderFile(path, locals, cb) with a loader that sets loader.async === true.");o=function(t,n){return e.getParents(t,n,{resolve:function(e,t){return r.options.loader.resolve(e,t)},parseFile:r.parseFile,cacheGet:d})}(i,n),o.length&&(i.tokens=e.remapBlocks(i.blocks,o[0].tokens),e.importNonBlocks(i.blocks,i.tokens))}try{a=e.buildTemplateFunction(i,o,n)}catch(e){f(e,n)}return{tpl:a,tokens:i}},r.compile=function(e,n){var o,a,i,p=n&&n.filename?l(n.filename,n):null,u=p?d(p,n):null;if(u)return u;function f(e,n){var l;return l=e&&a?t.extend({},o,e):e&&!a?e:!e&&a?o:{},i.tpl(r,l,s,t,c,n)}return o=h(n),a=t.keys(o).length,i=r.precompile(e,n),t.extend(f,i.tokens),p&&y(p,n,f),f},r.compileFile=function(e,n,o){var a,i;return n||(n={}),e=r.options.loader.resolve(e,n.resolveFrom),n.filename||(n=t.extend({filename:e},n)),(i=d(l(e,n),n))?o?void o(null,i):i:o?void r.options.loader.load(e,function(e,t){if(e)o(e);else{var a;try{a=r.compile(t,n)}catch(e){return void o(e)}o(e,a)}}):(a=r.options.loader.load(e),r.compile(a,n))},r.getTemplate=function(e,n){var o;n=n||{};try{o=r.options.loader.resolve(e,n.resolveFrom)}catch(e){return Promise.reject(e)}var a=t.extend({},n,{filename:n.filename||o,codegenMode:"async",cache:!1});return new Promise(function(e,t){function n(n,o){if(n)t(n);else{var i;try{i=r.compile(o,a)}catch(e){return void t(e)}e(i)}}if(r.options.loader.load.length>=2)try{r.options.loader.load(o,n)}catch(e){n(e)}else{var i;try{i=r.options.loader.load(o)}catch(e){return void n(e)}n(null,i)}})},r.render=function(e,t){return r.compile(e,t)()},r.renderFile=function(e,t,n){return n?r.options.loader&&!0===r.options.loader.async?void r.getTemplate(e).then(function(e){return e(t)}).then(function(e){n(null,e.output)}).catch(n):void r.compileFile(e,{},function(e,r){var o;if(e)n(e);else{try{o=r(t)}catch(e){return void n(e)}n(null,o)}}):r.compileFile(e)(t)},r.run=function(e,n,o){var a=h({locals:n});return o&&y(r.options.loader.resolve(o),{},g(e)),e(r,a,s,t,c)}}}}),D=t({"lib/swig.js"(e){var t=o(),r=_(),n=g(),a=O(),i=d(),s=j(),c=U(),l=Y();e.version="2.8.3";var p,u={autoescape:!0,varControls:["{{","}}"],tagControls:["{%","%}"],cmtControls:["{#","#}"],locals:{},cache:"memory",loader:s.fs()};function f(e){if(e){if(t.each(["varControls","tagControls","cmtControls"],function(r){if(e.hasOwnProperty(r)){if(!t.isArray(e[r])||2!==e[r].length||"string"!=typeof e[r][0]||"string"!=typeof e[r][1])throw new Error('Option "'+r+'" must be an array containing 2 different control strings.');if(e[r][0]===e[r][1])throw new Error('Option "'+r+'" open and close controls must not be the same.');t.each(e[r],function(e,t){if(e.length<2)throw new Error('Option "'+r+'" '+(t?"close ":"open ")+'control must be at least 2 characters. Saw "'+e+'" instead.')})}}),e.hasOwnProperty("cache")&&e.cache&&"memory"!==e.cache&&(!e.cache.get||!e.cache.set))throw new Error("Invalid cache option "+JSON.stringify(e.cache)+' found. Expected "memory" or { get: function (key) { ... }, set: function (key, value) { ... } }.');if(e.hasOwnProperty("loader")&&e.loader&&(!e.loader.load||!e.loader.resolve))throw new Error("Invalid loader option "+JSON.stringify(e.loader)+" found. Expected { load: function (pathname, cb) { ... }, resolve: function (to, from) { ... } }.")}}e.setDefaults=function(e){f(e),p.options=t.extend(p.options,e)},e.setDefaultTZOffset=function(e){i.tzOffset=e},e.Swig=function(e){f(e),this.options=t.extend({},u,e||{}),this.cache={},this.extensions={},l.install(this,{parser:a,tags:r,filters:n,validateOptions:f,onCompileError:function(e,r){var n=r&&r.filename;if(e instanceof Error&&(!n||-1!==e.message.indexOf(" in file "+n)))throw e;t.throwError(e,null,n)}});var o=this;function i(){return{varControls:o.options.varControls,tagControls:o.options.tagControls,cmtControls:o.options.cmtControls,rawTag:"raw",keywords:["extends","include","import"]}}this.renderFileAsync=function(e,t,r){"function"==typeof t&&(r=t,t=void 0);var n,a=o.options.loader;try{n=a.resolve(e)}catch(e){return void r(e)}c.walk(n,a,i()).then(function(e){var i,s,l=c.makeMemoryWrapper(a,e),p=o.options.loader;o.options.loader=l;try{i=o.renderFile(n,t)}catch(e){s=e}o.options.loader=p,s?r(s):r(null,i)},function(e){r(e)})},this.compileFileAsync=function(e,t,r){"function"==typeof t&&(r=t,t={});var n,a=o.options.loader;try{n=a.resolve(e)}catch(e){return void r(e)}c.walk(n,a,i()).then(function(e){var i,s,l=c.makeMemoryWrapper(a,e),p=o.options.loader;o.options.loader=l;try{i=o.compileFile(n,t)}catch(e){s=e}if(o.options.loader=p,s)r(s);else{r(null,function(e){var t=o.options.loader;o.options.loader=l;try{var r=i(e);return o.options.loader=t,r}catch(e){throw o.options.loader=t,e}})}},function(e){r(e)})}},p=new e.Swig,e.setFilter=p.setFilter,e.setTag=p.setTag,e.setExtension=p.setExtension,e.parseFile=p.parseFile,e.precompile=p.precompile,e.compile=p.compile,e.compileFile=p.compileFile,e.compileFileAsync=p.compileFileAsync,e.render=p.render,e.renderFile=p.renderFile,e.renderFileAsync=p.renderFileAsync,e.run=p.run,e.register=p.register,e.registerBundle=p.registerBundle,e.invalidateCache=p.invalidateCache,e.loaders=s}})();"function"==typeof window.define&&"object"==typeof window.define.amd?window.define("swig",[],function(){return D}):window.swig=D})();
|
|
4
4
|
/*!
|
|
5
5
|
* Resolve a single path segment against a value, Django-style. A plain
|
|
6
6
|
* property access (`obj[seg]`) covers dictionary, attribute, and array /
|