@rhinostone/swig 1.4.6 → 1.5.0
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/.changes/v1.4.7.md +8 -0
- package/.changes/v1.5.0.md +4 -0
- package/HISTORY.md +13 -0
- package/README.md +3 -1
- package/ROADMAP.md +6 -0
- package/dist/swig.js +50 -4
- package/dist/swig.min.js +5 -5
- package/dist/swig.min.js.map +1 -1
- package/lib/loaders/index.js +1 -1
- package/lib/parser.js +8 -0
- package/lib/swig.js +2 -2
- package/lib/tags/for.js +10 -0
- package/lib/tags/import.js +10 -0
- package/lib/tags/macro.js +13 -0
- package/lib/tags/set.js +5 -0
- package/package.json +4 -3
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
[1.4.7](https://github.com/gina-io/swig/tree/v1.4.7) / 2026-04-10
|
|
2
|
+
-----------------------------------------------------------------
|
|
3
|
+
|
|
4
|
+
* **Changed** Upgrade `yargs` from 3.x to 17.x, replacing unmaintained transitive dependencies (`os-locale`, `window-size`, `number-is-nan`, `ansi-regex@2`, etc.) with actively maintained equivalents
|
|
5
|
+
|
|
6
|
+
* **Changed** Update `engines` field to `node >= 12` (reflects actual minimum required by `terser` and `yargs` 17)
|
|
7
|
+
|
|
8
|
+
* **Fixed** Replace private IP address (`192.168.0.2`) with `localhost:11211` in JSDoc example for template loaders
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
[1.5.0](https://github.com/gina-io/swig/tree/v1.5.0) / 2026-04-12
|
|
2
|
+
-----------------------------------------------------------------
|
|
3
|
+
|
|
4
|
+
* **Security** Extended CVE-2023-25345 guards to bracket-notation access (`foo["__proto__"]`), for-loop variables, macro names, and import aliases. All five gaps now rejected at parse time.
|
package/HISTORY.md
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
[1.5.0](https://github.com/gina-io/swig/tree/v1.5.0) / 2026-04-12
|
|
2
|
+
-----------------------------------------------------------------
|
|
3
|
+
|
|
4
|
+
* **Security** Extended CVE-2023-25345 guards to bracket-notation access (`foo["__proto__"]`), for-loop variables, macro names, and import aliases. All five gaps now rejected at parse time.
|
|
5
|
+
|
|
6
|
+
[1.4.7](https://github.com/gina-io/swig/tree/v1.4.7) / 2026-04-10
|
|
7
|
+
-----------------------------------------------------------------
|
|
8
|
+
|
|
9
|
+
* **Changed** Upgrade `yargs` from 3.x to 17.x, replacing unmaintained transitive dependencies (`os-locale`, `window-size`, `number-is-nan`, `ansi-regex@2`, etc.) with actively maintained equivalents
|
|
10
|
+
|
|
11
|
+
* **Changed** Update `engines` field to `node >= 12` (reflects actual minimum required by `terser` and `yargs` 17)
|
|
12
|
+
|
|
13
|
+
* **Fixed** Replace private IP address (`192.168.0.2`) with `localhost:11211` in JSDoc example for template loaders
|
|
1
14
|
[1.4.6](https://github.com/gina-io/swig/tree/v1.4.6) / 2026-04-10
|
|
2
15
|
-----------------------------------------------------------------
|
|
3
16
|
|
package/README.md
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
Swig
|
|
2
2
|
====
|
|
3
3
|
|
|
4
|
-
[](https://github.com/gina-io/swig/actions/workflows/ci.yml) [](https://www.npmjs.org/package/@rhinostone/swig) [](https://www.npmjs.org/package/@rhinostone/swig)
|
|
4
|
+
[](https://github.com/gina-io/swig/actions/workflows/ci.yml) [](https://www.npmjs.org/package/@rhinostone/swig) [](https://www.npmjs.org/package/@rhinostone/swig) [](https://socket.dev/npm/package/@rhinostone/swig)
|
|
5
5
|
|
|
6
6
|
> **Maintained fork.** This is [gina-io/swig](https://github.com/gina-io/swig), a maintained fork of the abandoned [paularmstrong/swig](https://github.com/paularmstrong/swig). Security fixes and critical bug fixes land here; no new features are planned. The original project has not had a release since 2014.
|
|
7
7
|
|
|
8
|
+
> **Part of the [Gina](https://github.com/gina-io/gina) ecosystem.** This fork is the built-in template engine for [Gina](https://gina.io) ([npm](https://www.npmjs.com/package/gina)), a Node.js MVC framework with HTTP/2, multi-bundle architecture, and scope-based data isolation.
|
|
9
|
+
|
|
8
10
|
Swig is a Django/Jinja-like template engine for node.js and browsers.
|
|
9
11
|
|
|
10
12
|
Features
|
package/ROADMAP.md
CHANGED
|
@@ -16,6 +16,12 @@ For bug reports and feature requests, file an issue at [gina-io/swig](https://gi
|
|
|
16
16
|
|
|
17
17
|
## Completed
|
|
18
18
|
|
|
19
|
+
### v1.4.7 (April 2026)
|
|
20
|
+
|
|
21
|
+
- Upgrade `yargs` from 3.x to 17.x, replacing unmaintained transitive dependencies with actively maintained equivalents
|
|
22
|
+
- Update `engines` field to `node >= 12` (reflects actual minimum required by runtime dependencies)
|
|
23
|
+
- Fix private IP address in JSDoc example for template loaders
|
|
24
|
+
|
|
19
25
|
### v1.4.6 (April 2026)
|
|
20
26
|
|
|
21
27
|
- Replace `uglify-js` with `terser` in CLI (`--minify` flag), removing the last Snyk-flagged runtime dependency
|
package/dist/swig.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! Swig v1.
|
|
1
|
+
/*! Swig v1.5.0 | 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/TomoUniversalis/DateZ/blob/master/LISENCE */
|
|
3
3
|
;(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
|
|
4
4
|
var swig = require('../lib/swig');
|
|
@@ -1269,7 +1269,7 @@ module.exports = function (basepath, encoding) {
|
|
|
1269
1269
|
* };
|
|
1270
1270
|
* };
|
|
1271
1271
|
* // Tell swig about the loader:
|
|
1272
|
-
* swig.setDefaults({ loader: memcachedLoader(['
|
|
1272
|
+
* swig.setDefaults({ loader: memcachedLoader(['localhost:11211']) });
|
|
1273
1273
|
*/
|
|
1274
1274
|
|
|
1275
1275
|
/**
|
|
@@ -1548,6 +1548,14 @@ TokenParser.prototype = {
|
|
|
1548
1548
|
break;
|
|
1549
1549
|
|
|
1550
1550
|
case _t.STRING:
|
|
1551
|
+
// CVE-2023-25345: block prototype-chain traversal via bracket notation
|
|
1552
|
+
// e.g. foo["__proto__"] or foo["constructor"]
|
|
1553
|
+
if (lastState === _t.BRACKETOPEN) {
|
|
1554
|
+
var strippedMatch = match.replace(/^['"]|['"]$/g, '');
|
|
1555
|
+
if (_dangerousProps.indexOf(strippedMatch) !== -1) {
|
|
1556
|
+
utils.throwError('Unsafe access to "' + strippedMatch + '" via bracket notation is not allowed in templates (CVE-2023-25345)', self.line, self.filename);
|
|
1557
|
+
}
|
|
1558
|
+
}
|
|
1551
1559
|
self.filterApplyIdx.push(self.out.length);
|
|
1552
1560
|
self.out.push(match.replace(/\\/g, '\\\\'));
|
|
1553
1561
|
break;
|
|
@@ -2140,11 +2148,11 @@ var utils = require('./utils'),
|
|
|
2140
2148
|
/**
|
|
2141
2149
|
* Swig version number as a string.
|
|
2142
2150
|
* @example
|
|
2143
|
-
* if (swig.version === "1.
|
|
2151
|
+
* if (swig.version === "1.5.0") { ... }
|
|
2144
2152
|
*
|
|
2145
2153
|
* @type {String}
|
|
2146
2154
|
*/
|
|
2147
|
-
exports.version = "1.
|
|
2155
|
+
exports.version = "1.5.0";
|
|
2148
2156
|
|
|
2149
2157
|
/**
|
|
2150
2158
|
* Swig Options Object. This object can be passed to many of the API-level Swig methods to control various aspects of the engine. All keys are optional.
|
|
@@ -3089,6 +3097,11 @@ exports.ends = true;
|
|
|
3089
3097
|
var ctx = '_ctx.',
|
|
3090
3098
|
ctxloop = ctx + 'loop';
|
|
3091
3099
|
|
|
3100
|
+
// CVE-2023-25345: prototype-chain properties that must not be used as loop
|
|
3101
|
+
// variable names. The for tag assigns loop variables to _ctx, so dangerous
|
|
3102
|
+
// names would pollute the prototype chain.
|
|
3103
|
+
var _dangerousProps = ['__proto__', 'constructor', 'prototype'];
|
|
3104
|
+
|
|
3092
3105
|
/**
|
|
3093
3106
|
* Loop over objects and arrays.
|
|
3094
3107
|
*
|
|
@@ -3188,6 +3201,11 @@ exports.parse = function (str, line, parser, types) {
|
|
|
3188
3201
|
return true;
|
|
3189
3202
|
}
|
|
3190
3203
|
|
|
3204
|
+
// CVE-2023-25345: block prototype-chain property names as loop variables
|
|
3205
|
+
if (_dangerousProps.indexOf(token.match) !== -1) {
|
|
3206
|
+
throw new Error('Unsafe loop variable "' + token.match + '" is not allowed (CVE-2023-25345) on line ' + line + '.');
|
|
3207
|
+
}
|
|
3208
|
+
|
|
3191
3209
|
if (!this.out.length) {
|
|
3192
3210
|
firstVar = true;
|
|
3193
3211
|
}
|
|
@@ -3308,6 +3326,11 @@ exports.ends = true;
|
|
|
3308
3326
|
},{}],18:[function(require,module,exports){
|
|
3309
3327
|
var utils = require('../utils');
|
|
3310
3328
|
|
|
3329
|
+
// CVE-2023-25345: prototype-chain properties that must not be used as import
|
|
3330
|
+
// aliases. The import tag assigns a namespace object to _ctx, so dangerous
|
|
3331
|
+
// names would pollute the prototype chain.
|
|
3332
|
+
var _dangerousProps = ['__proto__', 'constructor', 'prototype'];
|
|
3333
|
+
|
|
3311
3334
|
/**
|
|
3312
3335
|
* Allows you to import macros from another file directly into your current context.
|
|
3313
3336
|
* The import tag is specifically designed for importing macros into your template with a specific context scope. This is very useful for keeping your macros from overriding template context that is being injected by your server-side page generation.
|
|
@@ -3391,6 +3414,11 @@ exports.parse = function (str, line, parser, types, stack, opts, swig) {
|
|
|
3391
3414
|
return;
|
|
3392
3415
|
}
|
|
3393
3416
|
|
|
3417
|
+
// CVE-2023-25345: block prototype-chain property names as import aliases
|
|
3418
|
+
if (_dangerousProps.indexOf(token.match) !== -1) {
|
|
3419
|
+
throw new Error('Unsafe import alias "' + token.match + '" is not allowed (CVE-2023-25345) on line ' + line + '.');
|
|
3420
|
+
}
|
|
3421
|
+
|
|
3394
3422
|
ctx = token.match;
|
|
3395
3423
|
self.out.push(ctx);
|
|
3396
3424
|
return false;
|
|
@@ -3556,6 +3584,11 @@ exports.compile = function (compiler, args, content, parents, options, blockName
|
|
|
3556
3584
|
'_ctx.' + fnName + '.safe = true;\n';
|
|
3557
3585
|
};
|
|
3558
3586
|
|
|
3587
|
+
// CVE-2023-25345: prototype-chain properties that must not be used as macro
|
|
3588
|
+
// names. The macro tag assigns the compiled function to _ctx, so dangerous
|
|
3589
|
+
// names would pollute the prototype chain.
|
|
3590
|
+
var _dangerousProps = ['__proto__', 'constructor', 'prototype'];
|
|
3591
|
+
|
|
3559
3592
|
exports.parse = function (str, line, parser, types) {
|
|
3560
3593
|
var name;
|
|
3561
3594
|
|
|
@@ -3568,6 +3601,10 @@ exports.parse = function (str, line, parser, types) {
|
|
|
3568
3601
|
|
|
3569
3602
|
parser.on(types.FUNCTION, function (token) {
|
|
3570
3603
|
if (!name) {
|
|
3604
|
+
// CVE-2023-25345: block prototype-chain property names as macro names
|
|
3605
|
+
if (_dangerousProps.indexOf(token.match) !== -1) {
|
|
3606
|
+
throw new Error('Unsafe macro name "' + token.match + '" is not allowed (CVE-2023-25345) on line ' + line + '.');
|
|
3607
|
+
}
|
|
3571
3608
|
name = token.match;
|
|
3572
3609
|
this.out.push(name);
|
|
3573
3610
|
this.state.push(types.FUNCTION);
|
|
@@ -3576,6 +3613,10 @@ exports.parse = function (str, line, parser, types) {
|
|
|
3576
3613
|
|
|
3577
3614
|
parser.on(types.FUNCTIONEMPTY, function (token) {
|
|
3578
3615
|
if (!name) {
|
|
3616
|
+
// CVE-2023-25345: block prototype-chain property names as macro names
|
|
3617
|
+
if (_dangerousProps.indexOf(token.match) !== -1) {
|
|
3618
|
+
throw new Error('Unsafe macro name "' + token.match + '" is not allowed (CVE-2023-25345) on line ' + line + '.');
|
|
3619
|
+
}
|
|
3579
3620
|
name = token.match;
|
|
3580
3621
|
this.out.push(name);
|
|
3581
3622
|
}
|
|
@@ -3760,6 +3801,11 @@ exports.parse = function (str, line, parser, types) {
|
|
|
3760
3801
|
|
|
3761
3802
|
parser.on(types.STRING, function (token) {
|
|
3762
3803
|
if (propertyName && !this.out.length) {
|
|
3804
|
+
// CVE-2023-25345: block prototype-chain property assignment via bracket notation
|
|
3805
|
+
var stripped = token.match.replace(/^['"]|['"]$/g, '');
|
|
3806
|
+
if (_dangerousProps.indexOf(stripped) !== -1) {
|
|
3807
|
+
throw new Error('Unsafe assignment to "' + stripped + '" via bracket notation is not allowed (CVE-2023-25345) on line ' + line + '.');
|
|
3808
|
+
}
|
|
3763
3809
|
propertyName += token.match;
|
|
3764
3810
|
return;
|
|
3765
3811
|
}
|
package/dist/swig.min.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
/*! Swig v1.
|
|
1
|
+
/*! Swig v1.5.0 | 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/TomoUniversalis/DateZ/blob/master/LISENCE */
|
|
3
|
-
!function e(t,n,r){function o(s,a){if(!n[s]){if(!t[s]){var u="function"==typeof require&&require;if(!a&&u)return u(s,!0);if(i)return i(s,!0);throw new Error("Cannot find module '"+s+"'")}var c=n[s]={exports:{}};t[s][0].call(c.exports,function(e){var n=t[s][1][e];return o(n||e)},c,c.exports,e,t,n,r)}return n[s].exports}for(var i="function"==typeof require&&require,s=0;s<r.length;s++)o(r[s]);return o}({1:[function(e,t,n){var r=e("../lib/swig");"function"==typeof window.define&&"object"==typeof window.define.amd?window.define("swig",[],function(){return r}):window.swig=r},{"../lib/swig":9}],2:[function(e,t,n){var r=e("./utils"),o={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"]},i={full:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],abbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],alt:{"-1":"Yesterday",0:"Today",1:"Tomorrow"}};n.tzOffset=0,n.DateZ=function(){var e=["getUTCDate","getUTCDay","getUTCFullYear","getUTCHours","getUTCMilliseconds","getUTCMinutes","getUTCMonth","getUTCSeconds","toISOString","toGMTString","toUTCString","valueOf","getTime"],t=["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(),r.each(t,function(e){o[e]=function(){return o.dateZ[e]()}}),r.each(e,function(e){o[e]=function(){return o.date[e]()}}),this.setTimezoneOffset(n.tzOffset)},n.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}},n.d=function(e){return(e.getDate()<10?"0":"")+e.getDate()},n.D=function(e){return i.abbr[e.getDay()]},n.j=function(e){return e.getDate()},n.l=function(e){return i.full[e.getDay()]},n.N=function(e){var t=e.getDay();return t>=1?t:7},n.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"},n.w=function(e){return e.getDay()},n.z=function(e,t,r){var o=e.getFullYear(),i=new n.DateZ(o,e.getMonth(),e.getDate(),12,0,0),s=new n.DateZ(o,0,1,12,0,0);return i.setTimezoneOffset(t,r),s.setTimezoneOffset(t,r),Math.round((i-s)/864e5)},n.W=function(e){var t,n=new Date(e.valueOf()),r=(e.getDay()+6)%7;return n.setDate(n.getDate()-r+3),t=n.valueOf(),n.setMonth(0,1),4!==n.getDay()&&n.setMonth(0,1+(4-n.getDay()+7)%7),1+Math.ceil((t-n)/6048e5)},n.F=function(e){return o.full[e.getMonth()]},n.m=function(e){return(e.getMonth()<9?"0":"")+(e.getMonth()+1)},n.M=function(e){return o.abbr[e.getMonth()]},n.n=function(e){return e.getMonth()+1},n.t=function(e){return 32-new Date(e.getFullYear(),e.getMonth(),32).getDate()},n.L=function(e){return 29===new Date(e.getFullYear(),1,29).getDate()},n.o=function(e){var t=new Date(e.valueOf());return t.setDate(t.getDate()-(e.getDay()+6)%7+3),t.getFullYear()},n.Y=function(e){return e.getFullYear()},n.y=function(e){return e.getFullYear().toString().substr(2)},n.a=function(e){return e.getHours()<12?"am":"pm"},n.A=function(e){return e.getHours()<12?"AM":"PM"},n.B=function(e){var t,n=e.getUTCHours();return n=23===n?0:n+1,t=Math.abs((60*(60*n+e.getUTCMinutes())+e.getUTCSeconds())/86.4).toFixed(0),"000".concat(t).slice(t.length)},n.g=function(e){var t=e.getHours();return 0===t?12:t>12?t-12:t},n.G=function(e){return e.getHours()},n.h=function(e){var t=e.getHours();return(t<10||12<t&&22>t?"0":"")+(t<12?t:t-12)},n.H=function(e){var t=e.getHours();return(t<10?"0":"")+t},n.i=function(e){var t=e.getMinutes();return(t<10?"0":"")+t},n.s=function(e){var t=e.getSeconds();return(t<10?"0":"")+t},n.O=function(e){var t=e.getTimezoneOffset();return(t<0?"-":"+")+(t/60<10?"0":"")+Math.abs(t/60)+"00"},n.Z=function(e){return 60*e.getTimezoneOffset()},n.c=function(e){return e.toISOString()},n.r=function(e){return e.toUTCString()},n.U=function(e){return e.getTime()/1e3}},{"./utils":26}],3:[function(e,t,n){var r=e("./utils"),o=e("./dateformatter");function i(e){var t=this,n={};return r.isArray(e)?r.map(e,function(e){return t.apply(null,arguments)}):"object"==typeof e?(r.each(e,function(e,r){n[r]=t.apply(null,arguments)}),n):void 0}n.addslashes=function(e){var t=i.apply(n.addslashes,arguments);return void 0!==t?t:e.replace(/\\/g,"\\\\").replace(/\'/g,"\\'").replace(/\"/g,'\\"')},n.capitalize=function(e){var t=i.apply(n.capitalize,arguments);return void 0!==t?t:e.toString().charAt(0).toUpperCase()+e.toString().substr(1).toLowerCase()},n.date=function(e,t,n,r){var i,s=t.length,a=new o.DateZ(e),u=0,c="";for(n&&a.setTimezoneOffset(n,r);u<s;u+=1)"\\"===(i=t.charAt(u))?c+=(u+=1)<s?t.charAt(u):i:o.hasOwnProperty(i)?c+=o[i](a,n,r):c+=i;return c},n.default=function(e,t){return void 0===e||!e&&"number"!=typeof e?t:e},n.escape=function(e,t){var r,o=i.apply(n.escape,arguments),s=e,a=0;if(void 0!==o)return o;if("string"!=typeof e)return e;if(o="","js"===t){for(s=s.replace(/\\/g,"\\u005C");a<s.length;a+=1)o+=(r=s.charCodeAt(a))<32?"\\u00"+(r=(r=r.toString(16).toUpperCase()).length<2?"0"+r:r):s[a];return o.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 s.replace(/&(?!amp;|lt;|gt;|quot;|#39;)/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},n.e=n.escape,n.first=function(e){return"object"!=typeof e||r.isArray(e)?"string"==typeof e?e.substr(0,1):e[0]:e[r.keys(e)[0]]},n.groupBy=function(e,t){if(!r.isArray(e))return e;var n={};return r.each(e,function(e){if(e.hasOwnProperty(t)){var o=e[t],i=r.extend({},e);delete i[t],n[o]||(n[o]=[]),n[o].push(i)}}),n},n.join=function(e,t){if(r.isArray(e))return e.join(t);if("object"==typeof e){var n=[];return r.each(e,function(e){n.push(e)}),n.join(t)}return e},n.json=function(e,t){return JSON.stringify(e,null,t||0)},n.json_encode=n.json,n.last=function(e){if("object"==typeof e&&!r.isArray(e)){var t=r.keys(e);return e[t[t.length-1]]}return"string"==typeof e?e.charAt(e.length-1):e[e.length-1]},n.length=function(e){return"object"!=typeof e||r.isArray(e)?e.hasOwnProperty("length")?e.length:"":r.keys(e).length},n.lower=function(e){var t=i.apply(n.lower,arguments);return void 0!==t?t:e.toString().toLowerCase()},n.raw=function(e){return n.safe(e)},n.raw.safe=!0,n.replace=function(e,t,n,r){var o=new RegExp(t,r);return e.replace(o,n)},n.reverse=function(e){return n.sort(e,!0)},n.safe=function(e){return e},n.safe.safe=!0,n.sort=function(e,t){var n;if(r.isArray(e))n=r.extend([],e).sort();else switch(typeof e){case"object":n=r.keys(e).sort();break;case"string":return n=e.split(""),t?n.reverse().join(""):n.sort().join("")}return n&&t?n.reverse():n||e},n.striptags=function(e){var t=i.apply(n.striptags,arguments);return void 0!==t?t:e.toString().replace(/(<([^>]+)>)/gi,"")},n.title=function(e){var t=i.apply(n.title,arguments);return void 0!==t?t:e.toString().replace(/\w\S*/g,function(e){return e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()})},n.uniq=function(e){var t;return e&&r.isArray(e)?(t=[],r.each(e,function(e){-1===t.indexOf(e)&&t.push(e)}),t):""},n.upper=function(e){var t=i.apply(n.upper,arguments);return void 0!==t?t:e.toString().toUpperCase()},n.url_encode=function(e){var t=i.apply(n.url_encode,arguments);return void 0!==t?t:encodeURIComponent(e)},n.url_decode=function(e){var t=i.apply(n.url_decode,arguments);return void 0!==t?t:decodeURIComponent(e)}},{"./dateformatter":2,"./utils":26}],4:[function(e,t,n){var r=e("./utils"),o={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,UNKNOWN:100},i=[{type:o.WHITESPACE,regex:[/^\s+/]},{type:o.STRING,regex:[/^""/,/^".*?[^\\]"/,/^''/,/^'.*?[^\\]'/]},{type:o.FILTER,regex:[/^\|\s*(\w+)\(/],idx:1},{type:o.FILTEREMPTY,regex:[/^\|\s*(\w+)/],idx:1},{type:o.FUNCTIONEMPTY,regex:[/^\s*(\w+)\(\)/],idx:1},{type:o.FUNCTION,regex:[/^\s*(\w+)\(/],idx:1},{type:o.PARENOPEN,regex:[/^\(/]},{type:o.PARENCLOSE,regex:[/^\)/]},{type:o.COMMA,regex:[/^,/]},{type:o.LOGIC,regex:[/^(&&|\|\|)\s*/,/^(and|or)\s+/],idx:1,replace:{and:"&&",or:"||"}},{type:o.COMPARATOR,regex:[/^(===|==|\!==|\!=|<=|<|>=|>|in\s|gte\s|gt\s|lte\s|lt\s)\s*/],idx:1,replace:{gte:">=",gt:">",lte:"<=",lt:"<"}},{type:o.ASSIGNMENT,regex:[/^(=|\+=|-=|\*=|\/=)/]},{type:o.NOT,regex:[/^\!\s*/,/^not\s+/],replace:{not:"!"}},{type:o.BOOL,regex:[/^(true|false)\s+/,/^(true|false)$/],idx:1},{type:o.VAR,regex:[/^[a-zA-Z_$]\w*((\.\$?\w*)+)?/,/^[a-zA-Z_$]\w*/]},{type:o.BRACKETOPEN,regex:[/^\[/]},{type:o.BRACKETCLOSE,regex:[/^\]/]},{type:o.CURLYOPEN,regex:[/^\{/]},{type:o.COLON,regex:[/^\:/]},{type:o.CURLYCLOSE,regex:[/^\}/]},{type:o.DOTKEY,regex:[/^\.(\w+)/],idx:1},{type:o.NUMBER,regex:[/^[+\-]?\d+(\.\d+)?/]},{type:o.OPERATOR,regex:[/^(\+|\-|\/|\*|%)/]}];function s(e){var t;return r.some(i,function(n){return r.some(n.regex,function(r){var o,i=e.match(r);if(i)return o=i[n.idx||0].replace(/\s*$/,""),o=n.hasOwnProperty("replace")&&n.replace.hasOwnProperty(o)?n.replace[o]:o,t={match:o,type:n.type,length:i[0].length},!0})}),t||(t={match:e,type:o.UNKNOWN,length:e.length}),t}n.types=o,n.read=function(e){for(var t,n=0,r=[];n<e.length;)n+=(t=s(e.substring(n))).length,r.push(t);return r}},{"./utils":26}],5:[function(e,t,n){var r=e("__browserify_process"),o=e("fs"),i=e("path");t.exports=function(e,t){var n={};return t=t||"utf8",e=e?i.normalize(e):null,n.resolve=function(t,n){return n=e||(n?i.dirname(n):r.cwd()),i.resolve(n,t)},n.load=function(e,r){if(!o||r&&!o.readFile||!o.readFileSync)throw new Error("Unable to find file "+e+" because there is no filesystem to read from.");if(e=n.resolve(e),!r)return o.readFileSync(e,t);o.readFile(e,t,r)},n}},{__browserify_process:31,fs:28,path:29}],6:[function(e,t,n){n.fs=e("./filesystem"),n.memory=e("./memory")},{"./filesystem":5,"./memory":7}],7:[function(e,t,n){var r=e("path"),o=e("../utils");t.exports=function(e,t){var n={};return t=t?r.normalize(t):null,n.resolve=function(e,n){return n=t||(n?r.dirname(n):"/"),r.resolve(n,e)},n.load=function(t,n){var r,i;if(i=[t,t.replace(/^(\/|\\)/,"")],(r=e[i[0]]||e[i[1]])||o.throwError('Unable to find template "'+t+'".'),!n)return r;n(null,r)},n}},{"../utils":26,path:29}],8:[function(e,t,n){var r=e("./utils"),o=e("./lexer"),i=o.types,s=["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"],a=["__proto__","constructor","prototype"];
|
|
3
|
+
!function e(t,n,r){function o(a,s){if(!n[a]){if(!t[a]){var u="function"==typeof require&&require;if(!s&&u)return u(a,!0);if(i)return i(a,!0);throw new Error("Cannot find module '"+a+"'")}var c=n[a]={exports:{}};t[a][0].call(c.exports,function(e){var n=t[a][1][e];return o(n||e)},c,c.exports,e,t,n,r)}return n[a].exports}for(var i="function"==typeof require&&require,a=0;a<r.length;a++)o(r[a]);return o}({1:[function(e,t,n){var r=e("../lib/swig");"function"==typeof window.define&&"object"==typeof window.define.amd?window.define("swig",[],function(){return r}):window.swig=r},{"../lib/swig":9}],2:[function(e,t,n){var r=e("./utils"),o={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"]},i={full:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],abbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],alt:{"-1":"Yesterday",0:"Today",1:"Tomorrow"}};n.tzOffset=0,n.DateZ=function(){var e=["getUTCDate","getUTCDay","getUTCFullYear","getUTCHours","getUTCMilliseconds","getUTCMinutes","getUTCMonth","getUTCSeconds","toISOString","toGMTString","toUTCString","valueOf","getTime"],t=["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(),r.each(t,function(e){o[e]=function(){return o.dateZ[e]()}}),r.each(e,function(e){o[e]=function(){return o.date[e]()}}),this.setTimezoneOffset(n.tzOffset)},n.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}},n.d=function(e){return(e.getDate()<10?"0":"")+e.getDate()},n.D=function(e){return i.abbr[e.getDay()]},n.j=function(e){return e.getDate()},n.l=function(e){return i.full[e.getDay()]},n.N=function(e){var t=e.getDay();return t>=1?t:7},n.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"},n.w=function(e){return e.getDay()},n.z=function(e,t,r){var o=e.getFullYear(),i=new n.DateZ(o,e.getMonth(),e.getDate(),12,0,0),a=new n.DateZ(o,0,1,12,0,0);return i.setTimezoneOffset(t,r),a.setTimezoneOffset(t,r),Math.round((i-a)/864e5)},n.W=function(e){var t,n=new Date(e.valueOf()),r=(e.getDay()+6)%7;return n.setDate(n.getDate()-r+3),t=n.valueOf(),n.setMonth(0,1),4!==n.getDay()&&n.setMonth(0,1+(4-n.getDay()+7)%7),1+Math.ceil((t-n)/6048e5)},n.F=function(e){return o.full[e.getMonth()]},n.m=function(e){return(e.getMonth()<9?"0":"")+(e.getMonth()+1)},n.M=function(e){return o.abbr[e.getMonth()]},n.n=function(e){return e.getMonth()+1},n.t=function(e){return 32-new Date(e.getFullYear(),e.getMonth(),32).getDate()},n.L=function(e){return 29===new Date(e.getFullYear(),1,29).getDate()},n.o=function(e){var t=new Date(e.valueOf());return t.setDate(t.getDate()-(e.getDay()+6)%7+3),t.getFullYear()},n.Y=function(e){return e.getFullYear()},n.y=function(e){return e.getFullYear().toString().substr(2)},n.a=function(e){return e.getHours()<12?"am":"pm"},n.A=function(e){return e.getHours()<12?"AM":"PM"},n.B=function(e){var t,n=e.getUTCHours();return n=23===n?0:n+1,t=Math.abs((60*(60*n+e.getUTCMinutes())+e.getUTCSeconds())/86.4).toFixed(0),"000".concat(t).slice(t.length)},n.g=function(e){var t=e.getHours();return 0===t?12:t>12?t-12:t},n.G=function(e){return e.getHours()},n.h=function(e){var t=e.getHours();return(t<10||12<t&&22>t?"0":"")+(t<12?t:t-12)},n.H=function(e){var t=e.getHours();return(t<10?"0":"")+t},n.i=function(e){var t=e.getMinutes();return(t<10?"0":"")+t},n.s=function(e){var t=e.getSeconds();return(t<10?"0":"")+t},n.O=function(e){var t=e.getTimezoneOffset();return(t<0?"-":"+")+(t/60<10?"0":"")+Math.abs(t/60)+"00"},n.Z=function(e){return 60*e.getTimezoneOffset()},n.c=function(e){return e.toISOString()},n.r=function(e){return e.toUTCString()},n.U=function(e){return e.getTime()/1e3}},{"./utils":26}],3:[function(e,t,n){var r=e("./utils"),o=e("./dateformatter");function i(e){var t=this,n={};return r.isArray(e)?r.map(e,function(e){return t.apply(null,arguments)}):"object"==typeof e?(r.each(e,function(e,r){n[r]=t.apply(null,arguments)}),n):void 0}n.addslashes=function(e){var t=i.apply(n.addslashes,arguments);return void 0!==t?t:e.replace(/\\/g,"\\\\").replace(/\'/g,"\\'").replace(/\"/g,'\\"')},n.capitalize=function(e){var t=i.apply(n.capitalize,arguments);return void 0!==t?t:e.toString().charAt(0).toUpperCase()+e.toString().substr(1).toLowerCase()},n.date=function(e,t,n,r){var i,a=t.length,s=new o.DateZ(e),u=0,c="";for(n&&s.setTimezoneOffset(n,r);u<a;u+=1)"\\"===(i=t.charAt(u))?c+=(u+=1)<a?t.charAt(u):i:o.hasOwnProperty(i)?c+=o[i](s,n,r):c+=i;return c},n.default=function(e,t){return void 0===e||!e&&"number"!=typeof e?t:e},n.escape=function(e,t){var r,o=i.apply(n.escape,arguments),a=e,s=0;if(void 0!==o)return o;if("string"!=typeof e)return e;if(o="","js"===t){for(a=a.replace(/\\/g,"\\u005C");s<a.length;s+=1)o+=(r=a.charCodeAt(s))<32?"\\u00"+(r=(r=r.toString(16).toUpperCase()).length<2?"0"+r:r):a[s];return o.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 a.replace(/&(?!amp;|lt;|gt;|quot;|#39;)/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},n.e=n.escape,n.first=function(e){return"object"!=typeof e||r.isArray(e)?"string"==typeof e?e.substr(0,1):e[0]:e[r.keys(e)[0]]},n.groupBy=function(e,t){if(!r.isArray(e))return e;var n={};return r.each(e,function(e){if(e.hasOwnProperty(t)){var o=e[t],i=r.extend({},e);delete i[t],n[o]||(n[o]=[]),n[o].push(i)}}),n},n.join=function(e,t){if(r.isArray(e))return e.join(t);if("object"==typeof e){var n=[];return r.each(e,function(e){n.push(e)}),n.join(t)}return e},n.json=function(e,t){return JSON.stringify(e,null,t||0)},n.json_encode=n.json,n.last=function(e){if("object"==typeof e&&!r.isArray(e)){var t=r.keys(e);return e[t[t.length-1]]}return"string"==typeof e?e.charAt(e.length-1):e[e.length-1]},n.length=function(e){return"object"!=typeof e||r.isArray(e)?e.hasOwnProperty("length")?e.length:"":r.keys(e).length},n.lower=function(e){var t=i.apply(n.lower,arguments);return void 0!==t?t:e.toString().toLowerCase()},n.raw=function(e){return n.safe(e)},n.raw.safe=!0,n.replace=function(e,t,n,r){var o=new RegExp(t,r);return e.replace(o,n)},n.reverse=function(e){return n.sort(e,!0)},n.safe=function(e){return e},n.safe.safe=!0,n.sort=function(e,t){var n;if(r.isArray(e))n=r.extend([],e).sort();else switch(typeof e){case"object":n=r.keys(e).sort();break;case"string":return n=e.split(""),t?n.reverse().join(""):n.sort().join("")}return n&&t?n.reverse():n||e},n.striptags=function(e){var t=i.apply(n.striptags,arguments);return void 0!==t?t:e.toString().replace(/(<([^>]+)>)/gi,"")},n.title=function(e){var t=i.apply(n.title,arguments);return void 0!==t?t:e.toString().replace(/\w\S*/g,function(e){return e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()})},n.uniq=function(e){var t;return e&&r.isArray(e)?(t=[],r.each(e,function(e){-1===t.indexOf(e)&&t.push(e)}),t):""},n.upper=function(e){var t=i.apply(n.upper,arguments);return void 0!==t?t:e.toString().toUpperCase()},n.url_encode=function(e){var t=i.apply(n.url_encode,arguments);return void 0!==t?t:encodeURIComponent(e)},n.url_decode=function(e){var t=i.apply(n.url_decode,arguments);return void 0!==t?t:decodeURIComponent(e)}},{"./dateformatter":2,"./utils":26}],4:[function(e,t,n){var r=e("./utils"),o={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,UNKNOWN:100},i=[{type:o.WHITESPACE,regex:[/^\s+/]},{type:o.STRING,regex:[/^""/,/^".*?[^\\]"/,/^''/,/^'.*?[^\\]'/]},{type:o.FILTER,regex:[/^\|\s*(\w+)\(/],idx:1},{type:o.FILTEREMPTY,regex:[/^\|\s*(\w+)/],idx:1},{type:o.FUNCTIONEMPTY,regex:[/^\s*(\w+)\(\)/],idx:1},{type:o.FUNCTION,regex:[/^\s*(\w+)\(/],idx:1},{type:o.PARENOPEN,regex:[/^\(/]},{type:o.PARENCLOSE,regex:[/^\)/]},{type:o.COMMA,regex:[/^,/]},{type:o.LOGIC,regex:[/^(&&|\|\|)\s*/,/^(and|or)\s+/],idx:1,replace:{and:"&&",or:"||"}},{type:o.COMPARATOR,regex:[/^(===|==|\!==|\!=|<=|<|>=|>|in\s|gte\s|gt\s|lte\s|lt\s)\s*/],idx:1,replace:{gte:">=",gt:">",lte:"<=",lt:"<"}},{type:o.ASSIGNMENT,regex:[/^(=|\+=|-=|\*=|\/=)/]},{type:o.NOT,regex:[/^\!\s*/,/^not\s+/],replace:{not:"!"}},{type:o.BOOL,regex:[/^(true|false)\s+/,/^(true|false)$/],idx:1},{type:o.VAR,regex:[/^[a-zA-Z_$]\w*((\.\$?\w*)+)?/,/^[a-zA-Z_$]\w*/]},{type:o.BRACKETOPEN,regex:[/^\[/]},{type:o.BRACKETCLOSE,regex:[/^\]/]},{type:o.CURLYOPEN,regex:[/^\{/]},{type:o.COLON,regex:[/^\:/]},{type:o.CURLYCLOSE,regex:[/^\}/]},{type:o.DOTKEY,regex:[/^\.(\w+)/],idx:1},{type:o.NUMBER,regex:[/^[+\-]?\d+(\.\d+)?/]},{type:o.OPERATOR,regex:[/^(\+|\-|\/|\*|%)/]}];function a(e){var t;return r.some(i,function(n){return r.some(n.regex,function(r){var o,i=e.match(r);if(i)return o=i[n.idx||0].replace(/\s*$/,""),o=n.hasOwnProperty("replace")&&n.replace.hasOwnProperty(o)?n.replace[o]:o,t={match:o,type:n.type,length:i[0].length},!0})}),t||(t={match:e,type:o.UNKNOWN,length:e.length}),t}n.types=o,n.read=function(e){for(var t,n=0,r=[];n<e.length;)n+=(t=a(e.substring(n))).length,r.push(t);return r}},{"./utils":26}],5:[function(e,t,n){var r=e("__browserify_process"),o=e("fs"),i=e("path");t.exports=function(e,t){var n={};return t=t||"utf8",e=e?i.normalize(e):null,n.resolve=function(t,n){return n=e||(n?i.dirname(n):r.cwd()),i.resolve(n,t)},n.load=function(e,r){if(!o||r&&!o.readFile||!o.readFileSync)throw new Error("Unable to find file "+e+" because there is no filesystem to read from.");if(e=n.resolve(e),!r)return o.readFileSync(e,t);o.readFile(e,t,r)},n}},{__browserify_process:31,fs:28,path:29}],6:[function(e,t,n){n.fs=e("./filesystem"),n.memory=e("./memory")},{"./filesystem":5,"./memory":7}],7:[function(e,t,n){var r=e("path"),o=e("../utils");t.exports=function(e,t){var n={};return t=t?r.normalize(t):null,n.resolve=function(e,n){return n=t||(n?r.dirname(n):"/"),r.resolve(n,e)},n.load=function(t,n){var r,i;if(i=[t,t.replace(/^(\/|\\)/,"")],(r=e[i[0]]||e[i[1]])||o.throwError('Unable to find template "'+t+'".'),!n)return r;n(null,r)},n}},{"../utils":26,path:29}],8:[function(e,t,n){var r=e("./utils"),o=e("./lexer"),i=o.types,a=["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"],s=["__proto__","constructor","prototype"];
|
|
4
4
|
/*!
|
|
5
5
|
* Makes a string safe for a regular expression.
|
|
6
6
|
* @param {string} str
|
|
7
7
|
* @return {string}
|
|
8
8
|
* @private
|
|
9
9
|
*/
|
|
10
|
-
function u(e){return e.replace(/[\-\/\\\^$*+?.()|\[\]{}]/g,"\\$&")}function c(e,t,n,o,
|
|
10
|
+
function u(e){return e.replace(/[\-\/\\\^$*+?.()|\[\]{}]/g,"\\$&")}function c(e,t,n,o,a){this.out=[],this.state=[],this.filterApplyIdx=[],this._parsers={},this.line=o,this.filename=a,this.filters=t,this.escape=n,this.parse=function(){var t=this;return t._parsers.start&&t._parsers.start.call(t),r.each(e,function(n,r){var o=e[r-1];if(t.isLast=r===e.length-1,o)for(;o.type===i.WHITESPACE;)o=e[(r-=1)-1];t.prevToken=o,t.parseToken(n)}),t._parsers.end&&t._parsers.end.call(t),t.escape&&(t.filterApplyIdx=[0],"string"==typeof t.escape?(t.parseToken({type:i.FILTER,match:"e"}),t.parseToken({type:i.COMMA,match:","}),t.parseToken({type:i.STRING,match:String(n)}),t.parseToken({type:i.PARENCLOSE,match:")"})):t.parseToken({type:i.FILTEREMPTY,match:"e"})),t.out}}c.prototype={on:function(e,t){this._parsers[e]=t},parseToken:function(e){var t,n=this,o=n._parsers[e.type]||n._parsers["*"],a=e.match,u=n.prevToken,c=u?u.type:null,l=n.state.length?n.state[n.state.length-1]:null;if(!o||"function"!=typeof o||o.call(this,e))switch(l&&u&&l===i.FILTER&&c===i.FILTER&&e.type!==i.PARENCLOSE&&e.type!==i.COMMA&&e.type!==i.OPERATOR&&e.type!==i.FILTER&&e.type!==i.FILTEREMPTY&&n.out.push(", "),l&&l===i.METHODOPEN&&(n.state.pop(),e.type!==i.PARENCLOSE&&n.out.push(", ")),e.type){case i.WHITESPACE:break;case i.STRING:if(l===i.BRACKETOPEN){var f=a.replace(/^['"]|['"]$/g,"");-1!==s.indexOf(f)&&r.throwError('Unsafe access to "'+f+'" via bracket notation is not allowed in templates (CVE-2023-25345)',n.line,n.filename)}n.filterApplyIdx.push(n.out.length),n.out.push(a.replace(/\\/g,"\\\\"));break;case i.NUMBER:case i.BOOL:n.filterApplyIdx.push(n.out.length),n.out.push(a);break;case i.FILTER:n.filters.hasOwnProperty(a)&&"function"==typeof n.filters[a]||r.throwError('Invalid filter "'+a+'"',n.line,n.filename),n.escape=!n.filters[a].safe&&n.escape,n.out.splice(n.filterApplyIdx[n.filterApplyIdx.length-1],0,'_filters["'+a+'"]('),n.state.push(e.type);break;case i.FILTEREMPTY:n.filters.hasOwnProperty(a)&&"function"==typeof n.filters[a]||r.throwError('Invalid filter "'+a+'"',n.line,n.filename),n.escape=!n.filters[a].safe&&n.escape,n.out.splice(n.filterApplyIdx[n.filterApplyIdx.length-1],0,'_filters["'+a+'"]('),n.out.push(")");break;case i.FUNCTION:case i.FUNCTIONEMPTY:n.out.push("((typeof _ctx."+a+' !== "undefined") ? _ctx.'+a+" : ((typeof "+a+' !== "undefined") ? '+a+" : _fn))("),n.escape=!1,e.type===i.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 i.PARENOPEN:n.state.push(e.type),n.filterApplyIdx.length?(n.out.splice(n.filterApplyIdx[n.filterApplyIdx.length-1],0,"("),u&&c===i.VAR?(t=u.match.split(".").slice(0,-1),n.out.push(" || _fn).call("+n.checkMatch(t)),n.state.push(i.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 i.PARENCLOSE:(t=n.state.pop())!==i.PARENOPEN&&t!==i.FUNCTION&&t!==i.FILTER&&r.throwError("Mismatched nesting state",n.line,n.filename),n.out.push(")"),n.filterApplyIdx.pop(),t!==i.FILTER&&n.filterApplyIdx.pop();break;case i.COMMA:l!==i.FUNCTION&&l!==i.FILTER&&l!==i.ARRAYOPEN&&l!==i.CURLYOPEN&&l!==i.PARENOPEN&&l!==i.COLON&&r.throwError("Unexpected comma",n.line,n.filename),l===i.COLON&&n.state.pop(),n.out.push(", "),n.filterApplyIdx.pop();break;case i.LOGIC:case i.COMPARATOR:u&&c!==i.COMMA&&c!==e.type&&c!==i.BRACKETOPEN&&c!==i.CURLYOPEN&&c!==i.PARENOPEN&&c!==i.FUNCTION||r.throwError("Unexpected logic",n.line,n.filename),n.out.push(e.match);break;case i.NOT:n.out.push(e.match);break;case i.VAR:n.parseVar(e,a,l);break;case i.BRACKETOPEN:!u||c!==i.VAR&&c!==i.BRACKETCLOSE&&c!==i.PARENCLOSE?(n.state.push(i.ARRAYOPEN),n.filterApplyIdx.push(n.out.length)):n.state.push(e.type),n.out.push("[");break;case i.BRACKETCLOSE:(t=n.state.pop())!==i.BRACKETOPEN&&t!==i.ARRAYOPEN&&r.throwError("Unexpected closing square bracket",n.line,n.filename),n.out.push("]"),n.filterApplyIdx.pop();break;case i.CURLYOPEN:n.state.push(e.type),n.out.push("{"),n.filterApplyIdx.push(n.out.length-1);break;case i.COLON:l!==i.CURLYOPEN&&r.throwError("Unexpected colon",n.line,n.filename),n.state.push(e.type),n.out.push(":"),n.filterApplyIdx.pop();break;case i.CURLYCLOSE:l===i.COLON&&n.state.pop(),n.state.pop()!==i.CURLYOPEN&&r.throwError("Unexpected closing curly brace",n.line,n.filename),n.out.push("}"),n.filterApplyIdx.pop();break;case i.DOTKEY:(!u||c!==i.VAR&&c!==i.BRACKETCLOSE&&c!==i.DOTKEY&&c!==i.PARENCLOSE&&c!==i.FUNCTIONEMPTY&&c!==i.FILTEREMPTY&&c!==i.CURLYCLOSE)&&r.throwError('Unexpected key "'+a+'"',n.line,n.filename),-1!==s.indexOf(a)&&r.throwError('Unsafe access to "'+a+'" is not allowed in templates (CVE-2023-25345)',n.line,n.filename),n.out.push("."+a);break;case i.OPERATOR:n.out.push(" "+a+" "),n.filterApplyIdx.pop()}},parseVar:function(e,t,n){var o=this;if(t=t.split("."),-1!==a.indexOf(t[0])&&r.throwError('Reserved keyword "'+t[0]+'" attempted to be used as a variable',o.line,o.filename),r.each(t,function(e){-1!==s.indexOf(e)&&r.throwError('Unsafe access to "'+e+'" is not allowed in templates (CVE-2023-25345)',o.line,o.filename)}),o.filterApplyIdx.push(o.out.length),n===i.CURLYOPEN)return t.length>1&&r.throwError("Unexpected dot",o.line,o.filename),void o.out.push(t[0]);o.out.push(o.checkMatch(t))},checkMatch:function(e){var t,n=e[0];function o(t){var o=t+n,i=e,a="";return a="(typeof "+o+' !== "undefined" && '+o+" !== null",r.each(i,function(e,t){0!==t&&(a+=" && "+o+"."+e+" !== undefined && "+o+"."+e+" !== null",o+="."+e)}),a+=")"}function i(t){return"("+o(t)+" ? "+t+e.join(".")+' : "")'}return"("+(t="("+o("_ctx.")+" ? "+i("_ctx.")+" : "+i("")+")")+" !== null ? "+t+' : "" )'}},n.parse=function(e,t,a,s,l){t=t.replace(/\r\n/g,"\n");var f,p=a.autoescape,h=a.tagControls[0],g=a.tagControls[1],d=a.varControls[0],y=a.varControls[1],m=u(h),w=u(g),v=u(d),O=u(y),E=new RegExp("^"+m+"-?\\s*-?|-?\\s*-?"+w+"$","g"),x=new RegExp("^"+m+"-"),b=new RegExp("-"+w+"$"),A=new RegExp("^"+v+"-?\\s*-?|-?\\s*-?"+O+"$","g"),T=new RegExp("^"+v+"-"),_=new RegExp("-"+O+"$"),C=a.cmtControls[0],N=a.cmtControls[1],R="[\\s\\S]*?",P=new RegExp("("+m+R+w+"|"+v+R+O+"|"+u(C)+R+u(N)+")"),k=1,S=[],U=null,I=[],j={},M=!1;function F(e,t){var n,i;return n=new c(o.read(r.strip(e)),l,p,t,a.filename),i=n.parse().join(""),n.state.length&&r.throwError('Unable to parse "'+e+'"',t,a.filename),{compile:function(){return"_output += "+i+";\n"}}}function L(e){return"string"==typeof e&&(e=e.replace(/\s*$/,"")),e}
|
|
11
11
|
/*!
|
|
12
12
|
* Loop over the source, split via the tag/var/comment regular expression splitter.
|
|
13
13
|
* Send each chunk to the appropriate parser.
|
|
14
|
-
*/return n.parseVariable=F,r.each(t.split(P),function(t){var n,u,m,v
|
|
14
|
+
*/return n.parseVariable=F,r.each(t.split(P),function(t){var n,u,m,w,v;if(t){if(!M&&r.startsWith(t,d)&&r.endsWith(t,y))m=T.test(t),f=_.test(t),n=F(t.replace(A,""),k);else if(r.startsWith(t,h)&&r.endsWith(t,g))m=x.test(t),f=b.test(t),n=function(t,n){var u,f,h,g,d,y;if(r.startsWith(t,"end")){if((y=S[S.length-1])&&y.name===t.split(/\s+/)[0].replace(/^end/,"")&&y.ends){switch(y.name){case"autoescape":p=a.autoescape;break;case"raw":M=!1}return void S.pop()}M||r.throwError('Unexpected end of tag "'+t.replace(/^end/,"")+'"',n,a.filename)}if(!M){switch(h=(f=t.split(/\s+(.+)?/)).shift(),s.hasOwnProperty(h)||r.throwError('Unexpected tag "'+t+'"',n,a.filename),u=new c(o.read(r.strip(f.join(" "))),l,!1,n,a.filename),(g=s[h]).parse(f[1],n,u,i,S,a,e)||r.throwError('Unexpected tag "'+h+'"',n,a.filename),u.parse(),d=u.out,h){case"autoescape":p="false"!==d[0]&&d[0];break;case"raw":M=!0}return{block:!!s[h].block,compile:g.compile,args:d,content:[],ends:g.ends,name:h}}}(t.replace(E,""),k),n&&("extends"===n.name?U=n.args.join("").replace(/^\'|\'$/g,"").replace(/^\"|\"$/g,""):n.block&&!S.length&&(j[n.args.join("")]=n)),M&&!n&&(n=t);else if(M||!r.startsWith(t,C)&&!r.endsWith(t,N))n=f?t.replace(/^\s*/,""):t,f=!1;else if(r.startsWith(t,C)&&r.endsWith(t,N))return;m&&I.length&&("string"==typeof(w=I.pop())?w=L(w):w.content&&w.content.length&&(v=L(w.content.pop()),w.content.push(v)),I.push(w)),n&&(S.length?S[S.length-1].content.push(n):I.push(n),n.name&&n.ends&&S.push(n),u=t.match(/\n/g),k+=u?u.length:0)}}),{name:a.filename,parent:U,tokens:I,blocks:j}},n.compile=function(e,t,o,i){var a="",s=r.isArray(e)?e:e.tokens;return r.each(s,function(e){var r;"string"!=typeof e?(r=e.compile(n.compile,e.args?e.args.slice(0):[],e.content?e.content.slice(0):[],t,o,i),a+=r||""):a+='_output += "'+e.replace(/\\/g,"\\\\").replace(/\n|\r/g,"\\n").replace(/"/g,'\\"')+'";\n'}),a}},{"./lexer":4,"./utils":26}],9:[function(e,t,n){var r=e("./utils"),o=e("./tags"),i=e("./filters"),a=e("./parser"),s=e("./dateformatter"),u=e("./loaders");n.version="1.5.0";var c,l={autoescape:!0,varControls:["{{","}}"],tagControls:["{%","%}"],cmtControls:["{#","#}"],locals:{},cache:"memory",loader:u.fs()};function f(){return""}function p(e){if(e){if(r.each(["varControls","tagControls","cmtControls"],function(t){if(e.hasOwnProperty(t)){if(!r.isArray(e[t])||2!==e[t].length)throw new Error('Option "'+t+'" must be an array containing 2 different control strings.');if(e[t][0]===e[t][1])throw new Error('Option "'+t+'" open and close controls must not be the same.');r.each(e[t],function(e,n){if(e.length<2)throw new Error('Option "'+t+'" '+(n?"open ":"close ")+'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) { ... } }.")}}n.setDefaults=function(e){p(e),c.options=r.extend(c.options,e)},n.setDefaultTZOffset=function(e){s.tzOffset=e},n.Swig=function(e){p(e),this.options=r.extend({},l,e||{}),this.cache={},this.extensions={};var t=this,n=o,s=i;function u(e){return e&&e.locals?r.extend({},t.options.locals,e.locals):t.options.locals}function c(e){return(e=e||{}).hasOwnProperty("cache")&&!e.cache||!t.options.cache}function h(e,n){if(!c(n))return"memory"===t.options.cache?t.cache[e]:t.options.cache.get(e)}function g(e,n,r){c(n)||("memory"!==t.options.cache?t.options.cache.set(e,r):t.cache[e]=r)}function d(e,t){return r.map(t,function(t){var n=t.args?t.args.join(""):"";return"block"===t.name&&e[n]&&(t=e[n]),t.content&&t.content.length&&(t.content=d(e,t.content)),t})}function y(e,t){var n=[];r.each(e,function(e){n.push(e)}),r.each(n.reverse(),function(e){"block"!==e.name&&t.unshift(e)})}this.invalidateCache=function(){"memory"===t.options.cache&&(t.cache={})},this.setFilter=function(e,t){if("function"!=typeof t)throw new Error('Filter "'+e+'" is not a valid function.');s[e]=t},this.setTag=function(e,t,r,o,i){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.');n[e]={parse:t,compile:r,ends:o||!1,block:!!i}},this.setExtension=function(e,n){t.extensions[e]=n},this.parse=function(e,o){p(o);var i,c=u(o),l={};for(i in o)o.hasOwnProperty(i)&&"locals"!==i&&(l[i]=o[i]);return(o=r.extend({},t.options,l)).locals=c,a.parse(this,e,o,n,s)},this.parseFile=function(e,n){var o;return n||(n={}),e=t.options.loader.resolve(e,n.resolveFrom),o=t.options.loader.load(e),n.filename||(n=r.extend({filename:e},n)),t.parse(o,n)},this.precompile=function(e,n){var o,i=t.parse(e,n),s=function(e,n){for(var o,i,a,s=e.parent,u=[],c=[];s;){if(!n||!n.filename)throw new Error('Cannot extend "'+s+'" because current template has no filename.');if(o=o||n.filename,s=(i=h(o=t.options.loader.resolve(s,o),n)||t.parseFile(o,r.extend({},n,{filename:o}))).parent,-1!==u.indexOf(o))throw new Error('Illegal circular extends of "'+o+'".');u.push(o),c.push(i)}for(a=c.length,a=c.length-2;a>=0;a-=1)c[a].tokens=d(c[a].blocks,c[a+1].tokens),y(c[a].blocks,c[a].tokens);return c}(i,n);s.length&&(i.tokens=d(i.blocks,s[0].tokens),y(i.blocks,i.tokens));try{o=new Function("_swig","_ctx","_filters","_utils","_fn",' var _ext = _swig.extensions,\n _output = "";\n'+a.compile(i,s,n)+"\n return _output;\n")}catch(e){r.throwError(e,null,n.filename)}return{tpl:o,tokens:i}},this.render=function(e,n){return t.compile(e,n)()},this.renderFile=function(e,n,r){if(!r)return t.compileFile(e)(n);t.compileFile(e,{},function(e,t){var o;if(e)r(e);else{try{o=t(n)}catch(e){return void r(e)}r(null,o)}})},this.compile=function(e,n){var o,i,a,c=n?n.filename:null,l=c?h(c,n):null;if(l)return l;function p(e){var n;return n=e&&i?r.extend({},o,e):e&&!i?e:!e&&i?o:{},a.tpl(t,n,s,r,f)}return o=u(n),i=r.keys(o).length,a=this.precompile(e,n),r.extend(p,a.tokens),c&&g(c,n,p),p},this.compileFile=function(e,n,o){var i,a;return n||(n={}),e=t.options.loader.resolve(e,n.resolveFrom),n.filename||(n=r.extend({filename:e},n)),(a=h(e,n))?o?void o(null,a):a:o?void t.options.loader.load(e,function(e,r){if(e)o(e);else{var i;try{i=t.compile(r,n)}catch(e){return void o(e)}o(e,i)}}):(i=t.options.loader.load(e),t.compile(i,n))},this.run=function(e,n,o){var i=u({locals:n});return o&&g(o,{},e),e(t,i,s,r,f)}},
|
|
15
15
|
/*!
|
|
16
16
|
* Export methods publicly
|
|
17
17
|
*/
|
|
18
|
-
c=new n.Swig,n.setFilter=c.setFilter,n.setTag=c.setTag,n.setExtension=c.setExtension,n.parseFile=c.parseFile,n.precompile=c.precompile,n.compile=c.compile,n.compileFile=c.compileFile,n.render=c.render,n.renderFile=c.renderFile,n.run=c.run,n.invalidateCache=c.invalidateCache,n.loaders=u},{"./dateformatter":2,"./filters":3,"./loaders":6,"./parser":8,"./tags":20,"./utils":26}],10:[function(e,t,n){var r=e("../utils"),o=["html","js"];n.compile=function(e,t,n,r,o,i){return e(n,r,o,i)},n.parse=function(e,t,n,i,s,a){var u;return n.on("*",function(e){if(!u&&(e.type===i.BOOL||e.type===i.STRING&&-1===o.indexOf(e.match)))return this.out.push(e.match),void(u=!0);r.throwError('Unexpected token "'+e.match+'" in autoescape tag',t,a.filename)}),!0},n.ends=!0},{"../utils":26}],11:[function(e,t,n){n.compile=function(e,t,n,r,o){return e(n,r,o,t.join(""))},n.parse=function(e,t,n){return n.on("*",function(e){this.out.push(e.match)}),!0},n.ends=!0,n.block=!0},{}],12:[function(e,t,n){n.compile=function(){return"} else {\n"},n.parse=function(e,t,n,r,o){return n.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}},{}],13:[function(e,t,n){var r=e("./if").parse;n.compile=function(e,t){return"} else if ("+t.join(" ")+") {\n"},n.parse=function(e,t,n,o,i){return r(e,t,n,o,i)&&i.length&&"if"===i[i.length-1].name}},{"./if":17}],14:[function(e,t,n){n.compile=function(){},n.parse=function(){return!0},n.ends=!1},{}],15:[function(e,t,n){var r=e("../filters");n.compile=function(e,t,n,r,o,i){var s=t.shift().replace(/\($/,""),a='(function () {\n var _output = "";\n'+e(n,r,o,i)+" return _output;\n})()";return")"===t[t.length-1]&&t.pop(),'_output += _filters["'+s+'"]('+a+(t=t.length?", "+t.join(""):"")+");\n"},n.parse=function(e,t,n,o){var i;function s(e){if(!r.hasOwnProperty(e))throw new Error('Filter "'+e+'" does not exist on line '+t+".")}return n.on(o.FUNCTION,function(e){return!!i||(s(i=e.match.replace(/\($/,"")),this.out.push(e.match),void this.state.push(e.type))}),n.on(o.VAR,function(e){return!!i||(s(i=e.match),void this.out.push(i))}),!0},n.ends=!0},{"../filters":3}],16:[function(e,t,n){var r="_ctx.",o=r+"loop";n.compile=function(e,t,n,i,s,a){var u=t.shift(),c="__k",l=(r+"__loopcache"+Math.random()).replace(/\./g,"");return t[0]&&","===t[0]&&(t.shift(),c=u,u=t.shift()),["(function () {\n"," var __l = "+t.join("")+', __len = (_utils.isArray(__l) || typeof __l === "string") ? __l.length : _utils.keys(__l).length;\n'," if (!__l) { return; }\n"," var "+l+" = { loop: "+o+", "+u+": "+r+u+", "+c+": "+r+c+" };\n"," "+o+" = { first: false, index: 1, index0: 0, revindex: __len, revindex0: __len - 1, length: __len, last: false };\n"," _utils.each(__l, function ("+u+", "+c+") {\n"," "+r+u+" = "+u+";\n"," "+r+c+" = "+c+";\n"," "+o+".key = "+c+";\n"," "+o+".first = ("+o+".index0 === 0);\n"," "+o+".last = ("+o+".revindex0 === 0);\n"," "+e(n,i,s,a)," "+o+".index += 1; "+o+".index0 += 1; "+o+".revindex -= 1; "+o+".revindex0 -= 1;\n"," });\n"," "+o+" = "+l+".loop;\n"," "+r+u+" = "+l+"."+u+";\n"," "+r+c+" = "+l+"."+c+";\n"," "+l+" = undefined;\n","})();\n"].join("")},n.parse=function(e,t,n,r){var o,i;return n.on(r.NUMBER,function(e){var n=this.state.length?this.state[this.state.length-1]:null;if(!i||n!==r.ARRAYOPEN&&n!==r.CURLYOPEN&&n!==r.CURLYCLOSE&&n!==r.FUNCTION&&n!==r.FILTER)throw new Error('Unexpected number "'+e.match+'" on line '+t+".");return!0}),n.on(r.VAR,function(e){if(i&&o)return!0;this.out.length||(o=!0),this.out.push(e.match)}),n.on(r.COMMA,function(e){if(!o||this.prevToken.type!==r.VAR)return!0;this.out.push(e.match)}),n.on(r.COMPARATOR,function(e){if("in"!==e.match||!o)throw new Error('Unexpected token "'+e.match+'" on line '+t+".");i=!0,this.filterApplyIdx.push(this.out.length)}),!0},n.ends=!0},{}],17:[function(e,t,n){n.compile=function(e,t,n,r,o,i){return"if ("+t.join(" ")+") { \n"+e(n,r,o,i)+"\n}"},n.parse=function(e,t,n,r){if(void 0===e)throw new Error("No conditional statement provided on line "+t+".");return n.on(r.COMPARATOR,function(e){if(this.isLast)throw new Error('Unexpected logic "'+e.match+'" on line '+t+".");if(this.prevToken.type===r.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)}),n.on(r.NOT,function(e){if(this.isLast)throw new Error('Unexpected logic "'+e.match+'" on line '+t+".");this.out.push(e.match)}),n.on(r.BOOL,function(e){this.out.push(e.match)}),n.on(r.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},n.ends=!0},{}],18:[function(e,t,n){var r=e("../utils");n.compile=function(e,t){var n=t.pop(),o=r.map(t,function(e){return e.name}).join("|"),i="_ctx."+n+' = {};\n var _output = "";\n',s=r.map(t,function(e){return{ex:new RegExp("_ctx."+e.name+"(\\W)(?!"+o+")","g"),re:"_ctx."+n+"."+e.name+"$1"}});return r.each(t,function(e){var t=e.compiled;r.each(s,function(e){t=t.replace(e.ex,e.re)}),i+=t}),i},n.parse=function(t,n,o,i,s,a,u){var c,l,f=e("../parser").compile,p={resolveFrom:a.filename},h=r.extend({},a,p);return o.on(i.STRING,function(e){var t=this;if(!c)return c=u.parseFile(e.match.replace(/^("|')|("|')$/g,""),p).tokens,void r.each(c,function(e){var n,r="";e&&"macro"===e.name&&e.compile&&(n=e.args[0],r+=e.compile(f,e.args,e.content,[],h)+"\n",t.out.push({compiled:r,name:n}))});throw new Error("Unexpected string "+e.match+" on line "+n+".")}),o.on(i.VAR,function(e){if(!c||l)throw new Error('Unexpected variable "'+e.match+'" on line '+n+".");if("as"!==e.match)return l=e.match,this.out.push(l),!1}),!0},n.block=!0},{"../parser":8,"../utils":26}],19:[function(e,t,n){var r="ignore",o="missing",i="only";n.compile=function(e,t){var n=t.shift(),r=t.indexOf(i),s=-1!==r&&t.splice(r,1),a=(t.pop()||"").replace(/\\/g,"\\\\"),u=t[t.length-1]===o&&t.pop(),c=t.join("");return(u?" try {\n":"")+"_output += _swig.compileFile("+n+', {resolveFrom: "'+a+'"})('+(s&&c?c:c?"_utils.extend({}, _ctx, "+c+")":"_ctx")+");\n"+(u?"} catch (e) {}\n":"")},n.parse=function(e,t,n,s,a,u){var c,l;return n.on(s.STRING,function(e){return!!c||(c=e.match,void this.out.push(c))}),n.on(s.VAR,function(e){if(!c)return c=e.match,!0;if(l||"with"!==e.match){if(!l||e.match!==i||"with"===this.prevToken.match){if(e.match===r)return!1;if(e.match===o){if(this.prevToken.match!==r)throw new Error('Unexpected token "'+o+'" on line '+t+".");return this.out.push(e.match),!1}if(this.prevToken.match===r)throw new Error('Expected "'+o+'" on line '+t+' but found "'+e.match+'".');return!0}this.out.push(e.match)}else l=!0}),n.on("end",function(){this.out.push(u.filename||null)}),!0}},{}],20:[function(e,t,n){n.autoescape=e("./autoescape"),n.block=e("./block"),n.else=e("./else"),n.elseif=e("./elseif"),n.elif=n.elseif,n.extends=e("./extends"),n.filter=e("./filter"),n.for=e("./for"),n.if=e("./if"),n.import=e("./import"),n.include=e("./include"),n.macro=e("./macro"),n.parent=e("./parent"),n.raw=e("./raw"),n.set=e("./set"),n.spaceless=e("./spaceless")},{"./autoescape":10,"./block":11,"./else":12,"./elseif":13,"./extends":14,"./filter":15,"./for":16,"./if":17,"./import":18,"./include":19,"./macro":21,"./parent":22,"./raw":23,"./set":24,"./spaceless":25}],21:[function(e,t,n){n.compile=function(e,t,n,r,o,i){var s=t.shift();return"_ctx."+s+" = function ("+t.join("")+') {\n var _output = "",\n __ctx = _utils.extend({}, _ctx);\n _utils.each(_ctx, function (v, k) {\n if (["'+t.join('","')+'"].indexOf(k) !== -1) { delete _ctx[k]; }\n });\n'+e(n,r,o,i)+"\n _ctx = _utils.extend(_ctx, __ctx);\n return _output;\n};\n_ctx."+s+".safe = true;\n"},n.parse=function(e,t,n,r){var o;return n.on(r.VAR,function(e){if(-1!==e.match.indexOf("."))throw new Error('Unexpected dot in macro argument "'+e.match+'" on line '+t+".");this.out.push(e.match)}),n.on(r.FUNCTION,function(e){o||(o=e.match,this.out.push(o),this.state.push(r.FUNCTION))}),n.on(r.FUNCTIONEMPTY,function(e){o||(o=e.match,this.out.push(o))}),n.on(r.PARENCLOSE,function(){if(!this.isLast)throw new Error("Unexpected parenthesis close on line "+t+".")}),n.on(r.COMMA,function(){return!0}),n.on("*",function(){}),!0},n.ends=!0,n.block=!0},{}],22:[function(e,t,n){n.compile=function(e,t,n,r,o,i){if(!r||!r.length)return"";for(var s,a,u=t[0],c=r.length,l=0;l<c;l+=1)if((s=r[l]).blocks&&s.blocks.hasOwnProperty(i)&&u!==s.name)return(a=s.blocks[i]).compile(e,[i],a.content,r.slice(l+1),o)+"\n"},n.parse=function(e,t,n,r,o,i){return n.on("*",function(e){throw new Error('Unexpected argument "'+e.match+'" on line '+t+".")}),n.on("end",function(){this.out.push(i.filename)}),!0}},{}],23:[function(e,t,n){n.compile=function(e,t,n,r,o,i){return e(n,r,o,i)},n.parse=function(e,t,n){return n.on("*",function(e){throw new Error('Unexpected token "'+e.match+'" in raw tag on line '+t+".")}),!0},n.ends=!0},{}],24:[function(e,t,n){n.compile=function(e,t){return t.join(" ")+";\n"};var r=["__proto__","constructor","prototype"];n.parse=function(e,t,n,o){var i,s="";return n.on(o.VAR,function(e){if(i)i+="_ctx."+e.match;else{if(n.out.length)return!0;for(var o=e.match.split("."),a=0;a<o.length;a++)if(-1!==r.indexOf(o[a]))throw new Error('Unsafe assignment to "'+o[a]+'" is not allowed (CVE-2023-25345) on line '+t+".");s+=e.match}}),n.on(o.BRACKETOPEN,function(e){if(i||this.out.length)return!0;i=e.match}),n.on(o.STRING,function(e){if(!i||this.out.length)return!0;i+=e.match}),n.on(o.BRACKETCLOSE,function(e){return!(i&&!this.out.length)||(s+=i+e.match,void(i=void 0))}),n.on(o.DOTKEY,function(e){if(!i&&!s)return!0;if(-1!==r.indexOf(e.match))throw new Error('Unsafe assignment to "'+e.match+'" is not allowed (CVE-2023-25345) on line '+t+".");s+="."+e.match}),n.on(o.ASSIGNMENT,function(e){if(this.out.length||!s)throw new Error('Unexpected assignment "'+e.match+'" on line '+t+".");this.out.push("_ctx."+s),this.out.push(e.match),this.filterApplyIdx.push(this.out.length)}),!0},n.block=!0},{}],25:[function(e,t,n){e("../utils");n.compile=function(e,t,n,r,o,i){var s=e(n,r,o,i);return s+='_output = _output.replace(/^\\s+/, "")\n .replace(/>\\s+</g, "><")\n .replace(/\\s+$/, "");\n'},n.parse=function(e,t,n){return n.on("*",function(e){throw new Error('Unexpected token "'+e.match+'" on line '+t+".")}),!0},n.ends=!0},{"../utils":26}],26:[function(e,t,n){var r;n.strip=function(e){return e.replace(/^\s+|\s+$/g,"")},n.startsWith=function(e,t){return 0===e.indexOf(t)},n.endsWith=function(e,t){return-1!==e.indexOf(t,e.length-t.length)},n.each=function(e,t){var n,o;if(r(e))for(n=0,o=e.length;n<o&&!1!==t(e[n],n,e);n+=1);else for(n in e)if(e.hasOwnProperty(n)&&!1===t(e[n],n,e))break;return e},n.isArray=r=Array.hasOwnProperty("isArray")?Array.isArray:function(e){return!!e&&("object"==typeof e&&-1!==Object.prototype.toString.call(e).indexOf())},n.some=function(e,t){var o,i,s=0;if(r(e))for(i=e.length;s<i&&!(o=t(e[s],s,e));s+=1);else n.each(e,function(n,r){return!(o=t(n,r,e))});return!!o},n.map=function(e,t){var n,o=0,i=[];if(r(e))for(n=e.length;o<n;o+=1)i[o]=t(e[o],o);else for(o in e)e.hasOwnProperty(o)&&(i[o]=t(e[o],o));return i},n.extend=function(){for(var e,t,n=arguments,r=n[0],o=n.length>1?Array.prototype.slice.call(n,1):[],i=0,s=o.length;i<s;i+=1)for(e in t=o[i]||{})t.hasOwnProperty(e)&&(r[e]=t[e]);return r},n.keys=function(e){return e?Object.keys?Object.keys(e):n.map(e,function(e,t){return t}):[]},n.throwError=function(e,t,n){throw t&&(e+=" on line "+t),n&&(e+=" in file "+n),new Error(e+".")}},{}],27:[function(e,t,n){var r=Object.prototype.toString,o=Object.prototype.hasOwnProperty;function i(e){return"object"!=typeof e&&"function"!=typeof e||null===e}function s(e){if(i(e))throw new TypeError("Object.keys called on a non-object");var t=[];for(var n in e)o.call(e,n)&&t.push(n);return t}n.isArray="function"==typeof Array.isArray?Array.isArray:function(e){return"[object Array]"===r.call(e)},n.indexOf=function(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0;n<e.length;n++)if(t===e[n])return n;return-1},n.filter=function(e,t){if(e.filter)return e.filter(t);for(var n=[],r=0;r<e.length;r++)t(e[r],r,e)&&n.push(e[r]);return n},n.forEach=function(e,t,n){if(e.forEach)return e.forEach(t,n);for(var r=0;r<e.length;r++)t.call(n,e[r],r,e)},n.map=function(e,t){if(e.map)return e.map(t);for(var n=new Array(e.length),r=0;r<e.length;r++)n[r]=t(e[r],r,e);return n},n.reduce=function(e,t,n){if(e.reduce)return e.reduce(t,n);var r,o=!1;2<arguments.length&&(r=n,o=!0);for(var i=0,s=e.length;s>i;++i)e.hasOwnProperty(i)&&(o?r=t(r,e[i],i,e):(r=e[i],o=!0));return r},"b"!=="ab".substr(-1)?n.substr=function(e,t,n){return t<0&&(t=e.length+t),e.substr(t,n)}:n.substr=function(e,t,n){return e.substr(t,n)},n.trim=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")},n.bind=function(){var e=Array.prototype.slice.call(arguments),t=e.shift();if(t.bind)return t.bind.apply(t,e);var n=e.shift();return function(){t.apply(n,e.concat([Array.prototype.slice.call(arguments)]))}},n.create="function"==typeof Object.create?Object.create:function(e,t){var n;if(null===e)n={__proto__:null};else{if("object"!=typeof e)throw new TypeError("typeof prototype["+typeof e+"] != 'object'");var r=function(){};r.prototype=e,(n=new r).__proto__=e}return void 0!==t&&Object.defineProperties&&Object.defineProperties(n,t),n};var a="function"==typeof Object.keys?Object.keys:s,u="function"==typeof Object.getOwnPropertyNames?Object.getOwnPropertyNames:function(e){if(i(e))throw new TypeError("Object.getOwnPropertyNames called on a non-object");var t=s(e);return n.isArray(e)&&-1===n.indexOf(e,"length")&&t.push("length"),t};if((new Error).hasOwnProperty("description")){var c=function(e,t){return"[object Error]"===r.call(e)&&(t=n.filter(t,function(e){return"description"!==e&&"number"!==e&&"message"!==e})),t};n.keys=function(e){return c(e,a(e))},n.getOwnPropertyNames=function(e){return c(e,u(e))}}else n.keys=a,n.getOwnPropertyNames=u;function l(e,t){return{value:e[t]}}if("function"==typeof Object.getOwnPropertyDescriptor)try{Object.getOwnPropertyDescriptor({a:1},"a"),n.getOwnPropertyDescriptor=Object.getOwnPropertyDescriptor}catch(e){n.getOwnPropertyDescriptor=function(e,t){try{return Object.getOwnPropertyDescriptor(e,t)}catch(n){return l(e,t)}}}else n.getOwnPropertyDescriptor=l},{}],28:[function(e,t,n){},{}],29:[function(e,t,n){var r=e("__browserify_process"),o=e("util"),i=e("_shims");function s(e,t){for(var n=0,r=e.length-1;r>=0;r--){var o=e[r];"."===o?e.splice(r,1):".."===o?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}var a=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,u=function(e){return a.exec(e).slice(1)};n.resolve=function(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var a=n>=0?arguments[n]:r.cwd();if(!o.isString(a))throw new TypeError("Arguments to path.resolve must be strings");a&&(e=a+"/"+e,t="/"===a.charAt(0))}return(t?"/":"")+(e=s(i.filter(e.split("/"),function(e){return!!e}),!t).join("/"))||"."},n.normalize=function(e){var t=n.isAbsolute(e),r="/"===i.substr(e,-1);return(e=s(i.filter(e.split("/"),function(e){return!!e}),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},n.isAbsolute=function(e){return"/"===e.charAt(0)},n.join=function(){var e=Array.prototype.slice.call(arguments,0);return n.normalize(i.filter(e,function(e,t){if(!o.isString(e))throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},n.relative=function(e,t){function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var n=e.length-1;n>=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=n.resolve(e).substr(1),t=n.resolve(t).substr(1);for(var o=r(e.split("/")),i=r(t.split("/")),s=Math.min(o.length,i.length),a=s,u=0;u<s;u++)if(o[u]!==i[u]){a=u;break}var c=[];for(u=a;u<o.length;u++)c.push("..");return(c=c.concat(i.slice(a))).join("/")},n.sep="/",n.delimiter=":",n.dirname=function(e){var t=u(e),n=t[0],r=t[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."},n.basename=function(e,t){var n=u(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},n.extname=function(e){return u(e)[3]}},{__browserify_process:31,_shims:27,util:30}],30:[function(e,t,n){var r=e("_shims"),o=/%[sdj%]/g;function i(e,t){var r={seen:[],stylize:a};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),p(t)?r.showHidden=t:t&&n._extend(r,t),y(r.showHidden)&&(r.showHidden=!1),y(r.depth)&&(r.depth=2),y(r.colors)&&(r.colors=!1),y(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=s),u(r,e,r.depth)}function s(e,t){var n=i.styles[t];return n?"["+i.colors[n][0]+"m"+e+"["+i.colors[n][1]+"m":e}function a(e,t){return e}function u(e,t,o){if(e.customInspect&&t&&E(t.inspect)&&t.inspect!==n.inspect&&(!t.constructor||t.constructor.prototype!==t)){var i=t.inspect(o);return d(i)||(i=u(e,i,o)),i}var s=function(e,t){if(y(t))return e.stylize("undefined","undefined");if(d(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}if(g(t))return e.stylize(""+t,"number");if(p(t))return e.stylize(""+t,"boolean");if(h(t))return e.stylize("null","null")}(e,t);if(s)return s;var a=r.keys(t),v=function(e){var t={};return r.forEach(e,function(e,n){t[e]=!0}),t}(a);if(e.showHidden&&(a=r.getOwnPropertyNames(t)),0===a.length){if(E(t)){var x=t.name?": "+t.name:"";return e.stylize("[Function"+x+"]","special")}if(m(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(w(t))return e.stylize(Date.prototype.toString.call(t),"date");if(O(t))return c(t)}var b,A="",C=!1,_=["{","}"];(f(t)&&(C=!0,_=["[","]"]),E(t))&&(A=" [Function"+(t.name?": "+t.name:"")+"]");return m(t)&&(A=" "+RegExp.prototype.toString.call(t)),w(t)&&(A=" "+Date.prototype.toUTCString.call(t)),O(t)&&(A=" "+c(t)),0!==a.length||C&&0!=t.length?o<0?m(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),b=C?function(e,t,n,o,i){for(var s=[],a=0,u=t.length;a<u;++a)T(t,String(a))?s.push(l(e,t,n,o,String(a),!0)):s.push("");return r.forEach(i,function(r){r.match(/^\d+$/)||s.push(l(e,t,n,o,r,!0))}),s}(e,t,o,v,a):a.map(function(n){return l(e,t,o,v,n,C)}),e.seen.pop(),function(e,t,n){var o=r.reduce(e,function(e,t){return t.indexOf("\n")>=0&&0,e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0);if(o>60)return n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1];return n[0]+t+" "+e.join(", ")+" "+n[1]}(b,A,_)):_[0]+A+_[1]}function c(e){return"["+Error.prototype.toString.call(e)+"]"}function l(e,t,n,o,i,s){var a,c,l;if((l=r.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?c=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(c=e.stylize("[Setter]","special")),T(o,i)||(a="["+i+"]"),c||(r.indexOf(e.seen,l.value)<0?(c=h(n)?u(e,l.value,null):u(e,l.value,n-1)).indexOf("\n")>-1&&(c=s?c.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+c.split("\n").map(function(e){return" "+e}).join("\n")):c=e.stylize("[Circular]","special")),y(a)){if(s&&i.match(/^\d+$/))return c;(a=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+c}function f(e){return r.isArray(e)}function p(e){return"boolean"==typeof e}function h(e){return null===e}function g(e){return"number"==typeof e}function d(e){return"string"==typeof e}function y(e){return void 0===e}function m(e){return v(e)&&"[object RegExp]"===x(e)}function v(e){return"object"==typeof e&&e}function w(e){return v(e)&&"[object Date]"===x(e)}function O(e){return v(e)&&"[object Error]"===x(e)}function E(e){return"function"==typeof e}function x(e){return Object.prototype.toString.call(e)}function b(e){return e<10?"0"+e.toString(10):e.toString(10)}n.format=function(e){if(!d(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(i(arguments[n]));return t.join(" ")}n=1;for(var r=arguments,s=r.length,a=String(e).replace(o,function(e){if("%%"===e)return"%";if(n>=s)return e;switch(e){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(e){return"[Circular]"}default:return e}}),u=r[n];n<s;u=r[++n])h(u)||!v(u)?a+=" "+u:a+=" "+i(u);return a},n.inspect=i,i.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},i.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},n.isArray=f,n.isBoolean=p,n.isNull=h,n.isNullOrUndefined=function(e){return null==e},n.isNumber=g,n.isString=d,n.isSymbol=function(e){return"symbol"==typeof e},n.isUndefined=y,n.isRegExp=m,n.isObject=v,n.isDate=w,n.isError=O,n.isFunction=E,n.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},n.isBuffer=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.binarySlice};var A=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function T(e,t){return Object.prototype.hasOwnProperty.call(e,t)}n.log=function(){var e,t;console.log("%s - %s",(e=new Date,t=[b(e.getHours()),b(e.getMinutes()),b(e.getSeconds())].join(":"),[e.getDate(),A[e.getMonth()],t].join(" ")),n.format.apply(n,arguments))},n.inherits=function(e,t){e.super_=t,e.prototype=r.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},n._extend=function(e,t){if(!t||!v(t))return e;for(var n=r.keys(t),o=n.length;o--;)e[n[o]]=t[n[o]];return e}},{_shims:27}],31:[function(e,t,n){var r=t.exports={};r.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var n=[];return window.addEventListener("message",function(e){var t=e.source;t!==window&&null!==t||"process-tick"!==e.data||(e.stopPropagation(),n.length>0&&n.shift()())},!0),function(e){n.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),r.title="browser",r.browser=!0,r.env={},r.argv=[],r.binding=function(e){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(e){throw new Error("process.chdir is not supported")}},{}]},{},[1]);
|
|
18
|
+
c=new n.Swig,n.setFilter=c.setFilter,n.setTag=c.setTag,n.setExtension=c.setExtension,n.parseFile=c.parseFile,n.precompile=c.precompile,n.compile=c.compile,n.compileFile=c.compileFile,n.render=c.render,n.renderFile=c.renderFile,n.run=c.run,n.invalidateCache=c.invalidateCache,n.loaders=u},{"./dateformatter":2,"./filters":3,"./loaders":6,"./parser":8,"./tags":20,"./utils":26}],10:[function(e,t,n){var r=e("../utils"),o=["html","js"];n.compile=function(e,t,n,r,o,i){return e(n,r,o,i)},n.parse=function(e,t,n,i,a,s){var u;return n.on("*",function(e){if(!u&&(e.type===i.BOOL||e.type===i.STRING&&-1===o.indexOf(e.match)))return this.out.push(e.match),void(u=!0);r.throwError('Unexpected token "'+e.match+'" in autoescape tag',t,s.filename)}),!0},n.ends=!0},{"../utils":26}],11:[function(e,t,n){n.compile=function(e,t,n,r,o){return e(n,r,o,t.join(""))},n.parse=function(e,t,n){return n.on("*",function(e){this.out.push(e.match)}),!0},n.ends=!0,n.block=!0},{}],12:[function(e,t,n){n.compile=function(){return"} else {\n"},n.parse=function(e,t,n,r,o){return n.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}},{}],13:[function(e,t,n){var r=e("./if").parse;n.compile=function(e,t){return"} else if ("+t.join(" ")+") {\n"},n.parse=function(e,t,n,o,i){return r(e,t,n,o,i)&&i.length&&"if"===i[i.length-1].name}},{"./if":17}],14:[function(e,t,n){n.compile=function(){},n.parse=function(){return!0},n.ends=!1},{}],15:[function(e,t,n){var r=e("../filters");n.compile=function(e,t,n,r,o,i){var a=t.shift().replace(/\($/,""),s='(function () {\n var _output = "";\n'+e(n,r,o,i)+" return _output;\n})()";return")"===t[t.length-1]&&t.pop(),'_output += _filters["'+a+'"]('+s+(t=t.length?", "+t.join(""):"")+");\n"},n.parse=function(e,t,n,o){var i;function a(e){if(!r.hasOwnProperty(e))throw new Error('Filter "'+e+'" does not exist on line '+t+".")}return n.on(o.FUNCTION,function(e){return!!i||(a(i=e.match.replace(/\($/,"")),this.out.push(e.match),void this.state.push(e.type))}),n.on(o.VAR,function(e){return!!i||(a(i=e.match),void this.out.push(i))}),!0},n.ends=!0},{"../filters":3}],16:[function(e,t,n){var r="_ctx.",o=r+"loop",i=["__proto__","constructor","prototype"];n.compile=function(e,t,n,i,a,s){var u=t.shift(),c="__k",l=(r+"__loopcache"+Math.random()).replace(/\./g,"");return t[0]&&","===t[0]&&(t.shift(),c=u,u=t.shift()),["(function () {\n"," var __l = "+t.join("")+', __len = (_utils.isArray(__l) || typeof __l === "string") ? __l.length : _utils.keys(__l).length;\n'," if (!__l) { return; }\n"," var "+l+" = { loop: "+o+", "+u+": "+r+u+", "+c+": "+r+c+" };\n"," "+o+" = { first: false, index: 1, index0: 0, revindex: __len, revindex0: __len - 1, length: __len, last: false };\n"," _utils.each(__l, function ("+u+", "+c+") {\n"," "+r+u+" = "+u+";\n"," "+r+c+" = "+c+";\n"," "+o+".key = "+c+";\n"," "+o+".first = ("+o+".index0 === 0);\n"," "+o+".last = ("+o+".revindex0 === 0);\n"," "+e(n,i,a,s)," "+o+".index += 1; "+o+".index0 += 1; "+o+".revindex -= 1; "+o+".revindex0 -= 1;\n"," });\n"," "+o+" = "+l+".loop;\n"," "+r+u+" = "+l+"."+u+";\n"," "+r+c+" = "+l+"."+c+";\n"," "+l+" = undefined;\n","})();\n"].join("")},n.parse=function(e,t,n,r){var o,a;return n.on(r.NUMBER,function(e){var n=this.state.length?this.state[this.state.length-1]:null;if(!a||n!==r.ARRAYOPEN&&n!==r.CURLYOPEN&&n!==r.CURLYCLOSE&&n!==r.FUNCTION&&n!==r.FILTER)throw new Error('Unexpected number "'+e.match+'" on line '+t+".");return!0}),n.on(r.VAR,function(e){if(a&&o)return!0;if(-1!==i.indexOf(e.match))throw new Error('Unsafe loop variable "'+e.match+'" is not allowed (CVE-2023-25345) on line '+t+".");this.out.length||(o=!0),this.out.push(e.match)}),n.on(r.COMMA,function(e){if(!o||this.prevToken.type!==r.VAR)return!0;this.out.push(e.match)}),n.on(r.COMPARATOR,function(e){if("in"!==e.match||!o)throw new Error('Unexpected token "'+e.match+'" on line '+t+".");a=!0,this.filterApplyIdx.push(this.out.length)}),!0},n.ends=!0},{}],17:[function(e,t,n){n.compile=function(e,t,n,r,o,i){return"if ("+t.join(" ")+") { \n"+e(n,r,o,i)+"\n}"},n.parse=function(e,t,n,r){if(void 0===e)throw new Error("No conditional statement provided on line "+t+".");return n.on(r.COMPARATOR,function(e){if(this.isLast)throw new Error('Unexpected logic "'+e.match+'" on line '+t+".");if(this.prevToken.type===r.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)}),n.on(r.NOT,function(e){if(this.isLast)throw new Error('Unexpected logic "'+e.match+'" on line '+t+".");this.out.push(e.match)}),n.on(r.BOOL,function(e){this.out.push(e.match)}),n.on(r.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},n.ends=!0},{}],18:[function(e,t,n){var r=e("../utils"),o=["__proto__","constructor","prototype"];n.compile=function(e,t){var n=t.pop(),o=r.map(t,function(e){return e.name}).join("|"),i="_ctx."+n+' = {};\n var _output = "";\n',a=r.map(t,function(e){return{ex:new RegExp("_ctx."+e.name+"(\\W)(?!"+o+")","g"),re:"_ctx."+n+"."+e.name+"$1"}});return r.each(t,function(e){var t=e.compiled;r.each(a,function(e){t=t.replace(e.ex,e.re)}),i+=t}),i},n.parse=function(t,n,i,a,s,u,c){var l,f,p=e("../parser").compile,h={resolveFrom:u.filename},g=r.extend({},u,h);return i.on(a.STRING,function(e){var t=this;if(!l)return l=c.parseFile(e.match.replace(/^("|')|("|')$/g,""),h).tokens,void r.each(l,function(e){var n,r="";e&&"macro"===e.name&&e.compile&&(n=e.args[0],r+=e.compile(p,e.args,e.content,[],g)+"\n",t.out.push({compiled:r,name:n}))});throw new Error("Unexpected string "+e.match+" on line "+n+".")}),i.on(a.VAR,function(e){if(!l||f)throw new Error('Unexpected variable "'+e.match+'" on line '+n+".");if("as"!==e.match){if(-1!==o.indexOf(e.match))throw new Error('Unsafe import alias "'+e.match+'" is not allowed (CVE-2023-25345) on line '+n+".");return f=e.match,this.out.push(f),!1}}),!0},n.block=!0},{"../parser":8,"../utils":26}],19:[function(e,t,n){var r="ignore",o="missing",i="only";n.compile=function(e,t){var n=t.shift(),r=t.indexOf(i),a=-1!==r&&t.splice(r,1),s=(t.pop()||"").replace(/\\/g,"\\\\"),u=t[t.length-1]===o&&t.pop(),c=t.join("");return(u?" try {\n":"")+"_output += _swig.compileFile("+n+', {resolveFrom: "'+s+'"})('+(a&&c?c:c?"_utils.extend({}, _ctx, "+c+")":"_ctx")+");\n"+(u?"} catch (e) {}\n":"")},n.parse=function(e,t,n,a,s,u){var c,l;return n.on(a.STRING,function(e){return!!c||(c=e.match,void this.out.push(c))}),n.on(a.VAR,function(e){if(!c)return c=e.match,!0;if(l||"with"!==e.match){if(!l||e.match!==i||"with"===this.prevToken.match){if(e.match===r)return!1;if(e.match===o){if(this.prevToken.match!==r)throw new Error('Unexpected token "'+o+'" on line '+t+".");return this.out.push(e.match),!1}if(this.prevToken.match===r)throw new Error('Expected "'+o+'" on line '+t+' but found "'+e.match+'".');return!0}this.out.push(e.match)}else l=!0}),n.on("end",function(){this.out.push(u.filename||null)}),!0}},{}],20:[function(e,t,n){n.autoescape=e("./autoescape"),n.block=e("./block"),n.else=e("./else"),n.elseif=e("./elseif"),n.elif=n.elseif,n.extends=e("./extends"),n.filter=e("./filter"),n.for=e("./for"),n.if=e("./if"),n.import=e("./import"),n.include=e("./include"),n.macro=e("./macro"),n.parent=e("./parent"),n.raw=e("./raw"),n.set=e("./set"),n.spaceless=e("./spaceless")},{"./autoescape":10,"./block":11,"./else":12,"./elseif":13,"./extends":14,"./filter":15,"./for":16,"./if":17,"./import":18,"./include":19,"./macro":21,"./parent":22,"./raw":23,"./set":24,"./spaceless":25}],21:[function(e,t,n){n.compile=function(e,t,n,r,o,i){var a=t.shift();return"_ctx."+a+" = function ("+t.join("")+') {\n var _output = "",\n __ctx = _utils.extend({}, _ctx);\n _utils.each(_ctx, function (v, k) {\n if (["'+t.join('","')+'"].indexOf(k) !== -1) { delete _ctx[k]; }\n });\n'+e(n,r,o,i)+"\n _ctx = _utils.extend(_ctx, __ctx);\n return _output;\n};\n_ctx."+a+".safe = true;\n"};var r=["__proto__","constructor","prototype"];n.parse=function(e,t,n,o){var i;return n.on(o.VAR,function(e){if(-1!==e.match.indexOf("."))throw new Error('Unexpected dot in macro argument "'+e.match+'" on line '+t+".");this.out.push(e.match)}),n.on(o.FUNCTION,function(e){if(!i){if(-1!==r.indexOf(e.match))throw new Error('Unsafe macro name "'+e.match+'" is not allowed (CVE-2023-25345) on line '+t+".");i=e.match,this.out.push(i),this.state.push(o.FUNCTION)}}),n.on(o.FUNCTIONEMPTY,function(e){if(!i){if(-1!==r.indexOf(e.match))throw new Error('Unsafe macro name "'+e.match+'" is not allowed (CVE-2023-25345) on line '+t+".");i=e.match,this.out.push(i)}}),n.on(o.PARENCLOSE,function(){if(!this.isLast)throw new Error("Unexpected parenthesis close on line "+t+".")}),n.on(o.COMMA,function(){return!0}),n.on("*",function(){}),!0},n.ends=!0,n.block=!0},{}],22:[function(e,t,n){n.compile=function(e,t,n,r,o,i){if(!r||!r.length)return"";for(var a,s,u=t[0],c=r.length,l=0;l<c;l+=1)if((a=r[l]).blocks&&a.blocks.hasOwnProperty(i)&&u!==a.name)return(s=a.blocks[i]).compile(e,[i],s.content,r.slice(l+1),o)+"\n"},n.parse=function(e,t,n,r,o,i){return n.on("*",function(e){throw new Error('Unexpected argument "'+e.match+'" on line '+t+".")}),n.on("end",function(){this.out.push(i.filename)}),!0}},{}],23:[function(e,t,n){n.compile=function(e,t,n,r,o,i){return e(n,r,o,i)},n.parse=function(e,t,n){return n.on("*",function(e){throw new Error('Unexpected token "'+e.match+'" in raw tag on line '+t+".")}),!0},n.ends=!0},{}],24:[function(e,t,n){n.compile=function(e,t){return t.join(" ")+";\n"};var r=["__proto__","constructor","prototype"];n.parse=function(e,t,n,o){var i,a="";return n.on(o.VAR,function(e){if(i)i+="_ctx."+e.match;else{if(n.out.length)return!0;for(var o=e.match.split("."),s=0;s<o.length;s++)if(-1!==r.indexOf(o[s]))throw new Error('Unsafe assignment to "'+o[s]+'" is not allowed (CVE-2023-25345) on line '+t+".");a+=e.match}}),n.on(o.BRACKETOPEN,function(e){if(i||this.out.length)return!0;i=e.match}),n.on(o.STRING,function(e){if(!i||this.out.length)return!0;var n=e.match.replace(/^['"]|['"]$/g,"");if(-1!==r.indexOf(n))throw new Error('Unsafe assignment to "'+n+'" via bracket notation is not allowed (CVE-2023-25345) on line '+t+".");i+=e.match}),n.on(o.BRACKETCLOSE,function(e){return!(i&&!this.out.length)||(a+=i+e.match,void(i=void 0))}),n.on(o.DOTKEY,function(e){if(!i&&!a)return!0;if(-1!==r.indexOf(e.match))throw new Error('Unsafe assignment to "'+e.match+'" is not allowed (CVE-2023-25345) on line '+t+".");a+="."+e.match}),n.on(o.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},n.block=!0},{}],25:[function(e,t,n){e("../utils");n.compile=function(e,t,n,r,o,i){var a=e(n,r,o,i);return a+='_output = _output.replace(/^\\s+/, "")\n .replace(/>\\s+</g, "><")\n .replace(/\\s+$/, "");\n'},n.parse=function(e,t,n){return n.on("*",function(e){throw new Error('Unexpected token "'+e.match+'" on line '+t+".")}),!0},n.ends=!0},{"../utils":26}],26:[function(e,t,n){var r;n.strip=function(e){return e.replace(/^\s+|\s+$/g,"")},n.startsWith=function(e,t){return 0===e.indexOf(t)},n.endsWith=function(e,t){return-1!==e.indexOf(t,e.length-t.length)},n.each=function(e,t){var n,o;if(r(e))for(n=0,o=e.length;n<o&&!1!==t(e[n],n,e);n+=1);else for(n in e)if(e.hasOwnProperty(n)&&!1===t(e[n],n,e))break;return e},n.isArray=r=Array.hasOwnProperty("isArray")?Array.isArray:function(e){return!!e&&("object"==typeof e&&-1!==Object.prototype.toString.call(e).indexOf())},n.some=function(e,t){var o,i,a=0;if(r(e))for(i=e.length;a<i&&!(o=t(e[a],a,e));a+=1);else n.each(e,function(n,r){return!(o=t(n,r,e))});return!!o},n.map=function(e,t){var n,o=0,i=[];if(r(e))for(n=e.length;o<n;o+=1)i[o]=t(e[o],o);else for(o in e)e.hasOwnProperty(o)&&(i[o]=t(e[o],o));return i},n.extend=function(){for(var e,t,n=arguments,r=n[0],o=n.length>1?Array.prototype.slice.call(n,1):[],i=0,a=o.length;i<a;i+=1)for(e in t=o[i]||{})t.hasOwnProperty(e)&&(r[e]=t[e]);return r},n.keys=function(e){return e?Object.keys?Object.keys(e):n.map(e,function(e,t){return t}):[]},n.throwError=function(e,t,n){throw t&&(e+=" on line "+t),n&&(e+=" in file "+n),new Error(e+".")}},{}],27:[function(e,t,n){var r=Object.prototype.toString,o=Object.prototype.hasOwnProperty;function i(e){return"object"!=typeof e&&"function"!=typeof e||null===e}function a(e){if(i(e))throw new TypeError("Object.keys called on a non-object");var t=[];for(var n in e)o.call(e,n)&&t.push(n);return t}n.isArray="function"==typeof Array.isArray?Array.isArray:function(e){return"[object Array]"===r.call(e)},n.indexOf=function(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0;n<e.length;n++)if(t===e[n])return n;return-1},n.filter=function(e,t){if(e.filter)return e.filter(t);for(var n=[],r=0;r<e.length;r++)t(e[r],r,e)&&n.push(e[r]);return n},n.forEach=function(e,t,n){if(e.forEach)return e.forEach(t,n);for(var r=0;r<e.length;r++)t.call(n,e[r],r,e)},n.map=function(e,t){if(e.map)return e.map(t);for(var n=new Array(e.length),r=0;r<e.length;r++)n[r]=t(e[r],r,e);return n},n.reduce=function(e,t,n){if(e.reduce)return e.reduce(t,n);var r,o=!1;2<arguments.length&&(r=n,o=!0);for(var i=0,a=e.length;a>i;++i)e.hasOwnProperty(i)&&(o?r=t(r,e[i],i,e):(r=e[i],o=!0));return r},"b"!=="ab".substr(-1)?n.substr=function(e,t,n){return t<0&&(t=e.length+t),e.substr(t,n)}:n.substr=function(e,t,n){return e.substr(t,n)},n.trim=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")},n.bind=function(){var e=Array.prototype.slice.call(arguments),t=e.shift();if(t.bind)return t.bind.apply(t,e);var n=e.shift();return function(){t.apply(n,e.concat([Array.prototype.slice.call(arguments)]))}},n.create="function"==typeof Object.create?Object.create:function(e,t){var n;if(null===e)n={__proto__:null};else{if("object"!=typeof e)throw new TypeError("typeof prototype["+typeof e+"] != 'object'");var r=function(){};r.prototype=e,(n=new r).__proto__=e}return void 0!==t&&Object.defineProperties&&Object.defineProperties(n,t),n};var s="function"==typeof Object.keys?Object.keys:a,u="function"==typeof Object.getOwnPropertyNames?Object.getOwnPropertyNames:function(e){if(i(e))throw new TypeError("Object.getOwnPropertyNames called on a non-object");var t=a(e);return n.isArray(e)&&-1===n.indexOf(e,"length")&&t.push("length"),t};if((new Error).hasOwnProperty("description")){var c=function(e,t){return"[object Error]"===r.call(e)&&(t=n.filter(t,function(e){return"description"!==e&&"number"!==e&&"message"!==e})),t};n.keys=function(e){return c(e,s(e))},n.getOwnPropertyNames=function(e){return c(e,u(e))}}else n.keys=s,n.getOwnPropertyNames=u;function l(e,t){return{value:e[t]}}if("function"==typeof Object.getOwnPropertyDescriptor)try{Object.getOwnPropertyDescriptor({a:1},"a"),n.getOwnPropertyDescriptor=Object.getOwnPropertyDescriptor}catch(e){n.getOwnPropertyDescriptor=function(e,t){try{return Object.getOwnPropertyDescriptor(e,t)}catch(n){return l(e,t)}}}else n.getOwnPropertyDescriptor=l},{}],28:[function(e,t,n){},{}],29:[function(e,t,n){var r=e("__browserify_process"),o=e("util"),i=e("_shims");function a(e,t){for(var n=0,r=e.length-1;r>=0;r--){var o=e[r];"."===o?e.splice(r,1):".."===o?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}var s=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,u=function(e){return s.exec(e).slice(1)};n.resolve=function(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var s=n>=0?arguments[n]:r.cwd();if(!o.isString(s))throw new TypeError("Arguments to path.resolve must be strings");s&&(e=s+"/"+e,t="/"===s.charAt(0))}return(t?"/":"")+(e=a(i.filter(e.split("/"),function(e){return!!e}),!t).join("/"))||"."},n.normalize=function(e){var t=n.isAbsolute(e),r="/"===i.substr(e,-1);return(e=a(i.filter(e.split("/"),function(e){return!!e}),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},n.isAbsolute=function(e){return"/"===e.charAt(0)},n.join=function(){var e=Array.prototype.slice.call(arguments,0);return n.normalize(i.filter(e,function(e,t){if(!o.isString(e))throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},n.relative=function(e,t){function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var n=e.length-1;n>=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=n.resolve(e).substr(1),t=n.resolve(t).substr(1);for(var o=r(e.split("/")),i=r(t.split("/")),a=Math.min(o.length,i.length),s=a,u=0;u<a;u++)if(o[u]!==i[u]){s=u;break}var c=[];for(u=s;u<o.length;u++)c.push("..");return(c=c.concat(i.slice(s))).join("/")},n.sep="/",n.delimiter=":",n.dirname=function(e){var t=u(e),n=t[0],r=t[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."},n.basename=function(e,t){var n=u(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},n.extname=function(e){return u(e)[3]}},{__browserify_process:31,_shims:27,util:30}],30:[function(e,t,n){var r=e("_shims"),o=/%[sdj%]/g;function i(e,t){var r={seen:[],stylize:s};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),p(t)?r.showHidden=t:t&&n._extend(r,t),y(r.showHidden)&&(r.showHidden=!1),y(r.depth)&&(r.depth=2),y(r.colors)&&(r.colors=!1),y(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=a),u(r,e,r.depth)}function a(e,t){var n=i.styles[t];return n?"["+i.colors[n][0]+"m"+e+"["+i.colors[n][1]+"m":e}function s(e,t){return e}function u(e,t,o){if(e.customInspect&&t&&E(t.inspect)&&t.inspect!==n.inspect&&(!t.constructor||t.constructor.prototype!==t)){var i=t.inspect(o);return d(i)||(i=u(e,i,o)),i}var a=function(e,t){if(y(t))return e.stylize("undefined","undefined");if(d(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}if(g(t))return e.stylize(""+t,"number");if(p(t))return e.stylize(""+t,"boolean");if(h(t))return e.stylize("null","null")}(e,t);if(a)return a;var s=r.keys(t),w=function(e){var t={};return r.forEach(e,function(e,n){t[e]=!0}),t}(s);if(e.showHidden&&(s=r.getOwnPropertyNames(t)),0===s.length){if(E(t)){var x=t.name?": "+t.name:"";return e.stylize("[Function"+x+"]","special")}if(m(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(v(t))return e.stylize(Date.prototype.toString.call(t),"date");if(O(t))return c(t)}var b,A="",_=!1,C=["{","}"];(f(t)&&(_=!0,C=["[","]"]),E(t))&&(A=" [Function"+(t.name?": "+t.name:"")+"]");return m(t)&&(A=" "+RegExp.prototype.toString.call(t)),v(t)&&(A=" "+Date.prototype.toUTCString.call(t)),O(t)&&(A=" "+c(t)),0!==s.length||_&&0!=t.length?o<0?m(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),b=_?function(e,t,n,o,i){for(var a=[],s=0,u=t.length;s<u;++s)T(t,String(s))?a.push(l(e,t,n,o,String(s),!0)):a.push("");return r.forEach(i,function(r){r.match(/^\d+$/)||a.push(l(e,t,n,o,r,!0))}),a}(e,t,o,w,s):s.map(function(n){return l(e,t,o,w,n,_)}),e.seen.pop(),function(e,t,n){var o=r.reduce(e,function(e,t){return t.indexOf("\n")>=0&&0,e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0);if(o>60)return n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1];return n[0]+t+" "+e.join(", ")+" "+n[1]}(b,A,C)):C[0]+A+C[1]}function c(e){return"["+Error.prototype.toString.call(e)+"]"}function l(e,t,n,o,i,a){var s,c,l;if((l=r.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?c=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(c=e.stylize("[Setter]","special")),T(o,i)||(s="["+i+"]"),c||(r.indexOf(e.seen,l.value)<0?(c=h(n)?u(e,l.value,null):u(e,l.value,n-1)).indexOf("\n")>-1&&(c=a?c.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+c.split("\n").map(function(e){return" "+e}).join("\n")):c=e.stylize("[Circular]","special")),y(s)){if(a&&i.match(/^\d+$/))return c;(s=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+c}function f(e){return r.isArray(e)}function p(e){return"boolean"==typeof e}function h(e){return null===e}function g(e){return"number"==typeof e}function d(e){return"string"==typeof e}function y(e){return void 0===e}function m(e){return w(e)&&"[object RegExp]"===x(e)}function w(e){return"object"==typeof e&&e}function v(e){return w(e)&&"[object Date]"===x(e)}function O(e){return w(e)&&"[object Error]"===x(e)}function E(e){return"function"==typeof e}function x(e){return Object.prototype.toString.call(e)}function b(e){return e<10?"0"+e.toString(10):e.toString(10)}n.format=function(e){if(!d(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(i(arguments[n]));return t.join(" ")}n=1;for(var r=arguments,a=r.length,s=String(e).replace(o,function(e){if("%%"===e)return"%";if(n>=a)return e;switch(e){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(e){return"[Circular]"}default:return e}}),u=r[n];n<a;u=r[++n])h(u)||!w(u)?s+=" "+u:s+=" "+i(u);return s},n.inspect=i,i.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},i.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},n.isArray=f,n.isBoolean=p,n.isNull=h,n.isNullOrUndefined=function(e){return null==e},n.isNumber=g,n.isString=d,n.isSymbol=function(e){return"symbol"==typeof e},n.isUndefined=y,n.isRegExp=m,n.isObject=w,n.isDate=v,n.isError=O,n.isFunction=E,n.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},n.isBuffer=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.binarySlice};var A=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function T(e,t){return Object.prototype.hasOwnProperty.call(e,t)}n.log=function(){var e,t;console.log("%s - %s",(e=new Date,t=[b(e.getHours()),b(e.getMinutes()),b(e.getSeconds())].join(":"),[e.getDate(),A[e.getMonth()],t].join(" ")),n.format.apply(n,arguments))},n.inherits=function(e,t){e.super_=t,e.prototype=r.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},n._extend=function(e,t){if(!t||!w(t))return e;for(var n=r.keys(t),o=n.length;o--;)e[n[o]]=t[n[o]];return e}},{_shims:27}],31:[function(e,t,n){var r=t.exports={};r.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var n=[];return window.addEventListener("message",function(e){var t=e.source;t!==window&&null!==t||"process-tick"!==e.data||(e.stopPropagation(),n.length>0&&n.shift()())},!0),function(e){n.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),r.title="browser",r.browser=!0,r.env={},r.argv=[],r.binding=function(e){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(e){throw new Error("process.chdir is not supported")}},{}]},{},[1]);
|
|
19
19
|
//# sourceMappingURL=swig.js.map
|
package/dist/swig.min.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["e","t","n","r","s","o","u","a","require","i","Error","f","exports","call","length","module","swig","window","define","amd","utils","_months","full","abbr","_days","alt","tzOffset","DateZ","members","d","this","date","dateZ","arguments","Date","UTC","apply","getTimezoneOffset","timezoneOffset","each","name","setTimezoneOffset","prototype","offset","getTime","input","getDate","D","getDay","j","l","N","S","w","z","year","getFullYear","getMonth","Math","round","W","fThurs","target","valueOf","dayNr","setDate","setMonth","ceil","F","m","M","L","Y","y","toString","substr","getHours","A","B","beats","hours","getUTCHours","abs","getUTCMinutes","getUTCSeconds","toFixed","concat","slice","g","h","G","H","getMinutes","getSeconds","O","tz","Z","c","toISOString","toUTCString","U","dateFormatter","iterateFilter","self","out","isArray","map","value","key","addslashes","undefined","replace","capitalize","charAt","toUpperCase","toLowerCase","format","cur","hasOwnProperty","def","escape","type","code","inp","charCodeAt","first","keys","groupBy","keyname","newValue","extend","push","join","glue","json","indent","JSON","stringify","json_encode","last","lower","raw","safe","search","replacement","flags","RegExp","reverse","sort","split","striptags","title","str","uniq","result","v","indexOf","upper","url_encode","encodeURIComponent","url_decode","decodeURIComponent","TYPES","WHITESPACE","STRING","FILTER","FILTEREMPTY","FUNCTION","FUNCTIONEMPTY","PARENOPEN","PARENCLOSE","COMMA","VAR","NUMBER","OPERATOR","BRACKETOPEN","BRACKETCLOSE","DOTKEY","ARRAYOPEN","CURLYOPEN","CURLYCLOSE","COLON","COMPARATOR","LOGIC","NOT","BOOL","ASSIGNMENT","METHODOPEN","UNKNOWN","rules","regex","idx","and","or","gte","gt","lte","lt","not","reader","matched","some","rule","normalized","match","types","read","tokens","substring","process","fs","path","basepath","encoding","ret","normalize","resolve","to","from","dirname","cwd","load","identifier","cb","readFile","readFileSync","__browserify_process","memory","mapping","pathname","src","paths","throwError","lexer","_t","_reserved","_dangerousProps","escapeRegExp","TokenParser","filters","autoescape","line","filename","state","filterApplyIdx","_parsers","parse","start","token","prevToken","isLast","parseToken","end","String","on","fn","temp","prevTokenType","lastState","pop","splice","checkMatch","parseVar","segment","checkDot","ctx","build","buildDot","source","opts","tags","stripNext","tagOpen","tagControls","tagClose","varOpen","varControls","varClose","escapedTagOpen","escapedTagClose","escapedVarOpen","escapedVarClose","tagStrip","tagStripBefore","tagStripAfter","varStrip","varStripBefore","varStripAfter","cmtOpen","cmtControls","cmtClose","anyChar","splitter","stack","parent","blocks","inRaw","parseVariable","parser","strip","compile","stripPrevToken","chunk","lines","stripPrev","prevChildToken","startsWith","endsWith","test","chunks","tagName","tag","args","ends","shift","block","content","parseTag","template","parents","options","blockName","_tags","_filters","dateformatter","loaders","version","defaultInstance","defaultOptions","locals","cache","loader","efn","validateOptions","get","set","setDefaults","setDefaultTZOffset","Swig","extensions","getLocals","shouldCache","cacheGet","cacheSet","val","remapBlocks","importNonBlocks","unshift","invalidateCache","setFilter","method","setTag","blockLevel","setExtension","object","k","parseFile","resolveFrom","precompile","tpl","parentFile","parentName","parentFiles","getParents","Function","render","renderFile","pathName","compileFile","err","err2","context","contextLength","pre","cached","compiled","lcls","run","filepath","strings","compiler","ifparser","filter","check","ctxloop","ctxloopcache","random","firstVar","ready","allMacros","arg","replacements","ex","re","parseOpts","compileOpts","macroName","ignore","missing","only","file","onlyIdx","onlyCtx","elseif","elif","include","macro","spaceless","fnName","propertyName","nameSet","segments","prefix","suffix","obj","Array","Object","index","objs","message","notObject","keysShim","TypeError","xs","x","res","forEach","reduce","array","callback","opt_initialValue","isValueSet","trim","bind","create","properties","__proto__","Type","defineProperties","getOwnPropertyNames","ERROR_PROPERTY_FILTER","valueObject","getOwnPropertyDescriptor","util","shims","normalizeArray","parts","allowAboveRoot","up","splitPathRe","splitPath","exec","resolvedPath","resolvedAbsolute","isString","p","isAbsolute","trailingSlash","relative","arr","fromParts","toParts","min","samePartsLength","outputParts","sep","delimiter","root","dir","basename","ext","extname","_shims","formatRegExp","inspect","seen","stylize","stylizeNoColor","depth","colors","isBoolean","showHidden","_extend","isUndefined","customInspect","stylizeWithColor","formatValue","styleType","style","styles","recurseTimes","isFunction","constructor","primitive","simple","isNumber","isNull","formatPrimitive","visibleKeys","hash","arrayToHash","isRegExp","isDate","isError","formatError","output","base","braces","formatProperty","formatArray","prev","numLinesEst","reduceToSingleString","desc","ar","isObject","objectToString","pad","objects","len","Number","_","bold","italic","underline","inverse","white","grey","black","blue","cyan","green","magenta","red","yellow","special","number","boolean","null","string","regexp","isNullOrUndefined","isSymbol","isPrimitive","isBuffer","copy","fill","binarySlice","months","prop","log","time","console","inherits","ctor","superCtor","super_","enumerable","writable","configurable","origin","add","nextTick","canSetImmediate","setImmediate","canPost","postMessage","addEventListener","queue","ev","data","stopPropagation","setTimeout","browser","env","argv","binding","chdir"],"sources":["dist/swig.js"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["e","t","n","r","s","o","u","a","require","i","Error","f","exports","call","length","module","swig","window","define","amd","utils","_months","full","abbr","_days","alt","tzOffset","DateZ","members","d","this","date","dateZ","arguments","Date","UTC","apply","getTimezoneOffset","timezoneOffset","each","name","setTimezoneOffset","prototype","offset","getTime","input","getDate","D","getDay","j","l","N","S","w","z","year","getFullYear","getMonth","Math","round","W","fThurs","target","valueOf","dayNr","setDate","setMonth","ceil","F","m","M","L","Y","y","toString","substr","getHours","A","B","beats","hours","getUTCHours","abs","getUTCMinutes","getUTCSeconds","toFixed","concat","slice","g","h","G","H","getMinutes","getSeconds","O","tz","Z","c","toISOString","toUTCString","U","dateFormatter","iterateFilter","self","out","isArray","map","value","key","addslashes","undefined","replace","capitalize","charAt","toUpperCase","toLowerCase","format","cur","hasOwnProperty","def","escape","type","code","inp","charCodeAt","first","keys","groupBy","keyname","newValue","extend","push","join","glue","json","indent","JSON","stringify","json_encode","last","lower","raw","safe","search","replacement","flags","RegExp","reverse","sort","split","striptags","title","str","uniq","result","v","indexOf","upper","url_encode","encodeURIComponent","url_decode","decodeURIComponent","TYPES","WHITESPACE","STRING","FILTER","FILTEREMPTY","FUNCTION","FUNCTIONEMPTY","PARENOPEN","PARENCLOSE","COMMA","VAR","NUMBER","OPERATOR","BRACKETOPEN","BRACKETCLOSE","DOTKEY","ARRAYOPEN","CURLYOPEN","CURLYCLOSE","COLON","COMPARATOR","LOGIC","NOT","BOOL","ASSIGNMENT","METHODOPEN","UNKNOWN","rules","regex","idx","and","or","gte","gt","lte","lt","not","reader","matched","some","rule","normalized","match","types","read","tokens","substring","process","fs","path","basepath","encoding","ret","normalize","resolve","to","from","dirname","cwd","load","identifier","cb","readFile","readFileSync","__browserify_process","memory","mapping","pathname","src","paths","throwError","lexer","_t","_reserved","_dangerousProps","escapeRegExp","TokenParser","filters","autoescape","line","filename","state","filterApplyIdx","_parsers","parse","start","token","prevToken","isLast","parseToken","end","String","on","fn","temp","prevTokenType","lastState","pop","strippedMatch","splice","checkMatch","parseVar","segment","checkDot","ctx","build","buildDot","source","opts","tags","stripNext","tagOpen","tagControls","tagClose","varOpen","varControls","varClose","escapedTagOpen","escapedTagClose","escapedVarOpen","escapedVarClose","tagStrip","tagStripBefore","tagStripAfter","varStrip","varStripBefore","varStripAfter","cmtOpen","cmtControls","cmtClose","anyChar","splitter","stack","parent","blocks","inRaw","parseVariable","parser","strip","compile","stripPrevToken","chunk","lines","stripPrev","prevChildToken","startsWith","endsWith","test","chunks","tagName","tag","args","ends","shift","block","content","parseTag","template","parents","options","blockName","_tags","_filters","dateformatter","loaders","version","defaultInstance","defaultOptions","locals","cache","loader","efn","validateOptions","get","set","setDefaults","setDefaultTZOffset","Swig","extensions","getLocals","shouldCache","cacheGet","cacheSet","val","remapBlocks","importNonBlocks","unshift","invalidateCache","setFilter","method","setTag","blockLevel","setExtension","object","k","parseFile","resolveFrom","precompile","tpl","parentFile","parentName","parentFiles","getParents","Function","render","renderFile","pathName","compileFile","err","err2","context","contextLength","pre","cached","compiled","lcls","run","filepath","strings","compiler","ifparser","filter","check","ctxloop","ctxloopcache","random","firstVar","ready","allMacros","arg","replacements","ex","re","parseOpts","compileOpts","macroName","ignore","missing","only","file","onlyIdx","onlyCtx","elseif","elif","include","macro","spaceless","fnName","propertyName","nameSet","segments","stripped","prefix","suffix","obj","Array","Object","index","objs","message","notObject","keysShim","TypeError","xs","x","res","forEach","reduce","array","callback","opt_initialValue","isValueSet","trim","bind","create","properties","__proto__","Type","defineProperties","getOwnPropertyNames","ERROR_PROPERTY_FILTER","valueObject","getOwnPropertyDescriptor","util","shims","normalizeArray","parts","allowAboveRoot","up","splitPathRe","splitPath","exec","resolvedPath","resolvedAbsolute","isString","p","isAbsolute","trailingSlash","relative","arr","fromParts","toParts","min","samePartsLength","outputParts","sep","delimiter","root","dir","basename","ext","extname","_shims","formatRegExp","inspect","seen","stylize","stylizeNoColor","depth","colors","isBoolean","showHidden","_extend","isUndefined","customInspect","stylizeWithColor","formatValue","styleType","style","styles","recurseTimes","isFunction","constructor","primitive","simple","isNumber","isNull","formatPrimitive","visibleKeys","hash","arrayToHash","isRegExp","isDate","isError","formatError","output","base","braces","formatProperty","formatArray","prev","numLinesEst","reduceToSingleString","desc","ar","isObject","objectToString","pad","objects","len","Number","_","bold","italic","underline","inverse","white","grey","black","blue","cyan","green","magenta","red","yellow","special","number","boolean","null","string","regexp","isNullOrUndefined","isSymbol","isPrimitive","isBuffer","copy","fill","binarySlice","months","prop","log","time","console","inherits","ctor","superCtor","super_","enumerable","writable","configurable","origin","add","nextTick","canSetImmediate","setImmediate","canPost","postMessage","addEventListener","queue","ev","data","stopPropagation","setTimeout","browser","env","argv","binding","chdir"],"sources":["dist/swig.js"],"mappings":"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","ignoreList":[]}
|
package/lib/loaders/index.js
CHANGED
package/lib/parser.js
CHANGED
|
@@ -180,6 +180,14 @@ TokenParser.prototype = {
|
|
|
180
180
|
break;
|
|
181
181
|
|
|
182
182
|
case _t.STRING:
|
|
183
|
+
// CVE-2023-25345: block prototype-chain traversal via bracket notation
|
|
184
|
+
// e.g. foo["__proto__"] or foo["constructor"]
|
|
185
|
+
if (lastState === _t.BRACKETOPEN) {
|
|
186
|
+
var strippedMatch = match.replace(/^['"]|['"]$/g, '');
|
|
187
|
+
if (_dangerousProps.indexOf(strippedMatch) !== -1) {
|
|
188
|
+
utils.throwError('Unsafe access to "' + strippedMatch + '" via bracket notation is not allowed in templates (CVE-2023-25345)', self.line, self.filename);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
183
191
|
self.filterApplyIdx.push(self.out.length);
|
|
184
192
|
self.out.push(match.replace(/\\/g, '\\\\'));
|
|
185
193
|
break;
|
package/lib/swig.js
CHANGED
|
@@ -8,11 +8,11 @@ var utils = require('./utils'),
|
|
|
8
8
|
/**
|
|
9
9
|
* Swig version number as a string.
|
|
10
10
|
* @example
|
|
11
|
-
* if (swig.version === "1.
|
|
11
|
+
* if (swig.version === "1.5.0") { ... }
|
|
12
12
|
*
|
|
13
13
|
* @type {String}
|
|
14
14
|
*/
|
|
15
|
-
exports.version = "1.
|
|
15
|
+
exports.version = "1.5.0";
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* Swig Options Object. This object can be passed to many of the API-level Swig methods to control various aspects of the engine. All keys are optional.
|
package/lib/tags/for.js
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
var ctx = '_ctx.',
|
|
2
2
|
ctxloop = ctx + 'loop';
|
|
3
3
|
|
|
4
|
+
// CVE-2023-25345: prototype-chain properties that must not be used as loop
|
|
5
|
+
// variable names. The for tag assigns loop variables to _ctx, so dangerous
|
|
6
|
+
// names would pollute the prototype chain.
|
|
7
|
+
var _dangerousProps = ['__proto__', 'constructor', 'prototype'];
|
|
8
|
+
|
|
4
9
|
/**
|
|
5
10
|
* Loop over objects and arrays.
|
|
6
11
|
*
|
|
@@ -100,6 +105,11 @@ exports.parse = function (str, line, parser, types) {
|
|
|
100
105
|
return true;
|
|
101
106
|
}
|
|
102
107
|
|
|
108
|
+
// CVE-2023-25345: block prototype-chain property names as loop variables
|
|
109
|
+
if (_dangerousProps.indexOf(token.match) !== -1) {
|
|
110
|
+
throw new Error('Unsafe loop variable "' + token.match + '" is not allowed (CVE-2023-25345) on line ' + line + '.');
|
|
111
|
+
}
|
|
112
|
+
|
|
103
113
|
if (!this.out.length) {
|
|
104
114
|
firstVar = true;
|
|
105
115
|
}
|
package/lib/tags/import.js
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
var utils = require('../utils');
|
|
2
2
|
|
|
3
|
+
// CVE-2023-25345: prototype-chain properties that must not be used as import
|
|
4
|
+
// aliases. The import tag assigns a namespace object to _ctx, so dangerous
|
|
5
|
+
// names would pollute the prototype chain.
|
|
6
|
+
var _dangerousProps = ['__proto__', 'constructor', 'prototype'];
|
|
7
|
+
|
|
3
8
|
/**
|
|
4
9
|
* Allows you to import macros from another file directly into your current context.
|
|
5
10
|
* The import tag is specifically designed for importing macros into your template with a specific context scope. This is very useful for keeping your macros from overriding template context that is being injected by your server-side page generation.
|
|
@@ -83,6 +88,11 @@ exports.parse = function (str, line, parser, types, stack, opts, swig) {
|
|
|
83
88
|
return;
|
|
84
89
|
}
|
|
85
90
|
|
|
91
|
+
// CVE-2023-25345: block prototype-chain property names as import aliases
|
|
92
|
+
if (_dangerousProps.indexOf(token.match) !== -1) {
|
|
93
|
+
throw new Error('Unsafe import alias "' + token.match + '" is not allowed (CVE-2023-25345) on line ' + line + '.');
|
|
94
|
+
}
|
|
95
|
+
|
|
86
96
|
ctx = token.match;
|
|
87
97
|
self.out.push(ctx);
|
|
88
98
|
return false;
|
package/lib/tags/macro.js
CHANGED
|
@@ -32,6 +32,11 @@ exports.compile = function (compiler, args, content, parents, options, blockName
|
|
|
32
32
|
'_ctx.' + fnName + '.safe = true;\n';
|
|
33
33
|
};
|
|
34
34
|
|
|
35
|
+
// CVE-2023-25345: prototype-chain properties that must not be used as macro
|
|
36
|
+
// names. The macro tag assigns the compiled function to _ctx, so dangerous
|
|
37
|
+
// names would pollute the prototype chain.
|
|
38
|
+
var _dangerousProps = ['__proto__', 'constructor', 'prototype'];
|
|
39
|
+
|
|
35
40
|
exports.parse = function (str, line, parser, types) {
|
|
36
41
|
var name;
|
|
37
42
|
|
|
@@ -44,6 +49,10 @@ exports.parse = function (str, line, parser, types) {
|
|
|
44
49
|
|
|
45
50
|
parser.on(types.FUNCTION, function (token) {
|
|
46
51
|
if (!name) {
|
|
52
|
+
// CVE-2023-25345: block prototype-chain property names as macro names
|
|
53
|
+
if (_dangerousProps.indexOf(token.match) !== -1) {
|
|
54
|
+
throw new Error('Unsafe macro name "' + token.match + '" is not allowed (CVE-2023-25345) on line ' + line + '.');
|
|
55
|
+
}
|
|
47
56
|
name = token.match;
|
|
48
57
|
this.out.push(name);
|
|
49
58
|
this.state.push(types.FUNCTION);
|
|
@@ -52,6 +61,10 @@ exports.parse = function (str, line, parser, types) {
|
|
|
52
61
|
|
|
53
62
|
parser.on(types.FUNCTIONEMPTY, function (token) {
|
|
54
63
|
if (!name) {
|
|
64
|
+
// CVE-2023-25345: block prototype-chain property names as macro names
|
|
65
|
+
if (_dangerousProps.indexOf(token.match) !== -1) {
|
|
66
|
+
throw new Error('Unsafe macro name "' + token.match + '" is not allowed (CVE-2023-25345) on line ' + line + '.');
|
|
67
|
+
}
|
|
55
68
|
name = token.match;
|
|
56
69
|
this.out.push(name);
|
|
57
70
|
}
|
package/lib/tags/set.js
CHANGED
|
@@ -77,6 +77,11 @@ exports.parse = function (str, line, parser, types) {
|
|
|
77
77
|
|
|
78
78
|
parser.on(types.STRING, function (token) {
|
|
79
79
|
if (propertyName && !this.out.length) {
|
|
80
|
+
// CVE-2023-25345: block prototype-chain property assignment via bracket notation
|
|
81
|
+
var stripped = token.match.replace(/^['"]|['"]$/g, '');
|
|
82
|
+
if (_dangerousProps.indexOf(stripped) !== -1) {
|
|
83
|
+
throw new Error('Unsafe assignment to "' + stripped + '" via bracket notation is not allowed (CVE-2023-25345) on line ' + line + '.');
|
|
84
|
+
}
|
|
80
85
|
propertyName += token.match;
|
|
81
86
|
return;
|
|
82
87
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rhinostone/swig",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "A simple, powerful, and extendable templating engine for node.js and browsers, similar to Django, Jinja2, and Twig.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"template",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
],
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"terser": "^5.46.1",
|
|
25
|
-
"yargs": "
|
|
25
|
+
"yargs": "^17.7.2"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"blanket": "~1.1",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"license": "MIT",
|
|
44
44
|
"main": "index",
|
|
45
45
|
"engines": {
|
|
46
|
-
"node": ">=
|
|
46
|
+
"node": ">=12"
|
|
47
47
|
},
|
|
48
48
|
"bin": {
|
|
49
49
|
"swig": "./bin/swig.js"
|
|
@@ -63,6 +63,7 @@
|
|
|
63
63
|
"publishConfig": {
|
|
64
64
|
"access": "public"
|
|
65
65
|
},
|
|
66
|
+
"homepage": "https://github.com/gina-io/swig#readme",
|
|
66
67
|
"bugs": {
|
|
67
68
|
"url": "https://github.com/gina-io/swig/issues"
|
|
68
69
|
}
|