56661 lines
4.3 MiB
56661 lines
4.3 MiB
/*! For license information please see h2.js.LICENSE.txt */
|
|
(() => {
|
|
var __webpack_modules__ = {
|
|
171: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
let AtRule, parse, Root, Rule, Comment = __webpack_require__(10861),
|
|
Declaration = __webpack_require__(20972),
|
|
Node = __webpack_require__(834),
|
|
{
|
|
isClean,
|
|
my
|
|
} = __webpack_require__(7189);
|
|
|
|
function cleanSource(nodes) {
|
|
return nodes.map(i => (i.nodes && (i.nodes = cleanSource(i.nodes)), delete i.source, i))
|
|
}
|
|
|
|
function markTreeDirty(node) {
|
|
if (node[isClean] = !1, node.proxyOf.nodes)
|
|
for (let i of node.proxyOf.nodes) markTreeDirty(i)
|
|
}
|
|
class Container extends Node {
|
|
get first() {
|
|
if (this.proxyOf.nodes) return this.proxyOf.nodes[0]
|
|
}
|
|
get last() {
|
|
if (this.proxyOf.nodes) return this.proxyOf.nodes[this.proxyOf.nodes.length - 1]
|
|
}
|
|
append(...children) {
|
|
for (let child of children) {
|
|
let nodes = this.normalize(child, this.last);
|
|
for (let node of nodes) this.proxyOf.nodes.push(node)
|
|
}
|
|
return this.markDirty(), this
|
|
}
|
|
cleanRaws(keepBetween) {
|
|
if (super.cleanRaws(keepBetween), this.nodes)
|
|
for (let node of this.nodes) node.cleanRaws(keepBetween)
|
|
}
|
|
each(callback) {
|
|
if (!this.proxyOf.nodes) return;
|
|
let index, result, iterator = this.getIterator();
|
|
for (; this.indexes[iterator] < this.proxyOf.nodes.length && (index = this.indexes[iterator], result = callback(this.proxyOf.nodes[index], index), !1 !== result);) this.indexes[iterator] += 1;
|
|
return delete this.indexes[iterator], result
|
|
}
|
|
every(condition) {
|
|
return this.nodes.every(condition)
|
|
}
|
|
getIterator() {
|
|
this.lastEach || (this.lastEach = 0), this.indexes || (this.indexes = {}), this.lastEach += 1;
|
|
let iterator = this.lastEach;
|
|
return this.indexes[iterator] = 0, iterator
|
|
}
|
|
getProxyProcessor() {
|
|
return {
|
|
get: (node, prop) => "proxyOf" === prop ? node : node[prop] ? "each" === prop || "string" == typeof prop && prop.startsWith("walk") ? (...args) => node[prop](...args.map(i => "function" == typeof i ? (child, index) => i(child.toProxy(), index) : i)) : "every" === prop || "some" === prop ? cb => node[prop]((child, ...other) => cb(child.toProxy(), ...other)) : "root" === prop ? () => node.root().toProxy() : "nodes" === prop ? node.nodes.map(i => i.toProxy()) : "first" === prop || "last" === prop ? node[prop].toProxy() : node[prop] : node[prop],
|
|
set: (node, prop, value) => (node[prop] === value || (node[prop] = value, "name" !== prop && "params" !== prop && "selector" !== prop || node.markDirty()), !0)
|
|
}
|
|
}
|
|
index(child) {
|
|
return "number" == typeof child ? child : (child.proxyOf && (child = child.proxyOf), this.proxyOf.nodes.indexOf(child))
|
|
}
|
|
insertAfter(exist, add) {
|
|
let index, existIndex = this.index(exist),
|
|
nodes = this.normalize(add, this.proxyOf.nodes[existIndex]).reverse();
|
|
existIndex = this.index(exist);
|
|
for (let node of nodes) this.proxyOf.nodes.splice(existIndex + 1, 0, node);
|
|
for (let id in this.indexes) index = this.indexes[id], existIndex < index && (this.indexes[id] = index + nodes.length);
|
|
return this.markDirty(), this
|
|
}
|
|
insertBefore(exist, add) {
|
|
let index, existIndex = this.index(exist),
|
|
type = 0 === existIndex && "prepend",
|
|
nodes = this.normalize(add, this.proxyOf.nodes[existIndex], type).reverse();
|
|
existIndex = this.index(exist);
|
|
for (let node of nodes) this.proxyOf.nodes.splice(existIndex, 0, node);
|
|
for (let id in this.indexes) index = this.indexes[id], existIndex <= index && (this.indexes[id] = index + nodes.length);
|
|
return this.markDirty(), this
|
|
}
|
|
normalize(nodes, sample) {
|
|
if ("string" == typeof nodes) nodes = cleanSource(parse(nodes).nodes);
|
|
else if (void 0 === nodes) nodes = [];
|
|
else if (Array.isArray(nodes)) {
|
|
nodes = nodes.slice(0);
|
|
for (let i of nodes) i.parent && i.parent.removeChild(i, "ignore")
|
|
} else if ("root" === nodes.type && "document" !== this.type) {
|
|
nodes = nodes.nodes.slice(0);
|
|
for (let i of nodes) i.parent && i.parent.removeChild(i, "ignore")
|
|
} else if (nodes.type) nodes = [nodes];
|
|
else if (nodes.prop) {
|
|
if (void 0 === nodes.value) throw new Error("Value field is missed in node creation");
|
|
"string" != typeof nodes.value && (nodes.value = String(nodes.value)), nodes = [new Declaration(nodes)]
|
|
} else if (nodes.selector || nodes.selectors) nodes = [new Rule(nodes)];
|
|
else if (nodes.name) nodes = [new AtRule(nodes)];
|
|
else {
|
|
if (!nodes.text) throw new Error("Unknown node type in node creation");
|
|
nodes = [new Comment(nodes)]
|
|
}
|
|
return nodes.map(i => (i[my] || Container.rebuild(i), (i = i.proxyOf).parent && i.parent.removeChild(i), i[isClean] && markTreeDirty(i), i.raws || (i.raws = {}), void 0 === i.raws.before && sample && void 0 !== sample.raws.before && (i.raws.before = sample.raws.before.replace(/\S/g, "")), i.parent = this.proxyOf, i))
|
|
}
|
|
prepend(...children) {
|
|
children = children.reverse();
|
|
for (let child of children) {
|
|
let nodes = this.normalize(child, this.first, "prepend").reverse();
|
|
for (let node of nodes) this.proxyOf.nodes.unshift(node);
|
|
for (let id in this.indexes) this.indexes[id] = this.indexes[id] + nodes.length
|
|
}
|
|
return this.markDirty(), this
|
|
}
|
|
push(child) {
|
|
return child.parent = this, this.proxyOf.nodes.push(child), this
|
|
}
|
|
removeAll() {
|
|
for (let node of this.proxyOf.nodes) node.parent = void 0;
|
|
return this.proxyOf.nodes = [], this.markDirty(), this
|
|
}
|
|
removeChild(child) {
|
|
let index;
|
|
child = this.index(child), this.proxyOf.nodes[child].parent = void 0, this.proxyOf.nodes.splice(child, 1);
|
|
for (let id in this.indexes) index = this.indexes[id], index >= child && (this.indexes[id] = index - 1);
|
|
return this.markDirty(), this
|
|
}
|
|
replaceValues(pattern, opts, callback) {
|
|
return callback || (callback = opts, opts = {}), this.walkDecls(decl => {
|
|
opts.props && !opts.props.includes(decl.prop) || opts.fast && !decl.value.includes(opts.fast) || (decl.value = decl.value.replace(pattern, callback))
|
|
}), this.markDirty(), this
|
|
}
|
|
some(condition) {
|
|
return this.nodes.some(condition)
|
|
}
|
|
walk(callback) {
|
|
return this.each((child, i) => {
|
|
let result;
|
|
try {
|
|
result = callback(child, i)
|
|
} catch (e) {
|
|
throw child.addToError(e)
|
|
}
|
|
return !1 !== result && child.walk && (result = child.walk(callback)), result
|
|
})
|
|
}
|
|
walkAtRules(name, callback) {
|
|
return callback ? name instanceof RegExp ? this.walk((child, i) => {
|
|
if ("atrule" === child.type && name.test(child.name)) return callback(child, i)
|
|
}) : this.walk((child, i) => {
|
|
if ("atrule" === child.type && child.name === name) return callback(child, i)
|
|
}) : (callback = name, this.walk((child, i) => {
|
|
if ("atrule" === child.type) return callback(child, i)
|
|
}))
|
|
}
|
|
walkComments(callback) {
|
|
return this.walk((child, i) => {
|
|
if ("comment" === child.type) return callback(child, i)
|
|
})
|
|
}
|
|
walkDecls(prop, callback) {
|
|
return callback ? prop instanceof RegExp ? this.walk((child, i) => {
|
|
if ("decl" === child.type && prop.test(child.prop)) return callback(child, i)
|
|
}) : this.walk((child, i) => {
|
|
if ("decl" === child.type && child.prop === prop) return callback(child, i)
|
|
}) : (callback = prop, this.walk((child, i) => {
|
|
if ("decl" === child.type) return callback(child, i)
|
|
}))
|
|
}
|
|
walkRules(selector, callback) {
|
|
return callback ? selector instanceof RegExp ? this.walk((child, i) => {
|
|
if ("rule" === child.type && selector.test(child.selector)) return callback(child, i)
|
|
}) : this.walk((child, i) => {
|
|
if ("rule" === child.type && child.selector === selector) return callback(child, i)
|
|
}) : (callback = selector, this.walk((child, i) => {
|
|
if ("rule" === child.type) return callback(child, i)
|
|
}))
|
|
}
|
|
}
|
|
Container.registerParse = dependant => {
|
|
parse = dependant
|
|
}, Container.registerRule = dependant => {
|
|
Rule = dependant
|
|
}, Container.registerAtRule = dependant => {
|
|
AtRule = dependant
|
|
}, Container.registerRoot = dependant => {
|
|
Root = dependant
|
|
}, module.exports = Container, Container.default = Container, Container.rebuild = node => {
|
|
"atrule" === node.type ? Object.setPrototypeOf(node, AtRule.prototype) : "rule" === node.type ? Object.setPrototypeOf(node, Rule.prototype) : "decl" === node.type ? Object.setPrototypeOf(node, Declaration.prototype) : "comment" === node.type ? Object.setPrototypeOf(node, Comment.prototype) : "root" === node.type && Object.setPrototypeOf(node, Root.prototype), node[my] = !0, node.nodes && node.nodes.forEach(child => {
|
|
Container.rebuild(child)
|
|
})
|
|
}
|
|
},
|
|
197: () => {},
|
|
262: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var process = __webpack_require__(74620);
|
|
/* @preserve
|
|
* The MIT License (MIT)
|
|
*
|
|
* Copyright (c) 2013-2018 Petka Antonov
|
|
*
|
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
* of this software and associated documentation files (the "Software"), to deal
|
|
* in the Software without restriction, including without limitation the rights
|
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
* copies of the Software, and to permit persons to whom the Software is
|
|
* furnished to do so, subject to the following conditions:
|
|
*
|
|
* The above copyright notice and this permission notice shall be included in
|
|
* all copies or substantial portions of the Software.
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
* THE SOFTWARE.
|
|
*
|
|
*/
|
|
module.exports = function e(t, n, r) {
|
|
function s(o, u) {
|
|
if (!n[o]) {
|
|
if (!t[o]) {
|
|
var a = "function" == typeof _dereq_ && _dereq_;
|
|
if (!u && a) return a(o, !0);
|
|
if (i) return i(o, !0);
|
|
var f = new Error("Cannot find module '" + o + "'");
|
|
throw f.code = "MODULE_NOT_FOUND", f
|
|
}
|
|
var l = n[o] = {
|
|
exports: {}
|
|
};
|
|
t[o][0].call(l.exports, function(e) {
|
|
var n = t[o][1][e];
|
|
return s(n || e)
|
|
}, l, l.exports, e, t, n, r)
|
|
}
|
|
return n[o].exports
|
|
}
|
|
for (var i = "function" == typeof _dereq_ && _dereq_, o = 0; o < r.length; o++) s(r[o]);
|
|
return s
|
|
}({
|
|
1: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
module.exports = function(Promise) {
|
|
var SomePromiseArray = Promise._SomePromiseArray;
|
|
|
|
function any(promises) {
|
|
var ret = new SomePromiseArray(promises),
|
|
promise = ret.promise();
|
|
return ret.setHowMany(1), ret.setUnwrap(), ret.init(), promise
|
|
}
|
|
Promise.any = function(promises) {
|
|
return any(promises)
|
|
}, Promise.prototype.any = function() {
|
|
return any(this)
|
|
}
|
|
}
|
|
}, {}],
|
|
2: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
var firstLineError;
|
|
try {
|
|
throw new Error
|
|
} catch (e) {
|
|
firstLineError = e
|
|
}
|
|
var schedule = _dereq_("./schedule"),
|
|
Queue = _dereq_("./queue");
|
|
|
|
function Async() {
|
|
this._customScheduler = !1, this._isTickUsed = !1, this._lateQueue = new Queue(16), this._normalQueue = new Queue(16), this._haveDrainedQueues = !1;
|
|
var self = this;
|
|
this.drainQueues = function() {
|
|
self._drainQueues()
|
|
}, this._schedule = schedule
|
|
}
|
|
|
|
function AsyncInvokeLater(fn, receiver, arg) {
|
|
this._lateQueue.push(fn, receiver, arg), this._queueTick()
|
|
}
|
|
|
|
function AsyncInvoke(fn, receiver, arg) {
|
|
this._normalQueue.push(fn, receiver, arg), this._queueTick()
|
|
}
|
|
|
|
function AsyncSettlePromises(promise) {
|
|
this._normalQueue._pushOne(promise), this._queueTick()
|
|
}
|
|
|
|
function _drainQueue(queue) {
|
|
for (; queue.length() > 0;) _drainQueueStep(queue)
|
|
}
|
|
|
|
function _drainQueueStep(queue) {
|
|
var fn = queue.shift();
|
|
if ("function" != typeof fn) fn._settlePromises();
|
|
else {
|
|
var receiver = queue.shift(),
|
|
arg = queue.shift();
|
|
fn.call(receiver, arg)
|
|
}
|
|
}
|
|
Async.prototype.setScheduler = function(fn) {
|
|
var prev = this._schedule;
|
|
return this._schedule = fn, this._customScheduler = !0, prev
|
|
}, Async.prototype.hasCustomScheduler = function() {
|
|
return this._customScheduler
|
|
}, Async.prototype.haveItemsQueued = function() {
|
|
return this._isTickUsed || this._haveDrainedQueues
|
|
}, Async.prototype.fatalError = function(e, isNode) {
|
|
isNode ? (process.stderr.write("Fatal " + (e instanceof Error ? e.stack : e) + "\n"), process.exit(2)) : this.throwLater(e)
|
|
}, Async.prototype.throwLater = function(fn, arg) {
|
|
if (1 === arguments.length && (arg = fn, fn = function() {
|
|
throw arg
|
|
}), "undefined" != typeof setTimeout) setTimeout(function() {
|
|
fn(arg)
|
|
}, 0);
|
|
else try {
|
|
this._schedule(function() {
|
|
fn(arg)
|
|
})
|
|
} catch (e) {
|
|
throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")
|
|
}
|
|
}, Async.prototype.invokeLater = AsyncInvokeLater, Async.prototype.invoke = AsyncInvoke, Async.prototype.settlePromises = AsyncSettlePromises, Async.prototype._drainQueues = function() {
|
|
_drainQueue(this._normalQueue), this._reset(), this._haveDrainedQueues = !0, _drainQueue(this._lateQueue)
|
|
}, Async.prototype._queueTick = function() {
|
|
this._isTickUsed || (this._isTickUsed = !0, this._schedule(this.drainQueues))
|
|
}, Async.prototype._reset = function() {
|
|
this._isTickUsed = !1
|
|
}, module.exports = Async, module.exports.firstLineError = firstLineError
|
|
}, {
|
|
"./queue": 26,
|
|
"./schedule": 29
|
|
}],
|
|
3: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
module.exports = function(Promise, INTERNAL, tryConvertToPromise, debug) {
|
|
var calledBind = !1,
|
|
rejectThis = function(_, e) {
|
|
this._reject(e)
|
|
},
|
|
targetRejected = function(e, context) {
|
|
context.promiseRejectionQueued = !0, context.bindingPromise._then(rejectThis, rejectThis, null, this, e)
|
|
},
|
|
bindingResolved = function(thisArg, context) {
|
|
50397184 & this._bitField || this._resolveCallback(context.target)
|
|
},
|
|
bindingRejected = function(e, context) {
|
|
context.promiseRejectionQueued || this._reject(e)
|
|
};
|
|
Promise.prototype.bind = function(thisArg) {
|
|
calledBind || (calledBind = !0, Promise.prototype._propagateFrom = debug.propagateFromFunction(), Promise.prototype._boundValue = debug.boundValueFunction());
|
|
var maybePromise = tryConvertToPromise(thisArg),
|
|
ret = new Promise(INTERNAL);
|
|
ret._propagateFrom(this, 1);
|
|
var target = this._target();
|
|
if (ret._setBoundTo(maybePromise), maybePromise instanceof Promise) {
|
|
var context = {
|
|
promiseRejectionQueued: !1,
|
|
promise: ret,
|
|
target,
|
|
bindingPromise: maybePromise
|
|
};
|
|
target._then(INTERNAL, targetRejected, void 0, ret, context), maybePromise._then(bindingResolved, bindingRejected, void 0, ret, context), ret._setOnCancel(maybePromise)
|
|
} else ret._resolveCallback(target);
|
|
return ret
|
|
}, Promise.prototype._setBoundTo = function(obj) {
|
|
void 0 !== obj ? (this._bitField = 2097152 | this._bitField, this._boundTo = obj) : this._bitField = -2097153 & this._bitField
|
|
}, Promise.prototype._isBound = function() {
|
|
return !(2097152 & ~this._bitField)
|
|
}, Promise.bind = function(thisArg, value) {
|
|
return Promise.resolve(value).bind(thisArg)
|
|
}
|
|
}
|
|
}, {}],
|
|
4: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
var old;
|
|
|
|
function noConflict() {
|
|
try {
|
|
Promise === bluebird && (Promise = old)
|
|
} catch (e) {}
|
|
return bluebird
|
|
}
|
|
"undefined" != typeof Promise && (old = Promise);
|
|
var bluebird = _dereq_("./promise")();
|
|
bluebird.noConflict = noConflict, module.exports = bluebird
|
|
}, {
|
|
"./promise": 22
|
|
}],
|
|
5: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
var cr = Object.create;
|
|
if (cr) {
|
|
var callerCache = cr(null),
|
|
getterCache = cr(null);
|
|
callerCache[" size"] = getterCache[" size"] = 0
|
|
}
|
|
module.exports = function(Promise) {
|
|
var getGetter, util = _dereq_("./util"),
|
|
canEvaluate = util.canEvaluate;
|
|
|
|
function ensureMethod(obj, methodName) {
|
|
var fn;
|
|
if (null != obj && (fn = obj[methodName]), "function" != typeof fn) {
|
|
var message = "Object " + util.classString(obj) + " has no method '" + util.toString(methodName) + "'";
|
|
throw new Promise.TypeError(message)
|
|
}
|
|
return fn
|
|
}
|
|
|
|
function caller(obj) {
|
|
return ensureMethod(obj, this.pop()).apply(obj, this)
|
|
}
|
|
|
|
function namedGetter(obj) {
|
|
return obj[this]
|
|
}
|
|
|
|
function indexedGetter(obj) {
|
|
var index = +this;
|
|
return index < 0 && (index = Math.max(0, index + obj.length)), obj[index]
|
|
}
|
|
util.isIdentifier, Promise.prototype.call = function(methodName) {
|
|
var args = [].slice.call(arguments, 1);
|
|
return args.push(methodName), this._then(caller, void 0, void 0, args, void 0)
|
|
}, Promise.prototype.get = function(propertyName) {
|
|
var getter;
|
|
if ("number" == typeof propertyName) getter = indexedGetter;
|
|
else if (canEvaluate) {
|
|
var maybeGetter = getGetter(propertyName);
|
|
getter = null !== maybeGetter ? maybeGetter : namedGetter
|
|
} else getter = namedGetter;
|
|
return this._then(getter, void 0, void 0, propertyName, void 0)
|
|
}
|
|
}
|
|
}, {
|
|
"./util": 36
|
|
}],
|
|
6: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
module.exports = function(Promise, PromiseArray, apiRejection, debug) {
|
|
var util = _dereq_("./util"),
|
|
tryCatch = util.tryCatch,
|
|
errorObj = util.errorObj,
|
|
async = Promise._async;
|
|
Promise.prototype.break = Promise.prototype.cancel = function() {
|
|
if (!debug.cancellation()) return this._warn("cancellation is disabled");
|
|
for (var promise = this, child = promise; promise._isCancellable();) {
|
|
if (!promise._cancelBy(child)) {
|
|
child._isFollowing() ? child._followee().cancel() : child._cancelBranched();
|
|
break
|
|
}
|
|
var parent = promise._cancellationParent;
|
|
if (null == parent || !parent._isCancellable()) {
|
|
promise._isFollowing() ? promise._followee().cancel() : promise._cancelBranched();
|
|
break
|
|
}
|
|
promise._isFollowing() && promise._followee().cancel(), promise._setWillBeCancelled(), child = promise, promise = parent
|
|
}
|
|
}, Promise.prototype._branchHasCancelled = function() {
|
|
this._branchesRemainingToCancel--
|
|
}, Promise.prototype._enoughBranchesHaveCancelled = function() {
|
|
return void 0 === this._branchesRemainingToCancel || this._branchesRemainingToCancel <= 0
|
|
}, Promise.prototype._cancelBy = function(canceller) {
|
|
return canceller === this ? (this._branchesRemainingToCancel = 0, this._invokeOnCancel(), !0) : (this._branchHasCancelled(), !!this._enoughBranchesHaveCancelled() && (this._invokeOnCancel(), !0))
|
|
}, Promise.prototype._cancelBranched = function() {
|
|
this._enoughBranchesHaveCancelled() && this._cancel()
|
|
}, Promise.prototype._cancel = function() {
|
|
this._isCancellable() && (this._setCancelled(), async.invoke(this._cancelPromises, this, void 0))
|
|
}, Promise.prototype._cancelPromises = function() {
|
|
this._length() > 0 && this._settlePromises()
|
|
}, Promise.prototype._unsetOnCancel = function() {
|
|
this._onCancelField = void 0
|
|
}, Promise.prototype._isCancellable = function() {
|
|
return this.isPending() && !this._isCancelled()
|
|
}, Promise.prototype.isCancellable = function() {
|
|
return this.isPending() && !this.isCancelled()
|
|
}, Promise.prototype._doInvokeOnCancel = function(onCancelCallback, internalOnly) {
|
|
if (util.isArray(onCancelCallback))
|
|
for (var i = 0; i < onCancelCallback.length; ++i) this._doInvokeOnCancel(onCancelCallback[i], internalOnly);
|
|
else if (void 0 !== onCancelCallback)
|
|
if ("function" == typeof onCancelCallback) {
|
|
if (!internalOnly) {
|
|
var e = tryCatch(onCancelCallback).call(this._boundValue());
|
|
e === errorObj && (this._attachExtraTrace(e.e), async.throwLater(e.e))
|
|
}
|
|
} else onCancelCallback._resultCancelled(this)
|
|
}, Promise.prototype._invokeOnCancel = function() {
|
|
var onCancelCallback = this._onCancel();
|
|
this._unsetOnCancel(), async.invoke(this._doInvokeOnCancel, this, onCancelCallback)
|
|
}, Promise.prototype._invokeInternalOnCancel = function() {
|
|
this._isCancellable() && (this._doInvokeOnCancel(this._onCancel(), !0), this._unsetOnCancel())
|
|
}, Promise.prototype._resultCancelled = function() {
|
|
this.cancel()
|
|
}
|
|
}
|
|
}, {
|
|
"./util": 36
|
|
}],
|
|
7: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
module.exports = function(NEXT_FILTER) {
|
|
var util = _dereq_("./util"),
|
|
getKeys = _dereq_("./es5").keys,
|
|
tryCatch = util.tryCatch,
|
|
errorObj = util.errorObj;
|
|
|
|
function catchFilter(instances, cb, promise) {
|
|
return function(e) {
|
|
var boundTo = promise._boundValue();
|
|
predicateLoop: for (var i = 0; i < instances.length; ++i) {
|
|
var item = instances[i];
|
|
if (item === Error || null != item && item.prototype instanceof Error) {
|
|
if (e instanceof item) return tryCatch(cb).call(boundTo, e)
|
|
} else if ("function" == typeof item) {
|
|
var matchesPredicate = tryCatch(item).call(boundTo, e);
|
|
if (matchesPredicate === errorObj) return matchesPredicate;
|
|
if (matchesPredicate) return tryCatch(cb).call(boundTo, e)
|
|
} else if (util.isObject(e)) {
|
|
for (var keys = getKeys(item), j = 0; j < keys.length; ++j) {
|
|
var key = keys[j];
|
|
if (item[key] != e[key]) continue predicateLoop
|
|
}
|
|
return tryCatch(cb).call(boundTo, e)
|
|
}
|
|
}
|
|
return NEXT_FILTER
|
|
}
|
|
}
|
|
return catchFilter
|
|
}
|
|
}, {
|
|
"./es5": 13,
|
|
"./util": 36
|
|
}],
|
|
8: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
module.exports = function(Promise) {
|
|
var longStackTraces = !1,
|
|
contextStack = [];
|
|
|
|
function Context() {
|
|
this._trace = new Context.CapturedTrace(peekContext())
|
|
}
|
|
|
|
function createContext() {
|
|
if (longStackTraces) return new Context
|
|
}
|
|
|
|
function peekContext() {
|
|
var lastIndex = contextStack.length - 1;
|
|
if (lastIndex >= 0) return contextStack[lastIndex]
|
|
}
|
|
return Promise.prototype._promiseCreated = function() {}, Promise.prototype._pushContext = function() {}, Promise.prototype._popContext = function() {
|
|
return null
|
|
}, Promise._peekContext = Promise.prototype._peekContext = function() {}, Context.prototype._pushContext = function() {
|
|
void 0 !== this._trace && (this._trace._promiseCreated = null, contextStack.push(this._trace))
|
|
}, Context.prototype._popContext = function() {
|
|
if (void 0 !== this._trace) {
|
|
var trace = contextStack.pop(),
|
|
ret = trace._promiseCreated;
|
|
return trace._promiseCreated = null, ret
|
|
}
|
|
return null
|
|
}, Context.CapturedTrace = null, Context.create = createContext, Context.deactivateLongStackTraces = function() {}, Context.activateLongStackTraces = function() {
|
|
var Promise_pushContext = Promise.prototype._pushContext,
|
|
Promise_popContext = Promise.prototype._popContext,
|
|
Promise_PeekContext = Promise._peekContext,
|
|
Promise_peekContext = Promise.prototype._peekContext,
|
|
Promise_promiseCreated = Promise.prototype._promiseCreated;
|
|
Context.deactivateLongStackTraces = function() {
|
|
Promise.prototype._pushContext = Promise_pushContext, Promise.prototype._popContext = Promise_popContext, Promise._peekContext = Promise_PeekContext, Promise.prototype._peekContext = Promise_peekContext, Promise.prototype._promiseCreated = Promise_promiseCreated, longStackTraces = !1
|
|
}, longStackTraces = !0, Promise.prototype._pushContext = Context.prototype._pushContext, Promise.prototype._popContext = Context.prototype._popContext, Promise._peekContext = Promise.prototype._peekContext = peekContext, Promise.prototype._promiseCreated = function() {
|
|
var ctx = this._peekContext();
|
|
ctx && null == ctx._promiseCreated && (ctx._promiseCreated = this)
|
|
}
|
|
}, Context
|
|
}
|
|
}, {}],
|
|
9: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
module.exports = function(Promise, Context, enableAsyncHooks, disableAsyncHooks) {
|
|
var unhandledRejectionHandled, possiblyUnhandledRejection, printWarning, deferUnhandledRejectionCheck, async = Promise._async, Warning = _dereq_("./errors").Warning, util = _dereq_("./util"), es5 = _dereq_("./es5"), canAttachTrace = util.canAttachTrace, bluebirdFramePattern = /[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/, nodeFramePattern = /\((?:timers\.js):\d+:\d+\)/, parseLinePattern = /[\/<\(](.+?):(\d+):(\d+)\)?\s*$/, stackFramePattern = null, formatStack = null, indentStackFrames = !1, debugging = !(0 == util.env("BLUEBIRD_DEBUG")), warnings = !(0 == util.env("BLUEBIRD_WARNINGS") || !debugging && !util.env("BLUEBIRD_WARNINGS")), longStackTraces = !(0 == util.env("BLUEBIRD_LONG_STACK_TRACES") || !debugging && !util.env("BLUEBIRD_LONG_STACK_TRACES")), wForgottenReturn = 0 != util.env("BLUEBIRD_W_FORGOTTEN_RETURN") && (warnings || !!util.env("BLUEBIRD_W_FORGOTTEN_RETURN"));
|
|
! function() {
|
|
var promises = [];
|
|
|
|
function unhandledRejectionCheck() {
|
|
for (var i = 0; i < promises.length; ++i) promises[i]._notifyUnhandledRejection();
|
|
unhandledRejectionClear()
|
|
}
|
|
|
|
function unhandledRejectionClear() {
|
|
promises.length = 0
|
|
}
|
|
deferUnhandledRejectionCheck = function(promise) {
|
|
promises.push(promise), setTimeout(unhandledRejectionCheck, 1)
|
|
}, es5.defineProperty(Promise, "_unhandledRejectionCheck", {
|
|
value: unhandledRejectionCheck
|
|
}), es5.defineProperty(Promise, "_unhandledRejectionClear", {
|
|
value: unhandledRejectionClear
|
|
})
|
|
}(), Promise.prototype.suppressUnhandledRejections = function() {
|
|
var target = this._target();
|
|
target._bitField = -1048577 & target._bitField | 524288
|
|
}, Promise.prototype._ensurePossibleRejectionHandled = function() {
|
|
524288 & this._bitField || (this._setRejectionIsUnhandled(), deferUnhandledRejectionCheck(this))
|
|
}, Promise.prototype._notifyUnhandledRejectionIsHandled = function() {
|
|
fireRejectionEvent("rejectionHandled", unhandledRejectionHandled, void 0, this)
|
|
}, Promise.prototype._setReturnedNonUndefined = function() {
|
|
this._bitField = 268435456 | this._bitField
|
|
}, Promise.prototype._returnedNonUndefined = function() {
|
|
return !!(268435456 & this._bitField)
|
|
}, Promise.prototype._notifyUnhandledRejection = function() {
|
|
if (this._isRejectionUnhandled()) {
|
|
var reason = this._settledValue();
|
|
this._setUnhandledRejectionIsNotified(), fireRejectionEvent("unhandledRejection", possiblyUnhandledRejection, reason, this)
|
|
}
|
|
}, Promise.prototype._setUnhandledRejectionIsNotified = function() {
|
|
this._bitField = 262144 | this._bitField
|
|
}, Promise.prototype._unsetUnhandledRejectionIsNotified = function() {
|
|
this._bitField = -262145 & this._bitField
|
|
}, Promise.prototype._isUnhandledRejectionNotified = function() {
|
|
return (262144 & this._bitField) > 0
|
|
}, Promise.prototype._setRejectionIsUnhandled = function() {
|
|
this._bitField = 1048576 | this._bitField
|
|
}, Promise.prototype._unsetRejectionIsUnhandled = function() {
|
|
this._bitField = -1048577 & this._bitField, this._isUnhandledRejectionNotified() && (this._unsetUnhandledRejectionIsNotified(), this._notifyUnhandledRejectionIsHandled())
|
|
}, Promise.prototype._isRejectionUnhandled = function() {
|
|
return (1048576 & this._bitField) > 0
|
|
}, Promise.prototype._warn = function(message, shouldUseOwnTrace, promise) {
|
|
return warn(message, shouldUseOwnTrace, promise || this)
|
|
}, Promise.onPossiblyUnhandledRejection = function(fn) {
|
|
var context = Promise._getContext();
|
|
possiblyUnhandledRejection = util.contextBind(context, fn)
|
|
}, Promise.onUnhandledRejectionHandled = function(fn) {
|
|
var context = Promise._getContext();
|
|
unhandledRejectionHandled = util.contextBind(context, fn)
|
|
};
|
|
var disableLongStackTraces = function() {};
|
|
Promise.longStackTraces = function() {
|
|
if (async.haveItemsQueued() && !config.longStackTraces) throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");
|
|
if (!config.longStackTraces && longStackTracesIsSupported()) {
|
|
var Promise_captureStackTrace = Promise.prototype._captureStackTrace,
|
|
Promise_attachExtraTrace = Promise.prototype._attachExtraTrace,
|
|
Promise_dereferenceTrace = Promise.prototype._dereferenceTrace;
|
|
config.longStackTraces = !0, disableLongStackTraces = function() {
|
|
if (async.haveItemsQueued() && !config.longStackTraces) throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");
|
|
Promise.prototype._captureStackTrace = Promise_captureStackTrace, Promise.prototype._attachExtraTrace = Promise_attachExtraTrace, Promise.prototype._dereferenceTrace = Promise_dereferenceTrace, Context.deactivateLongStackTraces(), config.longStackTraces = !1
|
|
}, Promise.prototype._captureStackTrace = longStackTracesCaptureStackTrace, Promise.prototype._attachExtraTrace = longStackTracesAttachExtraTrace, Promise.prototype._dereferenceTrace = longStackTracesDereferenceTrace, Context.activateLongStackTraces()
|
|
}
|
|
}, Promise.hasLongStackTraces = function() {
|
|
return config.longStackTraces && longStackTracesIsSupported()
|
|
};
|
|
var legacyHandlers = {
|
|
unhandledrejection: {
|
|
before: function() {
|
|
var ret = util.global.onunhandledrejection;
|
|
return util.global.onunhandledrejection = null, ret
|
|
},
|
|
after: function(fn) {
|
|
util.global.onunhandledrejection = fn
|
|
}
|
|
},
|
|
rejectionhandled: {
|
|
before: function() {
|
|
var ret = util.global.onrejectionhandled;
|
|
return util.global.onrejectionhandled = null, ret
|
|
},
|
|
after: function(fn) {
|
|
util.global.onrejectionhandled = fn
|
|
}
|
|
}
|
|
},
|
|
fireDomEvent = function() {
|
|
var dispatch = function(legacy, e) {
|
|
if (!legacy) return !util.global.dispatchEvent(e);
|
|
var fn;
|
|
try {
|
|
return fn = legacy.before(), !util.global.dispatchEvent(e)
|
|
} finally {
|
|
legacy.after(fn)
|
|
}
|
|
};
|
|
try {
|
|
if ("function" == typeof CustomEvent) {
|
|
var event = new CustomEvent("CustomEvent");
|
|
return util.global.dispatchEvent(event),
|
|
function(name, event) {
|
|
name = name.toLowerCase();
|
|
var domEvent = new CustomEvent(name, {
|
|
detail: event,
|
|
cancelable: !0
|
|
});
|
|
return es5.defineProperty(domEvent, "promise", {
|
|
value: event.promise
|
|
}), es5.defineProperty(domEvent, "reason", {
|
|
value: event.reason
|
|
}), dispatch(legacyHandlers[name], domEvent)
|
|
}
|
|
}
|
|
return "function" == typeof Event ? (event = new Event("CustomEvent"), util.global.dispatchEvent(event), function(name, event) {
|
|
name = name.toLowerCase();
|
|
var domEvent = new Event(name, {
|
|
cancelable: !0
|
|
});
|
|
return domEvent.detail = event, es5.defineProperty(domEvent, "promise", {
|
|
value: event.promise
|
|
}), es5.defineProperty(domEvent, "reason", {
|
|
value: event.reason
|
|
}), dispatch(legacyHandlers[name], domEvent)
|
|
}) : ((event = document.createEvent("CustomEvent")).initCustomEvent("testingtheevent", !1, !0, {}), util.global.dispatchEvent(event), function(name, event) {
|
|
name = name.toLowerCase();
|
|
var domEvent = document.createEvent("CustomEvent");
|
|
return domEvent.initCustomEvent(name, !1, !0, event), dispatch(legacyHandlers[name], domEvent)
|
|
})
|
|
} catch (e) {}
|
|
return function() {
|
|
return !1
|
|
}
|
|
}(),
|
|
fireGlobalEvent = util.isNode ? function() {
|
|
return process.emit.apply(process, arguments)
|
|
} : util.global ? function(name) {
|
|
var methodName = "on" + name.toLowerCase(),
|
|
method = util.global[methodName];
|
|
return !!method && (method.apply(util.global, [].slice.call(arguments, 1)), !0)
|
|
} : function() {
|
|
return !1
|
|
};
|
|
|
|
function generatePromiseLifecycleEventObject(name, promise) {
|
|
return {
|
|
promise
|
|
}
|
|
}
|
|
var eventToObjectGenerator = {
|
|
promiseCreated: generatePromiseLifecycleEventObject,
|
|
promiseFulfilled: generatePromiseLifecycleEventObject,
|
|
promiseRejected: generatePromiseLifecycleEventObject,
|
|
promiseResolved: generatePromiseLifecycleEventObject,
|
|
promiseCancelled: generatePromiseLifecycleEventObject,
|
|
promiseChained: function(name, promise, child) {
|
|
return {
|
|
promise,
|
|
child
|
|
}
|
|
},
|
|
warning: function(name, warning) {
|
|
return {
|
|
warning
|
|
}
|
|
},
|
|
unhandledRejection: function(name, reason, promise) {
|
|
return {
|
|
reason,
|
|
promise
|
|
}
|
|
},
|
|
rejectionHandled: generatePromiseLifecycleEventObject
|
|
},
|
|
activeFireEvent = function(name) {
|
|
var globalEventFired = !1;
|
|
try {
|
|
globalEventFired = fireGlobalEvent.apply(null, arguments)
|
|
} catch (e) {
|
|
async.throwLater(e), globalEventFired = !0
|
|
}
|
|
var domEventFired = !1;
|
|
try {
|
|
domEventFired = fireDomEvent(name, eventToObjectGenerator[name].apply(null, arguments))
|
|
} catch (e) {
|
|
async.throwLater(e), domEventFired = !0
|
|
}
|
|
return domEventFired || globalEventFired
|
|
};
|
|
|
|
function defaultFireEvent() {
|
|
return !1
|
|
}
|
|
|
|
function cancellationExecute(executor, resolve, reject) {
|
|
var promise = this;
|
|
try {
|
|
executor(resolve, reject, function(onCancel) {
|
|
if ("function" != typeof onCancel) throw new TypeError("onCancel must be a function, got: " + util.toString(onCancel));
|
|
promise._attachCancellationCallback(onCancel)
|
|
})
|
|
} catch (e) {
|
|
return e
|
|
}
|
|
}
|
|
|
|
function cancellationAttachCancellationCallback(onCancel) {
|
|
if (!this._isCancellable()) return this;
|
|
var previousOnCancel = this._onCancel();
|
|
void 0 !== previousOnCancel ? util.isArray(previousOnCancel) ? previousOnCancel.push(onCancel) : this._setOnCancel([previousOnCancel, onCancel]) : this._setOnCancel(onCancel)
|
|
}
|
|
|
|
function cancellationOnCancel() {
|
|
return this._onCancelField
|
|
}
|
|
|
|
function cancellationSetOnCancel(onCancel) {
|
|
this._onCancelField = onCancel
|
|
}
|
|
|
|
function cancellationClearCancellationData() {
|
|
this._cancellationParent = void 0, this._onCancelField = void 0
|
|
}
|
|
|
|
function cancellationPropagateFrom(parent, flags) {
|
|
if (1 & flags) {
|
|
this._cancellationParent = parent;
|
|
var branchesRemainingToCancel = parent._branchesRemainingToCancel;
|
|
void 0 === branchesRemainingToCancel && (branchesRemainingToCancel = 0), parent._branchesRemainingToCancel = branchesRemainingToCancel + 1
|
|
}
|
|
2 & flags && parent._isBound() && this._setBoundTo(parent._boundTo)
|
|
}
|
|
|
|
function bindingPropagateFrom(parent, flags) {
|
|
2 & flags && parent._isBound() && this._setBoundTo(parent._boundTo)
|
|
}
|
|
Promise.config = function(opts) {
|
|
if ("longStackTraces" in (opts = Object(opts)) && (opts.longStackTraces ? Promise.longStackTraces() : !opts.longStackTraces && Promise.hasLongStackTraces() && disableLongStackTraces()), "warnings" in opts) {
|
|
var warningsOption = opts.warnings;
|
|
config.warnings = !!warningsOption, wForgottenReturn = config.warnings, util.isObject(warningsOption) && "wForgottenReturn" in warningsOption && (wForgottenReturn = !!warningsOption.wForgottenReturn)
|
|
}
|
|
if ("cancellation" in opts && opts.cancellation && !config.cancellation) {
|
|
if (async.haveItemsQueued()) throw new Error("cannot enable cancellation after promises are in use");
|
|
Promise.prototype._clearCancellationData = cancellationClearCancellationData, Promise.prototype._propagateFrom = cancellationPropagateFrom, Promise.prototype._onCancel = cancellationOnCancel, Promise.prototype._setOnCancel = cancellationSetOnCancel, Promise.prototype._attachCancellationCallback = cancellationAttachCancellationCallback, Promise.prototype._execute = cancellationExecute, propagateFromFunction = cancellationPropagateFrom, config.cancellation = !0
|
|
}
|
|
if ("monitoring" in opts && (opts.monitoring && !config.monitoring ? (config.monitoring = !0, Promise.prototype._fireEvent = activeFireEvent) : !opts.monitoring && config.monitoring && (config.monitoring = !1, Promise.prototype._fireEvent = defaultFireEvent)), "asyncHooks" in opts && util.nodeSupportsAsyncResource) {
|
|
var prev = config.asyncHooks,
|
|
cur = !!opts.asyncHooks;
|
|
prev !== cur && (config.asyncHooks = cur, cur ? enableAsyncHooks() : disableAsyncHooks())
|
|
}
|
|
return Promise
|
|
}, Promise.prototype._fireEvent = defaultFireEvent, Promise.prototype._execute = function(executor, resolve, reject) {
|
|
try {
|
|
executor(resolve, reject)
|
|
} catch (e) {
|
|
return e
|
|
}
|
|
}, Promise.prototype._onCancel = function() {}, Promise.prototype._setOnCancel = function(handler) {}, Promise.prototype._attachCancellationCallback = function(onCancel) {}, Promise.prototype._captureStackTrace = function() {}, Promise.prototype._attachExtraTrace = function() {}, Promise.prototype._dereferenceTrace = function() {}, Promise.prototype._clearCancellationData = function() {}, Promise.prototype._propagateFrom = function(parent, flags) {};
|
|
var propagateFromFunction = bindingPropagateFrom;
|
|
|
|
function boundValueFunction() {
|
|
var ret = this._boundTo;
|
|
return void 0 !== ret && ret instanceof Promise ? ret.isFulfilled() ? ret.value() : void 0 : ret
|
|
}
|
|
|
|
function longStackTracesCaptureStackTrace() {
|
|
this._trace = new CapturedTrace(this._peekContext())
|
|
}
|
|
|
|
function longStackTracesAttachExtraTrace(error, ignoreSelf) {
|
|
if (canAttachTrace(error)) {
|
|
var trace = this._trace;
|
|
if (void 0 !== trace && ignoreSelf && (trace = trace._parent), void 0 !== trace) trace.attachExtraTrace(error);
|
|
else if (!error.__stackCleaned__) {
|
|
var parsed = parseStackAndMessage(error);
|
|
util.notEnumerableProp(error, "stack", parsed.message + "\n" + parsed.stack.join("\n")), util.notEnumerableProp(error, "__stackCleaned__", !0)
|
|
}
|
|
}
|
|
}
|
|
|
|
function longStackTracesDereferenceTrace() {
|
|
this._trace = void 0
|
|
}
|
|
|
|
function checkForgottenReturns(returnValue, promiseCreated, name, promise, parent) {
|
|
if (void 0 === returnValue && null !== promiseCreated && wForgottenReturn) {
|
|
if (void 0 !== parent && parent._returnedNonUndefined()) return;
|
|
if (!(65535 & promise._bitField)) return;
|
|
name && (name += " ");
|
|
var handlerLine = "",
|
|
creatorLine = "";
|
|
if (promiseCreated._trace) {
|
|
for (var traceLines = promiseCreated._trace.stack.split("\n"), stack = cleanStack(traceLines), i = stack.length - 1; i >= 0; --i) {
|
|
var line = stack[i];
|
|
if (!nodeFramePattern.test(line)) {
|
|
var lineMatches = line.match(parseLinePattern);
|
|
lineMatches && (handlerLine = "at " + lineMatches[1] + ":" + lineMatches[2] + ":" + lineMatches[3] + " ");
|
|
break
|
|
}
|
|
}
|
|
if (stack.length > 0) {
|
|
var firstUserLine = stack[0];
|
|
for (i = 0; i < traceLines.length; ++i)
|
|
if (traceLines[i] === firstUserLine) {
|
|
i > 0 && (creatorLine = "\n" + traceLines[i - 1]);
|
|
break
|
|
}
|
|
}
|
|
}
|
|
var msg = "a promise was created in a " + name + "handler " + handlerLine + "but was not returned from it, see http://goo.gl/rRqMUw" + creatorLine;
|
|
promise._warn(msg, !0, promiseCreated)
|
|
}
|
|
}
|
|
|
|
function deprecated(name, replacement) {
|
|
var message = name + " is deprecated and will be removed in a future version.";
|
|
return replacement && (message += " Use " + replacement + " instead."), warn(message)
|
|
}
|
|
|
|
function warn(message, shouldUseOwnTrace, promise) {
|
|
if (config.warnings) {
|
|
var ctx, warning = new Warning(message);
|
|
if (shouldUseOwnTrace) promise._attachExtraTrace(warning);
|
|
else if (config.longStackTraces && (ctx = Promise._peekContext())) ctx.attachExtraTrace(warning);
|
|
else {
|
|
var parsed = parseStackAndMessage(warning);
|
|
warning.stack = parsed.message + "\n" + parsed.stack.join("\n")
|
|
}
|
|
activeFireEvent("warning", warning) || formatAndLogError(warning, "", !0)
|
|
}
|
|
}
|
|
|
|
function reconstructStack(message, stacks) {
|
|
for (var i = 0; i < stacks.length - 1; ++i) stacks[i].push("From previous event:"), stacks[i] = stacks[i].join("\n");
|
|
return i < stacks.length && (stacks[i] = stacks[i].join("\n")), message + "\n" + stacks.join("\n")
|
|
}
|
|
|
|
function removeDuplicateOrEmptyJumps(stacks) {
|
|
for (var i = 0; i < stacks.length; ++i)(0 === stacks[i].length || i + 1 < stacks.length && stacks[i][0] === stacks[i + 1][0]) && (stacks.splice(i, 1), i--)
|
|
}
|
|
|
|
function removeCommonRoots(stacks) {
|
|
for (var current = stacks[0], i = 1; i < stacks.length; ++i) {
|
|
for (var prev = stacks[i], currentLastIndex = current.length - 1, currentLastLine = current[currentLastIndex], commonRootMeetPoint = -1, j = prev.length - 1; j >= 0; --j)
|
|
if (prev[j] === currentLastLine) {
|
|
commonRootMeetPoint = j;
|
|
break
|
|
} for (j = commonRootMeetPoint; j >= 0; --j) {
|
|
var line = prev[j];
|
|
if (current[currentLastIndex] !== line) break;
|
|
current.pop(), currentLastIndex--
|
|
}
|
|
current = prev
|
|
}
|
|
}
|
|
|
|
function cleanStack(stack) {
|
|
for (var ret = [], i = 0; i < stack.length; ++i) {
|
|
var line = stack[i],
|
|
isTraceLine = " (No stack trace)" === line || stackFramePattern.test(line),
|
|
isInternalFrame = isTraceLine && shouldIgnore(line);
|
|
isTraceLine && !isInternalFrame && (indentStackFrames && " " !== line.charAt(0) && (line = " " + line), ret.push(line))
|
|
}
|
|
return ret
|
|
}
|
|
|
|
function stackFramesAsArray(error) {
|
|
for (var stack = error.stack.replace(/\s+$/g, "").split("\n"), i = 0; i < stack.length; ++i) {
|
|
var line = stack[i];
|
|
if (" (No stack trace)" === line || stackFramePattern.test(line)) break
|
|
}
|
|
return i > 0 && "SyntaxError" != error.name && (stack = stack.slice(i)), stack
|
|
}
|
|
|
|
function parseStackAndMessage(error) {
|
|
var stack = error.stack,
|
|
message = error.toString();
|
|
return stack = "string" == typeof stack && stack.length > 0 ? stackFramesAsArray(error) : [" (No stack trace)"], {
|
|
message,
|
|
stack: "SyntaxError" == error.name ? stack : cleanStack(stack)
|
|
}
|
|
}
|
|
|
|
function formatAndLogError(error, title, isSoft) {
|
|
if ("undefined" != typeof console) {
|
|
var message;
|
|
if (util.isObject(error)) {
|
|
var stack = error.stack;
|
|
message = title + formatStack(stack, error)
|
|
} else message = title + String(error);
|
|
"function" == typeof printWarning ? printWarning(message, isSoft) : "function" != typeof console.log && "object" != typeof console.log || console.log(message)
|
|
}
|
|
}
|
|
|
|
function fireRejectionEvent(name, localHandler, reason, promise) {
|
|
var localEventFired = !1;
|
|
try {
|
|
"function" == typeof localHandler && (localEventFired = !0, "rejectionHandled" === name ? localHandler(promise) : localHandler(reason, promise))
|
|
} catch (e) {
|
|
async.throwLater(e)
|
|
}
|
|
"unhandledRejection" === name ? activeFireEvent(name, reason, promise) || localEventFired || formatAndLogError(reason, "Unhandled rejection ") : activeFireEvent(name, promise)
|
|
}
|
|
|
|
function formatNonError(obj) {
|
|
var str;
|
|
if ("function" == typeof obj) str = "[function " + (obj.name || "anonymous") + "]";
|
|
else {
|
|
if (str = obj && "function" == typeof obj.toString ? obj.toString() : util.toString(obj), /\[object [a-zA-Z0-9$_]+\]/.test(str)) try {
|
|
str = JSON.stringify(obj)
|
|
} catch (e) {}
|
|
0 === str.length && (str = "(empty array)")
|
|
}
|
|
return "(<" + snip(str) + ">, no stack trace)"
|
|
}
|
|
|
|
function snip(str) {
|
|
var maxChars = 41;
|
|
return str.length < maxChars ? str : str.substr(0, maxChars - 3) + "..."
|
|
}
|
|
|
|
function longStackTracesIsSupported() {
|
|
return "function" == typeof captureStackTrace
|
|
}
|
|
var shouldIgnore = function() {
|
|
return !1
|
|
},
|
|
parseLineInfoRegex = /[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/;
|
|
|
|
function parseLineInfo(line) {
|
|
var matches = line.match(parseLineInfoRegex);
|
|
if (matches) return {
|
|
fileName: matches[1],
|
|
line: parseInt(matches[2], 10)
|
|
}
|
|
}
|
|
|
|
function setBounds(firstLineError, lastLineError) {
|
|
if (longStackTracesIsSupported()) {
|
|
for (var firstFileName, lastFileName, firstStackLines = (firstLineError.stack || "").split("\n"), lastStackLines = (lastLineError.stack || "").split("\n"), firstIndex = -1, lastIndex = -1, i = 0; i < firstStackLines.length; ++i)
|
|
if (result = parseLineInfo(firstStackLines[i])) {
|
|
firstFileName = result.fileName, firstIndex = result.line;
|
|
break
|
|
} for (i = 0; i < lastStackLines.length; ++i) {
|
|
var result;
|
|
if (result = parseLineInfo(lastStackLines[i])) {
|
|
lastFileName = result.fileName, lastIndex = result.line;
|
|
break
|
|
}
|
|
}
|
|
firstIndex < 0 || lastIndex < 0 || !firstFileName || !lastFileName || firstFileName !== lastFileName || firstIndex >= lastIndex || (shouldIgnore = function(line) {
|
|
if (bluebirdFramePattern.test(line)) return !0;
|
|
var info = parseLineInfo(line);
|
|
return !!(info && info.fileName === firstFileName && firstIndex <= info.line && info.line <= lastIndex)
|
|
})
|
|
}
|
|
}
|
|
|
|
function CapturedTrace(parent) {
|
|
this._parent = parent, this._promisesCreated = 0;
|
|
var length = this._length = 1 + (void 0 === parent ? 0 : parent._length);
|
|
captureStackTrace(this, CapturedTrace), length > 32 && this.uncycle()
|
|
}
|
|
util.inherits(CapturedTrace, Error), Context.CapturedTrace = CapturedTrace, CapturedTrace.prototype.uncycle = function() {
|
|
var length = this._length;
|
|
if (!(length < 2)) {
|
|
for (var nodes = [], stackToIndex = {}, i = 0, node = this; void 0 !== node; ++i) nodes.push(node), node = node._parent;
|
|
for (i = (length = this._length = i) - 1; i >= 0; --i) {
|
|
var stack = nodes[i].stack;
|
|
void 0 === stackToIndex[stack] && (stackToIndex[stack] = i)
|
|
}
|
|
for (i = 0; i < length; ++i) {
|
|
var index = stackToIndex[nodes[i].stack];
|
|
if (void 0 !== index && index !== i) {
|
|
index > 0 && (nodes[index - 1]._parent = void 0, nodes[index - 1]._length = 1), nodes[i]._parent = void 0, nodes[i]._length = 1;
|
|
var cycleEdgeNode = i > 0 ? nodes[i - 1] : this;
|
|
index < length - 1 ? (cycleEdgeNode._parent = nodes[index + 1], cycleEdgeNode._parent.uncycle(), cycleEdgeNode._length = cycleEdgeNode._parent._length + 1) : (cycleEdgeNode._parent = void 0, cycleEdgeNode._length = 1);
|
|
for (var currentChildLength = cycleEdgeNode._length + 1, j = i - 2; j >= 0; --j) nodes[j]._length = currentChildLength, currentChildLength++;
|
|
return
|
|
}
|
|
}
|
|
}
|
|
}, CapturedTrace.prototype.attachExtraTrace = function(error) {
|
|
if (!error.__stackCleaned__) {
|
|
this.uncycle();
|
|
for (var parsed = parseStackAndMessage(error), message = parsed.message, stacks = [parsed.stack], trace = this; void 0 !== trace;) stacks.push(cleanStack(trace.stack.split("\n"))), trace = trace._parent;
|
|
removeCommonRoots(stacks), removeDuplicateOrEmptyJumps(stacks), util.notEnumerableProp(error, "stack", reconstructStack(message, stacks)), util.notEnumerableProp(error, "__stackCleaned__", !0)
|
|
}
|
|
};
|
|
var captureStackTrace = function() {
|
|
var v8stackFramePattern = /^\s*at\s*/,
|
|
v8stackFormatter = function(stack, error) {
|
|
return "string" == typeof stack ? stack : void 0 !== error.name && void 0 !== error.message ? error.toString() : formatNonError(error)
|
|
};
|
|
if ("number" == typeof Error.stackTraceLimit && "function" == typeof Error.captureStackTrace) {
|
|
Error.stackTraceLimit += 6, stackFramePattern = v8stackFramePattern, formatStack = v8stackFormatter;
|
|
var captureStackTrace = Error.captureStackTrace;
|
|
return shouldIgnore = function(line) {
|
|
return bluebirdFramePattern.test(line)
|
|
},
|
|
function(receiver, ignoreUntil) {
|
|
Error.stackTraceLimit += 6, captureStackTrace(receiver, ignoreUntil), Error.stackTraceLimit -= 6
|
|
}
|
|
}
|
|
var hasStackAfterThrow, err = new Error;
|
|
if ("string" == typeof err.stack && err.stack.split("\n")[0].indexOf("stackDetection@") >= 0) return stackFramePattern = /@/, formatStack = v8stackFormatter, indentStackFrames = !0,
|
|
function(o) {
|
|
o.stack = (new Error).stack
|
|
};
|
|
try {
|
|
throw new Error
|
|
} catch (e) {
|
|
hasStackAfterThrow = "stack" in e
|
|
}
|
|
return !("stack" in err) && hasStackAfterThrow && "number" == typeof Error.stackTraceLimit ? (stackFramePattern = v8stackFramePattern, formatStack = v8stackFormatter, function(o) {
|
|
Error.stackTraceLimit += 6;
|
|
try {
|
|
throw new Error
|
|
} catch (e) {
|
|
o.stack = e.stack
|
|
}
|
|
Error.stackTraceLimit -= 6
|
|
}) : (formatStack = function(stack, error) {
|
|
return "string" == typeof stack ? stack : "object" != typeof error && "function" != typeof error || void 0 === error.name || void 0 === error.message ? formatNonError(error) : error.toString()
|
|
}, null)
|
|
}();
|
|
"undefined" != typeof console && void 0 !== console.warn && (printWarning = function(message) {
|
|
console.warn(message)
|
|
}, util.isNode && process.stderr.isTTY ? printWarning = function(message, isSoft) {
|
|
var color = isSoft ? "\x1b[33m" : "\x1b[31m";
|
|
console.warn(color + message + "\x1b[0m\n")
|
|
} : util.isNode || "string" != typeof(new Error).stack || (printWarning = function(message, isSoft) {
|
|
console.warn("%c" + message, isSoft ? "color: darkorange" : "color: red")
|
|
}));
|
|
var config = {
|
|
warnings,
|
|
longStackTraces: !1,
|
|
cancellation: !1,
|
|
monitoring: !1,
|
|
asyncHooks: !1
|
|
};
|
|
return longStackTraces && Promise.longStackTraces(), {
|
|
asyncHooks: function() {
|
|
return config.asyncHooks
|
|
},
|
|
longStackTraces: function() {
|
|
return config.longStackTraces
|
|
},
|
|
warnings: function() {
|
|
return config.warnings
|
|
},
|
|
cancellation: function() {
|
|
return config.cancellation
|
|
},
|
|
monitoring: function() {
|
|
return config.monitoring
|
|
},
|
|
propagateFromFunction: function() {
|
|
return propagateFromFunction
|
|
},
|
|
boundValueFunction: function() {
|
|
return boundValueFunction
|
|
},
|
|
checkForgottenReturns,
|
|
setBounds,
|
|
warn,
|
|
deprecated,
|
|
CapturedTrace,
|
|
fireDomEvent,
|
|
fireGlobalEvent
|
|
}
|
|
}
|
|
}, {
|
|
"./errors": 12,
|
|
"./es5": 13,
|
|
"./util": 36
|
|
}],
|
|
10: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
module.exports = function(Promise) {
|
|
function returner() {
|
|
return this.value
|
|
}
|
|
|
|
function thrower() {
|
|
throw this.reason
|
|
}
|
|
Promise.prototype.return = Promise.prototype.thenReturn = function(value) {
|
|
return value instanceof Promise && value.suppressUnhandledRejections(), this._then(returner, void 0, void 0, {
|
|
value
|
|
}, void 0)
|
|
}, Promise.prototype.throw = Promise.prototype.thenThrow = function(reason) {
|
|
return this._then(thrower, void 0, void 0, {
|
|
reason
|
|
}, void 0)
|
|
}, Promise.prototype.catchThrow = function(reason) {
|
|
if (arguments.length <= 1) return this._then(void 0, thrower, void 0, {
|
|
reason
|
|
}, void 0);
|
|
var _reason = arguments[1],
|
|
handler = function() {
|
|
throw _reason
|
|
};
|
|
return this.caught(reason, handler)
|
|
}, Promise.prototype.catchReturn = function(value) {
|
|
if (arguments.length <= 1) return value instanceof Promise && value.suppressUnhandledRejections(), this._then(void 0, returner, void 0, {
|
|
value
|
|
}, void 0);
|
|
var _value = arguments[1];
|
|
_value instanceof Promise && _value.suppressUnhandledRejections();
|
|
var handler = function() {
|
|
return _value
|
|
};
|
|
return this.caught(value, handler)
|
|
}
|
|
}
|
|
}, {}],
|
|
11: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
module.exports = function(Promise, INTERNAL) {
|
|
var PromiseReduce = Promise.reduce,
|
|
PromiseAll = Promise.all;
|
|
|
|
function promiseAllThis() {
|
|
return PromiseAll(this)
|
|
}
|
|
|
|
function PromiseMapSeries(promises, fn) {
|
|
return PromiseReduce(promises, fn, INTERNAL, INTERNAL)
|
|
}
|
|
Promise.prototype.each = function(fn) {
|
|
return PromiseReduce(this, fn, INTERNAL, 0)._then(promiseAllThis, void 0, void 0, this, void 0)
|
|
}, Promise.prototype.mapSeries = function(fn) {
|
|
return PromiseReduce(this, fn, INTERNAL, INTERNAL)
|
|
}, Promise.each = function(promises, fn) {
|
|
return PromiseReduce(promises, fn, INTERNAL, 0)._then(promiseAllThis, void 0, void 0, promises, void 0)
|
|
}, Promise.mapSeries = PromiseMapSeries
|
|
}
|
|
}, {}],
|
|
12: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
var _TypeError, _RangeError, es5 = _dereq_("./es5"),
|
|
Objectfreeze = es5.freeze,
|
|
util = _dereq_("./util"),
|
|
inherits = util.inherits,
|
|
notEnumerableProp = util.notEnumerableProp;
|
|
|
|
function subError(nameProperty, defaultMessage) {
|
|
function SubError(message) {
|
|
if (!(this instanceof SubError)) return new SubError(message);
|
|
notEnumerableProp(this, "message", "string" == typeof message ? message : defaultMessage), notEnumerableProp(this, "name", nameProperty), Error.captureStackTrace ? Error.captureStackTrace(this, this.constructor) : Error.call(this)
|
|
}
|
|
return inherits(SubError, Error), SubError
|
|
}
|
|
var Warning = subError("Warning", "warning"),
|
|
CancellationError = subError("CancellationError", "cancellation error"),
|
|
TimeoutError = subError("TimeoutError", "timeout error"),
|
|
AggregateError = subError("AggregateError", "aggregate error");
|
|
try {
|
|
_TypeError = TypeError, _RangeError = RangeError
|
|
} catch (e) {
|
|
_TypeError = subError("TypeError", "type error"), _RangeError = subError("RangeError", "range error")
|
|
}
|
|
for (var methods = "join pop push shift unshift slice filter forEach some every map indexOf lastIndexOf reduce reduceRight sort reverse".split(" "), i = 0; i < methods.length; ++i) "function" == typeof Array.prototype[methods[i]] && (AggregateError.prototype[methods[i]] = Array.prototype[methods[i]]);
|
|
es5.defineProperty(AggregateError.prototype, "length", {
|
|
value: 0,
|
|
configurable: !1,
|
|
writable: !0,
|
|
enumerable: !0
|
|
}), AggregateError.prototype.isOperational = !0;
|
|
var level = 0;
|
|
|
|
function OperationalError(message) {
|
|
if (!(this instanceof OperationalError)) return new OperationalError(message);
|
|
notEnumerableProp(this, "name", "OperationalError"), notEnumerableProp(this, "message", message), this.cause = message, this.isOperational = !0, message instanceof Error ? (notEnumerableProp(this, "message", message.message), notEnumerableProp(this, "stack", message.stack)) : Error.captureStackTrace && Error.captureStackTrace(this, this.constructor)
|
|
}
|
|
AggregateError.prototype.toString = function() {
|
|
var indent = Array(4 * level + 1).join(" "),
|
|
ret = "\n" + indent + "AggregateError of:\n";
|
|
level++, indent = Array(4 * level + 1).join(" ");
|
|
for (var i = 0; i < this.length; ++i) {
|
|
for (var str = this[i] === this ? "[Circular AggregateError]" : this[i] + "", lines = str.split("\n"), j = 0; j < lines.length; ++j) lines[j] = indent + lines[j];
|
|
ret += (str = lines.join("\n")) + "\n"
|
|
}
|
|
return level--, ret
|
|
}, inherits(OperationalError, Error);
|
|
var errorTypes = Error.__BluebirdErrorTypes__;
|
|
errorTypes || (errorTypes = Objectfreeze({
|
|
CancellationError,
|
|
TimeoutError,
|
|
OperationalError,
|
|
RejectionError: OperationalError,
|
|
AggregateError
|
|
}), es5.defineProperty(Error, "__BluebirdErrorTypes__", {
|
|
value: errorTypes,
|
|
writable: !1,
|
|
enumerable: !1,
|
|
configurable: !1
|
|
})), module.exports = {
|
|
Error,
|
|
TypeError: _TypeError,
|
|
RangeError: _RangeError,
|
|
CancellationError: errorTypes.CancellationError,
|
|
OperationalError: errorTypes.OperationalError,
|
|
TimeoutError: errorTypes.TimeoutError,
|
|
AggregateError: errorTypes.AggregateError,
|
|
Warning
|
|
}
|
|
}, {
|
|
"./es5": 13,
|
|
"./util": 36
|
|
}],
|
|
13: [function(_dereq_, module, exports) {
|
|
var isES5 = function() {
|
|
"use strict";
|
|
return void 0 === this
|
|
}();
|
|
if (isES5) module.exports = {
|
|
freeze: Object.freeze,
|
|
defineProperty: Object.defineProperty,
|
|
getDescriptor: Object.getOwnPropertyDescriptor,
|
|
keys: Object.keys,
|
|
names: Object.getOwnPropertyNames,
|
|
getPrototypeOf: Object.getPrototypeOf,
|
|
isArray: Array.isArray,
|
|
isES5,
|
|
propertyIsWritable: function(obj, prop) {
|
|
var descriptor = Object.getOwnPropertyDescriptor(obj, prop);
|
|
return !(descriptor && !descriptor.writable && !descriptor.set)
|
|
}
|
|
};
|
|
else {
|
|
var has = {}.hasOwnProperty,
|
|
str = {}.toString,
|
|
proto = {}.constructor.prototype,
|
|
ObjectKeys = function(o) {
|
|
var ret = [];
|
|
for (var key in o) has.call(o, key) && ret.push(key);
|
|
return ret
|
|
},
|
|
ObjectGetDescriptor = function(o, key) {
|
|
return {
|
|
value: o[key]
|
|
}
|
|
},
|
|
ObjectDefineProperty = function(o, key, desc) {
|
|
return o[key] = desc.value, o
|
|
},
|
|
ObjectFreeze = function(obj) {
|
|
return obj
|
|
},
|
|
ObjectGetPrototypeOf = function(obj) {
|
|
try {
|
|
return Object(obj).constructor.prototype
|
|
} catch (e) {
|
|
return proto
|
|
}
|
|
},
|
|
ArrayIsArray = function(obj) {
|
|
try {
|
|
return "[object Array]" === str.call(obj)
|
|
} catch (e) {
|
|
return !1
|
|
}
|
|
};
|
|
module.exports = {
|
|
isArray: ArrayIsArray,
|
|
keys: ObjectKeys,
|
|
names: ObjectKeys,
|
|
defineProperty: ObjectDefineProperty,
|
|
getDescriptor: ObjectGetDescriptor,
|
|
freeze: ObjectFreeze,
|
|
getPrototypeOf: ObjectGetPrototypeOf,
|
|
isES5,
|
|
propertyIsWritable: function() {
|
|
return !0
|
|
}
|
|
}
|
|
}
|
|
}, {}],
|
|
14: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
module.exports = function(Promise, INTERNAL) {
|
|
var PromiseMap = Promise.map;
|
|
Promise.prototype.filter = function(fn, options) {
|
|
return PromiseMap(this, fn, options, INTERNAL)
|
|
}, Promise.filter = function(promises, fn, options) {
|
|
return PromiseMap(promises, fn, options, INTERNAL)
|
|
}
|
|
}
|
|
}, {}],
|
|
15: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
module.exports = function(Promise, tryConvertToPromise, NEXT_FILTER) {
|
|
var util = _dereq_("./util"),
|
|
CancellationError = Promise.CancellationError,
|
|
errorObj = util.errorObj,
|
|
catchFilter = _dereq_("./catch_filter")(NEXT_FILTER);
|
|
|
|
function PassThroughHandlerContext(promise, type, handler) {
|
|
this.promise = promise, this.type = type, this.handler = handler, this.called = !1, this.cancelPromise = null
|
|
}
|
|
|
|
function FinallyHandlerCancelReaction(finallyHandler) {
|
|
this.finallyHandler = finallyHandler
|
|
}
|
|
|
|
function checkCancel(ctx, reason) {
|
|
return null != ctx.cancelPromise && (arguments.length > 1 ? ctx.cancelPromise._reject(reason) : ctx.cancelPromise._cancel(), ctx.cancelPromise = null, !0)
|
|
}
|
|
|
|
function succeed() {
|
|
return finallyHandler.call(this, this.promise._target()._settledValue())
|
|
}
|
|
|
|
function fail(reason) {
|
|
if (!checkCancel(this, reason)) return errorObj.e = reason, errorObj
|
|
}
|
|
|
|
function finallyHandler(reasonOrValue) {
|
|
var promise = this.promise,
|
|
handler = this.handler;
|
|
if (!this.called) {
|
|
this.called = !0;
|
|
var ret = this.isFinallyHandler() ? handler.call(promise._boundValue()) : handler.call(promise._boundValue(), reasonOrValue);
|
|
if (ret === NEXT_FILTER) return ret;
|
|
if (void 0 !== ret) {
|
|
promise._setReturnedNonUndefined();
|
|
var maybePromise = tryConvertToPromise(ret, promise);
|
|
if (maybePromise instanceof Promise) {
|
|
if (null != this.cancelPromise) {
|
|
if (maybePromise._isCancelled()) {
|
|
var reason = new CancellationError("late cancellation observer");
|
|
return promise._attachExtraTrace(reason), errorObj.e = reason, errorObj
|
|
}
|
|
maybePromise.isPending() && maybePromise._attachCancellationCallback(new FinallyHandlerCancelReaction(this))
|
|
}
|
|
return maybePromise._then(succeed, fail, void 0, this, void 0)
|
|
}
|
|
}
|
|
}
|
|
return promise.isRejected() ? (checkCancel(this), errorObj.e = reasonOrValue, errorObj) : (checkCancel(this), reasonOrValue)
|
|
}
|
|
return PassThroughHandlerContext.prototype.isFinallyHandler = function() {
|
|
return 0 === this.type
|
|
}, FinallyHandlerCancelReaction.prototype._resultCancelled = function() {
|
|
checkCancel(this.finallyHandler)
|
|
}, Promise.prototype._passThrough = function(handler, type, success, fail) {
|
|
return "function" != typeof handler ? this.then() : this._then(success, fail, void 0, new PassThroughHandlerContext(this, type, handler), void 0)
|
|
}, Promise.prototype.lastly = Promise.prototype.finally = function(handler) {
|
|
return this._passThrough(handler, 0, finallyHandler, finallyHandler)
|
|
}, Promise.prototype.tap = function(handler) {
|
|
return this._passThrough(handler, 1, finallyHandler)
|
|
}, Promise.prototype.tapCatch = function(handlerOrPredicate) {
|
|
var len = arguments.length;
|
|
if (1 === len) return this._passThrough(handlerOrPredicate, 1, void 0, finallyHandler);
|
|
var i, catchInstances = new Array(len - 1),
|
|
j = 0;
|
|
for (i = 0; i < len - 1; ++i) {
|
|
var item = arguments[i];
|
|
if (!util.isObject(item)) return Promise.reject(new TypeError("tapCatch statement predicate: expecting an object but got " + util.classString(item)));
|
|
catchInstances[j++] = item
|
|
}
|
|
catchInstances.length = j;
|
|
var handler = arguments[i];
|
|
return this._passThrough(catchFilter(catchInstances, handler, this), 1, void 0, finallyHandler)
|
|
}, PassThroughHandlerContext
|
|
}
|
|
}, {
|
|
"./catch_filter": 7,
|
|
"./util": 36
|
|
}],
|
|
16: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
module.exports = function(Promise, apiRejection, INTERNAL, tryConvertToPromise, Proxyable, debug) {
|
|
var TypeError = _dereq_("./errors").TypeError,
|
|
util = _dereq_("./util"),
|
|
errorObj = util.errorObj,
|
|
tryCatch = util.tryCatch,
|
|
yieldHandlers = [];
|
|
|
|
function promiseFromYieldHandler(value, yieldHandlers, traceParent) {
|
|
for (var i = 0; i < yieldHandlers.length; ++i) {
|
|
traceParent._pushContext();
|
|
var result = tryCatch(yieldHandlers[i])(value);
|
|
if (traceParent._popContext(), result === errorObj) {
|
|
traceParent._pushContext();
|
|
var ret = Promise.reject(errorObj.e);
|
|
return traceParent._popContext(), ret
|
|
}
|
|
var maybePromise = tryConvertToPromise(result, traceParent);
|
|
if (maybePromise instanceof Promise) return maybePromise
|
|
}
|
|
return null
|
|
}
|
|
|
|
function PromiseSpawn(generatorFunction, receiver, yieldHandler, stack) {
|
|
if (debug.cancellation()) {
|
|
var internal = new Promise(INTERNAL),
|
|
_finallyPromise = this._finallyPromise = new Promise(INTERNAL);
|
|
this._promise = internal.lastly(function() {
|
|
return _finallyPromise
|
|
}), internal._captureStackTrace(), internal._setOnCancel(this)
|
|
} else(this._promise = new Promise(INTERNAL))._captureStackTrace();
|
|
this._stack = stack, this._generatorFunction = generatorFunction, this._receiver = receiver, this._generator = void 0, this._yieldHandlers = "function" == typeof yieldHandler ? [yieldHandler].concat(yieldHandlers) : yieldHandlers, this._yieldedPromise = null, this._cancellationPhase = !1
|
|
}
|
|
util.inherits(PromiseSpawn, Proxyable), PromiseSpawn.prototype._isResolved = function() {
|
|
return null === this._promise
|
|
}, PromiseSpawn.prototype._cleanup = function() {
|
|
this._promise = this._generator = null, debug.cancellation() && null !== this._finallyPromise && (this._finallyPromise._fulfill(), this._finallyPromise = null)
|
|
}, PromiseSpawn.prototype._promiseCancelled = function() {
|
|
if (!this._isResolved()) {
|
|
var result;
|
|
if (void 0 !== this._generator.return) this._promise._pushContext(), result = tryCatch(this._generator.return).call(this._generator, void 0), this._promise._popContext();
|
|
else {
|
|
var reason = new Promise.CancellationError("generator .return() sentinel");
|
|
Promise.coroutine.returnSentinel = reason, this._promise._attachExtraTrace(reason), this._promise._pushContext(), result = tryCatch(this._generator.throw).call(this._generator, reason), this._promise._popContext()
|
|
}
|
|
this._cancellationPhase = !0, this._yieldedPromise = null, this._continue(result)
|
|
}
|
|
}, PromiseSpawn.prototype._promiseFulfilled = function(value) {
|
|
this._yieldedPromise = null, this._promise._pushContext();
|
|
var result = tryCatch(this._generator.next).call(this._generator, value);
|
|
this._promise._popContext(), this._continue(result)
|
|
}, PromiseSpawn.prototype._promiseRejected = function(reason) {
|
|
this._yieldedPromise = null, this._promise._attachExtraTrace(reason), this._promise._pushContext();
|
|
var result = tryCatch(this._generator.throw).call(this._generator, reason);
|
|
this._promise._popContext(), this._continue(result)
|
|
}, PromiseSpawn.prototype._resultCancelled = function() {
|
|
if (this._yieldedPromise instanceof Promise) {
|
|
var promise = this._yieldedPromise;
|
|
this._yieldedPromise = null, promise.cancel()
|
|
}
|
|
}, PromiseSpawn.prototype.promise = function() {
|
|
return this._promise
|
|
}, PromiseSpawn.prototype._run = function() {
|
|
this._generator = this._generatorFunction.call(this._receiver), this._receiver = this._generatorFunction = void 0, this._promiseFulfilled(void 0)
|
|
}, PromiseSpawn.prototype._continue = function(result) {
|
|
var promise = this._promise;
|
|
if (result === errorObj) return this._cleanup(), this._cancellationPhase ? promise.cancel() : promise._rejectCallback(result.e, !1);
|
|
var value = result.value;
|
|
if (!0 === result.done) return this._cleanup(), this._cancellationPhase ? promise.cancel() : promise._resolveCallback(value);
|
|
var maybePromise = tryConvertToPromise(value, this._promise);
|
|
if (maybePromise instanceof Promise || null !== (maybePromise = promiseFromYieldHandler(maybePromise, this._yieldHandlers, this._promise))) {
|
|
var bitField = (maybePromise = maybePromise._target())._bitField;
|
|
50397184 & bitField ? 33554432 & bitField ? Promise._async.invoke(this._promiseFulfilled, this, maybePromise._value()) : 16777216 & bitField ? Promise._async.invoke(this._promiseRejected, this, maybePromise._reason()) : this._promiseCancelled() : (this._yieldedPromise = maybePromise, maybePromise._proxy(this, null))
|
|
} else this._promiseRejected(new TypeError("A value %s was yielded that could not be treated as a promise\n\n See http://goo.gl/MqrFmX\n\n".replace("%s", String(value)) + "From coroutine:\n" + this._stack.split("\n").slice(1, -7).join("\n")))
|
|
}, Promise.coroutine = function(generatorFunction, options) {
|
|
if ("function" != typeof generatorFunction) throw new TypeError("generatorFunction must be a function\n\n See http://goo.gl/MqrFmX\n");
|
|
var yieldHandler = Object(options).yieldHandler,
|
|
PromiseSpawn$ = PromiseSpawn,
|
|
stack = (new Error).stack;
|
|
return function() {
|
|
var generator = generatorFunction.apply(this, arguments),
|
|
spawn = new PromiseSpawn$(void 0, void 0, yieldHandler, stack),
|
|
ret = spawn.promise();
|
|
return spawn._generator = generator, spawn._promiseFulfilled(void 0), ret
|
|
}
|
|
}, Promise.coroutine.addYieldHandler = function(fn) {
|
|
if ("function" != typeof fn) throw new TypeError("expecting a function but got " + util.classString(fn));
|
|
yieldHandlers.push(fn)
|
|
}, Promise.spawn = function(generatorFunction) {
|
|
if (debug.deprecated("Promise.spawn()", "Promise.coroutine()"), "function" != typeof generatorFunction) return apiRejection("generatorFunction must be a function\n\n See http://goo.gl/MqrFmX\n");
|
|
var spawn = new PromiseSpawn(generatorFunction, this),
|
|
ret = spawn.promise();
|
|
return spawn._run(Promise.spawn), ret
|
|
}
|
|
}
|
|
}, {
|
|
"./errors": 12,
|
|
"./util": 36
|
|
}],
|
|
17: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
module.exports = function(Promise, PromiseArray, tryConvertToPromise, INTERNAL, async) {
|
|
var util = _dereq_("./util");
|
|
util.canEvaluate, util.tryCatch, util.errorObj, Promise.join = function() {
|
|
var fn, last = arguments.length - 1;
|
|
last > 0 && "function" == typeof arguments[last] && (fn = arguments[last]);
|
|
var args = [].slice.call(arguments);
|
|
fn && args.pop();
|
|
var ret = new PromiseArray(args).promise();
|
|
return void 0 !== fn ? ret.spread(fn) : ret
|
|
}
|
|
}
|
|
}, {
|
|
"./util": 36
|
|
}],
|
|
18: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
module.exports = function(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug) {
|
|
var util = _dereq_("./util"),
|
|
tryCatch = util.tryCatch,
|
|
errorObj = util.errorObj,
|
|
async = Promise._async;
|
|
|
|
function MappingPromiseArray(promises, fn, limit, _filter) {
|
|
this.constructor$(promises), this._promise._captureStackTrace();
|
|
var context = Promise._getContext();
|
|
if (this._callback = util.contextBind(context, fn), this._preservedValues = _filter === INTERNAL ? new Array(this.length()) : null, this._limit = limit, this._inFlight = 0, this._queue = [], async.invoke(this._asyncInit, this, void 0), util.isArray(promises))
|
|
for (var i = 0; i < promises.length; ++i) {
|
|
var maybePromise = promises[i];
|
|
maybePromise instanceof Promise && maybePromise.suppressUnhandledRejections()
|
|
}
|
|
}
|
|
|
|
function map(promises, fn, options, _filter) {
|
|
if ("function" != typeof fn) return apiRejection("expecting a function but got " + util.classString(fn));
|
|
var limit = 0;
|
|
if (void 0 !== options) {
|
|
if ("object" != typeof options || null === options) return Promise.reject(new TypeError("options argument must be an object but it is " + util.classString(options)));
|
|
if ("number" != typeof options.concurrency) return Promise.reject(new TypeError("'concurrency' must be a number but it is " + util.classString(options.concurrency)));
|
|
limit = options.concurrency
|
|
}
|
|
return new MappingPromiseArray(promises, fn, limit = "number" == typeof limit && isFinite(limit) && limit >= 1 ? limit : 0, _filter).promise()
|
|
}
|
|
util.inherits(MappingPromiseArray, PromiseArray), MappingPromiseArray.prototype._asyncInit = function() {
|
|
this._init$(void 0, -2)
|
|
}, MappingPromiseArray.prototype._init = function() {}, MappingPromiseArray.prototype._promiseFulfilled = function(value, index) {
|
|
var values = this._values,
|
|
length = this.length(),
|
|
preservedValues = this._preservedValues,
|
|
limit = this._limit;
|
|
if (index < 0) {
|
|
if (values[index = -1 * index - 1] = value, limit >= 1 && (this._inFlight--, this._drainQueue(), this._isResolved())) return !0
|
|
} else {
|
|
if (limit >= 1 && this._inFlight >= limit) return values[index] = value, this._queue.push(index), !1;
|
|
null !== preservedValues && (preservedValues[index] = value);
|
|
var promise = this._promise,
|
|
callback = this._callback,
|
|
receiver = promise._boundValue();
|
|
promise._pushContext();
|
|
var ret = tryCatch(callback).call(receiver, value, index, length),
|
|
promiseCreated = promise._popContext();
|
|
if (debug.checkForgottenReturns(ret, promiseCreated, null !== preservedValues ? "Promise.filter" : "Promise.map", promise), ret === errorObj) return this._reject(ret.e), !0;
|
|
var maybePromise = tryConvertToPromise(ret, this._promise);
|
|
if (maybePromise instanceof Promise) {
|
|
var bitField = (maybePromise = maybePromise._target())._bitField;
|
|
if (!(50397184 & bitField)) return limit >= 1 && this._inFlight++, values[index] = maybePromise, maybePromise._proxy(this, -1 * (index + 1)), !1;
|
|
if (!(33554432 & bitField)) return 16777216 & bitField ? (this._reject(maybePromise._reason()), !0) : (this._cancel(), !0);
|
|
ret = maybePromise._value()
|
|
}
|
|
values[index] = ret
|
|
}
|
|
return ++this._totalResolved >= length && (null !== preservedValues ? this._filter(values, preservedValues) : this._resolve(values), !0)
|
|
}, MappingPromiseArray.prototype._drainQueue = function() {
|
|
for (var queue = this._queue, limit = this._limit, values = this._values; queue.length > 0 && this._inFlight < limit;) {
|
|
if (this._isResolved()) return;
|
|
var index = queue.pop();
|
|
this._promiseFulfilled(values[index], index)
|
|
}
|
|
}, MappingPromiseArray.prototype._filter = function(booleans, values) {
|
|
for (var len = values.length, ret = new Array(len), j = 0, i = 0; i < len; ++i) booleans[i] && (ret[j++] = values[i]);
|
|
ret.length = j, this._resolve(ret)
|
|
}, MappingPromiseArray.prototype.preservedValues = function() {
|
|
return this._preservedValues
|
|
}, Promise.prototype.map = function(fn, options) {
|
|
return map(this, fn, options, null)
|
|
}, Promise.map = function(promises, fn, options, _filter) {
|
|
return map(promises, fn, options, _filter)
|
|
}
|
|
}
|
|
}, {
|
|
"./util": 36
|
|
}],
|
|
19: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
module.exports = function(Promise, INTERNAL, tryConvertToPromise, apiRejection, debug) {
|
|
var util = _dereq_("./util"),
|
|
tryCatch = util.tryCatch;
|
|
Promise.method = function(fn) {
|
|
if ("function" != typeof fn) throw new Promise.TypeError("expecting a function but got " + util.classString(fn));
|
|
return function() {
|
|
var ret = new Promise(INTERNAL);
|
|
ret._captureStackTrace(), ret._pushContext();
|
|
var value = tryCatch(fn).apply(this, arguments),
|
|
promiseCreated = ret._popContext();
|
|
return debug.checkForgottenReturns(value, promiseCreated, "Promise.method", ret), ret._resolveFromSyncValue(value), ret
|
|
}
|
|
}, Promise.attempt = Promise.try = function(fn) {
|
|
if ("function" != typeof fn) return apiRejection("expecting a function but got " + util.classString(fn));
|
|
var value, ret = new Promise(INTERNAL);
|
|
if (ret._captureStackTrace(), ret._pushContext(), arguments.length > 1) {
|
|
debug.deprecated("calling Promise.try with more than 1 argument");
|
|
var arg = arguments[1],
|
|
ctx = arguments[2];
|
|
value = util.isArray(arg) ? tryCatch(fn).apply(ctx, arg) : tryCatch(fn).call(ctx, arg)
|
|
} else value = tryCatch(fn)();
|
|
var promiseCreated = ret._popContext();
|
|
return debug.checkForgottenReturns(value, promiseCreated, "Promise.try", ret), ret._resolveFromSyncValue(value), ret
|
|
}, Promise.prototype._resolveFromSyncValue = function(value) {
|
|
value === util.errorObj ? this._rejectCallback(value.e, !1) : this._resolveCallback(value, !0)
|
|
}
|
|
}
|
|
}, {
|
|
"./util": 36
|
|
}],
|
|
20: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
var util = _dereq_("./util"),
|
|
maybeWrapAsError = util.maybeWrapAsError,
|
|
OperationalError = _dereq_("./errors").OperationalError,
|
|
es5 = _dereq_("./es5");
|
|
|
|
function isUntypedError(obj) {
|
|
return obj instanceof Error && es5.getPrototypeOf(obj) === Error.prototype
|
|
}
|
|
var rErrorKey = /^(?:name|message|stack|cause)$/;
|
|
|
|
function wrapAsOperationalError(obj) {
|
|
var ret;
|
|
if (isUntypedError(obj)) {
|
|
(ret = new OperationalError(obj)).name = obj.name, ret.message = obj.message, ret.stack = obj.stack;
|
|
for (var keys = es5.keys(obj), i = 0; i < keys.length; ++i) {
|
|
var key = keys[i];
|
|
rErrorKey.test(key) || (ret[key] = obj[key])
|
|
}
|
|
return ret
|
|
}
|
|
return util.markAsOriginatingFromRejection(obj), obj
|
|
}
|
|
|
|
function nodebackForPromise(promise, multiArgs) {
|
|
return function(err, value) {
|
|
if (null !== promise) {
|
|
if (err) {
|
|
var wrapped = wrapAsOperationalError(maybeWrapAsError(err));
|
|
promise._attachExtraTrace(wrapped), promise._reject(wrapped)
|
|
} else if (multiArgs) {
|
|
var args = [].slice.call(arguments, 1);
|
|
promise._fulfill(args)
|
|
} else promise._fulfill(value);
|
|
promise = null
|
|
}
|
|
}
|
|
}
|
|
module.exports = nodebackForPromise
|
|
}, {
|
|
"./errors": 12,
|
|
"./es5": 13,
|
|
"./util": 36
|
|
}],
|
|
21: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
module.exports = function(Promise) {
|
|
var util = _dereq_("./util"),
|
|
async = Promise._async, tryCatch = util.tryCatch, errorObj = util.errorObj;
|
|
|
|
function spreadAdapter(val, nodeback) {
|
|
var promise = this;
|
|
if (!util.isArray(val)) return successAdapter.call(promise, val, nodeback);
|
|
var ret = tryCatch(nodeback).apply(promise._boundValue(), [null].concat(val));
|
|
ret === errorObj && async.throwLater(ret.e)
|
|
}
|
|
|
|
function successAdapter(val, nodeback) {
|
|
var receiver = this._boundValue(),
|
|
ret = void 0 === val ? tryCatch(nodeback).call(receiver, null) : tryCatch(nodeback).call(receiver, null, val);
|
|
ret === errorObj && async.throwLater(ret.e)
|
|
}
|
|
|
|
function errorAdapter(reason, nodeback) {
|
|
var promise = this;
|
|
if (!reason) {
|
|
var newReason = new Error(reason + "");
|
|
newReason.cause = reason, reason = newReason
|
|
}
|
|
var ret = tryCatch(nodeback).call(promise._boundValue(), reason);
|
|
ret === errorObj && async.throwLater(ret.e)
|
|
}
|
|
Promise.prototype.asCallback = Promise.prototype.nodeify = function(nodeback, options) {
|
|
if ("function" == typeof nodeback) {
|
|
var adapter = successAdapter;
|
|
void 0 !== options && Object(options).spread && (adapter = spreadAdapter), this._then(adapter, errorAdapter, void 0, this, nodeback)
|
|
}
|
|
return this
|
|
}
|
|
}
|
|
}, {
|
|
"./util": 36
|
|
}],
|
|
22: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
module.exports = function() {
|
|
var makeSelfResolutionError = function() {
|
|
return new TypeError("circular promise resolution chain\n\n See http://goo.gl/MqrFmX\n")
|
|
},
|
|
reflectHandler = function() {
|
|
return new Promise.PromiseInspection(this._target())
|
|
},
|
|
apiRejection = function(msg) {
|
|
return Promise.reject(new TypeError(msg))
|
|
};
|
|
|
|
function Proxyable() {}
|
|
var UNDEFINED_BINDING = {},
|
|
util = _dereq_("./util");
|
|
util.setReflectHandler(reflectHandler);
|
|
var getDomain = function() {
|
|
var domain = process.domain;
|
|
return void 0 === domain ? null : domain
|
|
},
|
|
getContextDefault = function() {
|
|
return null
|
|
},
|
|
getContextDomain = function() {
|
|
return {
|
|
domain: getDomain(),
|
|
async: null
|
|
}
|
|
},
|
|
AsyncResource = util.isNode && util.nodeSupportsAsyncResource ? _dereq_("async_hooks").AsyncResource : null,
|
|
getContextAsyncHooks = function() {
|
|
return {
|
|
domain: getDomain(),
|
|
async: new AsyncResource("Bluebird::Promise")
|
|
}
|
|
},
|
|
getContext = util.isNode ? getContextDomain : getContextDefault;
|
|
util.notEnumerableProp(Promise, "_getContext", getContext);
|
|
var enableAsyncHooks = function() {
|
|
getContext = getContextAsyncHooks, util.notEnumerableProp(Promise, "_getContext", getContextAsyncHooks)
|
|
},
|
|
disableAsyncHooks = function() {
|
|
getContext = getContextDomain, util.notEnumerableProp(Promise, "_getContext", getContextDomain)
|
|
},
|
|
es5 = _dereq_("./es5"),
|
|
Async = _dereq_("./async"),
|
|
async = new Async;
|
|
es5.defineProperty(Promise, "_async", {
|
|
value: async
|
|
});
|
|
var errors = _dereq_("./errors"),
|
|
TypeError = Promise.TypeError = errors.TypeError;
|
|
Promise.RangeError = errors.RangeError;
|
|
var CancellationError = Promise.CancellationError = errors.CancellationError;
|
|
Promise.TimeoutError = errors.TimeoutError, Promise.OperationalError = errors.OperationalError, Promise.RejectionError = errors.OperationalError, Promise.AggregateError = errors.AggregateError;
|
|
var INTERNAL = function() {},
|
|
APPLY = {},
|
|
NEXT_FILTER = {},
|
|
tryConvertToPromise = _dereq_("./thenables")(Promise, INTERNAL),
|
|
PromiseArray = _dereq_("./promise_array")(Promise, INTERNAL, tryConvertToPromise, apiRejection, Proxyable),
|
|
Context = _dereq_("./context")(Promise),
|
|
createContext = Context.create,
|
|
debug = _dereq_("./debuggability")(Promise, Context, enableAsyncHooks, disableAsyncHooks),
|
|
PassThroughHandlerContext = (debug.CapturedTrace, _dereq_("./finally")(Promise, tryConvertToPromise, NEXT_FILTER)),
|
|
catchFilter = _dereq_("./catch_filter")(NEXT_FILTER),
|
|
nodebackForPromise = _dereq_("./nodeback"),
|
|
errorObj = util.errorObj,
|
|
tryCatch = util.tryCatch;
|
|
|
|
function check(self, executor) {
|
|
if (null == self || self.constructor !== Promise) throw new TypeError("the promise constructor cannot be invoked directly\n\n See http://goo.gl/MqrFmX\n");
|
|
if ("function" != typeof executor) throw new TypeError("expecting a function but got " + util.classString(executor))
|
|
}
|
|
|
|
function Promise(executor) {
|
|
executor !== INTERNAL && check(this, executor), this._bitField = 0, this._fulfillmentHandler0 = void 0, this._rejectionHandler0 = void 0, this._promise0 = void 0, this._receiver0 = void 0, this._resolveFromExecutor(executor), this._promiseCreated(), this._fireEvent("promiseCreated", this)
|
|
}
|
|
|
|
function deferResolve(v) {
|
|
this.promise._resolveCallback(v)
|
|
}
|
|
|
|
function deferReject(v) {
|
|
this.promise._rejectCallback(v, !1)
|
|
}
|
|
|
|
function fillTypes(value) {
|
|
var p = new Promise(INTERNAL);
|
|
p._fulfillmentHandler0 = value, p._rejectionHandler0 = value, p._promise0 = value, p._receiver0 = value
|
|
}
|
|
return Promise.prototype.toString = function() {
|
|
return "[object Promise]"
|
|
}, Promise.prototype.caught = Promise.prototype.catch = function(fn) {
|
|
var len = arguments.length;
|
|
if (len > 1) {
|
|
var i, catchInstances = new Array(len - 1),
|
|
j = 0;
|
|
for (i = 0; i < len - 1; ++i) {
|
|
var item = arguments[i];
|
|
if (!util.isObject(item)) return apiRejection("Catch statement predicate: expecting an object but got " + util.classString(item));
|
|
catchInstances[j++] = item
|
|
}
|
|
if (catchInstances.length = j, "function" != typeof(fn = arguments[i])) throw new TypeError("The last argument to .catch() must be a function, got " + util.toString(fn));
|
|
return this.then(void 0, catchFilter(catchInstances, fn, this))
|
|
}
|
|
return this.then(void 0, fn)
|
|
}, Promise.prototype.reflect = function() {
|
|
return this._then(reflectHandler, reflectHandler, void 0, this, void 0)
|
|
}, Promise.prototype.then = function(didFulfill, didReject) {
|
|
if (debug.warnings() && arguments.length > 0 && "function" != typeof didFulfill && "function" != typeof didReject) {
|
|
var msg = ".then() only accepts functions but was passed: " + util.classString(didFulfill);
|
|
arguments.length > 1 && (msg += ", " + util.classString(didReject)), this._warn(msg)
|
|
}
|
|
return this._then(didFulfill, didReject, void 0, void 0, void 0)
|
|
}, Promise.prototype.done = function(didFulfill, didReject) {
|
|
this._then(didFulfill, didReject, void 0, void 0, void 0)._setIsFinal()
|
|
}, Promise.prototype.spread = function(fn) {
|
|
return "function" != typeof fn ? apiRejection("expecting a function but got " + util.classString(fn)) : this.all()._then(fn, void 0, void 0, APPLY, void 0)
|
|
}, Promise.prototype.toJSON = function() {
|
|
var ret = {
|
|
isFulfilled: !1,
|
|
isRejected: !1,
|
|
fulfillmentValue: void 0,
|
|
rejectionReason: void 0
|
|
};
|
|
return this.isFulfilled() ? (ret.fulfillmentValue = this.value(), ret.isFulfilled = !0) : this.isRejected() && (ret.rejectionReason = this.reason(), ret.isRejected = !0), ret
|
|
}, Promise.prototype.all = function() {
|
|
return arguments.length > 0 && this._warn(".all() was passed arguments but it does not take any"), new PromiseArray(this).promise()
|
|
}, Promise.prototype.error = function(fn) {
|
|
return this.caught(util.originatesFromRejection, fn)
|
|
}, Promise.getNewLibraryCopy = module.exports, Promise.is = function(val) {
|
|
return val instanceof Promise
|
|
}, Promise.fromNode = Promise.fromCallback = function(fn) {
|
|
var ret = new Promise(INTERNAL);
|
|
ret._captureStackTrace();
|
|
var multiArgs = arguments.length > 1 && !!Object(arguments[1]).multiArgs,
|
|
result = tryCatch(fn)(nodebackForPromise(ret, multiArgs));
|
|
return result === errorObj && ret._rejectCallback(result.e, !0), ret._isFateSealed() || ret._setAsyncGuaranteed(), ret
|
|
}, Promise.all = function(promises) {
|
|
return new PromiseArray(promises).promise()
|
|
}, Promise.cast = function(obj) {
|
|
var ret = tryConvertToPromise(obj);
|
|
return ret instanceof Promise || ((ret = new Promise(INTERNAL))._captureStackTrace(), ret._setFulfilled(), ret._rejectionHandler0 = obj), ret
|
|
}, Promise.resolve = Promise.fulfilled = Promise.cast, Promise.reject = Promise.rejected = function(reason) {
|
|
var ret = new Promise(INTERNAL);
|
|
return ret._captureStackTrace(), ret._rejectCallback(reason, !0), ret
|
|
}, Promise.setScheduler = function(fn) {
|
|
if ("function" != typeof fn) throw new TypeError("expecting a function but got " + util.classString(fn));
|
|
return async.setScheduler(fn)
|
|
}, Promise.prototype._then = function(didFulfill, didReject, _, receiver, internalData) {
|
|
var haveInternalData = void 0 !== internalData,
|
|
promise = haveInternalData ? internalData : new Promise(INTERNAL),
|
|
target = this._target(),
|
|
bitField = target._bitField;
|
|
haveInternalData || (promise._propagateFrom(this, 3), promise._captureStackTrace(), void 0 === receiver && 2097152 & this._bitField && (receiver = 50397184 & bitField ? this._boundValue() : target === this ? void 0 : this._boundTo), this._fireEvent("promiseChained", this, promise));
|
|
var context = getContext();
|
|
if (50397184 & bitField) {
|
|
var handler, value, settler = target._settlePromiseCtx;
|
|
33554432 & bitField ? (value = target._rejectionHandler0, handler = didFulfill) : 16777216 & bitField ? (value = target._fulfillmentHandler0, handler = didReject, target._unsetRejectionIsUnhandled()) : (settler = target._settlePromiseLateCancellationObserver, value = new CancellationError("late cancellation observer"), target._attachExtraTrace(value), handler = didReject), async.invoke(settler, target, {
|
|
handler: util.contextBind(context, handler),
|
|
promise,
|
|
receiver,
|
|
value
|
|
})
|
|
} else target._addCallbacks(didFulfill, didReject, promise, receiver, context);
|
|
return promise
|
|
}, Promise.prototype._length = function() {
|
|
return 65535 & this._bitField
|
|
}, Promise.prototype._isFateSealed = function() {
|
|
return !!(117506048 & this._bitField)
|
|
}, Promise.prototype._isFollowing = function() {
|
|
return !(67108864 & ~this._bitField)
|
|
}, Promise.prototype._setLength = function(len) {
|
|
this._bitField = -65536 & this._bitField | 65535 & len
|
|
}, Promise.prototype._setFulfilled = function() {
|
|
this._bitField = 33554432 | this._bitField, this._fireEvent("promiseFulfilled", this)
|
|
}, Promise.prototype._setRejected = function() {
|
|
this._bitField = 16777216 | this._bitField, this._fireEvent("promiseRejected", this)
|
|
}, Promise.prototype._setFollowing = function() {
|
|
this._bitField = 67108864 | this._bitField, this._fireEvent("promiseResolved", this)
|
|
}, Promise.prototype._setIsFinal = function() {
|
|
this._bitField = 4194304 | this._bitField
|
|
}, Promise.prototype._isFinal = function() {
|
|
return (4194304 & this._bitField) > 0
|
|
}, Promise.prototype._unsetCancelled = function() {
|
|
this._bitField = -65537 & this._bitField
|
|
}, Promise.prototype._setCancelled = function() {
|
|
this._bitField = 65536 | this._bitField, this._fireEvent("promiseCancelled", this)
|
|
}, Promise.prototype._setWillBeCancelled = function() {
|
|
this._bitField = 8388608 | this._bitField
|
|
}, Promise.prototype._setAsyncGuaranteed = function() {
|
|
if (!async.hasCustomScheduler()) {
|
|
var bitField = this._bitField;
|
|
this._bitField = bitField | (536870912 & bitField) >> 2 ^ 134217728
|
|
}
|
|
}, Promise.prototype._setNoAsyncGuarantee = function() {
|
|
this._bitField = -134217729 & this._bitField | 536870912
|
|
}, Promise.prototype._receiverAt = function(index) {
|
|
var ret = 0 === index ? this._receiver0 : this[4 * index - 4 + 3];
|
|
if (ret !== UNDEFINED_BINDING) return void 0 === ret && this._isBound() ? this._boundValue() : ret
|
|
}, Promise.prototype._promiseAt = function(index) {
|
|
return this[4 * index - 4 + 2]
|
|
}, Promise.prototype._fulfillmentHandlerAt = function(index) {
|
|
return this[4 * index - 4 + 0]
|
|
}, Promise.prototype._rejectionHandlerAt = function(index) {
|
|
return this[4 * index - 4 + 1]
|
|
}, Promise.prototype._boundValue = function() {}, Promise.prototype._migrateCallback0 = function(follower) {
|
|
follower._bitField;
|
|
var fulfill = follower._fulfillmentHandler0,
|
|
reject = follower._rejectionHandler0,
|
|
promise = follower._promise0,
|
|
receiver = follower._receiverAt(0);
|
|
void 0 === receiver && (receiver = UNDEFINED_BINDING), this._addCallbacks(fulfill, reject, promise, receiver, null)
|
|
}, Promise.prototype._migrateCallbackAt = function(follower, index) {
|
|
var fulfill = follower._fulfillmentHandlerAt(index),
|
|
reject = follower._rejectionHandlerAt(index),
|
|
promise = follower._promiseAt(index),
|
|
receiver = follower._receiverAt(index);
|
|
void 0 === receiver && (receiver = UNDEFINED_BINDING), this._addCallbacks(fulfill, reject, promise, receiver, null)
|
|
}, Promise.prototype._addCallbacks = function(fulfill, reject, promise, receiver, context) {
|
|
var index = this._length();
|
|
if (index >= 65531 && (index = 0, this._setLength(0)), 0 === index) this._promise0 = promise, this._receiver0 = receiver, "function" == typeof fulfill && (this._fulfillmentHandler0 = util.contextBind(context, fulfill)), "function" == typeof reject && (this._rejectionHandler0 = util.contextBind(context, reject));
|
|
else {
|
|
var base = 4 * index - 4;
|
|
this[base + 2] = promise, this[base + 3] = receiver, "function" == typeof fulfill && (this[base + 0] = util.contextBind(context, fulfill)), "function" == typeof reject && (this[base + 1] = util.contextBind(context, reject))
|
|
}
|
|
return this._setLength(index + 1), index
|
|
}, Promise.prototype._proxy = function(proxyable, arg) {
|
|
this._addCallbacks(void 0, void 0, arg, proxyable, null)
|
|
}, Promise.prototype._resolveCallback = function(value, shouldBind) {
|
|
if (!(117506048 & this._bitField)) {
|
|
if (value === this) return this._rejectCallback(makeSelfResolutionError(), !1);
|
|
var maybePromise = tryConvertToPromise(value, this);
|
|
if (!(maybePromise instanceof Promise)) return this._fulfill(value);
|
|
shouldBind && this._propagateFrom(maybePromise, 2);
|
|
var promise = maybePromise._target();
|
|
if (promise !== this) {
|
|
var bitField = promise._bitField;
|
|
if (50397184 & bitField)
|
|
if (33554432 & bitField) this._fulfill(promise._value());
|
|
else if (16777216 & bitField) this._reject(promise._reason());
|
|
else {
|
|
var reason = new CancellationError("late cancellation observer");
|
|
promise._attachExtraTrace(reason), this._reject(reason)
|
|
} else {
|
|
var len = this._length();
|
|
len > 0 && promise._migrateCallback0(this);
|
|
for (var i = 1; i < len; ++i) promise._migrateCallbackAt(this, i);
|
|
this._setFollowing(), this._setLength(0), this._setFollowee(maybePromise)
|
|
}
|
|
} else this._reject(makeSelfResolutionError())
|
|
}
|
|
}, Promise.prototype._rejectCallback = function(reason, synchronous, ignoreNonErrorWarnings) {
|
|
var trace = util.ensureErrorObject(reason),
|
|
hasStack = trace === reason;
|
|
if (!hasStack && !ignoreNonErrorWarnings && debug.warnings()) {
|
|
var message = "a promise was rejected with a non-error: " + util.classString(reason);
|
|
this._warn(message, !0)
|
|
}
|
|
this._attachExtraTrace(trace, !!synchronous && hasStack), this._reject(reason)
|
|
}, Promise.prototype._resolveFromExecutor = function(executor) {
|
|
if (executor !== INTERNAL) {
|
|
var promise = this;
|
|
this._captureStackTrace(), this._pushContext();
|
|
var synchronous = !0,
|
|
r = this._execute(executor, function(value) {
|
|
promise._resolveCallback(value)
|
|
}, function(reason) {
|
|
promise._rejectCallback(reason, synchronous)
|
|
});
|
|
synchronous = !1, this._popContext(), void 0 !== r && promise._rejectCallback(r, !0)
|
|
}
|
|
}, Promise.prototype._settlePromiseFromHandler = function(handler, receiver, value, promise) {
|
|
var bitField = promise._bitField;
|
|
if (!(65536 & bitField)) {
|
|
var x;
|
|
promise._pushContext(), receiver === APPLY ? value && "number" == typeof value.length ? x = tryCatch(handler).apply(this._boundValue(), value) : (x = errorObj).e = new TypeError("cannot .spread() a non-array: " + util.classString(value)) : x = tryCatch(handler).call(receiver, value);
|
|
var promiseCreated = promise._popContext();
|
|
65536 & (bitField = promise._bitField) || (x === NEXT_FILTER ? promise._reject(value) : x === errorObj ? promise._rejectCallback(x.e, !1) : (debug.checkForgottenReturns(x, promiseCreated, "", promise, this), promise._resolveCallback(x)))
|
|
}
|
|
}, Promise.prototype._target = function() {
|
|
for (var ret = this; ret._isFollowing();) ret = ret._followee();
|
|
return ret
|
|
}, Promise.prototype._followee = function() {
|
|
return this._rejectionHandler0
|
|
}, Promise.prototype._setFollowee = function(promise) {
|
|
this._rejectionHandler0 = promise
|
|
}, Promise.prototype._settlePromise = function(promise, handler, receiver, value) {
|
|
var isPromise = promise instanceof Promise,
|
|
bitField = this._bitField,
|
|
asyncGuaranteed = !!(134217728 & bitField);
|
|
65536 & bitField ? (isPromise && promise._invokeInternalOnCancel(), receiver instanceof PassThroughHandlerContext && receiver.isFinallyHandler() ? (receiver.cancelPromise = promise, tryCatch(handler).call(receiver, value) === errorObj && promise._reject(errorObj.e)) : handler === reflectHandler ? promise._fulfill(reflectHandler.call(receiver)) : receiver instanceof Proxyable ? receiver._promiseCancelled(promise) : isPromise || promise instanceof PromiseArray ? promise._cancel() : receiver.cancel()) : "function" == typeof handler ? isPromise ? (asyncGuaranteed && promise._setAsyncGuaranteed(), this._settlePromiseFromHandler(handler, receiver, value, promise)) : handler.call(receiver, value, promise) : receiver instanceof Proxyable ? receiver._isResolved() || (33554432 & bitField ? receiver._promiseFulfilled(value, promise) : receiver._promiseRejected(value, promise)) : isPromise && (asyncGuaranteed && promise._setAsyncGuaranteed(), 33554432 & bitField ? promise._fulfill(value) : promise._reject(value))
|
|
}, Promise.prototype._settlePromiseLateCancellationObserver = function(ctx) {
|
|
var handler = ctx.handler,
|
|
promise = ctx.promise,
|
|
receiver = ctx.receiver,
|
|
value = ctx.value;
|
|
"function" == typeof handler ? promise instanceof Promise ? this._settlePromiseFromHandler(handler, receiver, value, promise) : handler.call(receiver, value, promise) : promise instanceof Promise && promise._reject(value)
|
|
}, Promise.prototype._settlePromiseCtx = function(ctx) {
|
|
this._settlePromise(ctx.promise, ctx.handler, ctx.receiver, ctx.value)
|
|
}, Promise.prototype._settlePromise0 = function(handler, value, bitField) {
|
|
var promise = this._promise0,
|
|
receiver = this._receiverAt(0);
|
|
this._promise0 = void 0, this._receiver0 = void 0, this._settlePromise(promise, handler, receiver, value)
|
|
}, Promise.prototype._clearCallbackDataAtIndex = function(index) {
|
|
var base = 4 * index - 4;
|
|
this[base + 2] = this[base + 3] = this[base + 0] = this[base + 1] = void 0
|
|
}, Promise.prototype._fulfill = function(value) {
|
|
var bitField = this._bitField;
|
|
if (!((117506048 & bitField) >>> 16)) {
|
|
if (value === this) {
|
|
var err = makeSelfResolutionError();
|
|
return this._attachExtraTrace(err), this._reject(err)
|
|
}
|
|
this._setFulfilled(), this._rejectionHandler0 = value, (65535 & bitField) > 0 && (134217728 & bitField ? this._settlePromises() : async.settlePromises(this), this._dereferenceTrace())
|
|
}
|
|
}, Promise.prototype._reject = function(reason) {
|
|
var bitField = this._bitField;
|
|
if (!((117506048 & bitField) >>> 16)) {
|
|
if (this._setRejected(), this._fulfillmentHandler0 = reason, this._isFinal()) return async.fatalError(reason, util.isNode);
|
|
(65535 & bitField) > 0 ? async.settlePromises(this): this._ensurePossibleRejectionHandled()
|
|
}
|
|
}, Promise.prototype._fulfillPromises = function(len, value) {
|
|
for (var i = 1; i < len; i++) {
|
|
var handler = this._fulfillmentHandlerAt(i),
|
|
promise = this._promiseAt(i),
|
|
receiver = this._receiverAt(i);
|
|
this._clearCallbackDataAtIndex(i), this._settlePromise(promise, handler, receiver, value)
|
|
}
|
|
}, Promise.prototype._rejectPromises = function(len, reason) {
|
|
for (var i = 1; i < len; i++) {
|
|
var handler = this._rejectionHandlerAt(i),
|
|
promise = this._promiseAt(i),
|
|
receiver = this._receiverAt(i);
|
|
this._clearCallbackDataAtIndex(i), this._settlePromise(promise, handler, receiver, reason)
|
|
}
|
|
}, Promise.prototype._settlePromises = function() {
|
|
var bitField = this._bitField,
|
|
len = 65535 & bitField;
|
|
if (len > 0) {
|
|
if (16842752 & bitField) {
|
|
var reason = this._fulfillmentHandler0;
|
|
this._settlePromise0(this._rejectionHandler0, reason, bitField), this._rejectPromises(len, reason)
|
|
} else {
|
|
var value = this._rejectionHandler0;
|
|
this._settlePromise0(this._fulfillmentHandler0, value, bitField), this._fulfillPromises(len, value)
|
|
}
|
|
this._setLength(0)
|
|
}
|
|
this._clearCancellationData()
|
|
}, Promise.prototype._settledValue = function() {
|
|
var bitField = this._bitField;
|
|
return 33554432 & bitField ? this._rejectionHandler0 : 16777216 & bitField ? this._fulfillmentHandler0 : void 0
|
|
}, "undefined" != typeof Symbol && Symbol.toStringTag && es5.defineProperty(Promise.prototype, Symbol.toStringTag, {
|
|
get: function() {
|
|
return "Object"
|
|
}
|
|
}), Promise.defer = Promise.pending = function() {
|
|
return debug.deprecated("Promise.defer", "new Promise"), {
|
|
promise: new Promise(INTERNAL),
|
|
resolve: deferResolve,
|
|
reject: deferReject
|
|
}
|
|
}, util.notEnumerableProp(Promise, "_makeSelfResolutionError", makeSelfResolutionError), _dereq_("./method")(Promise, INTERNAL, tryConvertToPromise, apiRejection, debug), _dereq_("./bind")(Promise, INTERNAL, tryConvertToPromise, debug), _dereq_("./cancel")(Promise, PromiseArray, apiRejection, debug), _dereq_("./direct_resolve")(Promise), _dereq_("./synchronous_inspection")(Promise), _dereq_("./join")(Promise, PromiseArray, tryConvertToPromise, INTERNAL, async), Promise.Promise = Promise, Promise.version = "3.7.2", _dereq_("./call_get.js")(Promise), _dereq_("./generators.js")(Promise, apiRejection, INTERNAL, tryConvertToPromise, Proxyable, debug), _dereq_("./map.js")(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug), _dereq_("./nodeify.js")(Promise), _dereq_("./promisify.js")(Promise, INTERNAL), _dereq_("./props.js")(Promise, PromiseArray, tryConvertToPromise, apiRejection), _dereq_("./race.js")(Promise, INTERNAL, tryConvertToPromise, apiRejection), _dereq_("./reduce.js")(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug), _dereq_("./settle.js")(Promise, PromiseArray, debug), _dereq_("./some.js")(Promise, PromiseArray, apiRejection), _dereq_("./timers.js")(Promise, INTERNAL, debug), _dereq_("./using.js")(Promise, apiRejection, tryConvertToPromise, createContext, INTERNAL, debug), _dereq_("./any.js")(Promise), _dereq_("./each.js")(Promise, INTERNAL), _dereq_("./filter.js")(Promise, INTERNAL), util.toFastProperties(Promise), util.toFastProperties(Promise.prototype), fillTypes({
|
|
a: 1
|
|
}), fillTypes({
|
|
b: 2
|
|
}), fillTypes({
|
|
c: 3
|
|
}), fillTypes(1), fillTypes(function() {}), fillTypes(void 0), fillTypes(!1), fillTypes(new Promise(INTERNAL)), debug.setBounds(Async.firstLineError, util.lastLineError), Promise
|
|
}
|
|
}, {
|
|
"./any.js": 1,
|
|
"./async": 2,
|
|
"./bind": 3,
|
|
"./call_get.js": 5,
|
|
"./cancel": 6,
|
|
"./catch_filter": 7,
|
|
"./context": 8,
|
|
"./debuggability": 9,
|
|
"./direct_resolve": 10,
|
|
"./each.js": 11,
|
|
"./errors": 12,
|
|
"./es5": 13,
|
|
"./filter.js": 14,
|
|
"./finally": 15,
|
|
"./generators.js": 16,
|
|
"./join": 17,
|
|
"./map.js": 18,
|
|
"./method": 19,
|
|
"./nodeback": 20,
|
|
"./nodeify.js": 21,
|
|
"./promise_array": 23,
|
|
"./promisify.js": 24,
|
|
"./props.js": 25,
|
|
"./race.js": 27,
|
|
"./reduce.js": 28,
|
|
"./settle.js": 30,
|
|
"./some.js": 31,
|
|
"./synchronous_inspection": 32,
|
|
"./thenables": 33,
|
|
"./timers.js": 34,
|
|
"./using.js": 35,
|
|
"./util": 36,
|
|
async_hooks: void 0
|
|
}],
|
|
23: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
module.exports = function(Promise, INTERNAL, tryConvertToPromise, apiRejection, Proxyable) {
|
|
var util = _dereq_("./util");
|
|
|
|
function toResolutionValue(val) {
|
|
switch (val) {
|
|
case -2:
|
|
return [];
|
|
case -3:
|
|
return {};
|
|
case -6:
|
|
return new Map
|
|
}
|
|
}
|
|
|
|
function PromiseArray(values) {
|
|
var promise = this._promise = new Promise(INTERNAL);
|
|
values instanceof Promise && (promise._propagateFrom(values, 3), values.suppressUnhandledRejections()), promise._setOnCancel(this), this._values = values, this._length = 0, this._totalResolved = 0, this._init(void 0, -2)
|
|
}
|
|
return util.isArray, util.inherits(PromiseArray, Proxyable), PromiseArray.prototype.length = function() {
|
|
return this._length
|
|
}, PromiseArray.prototype.promise = function() {
|
|
return this._promise
|
|
}, PromiseArray.prototype._init = function init(_, resolveValueIfEmpty) {
|
|
var values = tryConvertToPromise(this._values, this._promise);
|
|
if (values instanceof Promise) {
|
|
var bitField = (values = values._target())._bitField;
|
|
if (this._values = values, !(50397184 & bitField)) return this._promise._setAsyncGuaranteed(), values._then(init, this._reject, void 0, this, resolveValueIfEmpty);
|
|
if (!(33554432 & bitField)) return 16777216 & bitField ? this._reject(values._reason()) : this._cancel();
|
|
values = values._value()
|
|
}
|
|
if (null !== (values = util.asArray(values))) 0 !== values.length ? this._iterate(values) : -5 === resolveValueIfEmpty ? this._resolveEmptyArray() : this._resolve(toResolutionValue(resolveValueIfEmpty));
|
|
else {
|
|
var err = apiRejection("expecting an array or an iterable object but got " + util.classString(values)).reason();
|
|
this._promise._rejectCallback(err, !1)
|
|
}
|
|
}, PromiseArray.prototype._iterate = function(values) {
|
|
var len = this.getActualLength(values.length);
|
|
this._length = len, this._values = this.shouldCopyValues() ? new Array(len) : this._values;
|
|
for (var result = this._promise, isResolved = !1, bitField = null, i = 0; i < len; ++i) {
|
|
var maybePromise = tryConvertToPromise(values[i], result);
|
|
bitField = maybePromise instanceof Promise ? (maybePromise = maybePromise._target())._bitField : null, isResolved ? null !== bitField && maybePromise.suppressUnhandledRejections() : null !== bitField ? 50397184 & bitField ? isResolved = 33554432 & bitField ? this._promiseFulfilled(maybePromise._value(), i) : 16777216 & bitField ? this._promiseRejected(maybePromise._reason(), i) : this._promiseCancelled(i) : (maybePromise._proxy(this, i), this._values[i] = maybePromise) : isResolved = this._promiseFulfilled(maybePromise, i)
|
|
}
|
|
isResolved || result._setAsyncGuaranteed()
|
|
}, PromiseArray.prototype._isResolved = function() {
|
|
return null === this._values
|
|
}, PromiseArray.prototype._resolve = function(value) {
|
|
this._values = null, this._promise._fulfill(value)
|
|
}, PromiseArray.prototype._cancel = function() {
|
|
!this._isResolved() && this._promise._isCancellable() && (this._values = null, this._promise._cancel())
|
|
}, PromiseArray.prototype._reject = function(reason) {
|
|
this._values = null, this._promise._rejectCallback(reason, !1)
|
|
}, PromiseArray.prototype._promiseFulfilled = function(value, index) {
|
|
return this._values[index] = value, ++this._totalResolved >= this._length && (this._resolve(this._values), !0)
|
|
}, PromiseArray.prototype._promiseCancelled = function() {
|
|
return this._cancel(), !0
|
|
}, PromiseArray.prototype._promiseRejected = function(reason) {
|
|
return this._totalResolved++, this._reject(reason), !0
|
|
}, PromiseArray.prototype._resultCancelled = function() {
|
|
if (!this._isResolved()) {
|
|
var values = this._values;
|
|
if (this._cancel(), values instanceof Promise) values.cancel();
|
|
else
|
|
for (var i = 0; i < values.length; ++i) values[i] instanceof Promise && values[i].cancel()
|
|
}
|
|
}, PromiseArray.prototype.shouldCopyValues = function() {
|
|
return !0
|
|
}, PromiseArray.prototype.getActualLength = function(len) {
|
|
return len
|
|
}, PromiseArray
|
|
}
|
|
}, {
|
|
"./util": 36
|
|
}],
|
|
24: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
module.exports = function(Promise, INTERNAL) {
|
|
var THIS = {},
|
|
util = _dereq_("./util"),
|
|
nodebackForPromise = _dereq_("./nodeback"),
|
|
withAppended = util.withAppended,
|
|
maybeWrapAsError = util.maybeWrapAsError,
|
|
canEvaluate = util.canEvaluate,
|
|
TypeError = _dereq_("./errors").TypeError,
|
|
defaultSuffix = "Async",
|
|
defaultPromisified = {
|
|
__isPromisified__: !0
|
|
},
|
|
noCopyPropsPattern = new RegExp("^(?:" + ["arity", "length", "name", "arguments", "caller", "callee", "prototype", "__isPromisified__"].join("|") + ")$"),
|
|
defaultFilter = function(name) {
|
|
return util.isIdentifier(name) && "_" !== name.charAt(0) && "constructor" !== name
|
|
};
|
|
|
|
function propsFilter(key) {
|
|
return !noCopyPropsPattern.test(key)
|
|
}
|
|
|
|
function isPromisified(fn) {
|
|
try {
|
|
return !0 === fn.__isPromisified__
|
|
} catch (e) {
|
|
return !1
|
|
}
|
|
}
|
|
|
|
function hasPromisified(obj, key, suffix) {
|
|
var val = util.getDataPropertyOrDefault(obj, key + suffix, defaultPromisified);
|
|
return !!val && isPromisified(val)
|
|
}
|
|
|
|
function checkValid(ret, suffix, suffixRegexp) {
|
|
for (var i = 0; i < ret.length; i += 2) {
|
|
var key = ret[i];
|
|
if (suffixRegexp.test(key))
|
|
for (var keyWithoutAsyncSuffix = key.replace(suffixRegexp, ""), j = 0; j < ret.length; j += 2)
|
|
if (ret[j] === keyWithoutAsyncSuffix) throw new TypeError("Cannot promisify an API that has normal methods with '%s'-suffix\n\n See http://goo.gl/MqrFmX\n".replace("%s", suffix))
|
|
}
|
|
}
|
|
|
|
function promisifiableMethods(obj, suffix, suffixRegexp, filter) {
|
|
for (var keys = util.inheritedDataKeys(obj), ret = [], i = 0; i < keys.length; ++i) {
|
|
var key = keys[i],
|
|
value = obj[key],
|
|
passesDefaultFilter = filter === defaultFilter || defaultFilter(key, value, obj);
|
|
"function" != typeof value || isPromisified(value) || hasPromisified(obj, key, suffix) || !filter(key, value, obj, passesDefaultFilter) || ret.push(key, value)
|
|
}
|
|
return checkValid(ret, suffix, suffixRegexp), ret
|
|
}
|
|
var makeNodePromisifiedEval, escapeIdentRegex = function(str) {
|
|
return str.replace(/([$])/, "\\$")
|
|
};
|
|
|
|
function makeNodePromisifiedClosure(callback, receiver, _, fn, __, multiArgs) {
|
|
var defaultThis = function() {
|
|
return this
|
|
}(),
|
|
method = callback;
|
|
|
|
function promisified() {
|
|
var _receiver = receiver;
|
|
receiver === THIS && (_receiver = this);
|
|
var promise = new Promise(INTERNAL);
|
|
promise._captureStackTrace();
|
|
var cb = "string" == typeof method && this !== defaultThis ? this[method] : callback,
|
|
fn = nodebackForPromise(promise, multiArgs);
|
|
try {
|
|
cb.apply(_receiver, withAppended(arguments, fn))
|
|
} catch (e) {
|
|
promise._rejectCallback(maybeWrapAsError(e), !0, !0)
|
|
}
|
|
return promise._isFateSealed() || promise._setAsyncGuaranteed(), promise
|
|
}
|
|
return "string" == typeof method && (callback = fn), util.notEnumerableProp(promisified, "__isPromisified__", !0), promisified
|
|
}
|
|
var makeNodePromisified = canEvaluate ? makeNodePromisifiedEval : makeNodePromisifiedClosure;
|
|
|
|
function promisifyAll(obj, suffix, filter, promisifier, multiArgs) {
|
|
for (var suffixRegexp = new RegExp(escapeIdentRegex(suffix) + "$"), methods = promisifiableMethods(obj, suffix, suffixRegexp, filter), i = 0, len = methods.length; i < len; i += 2) {
|
|
var key = methods[i],
|
|
fn = methods[i + 1],
|
|
promisifiedKey = key + suffix;
|
|
if (promisifier === makeNodePromisified) obj[promisifiedKey] = makeNodePromisified(key, THIS, key, fn, suffix, multiArgs);
|
|
else {
|
|
var promisified = promisifier(fn, function() {
|
|
return makeNodePromisified(key, THIS, key, fn, suffix, multiArgs)
|
|
});
|
|
util.notEnumerableProp(promisified, "__isPromisified__", !0), obj[promisifiedKey] = promisified
|
|
}
|
|
}
|
|
return util.toFastProperties(obj), obj
|
|
}
|
|
|
|
function promisify(callback, receiver, multiArgs) {
|
|
return makeNodePromisified(callback, receiver, void 0, callback, null, multiArgs)
|
|
}
|
|
Promise.promisify = function(fn, options) {
|
|
if ("function" != typeof fn) throw new TypeError("expecting a function but got " + util.classString(fn));
|
|
if (isPromisified(fn)) return fn;
|
|
var ret = promisify(fn, void 0 === (options = Object(options)).context ? THIS : options.context, !!options.multiArgs);
|
|
return util.copyDescriptors(fn, ret, propsFilter), ret
|
|
}, Promise.promisifyAll = function(target, options) {
|
|
if ("function" != typeof target && "object" != typeof target) throw new TypeError("the target of promisifyAll must be an object or a function\n\n See http://goo.gl/MqrFmX\n");
|
|
var multiArgs = !!(options = Object(options)).multiArgs,
|
|
suffix = options.suffix;
|
|
"string" != typeof suffix && (suffix = defaultSuffix);
|
|
var filter = options.filter;
|
|
"function" != typeof filter && (filter = defaultFilter);
|
|
var promisifier = options.promisifier;
|
|
if ("function" != typeof promisifier && (promisifier = makeNodePromisified), !util.isIdentifier(suffix)) throw new RangeError("suffix must be a valid identifier\n\n See http://goo.gl/MqrFmX\n");
|
|
for (var keys = util.inheritedDataKeys(target), i = 0; i < keys.length; ++i) {
|
|
var value = target[keys[i]];
|
|
"constructor" !== keys[i] && util.isClass(value) && (promisifyAll(value.prototype, suffix, filter, promisifier, multiArgs), promisifyAll(value, suffix, filter, promisifier, multiArgs))
|
|
}
|
|
return promisifyAll(target, suffix, filter, promisifier, multiArgs)
|
|
}
|
|
}
|
|
}, {
|
|
"./errors": 12,
|
|
"./nodeback": 20,
|
|
"./util": 36
|
|
}],
|
|
25: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
module.exports = function(Promise, PromiseArray, tryConvertToPromise, apiRejection) {
|
|
var Es6Map, util = _dereq_("./util"),
|
|
isObject = util.isObject,
|
|
es5 = _dereq_("./es5");
|
|
"function" == typeof Map && (Es6Map = Map);
|
|
var mapToEntries = function() {
|
|
var index = 0,
|
|
size = 0;
|
|
|
|
function extractEntry(value, key) {
|
|
this[index] = value, this[index + size] = key, index++
|
|
}
|
|
return function(map) {
|
|
size = map.size, index = 0;
|
|
var ret = new Array(2 * map.size);
|
|
return map.forEach(extractEntry, ret), ret
|
|
}
|
|
}(),
|
|
entriesToMap = function(entries) {
|
|
for (var ret = new Es6Map, length = entries.length / 2 | 0, i = 0; i < length; ++i) {
|
|
var key = entries[length + i],
|
|
value = entries[i];
|
|
ret.set(key, value)
|
|
}
|
|
return ret
|
|
};
|
|
|
|
function PropertiesPromiseArray(obj) {
|
|
var entries, isMap = !1;
|
|
if (void 0 !== Es6Map && obj instanceof Es6Map) entries = mapToEntries(obj), isMap = !0;
|
|
else {
|
|
var keys = es5.keys(obj),
|
|
len = keys.length;
|
|
entries = new Array(2 * len);
|
|
for (var i = 0; i < len; ++i) {
|
|
var key = keys[i];
|
|
entries[i] = obj[key], entries[i + len] = key
|
|
}
|
|
}
|
|
this.constructor$(entries), this._isMap = isMap, this._init$(void 0, isMap ? -6 : -3)
|
|
}
|
|
|
|
function props(promises) {
|
|
var ret, castValue = tryConvertToPromise(promises);
|
|
return isObject(castValue) ? (ret = castValue instanceof Promise ? castValue._then(Promise.props, void 0, void 0, void 0, void 0) : new PropertiesPromiseArray(castValue).promise(), castValue instanceof Promise && ret._propagateFrom(castValue, 2), ret) : apiRejection("cannot await properties of a non-object\n\n See http://goo.gl/MqrFmX\n")
|
|
}
|
|
util.inherits(PropertiesPromiseArray, PromiseArray), PropertiesPromiseArray.prototype._init = function() {}, PropertiesPromiseArray.prototype._promiseFulfilled = function(value, index) {
|
|
if (this._values[index] = value, ++this._totalResolved >= this._length) {
|
|
var val;
|
|
if (this._isMap) val = entriesToMap(this._values);
|
|
else {
|
|
val = {};
|
|
for (var keyOffset = this.length(), i = 0, len = this.length(); i < len; ++i) val[this._values[i + keyOffset]] = this._values[i]
|
|
}
|
|
return this._resolve(val), !0
|
|
}
|
|
return !1
|
|
}, PropertiesPromiseArray.prototype.shouldCopyValues = function() {
|
|
return !1
|
|
}, PropertiesPromiseArray.prototype.getActualLength = function(len) {
|
|
return len >> 1
|
|
}, Promise.prototype.props = function() {
|
|
return props(this)
|
|
}, Promise.props = function(promises) {
|
|
return props(promises)
|
|
}
|
|
}
|
|
}, {
|
|
"./es5": 13,
|
|
"./util": 36
|
|
}],
|
|
26: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
|
|
function arrayMove(src, srcIndex, dst, dstIndex, len) {
|
|
for (var j = 0; j < len; ++j) dst[j + dstIndex] = src[j + srcIndex], src[j + srcIndex] = void 0
|
|
}
|
|
|
|
function Queue(capacity) {
|
|
this._capacity = capacity, this._length = 0, this._front = 0
|
|
}
|
|
Queue.prototype._willBeOverCapacity = function(size) {
|
|
return this._capacity < size
|
|
}, Queue.prototype._pushOne = function(arg) {
|
|
var length = this.length();
|
|
this._checkCapacity(length + 1), this[this._front + length & this._capacity - 1] = arg, this._length = length + 1
|
|
}, Queue.prototype.push = function(fn, receiver, arg) {
|
|
var length = this.length() + 3;
|
|
if (this._willBeOverCapacity(length)) return this._pushOne(fn), this._pushOne(receiver), void this._pushOne(arg);
|
|
var j = this._front + length - 3;
|
|
this._checkCapacity(length);
|
|
var wrapMask = this._capacity - 1;
|
|
this[j + 0 & wrapMask] = fn, this[j + 1 & wrapMask] = receiver, this[j + 2 & wrapMask] = arg, this._length = length
|
|
}, Queue.prototype.shift = function() {
|
|
var front = this._front,
|
|
ret = this[front];
|
|
return this[front] = void 0, this._front = front + 1 & this._capacity - 1, this._length--, ret
|
|
}, Queue.prototype.length = function() {
|
|
return this._length
|
|
}, Queue.prototype._checkCapacity = function(size) {
|
|
this._capacity < size && this._resizeTo(this._capacity << 1)
|
|
}, Queue.prototype._resizeTo = function(capacity) {
|
|
var oldCapacity = this._capacity;
|
|
this._capacity = capacity, arrayMove(this, 0, this, oldCapacity, this._front + this._length & oldCapacity - 1)
|
|
}, module.exports = Queue
|
|
}, {}],
|
|
27: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
module.exports = function(Promise, INTERNAL, tryConvertToPromise, apiRejection) {
|
|
var util = _dereq_("./util"),
|
|
raceLater = function(promise) {
|
|
return promise.then(function(array) {
|
|
return race(array, promise)
|
|
})
|
|
};
|
|
|
|
function race(promises, parent) {
|
|
var maybePromise = tryConvertToPromise(promises);
|
|
if (maybePromise instanceof Promise) return raceLater(maybePromise);
|
|
if (null === (promises = util.asArray(promises))) return apiRejection("expecting an array or an iterable object but got " + util.classString(promises));
|
|
var ret = new Promise(INTERNAL);
|
|
void 0 !== parent && ret._propagateFrom(parent, 3);
|
|
for (var fulfill = ret._fulfill, reject = ret._reject, i = 0, len = promises.length; i < len; ++i) {
|
|
var val = promises[i];
|
|
(void 0 !== val || i in promises) && Promise.cast(val)._then(fulfill, reject, void 0, ret, null)
|
|
}
|
|
return ret
|
|
}
|
|
Promise.race = function(promises) {
|
|
return race(promises, void 0)
|
|
}, Promise.prototype.race = function() {
|
|
return race(this, void 0)
|
|
}
|
|
}
|
|
}, {
|
|
"./util": 36
|
|
}],
|
|
28: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
module.exports = function(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug) {
|
|
var util = _dereq_("./util"),
|
|
tryCatch = util.tryCatch;
|
|
|
|
function ReductionPromiseArray(promises, fn, initialValue, _each) {
|
|
this.constructor$(promises);
|
|
var context = Promise._getContext();
|
|
this._fn = util.contextBind(context, fn), void 0 !== initialValue && (initialValue = Promise.resolve(initialValue))._attachCancellationCallback(this), this._initialValue = initialValue, this._currentCancellable = null, this._eachValues = _each === INTERNAL ? Array(this._length) : 0 === _each ? null : void 0, this._promise._captureStackTrace(), this._init$(void 0, -5)
|
|
}
|
|
|
|
function completed(valueOrReason, array) {
|
|
this.isFulfilled() ? array._resolve(valueOrReason) : array._reject(valueOrReason)
|
|
}
|
|
|
|
function reduce(promises, fn, initialValue, _each) {
|
|
return "function" != typeof fn ? apiRejection("expecting a function but got " + util.classString(fn)) : new ReductionPromiseArray(promises, fn, initialValue, _each).promise()
|
|
}
|
|
|
|
function gotAccum(accum) {
|
|
this.accum = accum, this.array._gotAccum(accum);
|
|
var value = tryConvertToPromise(this.value, this.array._promise);
|
|
return value instanceof Promise ? (this.array._currentCancellable = value, value._then(gotValue, void 0, void 0, this, void 0)) : gotValue.call(this, value)
|
|
}
|
|
|
|
function gotValue(value) {
|
|
var ret, array = this.array,
|
|
promise = array._promise,
|
|
fn = tryCatch(array._fn);
|
|
promise._pushContext(), (ret = void 0 !== array._eachValues ? fn.call(promise._boundValue(), value, this.index, this.length) : fn.call(promise._boundValue(), this.accum, value, this.index, this.length)) instanceof Promise && (array._currentCancellable = ret);
|
|
var promiseCreated = promise._popContext();
|
|
return debug.checkForgottenReturns(ret, promiseCreated, void 0 !== array._eachValues ? "Promise.each" : "Promise.reduce", promise), ret
|
|
}
|
|
util.inherits(ReductionPromiseArray, PromiseArray), ReductionPromiseArray.prototype._gotAccum = function(accum) {
|
|
void 0 !== this._eachValues && null !== this._eachValues && accum !== INTERNAL && this._eachValues.push(accum)
|
|
}, ReductionPromiseArray.prototype._eachComplete = function(value) {
|
|
return null !== this._eachValues && this._eachValues.push(value), this._eachValues
|
|
}, ReductionPromiseArray.prototype._init = function() {}, ReductionPromiseArray.prototype._resolveEmptyArray = function() {
|
|
this._resolve(void 0 !== this._eachValues ? this._eachValues : this._initialValue)
|
|
}, ReductionPromiseArray.prototype.shouldCopyValues = function() {
|
|
return !1
|
|
}, ReductionPromiseArray.prototype._resolve = function(value) {
|
|
this._promise._resolveCallback(value), this._values = null
|
|
}, ReductionPromiseArray.prototype._resultCancelled = function(sender) {
|
|
if (sender === this._initialValue) return this._cancel();
|
|
this._isResolved() || (this._resultCancelled$(), this._currentCancellable instanceof Promise && this._currentCancellable.cancel(), this._initialValue instanceof Promise && this._initialValue.cancel())
|
|
}, ReductionPromiseArray.prototype._iterate = function(values) {
|
|
var value, i;
|
|
this._values = values;
|
|
var length = values.length;
|
|
void 0 !== this._initialValue ? (value = this._initialValue, i = 0) : (value = Promise.resolve(values[0]), i = 1), this._currentCancellable = value;
|
|
for (var j = i; j < length; ++j) {
|
|
var maybePromise = values[j];
|
|
maybePromise instanceof Promise && maybePromise.suppressUnhandledRejections()
|
|
}
|
|
if (!value.isRejected())
|
|
for (; i < length; ++i) {
|
|
var ctx = {
|
|
accum: null,
|
|
value: values[i],
|
|
index: i,
|
|
length,
|
|
array: this
|
|
};
|
|
value = value._then(gotAccum, void 0, void 0, ctx, void 0), 127 & i || value._setNoAsyncGuarantee()
|
|
}
|
|
void 0 !== this._eachValues && (value = value._then(this._eachComplete, void 0, void 0, this, void 0)), value._then(completed, completed, void 0, value, this)
|
|
}, Promise.prototype.reduce = function(fn, initialValue) {
|
|
return reduce(this, fn, initialValue, null)
|
|
}, Promise.reduce = function(promises, fn, initialValue, _each) {
|
|
return reduce(promises, fn, initialValue, _each)
|
|
}
|
|
}
|
|
}, {
|
|
"./util": 36
|
|
}],
|
|
29: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
var schedule, util = _dereq_("./util"),
|
|
noAsyncScheduler = function() {
|
|
throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")
|
|
},
|
|
NativePromise = util.getNativePromise();
|
|
if (util.isNode && "undefined" == typeof MutationObserver) {
|
|
var GlobalSetImmediate = __webpack_require__.g.setImmediate,
|
|
ProcessNextTick = process.nextTick;
|
|
schedule = util.isRecentNode ? function(fn) {
|
|
GlobalSetImmediate.call(__webpack_require__.g, fn)
|
|
} : function(fn) {
|
|
ProcessNextTick.call(process, fn)
|
|
}
|
|
} else if ("function" == typeof NativePromise && "function" == typeof NativePromise.resolve) {
|
|
var nativePromise = NativePromise.resolve();
|
|
schedule = function(fn) {
|
|
nativePromise.then(fn)
|
|
}
|
|
} else schedule = "undefined" == typeof MutationObserver || "undefined" != typeof window && window.navigator && (window.navigator.standalone || window.cordova) || !("classList" in document.documentElement) ? "undefined" != typeof setImmediate ? function(fn) {
|
|
setImmediate(fn)
|
|
} : "undefined" != typeof setTimeout ? function(fn) {
|
|
setTimeout(fn, 0)
|
|
} : noAsyncScheduler : function() {
|
|
var div = document.createElement("div"),
|
|
opts = {
|
|
attributes: !0
|
|
},
|
|
toggleScheduled = !1,
|
|
div2 = document.createElement("div");
|
|
new MutationObserver(function() {
|
|
div.classList.toggle("foo"), toggleScheduled = !1
|
|
}).observe(div2, opts);
|
|
var scheduleToggle = function() {
|
|
toggleScheduled || (toggleScheduled = !0, div2.classList.toggle("foo"))
|
|
};
|
|
return function(fn) {
|
|
var o = new MutationObserver(function() {
|
|
o.disconnect(), fn()
|
|
});
|
|
o.observe(div, opts), scheduleToggle()
|
|
}
|
|
}();
|
|
module.exports = schedule
|
|
}, {
|
|
"./util": 36
|
|
}],
|
|
30: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
module.exports = function(Promise, PromiseArray, debug) {
|
|
var PromiseInspection = Promise.PromiseInspection;
|
|
|
|
function SettledPromiseArray(values) {
|
|
this.constructor$(values)
|
|
}
|
|
_dereq_("./util").inherits(SettledPromiseArray, PromiseArray), SettledPromiseArray.prototype._promiseResolved = function(index, inspection) {
|
|
return this._values[index] = inspection, ++this._totalResolved >= this._length && (this._resolve(this._values), !0)
|
|
}, SettledPromiseArray.prototype._promiseFulfilled = function(value, index) {
|
|
var ret = new PromiseInspection;
|
|
return ret._bitField = 33554432, ret._settledValueField = value, this._promiseResolved(index, ret)
|
|
}, SettledPromiseArray.prototype._promiseRejected = function(reason, index) {
|
|
var ret = new PromiseInspection;
|
|
return ret._bitField = 16777216, ret._settledValueField = reason, this._promiseResolved(index, ret)
|
|
}, Promise.settle = function(promises) {
|
|
return debug.deprecated(".settle()", ".reflect()"), new SettledPromiseArray(promises).promise()
|
|
}, Promise.allSettled = function(promises) {
|
|
return new SettledPromiseArray(promises).promise()
|
|
}, Promise.prototype.settle = function() {
|
|
return Promise.settle(this)
|
|
}
|
|
}
|
|
}, {
|
|
"./util": 36
|
|
}],
|
|
31: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
module.exports = function(Promise, PromiseArray, apiRejection) {
|
|
var util = _dereq_("./util"),
|
|
RangeError = _dereq_("./errors").RangeError,
|
|
AggregateError = _dereq_("./errors").AggregateError,
|
|
isArray = util.isArray,
|
|
CANCELLATION = {};
|
|
|
|
function SomePromiseArray(values) {
|
|
this.constructor$(values), this._howMany = 0, this._unwrap = !1, this._initialized = !1
|
|
}
|
|
|
|
function some(promises, howMany) {
|
|
if ((0 | howMany) !== howMany || howMany < 0) return apiRejection("expecting a positive integer\n\n See http://goo.gl/MqrFmX\n");
|
|
var ret = new SomePromiseArray(promises),
|
|
promise = ret.promise();
|
|
return ret.setHowMany(howMany), ret.init(), promise
|
|
}
|
|
util.inherits(SomePromiseArray, PromiseArray), SomePromiseArray.prototype._init = function() {
|
|
if (this._initialized)
|
|
if (0 !== this._howMany) {
|
|
this._init$(void 0, -5);
|
|
var isArrayResolved = isArray(this._values);
|
|
!this._isResolved() && isArrayResolved && this._howMany > this._canPossiblyFulfill() && this._reject(this._getRangeError(this.length()))
|
|
} else this._resolve([])
|
|
}, SomePromiseArray.prototype.init = function() {
|
|
this._initialized = !0, this._init()
|
|
}, SomePromiseArray.prototype.setUnwrap = function() {
|
|
this._unwrap = !0
|
|
}, SomePromiseArray.prototype.howMany = function() {
|
|
return this._howMany
|
|
}, SomePromiseArray.prototype.setHowMany = function(count) {
|
|
this._howMany = count
|
|
}, SomePromiseArray.prototype._promiseFulfilled = function(value) {
|
|
return this._addFulfilled(value), this._fulfilled() === this.howMany() && (this._values.length = this.howMany(), 1 === this.howMany() && this._unwrap ? this._resolve(this._values[0]) : this._resolve(this._values), !0)
|
|
}, SomePromiseArray.prototype._promiseRejected = function(reason) {
|
|
return this._addRejected(reason), this._checkOutcome()
|
|
}, SomePromiseArray.prototype._promiseCancelled = function() {
|
|
return this._values instanceof Promise || null == this._values ? this._cancel() : (this._addRejected(CANCELLATION), this._checkOutcome())
|
|
}, SomePromiseArray.prototype._checkOutcome = function() {
|
|
if (this.howMany() > this._canPossiblyFulfill()) {
|
|
for (var e = new AggregateError, i = this.length(); i < this._values.length; ++i) this._values[i] !== CANCELLATION && e.push(this._values[i]);
|
|
return e.length > 0 ? this._reject(e) : this._cancel(), !0
|
|
}
|
|
return !1
|
|
}, SomePromiseArray.prototype._fulfilled = function() {
|
|
return this._totalResolved
|
|
}, SomePromiseArray.prototype._rejected = function() {
|
|
return this._values.length - this.length()
|
|
}, SomePromiseArray.prototype._addRejected = function(reason) {
|
|
this._values.push(reason)
|
|
}, SomePromiseArray.prototype._addFulfilled = function(value) {
|
|
this._values[this._totalResolved++] = value
|
|
}, SomePromiseArray.prototype._canPossiblyFulfill = function() {
|
|
return this.length() - this._rejected()
|
|
}, SomePromiseArray.prototype._getRangeError = function(count) {
|
|
var message = "Input array must contain at least " + this._howMany + " items but contains only " + count + " items";
|
|
return new RangeError(message)
|
|
}, SomePromiseArray.prototype._resolveEmptyArray = function() {
|
|
this._reject(this._getRangeError(0))
|
|
}, Promise.some = function(promises, howMany) {
|
|
return some(promises, howMany)
|
|
}, Promise.prototype.some = function(howMany) {
|
|
return some(this, howMany)
|
|
}, Promise._SomePromiseArray = SomePromiseArray
|
|
}
|
|
}, {
|
|
"./errors": 12,
|
|
"./util": 36
|
|
}],
|
|
32: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
module.exports = function(Promise) {
|
|
function PromiseInspection(promise) {
|
|
void 0 !== promise ? (promise = promise._target(), this._bitField = promise._bitField, this._settledValueField = promise._isFateSealed() ? promise._settledValue() : void 0) : (this._bitField = 0, this._settledValueField = void 0)
|
|
}
|
|
PromiseInspection.prototype._settledValue = function() {
|
|
return this._settledValueField
|
|
};
|
|
var value = PromiseInspection.prototype.value = function() {
|
|
if (!this.isFulfilled()) throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\n\n See http://goo.gl/MqrFmX\n");
|
|
return this._settledValue()
|
|
},
|
|
reason = PromiseInspection.prototype.error = PromiseInspection.prototype.reason = function() {
|
|
if (!this.isRejected()) throw new TypeError("cannot get rejection reason of a non-rejected promise\n\n See http://goo.gl/MqrFmX\n");
|
|
return this._settledValue()
|
|
},
|
|
isFulfilled = PromiseInspection.prototype.isFulfilled = function() {
|
|
return !!(33554432 & this._bitField)
|
|
},
|
|
isRejected = PromiseInspection.prototype.isRejected = function() {
|
|
return !!(16777216 & this._bitField)
|
|
},
|
|
isPending = PromiseInspection.prototype.isPending = function() {
|
|
return !(50397184 & this._bitField)
|
|
},
|
|
isResolved = PromiseInspection.prototype.isResolved = function() {
|
|
return !!(50331648 & this._bitField)
|
|
};
|
|
PromiseInspection.prototype.isCancelled = function() {
|
|
return !!(8454144 & this._bitField)
|
|
}, Promise.prototype.__isCancelled = function() {
|
|
return !(65536 & ~this._bitField)
|
|
}, Promise.prototype._isCancelled = function() {
|
|
return this._target().__isCancelled()
|
|
}, Promise.prototype.isCancelled = function() {
|
|
return !!(8454144 & this._target()._bitField)
|
|
}, Promise.prototype.isPending = function() {
|
|
return isPending.call(this._target())
|
|
}, Promise.prototype.isRejected = function() {
|
|
return isRejected.call(this._target())
|
|
}, Promise.prototype.isFulfilled = function() {
|
|
return isFulfilled.call(this._target())
|
|
}, Promise.prototype.isResolved = function() {
|
|
return isResolved.call(this._target())
|
|
}, Promise.prototype.value = function() {
|
|
return value.call(this._target())
|
|
}, Promise.prototype.reason = function() {
|
|
var target = this._target();
|
|
return target._unsetRejectionIsUnhandled(), reason.call(target)
|
|
}, Promise.prototype._value = function() {
|
|
return this._settledValue()
|
|
}, Promise.prototype._reason = function() {
|
|
return this._unsetRejectionIsUnhandled(), this._settledValue()
|
|
}, Promise.PromiseInspection = PromiseInspection
|
|
}
|
|
}, {}],
|
|
33: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
module.exports = function(Promise, INTERNAL) {
|
|
var util = _dereq_("./util"),
|
|
errorObj = util.errorObj,
|
|
isObject = util.isObject;
|
|
|
|
function tryConvertToPromise(obj, context) {
|
|
if (isObject(obj)) {
|
|
if (obj instanceof Promise) return obj;
|
|
var then = getThen(obj);
|
|
if (then === errorObj) {
|
|
context && context._pushContext();
|
|
var ret = Promise.reject(then.e);
|
|
return context && context._popContext(), ret
|
|
}
|
|
if ("function" == typeof then) return isAnyBluebirdPromise(obj) ? (ret = new Promise(INTERNAL), obj._then(ret._fulfill, ret._reject, void 0, ret, null), ret) : doThenable(obj, then, context)
|
|
}
|
|
return obj
|
|
}
|
|
|
|
function doGetThen(obj) {
|
|
return obj.then
|
|
}
|
|
|
|
function getThen(obj) {
|
|
try {
|
|
return doGetThen(obj)
|
|
} catch (e) {
|
|
return errorObj.e = e, errorObj
|
|
}
|
|
}
|
|
var hasProp = {}.hasOwnProperty;
|
|
|
|
function isAnyBluebirdPromise(obj) {
|
|
try {
|
|
return hasProp.call(obj, "_promise0")
|
|
} catch (e) {
|
|
return !1
|
|
}
|
|
}
|
|
|
|
function doThenable(x, then, context) {
|
|
var promise = new Promise(INTERNAL),
|
|
ret = promise;
|
|
context && context._pushContext(), promise._captureStackTrace(), context && context._popContext();
|
|
var synchronous = !0,
|
|
result = util.tryCatch(then).call(x, resolve, reject);
|
|
|
|
function resolve(value) {
|
|
promise && (promise._resolveCallback(value), promise = null)
|
|
}
|
|
|
|
function reject(reason) {
|
|
promise && (promise._rejectCallback(reason, synchronous, !0), promise = null)
|
|
}
|
|
return synchronous = !1, promise && result === errorObj && (promise._rejectCallback(result.e, !0, !0), promise = null), ret
|
|
}
|
|
return tryConvertToPromise
|
|
}
|
|
}, {
|
|
"./util": 36
|
|
}],
|
|
34: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
module.exports = function(Promise, INTERNAL, debug) {
|
|
var util = _dereq_("./util"),
|
|
TimeoutError = Promise.TimeoutError;
|
|
|
|
function HandleWrapper(handle) {
|
|
this.handle = handle
|
|
}
|
|
HandleWrapper.prototype._resultCancelled = function() {
|
|
clearTimeout(this.handle)
|
|
};
|
|
var afterValue = function(value) {
|
|
return delay(+this).thenReturn(value)
|
|
},
|
|
delay = Promise.delay = function(ms, value) {
|
|
var ret, handle;
|
|
return void 0 !== value ? (ret = Promise.resolve(value)._then(afterValue, null, null, ms, void 0), debug.cancellation() && value instanceof Promise && ret._setOnCancel(value)) : (ret = new Promise(INTERNAL), handle = setTimeout(function() {
|
|
ret._fulfill()
|
|
}, +ms), debug.cancellation() && ret._setOnCancel(new HandleWrapper(handle)), ret._captureStackTrace()), ret._setAsyncGuaranteed(), ret
|
|
};
|
|
Promise.prototype.delay = function(ms) {
|
|
return delay(ms, this)
|
|
};
|
|
var afterTimeout = function(promise, message, parent) {
|
|
var err;
|
|
err = "string" != typeof message ? message instanceof Error ? message : new TimeoutError("operation timed out") : new TimeoutError(message), util.markAsOriginatingFromRejection(err), promise._attachExtraTrace(err), promise._reject(err), null != parent && parent.cancel()
|
|
};
|
|
|
|
function successClear(value) {
|
|
return clearTimeout(this.handle), value
|
|
}
|
|
|
|
function failureClear(reason) {
|
|
throw clearTimeout(this.handle), reason
|
|
}
|
|
Promise.prototype.timeout = function(ms, message) {
|
|
var ret, parent;
|
|
ms = +ms;
|
|
var handleWrapper = new HandleWrapper(setTimeout(function() {
|
|
ret.isPending() && afterTimeout(ret, message, parent)
|
|
}, ms));
|
|
return debug.cancellation() ? (parent = this.then(), (ret = parent._then(successClear, failureClear, void 0, handleWrapper, void 0))._setOnCancel(handleWrapper)) : ret = this._then(successClear, failureClear, void 0, handleWrapper, void 0), ret
|
|
}
|
|
}
|
|
}, {
|
|
"./util": 36
|
|
}],
|
|
35: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
module.exports = function(Promise, apiRejection, tryConvertToPromise, createContext, INTERNAL, debug) {
|
|
var util = _dereq_("./util"),
|
|
TypeError = _dereq_("./errors").TypeError,
|
|
inherits = _dereq_("./util").inherits,
|
|
errorObj = util.errorObj,
|
|
tryCatch = util.tryCatch,
|
|
NULL = {};
|
|
|
|
function thrower(e) {
|
|
setTimeout(function() {
|
|
throw e
|
|
}, 0)
|
|
}
|
|
|
|
function castPreservingDisposable(thenable) {
|
|
var maybePromise = tryConvertToPromise(thenable);
|
|
return maybePromise !== thenable && "function" == typeof thenable._isDisposable && "function" == typeof thenable._getDisposer && thenable._isDisposable() && maybePromise._setDisposable(thenable._getDisposer()), maybePromise
|
|
}
|
|
|
|
function dispose(resources, inspection) {
|
|
var i = 0,
|
|
len = resources.length,
|
|
ret = new Promise(INTERNAL);
|
|
|
|
function iterator() {
|
|
if (i >= len) return ret._fulfill();
|
|
var maybePromise = castPreservingDisposable(resources[i++]);
|
|
if (maybePromise instanceof Promise && maybePromise._isDisposable()) {
|
|
try {
|
|
maybePromise = tryConvertToPromise(maybePromise._getDisposer().tryDispose(inspection), resources.promise)
|
|
} catch (e) {
|
|
return thrower(e)
|
|
}
|
|
if (maybePromise instanceof Promise) return maybePromise._then(iterator, thrower, null, null, null)
|
|
}
|
|
iterator()
|
|
}
|
|
return iterator(), ret
|
|
}
|
|
|
|
function Disposer(data, promise, context) {
|
|
this._data = data, this._promise = promise, this._context = context
|
|
}
|
|
|
|
function FunctionDisposer(fn, promise, context) {
|
|
this.constructor$(fn, promise, context)
|
|
}
|
|
|
|
function maybeUnwrapDisposer(value) {
|
|
return Disposer.isDisposer(value) ? (this.resources[this.index]._setDisposable(value), value.promise()) : value
|
|
}
|
|
|
|
function ResourceList(length) {
|
|
this.length = length, this.promise = null, this[length - 1] = null
|
|
}
|
|
Disposer.prototype.data = function() {
|
|
return this._data
|
|
}, Disposer.prototype.promise = function() {
|
|
return this._promise
|
|
}, Disposer.prototype.resource = function() {
|
|
return this.promise().isFulfilled() ? this.promise().value() : NULL
|
|
}, Disposer.prototype.tryDispose = function(inspection) {
|
|
var resource = this.resource(),
|
|
context = this._context;
|
|
void 0 !== context && context._pushContext();
|
|
var ret = resource !== NULL ? this.doDispose(resource, inspection) : null;
|
|
return void 0 !== context && context._popContext(), this._promise._unsetDisposable(), this._data = null, ret
|
|
}, Disposer.isDisposer = function(d) {
|
|
return null != d && "function" == typeof d.resource && "function" == typeof d.tryDispose
|
|
}, inherits(FunctionDisposer, Disposer), FunctionDisposer.prototype.doDispose = function(resource, inspection) {
|
|
return this.data().call(resource, resource, inspection)
|
|
}, ResourceList.prototype._resultCancelled = function() {
|
|
for (var len = this.length, i = 0; i < len; ++i) {
|
|
var item = this[i];
|
|
item instanceof Promise && item.cancel()
|
|
}
|
|
}, Promise.using = function() {
|
|
var len = arguments.length;
|
|
if (len < 2) return apiRejection("you must pass at least 2 arguments to Promise.using");
|
|
var input, fn = arguments[len - 1];
|
|
if ("function" != typeof fn) return apiRejection("expecting a function but got " + util.classString(fn));
|
|
var spreadArgs = !0;
|
|
2 === len && Array.isArray(arguments[0]) ? (len = (input = arguments[0]).length, spreadArgs = !1) : (input = arguments, len--);
|
|
for (var resources = new ResourceList(len), i = 0; i < len; ++i) {
|
|
var resource = input[i];
|
|
if (Disposer.isDisposer(resource)) {
|
|
var disposer = resource;
|
|
(resource = resource.promise())._setDisposable(disposer)
|
|
} else {
|
|
var maybePromise = tryConvertToPromise(resource);
|
|
maybePromise instanceof Promise && (resource = maybePromise._then(maybeUnwrapDisposer, null, null, {
|
|
resources,
|
|
index: i
|
|
}, void 0))
|
|
}
|
|
resources[i] = resource
|
|
}
|
|
var reflectedResources = new Array(resources.length);
|
|
for (i = 0; i < reflectedResources.length; ++i) reflectedResources[i] = Promise.resolve(resources[i]).reflect();
|
|
var resultPromise = Promise.all(reflectedResources).then(function(inspections) {
|
|
for (var i = 0; i < inspections.length; ++i) {
|
|
var inspection = inspections[i];
|
|
if (inspection.isRejected()) return errorObj.e = inspection.error(), errorObj;
|
|
if (!inspection.isFulfilled()) return void resultPromise.cancel();
|
|
inspections[i] = inspection.value()
|
|
}
|
|
promise._pushContext(), fn = tryCatch(fn);
|
|
var ret = spreadArgs ? fn.apply(void 0, inspections) : fn(inspections),
|
|
promiseCreated = promise._popContext();
|
|
return debug.checkForgottenReturns(ret, promiseCreated, "Promise.using", promise), ret
|
|
}),
|
|
promise = resultPromise.lastly(function() {
|
|
var inspection = new Promise.PromiseInspection(resultPromise);
|
|
return dispose(resources, inspection)
|
|
});
|
|
return resources.promise = promise, promise._setOnCancel(resources), promise
|
|
}, Promise.prototype._setDisposable = function(disposer) {
|
|
this._bitField = 131072 | this._bitField, this._disposer = disposer
|
|
}, Promise.prototype._isDisposable = function() {
|
|
return (131072 & this._bitField) > 0
|
|
}, Promise.prototype._getDisposer = function() {
|
|
return this._disposer
|
|
}, Promise.prototype._unsetDisposable = function() {
|
|
this._bitField = -131073 & this._bitField, this._disposer = void 0
|
|
}, Promise.prototype.disposer = function(fn) {
|
|
if ("function" == typeof fn) return new FunctionDisposer(fn, this, createContext());
|
|
throw new TypeError
|
|
}
|
|
}
|
|
}, {
|
|
"./errors": 12,
|
|
"./util": 36
|
|
}],
|
|
36: [function(_dereq_, module, exports) {
|
|
"use strict";
|
|
var tryCatchTarget, es5 = _dereq_("./es5"),
|
|
canEvaluate = "undefined" == typeof navigator,
|
|
errorObj = {
|
|
e: {}
|
|
},
|
|
globalObject = "undefined" != typeof self ? self : "undefined" != typeof window ? window : void 0 !== __webpack_require__.g ? __webpack_require__.g : void 0 !== this ? this : null;
|
|
|
|
function tryCatcher() {
|
|
try {
|
|
var target = tryCatchTarget;
|
|
return tryCatchTarget = null, target.apply(this, arguments)
|
|
} catch (e) {
|
|
return errorObj.e = e, errorObj
|
|
}
|
|
}
|
|
|
|
function tryCatch(fn) {
|
|
return tryCatchTarget = fn, tryCatcher
|
|
}
|
|
var inherits = function(Child, Parent) {
|
|
var hasProp = {}.hasOwnProperty;
|
|
|
|
function T() {
|
|
for (var propertyName in this.constructor = Child, this.constructor$ = Parent, Parent.prototype) hasProp.call(Parent.prototype, propertyName) && "$" !== propertyName.charAt(propertyName.length - 1) && (this[propertyName + "$"] = Parent.prototype[propertyName])
|
|
}
|
|
return T.prototype = Parent.prototype, Child.prototype = new T, Child.prototype
|
|
};
|
|
|
|
function isPrimitive(val) {
|
|
return null == val || !0 === val || !1 === val || "string" == typeof val || "number" == typeof val
|
|
}
|
|
|
|
function isObject(value) {
|
|
return "function" == typeof value || "object" == typeof value && null !== value
|
|
}
|
|
|
|
function maybeWrapAsError(maybeError) {
|
|
return isPrimitive(maybeError) ? new Error(safeToString(maybeError)) : maybeError
|
|
}
|
|
|
|
function withAppended(target, appendee) {
|
|
var i, len = target.length,
|
|
ret = new Array(len + 1);
|
|
for (i = 0; i < len; ++i) ret[i] = target[i];
|
|
return ret[i] = appendee, ret
|
|
}
|
|
|
|
function getDataPropertyOrDefault(obj, key, defaultValue) {
|
|
if (!es5.isES5) return {}.hasOwnProperty.call(obj, key) ? obj[key] : void 0;
|
|
var desc = Object.getOwnPropertyDescriptor(obj, key);
|
|
return null != desc ? null == desc.get && null == desc.set ? desc.value : defaultValue : void 0
|
|
}
|
|
|
|
function notEnumerableProp(obj, name, value) {
|
|
if (isPrimitive(obj)) return obj;
|
|
var descriptor = {
|
|
value,
|
|
configurable: !0,
|
|
enumerable: !1,
|
|
writable: !0
|
|
};
|
|
return es5.defineProperty(obj, name, descriptor), obj
|
|
}
|
|
|
|
function thrower(r) {
|
|
throw r
|
|
}
|
|
var inheritedDataKeys = function() {
|
|
var excludedPrototypes = [Array.prototype, Object.prototype, Function.prototype],
|
|
isExcludedProto = function(val) {
|
|
for (var i = 0; i < excludedPrototypes.length; ++i)
|
|
if (excludedPrototypes[i] === val) return !0;
|
|
return !1
|
|
};
|
|
if (es5.isES5) {
|
|
var getKeys = Object.getOwnPropertyNames;
|
|
return function(obj) {
|
|
for (var ret = [], visitedKeys = Object.create(null); null != obj && !isExcludedProto(obj);) {
|
|
var keys;
|
|
try {
|
|
keys = getKeys(obj)
|
|
} catch (e) {
|
|
return ret
|
|
}
|
|
for (var i = 0; i < keys.length; ++i) {
|
|
var key = keys[i];
|
|
if (!visitedKeys[key]) {
|
|
visitedKeys[key] = !0;
|
|
var desc = Object.getOwnPropertyDescriptor(obj, key);
|
|
null != desc && null == desc.get && null == desc.set && ret.push(key)
|
|
}
|
|
}
|
|
obj = es5.getPrototypeOf(obj)
|
|
}
|
|
return ret
|
|
}
|
|
}
|
|
var hasProp = {}.hasOwnProperty;
|
|
return function(obj) {
|
|
if (isExcludedProto(obj)) return [];
|
|
var ret = [];
|
|
enumeration: for (var key in obj)
|
|
if (hasProp.call(obj, key)) ret.push(key);
|
|
else {
|
|
for (var i = 0; i < excludedPrototypes.length; ++i)
|
|
if (hasProp.call(excludedPrototypes[i], key)) continue enumeration;
|
|
ret.push(key)
|
|
}
|
|
return ret
|
|
}
|
|
}(),
|
|
thisAssignmentPattern = /this\s*\.\s*\S+\s*=/;
|
|
|
|
function isClass(fn) {
|
|
try {
|
|
if ("function" == typeof fn) {
|
|
var keys = es5.names(fn.prototype),
|
|
hasMethods = es5.isES5 && keys.length > 1,
|
|
hasMethodsOtherThanConstructor = keys.length > 0 && !(1 === keys.length && "constructor" === keys[0]),
|
|
hasThisAssignmentAndStaticMethods = thisAssignmentPattern.test(fn + "") && es5.names(fn).length > 0;
|
|
if (hasMethods || hasMethodsOtherThanConstructor || hasThisAssignmentAndStaticMethods) return !0
|
|
}
|
|
return !1
|
|
} catch (e) {
|
|
return !1
|
|
}
|
|
}
|
|
|
|
function toFastProperties(obj) {
|
|
function FakeConstructor() {}
|
|
FakeConstructor.prototype = obj;
|
|
var receiver = new FakeConstructor;
|
|
|
|
function ic() {
|
|
return typeof receiver.foo
|
|
}
|
|
return ic(), ic(), obj
|
|
}
|
|
var rident = /^[a-z$_][a-z$_0-9]*$/i;
|
|
|
|
function isIdentifier(str) {
|
|
return rident.test(str)
|
|
}
|
|
|
|
function filledRange(count, prefix, suffix) {
|
|
for (var ret = new Array(count), i = 0; i < count; ++i) ret[i] = prefix + i + suffix;
|
|
return ret
|
|
}
|
|
|
|
function safeToString(obj) {
|
|
try {
|
|
return obj + ""
|
|
} catch (e) {
|
|
return "[no string representation]"
|
|
}
|
|
}
|
|
|
|
function isError(obj) {
|
|
return obj instanceof Error || null !== obj && "object" == typeof obj && "string" == typeof obj.message && "string" == typeof obj.name
|
|
}
|
|
|
|
function markAsOriginatingFromRejection(e) {
|
|
try {
|
|
notEnumerableProp(e, "isOperational", !0)
|
|
} catch (ignore) {}
|
|
}
|
|
|
|
function originatesFromRejection(e) {
|
|
return null != e && (e instanceof Error.__BluebirdErrorTypes__.OperationalError || !0 === e.isOperational)
|
|
}
|
|
|
|
function canAttachTrace(obj) {
|
|
return isError(obj) && es5.propertyIsWritable(obj, "stack")
|
|
}
|
|
var ensureErrorObject = "stack" in new Error ? function(value) {
|
|
return canAttachTrace(value) ? value : new Error(safeToString(value))
|
|
} : function(value) {
|
|
if (canAttachTrace(value)) return value;
|
|
try {
|
|
throw new Error(safeToString(value))
|
|
} catch (err) {
|
|
return err
|
|
}
|
|
};
|
|
|
|
function classString(obj) {
|
|
return {}.toString.call(obj)
|
|
}
|
|
|
|
function copyDescriptors(from, to, filter) {
|
|
for (var keys = es5.names(from), i = 0; i < keys.length; ++i) {
|
|
var key = keys[i];
|
|
if (filter(key)) try {
|
|
es5.defineProperty(to, key, es5.getDescriptor(from, key))
|
|
} catch (ignore) {}
|
|
}
|
|
}
|
|
var asArray = function(v) {
|
|
return es5.isArray(v) ? v : null
|
|
};
|
|
if ("undefined" != typeof Symbol && Symbol.iterator) {
|
|
var ArrayFrom = "function" == typeof Array.from ? function(v) {
|
|
return Array.from(v)
|
|
} : function(v) {
|
|
for (var itResult, ret = [], it = v[Symbol.iterator](); !(itResult = it.next()).done;) ret.push(itResult.value);
|
|
return ret
|
|
};
|
|
asArray = function(v) {
|
|
return es5.isArray(v) ? v : null != v && "function" == typeof v[Symbol.iterator] ? ArrayFrom(v) : null
|
|
}
|
|
}
|
|
var reflectHandler, isNode = void 0 !== process && "[object process]" === classString(process).toLowerCase(),
|
|
hasEnvVariables = void 0 !== process && void 0 !== process.env;
|
|
|
|
function env(key) {
|
|
return hasEnvVariables ? process.env[key] : void 0
|
|
}
|
|
|
|
function getNativePromise() {
|
|
if ("function" == typeof Promise) try {
|
|
if ("[object Promise]" === classString(new Promise(function() {}))) return Promise
|
|
} catch (e) {}
|
|
}
|
|
|
|
function contextBind(ctx, cb) {
|
|
if (null === ctx || "function" != typeof cb || cb === reflectHandler) return cb;
|
|
null !== ctx.domain && (cb = ctx.domain.bind(cb));
|
|
var async = ctx.async;
|
|
if (null !== async) {
|
|
var old = cb;
|
|
cb = function() {
|
|
var args = new Array(2).concat([].slice.call(arguments));
|
|
return args[0] = old, args[1] = this, async.runInAsyncScope.apply(async, args)
|
|
}
|
|
}
|
|
return cb
|
|
}
|
|
var version, ret = {
|
|
setReflectHandler: function(fn) {
|
|
reflectHandler = fn
|
|
},
|
|
isClass,
|
|
isIdentifier,
|
|
inheritedDataKeys,
|
|
getDataPropertyOrDefault,
|
|
thrower,
|
|
isArray: es5.isArray,
|
|
asArray,
|
|
notEnumerableProp,
|
|
isPrimitive,
|
|
isObject,
|
|
isError,
|
|
canEvaluate,
|
|
errorObj,
|
|
tryCatch,
|
|
inherits,
|
|
withAppended,
|
|
maybeWrapAsError,
|
|
toFastProperties,
|
|
filledRange,
|
|
toString: safeToString,
|
|
canAttachTrace,
|
|
ensureErrorObject,
|
|
originatesFromRejection,
|
|
markAsOriginatingFromRejection,
|
|
classString,
|
|
copyDescriptors,
|
|
isNode,
|
|
hasEnvVariables,
|
|
env,
|
|
global: globalObject,
|
|
getNativePromise,
|
|
contextBind
|
|
};
|
|
ret.isRecentNode = ret.isNode && (process.versions && process.versions.node ? version = process.versions.node.split(".").map(Number) : process.version && (version = process.version.split(".").map(Number)), 0 === version[0] && version[1] > 10 || version[0] > 0), ret.nodeSupportsAsyncResource = ret.isNode && function() {
|
|
var supportsAsync = !1;
|
|
try {
|
|
supportsAsync = "function" == typeof _dereq_("async_hooks").AsyncResource.prototype.runInAsyncScope
|
|
} catch (e) {
|
|
supportsAsync = !1
|
|
}
|
|
return supportsAsync
|
|
}(), ret.isNode && ret.toFastProperties(process);
|
|
try {
|
|
throw new Error
|
|
} catch (e) {
|
|
ret.lastLineError = e
|
|
}
|
|
module.exports = ret
|
|
}, {
|
|
"./es5": 13,
|
|
async_hooks: void 0
|
|
}]
|
|
}, {}, [4])(4), "undefined" != typeof window && null !== window ? window.P = window.Promise : "undefined" != typeof self && null !== self && (self.P = self.Promise)
|
|
},
|
|
436: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
const {
|
|
DOCUMENT_MODE
|
|
} = __webpack_require__(53530);
|
|
exports.createDocument = function() {
|
|
return {
|
|
nodeName: "#document",
|
|
mode: DOCUMENT_MODE.NO_QUIRKS,
|
|
childNodes: []
|
|
}
|
|
}, exports.createDocumentFragment = function() {
|
|
return {
|
|
nodeName: "#document-fragment",
|
|
childNodes: []
|
|
}
|
|
}, exports.createElement = function(tagName, namespaceURI, attrs) {
|
|
return {
|
|
nodeName: tagName,
|
|
tagName,
|
|
attrs,
|
|
namespaceURI,
|
|
childNodes: [],
|
|
parentNode: null
|
|
}
|
|
}, exports.createCommentNode = function(data) {
|
|
return {
|
|
nodeName: "#comment",
|
|
data,
|
|
parentNode: null
|
|
}
|
|
};
|
|
const createTextNode = function(value) {
|
|
return {
|
|
nodeName: "#text",
|
|
value,
|
|
parentNode: null
|
|
}
|
|
},
|
|
appendChild = exports.appendChild = function(parentNode, newNode) {
|
|
parentNode.childNodes.push(newNode), newNode.parentNode = parentNode
|
|
},
|
|
insertBefore = exports.insertBefore = function(parentNode, newNode, referenceNode) {
|
|
const insertionIdx = parentNode.childNodes.indexOf(referenceNode);
|
|
parentNode.childNodes.splice(insertionIdx, 0, newNode), newNode.parentNode = parentNode
|
|
};
|
|
exports.setTemplateContent = function(templateElement, contentElement) {
|
|
templateElement.content = contentElement
|
|
}, exports.getTemplateContent = function(templateElement) {
|
|
return templateElement.content
|
|
}, exports.setDocumentType = function(document, name, publicId, systemId) {
|
|
let doctypeNode = null;
|
|
for (let i = 0; i < document.childNodes.length; i++)
|
|
if ("#documentType" === document.childNodes[i].nodeName) {
|
|
doctypeNode = document.childNodes[i];
|
|
break
|
|
} doctypeNode ? (doctypeNode.name = name, doctypeNode.publicId = publicId, doctypeNode.systemId = systemId) : appendChild(document, {
|
|
nodeName: "#documentType",
|
|
name,
|
|
publicId,
|
|
systemId
|
|
})
|
|
}, exports.setDocumentMode = function(document, mode) {
|
|
document.mode = mode
|
|
}, exports.getDocumentMode = function(document) {
|
|
return document.mode
|
|
}, exports.detachNode = function(node) {
|
|
if (node.parentNode) {
|
|
const idx = node.parentNode.childNodes.indexOf(node);
|
|
node.parentNode.childNodes.splice(idx, 1), node.parentNode = null
|
|
}
|
|
}, exports.insertText = function(parentNode, text) {
|
|
if (parentNode.childNodes.length) {
|
|
const prevNode = parentNode.childNodes[parentNode.childNodes.length - 1];
|
|
if ("#text" === prevNode.nodeName) return void(prevNode.value += text)
|
|
}
|
|
appendChild(parentNode, createTextNode(text))
|
|
}, exports.insertTextBefore = function(parentNode, text, referenceNode) {
|
|
const prevNode = parentNode.childNodes[parentNode.childNodes.indexOf(referenceNode) - 1];
|
|
prevNode && "#text" === prevNode.nodeName ? prevNode.value += text : insertBefore(parentNode, createTextNode(text), referenceNode)
|
|
}, exports.adoptAttributes = function(recipient, attrs) {
|
|
const recipientAttrsMap = [];
|
|
for (let i = 0; i < recipient.attrs.length; i++) recipientAttrsMap.push(recipient.attrs[i].name);
|
|
for (let j = 0; j < attrs.length; j++) - 1 === recipientAttrsMap.indexOf(attrs[j].name) && recipient.attrs.push(attrs[j])
|
|
}, exports.getFirstChild = function(node) {
|
|
return node.childNodes[0]
|
|
}, exports.getChildNodes = function(node) {
|
|
return node.childNodes
|
|
}, exports.getParentNode = function(node) {
|
|
return node.parentNode
|
|
}, exports.getAttrList = function(element) {
|
|
return element.attrs
|
|
}, exports.getTagName = function(element) {
|
|
return element.tagName
|
|
}, exports.getNamespaceURI = function(element) {
|
|
return element.namespaceURI
|
|
}, exports.getTextNodeContent = function(textNode) {
|
|
return textNode.value
|
|
}, exports.getCommentNodeContent = function(commentNode) {
|
|
return commentNode.data
|
|
}, exports.getDocumentTypeNodeName = function(doctypeNode) {
|
|
return doctypeNode.name
|
|
}, exports.getDocumentTypeNodePublicId = function(doctypeNode) {
|
|
return doctypeNode.publicId
|
|
}, exports.getDocumentTypeNodeSystemId = function(doctypeNode) {
|
|
return doctypeNode.systemId
|
|
}, exports.isTextNode = function(node) {
|
|
return "#text" === node.nodeName
|
|
}, exports.isCommentNode = function(node) {
|
|
return "#comment" === node.nodeName
|
|
}, exports.isDocumentTypeNode = function(node) {
|
|
return "#documentType" === node.nodeName
|
|
}, exports.isElementNode = function(node) {
|
|
return !!node.tagName
|
|
}, exports.setNodeSourceCodeLocation = function(node, location) {
|
|
node.sourceCodeLocation = location
|
|
}, exports.getNodeSourceCodeLocation = function(node) {
|
|
return node.sourceCodeLocation
|
|
}, exports.updateNodeSourceCodeLocation = function(node, endLocation) {
|
|
node.sourceCodeLocation = Object.assign(node.sourceCodeLocation, endLocation)
|
|
}
|
|
},
|
|
772: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.merge = exports.contains = exports.root = exports.parseHTML = exports.text = exports.xml = exports.html = void 0;
|
|
var tslib_1 = __webpack_require__(15146),
|
|
options_1 = tslib_1.__importStar(__webpack_require__(24506)),
|
|
cheerio_select_1 = __webpack_require__(11355),
|
|
htmlparser2_1 = __webpack_require__(82393),
|
|
parse5_1 = __webpack_require__(25217),
|
|
htmlparser2_2 = __webpack_require__(92711);
|
|
|
|
function render(that, dom, options) {
|
|
var _a, _b;
|
|
if (dom) "string" == typeof dom && (dom = cheerio_select_1.select(dom, null !== (_b = null == that ? void 0 : that._root) && void 0 !== _b ? _b : [], options));
|
|
else {
|
|
if (!(null === (_a = null == that ? void 0 : that._root) || void 0 === _a ? void 0 : _a.children)) return "";
|
|
dom = that._root.children
|
|
}
|
|
return options.xmlMode || options._useHtmlParser2 ? htmlparser2_2.render(dom, options) : parse5_1.render(dom)
|
|
}
|
|
|
|
function isArrayLike(item) {
|
|
if (Array.isArray(item)) return !0;
|
|
if ("object" != typeof item || !Object.prototype.hasOwnProperty.call(item, "length") || "number" != typeof item.length || item.length < 0) return !1;
|
|
for (var i = 0; i < item.length; i++)
|
|
if (!(i in item)) return !1;
|
|
return !0
|
|
}
|
|
exports.html = function(dom, options) {
|
|
return !options && function(dom) {
|
|
return "object" == typeof dom && null != dom && !("length" in dom) && !("type" in dom)
|
|
}(dom) && (options = dom, dom = void 0), render(this || void 0, dom, options = tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, options_1.default), this ? this._options : {}), options_1.flatten(null != options ? options : {})))
|
|
}, exports.xml = function(dom) {
|
|
return render(this, dom, tslib_1.__assign(tslib_1.__assign({}, this._options), {
|
|
xmlMode: !0
|
|
}))
|
|
}, exports.text = function text(elements) {
|
|
for (var elems = elements || (this ? this.root() : []), ret = "", i = 0; i < elems.length; i++) {
|
|
var elem = elems[i];
|
|
htmlparser2_1.DomUtils.isText(elem) ? ret += elem.data : htmlparser2_1.DomUtils.hasChildren(elem) && elem.type !== htmlparser2_1.ElementType.Comment && elem.type !== htmlparser2_1.ElementType.Script && elem.type !== htmlparser2_1.ElementType.Style && (ret += text(elem.children))
|
|
}
|
|
return ret
|
|
}, exports.parseHTML = function(data, context, keepScripts) {
|
|
if (void 0 === keepScripts && (keepScripts = "boolean" == typeof context && context), !data || "string" != typeof data) return null;
|
|
"boolean" == typeof context && (keepScripts = context);
|
|
var parsed = this.load(data, options_1.default, !1);
|
|
return keepScripts || parsed("script").remove(), parsed.root()[0].children.slice()
|
|
}, exports.root = function() {
|
|
return this(this._root)
|
|
}, exports.contains = function(container, contained) {
|
|
if (contained === container) return !1;
|
|
for (var next = contained; next && next !== next.parent;)
|
|
if ((next = next.parent) === container) return !0;
|
|
return !1
|
|
}, exports.merge = function(arr1, arr2) {
|
|
if (isArrayLike(arr1) && isArrayLike(arr2)) {
|
|
for (var newLength = arr1.length, len = +arr2.length, i = 0; i < len; i++) arr1[newLength++] = arr2[i];
|
|
return arr1.length = newLength, arr1
|
|
}
|
|
}
|
|
},
|
|
834: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
let CssSyntaxError = __webpack_require__(89588),
|
|
Stringifier = __webpack_require__(57818),
|
|
stringify = __webpack_require__(38137),
|
|
{
|
|
isClean,
|
|
my
|
|
} = __webpack_require__(7189);
|
|
|
|
function cloneNode(obj, parent) {
|
|
let cloned = new obj.constructor;
|
|
for (let i in obj) {
|
|
if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;
|
|
if ("proxyCache" === i) continue;
|
|
let value = obj[i],
|
|
type = typeof value;
|
|
"parent" === i && "object" === type ? parent && (cloned[i] = parent) : "source" === i ? cloned[i] = value : Array.isArray(value) ? cloned[i] = value.map(j => cloneNode(j, cloned)) : ("object" === type && null !== value && (value = cloneNode(value)), cloned[i] = value)
|
|
}
|
|
return cloned
|
|
}
|
|
|
|
function sourceOffset(inputCSS, position) {
|
|
if (position && void 0 !== position.offset) return position.offset;
|
|
let column = 1,
|
|
line = 1,
|
|
offset = 0;
|
|
for (let i = 0; i < inputCSS.length; i++) {
|
|
if (line === position.line && column === position.column) {
|
|
offset = i;
|
|
break
|
|
}
|
|
"\n" === inputCSS[i] ? (column = 1, line += 1) : column += 1
|
|
}
|
|
return offset
|
|
}
|
|
class Node {
|
|
get proxyOf() {
|
|
return this
|
|
}
|
|
constructor(defaults = {}) {
|
|
this.raws = {}, this[isClean] = !1, this[my] = !0;
|
|
for (let name in defaults)
|
|
if ("nodes" === name) {
|
|
this.nodes = [];
|
|
for (let node of defaults[name]) "function" == typeof node.clone ? this.append(node.clone()) : this.append(node)
|
|
} else this[name] = defaults[name]
|
|
}
|
|
addToError(error) {
|
|
if (error.postcssNode = this, error.stack && this.source && /\n\s{4}at /.test(error.stack)) {
|
|
let s = this.source;
|
|
error.stack = error.stack.replace(/\n\s{4}at /, `$&${s.input.from}:${s.start.line}:${s.start.column}$&`)
|
|
}
|
|
return error
|
|
}
|
|
after(add) {
|
|
return this.parent.insertAfter(this, add), this
|
|
}
|
|
assign(overrides = {}) {
|
|
for (let name in overrides) this[name] = overrides[name];
|
|
return this
|
|
}
|
|
before(add) {
|
|
return this.parent.insertBefore(this, add), this
|
|
}
|
|
cleanRaws(keepBetween) {
|
|
delete this.raws.before, delete this.raws.after, keepBetween || delete this.raws.between
|
|
}
|
|
clone(overrides = {}) {
|
|
let cloned = cloneNode(this);
|
|
for (let name in overrides) cloned[name] = overrides[name];
|
|
return cloned
|
|
}
|
|
cloneAfter(overrides = {}) {
|
|
let cloned = this.clone(overrides);
|
|
return this.parent.insertAfter(this, cloned), cloned
|
|
}
|
|
cloneBefore(overrides = {}) {
|
|
let cloned = this.clone(overrides);
|
|
return this.parent.insertBefore(this, cloned), cloned
|
|
}
|
|
error(message, opts = {}) {
|
|
if (this.source) {
|
|
let {
|
|
end,
|
|
start
|
|
} = this.rangeBy(opts);
|
|
return this.source.input.error(message, {
|
|
column: start.column,
|
|
line: start.line
|
|
}, {
|
|
column: end.column,
|
|
line: end.line
|
|
}, opts)
|
|
}
|
|
return new CssSyntaxError(message)
|
|
}
|
|
getProxyProcessor() {
|
|
return {
|
|
get: (node, prop) => "proxyOf" === prop ? node : "root" === prop ? () => node.root().toProxy() : node[prop],
|
|
set: (node, prop, value) => (node[prop] === value || (node[prop] = value, "prop" !== prop && "value" !== prop && "name" !== prop && "params" !== prop && "important" !== prop && "text" !== prop || node.markDirty()), !0)
|
|
}
|
|
}
|
|
markClean() {
|
|
this[isClean] = !0
|
|
}
|
|
markDirty() {
|
|
if (this[isClean]) {
|
|
this[isClean] = !1;
|
|
let next = this;
|
|
for (; next = next.parent;) next[isClean] = !1
|
|
}
|
|
}
|
|
next() {
|
|
if (!this.parent) return;
|
|
let index = this.parent.index(this);
|
|
return this.parent.nodes[index + 1]
|
|
}
|
|
positionBy(opts = {}) {
|
|
let pos = this.source.start;
|
|
if (opts.index) pos = this.positionInside(opts.index);
|
|
else if (opts.word) {
|
|
let inputString = "document" in this.source.input ? this.source.input.document : this.source.input.css,
|
|
index = inputString.slice(sourceOffset(inputString, this.source.start), sourceOffset(inputString, this.source.end)).indexOf(opts.word); - 1 !== index && (pos = this.positionInside(index))
|
|
}
|
|
return pos
|
|
}
|
|
positionInside(index) {
|
|
let column = this.source.start.column,
|
|
line = this.source.start.line,
|
|
inputString = "document" in this.source.input ? this.source.input.document : this.source.input.css,
|
|
offset = sourceOffset(inputString, this.source.start),
|
|
end = offset + index;
|
|
for (let i = offset; i < end; i++) "\n" === inputString[i] ? (column = 1, line += 1) : column += 1;
|
|
return {
|
|
column,
|
|
line,
|
|
offset: end
|
|
}
|
|
}
|
|
prev() {
|
|
if (!this.parent) return;
|
|
let index = this.parent.index(this);
|
|
return this.parent.nodes[index - 1]
|
|
}
|
|
rangeBy(opts = {}) {
|
|
let inputString = "document" in this.source.input ? this.source.input.document : this.source.input.css,
|
|
start = {
|
|
column: this.source.start.column,
|
|
line: this.source.start.line,
|
|
offset: sourceOffset(inputString, this.source.start)
|
|
},
|
|
end = this.source.end ? {
|
|
column: this.source.end.column + 1,
|
|
line: this.source.end.line,
|
|
offset: "number" == typeof this.source.end.offset ? this.source.end.offset : sourceOffset(inputString, this.source.end) + 1
|
|
} : {
|
|
column: start.column + 1,
|
|
line: start.line,
|
|
offset: start.offset + 1
|
|
};
|
|
if (opts.word) {
|
|
let index = inputString.slice(sourceOffset(inputString, this.source.start), sourceOffset(inputString, this.source.end)).indexOf(opts.word); - 1 !== index && (start = this.positionInside(index), end = this.positionInside(index + opts.word.length))
|
|
} else opts.start ? start = {
|
|
column: opts.start.column,
|
|
line: opts.start.line,
|
|
offset: sourceOffset(inputString, opts.start)
|
|
} : opts.index && (start = this.positionInside(opts.index)), opts.end ? end = {
|
|
column: opts.end.column,
|
|
line: opts.end.line,
|
|
offset: sourceOffset(inputString, opts.end)
|
|
} : "number" == typeof opts.endIndex ? end = this.positionInside(opts.endIndex) : opts.index && (end = this.positionInside(opts.index + 1));
|
|
return (end.line < start.line || end.line === start.line && end.column <= start.column) && (end = {
|
|
column: start.column + 1,
|
|
line: start.line,
|
|
offset: start.offset + 1
|
|
}), {
|
|
end,
|
|
start
|
|
}
|
|
}
|
|
raw(prop, defaultType) {
|
|
return (new Stringifier).raw(this, prop, defaultType)
|
|
}
|
|
remove() {
|
|
return this.parent && this.parent.removeChild(this), this.parent = void 0, this
|
|
}
|
|
replaceWith(...nodes) {
|
|
if (this.parent) {
|
|
let bookmark = this,
|
|
foundSelf = !1;
|
|
for (let node of nodes) node === this ? foundSelf = !0 : foundSelf ? (this.parent.insertAfter(bookmark, node), bookmark = node) : this.parent.insertBefore(bookmark, node);
|
|
foundSelf || this.remove()
|
|
}
|
|
return this
|
|
}
|
|
root() {
|
|
let result = this;
|
|
for (; result.parent && "document" !== result.parent.type;) result = result.parent;
|
|
return result
|
|
}
|
|
toJSON(_, inputs) {
|
|
let fixed = {},
|
|
emitInputs = null == inputs;
|
|
inputs = inputs || new Map;
|
|
let inputsNextIndex = 0;
|
|
for (let name in this) {
|
|
if (!Object.prototype.hasOwnProperty.call(this, name)) continue;
|
|
if ("parent" === name || "proxyCache" === name) continue;
|
|
let value = this[name];
|
|
if (Array.isArray(value)) fixed[name] = value.map(i => "object" == typeof i && i.toJSON ? i.toJSON(null, inputs) : i);
|
|
else if ("object" == typeof value && value.toJSON) fixed[name] = value.toJSON(null, inputs);
|
|
else if ("source" === name) {
|
|
if (null == value) continue;
|
|
let inputId = inputs.get(value.input);
|
|
null == inputId && (inputId = inputsNextIndex, inputs.set(value.input, inputsNextIndex), inputsNextIndex++), fixed[name] = {
|
|
end: value.end,
|
|
inputId,
|
|
start: value.start
|
|
}
|
|
} else fixed[name] = value
|
|
}
|
|
return emitInputs && (fixed.inputs = [...inputs.keys()].map(input => input.toJSON())), fixed
|
|
}
|
|
toProxy() {
|
|
return this.proxyCache || (this.proxyCache = new Proxy(this, this.getProxyProcessor())), this.proxyCache
|
|
}
|
|
toString(stringifier = stringify) {
|
|
stringifier.stringify && (stringifier = stringifier.stringify);
|
|
let result = "";
|
|
return stringifier(this, i => {
|
|
result += i
|
|
}), result
|
|
}
|
|
warn(result, text, opts = {}) {
|
|
let data = {
|
|
node: this
|
|
};
|
|
for (let i in opts) data[i] = opts[i];
|
|
return result.warn(text, data)
|
|
}
|
|
}
|
|
module.exports = Node, Node.default = Node
|
|
},
|
|
912: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
class DAC {
|
|
constructor({
|
|
description,
|
|
version,
|
|
options,
|
|
stores,
|
|
doDac
|
|
}) {
|
|
this.description = description, this.version = version, this.options = options, this.stores = stores, this.doDac = doDac
|
|
}
|
|
async run() {
|
|
return this.doDac()
|
|
}
|
|
}
|
|
exports.default = DAC, Object.defineProperty(DAC, Symbol.hasInstance, {
|
|
value: obj => null != obj && obj.description && obj.version && obj.options && obj.stores && obj.doDac && obj.run
|
|
}), module.exports = exports.default
|
|
},
|
|
1191: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912)),
|
|
_helpers = _interopRequireDefault(__webpack_require__(16065));
|
|
exports.default = new _dac.default({
|
|
description: "Sephora Acorns",
|
|
author: "Mark Hudson",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 20
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "163",
|
|
name: "Sephora"
|
|
}],
|
|
doDac: async function(code, selector, priceAmt, applyBestCode) {
|
|
let price = priceAmt;
|
|
return function(res) {
|
|
try {
|
|
res.subtotal ? (price = _legacyHoneyUtils.default.cleanPrice(res.subtotal), (0, _jquery.default)(selector).text("$" + price)) : price += 10
|
|
} catch (e) {}
|
|
}(await async function() {
|
|
const res = _jquery.default.ajax({
|
|
url: "https://www.sephora.com/api/shopping-cart/basket/promotions",
|
|
type: "POST",
|
|
headers: {
|
|
"content-type": "application/json"
|
|
},
|
|
data: JSON.stringify({
|
|
couponCode: code
|
|
})
|
|
});
|
|
return await res.done(_data => {
|
|
_logger.default.debug("Finishing code application")
|
|
}), res
|
|
}()), !1 === applyBestCode ? await async function() {
|
|
const res = _jquery.default.ajax({
|
|
url: "https://www.sephora.com/api/shopping-cart/baskets/current/promotions",
|
|
type: "DELETE",
|
|
headers: {
|
|
"content-type": "application/json"
|
|
},
|
|
data: JSON.stringify({
|
|
couponCode: code,
|
|
orderId: "current"
|
|
})
|
|
});
|
|
await res.done(_data => {
|
|
_logger.default.debug("Finishing removing code")
|
|
})
|
|
}(): (window.location = window.location.href, await (0, _helpers.default)(2e3)), Number(price)
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
1302: (__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
"use strict";
|
|
var getRandomValues;
|
|
__webpack_require__.r(__webpack_exports__), __webpack_require__.d(__webpack_exports__, {
|
|
NIL: () => nil,
|
|
parse: () => esm_browser_parse,
|
|
stringify: () => esm_browser_stringify,
|
|
v1: () => esm_browser_v1,
|
|
v3: () => esm_browser_v3,
|
|
v4: () => esm_browser_v4,
|
|
v5: () => esm_browser_v5,
|
|
validate: () => esm_browser_validate,
|
|
version: () => esm_browser_version
|
|
});
|
|
var rnds8 = new Uint8Array(16);
|
|
|
|
function rng() {
|
|
if (!getRandomValues && !(getRandomValues = "undefined" != typeof crypto && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || "undefined" != typeof msCrypto && "function" == typeof msCrypto.getRandomValues && msCrypto.getRandomValues.bind(msCrypto))) throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
|
|
return getRandomValues(rnds8)
|
|
}
|
|
const regex = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;
|
|
const esm_browser_validate = function(uuid) {
|
|
return "string" == typeof uuid && regex.test(uuid)
|
|
};
|
|
for (var byteToHex = [], i = 0; i < 256; ++i) byteToHex.push((i + 256).toString(16).substr(1));
|
|
const esm_browser_stringify = function(arr) {
|
|
var offset = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0,
|
|
uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();
|
|
if (!esm_browser_validate(uuid)) throw TypeError("Stringified UUID is invalid");
|
|
return uuid
|
|
};
|
|
var _nodeId, _clockseq, _lastMSecs = 0,
|
|
_lastNSecs = 0;
|
|
const esm_browser_v1 = function(options, buf, offset) {
|
|
var i = buf && offset || 0,
|
|
b = buf || new Array(16),
|
|
node = (options = options || {}).node || _nodeId,
|
|
clockseq = void 0 !== options.clockseq ? options.clockseq : _clockseq;
|
|
if (null == node || null == clockseq) {
|
|
var seedBytes = options.random || (options.rng || rng)();
|
|
null == node && (node = _nodeId = [1 | seedBytes[0], seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]), null == clockseq && (clockseq = _clockseq = 16383 & (seedBytes[6] << 8 | seedBytes[7]))
|
|
}
|
|
var msecs = void 0 !== options.msecs ? options.msecs : Date.now(),
|
|
nsecs = void 0 !== options.nsecs ? options.nsecs : _lastNSecs + 1,
|
|
dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 1e4;
|
|
if (dt < 0 && void 0 === options.clockseq && (clockseq = clockseq + 1 & 16383), (dt < 0 || msecs > _lastMSecs) && void 0 === options.nsecs && (nsecs = 0), nsecs >= 1e4) throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");
|
|
_lastMSecs = msecs, _lastNSecs = nsecs, _clockseq = clockseq;
|
|
var tl = (1e4 * (268435455 & (msecs += 122192928e5)) + nsecs) % 4294967296;
|
|
b[i++] = tl >>> 24 & 255, b[i++] = tl >>> 16 & 255, b[i++] = tl >>> 8 & 255, b[i++] = 255 & tl;
|
|
var tmh = msecs / 4294967296 * 1e4 & 268435455;
|
|
b[i++] = tmh >>> 8 & 255, b[i++] = 255 & tmh, b[i++] = tmh >>> 24 & 15 | 16, b[i++] = tmh >>> 16 & 255, b[i++] = clockseq >>> 8 | 128, b[i++] = 255 & clockseq;
|
|
for (var n = 0; n < 6; ++n) b[i + n] = node[n];
|
|
return buf || esm_browser_stringify(b)
|
|
};
|
|
const esm_browser_parse = function(uuid) {
|
|
if (!esm_browser_validate(uuid)) throw TypeError("Invalid UUID");
|
|
var v, arr = new Uint8Array(16);
|
|
return arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24, arr[1] = v >>> 16 & 255, arr[2] = v >>> 8 & 255, arr[3] = 255 & v, arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8, arr[5] = 255 & v, arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8, arr[7] = 255 & v, arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8, arr[9] = 255 & v, arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 1099511627776 & 255, arr[11] = v / 4294967296 & 255, arr[12] = v >>> 24 & 255, arr[13] = v >>> 16 & 255, arr[14] = v >>> 8 & 255, arr[15] = 255 & v, arr
|
|
};
|
|
|
|
function v35(name, version, hashfunc) {
|
|
function generateUUID(value, namespace, buf, offset) {
|
|
if ("string" == typeof value && (value = function(str) {
|
|
str = unescape(encodeURIComponent(str));
|
|
for (var bytes = [], i = 0; i < str.length; ++i) bytes.push(str.charCodeAt(i));
|
|
return bytes
|
|
}(value)), "string" == typeof namespace && (namespace = esm_browser_parse(namespace)), 16 !== namespace.length) throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");
|
|
var bytes = new Uint8Array(16 + value.length);
|
|
if (bytes.set(namespace), bytes.set(value, namespace.length), (bytes = hashfunc(bytes))[6] = 15 & bytes[6] | version, bytes[8] = 63 & bytes[8] | 128, buf) {
|
|
offset = offset || 0;
|
|
for (var i = 0; i < 16; ++i) buf[offset + i] = bytes[i];
|
|
return buf
|
|
}
|
|
return esm_browser_stringify(bytes)
|
|
}
|
|
try {
|
|
generateUUID.name = name
|
|
} catch (err) {}
|
|
return generateUUID.DNS = "6ba7b810-9dad-11d1-80b4-00c04fd430c8", generateUUID.URL = "6ba7b811-9dad-11d1-80b4-00c04fd430c8", generateUUID
|
|
}
|
|
|
|
function getOutputLength(inputLength8) {
|
|
return 14 + (inputLength8 + 64 >>> 9 << 4) + 1
|
|
}
|
|
|
|
function safeAdd(x, y) {
|
|
var lsw = (65535 & x) + (65535 & y);
|
|
return (x >> 16) + (y >> 16) + (lsw >> 16) << 16 | 65535 & lsw
|
|
}
|
|
|
|
function md5cmn(q, a, b, x, s, t) {
|
|
return safeAdd((num = safeAdd(safeAdd(a, q), safeAdd(x, t))) << (cnt = s) | num >>> 32 - cnt, b);
|
|
var num, cnt
|
|
}
|
|
|
|
function md5ff(a, b, c, d, x, s, t) {
|
|
return md5cmn(b & c | ~b & d, a, b, x, s, t)
|
|
}
|
|
|
|
function md5gg(a, b, c, d, x, s, t) {
|
|
return md5cmn(b & d | c & ~d, a, b, x, s, t)
|
|
}
|
|
|
|
function md5hh(a, b, c, d, x, s, t) {
|
|
return md5cmn(b ^ c ^ d, a, b, x, s, t)
|
|
}
|
|
|
|
function md5ii(a, b, c, d, x, s, t) {
|
|
return md5cmn(c ^ (b | ~d), a, b, x, s, t)
|
|
}
|
|
const esm_browser_md5 = function(bytes) {
|
|
if ("string" == typeof bytes) {
|
|
var msg = unescape(encodeURIComponent(bytes));
|
|
bytes = new Uint8Array(msg.length);
|
|
for (var i = 0; i < msg.length; ++i) bytes[i] = msg.charCodeAt(i)
|
|
}
|
|
return function(input) {
|
|
for (var output = [], length32 = 32 * input.length, hexTab = "0123456789abcdef", i = 0; i < length32; i += 8) {
|
|
var x = input[i >> 5] >>> i % 32 & 255,
|
|
hex = parseInt(hexTab.charAt(x >>> 4 & 15) + hexTab.charAt(15 & x), 16);
|
|
output.push(hex)
|
|
}
|
|
return output
|
|
}(function(x, len) {
|
|
x[len >> 5] |= 128 << len % 32, x[getOutputLength(len) - 1] = len;
|
|
for (var a = 1732584193, b = -271733879, c = -1732584194, d = 271733878, i = 0; i < x.length; i += 16) {
|
|
var olda = a,
|
|
oldb = b,
|
|
oldc = c,
|
|
oldd = d;
|
|
a = md5ff(a, b, c, d, x[i], 7, -680876936), d = md5ff(d, a, b, c, x[i + 1], 12, -389564586), c = md5ff(c, d, a, b, x[i + 2], 17, 606105819), b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330), a = md5ff(a, b, c, d, x[i + 4], 7, -176418897), d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426), c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341), b = md5ff(b, c, d, a, x[i + 7], 22, -45705983), a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416), d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417), c = md5ff(c, d, a, b, x[i + 10], 17, -42063), b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162), a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682), d = md5ff(d, a, b, c, x[i + 13], 12, -40341101), c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290), a = md5gg(a, b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329), c, d, x[i + 1], 5, -165796510), d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632), c = md5gg(c, d, a, b, x[i + 11], 14, 643717713), b = md5gg(b, c, d, a, x[i], 20, -373897302), a = md5gg(a, b, c, d, x[i + 5], 5, -701558691), d = md5gg(d, a, b, c, x[i + 10], 9, 38016083), c = md5gg(c, d, a, b, x[i + 15], 14, -660478335), b = md5gg(b, c, d, a, x[i + 4], 20, -405537848), a = md5gg(a, b, c, d, x[i + 9], 5, 568446438), d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690), c = md5gg(c, d, a, b, x[i + 3], 14, -187363961), b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501), a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467), d = md5gg(d, a, b, c, x[i + 2], 9, -51403784), c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473), a = md5hh(a, b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734), c, d, x[i + 5], 4, -378558), d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463), c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562), b = md5hh(b, c, d, a, x[i + 14], 23, -35309556), a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060), d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353), c = md5hh(c, d, a, b, x[i + 7], 16, -155497632), b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640), a = md5hh(a, b, c, d, x[i + 13], 4, 681279174), d = md5hh(d, a, b, c, x[i], 11, -358537222), c = md5hh(c, d, a, b, x[i + 3], 16, -722521979), b = md5hh(b, c, d, a, x[i + 6], 23, 76029189), a = md5hh(a, b, c, d, x[i + 9], 4, -640364487), d = md5hh(d, a, b, c, x[i + 12], 11, -421815835), c = md5hh(c, d, a, b, x[i + 15], 16, 530742520), a = md5ii(a, b = md5hh(b, c, d, a, x[i + 2], 23, -995338651), c, d, x[i], 6, -198630844), d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415), c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905), b = md5ii(b, c, d, a, x[i + 5], 21, -57434055), a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571), d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606), c = md5ii(c, d, a, b, x[i + 10], 15, -1051523), b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799), a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359), d = md5ii(d, a, b, c, x[i + 15], 10, -30611744), c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380), b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649), a = md5ii(a, b, c, d, x[i + 4], 6, -145523070), d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379), c = md5ii(c, d, a, b, x[i + 2], 15, 718787259), b = md5ii(b, c, d, a, x[i + 9], 21, -343485551), a = safeAdd(a, olda), b = safeAdd(b, oldb), c = safeAdd(c, oldc), d = safeAdd(d, oldd)
|
|
}
|
|
return [a, b, c, d]
|
|
}(function(input) {
|
|
if (0 === input.length) return [];
|
|
for (var length8 = 8 * input.length, output = new Uint32Array(getOutputLength(length8)), i = 0; i < length8; i += 8) output[i >> 5] |= (255 & input[i / 8]) << i % 32;
|
|
return output
|
|
}(bytes), 8 * bytes.length))
|
|
};
|
|
const esm_browser_v3 = v35("v3", 48, esm_browser_md5);
|
|
const esm_browser_v4 = function(options, buf, offset) {
|
|
var rnds = (options = options || {}).random || (options.rng || rng)();
|
|
if (rnds[6] = 15 & rnds[6] | 64, rnds[8] = 63 & rnds[8] | 128, buf) {
|
|
offset = offset || 0;
|
|
for (var i = 0; i < 16; ++i) buf[offset + i] = rnds[i];
|
|
return buf
|
|
}
|
|
return esm_browser_stringify(rnds)
|
|
};
|
|
|
|
function f(s, x, y, z) {
|
|
switch (s) {
|
|
case 0:
|
|
return x & y ^ ~x & z;
|
|
case 1:
|
|
case 3:
|
|
return x ^ y ^ z;
|
|
case 2:
|
|
return x & y ^ x & z ^ y & z
|
|
}
|
|
}
|
|
|
|
function ROTL(x, n) {
|
|
return x << n | x >>> 32 - n
|
|
}
|
|
const esm_browser_sha1 = function(bytes) {
|
|
var K = [1518500249, 1859775393, 2400959708, 3395469782],
|
|
H = [1732584193, 4023233417, 2562383102, 271733878, 3285377520];
|
|
if ("string" == typeof bytes) {
|
|
var msg = unescape(encodeURIComponent(bytes));
|
|
bytes = [];
|
|
for (var i = 0; i < msg.length; ++i) bytes.push(msg.charCodeAt(i))
|
|
} else Array.isArray(bytes) || (bytes = Array.prototype.slice.call(bytes));
|
|
bytes.push(128);
|
|
for (var l = bytes.length / 4 + 2, N = Math.ceil(l / 16), M = new Array(N), _i = 0; _i < N; ++_i) {
|
|
for (var arr = new Uint32Array(16), j = 0; j < 16; ++j) arr[j] = bytes[64 * _i + 4 * j] << 24 | bytes[64 * _i + 4 * j + 1] << 16 | bytes[64 * _i + 4 * j + 2] << 8 | bytes[64 * _i + 4 * j + 3];
|
|
M[_i] = arr
|
|
}
|
|
M[N - 1][14] = 8 * (bytes.length - 1) / Math.pow(2, 32), M[N - 1][14] = Math.floor(M[N - 1][14]), M[N - 1][15] = 8 * (bytes.length - 1) & 4294967295;
|
|
for (var _i2 = 0; _i2 < N; ++_i2) {
|
|
for (var W = new Uint32Array(80), t = 0; t < 16; ++t) W[t] = M[_i2][t];
|
|
for (var _t = 16; _t < 80; ++_t) W[_t] = ROTL(W[_t - 3] ^ W[_t - 8] ^ W[_t - 14] ^ W[_t - 16], 1);
|
|
for (var a = H[0], b = H[1], c = H[2], d = H[3], e = H[4], _t2 = 0; _t2 < 80; ++_t2) {
|
|
var s = Math.floor(_t2 / 20),
|
|
T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[_t2] >>> 0;
|
|
e = d, d = c, c = ROTL(b, 30) >>> 0, b = a, a = T
|
|
}
|
|
H[0] = H[0] + a >>> 0, H[1] = H[1] + b >>> 0, H[2] = H[2] + c >>> 0, H[3] = H[3] + d >>> 0, H[4] = H[4] + e >>> 0
|
|
}
|
|
return [H[0] >> 24 & 255, H[0] >> 16 & 255, H[0] >> 8 & 255, 255 & H[0], H[1] >> 24 & 255, H[1] >> 16 & 255, H[1] >> 8 & 255, 255 & H[1], H[2] >> 24 & 255, H[2] >> 16 & 255, H[2] >> 8 & 255, 255 & H[2], H[3] >> 24 & 255, H[3] >> 16 & 255, H[3] >> 8 & 255, 255 & H[3], H[4] >> 24 & 255, H[4] >> 16 & 255, H[4] >> 8 & 255, 255 & H[4]]
|
|
};
|
|
const esm_browser_v5 = v35("v5", 80, esm_browser_sha1),
|
|
nil = "00000000-0000-0000-0000-000000000000";
|
|
const esm_browser_version = function(uuid) {
|
|
if (!esm_browser_validate(uuid)) throw TypeError("Invalid UUID");
|
|
return parseInt(uuid.substr(14, 1), 16)
|
|
}
|
|
},
|
|
1405: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var $gOPD = __webpack_require__(36591);
|
|
if ($gOPD) try {
|
|
$gOPD([], "length")
|
|
} catch (e) {
|
|
$gOPD = null
|
|
}
|
|
module.exports = $gOPD
|
|
},
|
|
1476: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.root = exports.parseHTML = exports.merge = exports.contains = void 0;
|
|
var tslib_1 = __webpack_require__(15146),
|
|
cheerio_1 = tslib_1.__importDefault(__webpack_require__(12329));
|
|
exports.default = cheerio_1.default, tslib_1.__exportStar(__webpack_require__(96129), exports), tslib_1.__exportStar(__webpack_require__(39750), exports);
|
|
var load_1 = __webpack_require__(39750);
|
|
cheerio_1.default.load = load_1.load;
|
|
var staticMethods = tslib_1.__importStar(__webpack_require__(772));
|
|
exports.contains = staticMethods.contains, exports.merge = staticMethods.merge, exports.parseHTML = staticMethods.parseHTML, exports.root = staticMethods.root
|
|
},
|
|
1602: (__unused_webpack_module, exports) => {
|
|
"use strict";
|
|
|
|
function _createForOfIteratorHelper(o, allowArrayLike) {
|
|
var it = "undefined" != typeof Symbol && o[Symbol.iterator] || o["@@iterator"];
|
|
if (!it) {
|
|
if (Array.isArray(o) || (it = function(o, minLen) {
|
|
if (!o) return;
|
|
if ("string" == typeof o) return _arrayLikeToArray(o, minLen);
|
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
"Object" === n && o.constructor && (n = o.constructor.name);
|
|
if ("Map" === n || "Set" === n) return Array.from(o);
|
|
if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen)
|
|
}(o)) || allowArrayLike && o && "number" == typeof o.length) {
|
|
it && (o = it);
|
|
var i = 0,
|
|
F = function() {};
|
|
return {
|
|
s: F,
|
|
n: function() {
|
|
return i >= o.length ? {
|
|
done: !0
|
|
} : {
|
|
done: !1,
|
|
value: o[i++]
|
|
}
|
|
},
|
|
e: function(_e) {
|
|
throw _e
|
|
},
|
|
f: F
|
|
}
|
|
}
|
|
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
|
|
}
|
|
var err, normalCompletion = !0,
|
|
didErr = !1;
|
|
return {
|
|
s: function() {
|
|
it = it.call(o)
|
|
},
|
|
n: function() {
|
|
var step = it.next();
|
|
return normalCompletion = step.done, step
|
|
},
|
|
e: function(_e2) {
|
|
didErr = !0, err = _e2
|
|
},
|
|
f: function() {
|
|
try {
|
|
normalCompletion || null == it.return || it.return()
|
|
} finally {
|
|
if (didErr) throw err
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
function _arrayLikeToArray(arr, len) {
|
|
(null == len || len > arr.length) && (len = arr.length);
|
|
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
return arr2
|
|
}
|
|
exports.type = string_ => string_.split(/ *; */).shift(), exports.params = value => {
|
|
const object = {};
|
|
var _step, _iterator = _createForOfIteratorHelper(value.split(/ *; */));
|
|
try {
|
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
const parts = _step.value.split(/ *= */),
|
|
key = parts.shift(),
|
|
value = parts.shift();
|
|
key && value && (object[key] = value)
|
|
}
|
|
} catch (err) {
|
|
_iterator.e(err)
|
|
} finally {
|
|
_iterator.f()
|
|
}
|
|
return object
|
|
}, exports.parseLinks = value => {
|
|
const object = {};
|
|
var _step2, _iterator2 = _createForOfIteratorHelper(value.split(/ *, */));
|
|
try {
|
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
const parts = _step2.value.split(/ *; */),
|
|
url = parts[0].slice(1, -1);
|
|
object[parts[1].split(/ *= */)[1].slice(1, -1)] = url
|
|
}
|
|
} catch (err) {
|
|
_iterator2.e(err)
|
|
} finally {
|
|
_iterator2.f()
|
|
}
|
|
return object
|
|
}, exports.cleanHeader = (header, changesOrigin) => (delete header["content-type"], delete header["content-length"], delete header["transfer-encoding"], delete header.host, changesOrigin && (delete header.authorization, delete header.cookie), header), exports.isObject = object => null !== object && "object" == typeof object, exports.hasOwn = Object.hasOwn || function(object, property) {
|
|
if (null == object) throw new TypeError("Cannot convert undefined or null to object");
|
|
return Object.prototype.hasOwnProperty.call(new Object(object), property)
|
|
}, exports.mixin = (target, source) => {
|
|
for (const key in source) exports.hasOwn(source, key) && (target[key] = source[key])
|
|
}
|
|
},
|
|
2030: module => {
|
|
"use strict";
|
|
module.exports = Function.prototype.call
|
|
},
|
|
2075: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
const Tokenizer = __webpack_require__(12275),
|
|
HTML = __webpack_require__(53530),
|
|
$ = HTML.TAG_NAMES,
|
|
NS = HTML.NAMESPACES,
|
|
ATTRS = HTML.ATTRS,
|
|
MIME_TYPES_TEXT_HTML = "text/html",
|
|
MIME_TYPES_APPLICATION_XML = "application/xhtml+xml",
|
|
SVG_ATTRS_ADJUSTMENT_MAP = {
|
|
attributename: "attributeName",
|
|
attributetype: "attributeType",
|
|
basefrequency: "baseFrequency",
|
|
baseprofile: "baseProfile",
|
|
calcmode: "calcMode",
|
|
clippathunits: "clipPathUnits",
|
|
diffuseconstant: "diffuseConstant",
|
|
edgemode: "edgeMode",
|
|
filterunits: "filterUnits",
|
|
glyphref: "glyphRef",
|
|
gradienttransform: "gradientTransform",
|
|
gradientunits: "gradientUnits",
|
|
kernelmatrix: "kernelMatrix",
|
|
kernelunitlength: "kernelUnitLength",
|
|
keypoints: "keyPoints",
|
|
keysplines: "keySplines",
|
|
keytimes: "keyTimes",
|
|
lengthadjust: "lengthAdjust",
|
|
limitingconeangle: "limitingConeAngle",
|
|
markerheight: "markerHeight",
|
|
markerunits: "markerUnits",
|
|
markerwidth: "markerWidth",
|
|
maskcontentunits: "maskContentUnits",
|
|
maskunits: "maskUnits",
|
|
numoctaves: "numOctaves",
|
|
pathlength: "pathLength",
|
|
patterncontentunits: "patternContentUnits",
|
|
patterntransform: "patternTransform",
|
|
patternunits: "patternUnits",
|
|
pointsatx: "pointsAtX",
|
|
pointsaty: "pointsAtY",
|
|
pointsatz: "pointsAtZ",
|
|
preservealpha: "preserveAlpha",
|
|
preserveaspectratio: "preserveAspectRatio",
|
|
primitiveunits: "primitiveUnits",
|
|
refx: "refX",
|
|
refy: "refY",
|
|
repeatcount: "repeatCount",
|
|
repeatdur: "repeatDur",
|
|
requiredextensions: "requiredExtensions",
|
|
requiredfeatures: "requiredFeatures",
|
|
specularconstant: "specularConstant",
|
|
specularexponent: "specularExponent",
|
|
spreadmethod: "spreadMethod",
|
|
startoffset: "startOffset",
|
|
stddeviation: "stdDeviation",
|
|
stitchtiles: "stitchTiles",
|
|
surfacescale: "surfaceScale",
|
|
systemlanguage: "systemLanguage",
|
|
tablevalues: "tableValues",
|
|
targetx: "targetX",
|
|
targety: "targetY",
|
|
textlength: "textLength",
|
|
viewbox: "viewBox",
|
|
viewtarget: "viewTarget",
|
|
xchannelselector: "xChannelSelector",
|
|
ychannelselector: "yChannelSelector",
|
|
zoomandpan: "zoomAndPan"
|
|
},
|
|
XML_ATTRS_ADJUSTMENT_MAP = {
|
|
"xlink:actuate": {
|
|
prefix: "xlink",
|
|
name: "actuate",
|
|
namespace: NS.XLINK
|
|
},
|
|
"xlink:arcrole": {
|
|
prefix: "xlink",
|
|
name: "arcrole",
|
|
namespace: NS.XLINK
|
|
},
|
|
"xlink:href": {
|
|
prefix: "xlink",
|
|
name: "href",
|
|
namespace: NS.XLINK
|
|
},
|
|
"xlink:role": {
|
|
prefix: "xlink",
|
|
name: "role",
|
|
namespace: NS.XLINK
|
|
},
|
|
"xlink:show": {
|
|
prefix: "xlink",
|
|
name: "show",
|
|
namespace: NS.XLINK
|
|
},
|
|
"xlink:title": {
|
|
prefix: "xlink",
|
|
name: "title",
|
|
namespace: NS.XLINK
|
|
},
|
|
"xlink:type": {
|
|
prefix: "xlink",
|
|
name: "type",
|
|
namespace: NS.XLINK
|
|
},
|
|
"xml:base": {
|
|
prefix: "xml",
|
|
name: "base",
|
|
namespace: NS.XML
|
|
},
|
|
"xml:lang": {
|
|
prefix: "xml",
|
|
name: "lang",
|
|
namespace: NS.XML
|
|
},
|
|
"xml:space": {
|
|
prefix: "xml",
|
|
name: "space",
|
|
namespace: NS.XML
|
|
},
|
|
xmlns: {
|
|
prefix: "",
|
|
name: "xmlns",
|
|
namespace: NS.XMLNS
|
|
},
|
|
"xmlns:xlink": {
|
|
prefix: "xmlns",
|
|
name: "xlink",
|
|
namespace: NS.XMLNS
|
|
}
|
|
},
|
|
SVG_TAG_NAMES_ADJUSTMENT_MAP = exports.SVG_TAG_NAMES_ADJUSTMENT_MAP = {
|
|
altglyph: "altGlyph",
|
|
altglyphdef: "altGlyphDef",
|
|
altglyphitem: "altGlyphItem",
|
|
animatecolor: "animateColor",
|
|
animatemotion: "animateMotion",
|
|
animatetransform: "animateTransform",
|
|
clippath: "clipPath",
|
|
feblend: "feBlend",
|
|
fecolormatrix: "feColorMatrix",
|
|
fecomponenttransfer: "feComponentTransfer",
|
|
fecomposite: "feComposite",
|
|
feconvolvematrix: "feConvolveMatrix",
|
|
fediffuselighting: "feDiffuseLighting",
|
|
fedisplacementmap: "feDisplacementMap",
|
|
fedistantlight: "feDistantLight",
|
|
feflood: "feFlood",
|
|
fefunca: "feFuncA",
|
|
fefuncb: "feFuncB",
|
|
fefuncg: "feFuncG",
|
|
fefuncr: "feFuncR",
|
|
fegaussianblur: "feGaussianBlur",
|
|
feimage: "feImage",
|
|
femerge: "feMerge",
|
|
femergenode: "feMergeNode",
|
|
femorphology: "feMorphology",
|
|
feoffset: "feOffset",
|
|
fepointlight: "fePointLight",
|
|
fespecularlighting: "feSpecularLighting",
|
|
fespotlight: "feSpotLight",
|
|
fetile: "feTile",
|
|
feturbulence: "feTurbulence",
|
|
foreignobject: "foreignObject",
|
|
glyphref: "glyphRef",
|
|
lineargradient: "linearGradient",
|
|
radialgradient: "radialGradient",
|
|
textpath: "textPath"
|
|
},
|
|
EXITS_FOREIGN_CONTENT = {
|
|
[$.B]: !0,
|
|
[$.BIG]: !0,
|
|
[$.BLOCKQUOTE]: !0,
|
|
[$.BODY]: !0,
|
|
[$.BR]: !0,
|
|
[$.CENTER]: !0,
|
|
[$.CODE]: !0,
|
|
[$.DD]: !0,
|
|
[$.DIV]: !0,
|
|
[$.DL]: !0,
|
|
[$.DT]: !0,
|
|
[$.EM]: !0,
|
|
[$.EMBED]: !0,
|
|
[$.H1]: !0,
|
|
[$.H2]: !0,
|
|
[$.H3]: !0,
|
|
[$.H4]: !0,
|
|
[$.H5]: !0,
|
|
[$.H6]: !0,
|
|
[$.HEAD]: !0,
|
|
[$.HR]: !0,
|
|
[$.I]: !0,
|
|
[$.IMG]: !0,
|
|
[$.LI]: !0,
|
|
[$.LISTING]: !0,
|
|
[$.MENU]: !0,
|
|
[$.META]: !0,
|
|
[$.NOBR]: !0,
|
|
[$.OL]: !0,
|
|
[$.P]: !0,
|
|
[$.PRE]: !0,
|
|
[$.RUBY]: !0,
|
|
[$.S]: !0,
|
|
[$.SMALL]: !0,
|
|
[$.SPAN]: !0,
|
|
[$.STRONG]: !0,
|
|
[$.STRIKE]: !0,
|
|
[$.SUB]: !0,
|
|
[$.SUP]: !0,
|
|
[$.TABLE]: !0,
|
|
[$.TT]: !0,
|
|
[$.U]: !0,
|
|
[$.UL]: !0,
|
|
[$.VAR]: !0
|
|
};
|
|
exports.causesExit = function(startTagToken) {
|
|
const tn = startTagToken.tagName;
|
|
return !!(tn === $.FONT && (null !== Tokenizer.getTokenAttr(startTagToken, ATTRS.COLOR) || null !== Tokenizer.getTokenAttr(startTagToken, ATTRS.SIZE) || null !== Tokenizer.getTokenAttr(startTagToken, ATTRS.FACE))) || EXITS_FOREIGN_CONTENT[tn]
|
|
}, exports.adjustTokenMathMLAttrs = function(token) {
|
|
for (let i = 0; i < token.attrs.length; i++)
|
|
if ("definitionurl" === token.attrs[i].name) {
|
|
token.attrs[i].name = "definitionURL";
|
|
break
|
|
}
|
|
}, exports.adjustTokenSVGAttrs = function(token) {
|
|
for (let i = 0; i < token.attrs.length; i++) {
|
|
const adjustedAttrName = SVG_ATTRS_ADJUSTMENT_MAP[token.attrs[i].name];
|
|
adjustedAttrName && (token.attrs[i].name = adjustedAttrName)
|
|
}
|
|
}, exports.adjustTokenXMLAttrs = function(token) {
|
|
for (let i = 0; i < token.attrs.length; i++) {
|
|
const adjustedAttrEntry = XML_ATTRS_ADJUSTMENT_MAP[token.attrs[i].name];
|
|
adjustedAttrEntry && (token.attrs[i].prefix = adjustedAttrEntry.prefix, token.attrs[i].name = adjustedAttrEntry.name, token.attrs[i].namespace = adjustedAttrEntry.namespace)
|
|
}
|
|
}, exports.adjustTokenSVGTagName = function(token) {
|
|
const adjustedTagName = SVG_TAG_NAMES_ADJUSTMENT_MAP[token.tagName];
|
|
adjustedTagName && (token.tagName = adjustedTagName)
|
|
}, exports.isIntegrationPoint = function(tn, ns, attrs, foreignNS) {
|
|
return !(foreignNS && foreignNS !== NS.HTML || ! function(tn, ns, attrs) {
|
|
if (ns === NS.MATHML && tn === $.ANNOTATION_XML)
|
|
for (let i = 0; i < attrs.length; i++)
|
|
if (attrs[i].name === ATTRS.ENCODING) {
|
|
const value = attrs[i].value.toLowerCase();
|
|
return value === MIME_TYPES_TEXT_HTML || value === MIME_TYPES_APPLICATION_XML
|
|
} return ns === NS.SVG && (tn === $.FOREIGN_OBJECT || tn === $.DESC || tn === $.TITLE)
|
|
}(tn, ns, attrs)) || !(foreignNS && foreignNS !== NS.MATHML || ! function(tn, ns) {
|
|
return ns === NS.MATHML && (tn === $.MI || tn === $.MO || tn === $.MN || tn === $.MS || tn === $.MTEXT)
|
|
}(tn, ns))
|
|
}
|
|
},
|
|
2089: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var implementation = __webpack_require__(55967);
|
|
module.exports = Function.prototype.bind || implementation
|
|
},
|
|
2119: module => {
|
|
var x = String,
|
|
create = function() {
|
|
return {
|
|
isColorSupported: !1,
|
|
reset: x,
|
|
bold: x,
|
|
dim: x,
|
|
italic: x,
|
|
underline: x,
|
|
inverse: x,
|
|
hidden: x,
|
|
strikethrough: x,
|
|
black: x,
|
|
red: x,
|
|
green: x,
|
|
yellow: x,
|
|
blue: x,
|
|
magenta: x,
|
|
cyan: x,
|
|
white: x,
|
|
gray: x,
|
|
bgBlack: x,
|
|
bgRed: x,
|
|
bgGreen: x,
|
|
bgYellow: x,
|
|
bgBlue: x,
|
|
bgMagenta: x,
|
|
bgCyan: x,
|
|
bgWhite: x,
|
|
blackBright: x,
|
|
redBright: x,
|
|
greenBright: x,
|
|
yellowBright: x,
|
|
blueBright: x,
|
|
magentaBright: x,
|
|
cyanBright: x,
|
|
whiteBright: x,
|
|
bgBlackBright: x,
|
|
bgRedBright: x,
|
|
bgGreenBright: x,
|
|
bgYellowBright: x,
|
|
bgBlueBright: x,
|
|
bgMagentaBright: x,
|
|
bgCyanBright: x,
|
|
bgWhiteBright: x
|
|
}
|
|
};
|
|
module.exports = create(), module.exports.createColors = create
|
|
},
|
|
2215: module => {
|
|
"use strict";
|
|
module.exports = JSON.parse('{"0":65533,"128":8364,"130":8218,"131":402,"132":8222,"133":8230,"134":8224,"135":8225,"136":710,"137":8240,"138":352,"139":8249,"140":338,"142":381,"145":8216,"146":8217,"147":8220,"148":8221,"149":8226,"150":8211,"151":8212,"152":732,"153":8482,"154":353,"155":8250,"156":339,"158":382,"159":376}')
|
|
},
|
|
2280: function(module, exports, __webpack_require__) {
|
|
var CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), __webpack_require__(10608), __webpack_require__(65554), __webpack_require__(34120), __webpack_require__(74047), function() {
|
|
var C = CryptoJS,
|
|
StreamCipher = C.lib.StreamCipher,
|
|
C_algo = C.algo,
|
|
S = [],
|
|
C_ = [],
|
|
G = [],
|
|
Rabbit = C_algo.Rabbit = StreamCipher.extend({
|
|
_doReset: function() {
|
|
for (var K = this._key.words, iv = this.cfg.iv, i = 0; i < 4; i++) K[i] = 16711935 & (K[i] << 8 | K[i] >>> 24) | 4278255360 & (K[i] << 24 | K[i] >>> 8);
|
|
var X = this._X = [K[0], K[3] << 16 | K[2] >>> 16, K[1], K[0] << 16 | K[3] >>> 16, K[2], K[1] << 16 | K[0] >>> 16, K[3], K[2] << 16 | K[1] >>> 16],
|
|
C = this._C = [K[2] << 16 | K[2] >>> 16, 4294901760 & K[0] | 65535 & K[1], K[3] << 16 | K[3] >>> 16, 4294901760 & K[1] | 65535 & K[2], K[0] << 16 | K[0] >>> 16, 4294901760 & K[2] | 65535 & K[3], K[1] << 16 | K[1] >>> 16, 4294901760 & K[3] | 65535 & K[0]];
|
|
for (this._b = 0, i = 0; i < 4; i++) nextState.call(this);
|
|
for (i = 0; i < 8; i++) C[i] ^= X[i + 4 & 7];
|
|
if (iv) {
|
|
var IV = iv.words,
|
|
IV_0 = IV[0],
|
|
IV_1 = IV[1],
|
|
i0 = 16711935 & (IV_0 << 8 | IV_0 >>> 24) | 4278255360 & (IV_0 << 24 | IV_0 >>> 8),
|
|
i2 = 16711935 & (IV_1 << 8 | IV_1 >>> 24) | 4278255360 & (IV_1 << 24 | IV_1 >>> 8),
|
|
i1 = i0 >>> 16 | 4294901760 & i2,
|
|
i3 = i2 << 16 | 65535 & i0;
|
|
for (C[0] ^= i0, C[1] ^= i1, C[2] ^= i2, C[3] ^= i3, C[4] ^= i0, C[5] ^= i1, C[6] ^= i2, C[7] ^= i3, i = 0; i < 4; i++) nextState.call(this)
|
|
}
|
|
},
|
|
_doProcessBlock: function(M, offset) {
|
|
var X = this._X;
|
|
nextState.call(this), S[0] = X[0] ^ X[5] >>> 16 ^ X[3] << 16, S[1] = X[2] ^ X[7] >>> 16 ^ X[5] << 16, S[2] = X[4] ^ X[1] >>> 16 ^ X[7] << 16, S[3] = X[6] ^ X[3] >>> 16 ^ X[1] << 16;
|
|
for (var i = 0; i < 4; i++) S[i] = 16711935 & (S[i] << 8 | S[i] >>> 24) | 4278255360 & (S[i] << 24 | S[i] >>> 8), M[offset + i] ^= S[i]
|
|
},
|
|
blockSize: 4,
|
|
ivSize: 2
|
|
});
|
|
|
|
function nextState() {
|
|
for (var X = this._X, C = this._C, i = 0; i < 8; i++) C_[i] = C[i];
|
|
for (C[0] = C[0] + 1295307597 + this._b | 0, C[1] = C[1] + 3545052371 + (C[0] >>> 0 < C_[0] >>> 0 ? 1 : 0) | 0, C[2] = C[2] + 886263092 + (C[1] >>> 0 < C_[1] >>> 0 ? 1 : 0) | 0, C[3] = C[3] + 1295307597 + (C[2] >>> 0 < C_[2] >>> 0 ? 1 : 0) | 0, C[4] = C[4] + 3545052371 + (C[3] >>> 0 < C_[3] >>> 0 ? 1 : 0) | 0, C[5] = C[5] + 886263092 + (C[4] >>> 0 < C_[4] >>> 0 ? 1 : 0) | 0, C[6] = C[6] + 1295307597 + (C[5] >>> 0 < C_[5] >>> 0 ? 1 : 0) | 0, C[7] = C[7] + 3545052371 + (C[6] >>> 0 < C_[6] >>> 0 ? 1 : 0) | 0, this._b = C[7] >>> 0 < C_[7] >>> 0 ? 1 : 0, i = 0; i < 8; i++) {
|
|
var gx = X[i] + C[i],
|
|
ga = 65535 & gx,
|
|
gb = gx >>> 16,
|
|
gh = ((ga * ga >>> 17) + ga * gb >>> 15) + gb * gb,
|
|
gl = ((4294901760 & gx) * gx | 0) + ((65535 & gx) * gx | 0);
|
|
G[i] = gh ^ gl
|
|
}
|
|
X[0] = G[0] + (G[7] << 16 | G[7] >>> 16) + (G[6] << 16 | G[6] >>> 16) | 0, X[1] = G[1] + (G[0] << 8 | G[0] >>> 24) + G[7] | 0, X[2] = G[2] + (G[1] << 16 | G[1] >>> 16) + (G[0] << 16 | G[0] >>> 16) | 0, X[3] = G[3] + (G[2] << 8 | G[2] >>> 24) + G[1] | 0, X[4] = G[4] + (G[3] << 16 | G[3] >>> 16) + (G[2] << 16 | G[2] >>> 16) | 0, X[5] = G[5] + (G[4] << 8 | G[4] >>> 24) + G[3] | 0, X[6] = G[6] + (G[5] << 16 | G[5] >>> 16) + (G[4] << 16 | G[4] >>> 16) | 0, X[7] = G[7] + (G[6] << 8 | G[6] >>> 24) + G[5] | 0
|
|
}
|
|
C.Rabbit = StreamCipher._createHelper(Rabbit)
|
|
}(), CryptoJS.Rabbit)
|
|
},
|
|
2480: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912)),
|
|
_helpers = _interopRequireDefault(__webpack_require__(16065));
|
|
exports.default = new _dac.default({
|
|
description: "Kohl's Acorns",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "112",
|
|
name: "Kohl's"
|
|
}],
|
|
doDac: async function(couponCode, selector, priceAmt, applyBestCode) {
|
|
let price = priceAmt,
|
|
discountedPrice = priceAmt;
|
|
return function(res) {
|
|
try {
|
|
discountedPrice = Number(_legacyHoneyUtils.default.cleanPrice(res.cartJsonData.orderSummary.total))
|
|
} catch (e) {}
|
|
discountedPrice < price && ((0, _jquery.default)(selector).text("$" + discountedPrice.toString()), price = discountedPrice)
|
|
}(await async function() {
|
|
const res = _jquery.default.ajax({
|
|
url: "https://www.kohls.com/cnc/applyCoupons",
|
|
type: "POST",
|
|
headers: {
|
|
"content-type": "application/json"
|
|
},
|
|
data: JSON.stringify([{
|
|
couponType: "promo",
|
|
promoCode: couponCode
|
|
}])
|
|
});
|
|
return await res.done(_data => {
|
|
_logger.default.debug("Finishing code application")
|
|
}), res
|
|
}()), !0 === applyBestCode && (window.location = window.location.href, await (0, _helpers.default)(2e3)), price
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
2646: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
const state = this.stateStack[this.stateStack.length - 1],
|
|
node = state.node;
|
|
state.doneBlock_ ? state.throwValue && !state.doneHandler_ && node.handler ? (state.doneHandler_ = !0, this.stateStack.push({
|
|
node: node.handler,
|
|
throwValue: state.throwValue
|
|
}), state.throwValue = null) : !state.doneFinalizer_ && node.finalizer ? (state.doneFinalizer_ = !0, this.stateStack.push({
|
|
node: node.finalizer
|
|
})) : state.throwValue ? this.executeException(state.throwValue) : this.stateStack.pop() : (state.doneBlock_ = !0, this.stateStack.push({
|
|
node: node.block
|
|
}))
|
|
}, module.exports = exports.default
|
|
},
|
|
2652: function(__unused_webpack_module, exports, __webpack_require__) {
|
|
"use strict";
|
|
var __assign = this && this.__assign || function() {
|
|
return __assign = Object.assign || function(t) {
|
|
for (var s, i = 1, n = arguments.length; i < n; i++)
|
|
for (var p in s = arguments[i]) Object.prototype.hasOwnProperty.call(s, p) && (t[p] = s[p]);
|
|
return t
|
|
}, __assign.apply(this, arguments)
|
|
},
|
|
__createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
void 0 === k2 && (k2 = k), Object.defineProperty(o, k2, {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return m[k]
|
|
}
|
|
})
|
|
} : function(o, m, k, k2) {
|
|
void 0 === k2 && (k2 = k), o[k2] = m[k]
|
|
}),
|
|
__setModuleDefault = this && this.__setModuleDefault || (Object.create ? function(o, v) {
|
|
Object.defineProperty(o, "default", {
|
|
enumerable: !0,
|
|
value: v
|
|
})
|
|
} : function(o, v) {
|
|
o.default = v
|
|
}),
|
|
__importStar = this && this.__importStar || function(mod) {
|
|
if (mod && mod.__esModule) return mod;
|
|
var result = {};
|
|
if (null != mod)
|
|
for (var k in mod) "default" !== k && Object.prototype.hasOwnProperty.call(mod, k) && __createBinding(result, mod, k);
|
|
return __setModuleDefault(result, mod), result
|
|
};
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
});
|
|
var ElementType = __importStar(__webpack_require__(60903)),
|
|
entities_1 = __webpack_require__(11924),
|
|
foreignNames_1 = __webpack_require__(27398),
|
|
unencodedElements = new Set(["style", "script", "xmp", "iframe", "noembed", "noframes", "plaintext", "noscript"]);
|
|
var singleTag = new Set(["area", "base", "basefont", "br", "col", "command", "embed", "frame", "hr", "img", "input", "isindex", "keygen", "link", "meta", "param", "source", "track", "wbr"]);
|
|
|
|
function render(node, options) {
|
|
void 0 === options && (options = {});
|
|
for (var nodes = ("length" in node ? node : [node]), output = "", i = 0; i < nodes.length; i++) output += renderNode(nodes[i], options);
|
|
return output
|
|
}
|
|
|
|
function renderNode(node, options) {
|
|
switch (node.type) {
|
|
case ElementType.Root:
|
|
return render(node.children, options);
|
|
case ElementType.Directive:
|
|
case ElementType.Doctype:
|
|
return "<" + node.data + ">";
|
|
case ElementType.Comment:
|
|
return function(elem) {
|
|
return "\x3c!--" + elem.data + "--\x3e"
|
|
}(node);
|
|
case ElementType.CDATA:
|
|
return function(elem) {
|
|
return "<![CDATA[" + elem.children[0].data + "]]>"
|
|
}(node);
|
|
case ElementType.Script:
|
|
case ElementType.Style:
|
|
case ElementType.Tag:
|
|
return function(elem, opts) {
|
|
var _a;
|
|
"foreign" === opts.xmlMode && (elem.name = null !== (_a = foreignNames_1.elementNames.get(elem.name)) && void 0 !== _a ? _a : elem.name, elem.parent && foreignModeIntegrationPoints.has(elem.parent.name) && (opts = __assign(__assign({}, opts), {
|
|
xmlMode: !1
|
|
})));
|
|
!opts.xmlMode && foreignElements.has(elem.name) && (opts = __assign(__assign({}, opts), {
|
|
xmlMode: "foreign"
|
|
}));
|
|
var tag = "<" + elem.name,
|
|
attribs = function(attributes, opts) {
|
|
if (attributes) return Object.keys(attributes).map(function(key) {
|
|
var _a, _b, value = null !== (_a = attributes[key]) && void 0 !== _a ? _a : "";
|
|
return "foreign" === opts.xmlMode && (key = null !== (_b = foreignNames_1.attributeNames.get(key)) && void 0 !== _b ? _b : key), opts.emptyAttrs || opts.xmlMode || "" !== value ? key + '="' + (!1 !== opts.decodeEntities ? entities_1.encodeXML(value) : value.replace(/"/g, """)) + '"' : key
|
|
}).join(" ")
|
|
}(elem.attribs, opts);
|
|
attribs && (tag += " " + attribs);
|
|
0 === elem.children.length && (opts.xmlMode ? !1 !== opts.selfClosingTags : opts.selfClosingTags && singleTag.has(elem.name)) ? (opts.xmlMode || (tag += " "), tag += "/>") : (tag += ">", elem.children.length > 0 && (tag += render(elem.children, opts)), !opts.xmlMode && singleTag.has(elem.name) || (tag += "</" + elem.name + ">"));
|
|
return tag
|
|
}(node, options);
|
|
case ElementType.Text:
|
|
return function(elem, opts) {
|
|
var data = elem.data || "";
|
|
!1 === opts.decodeEntities || !opts.xmlMode && elem.parent && unencodedElements.has(elem.parent.name) || (data = entities_1.encodeXML(data));
|
|
return data
|
|
}(node, options)
|
|
}
|
|
}
|
|
exports.default = render;
|
|
var foreignModeIntegrationPoints = new Set(["mi", "mo", "mn", "ms", "mtext", "annotation-xml", "foreignObject", "desc", "title"]),
|
|
foreignElements = new Set(["svg", "math"])
|
|
},
|
|
2800: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
|
|
function _createForOfIteratorHelper(o, allowArrayLike) {
|
|
var it = "undefined" != typeof Symbol && o[Symbol.iterator] || o["@@iterator"];
|
|
if (!it) {
|
|
if (Array.isArray(o) || (it = function(o, minLen) {
|
|
if (!o) return;
|
|
if ("string" == typeof o) return _arrayLikeToArray(o, minLen);
|
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
"Object" === n && o.constructor && (n = o.constructor.name);
|
|
if ("Map" === n || "Set" === n) return Array.from(o);
|
|
if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen)
|
|
}(o)) || allowArrayLike && o && "number" == typeof o.length) {
|
|
it && (o = it);
|
|
var i = 0,
|
|
F = function() {};
|
|
return {
|
|
s: F,
|
|
n: function() {
|
|
return i >= o.length ? {
|
|
done: !0
|
|
} : {
|
|
done: !1,
|
|
value: o[i++]
|
|
}
|
|
},
|
|
e: function(_e) {
|
|
throw _e
|
|
},
|
|
f: F
|
|
}
|
|
}
|
|
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
|
|
}
|
|
var err, normalCompletion = !0,
|
|
didErr = !1;
|
|
return {
|
|
s: function() {
|
|
it = it.call(o)
|
|
},
|
|
n: function() {
|
|
var step = it.next();
|
|
return normalCompletion = step.done, step
|
|
},
|
|
e: function(_e2) {
|
|
didErr = !0, err = _e2
|
|
},
|
|
f: function() {
|
|
try {
|
|
normalCompletion || null == it.return || it.return()
|
|
} finally {
|
|
if (didErr) throw err
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
function _arrayLikeToArray(arr, len) {
|
|
(null == len || len > arr.length) && (len = arr.length);
|
|
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
return arr2
|
|
}
|
|
let root;
|
|
"undefined" != typeof window ? root = window : "undefined" == typeof self ? (console.warn("Using browser-only version of superagent in non-browser environment"), root = void 0) : root = self;
|
|
const Emitter = __webpack_require__(98777),
|
|
safeStringify = __webpack_require__(81689),
|
|
qs = __webpack_require__(99211),
|
|
RequestBase = __webpack_require__(23662),
|
|
_require = __webpack_require__(1602),
|
|
isObject = _require.isObject,
|
|
mixin = _require.mixin,
|
|
hasOwn = _require.hasOwn,
|
|
ResponseBase = __webpack_require__(28420),
|
|
Agent = __webpack_require__(57790);
|
|
|
|
function noop() {}
|
|
module.exports = function(method, url) {
|
|
return "function" == typeof url ? new exports.Request("GET", method).end(url) : 1 === arguments.length ? new exports.Request("GET", method) : new exports.Request(method, url)
|
|
};
|
|
const request = exports = module.exports;
|
|
exports.Request = Request, request.getXHR = () => {
|
|
if (root.XMLHttpRequest) return new root.XMLHttpRequest;
|
|
throw new Error("Browser-only version of superagent could not find XHR")
|
|
};
|
|
const trim = "".trim ? s => s.trim() : s => s.replace(/(^\s*|\s*$)/g, "");
|
|
|
|
function serialize(object) {
|
|
if (!isObject(object)) return object;
|
|
const pairs = [];
|
|
for (const key in object) hasOwn(object, key) && pushEncodedKeyValuePair(pairs, key, object[key]);
|
|
return pairs.join("&")
|
|
}
|
|
|
|
function pushEncodedKeyValuePair(pairs, key, value) {
|
|
if (void 0 !== value)
|
|
if (null !== value)
|
|
if (Array.isArray(value)) {
|
|
var _step, _iterator = _createForOfIteratorHelper(value);
|
|
try {
|
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
pushEncodedKeyValuePair(pairs, key, _step.value)
|
|
}
|
|
} catch (err) {
|
|
_iterator.e(err)
|
|
} finally {
|
|
_iterator.f()
|
|
}
|
|
} else if (isObject(value))
|
|
for (const subkey in value) hasOwn(value, subkey) && pushEncodedKeyValuePair(pairs, `${key}[${subkey}]`, value[subkey]);
|
|
else pairs.push(encodeURI(key) + "=" + encodeURIComponent(value));
|
|
else pairs.push(encodeURI(key))
|
|
}
|
|
|
|
function parseString(string_) {
|
|
const object = {},
|
|
pairs = string_.split("&");
|
|
let pair, pos;
|
|
for (let i = 0, length_ = pairs.length; i < length_; ++i) pair = pairs[i], pos = pair.indexOf("="), -1 === pos ? object[decodeURIComponent(pair)] = "" : object[decodeURIComponent(pair.slice(0, pos))] = decodeURIComponent(pair.slice(pos + 1));
|
|
return object
|
|
}
|
|
|
|
function isJSON(mime) {
|
|
return /[/+]json($|[^-\w])/i.test(mime)
|
|
}
|
|
|
|
function Response(request_) {
|
|
this.req = request_, this.xhr = this.req.xhr, this.text = "HEAD" !== this.req.method && ("" === this.xhr.responseType || "text" === this.xhr.responseType) || void 0 === this.xhr.responseType ? this.xhr.responseText : null, this.statusText = this.req.xhr.statusText;
|
|
let status = this.xhr.status;
|
|
1223 === status && (status = 204), this._setStatusProperties(status), this.headers = function(string_) {
|
|
const lines = string_.split(/\r?\n/),
|
|
fields = {};
|
|
let index, line, field, value;
|
|
for (let i = 0, length_ = lines.length; i < length_; ++i) line = lines[i], index = line.indexOf(":"), -1 !== index && (field = line.slice(0, index).toLowerCase(), value = trim(line.slice(index + 1)), fields[field] = value);
|
|
return fields
|
|
}(this.xhr.getAllResponseHeaders()), this.header = this.headers, this.header["content-type"] = this.xhr.getResponseHeader("content-type"), this._setHeaderProperties(this.header), null === this.text && request_._responseType ? this.body = this.xhr.response : this.body = "HEAD" === this.req.method ? null : this._parseBody(this.text ? this.text : this.xhr.response)
|
|
}
|
|
|
|
function Request(method, url) {
|
|
const self = this;
|
|
this._query = this._query || [], this.method = method, this.url = url, this.header = {}, this._header = {}, this.on("end", () => {
|
|
let new_error, error = null,
|
|
res = null;
|
|
try {
|
|
res = new Response(self)
|
|
} catch (err) {
|
|
return error = new Error("Parser is unable to parse the response"), error.parse = !0, error.original = err, self.xhr ? (error.rawResponse = void 0 === self.xhr.responseType ? self.xhr.responseText : self.xhr.response, error.status = self.xhr.status ? self.xhr.status : null, error.statusCode = error.status) : (error.rawResponse = null, error.status = null), self.callback(error)
|
|
}
|
|
self.emit("response", res);
|
|
try {
|
|
self._isResponseOK(res) || (new_error = new Error(res.statusText || res.text || "Unsuccessful HTTP response"))
|
|
} catch (err) {
|
|
new_error = err
|
|
}
|
|
new_error ? (new_error.original = error, new_error.response = res, new_error.status = new_error.status || res.status, self.callback(new_error, res)) : self.callback(null, res)
|
|
})
|
|
}
|
|
request.serializeObject = serialize, request.parseString = parseString, request.types = {
|
|
html: "text/html",
|
|
json: "application/json",
|
|
xml: "text/xml",
|
|
urlencoded: "application/x-www-form-urlencoded",
|
|
form: "application/x-www-form-urlencoded",
|
|
"form-data": "application/x-www-form-urlencoded"
|
|
}, request.serialize = {
|
|
"application/x-www-form-urlencoded": qs.stringify,
|
|
"application/json": safeStringify
|
|
}, request.parse = {
|
|
"application/x-www-form-urlencoded": parseString,
|
|
"application/json": JSON.parse
|
|
}, mixin(Response.prototype, ResponseBase.prototype), Response.prototype._parseBody = function(string_) {
|
|
let parse = request.parse[this.type];
|
|
return this.req._parser ? this.req._parser(this, string_) : (!parse && isJSON(this.type) && (parse = request.parse["application/json"]), parse && string_ && (string_.length > 0 || string_ instanceof Object) ? parse(string_) : null)
|
|
}, Response.prototype.toError = function() {
|
|
const req = this.req,
|
|
method = req.method,
|
|
url = req.url,
|
|
message = `cannot ${method} ${url} (${this.status})`,
|
|
error = new Error(message);
|
|
return error.status = this.status, error.method = method, error.url = url, error
|
|
}, request.Response = Response, Emitter(Request.prototype), mixin(Request.prototype, RequestBase.prototype), Request.prototype.type = function(type) {
|
|
return this.set("Content-Type", request.types[type] || type), this
|
|
}, Request.prototype.accept = function(type) {
|
|
return this.set("Accept", request.types[type] || type), this
|
|
}, Request.prototype.auth = function(user, pass, options) {
|
|
1 === arguments.length && (pass = ""), "object" == typeof pass && null !== pass && (options = pass, pass = ""), options || (options = {
|
|
type: "function" == typeof btoa ? "basic" : "auto"
|
|
});
|
|
const encoder = options.encoder ? options.encoder : string => {
|
|
if ("function" == typeof btoa) return btoa(string);
|
|
throw new Error("Cannot use basic auth, btoa is not a function")
|
|
};
|
|
return this._auth(user, pass, options, encoder)
|
|
}, Request.prototype.query = function(value) {
|
|
return "string" != typeof value && (value = serialize(value)), value && this._query.push(value), this
|
|
}, Request.prototype.attach = function(field, file, options) {
|
|
if (file) {
|
|
if (this._data) throw new Error("superagent can't mix .send() and .attach()");
|
|
this._getFormData().append(field, file, options || file.name)
|
|
}
|
|
return this
|
|
}, Request.prototype._getFormData = function() {
|
|
return this._formData || (this._formData = new root.FormData), this._formData
|
|
}, Request.prototype.callback = function(error, res) {
|
|
if (this._shouldRetry(error, res)) return this._retry();
|
|
const fn = this._callback;
|
|
this.clearTimeout(), error && (this._maxRetries && (error.retries = this._retries - 1), this.emit("error", error)), fn(error, res)
|
|
}, Request.prototype.crossDomainError = function() {
|
|
const error = new Error("Request has been terminated\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.");
|
|
error.crossDomain = !0, error.status = this.status, error.method = this.method, error.url = this.url, this.callback(error)
|
|
}, Request.prototype.agent = function() {
|
|
return console.warn("This is not supported in browser version of superagent"), this
|
|
}, Request.prototype.ca = Request.prototype.agent, Request.prototype.buffer = Request.prototype.ca, Request.prototype.write = () => {
|
|
throw new Error("Streaming is not supported in browser version of superagent")
|
|
}, Request.prototype.pipe = Request.prototype.write, Request.prototype._isHost = function(object) {
|
|
return object && "object" == typeof object && !Array.isArray(object) && "[object Object]" !== Object.prototype.toString.call(object)
|
|
}, Request.prototype.end = function(fn) {
|
|
this._endCalled && console.warn("Warning: .end() was called twice. This is not supported in superagent"), this._endCalled = !0, this._callback = fn || noop, this._finalizeQueryString(), this._end()
|
|
}, Request.prototype._setUploadTimeout = function() {
|
|
const self = this;
|
|
this._uploadTimeout && !this._uploadTimeoutTimer && (this._uploadTimeoutTimer = setTimeout(() => {
|
|
self._timeoutError("Upload timeout of ", self._uploadTimeout, "ETIMEDOUT")
|
|
}, this._uploadTimeout))
|
|
}, Request.prototype._end = function() {
|
|
if (this._aborted) return this.callback(new Error("The request has been aborted even before .end() was called"));
|
|
const self = this;
|
|
this.xhr = request.getXHR();
|
|
const xhr = this.xhr;
|
|
let data = this._formData || this._data;
|
|
this._setTimeouts(), xhr.addEventListener("readystatechange", () => {
|
|
const readyState = xhr.readyState;
|
|
if (readyState >= 2 && self._responseTimeoutTimer && clearTimeout(self._responseTimeoutTimer), 4 !== readyState) return;
|
|
let status;
|
|
try {
|
|
status = xhr.status
|
|
} catch (err) {
|
|
status = 0
|
|
}
|
|
if (!status) {
|
|
if (self.timedout || self._aborted) return;
|
|
return self.crossDomainError()
|
|
}
|
|
self.emit("end")
|
|
});
|
|
const handleProgress = (direction, e) => {
|
|
e.total > 0 && (e.percent = e.loaded / e.total * 100, 100 === e.percent && clearTimeout(self._uploadTimeoutTimer)), e.direction = direction, self.emit("progress", e)
|
|
};
|
|
if (this.hasListeners("progress")) try {
|
|
xhr.addEventListener("progress", handleProgress.bind(null, "download")), xhr.upload && xhr.upload.addEventListener("progress", handleProgress.bind(null, "upload"))
|
|
} catch (err) {}
|
|
xhr.upload && this._setUploadTimeout();
|
|
try {
|
|
this.username && this.password ? xhr.open(this.method, this.url, !0, this.username, this.password) : xhr.open(this.method, this.url, !0)
|
|
} catch (err) {
|
|
return this.callback(err)
|
|
}
|
|
if (this._withCredentials && (xhr.withCredentials = !0), !this._formData && "GET" !== this.method && "HEAD" !== this.method && "string" != typeof data && !this._isHost(data)) {
|
|
const contentType = this._header["content-type"];
|
|
let serialize = this._serializer || request.serialize[contentType ? contentType.split(";")[0] : ""];
|
|
!serialize && isJSON(contentType) && (serialize = request.serialize["application/json"]), serialize && (data = serialize(data))
|
|
}
|
|
for (const field in this.header) null !== this.header[field] && hasOwn(this.header, field) && xhr.setRequestHeader(field, this.header[field]);
|
|
this._responseType && (xhr.responseType = this._responseType), this.emit("request", this), xhr.send(void 0 === data ? null : data)
|
|
}, request.agent = () => new Agent;
|
|
for (var _i = 0, _arr = ["GET", "POST", "OPTIONS", "PATCH", "PUT", "DELETE"]; _i < _arr.length; _i++) {
|
|
const method = _arr[_i];
|
|
Agent.prototype[method.toLowerCase()] = function(url, fn) {
|
|
const request_ = new request.Request(method, url);
|
|
return this._setDefaults(request_), fn && request_.end(fn), request_
|
|
}
|
|
}
|
|
|
|
function del(url, data, fn) {
|
|
const request_ = request("DELETE", url);
|
|
return "function" == typeof data && (fn = data, data = null), data && request_.send(data), fn && request_.end(fn), request_
|
|
}
|
|
Agent.prototype.del = Agent.prototype.delete, request.get = (url, data, fn) => {
|
|
const request_ = request("GET", url);
|
|
return "function" == typeof data && (fn = data, data = null), data && request_.query(data), fn && request_.end(fn), request_
|
|
}, request.head = (url, data, fn) => {
|
|
const request_ = request("HEAD", url);
|
|
return "function" == typeof data && (fn = data, data = null), data && request_.query(data), fn && request_.end(fn), request_
|
|
}, request.options = (url, data, fn) => {
|
|
const request_ = request("OPTIONS", url);
|
|
return "function" == typeof data && (fn = data, data = null), data && request_.send(data), fn && request_.end(fn), request_
|
|
}, request.del = del, request.delete = del, request.patch = (url, data, fn) => {
|
|
const request_ = request("PATCH", url);
|
|
return "function" == typeof data && (fn = data, data = null), data && request_.send(data), fn && request_.end(fn), request_
|
|
}, request.post = (url, data, fn) => {
|
|
const request_ = request("POST", url);
|
|
return "function" == typeof data && (fn = data, data = null), data && request_.send(data), fn && request_.end(fn), request_
|
|
}, request.put = (url, data, fn) => {
|
|
const request_ = request("PUT", url);
|
|
return "function" == typeof data && (fn = data, data = null), data && request_.send(data), fn && request_.end(fn), request_
|
|
}
|
|
},
|
|
3784: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
class PromisedResult {
|
|
constructor({
|
|
promise,
|
|
vimInstance,
|
|
runId
|
|
}) {
|
|
this.vimInstance = vimInstance, this.promise = promise, this.runId = runId
|
|
}
|
|
async cancel() {
|
|
this.vimInstance && await this.vimInstance.cancel()
|
|
}
|
|
async getResult() {
|
|
return this.promise
|
|
}
|
|
getRunId() {
|
|
return this.runId
|
|
}
|
|
}
|
|
exports.default = PromisedResult, Object.defineProperty(PromisedResult, Symbol.hasInstance, {
|
|
value: obj => null != obj && obj.cancel && obj.getResult && obj.getRunId
|
|
}), module.exports = exports.default
|
|
},
|
|
3791: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
const state = this.stateStack[this.stateStack.length - 1],
|
|
node = state.node;
|
|
if (!state.doneLeft_) return state.doneLeft_ = !0, void this.stateStack.push({
|
|
node: node.left
|
|
});
|
|
if (!state.doneRight_) return state.doneRight_ = !0, state.leftValue_ = state.value, void this.stateStack.push({
|
|
node: node.right
|
|
});
|
|
this.stateStack.pop();
|
|
const leftSide = state.leftValue_,
|
|
rightSide = state.value,
|
|
comp = _Instance.default.comp(leftSide, rightSide);
|
|
let value;
|
|
if ("==" === node.operator || "!=" === node.operator) value = leftSide.isPrimitive && rightSide.isPrimitive ? leftSide.data == rightSide.data : 0 == comp, "!=" === node.operator && (value = !value);
|
|
else if ("===" === node.operator || "!==" === node.operator) value = leftSide.isPrimitive && rightSide.isPrimitive ? leftSide.data === rightSide.data : leftSide === rightSide, "!==" === node.operator && (value = !value);
|
|
else if (">" === node.operator) value = 1 === comp;
|
|
else if (">=" === node.operator) value = 1 === comp || 0 === comp;
|
|
else if ("<" === node.operator) value = -1 === comp;
|
|
else if ("<=" === node.operator) value = -1 === comp || 0 === comp;
|
|
else if ("+" === node.operator) {
|
|
value = (leftSide.isPrimitive ? leftSide.data : leftSide.toString()) + (rightSide.isPrimitive ? rightSide.data : rightSide.toString())
|
|
} else if ("in" === node.operator) value = this.hasProperty(rightSide, leftSide);
|
|
else if ("instanceof" === node.operator) _Instance.default.isa(rightSide, this.FUNCTION) || this.throwException(this.TYPE_ERROR, "Expecting a function in instanceof check"), value = _Instance.default.isa(leftSide, rightSide);
|
|
else {
|
|
const leftValue = leftSide.toNumber(),
|
|
rightValue = rightSide.toNumber();
|
|
if ("-" === node.operator) value = leftValue - rightValue;
|
|
else if ("*" === node.operator) value = leftValue * rightValue;
|
|
else if ("/" === node.operator) value = leftValue / rightValue;
|
|
else if ("%" === node.operator) value = leftValue % rightValue;
|
|
else if ("&" === node.operator) value = leftValue & rightValue;
|
|
else if ("|" === node.operator) value = leftValue | rightValue;
|
|
else if ("^" === node.operator) value = leftValue ^ rightValue;
|
|
else if ("<<" === node.operator) value = leftValue << rightValue;
|
|
else if (">>" === node.operator) value = leftValue >> rightValue;
|
|
else {
|
|
if (">>>" !== node.operator) throw SyntaxError(`Unknown binary operator: ${node.operator}`);
|
|
value = leftValue >>> rightValue
|
|
}
|
|
}
|
|
this.stateStack[this.stateStack.length - 1].value = this.createPrimitive(value)
|
|
};
|
|
var _Instance = _interopRequireDefault(__webpack_require__(76352));
|
|
module.exports = exports.default
|
|
},
|
|
3816: function(module, __unused_webpack_exports, __webpack_require__) {
|
|
(function() {
|
|
(module.exports = __webpack_require__(66143)).version = "5.1.2"
|
|
}).call(this)
|
|
},
|
|
3979: module => {
|
|
"use strict";
|
|
module.exports = JSON.parse('{"name":"FSEmptyCart","groups":[],"isRequired":false,"tests":[{"method":"testIfInnerTextContainsLengthWeightedExponential","options":{"expected":"(cart|bag|basket)\\\\W*(i|\'|\u2019)s(currently)?empty","onlyVisibleText":"true","matchWeight":"10","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLengthWeightedExponential","options":{"expected":"(no|0)(items|products)in(your|the)(shopping)?(bag|cart)","matchWeight":"10","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLengthWeightedExponential","options":{"expected":"don\'thaveanyitemsinyour(shopping)?cart","matchWeight":"10","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLengthWeightedExponential","options":{"expected":"nothing(hereyet|inyour(shopping)?cart|toseehere)","matchWeight":"10","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLengthWeightedExponential","options":{"expected":"empty(cart|trolley)","onlyVisibleText":"true","matchWeight":"10","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLengthWeightedExponential","options":{"expected":"cart:?\\\\(0items\\\\)","matchWeight":"10","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLengthWeightedExponential","options":{"expected":"somethingmissing","matchWeight":"10","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLengthWeightedExponential","options":{"expected":"keepyour(bag|cart)company","matchWeight":"10","unMatchWeight":"1"},"_comment":"HP"},{"method":"testIfInnerTextContainsLengthWeightedExponential","options":{"expected":"i\'mempty","matchWeight":"10","unMatchWeight":"1"},"_comment":"missguided"},{"method":"testIfInnerTextContainsLengthWeightedExponential","options":{"expected":"noitemswereadded","matchWeight":"10","unMatchWeight":"1"},"_comment":"health-span-uk"},{"method":"testIfInnerTextContainsLengthWeightedExponential","options":{"expected":"haven(\u2019|\')taddedanythingtoyourcart","matchWeight":"10","unMatchWeight":"1"},"_comment":"ez-contacts"},{"method":"testIfInnerTextContainsLengthWeightedExponential","options":{"expected":"(doyouhaveitemsinyourcart\\\\?|lookingforyourshoppingbagitems\\\\?)","matchWeight":"10","unMatchWeight":"1"},"_comment":"world-market, farfetch"},{"method":"testIfInnerHtmlContainsLength","options":{"expected":"wishlist|checkout","matchWeight":"0","unMatchWeight":"1"},"_comment":"adidas, vitamin-shoppe"},{"method":"testIfInnerHtmlContainsLength","options":{"expected":"(clearcartitems|emptycart\\\\(\\\\)|emptycartbutton|emptycartpop|empty_cart_button|emptyyourcart\\\\?|remove_all)","matchWeight":"0","unMatchWeight":"1"},"_comment":"Stores that contain buttons to \'empty your existing cart\': redshelf, at-t, webstaurant-store, vitacost, shopakira, well-ca"},{"method":"testIfInnerTextContainsLength","options":{"expected":"savedforlater","matchWeight":"0","unMatchWeight":"1"},"_comment":"Free People - \\"nothing to see here\\" for saved items"}],"preconditions":[],"shape":[{"value":"^(a|button|i|svg)$","weight":0,"scope":"tag","_comment":"element types to skip"},{"value":"cart_is_empty","weight":3,"scope":"src","_comment":"dolls-kill: Image which has empty cart text"},{"value":"^(b|div|h1|h2|h3|h4|h5|h6|p|section|strong)$","weight":1,"scope":"tag","_comment":"element types to inspect text"},{"value":"link","weight":0.1,"scope":"class","_comment":"avoid links to empty the cart"},{"value":"manage-cart","weight":0,"scope":"id","_comment":"electronic-express has a button to empty cart"},{"value":"active|modal|save-for-later","weight":0,"scope":"class"},{"value":"false","weight":0,"scope":"data-honey_is_visible"},{"value":"bag|basket|cart","weight":1},{"value":"emptycartpop|notification","weight":0}]}')
|
|
},
|
|
4052: module => {
|
|
"use strict";
|
|
module.exports = JSON.parse('{"name":"PPInterstitial","groups":[],"isRequired":false,"tests":[{"method":"testIfInnerTextContainsLengthWeighted","options":{"tags":"button,div","expected":"no,thanks","matchWeight":"20","unMatchWeight":"1"},"_comment":"brooklinen"},{"method":"testIfInnerTextContainsLength","options":{"tags":"button","expected":"^shopwithout","matchWeight":"10","unMatchWeight":"1"},"_comment":"bissell"}],"preconditions":[],"shape":[{"value":"closeiconcontainer","weight":20,"scope":"id","_comment":"Pacsun close button within iframe"},{"value":"popup__btn","weight":20,"scope":"class","_comment":"bluenotes"},{"value":"close-popup","weight":20,"scope":"class","_comment":"carters"},{"value":"close-inside","weight":20,"scope":"id","_comment":"forever21"},{"value":"true","weight":10,"scope":"aria-modal"},{"value":"^close$","weight":10,"scope":"title"},{"value":"dialog-close","weight":10,"scope":"class","_comment":"adore-me"},{"value":"closemodal","weight":10,"scope":"aria-label","_comment":"toms"},{"value":"^shopwithout","weight":10,"scope":"aria-label","_comment":"bissell"},{"value":"^close$","weight":2,"scope":"aria-label","_comment":"bealls-florida"},{"value":"lightbox","weight":2,"scope":"id"},{"value":"age-yes","weight":2,"scope":"class","_comment":"vape-com"},{"value":"cta","weight":2,"scope":"class"},{"value":"dismiss|modal","weight":2,"scope":"class"},{"value":"close","weight":2,"scope":"data-click"},{"value":"^div$","weight":0.5,"scope":"tag"},{"value":"false","weight":0.1,"scope":"data-honey_is_visible"},{"value":"modalcheckage","weight":10,"_comment":"vape-com"}]}')
|
|
},
|
|
4147: module => {
|
|
"use strict";
|
|
module.exports = JSON.parse('{"name":"PPVariantSize","groups":[],"isRequired":false,"tests":[{"method":"testIfInnerTextContainsLength","options":{"tags":"a,button,div","expected":"^x{0,}(s|sm|sml|small|m|md|med|medium|l|lg|lrg|large)\\\\(?\\\\d{0,2}\\\\)?$","matchWeight":"10","unMatchWeight":"1"},"_regex":"https://regex101.com/r/SKzZZF/1"},{"method":"testIfInnerTextContainsLength","options":{"tags":"a,button,div,nav","expected":"^(please)?(select)?[a-z]*?size$","onlyVisibleText":"true","matchWeight":"10","unMatchWeight":"1"},"_regex":"https://regex101.com/r/LSooIQ/1"},{"method":"testIfInnerTextContainsLength","options":{"tags":"a,button","expected":"^\\\\d{1,3}(\\\\.5)?$","matchWeight":"10","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLength","options":{"tags":"div","expected":"^size","onlyVisibleText":"true","matchWeight":"5","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLength","options":{"tags":"select","expected":"^selecta?size","matchWeight":"3","unMatchWeight":"1"},"_comment":"select elements innerText also contains option text, so only match on start"},{"method":"testIfInnerTextContainsLength","options":{"tags":"a,button","expected":"^full-?size|mini","matchWeight":"3","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLength","options":{"tags":"a,button,span","expected":"(findmy|reference)size|review","matchWeight":"0","unMatchWeight":"1"}},{"method":"testIfLabelContains","options":{"tags":"input,select","expected":"size","onlyVisibleText":"true","matchWeight":"10","unMatchWeight":"1"}},{"method":"testIfLabelContains","options":{"tags":"input,select","expected":"outofstock|unavailable","onlyVisibleText":"true","matchWeight":"0","unMatchWeight":"1"}},{"method":"testIfAncestorAttrsContain","options":{"tags":"a,div","expected":"(aria-label|value-)size","generations":"1","matchWeight":"5","unMatchWeight":"1"}},{"method":"testIfAncestorAttrsContain","options":{"tags":"a,button,div,input,li","expected":"size-?(button|choose|field|link|list|select|swatch)","generations":"1","matchWeight":"5","unMatchWeight":"1"}},{"method":"testIfAncestorAttrsContain","options":{"tags":"a,button,div,li","expected":"variantholder","generations":"1","matchWeight":"3","unMatchWeight":"1"}},{"method":"testIfAncestorAttrsContain","options":{"tags":"a,button,div,input","expected":"(input|product|selected|sku)-size","generations":"2","matchWeight":"3","unMatchWeight":"1"}},{"method":"testIfAncestorAttrsContain","options":{"tags":"a,button,div,input","expected":"facets|swatchgroup","generations":"2","matchWeight":"3","unMatchWeight":"1"}},{"method":"testIfAncestorAttrsContain","options":{"tags":"a,button,div,input","expected":"asc-selected|disabled|merch-item|productcard","generations":"1","matchWeight":"0","unMatchWeight":"1"}},{"method":"testIfAncestorAttrsContain","options":{"expected":"category|review|rolepresentation|nav","generations":"4","matchWeight":"0.1","unMatchWeight":"1"}},{"method":"testIfAncestorAttrsContain","options":{"expected":"carousel|color-attribute|flyout|(navigation|product)(-|_)*list|rate|ratings|recommend|search-?(container|results)","generations":"4","matchWeight":"0","unMatchWeight":"1"}},{"method":"testIfInnerHtmlContainsLength","options":{"tags":"div","expected":"<(button|div|input|select)","onlyVisibleHtml":"true","matchWeight":"0.1","unMatchWeight":"1"},"_comment":"Avoid if div contains \'important\' child elements"}],"preconditions":[],"shape":[{"value":"^(app-box-selector|article|dd|form|h\\\\d|iframe|legend|option|p|small|strong|td|textarea)$","weight":0,"scope":"tag"},{"value":"size-?(dropdown|select)","weight":10,"scope":"id"},{"value":"^x{0,}(s|sm|sml|small|m|md|med|medium|l|lg|lrg|large)\\\\(?\\\\d{0,2}\\\\)?$","weight":10,"scope":"value"},{"value":"^x{0,}(s|sm|sml|small|m|md|med|medium|l|lg|lrg|large)\\\\(?\\\\d{0,2}\\\\)?$","weight":10,"scope":"aria-label"},{"value":"^x{0,}(s|sm|sml|small|m|md|med|medium|l|lg|lrg|large)\\\\(?\\\\d{0,2}\\\\)?$","weight":10,"scope":"alt"},{"value":"^(choosea)?size$","weight":10,"scope":"aria-label"},{"value":"^\\\\d{1,3}(\\\\.5)?$","weight":10,"scope":"aria-label"},{"value":"^(men\'?s|women\'?s)\\\\d","weight":10,"scope":"aria-label"},{"value":"^\\\\d{1,3}(\\\\.5)?$","weight":10,"scope":"data-label"},{"value":"^x{0,}(s|sm|sml|small|m|md|med|medium|l|lg|lrg|large)\\\\(?\\\\d{0,2}\\\\)?$","weight":10,"scope":"data-value"},{"value":"^x{0,}(s|sm|sml|small|m|md|med|medium|l|lg|lrg|large)\\\\(?\\\\d{0,2}\\\\)?$","weight":10,"scope":"data-attribute-value"},{"value":"^x{0,}(s|sm|sml|small|m|md|med|medium|l|lg|lrg|large)\\\\(?\\\\d{0,2}\\\\)?$","weight":10,"scope":"data-name"},{"value":"^x{0,}-?(small|medium|large)$","weight":10,"scope":"title"},{"value":"size","weight":10,"scope":"data-code"},{"value":"size","weight":5,"scope":"id"},{"value":"swatch-size","weight":5,"scope":"id"},{"value":"size-(btn|button|option|variant)","weight":5,"scope":"class"},{"value":"swatch-option","weight":5,"scope":"class"},{"value":"option-select","weight":5,"scope":"class"},{"value":"size","weight":5,"scope":"aria-label"},{"value":"size","weight":5,"scope":"name"},{"value":"size","weight":5,"scope":"value"},{"value":"^\\\\d{1,3}(\\\\.5)?$","weight":5,"scope":"data-value"},{"value":"^size$","weight":5,"scope":"data-size-type"},{"value":"*ANY*","weight":5,"scope":"data-size"},{"value":"*ANY*","weight":5,"scope":"data-size-radio"},{"value":"sizes-list-item","weight":3,"scope":"class","_comment":"jcrew"},{"value":"(attr|select|single)-size","weight":3,"scope":"class"},{"value":"pl-switch","weight":3,"scope":"class","_comment":"wayfair: product line switch"},{"value":"size=","weight":3,"scope":"href"},{"value":"regular|plus","weight":2,"scope":"aria-label"},{"value":"size-group","weight":2,"scope":"href"},{"value":"^(a|button|select)$","weight":1,"scope":"tag"},{"value":"btn|radio|select|sku","weight":1,"scope":"class"},{"value":"^false$","weight":1,"scope":"aria-expanded"},{"value":"option","weight":1,"scope":"id"},{"value":"option","weight":1,"scope":"role"},{"value":"button|checkbox","weight":1,"scope":"type"},{"value":"button","weight":1,"scope":"role"},{"value":"^(img|option|span)$","weight":0.5,"scope":"tag"},{"value":"list","weight":0.5,"scope":"id"},{"value":"selected","weight":0.5,"scope":"class","_comment":"avoid click on already selected variant"},{"value":"listbox","weight":0.5,"scope":"role"},{"value":"category|fbt|label|wrapper","weight":0.1,"scope":"id"},{"value":"asc|analytics|cart|category|colou?r|desktop|footer|header|heading|item-(link|photo)|label|menu|mobile|prompt|tablet|title|wrapper|visuallyhidden|vote","weight":0.1,"scope":"class"},{"value":"^true$","weight":0.1,"scope":"aria-hidden"},{"value":"false","weight":0.1,"scope":"data-honey_is_visible"},{"value":"colou?r|nav|review|slick-slide|wishlist","weight":0,"scope":"id"},{"value":"disabled|error-section|oos|out-?of-?stock|unavailable|unselectable","weight":0,"scope":"class","_comment":"avoid click on out of stock variants"},{"value":"nav-link|product-tile|rating|related|review|quantity|secondary-product|share|slick-slide","weight":0,"scope":"class"},{"value":"cart|help|image|page|plussize|review|(findyour|shopby)size|shopby|soldout|vote|wishlist","weight":0,"scope":"aria-label"},{"value":"text","weight":0,"scope":"type"},{"value":"helpful|review|wishlist","weight":0,"scope":"name"},{"value":"helpful|review|wishlist","weight":0,"scope":"title"},{"value":"cart|bag|basket|gift-guide|search","weight":0,"scope":"href"},{"value":"document|radiogroup","weight":0,"scope":"role"},{"value":"^true$","weight":0,"scope":"aria-disabled"},{"value":"^disabled$","weight":0,"scope":"disabled"},{"value":"","weight":0,"scope":"disabled"},{"value":"*ANY*","weight":0,"scope":"thumb-height"},{"value":"variant|size|swatch","weight":1},{"value":"carousel|description|size-header","weight":0.1},{"value":"address|afterpay|gender|recommended|report|shipping|size-?(and)?-?(chart|fit|guide)","weight":0}]}')
|
|
},
|
|
4282: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
const Mixin = __webpack_require__(28338),
|
|
Tokenizer = __webpack_require__(12275),
|
|
LocationInfoTokenizerMixin = __webpack_require__(58412),
|
|
LocationInfoOpenElementStackMixin = __webpack_require__(83145),
|
|
$ = __webpack_require__(53530).TAG_NAMES;
|
|
module.exports = class extends Mixin {
|
|
constructor(parser) {
|
|
super(parser), this.parser = parser, this.treeAdapter = this.parser.treeAdapter, this.posTracker = null, this.lastStartTagToken = null, this.lastFosterParentingLocation = null, this.currentToken = null
|
|
}
|
|
_setStartLocation(element) {
|
|
let loc = null;
|
|
this.lastStartTagToken && (loc = Object.assign({}, this.lastStartTagToken.location), loc.startTag = this.lastStartTagToken.location), this.treeAdapter.setNodeSourceCodeLocation(element, loc)
|
|
}
|
|
_setEndLocation(element, closingToken) {
|
|
if (this.treeAdapter.getNodeSourceCodeLocation(element) && closingToken.location) {
|
|
const ctLoc = closingToken.location,
|
|
tn = this.treeAdapter.getTagName(element),
|
|
endLoc = {};
|
|
closingToken.type === Tokenizer.END_TAG_TOKEN && tn === closingToken.tagName ? (endLoc.endTag = Object.assign({}, ctLoc), endLoc.endLine = ctLoc.endLine, endLoc.endCol = ctLoc.endCol, endLoc.endOffset = ctLoc.endOffset) : (endLoc.endLine = ctLoc.startLine, endLoc.endCol = ctLoc.startCol, endLoc.endOffset = ctLoc.startOffset), this.treeAdapter.updateNodeSourceCodeLocation(element, endLoc)
|
|
}
|
|
}
|
|
_getOverriddenMethods(mxn, orig) {
|
|
return {
|
|
_bootstrap(document, fragmentContext) {
|
|
orig._bootstrap.call(this, document, fragmentContext), mxn.lastStartTagToken = null, mxn.lastFosterParentingLocation = null, mxn.currentToken = null;
|
|
const tokenizerMixin = Mixin.install(this.tokenizer, LocationInfoTokenizerMixin);
|
|
mxn.posTracker = tokenizerMixin.posTracker, Mixin.install(this.openElements, LocationInfoOpenElementStackMixin, {
|
|
onItemPop: function(element) {
|
|
mxn._setEndLocation(element, mxn.currentToken)
|
|
}
|
|
})
|
|
},
|
|
_runParsingLoop(scriptHandler) {
|
|
orig._runParsingLoop.call(this, scriptHandler);
|
|
for (let i = this.openElements.stackTop; i >= 0; i--) mxn._setEndLocation(this.openElements.items[i], mxn.currentToken)
|
|
},
|
|
_processTokenInForeignContent(token) {
|
|
mxn.currentToken = token, orig._processTokenInForeignContent.call(this, token)
|
|
},
|
|
_processToken(token) {
|
|
mxn.currentToken = token, orig._processToken.call(this, token);
|
|
if (token.type === Tokenizer.END_TAG_TOKEN && (token.tagName === $.HTML || token.tagName === $.BODY && this.openElements.hasInScope($.BODY)))
|
|
for (let i = this.openElements.stackTop; i >= 0; i--) {
|
|
const element = this.openElements.items[i];
|
|
if (this.treeAdapter.getTagName(element) === token.tagName) {
|
|
mxn._setEndLocation(element, token);
|
|
break
|
|
}
|
|
}
|
|
},
|
|
_setDocumentType(token) {
|
|
orig._setDocumentType.call(this, token);
|
|
const documentChildren = this.treeAdapter.getChildNodes(this.document),
|
|
cnLength = documentChildren.length;
|
|
for (let i = 0; i < cnLength; i++) {
|
|
const node = documentChildren[i];
|
|
if (this.treeAdapter.isDocumentTypeNode(node)) {
|
|
this.treeAdapter.setNodeSourceCodeLocation(node, token.location);
|
|
break
|
|
}
|
|
}
|
|
},
|
|
_attachElementToTree(element) {
|
|
mxn._setStartLocation(element), mxn.lastStartTagToken = null, orig._attachElementToTree.call(this, element)
|
|
},
|
|
_appendElement(token, namespaceURI) {
|
|
mxn.lastStartTagToken = token, orig._appendElement.call(this, token, namespaceURI)
|
|
},
|
|
_insertElement(token, namespaceURI) {
|
|
mxn.lastStartTagToken = token, orig._insertElement.call(this, token, namespaceURI)
|
|
},
|
|
_insertTemplate(token) {
|
|
mxn.lastStartTagToken = token, orig._insertTemplate.call(this, token);
|
|
const tmplContent = this.treeAdapter.getTemplateContent(this.openElements.current);
|
|
this.treeAdapter.setNodeSourceCodeLocation(tmplContent, null)
|
|
},
|
|
_insertFakeRootElement() {
|
|
orig._insertFakeRootElement.call(this), this.treeAdapter.setNodeSourceCodeLocation(this.openElements.current, null)
|
|
},
|
|
_appendCommentNode(token, parent) {
|
|
orig._appendCommentNode.call(this, token, parent);
|
|
const children = this.treeAdapter.getChildNodes(parent),
|
|
commentNode = children[children.length - 1];
|
|
this.treeAdapter.setNodeSourceCodeLocation(commentNode, token.location)
|
|
},
|
|
_findFosterParentingLocation() {
|
|
return mxn.lastFosterParentingLocation = orig._findFosterParentingLocation.call(this), mxn.lastFosterParentingLocation
|
|
},
|
|
_insertCharacters(token) {
|
|
orig._insertCharacters.call(this, token);
|
|
const hasFosterParent = this._shouldFosterParentOnInsertion(),
|
|
parent = hasFosterParent && mxn.lastFosterParentingLocation.parent || this.openElements.currentTmplContent || this.openElements.current,
|
|
siblings = this.treeAdapter.getChildNodes(parent),
|
|
textNodeIdx = hasFosterParent && mxn.lastFosterParentingLocation.beforeElement ? siblings.indexOf(mxn.lastFosterParentingLocation.beforeElement) - 1 : siblings.length - 1,
|
|
textNode = siblings[textNodeIdx];
|
|
if (this.treeAdapter.getNodeSourceCodeLocation(textNode)) {
|
|
const {
|
|
endLine,
|
|
endCol,
|
|
endOffset
|
|
} = token.location;
|
|
this.treeAdapter.updateNodeSourceCodeLocation(textNode, {
|
|
endLine,
|
|
endCol,
|
|
endOffset
|
|
})
|
|
} else this.treeAdapter.setNodeSourceCodeLocation(textNode, token.location)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
4555: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var noCase = __webpack_require__(37129);
|
|
module.exports = function(value, locale) {
|
|
return noCase(value, locale, ".")
|
|
}
|
|
},
|
|
4648: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
const state = this.stateStack[this.stateStack.length - 1],
|
|
node = state.node,
|
|
mode = state.mode_ || 0;
|
|
0 === mode ? (state.mode_ = 1, node.init && this.stateStack.push({
|
|
node: node.init
|
|
})) : 1 === mode ? (state.mode_ = 2, node.test && this.stateStack.push({
|
|
node: node.test
|
|
})) : 2 === mode ? (state.mode_ = 3, node.test && state.value && !state.value.toBoolean() ? this.stateStack.pop() : node.body && (state.isLoop = !0, this.stateStack.push({
|
|
node: node.body
|
|
}))) : 3 === mode && (state.mode_ = 1, node.update && this.stateStack.push({
|
|
node: node.update
|
|
}))
|
|
}, module.exports = exports.default
|
|
},
|
|
4699: module => {
|
|
"use strict";
|
|
module.exports = function() {
|
|
if ("function" != typeof Symbol || "function" != typeof Object.getOwnPropertySymbols) return !1;
|
|
if ("symbol" == typeof Symbol.iterator) return !0;
|
|
var obj = {},
|
|
sym = Symbol("test"),
|
|
symObj = Object(sym);
|
|
if ("string" == typeof sym) return !1;
|
|
if ("[object Symbol]" !== Object.prototype.toString.call(sym)) return !1;
|
|
if ("[object Symbol]" !== Object.prototype.toString.call(symObj)) return !1;
|
|
for (var _ in obj[sym] = 42, obj) return !1;
|
|
if ("function" == typeof Object.keys && 0 !== Object.keys(obj).length) return !1;
|
|
if ("function" == typeof Object.getOwnPropertyNames && 0 !== Object.getOwnPropertyNames(obj).length) return !1;
|
|
var syms = Object.getOwnPropertySymbols(obj);
|
|
if (1 !== syms.length || syms[0] !== sym) return !1;
|
|
if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) return !1;
|
|
if ("function" == typeof Object.getOwnPropertyDescriptor) {
|
|
var descriptor = Object.getOwnPropertyDescriptor(obj, sym);
|
|
if (42 !== descriptor.value || !0 !== descriptor.enumerable) return !1
|
|
}
|
|
return !0
|
|
}
|
|
},
|
|
4807: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function(instance, scope) {
|
|
const FUNCTION = instance.createObject(null);
|
|
|
|
function boxThis(value) {
|
|
if (value.isPrimitive && !instance.getScope().strict) {
|
|
if (value === instance.UNDEFINED || value === instance.NULL) return instance.global;
|
|
const box = instance.createObject(value.parent);
|
|
return box.data = value.data, box
|
|
}
|
|
return value
|
|
}
|
|
|
|
function toStringWrapper() {
|
|
return instance.createPrimitive(this.toString())
|
|
}
|
|
|
|
function valueOfWrapper() {
|
|
return instance.createPrimitive(this.valueOf())
|
|
}
|
|
return instance.setCoreObject("FUNCTION", FUNCTION), instance.setProperty(scope, "Function", FUNCTION, _Instance.default.READONLY_DESCRIPTOR), FUNCTION.type = "function", instance.setProperty(FUNCTION, "prototype", instance.createObject(null)), instance.setNativeFunctionPrototype(FUNCTION, "apply", function(thisArg, args) {
|
|
const state = instance.stateStack[instance.stateStack.length - 1];
|
|
if (state.func_ = this, state.funcThis_ = boxThis(thisArg), state.arguments_ = [], args)
|
|
if (_Instance.default.isa(args, instance.ARRAY))
|
|
for (let i = 0; i < args.length; i += 1) state.arguments_[i] = instance.getProperty(args, i);
|
|
else instance.throwException(instance.TYPE_ERROR, "CreateListFromArrayLike called on non-object");
|
|
state.doneArgs_ = !0, state.doneExec_ = !1
|
|
}), instance.setNativeFunctionPrototype(FUNCTION, "call", function(thisArg, ...args) {
|
|
const state = instance.stateStack[instance.stateStack.length - 1];
|
|
state.func_ = this, state.funcThis_ = boxThis(thisArg), state.arguments_ = args, state.doneArgs_ = !0, state.doneExec_ = !1
|
|
}), instance.setNativeFunctionPrototype(FUNCTION, "toString", toStringWrapper), instance.setProperty(FUNCTION, "toString", instance.createNativeFunction(toStringWrapper), _Instance.default.NONENUMERABLE_DESCRIPTOR), instance.setNativeFunctionPrototype(FUNCTION, "valueOf", valueOfWrapper), instance.setProperty(FUNCTION, "valueOf", instance.createNativeFunction(valueOfWrapper), _Instance.default.NONENUMERABLE_DESCRIPTOR), FUNCTION
|
|
};
|
|
var _Instance = _interopRequireDefault(__webpack_require__(76352));
|
|
module.exports = exports.default
|
|
},
|
|
4826: module => {
|
|
"use strict";
|
|
module.exports = Math.floor
|
|
},
|
|
4966: function(module, exports, __webpack_require__) {
|
|
var CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451),
|
|
/** @preserve
|
|
(c) 2012 by Cédric Mesnil. All rights reserved.
|
|
|
|
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
|
|
|
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
|
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
|
|
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
*/
|
|
function() {
|
|
var C = CryptoJS,
|
|
C_lib = C.lib,
|
|
WordArray = C_lib.WordArray,
|
|
Hasher = C_lib.Hasher,
|
|
C_algo = C.algo,
|
|
_zl = WordArray.create([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]),
|
|
_zr = WordArray.create([5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]),
|
|
_sl = WordArray.create([11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6]),
|
|
_sr = WordArray.create([8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11]),
|
|
_hl = WordArray.create([0, 1518500249, 1859775393, 2400959708, 2840853838]),
|
|
_hr = WordArray.create([1352829926, 1548603684, 1836072691, 2053994217, 0]),
|
|
RIPEMD160 = C_algo.RIPEMD160 = Hasher.extend({
|
|
_doReset: function() {
|
|
this._hash = WordArray.create([1732584193, 4023233417, 2562383102, 271733878, 3285377520])
|
|
},
|
|
_doProcessBlock: function(M, offset) {
|
|
for (var i = 0; i < 16; i++) {
|
|
var offset_i = offset + i,
|
|
M_offset_i = M[offset_i];
|
|
M[offset_i] = 16711935 & (M_offset_i << 8 | M_offset_i >>> 24) | 4278255360 & (M_offset_i << 24 | M_offset_i >>> 8)
|
|
}
|
|
var al, bl, cl, dl, el, ar, br, cr, dr, er, t, H = this._hash.words,
|
|
hl = _hl.words,
|
|
hr = _hr.words,
|
|
zl = _zl.words,
|
|
zr = _zr.words,
|
|
sl = _sl.words,
|
|
sr = _sr.words;
|
|
for (ar = al = H[0], br = bl = H[1], cr = cl = H[2], dr = dl = H[3], er = el = H[4], i = 0; i < 80; i += 1) t = al + M[offset + zl[i]] | 0, t += i < 16 ? f1(bl, cl, dl) + hl[0] : i < 32 ? f2(bl, cl, dl) + hl[1] : i < 48 ? f3(bl, cl, dl) + hl[2] : i < 64 ? f4(bl, cl, dl) + hl[3] : f5(bl, cl, dl) + hl[4], t = (t = rotl(t |= 0, sl[i])) + el | 0, al = el, el = dl, dl = rotl(cl, 10), cl = bl, bl = t, t = ar + M[offset + zr[i]] | 0, t += i < 16 ? f5(br, cr, dr) + hr[0] : i < 32 ? f4(br, cr, dr) + hr[1] : i < 48 ? f3(br, cr, dr) + hr[2] : i < 64 ? f2(br, cr, dr) + hr[3] : f1(br, cr, dr) + hr[4], t = (t = rotl(t |= 0, sr[i])) + er | 0, ar = er, er = dr, dr = rotl(cr, 10), cr = br, br = t;
|
|
t = H[1] + cl + dr | 0, H[1] = H[2] + dl + er | 0, H[2] = H[3] + el + ar | 0, H[3] = H[4] + al + br | 0, H[4] = H[0] + bl + cr | 0, H[0] = t
|
|
},
|
|
_doFinalize: function() {
|
|
var data = this._data,
|
|
dataWords = data.words,
|
|
nBitsTotal = 8 * this._nDataBytes,
|
|
nBitsLeft = 8 * data.sigBytes;
|
|
dataWords[nBitsLeft >>> 5] |= 128 << 24 - nBitsLeft % 32, dataWords[14 + (nBitsLeft + 64 >>> 9 << 4)] = 16711935 & (nBitsTotal << 8 | nBitsTotal >>> 24) | 4278255360 & (nBitsTotal << 24 | nBitsTotal >>> 8), data.sigBytes = 4 * (dataWords.length + 1), this._process();
|
|
for (var hash = this._hash, H = hash.words, i = 0; i < 5; i++) {
|
|
var H_i = H[i];
|
|
H[i] = 16711935 & (H_i << 8 | H_i >>> 24) | 4278255360 & (H_i << 24 | H_i >>> 8)
|
|
}
|
|
return hash
|
|
},
|
|
clone: function() {
|
|
var clone = Hasher.clone.call(this);
|
|
return clone._hash = this._hash.clone(), clone
|
|
}
|
|
});
|
|
|
|
function f1(x, y, z) {
|
|
return x ^ y ^ z
|
|
}
|
|
|
|
function f2(x, y, z) {
|
|
return x & y | ~x & z
|
|
}
|
|
|
|
function f3(x, y, z) {
|
|
return (x | ~y) ^ z
|
|
}
|
|
|
|
function f4(x, y, z) {
|
|
return x & z | y & ~z
|
|
}
|
|
|
|
function f5(x, y, z) {
|
|
return x ^ (y | ~z)
|
|
}
|
|
|
|
function rotl(x, n) {
|
|
return x << n | x >>> 32 - n
|
|
}
|
|
C.RIPEMD160 = Hasher._createHelper(RIPEMD160), C.HmacRIPEMD160 = Hasher._createHmacHelper(RIPEMD160)
|
|
}(Math), CryptoJS.RIPEMD160)
|
|
},
|
|
5200: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
return location.reload(), new _mixinResponses.SuccessfulMixinResponse("Window Refreshed")
|
|
};
|
|
var _mixinResponses = __webpack_require__(34522);
|
|
module.exports = exports.default
|
|
},
|
|
5494: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function({
|
|
formSelector,
|
|
booleanParameter
|
|
}) {
|
|
const selector = formSelector || "#discount-coupon-form",
|
|
bool = !0 === booleanParameter || "true" === booleanParameter ? "true" : "false",
|
|
element = (0, _sharedFunctions.getElement)(selector);
|
|
if (!element.submit(bool)) return new _mixinResponses.FailedMixinResponse(`[discountFormSubmit] Failed to run submit on ${selector}`);
|
|
return new _mixinResponses.SuccessfulMixinResponse(`[discountFormSubmit] Ran submit on ${selector}`)
|
|
};
|
|
var _mixinResponses = __webpack_require__(34522),
|
|
_sharedFunctions = __webpack_require__(8627);
|
|
module.exports = exports.default
|
|
},
|
|
5511: module => {
|
|
var reIsUint = /^(?:0|[1-9]\d*)$/;
|
|
module.exports = function(value, length) {
|
|
var type = typeof value;
|
|
return !!(length = null == length ? 9007199254740991 : length) && ("number" == type || "symbol" != type && reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length
|
|
}
|
|
},
|
|
5712: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
const unicode = __webpack_require__(27020),
|
|
ERR = __webpack_require__(13934),
|
|
$ = unicode.CODE_POINTS;
|
|
module.exports = class {
|
|
constructor() {
|
|
this.html = null, this.pos = -1, this.lastGapPos = -1, this.lastCharPos = -1, this.gapStack = [], this.skipNextNewLine = !1, this.lastChunkWritten = !1, this.endOfChunkHit = !1, this.bufferWaterline = 65536
|
|
}
|
|
_err() {}
|
|
_addGap() {
|
|
this.gapStack.push(this.lastGapPos), this.lastGapPos = this.pos
|
|
}
|
|
_processSurrogate(cp) {
|
|
if (this.pos !== this.lastCharPos) {
|
|
const nextCp = this.html.charCodeAt(this.pos + 1);
|
|
if (unicode.isSurrogatePair(nextCp)) return this.pos++, this._addGap(), unicode.getSurrogatePairCodePoint(cp, nextCp)
|
|
} else if (!this.lastChunkWritten) return this.endOfChunkHit = !0, $.EOF;
|
|
return this._err(ERR.surrogateInInputStream), cp
|
|
}
|
|
dropParsedChunk() {
|
|
this.pos > this.bufferWaterline && (this.lastCharPos -= this.pos, this.html = this.html.substring(this.pos), this.pos = 0, this.lastGapPos = -1, this.gapStack = [])
|
|
}
|
|
write(chunk, isLastChunk) {
|
|
this.html ? this.html += chunk : this.html = chunk, this.lastCharPos = this.html.length - 1, this.endOfChunkHit = !1, this.lastChunkWritten = isLastChunk
|
|
}
|
|
insertHtmlAtCurrentPos(chunk) {
|
|
this.html = this.html.substring(0, this.pos + 1) + chunk + this.html.substring(this.pos + 1, this.html.length), this.lastCharPos = this.html.length - 1, this.endOfChunkHit = !1
|
|
}
|
|
advance() {
|
|
if (this.pos++, this.pos > this.lastCharPos) return this.endOfChunkHit = !this.lastChunkWritten, $.EOF;
|
|
let cp = this.html.charCodeAt(this.pos);
|
|
if (this.skipNextNewLine && cp === $.LINE_FEED) return this.skipNextNewLine = !1, this._addGap(), this.advance();
|
|
if (cp === $.CARRIAGE_RETURN) return this.skipNextNewLine = !0, $.LINE_FEED;
|
|
this.skipNextNewLine = !1, unicode.isSurrogate(cp) && (cp = this._processSurrogate(cp));
|
|
return cp > 31 && cp < 127 || cp === $.LINE_FEED || cp === $.CARRIAGE_RETURN || cp > 159 && cp < 64976 || this._checkForProblematicCharacters(cp), cp
|
|
}
|
|
_checkForProblematicCharacters(cp) {
|
|
unicode.isControlCodePoint(cp) ? this._err(ERR.controlCharacterInInputStream) : unicode.isUndefinedCodePoint(cp) && this._err(ERR.noncharacterInInputStream)
|
|
}
|
|
retreat() {
|
|
this.pos === this.lastGapPos && (this.lastGapPos = this.gapStack.pop(), this.pos--), this.pos--
|
|
}
|
|
}
|
|
},
|
|
5772: module => {
|
|
"use strict";
|
|
class FormattingElementList {
|
|
constructor(treeAdapter) {
|
|
this.length = 0, this.entries = [], this.treeAdapter = treeAdapter, this.bookmark = null
|
|
}
|
|
_getNoahArkConditionCandidates(newElement) {
|
|
const candidates = [];
|
|
if (this.length >= 3) {
|
|
const neAttrsLength = this.treeAdapter.getAttrList(newElement).length,
|
|
neTagName = this.treeAdapter.getTagName(newElement),
|
|
neNamespaceURI = this.treeAdapter.getNamespaceURI(newElement);
|
|
for (let i = this.length - 1; i >= 0; i--) {
|
|
const entry = this.entries[i];
|
|
if (entry.type === FormattingElementList.MARKER_ENTRY) break;
|
|
const element = entry.element,
|
|
elementAttrs = this.treeAdapter.getAttrList(element);
|
|
this.treeAdapter.getTagName(element) === neTagName && this.treeAdapter.getNamespaceURI(element) === neNamespaceURI && elementAttrs.length === neAttrsLength && candidates.push({
|
|
idx: i,
|
|
attrs: elementAttrs
|
|
})
|
|
}
|
|
}
|
|
return candidates.length < 3 ? [] : candidates
|
|
}
|
|
_ensureNoahArkCondition(newElement) {
|
|
const candidates = this._getNoahArkConditionCandidates(newElement);
|
|
let cLength = candidates.length;
|
|
if (cLength) {
|
|
const neAttrs = this.treeAdapter.getAttrList(newElement),
|
|
neAttrsLength = neAttrs.length,
|
|
neAttrsMap = Object.create(null);
|
|
for (let i = 0; i < neAttrsLength; i++) {
|
|
const neAttr = neAttrs[i];
|
|
neAttrsMap[neAttr.name] = neAttr.value
|
|
}
|
|
for (let i = 0; i < neAttrsLength; i++)
|
|
for (let j = 0; j < cLength; j++) {
|
|
const cAttr = candidates[j].attrs[i];
|
|
if (neAttrsMap[cAttr.name] !== cAttr.value && (candidates.splice(j, 1), cLength--), candidates.length < 3) return
|
|
}
|
|
for (let i = cLength - 1; i >= 2; i--) this.entries.splice(candidates[i].idx, 1), this.length--
|
|
}
|
|
}
|
|
insertMarker() {
|
|
this.entries.push({
|
|
type: FormattingElementList.MARKER_ENTRY
|
|
}), this.length++
|
|
}
|
|
pushElement(element, token) {
|
|
this._ensureNoahArkCondition(element), this.entries.push({
|
|
type: FormattingElementList.ELEMENT_ENTRY,
|
|
element,
|
|
token
|
|
}), this.length++
|
|
}
|
|
insertElementAfterBookmark(element, token) {
|
|
let bookmarkIdx = this.length - 1;
|
|
for (; bookmarkIdx >= 0 && this.entries[bookmarkIdx] !== this.bookmark; bookmarkIdx--);
|
|
this.entries.splice(bookmarkIdx + 1, 0, {
|
|
type: FormattingElementList.ELEMENT_ENTRY,
|
|
element,
|
|
token
|
|
}), this.length++
|
|
}
|
|
removeEntry(entry) {
|
|
for (let i = this.length - 1; i >= 0; i--)
|
|
if (this.entries[i] === entry) {
|
|
this.entries.splice(i, 1), this.length--;
|
|
break
|
|
}
|
|
}
|
|
clearToLastMarker() {
|
|
for (; this.length;) {
|
|
const entry = this.entries.pop();
|
|
if (this.length--, entry.type === FormattingElementList.MARKER_ENTRY) break
|
|
}
|
|
}
|
|
getElementEntryInScopeWithTagName(tagName) {
|
|
for (let i = this.length - 1; i >= 0; i--) {
|
|
const entry = this.entries[i];
|
|
if (entry.type === FormattingElementList.MARKER_ENTRY) return null;
|
|
if (this.treeAdapter.getTagName(entry.element) === tagName) return entry
|
|
}
|
|
return null
|
|
}
|
|
getElementEntry(element) {
|
|
for (let i = this.length - 1; i >= 0; i--) {
|
|
const entry = this.entries[i];
|
|
if (entry.type === FormattingElementList.ELEMENT_ENTRY && entry.element === element) return entry
|
|
}
|
|
return null
|
|
}
|
|
}
|
|
FormattingElementList.MARKER_ENTRY = "MARKER_ENTRY", FormattingElementList.ELEMENT_ENTRY = "ELEMENT_ENTRY", module.exports = FormattingElementList
|
|
},
|
|
6083: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912));
|
|
exports.default = new _dac.default({
|
|
description: "Expedia Acorns",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 10
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "7394090990274009200",
|
|
name: "Expedia"
|
|
}],
|
|
doDac: async function(code, selector, priceAmt, applyBestCode) {
|
|
const API_URL = "https://www.expedia.com/Checkout",
|
|
checkoutFlow = (0, _jquery.default)("body").attr("data-producttype") || "",
|
|
productTypeValue = checkoutFlow.match(",") ? "multiitem" : checkoutFlow,
|
|
tripIdValue = (0, _jquery.default)("body").attr("data-tripid");
|
|
let price = priceAmt;
|
|
|
|
function getModelPrice(priceModel, totalText) {
|
|
let result;
|
|
for (let modelIndex = 0; modelIndex < priceModel.length; modelIndex += 1) {
|
|
const priceCheck = priceModel[modelIndex],
|
|
priceDescription = priceCheck && priceCheck.description,
|
|
priceAmount = priceCheck && priceCheck.amount;
|
|
if (priceDescription === totalText) {
|
|
result = priceAmount;
|
|
break
|
|
}
|
|
}
|
|
return result
|
|
}
|
|
return function(res) {
|
|
let priceModel;
|
|
try {
|
|
priceModel = res.updatedPriceModel
|
|
} catch (e) {}
|
|
price = priceModel ? function(priceModel) {
|
|
return getModelPrice(priceModel, "finalTripTotal") || getModelPrice(priceModel, "pointsTripTotal") || getModelPrice(priceModel, "total") || priceAmt
|
|
}(priceModel) : priceAmt, Number(_legacyHoneyUtils.default.cleanPrice(price)) < priceAmt && (0, _jquery.default)('dt:contains("Total") +,span.summary-total:contains("Trip Total:") +,span:contains("Room Total") +span:contains("Total due at Property") +span.summary-total:contains("Total:") +,.total-summary .total-desc +,.trip-total .amount-label:contains("Trip Total:") +,.prod-total [data-price-update="tripTotal"]').text(price)
|
|
}(await async function() {
|
|
const data = {
|
|
couponCode: code,
|
|
tripid: tripIdValue,
|
|
tlCouponAttach: 1,
|
|
tlCouponCode: code,
|
|
productType: productTypeValue,
|
|
oldTripTotal: priceAmt,
|
|
oldTripGrandTotal: priceAmt,
|
|
binPrefix: ""
|
|
},
|
|
res = _jquery.default.ajax({
|
|
url: API_URL + "/applyCoupon",
|
|
type: "POST",
|
|
data
|
|
});
|
|
return await res.done(_data => {
|
|
_logger.default.debug("Finishing code application")
|
|
}), res
|
|
}()), !1 !== applyBestCode ? {
|
|
price: Number(_legacyHoneyUtils.default.cleanPrice(price)),
|
|
nonDacFS: !0,
|
|
sleepTime: 5500
|
|
} : (await async function() {
|
|
const priceCleaned = honey.util.cleanPrice(price),
|
|
data = {
|
|
couponCode: code,
|
|
tripid: tripIdValue,
|
|
tlCouponAttach: 1,
|
|
tlCouponCode: code,
|
|
productType: productTypeValue,
|
|
oldTripTotal: priceCleaned,
|
|
oldTripGrandTotal: priceCleaned,
|
|
binPrefix: ""
|
|
},
|
|
res = _jquery.default.ajax({
|
|
url: API_URL + "/removeCoupon",
|
|
type: "POST",
|
|
data
|
|
});
|
|
await res.done(_data => {
|
|
_logger.default.debug("Finishing removing code")
|
|
})
|
|
}(), Number(_legacyHoneyUtils.default.cleanPrice(price)))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
6207: module => {
|
|
"use strict";
|
|
module.exports = ReferenceError
|
|
},
|
|
6453: module => {
|
|
"use strict";
|
|
var _createClass = function() {
|
|
function defineProperties(target, props) {
|
|
for (var i = 0; i < props.length; i++) {
|
|
var descriptor = props[i];
|
|
descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor)
|
|
}
|
|
}
|
|
return function(Constructor, protoProps, staticProps) {
|
|
return protoProps && defineProperties(Constructor.prototype, protoProps), staticProps && defineProperties(Constructor, staticProps), Constructor
|
|
}
|
|
}();
|
|
var NodePath = function() {
|
|
function NodePath(node) {
|
|
var parentPath = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null,
|
|
property = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null,
|
|
index = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : null;
|
|
! function(instance, Constructor) {
|
|
if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function")
|
|
}(this, NodePath), this.node = node, this.parentPath = parentPath, this.parent = parentPath ? parentPath.node : null, this.property = property, this.index = index
|
|
}
|
|
return _createClass(NodePath, [{
|
|
key: "_enforceProp",
|
|
value: function(property) {
|
|
if (!this.node.hasOwnProperty(property)) throw new Error("Node of type " + this.node.type + " doesn't have \"" + property + '" collection.')
|
|
}
|
|
}, {
|
|
key: "setChild",
|
|
value: function(node) {
|
|
var index = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null,
|
|
property = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null,
|
|
childPath = void 0;
|
|
return null != index ? (property || (property = "expressions"), this._enforceProp(property), this.node[property][index] = node, childPath = NodePath.getForNode(node, this, property, index)) : (property || (property = "expression"), this._enforceProp(property), this.node[property] = node, childPath = NodePath.getForNode(node, this, property, null)), childPath
|
|
}
|
|
}, {
|
|
key: "appendChild",
|
|
value: function(node) {
|
|
var property = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null;
|
|
property || (property = "expressions"), this._enforceProp(property);
|
|
var end = this.node[property].length;
|
|
return this.setChild(node, end, property)
|
|
}
|
|
}, {
|
|
key: "insertChildAt",
|
|
value: function(node, index) {
|
|
var property = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : "expressions";
|
|
this._enforceProp(property), this.node[property].splice(index, 0, node), index <= NodePath.getTraversingIndex() && NodePath.updateTraversingIndex(1), this._rebuildIndex(this.node, property)
|
|
}
|
|
}, {
|
|
key: "remove",
|
|
value: function() {
|
|
if (!this.isRemoved() && (NodePath.registry.delete(this.node), this.node = null, this.parent)) {
|
|
if (null !== this.index) return this.parent[this.property].splice(this.index, 1), this.index <= NodePath.getTraversingIndex() && NodePath.updateTraversingIndex(-1), this._rebuildIndex(this.parent, this.property), this.index = null, void(this.property = null);
|
|
delete this.parent[this.property], this.property = null
|
|
}
|
|
}
|
|
}, {
|
|
key: "_rebuildIndex",
|
|
value: function(parent, property) {
|
|
for (var parentPath = NodePath.getForNode(parent), i = 0; i < parent[property].length; i++) {
|
|
NodePath.getForNode(parent[property][i], parentPath, property, i).index = i
|
|
}
|
|
}
|
|
}, {
|
|
key: "isRemoved",
|
|
value: function() {
|
|
return null === this.node
|
|
}
|
|
}, {
|
|
key: "replace",
|
|
value: function(newNode) {
|
|
return NodePath.registry.delete(this.node), this.node = newNode, this.parent ? (null !== this.index ? this.parent[this.property][this.index] = newNode : this.parent[this.property] = newNode, NodePath.getForNode(newNode, this.parentPath, this.property, this.index)) : null
|
|
}
|
|
}, {
|
|
key: "update",
|
|
value: function(nodeProps) {
|
|
Object.assign(this.node, nodeProps)
|
|
}
|
|
}, {
|
|
key: "getParent",
|
|
value: function() {
|
|
return this.parentPath
|
|
}
|
|
}, {
|
|
key: "getChild",
|
|
value: function() {
|
|
var n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0;
|
|
return this.node.expressions ? NodePath.getForNode(this.node.expressions[n], this, "expressions", n) : this.node.expression && 0 == n ? NodePath.getForNode(this.node.expression, this, "expression") : null
|
|
}
|
|
}, {
|
|
key: "hasEqualSource",
|
|
value: function(path) {
|
|
return JSON.stringify(this.node, jsonSkipLoc) === JSON.stringify(path.node, jsonSkipLoc)
|
|
}
|
|
}, {
|
|
key: "jsonEncode",
|
|
value: function() {
|
|
var _ref = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
|
|
format = _ref.format,
|
|
useLoc = _ref.useLoc;
|
|
return JSON.stringify(this.node, useLoc ? null : jsonSkipLoc, format)
|
|
}
|
|
}, {
|
|
key: "getPreviousSibling",
|
|
value: function() {
|
|
return this.parent && null != this.index ? NodePath.getForNode(this.parent[this.property][this.index - 1], NodePath.getForNode(this.parent), this.property, this.index - 1) : null
|
|
}
|
|
}, {
|
|
key: "getNextSibling",
|
|
value: function() {
|
|
return this.parent && null != this.index ? NodePath.getForNode(this.parent[this.property][this.index + 1], NodePath.getForNode(this.parent), this.property, this.index + 1) : null
|
|
}
|
|
}], [{
|
|
key: "getForNode",
|
|
value: function(node) {
|
|
var parentPath = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null,
|
|
prop = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null,
|
|
index = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : -1;
|
|
if (!node) return null;
|
|
NodePath.registry.has(node) || NodePath.registry.set(node, new NodePath(node, parentPath, prop, -1 == index ? null : index));
|
|
var path = NodePath.registry.get(node);
|
|
return null !== parentPath && (path.parentPath = parentPath, path.parent = path.parentPath.node), null !== prop && (path.property = prop), index >= 0 && (path.index = index), path
|
|
}
|
|
}, {
|
|
key: "initRegistry",
|
|
value: function() {
|
|
NodePath.registry || (NodePath.registry = new Map), NodePath.registry.clear()
|
|
}
|
|
}, {
|
|
key: "updateTraversingIndex",
|
|
value: function(dx) {
|
|
return NodePath.traversingIndexStack[NodePath.traversingIndexStack.length - 1] += dx
|
|
}
|
|
}, {
|
|
key: "getTraversingIndex",
|
|
value: function() {
|
|
return NodePath.traversingIndexStack[NodePath.traversingIndexStack.length - 1]
|
|
}
|
|
}]), NodePath
|
|
}();
|
|
|
|
function jsonSkipLoc(prop, value) {
|
|
if ("loc" !== prop) return value
|
|
}
|
|
NodePath.initRegistry(), NodePath.traversingIndexStack = [], module.exports = NodePath
|
|
},
|
|
6585: (__unused_webpack_module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.testMatch = exports.testLabelContains = exports.testContains = exports.shouldDebugNodeId = exports.isElementVisible = exports.checkElementText = exports.checkElementHtml = exports.checkElementAttibutes = void 0;
|
|
const DEBUG_IDS = [],
|
|
shouldDebug = element => DEBUG_IDS.some(id => {
|
|
const nodeId = element.getAttribute && element.getAttribute("data-honey_uq_ele_id");
|
|
return nodeId && nodeId.endsWith(`${id}`)
|
|
});
|
|
exports.shouldDebugNodeId = nodeId => DEBUG_IDS.some(id => nodeId && nodeId.endsWith(`-${id}`));
|
|
const isRegex = s => !s.match(/^[A-Za-z ]+$/),
|
|
testContains = (expected, actual) => {
|
|
if ("*ANY*" === expected) return !0;
|
|
if (expected === actual) return !0;
|
|
if (!expected || !actual) return !1;
|
|
const trimmed = actual.replace(/\s/g, "").toLowerCase();
|
|
return "" === expected ? "" === trimmed : isRegex(expected) ? !!trimmed.match(new RegExp(expected)) : trimmed.includes(expected)
|
|
};
|
|
exports.testContains = testContains;
|
|
const testMatch = (expected = "", actual = "", debug = !1) => {
|
|
if (!expected || !actual) return {
|
|
found: !1
|
|
};
|
|
const trimmed = actual.replace(/\s/g, "").toLowerCase();
|
|
if (isRegex(expected)) {
|
|
const matchArr = trimmed.match(new RegExp(expected));
|
|
return matchArr ? {
|
|
found: !0,
|
|
matchLength: matchArr[0].length,
|
|
totalLength: trimmed.length
|
|
} : {
|
|
found: !1
|
|
}
|
|
}
|
|
return {
|
|
found: trimmed.includes(expected),
|
|
matchLength: expected.length,
|
|
totalLength: trimmed.length
|
|
}
|
|
};
|
|
exports.testMatch = testMatch;
|
|
const isElementVisible = element => {
|
|
const clientRects = element.getClientRects(),
|
|
isVisibleString = element.getAttribute("data-honey_is_visible");
|
|
return isVisibleString ? "true" === isVisibleString : "visible" === window.getComputedStyle(element).visibility && (element.offsetWidth || element.offsetHeight || clientRects && clientRects.length)
|
|
};
|
|
exports.isElementVisible = isElementVisible;
|
|
const getVisibleOuterHtml = element => {
|
|
if (!(element.nodeType !== Node.ELEMENT_NODE || isElementVisible(element))) return "";
|
|
if (!element.childNodes || !element.childNodes.length) return element.outerHTML;
|
|
const x = Array.from(element.childNodes).map(child => getVisibleOuterHtml(child)).join("");
|
|
return `${(element=>{const attriubtesString=Array.from(element.attributes).map(attribute=>`${attribute.name}="${attribute.value}"`).join(" ");return`<${element.tagName.toLowerCase()} ${attriubtesString}>`})(element)}${x}`
|
|
},
|
|
getVisibleInnerText = (element, propName = "textContent", debug = !1) => {
|
|
let isVisible = element.nodeType !== Node.ELEMENT_NODE;
|
|
return isVisible || (isVisible = isElementVisible(element)), isVisible ? element.childNodes && element.childNodes.length ? Array.from(element.childNodes).map(child => getVisibleInnerText(child, propName, debug || shouldDebug(element))).join("") : element[propName] : ""
|
|
},
|
|
checkElementText = (expected, element, onlyVisibleText) => {
|
|
const text = onlyVisibleText ? getVisibleInnerText(element) : element.textContent;
|
|
return testMatch(expected, text, shouldDebug(element))
|
|
};
|
|
exports.checkElementText = checkElementText;
|
|
exports.checkElementHtml = (expected, element, onlyVisibleText) => {
|
|
const text = onlyVisibleText ? (element => element.nodeType !== Node.ELEMENT_NODE || isElementVisible(element) ? element.childNodes && element.childNodes.length ? Array.from(element.childNodes).map(child => getVisibleOuterHtml(child)).join("") : element.innerHTML : "")(element) : element.innerHTML;
|
|
return testMatch(expected, text)
|
|
};
|
|
const checkElementAttibutes = (expected, element, debug = !1) => {
|
|
const stringsToCheck = Array.from(element.attributes).map(attribute => `${attribute.name}${attribute.value}`);
|
|
return stringsToCheck.push(`tag=${element.tagName.toLowerCase()}`), stringsToCheck.some(string => testContains(expected, string))
|
|
};
|
|
exports.checkElementAttibutes = checkElementAttibutes;
|
|
exports.testLabelContains = (expected, element, onlyVisibleText) => {
|
|
if (onlyVisibleText && !isElementVisible(element)) return {
|
|
found: !1
|
|
};
|
|
let query;
|
|
const idAttribute = element.getAttribute("id"),
|
|
forAttribute = element.getAttribute("for");
|
|
idAttribute ? query = `label[for='${idAttribute}']` : forAttribute && (query = `#${forAttribute}`);
|
|
let elementToCheck = document.querySelector(query);
|
|
if (elementToCheck || "LABEL" !== element.parentElement.tagName || (elementToCheck = element.parentElement), !elementToCheck) return {
|
|
found: !1
|
|
};
|
|
return checkElementAttibutes(expected, elementToCheck, shouldDebug(element)) ? {
|
|
found: !0
|
|
} : checkElementText(expected, elementToCheck, onlyVisibleText)
|
|
}
|
|
},
|
|
6692: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var regexpTreeParser = __webpack_require__(42130),
|
|
generatedParseFn = regexpTreeParser.parse.bind(regexpTreeParser);
|
|
regexpTreeParser.parse = function(regexp, options) {
|
|
return generatedParseFn("" + regexp, options)
|
|
}, regexpTreeParser.setOptions({
|
|
captureLocations: !1
|
|
}), module.exports = regexpTreeParser
|
|
},
|
|
7061: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var noCase = __webpack_require__(37129);
|
|
module.exports = function(value, locale) {
|
|
return noCase(value, locale, "/")
|
|
}
|
|
},
|
|
7189: module => {
|
|
"use strict";
|
|
module.exports.isClean = Symbol("isClean"), module.exports.my = Symbol("my")
|
|
},
|
|
7672: (__unused_webpack_module, exports) => {
|
|
"use strict";
|
|
|
|
function _createForOfIteratorHelper(o, allowArrayLike) {
|
|
var it = "undefined" != typeof Symbol && o[Symbol.iterator] || o["@@iterator"];
|
|
if (!it) {
|
|
if (Array.isArray(o) || (it = function(o, minLen) {
|
|
if (!o) return;
|
|
if ("string" == typeof o) return _arrayLikeToArray(o, minLen);
|
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
"Object" === n && o.constructor && (n = o.constructor.name);
|
|
if ("Map" === n || "Set" === n) return Array.from(o);
|
|
if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen)
|
|
}(o)) || allowArrayLike && o && "number" == typeof o.length) {
|
|
it && (o = it);
|
|
var i = 0,
|
|
F = function() {};
|
|
return {
|
|
s: F,
|
|
n: function() {
|
|
return i >= o.length ? {
|
|
done: !0
|
|
} : {
|
|
done: !1,
|
|
value: o[i++]
|
|
}
|
|
},
|
|
e: function(_e) {
|
|
throw _e
|
|
},
|
|
f: F
|
|
}
|
|
}
|
|
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
|
|
}
|
|
var err, normalCompletion = !0,
|
|
didErr = !1;
|
|
return {
|
|
s: function() {
|
|
it = it.call(o)
|
|
},
|
|
n: function() {
|
|
var step = it.next();
|
|
return normalCompletion = step.done, step
|
|
},
|
|
e: function(_e2) {
|
|
didErr = !0, err = _e2
|
|
},
|
|
f: function() {
|
|
try {
|
|
normalCompletion || null == it.return || it.return()
|
|
} finally {
|
|
if (didErr) throw err
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
function _arrayLikeToArray(arr, len) {
|
|
(null == len || len > arr.length) && (len = arr.length);
|
|
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
return arr2
|
|
}
|
|
exports.type = string_ => string_.split(/ *; */).shift(), exports.params = value => {
|
|
const object = {};
|
|
var _step, _iterator = _createForOfIteratorHelper(value.split(/ *; */));
|
|
try {
|
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
const parts = _step.value.split(/ *= */),
|
|
key = parts.shift(),
|
|
value = parts.shift();
|
|
key && value && (object[key] = value)
|
|
}
|
|
} catch (err) {
|
|
_iterator.e(err)
|
|
} finally {
|
|
_iterator.f()
|
|
}
|
|
return object
|
|
}, exports.parseLinks = value => {
|
|
const object = {};
|
|
var _step2, _iterator2 = _createForOfIteratorHelper(value.split(/ *, */));
|
|
try {
|
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
const parts = _step2.value.split(/ *; */),
|
|
url = parts[0].slice(1, -1);
|
|
object[parts[1].split(/ *= */)[1].slice(1, -1)] = url
|
|
}
|
|
} catch (err) {
|
|
_iterator2.e(err)
|
|
} finally {
|
|
_iterator2.f()
|
|
}
|
|
return object
|
|
}, exports.cleanHeader = (header, changesOrigin) => (delete header["content-type"], delete header["content-length"], delete header["transfer-encoding"], delete header.host, changesOrigin && (delete header.authorization, delete header.cookie), header), exports.isObject = object => null !== object && "object" == typeof object, exports.hasOwn = Object.hasOwn || function(object, property) {
|
|
if (null == object) throw new TypeError("Cannot convert undefined or null to object");
|
|
return Object.prototype.hasOwnProperty.call(new Object(object), property)
|
|
}, exports.mixin = (target, source) => {
|
|
for (const key in source) exports.hasOwn(source, key) && (target[key] = source[key])
|
|
}
|
|
},
|
|
8242: function(module, exports, __webpack_require__) {
|
|
var CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), function(undefined) {
|
|
var C = CryptoJS,
|
|
C_lib = C.lib,
|
|
Base = C_lib.Base,
|
|
X32WordArray = C_lib.WordArray,
|
|
C_x64 = C.x64 = {};
|
|
C_x64.Word = Base.extend({
|
|
init: function(high, low) {
|
|
this.high = high, this.low = low
|
|
}
|
|
}), C_x64.WordArray = Base.extend({
|
|
init: function(words, sigBytes) {
|
|
words = this.words = words || [], this.sigBytes = sigBytes != undefined ? sigBytes : 8 * words.length
|
|
},
|
|
toX32: function() {
|
|
for (var x64Words = this.words, x64WordsLength = x64Words.length, x32Words = [], i = 0; i < x64WordsLength; i++) {
|
|
var x64Word = x64Words[i];
|
|
x32Words.push(x64Word.high), x32Words.push(x64Word.low)
|
|
}
|
|
return X32WordArray.create(x32Words, this.sigBytes)
|
|
},
|
|
clone: function() {
|
|
for (var clone = Base.clone.call(this), words = clone.words = this.words.slice(0), wordsLength = words.length, i = 0; i < wordsLength; i++) words[i] = words[i].clone();
|
|
return clone
|
|
}
|
|
})
|
|
}(), CryptoJS)
|
|
},
|
|
8310: module => {
|
|
"use strict";
|
|
module.exports = "undefined" != typeof Reflect && Reflect.getPrototypeOf || null
|
|
},
|
|
8393: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
const state = this.stateStack[this.stateStack.length - 1],
|
|
node = state.node,
|
|
n = state.n_ || 0;
|
|
state.array_ ? state.value && this.setProperty(state.array_, n - 1, state.value) : state.array_ = this.createObject(this.ARRAY);
|
|
n < node.elements.length ? (state.n_ = n + 1, node.elements[n] ? this.stateStack.push({
|
|
node: node.elements[n]
|
|
}) : state.value = void 0) : (state.array_.length = state.n_ || 0, this.stateStack.pop(), this.stateStack[this.stateStack.length - 1].value = state.array_)
|
|
}, module.exports = exports.default
|
|
},
|
|
8435: module => {
|
|
"use strict";
|
|
module.exports = {
|
|
Group: function(path) {
|
|
var node = path.node,
|
|
parent = path.parent,
|
|
childPath = path.getChild();
|
|
node.capturing || childPath || ("Repetition" === parent.type ? path.getParent().replace(node) : "RegExp" !== parent.type && path.remove())
|
|
}
|
|
}
|
|
},
|
|
8612: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.filter = function(test, node, recurse, limit) {
|
|
void 0 === recurse && (recurse = !0);
|
|
void 0 === limit && (limit = 1 / 0);
|
|
return find(test, Array.isArray(node) ? node : [node], recurse, limit)
|
|
}, exports.find = find, exports.findOneChild = function(test, nodes) {
|
|
return nodes.find(test)
|
|
}, exports.findOne = function findOne(test, nodes, recurse) {
|
|
void 0 === recurse && (recurse = !0);
|
|
for (var searchedNodes = Array.isArray(nodes) ? nodes : [nodes], i = 0; i < searchedNodes.length; i++) {
|
|
var node = searchedNodes[i];
|
|
if ((0, domhandler_1.isTag)(node) && test(node)) return node;
|
|
if (recurse && (0, domhandler_1.hasChildren)(node) && node.children.length > 0) {
|
|
var found = findOne(test, node.children, !0);
|
|
if (found) return found
|
|
}
|
|
}
|
|
return null
|
|
}, exports.existsOne = function existsOne(test, nodes) {
|
|
return (Array.isArray(nodes) ? nodes : [nodes]).some(function(node) {
|
|
return (0, domhandler_1.isTag)(node) && test(node) || (0, domhandler_1.hasChildren)(node) && existsOne(test, node.children)
|
|
})
|
|
}, exports.findAll = function(test, nodes) {
|
|
for (var result = [], nodeStack = [Array.isArray(nodes) ? nodes : [nodes]], indexStack = [0];;)
|
|
if (indexStack[0] >= nodeStack[0].length) {
|
|
if (1 === nodeStack.length) return result;
|
|
nodeStack.shift(), indexStack.shift()
|
|
} else {
|
|
var elem = nodeStack[0][indexStack[0]++];
|
|
(0, domhandler_1.isTag)(elem) && test(elem) && result.push(elem), (0, domhandler_1.hasChildren)(elem) && elem.children.length > 0 && (indexStack.unshift(0), nodeStack.unshift(elem.children))
|
|
}
|
|
};
|
|
var domhandler_1 = __webpack_require__(59811);
|
|
|
|
function find(test, nodes, recurse, limit) {
|
|
for (var result = [], nodeStack = [Array.isArray(nodes) ? nodes : [nodes]], indexStack = [0];;)
|
|
if (indexStack[0] >= nodeStack[0].length) {
|
|
if (1 === indexStack.length) return result;
|
|
nodeStack.shift(), indexStack.shift()
|
|
} else {
|
|
var elem = nodeStack[0][indexStack[0]++];
|
|
if (test(elem) && (result.push(elem), --limit <= 0)) return result;
|
|
recurse && (0, domhandler_1.hasChildren)(elem) && elem.children.length > 0 && (indexStack.unshift(0), nodeStack.unshift(elem.children))
|
|
}
|
|
}
|
|
},
|
|
8627: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.appendHiddenElement = function(tag, parent, attributes = {}, unique = !0) {
|
|
const parentElement = parent || getElement("body");
|
|
if ("object" != typeof attributes || Array.isArray(attributes)) return {
|
|
element: null,
|
|
uniqueID: null
|
|
};
|
|
const attributeKeys = Object.keys(attributes);
|
|
if (unique) {
|
|
let selector = tag;
|
|
attributeKeys.forEach(key => {
|
|
selector += `[${key}="${attributes[key]}"]`
|
|
});
|
|
const existingElement = getElement(selector);
|
|
if (existingElement) return {
|
|
element: existingElement,
|
|
uniqueID: existingElement.id
|
|
}
|
|
}
|
|
const element = document.createElement(tag);
|
|
attributeKeys.forEach(key => element.setAttribute(key, attributes[key]));
|
|
const uniqueID = (new Date).valueOf();
|
|
element.setAttribute("honey-id", uniqueID), parentElement.appendChild(element), parent || (element.style.display = "none");
|
|
if (parentElement.appendChild(element), !getElement(`${tag}[honey-id="${uniqueID}"]`)) return {
|
|
element: null,
|
|
uniqueID: null
|
|
};
|
|
return {
|
|
element,
|
|
uniqueID
|
|
}
|
|
}, exports.appendScript = function(script) {
|
|
const scriptElement = document.createElement("script"),
|
|
uniqueID = (new Date).valueOf();
|
|
if (scriptElement.setAttribute("honey-id", uniqueID), scriptElement.innerHTML = script, document.body.appendChild(scriptElement), !getElement(`script[honey-id="${uniqueID}"]`)) return !1;
|
|
return !0
|
|
}, exports.dispatchEvent = dispatchEvent, exports.eventFunctions = void 0, exports.getElement = getElement, exports.splitAndFilter = function(string, separator = ",") {
|
|
const processedString = "string" == typeof string ? string : "",
|
|
processedSeparator = "string" == typeof separator || "RegExp" === separator.constructor.name ? separator : ",";
|
|
return processedString.split(processedSeparator).map(value => value.trim()).filter(value => value)
|
|
};
|
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(80451)),
|
|
_jquery = _interopRequireDefault(__webpack_require__(69698));
|
|
|
|
function ownKeys(e, r) {
|
|
var t = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var o = Object.getOwnPropertySymbols(e);
|
|
r && (o = o.filter(function(r) {
|
|
return Object.getOwnPropertyDescriptor(e, r).enumerable
|
|
})), t.push.apply(t, o)
|
|
}
|
|
return t
|
|
}
|
|
|
|
function getElement(selector) {
|
|
if (!selector) return null;
|
|
try {
|
|
const element = document.querySelector(selector);
|
|
if (element) return element
|
|
} catch (e) {}
|
|
try {
|
|
const elementGroup = (0, _jquery.default)(selector);
|
|
if (elementGroup[0]) return elementGroup[0]
|
|
} catch (e) {}
|
|
try {
|
|
const element = document.evaluate(selector, document, null, XPathResult.ANY_TYPE, null).iterateNext();
|
|
if (element) return element
|
|
} catch (e) {}
|
|
return null
|
|
}
|
|
|
|
function dispatchEvent(selector, event, bubbles) {
|
|
if (!selector || !event) return `failed event "${event}" on selector "${selector}"`;
|
|
const isBubbles = bubbles || !1,
|
|
element = getElement(selector),
|
|
keyOptions = -1 !== ["keyup", "keydown", "keypress"].indexOf(event) ? {
|
|
code: "Enter",
|
|
key: "Enter",
|
|
keyCode: 13
|
|
} : {},
|
|
isKeyEvent = !!Object.keys(keyOptions).length,
|
|
options = function(e) {
|
|
for (var r = 1; r < arguments.length; r++) {
|
|
var t = null != arguments[r] ? arguments[r] : {};
|
|
r % 2 ? ownKeys(Object(t), !0).forEach(function(r) {
|
|
(0, _defineProperty2.default)(e, r, t[r])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) {
|
|
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r))
|
|
})
|
|
}
|
|
return e
|
|
}({
|
|
bubbles: isBubbles
|
|
}, keyOptions);
|
|
if (element) {
|
|
const eventToRun = isKeyEvent ? new KeyboardEvent(event, options) : new CustomEvent(event, options);
|
|
return element.dispatchEvent(eventToRun), eventToRun
|
|
}
|
|
return `failed event "${event}" on selector "${selector}"`
|
|
}
|
|
|
|
function mouseEvent(selector, action) {
|
|
const element = getElement(selector),
|
|
event = new MouseEvent(action, {
|
|
bubbled: !0,
|
|
cancelable: !0,
|
|
buttons: 1
|
|
});
|
|
element.dispatchEvent(event)
|
|
}
|
|
exports.eventFunctions = {
|
|
input: selector => dispatchEvent(selector, "input", !0),
|
|
change: selector => dispatchEvent(selector, "change", !0),
|
|
keyup: selector => dispatchEvent(selector, "keyup", !0),
|
|
keydown: selector => dispatchEvent(selector, "keydown", !0),
|
|
keypress: selector => dispatchEvent(selector, "keypress", !0),
|
|
blur: selector => dispatchEvent(selector, "blur"),
|
|
focus: selector => dispatchEvent(selector, "focus"),
|
|
click: selector => mouseEvent(selector, "click"),
|
|
doubleclick: selector => mouseEvent(selector, "dblclick"),
|
|
mouseup: selector => mouseEvent(selector, "mouseup"),
|
|
mousedown: selector => mouseEvent(selector, "mousedown")
|
|
}
|
|
},
|
|
8924: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
module.exports = __webpack_require__(31699)
|
|
},
|
|
9033: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var NodePath = __webpack_require__(6453);
|
|
module.exports = {
|
|
traverse: function(ast, handlers) {
|
|
var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {
|
|
asNodes: !1
|
|
};
|
|
|
|
function getPathFor(node, parent, prop, index) {
|
|
var parentPath = NodePath.getForNode(parent);
|
|
return NodePath.getForNode(node, parentPath, prop, index)
|
|
}
|
|
Array.isArray(handlers) || (handlers = [handlers]), handlers = handlers.filter(function(handler) {
|
|
return "function" != typeof handler.shouldRun || handler.shouldRun(ast)
|
|
}), NodePath.initRegistry(), handlers.forEach(function(handler) {
|
|
"function" == typeof handler.init && handler.init(ast)
|
|
}),
|
|
function(root) {
|
|
var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
|
|
pre = options.pre,
|
|
post = options.post,
|
|
skipProperty = options.skipProperty;
|
|
! function visit(node, parent, prop, idx) {
|
|
if (node && "string" == typeof node.type) {
|
|
var res = void 0;
|
|
if (pre && (res = pre(node, parent, prop, idx)), !1 !== res)
|
|
for (var _prop in parent && parent[prop] && (node = isNaN(idx) ? parent[prop] : parent[prop][idx]), node)
|
|
if (node.hasOwnProperty(_prop)) {
|
|
if (skipProperty ? skipProperty(_prop, node) : "$" === _prop[0]) continue;
|
|
var child = node[_prop];
|
|
if (Array.isArray(child)) {
|
|
var index = 0;
|
|
for (NodePath.traversingIndexStack.push(index); index < child.length;) visit(child[index], node, _prop, index), index = NodePath.updateTraversingIndex(1);
|
|
NodePath.traversingIndexStack.pop()
|
|
} else visit(child, node, _prop)
|
|
} post && post(node, parent, prop, idx)
|
|
}
|
|
}(root, null)
|
|
}(ast, {
|
|
pre: function(node, parent, prop, index) {
|
|
var nodePath = void 0;
|
|
options.asNodes || (nodePath = getPathFor(node, parent, prop, index));
|
|
var _iteratorNormalCompletion = !0,
|
|
_didIteratorError = !1,
|
|
_iteratorError = void 0;
|
|
try {
|
|
for (var _step, _iterator = handlers[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
var handler = _step.value;
|
|
if ("function" == typeof handler["*"])
|
|
if (nodePath) {
|
|
if (!nodePath.isRemoved())
|
|
if (!1 === handler["*"](nodePath)) return !1
|
|
} else handler["*"](node, parent, prop, index);
|
|
var handlerFuncPre = void 0;
|
|
if ("function" == typeof handler[node.type] ? handlerFuncPre = handler[node.type] : "object" == typeof handler[node.type] && "function" == typeof handler[node.type].pre && (handlerFuncPre = handler[node.type].pre), handlerFuncPre)
|
|
if (nodePath) {
|
|
if (!nodePath.isRemoved())
|
|
if (!1 === handlerFuncPre.call(handler, nodePath)) return !1
|
|
} else handlerFuncPre.call(handler, node, parent, prop, index)
|
|
}
|
|
} catch (err) {
|
|
_didIteratorError = !0, _iteratorError = err
|
|
} finally {
|
|
try {
|
|
!_iteratorNormalCompletion && _iterator.return && _iterator.return()
|
|
} finally {
|
|
if (_didIteratorError) throw _iteratorError
|
|
}
|
|
}
|
|
},
|
|
post: function(node, parent, prop, index) {
|
|
if (node) {
|
|
var nodePath = void 0;
|
|
options.asNodes || (nodePath = getPathFor(node, parent, prop, index));
|
|
var _iteratorNormalCompletion2 = !0,
|
|
_didIteratorError2 = !1,
|
|
_iteratorError2 = void 0;
|
|
try {
|
|
for (var _step2, _iterator2 = handlers[Symbol.iterator](); !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = !0) {
|
|
var handler = _step2.value,
|
|
handlerFuncPost = void 0;
|
|
if ("object" == typeof handler[node.type] && "function" == typeof handler[node.type].post && (handlerFuncPost = handler[node.type].post), handlerFuncPost)
|
|
if (nodePath) {
|
|
if (!nodePath.isRemoved())
|
|
if (!1 === handlerFuncPost.call(handler, nodePath)) return !1
|
|
} else handlerFuncPost.call(handler, node, parent, prop, index)
|
|
}
|
|
} catch (err) {
|
|
_didIteratorError2 = !0, _iteratorError2 = err
|
|
} finally {
|
|
try {
|
|
!_iteratorNormalCompletion2 && _iterator2.return && _iterator2.return()
|
|
} finally {
|
|
if (_didIteratorError2) throw _iteratorError2
|
|
}
|
|
}
|
|
}
|
|
},
|
|
skipProperty: function(prop) {
|
|
return "loc" === prop
|
|
}
|
|
})
|
|
}
|
|
}
|
|
},
|
|
9581: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
let MapGenerator = __webpack_require__(66646),
|
|
parse = __webpack_require__(86999);
|
|
const Result = __webpack_require__(69487);
|
|
let stringify = __webpack_require__(38137);
|
|
__webpack_require__(96178);
|
|
class NoWorkResult {
|
|
get content() {
|
|
return this.result.css
|
|
}
|
|
get css() {
|
|
return this.result.css
|
|
}
|
|
get map() {
|
|
return this.result.map
|
|
}
|
|
get messages() {
|
|
return []
|
|
}
|
|
get opts() {
|
|
return this.result.opts
|
|
}
|
|
get processor() {
|
|
return this.result.processor
|
|
}
|
|
get root() {
|
|
if (this._root) return this._root;
|
|
let root, parser = parse;
|
|
try {
|
|
root = parser(this._css, this._opts)
|
|
} catch (error) {
|
|
this.error = error
|
|
}
|
|
if (this.error) throw this.error;
|
|
return this._root = root, root
|
|
}
|
|
get[Symbol.toStringTag]() {
|
|
return "NoWorkResult"
|
|
}
|
|
constructor(processor, css, opts) {
|
|
css = css.toString(), this.stringified = !1, this._processor = processor, this._css = css, this._opts = opts, this._map = void 0;
|
|
let str = stringify;
|
|
this.result = new Result(this._processor, undefined, this._opts), this.result.css = css;
|
|
let self = this;
|
|
Object.defineProperty(this.result, "root", {
|
|
get: () => self.root
|
|
});
|
|
let map = new MapGenerator(str, undefined, this._opts, css);
|
|
if (map.isMap()) {
|
|
let [generatedCSS, generatedMap] = map.generate();
|
|
generatedCSS && (this.result.css = generatedCSS), generatedMap && (this.result.map = generatedMap)
|
|
} else map.clearAnnotation(), this.result.css = map.css
|
|
}
|
|
async () {
|
|
return this.error ? Promise.reject(this.error) : Promise.resolve(this.result)
|
|
} catch (onRejected) {
|
|
return this.async().catch(onRejected)
|
|
} finally(onFinally) {
|
|
return this.async().then(onFinally, onFinally)
|
|
}
|
|
sync() {
|
|
if (this.error) throw this.error;
|
|
return this.result
|
|
}
|
|
then(onFulfilled, onRejected) {
|
|
return this.async().then(onFulfilled, onRejected)
|
|
}
|
|
toString() {
|
|
return this._css
|
|
}
|
|
warnings() {
|
|
return []
|
|
}
|
|
}
|
|
module.exports = NoWorkResult, NoWorkResult.default = NoWorkResult
|
|
},
|
|
9625: module => {
|
|
"use strict";
|
|
module.exports = JSON.parse('{"aed":{"priority":100,"iso_code":"AED","name":"United Arab Emirates Dirham","symbol":"\u062f.\u0625","alternate_symbols":["DH","Dhs"],"subunit":"Fils","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"784","smallest_denomination":25},"afn":{"priority":100,"iso_code":"AFN","name":"Afghan Afghani","symbol":"\u060b","alternate_symbols":["Af","Afs"],"subunit":"Pul","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"971","smallest_denomination":100},"all":{"priority":100,"iso_code":"ALL","name":"Albanian Lek","symbol":"L","disambiguate_symbol":"Lek","alternate_symbols":["Lek"],"subunit":"Qintar","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"008","smallest_denomination":100},"amd":{"priority":100,"iso_code":"AMD","name":"Armenian Dram","symbol":"\u0564\u0580.","alternate_symbols":["dram"],"subunit":"Luma","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"051","smallest_denomination":10},"ang":{"priority":100,"iso_code":"ANG","name":"Netherlands Antillean Gulden","symbol":"\u0192","alternate_symbols":["NA\u0192","NAf","f"],"subunit":"Cent","subunit_to_unit":100,"symbol_first":true,"html_entity":"ƒ","decimal_mark":",","thousands_separator":".","iso_numeric":"532","smallest_denomination":1},"aoa":{"priority":100,"iso_code":"AOA","name":"Angolan Kwanza","symbol":"Kz","alternate_symbols":[],"subunit":"C\xeantimo","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"973","smallest_denomination":10},"ars":{"priority":100,"iso_code":"ARS","name":"Argentine Peso","symbol":"$","disambiguate_symbol":"$m/n","alternate_symbols":["$m/n","m$n"],"subunit":"Centavo","subunit_to_unit":100,"symbol_first":true,"html_entity":"₱","decimal_mark":",","thousands_separator":".","iso_numeric":"032","smallest_denomination":1},"aud":{"priority":4,"iso_code":"AUD","name":"Australian Dollar","symbol":"$","disambiguate_symbol":"A$","alternate_symbols":["A$"],"subunit":"Cent","subunit_to_unit":100,"symbol_first":true,"html_entity":"$","decimal_mark":".","thousands_separator":",","iso_numeric":"036","smallest_denomination":5},"awg":{"priority":100,"iso_code":"AWG","name":"Aruban Florin","symbol":"\u0192","alternate_symbols":["Afl"],"subunit":"Cent","subunit_to_unit":100,"symbol_first":false,"html_entity":"ƒ","decimal_mark":".","thousands_separator":",","iso_numeric":"533","smallest_denomination":5},"azn":{"priority":100,"iso_code":"AZN","name":"Azerbaijani Manat","symbol":"\u20bc","alternate_symbols":["m","man"],"subunit":"Q\u0259pik","subunit_to_unit":100,"symbol_first":true,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"944","smallest_denomination":1},"bam":{"priority":100,"iso_code":"BAM","name":"Bosnia and Herzegovina Convertible Mark","symbol":"\u041a\u041c","alternate_symbols":["KM"],"subunit":"Fening","subunit_to_unit":100,"symbol_first":true,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"977","smallest_denomination":5},"bbd":{"priority":100,"iso_code":"BBD","name":"Barbadian Dollar","symbol":"$","disambiguate_symbol":"Bds$","alternate_symbols":["Bds$"],"subunit":"Cent","subunit_to_unit":100,"symbol_first":false,"html_entity":"$","decimal_mark":".","thousands_separator":",","iso_numeric":"052","smallest_denomination":1},"bdt":{"priority":100,"iso_code":"BDT","name":"Bangladeshi Taka","symbol":"\u09f3","alternate_symbols":["Tk"],"subunit":"Paisa","subunit_to_unit":100,"symbol_first":true,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"050","smallest_denomination":1},"bgn":{"priority":100,"iso_code":"BGN","name":"Bulgarian Lev","symbol":"\u043b\u0432.","alternate_symbols":["lev","leva","\u043b\u0435\u0432","\u043b\u0435\u0432\u0430"],"subunit":"Stotinka","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"975","smallest_denomination":1},"bhd":{"priority":100,"iso_code":"BHD","name":"Bahraini Dinar","symbol":"\u0628.\u062f","alternate_symbols":["BD"],"subunit":"Fils","subunit_to_unit":1000,"symbol_first":true,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"048","smallest_denomination":5},"bif":{"priority":100,"iso_code":"BIF","name":"Burundian Franc","symbol":"Fr","disambiguate_symbol":"FBu","alternate_symbols":["FBu"],"subunit":"Centime","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"108","smallest_denomination":100},"bmd":{"priority":100,"iso_code":"BMD","name":"Bermudian Dollar","symbol":"$","disambiguate_symbol":"BD$","alternate_symbols":["BD$"],"subunit":"Cent","subunit_to_unit":100,"symbol_first":true,"html_entity":"$","decimal_mark":".","thousands_separator":",","iso_numeric":"060","smallest_denomination":1},"bnd":{"priority":100,"iso_code":"BND","name":"Brunei Dollar","symbol":"$","disambiguate_symbol":"BND","alternate_symbols":["B$"],"subunit":"Sen","subunit_to_unit":100,"symbol_first":true,"html_entity":"$","decimal_mark":".","thousands_separator":",","iso_numeric":"096","smallest_denomination":1},"bob":{"priority":100,"iso_code":"BOB","name":"Bolivian Boliviano","symbol":"Bs.","alternate_symbols":["Bs"],"subunit":"Centavo","subunit_to_unit":100,"symbol_first":true,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"068","smallest_denomination":10},"brl":{"priority":100,"iso_code":"BRL","name":"Brazilian Real","symbol":"R$","subunit":"Centavo","subunit_to_unit":100,"symbol_first":true,"html_entity":"R$","decimal_mark":",","thousands_separator":".","iso_numeric":"986","smallest_denomination":5},"bsd":{"priority":100,"iso_code":"BSD","name":"Bahamian Dollar","symbol":"$","disambiguate_symbol":"BSD","alternate_symbols":["B$"],"subunit":"Cent","subunit_to_unit":100,"symbol_first":true,"html_entity":"$","decimal_mark":".","thousands_separator":",","iso_numeric":"044","smallest_denomination":1},"btn":{"priority":100,"iso_code":"BTN","name":"Bhutanese Ngultrum","symbol":"Nu.","alternate_symbols":["Nu"],"subunit":"Chertrum","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"064","smallest_denomination":5},"bwp":{"priority":100,"iso_code":"BWP","name":"Botswana Pula","symbol":"P","alternate_symbols":[],"subunit":"Thebe","subunit_to_unit":100,"symbol_first":true,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"072","smallest_denomination":5},"byn":{"priority":100,"iso_code":"BYN","name":"Belarusian Ruble","symbol":"Br","disambiguate_symbol":"BYN","alternate_symbols":["\u0431\u0435\u043b. \u0440\u0443\u0431.","\u0431.\u0440.","\u0440\u0443\u0431.","\u0440."],"subunit":"Kapeyka","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":",","thousands_separator":" ","iso_numeric":"933","smallest_denomination":1},"byr":{"priority":50,"iso_code":"BYR","name":"Belarusian Ruble","symbol":"Br","disambiguate_symbol":"BYR","alternate_symbols":["\u0431\u0435\u043b. \u0440\u0443\u0431.","\u0431.\u0440.","\u0440\u0443\u0431.","\u0440."],"subunit":null,"subunit_to_unit":1,"symbol_first":false,"html_entity":"","decimal_mark":",","thousands_separator":" ","iso_numeric":"974","smallest_denomination":100},"bzd":{"priority":100,"iso_code":"BZD","name":"Belize Dollar","symbol":"$","disambiguate_symbol":"BZ$","alternate_symbols":["BZ$"],"subunit":"Cent","subunit_to_unit":100,"symbol_first":true,"html_entity":"$","decimal_mark":".","thousands_separator":",","iso_numeric":"084","smallest_denomination":1},"cad":{"priority":5,"iso_code":"CAD","name":"Canadian Dollar","symbol":"$","disambiguate_symbol":"C$","alternate_symbols":["C$","CAD$"],"subunit":"Cent","subunit_to_unit":100,"symbol_first":true,"html_entity":"$","decimal_mark":".","thousands_separator":",","iso_numeric":"124","smallest_denomination":5},"cdf":{"priority":100,"iso_code":"CDF","name":"Congolese Franc","symbol":"Fr","disambiguate_symbol":"FC","alternate_symbols":["FC"],"subunit":"Centime","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"976","smallest_denomination":1},"chf":{"priority":100,"iso_code":"CHF","name":"Swiss Franc","symbol":"CHF","alternate_symbols":["SFr","Fr"],"subunit":"Rappen","subunit_to_unit":100,"symbol_first":true,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"756","smallest_denomination":5},"clf":{"priority":100,"iso_code":"CLF","name":"Unidad de Fomento","symbol":"UF","alternate_symbols":[],"subunit":"Peso","subunit_to_unit":10000,"symbol_first":true,"html_entity":"₱","decimal_mark":",","thousands_separator":".","iso_numeric":"990"},"clp":{"priority":100,"iso_code":"CLP","name":"Chilean Peso","symbol":"$","disambiguate_symbol":"CLP","alternate_symbols":[],"subunit":"Peso","subunit_to_unit":1,"symbol_first":true,"html_entity":"$","decimal_mark":",","thousands_separator":".","iso_numeric":"152","smallest_denomination":1},"cny":{"priority":100,"iso_code":"CNY","name":"Chinese Renminbi Yuan","symbol":"\xa5","alternate_symbols":["CN\xa5","\u5143","CN\u5143"],"subunit":"Fen","subunit_to_unit":100,"symbol_first":true,"html_entity":"\uffe5","decimal_mark":".","thousands_separator":",","iso_numeric":"156","smallest_denomination":1},"cop":{"priority":100,"iso_code":"COP","name":"Colombian Peso","symbol":"$","disambiguate_symbol":"COL$","alternate_symbols":["COL$"],"subunit":"Centavo","subunit_to_unit":100,"symbol_first":true,"html_entity":"₱","decimal_mark":",","thousands_separator":".","iso_numeric":"170","smallest_denomination":20},"crc":{"priority":100,"iso_code":"CRC","name":"Costa Rican Col\xf3n","symbol":"\u20a1","alternate_symbols":["\xa2"],"subunit":"C\xe9ntimo","subunit_to_unit":100,"symbol_first":true,"html_entity":"₡","decimal_mark":",","thousands_separator":".","iso_numeric":"188","smallest_denomination":500},"cuc":{"priority":100,"iso_code":"CUC","name":"Cuban Convertible Peso","symbol":"$","disambiguate_symbol":"CUC$","alternate_symbols":["CUC$"],"subunit":"Centavo","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"931","smallest_denomination":1},"cup":{"priority":100,"iso_code":"CUP","name":"Cuban Peso","symbol":"$","disambiguate_symbol":"$MN","alternate_symbols":["$MN"],"subunit":"Centavo","subunit_to_unit":100,"symbol_first":true,"html_entity":"₱","decimal_mark":".","thousands_separator":",","iso_numeric":"192","smallest_denomination":1},"cve":{"priority":100,"iso_code":"CVE","name":"Cape Verdean Escudo","symbol":"$","disambiguate_symbol":"Esc","alternate_symbols":["Esc"],"subunit":"Centavo","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"132","smallest_denomination":100},"czk":{"priority":100,"iso_code":"CZK","name":"Czech Koruna","symbol":"K\u010d","alternate_symbols":[],"subunit":"Hal\xe9\u0159","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":",","thousands_separator":".","iso_numeric":"203","smallest_denomination":100},"djf":{"priority":100,"iso_code":"DJF","name":"Djiboutian Franc","symbol":"Fdj","alternate_symbols":[],"subunit":"Centime","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"262","smallest_denomination":100},"dkk":{"priority":100,"iso_code":"DKK","name":"Danish Krone","symbol":"kr.","disambiguate_symbol":"DKK","alternate_symbols":[",-"],"subunit":"\xd8re","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":",","thousands_separator":".","iso_numeric":"208","smallest_denomination":50},"dop":{"priority":100,"iso_code":"DOP","name":"Dominican Peso","symbol":"$","disambiguate_symbol":"RD$","alternate_symbols":["RD$"],"subunit":"Centavo","subunit_to_unit":100,"symbol_first":true,"html_entity":"₱","decimal_mark":".","thousands_separator":",","iso_numeric":"214","smallest_denomination":100},"dzd":{"priority":100,"iso_code":"DZD","name":"Algerian Dinar","symbol":"\u062f.\u062c","alternate_symbols":["DA"],"subunit":"Centime","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"012","smallest_denomination":100},"egp":{"priority":100,"iso_code":"EGP","name":"Egyptian Pound","symbol":"\u062c.\u0645","alternate_symbols":["LE","E\xa3","L.E."],"subunit":"Piastre","subunit_to_unit":100,"symbol_first":true,"html_entity":"£","decimal_mark":".","thousands_separator":",","iso_numeric":"818","smallest_denomination":25},"ern":{"priority":100,"iso_code":"ERN","name":"Eritrean Nakfa","symbol":"Nfk","alternate_symbols":[],"subunit":"Cent","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"232","smallest_denomination":1},"etb":{"priority":100,"iso_code":"ETB","name":"Ethiopian Birr","symbol":"Br","disambiguate_symbol":"ETB","alternate_symbols":[],"subunit":"Santim","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"230","smallest_denomination":1},"eur":{"priority":2,"iso_code":"EUR","name":"Euro","symbol":"\u20ac","alternate_symbols":[],"subunit":"Cent","subunit_to_unit":100,"symbol_first":true,"html_entity":"€","decimal_mark":",","thousands_separator":".","iso_numeric":"978","smallest_denomination":1},"fjd":{"priority":100,"iso_code":"FJD","name":"Fijian Dollar","symbol":"$","disambiguate_symbol":"FJ$","alternate_symbols":["FJ$"],"subunit":"Cent","subunit_to_unit":100,"symbol_first":false,"html_entity":"$","decimal_mark":".","thousands_separator":",","iso_numeric":"242","smallest_denomination":5},"fkp":{"priority":100,"iso_code":"FKP","name":"Falkland Pound","symbol":"\xa3","disambiguate_symbol":"FK\xa3","alternate_symbols":["FK\xa3"],"subunit":"Penny","subunit_to_unit":100,"symbol_first":false,"html_entity":"£","decimal_mark":".","thousands_separator":",","iso_numeric":"238","smallest_denomination":1},"gbp":{"priority":3,"iso_code":"GBP","name":"British Pound","symbol":"\xa3","alternate_symbols":[],"subunit":"Penny","subunit_to_unit":100,"symbol_first":true,"html_entity":"£","decimal_mark":".","thousands_separator":",","iso_numeric":"826","smallest_denomination":1},"gel":{"priority":100,"iso_code":"GEL","name":"Georgian Lari","symbol":"\u10da","alternate_symbols":["lari"],"subunit":"Tetri","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"981","smallest_denomination":1},"ghs":{"priority":100,"iso_code":"GHS","name":"Ghanaian Cedi","symbol":"\u20b5","alternate_symbols":["GH\xa2","GH\u20b5"],"subunit":"Pesewa","subunit_to_unit":100,"symbol_first":true,"html_entity":"₵","decimal_mark":".","thousands_separator":",","iso_numeric":"936","smallest_denomination":1},"gip":{"priority":100,"iso_code":"GIP","name":"Gibraltar Pound","symbol":"\xa3","disambiguate_symbol":"GIP","alternate_symbols":[],"subunit":"Penny","subunit_to_unit":100,"symbol_first":true,"html_entity":"£","decimal_mark":".","thousands_separator":",","iso_numeric":"292","smallest_denomination":1},"gmd":{"priority":100,"iso_code":"GMD","name":"Gambian Dalasi","symbol":"D","alternate_symbols":[],"subunit":"Butut","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"270","smallest_denomination":1},"gnf":{"priority":100,"iso_code":"GNF","name":"Guinean Franc","symbol":"Fr","disambiguate_symbol":"FG","alternate_symbols":["FG","GFr"],"subunit":"Centime","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"324","smallest_denomination":100},"gtq":{"priority":100,"iso_code":"GTQ","name":"Guatemalan Quetzal","symbol":"Q","alternate_symbols":[],"subunit":"Centavo","subunit_to_unit":100,"symbol_first":true,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"320","smallest_denomination":1},"gyd":{"priority":100,"iso_code":"GYD","name":"Guyanese Dollar","symbol":"$","disambiguate_symbol":"G$","alternate_symbols":["G$"],"subunit":"Cent","subunit_to_unit":100,"symbol_first":false,"html_entity":"$","decimal_mark":".","thousands_separator":",","iso_numeric":"328","smallest_denomination":100},"hkd":{"priority":100,"iso_code":"HKD","name":"Hong Kong Dollar","symbol":"$","disambiguate_symbol":"HK$","alternate_symbols":["HK$"],"subunit":"Cent","subunit_to_unit":100,"symbol_first":true,"html_entity":"$","decimal_mark":".","thousands_separator":",","iso_numeric":"344","smallest_denomination":10},"hnl":{"priority":100,"iso_code":"HNL","name":"Honduran Lempira","symbol":"L","disambiguate_symbol":"HNL","alternate_symbols":[],"subunit":"Centavo","subunit_to_unit":100,"symbol_first":true,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"340","smallest_denomination":5},"hrk":{"priority":100,"iso_code":"HRK","name":"Croatian Kuna","symbol":"kn","alternate_symbols":[],"subunit":"Lipa","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":",","thousands_separator":".","iso_numeric":"191","smallest_denomination":1},"htg":{"priority":100,"iso_code":"HTG","name":"Haitian Gourde","symbol":"G","alternate_symbols":[],"subunit":"Centime","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"332","smallest_denomination":5},"huf":{"priority":100,"iso_code":"HUF","name":"Hungarian Forint","symbol":"Ft","alternate_symbols":[],"subunit":"Fill\xe9r","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":",","thousands_separator":".","iso_numeric":"348","smallest_denomination":500},"idr":{"priority":100,"iso_code":"IDR","name":"Indonesian Rupiah","symbol":"Rp","alternate_symbols":[],"subunit":"Sen","subunit_to_unit":100,"symbol_first":true,"html_entity":"","decimal_mark":",","thousands_separator":".","iso_numeric":"360","smallest_denomination":5000},"ils":{"priority":100,"iso_code":"ILS","name":"Israeli New Sheqel","symbol":"\u20aa","alternate_symbols":["\u05e9\u05f4\u05d7","NIS"],"subunit":"Agora","subunit_to_unit":100,"symbol_first":true,"html_entity":"₪","decimal_mark":".","thousands_separator":",","iso_numeric":"376","smallest_denomination":10},"inr":{"priority":100,"iso_code":"INR","name":"Indian Rupee","symbol":"\u20b9","alternate_symbols":["Rs","\u09f3","\u0af1","\u0bf9","\u0930\u0941","\u20a8"],"subunit":"Paisa","subunit_to_unit":100,"symbol_first":true,"html_entity":"₹","decimal_mark":".","thousands_separator":",","iso_numeric":"356","smallest_denomination":50},"iqd":{"priority":100,"iso_code":"IQD","name":"Iraqi Dinar","symbol":"\u0639.\u062f","alternate_symbols":[],"subunit":"Fils","subunit_to_unit":1000,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"368","smallest_denomination":50000},"irr":{"priority":100,"iso_code":"IRR","name":"Iranian Rial","symbol":"\ufdfc","alternate_symbols":[],"subunit":null,"subunit_to_unit":1,"symbol_first":true,"html_entity":"﷼","decimal_mark":".","thousands_separator":",","iso_numeric":"364","smallest_denomination":5000},"isk":{"priority":100,"iso_code":"ISK","name":"Icelandic Kr\xf3na","symbol":"kr","alternate_symbols":["\xcdkr"],"subunit":null,"subunit_to_unit":1,"symbol_first":true,"html_entity":"","decimal_mark":",","thousands_separator":".","iso_numeric":"352","smallest_denomination":1},"jmd":{"priority":100,"iso_code":"JMD","name":"Jamaican Dollar","symbol":"$","disambiguate_symbol":"J$","alternate_symbols":["J$"],"subunit":"Cent","subunit_to_unit":100,"symbol_first":true,"html_entity":"$","decimal_mark":".","thousands_separator":",","iso_numeric":"388","smallest_denomination":1},"jod":{"priority":100,"iso_code":"JOD","name":"Jordanian Dinar","symbol":"\u062f.\u0627","alternate_symbols":["JD"],"subunit":"Fils","subunit_to_unit":1000,"symbol_first":true,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"400","smallest_denomination":5},"jpy":{"priority":6,"iso_code":"JPY","name":"Japanese Yen","symbol":"\xa5","alternate_symbols":["\u5186","\u5713"],"subunit":null,"subunit_to_unit":1,"symbol_first":true,"html_entity":"¥","decimal_mark":".","thousands_separator":",","iso_numeric":"392","smallest_denomination":1},"kes":{"priority":100,"iso_code":"KES","name":"Kenyan Shilling","symbol":"KSh","alternate_symbols":["Sh"],"subunit":"Cent","subunit_to_unit":100,"symbol_first":true,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"404","smallest_denomination":50},"kgs":{"priority":100,"iso_code":"KGS","name":"Kyrgyzstani Som","symbol":"som","alternate_symbols":["\u0441\u043e\u043c"],"subunit":"Tyiyn","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"417","smallest_denomination":1},"khr":{"priority":100,"iso_code":"KHR","name":"Cambodian Riel","symbol":"\u17db","alternate_symbols":[],"subunit":"Sen","subunit_to_unit":100,"symbol_first":false,"html_entity":"៛","decimal_mark":".","thousands_separator":",","iso_numeric":"116","smallest_denomination":5000},"kmf":{"priority":100,"iso_code":"KMF","name":"Comorian Franc","symbol":"Fr","disambiguate_symbol":"CF","alternate_symbols":["CF"],"subunit":"Centime","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"174","smallest_denomination":100},"kpw":{"priority":100,"iso_code":"KPW","name":"North Korean Won","symbol":"\u20a9","alternate_symbols":[],"subunit":"Ch\u014fn","subunit_to_unit":100,"symbol_first":false,"html_entity":"₩","decimal_mark":".","thousands_separator":",","iso_numeric":"408","smallest_denomination":1},"krw":{"priority":100,"iso_code":"KRW","name":"South Korean Won","symbol":"\u20a9","subunit":null,"subunit_to_unit":1,"alternate_symbols":[],"symbol_first":true,"html_entity":"₩","decimal_mark":".","thousands_separator":",","iso_numeric":"410","smallest_denomination":1},"kwd":{"priority":100,"iso_code":"KWD","name":"Kuwaiti Dinar","symbol":"\u062f.\u0643","alternate_symbols":["K.D."],"subunit":"Fils","subunit_to_unit":1000,"symbol_first":true,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"414","smallest_denomination":5},"kyd":{"priority":100,"iso_code":"KYD","name":"Cayman Islands Dollar","symbol":"$","disambiguate_symbol":"CI$","alternate_symbols":["CI$"],"subunit":"Cent","subunit_to_unit":100,"symbol_first":true,"html_entity":"$","decimal_mark":".","thousands_separator":",","iso_numeric":"136","smallest_denomination":1},"kzt":{"priority":100,"iso_code":"KZT","name":"Kazakhstani Tenge","symbol":"\u3012","alternate_symbols":[],"subunit":"Tiyn","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"398","smallest_denomination":100},"lak":{"priority":100,"iso_code":"LAK","name":"Lao Kip","symbol":"\u20ad","alternate_symbols":["\u20adN"],"subunit":"Att","subunit_to_unit":100,"symbol_first":false,"html_entity":"₭","decimal_mark":".","thousands_separator":",","iso_numeric":"418","smallest_denomination":10},"lbp":{"priority":100,"iso_code":"LBP","name":"Lebanese Pound","symbol":"\u0644.\u0644","alternate_symbols":["\xa3","L\xa3"],"subunit":"Piastre","subunit_to_unit":100,"symbol_first":true,"html_entity":"£","decimal_mark":".","thousands_separator":",","iso_numeric":"422","smallest_denomination":25000},"lkr":{"priority":100,"iso_code":"LKR","name":"Sri Lankan Rupee","symbol":"\u20a8","disambiguate_symbol":"SLRs","alternate_symbols":["\u0dbb\u0dd4","\u0bb0\u0bc2","SLRs","/-"],"subunit":"Cent","subunit_to_unit":100,"symbol_first":false,"html_entity":"௹","decimal_mark":".","thousands_separator":",","iso_numeric":"144","smallest_denomination":100},"lrd":{"priority":100,"iso_code":"LRD","name":"Liberian Dollar","symbol":"$","disambiguate_symbol":"L$","alternate_symbols":["L$"],"subunit":"Cent","subunit_to_unit":100,"symbol_first":false,"html_entity":"$","decimal_mark":".","thousands_separator":",","iso_numeric":"430","smallest_denomination":5},"lsl":{"priority":100,"iso_code":"LSL","name":"Lesotho Loti","symbol":"L","disambiguate_symbol":"M","alternate_symbols":["M"],"subunit":"Sente","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"426","smallest_denomination":1},"ltl":{"priority":100,"iso_code":"LTL","name":"Lithuanian Litas","symbol":"Lt","alternate_symbols":[],"subunit":"Centas","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"440","smallest_denomination":1},"lvl":{"priority":100,"iso_code":"LVL","name":"Latvian Lats","symbol":"Ls","alternate_symbols":[],"subunit":"Sant\u012bms","subunit_to_unit":100,"symbol_first":true,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"428","smallest_denomination":1},"lyd":{"priority":100,"iso_code":"LYD","name":"Libyan Dinar","symbol":"\u0644.\u062f","alternate_symbols":["LD"],"subunit":"Dirham","subunit_to_unit":1000,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"434","smallest_denomination":50},"mad":{"priority":100,"iso_code":"MAD","name":"Moroccan Dirham","symbol":"\u062f.\u0645.","alternate_symbols":[],"subunit":"Centime","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"504","smallest_denomination":1},"mdl":{"priority":100,"iso_code":"MDL","name":"Moldovan Leu","symbol":"L","alternate_symbols":["lei"],"subunit":"Ban","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"498","smallest_denomination":1},"mga":{"priority":100,"iso_code":"MGA","name":"Malagasy Ariary","symbol":"Ar","alternate_symbols":[],"subunit":"Iraimbilanja","subunit_to_unit":5,"symbol_first":true,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"969","smallest_denomination":1},"mkd":{"priority":100,"iso_code":"MKD","name":"Macedonian Denar","symbol":"\u0434\u0435\u043d","alternate_symbols":[],"subunit":"Deni","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"807","smallest_denomination":100},"mmk":{"priority":100,"iso_code":"MMK","name":"Myanmar Kyat","symbol":"K","disambiguate_symbol":"MMK","alternate_symbols":[],"subunit":"Pya","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"104","smallest_denomination":50},"mnt":{"priority":100,"iso_code":"MNT","name":"Mongolian T\xf6gr\xf6g","symbol":"\u20ae","alternate_symbols":[],"subunit":"M\xf6ng\xf6","subunit_to_unit":100,"symbol_first":false,"html_entity":"₮","decimal_mark":".","thousands_separator":",","iso_numeric":"496","smallest_denomination":2000},"mop":{"priority":100,"iso_code":"MOP","name":"Macanese Pataca","symbol":"P","alternate_symbols":["MOP$"],"subunit":"Avo","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"446","smallest_denomination":10},"mro":{"priority":100,"iso_code":"MRO","name":"Mauritanian Ouguiya","symbol":"UM","alternate_symbols":[],"subunit":"Khoums","subunit_to_unit":5,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"478","smallest_denomination":1},"mur":{"priority":100,"iso_code":"MUR","name":"Mauritian Rupee","symbol":"\u20a8","alternate_symbols":[],"subunit":"Cent","subunit_to_unit":100,"symbol_first":true,"html_entity":"₨","decimal_mark":".","thousands_separator":",","iso_numeric":"480","smallest_denomination":100},"mvr":{"priority":100,"iso_code":"MVR","name":"Maldivian Rufiyaa","symbol":"MVR","alternate_symbols":["MRF","Rf","/-","\u0783"],"subunit":"Laari","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"462","smallest_denomination":1},"mwk":{"priority":100,"iso_code":"MWK","name":"Malawian Kwacha","symbol":"MK","alternate_symbols":[],"subunit":"Tambala","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"454","smallest_denomination":1},"mxn":{"priority":100,"iso_code":"MXN","name":"Mexican Peso","symbol":"$","disambiguate_symbol":"MEX$","alternate_symbols":["MEX$"],"subunit":"Centavo","subunit_to_unit":100,"symbol_first":true,"html_entity":"$","decimal_mark":".","thousands_separator":",","iso_numeric":"484","smallest_denomination":5},"myr":{"priority":100,"iso_code":"MYR","name":"Malaysian Ringgit","symbol":"RM","alternate_symbols":[],"subunit":"Sen","subunit_to_unit":100,"symbol_first":true,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"458","smallest_denomination":5},"mzn":{"priority":100,"iso_code":"MZN","name":"Mozambican Metical","symbol":"MTn","alternate_symbols":["MZN"],"subunit":"Centavo","subunit_to_unit":100,"symbol_first":true,"html_entity":"","decimal_mark":",","thousands_separator":".","iso_numeric":"943","smallest_denomination":1},"nad":{"priority":100,"iso_code":"NAD","name":"Namibian Dollar","symbol":"$","disambiguate_symbol":"N$","alternate_symbols":["N$"],"subunit":"Cent","subunit_to_unit":100,"symbol_first":false,"html_entity":"$","decimal_mark":".","thousands_separator":",","iso_numeric":"516","smallest_denomination":5},"ngn":{"priority":100,"iso_code":"NGN","name":"Nigerian Naira","symbol":"\u20a6","alternate_symbols":[],"subunit":"Kobo","subunit_to_unit":100,"symbol_first":true,"html_entity":"₦","decimal_mark":".","thousands_separator":",","iso_numeric":"566","smallest_denomination":50},"nio":{"priority":100,"iso_code":"NIO","name":"Nicaraguan C\xf3rdoba","symbol":"C$","alternate_symbols":[],"subunit":"Centavo","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"558","smallest_denomination":5},"nok":{"priority":100,"iso_code":"NOK","name":"Norwegian Krone","symbol":"kr","disambiguate_symbol":"NOK","alternate_symbols":[",-"],"subunit":"\xd8re","subunit_to_unit":100,"symbol_first":false,"html_entity":"kr","decimal_mark":",","thousands_separator":".","iso_numeric":"578","smallest_denomination":100},"npr":{"priority":100,"iso_code":"NPR","name":"Nepalese Rupee","symbol":"\u20a8","disambiguate_symbol":"NPR","alternate_symbols":["Rs","\u0930\u0942"],"subunit":"Paisa","subunit_to_unit":100,"symbol_first":true,"html_entity":"₨","decimal_mark":".","thousands_separator":",","iso_numeric":"524","smallest_denomination":1},"nzd":{"priority":100,"iso_code":"NZD","name":"New Zealand Dollar","symbol":"$","disambiguate_symbol":"NZ$","alternate_symbols":["NZ$"],"subunit":"Cent","subunit_to_unit":100,"symbol_first":true,"html_entity":"$","decimal_mark":".","thousands_separator":",","iso_numeric":"554","smallest_denomination":10},"omr":{"priority":100,"iso_code":"OMR","name":"Omani Rial","symbol":"\u0631.\u0639.","alternate_symbols":[],"subunit":"Baisa","subunit_to_unit":1000,"symbol_first":true,"html_entity":"﷼","decimal_mark":".","thousands_separator":",","iso_numeric":"512","smallest_denomination":5},"pab":{"priority":100,"iso_code":"PAB","name":"Panamanian Balboa","symbol":"B/.","alternate_symbols":[],"subunit":"Cent\xe9simo","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"590","smallest_denomination":1},"pen":{"priority":100,"iso_code":"PEN","name":"Peruvian Nuevo Sol","symbol":"S/.","alternate_symbols":[],"subunit":"C\xe9ntimo","subunit_to_unit":100,"symbol_first":true,"html_entity":"S/.","decimal_mark":".","thousands_separator":",","iso_numeric":"604","smallest_denomination":1},"pgk":{"priority":100,"iso_code":"PGK","name":"Papua New Guinean Kina","symbol":"K","disambiguate_symbol":"PGK","alternate_symbols":[],"subunit":"Toea","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"598","smallest_denomination":5},"php":{"priority":100,"iso_code":"PHP","name":"Philippine Peso","symbol":"\u20b1","alternate_symbols":["PHP","PhP","P"],"subunit":"Centavo","subunit_to_unit":100,"symbol_first":true,"html_entity":"₱","decimal_mark":".","thousands_separator":",","iso_numeric":"608","smallest_denomination":1},"pkr":{"priority":100,"iso_code":"PKR","name":"Pakistani Rupee","symbol":"\u20a8","disambiguate_symbol":"PKR","alternate_symbols":["Rs"],"subunit":"Paisa","subunit_to_unit":100,"symbol_first":true,"html_entity":"₨","decimal_mark":".","thousands_separator":",","iso_numeric":"586","smallest_denomination":100},"pln":{"priority":100,"iso_code":"PLN","name":"Polish Z\u0142oty","symbol":"z\u0142","alternate_symbols":[],"subunit":"Grosz","subunit_to_unit":100,"symbol_first":false,"html_entity":"zł","decimal_mark":",","thousands_separator":" ","iso_numeric":"985","smallest_denomination":1},"pyg":{"priority":100,"iso_code":"PYG","name":"Paraguayan Guaran\xed","symbol":"\u20b2","alternate_symbols":[],"subunit":"C\xe9ntimo","subunit_to_unit":100,"symbol_first":true,"html_entity":"₲","decimal_mark":".","thousands_separator":",","iso_numeric":"600","smallest_denomination":5000},"qar":{"priority":100,"iso_code":"QAR","name":"Qatari Riyal","symbol":"\u0631.\u0642","alternate_symbols":["QR"],"subunit":"Dirham","subunit_to_unit":100,"symbol_first":false,"html_entity":"﷼","decimal_mark":".","thousands_separator":",","iso_numeric":"634","smallest_denomination":1},"ron":{"priority":100,"iso_code":"RON","name":"Romanian Leu","symbol":"Lei","alternate_symbols":[],"subunit":"Bani","subunit_to_unit":100,"symbol_first":true,"html_entity":"","decimal_mark":",","thousands_separator":".","iso_numeric":"946","smallest_denomination":1},"rsd":{"priority":100,"iso_code":"RSD","name":"Serbian Dinar","symbol":"\u0420\u0421\u0414","alternate_symbols":["RSD","din","\u0434\u0438\u043d"],"subunit":"Para","subunit_to_unit":100,"symbol_first":true,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"941","smallest_denomination":100},"rub":{"priority":100,"iso_code":"RUB","name":"Russian Ruble","symbol":"\u20bd","alternate_symbols":["\u0440\u0443\u0431.","\u0440."],"subunit":"Kopeck","subunit_to_unit":100,"symbol_first":false,"html_entity":"₽","decimal_mark":",","thousands_separator":".","iso_numeric":"643","smallest_denomination":1},"rwf":{"priority":100,"iso_code":"RWF","name":"Rwandan Franc","symbol":"FRw","alternate_symbols":["RF","R\u20a3"],"subunit":"Centime","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"646","smallest_denomination":100},"sar":{"priority":100,"iso_code":"SAR","name":"Saudi Riyal","symbol":"\u0631.\u0633","alternate_symbols":["SR","\ufdfc"],"subunit":"Hallallah","subunit_to_unit":100,"symbol_first":true,"html_entity":"﷼","decimal_mark":".","thousands_separator":",","iso_numeric":"682","smallest_denomination":5},"sbd":{"priority":100,"iso_code":"SBD","name":"Solomon Islands Dollar","symbol":"$","disambiguate_symbol":"SI$","alternate_symbols":["SI$"],"subunit":"Cent","subunit_to_unit":100,"symbol_first":false,"html_entity":"$","decimal_mark":".","thousands_separator":",","iso_numeric":"090","smallest_denomination":10},"scr":{"priority":100,"iso_code":"SCR","name":"Seychellois Rupee","symbol":"\u20a8","disambiguate_symbol":"SRe","alternate_symbols":["SRe","SR"],"subunit":"Cent","subunit_to_unit":100,"symbol_first":false,"html_entity":"₨","decimal_mark":".","thousands_separator":",","iso_numeric":"690","smallest_denomination":1},"sdg":{"priority":100,"iso_code":"SDG","name":"Sudanese Pound","symbol":"\xa3","disambiguate_symbol":"SDG","alternate_symbols":[],"subunit":"Piastre","subunit_to_unit":100,"symbol_first":true,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"938","smallest_denomination":1},"sek":{"priority":100,"iso_code":"SEK","name":"Swedish Krona","symbol":"kr","disambiguate_symbol":"SEK","alternate_symbols":[":-"],"subunit":"\xd6re","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":",","thousands_separator":" ","iso_numeric":"752","smallest_denomination":100},"sgd":{"priority":100,"iso_code":"SGD","name":"Singapore Dollar","symbol":"$","disambiguate_symbol":"S$","alternate_symbols":["S$"],"subunit":"Cent","subunit_to_unit":100,"symbol_first":true,"html_entity":"$","decimal_mark":".","thousands_separator":",","iso_numeric":"702","smallest_denomination":1},"shp":{"priority":100,"iso_code":"SHP","name":"Saint Helenian Pound","symbol":"\xa3","disambiguate_symbol":"SHP","alternate_symbols":[],"subunit":"Penny","subunit_to_unit":100,"symbol_first":false,"html_entity":"£","decimal_mark":".","thousands_separator":",","iso_numeric":"654","smallest_denomination":1},"skk":{"priority":100,"iso_code":"SKK","name":"Slovak Koruna","symbol":"Sk","alternate_symbols":[],"subunit":"Halier","subunit_to_unit":100,"symbol_first":true,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"703","smallest_denomination":50},"sll":{"priority":100,"iso_code":"SLL","name":"Sierra Leonean Leone","symbol":"Le","alternate_symbols":[],"subunit":"Cent","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"694","smallest_denomination":1000},"sos":{"priority":100,"iso_code":"SOS","name":"Somali Shilling","symbol":"Sh","alternate_symbols":["Sh.So"],"subunit":"Cent","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"706","smallest_denomination":1},"srd":{"priority":100,"iso_code":"SRD","name":"Surinamese Dollar","symbol":"$","disambiguate_symbol":"SRD","alternate_symbols":[],"subunit":"Cent","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"968","smallest_denomination":1},"ssp":{"priority":100,"iso_code":"SSP","name":"South Sudanese Pound","symbol":"\xa3","disambiguate_symbol":"SSP","alternate_symbols":[],"subunit":"piaster","subunit_to_unit":100,"symbol_first":false,"html_entity":"£","decimal_mark":".","thousands_separator":",","iso_numeric":"728","smallest_denomination":5},"std":{"priority":100,"iso_code":"STD","name":"S\xe3o Tom\xe9 and Pr\xedncipe Dobra","symbol":"Db","alternate_symbols":[],"subunit":"C\xeantimo","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"678","smallest_denomination":10000},"svc":{"priority":100,"iso_code":"SVC","name":"Salvadoran Col\xf3n","symbol":"\u20a1","alternate_symbols":["\xa2"],"subunit":"Centavo","subunit_to_unit":100,"symbol_first":true,"html_entity":"₡","decimal_mark":".","thousands_separator":",","iso_numeric":"222","smallest_denomination":1},"syp":{"priority":100,"iso_code":"SYP","name":"Syrian Pound","symbol":"\xa3S","alternate_symbols":["\xa3","\u0644.\u0633","LS","\u0627\u0644\u0644\u064a\u0631\u0629 \u0627\u0644\u0633\u0648\u0631\u064a\u0629"],"subunit":"Piastre","subunit_to_unit":100,"symbol_first":false,"html_entity":"£","decimal_mark":".","thousands_separator":",","iso_numeric":"760","smallest_denomination":100},"szl":{"priority":100,"iso_code":"SZL","name":"Swazi Lilangeni","symbol":"E","disambiguate_symbol":"SZL","subunit":"Cent","subunit_to_unit":100,"symbol_first":true,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"748","smallest_denomination":1},"thb":{"priority":100,"iso_code":"THB","name":"Thai Baht","symbol":"\u0e3f","alternate_symbols":[],"subunit":"Satang","subunit_to_unit":100,"symbol_first":true,"html_entity":"฿","decimal_mark":".","thousands_separator":",","iso_numeric":"764","smallest_denomination":1},"tjs":{"priority":100,"iso_code":"TJS","name":"Tajikistani Somoni","symbol":"\u0405\u041c","alternate_symbols":[],"subunit":"Diram","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"972","smallest_denomination":1},"tmt":{"priority":100,"iso_code":"TMT","name":"Turkmenistani Manat","symbol":"T","alternate_symbols":[],"subunit":"Tenge","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"934","smallest_denomination":1},"tnd":{"priority":100,"iso_code":"TND","name":"Tunisian Dinar","symbol":"\u062f.\u062a","alternate_symbols":["TD","DT"],"subunit":"Millime","subunit_to_unit":1000,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"788","smallest_denomination":10},"top":{"priority":100,"iso_code":"TOP","name":"Tongan Pa\u02bbanga","symbol":"T$","alternate_symbols":["PT"],"subunit":"Seniti","subunit_to_unit":100,"symbol_first":true,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"776","smallest_denomination":1},"try":{"priority":100,"iso_code":"TRY","name":"Turkish Lira","symbol":"\u20ba","alternate_symbols":["TL"],"subunit":"kuru\u015f","subunit_to_unit":100,"symbol_first":true,"html_entity":"₺","decimal_mark":",","thousands_separator":".","iso_numeric":"949","smallest_denomination":1},"ttd":{"priority":100,"iso_code":"TTD","name":"Trinidad and Tobago Dollar","symbol":"$","disambiguate_symbol":"TT$","alternate_symbols":["TT$"],"subunit":"Cent","subunit_to_unit":100,"symbol_first":false,"html_entity":"$","decimal_mark":".","thousands_separator":",","iso_numeric":"780","smallest_denomination":1},"twd":{"priority":100,"iso_code":"TWD","name":"New Taiwan Dollar","symbol":"$","disambiguate_symbol":"NT$","alternate_symbols":["NT$"],"subunit":"Cent","subunit_to_unit":100,"symbol_first":true,"html_entity":"$","decimal_mark":".","thousands_separator":",","iso_numeric":"901","smallest_denomination":50},"tzs":{"priority":100,"iso_code":"TZS","name":"Tanzanian Shilling","symbol":"Sh","alternate_symbols":[],"subunit":"Cent","subunit_to_unit":100,"symbol_first":true,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"834","smallest_denomination":5000},"uah":{"priority":100,"iso_code":"UAH","name":"Ukrainian Hryvnia","symbol":"\u20b4","alternate_symbols":[],"subunit":"Kopiyka","subunit_to_unit":100,"symbol_first":false,"html_entity":"₴","decimal_mark":".","thousands_separator":",","iso_numeric":"980","smallest_denomination":1},"ugx":{"priority":100,"iso_code":"UGX","name":"Ugandan Shilling","symbol":"USh","alternate_symbols":[],"subunit":"Cent","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"800","smallest_denomination":1000},"usd":{"priority":1,"iso_code":"USD","name":"United States Dollar","symbol":"$","disambiguate_symbol":"US$","alternate_symbols":["US$"],"subunit":"Cent","subunit_to_unit":100,"symbol_first":true,"html_entity":"$","decimal_mark":".","thousands_separator":",","iso_numeric":"840","smallest_denomination":1},"uyu":{"priority":100,"iso_code":"UYU","name":"Uruguayan Peso","symbol":"$","alternate_symbols":["$U"],"subunit":"Cent\xe9simo","subunit_to_unit":100,"symbol_first":true,"html_entity":"₱","decimal_mark":",","thousands_separator":".","iso_numeric":"858","smallest_denomination":100},"uzs":{"priority":100,"iso_code":"UZS","name":"Uzbekistan Som","symbol":null,"alternate_symbols":["so\u2018m","\u0441\u045e\u043c","\u0441\u0443\u043c","s","\u0441"],"subunit":"Tiyin","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"860","smallest_denomination":100},"vef":{"priority":100,"iso_code":"VEF","name":"Venezuelan Bol\xedvar","symbol":"Bs","alternate_symbols":["Bs.F"],"subunit":"C\xe9ntimo","subunit_to_unit":100,"symbol_first":true,"html_entity":"","decimal_mark":",","thousands_separator":".","iso_numeric":"937","smallest_denomination":1},"vnd":{"priority":100,"iso_code":"VND","name":"Vietnamese \u0110\u1ed3ng","symbol":"\u20ab","alternate_symbols":[],"subunit":"H\xe0o","subunit_to_unit":1,"symbol_first":true,"html_entity":"₫","decimal_mark":",","thousands_separator":".","iso_numeric":"704","smallest_denomination":100},"vuv":{"priority":100,"iso_code":"VUV","name":"Vanuatu Vatu","symbol":"Vt","alternate_symbols":[],"subunit":null,"subunit_to_unit":1,"symbol_first":true,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"548","smallest_denomination":1},"wst":{"priority":100,"iso_code":"WST","name":"Samoan Tala","symbol":"T","disambiguate_symbol":"WS$","alternate_symbols":["WS$","SAT","ST"],"subunit":"Sene","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"882","smallest_denomination":10},"xaf":{"priority":100,"iso_code":"XAF","name":"Central African Cfa Franc","symbol":"Fr","disambiguate_symbol":"FCFA","alternate_symbols":["FCFA"],"subunit":"Centime","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"950","smallest_denomination":100},"xag":{"priority":100,"iso_code":"XAG","name":"Silver (Troy Ounce)","symbol":"oz t","disambiguate_symbol":"XAG","alternate_symbols":[],"subunit":"oz","subunit_to_unit":1,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"961"},"xau":{"priority":100,"iso_code":"XAU","name":"Gold (Troy Ounce)","symbol":"oz t","disambiguate_symbol":"XAU","alternate_symbols":[],"subunit":"oz","subunit_to_unit":1,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"959"},"xcd":{"priority":100,"iso_code":"XCD","name":"East Caribbean Dollar","symbol":"$","disambiguate_symbol":"EX$","alternate_symbols":["EC$"],"subunit":"Cent","subunit_to_unit":100,"symbol_first":true,"html_entity":"$","decimal_mark":".","thousands_separator":",","iso_numeric":"951","smallest_denomination":1},"xdr":{"priority":100,"iso_code":"XDR","name":"Special Drawing Rights","symbol":"SDR","alternate_symbols":["XDR"],"subunit":"","subunit_to_unit":1,"symbol_first":false,"html_entity":"$","decimal_mark":".","thousands_separator":",","iso_numeric":"960"},"xof":{"priority":100,"iso_code":"XOF","name":"West African Cfa Franc","symbol":"Fr","disambiguate_symbol":"CFA","alternate_symbols":["CFA"],"subunit":"Centime","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"952","smallest_denomination":100},"xpf":{"priority":100,"iso_code":"XPF","name":"Cfp Franc","symbol":"Fr","alternate_symbols":["F"],"subunit":"Centime","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"953","smallest_denomination":100},"yer":{"priority":100,"iso_code":"YER","name":"Yemeni Rial","symbol":"\ufdfc","alternate_symbols":[],"subunit":"Fils","subunit_to_unit":100,"symbol_first":false,"html_entity":"﷼","decimal_mark":".","thousands_separator":",","iso_numeric":"886","smallest_denomination":100},"zar":{"priority":100,"iso_code":"ZAR","name":"South African Rand","symbol":"R","alternate_symbols":[],"subunit":"Cent","subunit_to_unit":100,"symbol_first":true,"html_entity":"R","decimal_mark":".","thousands_separator":",","iso_numeric":"710","smallest_denomination":10},"zmk":{"priority":100,"iso_code":"ZMK","name":"Zambian Kwacha","symbol":"ZK","disambiguate_symbol":"ZMK","alternate_symbols":[],"subunit":"Ngwee","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"894","smallest_denomination":5},"zmw":{"priority":100,"iso_code":"ZMW","name":"Zambian Kwacha","symbol":"ZK","disambiguate_symbol":"ZMW","alternate_symbols":[],"subunit":"Ngwee","subunit_to_unit":100,"symbol_first":false,"html_entity":"","decimal_mark":".","thousands_separator":",","iso_numeric":"967","smallest_denomination":5}}')
|
|
},
|
|
9909: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var lowerCase = __webpack_require__(11895);
|
|
module.exports = function(str, locale) {
|
|
return null == str ? "" : (str = String(str), lowerCase(str.charAt(0), locale) + str.substr(1))
|
|
}
|
|
},
|
|
10115: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _bluebird = _interopRequireDefault(__webpack_require__(262)),
|
|
_Instance = _interopRequireDefault(__webpack_require__(76352));
|
|
_bluebird.default.config({
|
|
warnings: !1,
|
|
cancellation: !0
|
|
});
|
|
class Vim {
|
|
constructor(data, defaultOptions) {
|
|
this.data = data, this.defaultOptions = defaultOptions, this.lastInst = null
|
|
}
|
|
run(inputData, nativeActionHandler, options = {}) {
|
|
const cancellable = options.cancellable || !1;
|
|
let mainInt;
|
|
return new _bluebird.default(async (resolve, reject) => {
|
|
try {
|
|
const mergedOptions = {
|
|
...this.defaultOptions,
|
|
...options
|
|
};
|
|
if (mainInt = new _Instance.default(this.data, mergedOptions, resolve, reject, inputData, nativeActionHandler), this.lastInst = mainInt, cancellable) {
|
|
await mainInt.runAsync() || resolve()
|
|
} else mainInt.run() || resolve()
|
|
} catch (e) {
|
|
clearTimeout(this.lastInst && this.lastInst.timeoutRef), reject(e)
|
|
}
|
|
}).then(() => {
|
|
if (cancellable && mainInt.cancelled) throw new Error("cancelled");
|
|
return mainInt.pseudoToNative(mainInt.value)
|
|
})
|
|
}
|
|
cancel() {
|
|
this.lastInst && !this.lastInst.cancelled && this.lastInst.cancel()
|
|
}
|
|
runAstOnLastUsedInstance(ast, inputData, nativeActionHandler, options = {}) {
|
|
if (!this.lastInst) throw new Error("This function may only be called after calling run()");
|
|
this.lastInst.appendAst(ast), this.lastInst.nativeActionHandler = nativeActionHandler, this.lastInst.timeoutStore = [], this.lastInst.setInputData(inputData), options.timeout && (this.lastInst.timeout = options.timeout), options.maxMarshalDepth && (this.lastInst.maxMarshalDepth = options.maxMarshalDepth);
|
|
const runFn = options.cancellable ? this.lastInst.runAsync : this.lastInst.run;
|
|
return new _bluebird.default(async (res, rej) => {
|
|
this.lastInst.resolve = res, this.lastInst.reject = rej;
|
|
try {
|
|
await runFn.call(this.lastInst) || res()
|
|
} catch (e) {
|
|
rej(e)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
exports.default = Vim, "undefined" != typeof window && (window.Vim = Vim), module.exports = exports.default
|
|
},
|
|
10379: function(__unused_webpack_module, exports, __webpack_require__) {
|
|
"use strict";
|
|
var extendStatics, __extends = this && this.__extends || (extendStatics = function(d, b) {
|
|
return extendStatics = Object.setPrototypeOf || {
|
|
__proto__: []
|
|
}
|
|
instanceof Array && function(d, b) {
|
|
d.__proto__ = b
|
|
} || function(d, b) {
|
|
for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p])
|
|
}, extendStatics(d, b)
|
|
}, function(d, b) {
|
|
if ("function" != typeof b && null !== b) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
|
|
function __() {
|
|
this.constructor = d
|
|
}
|
|
extendStatics(d, b), d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __)
|
|
}),
|
|
__assign = this && this.__assign || function() {
|
|
return __assign = Object.assign || function(t) {
|
|
for (var s, i = 1, n = arguments.length; i < n; i++)
|
|
for (var p in s = arguments[i]) Object.prototype.hasOwnProperty.call(s, p) && (t[p] = s[p]);
|
|
return t
|
|
}, __assign.apply(this, arguments)
|
|
};
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.cloneNode = exports.hasChildren = exports.isDocument = exports.isDirective = exports.isComment = exports.isText = exports.isCDATA = exports.isTag = exports.Element = exports.Document = exports.NodeWithChildren = exports.ProcessingInstruction = exports.Comment = exports.Text = exports.DataNode = exports.Node = void 0;
|
|
var domelementtype_1 = __webpack_require__(60903),
|
|
nodeTypes = new Map([
|
|
[domelementtype_1.ElementType.Tag, 1],
|
|
[domelementtype_1.ElementType.Script, 1],
|
|
[domelementtype_1.ElementType.Style, 1],
|
|
[domelementtype_1.ElementType.Directive, 1],
|
|
[domelementtype_1.ElementType.Text, 3],
|
|
[domelementtype_1.ElementType.CDATA, 4],
|
|
[domelementtype_1.ElementType.Comment, 8],
|
|
[domelementtype_1.ElementType.Root, 9]
|
|
]),
|
|
Node = function() {
|
|
function Node(type) {
|
|
this.type = type, this.parent = null, this.prev = null, this.next = null, this.startIndex = null, this.endIndex = null
|
|
}
|
|
return Object.defineProperty(Node.prototype, "nodeType", {
|
|
get: function() {
|
|
var _a;
|
|
return null !== (_a = nodeTypes.get(this.type)) && void 0 !== _a ? _a : 1
|
|
},
|
|
enumerable: !1,
|
|
configurable: !0
|
|
}), Object.defineProperty(Node.prototype, "parentNode", {
|
|
get: function() {
|
|
return this.parent
|
|
},
|
|
set: function(parent) {
|
|
this.parent = parent
|
|
},
|
|
enumerable: !1,
|
|
configurable: !0
|
|
}), Object.defineProperty(Node.prototype, "previousSibling", {
|
|
get: function() {
|
|
return this.prev
|
|
},
|
|
set: function(prev) {
|
|
this.prev = prev
|
|
},
|
|
enumerable: !1,
|
|
configurable: !0
|
|
}), Object.defineProperty(Node.prototype, "nextSibling", {
|
|
get: function() {
|
|
return this.next
|
|
},
|
|
set: function(next) {
|
|
this.next = next
|
|
},
|
|
enumerable: !1,
|
|
configurable: !0
|
|
}), Node.prototype.cloneNode = function(recursive) {
|
|
return void 0 === recursive && (recursive = !1), cloneNode(this, recursive)
|
|
}, Node
|
|
}();
|
|
exports.Node = Node;
|
|
var DataNode = function(_super) {
|
|
function DataNode(type, data) {
|
|
var _this = _super.call(this, type) || this;
|
|
return _this.data = data, _this
|
|
}
|
|
return __extends(DataNode, _super), Object.defineProperty(DataNode.prototype, "nodeValue", {
|
|
get: function() {
|
|
return this.data
|
|
},
|
|
set: function(data) {
|
|
this.data = data
|
|
},
|
|
enumerable: !1,
|
|
configurable: !0
|
|
}), DataNode
|
|
}(Node);
|
|
exports.DataNode = DataNode;
|
|
var Text = function(_super) {
|
|
function Text(data) {
|
|
return _super.call(this, domelementtype_1.ElementType.Text, data) || this
|
|
}
|
|
return __extends(Text, _super), Text
|
|
}(DataNode);
|
|
exports.Text = Text;
|
|
var Comment = function(_super) {
|
|
function Comment(data) {
|
|
return _super.call(this, domelementtype_1.ElementType.Comment, data) || this
|
|
}
|
|
return __extends(Comment, _super), Comment
|
|
}(DataNode);
|
|
exports.Comment = Comment;
|
|
var ProcessingInstruction = function(_super) {
|
|
function ProcessingInstruction(name, data) {
|
|
var _this = _super.call(this, domelementtype_1.ElementType.Directive, data) || this;
|
|
return _this.name = name, _this
|
|
}
|
|
return __extends(ProcessingInstruction, _super), ProcessingInstruction
|
|
}(DataNode);
|
|
exports.ProcessingInstruction = ProcessingInstruction;
|
|
var NodeWithChildren = function(_super) {
|
|
function NodeWithChildren(type, children) {
|
|
var _this = _super.call(this, type) || this;
|
|
return _this.children = children, _this
|
|
}
|
|
return __extends(NodeWithChildren, _super), Object.defineProperty(NodeWithChildren.prototype, "firstChild", {
|
|
get: function() {
|
|
var _a;
|
|
return null !== (_a = this.children[0]) && void 0 !== _a ? _a : null
|
|
},
|
|
enumerable: !1,
|
|
configurable: !0
|
|
}), Object.defineProperty(NodeWithChildren.prototype, "lastChild", {
|
|
get: function() {
|
|
return this.children.length > 0 ? this.children[this.children.length - 1] : null
|
|
},
|
|
enumerable: !1,
|
|
configurable: !0
|
|
}), Object.defineProperty(NodeWithChildren.prototype, "childNodes", {
|
|
get: function() {
|
|
return this.children
|
|
},
|
|
set: function(children) {
|
|
this.children = children
|
|
},
|
|
enumerable: !1,
|
|
configurable: !0
|
|
}), NodeWithChildren
|
|
}(Node);
|
|
exports.NodeWithChildren = NodeWithChildren;
|
|
var Document = function(_super) {
|
|
function Document(children) {
|
|
return _super.call(this, domelementtype_1.ElementType.Root, children) || this
|
|
}
|
|
return __extends(Document, _super), Document
|
|
}(NodeWithChildren);
|
|
exports.Document = Document;
|
|
var Element = function(_super) {
|
|
function Element(name, attribs, children, type) {
|
|
void 0 === children && (children = []), void 0 === type && (type = "script" === name ? domelementtype_1.ElementType.Script : "style" === name ? domelementtype_1.ElementType.Style : domelementtype_1.ElementType.Tag);
|
|
var _this = _super.call(this, type, children) || this;
|
|
return _this.name = name, _this.attribs = attribs, _this
|
|
}
|
|
return __extends(Element, _super), Object.defineProperty(Element.prototype, "tagName", {
|
|
get: function() {
|
|
return this.name
|
|
},
|
|
set: function(name) {
|
|
this.name = name
|
|
},
|
|
enumerable: !1,
|
|
configurable: !0
|
|
}), Object.defineProperty(Element.prototype, "attributes", {
|
|
get: function() {
|
|
var _this = this;
|
|
return Object.keys(this.attribs).map(function(name) {
|
|
var _a, _b;
|
|
return {
|
|
name,
|
|
value: _this.attribs[name],
|
|
namespace: null === (_a = _this["x-attribsNamespace"]) || void 0 === _a ? void 0 : _a[name],
|
|
prefix: null === (_b = _this["x-attribsPrefix"]) || void 0 === _b ? void 0 : _b[name]
|
|
}
|
|
})
|
|
},
|
|
enumerable: !1,
|
|
configurable: !0
|
|
}), Element
|
|
}(NodeWithChildren);
|
|
|
|
function isTag(node) {
|
|
return (0, domelementtype_1.isTag)(node)
|
|
}
|
|
|
|
function isCDATA(node) {
|
|
return node.type === domelementtype_1.ElementType.CDATA
|
|
}
|
|
|
|
function isText(node) {
|
|
return node.type === domelementtype_1.ElementType.Text
|
|
}
|
|
|
|
function isComment(node) {
|
|
return node.type === domelementtype_1.ElementType.Comment
|
|
}
|
|
|
|
function isDirective(node) {
|
|
return node.type === domelementtype_1.ElementType.Directive
|
|
}
|
|
|
|
function isDocument(node) {
|
|
return node.type === domelementtype_1.ElementType.Root
|
|
}
|
|
|
|
function cloneNode(node, recursive) {
|
|
var result;
|
|
if (void 0 === recursive && (recursive = !1), isText(node)) result = new Text(node.data);
|
|
else if (isComment(node)) result = new Comment(node.data);
|
|
else if (isTag(node)) {
|
|
var children = recursive ? cloneChildren(node.children) : [],
|
|
clone_1 = new Element(node.name, __assign({}, node.attribs), children);
|
|
children.forEach(function(child) {
|
|
return child.parent = clone_1
|
|
}), null != node.namespace && (clone_1.namespace = node.namespace), node["x-attribsNamespace"] && (clone_1["x-attribsNamespace"] = __assign({}, node["x-attribsNamespace"])), node["x-attribsPrefix"] && (clone_1["x-attribsPrefix"] = __assign({}, node["x-attribsPrefix"])), result = clone_1
|
|
} else if (isCDATA(node)) {
|
|
children = recursive ? cloneChildren(node.children) : [];
|
|
var clone_2 = new NodeWithChildren(domelementtype_1.ElementType.CDATA, children);
|
|
children.forEach(function(child) {
|
|
return child.parent = clone_2
|
|
}), result = clone_2
|
|
} else if (isDocument(node)) {
|
|
children = recursive ? cloneChildren(node.children) : [];
|
|
var clone_3 = new Document(children);
|
|
children.forEach(function(child) {
|
|
return child.parent = clone_3
|
|
}), node["x-mode"] && (clone_3["x-mode"] = node["x-mode"]), result = clone_3
|
|
} else {
|
|
if (!isDirective(node)) throw new Error("Not implemented yet: ".concat(node.type));
|
|
var instruction = new ProcessingInstruction(node.name, node.data);
|
|
null != node["x-name"] && (instruction["x-name"] = node["x-name"], instruction["x-publicId"] = node["x-publicId"], instruction["x-systemId"] = node["x-systemId"]), result = instruction
|
|
}
|
|
return result.startIndex = node.startIndex, result.endIndex = node.endIndex, null != node.sourceCodeLocation && (result.sourceCodeLocation = node.sourceCodeLocation), result
|
|
}
|
|
|
|
function cloneChildren(childs) {
|
|
for (var children = childs.map(function(child) {
|
|
return cloneNode(child, !0)
|
|
}), i = 1; i < children.length; i++) children[i].prev = children[i - 1], children[i - 1].next = children[i];
|
|
return children
|
|
}
|
|
exports.Element = Element, exports.isTag = isTag, exports.isCDATA = isCDATA, exports.isText = isText, exports.isComment = isComment, exports.isDirective = isDirective, exports.isDocument = isDocument, exports.hasChildren = function(node) {
|
|
return Object.prototype.hasOwnProperty.call(node, "children")
|
|
}, exports.cloneNode = cloneNode
|
|
},
|
|
10608: function(module, exports, __webpack_require__) {
|
|
var CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), function() {
|
|
var C = CryptoJS,
|
|
WordArray = C.lib.WordArray;
|
|
|
|
function parseLoop(base64Str, base64StrLength, reverseMap) {
|
|
for (var words = [], nBytes = 0, i = 0; i < base64StrLength; i++)
|
|
if (i % 4) {
|
|
var bitsCombined = reverseMap[base64Str.charCodeAt(i - 1)] << i % 4 * 2 | reverseMap[base64Str.charCodeAt(i)] >>> 6 - i % 4 * 2;
|
|
words[nBytes >>> 2] |= bitsCombined << 24 - nBytes % 4 * 8, nBytes++
|
|
} return WordArray.create(words, nBytes)
|
|
}
|
|
C.enc.Base64 = {
|
|
stringify: function(wordArray) {
|
|
var words = wordArray.words,
|
|
sigBytes = wordArray.sigBytes,
|
|
map = this._map;
|
|
wordArray.clamp();
|
|
for (var base64Chars = [], i = 0; i < sigBytes; i += 3)
|
|
for (var triplet = (words[i >>> 2] >>> 24 - i % 4 * 8 & 255) << 16 | (words[i + 1 >>> 2] >>> 24 - (i + 1) % 4 * 8 & 255) << 8 | words[i + 2 >>> 2] >>> 24 - (i + 2) % 4 * 8 & 255, j = 0; j < 4 && i + .75 * j < sigBytes; j++) base64Chars.push(map.charAt(triplet >>> 6 * (3 - j) & 63));
|
|
var paddingChar = map.charAt(64);
|
|
if (paddingChar)
|
|
for (; base64Chars.length % 4;) base64Chars.push(paddingChar);
|
|
return base64Chars.join("")
|
|
},
|
|
parse: function(base64Str) {
|
|
var base64StrLength = base64Str.length,
|
|
map = this._map,
|
|
reverseMap = this._reverseMap;
|
|
if (!reverseMap) {
|
|
reverseMap = this._reverseMap = [];
|
|
for (var j = 0; j < map.length; j++) reverseMap[map.charCodeAt(j)] = j
|
|
}
|
|
var paddingChar = map.charAt(64);
|
|
if (paddingChar) {
|
|
var paddingIndex = base64Str.indexOf(paddingChar); - 1 !== paddingIndex && (base64StrLength = paddingIndex)
|
|
}
|
|
return parseLoop(base64Str, base64StrLength, reverseMap)
|
|
},
|
|
_map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
|
|
}
|
|
}(), CryptoJS.enc.Base64)
|
|
},
|
|
10861: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
let Node = __webpack_require__(834);
|
|
class Comment extends Node {
|
|
constructor(defaults) {
|
|
super(defaults), this.type = "comment"
|
|
}
|
|
}
|
|
module.exports = Comment, Comment.default = Comment
|
|
},
|
|
10901: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912)),
|
|
_helpers = _interopRequireDefault(__webpack_require__(16065));
|
|
exports.default = new _dac.default({
|
|
description: "Fitflop DAC",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "7656802436461448895",
|
|
name: "Fitflop"
|
|
}],
|
|
doDac: async function(code, selector, priceAmt, applyBestCode) {
|
|
const API_URL = "https://www.fitflop.com/us/en/cart/coupon";
|
|
let price = priceAmt;
|
|
return function(res) {
|
|
try {
|
|
price = res.cart.subtotal
|
|
} catch (e) {}
|
|
Number(_legacyHoneyUtils.default.cleanPrice(price)) < priceAmt && (0, _jquery.default)(".cart-order-summary__total-value").text(price)
|
|
}(await async function() {
|
|
const res = _jquery.default.ajax({
|
|
url: API_URL,
|
|
type: "POST",
|
|
data: {
|
|
couponCode: code
|
|
}
|
|
});
|
|
return await res.done(_data => {
|
|
_logger.default.debug("Finishing coupon application")
|
|
}), res
|
|
}()), !0 === applyBestCode ? (window.location = window.location.href, await (0, _helpers.default)(2e3)) : await async function() {
|
|
const res = _jquery.default.ajax({
|
|
url: API_URL + "?couponCode=" + code,
|
|
type: "DELETE",
|
|
data: {
|
|
couponCode: code
|
|
}
|
|
});
|
|
await res.done(_data => {
|
|
_logger.default.debug("Finishing removing code")
|
|
})
|
|
}(), Number(_legacyHoneyUtils.default.cleanPrice(price))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
11123: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
const state = this.stateStack[this.stateStack.length - 1];
|
|
"DoWhileStatement" === state.node.type && void 0 === state.test && (state.value = this.TRUE, state.test_ = !0);
|
|
state.test_ ? state.value.toBoolean() ? state.node.body && (state.test_ = !1, state.isLoop = !0, this.stateStack.push({
|
|
node: state.node.body
|
|
})) : this.stateStack.pop() : (state.test_ = !0, this.stateStack.push({
|
|
node: state.node.test
|
|
}))
|
|
}, module.exports = exports.default
|
|
},
|
|
11188: function(module, __unused_webpack_exports, __webpack_require__) {
|
|
module.exports = function(e) {
|
|
"use strict";
|
|
|
|
function n(e) {
|
|
return e && "object" == typeof e && "default" in e ? e : {
|
|
default: e
|
|
}
|
|
}
|
|
var t = n(e),
|
|
a = {
|
|
s: "ein paar Sekunden",
|
|
m: ["eine Minute", "einer Minute"],
|
|
mm: "%d Minuten",
|
|
h: ["eine Stunde", "einer Stunde"],
|
|
hh: "%d Stunden",
|
|
d: ["ein Tag", "einem Tag"],
|
|
dd: ["%d Tage", "%d Tagen"],
|
|
M: ["ein Monat", "einem Monat"],
|
|
MM: ["%d Monate", "%d Monaten"],
|
|
y: ["ein Jahr", "einem Jahr"],
|
|
yy: ["%d Jahre", "%d Jahren"]
|
|
};
|
|
|
|
function i(e, n, t) {
|
|
var i = a[t];
|
|
return Array.isArray(i) && (i = i[n ? 0 : 1]), i.replace("%d", e)
|
|
}
|
|
var r = {
|
|
name: "de",
|
|
weekdays: "Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),
|
|
weekdaysShort: "So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),
|
|
weekdaysMin: "So_Mo_Di_Mi_Do_Fr_Sa".split("_"),
|
|
months: "Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),
|
|
monthsShort: "Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sept._Okt._Nov._Dez.".split("_"),
|
|
ordinal: function(e) {
|
|
return e + "."
|
|
},
|
|
weekStart: 1,
|
|
yearStart: 4,
|
|
formats: {
|
|
LTS: "HH:mm:ss",
|
|
LT: "HH:mm",
|
|
L: "DD.MM.YYYY",
|
|
LL: "D. MMMM YYYY",
|
|
LLL: "D. MMMM YYYY HH:mm",
|
|
LLLL: "dddd, D. MMMM YYYY HH:mm"
|
|
},
|
|
relativeTime: {
|
|
future: "in %s",
|
|
past: "vor %s",
|
|
s: i,
|
|
m: i,
|
|
mm: i,
|
|
h: i,
|
|
hh: i,
|
|
d: i,
|
|
dd: i,
|
|
M: i,
|
|
MM: i,
|
|
y: i,
|
|
yy: i
|
|
}
|
|
};
|
|
return t.default.locale(r, null, !0), r
|
|
}(__webpack_require__(86531))
|
|
},
|
|
11355: function(__unused_webpack_module, exports, __webpack_require__) {
|
|
"use strict";
|
|
var __assign = this && this.__assign || function() {
|
|
return __assign = Object.assign || function(t) {
|
|
for (var s, i = 1, n = arguments.length; i < n; i++)
|
|
for (var p in s = arguments[i]) Object.prototype.hasOwnProperty.call(s, p) && (t[p] = s[p]);
|
|
return t
|
|
}, __assign.apply(this, arguments)
|
|
},
|
|
__createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
void 0 === k2 && (k2 = k);
|
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
desc && !("get" in desc ? !m.__esModule : desc.writable || desc.configurable) || (desc = {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return m[k]
|
|
}
|
|
}), Object.defineProperty(o, k2, desc)
|
|
} : function(o, m, k, k2) {
|
|
void 0 === k2 && (k2 = k), o[k2] = m[k]
|
|
}),
|
|
__setModuleDefault = this && this.__setModuleDefault || (Object.create ? function(o, v) {
|
|
Object.defineProperty(o, "default", {
|
|
enumerable: !0,
|
|
value: v
|
|
})
|
|
} : function(o, v) {
|
|
o.default = v
|
|
}),
|
|
__importStar = this && this.__importStar || function(mod) {
|
|
if (mod && mod.__esModule) return mod;
|
|
var result = {};
|
|
if (null != mod)
|
|
for (var k in mod) "default" !== k && Object.prototype.hasOwnProperty.call(mod, k) && __createBinding(result, mod, k);
|
|
return __setModuleDefault(result, mod), result
|
|
},
|
|
__spreadArray = this && this.__spreadArray || function(to, from, pack) {
|
|
if (pack || 2 === arguments.length)
|
|
for (var ar, i = 0, l = from.length; i < l; i++) !ar && i in from || (ar || (ar = Array.prototype.slice.call(from, 0, i)), ar[i] = from[i]);
|
|
return to.concat(ar || Array.prototype.slice.call(from))
|
|
};
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.select = exports.filter = exports.some = exports.is = exports.aliases = exports.pseudos = exports.filters = void 0;
|
|
var css_what_1 = __webpack_require__(89825),
|
|
css_select_1 = __webpack_require__(12169),
|
|
DomUtils = __importStar(__webpack_require__(91010)),
|
|
helpers_1 = __webpack_require__(24362),
|
|
positionals_1 = __webpack_require__(76380),
|
|
css_select_2 = __webpack_require__(12169);
|
|
Object.defineProperty(exports, "filters", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return css_select_2.filters
|
|
}
|
|
}), Object.defineProperty(exports, "pseudos", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return css_select_2.pseudos
|
|
}
|
|
}), Object.defineProperty(exports, "aliases", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return css_select_2.aliases
|
|
}
|
|
});
|
|
var SCOPE_PSEUDO = {
|
|
type: css_what_1.SelectorType.Pseudo,
|
|
name: "scope",
|
|
data: null
|
|
},
|
|
CUSTOM_SCOPE_PSEUDO = __assign({}, SCOPE_PSEUDO),
|
|
UNIVERSAL_SELECTOR = {
|
|
type: css_what_1.SelectorType.Universal,
|
|
namespace: null
|
|
};
|
|
|
|
function some(elements, selector, options) {
|
|
if (void 0 === options && (options = {}), "function" == typeof selector) return elements.some(selector);
|
|
var _a = (0, helpers_1.groupSelectors)((0, css_what_1.parse)(selector)),
|
|
plain = _a[0],
|
|
filtered = _a[1];
|
|
return plain.length > 0 && elements.some((0, css_select_1._compileToken)(plain, options)) || filtered.some(function(sel) {
|
|
return filterBySelector(sel, elements, options).length > 0
|
|
})
|
|
}
|
|
|
|
function filterParsed(selector, elements, options) {
|
|
if (0 === elements.length) return [];
|
|
var found, _a = (0, helpers_1.groupSelectors)(selector),
|
|
plainSelectors = _a[0],
|
|
filteredSelectors = _a[1];
|
|
if (plainSelectors.length) {
|
|
var filtered = filterElements(elements, plainSelectors, options);
|
|
if (0 === filteredSelectors.length) return filtered;
|
|
filtered.length && (found = new Set(filtered))
|
|
}
|
|
for (var i = 0; i < filteredSelectors.length && (null == found ? void 0 : found.size) !== elements.length; i++) {
|
|
var filteredSelector = filteredSelectors[i];
|
|
if (0 === (found ? elements.filter(function(e) {
|
|
return DomUtils.isTag(e) && !found.has(e)
|
|
}) : elements).length) break;
|
|
if ((filtered = filterBySelector(filteredSelector, elements, options)).length)
|
|
if (found) filtered.forEach(function(el) {
|
|
return found.add(el)
|
|
});
|
|
else {
|
|
if (i === filteredSelectors.length - 1) return filtered;
|
|
found = new Set(filtered)
|
|
}
|
|
}
|
|
return void 0 !== found ? found.size === elements.length ? elements : elements.filter(function(el) {
|
|
return found.has(el)
|
|
}) : []
|
|
}
|
|
|
|
function filterBySelector(selector, elements, options) {
|
|
var _a;
|
|
return selector.some(css_what_1.isTraversal) ? findFilterElements(null !== (_a = options.root) && void 0 !== _a ? _a : (0, helpers_1.getDocumentRoot)(elements[0]), __spreadArray(__spreadArray([], selector, !0), [CUSTOM_SCOPE_PSEUDO], !1), options, !0, elements) : findFilterElements(elements, selector, options, !1)
|
|
}
|
|
exports.is = function(element, selector, options) {
|
|
return void 0 === options && (options = {}), some([element], selector, options)
|
|
}, exports.some = some, exports.filter = function(selector, elements, options) {
|
|
return void 0 === options && (options = {}), filterParsed((0, css_what_1.parse)(selector), elements, options)
|
|
}, exports.select = function(selector, root, options) {
|
|
if (void 0 === options && (options = {}), "function" == typeof selector) return find(root, selector);
|
|
var _a = (0, helpers_1.groupSelectors)((0, css_what_1.parse)(selector)),
|
|
plain = _a[0],
|
|
results = _a[1].map(function(sel) {
|
|
return findFilterElements(root, sel, options, !0)
|
|
});
|
|
return plain.length && results.push(findElements(root, plain, options, 1 / 0)), 0 === results.length ? [] : 1 === results.length ? results[0] : DomUtils.uniqueSort(results.reduce(function(a, b) {
|
|
return __spreadArray(__spreadArray([], a, !0), b, !0)
|
|
}))
|
|
};
|
|
var specialTraversal = new Set([css_what_1.SelectorType.Descendant, css_what_1.SelectorType.Adjacent]);
|
|
|
|
function includesScopePseudo(t) {
|
|
return t !== SCOPE_PSEUDO && "pseudo" === t.type && ("scope" === t.name || Array.isArray(t.data) && t.data.some(function(data) {
|
|
return data.some(includesScopePseudo)
|
|
}))
|
|
}
|
|
|
|
function addContextIfScope(selector, options, scopeContext) {
|
|
return scopeContext && selector.some(includesScopePseudo) ? __assign(__assign({}, options), {
|
|
context: scopeContext
|
|
}) : options
|
|
}
|
|
|
|
function findFilterElements(root, selector, options, queryForSelector, scopeContext) {
|
|
var filterIndex = selector.findIndex(positionals_1.isFilter),
|
|
sub = selector.slice(0, filterIndex),
|
|
filter = selector[filterIndex],
|
|
limit = (0, positionals_1.getLimit)(filter.name, filter.data);
|
|
if (0 === limit) return [];
|
|
var subOpts = addContextIfScope(sub, options, scopeContext),
|
|
elems = (0 !== sub.length || Array.isArray(root) ? 0 === sub.length || 1 === sub.length && sub[0] === SCOPE_PSEUDO ? (Array.isArray(root) ? root : [root]).filter(DomUtils.isTag) : queryForSelector || sub.some(css_what_1.isTraversal) ? findElements(root, [sub], subOpts, limit) : filterElements(root, [sub], subOpts) : DomUtils.getChildren(root).filter(DomUtils.isTag)).slice(0, limit),
|
|
result = function(filter, elems, data, options) {
|
|
var num = "string" == typeof data ? parseInt(data, 10) : NaN;
|
|
switch (filter) {
|
|
case "first":
|
|
case "lt":
|
|
return elems;
|
|
case "last":
|
|
return elems.length > 0 ? [elems[elems.length - 1]] : elems;
|
|
case "nth":
|
|
case "eq":
|
|
return isFinite(num) && Math.abs(num) < elems.length ? [num < 0 ? elems[elems.length + num] : elems[num]] : [];
|
|
case "gt":
|
|
return isFinite(num) ? elems.slice(num + 1) : [];
|
|
case "even":
|
|
return elems.filter(function(_, i) {
|
|
return i % 2 == 0
|
|
});
|
|
case "odd":
|
|
return elems.filter(function(_, i) {
|
|
return i % 2 == 1
|
|
});
|
|
case "not":
|
|
var filtered_1 = new Set(filterParsed(data, elems, options));
|
|
return elems.filter(function(e) {
|
|
return !filtered_1.has(e)
|
|
})
|
|
}
|
|
}(filter.name, elems, filter.data, options);
|
|
if (0 === result.length || selector.length === filterIndex + 1) return result;
|
|
var remainingSelector = selector.slice(filterIndex + 1),
|
|
remainingHasTraversal = remainingSelector.some(css_what_1.isTraversal),
|
|
remainingOpts = addContextIfScope(remainingSelector, options, scopeContext);
|
|
return remainingHasTraversal && (specialTraversal.has(remainingSelector[0].type) && remainingSelector.unshift(UNIVERSAL_SELECTOR), remainingSelector.unshift(SCOPE_PSEUDO)), remainingSelector.some(positionals_1.isFilter) ? findFilterElements(result, remainingSelector, options, !1, scopeContext) : remainingHasTraversal ? findElements(result, [remainingSelector], remainingOpts, 1 / 0) : filterElements(result, [remainingSelector], remainingOpts)
|
|
}
|
|
|
|
function findElements(root, sel, options, limit) {
|
|
return 0 === limit ? [] : find(root, (0, css_select_1._compileToken)(sel, options, root), limit)
|
|
}
|
|
|
|
function find(root, query, limit) {
|
|
void 0 === limit && (limit = 1 / 0);
|
|
var elems = (0, css_select_1.prepareContext)(root, DomUtils, query.shouldTestNextSiblings);
|
|
return DomUtils.find(function(node) {
|
|
return DomUtils.isTag(node) && query(node)
|
|
}, elems, !0, limit)
|
|
}
|
|
|
|
function filterElements(elements, sel, options) {
|
|
var els = (Array.isArray(elements) ? elements : [elements]).filter(DomUtils.isTag);
|
|
if (0 === els.length) return els;
|
|
var query = (0, css_select_1._compileToken)(sel, options);
|
|
return els.filter(query)
|
|
}
|
|
},
|
|
11363: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var upperCase = __webpack_require__(96817);
|
|
module.exports = function(str, locale) {
|
|
return null == str ? "" : (str = String(str), upperCase(str.charAt(0), locale) + str.substr(1))
|
|
}
|
|
},
|
|
11569: module => {
|
|
"use strict";
|
|
module.exports = function clone(obj) {
|
|
if (null === obj || "object" != typeof obj) return obj;
|
|
var res = void 0;
|
|
for (var i in res = Array.isArray(obj) ? [] : {}, obj) res[i] = clone(obj[i]);
|
|
return res
|
|
}
|
|
},
|
|
11627: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912)),
|
|
_helpers = _interopRequireDefault(__webpack_require__(16065));
|
|
exports.default = new _dac.default({
|
|
description: "Vimeo acorn dac",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "7404403048437537041",
|
|
name: "Vimeo"
|
|
}],
|
|
doDac: async function(code, selector, priceAmt, applyBestCode) {
|
|
let price = priceAmt;
|
|
return function(RES) {
|
|
try {
|
|
price = RES.formatted_total
|
|
} catch (_) {}
|
|
Number(_legacyHoneyUtils.default.cleanPrice(price)) < priceAmt && (0, _jquery.default)(selector).text(price)
|
|
}(await async function() {
|
|
let xsrft = "";
|
|
try {
|
|
xsrft = (0, _jquery.default)("script").text().match('"xsrft":"([^,]*)"')[1]
|
|
} catch (e) {}
|
|
const data = JSON.stringify({
|
|
action: "promo_code",
|
|
promo_code: code,
|
|
token: xsrft
|
|
}),
|
|
res = _jquery.default.ajax({
|
|
url: window.location.href + "?json=1",
|
|
type: "post",
|
|
headers: {
|
|
"content-type": "application/json"
|
|
},
|
|
data
|
|
});
|
|
return await res.done(_data => {
|
|
_logger.default.debug("Finishing code application")
|
|
}), res
|
|
}()), !0 === applyBestCode && ((0, _jquery.default)("#add_promo_link").click(), await (0, _helpers.default)(800), (0, _jquery.default)('#promo_code_input, #add_promo_link, span:contains("Promo:")').val(code), await (0, _helpers.default)(300), (0, _jquery.default)("try {const field = document.querySelector('#promo_code_input') field.dispatchEvent(new Event('input', { bubbles: true })); field.dispatchEvent(new Event('change'));field.dispatchEvent(new Event('keyup'));field.dispatchEvent(new Event('blur'));field.dispatchEvent(new Event('focus'));document.querySelector('#submit_promo_button').click();} catch(e) {}").click(), await (0, _helpers.default)(2e3), window.location = window.location.href), Number(_legacyHoneyUtils.default.cleanPrice(price))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
11707: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912)),
|
|
_helpers = _interopRequireDefault(__webpack_require__(16065));
|
|
exports.default = new _dac.default({
|
|
description: "American Eagle",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 10
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "9",
|
|
name: "American Eagle"
|
|
}],
|
|
doDac: async function(couponCode, selector, priceAmt, applyBestCode) {
|
|
let price = priceAmt;
|
|
return await async function() {
|
|
let res;
|
|
try {
|
|
const apiKey = JSON.parse(window.localStorage.getItem("aeotoken")).access_token;
|
|
res = await _jquery.default.ajax({
|
|
url: "https://www.ae.com/ugp-api/bag/v1/coupon",
|
|
method: "POST",
|
|
headers: {
|
|
accept: "application/json",
|
|
"accept-language": "en-US,en;q=0.9",
|
|
aelang: "en_US",
|
|
aesite: "AEO_US",
|
|
"content-type": "application/json",
|
|
"x-access-token": apiKey
|
|
},
|
|
data: JSON.stringify({
|
|
couponCode
|
|
}),
|
|
error: async function() {
|
|
_logger.default.debug("Invalid coupon")
|
|
}
|
|
})
|
|
} catch (e) {}
|
|
return _logger.default.debug("Finishing code application"), res
|
|
}() && (window.location = window.location.href, await (0, _helpers.default)(3e3), price = (0, _jquery.default)("div.qa-cart-total-value").text(), Number(_legacyHoneyUtils.default.cleanPrice(price)) < priceAmt && (0, _jquery.default)("div.qa-cart-total-value").text(price)), !0 === applyBestCode && (window.location = window.location.href, await (0, _helpers.default)(2e3)), Number(_legacyHoneyUtils.default.cleanPrice(price))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
11895: module => {
|
|
var LANGUAGES = {
|
|
tr: {
|
|
regexp: /\u0130|\u0049|\u0049\u0307/g,
|
|
map: {
|
|
\u0130: "i",
|
|
I: "\u0131",
|
|
I\u0307: "i"
|
|
}
|
|
},
|
|
az: {
|
|
regexp: /[\u0130]/g,
|
|
map: {
|
|
\u0130: "i",
|
|
I: "\u0131",
|
|
I\u0307: "i"
|
|
}
|
|
},
|
|
lt: {
|
|
regexp: /[\u0049\u004A\u012E\u00CC\u00CD\u0128]/g,
|
|
map: {
|
|
I: "i\u0307",
|
|
J: "j\u0307",
|
|
\u012e: "\u012f\u0307",
|
|
\u00cc: "i\u0307\u0300",
|
|
\u00cd: "i\u0307\u0301",
|
|
\u0128: "i\u0307\u0303"
|
|
}
|
|
}
|
|
};
|
|
module.exports = function(str, locale) {
|
|
var lang = LANGUAGES[locale];
|
|
return str = null == str ? "" : String(str), lang && (str = str.replace(lang.regexp, function(m) {
|
|
return lang.map[m]
|
|
})), str.toLowerCase()
|
|
}
|
|
},
|
|
11905: module => {
|
|
"use strict";
|
|
module.exports = function(port, protocol) {
|
|
if (protocol = protocol.split(":")[0], !(port = +port)) return !1;
|
|
switch (protocol) {
|
|
case "http":
|
|
case "ws":
|
|
return 80 !== port;
|
|
case "https":
|
|
case "wss":
|
|
return 443 !== port;
|
|
case "ftp":
|
|
return 21 !== port;
|
|
case "gopher":
|
|
return 70 !== port;
|
|
case "file":
|
|
return !1
|
|
}
|
|
return 0 !== port
|
|
}
|
|
},
|
|
11924: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.decodeXMLStrict = exports.decodeHTML5Strict = exports.decodeHTML4Strict = exports.decodeHTML5 = exports.decodeHTML4 = exports.decodeHTMLStrict = exports.decodeHTML = exports.decodeXML = exports.encodeHTML5 = exports.encodeHTML4 = exports.escapeUTF8 = exports.escape = exports.encodeNonAsciiHTML = exports.encodeHTML = exports.encodeXML = exports.encode = exports.decodeStrict = exports.decode = void 0;
|
|
var decode_1 = __webpack_require__(95024),
|
|
encode_1 = __webpack_require__(82904);
|
|
exports.decode = function(data, level) {
|
|
return (!level || level <= 0 ? decode_1.decodeXML : decode_1.decodeHTML)(data)
|
|
}, exports.decodeStrict = function(data, level) {
|
|
return (!level || level <= 0 ? decode_1.decodeXML : decode_1.decodeHTMLStrict)(data)
|
|
}, exports.encode = function(data, level) {
|
|
return (!level || level <= 0 ? encode_1.encodeXML : encode_1.encodeHTML)(data)
|
|
};
|
|
var encode_2 = __webpack_require__(82904);
|
|
Object.defineProperty(exports, "encodeXML", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return encode_2.encodeXML
|
|
}
|
|
}), Object.defineProperty(exports, "encodeHTML", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return encode_2.encodeHTML
|
|
}
|
|
}), Object.defineProperty(exports, "encodeNonAsciiHTML", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return encode_2.encodeNonAsciiHTML
|
|
}
|
|
}), Object.defineProperty(exports, "escape", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return encode_2.escape
|
|
}
|
|
}), Object.defineProperty(exports, "escapeUTF8", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return encode_2.escapeUTF8
|
|
}
|
|
}), Object.defineProperty(exports, "encodeHTML4", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return encode_2.encodeHTML
|
|
}
|
|
}), Object.defineProperty(exports, "encodeHTML5", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return encode_2.encodeHTML
|
|
}
|
|
});
|
|
var decode_2 = __webpack_require__(95024);
|
|
Object.defineProperty(exports, "decodeXML", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return decode_2.decodeXML
|
|
}
|
|
}), Object.defineProperty(exports, "decodeHTML", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return decode_2.decodeHTML
|
|
}
|
|
}), Object.defineProperty(exports, "decodeHTMLStrict", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return decode_2.decodeHTMLStrict
|
|
}
|
|
}), Object.defineProperty(exports, "decodeHTML4", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return decode_2.decodeHTML
|
|
}
|
|
}), Object.defineProperty(exports, "decodeHTML5", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return decode_2.decodeHTML
|
|
}
|
|
}), Object.defineProperty(exports, "decodeHTML4Strict", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return decode_2.decodeHTMLStrict
|
|
}
|
|
}), Object.defineProperty(exports, "decodeHTML5Strict", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return decode_2.decodeHTMLStrict
|
|
}
|
|
}), Object.defineProperty(exports, "decodeXMLStrict", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return decode_2.decodeXML
|
|
}
|
|
})
|
|
},
|
|
12146: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var reflectGetProto = __webpack_require__(8310),
|
|
originalGetProto = __webpack_require__(44502),
|
|
getDunderProto = __webpack_require__(60614);
|
|
module.exports = reflectGetProto ? function(O) {
|
|
return reflectGetProto(O)
|
|
} : originalGetProto ? function(O) {
|
|
if (!O || "object" != typeof O && "function" != typeof O) throw new TypeError("getProto: not an object");
|
|
return originalGetProto(O)
|
|
} : getDunderProto ? function(O) {
|
|
return getDunderProto(O)
|
|
} : null
|
|
},
|
|
12169: function(__unused_webpack_module, exports, __webpack_require__) {
|
|
"use strict";
|
|
var __createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
void 0 === k2 && (k2 = k);
|
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
desc && !("get" in desc ? !m.__esModule : desc.writable || desc.configurable) || (desc = {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return m[k]
|
|
}
|
|
}), Object.defineProperty(o, k2, desc)
|
|
} : function(o, m, k, k2) {
|
|
void 0 === k2 && (k2 = k), o[k2] = m[k]
|
|
}),
|
|
__setModuleDefault = this && this.__setModuleDefault || (Object.create ? function(o, v) {
|
|
Object.defineProperty(o, "default", {
|
|
enumerable: !0,
|
|
value: v
|
|
})
|
|
} : function(o, v) {
|
|
o.default = v
|
|
}),
|
|
__importStar = this && this.__importStar || function(mod) {
|
|
if (mod && mod.__esModule) return mod;
|
|
var result = {};
|
|
if (null != mod)
|
|
for (var k in mod) "default" !== k && Object.prototype.hasOwnProperty.call(mod, k) && __createBinding(result, mod, k);
|
|
return __setModuleDefault(result, mod), result
|
|
};
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.aliases = exports.pseudos = exports.filters = exports.is = exports.selectOne = exports.selectAll = exports.prepareContext = exports._compileToken = exports._compileUnsafe = exports.compile = void 0;
|
|
var DomUtils = __importStar(__webpack_require__(91010)),
|
|
boolbase_1 = __webpack_require__(84894),
|
|
compile_1 = __webpack_require__(98608),
|
|
subselects_1 = __webpack_require__(32408),
|
|
defaultEquals = function(a, b) {
|
|
return a === b
|
|
},
|
|
defaultOptions = {
|
|
adapter: DomUtils,
|
|
equals: defaultEquals
|
|
};
|
|
|
|
function convertOptionFormats(options) {
|
|
var _a, _b, _c, _d, opts = null != options ? options : defaultOptions;
|
|
return null !== (_a = opts.adapter) && void 0 !== _a || (opts.adapter = DomUtils), null !== (_b = opts.equals) && void 0 !== _b || (opts.equals = null !== (_d = null === (_c = opts.adapter) || void 0 === _c ? void 0 : _c.equals) && void 0 !== _d ? _d : defaultEquals), opts
|
|
}
|
|
|
|
function wrapCompile(func) {
|
|
return function(selector, options, context) {
|
|
var opts = convertOptionFormats(options);
|
|
return func(selector, opts, context)
|
|
}
|
|
}
|
|
|
|
function getSelectorFunc(searchFunc) {
|
|
return function(query, elements, options) {
|
|
var opts = convertOptionFormats(options);
|
|
"function" != typeof query && (query = (0, compile_1.compileUnsafe)(query, opts, elements));
|
|
var filteredElements = prepareContext(elements, opts.adapter, query.shouldTestNextSiblings);
|
|
return searchFunc(query, filteredElements, opts)
|
|
}
|
|
}
|
|
|
|
function prepareContext(elems, adapter, shouldTestNextSiblings) {
|
|
return void 0 === shouldTestNextSiblings && (shouldTestNextSiblings = !1), shouldTestNextSiblings && (elems = function(elem, adapter) {
|
|
for (var elems = Array.isArray(elem) ? elem.slice(0) : [elem], elemsLength = elems.length, i = 0; i < elemsLength; i++) {
|
|
var nextSiblings = (0, subselects_1.getNextSiblings)(elems[i], adapter);
|
|
elems.push.apply(elems, nextSiblings)
|
|
}
|
|
return elems
|
|
}(elems, adapter)), Array.isArray(elems) ? adapter.removeSubsets(elems) : adapter.getChildren(elems)
|
|
}
|
|
exports.compile = wrapCompile(compile_1.compile), exports._compileUnsafe = wrapCompile(compile_1.compileUnsafe), exports._compileToken = wrapCompile(compile_1.compileToken), exports.prepareContext = prepareContext, exports.selectAll = getSelectorFunc(function(query, elems, options) {
|
|
return query !== boolbase_1.falseFunc && elems && 0 !== elems.length ? options.adapter.findAll(query, elems) : []
|
|
}), exports.selectOne = getSelectorFunc(function(query, elems, options) {
|
|
return query !== boolbase_1.falseFunc && elems && 0 !== elems.length ? options.adapter.findOne(query, elems) : null
|
|
}), exports.is = function(elem, query, options) {
|
|
var opts = convertOptionFormats(options);
|
|
return ("function" == typeof query ? query : (0, compile_1.compile)(query, opts))(elem)
|
|
}, exports.default = exports.selectAll;
|
|
var pseudo_selectors_1 = __webpack_require__(60547);
|
|
Object.defineProperty(exports, "filters", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return pseudo_selectors_1.filters
|
|
}
|
|
}), Object.defineProperty(exports, "pseudos", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return pseudo_selectors_1.pseudos
|
|
}
|
|
}), Object.defineProperty(exports, "aliases", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return pseudo_selectors_1.aliases
|
|
}
|
|
})
|
|
},
|
|
12206: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "vF", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return _logger.default
|
|
}
|
|
});
|
|
var _corePlugin = _interopRequireDefault(__webpack_require__(76849)),
|
|
_coreState = _interopRequireDefault(__webpack_require__(26389)),
|
|
_corePluginAction = _interopRequireDefault(__webpack_require__(16299)),
|
|
_mixinUtils = __webpack_require__(36121),
|
|
_mixinResponses = __webpack_require__(34522),
|
|
_sharedFunctions = __webpack_require__(8627),
|
|
_dacUtils = __webpack_require__(17227),
|
|
_coreRunner = __webpack_require__(28865),
|
|
_enums = __webpack_require__(76578),
|
|
_errors = __webpack_require__(28435),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_promisedResult = _interopRequireDefault(__webpack_require__(3784)),
|
|
_nativeActionRegistry = _interopRequireDefault(__webpack_require__(28591))
|
|
},
|
|
12275: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
const Preprocessor = __webpack_require__(5712),
|
|
unicode = __webpack_require__(27020),
|
|
neTree = __webpack_require__(30373),
|
|
ERR = __webpack_require__(13934),
|
|
$ = unicode.CODE_POINTS,
|
|
$$ = unicode.CODE_POINT_SEQUENCES,
|
|
C1_CONTROLS_REFERENCE_REPLACEMENTS = {
|
|
128: 8364,
|
|
130: 8218,
|
|
131: 402,
|
|
132: 8222,
|
|
133: 8230,
|
|
134: 8224,
|
|
135: 8225,
|
|
136: 710,
|
|
137: 8240,
|
|
138: 352,
|
|
139: 8249,
|
|
140: 338,
|
|
142: 381,
|
|
145: 8216,
|
|
146: 8217,
|
|
147: 8220,
|
|
148: 8221,
|
|
149: 8226,
|
|
150: 8211,
|
|
151: 8212,
|
|
152: 732,
|
|
153: 8482,
|
|
154: 353,
|
|
155: 8250,
|
|
156: 339,
|
|
158: 382,
|
|
159: 376
|
|
},
|
|
DATA_STATE = "DATA_STATE",
|
|
RCDATA_STATE = "RCDATA_STATE",
|
|
RAWTEXT_STATE = "RAWTEXT_STATE",
|
|
SCRIPT_DATA_STATE = "SCRIPT_DATA_STATE",
|
|
PLAINTEXT_STATE = "PLAINTEXT_STATE",
|
|
TAG_OPEN_STATE = "TAG_OPEN_STATE",
|
|
END_TAG_OPEN_STATE = "END_TAG_OPEN_STATE",
|
|
TAG_NAME_STATE = "TAG_NAME_STATE",
|
|
RCDATA_LESS_THAN_SIGN_STATE = "RCDATA_LESS_THAN_SIGN_STATE",
|
|
RCDATA_END_TAG_OPEN_STATE = "RCDATA_END_TAG_OPEN_STATE",
|
|
RCDATA_END_TAG_NAME_STATE = "RCDATA_END_TAG_NAME_STATE",
|
|
RAWTEXT_LESS_THAN_SIGN_STATE = "RAWTEXT_LESS_THAN_SIGN_STATE",
|
|
RAWTEXT_END_TAG_OPEN_STATE = "RAWTEXT_END_TAG_OPEN_STATE",
|
|
RAWTEXT_END_TAG_NAME_STATE = "RAWTEXT_END_TAG_NAME_STATE",
|
|
SCRIPT_DATA_LESS_THAN_SIGN_STATE = "SCRIPT_DATA_LESS_THAN_SIGN_STATE",
|
|
SCRIPT_DATA_END_TAG_OPEN_STATE = "SCRIPT_DATA_END_TAG_OPEN_STATE",
|
|
SCRIPT_DATA_END_TAG_NAME_STATE = "SCRIPT_DATA_END_TAG_NAME_STATE",
|
|
SCRIPT_DATA_ESCAPE_START_STATE = "SCRIPT_DATA_ESCAPE_START_STATE",
|
|
SCRIPT_DATA_ESCAPE_START_DASH_STATE = "SCRIPT_DATA_ESCAPE_START_DASH_STATE",
|
|
SCRIPT_DATA_ESCAPED_STATE = "SCRIPT_DATA_ESCAPED_STATE",
|
|
SCRIPT_DATA_ESCAPED_DASH_STATE = "SCRIPT_DATA_ESCAPED_DASH_STATE",
|
|
SCRIPT_DATA_ESCAPED_DASH_DASH_STATE = "SCRIPT_DATA_ESCAPED_DASH_DASH_STATE",
|
|
SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE = "SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE",
|
|
SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE = "SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE",
|
|
SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE = "SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE",
|
|
SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE = "SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE",
|
|
SCRIPT_DATA_DOUBLE_ESCAPED_STATE = "SCRIPT_DATA_DOUBLE_ESCAPED_STATE",
|
|
SCRIPT_DATA_DOUBLE_ESCAPED_DASH_STATE = "SCRIPT_DATA_DOUBLE_ESCAPED_DASH_STATE",
|
|
SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH_STATE = "SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH_STATE",
|
|
SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE = "SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE",
|
|
SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE = "SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE",
|
|
BEFORE_ATTRIBUTE_NAME_STATE = "BEFORE_ATTRIBUTE_NAME_STATE",
|
|
ATTRIBUTE_NAME_STATE = "ATTRIBUTE_NAME_STATE",
|
|
AFTER_ATTRIBUTE_NAME_STATE = "AFTER_ATTRIBUTE_NAME_STATE",
|
|
BEFORE_ATTRIBUTE_VALUE_STATE = "BEFORE_ATTRIBUTE_VALUE_STATE",
|
|
ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE = "ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE",
|
|
ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE = "ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE",
|
|
ATTRIBUTE_VALUE_UNQUOTED_STATE = "ATTRIBUTE_VALUE_UNQUOTED_STATE",
|
|
AFTER_ATTRIBUTE_VALUE_QUOTED_STATE = "AFTER_ATTRIBUTE_VALUE_QUOTED_STATE",
|
|
SELF_CLOSING_START_TAG_STATE = "SELF_CLOSING_START_TAG_STATE",
|
|
BOGUS_COMMENT_STATE = "BOGUS_COMMENT_STATE",
|
|
MARKUP_DECLARATION_OPEN_STATE = "MARKUP_DECLARATION_OPEN_STATE",
|
|
COMMENT_START_STATE = "COMMENT_START_STATE",
|
|
COMMENT_START_DASH_STATE = "COMMENT_START_DASH_STATE",
|
|
COMMENT_STATE = "COMMENT_STATE",
|
|
COMMENT_LESS_THAN_SIGN_STATE = "COMMENT_LESS_THAN_SIGN_STATE",
|
|
COMMENT_LESS_THAN_SIGN_BANG_STATE = "COMMENT_LESS_THAN_SIGN_BANG_STATE",
|
|
COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE = "COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE",
|
|
COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE = "COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE",
|
|
COMMENT_END_DASH_STATE = "COMMENT_END_DASH_STATE",
|
|
COMMENT_END_STATE = "COMMENT_END_STATE",
|
|
COMMENT_END_BANG_STATE = "COMMENT_END_BANG_STATE",
|
|
DOCTYPE_STATE = "DOCTYPE_STATE",
|
|
BEFORE_DOCTYPE_NAME_STATE = "BEFORE_DOCTYPE_NAME_STATE",
|
|
DOCTYPE_NAME_STATE = "DOCTYPE_NAME_STATE",
|
|
AFTER_DOCTYPE_NAME_STATE = "AFTER_DOCTYPE_NAME_STATE",
|
|
AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE = "AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE",
|
|
BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE = "BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE",
|
|
DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE = "DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE",
|
|
DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE = "DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE",
|
|
AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE = "AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE",
|
|
BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE = "BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE",
|
|
AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE = "AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE",
|
|
BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE = "BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE",
|
|
DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE = "DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE",
|
|
DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE = "DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE",
|
|
AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE = "AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE",
|
|
BOGUS_DOCTYPE_STATE = "BOGUS_DOCTYPE_STATE",
|
|
CDATA_SECTION_STATE = "CDATA_SECTION_STATE",
|
|
CDATA_SECTION_BRACKET_STATE = "CDATA_SECTION_BRACKET_STATE",
|
|
CDATA_SECTION_END_STATE = "CDATA_SECTION_END_STATE",
|
|
CHARACTER_REFERENCE_STATE = "CHARACTER_REFERENCE_STATE",
|
|
NAMED_CHARACTER_REFERENCE_STATE = "NAMED_CHARACTER_REFERENCE_STATE",
|
|
AMBIGUOUS_AMPERSAND_STATE = "AMBIGUOS_AMPERSAND_STATE",
|
|
NUMERIC_CHARACTER_REFERENCE_STATE = "NUMERIC_CHARACTER_REFERENCE_STATE",
|
|
HEXADEMICAL_CHARACTER_REFERENCE_START_STATE = "HEXADEMICAL_CHARACTER_REFERENCE_START_STATE",
|
|
DECIMAL_CHARACTER_REFERENCE_START_STATE = "DECIMAL_CHARACTER_REFERENCE_START_STATE",
|
|
HEXADEMICAL_CHARACTER_REFERENCE_STATE = "HEXADEMICAL_CHARACTER_REFERENCE_STATE",
|
|
DECIMAL_CHARACTER_REFERENCE_STATE = "DECIMAL_CHARACTER_REFERENCE_STATE",
|
|
NUMERIC_CHARACTER_REFERENCE_END_STATE = "NUMERIC_CHARACTER_REFERENCE_END_STATE";
|
|
|
|
function isWhitespace(cp) {
|
|
return cp === $.SPACE || cp === $.LINE_FEED || cp === $.TABULATION || cp === $.FORM_FEED
|
|
}
|
|
|
|
function isAsciiDigit(cp) {
|
|
return cp >= $.DIGIT_0 && cp <= $.DIGIT_9
|
|
}
|
|
|
|
function isAsciiUpper(cp) {
|
|
return cp >= $.LATIN_CAPITAL_A && cp <= $.LATIN_CAPITAL_Z
|
|
}
|
|
|
|
function isAsciiLower(cp) {
|
|
return cp >= $.LATIN_SMALL_A && cp <= $.LATIN_SMALL_Z
|
|
}
|
|
|
|
function isAsciiLetter(cp) {
|
|
return isAsciiLower(cp) || isAsciiUpper(cp)
|
|
}
|
|
|
|
function isAsciiAlphaNumeric(cp) {
|
|
return isAsciiLetter(cp) || isAsciiDigit(cp)
|
|
}
|
|
|
|
function isAsciiUpperHexDigit(cp) {
|
|
return cp >= $.LATIN_CAPITAL_A && cp <= $.LATIN_CAPITAL_F
|
|
}
|
|
|
|
function isAsciiLowerHexDigit(cp) {
|
|
return cp >= $.LATIN_SMALL_A && cp <= $.LATIN_SMALL_F
|
|
}
|
|
|
|
function toAsciiLowerCodePoint(cp) {
|
|
return cp + 32
|
|
}
|
|
|
|
function toChar(cp) {
|
|
return cp <= 65535 ? String.fromCharCode(cp) : (cp -= 65536, String.fromCharCode(cp >>> 10 & 1023 | 55296) + String.fromCharCode(56320 | 1023 & cp))
|
|
}
|
|
|
|
function toAsciiLowerChar(cp) {
|
|
return String.fromCharCode(toAsciiLowerCodePoint(cp))
|
|
}
|
|
|
|
function findNamedEntityTreeBranch(nodeIx, cp) {
|
|
const branchCount = neTree[++nodeIx];
|
|
let lo = ++nodeIx,
|
|
hi = lo + branchCount - 1;
|
|
for (; lo <= hi;) {
|
|
const mid = lo + hi >>> 1,
|
|
midCp = neTree[mid];
|
|
if (midCp < cp) lo = mid + 1;
|
|
else {
|
|
if (!(midCp > cp)) return neTree[mid + branchCount];
|
|
hi = mid - 1
|
|
}
|
|
}
|
|
return -1
|
|
}
|
|
class Tokenizer {
|
|
constructor() {
|
|
this.preprocessor = new Preprocessor, this.tokenQueue = [], this.allowCDATA = !1, this.state = DATA_STATE, this.returnState = "", this.charRefCode = -1, this.tempBuff = [], this.lastStartTagName = "", this.consumedAfterSnapshot = -1, this.active = !1, this.currentCharacterToken = null, this.currentToken = null, this.currentAttr = null
|
|
}
|
|
_err() {}
|
|
_errOnNextCodePoint(err) {
|
|
this._consume(), this._err(err), this._unconsume()
|
|
}
|
|
getNextToken() {
|
|
for (; !this.tokenQueue.length && this.active;) {
|
|
this.consumedAfterSnapshot = 0;
|
|
const cp = this._consume();
|
|
this._ensureHibernation() || this[this.state](cp)
|
|
}
|
|
return this.tokenQueue.shift()
|
|
}
|
|
write(chunk, isLastChunk) {
|
|
this.active = !0, this.preprocessor.write(chunk, isLastChunk)
|
|
}
|
|
insertHtmlAtCurrentPos(chunk) {
|
|
this.active = !0, this.preprocessor.insertHtmlAtCurrentPos(chunk)
|
|
}
|
|
_ensureHibernation() {
|
|
if (this.preprocessor.endOfChunkHit) {
|
|
for (; this.consumedAfterSnapshot > 0; this.consumedAfterSnapshot--) this.preprocessor.retreat();
|
|
return this.active = !1, this.tokenQueue.push({
|
|
type: Tokenizer.HIBERNATION_TOKEN
|
|
}), !0
|
|
}
|
|
return !1
|
|
}
|
|
_consume() {
|
|
return this.consumedAfterSnapshot++, this.preprocessor.advance()
|
|
}
|
|
_unconsume() {
|
|
this.consumedAfterSnapshot--, this.preprocessor.retreat()
|
|
}
|
|
_reconsumeInState(state) {
|
|
this.state = state, this._unconsume()
|
|
}
|
|
_consumeSequenceIfMatch(pattern, startCp, caseSensitive) {
|
|
let consumedCount = 0,
|
|
isMatch = !0;
|
|
const patternLength = pattern.length;
|
|
let patternCp, patternPos = 0,
|
|
cp = startCp;
|
|
for (; patternPos < patternLength; patternPos++) {
|
|
if (patternPos > 0 && (cp = this._consume(), consumedCount++), cp === $.EOF) {
|
|
isMatch = !1;
|
|
break
|
|
}
|
|
if (patternCp = pattern[patternPos], cp !== patternCp && (caseSensitive || cp !== toAsciiLowerCodePoint(patternCp))) {
|
|
isMatch = !1;
|
|
break
|
|
}
|
|
}
|
|
if (!isMatch)
|
|
for (; consumedCount--;) this._unconsume();
|
|
return isMatch
|
|
}
|
|
_isTempBufferEqualToScriptString() {
|
|
if (this.tempBuff.length !== $$.SCRIPT_STRING.length) return !1;
|
|
for (let i = 0; i < this.tempBuff.length; i++)
|
|
if (this.tempBuff[i] !== $$.SCRIPT_STRING[i]) return !1;
|
|
return !0
|
|
}
|
|
_createStartTagToken() {
|
|
this.currentToken = {
|
|
type: Tokenizer.START_TAG_TOKEN,
|
|
tagName: "",
|
|
selfClosing: !1,
|
|
ackSelfClosing: !1,
|
|
attrs: []
|
|
}
|
|
}
|
|
_createEndTagToken() {
|
|
this.currentToken = {
|
|
type: Tokenizer.END_TAG_TOKEN,
|
|
tagName: "",
|
|
selfClosing: !1,
|
|
attrs: []
|
|
}
|
|
}
|
|
_createCommentToken() {
|
|
this.currentToken = {
|
|
type: Tokenizer.COMMENT_TOKEN,
|
|
data: ""
|
|
}
|
|
}
|
|
_createDoctypeToken(initialName) {
|
|
this.currentToken = {
|
|
type: Tokenizer.DOCTYPE_TOKEN,
|
|
name: initialName,
|
|
forceQuirks: !1,
|
|
publicId: null,
|
|
systemId: null
|
|
}
|
|
}
|
|
_createCharacterToken(type, ch) {
|
|
this.currentCharacterToken = {
|
|
type,
|
|
chars: ch
|
|
}
|
|
}
|
|
_createEOFToken() {
|
|
this.currentToken = {
|
|
type: Tokenizer.EOF_TOKEN
|
|
}
|
|
}
|
|
_createAttr(attrNameFirstCh) {
|
|
this.currentAttr = {
|
|
name: attrNameFirstCh,
|
|
value: ""
|
|
}
|
|
}
|
|
_leaveAttrName(toState) {
|
|
null === Tokenizer.getTokenAttr(this.currentToken, this.currentAttr.name) ? this.currentToken.attrs.push(this.currentAttr) : this._err(ERR.duplicateAttribute), this.state = toState
|
|
}
|
|
_leaveAttrValue(toState) {
|
|
this.state = toState
|
|
}
|
|
_emitCurrentToken() {
|
|
this._emitCurrentCharacterToken();
|
|
const ct = this.currentToken;
|
|
this.currentToken = null, ct.type === Tokenizer.START_TAG_TOKEN ? this.lastStartTagName = ct.tagName : ct.type === Tokenizer.END_TAG_TOKEN && (ct.attrs.length > 0 && this._err(ERR.endTagWithAttributes), ct.selfClosing && this._err(ERR.endTagWithTrailingSolidus)), this.tokenQueue.push(ct)
|
|
}
|
|
_emitCurrentCharacterToken() {
|
|
this.currentCharacterToken && (this.tokenQueue.push(this.currentCharacterToken), this.currentCharacterToken = null)
|
|
}
|
|
_emitEOFToken() {
|
|
this._createEOFToken(), this._emitCurrentToken()
|
|
}
|
|
_appendCharToCurrentCharacterToken(type, ch) {
|
|
this.currentCharacterToken && this.currentCharacterToken.type !== type && this._emitCurrentCharacterToken(), this.currentCharacterToken ? this.currentCharacterToken.chars += ch : this._createCharacterToken(type, ch)
|
|
}
|
|
_emitCodePoint(cp) {
|
|
let type = Tokenizer.CHARACTER_TOKEN;
|
|
isWhitespace(cp) ? type = Tokenizer.WHITESPACE_CHARACTER_TOKEN : cp === $.NULL && (type = Tokenizer.NULL_CHARACTER_TOKEN), this._appendCharToCurrentCharacterToken(type, toChar(cp))
|
|
}
|
|
_emitSeveralCodePoints(codePoints) {
|
|
for (let i = 0; i < codePoints.length; i++) this._emitCodePoint(codePoints[i])
|
|
}
|
|
_emitChars(ch) {
|
|
this._appendCharToCurrentCharacterToken(Tokenizer.CHARACTER_TOKEN, ch)
|
|
}
|
|
_matchNamedCharacterReference(startCp) {
|
|
let result = null,
|
|
excess = 1,
|
|
i = findNamedEntityTreeBranch(0, startCp);
|
|
for (this.tempBuff.push(startCp); i > -1;) {
|
|
const current = neTree[i],
|
|
inNode = current < 7;
|
|
inNode && 1 & current && (result = 2 & current ? [neTree[++i], neTree[++i]] : [neTree[++i]], excess = 0);
|
|
const cp = this._consume();
|
|
if (this.tempBuff.push(cp), excess++, cp === $.EOF) break;
|
|
i = inNode ? 4 & current ? findNamedEntityTreeBranch(i, cp) : -1 : cp === current ? ++i : -1
|
|
}
|
|
for (; excess--;) this.tempBuff.pop(), this._unconsume();
|
|
return result
|
|
}
|
|
_isCharacterReferenceInAttribute() {
|
|
return "ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE" === this.returnState || "ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE" === this.returnState || "ATTRIBUTE_VALUE_UNQUOTED_STATE" === this.returnState
|
|
}
|
|
_isCharacterReferenceAttributeQuirk(withSemicolon) {
|
|
if (!withSemicolon && this._isCharacterReferenceInAttribute()) {
|
|
const nextCp = this._consume();
|
|
return this._unconsume(), nextCp === $.EQUALS_SIGN || isAsciiAlphaNumeric(nextCp)
|
|
}
|
|
return !1
|
|
}
|
|
_flushCodePointsConsumedAsCharacterReference() {
|
|
if (this._isCharacterReferenceInAttribute())
|
|
for (let i = 0; i < this.tempBuff.length; i++) this.currentAttr.value += toChar(this.tempBuff[i]);
|
|
else this._emitSeveralCodePoints(this.tempBuff);
|
|
this.tempBuff = []
|
|
} [DATA_STATE](cp) {
|
|
this.preprocessor.dropParsedChunk(), cp === $.LESS_THAN_SIGN ? this.state = "TAG_OPEN_STATE" : cp === $.AMPERSAND ? (this.returnState = DATA_STATE, this.state = "CHARACTER_REFERENCE_STATE") : cp === $.NULL ? (this._err(ERR.unexpectedNullCharacter), this._emitCodePoint(cp)) : cp === $.EOF ? this._emitEOFToken() : this._emitCodePoint(cp)
|
|
} [RCDATA_STATE](cp) {
|
|
this.preprocessor.dropParsedChunk(), cp === $.AMPERSAND ? (this.returnState = "RCDATA_STATE", this.state = "CHARACTER_REFERENCE_STATE") : cp === $.LESS_THAN_SIGN ? this.state = "RCDATA_LESS_THAN_SIGN_STATE" : cp === $.NULL ? (this._err(ERR.unexpectedNullCharacter), this._emitChars(unicode.REPLACEMENT_CHARACTER)) : cp === $.EOF ? this._emitEOFToken() : this._emitCodePoint(cp)
|
|
} [RAWTEXT_STATE](cp) {
|
|
this.preprocessor.dropParsedChunk(), cp === $.LESS_THAN_SIGN ? this.state = "RAWTEXT_LESS_THAN_SIGN_STATE" : cp === $.NULL ? (this._err(ERR.unexpectedNullCharacter), this._emitChars(unicode.REPLACEMENT_CHARACTER)) : cp === $.EOF ? this._emitEOFToken() : this._emitCodePoint(cp)
|
|
} [SCRIPT_DATA_STATE](cp) {
|
|
this.preprocessor.dropParsedChunk(), cp === $.LESS_THAN_SIGN ? this.state = "SCRIPT_DATA_LESS_THAN_SIGN_STATE" : cp === $.NULL ? (this._err(ERR.unexpectedNullCharacter), this._emitChars(unicode.REPLACEMENT_CHARACTER)) : cp === $.EOF ? this._emitEOFToken() : this._emitCodePoint(cp)
|
|
} [PLAINTEXT_STATE](cp) {
|
|
this.preprocessor.dropParsedChunk(), cp === $.NULL ? (this._err(ERR.unexpectedNullCharacter), this._emitChars(unicode.REPLACEMENT_CHARACTER)) : cp === $.EOF ? this._emitEOFToken() : this._emitCodePoint(cp)
|
|
} [TAG_OPEN_STATE](cp) {
|
|
cp === $.EXCLAMATION_MARK ? this.state = "MARKUP_DECLARATION_OPEN_STATE" : cp === $.SOLIDUS ? this.state = "END_TAG_OPEN_STATE" : isAsciiLetter(cp) ? (this._createStartTagToken(), this._reconsumeInState("TAG_NAME_STATE")) : cp === $.QUESTION_MARK ? (this._err(ERR.unexpectedQuestionMarkInsteadOfTagName), this._createCommentToken(), this._reconsumeInState("BOGUS_COMMENT_STATE")) : cp === $.EOF ? (this._err(ERR.eofBeforeTagName), this._emitChars("<"), this._emitEOFToken()) : (this._err(ERR.invalidFirstCharacterOfTagName), this._emitChars("<"), this._reconsumeInState(DATA_STATE))
|
|
} [END_TAG_OPEN_STATE](cp) {
|
|
isAsciiLetter(cp) ? (this._createEndTagToken(), this._reconsumeInState("TAG_NAME_STATE")) : cp === $.GREATER_THAN_SIGN ? (this._err(ERR.missingEndTagName), this.state = DATA_STATE) : cp === $.EOF ? (this._err(ERR.eofBeforeTagName), this._emitChars("</"), this._emitEOFToken()) : (this._err(ERR.invalidFirstCharacterOfTagName), this._createCommentToken(), this._reconsumeInState("BOGUS_COMMENT_STATE"))
|
|
} [TAG_NAME_STATE](cp) {
|
|
isWhitespace(cp) ? this.state = "BEFORE_ATTRIBUTE_NAME_STATE" : cp === $.SOLIDUS ? this.state = "SELF_CLOSING_START_TAG_STATE" : cp === $.GREATER_THAN_SIGN ? (this.state = DATA_STATE, this._emitCurrentToken()) : isAsciiUpper(cp) ? this.currentToken.tagName += toAsciiLowerChar(cp) : cp === $.NULL ? (this._err(ERR.unexpectedNullCharacter), this.currentToken.tagName += unicode.REPLACEMENT_CHARACTER) : cp === $.EOF ? (this._err(ERR.eofInTag), this._emitEOFToken()) : this.currentToken.tagName += toChar(cp)
|
|
} [RCDATA_LESS_THAN_SIGN_STATE](cp) {
|
|
cp === $.SOLIDUS ? (this.tempBuff = [], this.state = "RCDATA_END_TAG_OPEN_STATE") : (this._emitChars("<"), this._reconsumeInState("RCDATA_STATE"))
|
|
} [RCDATA_END_TAG_OPEN_STATE](cp) {
|
|
isAsciiLetter(cp) ? (this._createEndTagToken(), this._reconsumeInState("RCDATA_END_TAG_NAME_STATE")) : (this._emitChars("</"), this._reconsumeInState("RCDATA_STATE"))
|
|
} [RCDATA_END_TAG_NAME_STATE](cp) {
|
|
if (isAsciiUpper(cp)) this.currentToken.tagName += toAsciiLowerChar(cp), this.tempBuff.push(cp);
|
|
else if (isAsciiLower(cp)) this.currentToken.tagName += toChar(cp), this.tempBuff.push(cp);
|
|
else {
|
|
if (this.lastStartTagName === this.currentToken.tagName) {
|
|
if (isWhitespace(cp)) return void(this.state = "BEFORE_ATTRIBUTE_NAME_STATE");
|
|
if (cp === $.SOLIDUS) return void(this.state = "SELF_CLOSING_START_TAG_STATE");
|
|
if (cp === $.GREATER_THAN_SIGN) return this.state = DATA_STATE, void this._emitCurrentToken()
|
|
}
|
|
this._emitChars("</"), this._emitSeveralCodePoints(this.tempBuff), this._reconsumeInState("RCDATA_STATE")
|
|
}
|
|
} [RAWTEXT_LESS_THAN_SIGN_STATE](cp) {
|
|
cp === $.SOLIDUS ? (this.tempBuff = [], this.state = "RAWTEXT_END_TAG_OPEN_STATE") : (this._emitChars("<"), this._reconsumeInState("RAWTEXT_STATE"))
|
|
} [RAWTEXT_END_TAG_OPEN_STATE](cp) {
|
|
isAsciiLetter(cp) ? (this._createEndTagToken(), this._reconsumeInState("RAWTEXT_END_TAG_NAME_STATE")) : (this._emitChars("</"), this._reconsumeInState("RAWTEXT_STATE"))
|
|
} [RAWTEXT_END_TAG_NAME_STATE](cp) {
|
|
if (isAsciiUpper(cp)) this.currentToken.tagName += toAsciiLowerChar(cp), this.tempBuff.push(cp);
|
|
else if (isAsciiLower(cp)) this.currentToken.tagName += toChar(cp), this.tempBuff.push(cp);
|
|
else {
|
|
if (this.lastStartTagName === this.currentToken.tagName) {
|
|
if (isWhitespace(cp)) return void(this.state = "BEFORE_ATTRIBUTE_NAME_STATE");
|
|
if (cp === $.SOLIDUS) return void(this.state = "SELF_CLOSING_START_TAG_STATE");
|
|
if (cp === $.GREATER_THAN_SIGN) return this._emitCurrentToken(), void(this.state = DATA_STATE)
|
|
}
|
|
this._emitChars("</"), this._emitSeveralCodePoints(this.tempBuff), this._reconsumeInState("RAWTEXT_STATE")
|
|
}
|
|
} [SCRIPT_DATA_LESS_THAN_SIGN_STATE](cp) {
|
|
cp === $.SOLIDUS ? (this.tempBuff = [], this.state = "SCRIPT_DATA_END_TAG_OPEN_STATE") : cp === $.EXCLAMATION_MARK ? (this.state = "SCRIPT_DATA_ESCAPE_START_STATE", this._emitChars("<!")) : (this._emitChars("<"), this._reconsumeInState("SCRIPT_DATA_STATE"))
|
|
} [SCRIPT_DATA_END_TAG_OPEN_STATE](cp) {
|
|
isAsciiLetter(cp) ? (this._createEndTagToken(), this._reconsumeInState("SCRIPT_DATA_END_TAG_NAME_STATE")) : (this._emitChars("</"), this._reconsumeInState("SCRIPT_DATA_STATE"))
|
|
} [SCRIPT_DATA_END_TAG_NAME_STATE](cp) {
|
|
if (isAsciiUpper(cp)) this.currentToken.tagName += toAsciiLowerChar(cp), this.tempBuff.push(cp);
|
|
else if (isAsciiLower(cp)) this.currentToken.tagName += toChar(cp), this.tempBuff.push(cp);
|
|
else {
|
|
if (this.lastStartTagName === this.currentToken.tagName) {
|
|
if (isWhitespace(cp)) return void(this.state = "BEFORE_ATTRIBUTE_NAME_STATE");
|
|
if (cp === $.SOLIDUS) return void(this.state = "SELF_CLOSING_START_TAG_STATE");
|
|
if (cp === $.GREATER_THAN_SIGN) return this._emitCurrentToken(), void(this.state = DATA_STATE)
|
|
}
|
|
this._emitChars("</"), this._emitSeveralCodePoints(this.tempBuff), this._reconsumeInState("SCRIPT_DATA_STATE")
|
|
}
|
|
} [SCRIPT_DATA_ESCAPE_START_STATE](cp) {
|
|
cp === $.HYPHEN_MINUS ? (this.state = "SCRIPT_DATA_ESCAPE_START_DASH_STATE", this._emitChars("-")) : this._reconsumeInState("SCRIPT_DATA_STATE")
|
|
} [SCRIPT_DATA_ESCAPE_START_DASH_STATE](cp) {
|
|
cp === $.HYPHEN_MINUS ? (this.state = "SCRIPT_DATA_ESCAPED_DASH_DASH_STATE", this._emitChars("-")) : this._reconsumeInState("SCRIPT_DATA_STATE")
|
|
} [SCRIPT_DATA_ESCAPED_STATE](cp) {
|
|
cp === $.HYPHEN_MINUS ? (this.state = "SCRIPT_DATA_ESCAPED_DASH_STATE", this._emitChars("-")) : cp === $.LESS_THAN_SIGN ? this.state = "SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE" : cp === $.NULL ? (this._err(ERR.unexpectedNullCharacter), this._emitChars(unicode.REPLACEMENT_CHARACTER)) : cp === $.EOF ? (this._err(ERR.eofInScriptHtmlCommentLikeText), this._emitEOFToken()) : this._emitCodePoint(cp)
|
|
} [SCRIPT_DATA_ESCAPED_DASH_STATE](cp) {
|
|
cp === $.HYPHEN_MINUS ? (this.state = "SCRIPT_DATA_ESCAPED_DASH_DASH_STATE", this._emitChars("-")) : cp === $.LESS_THAN_SIGN ? this.state = "SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE" : cp === $.NULL ? (this._err(ERR.unexpectedNullCharacter), this.state = "SCRIPT_DATA_ESCAPED_STATE", this._emitChars(unicode.REPLACEMENT_CHARACTER)) : cp === $.EOF ? (this._err(ERR.eofInScriptHtmlCommentLikeText), this._emitEOFToken()) : (this.state = "SCRIPT_DATA_ESCAPED_STATE", this._emitCodePoint(cp))
|
|
} [SCRIPT_DATA_ESCAPED_DASH_DASH_STATE](cp) {
|
|
cp === $.HYPHEN_MINUS ? this._emitChars("-") : cp === $.LESS_THAN_SIGN ? this.state = "SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE" : cp === $.GREATER_THAN_SIGN ? (this.state = "SCRIPT_DATA_STATE", this._emitChars(">")) : cp === $.NULL ? (this._err(ERR.unexpectedNullCharacter), this.state = "SCRIPT_DATA_ESCAPED_STATE", this._emitChars(unicode.REPLACEMENT_CHARACTER)) : cp === $.EOF ? (this._err(ERR.eofInScriptHtmlCommentLikeText), this._emitEOFToken()) : (this.state = "SCRIPT_DATA_ESCAPED_STATE", this._emitCodePoint(cp))
|
|
} [SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE](cp) {
|
|
cp === $.SOLIDUS ? (this.tempBuff = [], this.state = "SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE") : isAsciiLetter(cp) ? (this.tempBuff = [], this._emitChars("<"), this._reconsumeInState("SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE")) : (this._emitChars("<"), this._reconsumeInState("SCRIPT_DATA_ESCAPED_STATE"))
|
|
} [SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE](cp) {
|
|
isAsciiLetter(cp) ? (this._createEndTagToken(), this._reconsumeInState("SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE")) : (this._emitChars("</"), this._reconsumeInState("SCRIPT_DATA_ESCAPED_STATE"))
|
|
} [SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE](cp) {
|
|
if (isAsciiUpper(cp)) this.currentToken.tagName += toAsciiLowerChar(cp), this.tempBuff.push(cp);
|
|
else if (isAsciiLower(cp)) this.currentToken.tagName += toChar(cp), this.tempBuff.push(cp);
|
|
else {
|
|
if (this.lastStartTagName === this.currentToken.tagName) {
|
|
if (isWhitespace(cp)) return void(this.state = "BEFORE_ATTRIBUTE_NAME_STATE");
|
|
if (cp === $.SOLIDUS) return void(this.state = "SELF_CLOSING_START_TAG_STATE");
|
|
if (cp === $.GREATER_THAN_SIGN) return this._emitCurrentToken(), void(this.state = DATA_STATE)
|
|
}
|
|
this._emitChars("</"), this._emitSeveralCodePoints(this.tempBuff), this._reconsumeInState("SCRIPT_DATA_ESCAPED_STATE")
|
|
}
|
|
} [SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE](cp) {
|
|
isWhitespace(cp) || cp === $.SOLIDUS || cp === $.GREATER_THAN_SIGN ? (this.state = this._isTempBufferEqualToScriptString() ? "SCRIPT_DATA_DOUBLE_ESCAPED_STATE" : "SCRIPT_DATA_ESCAPED_STATE", this._emitCodePoint(cp)) : isAsciiUpper(cp) ? (this.tempBuff.push(toAsciiLowerCodePoint(cp)), this._emitCodePoint(cp)) : isAsciiLower(cp) ? (this.tempBuff.push(cp), this._emitCodePoint(cp)) : this._reconsumeInState("SCRIPT_DATA_ESCAPED_STATE")
|
|
} [SCRIPT_DATA_DOUBLE_ESCAPED_STATE](cp) {
|
|
cp === $.HYPHEN_MINUS ? (this.state = "SCRIPT_DATA_DOUBLE_ESCAPED_DASH_STATE", this._emitChars("-")) : cp === $.LESS_THAN_SIGN ? (this.state = "SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE", this._emitChars("<")) : cp === $.NULL ? (this._err(ERR.unexpectedNullCharacter), this._emitChars(unicode.REPLACEMENT_CHARACTER)) : cp === $.EOF ? (this._err(ERR.eofInScriptHtmlCommentLikeText), this._emitEOFToken()) : this._emitCodePoint(cp)
|
|
} [SCRIPT_DATA_DOUBLE_ESCAPED_DASH_STATE](cp) {
|
|
cp === $.HYPHEN_MINUS ? (this.state = "SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH_STATE", this._emitChars("-")) : cp === $.LESS_THAN_SIGN ? (this.state = "SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE", this._emitChars("<")) : cp === $.NULL ? (this._err(ERR.unexpectedNullCharacter), this.state = "SCRIPT_DATA_DOUBLE_ESCAPED_STATE", this._emitChars(unicode.REPLACEMENT_CHARACTER)) : cp === $.EOF ? (this._err(ERR.eofInScriptHtmlCommentLikeText), this._emitEOFToken()) : (this.state = "SCRIPT_DATA_DOUBLE_ESCAPED_STATE", this._emitCodePoint(cp))
|
|
} [SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH_STATE](cp) {
|
|
cp === $.HYPHEN_MINUS ? this._emitChars("-") : cp === $.LESS_THAN_SIGN ? (this.state = "SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE", this._emitChars("<")) : cp === $.GREATER_THAN_SIGN ? (this.state = "SCRIPT_DATA_STATE", this._emitChars(">")) : cp === $.NULL ? (this._err(ERR.unexpectedNullCharacter), this.state = "SCRIPT_DATA_DOUBLE_ESCAPED_STATE", this._emitChars(unicode.REPLACEMENT_CHARACTER)) : cp === $.EOF ? (this._err(ERR.eofInScriptHtmlCommentLikeText), this._emitEOFToken()) : (this.state = "SCRIPT_DATA_DOUBLE_ESCAPED_STATE", this._emitCodePoint(cp))
|
|
} [SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE](cp) {
|
|
cp === $.SOLIDUS ? (this.tempBuff = [], this.state = "SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE", this._emitChars("/")) : this._reconsumeInState("SCRIPT_DATA_DOUBLE_ESCAPED_STATE")
|
|
} [SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE](cp) {
|
|
isWhitespace(cp) || cp === $.SOLIDUS || cp === $.GREATER_THAN_SIGN ? (this.state = this._isTempBufferEqualToScriptString() ? "SCRIPT_DATA_ESCAPED_STATE" : "SCRIPT_DATA_DOUBLE_ESCAPED_STATE", this._emitCodePoint(cp)) : isAsciiUpper(cp) ? (this.tempBuff.push(toAsciiLowerCodePoint(cp)), this._emitCodePoint(cp)) : isAsciiLower(cp) ? (this.tempBuff.push(cp), this._emitCodePoint(cp)) : this._reconsumeInState("SCRIPT_DATA_DOUBLE_ESCAPED_STATE")
|
|
} [BEFORE_ATTRIBUTE_NAME_STATE](cp) {
|
|
isWhitespace(cp) || (cp === $.SOLIDUS || cp === $.GREATER_THAN_SIGN || cp === $.EOF ? this._reconsumeInState("AFTER_ATTRIBUTE_NAME_STATE") : cp === $.EQUALS_SIGN ? (this._err(ERR.unexpectedEqualsSignBeforeAttributeName), this._createAttr("="), this.state = "ATTRIBUTE_NAME_STATE") : (this._createAttr(""), this._reconsumeInState("ATTRIBUTE_NAME_STATE")))
|
|
} [ATTRIBUTE_NAME_STATE](cp) {
|
|
isWhitespace(cp) || cp === $.SOLIDUS || cp === $.GREATER_THAN_SIGN || cp === $.EOF ? (this._leaveAttrName("AFTER_ATTRIBUTE_NAME_STATE"), this._unconsume()) : cp === $.EQUALS_SIGN ? this._leaveAttrName("BEFORE_ATTRIBUTE_VALUE_STATE") : isAsciiUpper(cp) ? this.currentAttr.name += toAsciiLowerChar(cp) : cp === $.QUOTATION_MARK || cp === $.APOSTROPHE || cp === $.LESS_THAN_SIGN ? (this._err(ERR.unexpectedCharacterInAttributeName), this.currentAttr.name += toChar(cp)) : cp === $.NULL ? (this._err(ERR.unexpectedNullCharacter), this.currentAttr.name += unicode.REPLACEMENT_CHARACTER) : this.currentAttr.name += toChar(cp)
|
|
} [AFTER_ATTRIBUTE_NAME_STATE](cp) {
|
|
isWhitespace(cp) || (cp === $.SOLIDUS ? this.state = "SELF_CLOSING_START_TAG_STATE" : cp === $.EQUALS_SIGN ? this.state = "BEFORE_ATTRIBUTE_VALUE_STATE" : cp === $.GREATER_THAN_SIGN ? (this.state = DATA_STATE, this._emitCurrentToken()) : cp === $.EOF ? (this._err(ERR.eofInTag), this._emitEOFToken()) : (this._createAttr(""), this._reconsumeInState("ATTRIBUTE_NAME_STATE")))
|
|
} [BEFORE_ATTRIBUTE_VALUE_STATE](cp) {
|
|
isWhitespace(cp) || (cp === $.QUOTATION_MARK ? this.state = "ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE" : cp === $.APOSTROPHE ? this.state = "ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE" : cp === $.GREATER_THAN_SIGN ? (this._err(ERR.missingAttributeValue), this.state = DATA_STATE, this._emitCurrentToken()) : this._reconsumeInState("ATTRIBUTE_VALUE_UNQUOTED_STATE"))
|
|
} [ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE](cp) {
|
|
cp === $.QUOTATION_MARK ? this.state = "AFTER_ATTRIBUTE_VALUE_QUOTED_STATE" : cp === $.AMPERSAND ? (this.returnState = "ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE", this.state = "CHARACTER_REFERENCE_STATE") : cp === $.NULL ? (this._err(ERR.unexpectedNullCharacter), this.currentAttr.value += unicode.REPLACEMENT_CHARACTER) : cp === $.EOF ? (this._err(ERR.eofInTag), this._emitEOFToken()) : this.currentAttr.value += toChar(cp)
|
|
} [ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE](cp) {
|
|
cp === $.APOSTROPHE ? this.state = "AFTER_ATTRIBUTE_VALUE_QUOTED_STATE" : cp === $.AMPERSAND ? (this.returnState = "ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE", this.state = "CHARACTER_REFERENCE_STATE") : cp === $.NULL ? (this._err(ERR.unexpectedNullCharacter), this.currentAttr.value += unicode.REPLACEMENT_CHARACTER) : cp === $.EOF ? (this._err(ERR.eofInTag), this._emitEOFToken()) : this.currentAttr.value += toChar(cp)
|
|
} [ATTRIBUTE_VALUE_UNQUOTED_STATE](cp) {
|
|
isWhitespace(cp) ? this._leaveAttrValue("BEFORE_ATTRIBUTE_NAME_STATE") : cp === $.AMPERSAND ? (this.returnState = "ATTRIBUTE_VALUE_UNQUOTED_STATE", this.state = "CHARACTER_REFERENCE_STATE") : cp === $.GREATER_THAN_SIGN ? (this._leaveAttrValue(DATA_STATE), this._emitCurrentToken()) : cp === $.NULL ? (this._err(ERR.unexpectedNullCharacter), this.currentAttr.value += unicode.REPLACEMENT_CHARACTER) : cp === $.QUOTATION_MARK || cp === $.APOSTROPHE || cp === $.LESS_THAN_SIGN || cp === $.EQUALS_SIGN || cp === $.GRAVE_ACCENT ? (this._err(ERR.unexpectedCharacterInUnquotedAttributeValue), this.currentAttr.value += toChar(cp)) : cp === $.EOF ? (this._err(ERR.eofInTag), this._emitEOFToken()) : this.currentAttr.value += toChar(cp)
|
|
} [AFTER_ATTRIBUTE_VALUE_QUOTED_STATE](cp) {
|
|
isWhitespace(cp) ? this._leaveAttrValue("BEFORE_ATTRIBUTE_NAME_STATE") : cp === $.SOLIDUS ? this._leaveAttrValue("SELF_CLOSING_START_TAG_STATE") : cp === $.GREATER_THAN_SIGN ? (this._leaveAttrValue(DATA_STATE), this._emitCurrentToken()) : cp === $.EOF ? (this._err(ERR.eofInTag), this._emitEOFToken()) : (this._err(ERR.missingWhitespaceBetweenAttributes), this._reconsumeInState("BEFORE_ATTRIBUTE_NAME_STATE"))
|
|
} [SELF_CLOSING_START_TAG_STATE](cp) {
|
|
cp === $.GREATER_THAN_SIGN ? (this.currentToken.selfClosing = !0, this.state = DATA_STATE, this._emitCurrentToken()) : cp === $.EOF ? (this._err(ERR.eofInTag), this._emitEOFToken()) : (this._err(ERR.unexpectedSolidusInTag), this._reconsumeInState("BEFORE_ATTRIBUTE_NAME_STATE"))
|
|
} [BOGUS_COMMENT_STATE](cp) {
|
|
cp === $.GREATER_THAN_SIGN ? (this.state = DATA_STATE, this._emitCurrentToken()) : cp === $.EOF ? (this._emitCurrentToken(), this._emitEOFToken()) : cp === $.NULL ? (this._err(ERR.unexpectedNullCharacter), this.currentToken.data += unicode.REPLACEMENT_CHARACTER) : this.currentToken.data += toChar(cp)
|
|
} [MARKUP_DECLARATION_OPEN_STATE](cp) {
|
|
this._consumeSequenceIfMatch($$.DASH_DASH_STRING, cp, !0) ? (this._createCommentToken(), this.state = "COMMENT_START_STATE") : this._consumeSequenceIfMatch($$.DOCTYPE_STRING, cp, !1) ? this.state = "DOCTYPE_STATE" : this._consumeSequenceIfMatch($$.CDATA_START_STRING, cp, !0) ? this.allowCDATA ? this.state = "CDATA_SECTION_STATE" : (this._err(ERR.cdataInHtmlContent), this._createCommentToken(), this.currentToken.data = "[CDATA[", this.state = "BOGUS_COMMENT_STATE") : this._ensureHibernation() || (this._err(ERR.incorrectlyOpenedComment), this._createCommentToken(), this._reconsumeInState("BOGUS_COMMENT_STATE"))
|
|
} [COMMENT_START_STATE](cp) {
|
|
cp === $.HYPHEN_MINUS ? this.state = "COMMENT_START_DASH_STATE" : cp === $.GREATER_THAN_SIGN ? (this._err(ERR.abruptClosingOfEmptyComment), this.state = DATA_STATE, this._emitCurrentToken()) : this._reconsumeInState("COMMENT_STATE")
|
|
} [COMMENT_START_DASH_STATE](cp) {
|
|
cp === $.HYPHEN_MINUS ? this.state = "COMMENT_END_STATE" : cp === $.GREATER_THAN_SIGN ? (this._err(ERR.abruptClosingOfEmptyComment), this.state = DATA_STATE, this._emitCurrentToken()) : cp === $.EOF ? (this._err(ERR.eofInComment), this._emitCurrentToken(), this._emitEOFToken()) : (this.currentToken.data += "-", this._reconsumeInState("COMMENT_STATE"))
|
|
} [COMMENT_STATE](cp) {
|
|
cp === $.HYPHEN_MINUS ? this.state = "COMMENT_END_DASH_STATE" : cp === $.LESS_THAN_SIGN ? (this.currentToken.data += "<", this.state = "COMMENT_LESS_THAN_SIGN_STATE") : cp === $.NULL ? (this._err(ERR.unexpectedNullCharacter), this.currentToken.data += unicode.REPLACEMENT_CHARACTER) : cp === $.EOF ? (this._err(ERR.eofInComment), this._emitCurrentToken(), this._emitEOFToken()) : this.currentToken.data += toChar(cp)
|
|
} [COMMENT_LESS_THAN_SIGN_STATE](cp) {
|
|
cp === $.EXCLAMATION_MARK ? (this.currentToken.data += "!", this.state = "COMMENT_LESS_THAN_SIGN_BANG_STATE") : cp === $.LESS_THAN_SIGN ? this.currentToken.data += "!" : this._reconsumeInState("COMMENT_STATE")
|
|
} [COMMENT_LESS_THAN_SIGN_BANG_STATE](cp) {
|
|
cp === $.HYPHEN_MINUS ? this.state = "COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE" : this._reconsumeInState("COMMENT_STATE")
|
|
} [COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE](cp) {
|
|
cp === $.HYPHEN_MINUS ? this.state = "COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE" : this._reconsumeInState("COMMENT_END_DASH_STATE")
|
|
} [COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE](cp) {
|
|
cp !== $.GREATER_THAN_SIGN && cp !== $.EOF && this._err(ERR.nestedComment), this._reconsumeInState("COMMENT_END_STATE")
|
|
} [COMMENT_END_DASH_STATE](cp) {
|
|
cp === $.HYPHEN_MINUS ? this.state = "COMMENT_END_STATE" : cp === $.EOF ? (this._err(ERR.eofInComment), this._emitCurrentToken(), this._emitEOFToken()) : (this.currentToken.data += "-", this._reconsumeInState("COMMENT_STATE"))
|
|
} [COMMENT_END_STATE](cp) {
|
|
cp === $.GREATER_THAN_SIGN ? (this.state = DATA_STATE, this._emitCurrentToken()) : cp === $.EXCLAMATION_MARK ? this.state = "COMMENT_END_BANG_STATE" : cp === $.HYPHEN_MINUS ? this.currentToken.data += "-" : cp === $.EOF ? (this._err(ERR.eofInComment), this._emitCurrentToken(), this._emitEOFToken()) : (this.currentToken.data += "--", this._reconsumeInState("COMMENT_STATE"))
|
|
} [COMMENT_END_BANG_STATE](cp) {
|
|
cp === $.HYPHEN_MINUS ? (this.currentToken.data += "--!", this.state = "COMMENT_END_DASH_STATE") : cp === $.GREATER_THAN_SIGN ? (this._err(ERR.incorrectlyClosedComment), this.state = DATA_STATE, this._emitCurrentToken()) : cp === $.EOF ? (this._err(ERR.eofInComment), this._emitCurrentToken(), this._emitEOFToken()) : (this.currentToken.data += "--!", this._reconsumeInState("COMMENT_STATE"))
|
|
} [DOCTYPE_STATE](cp) {
|
|
isWhitespace(cp) ? this.state = "BEFORE_DOCTYPE_NAME_STATE" : cp === $.GREATER_THAN_SIGN ? this._reconsumeInState("BEFORE_DOCTYPE_NAME_STATE") : cp === $.EOF ? (this._err(ERR.eofInDoctype), this._createDoctypeToken(null), this.currentToken.forceQuirks = !0, this._emitCurrentToken(), this._emitEOFToken()) : (this._err(ERR.missingWhitespaceBeforeDoctypeName), this._reconsumeInState("BEFORE_DOCTYPE_NAME_STATE"))
|
|
} [BEFORE_DOCTYPE_NAME_STATE](cp) {
|
|
isWhitespace(cp) || (isAsciiUpper(cp) ? (this._createDoctypeToken(toAsciiLowerChar(cp)), this.state = "DOCTYPE_NAME_STATE") : cp === $.NULL ? (this._err(ERR.unexpectedNullCharacter), this._createDoctypeToken(unicode.REPLACEMENT_CHARACTER), this.state = "DOCTYPE_NAME_STATE") : cp === $.GREATER_THAN_SIGN ? (this._err(ERR.missingDoctypeName), this._createDoctypeToken(null), this.currentToken.forceQuirks = !0, this._emitCurrentToken(), this.state = DATA_STATE) : cp === $.EOF ? (this._err(ERR.eofInDoctype), this._createDoctypeToken(null), this.currentToken.forceQuirks = !0, this._emitCurrentToken(), this._emitEOFToken()) : (this._createDoctypeToken(toChar(cp)), this.state = "DOCTYPE_NAME_STATE"))
|
|
} [DOCTYPE_NAME_STATE](cp) {
|
|
isWhitespace(cp) ? this.state = "AFTER_DOCTYPE_NAME_STATE" : cp === $.GREATER_THAN_SIGN ? (this.state = DATA_STATE, this._emitCurrentToken()) : isAsciiUpper(cp) ? this.currentToken.name += toAsciiLowerChar(cp) : cp === $.NULL ? (this._err(ERR.unexpectedNullCharacter), this.currentToken.name += unicode.REPLACEMENT_CHARACTER) : cp === $.EOF ? (this._err(ERR.eofInDoctype), this.currentToken.forceQuirks = !0, this._emitCurrentToken(), this._emitEOFToken()) : this.currentToken.name += toChar(cp)
|
|
} [AFTER_DOCTYPE_NAME_STATE](cp) {
|
|
isWhitespace(cp) || (cp === $.GREATER_THAN_SIGN ? (this.state = DATA_STATE, this._emitCurrentToken()) : cp === $.EOF ? (this._err(ERR.eofInDoctype), this.currentToken.forceQuirks = !0, this._emitCurrentToken(), this._emitEOFToken()) : this._consumeSequenceIfMatch($$.PUBLIC_STRING, cp, !1) ? this.state = "AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE" : this._consumeSequenceIfMatch($$.SYSTEM_STRING, cp, !1) ? this.state = "AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE" : this._ensureHibernation() || (this._err(ERR.invalidCharacterSequenceAfterDoctypeName), this.currentToken.forceQuirks = !0, this._reconsumeInState("BOGUS_DOCTYPE_STATE")))
|
|
} [AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE](cp) {
|
|
isWhitespace(cp) ? this.state = "BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE" : cp === $.QUOTATION_MARK ? (this._err(ERR.missingWhitespaceAfterDoctypePublicKeyword), this.currentToken.publicId = "", this.state = "DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE") : cp === $.APOSTROPHE ? (this._err(ERR.missingWhitespaceAfterDoctypePublicKeyword), this.currentToken.publicId = "", this.state = "DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE") : cp === $.GREATER_THAN_SIGN ? (this._err(ERR.missingDoctypePublicIdentifier), this.currentToken.forceQuirks = !0, this.state = DATA_STATE, this._emitCurrentToken()) : cp === $.EOF ? (this._err(ERR.eofInDoctype), this.currentToken.forceQuirks = !0, this._emitCurrentToken(), this._emitEOFToken()) : (this._err(ERR.missingQuoteBeforeDoctypePublicIdentifier), this.currentToken.forceQuirks = !0, this._reconsumeInState("BOGUS_DOCTYPE_STATE"))
|
|
} [BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE](cp) {
|
|
isWhitespace(cp) || (cp === $.QUOTATION_MARK ? (this.currentToken.publicId = "", this.state = "DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE") : cp === $.APOSTROPHE ? (this.currentToken.publicId = "", this.state = "DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE") : cp === $.GREATER_THAN_SIGN ? (this._err(ERR.missingDoctypePublicIdentifier), this.currentToken.forceQuirks = !0, this.state = DATA_STATE, this._emitCurrentToken()) : cp === $.EOF ? (this._err(ERR.eofInDoctype), this.currentToken.forceQuirks = !0, this._emitCurrentToken(), this._emitEOFToken()) : (this._err(ERR.missingQuoteBeforeDoctypePublicIdentifier), this.currentToken.forceQuirks = !0, this._reconsumeInState("BOGUS_DOCTYPE_STATE")))
|
|
} [DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE](cp) {
|
|
cp === $.QUOTATION_MARK ? this.state = "AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE" : cp === $.NULL ? (this._err(ERR.unexpectedNullCharacter), this.currentToken.publicId += unicode.REPLACEMENT_CHARACTER) : cp === $.GREATER_THAN_SIGN ? (this._err(ERR.abruptDoctypePublicIdentifier), this.currentToken.forceQuirks = !0, this._emitCurrentToken(), this.state = DATA_STATE) : cp === $.EOF ? (this._err(ERR.eofInDoctype), this.currentToken.forceQuirks = !0, this._emitCurrentToken(), this._emitEOFToken()) : this.currentToken.publicId += toChar(cp)
|
|
} [DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE](cp) {
|
|
cp === $.APOSTROPHE ? this.state = "AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE" : cp === $.NULL ? (this._err(ERR.unexpectedNullCharacter), this.currentToken.publicId += unicode.REPLACEMENT_CHARACTER) : cp === $.GREATER_THAN_SIGN ? (this._err(ERR.abruptDoctypePublicIdentifier), this.currentToken.forceQuirks = !0, this._emitCurrentToken(), this.state = DATA_STATE) : cp === $.EOF ? (this._err(ERR.eofInDoctype), this.currentToken.forceQuirks = !0, this._emitCurrentToken(), this._emitEOFToken()) : this.currentToken.publicId += toChar(cp)
|
|
} [AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE](cp) {
|
|
isWhitespace(cp) ? this.state = "BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE" : cp === $.GREATER_THAN_SIGN ? (this.state = DATA_STATE, this._emitCurrentToken()) : cp === $.QUOTATION_MARK ? (this._err(ERR.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers), this.currentToken.systemId = "", this.state = "DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE") : cp === $.APOSTROPHE ? (this._err(ERR.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers), this.currentToken.systemId = "", this.state = "DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE") : cp === $.EOF ? (this._err(ERR.eofInDoctype), this.currentToken.forceQuirks = !0, this._emitCurrentToken(), this._emitEOFToken()) : (this._err(ERR.missingQuoteBeforeDoctypeSystemIdentifier), this.currentToken.forceQuirks = !0, this._reconsumeInState("BOGUS_DOCTYPE_STATE"))
|
|
} [BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE](cp) {
|
|
isWhitespace(cp) || (cp === $.GREATER_THAN_SIGN ? (this._emitCurrentToken(), this.state = DATA_STATE) : cp === $.QUOTATION_MARK ? (this.currentToken.systemId = "", this.state = "DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE") : cp === $.APOSTROPHE ? (this.currentToken.systemId = "", this.state = "DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE") : cp === $.EOF ? (this._err(ERR.eofInDoctype), this.currentToken.forceQuirks = !0, this._emitCurrentToken(), this._emitEOFToken()) : (this._err(ERR.missingQuoteBeforeDoctypeSystemIdentifier), this.currentToken.forceQuirks = !0, this._reconsumeInState("BOGUS_DOCTYPE_STATE")))
|
|
} [AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE](cp) {
|
|
isWhitespace(cp) ? this.state = "BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE" : cp === $.QUOTATION_MARK ? (this._err(ERR.missingWhitespaceAfterDoctypeSystemKeyword), this.currentToken.systemId = "", this.state = "DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE") : cp === $.APOSTROPHE ? (this._err(ERR.missingWhitespaceAfterDoctypeSystemKeyword), this.currentToken.systemId = "", this.state = "DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE") : cp === $.GREATER_THAN_SIGN ? (this._err(ERR.missingDoctypeSystemIdentifier), this.currentToken.forceQuirks = !0, this.state = DATA_STATE, this._emitCurrentToken()) : cp === $.EOF ? (this._err(ERR.eofInDoctype), this.currentToken.forceQuirks = !0, this._emitCurrentToken(), this._emitEOFToken()) : (this._err(ERR.missingQuoteBeforeDoctypeSystemIdentifier), this.currentToken.forceQuirks = !0, this._reconsumeInState("BOGUS_DOCTYPE_STATE"))
|
|
} [BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE](cp) {
|
|
isWhitespace(cp) || (cp === $.QUOTATION_MARK ? (this.currentToken.systemId = "", this.state = "DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE") : cp === $.APOSTROPHE ? (this.currentToken.systemId = "", this.state = "DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE") : cp === $.GREATER_THAN_SIGN ? (this._err(ERR.missingDoctypeSystemIdentifier), this.currentToken.forceQuirks = !0, this.state = DATA_STATE, this._emitCurrentToken()) : cp === $.EOF ? (this._err(ERR.eofInDoctype), this.currentToken.forceQuirks = !0, this._emitCurrentToken(), this._emitEOFToken()) : (this._err(ERR.missingQuoteBeforeDoctypeSystemIdentifier), this.currentToken.forceQuirks = !0, this._reconsumeInState("BOGUS_DOCTYPE_STATE")))
|
|
} [DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE](cp) {
|
|
cp === $.QUOTATION_MARK ? this.state = "AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE" : cp === $.NULL ? (this._err(ERR.unexpectedNullCharacter), this.currentToken.systemId += unicode.REPLACEMENT_CHARACTER) : cp === $.GREATER_THAN_SIGN ? (this._err(ERR.abruptDoctypeSystemIdentifier), this.currentToken.forceQuirks = !0, this._emitCurrentToken(), this.state = DATA_STATE) : cp === $.EOF ? (this._err(ERR.eofInDoctype), this.currentToken.forceQuirks = !0, this._emitCurrentToken(), this._emitEOFToken()) : this.currentToken.systemId += toChar(cp)
|
|
} [DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE](cp) {
|
|
cp === $.APOSTROPHE ? this.state = "AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE" : cp === $.NULL ? (this._err(ERR.unexpectedNullCharacter), this.currentToken.systemId += unicode.REPLACEMENT_CHARACTER) : cp === $.GREATER_THAN_SIGN ? (this._err(ERR.abruptDoctypeSystemIdentifier), this.currentToken.forceQuirks = !0, this._emitCurrentToken(), this.state = DATA_STATE) : cp === $.EOF ? (this._err(ERR.eofInDoctype), this.currentToken.forceQuirks = !0, this._emitCurrentToken(), this._emitEOFToken()) : this.currentToken.systemId += toChar(cp)
|
|
} [AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE](cp) {
|
|
isWhitespace(cp) || (cp === $.GREATER_THAN_SIGN ? (this._emitCurrentToken(), this.state = DATA_STATE) : cp === $.EOF ? (this._err(ERR.eofInDoctype), this.currentToken.forceQuirks = !0, this._emitCurrentToken(), this._emitEOFToken()) : (this._err(ERR.unexpectedCharacterAfterDoctypeSystemIdentifier), this._reconsumeInState("BOGUS_DOCTYPE_STATE")))
|
|
} [BOGUS_DOCTYPE_STATE](cp) {
|
|
cp === $.GREATER_THAN_SIGN ? (this._emitCurrentToken(), this.state = DATA_STATE) : cp === $.NULL ? this._err(ERR.unexpectedNullCharacter) : cp === $.EOF && (this._emitCurrentToken(), this._emitEOFToken())
|
|
} [CDATA_SECTION_STATE](cp) {
|
|
cp === $.RIGHT_SQUARE_BRACKET ? this.state = "CDATA_SECTION_BRACKET_STATE" : cp === $.EOF ? (this._err(ERR.eofInCdata), this._emitEOFToken()) : this._emitCodePoint(cp)
|
|
} [CDATA_SECTION_BRACKET_STATE](cp) {
|
|
cp === $.RIGHT_SQUARE_BRACKET ? this.state = "CDATA_SECTION_END_STATE" : (this._emitChars("]"), this._reconsumeInState("CDATA_SECTION_STATE"))
|
|
} [CDATA_SECTION_END_STATE](cp) {
|
|
cp === $.GREATER_THAN_SIGN ? this.state = DATA_STATE : cp === $.RIGHT_SQUARE_BRACKET ? this._emitChars("]") : (this._emitChars("]]"), this._reconsumeInState("CDATA_SECTION_STATE"))
|
|
} [CHARACTER_REFERENCE_STATE](cp) {
|
|
this.tempBuff = [$.AMPERSAND], cp === $.NUMBER_SIGN ? (this.tempBuff.push(cp), this.state = "NUMERIC_CHARACTER_REFERENCE_STATE") : isAsciiAlphaNumeric(cp) ? this._reconsumeInState("NAMED_CHARACTER_REFERENCE_STATE") : (this._flushCodePointsConsumedAsCharacterReference(), this._reconsumeInState(this.returnState))
|
|
} [NAMED_CHARACTER_REFERENCE_STATE](cp) {
|
|
const matchResult = this._matchNamedCharacterReference(cp);
|
|
if (this._ensureHibernation()) this.tempBuff = [$.AMPERSAND];
|
|
else if (matchResult) {
|
|
const withSemicolon = this.tempBuff[this.tempBuff.length - 1] === $.SEMICOLON;
|
|
this._isCharacterReferenceAttributeQuirk(withSemicolon) || (withSemicolon || this._errOnNextCodePoint(ERR.missingSemicolonAfterCharacterReference), this.tempBuff = matchResult), this._flushCodePointsConsumedAsCharacterReference(), this.state = this.returnState
|
|
} else this._flushCodePointsConsumedAsCharacterReference(), this.state = "AMBIGUOS_AMPERSAND_STATE"
|
|
} [AMBIGUOUS_AMPERSAND_STATE](cp) {
|
|
isAsciiAlphaNumeric(cp) ? this._isCharacterReferenceInAttribute() ? this.currentAttr.value += toChar(cp) : this._emitCodePoint(cp) : (cp === $.SEMICOLON && this._err(ERR.unknownNamedCharacterReference), this._reconsumeInState(this.returnState))
|
|
} [NUMERIC_CHARACTER_REFERENCE_STATE](cp) {
|
|
this.charRefCode = 0, cp === $.LATIN_SMALL_X || cp === $.LATIN_CAPITAL_X ? (this.tempBuff.push(cp), this.state = "HEXADEMICAL_CHARACTER_REFERENCE_START_STATE") : this._reconsumeInState("DECIMAL_CHARACTER_REFERENCE_START_STATE")
|
|
} [HEXADEMICAL_CHARACTER_REFERENCE_START_STATE](cp) {
|
|
! function(cp) {
|
|
return isAsciiDigit(cp) || isAsciiUpperHexDigit(cp) || isAsciiLowerHexDigit(cp)
|
|
}(cp) ? (this._err(ERR.absenceOfDigitsInNumericCharacterReference), this._flushCodePointsConsumedAsCharacterReference(), this._reconsumeInState(this.returnState)) : this._reconsumeInState("HEXADEMICAL_CHARACTER_REFERENCE_STATE")
|
|
} [DECIMAL_CHARACTER_REFERENCE_START_STATE](cp) {
|
|
isAsciiDigit(cp) ? this._reconsumeInState("DECIMAL_CHARACTER_REFERENCE_STATE") : (this._err(ERR.absenceOfDigitsInNumericCharacterReference), this._flushCodePointsConsumedAsCharacterReference(), this._reconsumeInState(this.returnState))
|
|
} [HEXADEMICAL_CHARACTER_REFERENCE_STATE](cp) {
|
|
isAsciiUpperHexDigit(cp) ? this.charRefCode = 16 * this.charRefCode + cp - 55 : isAsciiLowerHexDigit(cp) ? this.charRefCode = 16 * this.charRefCode + cp - 87 : isAsciiDigit(cp) ? this.charRefCode = 16 * this.charRefCode + cp - 48 : cp === $.SEMICOLON ? this.state = "NUMERIC_CHARACTER_REFERENCE_END_STATE" : (this._err(ERR.missingSemicolonAfterCharacterReference), this._reconsumeInState("NUMERIC_CHARACTER_REFERENCE_END_STATE"))
|
|
} [DECIMAL_CHARACTER_REFERENCE_STATE](cp) {
|
|
isAsciiDigit(cp) ? this.charRefCode = 10 * this.charRefCode + cp - 48 : cp === $.SEMICOLON ? this.state = "NUMERIC_CHARACTER_REFERENCE_END_STATE" : (this._err(ERR.missingSemicolonAfterCharacterReference), this._reconsumeInState("NUMERIC_CHARACTER_REFERENCE_END_STATE"))
|
|
} [NUMERIC_CHARACTER_REFERENCE_END_STATE]() {
|
|
if (this.charRefCode === $.NULL) this._err(ERR.nullCharacterReference), this.charRefCode = $.REPLACEMENT_CHARACTER;
|
|
else if (this.charRefCode > 1114111) this._err(ERR.characterReferenceOutsideUnicodeRange), this.charRefCode = $.REPLACEMENT_CHARACTER;
|
|
else if (unicode.isSurrogate(this.charRefCode)) this._err(ERR.surrogateCharacterReference), this.charRefCode = $.REPLACEMENT_CHARACTER;
|
|
else if (unicode.isUndefinedCodePoint(this.charRefCode)) this._err(ERR.noncharacterCharacterReference);
|
|
else if (unicode.isControlCodePoint(this.charRefCode) || this.charRefCode === $.CARRIAGE_RETURN) {
|
|
this._err(ERR.controlCharacterReference);
|
|
const replacement = C1_CONTROLS_REFERENCE_REPLACEMENTS[this.charRefCode];
|
|
replacement && (this.charRefCode = replacement)
|
|
}
|
|
this.tempBuff = [this.charRefCode], this._flushCodePointsConsumedAsCharacterReference(), this._reconsumeInState(this.returnState)
|
|
}
|
|
}
|
|
Tokenizer.CHARACTER_TOKEN = "CHARACTER_TOKEN", Tokenizer.NULL_CHARACTER_TOKEN = "NULL_CHARACTER_TOKEN", Tokenizer.WHITESPACE_CHARACTER_TOKEN = "WHITESPACE_CHARACTER_TOKEN", Tokenizer.START_TAG_TOKEN = "START_TAG_TOKEN", Tokenizer.END_TAG_TOKEN = "END_TAG_TOKEN", Tokenizer.COMMENT_TOKEN = "COMMENT_TOKEN", Tokenizer.DOCTYPE_TOKEN = "DOCTYPE_TOKEN", Tokenizer.EOF_TOKEN = "EOF_TOKEN", Tokenizer.HIBERNATION_TOKEN = "HIBERNATION_TOKEN", Tokenizer.MODE = {
|
|
DATA: DATA_STATE,
|
|
RCDATA: "RCDATA_STATE",
|
|
RAWTEXT: "RAWTEXT_STATE",
|
|
SCRIPT_DATA: "SCRIPT_DATA_STATE",
|
|
PLAINTEXT: "PLAINTEXT_STATE"
|
|
}, Tokenizer.getTokenAttr = function(token, attrName) {
|
|
for (let i = token.attrs.length - 1; i >= 0; i--)
|
|
if (token.attrs[i].name === attrName) return token.attrs[i].value;
|
|
return null
|
|
}, module.exports = Tokenizer
|
|
},
|
|
12329: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.Cheerio = void 0;
|
|
var tslib_1 = __webpack_require__(15146),
|
|
parse_1 = tslib_1.__importDefault(__webpack_require__(68903)),
|
|
options_1 = tslib_1.__importStar(__webpack_require__(24506)),
|
|
utils_1 = __webpack_require__(91373),
|
|
Static = tslib_1.__importStar(__webpack_require__(772)),
|
|
api = [tslib_1.__importStar(__webpack_require__(30558)), tslib_1.__importStar(__webpack_require__(37678)), tslib_1.__importStar(__webpack_require__(65014)), tslib_1.__importStar(__webpack_require__(81456)), tslib_1.__importStar(__webpack_require__(55944))],
|
|
Cheerio = function() {
|
|
function Cheerio(selector, context, root, options) {
|
|
var _this = this;
|
|
if (!(this instanceof Cheerio)) return new Cheerio(selector, context, root, options);
|
|
if (this.length = 0, this.options = tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, options_1.default), this.options), options_1.flatten(options)), !selector) return this;
|
|
if (root && ("string" == typeof root && (root = parse_1.default(root, this.options, !1)), this._root = Cheerio.call(this, root)), utils_1.isCheerio(selector)) return selector;
|
|
var obj, elements = "string" == typeof selector && utils_1.isHtml(selector) ? parse_1.default(selector, this.options, !1).children : (obj = selector).name || "root" === obj.type || "text" === obj.type || "comment" === obj.type ? [selector] : Array.isArray(selector) ? selector : null;
|
|
if (elements) return elements.forEach(function(elem, idx) {
|
|
_this[idx] = elem
|
|
}), this.length = elements.length, this;
|
|
var search = selector,
|
|
searchContext = context ? "string" == typeof context ? utils_1.isHtml(context) ? new Cheerio(parse_1.default(context, this.options, !1)) : (search = context + " " + search, this._root) : utils_1.isCheerio(context) ? context : new Cheerio(context) : this._root;
|
|
return searchContext ? searchContext.find(search) : this
|
|
}
|
|
return Cheerio.prototype._make = function(dom, context, root) {
|
|
void 0 === root && (root = this._root);
|
|
var cheerio = new this.constructor(dom, context, root, this.options);
|
|
return cheerio.prevObject = this, cheerio
|
|
}, Cheerio.prototype.toArray = function() {
|
|
return this.get()
|
|
}, Cheerio.html = Static.html, Cheerio.xml = Static.xml, Cheerio.text = Static.text, Cheerio.parseHTML = Static.parseHTML, Cheerio.root = Static.root, Cheerio.contains = Static.contains, Cheerio.merge = Static.merge, Cheerio.fn = Cheerio.prototype, Cheerio
|
|
}();
|
|
exports.Cheerio = Cheerio, Cheerio.prototype.cheerio = "[cheerio object]", Cheerio.prototype.splice = Array.prototype.splice, Cheerio.prototype[Symbol.iterator] = Array.prototype[Symbol.iterator], api.forEach(function(mod) {
|
|
return Object.assign(Cheerio.prototype, mod)
|
|
}), exports.default = Cheerio
|
|
},
|
|
13145: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function({
|
|
inputSelector,
|
|
ajaxParams,
|
|
refreshPage = !1,
|
|
finalPriceSelector,
|
|
discountResPathway,
|
|
finalPriceResPathway,
|
|
removeCode = !1
|
|
}) {
|
|
const shouldRefreshPage = !0 === refreshPage || "true" === refreshPage,
|
|
shouldRemoveCode = !0 === removeCode || "true" === removeCode;
|
|
if (!ajaxParams) return Promise.resolve(new _mixinResponses.FailedMixinResponse("[customAjaxCall] -- ajaxParams was not provided"));
|
|
const element = (0, _sharedFunctions.getElement)(inputSelector);
|
|
let promoCode = "";
|
|
element && (promoCode = element.value || element.textContent || "", promoCode = promoCode.trim());
|
|
let couponsUsed = [],
|
|
couponAlreadyUsed = !1;
|
|
if (!shouldRemoveCode) {
|
|
const hiddenDiv = (0, _sharedFunctions.getElement)("#tthiddenCoupon");
|
|
if (hiddenDiv) {
|
|
couponsUsed = (hiddenDiv.textContent || "").split(",").filter(c => c.trim()), promoCode && couponsUsed.includes(promoCode) && (console.log("[customAjaxCall] -- Coupon already applied, will refresh after AJAX"), couponAlreadyUsed = !0)
|
|
}
|
|
}
|
|
const currentCoupon = promoCode;
|
|
let initialPrice = null;
|
|
const priceElement = (0, _sharedFunctions.getElement)(finalPriceSelector),
|
|
originalPriceDiv = (0, _sharedFunctions.getElement)("#ttOriginalPrice");
|
|
if (originalPriceDiv) {
|
|
const savedPrice = originalPriceDiv.textContent || "";
|
|
if (savedPrice && priceElement) {
|
|
priceElement.textContent = savedPrice;
|
|
try {
|
|
const priceMatch = savedPrice.replace(/[^\d.-]/g, "");
|
|
if (priceMatch && priceMatch.length > 0) {
|
|
const parsed = parseFloat(priceMatch);
|
|
if (Number.isNaN(parsed) || !(parsed >= 0)) return Promise.resolve(new _mixinResponses.FailedMixinResponse(`[customAjaxCall] -- Invalid saved price value: ${savedPrice}`));
|
|
initialPrice = parsed
|
|
}
|
|
} catch (err) {
|
|
return Promise.resolve(new _mixinResponses.FailedMixinResponse(`[customAjaxCall] -- Saved price parsing error: ${err.message}`))
|
|
}
|
|
}
|
|
} else if (finalPriceSelector && priceElement) {
|
|
const priceText = priceElement.value || priceElement.textContent || "";
|
|
try {
|
|
const priceMatch = priceText.replace(/[^\d.-]/g, "");
|
|
if (priceMatch && priceMatch.length > 0) {
|
|
const parsed = parseFloat(priceMatch);
|
|
if (Number.isNaN(parsed) || !(parsed >= 0)) return Promise.resolve(new _mixinResponses.FailedMixinResponse(`[customAjaxCall] -- Invalid initial price value: ${priceText}`));
|
|
if (initialPrice = parsed, "undefined" != typeof document) {
|
|
const div = document.createElement("div");
|
|
div.id = "ttOriginalPrice", div.style.display = "none", div.textContent = priceText, document.body.appendChild(div)
|
|
}
|
|
}
|
|
} catch (err) {
|
|
return Promise.resolve(new _mixinResponses.FailedMixinResponse(`[customAjaxCall] -- Initial price parsing error: ${err.message}`))
|
|
}
|
|
}
|
|
|
|
function extractValueFromPath(obj, path) {
|
|
try {
|
|
if (!path || "string" != typeof path) return {
|
|
value: void 0,
|
|
error: `Invalid path provided: ${path}`
|
|
};
|
|
if (null == obj) return {
|
|
value: void 0,
|
|
error: "Null or undefined object provided"
|
|
};
|
|
const cleanPath = path.trim();
|
|
if (!cleanPath) return {
|
|
value: void 0,
|
|
error: "Empty path provided"
|
|
};
|
|
const pathParts = cleanPath.split(".");
|
|
if (0 === pathParts.length) return {
|
|
value: void 0,
|
|
error: "Invalid path format"
|
|
};
|
|
let value = obj;
|
|
const traversedPath = [];
|
|
for (const part of pathParts) {
|
|
if (traversedPath.push(part), null == value) return {
|
|
value: void 0,
|
|
error: `Path traversal failed at '${traversedPath.join(".")}': value is null/undefined`
|
|
};
|
|
if ("object" != typeof value) return {
|
|
value: void 0,
|
|
error: `Path traversal failed at '${traversedPath.join(".")}': value is not an object`
|
|
};
|
|
if (!(part in value)) return {
|
|
value: void 0,
|
|
error: `Property '${part}' not found in object at path '${traversedPath.join(".")}'`
|
|
};
|
|
value = value[part]
|
|
}
|
|
return {
|
|
value,
|
|
error: null
|
|
}
|
|
} catch (err) {
|
|
return {
|
|
value: void 0,
|
|
error: `Unexpected error in path extraction: ${err.message}`
|
|
}
|
|
}
|
|
}
|
|
try {
|
|
let parsedParams;
|
|
if ("string" == typeof ajaxParams) try {
|
|
if (!ajaxParams.trim()) return Promise.resolve(new _mixinResponses.FailedMixinResponse("[customAjaxCall] -- ajaxParams string is empty"));
|
|
if (parsedParams = JSON.parse(ajaxParams), !parsedParams || "object" != typeof parsedParams || Array.isArray(parsedParams)) return Promise.resolve(new _mixinResponses.FailedMixinResponse("[customAjaxCall] -- ajaxParams must parse to a valid object"))
|
|
} catch (e) {
|
|
let errorMsg = "[customAjaxCall] -- Invalid JSON format in ajaxParams: ";
|
|
return e instanceof SyntaxError ? errorMsg += `JSON syntax error - ${e.message}` : "SyntaxError" === e.name ? errorMsg += `JSON parsing failed - ${e.message}` : errorMsg += `Unexpected error - ${e.message}`, Promise.resolve(new _mixinResponses.FailedMixinResponse(errorMsg))
|
|
} else {
|
|
if (!ajaxParams || "object" != typeof ajaxParams || Array.isArray(ajaxParams)) return Promise.resolve(new _mixinResponses.FailedMixinResponse("[customAjaxCall] -- ajaxParams must be a JSON string or object"));
|
|
parsedParams = ajaxParams
|
|
}
|
|
const processedParams = function replacePlaceholders(obj, promocode) {
|
|
if ("string" == typeof obj) return obj.replace(/\{promocode\}/g, promocode);
|
|
if (Array.isArray(obj)) return obj.map(item => replacePlaceholders(item, promocode));
|
|
if (obj && "object" == typeof obj) {
|
|
const result = {};
|
|
for (const [key, value] of Object.entries(obj)) result[key] = replacePlaceholders(value, promocode);
|
|
return result
|
|
}
|
|
return obj
|
|
}(parsedParams, promoCode),
|
|
ajaxOptions = {
|
|
url: processedParams.url,
|
|
type: (processedParams.method || processedParams.type || "GET").toUpperCase(),
|
|
dataType: processedParams.dataType,
|
|
headers: processedParams.headers || {}
|
|
},
|
|
dataObj = processedParams.data || {};
|
|
return ajaxOptions.url ? ajaxOptions.type ? "object" != typeof processedParams || Array.isArray(processedParams) ? Promise.resolve(new _mixinResponses.FailedMixinResponse("[customAjaxCall] -- ajaxParams must be a JSON object")) : (Object.keys(dataObj).length > 0 ? "GET" === ajaxOptions.type ? ajaxOptions.data = dataObj : (ajaxOptions.data = JSON.stringify(dataObj), ajaxOptions.headers && Object.keys(ajaxOptions.headers).some(h => "content-type" === h.toLowerCase()) || (ajaxOptions.headers = ajaxOptions.headers || {}, ajaxOptions.headers["Content-Type"] = "application/json")) : promoCode && "GET" === ajaxOptions.type && (ajaxOptions.data = {
|
|
code: promoCode
|
|
}), _jquery.default.ajax(ajaxOptions).then(async response => {
|
|
if (finalPriceSelector && (finalPriceResPathway || discountResPathway)) try {
|
|
let newPrice = null;
|
|
if (finalPriceResPathway && "" !== finalPriceResPathway.trim()) {
|
|
const {
|
|
value: finalPriceValue,
|
|
error: finalPriceError
|
|
} = extractValueFromPath(response, finalPriceResPathway);
|
|
if (finalPriceError) return new _mixinResponses.FailedMixinResponse(`[customAjaxCall] -- Final price path error: ${finalPriceError}`);
|
|
if (void 0 !== finalPriceValue) try {
|
|
if ("string" == typeof finalPriceValue) {
|
|
const cleanValue = finalPriceValue.replace(/[^\d.-]/g, "");
|
|
if (cleanValue && cleanValue.length > 0) {
|
|
const parsed = parseFloat(cleanValue);
|
|
if (Number.isNaN(parsed) || !(parsed >= 0)) return new _mixinResponses.FailedMixinResponse(`[customAjaxCall] -- Invalid final price from response: ${finalPriceValue}`);
|
|
newPrice = parsed
|
|
}
|
|
} else {
|
|
const parsed = parseFloat(finalPriceValue);
|
|
if (Number.isNaN(parsed) || !(parsed >= 0)) return new _mixinResponses.FailedMixinResponse(`[customAjaxCall] -- Invalid final price from response: ${finalPriceValue}`);
|
|
newPrice = parsed
|
|
}
|
|
} catch (err) {
|
|
return new _mixinResponses.FailedMixinResponse(`[customAjaxCall] -- Final price parsing error: ${err.message}`)
|
|
}
|
|
} else if (discountResPathway && "" !== discountResPathway.trim() && null !== initialPrice) {
|
|
const {
|
|
value: discountValue,
|
|
error: discountError
|
|
} = extractValueFromPath(response, discountResPathway);
|
|
if (discountError) return new _mixinResponses.FailedMixinResponse(`[customAjaxCall] -- Discount path error: ${discountError}`);
|
|
if (void 0 !== discountValue) try {
|
|
let discountAmount;
|
|
if ("string" == typeof discountValue) {
|
|
const cleanValue = discountValue.replace(/[^\d.-]/g, "");
|
|
cleanValue && cleanValue.length > 0 && (discountAmount = parseFloat(cleanValue))
|
|
} else discountAmount = parseFloat(discountValue);
|
|
if (Number.isNaN(discountAmount) || !(discountAmount > 0)) return new _mixinResponses.FailedMixinResponse(`[customAjaxCall] -- Invalid discount value from response: ${discountValue}`);
|
|
if (newPrice = initialPrice - discountAmount, newPrice < 0) return new _mixinResponses.FailedMixinResponse("[customAjaxCall] -- Discount larger than initial price")
|
|
} catch (err) {
|
|
return new _mixinResponses.FailedMixinResponse(`[customAjaxCall] -- Discount parsing error: ${err.message}`)
|
|
}
|
|
}
|
|
if (null !== newPrice && !Number.isNaN(newPrice) && newPrice >= 0) try {
|
|
const priceElem = (0, _sharedFunctions.getElement)(finalPriceSelector),
|
|
originalText = priceElem ? priceElem.textContent : "";
|
|
let currencySymbol = "$";
|
|
try {
|
|
const match = originalText.match(/[^\d.-]/);
|
|
match && match[0] && (currencySymbol = match[0])
|
|
} catch (symbolErr) {}
|
|
if (!Number.isFinite(newPrice)) throw new Error(`Invalid newPrice value: ${newPrice}`);
|
|
const formattedDiscountedPrice = `${currencySymbol}${newPrice.toFixed(2)}`,
|
|
discountedPriceDiv = (0, _sharedFunctions.getElement)("#ttDiscountedPrice");
|
|
if (discountedPriceDiv) discountedPriceDiv.textContent = formattedDiscountedPrice;
|
|
else if ("undefined" != typeof document) {
|
|
const div = document.createElement("div");
|
|
div.id = "ttDiscountedPrice", div.style.display = "none", div.textContent = formattedDiscountedPrice, document.body.appendChild(div)
|
|
}
|
|
await (0, _helpers.default)(2e3)
|
|
} catch (priceUpdateErr) {
|
|
return new _mixinResponses.FailedMixinResponse(`[customAjaxCall] -- Price update error: ${priceUpdateErr.message}`)
|
|
} else if (null !== newPrice) return new _mixinResponses.FailedMixinResponse(`[customAjaxCall] -- Invalid newPrice for update: ${newPrice}`)
|
|
} catch (err) {
|
|
return new _mixinResponses.FailedMixinResponse(`[customAjaxCall] -- Error updating price: ${err.message}`)
|
|
}
|
|
if (currentCoupon && response && !shouldRemoveCode) {
|
|
const hiddenCouponDiv = (0, _sharedFunctions.getElement)("#tthiddenCoupon");
|
|
if (hiddenCouponDiv) {
|
|
const existingCoupons = hiddenCouponDiv.textContent || "",
|
|
couponsArr = existingCoupons ? existingCoupons.split(",") : [];
|
|
couponsArr.includes(currentCoupon) || (couponsArr.push(currentCoupon), hiddenCouponDiv.textContent = couponsArr.join(","))
|
|
} else {
|
|
const div = document.createElement("div");
|
|
div.id = "tthiddenCoupon", div.style.display = "none", div.textContent = currentCoupon, document.body.appendChild(div)
|
|
}
|
|
}
|
|
return couponAlreadyUsed && !shouldRemoveCode ? ((0, _windowRefreshFn.default)(), await (0, _helpers.default)(2e3), new _mixinResponses.SuccessfulMixinResponse("[customAjaxCall] -- Refreshing page for previously used coupon", {
|
|
coupon: promoCode,
|
|
response
|
|
})) : (shouldRefreshPage && ((0, _windowRefreshFn.default)(), await (0, _helpers.default)(2e3)), new _mixinResponses.SuccessfulMixinResponse(`[customAjaxCall] -- AJAX call successful2345 -\n finalPriceResPathway: ${finalPriceResPathway||"null"},\n discountResPathway: ${discountResPathway||"null"},\n finalPriceSelector: ${finalPriceSelector||"null"},\n initialPrice: ${initialPrice},\n priceElementFound: ${!!(0,_sharedFunctions.getElement)(finalPriceSelector)},\n extractedFinalPrice: ${finalPriceResPathway?extractValueFromPath(response,finalPriceResPathway):"null"},\n extractedDiscount: ${discountResPathway?extractValueFromPath(response,discountResPathway):"null"}`))
|
|
}).catch(error => new _mixinResponses.FailedMixinResponse(`[customAjaxCall] -- AJAX call failed: ${error.statusText||error.message||JSON.stringify(error)}`))) : Promise.resolve(new _mixinResponses.FailedMixinResponse("[customAjaxCall] -- method is required in ajaxParams JSON")) : Promise.resolve(new _mixinResponses.FailedMixinResponse("[customAjaxCall] -- url is required in ajaxParams JSON"))
|
|
} catch (error) {
|
|
return Promise.resolve(new _mixinResponses.FailedMixinResponse(`[customAjaxCall] -- Unexpected error: ${error.message}`))
|
|
}
|
|
};
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_sharedFunctions = __webpack_require__(8627),
|
|
_mixinResponses = __webpack_require__(34522),
|
|
_helpers = _interopRequireDefault(__webpack_require__(16065)),
|
|
_windowRefreshFn = _interopRequireDefault(__webpack_require__(5200));
|
|
module.exports = exports.default
|
|
},
|
|
13330: (__unused_webpack_module, exports) => {
|
|
"use strict";
|
|
var has = Object.prototype.hasOwnProperty;
|
|
|
|
function decode(input) {
|
|
try {
|
|
return decodeURIComponent(input.replace(/\+/g, " "))
|
|
} catch (e) {
|
|
return null
|
|
}
|
|
}
|
|
|
|
function encode(input) {
|
|
try {
|
|
return encodeURIComponent(input)
|
|
} catch (e) {
|
|
return null
|
|
}
|
|
}
|
|
exports.stringify = function(obj, prefix) {
|
|
prefix = prefix || "";
|
|
var value, key, pairs = [];
|
|
for (key in "string" != typeof prefix && (prefix = "?"), obj)
|
|
if (has.call(obj, key)) {
|
|
if ((value = obj[key]) || null != value && !isNaN(value) || (value = ""), key = encode(key), value = encode(value), null === key || null === value) continue;
|
|
pairs.push(key + "=" + value)
|
|
} return pairs.length ? prefix + pairs.join("&") : ""
|
|
}, exports.parse = function(query) {
|
|
for (var part, parser = /([^=?#&]+)=?([^&]*)/g, result = {}; part = parser.exec(query);) {
|
|
var key = decode(part[1]),
|
|
value = decode(part[2]);
|
|
null === key || null === value || key in result || (result[key] = value)
|
|
}
|
|
return result
|
|
}
|
|
},
|
|
13742: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
const state = this.stateStack[this.stateStack.length - 1],
|
|
node = state.node,
|
|
n = state.n_ || 0;
|
|
node.body[n] ? (state.n_ = n + 1, this.stateStack.push({
|
|
node: node.body[n]
|
|
})) : this.stateStack.pop()
|
|
}, module.exports = exports.default
|
|
},
|
|
13914: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _dac = _interopRequireDefault(__webpack_require__(912));
|
|
exports.default = new _dac.default({
|
|
description: "dummy-store dac DAC",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "337770354871229262",
|
|
name: "dummy-store dac"
|
|
}],
|
|
doDac: async function() {
|
|
let price = state.startPrice;
|
|
! function(res) {
|
|
let parsedRes;
|
|
try {
|
|
parsedRes = JSON.parse(res)
|
|
} catch (e) {}
|
|
parsedRes && parsedRes.success && "true" === parsedRes.success && (price = parsedRes.price, honey.util.cleanPrice(price) < state.startPrice && $("#checkoutAmount").text(price))
|
|
}($.ajax({
|
|
url: "https://cdn.joinhoney.com/dummy-store/api/" + code + ".json",
|
|
type: "GET"
|
|
})), "APPLY_BEST_CODE" === state.state && (honey.util.applyCodeSel(code), wait(2e3)), resolve({
|
|
price
|
|
})
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
13934: module => {
|
|
"use strict";
|
|
module.exports = {
|
|
controlCharacterInInputStream: "control-character-in-input-stream",
|
|
noncharacterInInputStream: "noncharacter-in-input-stream",
|
|
surrogateInInputStream: "surrogate-in-input-stream",
|
|
nonVoidHtmlElementStartTagWithTrailingSolidus: "non-void-html-element-start-tag-with-trailing-solidus",
|
|
endTagWithAttributes: "end-tag-with-attributes",
|
|
endTagWithTrailingSolidus: "end-tag-with-trailing-solidus",
|
|
unexpectedSolidusInTag: "unexpected-solidus-in-tag",
|
|
unexpectedNullCharacter: "unexpected-null-character",
|
|
unexpectedQuestionMarkInsteadOfTagName: "unexpected-question-mark-instead-of-tag-name",
|
|
invalidFirstCharacterOfTagName: "invalid-first-character-of-tag-name",
|
|
unexpectedEqualsSignBeforeAttributeName: "unexpected-equals-sign-before-attribute-name",
|
|
missingEndTagName: "missing-end-tag-name",
|
|
unexpectedCharacterInAttributeName: "unexpected-character-in-attribute-name",
|
|
unknownNamedCharacterReference: "unknown-named-character-reference",
|
|
missingSemicolonAfterCharacterReference: "missing-semicolon-after-character-reference",
|
|
unexpectedCharacterAfterDoctypeSystemIdentifier: "unexpected-character-after-doctype-system-identifier",
|
|
unexpectedCharacterInUnquotedAttributeValue: "unexpected-character-in-unquoted-attribute-value",
|
|
eofBeforeTagName: "eof-before-tag-name",
|
|
eofInTag: "eof-in-tag",
|
|
missingAttributeValue: "missing-attribute-value",
|
|
missingWhitespaceBetweenAttributes: "missing-whitespace-between-attributes",
|
|
missingWhitespaceAfterDoctypePublicKeyword: "missing-whitespace-after-doctype-public-keyword",
|
|
missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers: "missing-whitespace-between-doctype-public-and-system-identifiers",
|
|
missingWhitespaceAfterDoctypeSystemKeyword: "missing-whitespace-after-doctype-system-keyword",
|
|
missingQuoteBeforeDoctypePublicIdentifier: "missing-quote-before-doctype-public-identifier",
|
|
missingQuoteBeforeDoctypeSystemIdentifier: "missing-quote-before-doctype-system-identifier",
|
|
missingDoctypePublicIdentifier: "missing-doctype-public-identifier",
|
|
missingDoctypeSystemIdentifier: "missing-doctype-system-identifier",
|
|
abruptDoctypePublicIdentifier: "abrupt-doctype-public-identifier",
|
|
abruptDoctypeSystemIdentifier: "abrupt-doctype-system-identifier",
|
|
cdataInHtmlContent: "cdata-in-html-content",
|
|
incorrectlyOpenedComment: "incorrectly-opened-comment",
|
|
eofInScriptHtmlCommentLikeText: "eof-in-script-html-comment-like-text",
|
|
eofInDoctype: "eof-in-doctype",
|
|
nestedComment: "nested-comment",
|
|
abruptClosingOfEmptyComment: "abrupt-closing-of-empty-comment",
|
|
eofInComment: "eof-in-comment",
|
|
incorrectlyClosedComment: "incorrectly-closed-comment",
|
|
eofInCdata: "eof-in-cdata",
|
|
absenceOfDigitsInNumericCharacterReference: "absence-of-digits-in-numeric-character-reference",
|
|
nullCharacterReference: "null-character-reference",
|
|
surrogateCharacterReference: "surrogate-character-reference",
|
|
characterReferenceOutsideUnicodeRange: "character-reference-outside-unicode-range",
|
|
controlCharacterReference: "control-character-reference",
|
|
noncharacterCharacterReference: "noncharacter-character-reference",
|
|
missingWhitespaceBeforeDoctypeName: "missing-whitespace-before-doctype-name",
|
|
missingDoctypeName: "missing-doctype-name",
|
|
invalidCharacterSequenceAfterDoctypeName: "invalid-character-sequence-after-doctype-name",
|
|
duplicateAttribute: "duplicate-attribute",
|
|
nonConformingDoctype: "non-conforming-doctype",
|
|
missingDoctype: "missing-doctype",
|
|
misplacedDoctype: "misplaced-doctype",
|
|
endTagWithoutMatchingOpenElement: "end-tag-without-matching-open-element",
|
|
closingOfElementWithOpenChildElements: "closing-of-element-with-open-child-elements",
|
|
disallowedContentInNoscriptInHead: "disallowed-content-in-noscript-in-head",
|
|
openElementsLeftAfterEof: "open-elements-left-after-eof",
|
|
abandonedHeadElementChild: "abandoned-head-element-child",
|
|
misplacedStartTagForHeadElement: "misplaced-start-tag-for-head-element",
|
|
nestedNoscriptInHead: "nested-noscript-in-head",
|
|
eofInElementThatCanContainOnlyText: "eof-in-element-that-can-contain-only-text"
|
|
}
|
|
},
|
|
13945: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
const heuristicAnalyzer = __webpack_require__(83407);
|
|
module.exports = [heuristicAnalyzer]
|
|
},
|
|
14042: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
const utils = __webpack_require__(7672);
|
|
|
|
function ResponseBase() {}
|
|
module.exports = ResponseBase, ResponseBase.prototype.get = function(field) {
|
|
return this.header[field.toLowerCase()]
|
|
}, ResponseBase.prototype._setHeaderProperties = function(header) {
|
|
const ct = header["content-type"] || "";
|
|
this.type = utils.type(ct);
|
|
const parameters = utils.params(ct);
|
|
for (const key in parameters) Object.prototype.hasOwnProperty.call(parameters, key) && (this[key] = parameters[key]);
|
|
this.links = {};
|
|
try {
|
|
header.link && (this.links = utils.parseLinks(header.link))
|
|
} catch (err) {}
|
|
}, ResponseBase.prototype._setStatusProperties = function(status) {
|
|
const type = Math.trunc(status / 100);
|
|
this.statusCode = status, this.status = this.statusCode, this.statusType = type, this.info = 1 === type, this.ok = 2 === type, this.redirect = 3 === type, this.clientError = 4 === type, this.serverError = 5 === type, this.error = (4 === type || 5 === type) && this.toError(), this.created = 201 === status, this.accepted = 202 === status, this.noContent = 204 === status, this.badRequest = 400 === status, this.unauthorized = 401 === status, this.notAcceptable = 406 === status, this.forbidden = 403 === status, this.notFound = 404 === status, this.unprocessableEntity = 422 === status
|
|
}
|
|
},
|
|
14242: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function(instance, scope) {
|
|
instance.setProperty(scope, "nativeAction", instance.createAsyncFunction((...args) => {
|
|
const callback = args[args.length - 1];
|
|
return _bluebird.default.try(() => {
|
|
if (args.length < 2) throw new Error("Missing native action type");
|
|
if ("function" != typeof instance.nativeActionHandler) return void callback();
|
|
const actionType = instance.pseudoToNative(args[0]);
|
|
if ("string" != typeof actionType || !actionType.trim()) throw new Error("Invalid native action type");
|
|
const actionData = args.length > 2 ? instance.pseudoToNative(args[1]) : {};
|
|
let timeLeftInTimeout;
|
|
if (instance.timeout || instance.timeoutStore.length) {
|
|
const smallestKillTime = instance.timeoutStore.reduce((agg, val) => Number.isNaN(agg) ? val : Math.min(agg, val), instance.timeout + instance.startTime);
|
|
timeLeftInTimeout = Math.max(smallestKillTime - Date.now(), 1)
|
|
}
|
|
return timeLeftInTimeout ? _bluebird.default.try(() => instance.nativeActionHandler(actionType, actionData)).timeout(timeLeftInTimeout, `native action: ${actionType} timed out`) : _bluebird.default.try(() => instance.nativeActionHandler(actionType, actionData))
|
|
}).then(res => callback(instance.nativeToPseudo(res))).catch(err => {
|
|
instance.throwException(instance.ERROR, err && err.message), callback()
|
|
}), null
|
|
}), _Instance.default.READONLY_DESCRIPTOR)
|
|
};
|
|
var _bluebird = _interopRequireDefault(__webpack_require__(262)),
|
|
_Instance = _interopRequireDefault(__webpack_require__(76352));
|
|
module.exports = exports.default
|
|
},
|
|
14496: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.closeIfFn = closeIfFn, exports.closeTryFn = closeTryFn, exports.elseFn = elseFn, exports.elseIfFn = elseIfFn, exports.ifFn = ifFn, exports.shouldDefer = function(func, variables) {
|
|
if (SLEEP_TIMER) {
|
|
const deferredAction = new _mixinResponses.DeferredAction(func, variables);
|
|
return SLEEP_QUEUE.push(deferredAction), deferredAction
|
|
}
|
|
if (WAIT_TIMER) {
|
|
const deferredAction = new _mixinResponses.DeferredAction(func, variables);
|
|
return WAIT_QUEUE.push(deferredAction), WAIT_TIMER = null, deferredAction
|
|
}
|
|
if (func === closeTryFn) return null;
|
|
if (TRY_SUCCESS) return new _mixinResponses.DeferredAction(null, null);
|
|
if (TRY_DEFER) {
|
|
const deferredAction = new _mixinResponses.DeferredAction(func, variables);
|
|
return TRY_QUEUE.push(deferredAction), deferredAction
|
|
}
|
|
if (func === ifFn) {
|
|
IF_DEFER = !0;
|
|
const deferredAction = new _mixinResponses.DeferredAction(func, variables);
|
|
return IF_QUEUE.push(deferredAction), deferredAction
|
|
}
|
|
if (func === closeIfFn) return null;
|
|
if (IF_DEFER) {
|
|
const deferredAction = new _mixinResponses.DeferredAction(func, variables);
|
|
return IF_QUEUE.push(deferredAction), deferredAction
|
|
}
|
|
return null
|
|
}, exports.sleepFn = async function({
|
|
timeout
|
|
}) {
|
|
return SLEEP_TIMER = !0, await new Promise(resolve => {
|
|
setTimeout(() => {
|
|
SLEEP_TIMER = null, async function() {
|
|
SLEEP_TIMER = null;
|
|
for (; SLEEP_QUEUE.length;) {
|
|
const deferredAction = SLEEP_QUEUE.shift();
|
|
await deferredAction.run()
|
|
}
|
|
}(), resolve()
|
|
}, timeout)
|
|
}), new _mixinResponses.SuccessfulMixinResponse(`Wait time ${timeout} milliseconds`)
|
|
}, exports.tryFn = async function() {
|
|
if (TRY_SUCCESS) return new _mixinResponses.SuccessfulMixinResponse("Try block skipped", null);
|
|
let tryBlockResponse;
|
|
TRY_DEFER && (tryBlockResponse = await closeTryFn(!0));
|
|
if (tryBlockResponse && tryBlockResponse.body) return tryBlockResponse;
|
|
return TRY_DEFER = !0, new _mixinResponses.SuccessfulMixinResponse("Try block initiated", {
|
|
name: "tryFn"
|
|
})
|
|
}, exports.waitForFn = async function({
|
|
selector,
|
|
maxWaitTime = 12e3,
|
|
mustExist = "true",
|
|
mustBeVisible = "true"
|
|
}) {
|
|
WAIT_TIMER = !0;
|
|
const startTime = Date.now(),
|
|
getTime = () => (Date.now() - startTime) / 1e3 + " seconds";
|
|
let response, element = (0, _sharedFunctions.getElement)(selector);
|
|
return await new Promise(resolve => {
|
|
checkElementStatus(element, mustExist, mustBeVisible) && (response = new _mixinResponses.SuccessfulMixinResponse("[waitFor element success]", {
|
|
selector,
|
|
maxWaitTime,
|
|
mustExist,
|
|
mustBeVisible,
|
|
totalTime: getTime()
|
|
}), resolve());
|
|
const body = (0, _sharedFunctions.getElement)("body");
|
|
let observer = null,
|
|
timer = null;
|
|
timer = setTimeout(() => {
|
|
null != observer && (observer.disconnect(), observer = null), WAIT_TIMER = null, runWaitQueue(), response = new _mixinResponses.FailedMixinResponse(`waitFor element "${selector}"\ntimeout at ${maxWaitTime}\nmustExist: ${mustExist}\nmustBeVisible: ${mustBeVisible}`), resolve()
|
|
}, maxWaitTime);
|
|
observer = new MutationObserver(() => {
|
|
element = body.querySelector(selector), checkElementStatus(element, mustExist, mustBeVisible) && (WAIT_TIMER = null, clearTimeout(timer), runWaitQueue(), resolve(resolve(new _mixinResponses.SuccessfulMixinResponse("[waitFor element success]", {
|
|
selector,
|
|
maxWaitTime,
|
|
mustExist,
|
|
mustBeVisible,
|
|
totalTime: getTime()
|
|
}))), observer.disconnect())
|
|
}), observer.observe(body, {
|
|
attributes: !0,
|
|
childList: !0,
|
|
subtree: !0
|
|
})
|
|
}), response
|
|
};
|
|
var _mixinResponses = __webpack_require__(34522),
|
|
_sharedFunctions = __webpack_require__(8627);
|
|
let TRY_DEFER = !1,
|
|
TRY_SUCCESS = !1,
|
|
TRY_QUEUE = [],
|
|
IF_DEFER = !1,
|
|
IF_QUEUE = [],
|
|
SLEEP_TIMER = null;
|
|
const SLEEP_QUEUE = [];
|
|
let WAIT_TIMER = null;
|
|
const WAIT_QUEUE = [];
|
|
async function runWaitQueue() {
|
|
for (WAIT_TIMER = null; WAIT_QUEUE.length;) {
|
|
const deferredAction = WAIT_QUEUE.shift();
|
|
await deferredAction.run()
|
|
}
|
|
}
|
|
|
|
function checkElementStatus(element, mustExist, mustBeVisible) {
|
|
const existCheck = "true" === mustExist == !!element,
|
|
visibleCheck = "true" === mustBeVisible === (element && "none" !== element.style.display);
|
|
return existCheck && visibleCheck
|
|
}
|
|
async function closeTryFn(checkSuccess = !1) {
|
|
for (TRY_SUCCESS && (TRY_QUEUE = []), TRY_DEFER = !1; TRY_QUEUE.length;) {
|
|
const deferredAction = TRY_QUEUE.shift(),
|
|
result = await deferredAction.run();
|
|
if (result && "failed" === result.status) return TRY_QUEUE = [], new _mixinResponses.SuccessfulMixinResponse("Try block failed to complete", !1);
|
|
if (result && result.body && "tryFn" === result.body.name) {
|
|
TRY_QUEUE = [];
|
|
break
|
|
}
|
|
}
|
|
return TRY_SUCCESS = !0 === checkSuccess, new _mixinResponses.SuccessfulMixinResponse(TRY_SUCCESS ? "Previous block completed: Skipping" : "Try block completed", !0)
|
|
}
|
|
async function ifFn({
|
|
selector,
|
|
not = "false"
|
|
}) {
|
|
const shouldNotExist = "true" === not || !0 === not;
|
|
return !selector || shouldNotExist && !(0, _sharedFunctions.getElement)(selector) || !shouldNotExist && (0, _sharedFunctions.getElement)(selector) ? new _mixinResponses.SuccessfulMixinResponse("If block initiated", {
|
|
name: "ifFn",
|
|
success: !0
|
|
}) : new _mixinResponses.SuccessfulMixinResponse(`If block skipped. Element ${selector} not found`, {
|
|
name: "ifFn"
|
|
})
|
|
}
|
|
async function elseIfFn({
|
|
selector,
|
|
not = "false"
|
|
}) {
|
|
return await ifFn({
|
|
selector,
|
|
not
|
|
})
|
|
}
|
|
async function elseFn() {
|
|
return await ifFn({
|
|
selector: !1
|
|
})
|
|
}
|
|
async function closeIfFn() {
|
|
let IF_SUCCESS = !1;
|
|
for (; IF_QUEUE.length;) {
|
|
const deferredAction = IF_QUEUE.shift();
|
|
let result;
|
|
const isIfFn = deferredAction.func === ifFn || deferredAction.func === elseFn || deferredAction.func === elseIfFn;
|
|
if ((!IF_SUCCESS && isIfFn || IF_SUCCESS && !isIfFn) && (result = await deferredAction.run()), !result && IF_SUCCESS) break;
|
|
result && result.body && "ifFn" === result.body.name && result.body.success && (IF_SUCCESS = !0)
|
|
}
|
|
return IF_DEFER = !1, IF_QUEUE = [], new _mixinResponses.SuccessfulMixinResponse("End if block", [])
|
|
}
|
|
},
|
|
14980: module => {
|
|
"use strict";
|
|
|
|
function shouldEscape(value) {
|
|
return /[*[()+?$./{}|]/.test(value)
|
|
}
|
|
module.exports = {
|
|
CharacterClass: function(path) {
|
|
var node = path.node;
|
|
if (1 === node.expressions.length && function(path) {
|
|
var parent = path.parent,
|
|
index = path.index;
|
|
if ("Alternative" !== parent.type) return !0;
|
|
var previousNode = parent.expressions[index - 1];
|
|
if (null == previousNode) return !0;
|
|
if ("Backreference" === previousNode.type && "number" === previousNode.kind) return !1;
|
|
if ("Char" === previousNode.type && "decimal" === previousNode.kind) return !1;
|
|
return !0
|
|
}(path) && function(node) {
|
|
return "Char" === node.type && "\\b" !== node.value
|
|
}(node.expressions[0])) {
|
|
var _node$expressions$ = node.expressions[0],
|
|
value = _node$expressions$.value,
|
|
kind = _node$expressions$.kind,
|
|
escaped = _node$expressions$.escaped;
|
|
if (node.negative) {
|
|
if (! function(value) {
|
|
return /^\\[dwsDWS]$/.test(value)
|
|
}(value)) return;
|
|
value = function(value) {
|
|
return /[dws]/.test(value) ? value.toUpperCase() : value.toLowerCase()
|
|
}(value)
|
|
}
|
|
path.replace({
|
|
type: "Char",
|
|
value,
|
|
kind,
|
|
escaped: escaped || shouldEscape(value)
|
|
})
|
|
}
|
|
}
|
|
}
|
|
},
|
|
15089: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
let state = this.stateStack[this.stateStack.length - 1];
|
|
const node = state.node;
|
|
if (node.argument && !state.done_) state.done_ = !0, this.stateStack.push({
|
|
node: node.argument
|
|
});
|
|
else {
|
|
const value = state.value || this.UNDEFINED;
|
|
let i = this.stateStack.length - 1;
|
|
for (state = this.stateStack[i];
|
|
"CallExpression" !== state.node.type && "NewExpression" !== state.node.type;) {
|
|
if ("TryStatement" !== state.node.type && this.stateStack.splice(i, 1), i -= 1, i < 0) throw SyntaxError("Illegal return statement");
|
|
state = this.stateStack[i]
|
|
}
|
|
state.value = value
|
|
}
|
|
}, module.exports = exports.default
|
|
},
|
|
15146: (__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__), __webpack_require__.d(__webpack_exports__, {
|
|
__addDisposableResource: () => __addDisposableResource,
|
|
__assign: () => __assign,
|
|
__asyncDelegator: () => __asyncDelegator,
|
|
__asyncGenerator: () => __asyncGenerator,
|
|
__asyncValues: () => __asyncValues,
|
|
__await: () => __await,
|
|
__awaiter: () => __awaiter,
|
|
__classPrivateFieldGet: () => __classPrivateFieldGet,
|
|
__classPrivateFieldIn: () => __classPrivateFieldIn,
|
|
__classPrivateFieldSet: () => __classPrivateFieldSet,
|
|
__createBinding: () => __createBinding,
|
|
__decorate: () => __decorate,
|
|
__disposeResources: () => __disposeResources,
|
|
__esDecorate: () => __esDecorate,
|
|
__exportStar: () => __exportStar,
|
|
__extends: () => __extends,
|
|
__generator: () => __generator,
|
|
__importDefault: () => __importDefault,
|
|
__importStar: () => __importStar,
|
|
__makeTemplateObject: () => __makeTemplateObject,
|
|
__metadata: () => __metadata,
|
|
__param: () => __param,
|
|
__propKey: () => __propKey,
|
|
__read: () => __read,
|
|
__rest: () => __rest,
|
|
__rewriteRelativeImportExtension: () => __rewriteRelativeImportExtension,
|
|
__runInitializers: () => __runInitializers,
|
|
__setFunctionName: () => __setFunctionName,
|
|
__spread: () => __spread,
|
|
__spreadArray: () => __spreadArray,
|
|
__spreadArrays: () => __spreadArrays,
|
|
__values: () => __values,
|
|
default: () => __WEBPACK_DEFAULT_EXPORT__
|
|
});
|
|
var extendStatics = function(d, b) {
|
|
return extendStatics = Object.setPrototypeOf || {
|
|
__proto__: []
|
|
}
|
|
instanceof Array && function(d, b) {
|
|
d.__proto__ = b
|
|
} || function(d, b) {
|
|
for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p])
|
|
}, extendStatics(d, b)
|
|
};
|
|
|
|
function __extends(d, b) {
|
|
if ("function" != typeof b && null !== b) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
|
|
function __() {
|
|
this.constructor = d
|
|
}
|
|
extendStatics(d, b), d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __)
|
|
}
|
|
var __assign = function() {
|
|
return __assign = Object.assign || function(t) {
|
|
for (var s, i = 1, n = arguments.length; i < n; i++)
|
|
for (var p in s = arguments[i]) Object.prototype.hasOwnProperty.call(s, p) && (t[p] = s[p]);
|
|
return t
|
|
}, __assign.apply(this, arguments)
|
|
};
|
|
|
|
function __rest(s, e) {
|
|
var t = {};
|
|
for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
|
|
if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
|
|
var i = 0;
|
|
for (p = Object.getOwnPropertySymbols(s); i < p.length; i++) e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]) && (t[p[i]] = s[p[i]])
|
|
}
|
|
return t
|
|
}
|
|
|
|
function __decorate(decorators, target, key, desc) {
|
|
var d, c = arguments.length,
|
|
r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
|
|
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc);
|
|
else
|
|
for (var i = decorators.length - 1; i >= 0; i--)(d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
|
|
return c > 3 && r && Object.defineProperty(target, key, r), r
|
|
}
|
|
|
|
function __param(paramIndex, decorator) {
|
|
return function(target, key) {
|
|
decorator(target, key, paramIndex)
|
|
}
|
|
}
|
|
|
|
function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
function accept(f) {
|
|
if (void 0 !== f && "function" != typeof f) throw new TypeError("Function expected");
|
|
return f
|
|
}
|
|
for (var _, kind = contextIn.kind, key = "getter" === kind ? "get" : "setter" === kind ? "set" : "value", target = !descriptorIn && ctor ? contextIn.static ? ctor : ctor.prototype : null, descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {}), done = !1, i = decorators.length - 1; i >= 0; i--) {
|
|
var context = {};
|
|
for (var p in contextIn) context[p] = "access" === p ? {} : contextIn[p];
|
|
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
context.addInitializer = function(f) {
|
|
if (done) throw new TypeError("Cannot add initializers after decoration has completed");
|
|
extraInitializers.push(accept(f || null))
|
|
};
|
|
var result = (0, decorators[i])("accessor" === kind ? {
|
|
get: descriptor.get,
|
|
set: descriptor.set
|
|
} : descriptor[key], context);
|
|
if ("accessor" === kind) {
|
|
if (void 0 === result) continue;
|
|
if (null === result || "object" != typeof result) throw new TypeError("Object expected");
|
|
(_ = accept(result.get)) && (descriptor.get = _), (_ = accept(result.set)) && (descriptor.set = _), (_ = accept(result.init)) && initializers.unshift(_)
|
|
} else(_ = accept(result)) && ("field" === kind ? initializers.unshift(_) : descriptor[key] = _)
|
|
}
|
|
target && Object.defineProperty(target, contextIn.name, descriptor), done = !0
|
|
}
|
|
|
|
function __runInitializers(thisArg, initializers, value) {
|
|
for (var useValue = arguments.length > 2, i = 0; i < initializers.length; i++) value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
return useValue ? value : void 0
|
|
}
|
|
|
|
function __propKey(x) {
|
|
return "symbol" == typeof x ? x : "".concat(x)
|
|
}
|
|
|
|
function __setFunctionName(f, name, prefix) {
|
|
return "symbol" == typeof name && (name = name.description ? "[".concat(name.description, "]") : ""), Object.defineProperty(f, "name", {
|
|
configurable: !0,
|
|
value: prefix ? "".concat(prefix, " ", name) : name
|
|
})
|
|
}
|
|
|
|
function __metadata(metadataKey, metadataValue) {
|
|
if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(metadataKey, metadataValue)
|
|
}
|
|
|
|
function __awaiter(thisArg, _arguments, P, generator) {
|
|
return new(P || (P = Promise))(function(resolve, reject) {
|
|
function fulfilled(value) {
|
|
try {
|
|
step(generator.next(value))
|
|
} catch (e) {
|
|
reject(e)
|
|
}
|
|
}
|
|
|
|
function rejected(value) {
|
|
try {
|
|
step(generator.throw(value))
|
|
} catch (e) {
|
|
reject(e)
|
|
}
|
|
}
|
|
|
|
function step(result) {
|
|
var value;
|
|
result.done ? resolve(result.value) : (value = result.value, value instanceof P ? value : new P(function(resolve) {
|
|
resolve(value)
|
|
})).then(fulfilled, rejected)
|
|
}
|
|
step((generator = generator.apply(thisArg, _arguments || [])).next())
|
|
})
|
|
}
|
|
|
|
function __generator(thisArg, body) {
|
|
var f, y, t, _ = {
|
|
label: 0,
|
|
sent: function() {
|
|
if (1 & t[0]) throw t[1];
|
|
return t[1]
|
|
},
|
|
trys: [],
|
|
ops: []
|
|
},
|
|
g = Object.create(("function" == typeof Iterator ? Iterator : Object).prototype);
|
|
return g.next = verb(0), g.throw = verb(1), g.return = verb(2), "function" == typeof Symbol && (g[Symbol.iterator] = function() {
|
|
return this
|
|
}), g;
|
|
|
|
function verb(n) {
|
|
return function(v) {
|
|
return function(op) {
|
|
if (f) throw new TypeError("Generator is already executing.");
|
|
for (; g && (g = 0, op[0] && (_ = 0)), _;) try {
|
|
if (f = 1, y && (t = 2 & op[0] ? y.return : op[0] ? y.throw || ((t = y.return) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
switch (y = 0, t && (op = [2 & op[0], t.value]), op[0]) {
|
|
case 0:
|
|
case 1:
|
|
t = op;
|
|
break;
|
|
case 4:
|
|
return _.label++, {
|
|
value: op[1],
|
|
done: !1
|
|
};
|
|
case 5:
|
|
_.label++, y = op[1], op = [0];
|
|
continue;
|
|
case 7:
|
|
op = _.ops.pop(), _.trys.pop();
|
|
continue;
|
|
default:
|
|
if (!(t = _.trys, (t = t.length > 0 && t[t.length - 1]) || 6 !== op[0] && 2 !== op[0])) {
|
|
_ = 0;
|
|
continue
|
|
}
|
|
if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
_.label = op[1];
|
|
break
|
|
}
|
|
if (6 === op[0] && _.label < t[1]) {
|
|
_.label = t[1], t = op;
|
|
break
|
|
}
|
|
if (t && _.label < t[2]) {
|
|
_.label = t[2], _.ops.push(op);
|
|
break
|
|
}
|
|
t[2] && _.ops.pop(), _.trys.pop();
|
|
continue
|
|
}
|
|
op = body.call(thisArg, _)
|
|
} catch (e) {
|
|
op = [6, e], y = 0
|
|
} finally {
|
|
f = t = 0
|
|
}
|
|
if (5 & op[0]) throw op[1];
|
|
return {
|
|
value: op[0] ? op[1] : void 0,
|
|
done: !0
|
|
}
|
|
}([n, v])
|
|
}
|
|
}
|
|
}
|
|
var __createBinding = Object.create ? function(o, m, k, k2) {
|
|
void 0 === k2 && (k2 = k);
|
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
desc && !("get" in desc ? !m.__esModule : desc.writable || desc.configurable) || (desc = {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return m[k]
|
|
}
|
|
}), Object.defineProperty(o, k2, desc)
|
|
} : function(o, m, k, k2) {
|
|
void 0 === k2 && (k2 = k), o[k2] = m[k]
|
|
};
|
|
|
|
function __exportStar(m, o) {
|
|
for (var p in m) "default" === p || Object.prototype.hasOwnProperty.call(o, p) || __createBinding(o, m, p)
|
|
}
|
|
|
|
function __values(o) {
|
|
var s = "function" == typeof Symbol && Symbol.iterator,
|
|
m = s && o[s],
|
|
i = 0;
|
|
if (m) return m.call(o);
|
|
if (o && "number" == typeof o.length) return {
|
|
next: function() {
|
|
return o && i >= o.length && (o = void 0), {
|
|
value: o && o[i++],
|
|
done: !o
|
|
}
|
|
}
|
|
};
|
|
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.")
|
|
}
|
|
|
|
function __read(o, n) {
|
|
var m = "function" == typeof Symbol && o[Symbol.iterator];
|
|
if (!m) return o;
|
|
var r, e, i = m.call(o),
|
|
ar = [];
|
|
try {
|
|
for (;
|
|
(void 0 === n || n-- > 0) && !(r = i.next()).done;) ar.push(r.value)
|
|
} catch (error) {
|
|
e = {
|
|
error
|
|
}
|
|
} finally {
|
|
try {
|
|
r && !r.done && (m = i.return) && m.call(i)
|
|
} finally {
|
|
if (e) throw e.error
|
|
}
|
|
}
|
|
return ar
|
|
}
|
|
|
|
function __spread() {
|
|
for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
|
|
return ar
|
|
}
|
|
|
|
function __spreadArrays() {
|
|
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
|
|
var r = Array(s),
|
|
k = 0;
|
|
for (i = 0; i < il; i++)
|
|
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j];
|
|
return r
|
|
}
|
|
|
|
function __spreadArray(to, from, pack) {
|
|
if (pack || 2 === arguments.length)
|
|
for (var ar, i = 0, l = from.length; i < l; i++) !ar && i in from || (ar || (ar = Array.prototype.slice.call(from, 0, i)), ar[i] = from[i]);
|
|
return to.concat(ar || Array.prototype.slice.call(from))
|
|
}
|
|
|
|
function __await(v) {
|
|
return this instanceof __await ? (this.v = v, this) : new __await(v)
|
|
}
|
|
|
|
function __asyncGenerator(thisArg, _arguments, generator) {
|
|
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
var i, g = generator.apply(thisArg, _arguments || []),
|
|
q = [];
|
|
return i = Object.create(("function" == typeof AsyncIterator ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", function(f) {
|
|
return function(v) {
|
|
return Promise.resolve(v).then(f, reject)
|
|
}
|
|
}), i[Symbol.asyncIterator] = function() {
|
|
return this
|
|
}, i;
|
|
|
|
function verb(n, f) {
|
|
g[n] && (i[n] = function(v) {
|
|
return new Promise(function(a, b) {
|
|
q.push([n, v, a, b]) > 1 || resume(n, v)
|
|
})
|
|
}, f && (i[n] = f(i[n])))
|
|
}
|
|
|
|
function resume(n, v) {
|
|
try {
|
|
(r = g[n](v)).value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r)
|
|
} catch (e) {
|
|
settle(q[0][3], e)
|
|
}
|
|
var r
|
|
}
|
|
|
|
function fulfill(value) {
|
|
resume("next", value)
|
|
}
|
|
|
|
function reject(value) {
|
|
resume("throw", value)
|
|
}
|
|
|
|
function settle(f, v) {
|
|
f(v), q.shift(), q.length && resume(q[0][0], q[0][1])
|
|
}
|
|
}
|
|
|
|
function __asyncDelegator(o) {
|
|
var i, p;
|
|
return i = {}, verb("next"), verb("throw", function(e) {
|
|
throw e
|
|
}), verb("return"), i[Symbol.iterator] = function() {
|
|
return this
|
|
}, i;
|
|
|
|
function verb(n, f) {
|
|
i[n] = o[n] ? function(v) {
|
|
return (p = !p) ? {
|
|
value: __await(o[n](v)),
|
|
done: !1
|
|
} : f ? f(v) : v
|
|
} : f
|
|
}
|
|
}
|
|
|
|
function __asyncValues(o) {
|
|
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
var i, m = o[Symbol.asyncIterator];
|
|
return m ? m.call(o) : (o = __values(o), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
|
|
return this
|
|
}, i);
|
|
|
|
function verb(n) {
|
|
i[n] = o[n] && function(v) {
|
|
return new Promise(function(resolve, reject) {
|
|
(function(resolve, reject, d, v) {
|
|
Promise.resolve(v).then(function(v) {
|
|
resolve({
|
|
value: v,
|
|
done: d
|
|
})
|
|
}, reject)
|
|
})(resolve, reject, (v = o[n](v)).done, v.value)
|
|
})
|
|
}
|
|
}
|
|
}
|
|
|
|
function __makeTemplateObject(cooked, raw) {
|
|
return Object.defineProperty ? Object.defineProperty(cooked, "raw", {
|
|
value: raw
|
|
}) : cooked.raw = raw, cooked
|
|
}
|
|
var __setModuleDefault = Object.create ? function(o, v) {
|
|
Object.defineProperty(o, "default", {
|
|
enumerable: !0,
|
|
value: v
|
|
})
|
|
} : function(o, v) {
|
|
o.default = v
|
|
},
|
|
ownKeys = function(o) {
|
|
return ownKeys = Object.getOwnPropertyNames || function(o) {
|
|
var ar = [];
|
|
for (var k in o) Object.prototype.hasOwnProperty.call(o, k) && (ar[ar.length] = k);
|
|
return ar
|
|
}, ownKeys(o)
|
|
};
|
|
|
|
function __importStar(mod) {
|
|
if (mod && mod.__esModule) return mod;
|
|
var result = {};
|
|
if (null != mod)
|
|
for (var k = ownKeys(mod), i = 0; i < k.length; i++) "default" !== k[i] && __createBinding(result, mod, k[i]);
|
|
return __setModuleDefault(result, mod), result
|
|
}
|
|
|
|
function __importDefault(mod) {
|
|
return mod && mod.__esModule ? mod : {
|
|
default: mod
|
|
}
|
|
}
|
|
|
|
function __classPrivateFieldGet(receiver, state, kind, f) {
|
|
if ("a" === kind && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
if ("function" == typeof state ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
return "m" === kind ? f : "a" === kind ? f.call(receiver) : f ? f.value : state.get(receiver)
|
|
}
|
|
|
|
function __classPrivateFieldSet(receiver, state, value, kind, f) {
|
|
if ("m" === kind) throw new TypeError("Private method is not writable");
|
|
if ("a" === kind && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
if ("function" == typeof state ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
return "a" === kind ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value
|
|
}
|
|
|
|
function __classPrivateFieldIn(state, receiver) {
|
|
if (null === receiver || "object" != typeof receiver && "function" != typeof receiver) throw new TypeError("Cannot use 'in' operator on non-object");
|
|
return "function" == typeof state ? receiver === state : state.has(receiver)
|
|
}
|
|
|
|
function __addDisposableResource(env, value, async) {
|
|
if (null != value) {
|
|
if ("object" != typeof value && "function" != typeof value) throw new TypeError("Object expected.");
|
|
var dispose, inner;
|
|
if (async) {
|
|
if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
|
|
dispose = value[Symbol.asyncDispose]
|
|
}
|
|
if (void 0 === dispose) {
|
|
if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
|
|
dispose = value[Symbol.dispose], async && (inner = dispose)
|
|
}
|
|
if ("function" != typeof dispose) throw new TypeError("Object not disposable.");
|
|
inner && (dispose = function() {
|
|
try {
|
|
inner.call(this)
|
|
} catch (e) {
|
|
return Promise.reject(e)
|
|
}
|
|
}), env.stack.push({
|
|
value,
|
|
dispose,
|
|
async
|
|
})
|
|
} else async && env.stack.push({
|
|
async: !0
|
|
});
|
|
return value
|
|
}
|
|
var _SuppressedError = "function" == typeof SuppressedError ? SuppressedError : function(error, suppressed, message) {
|
|
var e = new Error(message);
|
|
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e
|
|
};
|
|
|
|
function __disposeResources(env) {
|
|
function fail(e) {
|
|
env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e, env.hasError = !0
|
|
}
|
|
var r, s = 0;
|
|
return function next() {
|
|
for (; r = env.stack.pop();) try {
|
|
if (!r.async && 1 === s) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
|
if (r.dispose) {
|
|
var result = r.dispose.call(r.value);
|
|
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
|
|
return fail(e), next()
|
|
})
|
|
} else s |= 1
|
|
} catch (e) {
|
|
fail(e)
|
|
}
|
|
if (1 === s) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
|
if (env.hasError) throw env.error
|
|
}()
|
|
}
|
|
|
|
function __rewriteRelativeImportExtension(path, preserveJsx) {
|
|
return "string" == typeof path && /^\.\.?\//.test(path) ? path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function(m, tsx, d, ext, cm) {
|
|
return tsx ? preserveJsx ? ".jsx" : ".js" : !d || ext && cm ? d + ext + "." + cm.toLowerCase() + "js" : m
|
|
}) : path
|
|
}
|
|
const __WEBPACK_DEFAULT_EXPORT__ = {
|
|
__extends,
|
|
__assign,
|
|
__rest,
|
|
__decorate,
|
|
__param,
|
|
__esDecorate,
|
|
__runInitializers,
|
|
__propKey,
|
|
__setFunctionName,
|
|
__metadata,
|
|
__awaiter,
|
|
__generator,
|
|
__createBinding,
|
|
__exportStar,
|
|
__values,
|
|
__read,
|
|
__spread,
|
|
__spreadArrays,
|
|
__spreadArray,
|
|
__await,
|
|
__asyncGenerator,
|
|
__asyncDelegator,
|
|
__asyncValues,
|
|
__makeTemplateObject,
|
|
__importStar,
|
|
__importDefault,
|
|
__classPrivateFieldGet,
|
|
__classPrivateFieldSet,
|
|
__classPrivateFieldIn,
|
|
__addDisposableResource,
|
|
__disposeResources,
|
|
__rewriteRelativeImportExtension
|
|
}
|
|
},
|
|
15417: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
const Mixin = __webpack_require__(28338);
|
|
module.exports = class extends Mixin {
|
|
constructor(preprocessor) {
|
|
super(preprocessor), this.preprocessor = preprocessor, this.isEol = !1, this.lineStartPos = 0, this.droppedBufferSize = 0, this.offset = 0, this.col = 0, this.line = 1
|
|
}
|
|
_getOverriddenMethods(mxn, orig) {
|
|
return {
|
|
advance() {
|
|
const pos = this.pos + 1,
|
|
ch = this.html[pos];
|
|
return mxn.isEol && (mxn.isEol = !1, mxn.line++, mxn.lineStartPos = pos), ("\n" === ch || "\r" === ch && "\n" !== this.html[pos + 1]) && (mxn.isEol = !0), mxn.col = pos - mxn.lineStartPos + 1, mxn.offset = mxn.droppedBufferSize + pos, orig.advance.call(this)
|
|
},
|
|
retreat() {
|
|
orig.retreat.call(this), mxn.isEol = !1, mxn.col = this.pos - mxn.lineStartPos + 1
|
|
},
|
|
dropParsedChunk() {
|
|
const prevPos = this.pos;
|
|
orig.dropParsedChunk.call(this);
|
|
const reduction = prevPos - this.pos;
|
|
mxn.lineStartPos -= reduction, mxn.droppedBufferSize += reduction, mxn.offset = mxn.droppedBufferSize + this.pos
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
15439: function(module, exports, __webpack_require__) {
|
|
var CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), function(Math) {
|
|
var C = CryptoJS,
|
|
C_lib = C.lib,
|
|
WordArray = C_lib.WordArray,
|
|
Hasher = C_lib.Hasher,
|
|
C_algo = C.algo,
|
|
H = [],
|
|
K = [];
|
|
! function() {
|
|
function isPrime(n) {
|
|
for (var sqrtN = Math.sqrt(n), factor = 2; factor <= sqrtN; factor++)
|
|
if (!(n % factor)) return !1;
|
|
return !0
|
|
}
|
|
|
|
function getFractionalBits(n) {
|
|
return 4294967296 * (n - (0 | n)) | 0
|
|
}
|
|
for (var n = 2, nPrime = 0; nPrime < 64;) isPrime(n) && (nPrime < 8 && (H[nPrime] = getFractionalBits(Math.pow(n, .5))), K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3)), nPrime++), n++
|
|
}();
|
|
var W = [],
|
|
SHA256 = C_algo.SHA256 = Hasher.extend({
|
|
_doReset: function() {
|
|
this._hash = new WordArray.init(H.slice(0))
|
|
},
|
|
_doProcessBlock: function(M, offset) {
|
|
for (var H = this._hash.words, a = H[0], b = H[1], c = H[2], d = H[3], e = H[4], f = H[5], g = H[6], h = H[7], i = 0; i < 64; i++) {
|
|
if (i < 16) W[i] = 0 | M[offset + i];
|
|
else {
|
|
var gamma0x = W[i - 15],
|
|
gamma0 = (gamma0x << 25 | gamma0x >>> 7) ^ (gamma0x << 14 | gamma0x >>> 18) ^ gamma0x >>> 3,
|
|
gamma1x = W[i - 2],
|
|
gamma1 = (gamma1x << 15 | gamma1x >>> 17) ^ (gamma1x << 13 | gamma1x >>> 19) ^ gamma1x >>> 10;
|
|
W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]
|
|
}
|
|
var maj = a & b ^ a & c ^ b & c,
|
|
sigma0 = (a << 30 | a >>> 2) ^ (a << 19 | a >>> 13) ^ (a << 10 | a >>> 22),
|
|
t1 = h + ((e << 26 | e >>> 6) ^ (e << 21 | e >>> 11) ^ (e << 7 | e >>> 25)) + (e & f ^ ~e & g) + K[i] + W[i];
|
|
h = g, g = f, f = e, e = d + t1 | 0, d = c, c = b, b = a, a = t1 + (sigma0 + maj) | 0
|
|
}
|
|
H[0] = H[0] + a | 0, H[1] = H[1] + b | 0, H[2] = H[2] + c | 0, H[3] = H[3] + d | 0, H[4] = H[4] + e | 0, H[5] = H[5] + f | 0, H[6] = H[6] + g | 0, H[7] = H[7] + h | 0
|
|
},
|
|
_doFinalize: function() {
|
|
var data = this._data,
|
|
dataWords = data.words,
|
|
nBitsTotal = 8 * this._nDataBytes,
|
|
nBitsLeft = 8 * data.sigBytes;
|
|
return dataWords[nBitsLeft >>> 5] |= 128 << 24 - nBitsLeft % 32, dataWords[14 + (nBitsLeft + 64 >>> 9 << 4)] = Math.floor(nBitsTotal / 4294967296), dataWords[15 + (nBitsLeft + 64 >>> 9 << 4)] = nBitsTotal, data.sigBytes = 4 * dataWords.length, this._process(), this._hash
|
|
},
|
|
clone: function() {
|
|
var clone = Hasher.clone.call(this);
|
|
return clone._hash = this._hash.clone(), clone
|
|
}
|
|
});
|
|
C.SHA256 = Hasher._createHelper(SHA256), C.HmacSHA256 = Hasher._createHmacHelper(SHA256)
|
|
}(Math), CryptoJS.SHA256)
|
|
},
|
|
15452: module => {
|
|
module.exports = function(value) {
|
|
return null != value && "object" == typeof value
|
|
}
|
|
},
|
|
15693: function(module, exports, __webpack_require__) {
|
|
var C, C_lib, WordArray, Hasher, C_algo, W, SHA1, CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), C_lib = (C = CryptoJS).lib, WordArray = C_lib.WordArray, Hasher = C_lib.Hasher, C_algo = C.algo, W = [], SHA1 = C_algo.SHA1 = Hasher.extend({
|
|
_doReset: function() {
|
|
this._hash = new WordArray.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520])
|
|
},
|
|
_doProcessBlock: function(M, offset) {
|
|
for (var H = this._hash.words, a = H[0], b = H[1], c = H[2], d = H[3], e = H[4], i = 0; i < 80; i++) {
|
|
if (i < 16) W[i] = 0 | M[offset + i];
|
|
else {
|
|
var n = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];
|
|
W[i] = n << 1 | n >>> 31
|
|
}
|
|
var t = (a << 5 | a >>> 27) + e + W[i];
|
|
t += i < 20 ? 1518500249 + (b & c | ~b & d) : i < 40 ? 1859775393 + (b ^ c ^ d) : i < 60 ? (b & c | b & d | c & d) - 1894007588 : (b ^ c ^ d) - 899497514, e = d, d = c, c = b << 30 | b >>> 2, b = a, a = t
|
|
}
|
|
H[0] = H[0] + a | 0, H[1] = H[1] + b | 0, H[2] = H[2] + c | 0, H[3] = H[3] + d | 0, H[4] = H[4] + e | 0
|
|
},
|
|
_doFinalize: function() {
|
|
var data = this._data,
|
|
dataWords = data.words,
|
|
nBitsTotal = 8 * this._nDataBytes,
|
|
nBitsLeft = 8 * data.sigBytes;
|
|
return dataWords[nBitsLeft >>> 5] |= 128 << 24 - nBitsLeft % 32, dataWords[14 + (nBitsLeft + 64 >>> 9 << 4)] = Math.floor(nBitsTotal / 4294967296), dataWords[15 + (nBitsLeft + 64 >>> 9 << 4)] = nBitsTotal, data.sigBytes = 4 * dataWords.length, this._process(), this._hash
|
|
},
|
|
clone: function() {
|
|
var clone = Hasher.clone.call(this);
|
|
return clone._hash = this._hash.clone(), clone
|
|
}
|
|
}), C.SHA1 = Hasher._createHelper(SHA1), C.HmacSHA1 = Hasher._createHmacHelper(SHA1), CryptoJS.SHA1)
|
|
},
|
|
16027: function(module, exports, __webpack_require__) {
|
|
var CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), function() {
|
|
var C = CryptoJS,
|
|
WordArray = C.lib.WordArray;
|
|
|
|
function parseLoop(base64Str, base64StrLength, reverseMap) {
|
|
for (var words = [], nBytes = 0, i = 0; i < base64StrLength; i++)
|
|
if (i % 4) {
|
|
var bitsCombined = reverseMap[base64Str.charCodeAt(i - 1)] << i % 4 * 2 | reverseMap[base64Str.charCodeAt(i)] >>> 6 - i % 4 * 2;
|
|
words[nBytes >>> 2] |= bitsCombined << 24 - nBytes % 4 * 8, nBytes++
|
|
} return WordArray.create(words, nBytes)
|
|
}
|
|
C.enc.Base64url = {
|
|
stringify: function(wordArray, urlSafe) {
|
|
void 0 === urlSafe && (urlSafe = !0);
|
|
var words = wordArray.words,
|
|
sigBytes = wordArray.sigBytes,
|
|
map = urlSafe ? this._safe_map : this._map;
|
|
wordArray.clamp();
|
|
for (var base64Chars = [], i = 0; i < sigBytes; i += 3)
|
|
for (var triplet = (words[i >>> 2] >>> 24 - i % 4 * 8 & 255) << 16 | (words[i + 1 >>> 2] >>> 24 - (i + 1) % 4 * 8 & 255) << 8 | words[i + 2 >>> 2] >>> 24 - (i + 2) % 4 * 8 & 255, j = 0; j < 4 && i + .75 * j < sigBytes; j++) base64Chars.push(map.charAt(triplet >>> 6 * (3 - j) & 63));
|
|
var paddingChar = map.charAt(64);
|
|
if (paddingChar)
|
|
for (; base64Chars.length % 4;) base64Chars.push(paddingChar);
|
|
return base64Chars.join("")
|
|
},
|
|
parse: function(base64Str, urlSafe) {
|
|
void 0 === urlSafe && (urlSafe = !0);
|
|
var base64StrLength = base64Str.length,
|
|
map = urlSafe ? this._safe_map : this._map,
|
|
reverseMap = this._reverseMap;
|
|
if (!reverseMap) {
|
|
reverseMap = this._reverseMap = [];
|
|
for (var j = 0; j < map.length; j++) reverseMap[map.charCodeAt(j)] = j
|
|
}
|
|
var paddingChar = map.charAt(64);
|
|
if (paddingChar) {
|
|
var paddingIndex = base64Str.indexOf(paddingChar); - 1 !== paddingIndex && (base64StrLength = paddingIndex)
|
|
}
|
|
return parseLoop(base64Str, base64StrLength, reverseMap)
|
|
},
|
|
_map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
|
|
_safe_map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"
|
|
}
|
|
}(), CryptoJS.enc.Base64url)
|
|
},
|
|
16065: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
exports.default = ms => new Promise(res => setTimeout(res, ms));
|
|
module.exports = exports.default
|
|
},
|
|
16271: module => {
|
|
"use strict";
|
|
module.exports = EvalError
|
|
},
|
|
16299: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0, exports.handleFinishedRun = function({
|
|
promise,
|
|
coreRunner,
|
|
options,
|
|
nativeActionRegistry,
|
|
runId
|
|
}) {
|
|
if (options && options.isChildAction) return promise;
|
|
const newPromise = new Promise(async (resolve, reject) => {
|
|
try {
|
|
let result;
|
|
result = promise && promise instanceof _promisedResult.default ? await promise.getResult() : await promise;
|
|
nativeActionRegistry.getHandler({
|
|
coreRunner,
|
|
runId
|
|
})(_enums.coreNativeActions.HandleFinishedRun, {
|
|
runId
|
|
}), resolve(result)
|
|
} catch (e) {
|
|
nativeActionRegistry.getHandler({
|
|
coreRunner,
|
|
runId
|
|
})(_enums.coreNativeActions.HandleFinishedRun, {
|
|
runId
|
|
}), reject(e)
|
|
}
|
|
});
|
|
return promise && promise instanceof _promisedResult.default ? new _promisedResult.default({
|
|
promise: newPromise,
|
|
vimInstance: promise.vimInstance,
|
|
runId
|
|
}) : newPromise
|
|
};
|
|
var _enums = __webpack_require__(76578),
|
|
_promisedResult = _interopRequireDefault(__webpack_require__(3784));
|
|
class CorePluginAction {
|
|
constructor({
|
|
name,
|
|
pluginName,
|
|
description,
|
|
logicFn,
|
|
requiredNativeActions,
|
|
requiredActionsNames
|
|
}) {
|
|
this.name = name, this.pluginName = pluginName, this.description = description, this.logicFn = logicFn, this.requiredNativeActions = requiredNativeActions || [], this.requiredActionsNames = requiredActionsNames || []
|
|
}
|
|
async run(coreRunner, nativeActionRegistry, runId) {
|
|
return this.logicFn({
|
|
coreRunner,
|
|
nativeActionRegistry,
|
|
runId
|
|
})
|
|
}
|
|
}
|
|
exports.default = CorePluginAction, Object.defineProperty(CorePluginAction, Symbol.hasInstance, {
|
|
value: obj => null != obj && obj.name && obj.logicFn && obj.run && obj.pluginName && obj.requiredActionsNames && obj.requiredNativeActions
|
|
})
|
|
},
|
|
16343: module => {
|
|
"use strict";
|
|
var _createClass = function() {
|
|
function defineProperties(target, props) {
|
|
for (var i = 0; i < props.length; i++) {
|
|
var descriptor = props[i];
|
|
descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor)
|
|
}
|
|
}
|
|
return function(Constructor, protoProps, staticProps) {
|
|
return protoProps && defineProperties(Constructor.prototype, protoProps), staticProps && defineProperties(Constructor, staticProps), Constructor
|
|
}
|
|
}();
|
|
var RegExpTree = function() {
|
|
function RegExpTree(re, _ref) {
|
|
var flags = _ref.flags,
|
|
groups = _ref.groups,
|
|
source = _ref.source;
|
|
! function(instance, Constructor) {
|
|
if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function")
|
|
}(this, RegExpTree), this._re = re, this._groups = groups, this.flags = flags, this.source = source || re.source, this.dotAll = flags.includes("s"), this.global = re.global, this.ignoreCase = re.ignoreCase, this.multiline = re.multiline, this.sticky = re.sticky, this.unicode = re.unicode
|
|
}
|
|
return _createClass(RegExpTree, [{
|
|
key: "test",
|
|
value: function(string) {
|
|
return this._re.test(string)
|
|
}
|
|
}, {
|
|
key: "compile",
|
|
value: function(string) {
|
|
return this._re.compile(string)
|
|
}
|
|
}, {
|
|
key: "toString",
|
|
value: function() {
|
|
return this._toStringResult || (this._toStringResult = "/" + this.source + "/" + this.flags), this._toStringResult
|
|
}
|
|
}, {
|
|
key: "exec",
|
|
value: function(string) {
|
|
var result = this._re.exec(string);
|
|
if (!this._groups || !result) return result;
|
|
for (var group in result.groups = {}, this._groups) {
|
|
var groupNumber = this._groups[group];
|
|
result.groups[group] = result[groupNumber]
|
|
}
|
|
return result
|
|
}
|
|
}]), RegExpTree
|
|
}();
|
|
module.exports = {
|
|
RegExpTree
|
|
}
|
|
},
|
|
16637: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function(instance, scope) {
|
|
const jsonObj = instance.createObject(instance.OBJECT);
|
|
instance.setProperty(scope, "JSON", jsonObj, _Instance.default.READONLY_DESCRIPTOR), instance.setProperty(jsonObj, "parse", instance.createNativeFunction(text => {
|
|
try {
|
|
const nativeObj = JSON.parse(text.toString());
|
|
return instance.nativeToPseudo(nativeObj)
|
|
} catch (err) {
|
|
return instance.throwException(instance.SYNTAX_ERROR, err.message), null
|
|
}
|
|
}), _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR), instance.setProperty(jsonObj, "stringify", instance.createNativeFunction((pseudoValue, _, pseudoSpace) => {
|
|
const nativeValue = instance.pseudoToNative(pseudoValue),
|
|
nativeSpace = void 0 === pseudoSpace ? void 0 : instance.pseudoToNative(pseudoSpace);
|
|
return instance.createPrimitive(JSON.stringify(nativeValue, null, nativeSpace))
|
|
}), _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR)
|
|
};
|
|
var _Instance = _interopRequireDefault(__webpack_require__(76352));
|
|
module.exports = exports.default
|
|
},
|
|
16971: module => {
|
|
module.exports = function(r, e) {
|
|
if (null == r) return {};
|
|
var t = {};
|
|
for (var n in r)
|
|
if ({}.hasOwnProperty.call(r, n)) {
|
|
if (-1 !== e.indexOf(n)) continue;
|
|
t[n] = r[n]
|
|
} return t
|
|
}, module.exports.__esModule = !0, module.exports.default = module.exports
|
|
},
|
|
17078: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var process = __webpack_require__(74620),
|
|
_interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.IntegrationRunner = exports.IntegrationCache = void 0;
|
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(80451)),
|
|
_superagent = _interopRequireDefault(__webpack_require__(89110));
|
|
__webpack_require__(31287);
|
|
var _vimGenerator = __webpack_require__(47198),
|
|
_honeyVim = _interopRequireDefault(__webpack_require__(10115)),
|
|
_parse = _interopRequireDefault(__webpack_require__(8924)),
|
|
_nativeActionRegistry = _interopRequireDefault(__webpack_require__(28591)),
|
|
_promisedResult = _interopRequireDefault(__webpack_require__(3784)),
|
|
_errors = __webpack_require__(28435);
|
|
|
|
function ownKeys(e, r) {
|
|
var t = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var o = Object.getOwnPropertySymbols(e);
|
|
r && (o = o.filter(function(r) {
|
|
return Object.getOwnPropertyDescriptor(e, r).enumerable
|
|
})), t.push.apply(t, o)
|
|
}
|
|
return t
|
|
}
|
|
|
|
function _objectSpread(e) {
|
|
for (var r = 1; r < arguments.length; r++) {
|
|
var t = null != arguments[r] ? arguments[r] : {};
|
|
r % 2 ? ownKeys(Object(t), !0).forEach(function(r) {
|
|
(0, _defineProperty2.default)(e, r, t[r])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) {
|
|
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r))
|
|
})
|
|
}
|
|
return e
|
|
}
|
|
const NodeCache = __webpack_require__(3816),
|
|
RecipeApiUrl = process && process.env && process.env.RecipeApiUrl || "https://v.joinhoney.com";
|
|
process && process.env && (process.env.NO_CACHE = "false");
|
|
const IntegrationCache = exports.IntegrationCache = new NodeCache({
|
|
stdTTL: process && process.env && process.env.integrationCacheStdTTL || 300,
|
|
checkperiod: process && process.env && process.env.integrationCacheCheckPeriod || 150,
|
|
maxKeys: process && process.env && process.env.integrationCacheMaxKeys || 100
|
|
});
|
|
class IntegrationRunner {
|
|
constructor(platform, nativeActionRegistry) {
|
|
if (!Object.values(_vimGenerator.VimGenerator.vimEnums.PLATFORMS).includes(platform)) throw new InvalidParametersError(`Unsupported platform '${platform}' requested`);
|
|
if (!(nativeActionRegistry instanceof _nativeActionRegistry.default)) throw new InvalidParametersError("Unsupported native action registry provided");
|
|
this.platform = platform, this.nativeActionRegistry = nativeActionRegistry
|
|
}
|
|
async run({
|
|
mainVimName,
|
|
storeId,
|
|
coreRunner,
|
|
inputData = null,
|
|
runId
|
|
}) {
|
|
const vimOptions = coreRunner.state.getValue(runId, "vimOptions") || {};
|
|
vimOptions.storeId = vimOptions.storeId || storeId, vimOptions.mainVimName = vimOptions.mainVimName || mainVimName, vimOptions.recipeOverride = vimOptions.recipeOverride || coreRunner.state.getValue(runId, "recipe");
|
|
const {
|
|
vimPayload,
|
|
recipe
|
|
} = await this.getVimPayload({
|
|
mainVimName,
|
|
storeId,
|
|
options: vimOptions
|
|
});
|
|
coreRunner.state.updateValue(runId, "recipe", recipe);
|
|
const rawMainVim = vimPayload.mainVim,
|
|
parsedVim = "string" == typeof rawMainVim ? (0, _parse.default)(rawMainVim) : rawMainVim,
|
|
vimInstance = new _honeyVim.default(parsedVim, vimOptions || {}),
|
|
promise = new Promise(async (resolve, reject) => {
|
|
try {
|
|
await vimInstance.run(inputData, this.nativeActionRegistry.getHandler({
|
|
coreRunner,
|
|
vimInstance,
|
|
vimPayload,
|
|
runId
|
|
})), resolve(coreRunner.state.getValue(runId, "result"))
|
|
} catch (e) {
|
|
reject(e)
|
|
}
|
|
});
|
|
return new _promisedResult.default({
|
|
promise,
|
|
vimInstance,
|
|
runId
|
|
})
|
|
}
|
|
async runSubVim({
|
|
subVimName,
|
|
vimPayload,
|
|
coreRunner,
|
|
inputData = null,
|
|
runId,
|
|
overrideNativeActionRegistry
|
|
}) {
|
|
const vimOptions = coreRunner.state.getValue(runId, "vimOptions") || {},
|
|
rawVim = vimPayload.subVims[subVimName],
|
|
parsedVim = "string" == typeof rawVim ? (0, _parse.default)(rawVim) : rawVim;
|
|
let promise, vimInstance = coreRunner.state.getValue(runId, "vimInstance");
|
|
return vimInstance ? (coreRunner.state.updateValue(runId, "usedLastInstance", !0), promise = new Promise(async (resolve, reject) => {
|
|
try {
|
|
await vimInstance.runAstOnLastUsedInstance(parsedVim, inputData, (overrideNativeActionRegistry || this.nativeActionRegistry).getHandler({
|
|
coreRunner,
|
|
vimInstance,
|
|
vimPayload,
|
|
runId
|
|
})), resolve(coreRunner.state.getValue(runId, "result"))
|
|
} catch (e) {
|
|
reject(e)
|
|
}
|
|
})) : (vimInstance = new _honeyVim.default(parsedVim, vimOptions || {}), coreRunner.state.updateValue(runId, "vimInstance", vimInstance), promise = new Promise(async (resolve, reject) => {
|
|
try {
|
|
await vimInstance.run(inputData, (overrideNativeActionRegistry || this.nativeActionRegistry).getHandler({
|
|
coreRunner,
|
|
vimInstance,
|
|
vimPayload,
|
|
runId
|
|
})), resolve(coreRunner.state.getValue(runId, "result"))
|
|
} catch (e) {
|
|
reject(e)
|
|
}
|
|
})), new _promisedResult.default({
|
|
promise,
|
|
vimInstance,
|
|
runId
|
|
})
|
|
}
|
|
async getVimPayload({
|
|
mainVimName,
|
|
storeId,
|
|
options = {}
|
|
}) {
|
|
const {
|
|
vimOverride,
|
|
recipeOverride,
|
|
proposedRecipeId,
|
|
full,
|
|
encrypt = !1,
|
|
frameworkRecipe,
|
|
v5SupportEnabled = !0,
|
|
shouldUseMixins = !0,
|
|
shouldUseFramework = !1
|
|
} = options, mainVims = Object.values(_vimGenerator.VimGenerator.vimEnums.VIMS), v4SupportedVims = Object.keys(_vimGenerator.VimGenerator.vimEnums.V4_VIM_PREFIXES);
|
|
let mainVim = mainVimName,
|
|
storeIdToUse = storeId,
|
|
recipeToUse = recipeOverride;
|
|
if (shouldUseFramework && frameworkRecipe && frameworkRecipe.honey_id && (storeIdToUse = frameworkRecipe.honey_id, recipeToUse = frameworkRecipe), !recipeToUse) {
|
|
const recipeCacheKey = `Recipe:${storeId}:${proposedRecipeId}:${full}`;
|
|
if (IntegrationCache.has(recipeCacheKey)) recipeToUse = IntegrationCache.get(recipeCacheKey);
|
|
else try {
|
|
const {
|
|
body = {}
|
|
} = await _superagent.default.get(`${RecipeApiUrl}/recipe/stores/${storeIdToUse}`).query({
|
|
full,
|
|
proposedRecipeId
|
|
});
|
|
recipeToUse = body, IntegrationCache.set(recipeCacheKey, recipeToUse)
|
|
} catch (err) {
|
|
throw new NotFoundError(`Did not find recipe for store ${storeIdToUse} with the proposed recipe id of ${proposedRecipeId} from ${RecipeApiUrl}`)
|
|
}
|
|
}
|
|
if (options && options.frameworkDetector && "pageDetector" === mainVimName && !mainVims.includes(mainVimName + storeIdToUse) && (recipeToUse.page_detector = recipeToUse.page_detector || [], recipeToUse.page_detector = recipeToUse.page_detector.concat(options.frameworkDetector.filter(detector => !JSON.stringify(recipeToUse.page_detector).includes(JSON.stringify(detector))))), vimOverride) return {
|
|
vimPayload: vimOverride,
|
|
recipe: recipeToUse
|
|
};
|
|
!v5SupportEnabled && storeIdToUse && v4SupportedVims.includes(mainVim) && (mainVim = _vimGenerator.VimGenerator.vimEnums.V4_VIM_PREFIXES[mainVim] + storeIdToUse);
|
|
const updatedOptions = _objectSpread(_objectSpread({}, options), {}, {
|
|
shouldUseMixins,
|
|
encrypt
|
|
});
|
|
let vimPayload = null;
|
|
try {
|
|
vimPayload = await _vimGenerator.VimGenerator.generateVimForRecipe(recipeToUse, mainVim, storeIdToUse, this.platform, updatedOptions)
|
|
} catch (err) {
|
|
throw new _errors.CoreRunnerVimGenerationError(`Could not generate VIM with mainVimName ${mainVim}`)
|
|
}
|
|
return {
|
|
vimPayload,
|
|
recipe: recipeToUse
|
|
}
|
|
}
|
|
}
|
|
exports.IntegrationRunner = IntegrationRunner, Object.defineProperty(IntegrationRunner, Symbol.hasInstance, {
|
|
value: obj => null != obj && obj.run && obj.runSubVim && obj.getVimPayload
|
|
})
|
|
},
|
|
17227: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.getDACByStoreId = function(storeId) {
|
|
return supportedDACs.find(dac => dac && dac instanceof _dac45.default && dac.stores.find(store => store && store.id && store.id === storeId))
|
|
}, exports.supportedDACs = void 0;
|
|
var _dac = _interopRequireDefault(__webpack_require__(97178)),
|
|
_dac2 = _interopRequireDefault(__webpack_require__(91686)),
|
|
_dac3 = _interopRequireDefault(__webpack_require__(26105)),
|
|
_dac4 = _interopRequireDefault(__webpack_require__(11707)),
|
|
_dac5 = _interopRequireDefault(__webpack_require__(48588)),
|
|
_dac6 = _interopRequireDefault(__webpack_require__(96719)),
|
|
_dac7 = _interopRequireDefault(__webpack_require__(27024)),
|
|
_dac8 = _interopRequireDefault(__webpack_require__(99369)),
|
|
_dac9 = _interopRequireDefault(__webpack_require__(57467)),
|
|
_dac0 = _interopRequireDefault(__webpack_require__(73332)),
|
|
_dac1 = _interopRequireDefault(__webpack_require__(68729)),
|
|
_dac10 = _interopRequireDefault(__webpack_require__(44159)),
|
|
_dac11 = _interopRequireDefault(__webpack_require__(86069)),
|
|
_dac12 = _interopRequireDefault(__webpack_require__(91009)),
|
|
_dac13 = _interopRequireDefault(__webpack_require__(13914)),
|
|
_dac14 = _interopRequireDefault(__webpack_require__(6083)),
|
|
_dac15 = _interopRequireDefault(__webpack_require__(10901)),
|
|
_dac16 = _interopRequireDefault(__webpack_require__(34793)),
|
|
_dac17 = _interopRequireDefault(__webpack_require__(47255)),
|
|
_dac18 = _interopRequireDefault(__webpack_require__(43038)),
|
|
_dac19 = _interopRequireDefault(__webpack_require__(78180)),
|
|
_dac20 = _interopRequireDefault(__webpack_require__(84605)),
|
|
_dac21 = _interopRequireDefault(__webpack_require__(56872)),
|
|
_dac22 = _interopRequireDefault(__webpack_require__(76015)),
|
|
_dac23 = _interopRequireDefault(__webpack_require__(2480)),
|
|
_dac24 = _interopRequireDefault(__webpack_require__(45250)),
|
|
_dac25 = _interopRequireDefault(__webpack_require__(90008)),
|
|
_dac26 = _interopRequireDefault(__webpack_require__(60714)),
|
|
_dac27 = _interopRequireDefault(__webpack_require__(86025)),
|
|
_dac28 = _interopRequireDefault(__webpack_require__(40727)),
|
|
_dac29 = _interopRequireDefault(__webpack_require__(48817)),
|
|
_dac30 = _interopRequireDefault(__webpack_require__(42323)),
|
|
_dac31 = _interopRequireDefault(__webpack_require__(48494)),
|
|
_dac32 = _interopRequireDefault(__webpack_require__(58132)),
|
|
_dac33 = _interopRequireDefault(__webpack_require__(49024)),
|
|
_dac34 = _interopRequireDefault(__webpack_require__(1191)),
|
|
_dac35 = _interopRequireDefault(__webpack_require__(79365)),
|
|
_dac36 = _interopRequireDefault(__webpack_require__(79078)),
|
|
_dac37 = _interopRequireDefault(__webpack_require__(70668)),
|
|
_dac38 = _interopRequireDefault(__webpack_require__(50621)),
|
|
_dac39 = _interopRequireDefault(__webpack_require__(98372)),
|
|
_dac40 = _interopRequireDefault(__webpack_require__(11627)),
|
|
_dac41 = _interopRequireDefault(__webpack_require__(45378)),
|
|
_dac42 = _interopRequireDefault(__webpack_require__(67114)),
|
|
_dac43 = _interopRequireDefault(__webpack_require__(71758)),
|
|
_dac44 = _interopRequireDefault(__webpack_require__(35060)),
|
|
_dac45 = _interopRequireDefault(__webpack_require__(912));
|
|
const supportedDACs = exports.supportedDACs = [_dac.default, _dac2.default, _dac3.default, _dac4.default, _dac5.default, _dac6.default, _dac7.default, _dac8.default, _dac9.default, _dac0.default, _dac1.default, _dac10.default, _dac11.default, _dac12.default, _dac13.default, _dac14.default, _dac15.default, _dac16.default, _dac17.default, _dac18.default, _dac19.default, _dac20.default, _dac21.default, _dac22.default, _dac23.default, _dac24.default, _dac25.default, _dac26.default, _dac27.default, _dac28.default, _dac29.default, _dac30.default, _dac31.default, _dac32.default, _dac33.default, _dac34.default, _dac35.default, _dac36.default, _dac37.default, _dac38.default, _dac39.default, _dac40.default, _dac41.default, _dac42.default, _dac43.default, _dac44.default]
|
|
},
|
|
17232: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function({
|
|
message
|
|
}) {
|
|
return console.log(message), new _mixinResponses.SuccessfulMixinResponse("[print] Completed Successfully")
|
|
};
|
|
var _mixinResponses = __webpack_require__(34522);
|
|
module.exports = exports.default
|
|
},
|
|
17455: function(module, exports, __webpack_require__) {
|
|
var CryptoJS, C, Base, Utf8;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), Base = (C = CryptoJS).lib.Base, Utf8 = C.enc.Utf8, void(C.algo.HMAC = Base.extend({
|
|
init: function(hasher, key) {
|
|
hasher = this._hasher = new hasher.init, "string" == typeof key && (key = Utf8.parse(key));
|
|
var hasherBlockSize = hasher.blockSize,
|
|
hasherBlockSizeBytes = 4 * hasherBlockSize;
|
|
key.sigBytes > hasherBlockSizeBytes && (key = hasher.finalize(key)), key.clamp();
|
|
for (var oKey = this._oKey = key.clone(), iKey = this._iKey = key.clone(), oKeyWords = oKey.words, iKeyWords = iKey.words, i = 0; i < hasherBlockSize; i++) oKeyWords[i] ^= 1549556828, iKeyWords[i] ^= 909522486;
|
|
oKey.sigBytes = iKey.sigBytes = hasherBlockSizeBytes, this.reset()
|
|
},
|
|
reset: function() {
|
|
var hasher = this._hasher;
|
|
hasher.reset(), hasher.update(this._iKey)
|
|
},
|
|
update: function(messageUpdate) {
|
|
return this._hasher.update(messageUpdate), this
|
|
},
|
|
finalize: function(messageUpdate) {
|
|
var hasher = this._hasher,
|
|
innerHash = hasher.finalize(messageUpdate);
|
|
return hasher.reset(), hasher.finalize(this._oKey.clone().concat(innerHash))
|
|
}
|
|
})))
|
|
},
|
|
17900: (__unused_webpack_module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.verifyPseudoArgs = exports.pseudos = void 0, exports.pseudos = {
|
|
empty: function(elem, _a) {
|
|
var adapter = _a.adapter;
|
|
return !adapter.getChildren(elem).some(function(elem) {
|
|
return adapter.isTag(elem) || "" !== adapter.getText(elem)
|
|
})
|
|
},
|
|
"first-child": function(elem, _a) {
|
|
var adapter = _a.adapter,
|
|
equals = _a.equals,
|
|
firstChild = adapter.getSiblings(elem).find(function(elem) {
|
|
return adapter.isTag(elem)
|
|
});
|
|
return null != firstChild && equals(elem, firstChild)
|
|
},
|
|
"last-child": function(elem, _a) {
|
|
for (var adapter = _a.adapter, equals = _a.equals, siblings = adapter.getSiblings(elem), i = siblings.length - 1; i >= 0; i--) {
|
|
if (equals(elem, siblings[i])) return !0;
|
|
if (adapter.isTag(siblings[i])) break
|
|
}
|
|
return !1
|
|
},
|
|
"first-of-type": function(elem, _a) {
|
|
for (var adapter = _a.adapter, equals = _a.equals, siblings = adapter.getSiblings(elem), elemName = adapter.getName(elem), i = 0; i < siblings.length; i++) {
|
|
var currentSibling = siblings[i];
|
|
if (equals(elem, currentSibling)) return !0;
|
|
if (adapter.isTag(currentSibling) && adapter.getName(currentSibling) === elemName) break
|
|
}
|
|
return !1
|
|
},
|
|
"last-of-type": function(elem, _a) {
|
|
for (var adapter = _a.adapter, equals = _a.equals, siblings = adapter.getSiblings(elem), elemName = adapter.getName(elem), i = siblings.length - 1; i >= 0; i--) {
|
|
var currentSibling = siblings[i];
|
|
if (equals(elem, currentSibling)) return !0;
|
|
if (adapter.isTag(currentSibling) && adapter.getName(currentSibling) === elemName) break
|
|
}
|
|
return !1
|
|
},
|
|
"only-of-type": function(elem, _a) {
|
|
var adapter = _a.adapter,
|
|
equals = _a.equals,
|
|
elemName = adapter.getName(elem);
|
|
return adapter.getSiblings(elem).every(function(sibling) {
|
|
return equals(elem, sibling) || !adapter.isTag(sibling) || adapter.getName(sibling) !== elemName
|
|
})
|
|
},
|
|
"only-child": function(elem, _a) {
|
|
var adapter = _a.adapter,
|
|
equals = _a.equals;
|
|
return adapter.getSiblings(elem).every(function(sibling) {
|
|
return equals(elem, sibling) || !adapter.isTag(sibling)
|
|
})
|
|
}
|
|
}, exports.verifyPseudoArgs = function(func, name, subselect) {
|
|
if (null === subselect) {
|
|
if (func.length > 2) throw new Error("pseudo-selector :".concat(name, " requires an argument"))
|
|
} else if (2 === func.length) throw new Error("pseudo-selector :".concat(name, " doesn't have any arguments"))
|
|
}
|
|
},
|
|
17984: (__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__), __webpack_require__.d(__webpack_exports__, {
|
|
camelCase: () => camelCase,
|
|
camelCaseTransform: () => camelCaseTransform,
|
|
camelCaseTransformMerge: () => camelCaseTransformMerge,
|
|
capitalCase: () => capitalCase,
|
|
capitalCaseTransform: () => capitalCaseTransform,
|
|
constantCase: () => constantCase,
|
|
dotCase: () => dotCase,
|
|
headerCase: () => headerCase,
|
|
noCase: () => noCase,
|
|
paramCase: () => paramCase,
|
|
pascalCase: () => pascalCase,
|
|
pascalCaseTransform: () => pascalCaseTransform,
|
|
pascalCaseTransformMerge: () => pascalCaseTransformMerge,
|
|
pathCase: () => pathCase,
|
|
sentenceCase: () => sentenceCase,
|
|
sentenceCaseTransform: () => sentenceCaseTransform,
|
|
snakeCase: () => snakeCase
|
|
});
|
|
var __assign = function() {
|
|
return __assign = Object.assign || function(t) {
|
|
for (var s, i = 1, n = arguments.length; i < n; i++)
|
|
for (var p in s = arguments[i]) Object.prototype.hasOwnProperty.call(s, p) && (t[p] = s[p]);
|
|
return t
|
|
}, __assign.apply(this, arguments)
|
|
};
|
|
Object.create;
|
|
Object.create;
|
|
"function" == typeof SuppressedError && SuppressedError;
|
|
|
|
function lowerCase(str) {
|
|
return str.toLowerCase()
|
|
}
|
|
var DEFAULT_SPLIT_REGEXP = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g],
|
|
DEFAULT_STRIP_REGEXP = /[^A-Z0-9]+/gi;
|
|
|
|
function noCase(input, options) {
|
|
void 0 === options && (options = {});
|
|
for (var _a = options.splitRegexp, splitRegexp = void 0 === _a ? DEFAULT_SPLIT_REGEXP : _a, _b = options.stripRegexp, stripRegexp = void 0 === _b ? DEFAULT_STRIP_REGEXP : _b, _c = options.transform, transform = void 0 === _c ? lowerCase : _c, _d = options.delimiter, delimiter = void 0 === _d ? " " : _d, result = replace(replace(input, splitRegexp, "$1\0$2"), stripRegexp, "\0"), start = 0, end = result.length;
|
|
"\0" === result.charAt(start);) start++;
|
|
for (;
|
|
"\0" === result.charAt(end - 1);) end--;
|
|
return result.slice(start, end).split("\0").map(transform).join(delimiter)
|
|
}
|
|
|
|
function replace(input, re, value) {
|
|
return re instanceof RegExp ? input.replace(re, value) : re.reduce(function(input, re) {
|
|
return input.replace(re, value)
|
|
}, input)
|
|
}
|
|
|
|
function pascalCaseTransform(input, index) {
|
|
var firstChar = input.charAt(0),
|
|
lowerChars = input.substr(1).toLowerCase();
|
|
return index > 0 && firstChar >= "0" && firstChar <= "9" ? "_" + firstChar + lowerChars : "" + firstChar.toUpperCase() + lowerChars
|
|
}
|
|
|
|
function pascalCaseTransformMerge(input) {
|
|
return input.charAt(0).toUpperCase() + input.slice(1).toLowerCase()
|
|
}
|
|
|
|
function pascalCase(input, options) {
|
|
return void 0 === options && (options = {}), noCase(input, __assign({
|
|
delimiter: "",
|
|
transform: pascalCaseTransform
|
|
}, options))
|
|
}
|
|
|
|
function camelCaseTransform(input, index) {
|
|
return 0 === index ? input.toLowerCase() : pascalCaseTransform(input, index)
|
|
}
|
|
|
|
function camelCaseTransformMerge(input, index) {
|
|
return 0 === index ? input.toLowerCase() : pascalCaseTransformMerge(input)
|
|
}
|
|
|
|
function camelCase(input, options) {
|
|
return void 0 === options && (options = {}), pascalCase(input, __assign({
|
|
transform: camelCaseTransform
|
|
}, options))
|
|
}
|
|
var tslib_es6_assign = function() {
|
|
return tslib_es6_assign = Object.assign || function(t) {
|
|
for (var s, i = 1, n = arguments.length; i < n; i++)
|
|
for (var p in s = arguments[i]) Object.prototype.hasOwnProperty.call(s, p) && (t[p] = s[p]);
|
|
return t
|
|
}, tslib_es6_assign.apply(this, arguments)
|
|
};
|
|
Object.create;
|
|
Object.create;
|
|
"function" == typeof SuppressedError && SuppressedError;
|
|
|
|
function dist_es2015_lowerCase(str) {
|
|
return str.toLowerCase()
|
|
}
|
|
var dist_es2015_DEFAULT_SPLIT_REGEXP = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g],
|
|
dist_es2015_DEFAULT_STRIP_REGEXP = /[^A-Z0-9]+/gi;
|
|
|
|
function dist_es2015_replace(input, re, value) {
|
|
return re instanceof RegExp ? input.replace(re, value) : re.reduce(function(input, re) {
|
|
return input.replace(re, value)
|
|
}, input)
|
|
}
|
|
|
|
function capitalCaseTransform(input) {
|
|
return function(input) {
|
|
return input.charAt(0).toUpperCase() + input.substr(1)
|
|
}(input.toLowerCase())
|
|
}
|
|
|
|
function capitalCase(input, options) {
|
|
return void 0 === options && (options = {}),
|
|
function(input, options) {
|
|
void 0 === options && (options = {});
|
|
for (var _a = options.splitRegexp, splitRegexp = void 0 === _a ? dist_es2015_DEFAULT_SPLIT_REGEXP : _a, _b = options.stripRegexp, stripRegexp = void 0 === _b ? dist_es2015_DEFAULT_STRIP_REGEXP : _b, _c = options.transform, transform = void 0 === _c ? dist_es2015_lowerCase : _c, _d = options.delimiter, delimiter = void 0 === _d ? " " : _d, result = dist_es2015_replace(dist_es2015_replace(input, splitRegexp, "$1\0$2"), stripRegexp, "\0"), start = 0, end = result.length;
|
|
"\0" === result.charAt(start);) start++;
|
|
for (;
|
|
"\0" === result.charAt(end - 1);) end--;
|
|
return result.slice(start, end).split("\0").map(transform).join(delimiter)
|
|
}(input, tslib_es6_assign({
|
|
delimiter: " ",
|
|
transform: capitalCaseTransform
|
|
}, options))
|
|
}
|
|
|
|
function upperCase(str) {
|
|
return str.toUpperCase()
|
|
}
|
|
|
|
function constantCase(input, options) {
|
|
return void 0 === options && (options = {}), noCase(input, __assign({
|
|
delimiter: "_",
|
|
transform: upperCase
|
|
}, options))
|
|
}
|
|
|
|
function dotCase(input, options) {
|
|
return void 0 === options && (options = {}), noCase(input, __assign({
|
|
delimiter: "."
|
|
}, options))
|
|
}
|
|
|
|
function headerCase(input, options) {
|
|
return void 0 === options && (options = {}), capitalCase(input, __assign({
|
|
delimiter: "-"
|
|
}, options))
|
|
}
|
|
|
|
function paramCase(input, options) {
|
|
return void 0 === options && (options = {}), dotCase(input, __assign({
|
|
delimiter: "-"
|
|
}, options))
|
|
}
|
|
|
|
function pathCase(input, options) {
|
|
return void 0 === options && (options = {}), dotCase(input, __assign({
|
|
delimiter: "/"
|
|
}, options))
|
|
}
|
|
|
|
function sentenceCaseTransform(input, index) {
|
|
var result = input.toLowerCase();
|
|
return 0 === index ? function(input) {
|
|
return input.charAt(0).toUpperCase() + input.substr(1)
|
|
}(result) : result
|
|
}
|
|
|
|
function sentenceCase(input, options) {
|
|
return void 0 === options && (options = {}), noCase(input, __assign({
|
|
delimiter: " ",
|
|
transform: sentenceCaseTransform
|
|
}, options))
|
|
}
|
|
|
|
function snakeCase(input, options) {
|
|
return void 0 === options && (options = {}), dotCase(input, __assign({
|
|
delimiter: "_"
|
|
}, options))
|
|
}
|
|
},
|
|
18162: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
return _callExpression.default.apply(this)
|
|
};
|
|
var _callExpression = _interopRequireDefault(__webpack_require__(98930));
|
|
module.exports = exports.default
|
|
},
|
|
18201: module => {
|
|
"use strict";
|
|
var $defineProperty = Object.defineProperty || !1;
|
|
if ($defineProperty) try {
|
|
$defineProperty({}, "a", {
|
|
value: 1
|
|
})
|
|
} catch (e) {
|
|
$defineProperty = !1
|
|
}
|
|
module.exports = $defineProperty
|
|
},
|
|
18368: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
let Container = __webpack_require__(171),
|
|
Document = __webpack_require__(54399),
|
|
MapGenerator = __webpack_require__(66646),
|
|
parse = __webpack_require__(86999),
|
|
Result = __webpack_require__(69487),
|
|
Root = __webpack_require__(97914),
|
|
stringify = __webpack_require__(38137),
|
|
{
|
|
isClean,
|
|
my
|
|
} = __webpack_require__(7189);
|
|
__webpack_require__(96178);
|
|
const TYPE_TO_CLASS_NAME = {
|
|
atrule: "AtRule",
|
|
comment: "Comment",
|
|
decl: "Declaration",
|
|
document: "Document",
|
|
root: "Root",
|
|
rule: "Rule"
|
|
},
|
|
PLUGIN_PROPS = {
|
|
AtRule: !0,
|
|
AtRuleExit: !0,
|
|
Comment: !0,
|
|
CommentExit: !0,
|
|
Declaration: !0,
|
|
DeclarationExit: !0,
|
|
Document: !0,
|
|
DocumentExit: !0,
|
|
Once: !0,
|
|
OnceExit: !0,
|
|
postcssPlugin: !0,
|
|
prepare: !0,
|
|
Root: !0,
|
|
RootExit: !0,
|
|
Rule: !0,
|
|
RuleExit: !0
|
|
},
|
|
NOT_VISITORS = {
|
|
Once: !0,
|
|
postcssPlugin: !0,
|
|
prepare: !0
|
|
};
|
|
|
|
function isPromise(obj) {
|
|
return "object" == typeof obj && "function" == typeof obj.then
|
|
}
|
|
|
|
function getEvents(node) {
|
|
let key = !1,
|
|
type = TYPE_TO_CLASS_NAME[node.type];
|
|
return "decl" === node.type ? key = node.prop.toLowerCase() : "atrule" === node.type && (key = node.name.toLowerCase()), key && node.append ? [type, type + "-" + key, 0, type + "Exit", type + "Exit-" + key] : key ? [type, type + "-" + key, type + "Exit", type + "Exit-" + key] : node.append ? [type, 0, type + "Exit"] : [type, type + "Exit"]
|
|
}
|
|
|
|
function toStack(node) {
|
|
let events;
|
|
return events = "document" === node.type ? ["Document", 0, "DocumentExit"] : "root" === node.type ? ["Root", 0, "RootExit"] : getEvents(node), {
|
|
eventIndex: 0,
|
|
events,
|
|
iterator: 0,
|
|
node,
|
|
visitorIndex: 0,
|
|
visitors: []
|
|
}
|
|
}
|
|
|
|
function cleanMarks(node) {
|
|
return node[isClean] = !1, node.nodes && node.nodes.forEach(i => cleanMarks(i)), node
|
|
}
|
|
let postcss = {};
|
|
class LazyResult {
|
|
get content() {
|
|
return this.stringify().content
|
|
}
|
|
get css() {
|
|
return this.stringify().css
|
|
}
|
|
get map() {
|
|
return this.stringify().map
|
|
}
|
|
get messages() {
|
|
return this.sync().messages
|
|
}
|
|
get opts() {
|
|
return this.result.opts
|
|
}
|
|
get processor() {
|
|
return this.result.processor
|
|
}
|
|
get root() {
|
|
return this.sync().root
|
|
}
|
|
get[Symbol.toStringTag]() {
|
|
return "LazyResult"
|
|
}
|
|
constructor(processor, css, opts) {
|
|
let root;
|
|
if (this.stringified = !1, this.processed = !1, "object" != typeof css || null === css || "root" !== css.type && "document" !== css.type)
|
|
if (css instanceof LazyResult || css instanceof Result) root = cleanMarks(css.root), css.map && (void 0 === opts.map && (opts.map = {}), opts.map.inline || (opts.map.inline = !1), opts.map.prev = css.map);
|
|
else {
|
|
let parser = parse;
|
|
opts.syntax && (parser = opts.syntax.parse), opts.parser && (parser = opts.parser), parser.parse && (parser = parser.parse);
|
|
try {
|
|
root = parser(css, opts)
|
|
} catch (error) {
|
|
this.processed = !0, this.error = error
|
|
}
|
|
root && !root[my] && Container.rebuild(root)
|
|
}
|
|
else root = cleanMarks(css);
|
|
this.result = new Result(processor, root, opts), this.helpers = {
|
|
...postcss,
|
|
postcss,
|
|
result: this.result
|
|
}, this.plugins = this.processor.plugins.map(plugin => "object" == typeof plugin && plugin.prepare ? {
|
|
...plugin,
|
|
...plugin.prepare(this.result)
|
|
} : plugin)
|
|
}
|
|
async () {
|
|
return this.error ? Promise.reject(this.error) : this.processed ? Promise.resolve(this.result) : (this.processing || (this.processing = this.runAsync()), this.processing)
|
|
} catch (onRejected) {
|
|
return this.async().catch(onRejected)
|
|
} finally(onFinally) {
|
|
return this.async().then(onFinally, onFinally)
|
|
}
|
|
getAsyncError() {
|
|
throw new Error("Use process(css).then(cb) to work with async plugins")
|
|
}
|
|
handleError(error, node) {
|
|
let plugin = this.result.lastPlugin;
|
|
try {
|
|
node && node.addToError(error), this.error = error, "CssSyntaxError" !== error.name || error.plugin ? plugin.postcssVersion : (error.plugin = plugin.postcssPlugin, error.setMessage())
|
|
} catch (err) {
|
|
console && console.error && console.error(err)
|
|
}
|
|
return error
|
|
}
|
|
prepareVisitors() {
|
|
this.listeners = {};
|
|
let add = (plugin, type, cb) => {
|
|
this.listeners[type] || (this.listeners[type] = []), this.listeners[type].push([plugin, cb])
|
|
};
|
|
for (let plugin of this.plugins)
|
|
if ("object" == typeof plugin)
|
|
for (let event in plugin) {
|
|
if (!PLUGIN_PROPS[event] && /^[A-Z]/.test(event)) throw new Error(`Unknown event ${event} in ${plugin.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);
|
|
if (!NOT_VISITORS[event])
|
|
if ("object" == typeof plugin[event])
|
|
for (let filter in plugin[event]) add(plugin, "*" === filter ? event : event + "-" + filter.toLowerCase(), plugin[event][filter]);
|
|
else "function" == typeof plugin[event] && add(plugin, event, plugin[event])
|
|
}
|
|
this.hasListener = Object.keys(this.listeners).length > 0
|
|
}
|
|
async runAsync() {
|
|
this.plugin = 0;
|
|
for (let i = 0; i < this.plugins.length; i++) {
|
|
let plugin = this.plugins[i],
|
|
promise = this.runOnRoot(plugin);
|
|
if (isPromise(promise)) try {
|
|
await promise
|
|
} catch (error) {
|
|
throw this.handleError(error)
|
|
}
|
|
}
|
|
if (this.prepareVisitors(), this.hasListener) {
|
|
let root = this.result.root;
|
|
for (; !root[isClean];) {
|
|
root[isClean] = !0;
|
|
let stack = [toStack(root)];
|
|
for (; stack.length > 0;) {
|
|
let promise = this.visitTick(stack);
|
|
if (isPromise(promise)) try {
|
|
await promise
|
|
} catch (e) {
|
|
let node = stack[stack.length - 1].node;
|
|
throw this.handleError(e, node)
|
|
}
|
|
}
|
|
}
|
|
if (this.listeners.OnceExit)
|
|
for (let [plugin, visitor] of this.listeners.OnceExit) {
|
|
this.result.lastPlugin = plugin;
|
|
try {
|
|
if ("document" === root.type) {
|
|
let roots = root.nodes.map(subRoot => visitor(subRoot, this.helpers));
|
|
await Promise.all(roots)
|
|
} else await visitor(root, this.helpers)
|
|
} catch (e) {
|
|
throw this.handleError(e)
|
|
}
|
|
}
|
|
}
|
|
return this.processed = !0, this.stringify()
|
|
}
|
|
runOnRoot(plugin) {
|
|
this.result.lastPlugin = plugin;
|
|
try {
|
|
if ("object" == typeof plugin && plugin.Once) {
|
|
if ("document" === this.result.root.type) {
|
|
let roots = this.result.root.nodes.map(root => plugin.Once(root, this.helpers));
|
|
return isPromise(roots[0]) ? Promise.all(roots) : roots
|
|
}
|
|
return plugin.Once(this.result.root, this.helpers)
|
|
}
|
|
if ("function" == typeof plugin) return plugin(this.result.root, this.result)
|
|
} catch (error) {
|
|
throw this.handleError(error)
|
|
}
|
|
}
|
|
stringify() {
|
|
if (this.error) throw this.error;
|
|
if (this.stringified) return this.result;
|
|
this.stringified = !0, this.sync();
|
|
let opts = this.result.opts,
|
|
str = stringify;
|
|
opts.syntax && (str = opts.syntax.stringify), opts.stringifier && (str = opts.stringifier), str.stringify && (str = str.stringify);
|
|
let data = new MapGenerator(str, this.result.root, this.result.opts).generate();
|
|
return this.result.css = data[0], this.result.map = data[1], this.result
|
|
}
|
|
sync() {
|
|
if (this.error) throw this.error;
|
|
if (this.processed) return this.result;
|
|
if (this.processed = !0, this.processing) throw this.getAsyncError();
|
|
for (let plugin of this.plugins) {
|
|
if (isPromise(this.runOnRoot(plugin))) throw this.getAsyncError()
|
|
}
|
|
if (this.prepareVisitors(), this.hasListener) {
|
|
let root = this.result.root;
|
|
for (; !root[isClean];) root[isClean] = !0, this.walkSync(root);
|
|
if (this.listeners.OnceExit)
|
|
if ("document" === root.type)
|
|
for (let subRoot of root.nodes) this.visitSync(this.listeners.OnceExit, subRoot);
|
|
else this.visitSync(this.listeners.OnceExit, root)
|
|
}
|
|
return this.result
|
|
}
|
|
then(onFulfilled, onRejected) {
|
|
return this.async().then(onFulfilled, onRejected)
|
|
}
|
|
toString() {
|
|
return this.css
|
|
}
|
|
visitSync(visitors, node) {
|
|
for (let [plugin, visitor] of visitors) {
|
|
let promise;
|
|
this.result.lastPlugin = plugin;
|
|
try {
|
|
promise = visitor(node, this.helpers)
|
|
} catch (e) {
|
|
throw this.handleError(e, node.proxyOf)
|
|
}
|
|
if ("root" !== node.type && "document" !== node.type && !node.parent) return !0;
|
|
if (isPromise(promise)) throw this.getAsyncError()
|
|
}
|
|
}
|
|
visitTick(stack) {
|
|
let visit = stack[stack.length - 1],
|
|
{
|
|
node,
|
|
visitors
|
|
} = visit;
|
|
if ("root" !== node.type && "document" !== node.type && !node.parent) return void stack.pop();
|
|
if (visitors.length > 0 && visit.visitorIndex < visitors.length) {
|
|
let [plugin, visitor] = visitors[visit.visitorIndex];
|
|
visit.visitorIndex += 1, visit.visitorIndex === visitors.length && (visit.visitors = [], visit.visitorIndex = 0), this.result.lastPlugin = plugin;
|
|
try {
|
|
return visitor(node.toProxy(), this.helpers)
|
|
} catch (e) {
|
|
throw this.handleError(e, node)
|
|
}
|
|
}
|
|
if (0 !== visit.iterator) {
|
|
let child, iterator = visit.iterator;
|
|
for (; child = node.nodes[node.indexes[iterator]];)
|
|
if (node.indexes[iterator] += 1, !child[isClean]) return child[isClean] = !0, void stack.push(toStack(child));
|
|
visit.iterator = 0, delete node.indexes[iterator]
|
|
}
|
|
let events = visit.events;
|
|
for (; visit.eventIndex < events.length;) {
|
|
let event = events[visit.eventIndex];
|
|
if (visit.eventIndex += 1, 0 === event) return void(node.nodes && node.nodes.length && (node[isClean] = !0, visit.iterator = node.getIterator()));
|
|
if (this.listeners[event]) return void(visit.visitors = this.listeners[event])
|
|
}
|
|
stack.pop()
|
|
}
|
|
walkSync(node) {
|
|
node[isClean] = !0;
|
|
let events = getEvents(node);
|
|
for (let event of events)
|
|
if (0 === event) node.nodes && node.each(child => {
|
|
child[isClean] || this.walkSync(child)
|
|
});
|
|
else {
|
|
let visitors = this.listeners[event];
|
|
if (visitors && this.visitSync(visitors, node.toProxy())) return
|
|
}
|
|
}
|
|
warnings() {
|
|
return this.sync().warnings()
|
|
}
|
|
}
|
|
LazyResult.registerPostcss = dependant => {
|
|
postcss = dependant
|
|
}, module.exports = LazyResult, LazyResult.default = LazyResult, Root.registerLazyResult(LazyResult), Document.registerLazyResult(LazyResult)
|
|
},
|
|
18668: module => {
|
|
var nativeObjectToString = Object.prototype.toString;
|
|
module.exports = function(value) {
|
|
return nativeObjectToString.call(value)
|
|
}
|
|
},
|
|
19025: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var noCase = __webpack_require__(37129);
|
|
module.exports = function(value, locale) {
|
|
return noCase(value, locale, "_")
|
|
}
|
|
},
|
|
19457: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var upperCase = __webpack_require__(96817),
|
|
noCase = __webpack_require__(37129);
|
|
module.exports = function(value, locale, mergeNumbers) {
|
|
var result = noCase(value, locale);
|
|
return mergeNumbers || (result = result.replace(/ (?=\d)/g, "_")), result.replace(/ (.)/g, function(m, $1) {
|
|
return upperCase($1, locale)
|
|
})
|
|
}
|
|
},
|
|
19763: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
const state = this.stateStack[this.stateStack.length - 1],
|
|
node = state.node;
|
|
if (!state.done_) return state.done_ = !0, void this.stateStack.push({
|
|
node: node.argument,
|
|
components: "delete" === node.operator
|
|
});
|
|
this.stateStack.pop();
|
|
let value = state.value;
|
|
if ("-" === node.operator) value = -value.toNumber();
|
|
else if ("+" === node.operator) value = value.toNumber();
|
|
else if ("!" === node.operator) value = !value.toBoolean();
|
|
else if ("~" === node.operator) value = ~value.toNumber();
|
|
else if ("delete" === node.operator) {
|
|
let obj, name;
|
|
if (value.length ? (obj = value[0], name = value[1]) : (obj = this.getScope(), name = value), value = this.deleteProperty(obj, name), !value && this.getScope().strict) return void this.throwException(this.TYPE_ERROR, `Cannot delete property '${name}' of '${obj}'`)
|
|
} else if ("typeof" === node.operator) value = value.type;
|
|
else {
|
|
if ("void" !== node.operator) throw SyntaxError(`Unknown unary operator: ${node.operator}`);
|
|
value = void 0
|
|
}
|
|
this.stateStack[this.stateStack.length - 1].value = this.createPrimitive(value)
|
|
}, module.exports = exports.default
|
|
},
|
|
19856: module => {
|
|
"use strict";
|
|
var UPPER_A_CP = "A".codePointAt(0),
|
|
UPPER_Z_CP = "Z".codePointAt(0);
|
|
module.exports = {
|
|
_AZClassRanges: null,
|
|
_hasUFlag: !1,
|
|
init: function(ast) {
|
|
this._AZClassRanges = new Set, this._hasUFlag = ast.flags.includes("u")
|
|
},
|
|
shouldRun: function(ast) {
|
|
return ast.flags.includes("i")
|
|
},
|
|
Char: function(path) {
|
|
var node = path.node,
|
|
parent = path.parent;
|
|
if (!isNaN(node.codePoint) && (this._hasUFlag || !(node.codePoint >= 4096))) {
|
|
if ("ClassRange" === parent.type) {
|
|
if (!(this._AZClassRanges.has(parent) || (classRange = parent, from = classRange.from, to = classRange.to, from.codePoint >= UPPER_A_CP && from.codePoint <= UPPER_Z_CP && to.codePoint >= UPPER_A_CP && to.codePoint <= UPPER_Z_CP))) return;
|
|
this._AZClassRanges.add(parent)
|
|
}
|
|
var classRange, from, to, lower = node.symbol.toLowerCase();
|
|
lower !== node.symbol && (node.value = function(symbol, node) {
|
|
var codePoint = symbol.codePointAt(0);
|
|
if ("decimal" === node.kind) return "\\" + codePoint;
|
|
if ("oct" === node.kind) return "\\0" + codePoint.toString(8);
|
|
if ("hex" === node.kind) return "\\x" + codePoint.toString(16);
|
|
if ("unicode" === node.kind) {
|
|
if (node.isSurrogatePair) {
|
|
var _getSurrogatePairFrom = function(codePoint) {
|
|
var lead = Math.floor((codePoint - 65536) / 1024) + 55296,
|
|
trail = (codePoint - 65536) % 1024 + 56320;
|
|
return {
|
|
lead: lead.toString(16),
|
|
trail: trail.toString(16)
|
|
}
|
|
}(codePoint),
|
|
lead = _getSurrogatePairFrom.lead,
|
|
trail = _getSurrogatePairFrom.trail;
|
|
return "\\u" + "0".repeat(4 - lead.length) + lead + "\\u" + "0".repeat(4 - trail.length) + trail
|
|
}
|
|
if (node.value.includes("{")) return "\\u{" + codePoint.toString(16) + "}";
|
|
var code = codePoint.toString(16);
|
|
return "\\u" + "0".repeat(4 - code.length) + code
|
|
}
|
|
return symbol
|
|
}(lower, node), node.symbol = lower, node.codePoint = lower.codePointAt(0))
|
|
}
|
|
}
|
|
}
|
|
},
|
|
19977: () => {},
|
|
20054: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
return _doWhileStatement.default.apply(this)
|
|
};
|
|
var _doWhileStatement = _interopRequireDefault(__webpack_require__(11123));
|
|
module.exports = exports.default
|
|
},
|
|
20323: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var freeGlobal = __webpack_require__(72814),
|
|
freeSelf = "object" == typeof self && self && self.Object === Object && self,
|
|
root = freeGlobal || freeSelf || Function("return this")();
|
|
module.exports = root
|
|
},
|
|
20972: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
let Node = __webpack_require__(834);
|
|
class Declaration extends Node {
|
|
get variable() {
|
|
return this.prop.startsWith("--") || "$" === this.prop[0]
|
|
}
|
|
constructor(defaults) {
|
|
defaults && void 0 !== defaults.value && "string" != typeof defaults.value && (defaults = {
|
|
...defaults,
|
|
value: String(defaults.value)
|
|
}), super(defaults), this.type = "decl"
|
|
}
|
|
}
|
|
module.exports = Declaration, Declaration.default = Declaration
|
|
},
|
|
21034: module => {
|
|
module.exports = function(value, other) {
|
|
return value === other || value != value && other != other
|
|
}
|
|
},
|
|
21105: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var lowerCase = __webpack_require__(11895);
|
|
module.exports = function(string, locale) {
|
|
return lowerCase(string, locale) === string
|
|
}
|
|
},
|
|
21246: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var eq = __webpack_require__(21034),
|
|
isArrayLike = __webpack_require__(67772),
|
|
isIndex = __webpack_require__(5511),
|
|
isObject = __webpack_require__(24547);
|
|
module.exports = function(value, index, object) {
|
|
if (!isObject(object)) return !1;
|
|
var type = typeof index;
|
|
return !!("number" == type ? isArrayLike(object) && isIndex(index, object.length) : "string" == type && index in object) && eq(object[index], value)
|
|
}
|
|
},
|
|
21258: function(__unused_webpack_module, exports, __webpack_require__) {
|
|
"use strict";
|
|
var __createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
void 0 === k2 && (k2 = k);
|
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
desc && !("get" in desc ? !m.__esModule : desc.writable || desc.configurable) || (desc = {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return m[k]
|
|
}
|
|
}), Object.defineProperty(o, k2, desc)
|
|
} : function(o, m, k, k2) {
|
|
void 0 === k2 && (k2 = k), o[k2] = m[k]
|
|
}),
|
|
__exportStar = this && this.__exportStar || function(m, exports) {
|
|
for (var p in m) "default" === p || Object.prototype.hasOwnProperty.call(exports, p) || __createBinding(exports, m, p)
|
|
};
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.hasChildren = exports.isDocument = exports.isComment = exports.isText = exports.isCDATA = exports.isTag = void 0, __exportStar(__webpack_require__(94551), exports), __exportStar(__webpack_require__(33560), exports), __exportStar(__webpack_require__(62497), exports), __exportStar(__webpack_require__(8612), exports), __exportStar(__webpack_require__(56587), exports), __exportStar(__webpack_require__(87323), exports), __exportStar(__webpack_require__(54379), exports);
|
|
var domhandler_1 = __webpack_require__(59811);
|
|
Object.defineProperty(exports, "isTag", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return domhandler_1.isTag
|
|
}
|
|
}), Object.defineProperty(exports, "isCDATA", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return domhandler_1.isCDATA
|
|
}
|
|
}), Object.defineProperty(exports, "isText", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return domhandler_1.isText
|
|
}
|
|
}), Object.defineProperty(exports, "isComment", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return domhandler_1.isComment
|
|
}
|
|
}), Object.defineProperty(exports, "isDocument", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return domhandler_1.isDocument
|
|
}
|
|
}), Object.defineProperty(exports, "hasChildren", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return domhandler_1.hasChildren
|
|
}
|
|
})
|
|
},
|
|
21271: module => {
|
|
var s = 1e3,
|
|
m = 60 * s,
|
|
h = 60 * m,
|
|
d = 24 * h,
|
|
w = 7 * d,
|
|
y = 365.25 * d;
|
|
|
|
function plural(ms, msAbs, n, name) {
|
|
var isPlural = msAbs >= 1.5 * n;
|
|
return Math.round(ms / n) + " " + name + (isPlural ? "s" : "")
|
|
}
|
|
module.exports = function(val, options) {
|
|
options = options || {};
|
|
var type = typeof val;
|
|
if ("string" === type && val.length > 0) return function(str) {
|
|
if ((str = String(str)).length > 100) return;
|
|
var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str);
|
|
if (!match) return;
|
|
var n = parseFloat(match[1]);
|
|
switch ((match[2] || "ms").toLowerCase()) {
|
|
case "years":
|
|
case "year":
|
|
case "yrs":
|
|
case "yr":
|
|
case "y":
|
|
return n * y;
|
|
case "weeks":
|
|
case "week":
|
|
case "w":
|
|
return n * w;
|
|
case "days":
|
|
case "day":
|
|
case "d":
|
|
return n * d;
|
|
case "hours":
|
|
case "hour":
|
|
case "hrs":
|
|
case "hr":
|
|
case "h":
|
|
return n * h;
|
|
case "minutes":
|
|
case "minute":
|
|
case "mins":
|
|
case "min":
|
|
case "m":
|
|
return n * m;
|
|
case "seconds":
|
|
case "second":
|
|
case "secs":
|
|
case "sec":
|
|
case "s":
|
|
return n * s;
|
|
case "milliseconds":
|
|
case "millisecond":
|
|
case "msecs":
|
|
case "msec":
|
|
case "ms":
|
|
return n;
|
|
default:
|
|
return
|
|
}
|
|
}(val);
|
|
if ("number" === type && isFinite(val)) return options.long ? function(ms) {
|
|
var msAbs = Math.abs(ms);
|
|
if (msAbs >= d) return plural(ms, msAbs, d, "day");
|
|
if (msAbs >= h) return plural(ms, msAbs, h, "hour");
|
|
if (msAbs >= m) return plural(ms, msAbs, m, "minute");
|
|
if (msAbs >= s) return plural(ms, msAbs, s, "second");
|
|
return ms + " ms"
|
|
}(val) : function(ms) {
|
|
var msAbs = Math.abs(ms);
|
|
if (msAbs >= d) return Math.round(ms / d) + "d";
|
|
if (msAbs >= h) return Math.round(ms / h) + "h";
|
|
if (msAbs >= m) return Math.round(ms / m) + "m";
|
|
if (msAbs >= s) return Math.round(ms / s) + "s";
|
|
return ms + "ms"
|
|
}(val);
|
|
throw new Error("val is not a non-empty string or a valid number. val=" + JSON.stringify(val))
|
|
}
|
|
},
|
|
21308: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
module.exports = "object" == typeof self && self.self === self && self || "object" == typeof __webpack_require__.g && __webpack_require__.g.global === __webpack_require__.g && __webpack_require__.g || void 0
|
|
},
|
|
21707: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
const state = this.stateStack[this.stateStack.length - 1],
|
|
node = state.node;
|
|
if (state.doneObject_)
|
|
if (state.doneBody_) this.stateStack.pop();
|
|
else {
|
|
state.doneBody_ = !0;
|
|
const scope = this.createSpecialScope(this.getScope(), state.value);
|
|
this.stateStack.push({
|
|
node: node.body,
|
|
scope
|
|
})
|
|
}
|
|
else state.doneObject_ = !0, this.stateStack.push({
|
|
node: node.object
|
|
})
|
|
}, module.exports = exports.default
|
|
},
|
|
21778: (__unused_webpack_module, exports) => {
|
|
"use strict";
|
|
|
|
function restoreDiff(arr) {
|
|
for (var i = 1; i < arr.length; i++) arr[i][0] += arr[i - 1][0] + 1;
|
|
return arr
|
|
}
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = new Map(restoreDiff([
|
|
[9, "	"],
|
|
[0, "
"],
|
|
[22, "!"],
|
|
[0, """],
|
|
[0, "#"],
|
|
[0, "$"],
|
|
[0, "%"],
|
|
[0, "&"],
|
|
[0, "'"],
|
|
[0, "("],
|
|
[0, ")"],
|
|
[0, "*"],
|
|
[0, "+"],
|
|
[0, ","],
|
|
[1, "."],
|
|
[0, "/"],
|
|
[10, ":"],
|
|
[0, ";"],
|
|
[0, {
|
|
v: "<",
|
|
n: 8402,
|
|
o: "<⃒"
|
|
}],
|
|
[0, {
|
|
v: "=",
|
|
n: 8421,
|
|
o: "=⃥"
|
|
}],
|
|
[0, {
|
|
v: ">",
|
|
n: 8402,
|
|
o: ">⃒"
|
|
}],
|
|
[0, "?"],
|
|
[0, "@"],
|
|
[26, "["],
|
|
[0, "\"],
|
|
[0, "]"],
|
|
[0, "^"],
|
|
[0, "_"],
|
|
[0, "`"],
|
|
[5, {
|
|
n: 106,
|
|
o: "fj"
|
|
}],
|
|
[20, "{"],
|
|
[0, "|"],
|
|
[0, "}"],
|
|
[34, " "],
|
|
[0, "¡"],
|
|
[0, "¢"],
|
|
[0, "£"],
|
|
[0, "¤"],
|
|
[0, "¥"],
|
|
[0, "¦"],
|
|
[0, "§"],
|
|
[0, "¨"],
|
|
[0, "©"],
|
|
[0, "ª"],
|
|
[0, "«"],
|
|
[0, "¬"],
|
|
[0, "­"],
|
|
[0, "®"],
|
|
[0, "¯"],
|
|
[0, "°"],
|
|
[0, "±"],
|
|
[0, "²"],
|
|
[0, "³"],
|
|
[0, "´"],
|
|
[0, "µ"],
|
|
[0, "¶"],
|
|
[0, "·"],
|
|
[0, "¸"],
|
|
[0, "¹"],
|
|
[0, "º"],
|
|
[0, "»"],
|
|
[0, "¼"],
|
|
[0, "½"],
|
|
[0, "¾"],
|
|
[0, "¿"],
|
|
[0, "À"],
|
|
[0, "Á"],
|
|
[0, "Â"],
|
|
[0, "Ã"],
|
|
[0, "Ä"],
|
|
[0, "Å"],
|
|
[0, "Æ"],
|
|
[0, "Ç"],
|
|
[0, "È"],
|
|
[0, "É"],
|
|
[0, "Ê"],
|
|
[0, "Ë"],
|
|
[0, "Ì"],
|
|
[0, "Í"],
|
|
[0, "Î"],
|
|
[0, "Ï"],
|
|
[0, "Ð"],
|
|
[0, "Ñ"],
|
|
[0, "Ò"],
|
|
[0, "Ó"],
|
|
[0, "Ô"],
|
|
[0, "Õ"],
|
|
[0, "Ö"],
|
|
[0, "×"],
|
|
[0, "Ø"],
|
|
[0, "Ù"],
|
|
[0, "Ú"],
|
|
[0, "Û"],
|
|
[0, "Ü"],
|
|
[0, "Ý"],
|
|
[0, "Þ"],
|
|
[0, "ß"],
|
|
[0, "à"],
|
|
[0, "á"],
|
|
[0, "â"],
|
|
[0, "ã"],
|
|
[0, "ä"],
|
|
[0, "å"],
|
|
[0, "æ"],
|
|
[0, "ç"],
|
|
[0, "è"],
|
|
[0, "é"],
|
|
[0, "ê"],
|
|
[0, "ë"],
|
|
[0, "ì"],
|
|
[0, "í"],
|
|
[0, "î"],
|
|
[0, "ï"],
|
|
[0, "ð"],
|
|
[0, "ñ"],
|
|
[0, "ò"],
|
|
[0, "ó"],
|
|
[0, "ô"],
|
|
[0, "õ"],
|
|
[0, "ö"],
|
|
[0, "÷"],
|
|
[0, "ø"],
|
|
[0, "ù"],
|
|
[0, "ú"],
|
|
[0, "û"],
|
|
[0, "ü"],
|
|
[0, "ý"],
|
|
[0, "þ"],
|
|
[0, "ÿ"],
|
|
[0, "Ā"],
|
|
[0, "ā"],
|
|
[0, "Ă"],
|
|
[0, "ă"],
|
|
[0, "Ą"],
|
|
[0, "ą"],
|
|
[0, "Ć"],
|
|
[0, "ć"],
|
|
[0, "Ĉ"],
|
|
[0, "ĉ"],
|
|
[0, "Ċ"],
|
|
[0, "ċ"],
|
|
[0, "Č"],
|
|
[0, "č"],
|
|
[0, "Ď"],
|
|
[0, "ď"],
|
|
[0, "Đ"],
|
|
[0, "đ"],
|
|
[0, "Ē"],
|
|
[0, "ē"],
|
|
[2, "Ė"],
|
|
[0, "ė"],
|
|
[0, "Ę"],
|
|
[0, "ę"],
|
|
[0, "Ě"],
|
|
[0, "ě"],
|
|
[0, "Ĝ"],
|
|
[0, "ĝ"],
|
|
[0, "Ğ"],
|
|
[0, "ğ"],
|
|
[0, "Ġ"],
|
|
[0, "ġ"],
|
|
[0, "Ģ"],
|
|
[1, "Ĥ"],
|
|
[0, "ĥ"],
|
|
[0, "Ħ"],
|
|
[0, "ħ"],
|
|
[0, "Ĩ"],
|
|
[0, "ĩ"],
|
|
[0, "Ī"],
|
|
[0, "ī"],
|
|
[2, "Į"],
|
|
[0, "į"],
|
|
[0, "İ"],
|
|
[0, "ı"],
|
|
[0, "IJ"],
|
|
[0, "ij"],
|
|
[0, "Ĵ"],
|
|
[0, "ĵ"],
|
|
[0, "Ķ"],
|
|
[0, "ķ"],
|
|
[0, "ĸ"],
|
|
[0, "Ĺ"],
|
|
[0, "ĺ"],
|
|
[0, "Ļ"],
|
|
[0, "ļ"],
|
|
[0, "Ľ"],
|
|
[0, "ľ"],
|
|
[0, "Ŀ"],
|
|
[0, "ŀ"],
|
|
[0, "Ł"],
|
|
[0, "ł"],
|
|
[0, "Ń"],
|
|
[0, "ń"],
|
|
[0, "Ņ"],
|
|
[0, "ņ"],
|
|
[0, "Ň"],
|
|
[0, "ň"],
|
|
[0, "ʼn"],
|
|
[0, "Ŋ"],
|
|
[0, "ŋ"],
|
|
[0, "Ō"],
|
|
[0, "ō"],
|
|
[2, "Ő"],
|
|
[0, "ő"],
|
|
[0, "Œ"],
|
|
[0, "œ"],
|
|
[0, "Ŕ"],
|
|
[0, "ŕ"],
|
|
[0, "Ŗ"],
|
|
[0, "ŗ"],
|
|
[0, "Ř"],
|
|
[0, "ř"],
|
|
[0, "Ś"],
|
|
[0, "ś"],
|
|
[0, "Ŝ"],
|
|
[0, "ŝ"],
|
|
[0, "Ş"],
|
|
[0, "ş"],
|
|
[0, "Š"],
|
|
[0, "š"],
|
|
[0, "Ţ"],
|
|
[0, "ţ"],
|
|
[0, "Ť"],
|
|
[0, "ť"],
|
|
[0, "Ŧ"],
|
|
[0, "ŧ"],
|
|
[0, "Ũ"],
|
|
[0, "ũ"],
|
|
[0, "Ū"],
|
|
[0, "ū"],
|
|
[0, "Ŭ"],
|
|
[0, "ŭ"],
|
|
[0, "Ů"],
|
|
[0, "ů"],
|
|
[0, "Ű"],
|
|
[0, "ű"],
|
|
[0, "Ų"],
|
|
[0, "ų"],
|
|
[0, "Ŵ"],
|
|
[0, "ŵ"],
|
|
[0, "Ŷ"],
|
|
[0, "ŷ"],
|
|
[0, "Ÿ"],
|
|
[0, "Ź"],
|
|
[0, "ź"],
|
|
[0, "Ż"],
|
|
[0, "ż"],
|
|
[0, "Ž"],
|
|
[0, "ž"],
|
|
[19, "ƒ"],
|
|
[34, "Ƶ"],
|
|
[63, "ǵ"],
|
|
[65, "ȷ"],
|
|
[142, "ˆ"],
|
|
[0, "ˇ"],
|
|
[16, "˘"],
|
|
[0, "˙"],
|
|
[0, "˚"],
|
|
[0, "˛"],
|
|
[0, "˜"],
|
|
[0, "˝"],
|
|
[51, "̑"],
|
|
[127, "Α"],
|
|
[0, "Β"],
|
|
[0, "Γ"],
|
|
[0, "Δ"],
|
|
[0, "Ε"],
|
|
[0, "Ζ"],
|
|
[0, "Η"],
|
|
[0, "Θ"],
|
|
[0, "Ι"],
|
|
[0, "Κ"],
|
|
[0, "Λ"],
|
|
[0, "Μ"],
|
|
[0, "Ν"],
|
|
[0, "Ξ"],
|
|
[0, "Ο"],
|
|
[0, "Π"],
|
|
[0, "Ρ"],
|
|
[1, "Σ"],
|
|
[0, "Τ"],
|
|
[0, "Υ"],
|
|
[0, "Φ"],
|
|
[0, "Χ"],
|
|
[0, "Ψ"],
|
|
[0, "Ω"],
|
|
[7, "α"],
|
|
[0, "β"],
|
|
[0, "γ"],
|
|
[0, "δ"],
|
|
[0, "ε"],
|
|
[0, "ζ"],
|
|
[0, "η"],
|
|
[0, "θ"],
|
|
[0, "ι"],
|
|
[0, "κ"],
|
|
[0, "λ"],
|
|
[0, "μ"],
|
|
[0, "ν"],
|
|
[0, "ξ"],
|
|
[0, "ο"],
|
|
[0, "π"],
|
|
[0, "ρ"],
|
|
[0, "ς"],
|
|
[0, "σ"],
|
|
[0, "τ"],
|
|
[0, "υ"],
|
|
[0, "φ"],
|
|
[0, "χ"],
|
|
[0, "ψ"],
|
|
[0, "ω"],
|
|
[7, "ϑ"],
|
|
[0, "ϒ"],
|
|
[2, "ϕ"],
|
|
[0, "ϖ"],
|
|
[5, "Ϝ"],
|
|
[0, "ϝ"],
|
|
[18, "ϰ"],
|
|
[0, "ϱ"],
|
|
[3, "ϵ"],
|
|
[0, "϶"],
|
|
[10, "Ё"],
|
|
[0, "Ђ"],
|
|
[0, "Ѓ"],
|
|
[0, "Є"],
|
|
[0, "Ѕ"],
|
|
[0, "І"],
|
|
[0, "Ї"],
|
|
[0, "Ј"],
|
|
[0, "Љ"],
|
|
[0, "Њ"],
|
|
[0, "Ћ"],
|
|
[0, "Ќ"],
|
|
[1, "Ў"],
|
|
[0, "Џ"],
|
|
[0, "А"],
|
|
[0, "Б"],
|
|
[0, "В"],
|
|
[0, "Г"],
|
|
[0, "Д"],
|
|
[0, "Е"],
|
|
[0, "Ж"],
|
|
[0, "З"],
|
|
[0, "И"],
|
|
[0, "Й"],
|
|
[0, "К"],
|
|
[0, "Л"],
|
|
[0, "М"],
|
|
[0, "Н"],
|
|
[0, "О"],
|
|
[0, "П"],
|
|
[0, "Р"],
|
|
[0, "С"],
|
|
[0, "Т"],
|
|
[0, "У"],
|
|
[0, "Ф"],
|
|
[0, "Х"],
|
|
[0, "Ц"],
|
|
[0, "Ч"],
|
|
[0, "Ш"],
|
|
[0, "Щ"],
|
|
[0, "Ъ"],
|
|
[0, "Ы"],
|
|
[0, "Ь"],
|
|
[0, "Э"],
|
|
[0, "Ю"],
|
|
[0, "Я"],
|
|
[0, "а"],
|
|
[0, "б"],
|
|
[0, "в"],
|
|
[0, "г"],
|
|
[0, "д"],
|
|
[0, "е"],
|
|
[0, "ж"],
|
|
[0, "з"],
|
|
[0, "и"],
|
|
[0, "й"],
|
|
[0, "к"],
|
|
[0, "л"],
|
|
[0, "м"],
|
|
[0, "н"],
|
|
[0, "о"],
|
|
[0, "п"],
|
|
[0, "р"],
|
|
[0, "с"],
|
|
[0, "т"],
|
|
[0, "у"],
|
|
[0, "ф"],
|
|
[0, "х"],
|
|
[0, "ц"],
|
|
[0, "ч"],
|
|
[0, "ш"],
|
|
[0, "щ"],
|
|
[0, "ъ"],
|
|
[0, "ы"],
|
|
[0, "ь"],
|
|
[0, "э"],
|
|
[0, "ю"],
|
|
[0, "я"],
|
|
[1, "ё"],
|
|
[0, "ђ"],
|
|
[0, "ѓ"],
|
|
[0, "є"],
|
|
[0, "ѕ"],
|
|
[0, "і"],
|
|
[0, "ї"],
|
|
[0, "ј"],
|
|
[0, "љ"],
|
|
[0, "њ"],
|
|
[0, "ћ"],
|
|
[0, "ќ"],
|
|
[1, "ў"],
|
|
[0, "џ"],
|
|
[7074, " "],
|
|
[0, " "],
|
|
[0, " "],
|
|
[0, " "],
|
|
[1, " "],
|
|
[0, " "],
|
|
[0, " "],
|
|
[0, " "],
|
|
[0, "​"],
|
|
[0, "‌"],
|
|
[0, "‍"],
|
|
[0, "‎"],
|
|
[0, "‏"],
|
|
[0, "‐"],
|
|
[2, "–"],
|
|
[0, "—"],
|
|
[0, "―"],
|
|
[0, "‖"],
|
|
[1, "‘"],
|
|
[0, "’"],
|
|
[0, "‚"],
|
|
[1, "“"],
|
|
[0, "”"],
|
|
[0, "„"],
|
|
[1, "†"],
|
|
[0, "‡"],
|
|
[0, "•"],
|
|
[2, "‥"],
|
|
[0, "…"],
|
|
[9, "‰"],
|
|
[0, "‱"],
|
|
[0, "′"],
|
|
[0, "″"],
|
|
[0, "‴"],
|
|
[0, "‵"],
|
|
[3, "‹"],
|
|
[0, "›"],
|
|
[3, "‾"],
|
|
[2, "⁁"],
|
|
[1, "⁃"],
|
|
[0, "⁄"],
|
|
[10, "⁏"],
|
|
[7, "⁗"],
|
|
[7, {
|
|
v: " ",
|
|
n: 8202,
|
|
o: "  "
|
|
}],
|
|
[0, "⁠"],
|
|
[0, "⁡"],
|
|
[0, "⁢"],
|
|
[0, "⁣"],
|
|
[72, "€"],
|
|
[46, "⃛"],
|
|
[0, "⃜"],
|
|
[37, "ℂ"],
|
|
[2, "℅"],
|
|
[4, "ℊ"],
|
|
[0, "ℋ"],
|
|
[0, "ℌ"],
|
|
[0, "ℍ"],
|
|
[0, "ℎ"],
|
|
[0, "ℏ"],
|
|
[0, "ℐ"],
|
|
[0, "ℑ"],
|
|
[0, "ℒ"],
|
|
[0, "ℓ"],
|
|
[1, "ℕ"],
|
|
[0, "№"],
|
|
[0, "℗"],
|
|
[0, "℘"],
|
|
[0, "ℙ"],
|
|
[0, "ℚ"],
|
|
[0, "ℛ"],
|
|
[0, "ℜ"],
|
|
[0, "ℝ"],
|
|
[0, "℞"],
|
|
[3, "™"],
|
|
[1, "ℤ"],
|
|
[2, "℧"],
|
|
[0, "ℨ"],
|
|
[0, "℩"],
|
|
[2, "ℬ"],
|
|
[0, "ℭ"],
|
|
[1, "ℯ"],
|
|
[0, "ℰ"],
|
|
[0, "ℱ"],
|
|
[1, "ℳ"],
|
|
[0, "ℴ"],
|
|
[0, "ℵ"],
|
|
[0, "ℶ"],
|
|
[0, "ℷ"],
|
|
[0, "ℸ"],
|
|
[12, "ⅅ"],
|
|
[0, "ⅆ"],
|
|
[0, "ⅇ"],
|
|
[0, "ⅈ"],
|
|
[10, "⅓"],
|
|
[0, "⅔"],
|
|
[0, "⅕"],
|
|
[0, "⅖"],
|
|
[0, "⅗"],
|
|
[0, "⅘"],
|
|
[0, "⅙"],
|
|
[0, "⅚"],
|
|
[0, "⅛"],
|
|
[0, "⅜"],
|
|
[0, "⅝"],
|
|
[0, "⅞"],
|
|
[49, "←"],
|
|
[0, "↑"],
|
|
[0, "→"],
|
|
[0, "↓"],
|
|
[0, "↔"],
|
|
[0, "↕"],
|
|
[0, "↖"],
|
|
[0, "↗"],
|
|
[0, "↘"],
|
|
[0, "↙"],
|
|
[0, "↚"],
|
|
[0, "↛"],
|
|
[1, {
|
|
v: "↝",
|
|
n: 824,
|
|
o: "↝̸"
|
|
}],
|
|
[0, "↞"],
|
|
[0, "↟"],
|
|
[0, "↠"],
|
|
[0, "↡"],
|
|
[0, "↢"],
|
|
[0, "↣"],
|
|
[0, "↤"],
|
|
[0, "↥"],
|
|
[0, "↦"],
|
|
[0, "↧"],
|
|
[1, "↩"],
|
|
[0, "↪"],
|
|
[0, "↫"],
|
|
[0, "↬"],
|
|
[0, "↭"],
|
|
[0, "↮"],
|
|
[1, "↰"],
|
|
[0, "↱"],
|
|
[0, "↲"],
|
|
[0, "↳"],
|
|
[1, "↵"],
|
|
[0, "↶"],
|
|
[0, "↷"],
|
|
[2, "↺"],
|
|
[0, "↻"],
|
|
[0, "↼"],
|
|
[0, "↽"],
|
|
[0, "↾"],
|
|
[0, "↿"],
|
|
[0, "⇀"],
|
|
[0, "⇁"],
|
|
[0, "⇂"],
|
|
[0, "⇃"],
|
|
[0, "⇄"],
|
|
[0, "⇅"],
|
|
[0, "⇆"],
|
|
[0, "⇇"],
|
|
[0, "⇈"],
|
|
[0, "⇉"],
|
|
[0, "⇊"],
|
|
[0, "⇋"],
|
|
[0, "⇌"],
|
|
[0, "⇍"],
|
|
[0, "⇎"],
|
|
[0, "⇏"],
|
|
[0, "⇐"],
|
|
[0, "⇑"],
|
|
[0, "⇒"],
|
|
[0, "⇓"],
|
|
[0, "⇔"],
|
|
[0, "⇕"],
|
|
[0, "⇖"],
|
|
[0, "⇗"],
|
|
[0, "⇘"],
|
|
[0, "⇙"],
|
|
[0, "⇚"],
|
|
[0, "⇛"],
|
|
[1, "⇝"],
|
|
[6, "⇤"],
|
|
[0, "⇥"],
|
|
[15, "⇵"],
|
|
[7, "⇽"],
|
|
[0, "⇾"],
|
|
[0, "⇿"],
|
|
[0, "∀"],
|
|
[0, "∁"],
|
|
[0, {
|
|
v: "∂",
|
|
n: 824,
|
|
o: "∂̸"
|
|
}],
|
|
[0, "∃"],
|
|
[0, "∄"],
|
|
[0, "∅"],
|
|
[1, "∇"],
|
|
[0, "∈"],
|
|
[0, "∉"],
|
|
[1, "∋"],
|
|
[0, "∌"],
|
|
[2, "∏"],
|
|
[0, "∐"],
|
|
[0, "∑"],
|
|
[0, "−"],
|
|
[0, "∓"],
|
|
[0, "∔"],
|
|
[1, "∖"],
|
|
[0, "∗"],
|
|
[0, "∘"],
|
|
[1, "√"],
|
|
[2, "∝"],
|
|
[0, "∞"],
|
|
[0, "∟"],
|
|
[0, {
|
|
v: "∠",
|
|
n: 8402,
|
|
o: "∠⃒"
|
|
}],
|
|
[0, "∡"],
|
|
[0, "∢"],
|
|
[0, "∣"],
|
|
[0, "∤"],
|
|
[0, "∥"],
|
|
[0, "∦"],
|
|
[0, "∧"],
|
|
[0, "∨"],
|
|
[0, {
|
|
v: "∩",
|
|
n: 65024,
|
|
o: "∩︀"
|
|
}],
|
|
[0, {
|
|
v: "∪",
|
|
n: 65024,
|
|
o: "∪︀"
|
|
}],
|
|
[0, "∫"],
|
|
[0, "∬"],
|
|
[0, "∭"],
|
|
[0, "∮"],
|
|
[0, "∯"],
|
|
[0, "∰"],
|
|
[0, "∱"],
|
|
[0, "∲"],
|
|
[0, "∳"],
|
|
[0, "∴"],
|
|
[0, "∵"],
|
|
[0, "∶"],
|
|
[0, "∷"],
|
|
[0, "∸"],
|
|
[1, "∺"],
|
|
[0, "∻"],
|
|
[0, {
|
|
v: "∼",
|
|
n: 8402,
|
|
o: "∼⃒"
|
|
}],
|
|
[0, {
|
|
v: "∽",
|
|
n: 817,
|
|
o: "∽̱"
|
|
}],
|
|
[0, {
|
|
v: "∾",
|
|
n: 819,
|
|
o: "∾̳"
|
|
}],
|
|
[0, "∿"],
|
|
[0, "≀"],
|
|
[0, "≁"],
|
|
[0, {
|
|
v: "≂",
|
|
n: 824,
|
|
o: "≂̸"
|
|
}],
|
|
[0, "≃"],
|
|
[0, "≄"],
|
|
[0, "≅"],
|
|
[0, "≆"],
|
|
[0, "≇"],
|
|
[0, "≈"],
|
|
[0, "≉"],
|
|
[0, "≊"],
|
|
[0, {
|
|
v: "≋",
|
|
n: 824,
|
|
o: "≋̸"
|
|
}],
|
|
[0, "≌"],
|
|
[0, {
|
|
v: "≍",
|
|
n: 8402,
|
|
o: "≍⃒"
|
|
}],
|
|
[0, {
|
|
v: "≎",
|
|
n: 824,
|
|
o: "≎̸"
|
|
}],
|
|
[0, {
|
|
v: "≏",
|
|
n: 824,
|
|
o: "≏̸"
|
|
}],
|
|
[0, {
|
|
v: "≐",
|
|
n: 824,
|
|
o: "≐̸"
|
|
}],
|
|
[0, "≑"],
|
|
[0, "≒"],
|
|
[0, "≓"],
|
|
[0, "≔"],
|
|
[0, "≕"],
|
|
[0, "≖"],
|
|
[0, "≗"],
|
|
[1, "≙"],
|
|
[0, "≚"],
|
|
[1, "≜"],
|
|
[2, "≟"],
|
|
[0, "≠"],
|
|
[0, {
|
|
v: "≡",
|
|
n: 8421,
|
|
o: "≡⃥"
|
|
}],
|
|
[0, "≢"],
|
|
[1, {
|
|
v: "≤",
|
|
n: 8402,
|
|
o: "≤⃒"
|
|
}],
|
|
[0, {
|
|
v: "≥",
|
|
n: 8402,
|
|
o: "≥⃒"
|
|
}],
|
|
[0, {
|
|
v: "≦",
|
|
n: 824,
|
|
o: "≦̸"
|
|
}],
|
|
[0, {
|
|
v: "≧",
|
|
n: 824,
|
|
o: "≧̸"
|
|
}],
|
|
[0, {
|
|
v: "≨",
|
|
n: 65024,
|
|
o: "≨︀"
|
|
}],
|
|
[0, {
|
|
v: "≩",
|
|
n: 65024,
|
|
o: "≩︀"
|
|
}],
|
|
[0, {
|
|
v: "≪",
|
|
n: new Map(restoreDiff([
|
|
[824, "≪̸"],
|
|
[7577, "≪⃒"]
|
|
]))
|
|
}],
|
|
[0, {
|
|
v: "≫",
|
|
n: new Map(restoreDiff([
|
|
[824, "≫̸"],
|
|
[7577, "≫⃒"]
|
|
]))
|
|
}],
|
|
[0, "≬"],
|
|
[0, "≭"],
|
|
[0, "≮"],
|
|
[0, "≯"],
|
|
[0, "≰"],
|
|
[0, "≱"],
|
|
[0, "≲"],
|
|
[0, "≳"],
|
|
[0, "≴"],
|
|
[0, "≵"],
|
|
[0, "≶"],
|
|
[0, "≷"],
|
|
[0, "≸"],
|
|
[0, "≹"],
|
|
[0, "≺"],
|
|
[0, "≻"],
|
|
[0, "≼"],
|
|
[0, "≽"],
|
|
[0, "≾"],
|
|
[0, {
|
|
v: "≿",
|
|
n: 824,
|
|
o: "≿̸"
|
|
}],
|
|
[0, "⊀"],
|
|
[0, "⊁"],
|
|
[0, {
|
|
v: "⊂",
|
|
n: 8402,
|
|
o: "⊂⃒"
|
|
}],
|
|
[0, {
|
|
v: "⊃",
|
|
n: 8402,
|
|
o: "⊃⃒"
|
|
}],
|
|
[0, "⊄"],
|
|
[0, "⊅"],
|
|
[0, "⊆"],
|
|
[0, "⊇"],
|
|
[0, "⊈"],
|
|
[0, "⊉"],
|
|
[0, {
|
|
v: "⊊",
|
|
n: 65024,
|
|
o: "⊊︀"
|
|
}],
|
|
[0, {
|
|
v: "⊋",
|
|
n: 65024,
|
|
o: "⊋︀"
|
|
}],
|
|
[1, "⊍"],
|
|
[0, "⊎"],
|
|
[0, {
|
|
v: "⊏",
|
|
n: 824,
|
|
o: "⊏̸"
|
|
}],
|
|
[0, {
|
|
v: "⊐",
|
|
n: 824,
|
|
o: "⊐̸"
|
|
}],
|
|
[0, "⊑"],
|
|
[0, "⊒"],
|
|
[0, {
|
|
v: "⊓",
|
|
n: 65024,
|
|
o: "⊓︀"
|
|
}],
|
|
[0, {
|
|
v: "⊔",
|
|
n: 65024,
|
|
o: "⊔︀"
|
|
}],
|
|
[0, "⊕"],
|
|
[0, "⊖"],
|
|
[0, "⊗"],
|
|
[0, "⊘"],
|
|
[0, "⊙"],
|
|
[0, "⊚"],
|
|
[0, "⊛"],
|
|
[1, "⊝"],
|
|
[0, "⊞"],
|
|
[0, "⊟"],
|
|
[0, "⊠"],
|
|
[0, "⊡"],
|
|
[0, "⊢"],
|
|
[0, "⊣"],
|
|
[0, "⊤"],
|
|
[0, "⊥"],
|
|
[1, "⊧"],
|
|
[0, "⊨"],
|
|
[0, "⊩"],
|
|
[0, "⊪"],
|
|
[0, "⊫"],
|
|
[0, "⊬"],
|
|
[0, "⊭"],
|
|
[0, "⊮"],
|
|
[0, "⊯"],
|
|
[0, "⊰"],
|
|
[1, "⊲"],
|
|
[0, "⊳"],
|
|
[0, {
|
|
v: "⊴",
|
|
n: 8402,
|
|
o: "⊴⃒"
|
|
}],
|
|
[0, {
|
|
v: "⊵",
|
|
n: 8402,
|
|
o: "⊵⃒"
|
|
}],
|
|
[0, "⊶"],
|
|
[0, "⊷"],
|
|
[0, "⊸"],
|
|
[0, "⊹"],
|
|
[0, "⊺"],
|
|
[0, "⊻"],
|
|
[1, "⊽"],
|
|
[0, "⊾"],
|
|
[0, "⊿"],
|
|
[0, "⋀"],
|
|
[0, "⋁"],
|
|
[0, "⋂"],
|
|
[0, "⋃"],
|
|
[0, "⋄"],
|
|
[0, "⋅"],
|
|
[0, "⋆"],
|
|
[0, "⋇"],
|
|
[0, "⋈"],
|
|
[0, "⋉"],
|
|
[0, "⋊"],
|
|
[0, "⋋"],
|
|
[0, "⋌"],
|
|
[0, "⋍"],
|
|
[0, "⋎"],
|
|
[0, "⋏"],
|
|
[0, "⋐"],
|
|
[0, "⋑"],
|
|
[0, "⋒"],
|
|
[0, "⋓"],
|
|
[0, "⋔"],
|
|
[0, "⋕"],
|
|
[0, "⋖"],
|
|
[0, "⋗"],
|
|
[0, {
|
|
v: "⋘",
|
|
n: 824,
|
|
o: "⋘̸"
|
|
}],
|
|
[0, {
|
|
v: "⋙",
|
|
n: 824,
|
|
o: "⋙̸"
|
|
}],
|
|
[0, {
|
|
v: "⋚",
|
|
n: 65024,
|
|
o: "⋚︀"
|
|
}],
|
|
[0, {
|
|
v: "⋛",
|
|
n: 65024,
|
|
o: "⋛︀"
|
|
}],
|
|
[2, "⋞"],
|
|
[0, "⋟"],
|
|
[0, "⋠"],
|
|
[0, "⋡"],
|
|
[0, "⋢"],
|
|
[0, "⋣"],
|
|
[2, "⋦"],
|
|
[0, "⋧"],
|
|
[0, "⋨"],
|
|
[0, "⋩"],
|
|
[0, "⋪"],
|
|
[0, "⋫"],
|
|
[0, "⋬"],
|
|
[0, "⋭"],
|
|
[0, "⋮"],
|
|
[0, "⋯"],
|
|
[0, "⋰"],
|
|
[0, "⋱"],
|
|
[0, "⋲"],
|
|
[0, "⋳"],
|
|
[0, "⋴"],
|
|
[0, {
|
|
v: "⋵",
|
|
n: 824,
|
|
o: "⋵̸"
|
|
}],
|
|
[0, "⋶"],
|
|
[0, "⋷"],
|
|
[1, {
|
|
v: "⋹",
|
|
n: 824,
|
|
o: "⋹̸"
|
|
}],
|
|
[0, "⋺"],
|
|
[0, "⋻"],
|
|
[0, "⋼"],
|
|
[0, "⋽"],
|
|
[0, "⋾"],
|
|
[6, "⌅"],
|
|
[0, "⌆"],
|
|
[1, "⌈"],
|
|
[0, "⌉"],
|
|
[0, "⌊"],
|
|
[0, "⌋"],
|
|
[0, "⌌"],
|
|
[0, "⌍"],
|
|
[0, "⌎"],
|
|
[0, "⌏"],
|
|
[0, "⌐"],
|
|
[1, "⌒"],
|
|
[0, "⌓"],
|
|
[1, "⌕"],
|
|
[0, "⌖"],
|
|
[5, "⌜"],
|
|
[0, "⌝"],
|
|
[0, "⌞"],
|
|
[0, "⌟"],
|
|
[2, "⌢"],
|
|
[0, "⌣"],
|
|
[9, "⌭"],
|
|
[0, "⌮"],
|
|
[7, "⌶"],
|
|
[6, "⌽"],
|
|
[1, "⌿"],
|
|
[60, "⍼"],
|
|
[51, "⎰"],
|
|
[0, "⎱"],
|
|
[2, "⎴"],
|
|
[0, "⎵"],
|
|
[0, "⎶"],
|
|
[37, "⏜"],
|
|
[0, "⏝"],
|
|
[0, "⏞"],
|
|
[0, "⏟"],
|
|
[2, "⏢"],
|
|
[4, "⏧"],
|
|
[59, "␣"],
|
|
[164, "Ⓢ"],
|
|
[55, "─"],
|
|
[1, "│"],
|
|
[9, "┌"],
|
|
[3, "┐"],
|
|
[3, "└"],
|
|
[3, "┘"],
|
|
[3, "├"],
|
|
[7, "┤"],
|
|
[7, "┬"],
|
|
[7, "┴"],
|
|
[7, "┼"],
|
|
[19, "═"],
|
|
[0, "║"],
|
|
[0, "╒"],
|
|
[0, "╓"],
|
|
[0, "╔"],
|
|
[0, "╕"],
|
|
[0, "╖"],
|
|
[0, "╗"],
|
|
[0, "╘"],
|
|
[0, "╙"],
|
|
[0, "╚"],
|
|
[0, "╛"],
|
|
[0, "╜"],
|
|
[0, "╝"],
|
|
[0, "╞"],
|
|
[0, "╟"],
|
|
[0, "╠"],
|
|
[0, "╡"],
|
|
[0, "╢"],
|
|
[0, "╣"],
|
|
[0, "╤"],
|
|
[0, "╥"],
|
|
[0, "╦"],
|
|
[0, "╧"],
|
|
[0, "╨"],
|
|
[0, "╩"],
|
|
[0, "╪"],
|
|
[0, "╫"],
|
|
[0, "╬"],
|
|
[19, "▀"],
|
|
[3, "▄"],
|
|
[3, "█"],
|
|
[8, "░"],
|
|
[0, "▒"],
|
|
[0, "▓"],
|
|
[13, "□"],
|
|
[8, "▪"],
|
|
[0, "▫"],
|
|
[1, "▭"],
|
|
[0, "▮"],
|
|
[2, "▱"],
|
|
[1, "△"],
|
|
[0, "▴"],
|
|
[0, "▵"],
|
|
[2, "▸"],
|
|
[0, "▹"],
|
|
[3, "▽"],
|
|
[0, "▾"],
|
|
[0, "▿"],
|
|
[2, "◂"],
|
|
[0, "◃"],
|
|
[6, "◊"],
|
|
[0, "○"],
|
|
[32, "◬"],
|
|
[2, "◯"],
|
|
[8, "◸"],
|
|
[0, "◹"],
|
|
[0, "◺"],
|
|
[0, "◻"],
|
|
[0, "◼"],
|
|
[8, "★"],
|
|
[0, "☆"],
|
|
[7, "☎"],
|
|
[49, "♀"],
|
|
[1, "♂"],
|
|
[29, "♠"],
|
|
[2, "♣"],
|
|
[1, "♥"],
|
|
[0, "♦"],
|
|
[3, "♪"],
|
|
[2, "♭"],
|
|
[0, "♮"],
|
|
[0, "♯"],
|
|
[163, "✓"],
|
|
[3, "✗"],
|
|
[8, "✠"],
|
|
[21, "✶"],
|
|
[33, "❘"],
|
|
[25, "❲"],
|
|
[0, "❳"],
|
|
[84, "⟈"],
|
|
[0, "⟉"],
|
|
[28, "⟦"],
|
|
[0, "⟧"],
|
|
[0, "⟨"],
|
|
[0, "⟩"],
|
|
[0, "⟪"],
|
|
[0, "⟫"],
|
|
[0, "⟬"],
|
|
[0, "⟭"],
|
|
[7, "⟵"],
|
|
[0, "⟶"],
|
|
[0, "⟷"],
|
|
[0, "⟸"],
|
|
[0, "⟹"],
|
|
[0, "⟺"],
|
|
[1, "⟼"],
|
|
[2, "⟿"],
|
|
[258, "⤂"],
|
|
[0, "⤃"],
|
|
[0, "⤄"],
|
|
[0, "⤅"],
|
|
[6, "⤌"],
|
|
[0, "⤍"],
|
|
[0, "⤎"],
|
|
[0, "⤏"],
|
|
[0, "⤐"],
|
|
[0, "⤑"],
|
|
[0, "⤒"],
|
|
[0, "⤓"],
|
|
[2, "⤖"],
|
|
[2, "⤙"],
|
|
[0, "⤚"],
|
|
[0, "⤛"],
|
|
[0, "⤜"],
|
|
[0, "⤝"],
|
|
[0, "⤞"],
|
|
[0, "⤟"],
|
|
[0, "⤠"],
|
|
[2, "⤣"],
|
|
[0, "⤤"],
|
|
[0, "⤥"],
|
|
[0, "⤦"],
|
|
[0, "⤧"],
|
|
[0, "⤨"],
|
|
[0, "⤩"],
|
|
[0, "⤪"],
|
|
[8, {
|
|
v: "⤳",
|
|
n: 824,
|
|
o: "⤳̸"
|
|
}],
|
|
[1, "⤵"],
|
|
[0, "⤶"],
|
|
[0, "⤷"],
|
|
[0, "⤸"],
|
|
[0, "⤹"],
|
|
[2, "⤼"],
|
|
[0, "⤽"],
|
|
[7, "⥅"],
|
|
[2, "⥈"],
|
|
[0, "⥉"],
|
|
[0, "⥊"],
|
|
[0, "⥋"],
|
|
[2, "⥎"],
|
|
[0, "⥏"],
|
|
[0, "⥐"],
|
|
[0, "⥑"],
|
|
[0, "⥒"],
|
|
[0, "⥓"],
|
|
[0, "⥔"],
|
|
[0, "⥕"],
|
|
[0, "⥖"],
|
|
[0, "⥗"],
|
|
[0, "⥘"],
|
|
[0, "⥙"],
|
|
[0, "⥚"],
|
|
[0, "⥛"],
|
|
[0, "⥜"],
|
|
[0, "⥝"],
|
|
[0, "⥞"],
|
|
[0, "⥟"],
|
|
[0, "⥠"],
|
|
[0, "⥡"],
|
|
[0, "⥢"],
|
|
[0, "⥣"],
|
|
[0, "⥤"],
|
|
[0, "⥥"],
|
|
[0, "⥦"],
|
|
[0, "⥧"],
|
|
[0, "⥨"],
|
|
[0, "⥩"],
|
|
[0, "⥪"],
|
|
[0, "⥫"],
|
|
[0, "⥬"],
|
|
[0, "⥭"],
|
|
[0, "⥮"],
|
|
[0, "⥯"],
|
|
[0, "⥰"],
|
|
[0, "⥱"],
|
|
[0, "⥲"],
|
|
[0, "⥳"],
|
|
[0, "⥴"],
|
|
[0, "⥵"],
|
|
[0, "⥶"],
|
|
[1, "⥸"],
|
|
[0, "⥹"],
|
|
[1, "⥻"],
|
|
[0, "⥼"],
|
|
[0, "⥽"],
|
|
[0, "⥾"],
|
|
[0, "⥿"],
|
|
[5, "⦅"],
|
|
[0, "⦆"],
|
|
[4, "⦋"],
|
|
[0, "⦌"],
|
|
[0, "⦍"],
|
|
[0, "⦎"],
|
|
[0, "⦏"],
|
|
[0, "⦐"],
|
|
[0, "⦑"],
|
|
[0, "⦒"],
|
|
[0, "⦓"],
|
|
[0, "⦔"],
|
|
[0, "⦕"],
|
|
[0, "⦖"],
|
|
[3, "⦚"],
|
|
[1, "⦜"],
|
|
[0, "⦝"],
|
|
[6, "⦤"],
|
|
[0, "⦥"],
|
|
[0, "⦦"],
|
|
[0, "⦧"],
|
|
[0, "⦨"],
|
|
[0, "⦩"],
|
|
[0, "⦪"],
|
|
[0, "⦫"],
|
|
[0, "⦬"],
|
|
[0, "⦭"],
|
|
[0, "⦮"],
|
|
[0, "⦯"],
|
|
[0, "⦰"],
|
|
[0, "⦱"],
|
|
[0, "⦲"],
|
|
[0, "⦳"],
|
|
[0, "⦴"],
|
|
[0, "⦵"],
|
|
[0, "⦶"],
|
|
[0, "⦷"],
|
|
[1, "⦹"],
|
|
[1, "⦻"],
|
|
[0, "⦼"],
|
|
[1, "⦾"],
|
|
[0, "⦿"],
|
|
[0, "⧀"],
|
|
[0, "⧁"],
|
|
[0, "⧂"],
|
|
[0, "⧃"],
|
|
[0, "⧄"],
|
|
[0, "⧅"],
|
|
[3, "⧉"],
|
|
[3, "⧍"],
|
|
[0, "⧎"],
|
|
[0, {
|
|
v: "⧏",
|
|
n: 824,
|
|
o: "⧏̸"
|
|
}],
|
|
[0, {
|
|
v: "⧐",
|
|
n: 824,
|
|
o: "⧐̸"
|
|
}],
|
|
[11, "⧜"],
|
|
[0, "⧝"],
|
|
[0, "⧞"],
|
|
[4, "⧣"],
|
|
[0, "⧤"],
|
|
[0, "⧥"],
|
|
[5, "⧫"],
|
|
[8, "⧴"],
|
|
[1, "⧶"],
|
|
[9, "⨀"],
|
|
[0, "⨁"],
|
|
[0, "⨂"],
|
|
[1, "⨄"],
|
|
[1, "⨆"],
|
|
[5, "⨌"],
|
|
[0, "⨍"],
|
|
[2, "⨐"],
|
|
[0, "⨑"],
|
|
[0, "⨒"],
|
|
[0, "⨓"],
|
|
[0, "⨔"],
|
|
[0, "⨕"],
|
|
[0, "⨖"],
|
|
[0, "⨗"],
|
|
[10, "⨢"],
|
|
[0, "⨣"],
|
|
[0, "⨤"],
|
|
[0, "⨥"],
|
|
[0, "⨦"],
|
|
[0, "⨧"],
|
|
[1, "⨩"],
|
|
[0, "⨪"],
|
|
[2, "⨭"],
|
|
[0, "⨮"],
|
|
[0, "⨯"],
|
|
[0, "⨰"],
|
|
[0, "⨱"],
|
|
[1, "⨳"],
|
|
[0, "⨴"],
|
|
[0, "⨵"],
|
|
[0, "⨶"],
|
|
[0, "⨷"],
|
|
[0, "⨸"],
|
|
[0, "⨹"],
|
|
[0, "⨺"],
|
|
[0, "⨻"],
|
|
[0, "⨼"],
|
|
[2, "⨿"],
|
|
[0, "⩀"],
|
|
[1, "⩂"],
|
|
[0, "⩃"],
|
|
[0, "⩄"],
|
|
[0, "⩅"],
|
|
[0, "⩆"],
|
|
[0, "⩇"],
|
|
[0, "⩈"],
|
|
[0, "⩉"],
|
|
[0, "⩊"],
|
|
[0, "⩋"],
|
|
[0, "⩌"],
|
|
[0, "⩍"],
|
|
[2, "⩐"],
|
|
[2, "⩓"],
|
|
[0, "⩔"],
|
|
[0, "⩕"],
|
|
[0, "⩖"],
|
|
[0, "⩗"],
|
|
[0, "⩘"],
|
|
[1, "⩚"],
|
|
[0, "⩛"],
|
|
[0, "⩜"],
|
|
[0, "⩝"],
|
|
[1, "⩟"],
|
|
[6, "⩦"],
|
|
[3, "⩪"],
|
|
[2, {
|
|
v: "⩭",
|
|
n: 824,
|
|
o: "⩭̸"
|
|
}],
|
|
[0, "⩮"],
|
|
[0, "⩯"],
|
|
[0, {
|
|
v: "⩰",
|
|
n: 824,
|
|
o: "⩰̸"
|
|
}],
|
|
[0, "⩱"],
|
|
[0, "⩲"],
|
|
[0, "⩳"],
|
|
[0, "⩴"],
|
|
[0, "⩵"],
|
|
[1, "⩷"],
|
|
[0, "⩸"],
|
|
[0, "⩹"],
|
|
[0, "⩺"],
|
|
[0, "⩻"],
|
|
[0, "⩼"],
|
|
[0, {
|
|
v: "⩽",
|
|
n: 824,
|
|
o: "⩽̸"
|
|
}],
|
|
[0, {
|
|
v: "⩾",
|
|
n: 824,
|
|
o: "⩾̸"
|
|
}],
|
|
[0, "⩿"],
|
|
[0, "⪀"],
|
|
[0, "⪁"],
|
|
[0, "⪂"],
|
|
[0, "⪃"],
|
|
[0, "⪄"],
|
|
[0, "⪅"],
|
|
[0, "⪆"],
|
|
[0, "⪇"],
|
|
[0, "⪈"],
|
|
[0, "⪉"],
|
|
[0, "⪊"],
|
|
[0, "⪋"],
|
|
[0, "⪌"],
|
|
[0, "⪍"],
|
|
[0, "⪎"],
|
|
[0, "⪏"],
|
|
[0, "⪐"],
|
|
[0, "⪑"],
|
|
[0, "⪒"],
|
|
[0, "⪓"],
|
|
[0, "⪔"],
|
|
[0, "⪕"],
|
|
[0, "⪖"],
|
|
[0, "⪗"],
|
|
[0, "⪘"],
|
|
[0, "⪙"],
|
|
[0, "⪚"],
|
|
[2, "⪝"],
|
|
[0, "⪞"],
|
|
[0, "⪟"],
|
|
[0, "⪠"],
|
|
[0, {
|
|
v: "⪡",
|
|
n: 824,
|
|
o: "⪡̸"
|
|
}],
|
|
[0, {
|
|
v: "⪢",
|
|
n: 824,
|
|
o: "⪢̸"
|
|
}],
|
|
[1, "⪤"],
|
|
[0, "⪥"],
|
|
[0, "⪦"],
|
|
[0, "⪧"],
|
|
[0, "⪨"],
|
|
[0, "⪩"],
|
|
[0, "⪪"],
|
|
[0, "⪫"],
|
|
[0, {
|
|
v: "⪬",
|
|
n: 65024,
|
|
o: "⪬︀"
|
|
}],
|
|
[0, {
|
|
v: "⪭",
|
|
n: 65024,
|
|
o: "⪭︀"
|
|
}],
|
|
[0, "⪮"],
|
|
[0, {
|
|
v: "⪯",
|
|
n: 824,
|
|
o: "⪯̸"
|
|
}],
|
|
[0, {
|
|
v: "⪰",
|
|
n: 824,
|
|
o: "⪰̸"
|
|
}],
|
|
[2, "⪳"],
|
|
[0, "⪴"],
|
|
[0, "⪵"],
|
|
[0, "⪶"],
|
|
[0, "⪷"],
|
|
[0, "⪸"],
|
|
[0, "⪹"],
|
|
[0, "⪺"],
|
|
[0, "⪻"],
|
|
[0, "⪼"],
|
|
[0, "⪽"],
|
|
[0, "⪾"],
|
|
[0, "⪿"],
|
|
[0, "⫀"],
|
|
[0, "⫁"],
|
|
[0, "⫂"],
|
|
[0, "⫃"],
|
|
[0, "⫄"],
|
|
[0, {
|
|
v: "⫅",
|
|
n: 824,
|
|
o: "⫅̸"
|
|
}],
|
|
[0, {
|
|
v: "⫆",
|
|
n: 824,
|
|
o: "⫆̸"
|
|
}],
|
|
[0, "⫇"],
|
|
[0, "⫈"],
|
|
[2, {
|
|
v: "⫋",
|
|
n: 65024,
|
|
o: "⫋︀"
|
|
}],
|
|
[0, {
|
|
v: "⫌",
|
|
n: 65024,
|
|
o: "⫌︀"
|
|
}],
|
|
[2, "⫏"],
|
|
[0, "⫐"],
|
|
[0, "⫑"],
|
|
[0, "⫒"],
|
|
[0, "⫓"],
|
|
[0, "⫔"],
|
|
[0, "⫕"],
|
|
[0, "⫖"],
|
|
[0, "⫗"],
|
|
[0, "⫘"],
|
|
[0, "⫙"],
|
|
[0, "⫚"],
|
|
[0, "⫛"],
|
|
[8, "⫤"],
|
|
[1, "⫦"],
|
|
[0, "⫧"],
|
|
[0, "⫨"],
|
|
[0, "⫩"],
|
|
[1, "⫫"],
|
|
[0, "⫬"],
|
|
[0, "⫭"],
|
|
[0, "⫮"],
|
|
[0, "⫯"],
|
|
[0, "⫰"],
|
|
[0, "⫱"],
|
|
[0, "⫲"],
|
|
[0, "⫳"],
|
|
[9, {
|
|
v: "⫽",
|
|
n: 8421,
|
|
o: "⫽⃥"
|
|
}],
|
|
[44343, {
|
|
n: new Map(restoreDiff([
|
|
[56476, "𝒜"],
|
|
[1, "𝒞"],
|
|
[0, "𝒟"],
|
|
[2, "𝒢"],
|
|
[2, "𝒥"],
|
|
[0, "𝒦"],
|
|
[2, "𝒩"],
|
|
[0, "𝒪"],
|
|
[0, "𝒫"],
|
|
[0, "𝒬"],
|
|
[1, "𝒮"],
|
|
[0, "𝒯"],
|
|
[0, "𝒰"],
|
|
[0, "𝒱"],
|
|
[0, "𝒲"],
|
|
[0, "𝒳"],
|
|
[0, "𝒴"],
|
|
[0, "𝒵"],
|
|
[0, "𝒶"],
|
|
[0, "𝒷"],
|
|
[0, "𝒸"],
|
|
[0, "𝒹"],
|
|
[1, "𝒻"],
|
|
[1, "𝒽"],
|
|
[0, "𝒾"],
|
|
[0, "𝒿"],
|
|
[0, "𝓀"],
|
|
[0, "𝓁"],
|
|
[0, "𝓂"],
|
|
[0, "𝓃"],
|
|
[1, "𝓅"],
|
|
[0, "𝓆"],
|
|
[0, "𝓇"],
|
|
[0, "𝓈"],
|
|
[0, "𝓉"],
|
|
[0, "𝓊"],
|
|
[0, "𝓋"],
|
|
[0, "𝓌"],
|
|
[0, "𝓍"],
|
|
[0, "𝓎"],
|
|
[0, "𝓏"],
|
|
[52, "𝔄"],
|
|
[0, "𝔅"],
|
|
[1, "𝔇"],
|
|
[0, "𝔈"],
|
|
[0, "𝔉"],
|
|
[0, "𝔊"],
|
|
[2, "𝔍"],
|
|
[0, "𝔎"],
|
|
[0, "𝔏"],
|
|
[0, "𝔐"],
|
|
[0, "𝔑"],
|
|
[0, "𝔒"],
|
|
[0, "𝔓"],
|
|
[0, "𝔔"],
|
|
[1, "𝔖"],
|
|
[0, "𝔗"],
|
|
[0, "𝔘"],
|
|
[0, "𝔙"],
|
|
[0, "𝔚"],
|
|
[0, "𝔛"],
|
|
[0, "𝔜"],
|
|
[1, "𝔞"],
|
|
[0, "𝔟"],
|
|
[0, "𝔠"],
|
|
[0, "𝔡"],
|
|
[0, "𝔢"],
|
|
[0, "𝔣"],
|
|
[0, "𝔤"],
|
|
[0, "𝔥"],
|
|
[0, "𝔦"],
|
|
[0, "𝔧"],
|
|
[0, "𝔨"],
|
|
[0, "𝔩"],
|
|
[0, "𝔪"],
|
|
[0, "𝔫"],
|
|
[0, "𝔬"],
|
|
[0, "𝔭"],
|
|
[0, "𝔮"],
|
|
[0, "𝔯"],
|
|
[0, "𝔰"],
|
|
[0, "𝔱"],
|
|
[0, "𝔲"],
|
|
[0, "𝔳"],
|
|
[0, "𝔴"],
|
|
[0, "𝔵"],
|
|
[0, "𝔶"],
|
|
[0, "𝔷"],
|
|
[0, "𝔸"],
|
|
[0, "𝔹"],
|
|
[1, "𝔻"],
|
|
[0, "𝔼"],
|
|
[0, "𝔽"],
|
|
[0, "𝔾"],
|
|
[1, "𝕀"],
|
|
[0, "𝕁"],
|
|
[0, "𝕂"],
|
|
[0, "𝕃"],
|
|
[0, "𝕄"],
|
|
[1, "𝕆"],
|
|
[3, "𝕊"],
|
|
[0, "𝕋"],
|
|
[0, "𝕌"],
|
|
[0, "𝕍"],
|
|
[0, "𝕎"],
|
|
[0, "𝕏"],
|
|
[0, "𝕐"],
|
|
[1, "𝕒"],
|
|
[0, "𝕓"],
|
|
[0, "𝕔"],
|
|
[0, "𝕕"],
|
|
[0, "𝕖"],
|
|
[0, "𝕗"],
|
|
[0, "𝕘"],
|
|
[0, "𝕙"],
|
|
[0, "𝕚"],
|
|
[0, "𝕛"],
|
|
[0, "𝕜"],
|
|
[0, "𝕝"],
|
|
[0, "𝕞"],
|
|
[0, "𝕟"],
|
|
[0, "𝕠"],
|
|
[0, "𝕡"],
|
|
[0, "𝕢"],
|
|
[0, "𝕣"],
|
|
[0, "𝕤"],
|
|
[0, "𝕥"],
|
|
[0, "𝕦"],
|
|
[0, "𝕧"],
|
|
[0, "𝕨"],
|
|
[0, "𝕩"],
|
|
[0, "𝕪"],
|
|
[0, "𝕫"]
|
|
]))
|
|
}],
|
|
[8906, "ff"],
|
|
[0, "fi"],
|
|
[0, "fl"],
|
|
[0, "ffi"],
|
|
[0, "ffl"]
|
|
]))
|
|
},
|
|
21866: () => {},
|
|
21888: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function(instance, scope) {
|
|
instance.setProperty(scope, "sleep", instance.createAsyncFunction((...args) => {
|
|
const callback = args[args.length - 1];
|
|
try {
|
|
const delay = args.length > 1 ? instance.pseudoToNative(args[0]) : 0;
|
|
setTimeout(() => callback(), delay)
|
|
} catch (err) {
|
|
instance.throwException(instance.ERROR, err && err.message), callback()
|
|
}
|
|
}), _Instance.default.READONLY_DESCRIPTOR)
|
|
};
|
|
var _Instance = _interopRequireDefault(__webpack_require__(76352));
|
|
module.exports = exports.default
|
|
},
|
|
22004: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
let state = this.stateStack[this.stateStack.length - 1],
|
|
label = null;
|
|
state.node.label && (label = state.node.label.name);
|
|
for (; state && "CallExpression" !== state.node.type && "NewExpression" !== state.node.type;) {
|
|
if (state.isLoop && (!label || label === state.label)) return;
|
|
this.stateStack.pop(), state = this.stateStack[this.stateStack.length - 1]
|
|
}
|
|
throw SyntaxError("Illegal continue statement")
|
|
}, module.exports = exports.default
|
|
},
|
|
22018: function(module, exports, __webpack_require__) {
|
|
var CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), __webpack_require__(10608), __webpack_require__(65554), __webpack_require__(34120), __webpack_require__(74047), function() {
|
|
var C = CryptoJS,
|
|
StreamCipher = C.lib.StreamCipher,
|
|
C_algo = C.algo,
|
|
S = [],
|
|
C_ = [],
|
|
G = [],
|
|
RabbitLegacy = C_algo.RabbitLegacy = StreamCipher.extend({
|
|
_doReset: function() {
|
|
var K = this._key.words,
|
|
iv = this.cfg.iv,
|
|
X = this._X = [K[0], K[3] << 16 | K[2] >>> 16, K[1], K[0] << 16 | K[3] >>> 16, K[2], K[1] << 16 | K[0] >>> 16, K[3], K[2] << 16 | K[1] >>> 16],
|
|
C = this._C = [K[2] << 16 | K[2] >>> 16, 4294901760 & K[0] | 65535 & K[1], K[3] << 16 | K[3] >>> 16, 4294901760 & K[1] | 65535 & K[2], K[0] << 16 | K[0] >>> 16, 4294901760 & K[2] | 65535 & K[3], K[1] << 16 | K[1] >>> 16, 4294901760 & K[3] | 65535 & K[0]];
|
|
this._b = 0;
|
|
for (var i = 0; i < 4; i++) nextState.call(this);
|
|
for (i = 0; i < 8; i++) C[i] ^= X[i + 4 & 7];
|
|
if (iv) {
|
|
var IV = iv.words,
|
|
IV_0 = IV[0],
|
|
IV_1 = IV[1],
|
|
i0 = 16711935 & (IV_0 << 8 | IV_0 >>> 24) | 4278255360 & (IV_0 << 24 | IV_0 >>> 8),
|
|
i2 = 16711935 & (IV_1 << 8 | IV_1 >>> 24) | 4278255360 & (IV_1 << 24 | IV_1 >>> 8),
|
|
i1 = i0 >>> 16 | 4294901760 & i2,
|
|
i3 = i2 << 16 | 65535 & i0;
|
|
for (C[0] ^= i0, C[1] ^= i1, C[2] ^= i2, C[3] ^= i3, C[4] ^= i0, C[5] ^= i1, C[6] ^= i2, C[7] ^= i3, i = 0; i < 4; i++) nextState.call(this)
|
|
}
|
|
},
|
|
_doProcessBlock: function(M, offset) {
|
|
var X = this._X;
|
|
nextState.call(this), S[0] = X[0] ^ X[5] >>> 16 ^ X[3] << 16, S[1] = X[2] ^ X[7] >>> 16 ^ X[5] << 16, S[2] = X[4] ^ X[1] >>> 16 ^ X[7] << 16, S[3] = X[6] ^ X[3] >>> 16 ^ X[1] << 16;
|
|
for (var i = 0; i < 4; i++) S[i] = 16711935 & (S[i] << 8 | S[i] >>> 24) | 4278255360 & (S[i] << 24 | S[i] >>> 8), M[offset + i] ^= S[i]
|
|
},
|
|
blockSize: 4,
|
|
ivSize: 2
|
|
});
|
|
|
|
function nextState() {
|
|
for (var X = this._X, C = this._C, i = 0; i < 8; i++) C_[i] = C[i];
|
|
for (C[0] = C[0] + 1295307597 + this._b | 0, C[1] = C[1] + 3545052371 + (C[0] >>> 0 < C_[0] >>> 0 ? 1 : 0) | 0, C[2] = C[2] + 886263092 + (C[1] >>> 0 < C_[1] >>> 0 ? 1 : 0) | 0, C[3] = C[3] + 1295307597 + (C[2] >>> 0 < C_[2] >>> 0 ? 1 : 0) | 0, C[4] = C[4] + 3545052371 + (C[3] >>> 0 < C_[3] >>> 0 ? 1 : 0) | 0, C[5] = C[5] + 886263092 + (C[4] >>> 0 < C_[4] >>> 0 ? 1 : 0) | 0, C[6] = C[6] + 1295307597 + (C[5] >>> 0 < C_[5] >>> 0 ? 1 : 0) | 0, C[7] = C[7] + 3545052371 + (C[6] >>> 0 < C_[6] >>> 0 ? 1 : 0) | 0, this._b = C[7] >>> 0 < C_[7] >>> 0 ? 1 : 0, i = 0; i < 8; i++) {
|
|
var gx = X[i] + C[i],
|
|
ga = 65535 & gx,
|
|
gb = gx >>> 16,
|
|
gh = ((ga * ga >>> 17) + ga * gb >>> 15) + gb * gb,
|
|
gl = ((4294901760 & gx) * gx | 0) + ((65535 & gx) * gx | 0);
|
|
G[i] = gh ^ gl
|
|
}
|
|
X[0] = G[0] + (G[7] << 16 | G[7] >>> 16) + (G[6] << 16 | G[6] >>> 16) | 0, X[1] = G[1] + (G[0] << 8 | G[0] >>> 24) + G[7] | 0, X[2] = G[2] + (G[1] << 16 | G[1] >>> 16) + (G[0] << 16 | G[0] >>> 16) | 0, X[3] = G[3] + (G[2] << 8 | G[2] >>> 24) + G[1] | 0, X[4] = G[4] + (G[3] << 16 | G[3] >>> 16) + (G[2] << 16 | G[2] >>> 16) | 0, X[5] = G[5] + (G[4] << 8 | G[4] >>> 24) + G[3] | 0, X[6] = G[6] + (G[5] << 16 | G[5] >>> 16) + (G[4] << 16 | G[4] >>> 16) | 0, X[7] = G[7] + (G[6] << 8 | G[6] >>> 24) + G[5] | 0
|
|
}
|
|
C.RabbitLegacy = StreamCipher._createHelper(RabbitLegacy)
|
|
}(), CryptoJS.RabbitLegacy)
|
|
},
|
|
22117: (__unused_webpack_module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = new Uint16Array('\u1d41<\xd5\u0131\u028a\u049d\u057b\u05d0\u0675\u06de\u07a2\u07d6\u080f\u0a4a\u0a91\u0da1\u0e6d\u0f09\u0f26\u10ca\u1228\u12e1\u1415\u149d\u14c3\u14df\u1525\0\0\0\0\0\0\u156b\u16cd\u198d\u1c12\u1ddd\u1f7e\u2060\u21b0\u228d\u23c0\u23fb\u2442\u2824\u2912\u2d08\u2e48\u2fce\u3016\u32ba\u3639\u37ac\u38fe\u3a28\u3a71\u3ae0\u3b2e\u0800EMabcfglmnoprstu\\bfms\x7f\x84\x8b\x90\x95\x98\xa6\xb3\xb9\xc8\xcflig\u803b\xc6\u40c6P\u803b&\u4026cute\u803b\xc1\u40c1reve;\u4102\u0100iyx}rc\u803b\xc2\u40c2;\u4410r;\uc000\u{1d504}rave\u803b\xc0\u40c0pha;\u4391acr;\u4100d;\u6a53\u0100gp\x9d\xa1on;\u4104f;\uc000\u{1d538}plyFunction;\u6061ing\u803b\xc5\u40c5\u0100cs\xbe\xc3r;\uc000\u{1d49c}ign;\u6254ilde\u803b\xc3\u40c3ml\u803b\xc4\u40c4\u0400aceforsu\xe5\xfb\xfe\u0117\u011c\u0122\u0127\u012a\u0100cr\xea\xf2kslash;\u6216\u0176\xf6\xf8;\u6ae7ed;\u6306y;\u4411\u0180crt\u0105\u010b\u0114ause;\u6235noullis;\u612ca;\u4392r;\uc000\u{1d505}pf;\uc000\u{1d539}eve;\u42d8c\xf2\u0113mpeq;\u624e\u0700HOacdefhilorsu\u014d\u0151\u0156\u0180\u019e\u01a2\u01b5\u01b7\u01ba\u01dc\u0215\u0273\u0278\u027ecy;\u4427PY\u803b\xa9\u40a9\u0180cpy\u015d\u0162\u017aute;\u4106\u0100;i\u0167\u0168\u62d2talDifferentialD;\u6145leys;\u612d\u0200aeio\u0189\u018e\u0194\u0198ron;\u410cdil\u803b\xc7\u40c7rc;\u4108nint;\u6230ot;\u410a\u0100dn\u01a7\u01adilla;\u40b8terDot;\u40b7\xf2\u017fi;\u43a7rcle\u0200DMPT\u01c7\u01cb\u01d1\u01d6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01e2\u01f8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020foubleQuote;\u601duote;\u6019\u0200lnpu\u021e\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6a74\u0180git\u022f\u0236\u023aruent;\u6261nt;\u622fourIntegral;\u622e\u0100fr\u024c\u024e;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6a2fcr;\uc000\u{1d49e}p\u0100;C\u0284\u0285\u62d3ap;\u624d\u0580DJSZacefios\u02a0\u02ac\u02b0\u02b4\u02b8\u02cb\u02d7\u02e1\u02e6\u0333\u048d\u0100;o\u0179\u02a5trahd;\u6911cy;\u4402cy;\u4405cy;\u440f\u0180grs\u02bf\u02c4\u02c7ger;\u6021r;\u61a1hv;\u6ae4\u0100ay\u02d0\u02d5ron;\u410e;\u4414l\u0100;t\u02dd\u02de\u6207a;\u4394r;\uc000\u{1d507}\u0100af\u02eb\u0327\u0100cm\u02f0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031ccute;\u40b4o\u0174\u030b\u030d;\u42d9bleAcute;\u42ddrave;\u4060ilde;\u42dcond;\u62c4ferentialD;\u6146\u0470\u033d\0\0\0\u0342\u0354\0\u0405f;\uc000\u{1d53b}\u0180;DE\u0348\u0349\u034d\u40a8ot;\u60dcqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03cf\u03e2\u03f8ontourIntegra\xec\u0239o\u0274\u0379\0\0\u037b\xbb\u0349nArrow;\u61d3\u0100eo\u0387\u03a4ft\u0180ART\u0390\u0396\u03a1rrow;\u61d0ightArrow;\u61d4e\xe5\u02cang\u0100LR\u03ab\u03c4eft\u0100AR\u03b3\u03b9rrow;\u67f8ightArrow;\u67faightArrow;\u67f9ight\u0100AT\u03d8\u03derrow;\u61d2ee;\u62a8p\u0241\u03e9\0\0\u03efrrow;\u61d1ownArrow;\u61d5erticalBar;\u6225n\u0300ABLRTa\u0412\u042a\u0430\u045e\u047f\u037crrow\u0180;BU\u041d\u041e\u0422\u6193ar;\u6913pArrow;\u61f5reve;\u4311eft\u02d2\u043a\0\u0446\0\u0450ightVector;\u6950eeVector;\u695eector\u0100;B\u0459\u045a\u61bdar;\u6956ight\u01d4\u0467\0\u0471eeVector;\u695fector\u0100;B\u047a\u047b\u61c1ar;\u6957ee\u0100;A\u0486\u0487\u62a4rrow;\u61a7\u0100ct\u0492\u0497r;\uc000\u{1d49f}rok;\u4110\u0800NTacdfglmopqstux\u04bd\u04c0\u04c4\u04cb\u04de\u04e2\u04e7\u04ee\u04f5\u0521\u052f\u0536\u0552\u055d\u0560\u0565G;\u414aH\u803b\xd0\u40d0cute\u803b\xc9\u40c9\u0180aiy\u04d2\u04d7\u04dcron;\u411arc\u803b\xca\u40ca;\u442dot;\u4116r;\uc000\u{1d508}rave\u803b\xc8\u40c8ement;\u6208\u0100ap\u04fa\u04fecr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65fberySmallSquare;\u65ab\u0100gp\u0526\u052aon;\u4118f;\uc000\u{1d53c}silon;\u4395u\u0100ai\u053c\u0549l\u0100;T\u0542\u0543\u6a75ilde;\u6242librium;\u61cc\u0100ci\u0557\u055ar;\u6130m;\u6a73a;\u4397ml\u803b\xcb\u40cb\u0100ip\u056a\u056fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058d\u05b2\u05ccy;\u4424r;\uc000\u{1d509}lled\u0253\u0597\0\0\u05a3mallSquare;\u65fcerySmallSquare;\u65aa\u0370\u05ba\0\u05bf\0\0\u05c4f;\uc000\u{1d53d}All;\u6200riertrf;\u6131c\xf2\u05cb\u0600JTabcdfgorst\u05e8\u05ec\u05ef\u05fa\u0600\u0612\u0616\u061b\u061d\u0623\u066c\u0672cy;\u4403\u803b>\u403emma\u0100;d\u05f7\u05f8\u4393;\u43dcreve;\u411e\u0180eiy\u0607\u060c\u0610dil;\u4122rc;\u411c;\u4413ot;\u4120r;\uc000\u{1d50a};\u62d9pf;\uc000\u{1d53e}eater\u0300EFGLST\u0635\u0644\u064e\u0656\u065b\u0666qual\u0100;L\u063e\u063f\u6265ess;\u62dbullEqual;\u6267reater;\u6aa2ess;\u6277lantEqual;\u6a7eilde;\u6273cr;\uc000\u{1d4a2};\u626b\u0400Aacfiosu\u0685\u068b\u0696\u069b\u069e\u06aa\u06be\u06caRDcy;\u442a\u0100ct\u0690\u0694ek;\u42c7;\u405eirc;\u4124r;\u610clbertSpace;\u610b\u01f0\u06af\0\u06b2f;\u610dizontalLine;\u6500\u0100ct\u06c3\u06c5\xf2\u06a9rok;\u4126mp\u0144\u06d0\u06d8ownHum\xf0\u012fqual;\u624f\u0700EJOacdfgmnostu\u06fa\u06fe\u0703\u0707\u070e\u071a\u071e\u0721\u0728\u0744\u0778\u078b\u078f\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803b\xcd\u40cd\u0100iy\u0713\u0718rc\u803b\xce\u40ce;\u4418ot;\u4130r;\u6111rave\u803b\xcc\u40cc\u0180;ap\u0720\u072f\u073f\u0100cg\u0734\u0737r;\u412ainaryI;\u6148lie\xf3\u03dd\u01f4\u0749\0\u0762\u0100;e\u074d\u074e\u622c\u0100gr\u0753\u0758ral;\u622bsection;\u62c2isible\u0100CT\u076c\u0772omma;\u6063imes;\u6062\u0180gpt\u077f\u0783\u0788on;\u412ef;\uc000\u{1d540}a;\u4399cr;\u6110ilde;\u4128\u01eb\u079a\0\u079ecy;\u4406l\u803b\xcf\u40cf\u0280cfosu\u07ac\u07b7\u07bc\u07c2\u07d0\u0100iy\u07b1\u07b5rc;\u4134;\u4419r;\uc000\u{1d50d}pf;\uc000\u{1d541}\u01e3\u07c7\0\u07ccr;\uc000\u{1d4a5}rcy;\u4408kcy;\u4404\u0380HJacfos\u07e4\u07e8\u07ec\u07f1\u07fd\u0802\u0808cy;\u4425cy;\u440cppa;\u439a\u0100ey\u07f6\u07fbdil;\u4136;\u441ar;\uc000\u{1d50e}pf;\uc000\u{1d542}cr;\uc000\u{1d4a6}\u0580JTaceflmost\u0825\u0829\u082c\u0850\u0863\u09b3\u09b8\u09c7\u09cd\u0a37\u0a47cy;\u4409\u803b<\u403c\u0280cmnpr\u0837\u083c\u0841\u0844\u084dute;\u4139bda;\u439bg;\u67ealacetrf;\u6112r;\u619e\u0180aey\u0857\u085c\u0861ron;\u413ddil;\u413b;\u441b\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087e\u08a9\u08b1\u08e0\u08e6\u08fc\u092f\u095b\u0390\u096a\u0100nr\u0883\u088fgleBracket;\u67e8row\u0180;BR\u0899\u089a\u089e\u6190ar;\u61e4ightArrow;\u61c6eiling;\u6308o\u01f5\u08b7\0\u08c3bleBracket;\u67e6n\u01d4\u08c8\0\u08d2eeVector;\u6961ector\u0100;B\u08db\u08dc\u61c3ar;\u6959loor;\u630aight\u0100AV\u08ef\u08f5rrow;\u6194ector;\u694e\u0100er\u0901\u0917e\u0180;AV\u0909\u090a\u0910\u62a3rrow;\u61a4ector;\u695aiangle\u0180;BE\u0924\u0925\u0929\u62b2ar;\u69cfqual;\u62b4p\u0180DTV\u0937\u0942\u094cownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61bfar;\u6958ector\u0100;B\u0965\u0966\u61bcar;\u6952ight\xe1\u039cs\u0300EFGLST\u097e\u098b\u0995\u099d\u09a2\u09adqualGreater;\u62daullEqual;\u6266reater;\u6276ess;\u6aa1lantEqual;\u6a7dilde;\u6272r;\uc000\u{1d50f}\u0100;e\u09bd\u09be\u62d8ftarrow;\u61daidot;\u413f\u0180npw\u09d4\u0a16\u0a1bg\u0200LRlr\u09de\u09f7\u0a02\u0a10eft\u0100AR\u09e6\u09ecrrow;\u67f5ightArrow;\u67f7ightArrow;\u67f6eft\u0100ar\u03b3\u0a0aight\xe1\u03bfight\xe1\u03caf;\uc000\u{1d543}er\u0100LR\u0a22\u0a2ceftArrow;\u6199ightArrow;\u6198\u0180cht\u0a3e\u0a40\u0a42\xf2\u084c;\u61b0rok;\u4141;\u626a\u0400acefiosu\u0a5a\u0a5d\u0a60\u0a77\u0a7c\u0a85\u0a8b\u0a8ep;\u6905y;\u441c\u0100dl\u0a65\u0a6fiumSpace;\u605flintrf;\u6133r;\uc000\u{1d510}nusPlus;\u6213pf;\uc000\u{1d544}c\xf2\u0a76;\u439c\u0480Jacefostu\u0aa3\u0aa7\u0aad\u0ac0\u0b14\u0b19\u0d91\u0d97\u0d9ecy;\u440acute;\u4143\u0180aey\u0ab4\u0ab9\u0aberon;\u4147dil;\u4145;\u441d\u0180gsw\u0ac7\u0af0\u0b0eative\u0180MTV\u0ad3\u0adf\u0ae8ediumSpace;\u600bhi\u0100cn\u0ae6\u0ad8\xeb\u0ad9eryThi\xee\u0ad9ted\u0100GL\u0af8\u0b06reaterGreate\xf2\u0673essLes\xf3\u0a48Line;\u400ar;\uc000\u{1d511}\u0200Bnpt\u0b22\u0b28\u0b37\u0b3areak;\u6060BreakingSpace;\u40a0f;\u6115\u0680;CDEGHLNPRSTV\u0b55\u0b56\u0b6a\u0b7c\u0ba1\u0beb\u0c04\u0c5e\u0c84\u0ca6\u0cd8\u0d61\u0d85\u6aec\u0100ou\u0b5b\u0b64ngruent;\u6262pCap;\u626doubleVerticalBar;\u6226\u0180lqx\u0b83\u0b8a\u0b9bement;\u6209ual\u0100;T\u0b92\u0b93\u6260ilde;\uc000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0bb6\u0bb7\u0bbd\u0bc9\u0bd3\u0bd8\u0be5\u626fqual;\u6271ullEqual;\uc000\u2267\u0338reater;\uc000\u226b\u0338ess;\u6279lantEqual;\uc000\u2a7e\u0338ilde;\u6275ump\u0144\u0bf2\u0bfdownHump;\uc000\u224e\u0338qual;\uc000\u224f\u0338e\u0100fs\u0c0a\u0c27tTriangle\u0180;BE\u0c1a\u0c1b\u0c21\u62eaar;\uc000\u29cf\u0338qual;\u62ecs\u0300;EGLST\u0c35\u0c36\u0c3c\u0c44\u0c4b\u0c58\u626equal;\u6270reater;\u6278ess;\uc000\u226a\u0338lantEqual;\uc000\u2a7d\u0338ilde;\u6274ested\u0100GL\u0c68\u0c79reaterGreater;\uc000\u2aa2\u0338essLess;\uc000\u2aa1\u0338recedes\u0180;ES\u0c92\u0c93\u0c9b\u6280qual;\uc000\u2aaf\u0338lantEqual;\u62e0\u0100ei\u0cab\u0cb9verseElement;\u620cghtTriangle\u0180;BE\u0ccb\u0ccc\u0cd2\u62ebar;\uc000\u29d0\u0338qual;\u62ed\u0100qu\u0cdd\u0d0cuareSu\u0100bp\u0ce8\u0cf9set\u0100;E\u0cf0\u0cf3\uc000\u228f\u0338qual;\u62e2erset\u0100;E\u0d03\u0d06\uc000\u2290\u0338qual;\u62e3\u0180bcp\u0d13\u0d24\u0d4eset\u0100;E\u0d1b\u0d1e\uc000\u2282\u20d2qual;\u6288ceeds\u0200;EST\u0d32\u0d33\u0d3b\u0d46\u6281qual;\uc000\u2ab0\u0338lantEqual;\u62e1ilde;\uc000\u227f\u0338erset\u0100;E\u0d58\u0d5b\uc000\u2283\u20d2qual;\u6289ilde\u0200;EFT\u0d6e\u0d6f\u0d75\u0d7f\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uc000\u{1d4a9}ilde\u803b\xd1\u40d1;\u439d\u0700Eacdfgmoprstuv\u0dbd\u0dc2\u0dc9\u0dd5\u0ddb\u0de0\u0de7\u0dfc\u0e02\u0e20\u0e22\u0e32\u0e3f\u0e44lig;\u4152cute\u803b\xd3\u40d3\u0100iy\u0dce\u0dd3rc\u803b\xd4\u40d4;\u441eblac;\u4150r;\uc000\u{1d512}rave\u803b\xd2\u40d2\u0180aei\u0dee\u0df2\u0df6cr;\u414cga;\u43a9cron;\u439fpf;\uc000\u{1d546}enCurly\u0100DQ\u0e0e\u0e1aoubleQuote;\u601cuote;\u6018;\u6a54\u0100cl\u0e27\u0e2cr;\uc000\u{1d4aa}ash\u803b\xd8\u40d8i\u016c\u0e37\u0e3cde\u803b\xd5\u40d5es;\u6a37ml\u803b\xd6\u40d6er\u0100BP\u0e4b\u0e60\u0100ar\u0e50\u0e53r;\u603eac\u0100ek\u0e5a\u0e5c;\u63deet;\u63b4arenthesis;\u63dc\u0480acfhilors\u0e7f\u0e87\u0e8a\u0e8f\u0e92\u0e94\u0e9d\u0eb0\u0efcrtialD;\u6202y;\u441fr;\uc000\u{1d513}i;\u43a6;\u43a0usMinus;\u40b1\u0100ip\u0ea2\u0eadncareplan\xe5\u069df;\u6119\u0200;eio\u0eb9\u0eba\u0ee0\u0ee4\u6abbcedes\u0200;EST\u0ec8\u0ec9\u0ecf\u0eda\u627aqual;\u6aaflantEqual;\u627cilde;\u627eme;\u6033\u0100dp\u0ee9\u0eeeuct;\u620fortion\u0100;a\u0225\u0ef9l;\u621d\u0100ci\u0f01\u0f06r;\uc000\u{1d4ab};\u43a8\u0200Ufos\u0f11\u0f16\u0f1b\u0f1fOT\u803b"\u4022r;\uc000\u{1d514}pf;\u611acr;\uc000\u{1d4ac}\u0600BEacefhiorsu\u0f3e\u0f43\u0f47\u0f60\u0f73\u0fa7\u0faa\u0fad\u1096\u10a9\u10b4\u10bearr;\u6910G\u803b\xae\u40ae\u0180cnr\u0f4e\u0f53\u0f56ute;\u4154g;\u67ebr\u0100;t\u0f5c\u0f5d\u61a0l;\u6916\u0180aey\u0f67\u0f6c\u0f71ron;\u4158dil;\u4156;\u4420\u0100;v\u0f78\u0f79\u611cerse\u0100EU\u0f82\u0f99\u0100lq\u0f87\u0f8eement;\u620builibrium;\u61cbpEquilibrium;\u696fr\xbb\u0f79o;\u43a1ght\u0400ACDFTUVa\u0fc1\u0feb\u0ff3\u1022\u1028\u105b\u1087\u03d8\u0100nr\u0fc6\u0fd2gleBracket;\u67e9row\u0180;BL\u0fdc\u0fdd\u0fe1\u6192ar;\u61e5eftArrow;\u61c4eiling;\u6309o\u01f5\u0ff9\0\u1005bleBracket;\u67e7n\u01d4\u100a\0\u1014eeVector;\u695dector\u0100;B\u101d\u101e\u61c2ar;\u6955loor;\u630b\u0100er\u102d\u1043e\u0180;AV\u1035\u1036\u103c\u62a2rrow;\u61a6ector;\u695biangle\u0180;BE\u1050\u1051\u1055\u62b3ar;\u69d0qual;\u62b5p\u0180DTV\u1063\u106e\u1078ownVector;\u694feeVector;\u695cector\u0100;B\u1082\u1083\u61bear;\u6954ector\u0100;B\u1091\u1092\u61c0ar;\u6953\u0100pu\u109b\u109ef;\u611dndImplies;\u6970ightarrow;\u61db\u0100ch\u10b9\u10bcr;\u611b;\u61b1leDelayed;\u69f4\u0680HOacfhimoqstu\u10e4\u10f1\u10f7\u10fd\u1119\u111e\u1151\u1156\u1161\u1167\u11b5\u11bb\u11bf\u0100Cc\u10e9\u10eeHcy;\u4429y;\u4428FTcy;\u442ccute;\u415a\u0280;aeiy\u1108\u1109\u110e\u1113\u1117\u6abcron;\u4160dil;\u415erc;\u415c;\u4421r;\uc000\u{1d516}ort\u0200DLRU\u112a\u1134\u113e\u1149ownArrow\xbb\u041eeftArrow\xbb\u089aightArrow\xbb\u0fddpArrow;\u6191gma;\u43a3allCircle;\u6218pf;\uc000\u{1d54a}\u0272\u116d\0\0\u1170t;\u621aare\u0200;ISU\u117b\u117c\u1189\u11af\u65a1ntersection;\u6293u\u0100bp\u118f\u119eset\u0100;E\u1197\u1198\u628fqual;\u6291erset\u0100;E\u11a8\u11a9\u6290qual;\u6292nion;\u6294cr;\uc000\u{1d4ae}ar;\u62c6\u0200bcmp\u11c8\u11db\u1209\u120b\u0100;s\u11cd\u11ce\u62d0et\u0100;E\u11cd\u11d5qual;\u6286\u0100ch\u11e0\u1205eeds\u0200;EST\u11ed\u11ee\u11f4\u11ff\u627bqual;\u6ab0lantEqual;\u627dilde;\u627fTh\xe1\u0f8c;\u6211\u0180;es\u1212\u1213\u1223\u62d1rset\u0100;E\u121c\u121d\u6283qual;\u6287et\xbb\u1213\u0580HRSacfhiors\u123e\u1244\u1249\u1255\u125e\u1271\u1276\u129f\u12c2\u12c8\u12d1ORN\u803b\xde\u40deADE;\u6122\u0100Hc\u124e\u1252cy;\u440by;\u4426\u0100bu\u125a\u125c;\u4009;\u43a4\u0180aey\u1265\u126a\u126fron;\u4164dil;\u4162;\u4422r;\uc000\u{1d517}\u0100ei\u127b\u1289\u01f2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128e\u1298kSpace;\uc000\u205f\u200aSpace;\u6009lde\u0200;EFT\u12ab\u12ac\u12b2\u12bc\u623cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uc000\u{1d54b}ipleDot;\u60db\u0100ct\u12d6\u12dbr;\uc000\u{1d4af}rok;\u4166\u0ae1\u12f7\u130e\u131a\u1326\0\u132c\u1331\0\0\0\0\0\u1338\u133d\u1377\u1385\0\u13ff\u1404\u140a\u1410\u0100cr\u12fb\u1301ute\u803b\xda\u40dar\u0100;o\u1307\u1308\u619fcir;\u6949r\u01e3\u1313\0\u1316y;\u440eve;\u416c\u0100iy\u131e\u1323rc\u803b\xdb\u40db;\u4423blac;\u4170r;\uc000\u{1d518}rave\u803b\xd9\u40d9acr;\u416a\u0100di\u1341\u1369er\u0100BP\u1348\u135d\u0100ar\u134d\u1350r;\u405fac\u0100ek\u1357\u1359;\u63dfet;\u63b5arenthesis;\u63ddon\u0100;P\u1370\u1371\u62c3lus;\u628e\u0100gp\u137b\u137fon;\u4172f;\uc000\u{1d54c}\u0400ADETadps\u1395\u13ae\u13b8\u13c4\u03e8\u13d2\u13d7\u13f3rrow\u0180;BD\u1150\u13a0\u13a4ar;\u6912ownArrow;\u61c5ownArrow;\u6195quilibrium;\u696eee\u0100;A\u13cb\u13cc\u62a5rrow;\u61a5own\xe1\u03f3er\u0100LR\u13de\u13e8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13f9\u13fa\u43d2on;\u43a5ing;\u416ecr;\uc000\u{1d4b0}ilde;\u4168ml\u803b\xdc\u40dc\u0480Dbcdefosv\u1427\u142c\u1430\u1433\u143e\u1485\u148a\u1490\u1496ash;\u62abar;\u6aeby;\u4412ash\u0100;l\u143b\u143c\u62a9;\u6ae6\u0100er\u1443\u1445;\u62c1\u0180bty\u144c\u1450\u147aar;\u6016\u0100;i\u144f\u1455cal\u0200BLST\u1461\u1465\u146a\u1474ar;\u6223ine;\u407ceparator;\u6758ilde;\u6240ThinSpace;\u600ar;\uc000\u{1d519}pf;\uc000\u{1d54d}cr;\uc000\u{1d4b1}dash;\u62aa\u0280cefos\u14a7\u14ac\u14b1\u14b6\u14bcirc;\u4174dge;\u62c0r;\uc000\u{1d51a}pf;\uc000\u{1d54e}cr;\uc000\u{1d4b2}\u0200fios\u14cb\u14d0\u14d2\u14d8r;\uc000\u{1d51b};\u439epf;\uc000\u{1d54f}cr;\uc000\u{1d4b3}\u0480AIUacfosu\u14f1\u14f5\u14f9\u14fd\u1504\u150f\u1514\u151a\u1520cy;\u442fcy;\u4407cy;\u442ecute\u803b\xdd\u40dd\u0100iy\u1509\u150drc;\u4176;\u442br;\uc000\u{1d51c}pf;\uc000\u{1d550}cr;\uc000\u{1d4b4}ml;\u4178\u0400Hacdefos\u1535\u1539\u153f\u154b\u154f\u155d\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417d;\u4417ot;\u417b\u01f2\u1554\0\u155boWidt\xe8\u0ad9a;\u4396r;\u6128pf;\u6124cr;\uc000\u{1d4b5}\u0be1\u1583\u158a\u1590\0\u15b0\u15b6\u15bf\0\0\0\0\u15c6\u15db\u15eb\u165f\u166d\0\u1695\u169b\u16b2\u16b9\0\u16becute\u803b\xe1\u40e1reve;\u4103\u0300;Ediuy\u159c\u159d\u15a1\u15a3\u15a8\u15ad\u623e;\uc000\u223e\u0333;\u623frc\u803b\xe2\u40e2te\u80bb\xb4\u0306;\u4430lig\u803b\xe6\u40e6\u0100;r\xb2\u15ba;\uc000\u{1d51e}rave\u803b\xe0\u40e0\u0100ep\u15ca\u15d6\u0100fp\u15cf\u15d4sym;\u6135\xe8\u15d3ha;\u43b1\u0100ap\u15dfc\u0100cl\u15e4\u15e7r;\u4101g;\u6a3f\u0264\u15f0\0\0\u160a\u0280;adsv\u15fa\u15fb\u15ff\u1601\u1607\u6227nd;\u6a55;\u6a5clope;\u6a58;\u6a5a\u0380;elmrsz\u1618\u1619\u161b\u161e\u163f\u164f\u1659\u6220;\u69a4e\xbb\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163a\u163c\u163e;\u69a8;\u69a9;\u69aa;\u69ab;\u69ac;\u69ad;\u69ae;\u69aft\u0100;v\u1645\u1646\u621fb\u0100;d\u164c\u164d\u62be;\u699d\u0100pt\u1654\u1657h;\u6222\xbb\xb9arr;\u637c\u0100gp\u1663\u1667on;\u4105f;\uc000\u{1d552}\u0380;Eaeiop\u12c1\u167b\u167d\u1682\u1684\u1687\u168a;\u6a70cir;\u6a6f;\u624ad;\u624bs;\u4027rox\u0100;e\u12c1\u1692\xf1\u1683ing\u803b\xe5\u40e5\u0180cty\u16a1\u16a6\u16a8r;\uc000\u{1d4b6};\u402amp\u0100;e\u12c1\u16af\xf1\u0288ilde\u803b\xe3\u40e3ml\u803b\xe4\u40e4\u0100ci\u16c2\u16c8onin\xf4\u0272nt;\u6a11\u0800Nabcdefiklnoprsu\u16ed\u16f1\u1730\u173c\u1743\u1748\u1778\u177d\u17e0\u17e6\u1839\u1850\u170d\u193d\u1948\u1970ot;\u6aed\u0100cr\u16f6\u171ek\u0200ceps\u1700\u1705\u170d\u1713ong;\u624cpsilon;\u43f6rime;\u6035im\u0100;e\u171a\u171b\u623dq;\u62cd\u0176\u1722\u1726ee;\u62bded\u0100;g\u172c\u172d\u6305e\xbb\u172drk\u0100;t\u135c\u1737brk;\u63b6\u0100oy\u1701\u1741;\u4431quo;\u601e\u0280cmprt\u1753\u175b\u1761\u1764\u1768aus\u0100;e\u010a\u0109ptyv;\u69b0s\xe9\u170cno\xf5\u0113\u0180ahw\u176f\u1771\u1773;\u43b2;\u6136een;\u626cr;\uc000\u{1d51f}g\u0380costuvw\u178d\u179d\u17b3\u17c1\u17d5\u17db\u17de\u0180aiu\u1794\u1796\u179a\xf0\u0760rc;\u65efp\xbb\u1371\u0180dpt\u17a4\u17a8\u17adot;\u6a00lus;\u6a01imes;\u6a02\u0271\u17b9\0\0\u17becup;\u6a06ar;\u6605riangle\u0100du\u17cd\u17d2own;\u65bdp;\u65b3plus;\u6a04e\xe5\u1444\xe5\u14adarow;\u690d\u0180ako\u17ed\u1826\u1835\u0100cn\u17f2\u1823k\u0180lst\u17fa\u05ab\u1802ozenge;\u69ebriangle\u0200;dlr\u1812\u1813\u1818\u181d\u65b4own;\u65beeft;\u65c2ight;\u65b8k;\u6423\u01b1\u182b\0\u1833\u01b2\u182f\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183e\u184d\u0100;q\u1843\u1846\uc000=\u20e5uiv;\uc000\u2261\u20e5t;\u6310\u0200ptwx\u1859\u185e\u1867\u186cf;\uc000\u{1d553}\u0100;t\u13cb\u1863om\xbb\u13cctie;\u62c8\u0600DHUVbdhmptuv\u1885\u1896\u18aa\u18bb\u18d7\u18db\u18ec\u18ff\u1905\u190a\u1910\u1921\u0200LRlr\u188e\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18a1\u18a2\u18a4\u18a6\u18a8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18b3\u18b5\u18b7\u18b9;\u655d;\u655a;\u655c;\u6559\u0380;HLRhlr\u18ca\u18cb\u18cd\u18cf\u18d1\u18d3\u18d5\u6551;\u656c;\u6563;\u6560;\u656b;\u6562;\u655fox;\u69c9\u0200LRlr\u18e4\u18e6\u18e8\u18ea;\u6555;\u6552;\u6510;\u650c\u0280;DUdu\u06bd\u18f7\u18f9\u18fb\u18fd;\u6565;\u6568;\u652c;\u6534inus;\u629flus;\u629eimes;\u62a0\u0200LRlr\u1919\u191b\u191d\u191f;\u655b;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193b\u6502;\u656a;\u6561;\u655e;\u653c;\u6524;\u651c\u0100ev\u0123\u1942bar\u803b\xa6\u40a6\u0200ceio\u1951\u1956\u195a\u1960r;\uc000\u{1d4b7}mi;\u604fm\u0100;e\u171a\u171cl\u0180;bh\u1968\u1969\u196b\u405c;\u69c5sub;\u67c8\u016c\u1974\u197el\u0100;e\u1979\u197a\u6022t\xbb\u197ap\u0180;Ee\u012f\u1985\u1987;\u6aae\u0100;q\u06dc\u06db\u0ce1\u19a7\0\u19e8\u1a11\u1a15\u1a32\0\u1a37\u1a50\0\0\u1ab4\0\0\u1ac1\0\0\u1b21\u1b2e\u1b4d\u1b52\0\u1bfd\0\u1c0c\u0180cpr\u19ad\u19b2\u19ddute;\u4107\u0300;abcds\u19bf\u19c0\u19c4\u19ca\u19d5\u19d9\u6229nd;\u6a44rcup;\u6a49\u0100au\u19cf\u19d2p;\u6a4bp;\u6a47ot;\u6a40;\uc000\u2229\ufe00\u0100eo\u19e2\u19e5t;\u6041\xee\u0693\u0200aeiu\u19f0\u19fb\u1a01\u1a05\u01f0\u19f5\0\u19f8s;\u6a4don;\u410ddil\u803b\xe7\u40e7rc;\u4109ps\u0100;s\u1a0c\u1a0d\u6a4cm;\u6a50ot;\u410b\u0180dmn\u1a1b\u1a20\u1a26il\u80bb\xb8\u01adptyv;\u69b2t\u8100\xa2;e\u1a2d\u1a2e\u40a2r\xe4\u01b2r;\uc000\u{1d520}\u0180cei\u1a3d\u1a40\u1a4dy;\u4447ck\u0100;m\u1a47\u1a48\u6713ark\xbb\u1a48;\u43c7r\u0380;Ecefms\u1a5f\u1a60\u1a62\u1a6b\u1aa4\u1aaa\u1aae\u65cb;\u69c3\u0180;el\u1a69\u1a6a\u1a6d\u42c6q;\u6257e\u0261\u1a74\0\0\u1a88rrow\u0100lr\u1a7c\u1a81eft;\u61baight;\u61bb\u0280RSacd\u1a92\u1a94\u1a96\u1a9a\u1a9f\xbb\u0f47;\u64c8st;\u629birc;\u629aash;\u629dnint;\u6a10id;\u6aefcir;\u69c2ubs\u0100;u\u1abb\u1abc\u6663it\xbb\u1abc\u02ec\u1ac7\u1ad4\u1afa\0\u1b0aon\u0100;e\u1acd\u1ace\u403a\u0100;q\xc7\xc6\u026d\u1ad9\0\0\u1ae2a\u0100;t\u1ade\u1adf\u402c;\u4040\u0180;fl\u1ae8\u1ae9\u1aeb\u6201\xee\u1160e\u0100mx\u1af1\u1af6ent\xbb\u1ae9e\xf3\u024d\u01e7\u1afe\0\u1b07\u0100;d\u12bb\u1b02ot;\u6a6dn\xf4\u0246\u0180fry\u1b10\u1b14\u1b17;\uc000\u{1d554}o\xe4\u0254\u8100\xa9;s\u0155\u1b1dr;\u6117\u0100ao\u1b25\u1b29rr;\u61b5ss;\u6717\u0100cu\u1b32\u1b37r;\uc000\u{1d4b8}\u0100bp\u1b3c\u1b44\u0100;e\u1b41\u1b42\u6acf;\u6ad1\u0100;e\u1b49\u1b4a\u6ad0;\u6ad2dot;\u62ef\u0380delprvw\u1b60\u1b6c\u1b77\u1b82\u1bac\u1bd4\u1bf9arr\u0100lr\u1b68\u1b6a;\u6938;\u6935\u0270\u1b72\0\0\u1b75r;\u62dec;\u62dfarr\u0100;p\u1b7f\u1b80\u61b6;\u693d\u0300;bcdos\u1b8f\u1b90\u1b96\u1ba1\u1ba5\u1ba8\u622arcap;\u6a48\u0100au\u1b9b\u1b9ep;\u6a46p;\u6a4aot;\u628dr;\u6a45;\uc000\u222a\ufe00\u0200alrv\u1bb5\u1bbf\u1bde\u1be3rr\u0100;m\u1bbc\u1bbd\u61b7;\u693cy\u0180evw\u1bc7\u1bd4\u1bd8q\u0270\u1bce\0\0\u1bd2re\xe3\u1b73u\xe3\u1b75ee;\u62ceedge;\u62cfen\u803b\xa4\u40a4earrow\u0100lr\u1bee\u1bf3eft\xbb\u1b80ight\xbb\u1bbde\xe4\u1bdd\u0100ci\u1c01\u1c07onin\xf4\u01f7nt;\u6231lcty;\u632d\u0980AHabcdefhijlorstuwz\u1c38\u1c3b\u1c3f\u1c5d\u1c69\u1c75\u1c8a\u1c9e\u1cac\u1cb7\u1cfb\u1cff\u1d0d\u1d7b\u1d91\u1dab\u1dbb\u1dc6\u1dcdr\xf2\u0381ar;\u6965\u0200glrs\u1c48\u1c4d\u1c52\u1c54ger;\u6020eth;\u6138\xf2\u1133h\u0100;v\u1c5a\u1c5b\u6010\xbb\u090a\u016b\u1c61\u1c67arow;\u690fa\xe3\u0315\u0100ay\u1c6e\u1c73ron;\u410f;\u4434\u0180;ao\u0332\u1c7c\u1c84\u0100gr\u02bf\u1c81r;\u61catseq;\u6a77\u0180glm\u1c91\u1c94\u1c98\u803b\xb0\u40b0ta;\u43b4ptyv;\u69b1\u0100ir\u1ca3\u1ca8sht;\u697f;\uc000\u{1d521}ar\u0100lr\u1cb3\u1cb5\xbb\u08dc\xbb\u101e\u0280aegsv\u1cc2\u0378\u1cd6\u1cdc\u1ce0m\u0180;os\u0326\u1cca\u1cd4nd\u0100;s\u0326\u1cd1uit;\u6666amma;\u43ddin;\u62f2\u0180;io\u1ce7\u1ce8\u1cf8\u40f7de\u8100\xf7;o\u1ce7\u1cf0ntimes;\u62c7n\xf8\u1cf7cy;\u4452c\u026f\u1d06\0\0\u1d0arn;\u631eop;\u630d\u0280lptuw\u1d18\u1d1d\u1d22\u1d49\u1d55lar;\u4024f;\uc000\u{1d555}\u0280;emps\u030b\u1d2d\u1d37\u1d3d\u1d42q\u0100;d\u0352\u1d33ot;\u6251inus;\u6238lus;\u6214quare;\u62a1blebarwedg\xe5\xfan\u0180adh\u112e\u1d5d\u1d67ownarrow\xf3\u1c83arpoon\u0100lr\u1d72\u1d76ef\xf4\u1cb4igh\xf4\u1cb6\u0162\u1d7f\u1d85karo\xf7\u0f42\u026f\u1d8a\0\0\u1d8ern;\u631fop;\u630c\u0180cot\u1d98\u1da3\u1da6\u0100ry\u1d9d\u1da1;\uc000\u{1d4b9};\u4455l;\u69f6rok;\u4111\u0100dr\u1db0\u1db4ot;\u62f1i\u0100;f\u1dba\u1816\u65bf\u0100ah\u1dc0\u1dc3r\xf2\u0429a\xf2\u0fa6angle;\u69a6\u0100ci\u1dd2\u1dd5y;\u445fgrarr;\u67ff\u0900Dacdefglmnopqrstux\u1e01\u1e09\u1e19\u1e38\u0578\u1e3c\u1e49\u1e61\u1e7e\u1ea5\u1eaf\u1ebd\u1ee1\u1f2a\u1f37\u1f44\u1f4e\u1f5a\u0100Do\u1e06\u1d34o\xf4\u1c89\u0100cs\u1e0e\u1e14ute\u803b\xe9\u40e9ter;\u6a6e\u0200aioy\u1e22\u1e27\u1e31\u1e36ron;\u411br\u0100;c\u1e2d\u1e2e\u6256\u803b\xea\u40ealon;\u6255;\u444dot;\u4117\u0100Dr\u1e41\u1e45ot;\u6252;\uc000\u{1d522}\u0180;rs\u1e50\u1e51\u1e57\u6a9aave\u803b\xe8\u40e8\u0100;d\u1e5c\u1e5d\u6a96ot;\u6a98\u0200;ils\u1e6a\u1e6b\u1e72\u1e74\u6a99nters;\u63e7;\u6113\u0100;d\u1e79\u1e7a\u6a95ot;\u6a97\u0180aps\u1e85\u1e89\u1e97cr;\u4113ty\u0180;sv\u1e92\u1e93\u1e95\u6205et\xbb\u1e93p\u01001;\u1e9d\u1ea4\u0133\u1ea1\u1ea3;\u6004;\u6005\u6003\u0100gs\u1eaa\u1eac;\u414bp;\u6002\u0100gp\u1eb4\u1eb8on;\u4119f;\uc000\u{1d556}\u0180als\u1ec4\u1ece\u1ed2r\u0100;s\u1eca\u1ecb\u62d5l;\u69e3us;\u6a71i\u0180;lv\u1eda\u1edb\u1edf\u43b5on\xbb\u1edb;\u43f5\u0200csuv\u1eea\u1ef3\u1f0b\u1f23\u0100io\u1eef\u1e31rc\xbb\u1e2e\u0269\u1ef9\0\0\u1efb\xed\u0548ant\u0100gl\u1f02\u1f06tr\xbb\u1e5dess\xbb\u1e7a\u0180aei\u1f12\u1f16\u1f1als;\u403dst;\u625fv\u0100;D\u0235\u1f20D;\u6a78parsl;\u69e5\u0100Da\u1f2f\u1f33ot;\u6253rr;\u6971\u0180cdi\u1f3e\u1f41\u1ef8r;\u612fo\xf4\u0352\u0100ah\u1f49\u1f4b;\u43b7\u803b\xf0\u40f0\u0100mr\u1f53\u1f57l\u803b\xeb\u40ebo;\u60ac\u0180cip\u1f61\u1f64\u1f67l;\u4021s\xf4\u056e\u0100eo\u1f6c\u1f74ctatio\xee\u0559nential\xe5\u0579\u09e1\u1f92\0\u1f9e\0\u1fa1\u1fa7\0\0\u1fc6\u1fcc\0\u1fd3\0\u1fe6\u1fea\u2000\0\u2008\u205allingdotse\xf1\u1e44y;\u4444male;\u6640\u0180ilr\u1fad\u1fb3\u1fc1lig;\u8000\ufb03\u0269\u1fb9\0\0\u1fbdg;\u8000\ufb00ig;\u8000\ufb04;\uc000\u{1d523}lig;\u8000\ufb01lig;\uc000fj\u0180alt\u1fd9\u1fdc\u1fe1t;\u666dig;\u8000\ufb02ns;\u65b1of;\u4192\u01f0\u1fee\0\u1ff3f;\uc000\u{1d557}\u0100ak\u05bf\u1ff7\u0100;v\u1ffc\u1ffd\u62d4;\u6ad9artint;\u6a0d\u0100ao\u200c\u2055\u0100cs\u2011\u2052\u03b1\u201a\u2030\u2038\u2045\u2048\0\u2050\u03b2\u2022\u2025\u2027\u202a\u202c\0\u202e\u803b\xbd\u40bd;\u6153\u803b\xbc\u40bc;\u6155;\u6159;\u615b\u01b3\u2034\0\u2036;\u6154;\u6156\u02b4\u203e\u2041\0\0\u2043\u803b\xbe\u40be;\u6157;\u615c5;\u6158\u01b6\u204c\0\u204e;\u615a;\u615d8;\u615el;\u6044wn;\u6322cr;\uc000\u{1d4bb}\u0880Eabcdefgijlnorstv\u2082\u2089\u209f\u20a5\u20b0\u20b4\u20f0\u20f5\u20fa\u20ff\u2103\u2112\u2138\u0317\u213e\u2152\u219e\u0100;l\u064d\u2087;\u6a8c\u0180cmp\u2090\u2095\u209dute;\u41f5ma\u0100;d\u209c\u1cda\u43b3;\u6a86reve;\u411f\u0100iy\u20aa\u20aerc;\u411d;\u4433ot;\u4121\u0200;lqs\u063e\u0642\u20bd\u20c9\u0180;qs\u063e\u064c\u20c4lan\xf4\u0665\u0200;cdl\u0665\u20d2\u20d5\u20e5c;\u6aa9ot\u0100;o\u20dc\u20dd\u6a80\u0100;l\u20e2\u20e3\u6a82;\u6a84\u0100;e\u20ea\u20ed\uc000\u22db\ufe00s;\u6a94r;\uc000\u{1d524}\u0100;g\u0673\u061bmel;\u6137cy;\u4453\u0200;Eaj\u065a\u210c\u210e\u2110;\u6a92;\u6aa5;\u6aa4\u0200Eaes\u211b\u211d\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6a8arox\xbb\u2124\u0100;q\u212e\u212f\u6a88\u0100;q\u212e\u211bim;\u62e7pf;\uc000\u{1d558}\u0100ci\u2143\u2146r;\u610am\u0180;el\u066b\u214e\u2150;\u6a8e;\u6a90\u8300>;cdlqr\u05ee\u2160\u216a\u216e\u2173\u2179\u0100ci\u2165\u2167;\u6aa7r;\u6a7aot;\u62d7Par;\u6995uest;\u6a7c\u0280adels\u2184\u216a\u2190\u0656\u219b\u01f0\u2189\0\u218epro\xf8\u209er;\u6978q\u0100lq\u063f\u2196les\xf3\u2088i\xed\u066b\u0100en\u21a3\u21adrtneqq;\uc000\u2269\ufe00\xc5\u21aa\u0500Aabcefkosy\u21c4\u21c7\u21f1\u21f5\u21fa\u2218\u221d\u222f\u2268\u227dr\xf2\u03a0\u0200ilmr\u21d0\u21d4\u21d7\u21dbrs\xf0\u1484f\xbb\u2024il\xf4\u06a9\u0100dr\u21e0\u21e4cy;\u444a\u0180;cw\u08f4\u21eb\u21efir;\u6948;\u61adar;\u610firc;\u4125\u0180alr\u2201\u220e\u2213rts\u0100;u\u2209\u220a\u6665it\xbb\u220alip;\u6026con;\u62b9r;\uc000\u{1d525}s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223a\u223e\u2243\u225e\u2263rr;\u61fftht;\u623bk\u0100lr\u2249\u2253eftarrow;\u61a9ightarrow;\u61aaf;\uc000\u{1d559}bar;\u6015\u0180clt\u226f\u2274\u2278r;\uc000\u{1d4bd}as\xe8\u21f4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xbb\u1c5b\u0ae1\u22a3\0\u22aa\0\u22b8\u22c5\u22ce\0\u22d5\u22f3\0\0\u22f8\u2322\u2367\u2362\u237f\0\u2386\u23aa\u23b4cute\u803b\xed\u40ed\u0180;iy\u0771\u22b0\u22b5rc\u803b\xee\u40ee;\u4438\u0100cx\u22bc\u22bfy;\u4435cl\u803b\xa1\u40a1\u0100fr\u039f\u22c9;\uc000\u{1d526}rave\u803b\xec\u40ec\u0200;ino\u073e\u22dd\u22e9\u22ee\u0100in\u22e2\u22e6nt;\u6a0ct;\u622dfin;\u69dcta;\u6129lig;\u4133\u0180aop\u22fe\u231a\u231d\u0180cgt\u2305\u2308\u2317r;\u412b\u0180elp\u071f\u230f\u2313in\xe5\u078ear\xf4\u0720h;\u4131f;\u62b7ed;\u41b5\u0280;cfot\u04f4\u232c\u2331\u233d\u2341are;\u6105in\u0100;t\u2338\u2339\u621eie;\u69dddo\xf4\u2319\u0280;celp\u0757\u234c\u2350\u235b\u2361al;\u62ba\u0100gr\u2355\u2359er\xf3\u1563\xe3\u234darhk;\u6a17rod;\u6a3c\u0200cgpt\u236f\u2372\u2376\u237by;\u4451on;\u412ff;\uc000\u{1d55a}a;\u43b9uest\u803b\xbf\u40bf\u0100ci\u238a\u238fr;\uc000\u{1d4be}n\u0280;Edsv\u04f4\u239b\u239d\u23a1\u04f3;\u62f9ot;\u62f5\u0100;v\u23a6\u23a7\u62f4;\u62f3\u0100;i\u0777\u23aelde;\u4129\u01eb\u23b8\0\u23bccy;\u4456l\u803b\xef\u40ef\u0300cfmosu\u23cc\u23d7\u23dc\u23e1\u23e7\u23f5\u0100iy\u23d1\u23d5rc;\u4135;\u4439r;\uc000\u{1d527}ath;\u4237pf;\uc000\u{1d55b}\u01e3\u23ec\0\u23f1r;\uc000\u{1d4bf}rcy;\u4458kcy;\u4454\u0400acfghjos\u240b\u2416\u2422\u2427\u242d\u2431\u2435\u243bppa\u0100;v\u2413\u2414\u43ba;\u43f0\u0100ey\u241b\u2420dil;\u4137;\u443ar;\uc000\u{1d528}reen;\u4138cy;\u4445cy;\u445cpf;\uc000\u{1d55c}cr;\uc000\u{1d4c0}\u0b80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248d\u2491\u250e\u253d\u255a\u2580\u264e\u265e\u2665\u2679\u267d\u269a\u26b2\u26d8\u275d\u2768\u278b\u27c0\u2801\u2812\u0180art\u2477\u247a\u247cr\xf2\u09c6\xf2\u0395ail;\u691barr;\u690e\u0100;g\u0994\u248b;\u6a8bar;\u6962\u0963\u24a5\0\u24aa\0\u24b1\0\0\0\0\0\u24b5\u24ba\0\u24c6\u24c8\u24cd\0\u24f9ute;\u413amptyv;\u69b4ra\xee\u084cbda;\u43bbg\u0180;dl\u088e\u24c1\u24c3;\u6991\xe5\u088e;\u6a85uo\u803b\xab\u40abr\u0400;bfhlpst\u0899\u24de\u24e6\u24e9\u24eb\u24ee\u24f1\u24f5\u0100;f\u089d\u24e3s;\u691fs;\u691d\xeb\u2252p;\u61abl;\u6939im;\u6973l;\u61a2\u0180;ae\u24ff\u2500\u2504\u6aabil;\u6919\u0100;s\u2509\u250a\u6aad;\uc000\u2aad\ufe00\u0180abr\u2515\u2519\u251drr;\u690crk;\u6772\u0100ak\u2522\u252cc\u0100ek\u2528\u252a;\u407b;\u405b\u0100es\u2531\u2533;\u698bl\u0100du\u2539\u253b;\u698f;\u698d\u0200aeuy\u2546\u254b\u2556\u2558ron;\u413e\u0100di\u2550\u2554il;\u413c\xec\u08b0\xe2\u2529;\u443b\u0200cqrs\u2563\u2566\u256d\u257da;\u6936uo\u0100;r\u0e19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694bh;\u61b2\u0280;fgqs\u258b\u258c\u0989\u25f3\u25ff\u6264t\u0280ahlrt\u2598\u25a4\u25b7\u25c2\u25e8rrow\u0100;t\u0899\u25a1a\xe9\u24f6arpoon\u0100du\u25af\u25b4own\xbb\u045ap\xbb\u0966eftarrows;\u61c7ight\u0180ahs\u25cd\u25d6\u25derrow\u0100;s\u08f4\u08a7arpoon\xf3\u0f98quigarro\xf7\u21f0hreetimes;\u62cb\u0180;qs\u258b\u0993\u25falan\xf4\u09ac\u0280;cdgs\u09ac\u260a\u260d\u261d\u2628c;\u6aa8ot\u0100;o\u2614\u2615\u6a7f\u0100;r\u261a\u261b\u6a81;\u6a83\u0100;e\u2622\u2625\uc000\u22da\ufe00s;\u6a93\u0280adegs\u2633\u2639\u263d\u2649\u264bppro\xf8\u24c6ot;\u62d6q\u0100gq\u2643\u2645\xf4\u0989gt\xf2\u248c\xf4\u099bi\xed\u09b2\u0180ilr\u2655\u08e1\u265asht;\u697c;\uc000\u{1d529}\u0100;E\u099c\u2663;\u6a91\u0161\u2669\u2676r\u0100du\u25b2\u266e\u0100;l\u0965\u2673;\u696alk;\u6584cy;\u4459\u0280;acht\u0a48\u2688\u268b\u2691\u2696r\xf2\u25c1orne\xf2\u1d08ard;\u696bri;\u65fa\u0100io\u269f\u26a4dot;\u4140ust\u0100;a\u26ac\u26ad\u63b0che\xbb\u26ad\u0200Eaes\u26bb\u26bd\u26c9\u26d4;\u6268p\u0100;p\u26c3\u26c4\u6a89rox\xbb\u26c4\u0100;q\u26ce\u26cf\u6a87\u0100;q\u26ce\u26bbim;\u62e6\u0400abnoptwz\u26e9\u26f4\u26f7\u271a\u272f\u2741\u2747\u2750\u0100nr\u26ee\u26f1g;\u67ecr;\u61fdr\xeb\u08c1g\u0180lmr\u26ff\u270d\u2714eft\u0100ar\u09e6\u2707ight\xe1\u09f2apsto;\u67fcight\xe1\u09fdparrow\u0100lr\u2725\u2729ef\xf4\u24edight;\u61ac\u0180afl\u2736\u2739\u273dr;\u6985;\uc000\u{1d55d}us;\u6a2dimes;\u6a34\u0161\u274b\u274fst;\u6217\xe1\u134e\u0180;ef\u2757\u2758\u1800\u65cange\xbb\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277c\u2785\u2787r\xf2\u08a8orne\xf2\u1d8car\u0100;d\u0f98\u2783;\u696d;\u600eri;\u62bf\u0300achiqt\u2798\u279d\u0a40\u27a2\u27ae\u27bbquo;\u6039r;\uc000\u{1d4c1}m\u0180;eg\u09b2\u27aa\u27ac;\u6a8d;\u6a8f\u0100bu\u252a\u27b3o\u0100;r\u0e1f\u27b9;\u601arok;\u4142\u8400<;cdhilqr\u082b\u27d2\u2639\u27dc\u27e0\u27e5\u27ea\u27f0\u0100ci\u27d7\u27d9;\u6aa6r;\u6a79re\xe5\u25f2mes;\u62c9arr;\u6976uest;\u6a7b\u0100Pi\u27f5\u27f9ar;\u6996\u0180;ef\u2800\u092d\u181b\u65c3r\u0100du\u2807\u280dshar;\u694ahar;\u6966\u0100en\u2817\u2821rtneqq;\uc000\u2268\ufe00\xc5\u281e\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288e\u2893\u28a0\u28a5\u28a8\u28da\u28e2\u28e4\u0a83\u28f3\u2902Dot;\u623a\u0200clpr\u284e\u2852\u2863\u287dr\u803b\xaf\u40af\u0100et\u2857\u2859;\u6642\u0100;e\u285e\u285f\u6720se\xbb\u285f\u0100;s\u103b\u2868to\u0200;dlu\u103b\u2873\u2877\u287bow\xee\u048cef\xf4\u090f\xf0\u13d1ker;\u65ae\u0100oy\u2887\u288cmma;\u6a29;\u443cash;\u6014asuredangle\xbb\u1626r;\uc000\u{1d52a}o;\u6127\u0180cdn\u28af\u28b4\u28c9ro\u803b\xb5\u40b5\u0200;acd\u1464\u28bd\u28c0\u28c4s\xf4\u16a7ir;\u6af0ot\u80bb\xb7\u01b5us\u0180;bd\u28d2\u1903\u28d3\u6212\u0100;u\u1d3c\u28d8;\u6a2a\u0163\u28de\u28e1p;\u6adb\xf2\u2212\xf0\u0a81\u0100dp\u28e9\u28eeels;\u62a7f;\uc000\u{1d55e}\u0100ct\u28f8\u28fdr;\uc000\u{1d4c2}pos\xbb\u159d\u0180;lm\u2909\u290a\u290d\u43bctimap;\u62b8\u0c00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297e\u2989\u2998\u29da\u29e9\u2a15\u2a1a\u2a58\u2a5d\u2a83\u2a95\u2aa4\u2aa8\u2b04\u2b07\u2b44\u2b7f\u2bae\u2c34\u2c67\u2c7c\u2ce9\u0100gt\u2947\u294b;\uc000\u22d9\u0338\u0100;v\u2950\u0bcf\uc000\u226b\u20d2\u0180elt\u295a\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61cdightarrow;\u61ce;\uc000\u22d8\u0338\u0100;v\u297b\u0c47\uc000\u226a\u20d2ightarrow;\u61cf\u0100Dd\u298e\u2993ash;\u62afash;\u62ae\u0280bcnpt\u29a3\u29a7\u29ac\u29b1\u29ccla\xbb\u02deute;\u4144g;\uc000\u2220\u20d2\u0280;Eiop\u0d84\u29bc\u29c0\u29c5\u29c8;\uc000\u2a70\u0338d;\uc000\u224b\u0338s;\u4149ro\xf8\u0d84ur\u0100;a\u29d3\u29d4\u666el\u0100;s\u29d3\u0b38\u01f3\u29df\0\u29e3p\u80bb\xa0\u0b37mp\u0100;e\u0bf9\u0c00\u0280aeouy\u29f4\u29fe\u2a03\u2a10\u2a13\u01f0\u29f9\0\u29fb;\u6a43on;\u4148dil;\u4146ng\u0100;d\u0d7e\u2a0aot;\uc000\u2a6d\u0338p;\u6a42;\u443dash;\u6013\u0380;Aadqsx\u0b92\u2a29\u2a2d\u2a3b\u2a41\u2a45\u2a50rr;\u61d7r\u0100hr\u2a33\u2a36k;\u6924\u0100;o\u13f2\u13f0ot;\uc000\u2250\u0338ui\xf6\u0b63\u0100ei\u2a4a\u2a4ear;\u6928\xed\u0b98ist\u0100;s\u0ba0\u0b9fr;\uc000\u{1d52b}\u0200Eest\u0bc5\u2a66\u2a79\u2a7c\u0180;qs\u0bbc\u2a6d\u0be1\u0180;qs\u0bbc\u0bc5\u2a74lan\xf4\u0be2i\xed\u0bea\u0100;r\u0bb6\u2a81\xbb\u0bb7\u0180Aap\u2a8a\u2a8d\u2a91r\xf2\u2971rr;\u61aear;\u6af2\u0180;sv\u0f8d\u2a9c\u0f8c\u0100;d\u2aa1\u2aa2\u62fc;\u62facy;\u445a\u0380AEadest\u2ab7\u2aba\u2abe\u2ac2\u2ac5\u2af6\u2af9r\xf2\u2966;\uc000\u2266\u0338rr;\u619ar;\u6025\u0200;fqs\u0c3b\u2ace\u2ae3\u2aeft\u0100ar\u2ad4\u2ad9rro\xf7\u2ac1ightarro\xf7\u2a90\u0180;qs\u0c3b\u2aba\u2aealan\xf4\u0c55\u0100;s\u0c55\u2af4\xbb\u0c36i\xed\u0c5d\u0100;r\u0c35\u2afei\u0100;e\u0c1a\u0c25i\xe4\u0d90\u0100pt\u2b0c\u2b11f;\uc000\u{1d55f}\u8180\xac;in\u2b19\u2b1a\u2b36\u40acn\u0200;Edv\u0b89\u2b24\u2b28\u2b2e;\uc000\u22f9\u0338ot;\uc000\u22f5\u0338\u01e1\u0b89\u2b33\u2b35;\u62f7;\u62f6i\u0100;v\u0cb8\u2b3c\u01e1\u0cb8\u2b41\u2b43;\u62fe;\u62fd\u0180aor\u2b4b\u2b63\u2b69r\u0200;ast\u0b7b\u2b55\u2b5a\u2b5flle\xec\u0b7bl;\uc000\u2afd\u20e5;\uc000\u2202\u0338lint;\u6a14\u0180;ce\u0c92\u2b70\u2b73u\xe5\u0ca5\u0100;c\u0c98\u2b78\u0100;e\u0c92\u2b7d\xf1\u0c98\u0200Aait\u2b88\u2b8b\u2b9d\u2ba7r\xf2\u2988rr\u0180;cw\u2b94\u2b95\u2b99\u619b;\uc000\u2933\u0338;\uc000\u219d\u0338ghtarrow\xbb\u2b95ri\u0100;e\u0ccb\u0cd6\u0380chimpqu\u2bbd\u2bcd\u2bd9\u2b04\u0b78\u2be4\u2bef\u0200;cer\u0d32\u2bc6\u0d37\u2bc9u\xe5\u0d45;\uc000\u{1d4c3}ort\u026d\u2b05\0\0\u2bd6ar\xe1\u2b56m\u0100;e\u0d6e\u2bdf\u0100;q\u0d74\u0d73su\u0100bp\u2beb\u2bed\xe5\u0cf8\xe5\u0d0b\u0180bcp\u2bf6\u2c11\u2c19\u0200;Ees\u2bff\u2c00\u0d22\u2c04\u6284;\uc000\u2ac5\u0338et\u0100;e\u0d1b\u2c0bq\u0100;q\u0d23\u2c00c\u0100;e\u0d32\u2c17\xf1\u0d38\u0200;Ees\u2c22\u2c23\u0d5f\u2c27\u6285;\uc000\u2ac6\u0338et\u0100;e\u0d58\u2c2eq\u0100;q\u0d60\u2c23\u0200gilr\u2c3d\u2c3f\u2c45\u2c47\xec\u0bd7lde\u803b\xf1\u40f1\xe7\u0c43iangle\u0100lr\u2c52\u2c5ceft\u0100;e\u0c1a\u2c5a\xf1\u0c26ight\u0100;e\u0ccb\u2c65\xf1\u0cd7\u0100;m\u2c6c\u2c6d\u43bd\u0180;es\u2c74\u2c75\u2c79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2c8f\u2c94\u2c99\u2c9e\u2ca3\u2cb0\u2cb6\u2cd3\u2ce3ash;\u62adarr;\u6904p;\uc000\u224d\u20d2ash;\u62ac\u0100et\u2ca8\u2cac;\uc000\u2265\u20d2;\uc000>\u20d2nfin;\u69de\u0180Aet\u2cbd\u2cc1\u2cc5rr;\u6902;\uc000\u2264\u20d2\u0100;r\u2cca\u2ccd\uc000<\u20d2ie;\uc000\u22b4\u20d2\u0100At\u2cd8\u2cdcrr;\u6903rie;\uc000\u22b5\u20d2im;\uc000\u223c\u20d2\u0180Aan\u2cf0\u2cf4\u2d02rr;\u61d6r\u0100hr\u2cfa\u2cfdk;\u6923\u0100;o\u13e7\u13e5ear;\u6927\u1253\u1a95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2d2d\0\u2d38\u2d48\u2d60\u2d65\u2d72\u2d84\u1b07\0\0\u2d8d\u2dab\0\u2dc8\u2dce\0\u2ddc\u2e19\u2e2b\u2e3e\u2e43\u0100cs\u2d31\u1a97ute\u803b\xf3\u40f3\u0100iy\u2d3c\u2d45r\u0100;c\u1a9e\u2d42\u803b\xf4\u40f4;\u443e\u0280abios\u1aa0\u2d52\u2d57\u01c8\u2d5alac;\u4151v;\u6a38old;\u69bclig;\u4153\u0100cr\u2d69\u2d6dir;\u69bf;\uc000\u{1d52c}\u036f\u2d79\0\0\u2d7c\0\u2d82n;\u42dbave\u803b\xf2\u40f2;\u69c1\u0100bm\u2d88\u0df4ar;\u69b5\u0200acit\u2d95\u2d98\u2da5\u2da8r\xf2\u1a80\u0100ir\u2d9d\u2da0r;\u69beoss;\u69bbn\xe5\u0e52;\u69c0\u0180aei\u2db1\u2db5\u2db9cr;\u414dga;\u43c9\u0180cdn\u2dc0\u2dc5\u01cdron;\u43bf;\u69b6pf;\uc000\u{1d560}\u0180ael\u2dd4\u2dd7\u01d2r;\u69b7rp;\u69b9\u0380;adiosv\u2dea\u2deb\u2dee\u2e08\u2e0d\u2e10\u2e16\u6228r\xf2\u1a86\u0200;efm\u2df7\u2df8\u2e02\u2e05\u6a5dr\u0100;o\u2dfe\u2dff\u6134f\xbb\u2dff\u803b\xaa\u40aa\u803b\xba\u40bagof;\u62b6r;\u6a56lope;\u6a57;\u6a5b\u0180clo\u2e1f\u2e21\u2e27\xf2\u2e01ash\u803b\xf8\u40f8l;\u6298i\u016c\u2e2f\u2e34de\u803b\xf5\u40f5es\u0100;a\u01db\u2e3as;\u6a36ml\u803b\xf6\u40f6bar;\u633d\u0ae1\u2e5e\0\u2e7d\0\u2e80\u2e9d\0\u2ea2\u2eb9\0\0\u2ecb\u0e9c\0\u2f13\0\0\u2f2b\u2fbc\0\u2fc8r\u0200;ast\u0403\u2e67\u2e72\u0e85\u8100\xb6;l\u2e6d\u2e6e\u40b6le\xec\u0403\u0269\u2e78\0\0\u2e7bm;\u6af3;\u6afdy;\u443fr\u0280cimpt\u2e8b\u2e8f\u2e93\u1865\u2e97nt;\u4025od;\u402eil;\u6030enk;\u6031r;\uc000\u{1d52d}\u0180imo\u2ea8\u2eb0\u2eb4\u0100;v\u2ead\u2eae\u43c6;\u43d5ma\xf4\u0a76ne;\u660e\u0180;tv\u2ebf\u2ec0\u2ec8\u43c0chfork\xbb\u1ffd;\u43d6\u0100au\u2ecf\u2edfn\u0100ck\u2ed5\u2eddk\u0100;h\u21f4\u2edb;\u610e\xf6\u21f4s\u0480;abcdemst\u2ef3\u2ef4\u1908\u2ef9\u2efd\u2f04\u2f06\u2f0a\u2f0e\u402bcir;\u6a23ir;\u6a22\u0100ou\u1d40\u2f02;\u6a25;\u6a72n\u80bb\xb1\u0e9dim;\u6a26wo;\u6a27\u0180ipu\u2f19\u2f20\u2f25ntint;\u6a15f;\uc000\u{1d561}nd\u803b\xa3\u40a3\u0500;Eaceinosu\u0ec8\u2f3f\u2f41\u2f44\u2f47\u2f81\u2f89\u2f92\u2f7e\u2fb6;\u6ab3p;\u6ab7u\xe5\u0ed9\u0100;c\u0ece\u2f4c\u0300;acens\u0ec8\u2f59\u2f5f\u2f66\u2f68\u2f7eppro\xf8\u2f43urlye\xf1\u0ed9\xf1\u0ece\u0180aes\u2f6f\u2f76\u2f7approx;\u6ab9qq;\u6ab5im;\u62e8i\xed\u0edfme\u0100;s\u2f88\u0eae\u6032\u0180Eas\u2f78\u2f90\u2f7a\xf0\u2f75\u0180dfp\u0eec\u2f99\u2faf\u0180als\u2fa0\u2fa5\u2faalar;\u632eine;\u6312urf;\u6313\u0100;t\u0efb\u2fb4\xef\u0efbrel;\u62b0\u0100ci\u2fc0\u2fc5r;\uc000\u{1d4c5};\u43c8ncsp;\u6008\u0300fiopsu\u2fda\u22e2\u2fdf\u2fe5\u2feb\u2ff1r;\uc000\u{1d52e}pf;\uc000\u{1d562}rime;\u6057cr;\uc000\u{1d4c6}\u0180aeo\u2ff8\u3009\u3013t\u0100ei\u2ffe\u3005rnion\xf3\u06b0nt;\u6a16st\u0100;e\u3010\u3011\u403f\xf1\u1f19\xf4\u0f14\u0a80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30e0\u310e\u312b\u3147\u3162\u3172\u318e\u3206\u3215\u3224\u3229\u3258\u326e\u3272\u3290\u32b0\u32b7\u0180art\u3047\u304a\u304cr\xf2\u10b3\xf2\u03ddail;\u691car\xf2\u1c65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307f\u308f\u3094\u30cc\u0100eu\u306d\u3071;\uc000\u223d\u0331te;\u4155i\xe3\u116emptyv;\u69b3g\u0200;del\u0fd1\u3089\u308b\u308d;\u6992;\u69a5\xe5\u0fd1uo\u803b\xbb\u40bbr\u0580;abcfhlpstw\u0fdc\u30ac\u30af\u30b7\u30b9\u30bc\u30be\u30c0\u30c3\u30c7\u30cap;\u6975\u0100;f\u0fe0\u30b4s;\u6920;\u6933s;\u691e\xeb\u225d\xf0\u272el;\u6945im;\u6974l;\u61a3;\u619d\u0100ai\u30d1\u30d5il;\u691ao\u0100;n\u30db\u30dc\u6236al\xf3\u0f1e\u0180abr\u30e7\u30ea\u30eer\xf2\u17e5rk;\u6773\u0100ak\u30f3\u30fdc\u0100ek\u30f9\u30fb;\u407d;\u405d\u0100es\u3102\u3104;\u698cl\u0100du\u310a\u310c;\u698e;\u6990\u0200aeuy\u3117\u311c\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xec\u0ff2\xe2\u30fa;\u4440\u0200clqs\u3134\u3137\u313d\u3144a;\u6937dhar;\u6969uo\u0100;r\u020e\u020dh;\u61b3\u0180acg\u314e\u315f\u0f44l\u0200;ips\u0f78\u3158\u315b\u109cn\xe5\u10bbar\xf4\u0fa9t;\u65ad\u0180ilr\u3169\u1023\u316esht;\u697d;\uc000\u{1d52f}\u0100ao\u3177\u3186r\u0100du\u317d\u317f\xbb\u047b\u0100;l\u1091\u3184;\u696c\u0100;v\u318b\u318c\u43c1;\u43f1\u0180gns\u3195\u31f9\u31fcht\u0300ahlrst\u31a4\u31b0\u31c2\u31d8\u31e4\u31eerrow\u0100;t\u0fdc\u31ada\xe9\u30c8arpoon\u0100du\u31bb\u31bfow\xee\u317ep\xbb\u1092eft\u0100ah\u31ca\u31d0rrow\xf3\u0feaarpoon\xf3\u0551ightarrows;\u61c9quigarro\xf7\u30cbhreetimes;\u62ccg;\u42daingdotse\xf1\u1f32\u0180ahm\u320d\u3210\u3213r\xf2\u0feaa\xf2\u0551;\u600foust\u0100;a\u321e\u321f\u63b1che\xbb\u321fmid;\u6aee\u0200abpt\u3232\u323d\u3240\u3252\u0100nr\u3237\u323ag;\u67edr;\u61fer\xeb\u1003\u0180afl\u3247\u324a\u324er;\u6986;\uc000\u{1d563}us;\u6a2eimes;\u6a35\u0100ap\u325d\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6a12ar\xf2\u31e3\u0200achq\u327b\u3280\u10bc\u3285quo;\u603ar;\uc000\u{1d4c7}\u0100bu\u30fb\u328ao\u0100;r\u0214\u0213\u0180hir\u3297\u329b\u32a0re\xe5\u31f8mes;\u62cai\u0200;efl\u32aa\u1059\u1821\u32ab\u65b9tri;\u69celuhar;\u6968;\u611e\u0d61\u32d5\u32db\u32df\u332c\u3338\u3371\0\u337a\u33a4\0\0\u33ec\u33f0\0\u3428\u3448\u345a\u34ad\u34b1\u34ca\u34f1\0\u3616\0\0\u3633cute;\u415bqu\xef\u27ba\u0500;Eaceinpsy\u11ed\u32f3\u32f5\u32ff\u3302\u330b\u330f\u331f\u3326\u3329;\u6ab4\u01f0\u32fa\0\u32fc;\u6ab8on;\u4161u\xe5\u11fe\u0100;d\u11f3\u3307il;\u415frc;\u415d\u0180Eas\u3316\u3318\u331b;\u6ab6p;\u6abaim;\u62e9olint;\u6a13i\xed\u1204;\u4441ot\u0180;be\u3334\u1d47\u3335\u62c5;\u6a66\u0380Aacmstx\u3346\u334a\u3357\u335b\u335e\u3363\u336drr;\u61d8r\u0100hr\u3350\u3352\xeb\u2228\u0100;o\u0a36\u0a34t\u803b\xa7\u40a7i;\u403bwar;\u6929m\u0100in\u3369\xf0nu\xf3\xf1t;\u6736r\u0100;o\u3376\u2055\uc000\u{1d530}\u0200acoy\u3382\u3386\u3391\u33a0rp;\u666f\u0100hy\u338b\u338fcy;\u4449;\u4448rt\u026d\u3399\0\0\u339ci\xe4\u1464ara\xec\u2e6f\u803b\xad\u40ad\u0100gm\u33a8\u33b4ma\u0180;fv\u33b1\u33b2\u33b2\u43c3;\u43c2\u0400;deglnpr\u12ab\u33c5\u33c9\u33ce\u33d6\u33de\u33e1\u33e6ot;\u6a6a\u0100;q\u12b1\u12b0\u0100;E\u33d3\u33d4\u6a9e;\u6aa0\u0100;E\u33db\u33dc\u6a9d;\u6a9fe;\u6246lus;\u6a24arr;\u6972ar\xf2\u113d\u0200aeit\u33f8\u3408\u340f\u3417\u0100ls\u33fd\u3404lsetm\xe9\u336ahp;\u6a33parsl;\u69e4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341c\u341d\u6aaa\u0100;s\u3422\u3423\u6aac;\uc000\u2aac\ufe00\u0180flp\u342e\u3433\u3442tcy;\u444c\u0100;b\u3438\u3439\u402f\u0100;a\u343e\u343f\u69c4r;\u633ff;\uc000\u{1d564}a\u0100dr\u344d\u0402es\u0100;u\u3454\u3455\u6660it\xbb\u3455\u0180csu\u3460\u3479\u349f\u0100au\u3465\u346fp\u0100;s\u1188\u346b;\uc000\u2293\ufe00p\u0100;s\u11b4\u3475;\uc000\u2294\ufe00u\u0100bp\u347f\u348f\u0180;es\u1197\u119c\u3486et\u0100;e\u1197\u348d\xf1\u119d\u0180;es\u11a8\u11ad\u3496et\u0100;e\u11a8\u349d\xf1\u11ae\u0180;af\u117b\u34a6\u05b0r\u0165\u34ab\u05b1\xbb\u117car\xf2\u1148\u0200cemt\u34b9\u34be\u34c2\u34c5r;\uc000\u{1d4c8}tm\xee\xf1i\xec\u3415ar\xe6\u11be\u0100ar\u34ce\u34d5r\u0100;f\u34d4\u17bf\u6606\u0100an\u34da\u34edight\u0100ep\u34e3\u34eapsilo\xee\u1ee0h\xe9\u2eafs\xbb\u2852\u0280bcmnp\u34fb\u355e\u1209\u358b\u358e\u0480;Edemnprs\u350e\u350f\u3511\u3515\u351e\u3523\u352c\u3531\u3536\u6282;\u6ac5ot;\u6abd\u0100;d\u11da\u351aot;\u6ac3ult;\u6ac1\u0100Ee\u3528\u352a;\u6acb;\u628alus;\u6abfarr;\u6979\u0180eiu\u353d\u3552\u3555t\u0180;en\u350e\u3545\u354bq\u0100;q\u11da\u350feq\u0100;q\u352b\u3528m;\u6ac7\u0100bp\u355a\u355c;\u6ad5;\u6ad3c\u0300;acens\u11ed\u356c\u3572\u3579\u357b\u3326ppro\xf8\u32faurlye\xf1\u11fe\xf1\u11f3\u0180aes\u3582\u3588\u331bppro\xf8\u331aq\xf1\u3317g;\u666a\u0680123;Edehlmnps\u35a9\u35ac\u35af\u121c\u35b2\u35b4\u35c0\u35c9\u35d5\u35da\u35df\u35e8\u35ed\u803b\xb9\u40b9\u803b\xb2\u40b2\u803b\xb3\u40b3;\u6ac6\u0100os\u35b9\u35bct;\u6abeub;\u6ad8\u0100;d\u1222\u35c5ot;\u6ac4s\u0100ou\u35cf\u35d2l;\u67c9b;\u6ad7arr;\u697bult;\u6ac2\u0100Ee\u35e4\u35e6;\u6acc;\u628blus;\u6ac0\u0180eiu\u35f4\u3609\u360ct\u0180;en\u121c\u35fc\u3602q\u0100;q\u1222\u35b2eq\u0100;q\u35e7\u35e4m;\u6ac8\u0100bp\u3611\u3613;\u6ad4;\u6ad6\u0180Aan\u361c\u3620\u362drr;\u61d9r\u0100hr\u3626\u3628\xeb\u222e\u0100;o\u0a2b\u0a29war;\u692alig\u803b\xdf\u40df\u0be1\u3651\u365d\u3660\u12ce\u3673\u3679\0\u367e\u36c2\0\0\0\0\0\u36db\u3703\0\u3709\u376c\0\0\0\u3787\u0272\u3656\0\0\u365bget;\u6316;\u43c4r\xeb\u0e5f\u0180aey\u3666\u366b\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uc000\u{1d531}\u0200eiko\u3686\u369d\u36b5\u36bc\u01f2\u368b\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369b\u43b8ym;\u43d1\u0100cn\u36a2\u36b2k\u0100as\u36a8\u36aeppro\xf8\u12c1im\xbb\u12acs\xf0\u129e\u0100as\u36ba\u36ae\xf0\u12c1rn\u803b\xfe\u40fe\u01ec\u031f\u36c6\u22e7es\u8180\xd7;bd\u36cf\u36d0\u36d8\u40d7\u0100;a\u190f\u36d5r;\u6a31;\u6a30\u0180eps\u36e1\u36e3\u3700\xe1\u2a4d\u0200;bcf\u0486\u36ec\u36f0\u36f4ot;\u6336ir;\u6af1\u0100;o\u36f9\u36fc\uc000\u{1d565}rk;\u6ada\xe1\u3362rime;\u6034\u0180aip\u370f\u3712\u3764d\xe5\u1248\u0380adempst\u3721\u374d\u3740\u3751\u3757\u375c\u375fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65b5own\xbb\u1dbbeft\u0100;e\u2800\u373e\xf1\u092e;\u625cight\u0100;e\u32aa\u374b\xf1\u105aot;\u65ecinus;\u6a3alus;\u6a39b;\u69cdime;\u6a3bezium;\u63e2\u0180cht\u3772\u377d\u3781\u0100ry\u3777\u377b;\uc000\u{1d4c9};\u4446cy;\u445brok;\u4167\u0100io\u378b\u378ex\xf4\u1777head\u0100lr\u3797\u37a0eftarro\xf7\u084fightarrow\xbb\u0f5d\u0900AHabcdfghlmoprstuw\u37d0\u37d3\u37d7\u37e4\u37f0\u37fc\u380e\u381c\u3823\u3834\u3851\u385d\u386b\u38a9\u38cc\u38d2\u38ea\u38f6r\xf2\u03edar;\u6963\u0100cr\u37dc\u37e2ute\u803b\xfa\u40fa\xf2\u1150r\u01e3\u37ea\0\u37edy;\u445eve;\u416d\u0100iy\u37f5\u37farc\u803b\xfb\u40fb;\u4443\u0180abh\u3803\u3806\u380br\xf2\u13adlac;\u4171a\xf2\u13c3\u0100ir\u3813\u3818sht;\u697e;\uc000\u{1d532}rave\u803b\xf9\u40f9\u0161\u3827\u3831r\u0100lr\u382c\u382e\xbb\u0957\xbb\u1083lk;\u6580\u0100ct\u3839\u384d\u026f\u383f\0\0\u384arn\u0100;e\u3845\u3846\u631cr\xbb\u3846op;\u630fri;\u65f8\u0100al\u3856\u385acr;\u416b\u80bb\xa8\u0349\u0100gp\u3862\u3866on;\u4173f;\uc000\u{1d566}\u0300adhlsu\u114b\u3878\u387d\u1372\u3891\u38a0own\xe1\u13b3arpoon\u0100lr\u3888\u388cef\xf4\u382digh\xf4\u382fi\u0180;hl\u3899\u389a\u389c\u43c5\xbb\u13faon\xbb\u389aparrows;\u61c8\u0180cit\u38b0\u38c4\u38c8\u026f\u38b6\0\0\u38c1rn\u0100;e\u38bc\u38bd\u631dr\xbb\u38bdop;\u630eng;\u416fri;\u65f9cr;\uc000\u{1d4ca}\u0180dir\u38d9\u38dd\u38e2ot;\u62f0lde;\u4169i\u0100;f\u3730\u38e8\xbb\u1813\u0100am\u38ef\u38f2r\xf2\u38a8l\u803b\xfc\u40fcangle;\u69a7\u0780ABDacdeflnoprsz\u391c\u391f\u3929\u392d\u39b5\u39b8\u39bd\u39df\u39e4\u39e8\u39f3\u39f9\u39fd\u3a01\u3a20r\xf2\u03f7ar\u0100;v\u3926\u3927\u6ae8;\u6ae9as\xe8\u03e1\u0100nr\u3932\u3937grt;\u699c\u0380eknprst\u34e3\u3946\u394b\u3952\u395d\u3964\u3996app\xe1\u2415othin\xe7\u1e96\u0180hir\u34eb\u2ec8\u3959op\xf4\u2fb5\u0100;h\u13b7\u3962\xef\u318d\u0100iu\u3969\u396dgm\xe1\u33b3\u0100bp\u3972\u3984setneq\u0100;q\u397d\u3980\uc000\u228a\ufe00;\uc000\u2acb\ufe00setneq\u0100;q\u398f\u3992\uc000\u228b\ufe00;\uc000\u2acc\ufe00\u0100hr\u399b\u399fet\xe1\u369ciangle\u0100lr\u39aa\u39afeft\xbb\u0925ight\xbb\u1051y;\u4432ash\xbb\u1036\u0180elr\u39c4\u39d2\u39d7\u0180;be\u2dea\u39cb\u39cfar;\u62bbq;\u625alip;\u62ee\u0100bt\u39dc\u1468a\xf2\u1469r;\uc000\u{1d533}tr\xe9\u39aesu\u0100bp\u39ef\u39f1\xbb\u0d1c\xbb\u0d59pf;\uc000\u{1d567}ro\xf0\u0efbtr\xe9\u39b4\u0100cu\u3a06\u3a0br;\uc000\u{1d4cb}\u0100bp\u3a10\u3a18n\u0100Ee\u3980\u3a16\xbb\u397en\u0100Ee\u3992\u3a1e\xbb\u3990igzag;\u699a\u0380cefoprs\u3a36\u3a3b\u3a56\u3a5b\u3a54\u3a61\u3a6airc;\u4175\u0100di\u3a40\u3a51\u0100bg\u3a45\u3a49ar;\u6a5fe\u0100;q\u15fa\u3a4f;\u6259erp;\u6118r;\uc000\u{1d534}pf;\uc000\u{1d568}\u0100;e\u1479\u3a66at\xe8\u1479cr;\uc000\u{1d4cc}\u0ae3\u178e\u3a87\0\u3a8b\0\u3a90\u3a9b\0\0\u3a9d\u3aa8\u3aab\u3aaf\0\0\u3ac3\u3ace\0\u3ad8\u17dc\u17dftr\xe9\u17d1r;\uc000\u{1d535}\u0100Aa\u3a94\u3a97r\xf2\u03c3r\xf2\u09f6;\u43be\u0100Aa\u3aa1\u3aa4r\xf2\u03b8r\xf2\u09eba\xf0\u2713is;\u62fb\u0180dpt\u17a4\u3ab5\u3abe\u0100fl\u3aba\u17a9;\uc000\u{1d569}im\xe5\u17b2\u0100Aa\u3ac7\u3acar\xf2\u03cer\xf2\u0a01\u0100cq\u3ad2\u17b8r;\uc000\u{1d4cd}\u0100pt\u17d6\u3adcr\xe9\u17d4\u0400acefiosu\u3af0\u3afd\u3b08\u3b0c\u3b11\u3b15\u3b1b\u3b21c\u0100uy\u3af6\u3afbte\u803b\xfd\u40fd;\u444f\u0100iy\u3b02\u3b06rc;\u4177;\u444bn\u803b\xa5\u40a5r;\uc000\u{1d536}cy;\u4457pf;\uc000\u{1d56a}cr;\uc000\u{1d4ce}\u0100cm\u3b26\u3b29y;\u444el\u803b\xff\u40ff\u0500acdefhiosw\u3b42\u3b48\u3b54\u3b58\u3b64\u3b69\u3b6d\u3b74\u3b7a\u3b80cute;\u417a\u0100ay\u3b4d\u3b52ron;\u417e;\u4437ot;\u417c\u0100et\u3b5d\u3b61tr\xe6\u155fa;\u43b6r;\uc000\u{1d537}cy;\u4436grarr;\u61ddpf;\uc000\u{1d56b}cr;\uc000\u{1d4cf}\u0100jn\u3b85\u3b87;\u600dj;\u600c'.split("").map(function(c) {
|
|
return c.charCodeAt(0)
|
|
}))
|
|
},
|
|
22424: module => {
|
|
module.exports = /([A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E\u213F\u2145\u2183\u2C00-\u2C2E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AD\uA7B0-\uA7B4\uA7B6\uFF21-\uFF3A])([A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E\u213F\u2145\u2183\u2C00-\u2C2E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AD\uA7B0-\uA7B4\uA7B6\uFF21-\uFF3A][a-z\xB5\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02AF\u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0561-\u0587\u13F8-\u13FD\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6\u1FC7\u1FD0-\u1FD3\u1FD6\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6\u1FF7\u210A\u210E\u210F\u2113\u212F\u2134\u2139\u213C\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5E\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7B5\uA7B7\uA7FA\uAB30-\uAB5A\uAB60-\uAB65\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A])/g
|
|
},
|
|
22474: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = async function({
|
|
selector,
|
|
textOrValueInputSelector,
|
|
getValueFromInput = "false",
|
|
eventsInOrder = "input,blur,focus"
|
|
}) {
|
|
let text = textOrValueInputSelector;
|
|
if ("true" === getValueFromInput) {
|
|
const inputElement = (0, _sharedFunctions.getElement)(textOrValueInputSelector);
|
|
if (text = inputElement && inputElement.value, !text) return new _mixinResponses.FailedMixinResponse(`[simulateTyping] failed to get value from ${textOrValueInputSelector}`)
|
|
}
|
|
const input = (0, _sharedFunctions.getElement)(selector);
|
|
if (!input) return new _mixinResponses.FailedMixinResponse(`[simulateTyping] failed to find input element from ${selector}`);
|
|
const textQueue = text.split("");
|
|
input.value = "";
|
|
for (; textQueue.length;) {
|
|
const char = textQueue.shift();
|
|
input.value += char, (0, _bubbleEventsFn.default)({
|
|
inputSelector: selector,
|
|
eventsInOrder
|
|
}), await new Promise(resolve => {
|
|
setTimeout(resolve, 50)
|
|
})
|
|
}
|
|
return new _mixinResponses.SuccessfulMixinResponse(`[simulateTyping] "${text}" on element ${selector}`, null)
|
|
};
|
|
var _sharedFunctions = __webpack_require__(8627),
|
|
_bubbleEventsFn = _interopRequireDefault(__webpack_require__(60380)),
|
|
_mixinResponses = __webpack_require__(34522);
|
|
module.exports = exports.default
|
|
},
|
|
22476: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _mixinUtils = __webpack_require__(36121),
|
|
_applyShape = _interopRequireDefault(__webpack_require__(29916)),
|
|
_shapes = _interopRequireDefault(__webpack_require__(23005)),
|
|
_dacUtils = __webpack_require__(17227);
|
|
const DEFAULT_ACTIONS = {
|
|
result: ({
|
|
runner,
|
|
payload,
|
|
runId
|
|
}) => (runner.state.updateValue(runId, "result", payload), payload),
|
|
handleMixin({
|
|
runner,
|
|
payload,
|
|
runId
|
|
}) {
|
|
const mixinFunctions = runner.state.getValue(runId, "mixinFunctions"),
|
|
metadata = (runner.state.getValue(runId, "recipe") || {}).mixins;
|
|
return (0, _mixinUtils.interpretMixin)(payload, mixinFunctions, metadata)
|
|
},
|
|
applyShape({
|
|
payload
|
|
}) {
|
|
const {
|
|
shape: shapeName
|
|
} = payload, shape = _shapes.default[shapeName];
|
|
if (!shape) throw new Error(`Shape "${shapeName}" not found`);
|
|
return (0, _applyShape.default)(shape)
|
|
},
|
|
async runDacs({
|
|
runner,
|
|
runId,
|
|
payload
|
|
}) {
|
|
const dacValue = _dacUtils.supportedDACs.find(dac => dac.stores[0].id === payload.honeyStoreId),
|
|
bestCodeFlag = runner.state.getValue(runId, "isBestCode");
|
|
return await dacValue.doDac(payload.couponCode, payload.priceTextSelector, payload.priceAmt, bestCodeFlag)
|
|
},
|
|
async runVimInContext({
|
|
runner,
|
|
vimPayload,
|
|
payload,
|
|
runId
|
|
}) {
|
|
const {
|
|
subVim: subVimName,
|
|
options: inputData
|
|
} = payload;
|
|
runner.state.updateAll(runId, {
|
|
subVimName,
|
|
vimPayload
|
|
});
|
|
const resultSubVim = await runner.doChildAction({
|
|
name: "runSubVim",
|
|
runId,
|
|
inputData
|
|
});
|
|
return runner.state.updateValue(runId, "result", resultSubVim), resultSubVim
|
|
},
|
|
handleFinishedRun({
|
|
runner,
|
|
payload
|
|
}) {
|
|
const runId = payload && payload.runId;
|
|
runId && runner.state.hasRun(runId) && runner.state.clearRun(runId)
|
|
},
|
|
async handleMixinResult({
|
|
runner,
|
|
payload,
|
|
runId
|
|
}) {
|
|
const mixinFunctions = runner.state.getValue(runId, "mixinFunctions"),
|
|
metadata = (runner.state.getValue(runId, "recipe") || {}).mixins,
|
|
mixinResponses = [];
|
|
await (0, _mixinUtils.interpretMixinResponse)(payload, mixinFunctions, metadata, mixinResponses);
|
|
let mixinResult = {};
|
|
if (mixinResponses && mixinResponses.length > 0) {
|
|
const singleResponse = 1 === mixinResponses.length,
|
|
result = [],
|
|
error = [];
|
|
mixinResponses.forEach(item => {
|
|
const message = item.message;
|
|
"success" === item.status ? result.push(message) : error.push(message)
|
|
}), result.length > 0 && (mixinResult.result = singleResponse ? result[0] : result), error.length > 0 && (mixinResult.error = singleResponse ? error[0] : error)
|
|
} else mixinResult = {
|
|
error: "No response."
|
|
};
|
|
return JSON.stringify(mixinResult)
|
|
}
|
|
};
|
|
DEFAULT_ACTIONS.reportWhereAmI = DEFAULT_ACTIONS.result;
|
|
exports.default = Object.freeze(DEFAULT_ACTIONS);
|
|
module.exports = exports.default
|
|
},
|
|
22661: module => {
|
|
"use strict";
|
|
module.exports = string => {
|
|
if ("string" != typeof string) throw new TypeError("Expected a string");
|
|
return string.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d")
|
|
}
|
|
},
|
|
22750: module => {
|
|
"use strict";
|
|
module.exports = {
|
|
Disjunction: function(path) {
|
|
var node = path.node,
|
|
parent = path.parent;
|
|
if (handlers[parent.type]) {
|
|
var charset = new Map;
|
|
if (shouldProcess(node, charset) && charset.size) {
|
|
var characterClass = {
|
|
type: "CharacterClass",
|
|
expressions: Array.from(charset.keys()).sort().map(function(key) {
|
|
return charset.get(key)
|
|
})
|
|
};
|
|
handlers[parent.type](path.getParent(), characterClass)
|
|
}
|
|
}
|
|
}
|
|
};
|
|
var handlers = {
|
|
RegExp: function(path, characterClass) {
|
|
path.node.body = characterClass
|
|
},
|
|
Group: function(path, characterClass) {
|
|
var node = path.node;
|
|
node.capturing ? node.expression = characterClass : path.replace(characterClass)
|
|
}
|
|
};
|
|
|
|
function shouldProcess(expression, charset) {
|
|
if (!expression) return !1;
|
|
var type = expression.type;
|
|
if ("Disjunction" === type) {
|
|
var left = expression.left,
|
|
right = expression.right;
|
|
return shouldProcess(left, charset) && shouldProcess(right, charset)
|
|
}
|
|
if ("Char" === type) {
|
|
if ("meta" === expression.kind && "." === expression.symbol) return !1;
|
|
var value = expression.value;
|
|
return charset.set(value, expression), !0
|
|
}
|
|
return "CharacterClass" === type && !expression.negative && expression.expressions.every(function(expression) {
|
|
return shouldProcess(expression, charset)
|
|
})
|
|
}
|
|
},
|
|
22846: module => {
|
|
"use strict";
|
|
module.exports = {
|
|
shouldRun: function(ast) {
|
|
return ast.flags.includes("u")
|
|
},
|
|
Char: function(path) {
|
|
var node = path.node;
|
|
"unicode" === node.kind && node.isSurrogatePair && !isNaN(node.codePoint) && (node.value = "\\u{" + node.codePoint.toString(16) + "}", delete node.isSurrogatePair)
|
|
}
|
|
}
|
|
},
|
|
23005: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _AddToCart = _interopRequireDefault(__webpack_require__(78745)),
|
|
_FSFinalPrice = _interopRequireDefault(__webpack_require__(98733)),
|
|
_FSSubmit = _interopRequireDefault(__webpack_require__(37250)),
|
|
_PPGotoCart = _interopRequireDefault(__webpack_require__(32777)),
|
|
_PPInterstitial = _interopRequireDefault(__webpack_require__(4052)),
|
|
_PPPrice = _interopRequireDefault(__webpack_require__(90714)),
|
|
_PPTitleExists = _interopRequireDefault(__webpack_require__(77133)),
|
|
_PPVariantSize = _interopRequireDefault(__webpack_require__(4147)),
|
|
_AddToCartExists = _interopRequireDefault(__webpack_require__(55270)),
|
|
_FSPreApply = _interopRequireDefault(__webpack_require__(44075)),
|
|
_GuestCheckout = _interopRequireDefault(__webpack_require__(55446)),
|
|
_PPGotoCheckout = _interopRequireDefault(__webpack_require__(36577)),
|
|
_PPInterstitialIframe = _interopRequireDefault(__webpack_require__(95355)),
|
|
_PPSoldOut = _interopRequireDefault(__webpack_require__(86723)),
|
|
_PPVariantColor = _interopRequireDefault(__webpack_require__(86139)),
|
|
_RobotDetection = _interopRequireDefault(__webpack_require__(79202)),
|
|
_FSEmptyCart = _interopRequireDefault(__webpack_require__(3979)),
|
|
_FSPromoBox = _interopRequireDefault(__webpack_require__(68359)),
|
|
_PPImage = _interopRequireDefault(__webpack_require__(40746)),
|
|
_PPMinicart = _interopRequireDefault(__webpack_require__(48504)),
|
|
_PPTitle = _interopRequireDefault(__webpack_require__(41068)),
|
|
_PPVariantColorExists = _interopRequireDefault(__webpack_require__(36962)),
|
|
_SalesTaxDiv = _interopRequireDefault(__webpack_require__(32659));
|
|
exports.default = {
|
|
AddToCart: _AddToCart.default,
|
|
FSFinalPrice: _FSFinalPrice.default,
|
|
FSSubmit: _FSSubmit.default,
|
|
PPGotoCart: _PPGotoCart.default,
|
|
PPInterstitial: _PPInterstitial.default,
|
|
PPPrice: _PPPrice.default,
|
|
PPTitleExists: _PPTitleExists.default,
|
|
PPVariantSize: _PPVariantSize.default,
|
|
AddToCartExists: _AddToCartExists.default,
|
|
FSPreApply: _FSPreApply.default,
|
|
GuestCheckout: _GuestCheckout.default,
|
|
PPGotoCheckout: _PPGotoCheckout.default,
|
|
PPInterstitialIframe: _PPInterstitialIframe.default,
|
|
PPSoldOut: _PPSoldOut.default,
|
|
PPVariantColor: _PPVariantColor.default,
|
|
RobotDetection: _RobotDetection.default,
|
|
FSEmptyCart: _FSEmptyCart.default,
|
|
FSPromoBox: _FSPromoBox.default,
|
|
PPImage: _PPImage.default,
|
|
PPMinicart: _PPMinicart.default,
|
|
PPTitle: _PPTitle.default,
|
|
PPVariantColorExists: _PPVariantColorExists.default,
|
|
SalesTaxDiv: _SalesTaxDiv.default
|
|
};
|
|
module.exports = exports.default
|
|
},
|
|
23335: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
exports.default = class {
|
|
constructor(parent) {
|
|
this.type = "object", this.isPrimitive = !1, this.data = void 0, this.notConfigurable = Object.create(null), this.notEnumerable = Object.create(null), this.notWritable = Object.create(null), this.getter = Object.create(null), this.setter = Object.create(null), this.properties = Object.create(null), this.parent = parent
|
|
}
|
|
toBoolean() {
|
|
return !0
|
|
}
|
|
toNumber() {
|
|
return Number(void 0 === this.data ? this.toString() : this.data)
|
|
}
|
|
toString() {
|
|
return void 0 === this.data ? `[${this.type}]` : String(this.data)
|
|
}
|
|
valueOf() {
|
|
return void 0 === this.data ? this : this.data
|
|
}
|
|
}, module.exports = exports.default
|
|
},
|
|
23620: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.attributeRules = void 0;
|
|
var boolbase_1 = __webpack_require__(84894),
|
|
reChars = /[-[\]{}()*+?.,\\^$|#\s]/g;
|
|
|
|
function escapeRegex(value) {
|
|
return value.replace(reChars, "\\$&")
|
|
}
|
|
var caseInsensitiveAttributes = new Set(["accept", "accept-charset", "align", "alink", "axis", "bgcolor", "charset", "checked", "clear", "codetype", "color", "compact", "declare", "defer", "dir", "direction", "disabled", "enctype", "face", "frame", "hreflang", "http-equiv", "lang", "language", "link", "media", "method", "multiple", "nohref", "noresize", "noshade", "nowrap", "readonly", "rel", "rev", "rules", "scope", "scrolling", "selected", "shape", "target", "text", "type", "valign", "valuetype", "vlink"]);
|
|
|
|
function shouldIgnoreCase(selector, options) {
|
|
return "boolean" == typeof selector.ignoreCase ? selector.ignoreCase : "quirks" === selector.ignoreCase ? !!options.quirksMode : !options.xmlMode && caseInsensitiveAttributes.has(selector.name)
|
|
}
|
|
exports.attributeRules = {
|
|
equals: function(next, data, options) {
|
|
var adapter = options.adapter,
|
|
name = data.name,
|
|
value = data.value;
|
|
return shouldIgnoreCase(data, options) ? (value = value.toLowerCase(), function(elem) {
|
|
var attr = adapter.getAttributeValue(elem, name);
|
|
return null != attr && attr.length === value.length && attr.toLowerCase() === value && next(elem)
|
|
}) : function(elem) {
|
|
return adapter.getAttributeValue(elem, name) === value && next(elem)
|
|
}
|
|
},
|
|
hyphen: function(next, data, options) {
|
|
var adapter = options.adapter,
|
|
name = data.name,
|
|
value = data.value,
|
|
len = value.length;
|
|
return shouldIgnoreCase(data, options) ? (value = value.toLowerCase(), function(elem) {
|
|
var attr = adapter.getAttributeValue(elem, name);
|
|
return null != attr && (attr.length === len || "-" === attr.charAt(len)) && attr.substr(0, len).toLowerCase() === value && next(elem)
|
|
}) : function(elem) {
|
|
var attr = adapter.getAttributeValue(elem, name);
|
|
return null != attr && (attr.length === len || "-" === attr.charAt(len)) && attr.substr(0, len) === value && next(elem)
|
|
}
|
|
},
|
|
element: function(next, data, options) {
|
|
var adapter = options.adapter,
|
|
name = data.name,
|
|
value = data.value;
|
|
if (/\s/.test(value)) return boolbase_1.falseFunc;
|
|
var regex = new RegExp("(?:^|\\s)".concat(escapeRegex(value), "(?:$|\\s)"), shouldIgnoreCase(data, options) ? "i" : "");
|
|
return function(elem) {
|
|
var attr = adapter.getAttributeValue(elem, name);
|
|
return null != attr && attr.length >= value.length && regex.test(attr) && next(elem)
|
|
}
|
|
},
|
|
exists: function(next, _a, _b) {
|
|
var name = _a.name,
|
|
adapter = _b.adapter;
|
|
return function(elem) {
|
|
return adapter.hasAttrib(elem, name) && next(elem)
|
|
}
|
|
},
|
|
start: function(next, data, options) {
|
|
var adapter = options.adapter,
|
|
name = data.name,
|
|
value = data.value,
|
|
len = value.length;
|
|
return 0 === len ? boolbase_1.falseFunc : shouldIgnoreCase(data, options) ? (value = value.toLowerCase(), function(elem) {
|
|
var attr = adapter.getAttributeValue(elem, name);
|
|
return null != attr && attr.length >= len && attr.substr(0, len).toLowerCase() === value && next(elem)
|
|
}) : function(elem) {
|
|
var _a;
|
|
return !!(null === (_a = adapter.getAttributeValue(elem, name)) || void 0 === _a ? void 0 : _a.startsWith(value)) && next(elem)
|
|
}
|
|
},
|
|
end: function(next, data, options) {
|
|
var adapter = options.adapter,
|
|
name = data.name,
|
|
value = data.value,
|
|
len = -value.length;
|
|
return 0 === len ? boolbase_1.falseFunc : shouldIgnoreCase(data, options) ? (value = value.toLowerCase(), function(elem) {
|
|
var _a;
|
|
return (null === (_a = adapter.getAttributeValue(elem, name)) || void 0 === _a ? void 0 : _a.substr(len).toLowerCase()) === value && next(elem)
|
|
}) : function(elem) {
|
|
var _a;
|
|
return !!(null === (_a = adapter.getAttributeValue(elem, name)) || void 0 === _a ? void 0 : _a.endsWith(value)) && next(elem)
|
|
}
|
|
},
|
|
any: function(next, data, options) {
|
|
var adapter = options.adapter,
|
|
name = data.name,
|
|
value = data.value;
|
|
if ("" === value) return boolbase_1.falseFunc;
|
|
if (shouldIgnoreCase(data, options)) {
|
|
var regex_1 = new RegExp(escapeRegex(value), "i");
|
|
return function(elem) {
|
|
var attr = adapter.getAttributeValue(elem, name);
|
|
return null != attr && attr.length >= value.length && regex_1.test(attr) && next(elem)
|
|
}
|
|
}
|
|
return function(elem) {
|
|
var _a;
|
|
return !!(null === (_a = adapter.getAttributeValue(elem, name)) || void 0 === _a ? void 0 : _a.includes(value)) && next(elem)
|
|
}
|
|
},
|
|
not: function(next, data, options) {
|
|
var adapter = options.adapter,
|
|
name = data.name,
|
|
value = data.value;
|
|
return "" === value ? function(elem) {
|
|
return !!adapter.getAttributeValue(elem, name) && next(elem)
|
|
} : shouldIgnoreCase(data, options) ? (value = value.toLowerCase(), function(elem) {
|
|
var attr = adapter.getAttributeValue(elem, name);
|
|
return (null == attr || attr.length !== value.length || attr.toLowerCase() !== value) && next(elem)
|
|
}) : function(elem) {
|
|
return adapter.getAttributeValue(elem, name) !== value && next(elem)
|
|
}
|
|
}
|
|
}
|
|
},
|
|
23662: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var process = __webpack_require__(74620);
|
|
const semver = __webpack_require__(27263),
|
|
_require = __webpack_require__(1602),
|
|
isObject = _require.isObject,
|
|
hasOwn = _require.hasOwn;
|
|
|
|
function RequestBase() {}
|
|
module.exports = RequestBase, RequestBase.prototype.clearTimeout = function() {
|
|
return clearTimeout(this._timer), clearTimeout(this._responseTimeoutTimer), clearTimeout(this._uploadTimeoutTimer), delete this._timer, delete this._responseTimeoutTimer, delete this._uploadTimeoutTimer, this
|
|
}, RequestBase.prototype.parse = function(fn) {
|
|
return this._parser = fn, this
|
|
}, RequestBase.prototype.responseType = function(value) {
|
|
return this._responseType = value, this
|
|
}, RequestBase.prototype.serialize = function(fn) {
|
|
return this._serializer = fn, this
|
|
}, RequestBase.prototype.timeout = function(options) {
|
|
if (!options || "object" != typeof options) return this._timeout = options, this._responseTimeout = 0, this._uploadTimeout = 0, this;
|
|
for (const option in options)
|
|
if (hasOwn(options, option)) switch (option) {
|
|
case "deadline":
|
|
this._timeout = options.deadline;
|
|
break;
|
|
case "response":
|
|
this._responseTimeout = options.response;
|
|
break;
|
|
case "upload":
|
|
this._uploadTimeout = options.upload;
|
|
break;
|
|
default:
|
|
console.warn("Unknown timeout option", option)
|
|
}
|
|
return this
|
|
}, RequestBase.prototype.retry = function(count, fn) {
|
|
return 0 !== arguments.length && !0 !== count || (count = 1), count <= 0 && (count = 0), this._maxRetries = count, this._retries = 0, this._retryCallback = fn, this
|
|
};
|
|
const ERROR_CODES = new Set(["ETIMEDOUT", "ECONNRESET", "EADDRINUSE", "ECONNREFUSED", "EPIPE", "ENOTFOUND", "ENETUNREACH", "EAI_AGAIN"]),
|
|
STATUS_CODES = new Set([408, 413, 429, 500, 502, 503, 504, 521, 522, 524]);
|
|
RequestBase.prototype._shouldRetry = function(error, res) {
|
|
if (!this._maxRetries || this._retries++ >= this._maxRetries) return !1;
|
|
if (this._retryCallback) try {
|
|
const override = this._retryCallback(error, res);
|
|
if (!0 === override) return !0;
|
|
if (!1 === override) return !1
|
|
} catch (err) {
|
|
console.error(err)
|
|
}
|
|
if (res && res.status && STATUS_CODES.has(res.status)) return !0;
|
|
if (error) {
|
|
if (error.code && ERROR_CODES.has(error.code)) return !0;
|
|
if (error.timeout && "ECONNABORTED" === error.code) return !0;
|
|
if (error.crossDomain) return !0
|
|
}
|
|
return !1
|
|
}, RequestBase.prototype._retry = function() {
|
|
return this.clearTimeout(), this.req && (this.req = null, this.req = this.request()), this._aborted = !1, this.timedout = !1, this.timedoutError = null, this._end()
|
|
}, RequestBase.prototype.then = function(resolve, reject) {
|
|
if (!this._fullfilledPromise) {
|
|
const self = this;
|
|
this._endCalled && console.warn("Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises"), this._fullfilledPromise = new Promise((resolve, reject) => {
|
|
self.on("abort", () => {
|
|
if (this._maxRetries && this._maxRetries > this._retries) return;
|
|
if (this.timedout && this.timedoutError) return void reject(this.timedoutError);
|
|
const error = new Error("Aborted");
|
|
error.code = "ABORTED", error.status = this.status, error.method = this.method, error.url = this.url, reject(error)
|
|
}), self.end((error, res) => {
|
|
error ? reject(error) : resolve(res)
|
|
})
|
|
})
|
|
}
|
|
return this._fullfilledPromise.then(resolve, reject)
|
|
}, RequestBase.prototype.catch = function(callback) {
|
|
return this.then(void 0, callback)
|
|
}, RequestBase.prototype.use = function(fn) {
|
|
return fn(this), this
|
|
}, RequestBase.prototype.ok = function(callback) {
|
|
if ("function" != typeof callback) throw new Error("Callback required");
|
|
return this._okCallback = callback, this
|
|
}, RequestBase.prototype._isResponseOK = function(res) {
|
|
return !!res && (this._okCallback ? this._okCallback(res) : res.status >= 200 && res.status < 300)
|
|
}, RequestBase.prototype.get = function(field) {
|
|
return this._header[field.toLowerCase()]
|
|
}, RequestBase.prototype.getHeader = RequestBase.prototype.get, RequestBase.prototype.set = function(field, value) {
|
|
if (isObject(field)) {
|
|
for (const key in field) hasOwn(field, key) && this.set(key, field[key]);
|
|
return this
|
|
}
|
|
return this._header[field.toLowerCase()] = value, this.header[field] = value, this
|
|
}, RequestBase.prototype.unset = function(field) {
|
|
return delete this._header[field.toLowerCase()], delete this.header[field], this
|
|
}, RequestBase.prototype.field = function(name, value, options) {
|
|
if (null == name) throw new Error(".field(name, val) name can not be empty");
|
|
if (this._data) throw new Error(".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()");
|
|
if (isObject(name)) {
|
|
for (const key in name) hasOwn(name, key) && this.field(key, name[key]);
|
|
return this
|
|
}
|
|
if (Array.isArray(value)) {
|
|
for (const i in value) hasOwn(value, i) && this.field(name, value[i]);
|
|
return this
|
|
}
|
|
if (null == value) throw new Error(".field(name, val) val can not be empty");
|
|
return "boolean" == typeof value && (value = String(value)), options ? this._getFormData().append(name, value, options) : this._getFormData().append(name, value), this
|
|
}, RequestBase.prototype.abort = function() {
|
|
if (this._aborted) return this;
|
|
if (this._aborted = !0, this.xhr && this.xhr.abort(), this.req) {
|
|
if (semver.gte(process.version, "v13.0.0") && semver.lt(process.version, "v14.0.0")) throw new Error("Superagent does not work in v13 properly with abort() due to Node.js core changes");
|
|
this.req.abort()
|
|
}
|
|
return this.clearTimeout(), this.emit("abort"), this
|
|
}, RequestBase.prototype._auth = function(user, pass, options, base64Encoder) {
|
|
switch (options.type) {
|
|
case "basic":
|
|
this.set("Authorization", `Basic ${base64Encoder(`${user}:${pass}`)}`);
|
|
break;
|
|
case "auto":
|
|
this.username = user, this.password = pass;
|
|
break;
|
|
case "bearer":
|
|
this.set("Authorization", `Bearer ${user}`)
|
|
}
|
|
return this
|
|
}, RequestBase.prototype.withCredentials = function(on) {
|
|
return void 0 === on && (on = !0), this._withCredentials = on, this
|
|
}, RequestBase.prototype.redirects = function(n) {
|
|
return this._maxRedirects = n, this
|
|
}, RequestBase.prototype.maxResponseSize = function(n) {
|
|
if ("number" != typeof n) throw new TypeError("Invalid argument");
|
|
return this._maxResponseSize = n, this
|
|
}, RequestBase.prototype.toJSON = function() {
|
|
return {
|
|
method: this.method,
|
|
url: this.url,
|
|
data: this._data,
|
|
headers: this._header
|
|
}
|
|
}, RequestBase.prototype.send = function(data) {
|
|
const isObject_ = isObject(data);
|
|
let type = this._header["content-type"];
|
|
if (this._formData) throw new Error(".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()");
|
|
if (isObject_ && !this._data) Array.isArray(data) ? this._data = [] : this._isHost(data) || (this._data = {});
|
|
else if (data && this._data && this._isHost(this._data)) throw new Error("Can't merge these send calls");
|
|
if (isObject_ && isObject(this._data))
|
|
for (const key in data) {
|
|
if ("bigint" == typeof data[key] && !data[key].toJSON) throw new Error("Cannot serialize BigInt value to json");
|
|
hasOwn(data, key) && (this._data[key] = data[key])
|
|
} else {
|
|
if ("bigint" == typeof data) throw new Error("Cannot send value of type BigInt");
|
|
"string" == typeof data ? (type || this.type("form"), type = this._header["content-type"], type && (type = type.toLowerCase().trim()), this._data = "application/x-www-form-urlencoded" === type ? this._data ? `${this._data}&${data}` : data : (this._data || "") + data) : this._data = data
|
|
}
|
|
return !isObject_ || this._isHost(data) || type || this.type("json"), this
|
|
}, RequestBase.prototype.sortQuery = function(sort) {
|
|
return this._sort = void 0 === sort || sort, this
|
|
}, RequestBase.prototype._finalizeQueryString = function() {
|
|
const query = this._query.join("&");
|
|
if (query && (this.url += (this.url.includes("?") ? "&" : "?") + query), this._query.length = 0, this._sort) {
|
|
const index = this.url.indexOf("?");
|
|
if (index >= 0) {
|
|
const queryArray = this.url.slice(index + 1).split("&");
|
|
"function" == typeof this._sort ? queryArray.sort(this._sort) : queryArray.sort(), this.url = this.url.slice(0, index) + "?" + queryArray.join("&")
|
|
}
|
|
}
|
|
}, RequestBase.prototype._appendQueryString = () => {
|
|
console.warn("Unsupported")
|
|
}, RequestBase.prototype._timeoutError = function(reason, timeout, errno) {
|
|
if (this._aborted) return;
|
|
const error = new Error(`${reason+timeout}ms exceeded`);
|
|
error.timeout = timeout, error.code = "ECONNABORTED", error.errno = errno, this.timedout = !0, this.timedoutError = error, this.abort(), this.callback(error)
|
|
}, RequestBase.prototype._setTimeouts = function() {
|
|
const self = this;
|
|
this._timeout && !this._timer && (this._timer = setTimeout(() => {
|
|
self._timeoutError("Timeout of ", self._timeout, "ETIME")
|
|
}, this._timeout)), this._responseTimeout && !this._responseTimeoutTimer && (this._responseTimeoutTimer = setTimeout(() => {
|
|
self._timeoutError("Response timeout of ", self._responseTimeout, "ETIMEDOUT")
|
|
}, this._responseTimeout))
|
|
}
|
|
},
|
|
24362: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.groupSelectors = exports.getDocumentRoot = void 0;
|
|
var positionals_1 = __webpack_require__(76380);
|
|
exports.getDocumentRoot = function(node) {
|
|
for (; node.parent;) node = node.parent;
|
|
return node
|
|
}, exports.groupSelectors = function(selectors) {
|
|
for (var filteredSelectors = [], plainSelectors = [], _i = 0, selectors_1 = selectors; _i < selectors_1.length; _i++) {
|
|
var selector = selectors_1[_i];
|
|
selector.some(positionals_1.isFilter) ? filteredSelectors.push(selector) : plainSelectors.push(selector)
|
|
}
|
|
return [plainSelectors, filteredSelectors]
|
|
}
|
|
},
|
|
24506: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.flatten = void 0;
|
|
var tslib_1 = __webpack_require__(15146);
|
|
exports.default = {
|
|
xml: !1,
|
|
decodeEntities: !0
|
|
};
|
|
var xmlModeDefault = {
|
|
_useHtmlParser2: !0,
|
|
xmlMode: !0
|
|
};
|
|
exports.flatten = function(options) {
|
|
return (null == options ? void 0 : options.xml) ? "boolean" == typeof options.xml ? xmlModeDefault : tslib_1.__assign(tslib_1.__assign({}, xmlModeDefault), options.xml) : null != options ? options : void 0
|
|
}
|
|
},
|
|
24547: module => {
|
|
module.exports = function(value) {
|
|
var type = typeof value;
|
|
return null != value && ("object" == type || "function" == type)
|
|
}
|
|
},
|
|
24669: function(module, exports, __webpack_require__) {
|
|
var CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), __webpack_require__(74047), CryptoJS.pad.ZeroPadding = {
|
|
pad: function(data, blockSize) {
|
|
var blockSizeBytes = 4 * blockSize;
|
|
data.clamp(), data.sigBytes += blockSizeBytes - (data.sigBytes % blockSizeBytes || blockSizeBytes)
|
|
},
|
|
unpad: function(data) {
|
|
var dataWords = data.words,
|
|
i = data.sigBytes - 1;
|
|
for (i = data.sigBytes - 1; i >= 0; i--)
|
|
if (dataWords[i >>> 2] >>> 24 - i % 4 * 8 & 255) {
|
|
data.sigBytes = i + 1;
|
|
break
|
|
}
|
|
}
|
|
}, CryptoJS.pad.ZeroPadding)
|
|
},
|
|
25155: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
const state = this.stateStack[this.stateStack.length - 1],
|
|
node = state.node;
|
|
if ("&&" !== node.operator && "||" !== node.operator) throw SyntaxError(`Unknown logical operator: ${node.operator}`);
|
|
state.doneLeft_ ? state.doneRight_ || "&&" === node.operator && !state.value.toBoolean() || "||" === node.operator && state.value.toBoolean() ? (this.stateStack.pop(), this.stateStack[this.stateStack.length - 1].value = state.value) : (state.doneRight_ = !0, this.stateStack.push({
|
|
node: node.right
|
|
})) : (state.doneLeft_ = !0, this.stateStack.push({
|
|
node: node.left
|
|
}))
|
|
}, module.exports = exports.default
|
|
},
|
|
25217: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.render = exports.parse = void 0;
|
|
var tslib_1 = __webpack_require__(15146),
|
|
domhandler_1 = __webpack_require__(75243),
|
|
parse5_1 = __webpack_require__(46185),
|
|
parse5_htmlparser2_tree_adapter_1 = tslib_1.__importDefault(__webpack_require__(54141));
|
|
exports.parse = function(content, options, isDocument) {
|
|
var opts = {
|
|
scriptingEnabled: "boolean" != typeof options.scriptingEnabled || options.scriptingEnabled,
|
|
treeAdapter: parse5_htmlparser2_tree_adapter_1.default,
|
|
sourceCodeLocationInfo: options.sourceCodeLocationInfo
|
|
},
|
|
context = options.context;
|
|
return isDocument ? parse5_1.parse(content, opts) : parse5_1.parseFragment(context, content, opts)
|
|
}, exports.render = function(dom) {
|
|
for (var _a, nodes = ("length" in dom ? dom : [dom]), index = 0; index < nodes.length; index += 1) {
|
|
var node = nodes[index];
|
|
domhandler_1.isDocument(node) && (_a = Array.prototype.splice).call.apply(_a, tslib_1.__spreadArray([nodes, index, 1], node.children))
|
|
}
|
|
return parse5_1.serialize({
|
|
children: nodes
|
|
}, {
|
|
treeAdapter: parse5_htmlparser2_tree_adapter_1.default
|
|
})
|
|
}
|
|
},
|
|
25791: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _createClass = function() {
|
|
function defineProperties(target, props) {
|
|
for (var i = 0; i < props.length; i++) {
|
|
var descriptor = props[i];
|
|
descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor)
|
|
}
|
|
}
|
|
return function(Constructor, protoProps, staticProps) {
|
|
return protoProps && defineProperties(Constructor.prototype, protoProps), staticProps && defineProperties(Constructor, staticProps), Constructor
|
|
}
|
|
}();
|
|
|
|
function _toConsumableArray(arr) {
|
|
if (Array.isArray(arr)) {
|
|
for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
|
|
return arr2
|
|
}
|
|
return Array.from(arr)
|
|
}
|
|
var DFAMinimizer = __webpack_require__(29892),
|
|
EPSILON_CLOSURE = __webpack_require__(42487).EPSILON_CLOSURE,
|
|
DFA = function() {
|
|
function DFA(nfa) {
|
|
! function(instance, Constructor) {
|
|
if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function")
|
|
}(this, DFA), this._nfa = nfa
|
|
}
|
|
return _createClass(DFA, [{
|
|
key: "minimize",
|
|
value: function() {
|
|
this.getTransitionTable(), this._originalAcceptingStateNumbers = this._acceptingStateNumbers, this._originalTransitionTable = this._transitionTable, DFAMinimizer.minimize(this)
|
|
}
|
|
}, {
|
|
key: "getAlphabet",
|
|
value: function() {
|
|
return this._nfa.getAlphabet()
|
|
}
|
|
}, {
|
|
key: "getAcceptingStateNumbers",
|
|
value: function() {
|
|
return this._acceptingStateNumbers || this.getTransitionTable(), this._acceptingStateNumbers
|
|
}
|
|
}, {
|
|
key: "getOriginaAcceptingStateNumbers",
|
|
value: function() {
|
|
return this._originalAcceptingStateNumbers || this.getTransitionTable(), this._originalAcceptingStateNumbers
|
|
}
|
|
}, {
|
|
key: "setTransitionTable",
|
|
value: function(table) {
|
|
this._transitionTable = table
|
|
}
|
|
}, {
|
|
key: "setAcceptingStateNumbers",
|
|
value: function(stateNumbers) {
|
|
this._acceptingStateNumbers = stateNumbers
|
|
}
|
|
}, {
|
|
key: "getTransitionTable",
|
|
value: function() {
|
|
var _this = this;
|
|
if (this._transitionTable) return this._transitionTable;
|
|
var nfaTable = this._nfa.getTransitionTable(),
|
|
nfaStates = Object.keys(nfaTable);
|
|
this._acceptingStateNumbers = new Set;
|
|
for (var worklist = [nfaTable[nfaStates[0]][EPSILON_CLOSURE]], alphabet = this.getAlphabet(), nfaAcceptingStates = this._nfa.getAcceptingStateNumbers(), dfaTable = {}, updateAcceptingStates = function(states) {
|
|
var _iteratorNormalCompletion = !0,
|
|
_didIteratorError = !1,
|
|
_iteratorError = void 0;
|
|
try {
|
|
for (var _step, _iterator = nfaAcceptingStates[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
var nfaAcceptingState = _step.value;
|
|
if (-1 !== states.indexOf(nfaAcceptingState)) {
|
|
_this._acceptingStateNumbers.add(states.join(","));
|
|
break
|
|
}
|
|
}
|
|
} catch (err) {
|
|
_didIteratorError = !0, _iteratorError = err
|
|
} finally {
|
|
try {
|
|
!_iteratorNormalCompletion && _iterator.return && _iterator.return()
|
|
} finally {
|
|
if (_didIteratorError) throw _iteratorError
|
|
}
|
|
}
|
|
}; worklist.length > 0;) {
|
|
var states = worklist.shift(),
|
|
dfaStateLabel = states.join(",");
|
|
dfaTable[dfaStateLabel] = {};
|
|
var _iteratorNormalCompletion2 = !0,
|
|
_didIteratorError2 = !1,
|
|
_iteratorError2 = void 0;
|
|
try {
|
|
for (var _step2, _iterator2 = alphabet[Symbol.iterator](); !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = !0) {
|
|
var symbol = _step2.value,
|
|
onSymbol = [];
|
|
updateAcceptingStates(states);
|
|
var _iteratorNormalCompletion3 = !0,
|
|
_didIteratorError3 = !1,
|
|
_iteratorError3 = void 0;
|
|
try {
|
|
for (var _step3, _iterator3 = states[Symbol.iterator](); !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = !0) {
|
|
var nfaStatesOnSymbol = nfaTable[_step3.value][symbol];
|
|
if (nfaStatesOnSymbol) {
|
|
var _iteratorNormalCompletion4 = !0,
|
|
_didIteratorError4 = !1,
|
|
_iteratorError4 = void 0;
|
|
try {
|
|
for (var _step4, _iterator4 = nfaStatesOnSymbol[Symbol.iterator](); !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = !0) {
|
|
var nfaStateOnSymbol = _step4.value;
|
|
nfaTable[nfaStateOnSymbol] && onSymbol.push.apply(onSymbol, _toConsumableArray(nfaTable[nfaStateOnSymbol][EPSILON_CLOSURE]))
|
|
}
|
|
} catch (err) {
|
|
_didIteratorError4 = !0, _iteratorError4 = err
|
|
} finally {
|
|
try {
|
|
!_iteratorNormalCompletion4 && _iterator4.return && _iterator4.return()
|
|
} finally {
|
|
if (_didIteratorError4) throw _iteratorError4
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} catch (err) {
|
|
_didIteratorError3 = !0, _iteratorError3 = err
|
|
} finally {
|
|
try {
|
|
!_iteratorNormalCompletion3 && _iterator3.return && _iterator3.return()
|
|
} finally {
|
|
if (_didIteratorError3) throw _iteratorError3
|
|
}
|
|
}
|
|
var dfaStatesOnSymbolSet = new Set(onSymbol),
|
|
dfaStatesOnSymbol = [].concat(_toConsumableArray(dfaStatesOnSymbolSet));
|
|
if (dfaStatesOnSymbol.length > 0) {
|
|
var dfaOnSymbolStr = dfaStatesOnSymbol.join(",");
|
|
dfaTable[dfaStateLabel][symbol] = dfaOnSymbolStr, dfaTable.hasOwnProperty(dfaOnSymbolStr) || worklist.unshift(dfaStatesOnSymbol)
|
|
}
|
|
}
|
|
} catch (err) {
|
|
_didIteratorError2 = !0, _iteratorError2 = err
|
|
} finally {
|
|
try {
|
|
!_iteratorNormalCompletion2 && _iterator2.return && _iterator2.return()
|
|
} finally {
|
|
if (_didIteratorError2) throw _iteratorError2
|
|
}
|
|
}
|
|
}
|
|
return this._transitionTable = this._remapStateNumbers(dfaTable)
|
|
}
|
|
}, {
|
|
key: "_remapStateNumbers",
|
|
value: function(calculatedDFATable) {
|
|
var newStatesMap = {};
|
|
this._originalTransitionTable = calculatedDFATable;
|
|
var transitionTable = {};
|
|
for (var originalNumber in Object.keys(calculatedDFATable).forEach(function(originalNumber, newNumber) {
|
|
newStatesMap[originalNumber] = newNumber + 1
|
|
}), calculatedDFATable) {
|
|
var originalRow = calculatedDFATable[originalNumber],
|
|
row = {};
|
|
for (var symbol in originalRow) row[symbol] = newStatesMap[originalRow[symbol]];
|
|
transitionTable[newStatesMap[originalNumber]] = row
|
|
}
|
|
this._originalAcceptingStateNumbers = this._acceptingStateNumbers, this._acceptingStateNumbers = new Set;
|
|
var _iteratorNormalCompletion5 = !0,
|
|
_didIteratorError5 = !1,
|
|
_iteratorError5 = void 0;
|
|
try {
|
|
for (var _step5, _iterator5 = this._originalAcceptingStateNumbers[Symbol.iterator](); !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = !0) {
|
|
var _originalNumber = _step5.value;
|
|
this._acceptingStateNumbers.add(newStatesMap[_originalNumber])
|
|
}
|
|
} catch (err) {
|
|
_didIteratorError5 = !0, _iteratorError5 = err
|
|
} finally {
|
|
try {
|
|
!_iteratorNormalCompletion5 && _iterator5.return && _iterator5.return()
|
|
} finally {
|
|
if (_didIteratorError5) throw _iteratorError5
|
|
}
|
|
}
|
|
return transitionTable
|
|
}
|
|
}, {
|
|
key: "getOriginalTransitionTable",
|
|
value: function() {
|
|
return this._originalTransitionTable || this.getTransitionTable(), this._originalTransitionTable
|
|
}
|
|
}, {
|
|
key: "matches",
|
|
value: function(string) {
|
|
for (var state = 1, i = 0, table = this.getTransitionTable(); string[i];)
|
|
if (!(state = table[state][string[i++]])) return !1;
|
|
return !!this.getAcceptingStateNumbers().has(state)
|
|
}
|
|
}]), DFA
|
|
}();
|
|
module.exports = DFA
|
|
},
|
|
25871: module => {
|
|
"use strict";
|
|
var isMergeableObject = function(value) {
|
|
return function(value) {
|
|
return !!value && "object" == typeof value
|
|
}(value) && ! function(value) {
|
|
var stringValue = Object.prototype.toString.call(value);
|
|
return "[object RegExp]" === stringValue || "[object Date]" === stringValue || function(value) {
|
|
return value.$$typeof === REACT_ELEMENT_TYPE
|
|
}(value)
|
|
}(value)
|
|
};
|
|
var REACT_ELEMENT_TYPE = "function" == typeof Symbol && Symbol.for ? Symbol.for("react.element") : 60103;
|
|
|
|
function cloneUnlessOtherwiseSpecified(value, options) {
|
|
return !1 !== options.clone && options.isMergeableObject(value) ? deepmerge((val = value, Array.isArray(val) ? [] : {}), value, options) : value;
|
|
var val
|
|
}
|
|
|
|
function defaultArrayMerge(target, source, options) {
|
|
return target.concat(source).map(function(element) {
|
|
return cloneUnlessOtherwiseSpecified(element, options)
|
|
})
|
|
}
|
|
|
|
function getKeys(target) {
|
|
return Object.keys(target).concat(function(target) {
|
|
return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(target).filter(function(symbol) {
|
|
return Object.propertyIsEnumerable.call(target, symbol)
|
|
}) : []
|
|
}(target))
|
|
}
|
|
|
|
function propertyIsOnObject(object, property) {
|
|
try {
|
|
return property in object
|
|
} catch (_) {
|
|
return !1
|
|
}
|
|
}
|
|
|
|
function mergeObject(target, source, options) {
|
|
var destination = {};
|
|
return options.isMergeableObject(target) && getKeys(target).forEach(function(key) {
|
|
destination[key] = cloneUnlessOtherwiseSpecified(target[key], options)
|
|
}), getKeys(source).forEach(function(key) {
|
|
(function(target, key) {
|
|
return propertyIsOnObject(target, key) && !(Object.hasOwnProperty.call(target, key) && Object.propertyIsEnumerable.call(target, key))
|
|
})(target, key) || (propertyIsOnObject(target, key) && options.isMergeableObject(source[key]) ? destination[key] = function(key, options) {
|
|
if (!options.customMerge) return deepmerge;
|
|
var customMerge = options.customMerge(key);
|
|
return "function" == typeof customMerge ? customMerge : deepmerge
|
|
}(key, options)(target[key], source[key], options) : destination[key] = cloneUnlessOtherwiseSpecified(source[key], options))
|
|
}), destination
|
|
}
|
|
|
|
function deepmerge(target, source, options) {
|
|
(options = options || {}).arrayMerge = options.arrayMerge || defaultArrayMerge, options.isMergeableObject = options.isMergeableObject || isMergeableObject, options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;
|
|
var sourceIsArray = Array.isArray(source);
|
|
return sourceIsArray === Array.isArray(target) ? sourceIsArray ? options.arrayMerge(target, source, options) : mergeObject(target, source, options) : cloneUnlessOtherwiseSpecified(source, options)
|
|
}
|
|
deepmerge.all = function(array, options) {
|
|
if (!Array.isArray(array)) throw new Error("first argument should be an array");
|
|
return array.reduce(function(prev, next) {
|
|
return deepmerge(prev, next, options)
|
|
}, {})
|
|
};
|
|
var deepmerge_1 = deepmerge;
|
|
module.exports = deepmerge_1
|
|
},
|
|
25956: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function(instance, scope) {
|
|
const textObj = instance.createObject(instance.OBJECT);
|
|
instance.setProperty(scope, "text", textObj, _Instance.default.READONLY_DESCRIPTOR), instance.setProperty(textObj, "cleanTags", instance.createNativeFunction(pseudoInput => {
|
|
try {
|
|
const nativeInput = instance.pseudoToNative(pseudoInput);
|
|
return instance.createPrimitive(nativeInput ? _htmlencode.default.htmlDecode(nativeInput.toString().replace(/'/g, "'")).replace(/\s{2,}/g, " ").replace(/<(p|div|hd|br|li).*?>/g, "\n").replace(/<\/?.*?>/g, "").trim() : "")
|
|
} catch (err) {
|
|
return instance.throwException(instance.ERROR, err && err.message), null
|
|
}
|
|
}), _Instance.default.READONLY_DESCRIPTOR)
|
|
};
|
|
var _htmlencode = _interopRequireDefault(__webpack_require__(70804)),
|
|
_Instance = _interopRequireDefault(__webpack_require__(76352));
|
|
module.exports = exports.default
|
|
},
|
|
26079: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var NodePath = __webpack_require__(6453),
|
|
_require = __webpack_require__(47008),
|
|
disjunctionToList = _require.disjunctionToList,
|
|
listToDisjunction = _require.listToDisjunction;
|
|
module.exports = {
|
|
Disjunction: function(path) {
|
|
var node = path.node,
|
|
uniqueNodesMap = {},
|
|
parts = disjunctionToList(node).filter(function(part) {
|
|
var encoded = part ? NodePath.getForNode(part).jsonEncode() : "null";
|
|
return !uniqueNodesMap.hasOwnProperty(encoded) && (uniqueNodesMap[encoded] = part, !0)
|
|
});
|
|
path.replace(listToDisjunction(parts))
|
|
}
|
|
}
|
|
},
|
|
26105: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_helpers = _interopRequireDefault(__webpack_require__(16065)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912));
|
|
exports.default = new _dac.default({
|
|
description: "Amazon Find Savings",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 20
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "1",
|
|
name: "Amazon"
|
|
}],
|
|
doDac: async function(couponCode, selector, priceAmt, applyBestCode) {
|
|
let price = priceAmt;
|
|
return function(response) {
|
|
try {
|
|
price = (0, _jquery.default)(response).find(selector).text()
|
|
} catch (e) {}
|
|
Number(_legacyHoneyUtils.default.cleanPrice(price)) < priceAmt && (0, _jquery.default)(selector).text(price)
|
|
}(await async function() {
|
|
const res = _jquery.default.ajax({
|
|
type: "post",
|
|
url: "https://www.amazon.com/gp/buy/spc/handlers/add-giftcard-promotion.html/ref=ox_pay_page_gc_add",
|
|
headers: {
|
|
"x-amz-checkout-page": "spc",
|
|
"x-amz-checkout-transtion": "ajax",
|
|
"x-amz-checkout-type": "spp"
|
|
},
|
|
data: {
|
|
purchaseTotal: price,
|
|
claimcode: couponCode,
|
|
disablegc: "",
|
|
returnjson: 1,
|
|
returnFullHTML: 1,
|
|
hasWorkingJavascript: 1,
|
|
fromAnywhere: 0,
|
|
cachebuster: Date.now()
|
|
}
|
|
});
|
|
return await res.done(_data => {
|
|
_logger.default.debug("Finishing applying codes")
|
|
}), res
|
|
}()), !0 === applyBestCode && (window.location = window.location.href, await (0, _helpers.default)(5e3)), Number(_legacyHoneyUtils.default.cleanPrice(price))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
26173: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
const state = this.stateStack[this.stateStack.length - 1],
|
|
node = state.node;
|
|
state.done_ ? this.throwException(state.value) : (state.done_ = !0, this.stateStack.push({
|
|
node: node.argument
|
|
}))
|
|
}, module.exports = exports.default
|
|
},
|
|
26389: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _uuid = __webpack_require__(1302),
|
|
_errors = __webpack_require__(28435);
|
|
class CoreState {
|
|
constructor(defaults, platform) {
|
|
this.runs = new Map, this.defaults = defaults, this.platform = platform
|
|
}
|
|
newRun(proposedRunId) {
|
|
const runId = proposedRunId || (0, _uuid.v4)();
|
|
return this.runs.set(runId, new Map), this.updateAll(runId, this.defaults), this.updateValue(runId, "runId", runId), this.updateValue(runId, "platform", this.platform), runId
|
|
}
|
|
clearRun(runId) {
|
|
this.runs.has(runId) && this.runs.delete(runId)
|
|
}
|
|
hasRun(runId) {
|
|
return this.runs.has(runId)
|
|
}
|
|
hasValue(runId, key) {
|
|
return !!this.runs.has(runId) && (this.runs.get(runId).has(key) && null !== this.runs.get(runId).get(key))
|
|
}
|
|
getValues(runId, keys) {
|
|
const response = {};
|
|
if (this.runs.has(runId))
|
|
for (const key of keys) response[key] = this.getValue(runId, key);
|
|
return response
|
|
}
|
|
getValue(runId, key) {
|
|
let response;
|
|
return this.runs.has(runId) && (response = this.runs.get(runId).get(key)), response
|
|
}
|
|
deleteKey(runId, key) {
|
|
this.runs.has(runId) && this.runs.get(runId).delete(key)
|
|
}
|
|
updateAll(runId, options) {
|
|
if (options)
|
|
for (const [key, val] of Object.entries(options)) this.updateValue(runId, key, val)
|
|
}
|
|
updateValue(runId, key, value) {
|
|
if (!this.runs.has(runId)) throw new _errors.MissingRunState(`Tried to write to missing run id, ${runId}`);
|
|
this.runs.get(runId).set(key, value)
|
|
}
|
|
}
|
|
exports.default = CoreState, Object.defineProperty(CoreState, Symbol.hasInstance, {
|
|
value: obj => null != obj && obj.clearRun && obj.deleteKey && obj.getValue && obj.getValues && obj.hasValue && obj.newRun && obj.updateAll && obj.updateValue
|
|
}), module.exports = exports.default
|
|
},
|
|
26786: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
const state = this.stateStack.pop();
|
|
this.stateStack[this.stateStack.length - 1].value = this.createFunction(state.node, this.getScope())
|
|
}, module.exports = exports.default
|
|
},
|
|
27020: (__unused_webpack_module, exports) => {
|
|
"use strict";
|
|
const UNDEFINED_CODE_POINTS = [65534, 65535, 131070, 131071, 196606, 196607, 262142, 262143, 327678, 327679, 393214, 393215, 458750, 458751, 524286, 524287, 589822, 589823, 655358, 655359, 720894, 720895, 786430, 786431, 851966, 851967, 917502, 917503, 983038, 983039, 1048574, 1048575, 1114110, 1114111];
|
|
exports.REPLACEMENT_CHARACTER = "\ufffd", exports.CODE_POINTS = {
|
|
EOF: -1,
|
|
NULL: 0,
|
|
TABULATION: 9,
|
|
CARRIAGE_RETURN: 13,
|
|
LINE_FEED: 10,
|
|
FORM_FEED: 12,
|
|
SPACE: 32,
|
|
EXCLAMATION_MARK: 33,
|
|
QUOTATION_MARK: 34,
|
|
NUMBER_SIGN: 35,
|
|
AMPERSAND: 38,
|
|
APOSTROPHE: 39,
|
|
HYPHEN_MINUS: 45,
|
|
SOLIDUS: 47,
|
|
DIGIT_0: 48,
|
|
DIGIT_9: 57,
|
|
SEMICOLON: 59,
|
|
LESS_THAN_SIGN: 60,
|
|
EQUALS_SIGN: 61,
|
|
GREATER_THAN_SIGN: 62,
|
|
QUESTION_MARK: 63,
|
|
LATIN_CAPITAL_A: 65,
|
|
LATIN_CAPITAL_F: 70,
|
|
LATIN_CAPITAL_X: 88,
|
|
LATIN_CAPITAL_Z: 90,
|
|
RIGHT_SQUARE_BRACKET: 93,
|
|
GRAVE_ACCENT: 96,
|
|
LATIN_SMALL_A: 97,
|
|
LATIN_SMALL_F: 102,
|
|
LATIN_SMALL_X: 120,
|
|
LATIN_SMALL_Z: 122,
|
|
REPLACEMENT_CHARACTER: 65533
|
|
}, exports.CODE_POINT_SEQUENCES = {
|
|
DASH_DASH_STRING: [45, 45],
|
|
DOCTYPE_STRING: [68, 79, 67, 84, 89, 80, 69],
|
|
CDATA_START_STRING: [91, 67, 68, 65, 84, 65, 91],
|
|
SCRIPT_STRING: [115, 99, 114, 105, 112, 116],
|
|
PUBLIC_STRING: [80, 85, 66, 76, 73, 67],
|
|
SYSTEM_STRING: [83, 89, 83, 84, 69, 77]
|
|
}, exports.isSurrogate = function(cp) {
|
|
return cp >= 55296 && cp <= 57343
|
|
}, exports.isSurrogatePair = function(cp) {
|
|
return cp >= 56320 && cp <= 57343
|
|
}, exports.getSurrogatePairCodePoint = function(cp1, cp2) {
|
|
return 1024 * (cp1 - 55296) + 9216 + cp2
|
|
}, exports.isControlCodePoint = function(cp) {
|
|
return 32 !== cp && 10 !== cp && 13 !== cp && 9 !== cp && 12 !== cp && cp >= 1 && cp <= 31 || cp >= 127 && cp <= 159
|
|
}, exports.isUndefinedCodePoint = function(cp) {
|
|
return cp >= 64976 && cp <= 65007 || UNDEFINED_CODE_POINTS.indexOf(cp) > -1
|
|
}
|
|
},
|
|
27024: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_helpers = _interopRequireDefault(__webpack_require__(16065));
|
|
exports.default = new _dac.default({
|
|
description: "Bath & Body Works",
|
|
author: "Honey Team",
|
|
version: "0.2.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 10
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "25",
|
|
name: "bath-and-body-works"
|
|
}],
|
|
doDac: async function(couponCode, selector, priceAmt, applyBestCode) {
|
|
let basketIdUrl = null,
|
|
authTokenConcatenated = null,
|
|
authToken = null,
|
|
couponItemId = "",
|
|
basketId = "";
|
|
try {
|
|
async function getBasketId() {
|
|
try {
|
|
const res = await _jquery.default.ajax({
|
|
url: basketIdUrl,
|
|
headers: {
|
|
authorization: authTokenConcatenated,
|
|
"content-type": "application/json"
|
|
},
|
|
type: "POST",
|
|
data: JSON.stringify({
|
|
c_pageID: "cart",
|
|
c_token: authToken
|
|
})
|
|
});
|
|
return basketId = res.baskets[0].basketId, basketId
|
|
} catch (e) {
|
|
return e.baskets && e.baskets[0] ? (basketId = res.baskets[0].basketId, basketId) : null
|
|
}
|
|
}
|
|
const organization = JSON.parse((0, _jquery.default)("script#mobify-data").text()).__CONFIG__.app.commerceAPI.parameters.organizationId;
|
|
if (authToken = window.localStorage.access_token_BathAndBodyWorks, authTokenConcatenated = "Bearer " + window.localStorage.access_token_BathAndBodyWorks, basketIdUrl = [...performance.getEntriesByType("resource")].map(e => e.name).find(name => name.includes("getbasket") && name.includes("siteId")).replace("https://www.bathandbodyworks.com", ""), basketId = await getBasketId(), !basketId) return;
|
|
const url = "/mobify/proxy/api/checkout/shopper-baskets/v1/organizations/" + organization + "/baskets/" + basketId + "/coupons?siteId=BathAndBodyWorks";
|
|
async function applyCode() {
|
|
const res = _jquery.default.ajax({
|
|
url,
|
|
headers: {
|
|
authorization: authTokenConcatenated,
|
|
"content-type": "application/json"
|
|
},
|
|
type: "POST",
|
|
data: JSON.stringify({
|
|
code: couponCode,
|
|
c_fromPromoBox: !0
|
|
})
|
|
});
|
|
if (await res.done(_data => {}), res) {
|
|
const responseAsObject = JSON.parse(res.responseText),
|
|
responseTextOrderTotal = responseAsObject.orderTotal;
|
|
return couponItemId = responseAsObject.couponItems[0].couponItemId, responseTextOrderTotal
|
|
}
|
|
return null
|
|
}
|
|
async function removeCode() {
|
|
const removeCodeURL = `/mobify/proxy/api/checkout/shopper-baskets/v1/organizations/${organization}/baskets/${basketId}/coupons/${couponItemId}?siteId=BathAndBodyWorks`;
|
|
try {
|
|
return await _jquery.default.ajax({
|
|
url: removeCodeURL,
|
|
type: "DELETE",
|
|
headers: {
|
|
authorization: authTokenConcatenated,
|
|
"content-type": "application/json"
|
|
}
|
|
})
|
|
} catch (err) {
|
|
return null
|
|
}
|
|
}
|
|
const applyCodePrice = await applyCode();
|
|
return couponItemId && couponItemId.length > 0 && !1 === applyBestCode && await removeCode(), !0 === applyBestCode && ((0, _jquery.default)(selector).text(applyCodePrice), window.location = window.location.href, await (0, _helpers.default)(8e3)), Number(_legacyHoneyUtils.default.cleanPrice(applyCodePrice))
|
|
} catch (e) {
|
|
return Number(_legacyHoneyUtils.default.cleanPrice(priceAmt))
|
|
}
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
27263: () => {},
|
|
27362: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
_conditionalExpression.default.apply(this)
|
|
};
|
|
var _conditionalExpression = _interopRequireDefault(__webpack_require__(94696));
|
|
module.exports = exports.default
|
|
},
|
|
27398: (__unused_webpack_module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.attributeNames = exports.elementNames = void 0, exports.elementNames = new Map([
|
|
["altglyph", "altGlyph"],
|
|
["altglyphdef", "altGlyphDef"],
|
|
["altglyphitem", "altGlyphItem"],
|
|
["animatecolor", "animateColor"],
|
|
["animatemotion", "animateMotion"],
|
|
["animatetransform", "animateTransform"],
|
|
["clippath", "clipPath"],
|
|
["feblend", "feBlend"],
|
|
["fecolormatrix", "feColorMatrix"],
|
|
["fecomponenttransfer", "feComponentTransfer"],
|
|
["fecomposite", "feComposite"],
|
|
["feconvolvematrix", "feConvolveMatrix"],
|
|
["fediffuselighting", "feDiffuseLighting"],
|
|
["fedisplacementmap", "feDisplacementMap"],
|
|
["fedistantlight", "feDistantLight"],
|
|
["fedropshadow", "feDropShadow"],
|
|
["feflood", "feFlood"],
|
|
["fefunca", "feFuncA"],
|
|
["fefuncb", "feFuncB"],
|
|
["fefuncg", "feFuncG"],
|
|
["fefuncr", "feFuncR"],
|
|
["fegaussianblur", "feGaussianBlur"],
|
|
["feimage", "feImage"],
|
|
["femerge", "feMerge"],
|
|
["femergenode", "feMergeNode"],
|
|
["femorphology", "feMorphology"],
|
|
["feoffset", "feOffset"],
|
|
["fepointlight", "fePointLight"],
|
|
["fespecularlighting", "feSpecularLighting"],
|
|
["fespotlight", "feSpotLight"],
|
|
["fetile", "feTile"],
|
|
["feturbulence", "feTurbulence"],
|
|
["foreignobject", "foreignObject"],
|
|
["glyphref", "glyphRef"],
|
|
["lineargradient", "linearGradient"],
|
|
["radialgradient", "radialGradient"],
|
|
["textpath", "textPath"]
|
|
]), exports.attributeNames = new Map([
|
|
["definitionurl", "definitionURL"],
|
|
["attributename", "attributeName"],
|
|
["attributetype", "attributeType"],
|
|
["basefrequency", "baseFrequency"],
|
|
["baseprofile", "baseProfile"],
|
|
["calcmode", "calcMode"],
|
|
["clippathunits", "clipPathUnits"],
|
|
["diffuseconstant", "diffuseConstant"],
|
|
["edgemode", "edgeMode"],
|
|
["filterunits", "filterUnits"],
|
|
["glyphref", "glyphRef"],
|
|
["gradienttransform", "gradientTransform"],
|
|
["gradientunits", "gradientUnits"],
|
|
["kernelmatrix", "kernelMatrix"],
|
|
["kernelunitlength", "kernelUnitLength"],
|
|
["keypoints", "keyPoints"],
|
|
["keysplines", "keySplines"],
|
|
["keytimes", "keyTimes"],
|
|
["lengthadjust", "lengthAdjust"],
|
|
["limitingconeangle", "limitingConeAngle"],
|
|
["markerheight", "markerHeight"],
|
|
["markerunits", "markerUnits"],
|
|
["markerwidth", "markerWidth"],
|
|
["maskcontentunits", "maskContentUnits"],
|
|
["maskunits", "maskUnits"],
|
|
["numoctaves", "numOctaves"],
|
|
["pathlength", "pathLength"],
|
|
["patterncontentunits", "patternContentUnits"],
|
|
["patterntransform", "patternTransform"],
|
|
["patternunits", "patternUnits"],
|
|
["pointsatx", "pointsAtX"],
|
|
["pointsaty", "pointsAtY"],
|
|
["pointsatz", "pointsAtZ"],
|
|
["preservealpha", "preserveAlpha"],
|
|
["preserveaspectratio", "preserveAspectRatio"],
|
|
["primitiveunits", "primitiveUnits"],
|
|
["refx", "refX"],
|
|
["refy", "refY"],
|
|
["repeatcount", "repeatCount"],
|
|
["repeatdur", "repeatDur"],
|
|
["requiredextensions", "requiredExtensions"],
|
|
["requiredfeatures", "requiredFeatures"],
|
|
["specularconstant", "specularConstant"],
|
|
["specularexponent", "specularExponent"],
|
|
["spreadmethod", "spreadMethod"],
|
|
["startoffset", "startOffset"],
|
|
["stddeviation", "stdDeviation"],
|
|
["stitchtiles", "stitchTiles"],
|
|
["surfacescale", "surfaceScale"],
|
|
["systemlanguage", "systemLanguage"],
|
|
["tablevalues", "tableValues"],
|
|
["targetx", "targetX"],
|
|
["targety", "targetY"],
|
|
["textlength", "textLength"],
|
|
["viewbox", "viewBox"],
|
|
["viewtarget", "viewTarget"],
|
|
["xchannelselector", "xChannelSelector"],
|
|
["ychannelselector", "yChannelSelector"],
|
|
["zoomandpan", "zoomAndPan"]
|
|
])
|
|
},
|
|
27689: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var Symbol = __webpack_require__(45367),
|
|
objectProto = Object.prototype,
|
|
hasOwnProperty = objectProto.hasOwnProperty,
|
|
nativeObjectToString = objectProto.toString,
|
|
symToStringTag = Symbol ? Symbol.toStringTag : void 0;
|
|
module.exports = function(value) {
|
|
var isOwn = hasOwnProperty.call(value, symToStringTag),
|
|
tag = value[symToStringTag];
|
|
try {
|
|
value[symToStringTag] = void 0;
|
|
var unmasked = !0
|
|
} catch (e) {}
|
|
var result = nativeObjectToString.call(value);
|
|
return unmasked && (isOwn ? value[symToStringTag] = tag : delete value[symToStringTag]), result
|
|
}
|
|
},
|
|
28305: function(module, exports, __webpack_require__) {
|
|
var CTR, Encryptor, CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), __webpack_require__(74047), CryptoJS.mode.CTR = (CTR = CryptoJS.lib.BlockCipherMode.extend(), Encryptor = CTR.Encryptor = CTR.extend({
|
|
processBlock: function(words, offset) {
|
|
var cipher = this._cipher,
|
|
blockSize = cipher.blockSize,
|
|
iv = this._iv,
|
|
counter = this._counter;
|
|
iv && (counter = this._counter = iv.slice(0), this._iv = void 0);
|
|
var keystream = counter.slice(0);
|
|
cipher.encryptBlock(keystream, 0), counter[blockSize - 1] = counter[blockSize - 1] + 1 | 0;
|
|
for (var i = 0; i < blockSize; i++) words[offset + i] ^= keystream[i]
|
|
}
|
|
}), CTR.Decryptor = Encryptor, CTR), CryptoJS.mode.CTR)
|
|
},
|
|
28338: module => {
|
|
"use strict";
|
|
class Mixin {
|
|
constructor(host) {
|
|
const originalMethods = {},
|
|
overriddenMethods = this._getOverriddenMethods(this, originalMethods);
|
|
for (const key of Object.keys(overriddenMethods)) "function" == typeof overriddenMethods[key] && (originalMethods[key] = host[key], host[key] = overriddenMethods[key])
|
|
}
|
|
_getOverriddenMethods() {
|
|
throw new Error("Not implemented")
|
|
}
|
|
}
|
|
Mixin.install = function(host, Ctor, opts) {
|
|
host.__mixins || (host.__mixins = []);
|
|
for (let i = 0; i < host.__mixins.length; i++)
|
|
if (host.__mixins[i].constructor === Ctor) return host.__mixins[i];
|
|
const mixin = new Ctor(host, opts);
|
|
return host.__mixins.push(mixin), mixin
|
|
}, module.exports = Mixin
|
|
},
|
|
28405: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
__webpack_require__(33840);
|
|
const errorToClassMap = {
|
|
AlreadyExists: AlreadyExistsError,
|
|
EmailLocked: EmailLockedError,
|
|
FacebookNoEmail: FacebookNoEmailError,
|
|
InsufficientBalance: InsufficientBalanceError,
|
|
InvalidCredentials: InvalidCredentialsError,
|
|
InvalidParameters: InvalidParametersError,
|
|
MissingParameters: MissingParametersError,
|
|
NotAllowed: NotAllowedError,
|
|
NotFound: NotFoundError,
|
|
NothingToUpdate: NothingToUpdateError,
|
|
Profanity: ProfanityError,
|
|
RequestThrottled: RequestThrottledError,
|
|
SwitchedUser: SwitchedUserError,
|
|
Unauthorized: UnauthorizedError
|
|
};
|
|
module.exports = function(className) {
|
|
return className && errorToClassMap[className] ? errorToClassMap[className] : Error
|
|
}
|
|
},
|
|
28420: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
const utils = __webpack_require__(1602);
|
|
|
|
function ResponseBase() {}
|
|
module.exports = ResponseBase, ResponseBase.prototype.get = function(field) {
|
|
return this.header[field.toLowerCase()]
|
|
}, ResponseBase.prototype._setHeaderProperties = function(header) {
|
|
const ct = header["content-type"] || "";
|
|
this.type = utils.type(ct);
|
|
const parameters = utils.params(ct);
|
|
for (const key in parameters) Object.prototype.hasOwnProperty.call(parameters, key) && (this[key] = parameters[key]);
|
|
this.links = {};
|
|
try {
|
|
header.link && (this.links = utils.parseLinks(header.link))
|
|
} catch (err) {}
|
|
}, ResponseBase.prototype._setStatusProperties = function(status) {
|
|
const type = Math.trunc(status / 100);
|
|
this.statusCode = status, this.status = this.statusCode, this.statusType = type, this.info = 1 === type, this.ok = 2 === type, this.redirect = 3 === type, this.clientError = 4 === type, this.serverError = 5 === type, this.error = (4 === type || 5 === type) && this.toError(), this.created = 201 === status, this.accepted = 202 === status, this.noContent = 204 === status, this.badRequest = 400 === status, this.unauthorized = 401 === status, this.notAcceptable = 406 === status, this.forbidden = 403 === status, this.notFound = 404 === status, this.unprocessableEntity = 422 === status
|
|
}
|
|
},
|
|
28435: (__unused_webpack_module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.MissingRunState = exports.MissingNativeAction = exports.MissingCoreAction = exports.MalformedCorePlugin = exports.MalformedCoreAction = exports.CoreRunnerVimGenerationError = exports.CoreActionRuntimeError = void 0;
|
|
class MissingRunState extends Error {
|
|
constructor(message) {
|
|
super(message), this.name = "MissingRunState"
|
|
}
|
|
}
|
|
exports.MissingRunState = MissingRunState;
|
|
class MalformedCorePlugin extends Error {
|
|
constructor(message) {
|
|
super(message), this.name = "MalformedCorePlugin"
|
|
}
|
|
}
|
|
exports.MalformedCorePlugin = MalformedCorePlugin;
|
|
class MalformedCoreAction extends Error {
|
|
constructor(message) {
|
|
super(message), this.name = "MalformedCoreAction"
|
|
}
|
|
}
|
|
exports.MalformedCoreAction = MalformedCoreAction;
|
|
class CoreActionRuntimeError extends Error {
|
|
constructor(message) {
|
|
super(message), this.name = "CoreActionRuntimeError"
|
|
}
|
|
}
|
|
exports.CoreActionRuntimeError = CoreActionRuntimeError;
|
|
class MissingNativeAction extends Error {
|
|
constructor(message) {
|
|
super(message), this.name = "MissingNativeAction"
|
|
}
|
|
}
|
|
exports.MissingNativeAction = MissingNativeAction;
|
|
class MissingCoreAction extends Error {
|
|
constructor(message) {
|
|
super(message), this.name = "MissingCoreAction"
|
|
}
|
|
}
|
|
exports.MissingCoreAction = MissingCoreAction;
|
|
class CoreRunnerVimGenerationError extends Error {
|
|
constructor(message) {
|
|
super(message), this.name = "CoreRunnerVimGenerationError"
|
|
}
|
|
}
|
|
exports.CoreRunnerVimGenerationError = CoreRunnerVimGenerationError
|
|
},
|
|
28588: function(module) {
|
|
module.exports = function() {
|
|
"use strict";
|
|
var t, s, n = 1e3,
|
|
i = 6e4,
|
|
e = 36e5,
|
|
r = 864e5,
|
|
o = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,
|
|
u = 31536e6,
|
|
d = 2628e6,
|
|
a = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,
|
|
h = {
|
|
years: u,
|
|
months: d,
|
|
days: r,
|
|
hours: e,
|
|
minutes: i,
|
|
seconds: n,
|
|
milliseconds: 1,
|
|
weeks: 6048e5
|
|
},
|
|
c = function(t) {
|
|
return t instanceof g
|
|
},
|
|
f = function(t, s, n) {
|
|
return new g(t, n, s.$l)
|
|
},
|
|
m = function(t) {
|
|
return s.p(t) + "s"
|
|
},
|
|
l = function(t) {
|
|
return t < 0
|
|
},
|
|
$ = function(t) {
|
|
return l(t) ? Math.ceil(t) : Math.floor(t)
|
|
},
|
|
y = function(t) {
|
|
return Math.abs(t)
|
|
},
|
|
v = function(t, s) {
|
|
return t ? l(t) ? {
|
|
negative: !0,
|
|
format: "" + y(t) + s
|
|
} : {
|
|
negative: !1,
|
|
format: "" + t + s
|
|
} : {
|
|
negative: !1,
|
|
format: ""
|
|
}
|
|
},
|
|
g = function() {
|
|
function l(t, s, n) {
|
|
var i = this;
|
|
if (this.$d = {}, this.$l = n, void 0 === t && (this.$ms = 0, this.parseFromMilliseconds()), s) return f(t * h[m(s)], this);
|
|
if ("number" == typeof t) return this.$ms = t, this.parseFromMilliseconds(), this;
|
|
if ("object" == typeof t) return Object.keys(t).forEach(function(s) {
|
|
i.$d[m(s)] = t[s]
|
|
}), this.calMilliseconds(), this;
|
|
if ("string" == typeof t) {
|
|
var e = t.match(a);
|
|
if (e) {
|
|
var r = e.slice(2).map(function(t) {
|
|
return null != t ? Number(t) : 0
|
|
});
|
|
return this.$d.years = r[0], this.$d.months = r[1], this.$d.weeks = r[2], this.$d.days = r[3], this.$d.hours = r[4], this.$d.minutes = r[5], this.$d.seconds = r[6], this.calMilliseconds(), this
|
|
}
|
|
}
|
|
return this
|
|
}
|
|
var y = l.prototype;
|
|
return y.calMilliseconds = function() {
|
|
var t = this;
|
|
this.$ms = Object.keys(this.$d).reduce(function(s, n) {
|
|
return s + (t.$d[n] || 0) * h[n]
|
|
}, 0)
|
|
}, y.parseFromMilliseconds = function() {
|
|
var t = this.$ms;
|
|
this.$d.years = $(t / u), t %= u, this.$d.months = $(t / d), t %= d, this.$d.days = $(t / r), t %= r, this.$d.hours = $(t / e), t %= e, this.$d.minutes = $(t / i), t %= i, this.$d.seconds = $(t / n), t %= n, this.$d.milliseconds = t
|
|
}, y.toISOString = function() {
|
|
var t = v(this.$d.years, "Y"),
|
|
s = v(this.$d.months, "M"),
|
|
n = +this.$d.days || 0;
|
|
this.$d.weeks && (n += 7 * this.$d.weeks);
|
|
var i = v(n, "D"),
|
|
e = v(this.$d.hours, "H"),
|
|
r = v(this.$d.minutes, "M"),
|
|
o = this.$d.seconds || 0;
|
|
this.$d.milliseconds && (o += this.$d.milliseconds / 1e3, o = Math.round(1e3 * o) / 1e3);
|
|
var u = v(o, "S"),
|
|
d = t.negative || s.negative || i.negative || e.negative || r.negative || u.negative,
|
|
a = e.format || r.format || u.format ? "T" : "",
|
|
h = (d ? "-" : "") + "P" + t.format + s.format + i.format + a + e.format + r.format + u.format;
|
|
return "P" === h || "-P" === h ? "P0D" : h
|
|
}, y.toJSON = function() {
|
|
return this.toISOString()
|
|
}, y.format = function(t) {
|
|
var n = t || "YYYY-MM-DDTHH:mm:ss",
|
|
i = {
|
|
Y: this.$d.years,
|
|
YY: s.s(this.$d.years, 2, "0"),
|
|
YYYY: s.s(this.$d.years, 4, "0"),
|
|
M: this.$d.months,
|
|
MM: s.s(this.$d.months, 2, "0"),
|
|
D: this.$d.days,
|
|
DD: s.s(this.$d.days, 2, "0"),
|
|
H: this.$d.hours,
|
|
HH: s.s(this.$d.hours, 2, "0"),
|
|
m: this.$d.minutes,
|
|
mm: s.s(this.$d.minutes, 2, "0"),
|
|
s: this.$d.seconds,
|
|
ss: s.s(this.$d.seconds, 2, "0"),
|
|
SSS: s.s(this.$d.milliseconds, 3, "0")
|
|
};
|
|
return n.replace(o, function(t, s) {
|
|
return s || String(i[t])
|
|
})
|
|
}, y.as = function(t) {
|
|
return this.$ms / h[m(t)]
|
|
}, y.get = function(t) {
|
|
var s = this.$ms,
|
|
n = m(t);
|
|
return "milliseconds" === n ? s %= 1e3 : s = "weeks" === n ? $(s / h[n]) : this.$d[n], s || 0
|
|
}, y.add = function(t, s, n) {
|
|
var i;
|
|
return i = s ? t * h[m(s)] : c(t) ? t.$ms : f(t, this).$ms, f(this.$ms + i * (n ? -1 : 1), this)
|
|
}, y.subtract = function(t, s) {
|
|
return this.add(t, s, !0)
|
|
}, y.locale = function(t) {
|
|
var s = this.clone();
|
|
return s.$l = t, s
|
|
}, y.clone = function() {
|
|
return f(this.$ms, this)
|
|
}, y.humanize = function(s) {
|
|
return t().add(this.$ms, "ms").locale(this.$l).fromNow(!s)
|
|
}, y.valueOf = function() {
|
|
return this.asMilliseconds()
|
|
}, y.milliseconds = function() {
|
|
return this.get("milliseconds")
|
|
}, y.asMilliseconds = function() {
|
|
return this.as("milliseconds")
|
|
}, y.seconds = function() {
|
|
return this.get("seconds")
|
|
}, y.asSeconds = function() {
|
|
return this.as("seconds")
|
|
}, y.minutes = function() {
|
|
return this.get("minutes")
|
|
}, y.asMinutes = function() {
|
|
return this.as("minutes")
|
|
}, y.hours = function() {
|
|
return this.get("hours")
|
|
}, y.asHours = function() {
|
|
return this.as("hours")
|
|
}, y.days = function() {
|
|
return this.get("days")
|
|
}, y.asDays = function() {
|
|
return this.as("days")
|
|
}, y.weeks = function() {
|
|
return this.get("weeks")
|
|
}, y.asWeeks = function() {
|
|
return this.as("weeks")
|
|
}, y.months = function() {
|
|
return this.get("months")
|
|
}, y.asMonths = function() {
|
|
return this.as("months")
|
|
}, y.years = function() {
|
|
return this.get("years")
|
|
}, y.asYears = function() {
|
|
return this.as("years")
|
|
}, l
|
|
}(),
|
|
p = function(t, s, n) {
|
|
return t.add(s.years() * n, "y").add(s.months() * n, "M").add(s.days() * n, "d").add(s.hours() * n, "h").add(s.minutes() * n, "m").add(s.seconds() * n, "s").add(s.milliseconds() * n, "ms")
|
|
};
|
|
return function(n, i, e) {
|
|
t = e, s = e().$utils(), e.duration = function(t, s) {
|
|
var n = e.locale();
|
|
return f(t, {
|
|
$l: n
|
|
}, s)
|
|
}, e.isDuration = c;
|
|
var r = i.prototype.add,
|
|
o = i.prototype.subtract;
|
|
i.prototype.add = function(t, s) {
|
|
return c(t) ? p(this, t, 1) : r.bind(this)(t, s)
|
|
}, i.prototype.subtract = function(t, s) {
|
|
return c(t) ? p(this, t, -1) : o.bind(this)(t, s)
|
|
}
|
|
}
|
|
}()
|
|
},
|
|
28591: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(80451)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_defaultNativeActions = _interopRequireDefault(__webpack_require__(22476));
|
|
|
|
function ownKeys(e, r) {
|
|
var t = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var o = Object.getOwnPropertySymbols(e);
|
|
r && (o = o.filter(function(r) {
|
|
return Object.getOwnPropertyDescriptor(e, r).enumerable
|
|
})), t.push.apply(t, o)
|
|
}
|
|
return t
|
|
}
|
|
|
|
function _objectSpread(e) {
|
|
for (var r = 1; r < arguments.length; r++) {
|
|
var t = null != arguments[r] ? arguments[r] : {};
|
|
r % 2 ? ownKeys(Object(t), !0).forEach(function(r) {
|
|
(0, _defineProperty2.default)(e, r, t[r])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) {
|
|
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r))
|
|
})
|
|
}
|
|
return e
|
|
}
|
|
class NativeActionRegistry {
|
|
constructor(actions = {}) {
|
|
const allActions = _objectSpread(_objectSpread({}, _defaultNativeActions.default), actions);
|
|
this.registry = new Map;
|
|
for (const [key, val] of Object.entries(allActions)) this.add(key, val)
|
|
}
|
|
addDefaultAction(actionFn) {
|
|
this.default = actionFn
|
|
}
|
|
add(action, actionFn) {
|
|
this.registry.set(action, actionFn)
|
|
}
|
|
remove(action) {
|
|
this.registry.delete(action)
|
|
}
|
|
clear() {
|
|
this.registry.clear()
|
|
}
|
|
getHandler({
|
|
coreRunner,
|
|
vimInstance,
|
|
vimPayload,
|
|
runId
|
|
}) {
|
|
const registry = this.registry;
|
|
return async (action, payload) => {
|
|
try {
|
|
return registry.has(action) ? await registry.get(action)({
|
|
runner: coreRunner,
|
|
vimInstance,
|
|
vimPayload,
|
|
payload,
|
|
runId
|
|
}) : this.default ? await this.default({
|
|
action,
|
|
runner: coreRunner,
|
|
vimInstance,
|
|
vimPayload,
|
|
payload,
|
|
runId
|
|
}) : (_logger.default.warn(`Unhandled native action: ${action}`, payload), null)
|
|
} catch (e) {
|
|
_logger.default.error(`Error on action: ${action}`, payload, e.message, e.stack)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
exports.default = NativeActionRegistry, Object.defineProperty(NativeActionRegistry, Symbol.hasInstance, {
|
|
value: obj => null != obj && obj.add && obj.addDefaultAction && obj.remove && obj.clear && obj.getHandler && obj.registry
|
|
}), module.exports = exports.default
|
|
},
|
|
28865: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.defaultCorePlugins = exports.CoreRunner = void 0;
|
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(80451)),
|
|
_corePlugin = _interopRequireDefault(__webpack_require__(76849)),
|
|
_corePluginAction = function(e, t) {
|
|
if ("function" == typeof WeakMap) var r = new WeakMap,
|
|
n = new WeakMap;
|
|
return function(e, t) {
|
|
if (!t && e && e.__esModule) return e;
|
|
var o, i, f = {
|
|
__proto__: null,
|
|
default: e
|
|
};
|
|
if (null === e || "object" != typeof e && "function" != typeof e) return f;
|
|
if (o = t ? n : r) {
|
|
if (o.has(e)) return o.get(e);
|
|
o.set(e, f)
|
|
}
|
|
for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]);
|
|
return f
|
|
}(e, t)
|
|
}(__webpack_require__(16299)),
|
|
_errors = __webpack_require__(28435),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_promisedResult = _interopRequireDefault(__webpack_require__(3784)),
|
|
_coreState = _interopRequireDefault(__webpack_require__(26389)),
|
|
_nativeActionRegistry = _interopRequireDefault(__webpack_require__(28591)),
|
|
_integrationsPlugin = _interopRequireDefault(__webpack_require__(89057)),
|
|
_storeMetadataPlugin = _interopRequireDefault(__webpack_require__(52614)),
|
|
_recipesPlugin = _interopRequireDefault(__webpack_require__(40285));
|
|
|
|
function ownKeys(e, r) {
|
|
var t = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var o = Object.getOwnPropertySymbols(e);
|
|
r && (o = o.filter(function(r) {
|
|
return Object.getOwnPropertyDescriptor(e, r).enumerable
|
|
})), t.push.apply(t, o)
|
|
}
|
|
return t
|
|
}
|
|
|
|
function _objectSpread(e) {
|
|
for (var r = 1; r < arguments.length; r++) {
|
|
var t = null != arguments[r] ? arguments[r] : {};
|
|
r % 2 ? ownKeys(Object(t), !0).forEach(function(r) {
|
|
(0, _defineProperty2.default)(e, r, t[r])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) {
|
|
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r))
|
|
})
|
|
}
|
|
return e
|
|
}
|
|
const defaultCorePlugins = exports.defaultCorePlugins = [_integrationsPlugin.default, _storeMetadataPlugin.default, _recipesPlugin.default];
|
|
class CoreRunner {
|
|
constructor({
|
|
platform,
|
|
nativeActionRegistry = new _nativeActionRegistry.default,
|
|
plugins = [],
|
|
defaultOptions = {}
|
|
}) {
|
|
const actionRefs = {},
|
|
actions = {},
|
|
allPlugins = defaultCorePlugins.concat(plugins);
|
|
this.state = new _coreState.default(defaultOptions, platform);
|
|
for (const plugin of allPlugins) {
|
|
if (!(plugin instanceof _corePlugin.default && plugin.actions)) throw new _errors.MalformedCorePlugin(`tried to parse invalid plugin ${plugin}`);
|
|
for (const action of plugin.actions) {
|
|
if (!(action instanceof _corePluginAction.default)) throw new _errors.MalformedCoreAction(`'${plugin.name}' contains an invalid action ${action}`);
|
|
{
|
|
actions[action.name] && _logger.default.warn(`Overwriting '${action.name}' from '${actions[action.name].pluginName}' from '${plugin.name} instead'`);
|
|
const coreRunner = this;
|
|
actionRefs[action.name] = action, actions[action.name] = async ({
|
|
options,
|
|
proposedRunId
|
|
}) => {
|
|
let runId = proposedRunId;
|
|
try {
|
|
runId ? coreRunner.state.hasRun(runId) || coreRunner.state.newRun(runId) : runId = coreRunner.state.newRun(), options && coreRunner.state.updateAll(runId, options);
|
|
const promise = await action.run(coreRunner, nativeActionRegistry, runId);
|
|
return (0, _corePluginAction.handleFinishedRun)({
|
|
promise,
|
|
coreRunner: this,
|
|
options,
|
|
nativeActionRegistry,
|
|
runId
|
|
})
|
|
} catch (e) {
|
|
throw await (0, _corePluginAction.handleFinishedRun)({
|
|
promise: e,
|
|
coreRunner: this,
|
|
options,
|
|
nativeActionRegistry,
|
|
runId
|
|
}), new _errors.CoreActionRuntimeError(`Failed to run '${action.name}' from '${plugin.name}', Error: ${e.name}, ${e.message}\n${e.stack}`)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
this.computedActions = actions;
|
|
for (const action of Object.values(actionRefs)) {
|
|
for (const requireCoreAction of action.requiredActionsNames || [])
|
|
if (!this.computedActions[requireCoreAction]) throw new _errors.MissingCoreAction(`Missing '${requireCoreAction}' action that is required by '${action.name}' from '${action.pluginName}'`);
|
|
for (const requireNativeAction of action.requiredNativeActions || [])
|
|
if (!nativeActionRegistry.registry[requireNativeAction]) throw new _errors.MissingNativeAction(`Missing '${requireNativeAction}' native action that is required by '${action.name}' from '${action.pluginName}'`)
|
|
}
|
|
}
|
|
async getActionHandle({
|
|
name,
|
|
options,
|
|
runId
|
|
}) {
|
|
if (this.computedActions && this.computedActions[name]) {
|
|
const result = await this.computedActions[name]({
|
|
options,
|
|
proposedRunId: runId
|
|
});
|
|
return result instanceof _promisedResult.default ? result : new _promisedResult.default({
|
|
promise: result
|
|
})
|
|
}
|
|
return null
|
|
}
|
|
async getChildActionHandle({
|
|
name,
|
|
options,
|
|
runId
|
|
}) {
|
|
return this.getActionHandle({
|
|
name,
|
|
runId,
|
|
options: _objectSpread(_objectSpread({}, options || {}), {}, {
|
|
isChildAction: !0
|
|
})
|
|
})
|
|
}
|
|
async doAction({
|
|
name,
|
|
options,
|
|
runId
|
|
}) {
|
|
const result = await this.getActionHandle({
|
|
name,
|
|
options,
|
|
runId
|
|
});
|
|
return result && result instanceof _promisedResult.default ? result.getResult() : null
|
|
}
|
|
async doChildAction({
|
|
name,
|
|
options,
|
|
runId
|
|
}) {
|
|
return this.doAction({
|
|
name,
|
|
runId,
|
|
options: _objectSpread(_objectSpread({}, options || {}), {}, {
|
|
isChildAction: !0
|
|
})
|
|
})
|
|
}
|
|
}
|
|
exports.CoreRunner = CoreRunner, Object.defineProperty(CoreRunner, Symbol.hasInstance, {
|
|
value: obj => null != obj && obj.computedActions && obj.doAction && obj.doChildAction && obj.getActionHandle && obj.getChildActionHandle && obj.state
|
|
})
|
|
},
|
|
28869: function(__unused_webpack_module, exports, __webpack_require__) {
|
|
"use strict";
|
|
var extendStatics, __extends = this && this.__extends || (extendStatics = function(d, b) {
|
|
return extendStatics = Object.setPrototypeOf || {
|
|
__proto__: []
|
|
}
|
|
instanceof Array && function(d, b) {
|
|
d.__proto__ = b
|
|
} || function(d, b) {
|
|
for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p])
|
|
}, extendStatics(d, b)
|
|
}, function(d, b) {
|
|
if ("function" != typeof b && null !== b) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
|
|
function __() {
|
|
this.constructor = d
|
|
}
|
|
extendStatics(d, b), d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __)
|
|
}),
|
|
__createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
void 0 === k2 && (k2 = k), Object.defineProperty(o, k2, {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return m[k]
|
|
}
|
|
})
|
|
} : function(o, m, k, k2) {
|
|
void 0 === k2 && (k2 = k), o[k2] = m[k]
|
|
}),
|
|
__setModuleDefault = this && this.__setModuleDefault || (Object.create ? function(o, v) {
|
|
Object.defineProperty(o, "default", {
|
|
enumerable: !0,
|
|
value: v
|
|
})
|
|
} : function(o, v) {
|
|
o.default = v
|
|
}),
|
|
__importStar = this && this.__importStar || function(mod) {
|
|
if (mod && mod.__esModule) return mod;
|
|
var result = {};
|
|
if (null != mod)
|
|
for (var k in mod) "default" !== k && Object.prototype.hasOwnProperty.call(mod, k) && __createBinding(result, mod, k);
|
|
return __setModuleDefault(result, mod), result
|
|
},
|
|
__importDefault = this && this.__importDefault || function(mod) {
|
|
return mod && mod.__esModule ? mod : {
|
|
default: mod
|
|
}
|
|
};
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.parseFeed = exports.FeedHandler = void 0;
|
|
var FeedItemMediaMedium, FeedItemMediaExpression, domhandler_1 = __importDefault(__webpack_require__(75243)),
|
|
DomUtils = __importStar(__webpack_require__(91010)),
|
|
Parser_1 = __webpack_require__(67638);
|
|
! function(FeedItemMediaMedium) {
|
|
FeedItemMediaMedium[FeedItemMediaMedium.image = 0] = "image", FeedItemMediaMedium[FeedItemMediaMedium.audio = 1] = "audio", FeedItemMediaMedium[FeedItemMediaMedium.video = 2] = "video", FeedItemMediaMedium[FeedItemMediaMedium.document = 3] = "document", FeedItemMediaMedium[FeedItemMediaMedium.executable = 4] = "executable"
|
|
}(FeedItemMediaMedium || (FeedItemMediaMedium = {})),
|
|
function(FeedItemMediaExpression) {
|
|
FeedItemMediaExpression[FeedItemMediaExpression.sample = 0] = "sample", FeedItemMediaExpression[FeedItemMediaExpression.full = 1] = "full", FeedItemMediaExpression[FeedItemMediaExpression.nonstop = 2] = "nonstop"
|
|
}(FeedItemMediaExpression || (FeedItemMediaExpression = {}));
|
|
var FeedHandler = function(_super) {
|
|
function FeedHandler(callback, options) {
|
|
return "object" == typeof callback && (options = callback = void 0), _super.call(this, callback, options) || this
|
|
}
|
|
return __extends(FeedHandler, _super), FeedHandler.prototype.onend = function() {
|
|
var _a, _b, feedRoot = getOneElement(isValidFeed, this.dom);
|
|
if (feedRoot) {
|
|
var feed = {};
|
|
if ("feed" === feedRoot.name) {
|
|
var childs = feedRoot.children;
|
|
feed.type = "atom", addConditionally(feed, "id", "id", childs), addConditionally(feed, "title", "title", childs);
|
|
var href = getAttribute("href", getOneElement("link", childs));
|
|
href && (feed.link = href), addConditionally(feed, "description", "subtitle", childs), (updated = fetch("updated", childs)) && (feed.updated = new Date(updated)), addConditionally(feed, "author", "email", childs, !0), feed.items = getElements("entry", childs).map(function(item) {
|
|
var entry = {},
|
|
children = item.children;
|
|
addConditionally(entry, "id", "id", children), addConditionally(entry, "title", "title", children);
|
|
var href = getAttribute("href", getOneElement("link", children));
|
|
href && (entry.link = href);
|
|
var description = fetch("summary", children) || fetch("content", children);
|
|
description && (entry.description = description);
|
|
var pubDate = fetch("updated", children);
|
|
return pubDate && (entry.pubDate = new Date(pubDate)), entry.media = getMediaElements(children), entry
|
|
})
|
|
} else {
|
|
var updated;
|
|
childs = null !== (_b = null === (_a = getOneElement("channel", feedRoot.children)) || void 0 === _a ? void 0 : _a.children) && void 0 !== _b ? _b : [];
|
|
feed.type = feedRoot.name.substr(0, 3), feed.id = "", addConditionally(feed, "title", "title", childs), addConditionally(feed, "link", "link", childs), addConditionally(feed, "description", "description", childs), (updated = fetch("lastBuildDate", childs)) && (feed.updated = new Date(updated)), addConditionally(feed, "author", "managingEditor", childs, !0), feed.items = getElements("item", feedRoot.children).map(function(item) {
|
|
var entry = {},
|
|
children = item.children;
|
|
addConditionally(entry, "id", "guid", children), addConditionally(entry, "title", "title", children), addConditionally(entry, "link", "link", children), addConditionally(entry, "description", "description", children);
|
|
var pubDate = fetch("pubDate", children);
|
|
return pubDate && (entry.pubDate = new Date(pubDate)), entry.media = getMediaElements(children), entry
|
|
})
|
|
}
|
|
this.feed = feed, this.handleCallback(null)
|
|
} else this.handleCallback(new Error("couldn't find root of feed"))
|
|
}, FeedHandler
|
|
}(domhandler_1.default);
|
|
|
|
function getMediaElements(where) {
|
|
return getElements("media:content", where).map(function(elem) {
|
|
var media = {
|
|
medium: elem.attribs.medium,
|
|
isDefault: !!elem.attribs.isDefault
|
|
};
|
|
return elem.attribs.url && (media.url = elem.attribs.url), elem.attribs.fileSize && (media.fileSize = parseInt(elem.attribs.fileSize, 10)), elem.attribs.type && (media.type = elem.attribs.type), elem.attribs.expression && (media.expression = elem.attribs.expression), elem.attribs.bitrate && (media.bitrate = parseInt(elem.attribs.bitrate, 10)), elem.attribs.framerate && (media.framerate = parseInt(elem.attribs.framerate, 10)), elem.attribs.samplingrate && (media.samplingrate = parseInt(elem.attribs.samplingrate, 10)), elem.attribs.channels && (media.channels = parseInt(elem.attribs.channels, 10)), elem.attribs.duration && (media.duration = parseInt(elem.attribs.duration, 10)), elem.attribs.height && (media.height = parseInt(elem.attribs.height, 10)), elem.attribs.width && (media.width = parseInt(elem.attribs.width, 10)), elem.attribs.lang && (media.lang = elem.attribs.lang), media
|
|
})
|
|
}
|
|
|
|
function getElements(tagName, where) {
|
|
return DomUtils.getElementsByTagName(tagName, where, !0)
|
|
}
|
|
|
|
function getOneElement(tagName, node) {
|
|
return DomUtils.getElementsByTagName(tagName, node, !0, 1)[0]
|
|
}
|
|
|
|
function fetch(tagName, where, recurse) {
|
|
return void 0 === recurse && (recurse = !1), DomUtils.getText(DomUtils.getElementsByTagName(tagName, where, recurse, 1)).trim()
|
|
}
|
|
|
|
function getAttribute(name, elem) {
|
|
return elem ? elem.attribs[name] : null
|
|
}
|
|
|
|
function addConditionally(obj, prop, what, where, recurse) {
|
|
void 0 === recurse && (recurse = !1);
|
|
var tmp = fetch(what, where, recurse);
|
|
tmp && (obj[prop] = tmp)
|
|
}
|
|
|
|
function isValidFeed(value) {
|
|
return "rss" === value || "feed" === value || "rdf:RDF" === value
|
|
}
|
|
exports.FeedHandler = FeedHandler, exports.parseFeed = function(feed, options) {
|
|
void 0 === options && (options = {
|
|
xmlMode: !0
|
|
});
|
|
var handler = new FeedHandler(options);
|
|
return new Parser_1.Parser(handler, options).end(feed), handler.feed
|
|
}
|
|
},
|
|
29183: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.QuoteType = void 0;
|
|
var CharCodes, State, QuoteType, decode_js_1 = __webpack_require__(64504);
|
|
|
|
function isWhitespace(c) {
|
|
return c === CharCodes.Space || c === CharCodes.NewLine || c === CharCodes.Tab || c === CharCodes.FormFeed || c === CharCodes.CarriageReturn
|
|
}
|
|
|
|
function isEndOfTagSection(c) {
|
|
return c === CharCodes.Slash || c === CharCodes.Gt || isWhitespace(c)
|
|
}
|
|
|
|
function isNumber(c) {
|
|
return c >= CharCodes.Zero && c <= CharCodes.Nine
|
|
}! function(CharCodes) {
|
|
CharCodes[CharCodes.Tab = 9] = "Tab", CharCodes[CharCodes.NewLine = 10] = "NewLine", CharCodes[CharCodes.FormFeed = 12] = "FormFeed", CharCodes[CharCodes.CarriageReturn = 13] = "CarriageReturn", CharCodes[CharCodes.Space = 32] = "Space", CharCodes[CharCodes.ExclamationMark = 33] = "ExclamationMark", CharCodes[CharCodes.Number = 35] = "Number", CharCodes[CharCodes.Amp = 38] = "Amp", CharCodes[CharCodes.SingleQuote = 39] = "SingleQuote", CharCodes[CharCodes.DoubleQuote = 34] = "DoubleQuote", CharCodes[CharCodes.Dash = 45] = "Dash", CharCodes[CharCodes.Slash = 47] = "Slash", CharCodes[CharCodes.Zero = 48] = "Zero", CharCodes[CharCodes.Nine = 57] = "Nine", CharCodes[CharCodes.Semi = 59] = "Semi", CharCodes[CharCodes.Lt = 60] = "Lt", CharCodes[CharCodes.Eq = 61] = "Eq", CharCodes[CharCodes.Gt = 62] = "Gt", CharCodes[CharCodes.Questionmark = 63] = "Questionmark", CharCodes[CharCodes.UpperA = 65] = "UpperA", CharCodes[CharCodes.LowerA = 97] = "LowerA", CharCodes[CharCodes.UpperF = 70] = "UpperF", CharCodes[CharCodes.LowerF = 102] = "LowerF", CharCodes[CharCodes.UpperZ = 90] = "UpperZ", CharCodes[CharCodes.LowerZ = 122] = "LowerZ", CharCodes[CharCodes.LowerX = 120] = "LowerX", CharCodes[CharCodes.OpeningSquareBracket = 91] = "OpeningSquareBracket"
|
|
}(CharCodes || (CharCodes = {})),
|
|
function(State) {
|
|
State[State.Text = 1] = "Text", State[State.BeforeTagName = 2] = "BeforeTagName", State[State.InTagName = 3] = "InTagName", State[State.InSelfClosingTag = 4] = "InSelfClosingTag", State[State.BeforeClosingTagName = 5] = "BeforeClosingTagName", State[State.InClosingTagName = 6] = "InClosingTagName", State[State.AfterClosingTagName = 7] = "AfterClosingTagName", State[State.BeforeAttributeName = 8] = "BeforeAttributeName", State[State.InAttributeName = 9] = "InAttributeName", State[State.AfterAttributeName = 10] = "AfterAttributeName", State[State.BeforeAttributeValue = 11] = "BeforeAttributeValue", State[State.InAttributeValueDq = 12] = "InAttributeValueDq", State[State.InAttributeValueSq = 13] = "InAttributeValueSq", State[State.InAttributeValueNq = 14] = "InAttributeValueNq", State[State.BeforeDeclaration = 15] = "BeforeDeclaration", State[State.InDeclaration = 16] = "InDeclaration", State[State.InProcessingInstruction = 17] = "InProcessingInstruction", State[State.BeforeComment = 18] = "BeforeComment", State[State.CDATASequence = 19] = "CDATASequence", State[State.InSpecialComment = 20] = "InSpecialComment", State[State.InCommentLike = 21] = "InCommentLike", State[State.BeforeSpecialS = 22] = "BeforeSpecialS", State[State.SpecialStartSequence = 23] = "SpecialStartSequence", State[State.InSpecialTag = 24] = "InSpecialTag", State[State.BeforeEntity = 25] = "BeforeEntity", State[State.BeforeNumericEntity = 26] = "BeforeNumericEntity", State[State.InNamedEntity = 27] = "InNamedEntity", State[State.InNumericEntity = 28] = "InNumericEntity", State[State.InHexEntity = 29] = "InHexEntity"
|
|
}(State || (State = {})),
|
|
function(QuoteType) {
|
|
QuoteType[QuoteType.NoValue = 0] = "NoValue", QuoteType[QuoteType.Unquoted = 1] = "Unquoted", QuoteType[QuoteType.Single = 2] = "Single", QuoteType[QuoteType.Double = 3] = "Double"
|
|
}(QuoteType = exports.QuoteType || (exports.QuoteType = {}));
|
|
var Sequences = {
|
|
Cdata: new Uint8Array([67, 68, 65, 84, 65, 91]),
|
|
CdataEnd: new Uint8Array([93, 93, 62]),
|
|
CommentEnd: new Uint8Array([45, 45, 62]),
|
|
ScriptEnd: new Uint8Array([60, 47, 115, 99, 114, 105, 112, 116]),
|
|
StyleEnd: new Uint8Array([60, 47, 115, 116, 121, 108, 101]),
|
|
TitleEnd: new Uint8Array([60, 47, 116, 105, 116, 108, 101])
|
|
},
|
|
Tokenizer = function() {
|
|
function Tokenizer(_a, cbs) {
|
|
var _b = _a.xmlMode,
|
|
xmlMode = void 0 !== _b && _b,
|
|
_c = _a.decodeEntities,
|
|
decodeEntities = void 0 === _c || _c;
|
|
this.cbs = cbs, this.state = State.Text, this.buffer = "", this.sectionStart = 0, this.index = 0, this.baseState = State.Text, this.isSpecial = !1, this.running = !0, this.offset = 0, this.currentSequence = void 0, this.sequenceIndex = 0, this.trieIndex = 0, this.trieCurrent = 0, this.entityResult = 0, this.entityExcess = 0, this.xmlMode = xmlMode, this.decodeEntities = decodeEntities, this.entityTrie = xmlMode ? decode_js_1.xmlDecodeTree : decode_js_1.htmlDecodeTree
|
|
}
|
|
return Tokenizer.prototype.reset = function() {
|
|
this.state = State.Text, this.buffer = "", this.sectionStart = 0, this.index = 0, this.baseState = State.Text, this.currentSequence = void 0, this.running = !0, this.offset = 0
|
|
}, Tokenizer.prototype.write = function(chunk) {
|
|
this.offset += this.buffer.length, this.buffer = chunk, this.parse()
|
|
}, Tokenizer.prototype.end = function() {
|
|
this.running && this.finish()
|
|
}, Tokenizer.prototype.pause = function() {
|
|
this.running = !1
|
|
}, Tokenizer.prototype.resume = function() {
|
|
this.running = !0, this.index < this.buffer.length + this.offset && this.parse()
|
|
}, Tokenizer.prototype.getIndex = function() {
|
|
return this.index
|
|
}, Tokenizer.prototype.getSectionStart = function() {
|
|
return this.sectionStart
|
|
}, Tokenizer.prototype.stateText = function(c) {
|
|
c === CharCodes.Lt || !this.decodeEntities && this.fastForwardTo(CharCodes.Lt) ? (this.index > this.sectionStart && this.cbs.ontext(this.sectionStart, this.index), this.state = State.BeforeTagName, this.sectionStart = this.index) : this.decodeEntities && c === CharCodes.Amp && (this.state = State.BeforeEntity)
|
|
}, Tokenizer.prototype.stateSpecialStartSequence = function(c) {
|
|
var isEnd = this.sequenceIndex === this.currentSequence.length;
|
|
if (isEnd ? isEndOfTagSection(c) : (32 | c) === this.currentSequence[this.sequenceIndex]) {
|
|
if (!isEnd) return void this.sequenceIndex++
|
|
} else this.isSpecial = !1;
|
|
this.sequenceIndex = 0, this.state = State.InTagName, this.stateInTagName(c)
|
|
}, Tokenizer.prototype.stateInSpecialTag = function(c) {
|
|
if (this.sequenceIndex === this.currentSequence.length) {
|
|
if (c === CharCodes.Gt || isWhitespace(c)) {
|
|
var endOfText = this.index - this.currentSequence.length;
|
|
if (this.sectionStart < endOfText) {
|
|
var actualIndex = this.index;
|
|
this.index = endOfText, this.cbs.ontext(this.sectionStart, endOfText), this.index = actualIndex
|
|
}
|
|
return this.isSpecial = !1, this.sectionStart = endOfText + 2, void this.stateInClosingTagName(c)
|
|
}
|
|
this.sequenceIndex = 0
|
|
}(32 | c) === this.currentSequence[this.sequenceIndex] ? this.sequenceIndex += 1 : 0 === this.sequenceIndex ? this.currentSequence === Sequences.TitleEnd ? this.decodeEntities && c === CharCodes.Amp && (this.state = State.BeforeEntity) : this.fastForwardTo(CharCodes.Lt) && (this.sequenceIndex = 1) : this.sequenceIndex = Number(c === CharCodes.Lt)
|
|
}, Tokenizer.prototype.stateCDATASequence = function(c) {
|
|
c === Sequences.Cdata[this.sequenceIndex] ? ++this.sequenceIndex === Sequences.Cdata.length && (this.state = State.InCommentLike, this.currentSequence = Sequences.CdataEnd, this.sequenceIndex = 0, this.sectionStart = this.index + 1) : (this.sequenceIndex = 0, this.state = State.InDeclaration, this.stateInDeclaration(c))
|
|
}, Tokenizer.prototype.fastForwardTo = function(c) {
|
|
for (; ++this.index < this.buffer.length + this.offset;)
|
|
if (this.buffer.charCodeAt(this.index - this.offset) === c) return !0;
|
|
return this.index = this.buffer.length + this.offset - 1, !1
|
|
}, Tokenizer.prototype.stateInCommentLike = function(c) {
|
|
c === this.currentSequence[this.sequenceIndex] ? ++this.sequenceIndex === this.currentSequence.length && (this.currentSequence === Sequences.CdataEnd ? this.cbs.oncdata(this.sectionStart, this.index, 2) : this.cbs.oncomment(this.sectionStart, this.index, 2), this.sequenceIndex = 0, this.sectionStart = this.index + 1, this.state = State.Text) : 0 === this.sequenceIndex ? this.fastForwardTo(this.currentSequence[0]) && (this.sequenceIndex = 1) : c !== this.currentSequence[this.sequenceIndex - 1] && (this.sequenceIndex = 0)
|
|
}, Tokenizer.prototype.isTagStartChar = function(c) {
|
|
return this.xmlMode ? !isEndOfTagSection(c) : function(c) {
|
|
return c >= CharCodes.LowerA && c <= CharCodes.LowerZ || c >= CharCodes.UpperA && c <= CharCodes.UpperZ
|
|
}(c)
|
|
}, Tokenizer.prototype.startSpecial = function(sequence, offset) {
|
|
this.isSpecial = !0, this.currentSequence = sequence, this.sequenceIndex = offset, this.state = State.SpecialStartSequence
|
|
}, Tokenizer.prototype.stateBeforeTagName = function(c) {
|
|
if (c === CharCodes.ExclamationMark) this.state = State.BeforeDeclaration, this.sectionStart = this.index + 1;
|
|
else if (c === CharCodes.Questionmark) this.state = State.InProcessingInstruction, this.sectionStart = this.index + 1;
|
|
else if (this.isTagStartChar(c)) {
|
|
var lower = 32 | c;
|
|
this.sectionStart = this.index, this.xmlMode || lower !== Sequences.TitleEnd[2] ? this.state = this.xmlMode || lower !== Sequences.ScriptEnd[2] ? State.InTagName : State.BeforeSpecialS : this.startSpecial(Sequences.TitleEnd, 3)
|
|
} else c === CharCodes.Slash ? this.state = State.BeforeClosingTagName : (this.state = State.Text, this.stateText(c))
|
|
}, Tokenizer.prototype.stateInTagName = function(c) {
|
|
isEndOfTagSection(c) && (this.cbs.onopentagname(this.sectionStart, this.index), this.sectionStart = -1, this.state = State.BeforeAttributeName, this.stateBeforeAttributeName(c))
|
|
}, Tokenizer.prototype.stateBeforeClosingTagName = function(c) {
|
|
isWhitespace(c) || (c === CharCodes.Gt ? this.state = State.Text : (this.state = this.isTagStartChar(c) ? State.InClosingTagName : State.InSpecialComment, this.sectionStart = this.index))
|
|
}, Tokenizer.prototype.stateInClosingTagName = function(c) {
|
|
(c === CharCodes.Gt || isWhitespace(c)) && (this.cbs.onclosetag(this.sectionStart, this.index), this.sectionStart = -1, this.state = State.AfterClosingTagName, this.stateAfterClosingTagName(c))
|
|
}, Tokenizer.prototype.stateAfterClosingTagName = function(c) {
|
|
(c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) && (this.state = State.Text, this.baseState = State.Text, this.sectionStart = this.index + 1)
|
|
}, Tokenizer.prototype.stateBeforeAttributeName = function(c) {
|
|
c === CharCodes.Gt ? (this.cbs.onopentagend(this.index), this.isSpecial ? (this.state = State.InSpecialTag, this.sequenceIndex = 0) : this.state = State.Text, this.baseState = this.state, this.sectionStart = this.index + 1) : c === CharCodes.Slash ? this.state = State.InSelfClosingTag : isWhitespace(c) || (this.state = State.InAttributeName, this.sectionStart = this.index)
|
|
}, Tokenizer.prototype.stateInSelfClosingTag = function(c) {
|
|
c === CharCodes.Gt ? (this.cbs.onselfclosingtag(this.index), this.state = State.Text, this.baseState = State.Text, this.sectionStart = this.index + 1, this.isSpecial = !1) : isWhitespace(c) || (this.state = State.BeforeAttributeName, this.stateBeforeAttributeName(c))
|
|
}, Tokenizer.prototype.stateInAttributeName = function(c) {
|
|
(c === CharCodes.Eq || isEndOfTagSection(c)) && (this.cbs.onattribname(this.sectionStart, this.index), this.sectionStart = -1, this.state = State.AfterAttributeName, this.stateAfterAttributeName(c))
|
|
}, Tokenizer.prototype.stateAfterAttributeName = function(c) {
|
|
c === CharCodes.Eq ? this.state = State.BeforeAttributeValue : c === CharCodes.Slash || c === CharCodes.Gt ? (this.cbs.onattribend(QuoteType.NoValue, this.index), this.state = State.BeforeAttributeName, this.stateBeforeAttributeName(c)) : isWhitespace(c) || (this.cbs.onattribend(QuoteType.NoValue, this.index), this.state = State.InAttributeName, this.sectionStart = this.index)
|
|
}, Tokenizer.prototype.stateBeforeAttributeValue = function(c) {
|
|
c === CharCodes.DoubleQuote ? (this.state = State.InAttributeValueDq, this.sectionStart = this.index + 1) : c === CharCodes.SingleQuote ? (this.state = State.InAttributeValueSq, this.sectionStart = this.index + 1) : isWhitespace(c) || (this.sectionStart = this.index, this.state = State.InAttributeValueNq, this.stateInAttributeValueNoQuotes(c))
|
|
}, Tokenizer.prototype.handleInAttributeValue = function(c, quote) {
|
|
c === quote || !this.decodeEntities && this.fastForwardTo(quote) ? (this.cbs.onattribdata(this.sectionStart, this.index), this.sectionStart = -1, this.cbs.onattribend(quote === CharCodes.DoubleQuote ? QuoteType.Double : QuoteType.Single, this.index), this.state = State.BeforeAttributeName) : this.decodeEntities && c === CharCodes.Amp && (this.baseState = this.state, this.state = State.BeforeEntity)
|
|
}, Tokenizer.prototype.stateInAttributeValueDoubleQuotes = function(c) {
|
|
this.handleInAttributeValue(c, CharCodes.DoubleQuote)
|
|
}, Tokenizer.prototype.stateInAttributeValueSingleQuotes = function(c) {
|
|
this.handleInAttributeValue(c, CharCodes.SingleQuote)
|
|
}, Tokenizer.prototype.stateInAttributeValueNoQuotes = function(c) {
|
|
isWhitespace(c) || c === CharCodes.Gt ? (this.cbs.onattribdata(this.sectionStart, this.index), this.sectionStart = -1, this.cbs.onattribend(QuoteType.Unquoted, this.index), this.state = State.BeforeAttributeName, this.stateBeforeAttributeName(c)) : this.decodeEntities && c === CharCodes.Amp && (this.baseState = this.state, this.state = State.BeforeEntity)
|
|
}, Tokenizer.prototype.stateBeforeDeclaration = function(c) {
|
|
c === CharCodes.OpeningSquareBracket ? (this.state = State.CDATASequence, this.sequenceIndex = 0) : this.state = c === CharCodes.Dash ? State.BeforeComment : State.InDeclaration
|
|
}, Tokenizer.prototype.stateInDeclaration = function(c) {
|
|
(c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) && (this.cbs.ondeclaration(this.sectionStart, this.index), this.state = State.Text, this.sectionStart = this.index + 1)
|
|
}, Tokenizer.prototype.stateInProcessingInstruction = function(c) {
|
|
(c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) && (this.cbs.onprocessinginstruction(this.sectionStart, this.index), this.state = State.Text, this.sectionStart = this.index + 1)
|
|
}, Tokenizer.prototype.stateBeforeComment = function(c) {
|
|
c === CharCodes.Dash ? (this.state = State.InCommentLike, this.currentSequence = Sequences.CommentEnd, this.sequenceIndex = 2, this.sectionStart = this.index + 1) : this.state = State.InDeclaration
|
|
}, Tokenizer.prototype.stateInSpecialComment = function(c) {
|
|
(c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) && (this.cbs.oncomment(this.sectionStart, this.index, 0), this.state = State.Text, this.sectionStart = this.index + 1)
|
|
}, Tokenizer.prototype.stateBeforeSpecialS = function(c) {
|
|
var lower = 32 | c;
|
|
lower === Sequences.ScriptEnd[3] ? this.startSpecial(Sequences.ScriptEnd, 4) : lower === Sequences.StyleEnd[3] ? this.startSpecial(Sequences.StyleEnd, 4) : (this.state = State.InTagName, this.stateInTagName(c))
|
|
}, Tokenizer.prototype.stateBeforeEntity = function(c) {
|
|
this.entityExcess = 1, this.entityResult = 0, c === CharCodes.Number ? this.state = State.BeforeNumericEntity : c === CharCodes.Amp || (this.trieIndex = 0, this.trieCurrent = this.entityTrie[0], this.state = State.InNamedEntity, this.stateInNamedEntity(c))
|
|
}, Tokenizer.prototype.stateInNamedEntity = function(c) {
|
|
if (this.entityExcess += 1, this.trieIndex = (0, decode_js_1.determineBranch)(this.entityTrie, this.trieCurrent, this.trieIndex + 1, c), this.trieIndex < 0) return this.emitNamedEntity(), void this.index--;
|
|
this.trieCurrent = this.entityTrie[this.trieIndex];
|
|
var masked = this.trieCurrent & decode_js_1.BinTrieFlags.VALUE_LENGTH;
|
|
if (masked) {
|
|
var valueLength = (masked >> 14) - 1;
|
|
if (this.allowLegacyEntity() || c === CharCodes.Semi) {
|
|
var entityStart = this.index - this.entityExcess + 1;
|
|
entityStart > this.sectionStart && this.emitPartial(this.sectionStart, entityStart), this.entityResult = this.trieIndex, this.trieIndex += valueLength, this.entityExcess = 0, this.sectionStart = this.index + 1, 0 === valueLength && this.emitNamedEntity()
|
|
} else this.trieIndex += valueLength
|
|
}
|
|
}, Tokenizer.prototype.emitNamedEntity = function() {
|
|
if (this.state = this.baseState, 0 !== this.entityResult) switch ((this.entityTrie[this.entityResult] & decode_js_1.BinTrieFlags.VALUE_LENGTH) >> 14) {
|
|
case 1:
|
|
this.emitCodePoint(this.entityTrie[this.entityResult] & ~decode_js_1.BinTrieFlags.VALUE_LENGTH);
|
|
break;
|
|
case 2:
|
|
this.emitCodePoint(this.entityTrie[this.entityResult + 1]);
|
|
break;
|
|
case 3:
|
|
this.emitCodePoint(this.entityTrie[this.entityResult + 1]), this.emitCodePoint(this.entityTrie[this.entityResult + 2])
|
|
}
|
|
}, Tokenizer.prototype.stateBeforeNumericEntity = function(c) {
|
|
(32 | c) === CharCodes.LowerX ? (this.entityExcess++, this.state = State.InHexEntity) : (this.state = State.InNumericEntity, this.stateInNumericEntity(c))
|
|
}, Tokenizer.prototype.emitNumericEntity = function(strict) {
|
|
var entityStart = this.index - this.entityExcess - 1;
|
|
entityStart + 2 + Number(this.state === State.InHexEntity) !== this.index && (entityStart > this.sectionStart && this.emitPartial(this.sectionStart, entityStart), this.sectionStart = this.index + Number(strict), this.emitCodePoint((0, decode_js_1.replaceCodePoint)(this.entityResult))), this.state = this.baseState
|
|
}, Tokenizer.prototype.stateInNumericEntity = function(c) {
|
|
c === CharCodes.Semi ? this.emitNumericEntity(!0) : isNumber(c) ? (this.entityResult = 10 * this.entityResult + (c - CharCodes.Zero), this.entityExcess++) : (this.allowLegacyEntity() ? this.emitNumericEntity(!1) : this.state = this.baseState, this.index--)
|
|
}, Tokenizer.prototype.stateInHexEntity = function(c) {
|
|
c === CharCodes.Semi ? this.emitNumericEntity(!0) : isNumber(c) ? (this.entityResult = 16 * this.entityResult + (c - CharCodes.Zero), this.entityExcess++) : ! function(c) {
|
|
return c >= CharCodes.UpperA && c <= CharCodes.UpperF || c >= CharCodes.LowerA && c <= CharCodes.LowerF
|
|
}(c) ? (this.allowLegacyEntity() ? this.emitNumericEntity(!1) : this.state = this.baseState, this.index--) : (this.entityResult = 16 * this.entityResult + ((32 | c) - CharCodes.LowerA + 10), this.entityExcess++)
|
|
}, Tokenizer.prototype.allowLegacyEntity = function() {
|
|
return !this.xmlMode && (this.baseState === State.Text || this.baseState === State.InSpecialTag)
|
|
}, Tokenizer.prototype.cleanup = function() {
|
|
this.running && this.sectionStart !== this.index && (this.state === State.Text || this.state === State.InSpecialTag && 0 === this.sequenceIndex ? (this.cbs.ontext(this.sectionStart, this.index), this.sectionStart = this.index) : this.state !== State.InAttributeValueDq && this.state !== State.InAttributeValueSq && this.state !== State.InAttributeValueNq || (this.cbs.onattribdata(this.sectionStart, this.index), this.sectionStart = this.index))
|
|
}, Tokenizer.prototype.shouldContinue = function() {
|
|
return this.index < this.buffer.length + this.offset && this.running
|
|
}, Tokenizer.prototype.parse = function() {
|
|
for (; this.shouldContinue();) {
|
|
var c = this.buffer.charCodeAt(this.index - this.offset);
|
|
switch (this.state) {
|
|
case State.Text:
|
|
this.stateText(c);
|
|
break;
|
|
case State.SpecialStartSequence:
|
|
this.stateSpecialStartSequence(c);
|
|
break;
|
|
case State.InSpecialTag:
|
|
this.stateInSpecialTag(c);
|
|
break;
|
|
case State.CDATASequence:
|
|
this.stateCDATASequence(c);
|
|
break;
|
|
case State.InAttributeValueDq:
|
|
this.stateInAttributeValueDoubleQuotes(c);
|
|
break;
|
|
case State.InAttributeName:
|
|
this.stateInAttributeName(c);
|
|
break;
|
|
case State.InCommentLike:
|
|
this.stateInCommentLike(c);
|
|
break;
|
|
case State.InSpecialComment:
|
|
this.stateInSpecialComment(c);
|
|
break;
|
|
case State.BeforeAttributeName:
|
|
this.stateBeforeAttributeName(c);
|
|
break;
|
|
case State.InTagName:
|
|
this.stateInTagName(c);
|
|
break;
|
|
case State.InClosingTagName:
|
|
this.stateInClosingTagName(c);
|
|
break;
|
|
case State.BeforeTagName:
|
|
this.stateBeforeTagName(c);
|
|
break;
|
|
case State.AfterAttributeName:
|
|
this.stateAfterAttributeName(c);
|
|
break;
|
|
case State.InAttributeValueSq:
|
|
this.stateInAttributeValueSingleQuotes(c);
|
|
break;
|
|
case State.BeforeAttributeValue:
|
|
this.stateBeforeAttributeValue(c);
|
|
break;
|
|
case State.BeforeClosingTagName:
|
|
this.stateBeforeClosingTagName(c);
|
|
break;
|
|
case State.AfterClosingTagName:
|
|
this.stateAfterClosingTagName(c);
|
|
break;
|
|
case State.BeforeSpecialS:
|
|
this.stateBeforeSpecialS(c);
|
|
break;
|
|
case State.InAttributeValueNq:
|
|
this.stateInAttributeValueNoQuotes(c);
|
|
break;
|
|
case State.InSelfClosingTag:
|
|
this.stateInSelfClosingTag(c);
|
|
break;
|
|
case State.InDeclaration:
|
|
this.stateInDeclaration(c);
|
|
break;
|
|
case State.BeforeDeclaration:
|
|
this.stateBeforeDeclaration(c);
|
|
break;
|
|
case State.BeforeComment:
|
|
this.stateBeforeComment(c);
|
|
break;
|
|
case State.InProcessingInstruction:
|
|
this.stateInProcessingInstruction(c);
|
|
break;
|
|
case State.InNamedEntity:
|
|
this.stateInNamedEntity(c);
|
|
break;
|
|
case State.BeforeEntity:
|
|
this.stateBeforeEntity(c);
|
|
break;
|
|
case State.InHexEntity:
|
|
this.stateInHexEntity(c);
|
|
break;
|
|
case State.InNumericEntity:
|
|
this.stateInNumericEntity(c);
|
|
break;
|
|
default:
|
|
this.stateBeforeNumericEntity(c)
|
|
}
|
|
this.index++
|
|
}
|
|
this.cleanup()
|
|
}, Tokenizer.prototype.finish = function() {
|
|
this.state === State.InNamedEntity && this.emitNamedEntity(), this.sectionStart < this.index && this.handleTrailingData(), this.cbs.onend()
|
|
}, Tokenizer.prototype.handleTrailingData = function() {
|
|
var endIndex = this.buffer.length + this.offset;
|
|
this.state === State.InCommentLike ? this.currentSequence === Sequences.CdataEnd ? this.cbs.oncdata(this.sectionStart, endIndex, 0) : this.cbs.oncomment(this.sectionStart, endIndex, 0) : this.state === State.InNumericEntity && this.allowLegacyEntity() || this.state === State.InHexEntity && this.allowLegacyEntity() ? this.emitNumericEntity(!1) : this.state === State.InTagName || this.state === State.BeforeAttributeName || this.state === State.BeforeAttributeValue || this.state === State.AfterAttributeName || this.state === State.InAttributeName || this.state === State.InAttributeValueSq || this.state === State.InAttributeValueDq || this.state === State.InAttributeValueNq || this.state === State.InClosingTagName || this.cbs.ontext(this.sectionStart, endIndex)
|
|
}, Tokenizer.prototype.emitPartial = function(start, endIndex) {
|
|
this.baseState !== State.Text && this.baseState !== State.InSpecialTag ? this.cbs.onattribdata(start, endIndex) : this.cbs.ontext(start, endIndex)
|
|
}, Tokenizer.prototype.emitCodePoint = function(cp) {
|
|
this.baseState !== State.Text && this.baseState !== State.InSpecialTag ? this.cbs.onattribentity(cp) : this.cbs.ontextentity(cp)
|
|
}, Tokenizer
|
|
}();
|
|
exports.default = Tokenizer
|
|
},
|
|
29362: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var required = __webpack_require__(11905),
|
|
qs = __webpack_require__(13330),
|
|
controlOrWhitespace = /^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,
|
|
CRHTLF = /[\n\r\t]/g,
|
|
slashes = /^[A-Za-z][A-Za-z0-9+-.]*:\/\//,
|
|
port = /:\d+$/,
|
|
protocolre = /^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i,
|
|
windowsDriveLetter = /^[a-zA-Z]:/;
|
|
|
|
function trimLeft(str) {
|
|
return (str || "").toString().replace(controlOrWhitespace, "")
|
|
}
|
|
var rules = [
|
|
["#", "hash"],
|
|
["?", "query"],
|
|
function(address, url) {
|
|
return isSpecial(url.protocol) ? address.replace(/\\/g, "/") : address
|
|
},
|
|
["/", "pathname"],
|
|
["@", "auth", 1],
|
|
[NaN, "host", void 0, 1, 1],
|
|
[/:(\d*)$/, "port", void 0, 1],
|
|
[NaN, "hostname", void 0, 1, 1]
|
|
],
|
|
ignore = {
|
|
hash: 1,
|
|
query: 1
|
|
};
|
|
|
|
function lolcation(loc) {
|
|
var key, location = ("undefined" != typeof window ? window : void 0 !== __webpack_require__.g ? __webpack_require__.g : "undefined" != typeof self ? self : {}).location || {},
|
|
finaldestination = {},
|
|
type = typeof(loc = loc || location);
|
|
if ("blob:" === loc.protocol) finaldestination = new Url(unescape(loc.pathname), {});
|
|
else if ("string" === type)
|
|
for (key in finaldestination = new Url(loc, {}), ignore) delete finaldestination[key];
|
|
else if ("object" === type) {
|
|
for (key in loc) key in ignore || (finaldestination[key] = loc[key]);
|
|
void 0 === finaldestination.slashes && (finaldestination.slashes = slashes.test(loc.href))
|
|
}
|
|
return finaldestination
|
|
}
|
|
|
|
function isSpecial(scheme) {
|
|
return "file:" === scheme || "ftp:" === scheme || "http:" === scheme || "https:" === scheme || "ws:" === scheme || "wss:" === scheme
|
|
}
|
|
|
|
function extractProtocol(address, location) {
|
|
address = (address = trimLeft(address)).replace(CRHTLF, ""), location = location || {};
|
|
var rest, match = protocolre.exec(address),
|
|
protocol = match[1] ? match[1].toLowerCase() : "",
|
|
forwardSlashes = !!match[2],
|
|
otherSlashes = !!match[3],
|
|
slashesCount = 0;
|
|
return forwardSlashes ? otherSlashes ? (rest = match[2] + match[3] + match[4], slashesCount = match[2].length + match[3].length) : (rest = match[2] + match[4], slashesCount = match[2].length) : otherSlashes ? (rest = match[3] + match[4], slashesCount = match[3].length) : rest = match[4], "file:" === protocol ? slashesCount >= 2 && (rest = rest.slice(2)) : isSpecial(protocol) ? rest = match[4] : protocol ? forwardSlashes && (rest = rest.slice(2)) : slashesCount >= 2 && isSpecial(location.protocol) && (rest = match[4]), {
|
|
protocol,
|
|
slashes: forwardSlashes || isSpecial(protocol),
|
|
slashesCount,
|
|
rest
|
|
}
|
|
}
|
|
|
|
function Url(address, location, parser) {
|
|
if (address = (address = trimLeft(address)).replace(CRHTLF, ""), !(this instanceof Url)) return new Url(address, location, parser);
|
|
var relative, extracted, parse, instruction, index, key, instructions = rules.slice(),
|
|
type = typeof location,
|
|
url = this,
|
|
i = 0;
|
|
for ("object" !== type && "string" !== type && (parser = location, location = null), parser && "function" != typeof parser && (parser = qs.parse), relative = !(extracted = extractProtocol(address || "", location = lolcation(location))).protocol && !extracted.slashes, url.slashes = extracted.slashes || relative && location.slashes, url.protocol = extracted.protocol || location.protocol || "", address = extracted.rest, ("file:" === extracted.protocol && (2 !== extracted.slashesCount || windowsDriveLetter.test(address)) || !extracted.slashes && (extracted.protocol || extracted.slashesCount < 2 || !isSpecial(url.protocol))) && (instructions[3] = [/(.*)/, "pathname"]); i < instructions.length; i++) "function" != typeof(instruction = instructions[i]) ? (parse = instruction[0], key = instruction[1], parse != parse ? url[key] = address : "string" == typeof parse ? ~(index = "@" === parse ? address.lastIndexOf(parse) : address.indexOf(parse)) && ("number" == typeof instruction[2] ? (url[key] = address.slice(0, index), address = address.slice(index + instruction[2])) : (url[key] = address.slice(index), address = address.slice(0, index))) : (index = parse.exec(address)) && (url[key] = index[1], address = address.slice(0, index.index)), url[key] = url[key] || relative && instruction[3] && location[key] || "", instruction[4] && (url[key] = url[key].toLowerCase())) : address = instruction(address, url);
|
|
parser && (url.query = parser(url.query)), relative && location.slashes && "/" !== url.pathname.charAt(0) && ("" !== url.pathname || "" !== location.pathname) && (url.pathname = function(relative, base) {
|
|
if ("" === relative) return base;
|
|
for (var path = (base || "/").split("/").slice(0, -1).concat(relative.split("/")), i = path.length, last = path[i - 1], unshift = !1, up = 0; i--;) "." === path[i] ? path.splice(i, 1) : ".." === path[i] ? (path.splice(i, 1), up++) : up && (0 === i && (unshift = !0), path.splice(i, 1), up--);
|
|
return unshift && path.unshift(""), "." !== last && ".." !== last || path.push(""), path.join("/")
|
|
}(url.pathname, location.pathname)), "/" !== url.pathname.charAt(0) && isSpecial(url.protocol) && (url.pathname = "/" + url.pathname), required(url.port, url.protocol) || (url.host = url.hostname, url.port = ""), url.username = url.password = "", url.auth && (~(index = url.auth.indexOf(":")) ? (url.username = url.auth.slice(0, index), url.username = encodeURIComponent(decodeURIComponent(url.username)), url.password = url.auth.slice(index + 1), url.password = encodeURIComponent(decodeURIComponent(url.password))) : url.username = encodeURIComponent(decodeURIComponent(url.auth)), url.auth = url.password ? url.username + ":" + url.password : url.username), url.origin = "file:" !== url.protocol && isSpecial(url.protocol) && url.host ? url.protocol + "//" + url.host : "null", url.href = url.toString()
|
|
}
|
|
Url.prototype = {
|
|
set: function(part, value, fn) {
|
|
var url = this;
|
|
switch (part) {
|
|
case "query":
|
|
"string" == typeof value && value.length && (value = (fn || qs.parse)(value)), url[part] = value;
|
|
break;
|
|
case "port":
|
|
url[part] = value, required(value, url.protocol) ? value && (url.host = url.hostname + ":" + value) : (url.host = url.hostname, url[part] = "");
|
|
break;
|
|
case "hostname":
|
|
url[part] = value, url.port && (value += ":" + url.port), url.host = value;
|
|
break;
|
|
case "host":
|
|
url[part] = value, port.test(value) ? (value = value.split(":"), url.port = value.pop(), url.hostname = value.join(":")) : (url.hostname = value, url.port = "");
|
|
break;
|
|
case "protocol":
|
|
url.protocol = value.toLowerCase(), url.slashes = !fn;
|
|
break;
|
|
case "pathname":
|
|
case "hash":
|
|
if (value) {
|
|
var char = "pathname" === part ? "/" : "#";
|
|
url[part] = value.charAt(0) !== char ? char + value : value
|
|
} else url[part] = value;
|
|
break;
|
|
case "username":
|
|
case "password":
|
|
url[part] = encodeURIComponent(value);
|
|
break;
|
|
case "auth":
|
|
var index = value.indexOf(":");
|
|
~index ? (url.username = value.slice(0, index), url.username = encodeURIComponent(decodeURIComponent(url.username)), url.password = value.slice(index + 1), url.password = encodeURIComponent(decodeURIComponent(url.password))) : url.username = encodeURIComponent(decodeURIComponent(value))
|
|
}
|
|
for (var i = 0; i < rules.length; i++) {
|
|
var ins = rules[i];
|
|
ins[4] && (url[ins[1]] = url[ins[1]].toLowerCase())
|
|
}
|
|
return url.auth = url.password ? url.username + ":" + url.password : url.username, url.origin = "file:" !== url.protocol && isSpecial(url.protocol) && url.host ? url.protocol + "//" + url.host : "null", url.href = url.toString(), url
|
|
},
|
|
toString: function(stringify) {
|
|
stringify && "function" == typeof stringify || (stringify = qs.stringify);
|
|
var query, url = this,
|
|
host = url.host,
|
|
protocol = url.protocol;
|
|
protocol && ":" !== protocol.charAt(protocol.length - 1) && (protocol += ":");
|
|
var result = protocol + (url.protocol && url.slashes || isSpecial(url.protocol) ? "//" : "");
|
|
return url.username ? (result += url.username, url.password && (result += ":" + url.password), result += "@") : url.password ? (result += ":" + url.password, result += "@") : "file:" !== url.protocol && isSpecial(url.protocol) && !host && "/" !== url.pathname && (result += "@"), (":" === host[host.length - 1] || port.test(url.hostname) && !url.port) && (host += ":"), result += host + url.pathname, (query = "object" == typeof url.query ? stringify(url.query) : url.query) && (result += "?" !== query.charAt(0) ? "?" + query : query), url.hash && (result += url.hash), result
|
|
}
|
|
}, Url.extractProtocol = extractProtocol, Url.location = lolcation, Url.trimLeft = trimLeft, Url.qs = qs, module.exports = Url
|
|
},
|
|
29892: module => {
|
|
"use strict";
|
|
var _slicedToArray = function(arr, i) {
|
|
if (Array.isArray(arr)) return arr;
|
|
if (Symbol.iterator in Object(arr)) return function(arr, i) {
|
|
var _arr = [],
|
|
_n = !0,
|
|
_d = !1,
|
|
_e = void 0;
|
|
try {
|
|
for (var _s, _i = arr[Symbol.iterator](); !(_n = (_s = _i.next()).done) && (_arr.push(_s.value), !i || _arr.length !== i); _n = !0);
|
|
} catch (err) {
|
|
_d = !0, _e = err
|
|
} finally {
|
|
try {
|
|
!_n && _i.return && _i.return()
|
|
} finally {
|
|
if (_d) throw _e
|
|
}
|
|
}
|
|
return _arr
|
|
}(arr, i);
|
|
throw new TypeError("Invalid attempt to destructure non-iterable instance")
|
|
};
|
|
|
|
function _toArray(arr) {
|
|
return Array.isArray(arr) ? arr : Array.from(arr)
|
|
}
|
|
|
|
function _toConsumableArray(arr) {
|
|
if (Array.isArray(arr)) {
|
|
for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
|
|
return arr2
|
|
}
|
|
return Array.from(arr)
|
|
}
|
|
var currentTransitionMap = null;
|
|
|
|
function sameRow(r1, r2) {
|
|
if (!r2) return !1;
|
|
if (r1.length !== r2.length) return !1;
|
|
for (var i = 0; i < r1.length; i++) {
|
|
var s1 = r1[i],
|
|
s2 = r2[i];
|
|
if (s1.size !== s2.size) return !1;
|
|
if ([].concat(_toConsumableArray(s1)).sort().join(",") !== [].concat(_toConsumableArray(s2)).sort().join(",")) return !1
|
|
}
|
|
return !0
|
|
}
|
|
|
|
function areEquivalent(s1, s2, table, alphabet) {
|
|
var _iteratorNormalCompletion8 = !0,
|
|
_didIteratorError8 = !1,
|
|
_iteratorError8 = void 0;
|
|
try {
|
|
for (var _step8, _iterator8 = alphabet[Symbol.iterator](); !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = !0) {
|
|
if (!goToSameSet(s1, s2, table, _step8.value)) return !1
|
|
}
|
|
} catch (err) {
|
|
_didIteratorError8 = !0, _iteratorError8 = err
|
|
} finally {
|
|
try {
|
|
!_iteratorNormalCompletion8 && _iterator8.return && _iterator8.return()
|
|
} finally {
|
|
if (_didIteratorError8) throw _iteratorError8
|
|
}
|
|
}
|
|
return !0
|
|
}
|
|
|
|
function goToSameSet(s1, s2, table, symbol) {
|
|
if (!currentTransitionMap[s1] || !currentTransitionMap[s2]) return !1;
|
|
var originalTransitionS1 = table[s1][symbol],
|
|
originalTransitionS2 = table[s2][symbol];
|
|
return !originalTransitionS1 && !originalTransitionS2 || currentTransitionMap[s1].has(originalTransitionS1) && currentTransitionMap[s2].has(originalTransitionS2)
|
|
}
|
|
module.exports = {
|
|
minimize: function(dfa) {
|
|
var table = dfa.getTransitionTable(),
|
|
allStates = Object.keys(table),
|
|
alphabet = dfa.getAlphabet(),
|
|
accepting = dfa.getAcceptingStateNumbers();
|
|
currentTransitionMap = {};
|
|
var nonAccepting = new Set;
|
|
allStates.forEach(function(state) {
|
|
state = Number(state), accepting.has(state) ? currentTransitionMap[state] = accepting : (nonAccepting.add(state), currentTransitionMap[state] = nonAccepting)
|
|
});
|
|
var all = [
|
|
[nonAccepting, accepting].filter(function(set) {
|
|
return set.size > 0
|
|
})
|
|
],
|
|
current = void 0,
|
|
previous = void 0;
|
|
current = all[all.length - 1], previous = all[all.length - 2];
|
|
for (var _loop = function() {
|
|
var newTransitionMap = {},
|
|
_iteratorNormalCompletion3 = !0,
|
|
_didIteratorError3 = !1,
|
|
_iteratorError3 = void 0;
|
|
try {
|
|
for (var _step3, _iterator3 = current[Symbol.iterator](); !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = !0) {
|
|
var _set = _step3.value,
|
|
handledStates = {},
|
|
_set2 = _toArray(_set),
|
|
first = _set2[0],
|
|
rest = _set2.slice(1);
|
|
handledStates[first] = new Set([first]);
|
|
var _iteratorNormalCompletion4 = !0,
|
|
_didIteratorError4 = !1,
|
|
_iteratorError4 = void 0;
|
|
try {
|
|
restSets: for (var _step4, _iterator4 = rest[Symbol.iterator](); !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = !0) {
|
|
var state = _step4.value,
|
|
_iteratorNormalCompletion5 = !0,
|
|
_didIteratorError5 = !1,
|
|
_iteratorError5 = void 0;
|
|
try {
|
|
for (var _step5, _iterator5 = Object.keys(handledStates)[Symbol.iterator](); !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = !0) {
|
|
var handledState = _step5.value;
|
|
if (areEquivalent(state, handledState, table, alphabet)) {
|
|
handledStates[handledState].add(state), handledStates[state] = handledStates[handledState];
|
|
continue restSets
|
|
}
|
|
}
|
|
} catch (err) {
|
|
_didIteratorError5 = !0, _iteratorError5 = err
|
|
} finally {
|
|
try {
|
|
!_iteratorNormalCompletion5 && _iterator5.return && _iterator5.return()
|
|
} finally {
|
|
if (_didIteratorError5) throw _iteratorError5
|
|
}
|
|
}
|
|
handledStates[state] = new Set([state])
|
|
}
|
|
}
|
|
catch (err) {
|
|
_didIteratorError4 = !0, _iteratorError4 = err
|
|
} finally {
|
|
try {
|
|
!_iteratorNormalCompletion4 && _iterator4.return && _iterator4.return()
|
|
} finally {
|
|
if (_didIteratorError4) throw _iteratorError4
|
|
}
|
|
}
|
|
Object.assign(newTransitionMap, handledStates)
|
|
}
|
|
} catch (err) {
|
|
_didIteratorError3 = !0, _iteratorError3 = err
|
|
} finally {
|
|
try {
|
|
!_iteratorNormalCompletion3 && _iterator3.return && _iterator3.return()
|
|
} finally {
|
|
if (_didIteratorError3) throw _iteratorError3
|
|
}
|
|
}
|
|
currentTransitionMap = newTransitionMap;
|
|
var newSets = new Set(Object.keys(newTransitionMap).map(function(state) {
|
|
return newTransitionMap[state]
|
|
}));
|
|
all.push([].concat(_toConsumableArray(newSets))), current = all[all.length - 1], previous = all[all.length - 2]
|
|
}; !sameRow(current, previous);) _loop();
|
|
var remaped = new Map,
|
|
idx = 1;
|
|
current.forEach(function(set) {
|
|
return remaped.set(set, idx++)
|
|
});
|
|
var minimizedTable = {},
|
|
minimizedAcceptingStates = new Set,
|
|
updateAcceptingStates = function(set, idx) {
|
|
var _iteratorNormalCompletion = !0,
|
|
_didIteratorError = !1,
|
|
_iteratorError = void 0;
|
|
try {
|
|
for (var _step, _iterator = set[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
var state = _step.value;
|
|
accepting.has(state) && minimizedAcceptingStates.add(idx)
|
|
}
|
|
} catch (err) {
|
|
_didIteratorError = !0, _iteratorError = err
|
|
} finally {
|
|
try {
|
|
!_iteratorNormalCompletion && _iterator.return && _iterator.return()
|
|
} finally {
|
|
if (_didIteratorError) throw _iteratorError
|
|
}
|
|
}
|
|
},
|
|
_iteratorNormalCompletion2 = !0,
|
|
_didIteratorError2 = !1,
|
|
_iteratorError2 = void 0;
|
|
try {
|
|
for (var _step2, _iterator2 = remaped.entries()[Symbol.iterator](); !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = !0) {
|
|
var _ref = _step2.value,
|
|
_ref2 = _slicedToArray(_ref, 2),
|
|
set = _ref2[0],
|
|
_idx = _ref2[1];
|
|
minimizedTable[_idx] = {};
|
|
var _iteratorNormalCompletion6 = !0,
|
|
_didIteratorError6 = !1,
|
|
_iteratorError6 = void 0;
|
|
try {
|
|
for (var _step6, _iterator6 = alphabet[Symbol.iterator](); !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = !0) {
|
|
var symbol = _step6.value;
|
|
updateAcceptingStates(set, _idx);
|
|
var originalTransition = void 0,
|
|
_iteratorNormalCompletion7 = !0,
|
|
_didIteratorError7 = !1,
|
|
_iteratorError7 = void 0;
|
|
try {
|
|
for (var _step7, _iterator7 = set[Symbol.iterator](); !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = !0) {
|
|
var originalState = _step7.value;
|
|
if (originalTransition = table[originalState][symbol]) break
|
|
}
|
|
} catch (err) {
|
|
_didIteratorError7 = !0, _iteratorError7 = err
|
|
} finally {
|
|
try {
|
|
!_iteratorNormalCompletion7 && _iterator7.return && _iterator7.return()
|
|
} finally {
|
|
if (_didIteratorError7) throw _iteratorError7
|
|
}
|
|
}
|
|
originalTransition && (minimizedTable[_idx][symbol] = remaped.get(currentTransitionMap[originalTransition]))
|
|
}
|
|
} catch (err) {
|
|
_didIteratorError6 = !0, _iteratorError6 = err
|
|
} finally {
|
|
try {
|
|
!_iteratorNormalCompletion6 && _iterator6.return && _iterator6.return()
|
|
} finally {
|
|
if (_didIteratorError6) throw _iteratorError6
|
|
}
|
|
}
|
|
}
|
|
} catch (err) {
|
|
_didIteratorError2 = !0, _iteratorError2 = err
|
|
} finally {
|
|
try {
|
|
!_iteratorNormalCompletion2 && _iterator2.return && _iterator2.return()
|
|
} finally {
|
|
if (_didIteratorError2) throw _iteratorError2
|
|
}
|
|
}
|
|
return dfa.setTransitionTable(minimizedTable), dfa.setAcceptingStateNumbers(minimizedAcceptingStates), dfa
|
|
}
|
|
}
|
|
},
|
|
29916: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), Object.defineProperty(exports, "checkElementAttibutes", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return _helpers.checkElementAttibutes
|
|
}
|
|
}), exports.getShapeScores = exports.getBestMatch = exports.default = void 0, Object.defineProperty(exports, "testContains", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return _helpers.testContains
|
|
}
|
|
}), Object.defineProperty(exports, "testMatch", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return _helpers.testMatch
|
|
}
|
|
});
|
|
var _helpers = __webpack_require__(6585);
|
|
const algos_SIMPLE = "SIMPLE",
|
|
algos_INVERSE = "INVERSE",
|
|
algos_EXPONENTIAL = "EXPONENTIAL",
|
|
entryTests = {
|
|
testIfSelectorIsUnique() {
|
|
throw new Error('"testIfSelectorIsUnique" is not supported')
|
|
},
|
|
testIfInnerTextContainsLength(test, element) {
|
|
const {
|
|
options: {
|
|
expected,
|
|
onlyVisibleText = !1
|
|
}
|
|
} = test, {
|
|
found
|
|
} = (0, _helpers.checkElementText)(expected, element, onlyVisibleText);
|
|
return {
|
|
found,
|
|
length: 1,
|
|
algo: algos_SIMPLE
|
|
}
|
|
},
|
|
testIfInnerTextContainsLengthWeighted(test, element) {
|
|
const {
|
|
options: {
|
|
expected,
|
|
onlyVisibleText = !1
|
|
}
|
|
} = test, {
|
|
found,
|
|
totalLength
|
|
} = (0, _helpers.checkElementText)(expected, element, onlyVisibleText);
|
|
return found ? {
|
|
found: !0,
|
|
length: totalLength,
|
|
algo: algos_INVERSE
|
|
} : {
|
|
found: !1,
|
|
algo: algos_SIMPLE
|
|
}
|
|
},
|
|
testIfInnerTextContainsLengthWeightedExponential(test, element) {
|
|
const {
|
|
options: {
|
|
expected,
|
|
onlyVisibleText = !1
|
|
}
|
|
} = test, {
|
|
found,
|
|
totalLength,
|
|
matchLength
|
|
} = (0, _helpers.checkElementText)(expected, element, onlyVisibleText);
|
|
return found ? {
|
|
found: !0,
|
|
length: totalLength - matchLength,
|
|
algo: algos_EXPONENTIAL
|
|
} : {
|
|
found: !1,
|
|
algo: algos_SIMPLE
|
|
}
|
|
},
|
|
testIfInnerHtmlContainsLength(test, element) {
|
|
const {
|
|
options: {
|
|
expected,
|
|
onlyVisibleHtml: onlyVisibleText = !1
|
|
}
|
|
} = test, {
|
|
found
|
|
} = (0, _helpers.checkElementHtml)(expected, element, onlyVisibleText);
|
|
return {
|
|
found,
|
|
length: 1,
|
|
algo: algos_SIMPLE
|
|
}
|
|
},
|
|
testIfAncestorAttrsContain(test, element) {
|
|
const {
|
|
options: {
|
|
expected,
|
|
generations
|
|
}
|
|
} = test;
|
|
let found = !1,
|
|
curElement = element.parentElement;
|
|
for (let i = 0; i < generations && curElement; i += 1) {
|
|
if ((0, _helpers.checkElementAttibutes)(expected, curElement)) {
|
|
found = !0;
|
|
break
|
|
}
|
|
curElement = curElement.parentElement
|
|
}
|
|
return {
|
|
found,
|
|
length: 1,
|
|
algo: algos_SIMPLE
|
|
}
|
|
},
|
|
testIfLabelContains(test, element) {
|
|
const {
|
|
options: {
|
|
expected,
|
|
onlyVisibleText = !1
|
|
}
|
|
} = test, {
|
|
found
|
|
} = (0, _helpers.testLabelContains)(expected, element, onlyVisibleText);
|
|
return {
|
|
found,
|
|
length: 1,
|
|
algo: algos_SIMPLE
|
|
}
|
|
},
|
|
testIfAttrMissing(test, element) {
|
|
const {
|
|
options: {
|
|
expected
|
|
}
|
|
} = test;
|
|
return {
|
|
found: !element.hasAttribute(expected),
|
|
length: 1,
|
|
algo: algos_SIMPLE
|
|
}
|
|
}
|
|
},
|
|
getShapeMatches = shape => Array.from(document.querySelectorAll("*")).map(element => {
|
|
const nodeId = element.getAttribute("data-honey_uq_ele_id"),
|
|
tagNameLowered = element.tagName.toLowerCase(),
|
|
attributes = Array.from(element.attributes).sort((a, b) => a.key > b.key ? 1 : a.key < b.key ? -1 : 0);
|
|
attributes.push({
|
|
name: "tag",
|
|
value: tagNameLowered
|
|
});
|
|
const matchedValues = {};
|
|
let foundZero = !1;
|
|
const matchedEntries = shape.shape.filter(entry => {
|
|
if (foundZero) return !1;
|
|
if (matchedValues[entry.value]) return !1;
|
|
let matchedEntry;
|
|
if ("data-honey_is_visible" === entry.scope) {
|
|
const expected = "true" === entry.value;
|
|
matchedEntry = (0, _helpers.isElementVisible)(element) === expected
|
|
} else matchedEntry = attributes.some(attribute => ((entry, attribute) => (!entry.scope || entry.scope === attribute.name) && (0, _helpers.testContains)(entry.value, attribute.value))(entry, attribute, (0, _helpers.shouldDebugNodeId)(nodeId)));
|
|
return !!matchedEntry && (matchedValues[entry.value] = !0, 0 === entry.weight && (foundZero = !0), !0)
|
|
});
|
|
if (!matchedEntries.length) return {
|
|
matchedEntries: [],
|
|
matchedTests: [],
|
|
nodeId
|
|
};
|
|
const matchedTests = (shape.tests || []).map(test => {
|
|
const {
|
|
options: {
|
|
matchWeight,
|
|
unMatchWeight
|
|
}
|
|
} = test;
|
|
if (foundZero) return null;
|
|
const {
|
|
found: matched,
|
|
length,
|
|
algo
|
|
} = ((test, element) => {
|
|
const {
|
|
method,
|
|
options: {
|
|
tags
|
|
}
|
|
} = test;
|
|
return !tags || tags.includes(element.tagName.toLowerCase()) ? entryTests[method](test, element) : {
|
|
found: !1,
|
|
length: 0,
|
|
algo: algos_SIMPLE
|
|
}
|
|
})(test, element);
|
|
return (matched && 0 === matchWeight || !matched && 0 === unMatchWeight) && (foundZero = !0), {
|
|
matched,
|
|
length,
|
|
algo,
|
|
test
|
|
}
|
|
}).filter(match => match);
|
|
return {
|
|
matchedEntries,
|
|
matchedTests,
|
|
nodeId,
|
|
element
|
|
}
|
|
}).filter(({
|
|
matchedEntries
|
|
}) => matchedEntries.length),
|
|
testAlgorithms = {
|
|
[algos_SIMPLE]: (matched, _, matchWeight, unMatchWeight) => matched ? matchWeight : unMatchWeight,
|
|
[algos_INVERSE]: (matched, length, matchWeight, unMatchWeight) => matched ? matchWeight / length : unMatchWeight,
|
|
[algos_EXPONENTIAL]: (matched, length, matchWeight, unMatchWeight) => matched ? unMatchWeight + (matchWeight - unMatchWeight) * .98 ** length : unMatchWeight
|
|
},
|
|
getShapeScores = matches => matches.map(({
|
|
matchedEntries,
|
|
matchedTests,
|
|
nodeId,
|
|
element
|
|
}) => {
|
|
const entriesScore = matchedEntries.reduce((acc, entry) => acc * entry.weight, 1);
|
|
if (!matchedEntries.some(entry => entry.weight >= 1)) return {
|
|
score: entriesScore,
|
|
nodeId
|
|
};
|
|
return {
|
|
score: matchedTests.reduce((acc, testResult) => {
|
|
const {
|
|
algo,
|
|
matched,
|
|
length,
|
|
test: {
|
|
options: {
|
|
matchWeight: matchWeightString,
|
|
unMatchWeight: unMatchWeightString
|
|
}
|
|
}
|
|
} = testResult, [matchWeight, unMatchWeight] = [matchWeightString, unMatchWeightString].map(string => parseFloat(string));
|
|
return testAlgorithms[algo](matched, length, matchWeight, unMatchWeight) * acc
|
|
}, entriesScore),
|
|
nodeId,
|
|
debugData: {
|
|
tagName: element.tagName,
|
|
textContent: element.textContent,
|
|
other: element.outerHTML
|
|
},
|
|
element
|
|
}
|
|
});
|
|
exports.getShapeScores = getShapeScores;
|
|
const getBestMatch = (matchesWithScores, shape = {}) => {
|
|
const {
|
|
scoreThreshold = 2
|
|
} = shape, filtered = matchesWithScores.filter(match => match.score > scoreThreshold);
|
|
return filtered.sort((a, b) => a.score < b.score ? 1 : a.score > b.score ? -1 : 0), filtered[0] || null
|
|
};
|
|
exports.getBestMatch = getBestMatch;
|
|
exports.default = shape => {
|
|
const matches = getShapeMatches(shape),
|
|
matchesWithScores = getShapeScores(matches);
|
|
return getBestMatch(matchesWithScores, shape).element
|
|
}
|
|
},
|
|
30186: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.sequence = exports.generate = exports.compile = exports.parse = void 0;
|
|
var parse_js_1 = __webpack_require__(75833);
|
|
Object.defineProperty(exports, "parse", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return parse_js_1.parse
|
|
}
|
|
});
|
|
var compile_js_1 = __webpack_require__(88047);
|
|
Object.defineProperty(exports, "compile", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return compile_js_1.compile
|
|
}
|
|
}), Object.defineProperty(exports, "generate", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return compile_js_1.generate
|
|
}
|
|
}), exports.default = function(formula) {
|
|
return (0, compile_js_1.compile)((0, parse_js_1.parse)(formula))
|
|
}, exports.sequence = function(formula) {
|
|
return (0, compile_js_1.generate)((0, parse_js_1.parse)(formula))
|
|
}
|
|
},
|
|
30310: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function(instance, scope) {
|
|
const ARRAY = instance.createNativeFunction(function(...args) {
|
|
const newArray = this.parent === instance.ARRAY ? this : instance.createObject(instance.ARRAY),
|
|
firstArt = args[0];
|
|
return 1 === args.length && "number" === firstArt.type ? (isNaN(_Instance.default.arrayIndex(firstArt)) && instance.throwException(instance.RANGE_ERROR, "Invalid array length"), newArray.length = firstArt.data) : (args.forEach((arg, i) => {
|
|
newArray.properties[i] = arg[i]
|
|
}), newArray.length = args.length), newArray
|
|
});
|
|
return instance.setCoreObject("ARRAY", ARRAY), instance.setProperty(scope, "Array", ARRAY, _Instance.default.READONLY_DESCRIPTOR), instance.setProperty(ARRAY, "isArray", instance.createNativeFunction(obj => instance.createPrimitive(_Instance.default.isa(obj, instance.ARRAY))), _Instance.default.NONENUMERABLE_DESCRIPTOR), instance.setNativeFunctionPrototype(ARRAY, "pop", function() {
|
|
if (!(this.length > 0)) return instance.UNDEFINED;
|
|
const value = this.properties[this.length - 1];
|
|
return delete this.properties[this.length - 1], this.length -= 1, value
|
|
}), instance.setNativeFunctionPrototype(ARRAY, "push", function(...args) {
|
|
return args.forEach(arg => {
|
|
this.properties[this.length] = arg, this.length += 1
|
|
}), instance.createPrimitive(this.length)
|
|
}), instance.setNativeFunctionPrototype(ARRAY, "shift", function() {
|
|
if (!(this.length > 0)) return instance.UNDEFINED;
|
|
const value = this.properties[0];
|
|
for (let i = 1; i < this.length; i += 1) this.properties[i - 1] = this.properties[i];
|
|
return this.length -= 1, delete this.properties[this.length], value
|
|
}), instance.setNativeFunctionPrototype(ARRAY, "unshift", function(...args) {
|
|
for (let i = this.length - 1; i >= 0; i -= 1) this.properties[i + args.length] = this.properties[i];
|
|
this.length += arguments.length;
|
|
for (let i = 0; i < args.length; i += 1) this.properties[i] = args[i];
|
|
return instance.createPrimitive(this.length)
|
|
}), instance.setNativeFunctionPrototype(ARRAY, "reverse", function() {
|
|
for (let i = 0; i < this.length / 2; i += 1) {
|
|
const tmp = this.properties[this.length - i - 1];
|
|
this.properties[this.length - i - 1] = this.properties[i], this.properties[i] = tmp
|
|
}
|
|
return this
|
|
}), instance.setNativeFunctionPrototype(ARRAY, "splice", function(inIndex, inHowMany, ...args) {
|
|
let index = getInt(inIndex, 0);
|
|
index = index < 0 ? Math.max(this.length + index, 0) : Math.min(index, this.length);
|
|
let howMany = getInt(inHowMany, 1 / 0);
|
|
howMany = Math.min(howMany, this.length - index);
|
|
const removed = instance.createObject(instance.ARRAY);
|
|
for (let i = index; i < index + howMany; i += 1) removed.properties[removed.length] = this.properties[i], removed.length += 1, this.properties[i] = this.properties[i + howMany];
|
|
for (let i = index + howMany; i < this.length - howMany; i += 1) this.properties[i] = this.properties[i + howMany];
|
|
for (let i = this.length - howMany; i < this.length; i += 1) delete this.properties[i];
|
|
this.length -= howMany;
|
|
for (let i = this.length - 1; i >= index; i -= 1) this.properties[i + args.length] = this.properties[i];
|
|
return this.length += args.length, args.forEach((arg, i) => {
|
|
this.properties[index + i] = arg
|
|
}), removed
|
|
}), instance.setNativeFunctionPrototype(ARRAY, "slice", function(optBegin, optEnd) {
|
|
let begin = getInt(optBegin, 0);
|
|
begin < 0 && (begin = this.length + begin), begin = Math.max(0, Math.min(begin, this.length));
|
|
let end = getInt(optEnd, this.length);
|
|
end < 0 && (end = this.length + end), end = Math.max(0, Math.min(end, this.length));
|
|
let length = 0;
|
|
const list = instance.createObject(instance.ARRAY);
|
|
for (let i = begin; i < end; i += 1) {
|
|
const element = instance.getProperty(this, i);
|
|
instance.setProperty(list, length, element), length += 1
|
|
}
|
|
return list
|
|
}), instance.setNativeFunctionPrototype(ARRAY, "join", function(optSeparator) {
|
|
const sep = optSeparator && void 0 !== optSeparator.data ? optSeparator.toString() : void 0,
|
|
text = [];
|
|
for (let i = 0; i < this.length; i += 1) text.push(this.properties[i]);
|
|
return instance.createPrimitive(text.join(sep))
|
|
}), instance.setNativeFunctionPrototype(ARRAY, "concat", function(...args) {
|
|
let length = 0;
|
|
const list = instance.createObject(instance.ARRAY);
|
|
for (let i = 0; i < this.length; i += 1) {
|
|
const element = instance.getProperty(this, i);
|
|
instance.setProperty(list, length, element), length += 1
|
|
}
|
|
return args.forEach(arg => {
|
|
if (_Instance.default.isa(arg, instance.ARRAY))
|
|
for (let i = 0; i < arg.length; i += 1) {
|
|
const element = instance.getProperty(arg, i);
|
|
instance.setProperty(list, length, element), length += 1
|
|
} else instance.setProperty(list, length, arg), length += 1
|
|
}), list
|
|
}), instance.setNativeFunctionPrototype(ARRAY, "indexOf", function(inSearchElement, optFromIndex) {
|
|
const searchElement = inSearchElement || instance.UNDEFINED;
|
|
let fromIndex = getInt(optFromIndex, 0);
|
|
fromIndex < 0 && (fromIndex = this.length + fromIndex), fromIndex = Math.max(0, fromIndex);
|
|
for (let i = fromIndex; i < this.length; i += 1) {
|
|
if (strictComp(instance.getProperty(this, i), searchElement)) return instance.createPrimitive(i)
|
|
}
|
|
return instance.createPrimitive(-1)
|
|
}), instance.setNativeFunctionPrototype(ARRAY, "lastIndexOf", function(inSearchElement, optFromIndex) {
|
|
const searchElement = inSearchElement || instance.UNDEFINED;
|
|
let fromIndex = getInt(optFromIndex, this.length);
|
|
fromIndex < 0 && (fromIndex = this.length + fromIndex), fromIndex = Math.min(fromIndex, this.length - 1);
|
|
for (let i = fromIndex; i >= 0; i -= 1) {
|
|
if (strictComp(instance.getProperty(this, i), searchElement)) return instance.createPrimitive(i)
|
|
}
|
|
return instance.createPrimitive(-1)
|
|
}), ARRAY
|
|
};
|
|
var _Instance = _interopRequireDefault(__webpack_require__(76352));
|
|
|
|
function getInt(obj, def) {
|
|
let n = obj ? Math.floor(obj.toNumber()) : def;
|
|
return isNaN(n) && (n = def), n
|
|
}
|
|
|
|
function strictComp(a, b) {
|
|
return a.isPrimitive && b.isPrimitive ? a.data === b.data : a === b
|
|
}
|
|
module.exports = exports.default
|
|
},
|
|
30373: module => {
|
|
"use strict";
|
|
module.exports = new Uint16Array([4, 52, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 106, 303, 412, 810, 1432, 1701, 1796, 1987, 2114, 2360, 2420, 2484, 3170, 3251, 4140, 4393, 4575, 4610, 5106, 5512, 5728, 6117, 6274, 6315, 6345, 6427, 6516, 7002, 7910, 8733, 9323, 9870, 10170, 10631, 10893, 11318, 11386, 11467, 12773, 13092, 14474, 14922, 15448, 15542, 16419, 17666, 18166, 18611, 19004, 19095, 19298, 19397, 4, 16, 69, 77, 97, 98, 99, 102, 103, 108, 109, 110, 111, 112, 114, 115, 116, 117, 140, 150, 158, 169, 176, 194, 199, 210, 216, 222, 226, 242, 256, 266, 283, 294, 108, 105, 103, 5, 198, 1, 59, 148, 1, 198, 80, 5, 38, 1, 59, 156, 1, 38, 99, 117, 116, 101, 5, 193, 1, 59, 167, 1, 193, 114, 101, 118, 101, 59, 1, 258, 4, 2, 105, 121, 182, 191, 114, 99, 5, 194, 1, 59, 189, 1, 194, 59, 1, 1040, 114, 59, 3, 55349, 56580, 114, 97, 118, 101, 5, 192, 1, 59, 208, 1, 192, 112, 104, 97, 59, 1, 913, 97, 99, 114, 59, 1, 256, 100, 59, 1, 10835, 4, 2, 103, 112, 232, 237, 111, 110, 59, 1, 260, 102, 59, 3, 55349, 56632, 112, 108, 121, 70, 117, 110, 99, 116, 105, 111, 110, 59, 1, 8289, 105, 110, 103, 5, 197, 1, 59, 264, 1, 197, 4, 2, 99, 115, 272, 277, 114, 59, 3, 55349, 56476, 105, 103, 110, 59, 1, 8788, 105, 108, 100, 101, 5, 195, 1, 59, 292, 1, 195, 109, 108, 5, 196, 1, 59, 301, 1, 196, 4, 8, 97, 99, 101, 102, 111, 114, 115, 117, 321, 350, 354, 383, 388, 394, 400, 405, 4, 2, 99, 114, 327, 336, 107, 115, 108, 97, 115, 104, 59, 1, 8726, 4, 2, 118, 119, 342, 345, 59, 1, 10983, 101, 100, 59, 1, 8966, 121, 59, 1, 1041, 4, 3, 99, 114, 116, 362, 369, 379, 97, 117, 115, 101, 59, 1, 8757, 110, 111, 117, 108, 108, 105, 115, 59, 1, 8492, 97, 59, 1, 914, 114, 59, 3, 55349, 56581, 112, 102, 59, 3, 55349, 56633, 101, 118, 101, 59, 1, 728, 99, 114, 59, 1, 8492, 109, 112, 101, 113, 59, 1, 8782, 4, 14, 72, 79, 97, 99, 100, 101, 102, 104, 105, 108, 111, 114, 115, 117, 442, 447, 456, 504, 542, 547, 569, 573, 577, 616, 678, 784, 790, 796, 99, 121, 59, 1, 1063, 80, 89, 5, 169, 1, 59, 454, 1, 169, 4, 3, 99, 112, 121, 464, 470, 497, 117, 116, 101, 59, 1, 262, 4, 2, 59, 105, 476, 478, 1, 8914, 116, 97, 108, 68, 105, 102, 102, 101, 114, 101, 110, 116, 105, 97, 108, 68, 59, 1, 8517, 108, 101, 121, 115, 59, 1, 8493, 4, 4, 97, 101, 105, 111, 514, 520, 530, 535, 114, 111, 110, 59, 1, 268, 100, 105, 108, 5, 199, 1, 59, 528, 1, 199, 114, 99, 59, 1, 264, 110, 105, 110, 116, 59, 1, 8752, 111, 116, 59, 1, 266, 4, 2, 100, 110, 553, 560, 105, 108, 108, 97, 59, 1, 184, 116, 101, 114, 68, 111, 116, 59, 1, 183, 114, 59, 1, 8493, 105, 59, 1, 935, 114, 99, 108, 101, 4, 4, 68, 77, 80, 84, 591, 596, 603, 609, 111, 116, 59, 1, 8857, 105, 110, 117, 115, 59, 1, 8854, 108, 117, 115, 59, 1, 8853, 105, 109, 101, 115, 59, 1, 8855, 111, 4, 2, 99, 115, 623, 646, 107, 119, 105, 115, 101, 67, 111, 110, 116, 111, 117, 114, 73, 110, 116, 101, 103, 114, 97, 108, 59, 1, 8754, 101, 67, 117, 114, 108, 121, 4, 2, 68, 81, 658, 671, 111, 117, 98, 108, 101, 81, 117, 111, 116, 101, 59, 1, 8221, 117, 111, 116, 101, 59, 1, 8217, 4, 4, 108, 110, 112, 117, 688, 701, 736, 753, 111, 110, 4, 2, 59, 101, 696, 698, 1, 8759, 59, 1, 10868, 4, 3, 103, 105, 116, 709, 717, 722, 114, 117, 101, 110, 116, 59, 1, 8801, 110, 116, 59, 1, 8751, 111, 117, 114, 73, 110, 116, 101, 103, 114, 97, 108, 59, 1, 8750, 4, 2, 102, 114, 742, 745, 59, 1, 8450, 111, 100, 117, 99, 116, 59, 1, 8720, 110, 116, 101, 114, 67, 108, 111, 99, 107, 119, 105, 115, 101, 67, 111, 110, 116, 111, 117, 114, 73, 110, 116, 101, 103, 114, 97, 108, 59, 1, 8755, 111, 115, 115, 59, 1, 10799, 99, 114, 59, 3, 55349, 56478, 112, 4, 2, 59, 67, 803, 805, 1, 8915, 97, 112, 59, 1, 8781, 4, 11, 68, 74, 83, 90, 97, 99, 101, 102, 105, 111, 115, 834, 850, 855, 860, 865, 888, 903, 916, 921, 1011, 1415, 4, 2, 59, 111, 840, 842, 1, 8517, 116, 114, 97, 104, 100, 59, 1, 10513, 99, 121, 59, 1, 1026, 99, 121, 59, 1, 1029, 99, 121, 59, 1, 1039, 4, 3, 103, 114, 115, 873, 879, 883, 103, 101, 114, 59, 1, 8225, 114, 59, 1, 8609, 104, 118, 59, 1, 10980, 4, 2, 97, 121, 894, 900, 114, 111, 110, 59, 1, 270, 59, 1, 1044, 108, 4, 2, 59, 116, 910, 912, 1, 8711, 97, 59, 1, 916, 114, 59, 3, 55349, 56583, 4, 2, 97, 102, 927, 998, 4, 2, 99, 109, 933, 992, 114, 105, 116, 105, 99, 97, 108, 4, 4, 65, 68, 71, 84, 950, 957, 978, 985, 99, 117, 116, 101, 59, 1, 180, 111, 4, 2, 116, 117, 964, 967, 59, 1, 729, 98, 108, 101, 65, 99, 117, 116, 101, 59, 1, 733, 114, 97, 118, 101, 59, 1, 96, 105, 108, 100, 101, 59, 1, 732, 111, 110, 100, 59, 1, 8900, 102, 101, 114, 101, 110, 116, 105, 97, 108, 68, 59, 1, 8518, 4, 4, 112, 116, 117, 119, 1021, 1026, 1048, 1249, 102, 59, 3, 55349, 56635, 4, 3, 59, 68, 69, 1034, 1036, 1041, 1, 168, 111, 116, 59, 1, 8412, 113, 117, 97, 108, 59, 1, 8784, 98, 108, 101, 4, 6, 67, 68, 76, 82, 85, 86, 1065, 1082, 1101, 1189, 1211, 1236, 111, 110, 116, 111, 117, 114, 73, 110, 116, 101, 103, 114, 97, 108, 59, 1, 8751, 111, 4, 2, 116, 119, 1089, 1092, 59, 1, 168, 110, 65, 114, 114, 111, 119, 59, 1, 8659, 4, 2, 101, 111, 1107, 1141, 102, 116, 4, 3, 65, 82, 84, 1117, 1124, 1136, 114, 114, 111, 119, 59, 1, 8656, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 1, 8660, 101, 101, 59, 1, 10980, 110, 103, 4, 2, 76, 82, 1149, 1177, 101, 102, 116, 4, 2, 65, 82, 1158, 1165, 114, 114, 111, 119, 59, 1, 10232, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 1, 10234, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 1, 10233, 105, 103, 104, 116, 4, 2, 65, 84, 1199, 1206, 114, 114, 111, 119, 59, 1, 8658, 101, 101, 59, 1, 8872, 112, 4, 2, 65, 68, 1218, 1225, 114, 114, 111, 119, 59, 1, 8657, 111, 119, 110, 65, 114, 114, 111, 119, 59, 1, 8661, 101, 114, 116, 105, 99, 97, 108, 66, 97, 114, 59, 1, 8741, 110, 4, 6, 65, 66, 76, 82, 84, 97, 1264, 1292, 1299, 1352, 1391, 1408, 114, 114, 111, 119, 4, 3, 59, 66, 85, 1276, 1278, 1283, 1, 8595, 97, 114, 59, 1, 10515, 112, 65, 114, 114, 111, 119, 59, 1, 8693, 114, 101, 118, 101, 59, 1, 785, 101, 102, 116, 4, 3, 82, 84, 86, 1310, 1323, 1334, 105, 103, 104, 116, 86, 101, 99, 116, 111, 114, 59, 1, 10576, 101, 101, 86, 101, 99, 116, 111, 114, 59, 1, 10590, 101, 99, 116, 111, 114, 4, 2, 59, 66, 1345, 1347, 1, 8637, 97, 114, 59, 1, 10582, 105, 103, 104, 116, 4, 2, 84, 86, 1362, 1373, 101, 101, 86, 101, 99, 116, 111, 114, 59, 1, 10591, 101, 99, 116, 111, 114, 4, 2, 59, 66, 1384, 1386, 1, 8641, 97, 114, 59, 1, 10583, 101, 101, 4, 2, 59, 65, 1399, 1401, 1, 8868, 114, 114, 111, 119, 59, 1, 8615, 114, 114, 111, 119, 59, 1, 8659, 4, 2, 99, 116, 1421, 1426, 114, 59, 3, 55349, 56479, 114, 111, 107, 59, 1, 272, 4, 16, 78, 84, 97, 99, 100, 102, 103, 108, 109, 111, 112, 113, 115, 116, 117, 120, 1466, 1470, 1478, 1489, 1515, 1520, 1525, 1536, 1544, 1593, 1609, 1617, 1650, 1664, 1668, 1677, 71, 59, 1, 330, 72, 5, 208, 1, 59, 1476, 1, 208, 99, 117, 116, 101, 5, 201, 1, 59, 1487, 1, 201, 4, 3, 97, 105, 121, 1497, 1503, 1512, 114, 111, 110, 59, 1, 282, 114, 99, 5, 202, 1, 59, 1510, 1, 202, 59, 1, 1069, 111, 116, 59, 1, 278, 114, 59, 3, 55349, 56584, 114, 97, 118, 101, 5, 200, 1, 59, 1534, 1, 200, 101, 109, 101, 110, 116, 59, 1, 8712, 4, 2, 97, 112, 1550, 1555, 99, 114, 59, 1, 274, 116, 121, 4, 2, 83, 86, 1563, 1576, 109, 97, 108, 108, 83, 113, 117, 97, 114, 101, 59, 1, 9723, 101, 114, 121, 83, 109, 97, 108, 108, 83, 113, 117, 97, 114, 101, 59, 1, 9643, 4, 2, 103, 112, 1599, 1604, 111, 110, 59, 1, 280, 102, 59, 3, 55349, 56636, 115, 105, 108, 111, 110, 59, 1, 917, 117, 4, 2, 97, 105, 1624, 1640, 108, 4, 2, 59, 84, 1631, 1633, 1, 10869, 105, 108, 100, 101, 59, 1, 8770, 108, 105, 98, 114, 105, 117, 109, 59, 1, 8652, 4, 2, 99, 105, 1656, 1660, 114, 59, 1, 8496, 109, 59, 1, 10867, 97, 59, 1, 919, 109, 108, 5, 203, 1, 59, 1675, 1, 203, 4, 2, 105, 112, 1683, 1689, 115, 116, 115, 59, 1, 8707, 111, 110, 101, 110, 116, 105, 97, 108, 69, 59, 1, 8519, 4, 5, 99, 102, 105, 111, 115, 1713, 1717, 1722, 1762, 1791, 121, 59, 1, 1060, 114, 59, 3, 55349, 56585, 108, 108, 101, 100, 4, 2, 83, 86, 1732, 1745, 109, 97, 108, 108, 83, 113, 117, 97, 114, 101, 59, 1, 9724, 101, 114, 121, 83, 109, 97, 108, 108, 83, 113, 117, 97, 114, 101, 59, 1, 9642, 4, 3, 112, 114, 117, 1770, 1775, 1781, 102, 59, 3, 55349, 56637, 65, 108, 108, 59, 1, 8704, 114, 105, 101, 114, 116, 114, 102, 59, 1, 8497, 99, 114, 59, 1, 8497, 4, 12, 74, 84, 97, 98, 99, 100, 102, 103, 111, 114, 115, 116, 1822, 1827, 1834, 1848, 1855, 1877, 1882, 1887, 1890, 1896, 1978, 1984, 99, 121, 59, 1, 1027, 5, 62, 1, 59, 1832, 1, 62, 109, 109, 97, 4, 2, 59, 100, 1843, 1845, 1, 915, 59, 1, 988, 114, 101, 118, 101, 59, 1, 286, 4, 3, 101, 105, 121, 1863, 1869, 1874, 100, 105, 108, 59, 1, 290, 114, 99, 59, 1, 284, 59, 1, 1043, 111, 116, 59, 1, 288, 114, 59, 3, 55349, 56586, 59, 1, 8921, 112, 102, 59, 3, 55349, 56638, 101, 97, 116, 101, 114, 4, 6, 69, 70, 71, 76, 83, 84, 1915, 1933, 1944, 1953, 1959, 1971, 113, 117, 97, 108, 4, 2, 59, 76, 1925, 1927, 1, 8805, 101, 115, 115, 59, 1, 8923, 117, 108, 108, 69, 113, 117, 97, 108, 59, 1, 8807, 114, 101, 97, 116, 101, 114, 59, 1, 10914, 101, 115, 115, 59, 1, 8823, 108, 97, 110, 116, 69, 113, 117, 97, 108, 59, 1, 10878, 105, 108, 100, 101, 59, 1, 8819, 99, 114, 59, 3, 55349, 56482, 59, 1, 8811, 4, 8, 65, 97, 99, 102, 105, 111, 115, 117, 2005, 2012, 2026, 2032, 2036, 2049, 2073, 2089, 82, 68, 99, 121, 59, 1, 1066, 4, 2, 99, 116, 2018, 2023, 101, 107, 59, 1, 711, 59, 1, 94, 105, 114, 99, 59, 1, 292, 114, 59, 1, 8460, 108, 98, 101, 114, 116, 83, 112, 97, 99, 101, 59, 1, 8459, 4, 2, 112, 114, 2055, 2059, 102, 59, 1, 8461, 105, 122, 111, 110, 116, 97, 108, 76, 105, 110, 101, 59, 1, 9472, 4, 2, 99, 116, 2079, 2083, 114, 59, 1, 8459, 114, 111, 107, 59, 1, 294, 109, 112, 4, 2, 68, 69, 2097, 2107, 111, 119, 110, 72, 117, 109, 112, 59, 1, 8782, 113, 117, 97, 108, 59, 1, 8783, 4, 14, 69, 74, 79, 97, 99, 100, 102, 103, 109, 110, 111, 115, 116, 117, 2144, 2149, 2155, 2160, 2171, 2189, 2194, 2198, 2209, 2245, 2307, 2329, 2334, 2341, 99, 121, 59, 1, 1045, 108, 105, 103, 59, 1, 306, 99, 121, 59, 1, 1025, 99, 117, 116, 101, 5, 205, 1, 59, 2169, 1, 205, 4, 2, 105, 121, 2177, 2186, 114, 99, 5, 206, 1, 59, 2184, 1, 206, 59, 1, 1048, 111, 116, 59, 1, 304, 114, 59, 1, 8465, 114, 97, 118, 101, 5, 204, 1, 59, 2207, 1, 204, 4, 3, 59, 97, 112, 2217, 2219, 2238, 1, 8465, 4, 2, 99, 103, 2225, 2229, 114, 59, 1, 298, 105, 110, 97, 114, 121, 73, 59, 1, 8520, 108, 105, 101, 115, 59, 1, 8658, 4, 2, 116, 118, 2251, 2281, 4, 2, 59, 101, 2257, 2259, 1, 8748, 4, 2, 103, 114, 2265, 2271, 114, 97, 108, 59, 1, 8747, 115, 101, 99, 116, 105, 111, 110, 59, 1, 8898, 105, 115, 105, 98, 108, 101, 4, 2, 67, 84, 2293, 2300, 111, 109, 109, 97, 59, 1, 8291, 105, 109, 101, 115, 59, 1, 8290, 4, 3, 103, 112, 116, 2315, 2320, 2325, 111, 110, 59, 1, 302, 102, 59, 3, 55349, 56640, 97, 59, 1, 921, 99, 114, 59, 1, 8464, 105, 108, 100, 101, 59, 1, 296, 4, 2, 107, 109, 2347, 2352, 99, 121, 59, 1, 1030, 108, 5, 207, 1, 59, 2358, 1, 207, 4, 5, 99, 102, 111, 115, 117, 2372, 2386, 2391, 2397, 2414, 4, 2, 105, 121, 2378, 2383, 114, 99, 59, 1, 308, 59, 1, 1049, 114, 59, 3, 55349, 56589, 112, 102, 59, 3, 55349, 56641, 4, 2, 99, 101, 2403, 2408, 114, 59, 3, 55349, 56485, 114, 99, 121, 59, 1, 1032, 107, 99, 121, 59, 1, 1028, 4, 7, 72, 74, 97, 99, 102, 111, 115, 2436, 2441, 2446, 2452, 2467, 2472, 2478, 99, 121, 59, 1, 1061, 99, 121, 59, 1, 1036, 112, 112, 97, 59, 1, 922, 4, 2, 101, 121, 2458, 2464, 100, 105, 108, 59, 1, 310, 59, 1, 1050, 114, 59, 3, 55349, 56590, 112, 102, 59, 3, 55349, 56642, 99, 114, 59, 3, 55349, 56486, 4, 11, 74, 84, 97, 99, 101, 102, 108, 109, 111, 115, 116, 2508, 2513, 2520, 2562, 2585, 2981, 2986, 3004, 3011, 3146, 3167, 99, 121, 59, 1, 1033, 5, 60, 1, 59, 2518, 1, 60, 4, 5, 99, 109, 110, 112, 114, 2532, 2538, 2544, 2548, 2558, 117, 116, 101, 59, 1, 313, 98, 100, 97, 59, 1, 923, 103, 59, 1, 10218, 108, 97, 99, 101, 116, 114, 102, 59, 1, 8466, 114, 59, 1, 8606, 4, 3, 97, 101, 121, 2570, 2576, 2582, 114, 111, 110, 59, 1, 317, 100, 105, 108, 59, 1, 315, 59, 1, 1051, 4, 2, 102, 115, 2591, 2907, 116, 4, 10, 65, 67, 68, 70, 82, 84, 85, 86, 97, 114, 2614, 2663, 2672, 2728, 2735, 2760, 2820, 2870, 2888, 2895, 4, 2, 110, 114, 2620, 2633, 103, 108, 101, 66, 114, 97, 99, 107, 101, 116, 59, 1, 10216, 114, 111, 119, 4, 3, 59, 66, 82, 2644, 2646, 2651, 1, 8592, 97, 114, 59, 1, 8676, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 1, 8646, 101, 105, 108, 105, 110, 103, 59, 1, 8968, 111, 4, 2, 117, 119, 2679, 2692, 98, 108, 101, 66, 114, 97, 99, 107, 101, 116, 59, 1, 10214, 110, 4, 2, 84, 86, 2699, 2710, 101, 101, 86, 101, 99, 116, 111, 114, 59, 1, 10593, 101, 99, 116, 111, 114, 4, 2, 59, 66, 2721, 2723, 1, 8643, 97, 114, 59, 1, 10585, 108, 111, 111, 114, 59, 1, 8970, 105, 103, 104, 116, 4, 2, 65, 86, 2745, 2752, 114, 114, 111, 119, 59, 1, 8596, 101, 99, 116, 111, 114, 59, 1, 10574, 4, 2, 101, 114, 2766, 2792, 101, 4, 3, 59, 65, 86, 2775, 2777, 2784, 1, 8867, 114, 114, 111, 119, 59, 1, 8612, 101, 99, 116, 111, 114, 59, 1, 10586, 105, 97, 110, 103, 108, 101, 4, 3, 59, 66, 69, 2806, 2808, 2813, 1, 8882, 97, 114, 59, 1, 10703, 113, 117, 97, 108, 59, 1, 8884, 112, 4, 3, 68, 84, 86, 2829, 2841, 2852, 111, 119, 110, 86, 101, 99, 116, 111, 114, 59, 1, 10577, 101, 101, 86, 101, 99, 116, 111, 114, 59, 1, 10592, 101, 99, 116, 111, 114, 4, 2, 59, 66, 2863, 2865, 1, 8639, 97, 114, 59, 1, 10584, 101, 99, 116, 111, 114, 4, 2, 59, 66, 2881, 2883, 1, 8636, 97, 114, 59, 1, 10578, 114, 114, 111, 119, 59, 1, 8656, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 1, 8660, 115, 4, 6, 69, 70, 71, 76, 83, 84, 2922, 2936, 2947, 2956, 2962, 2974, 113, 117, 97, 108, 71, 114, 101, 97, 116, 101, 114, 59, 1, 8922, 117, 108, 108, 69, 113, 117, 97, 108, 59, 1, 8806, 114, 101, 97, 116, 101, 114, 59, 1, 8822, 101, 115, 115, 59, 1, 10913, 108, 97, 110, 116, 69, 113, 117, 97, 108, 59, 1, 10877, 105, 108, 100, 101, 59, 1, 8818, 114, 59, 3, 55349, 56591, 4, 2, 59, 101, 2992, 2994, 1, 8920, 102, 116, 97, 114, 114, 111, 119, 59, 1, 8666, 105, 100, 111, 116, 59, 1, 319, 4, 3, 110, 112, 119, 3019, 3110, 3115, 103, 4, 4, 76, 82, 108, 114, 3030, 3058, 3070, 3098, 101, 102, 116, 4, 2, 65, 82, 3039, 3046, 114, 114, 111, 119, 59, 1, 10229, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 1, 10231, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 1, 10230, 101, 102, 116, 4, 2, 97, 114, 3079, 3086, 114, 114, 111, 119, 59, 1, 10232, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 1, 10234, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 1, 10233, 102, 59, 3, 55349, 56643, 101, 114, 4, 2, 76, 82, 3123, 3134, 101, 102, 116, 65, 114, 114, 111, 119, 59, 1, 8601, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 1, 8600, 4, 3, 99, 104, 116, 3154, 3158, 3161, 114, 59, 1, 8466, 59, 1, 8624, 114, 111, 107, 59, 1, 321, 59, 1, 8810, 4, 8, 97, 99, 101, 102, 105, 111, 115, 117, 3188, 3192, 3196, 3222, 3227, 3237, 3243, 3248, 112, 59, 1, 10501, 121, 59, 1, 1052, 4, 2, 100, 108, 3202, 3213, 105, 117, 109, 83, 112, 97, 99, 101, 59, 1, 8287, 108, 105, 110, 116, 114, 102, 59, 1, 8499, 114, 59, 3, 55349, 56592, 110, 117, 115, 80, 108, 117, 115, 59, 1, 8723, 112, 102, 59, 3, 55349, 56644, 99, 114, 59, 1, 8499, 59, 1, 924, 4, 9, 74, 97, 99, 101, 102, 111, 115, 116, 117, 3271, 3276, 3283, 3306, 3422, 3427, 4120, 4126, 4137, 99, 121, 59, 1, 1034, 99, 117, 116, 101, 59, 1, 323, 4, 3, 97, 101, 121, 3291, 3297, 3303, 114, 111, 110, 59, 1, 327, 100, 105, 108, 59, 1, 325, 59, 1, 1053, 4, 3, 103, 115, 119, 3314, 3380, 3415, 97, 116, 105, 118, 101, 4, 3, 77, 84, 86, 3327, 3340, 3365, 101, 100, 105, 117, 109, 83, 112, 97, 99, 101, 59, 1, 8203, 104, 105, 4, 2, 99, 110, 3348, 3357, 107, 83, 112, 97, 99, 101, 59, 1, 8203, 83, 112, 97, 99, 101, 59, 1, 8203, 101, 114, 121, 84, 104, 105, 110, 83, 112, 97, 99, 101, 59, 1, 8203, 116, 101, 100, 4, 2, 71, 76, 3389, 3405, 114, 101, 97, 116, 101, 114, 71, 114, 101, 97, 116, 101, 114, 59, 1, 8811, 101, 115, 115, 76, 101, 115, 115, 59, 1, 8810, 76, 105, 110, 101, 59, 1, 10, 114, 59, 3, 55349, 56593, 4, 4, 66, 110, 112, 116, 3437, 3444, 3460, 3464, 114, 101, 97, 107, 59, 1, 8288, 66, 114, 101, 97, 107, 105, 110, 103, 83, 112, 97, 99, 101, 59, 1, 160, 102, 59, 1, 8469, 4, 13, 59, 67, 68, 69, 71, 72, 76, 78, 80, 82, 83, 84, 86, 3492, 3494, 3517, 3536, 3578, 3657, 3685, 3784, 3823, 3860, 3915, 4066, 4107, 1, 10988, 4, 2, 111, 117, 3500, 3510, 110, 103, 114, 117, 101, 110, 116, 59, 1, 8802, 112, 67, 97, 112, 59, 1, 8813, 111, 117, 98, 108, 101, 86, 101, 114, 116, 105, 99, 97, 108, 66, 97, 114, 59, 1, 8742, 4, 3, 108, 113, 120, 3544, 3552, 3571, 101, 109, 101, 110, 116, 59, 1, 8713, 117, 97, 108, 4, 2, 59, 84, 3561, 3563, 1, 8800, 105, 108, 100, 101, 59, 3, 8770, 824, 105, 115, 116, 115, 59, 1, 8708, 114, 101, 97, 116, 101, 114, 4, 7, 59, 69, 70, 71, 76, 83, 84, 3600, 3602, 3609, 3621, 3631, 3637, 3650, 1, 8815, 113, 117, 97, 108, 59, 1, 8817, 117, 108, 108, 69, 113, 117, 97, 108, 59, 3, 8807, 824, 114, 101, 97, 116, 101, 114, 59, 3, 8811, 824, 101, 115, 115, 59, 1, 8825, 108, 97, 110, 116, 69, 113, 117, 97, 108, 59, 3, 10878, 824, 105, 108, 100, 101, 59, 1, 8821, 117, 109, 112, 4, 2, 68, 69, 3666, 3677, 111, 119, 110, 72, 117, 109, 112, 59, 3, 8782, 824, 113, 117, 97, 108, 59, 3, 8783, 824, 101, 4, 2, 102, 115, 3692, 3724, 116, 84, 114, 105, 97, 110, 103, 108, 101, 4, 3, 59, 66, 69, 3709, 3711, 3717, 1, 8938, 97, 114, 59, 3, 10703, 824, 113, 117, 97, 108, 59, 1, 8940, 115, 4, 6, 59, 69, 71, 76, 83, 84, 3739, 3741, 3748, 3757, 3764, 3777, 1, 8814, 113, 117, 97, 108, 59, 1, 8816, 114, 101, 97, 116, 101, 114, 59, 1, 8824, 101, 115, 115, 59, 3, 8810, 824, 108, 97, 110, 116, 69, 113, 117, 97, 108, 59, 3, 10877, 824, 105, 108, 100, 101, 59, 1, 8820, 101, 115, 116, 101, 100, 4, 2, 71, 76, 3795, 3812, 114, 101, 97, 116, 101, 114, 71, 114, 101, 97, 116, 101, 114, 59, 3, 10914, 824, 101, 115, 115, 76, 101, 115, 115, 59, 3, 10913, 824, 114, 101, 99, 101, 100, 101, 115, 4, 3, 59, 69, 83, 3838, 3840, 3848, 1, 8832, 113, 117, 97, 108, 59, 3, 10927, 824, 108, 97, 110, 116, 69, 113, 117, 97, 108, 59, 1, 8928, 4, 2, 101, 105, 3866, 3881, 118, 101, 114, 115, 101, 69, 108, 101, 109, 101, 110, 116, 59, 1, 8716, 103, 104, 116, 84, 114, 105, 97, 110, 103, 108, 101, 4, 3, 59, 66, 69, 3900, 3902, 3908, 1, 8939, 97, 114, 59, 3, 10704, 824, 113, 117, 97, 108, 59, 1, 8941, 4, 2, 113, 117, 3921, 3973, 117, 97, 114, 101, 83, 117, 4, 2, 98, 112, 3933, 3952, 115, 101, 116, 4, 2, 59, 69, 3942, 3945, 3, 8847, 824, 113, 117, 97, 108, 59, 1, 8930, 101, 114, 115, 101, 116, 4, 2, 59, 69, 3963, 3966, 3, 8848, 824, 113, 117, 97, 108, 59, 1, 8931, 4, 3, 98, 99, 112, 3981, 4e3, 4045, 115, 101, 116, 4, 2, 59, 69, 3990, 3993, 3, 8834, 8402, 113, 117, 97, 108, 59, 1, 8840, 99, 101, 101, 100, 115, 4, 4, 59, 69, 83, 84, 4015, 4017, 4025, 4037, 1, 8833, 113, 117, 97, 108, 59, 3, 10928, 824, 108, 97, 110, 116, 69, 113, 117, 97, 108, 59, 1, 8929, 105, 108, 100, 101, 59, 3, 8831, 824, 101, 114, 115, 101, 116, 4, 2, 59, 69, 4056, 4059, 3, 8835, 8402, 113, 117, 97, 108, 59, 1, 8841, 105, 108, 100, 101, 4, 4, 59, 69, 70, 84, 4080, 4082, 4089, 4100, 1, 8769, 113, 117, 97, 108, 59, 1, 8772, 117, 108, 108, 69, 113, 117, 97, 108, 59, 1, 8775, 105, 108, 100, 101, 59, 1, 8777, 101, 114, 116, 105, 99, 97, 108, 66, 97, 114, 59, 1, 8740, 99, 114, 59, 3, 55349, 56489, 105, 108, 100, 101, 5, 209, 1, 59, 4135, 1, 209, 59, 1, 925, 4, 14, 69, 97, 99, 100, 102, 103, 109, 111, 112, 114, 115, 116, 117, 118, 4170, 4176, 4187, 4205, 4212, 4217, 4228, 4253, 4259, 4292, 4295, 4316, 4337, 4346, 108, 105, 103, 59, 1, 338, 99, 117, 116, 101, 5, 211, 1, 59, 4185, 1, 211, 4, 2, 105, 121, 4193, 4202, 114, 99, 5, 212, 1, 59, 4200, 1, 212, 59, 1, 1054, 98, 108, 97, 99, 59, 1, 336, 114, 59, 3, 55349, 56594, 114, 97, 118, 101, 5, 210, 1, 59, 4226, 1, 210, 4, 3, 97, 101, 105, 4236, 4241, 4246, 99, 114, 59, 1, 332, 103, 97, 59, 1, 937, 99, 114, 111, 110, 59, 1, 927, 112, 102, 59, 3, 55349, 56646, 101, 110, 67, 117, 114, 108, 121, 4, 2, 68, 81, 4272, 4285, 111, 117, 98, 108, 101, 81, 117, 111, 116, 101, 59, 1, 8220, 117, 111, 116, 101, 59, 1, 8216, 59, 1, 10836, 4, 2, 99, 108, 4301, 4306, 114, 59, 3, 55349, 56490, 97, 115, 104, 5, 216, 1, 59, 4314, 1, 216, 105, 4, 2, 108, 109, 4323, 4332, 100, 101, 5, 213, 1, 59, 4330, 1, 213, 101, 115, 59, 1, 10807, 109, 108, 5, 214, 1, 59, 4344, 1, 214, 101, 114, 4, 2, 66, 80, 4354, 4380, 4, 2, 97, 114, 4360, 4364, 114, 59, 1, 8254, 97, 99, 4, 2, 101, 107, 4372, 4375, 59, 1, 9182, 101, 116, 59, 1, 9140, 97, 114, 101, 110, 116, 104, 101, 115, 105, 115, 59, 1, 9180, 4, 9, 97, 99, 102, 104, 105, 108, 111, 114, 115, 4413, 4422, 4426, 4431, 4435, 4438, 4448, 4471, 4561, 114, 116, 105, 97, 108, 68, 59, 1, 8706, 121, 59, 1, 1055, 114, 59, 3, 55349, 56595, 105, 59, 1, 934, 59, 1, 928, 117, 115, 77, 105, 110, 117, 115, 59, 1, 177, 4, 2, 105, 112, 4454, 4467, 110, 99, 97, 114, 101, 112, 108, 97, 110, 101, 59, 1, 8460, 102, 59, 1, 8473, 4, 4, 59, 101, 105, 111, 4481, 4483, 4526, 4531, 1, 10939, 99, 101, 100, 101, 115, 4, 4, 59, 69, 83, 84, 4498, 4500, 4507, 4519, 1, 8826, 113, 117, 97, 108, 59, 1, 10927, 108, 97, 110, 116, 69, 113, 117, 97, 108, 59, 1, 8828, 105, 108, 100, 101, 59, 1, 8830, 109, 101, 59, 1, 8243, 4, 2, 100, 112, 4537, 4543, 117, 99, 116, 59, 1, 8719, 111, 114, 116, 105, 111, 110, 4, 2, 59, 97, 4555, 4557, 1, 8759, 108, 59, 1, 8733, 4, 2, 99, 105, 4567, 4572, 114, 59, 3, 55349, 56491, 59, 1, 936, 4, 4, 85, 102, 111, 115, 4585, 4594, 4599, 4604, 79, 84, 5, 34, 1, 59, 4592, 1, 34, 114, 59, 3, 55349, 56596, 112, 102, 59, 1, 8474, 99, 114, 59, 3, 55349, 56492, 4, 12, 66, 69, 97, 99, 101, 102, 104, 105, 111, 114, 115, 117, 4636, 4642, 4650, 4681, 4704, 4763, 4767, 4771, 5047, 5069, 5081, 5094, 97, 114, 114, 59, 1, 10512, 71, 5, 174, 1, 59, 4648, 1, 174, 4, 3, 99, 110, 114, 4658, 4664, 4668, 117, 116, 101, 59, 1, 340, 103, 59, 1, 10219, 114, 4, 2, 59, 116, 4675, 4677, 1, 8608, 108, 59, 1, 10518, 4, 3, 97, 101, 121, 4689, 4695, 4701, 114, 111, 110, 59, 1, 344, 100, 105, 108, 59, 1, 342, 59, 1, 1056, 4, 2, 59, 118, 4710, 4712, 1, 8476, 101, 114, 115, 101, 4, 2, 69, 85, 4722, 4748, 4, 2, 108, 113, 4728, 4736, 101, 109, 101, 110, 116, 59, 1, 8715, 117, 105, 108, 105, 98, 114, 105, 117, 109, 59, 1, 8651, 112, 69, 113, 117, 105, 108, 105, 98, 114, 105, 117, 109, 59, 1, 10607, 114, 59, 1, 8476, 111, 59, 1, 929, 103, 104, 116, 4, 8, 65, 67, 68, 70, 84, 85, 86, 97, 4792, 4840, 4849, 4905, 4912, 4972, 5022, 5040, 4, 2, 110, 114, 4798, 4811, 103, 108, 101, 66, 114, 97, 99, 107, 101, 116, 59, 1, 10217, 114, 111, 119, 4, 3, 59, 66, 76, 4822, 4824, 4829, 1, 8594, 97, 114, 59, 1, 8677, 101, 102, 116, 65, 114, 114, 111, 119, 59, 1, 8644, 101, 105, 108, 105, 110, 103, 59, 1, 8969, 111, 4, 2, 117, 119, 4856, 4869, 98, 108, 101, 66, 114, 97, 99, 107, 101, 116, 59, 1, 10215, 110, 4, 2, 84, 86, 4876, 4887, 101, 101, 86, 101, 99, 116, 111, 114, 59, 1, 10589, 101, 99, 116, 111, 114, 4, 2, 59, 66, 4898, 4900, 1, 8642, 97, 114, 59, 1, 10581, 108, 111, 111, 114, 59, 1, 8971, 4, 2, 101, 114, 4918, 4944, 101, 4, 3, 59, 65, 86, 4927, 4929, 4936, 1, 8866, 114, 114, 111, 119, 59, 1, 8614, 101, 99, 116, 111, 114, 59, 1, 10587, 105, 97, 110, 103, 108, 101, 4, 3, 59, 66, 69, 4958, 4960, 4965, 1, 8883, 97, 114, 59, 1, 10704, 113, 117, 97, 108, 59, 1, 8885, 112, 4, 3, 68, 84, 86, 4981, 4993, 5004, 111, 119, 110, 86, 101, 99, 116, 111, 114, 59, 1, 10575, 101, 101, 86, 101, 99, 116, 111, 114, 59, 1, 10588, 101, 99, 116, 111, 114, 4, 2, 59, 66, 5015, 5017, 1, 8638, 97, 114, 59, 1, 10580, 101, 99, 116, 111, 114, 4, 2, 59, 66, 5033, 5035, 1, 8640, 97, 114, 59, 1, 10579, 114, 114, 111, 119, 59, 1, 8658, 4, 2, 112, 117, 5053, 5057, 102, 59, 1, 8477, 110, 100, 73, 109, 112, 108, 105, 101, 115, 59, 1, 10608, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 1, 8667, 4, 2, 99, 104, 5087, 5091, 114, 59, 1, 8475, 59, 1, 8625, 108, 101, 68, 101, 108, 97, 121, 101, 100, 59, 1, 10740, 4, 13, 72, 79, 97, 99, 102, 104, 105, 109, 111, 113, 115, 116, 117, 5134, 5150, 5157, 5164, 5198, 5203, 5259, 5265, 5277, 5283, 5374, 5380, 5385, 4, 2, 67, 99, 5140, 5146, 72, 99, 121, 59, 1, 1065, 121, 59, 1, 1064, 70, 84, 99, 121, 59, 1, 1068, 99, 117, 116, 101, 59, 1, 346, 4, 5, 59, 97, 101, 105, 121, 5176, 5178, 5184, 5190, 5195, 1, 10940, 114, 111, 110, 59, 1, 352, 100, 105, 108, 59, 1, 350, 114, 99, 59, 1, 348, 59, 1, 1057, 114, 59, 3, 55349, 56598, 111, 114, 116, 4, 4, 68, 76, 82, 85, 5216, 5227, 5238, 5250, 111, 119, 110, 65, 114, 114, 111, 119, 59, 1, 8595, 101, 102, 116, 65, 114, 114, 111, 119, 59, 1, 8592, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 1, 8594, 112, 65, 114, 114, 111, 119, 59, 1, 8593, 103, 109, 97, 59, 1, 931, 97, 108, 108, 67, 105, 114, 99, 108, 101, 59, 1, 8728, 112, 102, 59, 3, 55349, 56650, 4, 2, 114, 117, 5289, 5293, 116, 59, 1, 8730, 97, 114, 101, 4, 4, 59, 73, 83, 85, 5306, 5308, 5322, 5367, 1, 9633, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 59, 1, 8851, 117, 4, 2, 98, 112, 5329, 5347, 115, 101, 116, 4, 2, 59, 69, 5338, 5340, 1, 8847, 113, 117, 97, 108, 59, 1, 8849, 101, 114, 115, 101, 116, 4, 2, 59, 69, 5358, 5360, 1, 8848, 113, 117, 97, 108, 59, 1, 8850, 110, 105, 111, 110, 59, 1, 8852, 99, 114, 59, 3, 55349, 56494, 97, 114, 59, 1, 8902, 4, 4, 98, 99, 109, 112, 5395, 5420, 5475, 5478, 4, 2, 59, 115, 5401, 5403, 1, 8912, 101, 116, 4, 2, 59, 69, 5411, 5413, 1, 8912, 113, 117, 97, 108, 59, 1, 8838, 4, 2, 99, 104, 5426, 5468, 101, 101, 100, 115, 4, 4, 59, 69, 83, 84, 5440, 5442, 5449, 5461, 1, 8827, 113, 117, 97, 108, 59, 1, 10928, 108, 97, 110, 116, 69, 113, 117, 97, 108, 59, 1, 8829, 105, 108, 100, 101, 59, 1, 8831, 84, 104, 97, 116, 59, 1, 8715, 59, 1, 8721, 4, 3, 59, 101, 115, 5486, 5488, 5507, 1, 8913, 114, 115, 101, 116, 4, 2, 59, 69, 5498, 5500, 1, 8835, 113, 117, 97, 108, 59, 1, 8839, 101, 116, 59, 1, 8913, 4, 11, 72, 82, 83, 97, 99, 102, 104, 105, 111, 114, 115, 5536, 5546, 5552, 5567, 5579, 5602, 5607, 5655, 5695, 5701, 5711, 79, 82, 78, 5, 222, 1, 59, 5544, 1, 222, 65, 68, 69, 59, 1, 8482, 4, 2, 72, 99, 5558, 5563, 99, 121, 59, 1, 1035, 121, 59, 1, 1062, 4, 2, 98, 117, 5573, 5576, 59, 1, 9, 59, 1, 932, 4, 3, 97, 101, 121, 5587, 5593, 5599, 114, 111, 110, 59, 1, 356, 100, 105, 108, 59, 1, 354, 59, 1, 1058, 114, 59, 3, 55349, 56599, 4, 2, 101, 105, 5613, 5631, 4, 2, 114, 116, 5619, 5627, 101, 102, 111, 114, 101, 59, 1, 8756, 97, 59, 1, 920, 4, 2, 99, 110, 5637, 5647, 107, 83, 112, 97, 99, 101, 59, 3, 8287, 8202, 83, 112, 97, 99, 101, 59, 1, 8201, 108, 100, 101, 4, 4, 59, 69, 70, 84, 5668, 5670, 5677, 5688, 1, 8764, 113, 117, 97, 108, 59, 1, 8771, 117, 108, 108, 69, 113, 117, 97, 108, 59, 1, 8773, 105, 108, 100, 101, 59, 1, 8776, 112, 102, 59, 3, 55349, 56651, 105, 112, 108, 101, 68, 111, 116, 59, 1, 8411, 4, 2, 99, 116, 5717, 5722, 114, 59, 3, 55349, 56495, 114, 111, 107, 59, 1, 358, 4, 14, 97, 98, 99, 100, 102, 103, 109, 110, 111, 112, 114, 115, 116, 117, 5758, 5789, 5805, 5823, 5830, 5835, 5846, 5852, 5921, 5937, 6089, 6095, 6101, 6108, 4, 2, 99, 114, 5764, 5774, 117, 116, 101, 5, 218, 1, 59, 5772, 1, 218, 114, 4, 2, 59, 111, 5781, 5783, 1, 8607, 99, 105, 114, 59, 1, 10569, 114, 4, 2, 99, 101, 5796, 5800, 121, 59, 1, 1038, 118, 101, 59, 1, 364, 4, 2, 105, 121, 5811, 5820, 114, 99, 5, 219, 1, 59, 5818, 1, 219, 59, 1, 1059, 98, 108, 97, 99, 59, 1, 368, 114, 59, 3, 55349, 56600, 114, 97, 118, 101, 5, 217, 1, 59, 5844, 1, 217, 97, 99, 114, 59, 1, 362, 4, 2, 100, 105, 5858, 5905, 101, 114, 4, 2, 66, 80, 5866, 5892, 4, 2, 97, 114, 5872, 5876, 114, 59, 1, 95, 97, 99, 4, 2, 101, 107, 5884, 5887, 59, 1, 9183, 101, 116, 59, 1, 9141, 97, 114, 101, 110, 116, 104, 101, 115, 105, 115, 59, 1, 9181, 111, 110, 4, 2, 59, 80, 5913, 5915, 1, 8899, 108, 117, 115, 59, 1, 8846, 4, 2, 103, 112, 5927, 5932, 111, 110, 59, 1, 370, 102, 59, 3, 55349, 56652, 4, 8, 65, 68, 69, 84, 97, 100, 112, 115, 5955, 5985, 5996, 6009, 6026, 6033, 6044, 6075, 114, 114, 111, 119, 4, 3, 59, 66, 68, 5967, 5969, 5974, 1, 8593, 97, 114, 59, 1, 10514, 111, 119, 110, 65, 114, 114, 111, 119, 59, 1, 8645, 111, 119, 110, 65, 114, 114, 111, 119, 59, 1, 8597, 113, 117, 105, 108, 105, 98, 114, 105, 117, 109, 59, 1, 10606, 101, 101, 4, 2, 59, 65, 6017, 6019, 1, 8869, 114, 114, 111, 119, 59, 1, 8613, 114, 114, 111, 119, 59, 1, 8657, 111, 119, 110, 97, 114, 114, 111, 119, 59, 1, 8661, 101, 114, 4, 2, 76, 82, 6052, 6063, 101, 102, 116, 65, 114, 114, 111, 119, 59, 1, 8598, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 1, 8599, 105, 4, 2, 59, 108, 6082, 6084, 1, 978, 111, 110, 59, 1, 933, 105, 110, 103, 59, 1, 366, 99, 114, 59, 3, 55349, 56496, 105, 108, 100, 101, 59, 1, 360, 109, 108, 5, 220, 1, 59, 6115, 1, 220, 4, 9, 68, 98, 99, 100, 101, 102, 111, 115, 118, 6137, 6143, 6148, 6152, 6166, 6250, 6255, 6261, 6267, 97, 115, 104, 59, 1, 8875, 97, 114, 59, 1, 10987, 121, 59, 1, 1042, 97, 115, 104, 4, 2, 59, 108, 6161, 6163, 1, 8873, 59, 1, 10982, 4, 2, 101, 114, 6172, 6175, 59, 1, 8897, 4, 3, 98, 116, 121, 6183, 6188, 6238, 97, 114, 59, 1, 8214, 4, 2, 59, 105, 6194, 6196, 1, 8214, 99, 97, 108, 4, 4, 66, 76, 83, 84, 6209, 6214, 6220, 6231, 97, 114, 59, 1, 8739, 105, 110, 101, 59, 1, 124, 101, 112, 97, 114, 97, 116, 111, 114, 59, 1, 10072, 105, 108, 100, 101, 59, 1, 8768, 84, 104, 105, 110, 83, 112, 97, 99, 101, 59, 1, 8202, 114, 59, 3, 55349, 56601, 112, 102, 59, 3, 55349, 56653, 99, 114, 59, 3, 55349, 56497, 100, 97, 115, 104, 59, 1, 8874, 4, 5, 99, 101, 102, 111, 115, 6286, 6292, 6298, 6303, 6309, 105, 114, 99, 59, 1, 372, 100, 103, 101, 59, 1, 8896, 114, 59, 3, 55349, 56602, 112, 102, 59, 3, 55349, 56654, 99, 114, 59, 3, 55349, 56498, 4, 4, 102, 105, 111, 115, 6325, 6330, 6333, 6339, 114, 59, 3, 55349, 56603, 59, 1, 926, 112, 102, 59, 3, 55349, 56655, 99, 114, 59, 3, 55349, 56499, 4, 9, 65, 73, 85, 97, 99, 102, 111, 115, 117, 6365, 6370, 6375, 6380, 6391, 6405, 6410, 6416, 6422, 99, 121, 59, 1, 1071, 99, 121, 59, 1, 1031, 99, 121, 59, 1, 1070, 99, 117, 116, 101, 5, 221, 1, 59, 6389, 1, 221, 4, 2, 105, 121, 6397, 6402, 114, 99, 59, 1, 374, 59, 1, 1067, 114, 59, 3, 55349, 56604, 112, 102, 59, 3, 55349, 56656, 99, 114, 59, 3, 55349, 56500, 109, 108, 59, 1, 376, 4, 8, 72, 97, 99, 100, 101, 102, 111, 115, 6445, 6450, 6457, 6472, 6477, 6501, 6505, 6510, 99, 121, 59, 1, 1046, 99, 117, 116, 101, 59, 1, 377, 4, 2, 97, 121, 6463, 6469, 114, 111, 110, 59, 1, 381, 59, 1, 1047, 111, 116, 59, 1, 379, 4, 2, 114, 116, 6483, 6497, 111, 87, 105, 100, 116, 104, 83, 112, 97, 99, 101, 59, 1, 8203, 97, 59, 1, 918, 114, 59, 1, 8488, 112, 102, 59, 1, 8484, 99, 114, 59, 3, 55349, 56501, 4, 16, 97, 98, 99, 101, 102, 103, 108, 109, 110, 111, 112, 114, 115, 116, 117, 119, 6550, 6561, 6568, 6612, 6622, 6634, 6645, 6672, 6699, 6854, 6870, 6923, 6933, 6963, 6974, 6983, 99, 117, 116, 101, 5, 225, 1, 59, 6559, 1, 225, 114, 101, 118, 101, 59, 1, 259, 4, 6, 59, 69, 100, 105, 117, 121, 6582, 6584, 6588, 6591, 6600, 6609, 1, 8766, 59, 3, 8766, 819, 59, 1, 8767, 114, 99, 5, 226, 1, 59, 6598, 1, 226, 116, 101, 5, 180, 1, 59, 6607, 1, 180, 59, 1, 1072, 108, 105, 103, 5, 230, 1, 59, 6620, 1, 230, 4, 2, 59, 114, 6628, 6630, 1, 8289, 59, 3, 55349, 56606, 114, 97, 118, 101, 5, 224, 1, 59, 6643, 1, 224, 4, 2, 101, 112, 6651, 6667, 4, 2, 102, 112, 6657, 6663, 115, 121, 109, 59, 1, 8501, 104, 59, 1, 8501, 104, 97, 59, 1, 945, 4, 2, 97, 112, 6678, 6692, 4, 2, 99, 108, 6684, 6688, 114, 59, 1, 257, 103, 59, 1, 10815, 5, 38, 1, 59, 6697, 1, 38, 4, 2, 100, 103, 6705, 6737, 4, 5, 59, 97, 100, 115, 118, 6717, 6719, 6724, 6727, 6734, 1, 8743, 110, 100, 59, 1, 10837, 59, 1, 10844, 108, 111, 112, 101, 59, 1, 10840, 59, 1, 10842, 4, 7, 59, 101, 108, 109, 114, 115, 122, 6753, 6755, 6758, 6762, 6814, 6835, 6848, 1, 8736, 59, 1, 10660, 101, 59, 1, 8736, 115, 100, 4, 2, 59, 97, 6770, 6772, 1, 8737, 4, 8, 97, 98, 99, 100, 101, 102, 103, 104, 6790, 6793, 6796, 6799, 6802, 6805, 6808, 6811, 59, 1, 10664, 59, 1, 10665, 59, 1, 10666, 59, 1, 10667, 59, 1, 10668, 59, 1, 10669, 59, 1, 10670, 59, 1, 10671, 116, 4, 2, 59, 118, 6821, 6823, 1, 8735, 98, 4, 2, 59, 100, 6830, 6832, 1, 8894, 59, 1, 10653, 4, 2, 112, 116, 6841, 6845, 104, 59, 1, 8738, 59, 1, 197, 97, 114, 114, 59, 1, 9084, 4, 2, 103, 112, 6860, 6865, 111, 110, 59, 1, 261, 102, 59, 3, 55349, 56658, 4, 7, 59, 69, 97, 101, 105, 111, 112, 6886, 6888, 6891, 6897, 6900, 6904, 6908, 1, 8776, 59, 1, 10864, 99, 105, 114, 59, 1, 10863, 59, 1, 8778, 100, 59, 1, 8779, 115, 59, 1, 39, 114, 111, 120, 4, 2, 59, 101, 6917, 6919, 1, 8776, 113, 59, 1, 8778, 105, 110, 103, 5, 229, 1, 59, 6931, 1, 229, 4, 3, 99, 116, 121, 6941, 6946, 6949, 114, 59, 3, 55349, 56502, 59, 1, 42, 109, 112, 4, 2, 59, 101, 6957, 6959, 1, 8776, 113, 59, 1, 8781, 105, 108, 100, 101, 5, 227, 1, 59, 6972, 1, 227, 109, 108, 5, 228, 1, 59, 6981, 1, 228, 4, 2, 99, 105, 6989, 6997, 111, 110, 105, 110, 116, 59, 1, 8755, 110, 116, 59, 1, 10769, 4, 16, 78, 97, 98, 99, 100, 101, 102, 105, 107, 108, 110, 111, 112, 114, 115, 117, 7036, 7041, 7119, 7135, 7149, 7155, 7219, 7224, 7347, 7354, 7463, 7489, 7786, 7793, 7814, 7866, 111, 116, 59, 1, 10989, 4, 2, 99, 114, 7047, 7094, 107, 4, 4, 99, 101, 112, 115, 7058, 7064, 7073, 7080, 111, 110, 103, 59, 1, 8780, 112, 115, 105, 108, 111, 110, 59, 1, 1014, 114, 105, 109, 101, 59, 1, 8245, 105, 109, 4, 2, 59, 101, 7088, 7090, 1, 8765, 113, 59, 1, 8909, 4, 2, 118, 119, 7100, 7105, 101, 101, 59, 1, 8893, 101, 100, 4, 2, 59, 103, 7113, 7115, 1, 8965, 101, 59, 1, 8965, 114, 107, 4, 2, 59, 116, 7127, 7129, 1, 9141, 98, 114, 107, 59, 1, 9142, 4, 2, 111, 121, 7141, 7146, 110, 103, 59, 1, 8780, 59, 1, 1073, 113, 117, 111, 59, 1, 8222, 4, 5, 99, 109, 112, 114, 116, 7167, 7181, 7188, 7193, 7199, 97, 117, 115, 4, 2, 59, 101, 7176, 7178, 1, 8757, 59, 1, 8757, 112, 116, 121, 118, 59, 1, 10672, 115, 105, 59, 1, 1014, 110, 111, 117, 59, 1, 8492, 4, 3, 97, 104, 119, 7207, 7210, 7213, 59, 1, 946, 59, 1, 8502, 101, 101, 110, 59, 1, 8812, 114, 59, 3, 55349, 56607, 103, 4, 7, 99, 111, 115, 116, 117, 118, 119, 7241, 7262, 7288, 7305, 7328, 7335, 7340, 4, 3, 97, 105, 117, 7249, 7253, 7258, 112, 59, 1, 8898, 114, 99, 59, 1, 9711, 112, 59, 1, 8899, 4, 3, 100, 112, 116, 7270, 7275, 7281, 111, 116, 59, 1, 10752, 108, 117, 115, 59, 1, 10753, 105, 109, 101, 115, 59, 1, 10754, 4, 2, 113, 116, 7294, 7300, 99, 117, 112, 59, 1, 10758, 97, 114, 59, 1, 9733, 114, 105, 97, 110, 103, 108, 101, 4, 2, 100, 117, 7318, 7324, 111, 119, 110, 59, 1, 9661, 112, 59, 1, 9651, 112, 108, 117, 115, 59, 1, 10756, 101, 101, 59, 1, 8897, 101, 100, 103, 101, 59, 1, 8896, 97, 114, 111, 119, 59, 1, 10509, 4, 3, 97, 107, 111, 7362, 7436, 7458, 4, 2, 99, 110, 7368, 7432, 107, 4, 3, 108, 115, 116, 7377, 7386, 7394, 111, 122, 101, 110, 103, 101, 59, 1, 10731, 113, 117, 97, 114, 101, 59, 1, 9642, 114, 105, 97, 110, 103, 108, 101, 4, 4, 59, 100, 108, 114, 7411, 7413, 7419, 7425, 1, 9652, 111, 119, 110, 59, 1, 9662, 101, 102, 116, 59, 1, 9666, 105, 103, 104, 116, 59, 1, 9656, 107, 59, 1, 9251, 4, 2, 49, 51, 7442, 7454, 4, 2, 50, 52, 7448, 7451, 59, 1, 9618, 59, 1, 9617, 52, 59, 1, 9619, 99, 107, 59, 1, 9608, 4, 2, 101, 111, 7469, 7485, 4, 2, 59, 113, 7475, 7478, 3, 61, 8421, 117, 105, 118, 59, 3, 8801, 8421, 116, 59, 1, 8976, 4, 4, 112, 116, 119, 120, 7499, 7504, 7517, 7523, 102, 59, 3, 55349, 56659, 4, 2, 59, 116, 7510, 7512, 1, 8869, 111, 109, 59, 1, 8869, 116, 105, 101, 59, 1, 8904, 4, 12, 68, 72, 85, 86, 98, 100, 104, 109, 112, 116, 117, 118, 7549, 7571, 7597, 7619, 7655, 7660, 7682, 7708, 7715, 7721, 7728, 7750, 4, 4, 76, 82, 108, 114, 7559, 7562, 7565, 7568, 59, 1, 9559, 59, 1, 9556, 59, 1, 9558, 59, 1, 9555, 4, 5, 59, 68, 85, 100, 117, 7583, 7585, 7588, 7591, 7594, 1, 9552, 59, 1, 9574, 59, 1, 9577, 59, 1, 9572, 59, 1, 9575, 4, 4, 76, 82, 108, 114, 7607, 7610, 7613, 7616, 59, 1, 9565, 59, 1, 9562, 59, 1, 9564, 59, 1, 9561, 4, 7, 59, 72, 76, 82, 104, 108, 114, 7635, 7637, 7640, 7643, 7646, 7649, 7652, 1, 9553, 59, 1, 9580, 59, 1, 9571, 59, 1, 9568, 59, 1, 9579, 59, 1, 9570, 59, 1, 9567, 111, 120, 59, 1, 10697, 4, 4, 76, 82, 108, 114, 7670, 7673, 7676, 7679, 59, 1, 9557, 59, 1, 9554, 59, 1, 9488, 59, 1, 9484, 4, 5, 59, 68, 85, 100, 117, 7694, 7696, 7699, 7702, 7705, 1, 9472, 59, 1, 9573, 59, 1, 9576, 59, 1, 9516, 59, 1, 9524, 105, 110, 117, 115, 59, 1, 8863, 108, 117, 115, 59, 1, 8862, 105, 109, 101, 115, 59, 1, 8864, 4, 4, 76, 82, 108, 114, 7738, 7741, 7744, 7747, 59, 1, 9563, 59, 1, 9560, 59, 1, 9496, 59, 1, 9492, 4, 7, 59, 72, 76, 82, 104, 108, 114, 7766, 7768, 7771, 7774, 7777, 7780, 7783, 1, 9474, 59, 1, 9578, 59, 1, 9569, 59, 1, 9566, 59, 1, 9532, 59, 1, 9508, 59, 1, 9500, 114, 105, 109, 101, 59, 1, 8245, 4, 2, 101, 118, 7799, 7804, 118, 101, 59, 1, 728, 98, 97, 114, 5, 166, 1, 59, 7812, 1, 166, 4, 4, 99, 101, 105, 111, 7824, 7829, 7834, 7846, 114, 59, 3, 55349, 56503, 109, 105, 59, 1, 8271, 109, 4, 2, 59, 101, 7841, 7843, 1, 8765, 59, 1, 8909, 108, 4, 3, 59, 98, 104, 7855, 7857, 7860, 1, 92, 59, 1, 10693, 115, 117, 98, 59, 1, 10184, 4, 2, 108, 109, 7872, 7885, 108, 4, 2, 59, 101, 7879, 7881, 1, 8226, 116, 59, 1, 8226, 112, 4, 3, 59, 69, 101, 7894, 7896, 7899, 1, 8782, 59, 1, 10926, 4, 2, 59, 113, 7905, 7907, 1, 8783, 59, 1, 8783, 4, 15, 97, 99, 100, 101, 102, 104, 105, 108, 111, 114, 115, 116, 117, 119, 121, 7942, 8021, 8075, 8080, 8121, 8126, 8157, 8279, 8295, 8430, 8446, 8485, 8491, 8707, 8726, 4, 3, 99, 112, 114, 7950, 7956, 8007, 117, 116, 101, 59, 1, 263, 4, 6, 59, 97, 98, 99, 100, 115, 7970, 7972, 7977, 7984, 7998, 8003, 1, 8745, 110, 100, 59, 1, 10820, 114, 99, 117, 112, 59, 1, 10825, 4, 2, 97, 117, 7990, 7994, 112, 59, 1, 10827, 112, 59, 1, 10823, 111, 116, 59, 1, 10816, 59, 3, 8745, 65024, 4, 2, 101, 111, 8013, 8017, 116, 59, 1, 8257, 110, 59, 1, 711, 4, 4, 97, 101, 105, 117, 8031, 8046, 8056, 8061, 4, 2, 112, 114, 8037, 8041, 115, 59, 1, 10829, 111, 110, 59, 1, 269, 100, 105, 108, 5, 231, 1, 59, 8054, 1, 231, 114, 99, 59, 1, 265, 112, 115, 4, 2, 59, 115, 8069, 8071, 1, 10828, 109, 59, 1, 10832, 111, 116, 59, 1, 267, 4, 3, 100, 109, 110, 8088, 8097, 8104, 105, 108, 5, 184, 1, 59, 8095, 1, 184, 112, 116, 121, 118, 59, 1, 10674, 116, 5, 162, 2, 59, 101, 8112, 8114, 1, 162, 114, 100, 111, 116, 59, 1, 183, 114, 59, 3, 55349, 56608, 4, 3, 99, 101, 105, 8134, 8138, 8154, 121, 59, 1, 1095, 99, 107, 4, 2, 59, 109, 8146, 8148, 1, 10003, 97, 114, 107, 59, 1, 10003, 59, 1, 967, 114, 4, 7, 59, 69, 99, 101, 102, 109, 115, 8174, 8176, 8179, 8258, 8261, 8268, 8273, 1, 9675, 59, 1, 10691, 4, 3, 59, 101, 108, 8187, 8189, 8193, 1, 710, 113, 59, 1, 8791, 101, 4, 2, 97, 100, 8200, 8223, 114, 114, 111, 119, 4, 2, 108, 114, 8210, 8216, 101, 102, 116, 59, 1, 8634, 105, 103, 104, 116, 59, 1, 8635, 4, 5, 82, 83, 97, 99, 100, 8235, 8238, 8241, 8246, 8252, 59, 1, 174, 59, 1, 9416, 115, 116, 59, 1, 8859, 105, 114, 99, 59, 1, 8858, 97, 115, 104, 59, 1, 8861, 59, 1, 8791, 110, 105, 110, 116, 59, 1, 10768, 105, 100, 59, 1, 10991, 99, 105, 114, 59, 1, 10690, 117, 98, 115, 4, 2, 59, 117, 8288, 8290, 1, 9827, 105, 116, 59, 1, 9827, 4, 4, 108, 109, 110, 112, 8305, 8326, 8376, 8400, 111, 110, 4, 2, 59, 101, 8313, 8315, 1, 58, 4, 2, 59, 113, 8321, 8323, 1, 8788, 59, 1, 8788, 4, 2, 109, 112, 8332, 8344, 97, 4, 2, 59, 116, 8339, 8341, 1, 44, 59, 1, 64, 4, 3, 59, 102, 108, 8352, 8354, 8358, 1, 8705, 110, 59, 1, 8728, 101, 4, 2, 109, 120, 8365, 8371, 101, 110, 116, 59, 1, 8705, 101, 115, 59, 1, 8450, 4, 2, 103, 105, 8382, 8395, 4, 2, 59, 100, 8388, 8390, 1, 8773, 111, 116, 59, 1, 10861, 110, 116, 59, 1, 8750, 4, 3, 102, 114, 121, 8408, 8412, 8417, 59, 3, 55349, 56660, 111, 100, 59, 1, 8720, 5, 169, 2, 59, 115, 8424, 8426, 1, 169, 114, 59, 1, 8471, 4, 2, 97, 111, 8436, 8441, 114, 114, 59, 1, 8629, 115, 115, 59, 1, 10007, 4, 2, 99, 117, 8452, 8457, 114, 59, 3, 55349, 56504, 4, 2, 98, 112, 8463, 8474, 4, 2, 59, 101, 8469, 8471, 1, 10959, 59, 1, 10961, 4, 2, 59, 101, 8480, 8482, 1, 10960, 59, 1, 10962, 100, 111, 116, 59, 1, 8943, 4, 7, 100, 101, 108, 112, 114, 118, 119, 8507, 8522, 8536, 8550, 8600, 8697, 8702, 97, 114, 114, 4, 2, 108, 114, 8516, 8519, 59, 1, 10552, 59, 1, 10549, 4, 2, 112, 115, 8528, 8532, 114, 59, 1, 8926, 99, 59, 1, 8927, 97, 114, 114, 4, 2, 59, 112, 8545, 8547, 1, 8630, 59, 1, 10557, 4, 6, 59, 98, 99, 100, 111, 115, 8564, 8566, 8573, 8587, 8592, 8596, 1, 8746, 114, 99, 97, 112, 59, 1, 10824, 4, 2, 97, 117, 8579, 8583, 112, 59, 1, 10822, 112, 59, 1, 10826, 111, 116, 59, 1, 8845, 114, 59, 1, 10821, 59, 3, 8746, 65024, 4, 4, 97, 108, 114, 118, 8610, 8623, 8663, 8672, 114, 114, 4, 2, 59, 109, 8618, 8620, 1, 8631, 59, 1, 10556, 121, 4, 3, 101, 118, 119, 8632, 8651, 8656, 113, 4, 2, 112, 115, 8639, 8645, 114, 101, 99, 59, 1, 8926, 117, 99, 99, 59, 1, 8927, 101, 101, 59, 1, 8910, 101, 100, 103, 101, 59, 1, 8911, 101, 110, 5, 164, 1, 59, 8670, 1, 164, 101, 97, 114, 114, 111, 119, 4, 2, 108, 114, 8684, 8690, 101, 102, 116, 59, 1, 8630, 105, 103, 104, 116, 59, 1, 8631, 101, 101, 59, 1, 8910, 101, 100, 59, 1, 8911, 4, 2, 99, 105, 8713, 8721, 111, 110, 105, 110, 116, 59, 1, 8754, 110, 116, 59, 1, 8753, 108, 99, 116, 121, 59, 1, 9005, 4, 19, 65, 72, 97, 98, 99, 100, 101, 102, 104, 105, 106, 108, 111, 114, 115, 116, 117, 119, 122, 8773, 8778, 8783, 8821, 8839, 8854, 8887, 8914, 8930, 8944, 9036, 9041, 9058, 9197, 9227, 9258, 9281, 9297, 9305, 114, 114, 59, 1, 8659, 97, 114, 59, 1, 10597, 4, 4, 103, 108, 114, 115, 8793, 8799, 8805, 8809, 103, 101, 114, 59, 1, 8224, 101, 116, 104, 59, 1, 8504, 114, 59, 1, 8595, 104, 4, 2, 59, 118, 8816, 8818, 1, 8208, 59, 1, 8867, 4, 2, 107, 108, 8827, 8834, 97, 114, 111, 119, 59, 1, 10511, 97, 99, 59, 1, 733, 4, 2, 97, 121, 8845, 8851, 114, 111, 110, 59, 1, 271, 59, 1, 1076, 4, 3, 59, 97, 111, 8862, 8864, 8880, 1, 8518, 4, 2, 103, 114, 8870, 8876, 103, 101, 114, 59, 1, 8225, 114, 59, 1, 8650, 116, 115, 101, 113, 59, 1, 10871, 4, 3, 103, 108, 109, 8895, 8902, 8907, 5, 176, 1, 59, 8900, 1, 176, 116, 97, 59, 1, 948, 112, 116, 121, 118, 59, 1, 10673, 4, 2, 105, 114, 8920, 8926, 115, 104, 116, 59, 1, 10623, 59, 3, 55349, 56609, 97, 114, 4, 2, 108, 114, 8938, 8941, 59, 1, 8643, 59, 1, 8642, 4, 5, 97, 101, 103, 115, 118, 8956, 8986, 8989, 8996, 9001, 109, 4, 3, 59, 111, 115, 8965, 8967, 8983, 1, 8900, 110, 100, 4, 2, 59, 115, 8975, 8977, 1, 8900, 117, 105, 116, 59, 1, 9830, 59, 1, 9830, 59, 1, 168, 97, 109, 109, 97, 59, 1, 989, 105, 110, 59, 1, 8946, 4, 3, 59, 105, 111, 9009, 9011, 9031, 1, 247, 100, 101, 5, 247, 2, 59, 111, 9020, 9022, 1, 247, 110, 116, 105, 109, 101, 115, 59, 1, 8903, 110, 120, 59, 1, 8903, 99, 121, 59, 1, 1106, 99, 4, 2, 111, 114, 9048, 9053, 114, 110, 59, 1, 8990, 111, 112, 59, 1, 8973, 4, 5, 108, 112, 116, 117, 119, 9070, 9076, 9081, 9130, 9144, 108, 97, 114, 59, 1, 36, 102, 59, 3, 55349, 56661, 4, 5, 59, 101, 109, 112, 115, 9093, 9095, 9109, 9116, 9122, 1, 729, 113, 4, 2, 59, 100, 9102, 9104, 1, 8784, 111, 116, 59, 1, 8785, 105, 110, 117, 115, 59, 1, 8760, 108, 117, 115, 59, 1, 8724, 113, 117, 97, 114, 101, 59, 1, 8865, 98, 108, 101, 98, 97, 114, 119, 101, 100, 103, 101, 59, 1, 8966, 110, 4, 3, 97, 100, 104, 9153, 9160, 9172, 114, 114, 111, 119, 59, 1, 8595, 111, 119, 110, 97, 114, 114, 111, 119, 115, 59, 1, 8650, 97, 114, 112, 111, 111, 110, 4, 2, 108, 114, 9184, 9190, 101, 102, 116, 59, 1, 8643, 105, 103, 104, 116, 59, 1, 8642, 4, 2, 98, 99, 9203, 9211, 107, 97, 114, 111, 119, 59, 1, 10512, 4, 2, 111, 114, 9217, 9222, 114, 110, 59, 1, 8991, 111, 112, 59, 1, 8972, 4, 3, 99, 111, 116, 9235, 9248, 9252, 4, 2, 114, 121, 9241, 9245, 59, 3, 55349, 56505, 59, 1, 1109, 108, 59, 1, 10742, 114, 111, 107, 59, 1, 273, 4, 2, 100, 114, 9264, 9269, 111, 116, 59, 1, 8945, 105, 4, 2, 59, 102, 9276, 9278, 1, 9663, 59, 1, 9662, 4, 2, 97, 104, 9287, 9292, 114, 114, 59, 1, 8693, 97, 114, 59, 1, 10607, 97, 110, 103, 108, 101, 59, 1, 10662, 4, 2, 99, 105, 9311, 9315, 121, 59, 1, 1119, 103, 114, 97, 114, 114, 59, 1, 10239, 4, 18, 68, 97, 99, 100, 101, 102, 103, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 120, 9361, 9376, 9398, 9439, 9444, 9447, 9462, 9495, 9531, 9585, 9598, 9614, 9659, 9755, 9771, 9792, 9808, 9826, 4, 2, 68, 111, 9367, 9372, 111, 116, 59, 1, 10871, 116, 59, 1, 8785, 4, 2, 99, 115, 9382, 9392, 117, 116, 101, 5, 233, 1, 59, 9390, 1, 233, 116, 101, 114, 59, 1, 10862, 4, 4, 97, 105, 111, 121, 9408, 9414, 9430, 9436, 114, 111, 110, 59, 1, 283, 114, 4, 2, 59, 99, 9421, 9423, 1, 8790, 5, 234, 1, 59, 9428, 1, 234, 108, 111, 110, 59, 1, 8789, 59, 1, 1101, 111, 116, 59, 1, 279, 59, 1, 8519, 4, 2, 68, 114, 9453, 9458, 111, 116, 59, 1, 8786, 59, 3, 55349, 56610, 4, 3, 59, 114, 115, 9470, 9472, 9482, 1, 10906, 97, 118, 101, 5, 232, 1, 59, 9480, 1, 232, 4, 2, 59, 100, 9488, 9490, 1, 10902, 111, 116, 59, 1, 10904, 4, 4, 59, 105, 108, 115, 9505, 9507, 9515, 9518, 1, 10905, 110, 116, 101, 114, 115, 59, 1, 9191, 59, 1, 8467, 4, 2, 59, 100, 9524, 9526, 1, 10901, 111, 116, 59, 1, 10903, 4, 3, 97, 112, 115, 9539, 9544, 9564, 99, 114, 59, 1, 275, 116, 121, 4, 3, 59, 115, 118, 9554, 9556, 9561, 1, 8709, 101, 116, 59, 1, 8709, 59, 1, 8709, 112, 4, 2, 49, 59, 9571, 9583, 4, 2, 51, 52, 9577, 9580, 59, 1, 8196, 59, 1, 8197, 1, 8195, 4, 2, 103, 115, 9591, 9594, 59, 1, 331, 112, 59, 1, 8194, 4, 2, 103, 112, 9604, 9609, 111, 110, 59, 1, 281, 102, 59, 3, 55349, 56662, 4, 3, 97, 108, 115, 9622, 9635, 9640, 114, 4, 2, 59, 115, 9629, 9631, 1, 8917, 108, 59, 1, 10723, 117, 115, 59, 1, 10865, 105, 4, 3, 59, 108, 118, 9649, 9651, 9656, 1, 949, 111, 110, 59, 1, 949, 59, 1, 1013, 4, 4, 99, 115, 117, 118, 9669, 9686, 9716, 9747, 4, 2, 105, 111, 9675, 9680, 114, 99, 59, 1, 8790, 108, 111, 110, 59, 1, 8789, 4, 2, 105, 108, 9692, 9696, 109, 59, 1, 8770, 97, 110, 116, 4, 2, 103, 108, 9705, 9710, 116, 114, 59, 1, 10902, 101, 115, 115, 59, 1, 10901, 4, 3, 97, 101, 105, 9724, 9729, 9734, 108, 115, 59, 1, 61, 115, 116, 59, 1, 8799, 118, 4, 2, 59, 68, 9741, 9743, 1, 8801, 68, 59, 1, 10872, 112, 97, 114, 115, 108, 59, 1, 10725, 4, 2, 68, 97, 9761, 9766, 111, 116, 59, 1, 8787, 114, 114, 59, 1, 10609, 4, 3, 99, 100, 105, 9779, 9783, 9788, 114, 59, 1, 8495, 111, 116, 59, 1, 8784, 109, 59, 1, 8770, 4, 2, 97, 104, 9798, 9801, 59, 1, 951, 5, 240, 1, 59, 9806, 1, 240, 4, 2, 109, 114, 9814, 9822, 108, 5, 235, 1, 59, 9820, 1, 235, 111, 59, 1, 8364, 4, 3, 99, 105, 112, 9834, 9838, 9843, 108, 59, 1, 33, 115, 116, 59, 1, 8707, 4, 2, 101, 111, 9849, 9859, 99, 116, 97, 116, 105, 111, 110, 59, 1, 8496, 110, 101, 110, 116, 105, 97, 108, 101, 59, 1, 8519, 4, 12, 97, 99, 101, 102, 105, 106, 108, 110, 111, 112, 114, 115, 9896, 9910, 9914, 9921, 9954, 9960, 9967, 9989, 9994, 10027, 10036, 10164, 108, 108, 105, 110, 103, 100, 111, 116, 115, 101, 113, 59, 1, 8786, 121, 59, 1, 1092, 109, 97, 108, 101, 59, 1, 9792, 4, 3, 105, 108, 114, 9929, 9935, 9950, 108, 105, 103, 59, 1, 64259, 4, 2, 105, 108, 9941, 9945, 103, 59, 1, 64256, 105, 103, 59, 1, 64260, 59, 3, 55349, 56611, 108, 105, 103, 59, 1, 64257, 108, 105, 103, 59, 3, 102, 106, 4, 3, 97, 108, 116, 9975, 9979, 9984, 116, 59, 1, 9837, 105, 103, 59, 1, 64258, 110, 115, 59, 1, 9649, 111, 102, 59, 1, 402, 4, 2, 112, 114, 1e4, 10005, 102, 59, 3, 55349, 56663, 4, 2, 97, 107, 10011, 10016, 108, 108, 59, 1, 8704, 4, 2, 59, 118, 10022, 10024, 1, 8916, 59, 1, 10969, 97, 114, 116, 105, 110, 116, 59, 1, 10765, 4, 2, 97, 111, 10042, 10159, 4, 2, 99, 115, 10048, 10155, 4, 6, 49, 50, 51, 52, 53, 55, 10062, 10102, 10114, 10135, 10139, 10151, 4, 6, 50, 51, 52, 53, 54, 56, 10076, 10083, 10086, 10093, 10096, 10099, 5, 189, 1, 59, 10081, 1, 189, 59, 1, 8531, 5, 188, 1, 59, 10091, 1, 188, 59, 1, 8533, 59, 1, 8537, 59, 1, 8539, 4, 2, 51, 53, 10108, 10111, 59, 1, 8532, 59, 1, 8534, 4, 3, 52, 53, 56, 10122, 10129, 10132, 5, 190, 1, 59, 10127, 1, 190, 59, 1, 8535, 59, 1, 8540, 53, 59, 1, 8536, 4, 2, 54, 56, 10145, 10148, 59, 1, 8538, 59, 1, 8541, 56, 59, 1, 8542, 108, 59, 1, 8260, 119, 110, 59, 1, 8994, 99, 114, 59, 3, 55349, 56507, 4, 17, 69, 97, 98, 99, 100, 101, 102, 103, 105, 106, 108, 110, 111, 114, 115, 116, 118, 10206, 10217, 10247, 10254, 10268, 10273, 10358, 10363, 10374, 10380, 10385, 10406, 10458, 10464, 10470, 10497, 10610, 4, 2, 59, 108, 10212, 10214, 1, 8807, 59, 1, 10892, 4, 3, 99, 109, 112, 10225, 10231, 10244, 117, 116, 101, 59, 1, 501, 109, 97, 4, 2, 59, 100, 10239, 10241, 1, 947, 59, 1, 989, 59, 1, 10886, 114, 101, 118, 101, 59, 1, 287, 4, 2, 105, 121, 10260, 10265, 114, 99, 59, 1, 285, 59, 1, 1075, 111, 116, 59, 1, 289, 4, 4, 59, 108, 113, 115, 10283, 10285, 10288, 10308, 1, 8805, 59, 1, 8923, 4, 3, 59, 113, 115, 10296, 10298, 10301, 1, 8805, 59, 1, 8807, 108, 97, 110, 116, 59, 1, 10878, 4, 4, 59, 99, 100, 108, 10318, 10320, 10324, 10345, 1, 10878, 99, 59, 1, 10921, 111, 116, 4, 2, 59, 111, 10332, 10334, 1, 10880, 4, 2, 59, 108, 10340, 10342, 1, 10882, 59, 1, 10884, 4, 2, 59, 101, 10351, 10354, 3, 8923, 65024, 115, 59, 1, 10900, 114, 59, 3, 55349, 56612, 4, 2, 59, 103, 10369, 10371, 1, 8811, 59, 1, 8921, 109, 101, 108, 59, 1, 8503, 99, 121, 59, 1, 1107, 4, 4, 59, 69, 97, 106, 10395, 10397, 10400, 10403, 1, 8823, 59, 1, 10898, 59, 1, 10917, 59, 1, 10916, 4, 4, 69, 97, 101, 115, 10416, 10419, 10434, 10453, 59, 1, 8809, 112, 4, 2, 59, 112, 10426, 10428, 1, 10890, 114, 111, 120, 59, 1, 10890, 4, 2, 59, 113, 10440, 10442, 1, 10888, 4, 2, 59, 113, 10448, 10450, 1, 10888, 59, 1, 8809, 105, 109, 59, 1, 8935, 112, 102, 59, 3, 55349, 56664, 97, 118, 101, 59, 1, 96, 4, 2, 99, 105, 10476, 10480, 114, 59, 1, 8458, 109, 4, 3, 59, 101, 108, 10489, 10491, 10494, 1, 8819, 59, 1, 10894, 59, 1, 10896, 5, 62, 6, 59, 99, 100, 108, 113, 114, 10512, 10514, 10527, 10532, 10538, 10545, 1, 62, 4, 2, 99, 105, 10520, 10523, 59, 1, 10919, 114, 59, 1, 10874, 111, 116, 59, 1, 8919, 80, 97, 114, 59, 1, 10645, 117, 101, 115, 116, 59, 1, 10876, 4, 5, 97, 100, 101, 108, 115, 10557, 10574, 10579, 10599, 10605, 4, 2, 112, 114, 10563, 10570, 112, 114, 111, 120, 59, 1, 10886, 114, 59, 1, 10616, 111, 116, 59, 1, 8919, 113, 4, 2, 108, 113, 10586, 10592, 101, 115, 115, 59, 1, 8923, 108, 101, 115, 115, 59, 1, 10892, 101, 115, 115, 59, 1, 8823, 105, 109, 59, 1, 8819, 4, 2, 101, 110, 10616, 10626, 114, 116, 110, 101, 113, 113, 59, 3, 8809, 65024, 69, 59, 3, 8809, 65024, 4, 10, 65, 97, 98, 99, 101, 102, 107, 111, 115, 121, 10653, 10658, 10713, 10718, 10724, 10760, 10765, 10786, 10850, 10875, 114, 114, 59, 1, 8660, 4, 4, 105, 108, 109, 114, 10668, 10674, 10678, 10684, 114, 115, 112, 59, 1, 8202, 102, 59, 1, 189, 105, 108, 116, 59, 1, 8459, 4, 2, 100, 114, 10690, 10695, 99, 121, 59, 1, 1098, 4, 3, 59, 99, 119, 10703, 10705, 10710, 1, 8596, 105, 114, 59, 1, 10568, 59, 1, 8621, 97, 114, 59, 1, 8463, 105, 114, 99, 59, 1, 293, 4, 3, 97, 108, 114, 10732, 10748, 10754, 114, 116, 115, 4, 2, 59, 117, 10741, 10743, 1, 9829, 105, 116, 59, 1, 9829, 108, 105, 112, 59, 1, 8230, 99, 111, 110, 59, 1, 8889, 114, 59, 3, 55349, 56613, 115, 4, 2, 101, 119, 10772, 10779, 97, 114, 111, 119, 59, 1, 10533, 97, 114, 111, 119, 59, 1, 10534, 4, 5, 97, 109, 111, 112, 114, 10798, 10803, 10809, 10839, 10844, 114, 114, 59, 1, 8703, 116, 104, 116, 59, 1, 8763, 107, 4, 2, 108, 114, 10816, 10827, 101, 102, 116, 97, 114, 114, 111, 119, 59, 1, 8617, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 1, 8618, 102, 59, 3, 55349, 56665, 98, 97, 114, 59, 1, 8213, 4, 3, 99, 108, 116, 10858, 10863, 10869, 114, 59, 3, 55349, 56509, 97, 115, 104, 59, 1, 8463, 114, 111, 107, 59, 1, 295, 4, 2, 98, 112, 10881, 10887, 117, 108, 108, 59, 1, 8259, 104, 101, 110, 59, 1, 8208, 4, 15, 97, 99, 101, 102, 103, 105, 106, 109, 110, 111, 112, 113, 115, 116, 117, 10925, 10936, 10958, 10977, 10990, 11001, 11039, 11045, 11101, 11192, 11220, 11226, 11237, 11285, 11299, 99, 117, 116, 101, 5, 237, 1, 59, 10934, 1, 237, 4, 3, 59, 105, 121, 10944, 10946, 10955, 1, 8291, 114, 99, 5, 238, 1, 59, 10953, 1, 238, 59, 1, 1080, 4, 2, 99, 120, 10964, 10968, 121, 59, 1, 1077, 99, 108, 5, 161, 1, 59, 10975, 1, 161, 4, 2, 102, 114, 10983, 10986, 59, 1, 8660, 59, 3, 55349, 56614, 114, 97, 118, 101, 5, 236, 1, 59, 10999, 1, 236, 4, 4, 59, 105, 110, 111, 11011, 11013, 11028, 11034, 1, 8520, 4, 2, 105, 110, 11019, 11024, 110, 116, 59, 1, 10764, 116, 59, 1, 8749, 102, 105, 110, 59, 1, 10716, 116, 97, 59, 1, 8489, 108, 105, 103, 59, 1, 307, 4, 3, 97, 111, 112, 11053, 11092, 11096, 4, 3, 99, 103, 116, 11061, 11065, 11088, 114, 59, 1, 299, 4, 3, 101, 108, 112, 11073, 11076, 11082, 59, 1, 8465, 105, 110, 101, 59, 1, 8464, 97, 114, 116, 59, 1, 8465, 104, 59, 1, 305, 102, 59, 1, 8887, 101, 100, 59, 1, 437, 4, 5, 59, 99, 102, 111, 116, 11113, 11115, 11121, 11136, 11142, 1, 8712, 97, 114, 101, 59, 1, 8453, 105, 110, 4, 2, 59, 116, 11129, 11131, 1, 8734, 105, 101, 59, 1, 10717, 100, 111, 116, 59, 1, 305, 4, 5, 59, 99, 101, 108, 112, 11154, 11156, 11161, 11179, 11186, 1, 8747, 97, 108, 59, 1, 8890, 4, 2, 103, 114, 11167, 11173, 101, 114, 115, 59, 1, 8484, 99, 97, 108, 59, 1, 8890, 97, 114, 104, 107, 59, 1, 10775, 114, 111, 100, 59, 1, 10812, 4, 4, 99, 103, 112, 116, 11202, 11206, 11211, 11216, 121, 59, 1, 1105, 111, 110, 59, 1, 303, 102, 59, 3, 55349, 56666, 97, 59, 1, 953, 114, 111, 100, 59, 1, 10812, 117, 101, 115, 116, 5, 191, 1, 59, 11235, 1, 191, 4, 2, 99, 105, 11243, 11248, 114, 59, 3, 55349, 56510, 110, 4, 5, 59, 69, 100, 115, 118, 11261, 11263, 11266, 11271, 11282, 1, 8712, 59, 1, 8953, 111, 116, 59, 1, 8949, 4, 2, 59, 118, 11277, 11279, 1, 8948, 59, 1, 8947, 59, 1, 8712, 4, 2, 59, 105, 11291, 11293, 1, 8290, 108, 100, 101, 59, 1, 297, 4, 2, 107, 109, 11305, 11310, 99, 121, 59, 1, 1110, 108, 5, 239, 1, 59, 11316, 1, 239, 4, 6, 99, 102, 109, 111, 115, 117, 11332, 11346, 11351, 11357, 11363, 11380, 4, 2, 105, 121, 11338, 11343, 114, 99, 59, 1, 309, 59, 1, 1081, 114, 59, 3, 55349, 56615, 97, 116, 104, 59, 1, 567, 112, 102, 59, 3, 55349, 56667, 4, 2, 99, 101, 11369, 11374, 114, 59, 3, 55349, 56511, 114, 99, 121, 59, 1, 1112, 107, 99, 121, 59, 1, 1108, 4, 8, 97, 99, 102, 103, 104, 106, 111, 115, 11404, 11418, 11433, 11438, 11445, 11450, 11455, 11461, 112, 112, 97, 4, 2, 59, 118, 11413, 11415, 1, 954, 59, 1, 1008, 4, 2, 101, 121, 11424, 11430, 100, 105, 108, 59, 1, 311, 59, 1, 1082, 114, 59, 3, 55349, 56616, 114, 101, 101, 110, 59, 1, 312, 99, 121, 59, 1, 1093, 99, 121, 59, 1, 1116, 112, 102, 59, 3, 55349, 56668, 99, 114, 59, 3, 55349, 56512, 4, 23, 65, 66, 69, 72, 97, 98, 99, 100, 101, 102, 103, 104, 106, 108, 109, 110, 111, 112, 114, 115, 116, 117, 118, 11515, 11538, 11544, 11555, 11560, 11721, 11780, 11818, 11868, 12136, 12160, 12171, 12203, 12208, 12246, 12275, 12327, 12509, 12523, 12569, 12641, 12732, 12752, 4, 3, 97, 114, 116, 11523, 11528, 11532, 114, 114, 59, 1, 8666, 114, 59, 1, 8656, 97, 105, 108, 59, 1, 10523, 97, 114, 114, 59, 1, 10510, 4, 2, 59, 103, 11550, 11552, 1, 8806, 59, 1, 10891, 97, 114, 59, 1, 10594, 4, 9, 99, 101, 103, 109, 110, 112, 113, 114, 116, 11580, 11586, 11594, 11600, 11606, 11624, 11627, 11636, 11694, 117, 116, 101, 59, 1, 314, 109, 112, 116, 121, 118, 59, 1, 10676, 114, 97, 110, 59, 1, 8466, 98, 100, 97, 59, 1, 955, 103, 4, 3, 59, 100, 108, 11615, 11617, 11620, 1, 10216, 59, 1, 10641, 101, 59, 1, 10216, 59, 1, 10885, 117, 111, 5, 171, 1, 59, 11634, 1, 171, 114, 4, 8, 59, 98, 102, 104, 108, 112, 115, 116, 11655, 11657, 11669, 11673, 11677, 11681, 11685, 11690, 1, 8592, 4, 2, 59, 102, 11663, 11665, 1, 8676, 115, 59, 1, 10527, 115, 59, 1, 10525, 107, 59, 1, 8617, 112, 59, 1, 8619, 108, 59, 1, 10553, 105, 109, 59, 1, 10611, 108, 59, 1, 8610, 4, 3, 59, 97, 101, 11702, 11704, 11709, 1, 10923, 105, 108, 59, 1, 10521, 4, 2, 59, 115, 11715, 11717, 1, 10925, 59, 3, 10925, 65024, 4, 3, 97, 98, 114, 11729, 11734, 11739, 114, 114, 59, 1, 10508, 114, 107, 59, 1, 10098, 4, 2, 97, 107, 11745, 11758, 99, 4, 2, 101, 107, 11752, 11755, 59, 1, 123, 59, 1, 91, 4, 2, 101, 115, 11764, 11767, 59, 1, 10635, 108, 4, 2, 100, 117, 11774, 11777, 59, 1, 10639, 59, 1, 10637, 4, 4, 97, 101, 117, 121, 11790, 11796, 11811, 11815, 114, 111, 110, 59, 1, 318, 4, 2, 100, 105, 11802, 11807, 105, 108, 59, 1, 316, 108, 59, 1, 8968, 98, 59, 1, 123, 59, 1, 1083, 4, 4, 99, 113, 114, 115, 11828, 11832, 11845, 11864, 97, 59, 1, 10550, 117, 111, 4, 2, 59, 114, 11840, 11842, 1, 8220, 59, 1, 8222, 4, 2, 100, 117, 11851, 11857, 104, 97, 114, 59, 1, 10599, 115, 104, 97, 114, 59, 1, 10571, 104, 59, 1, 8626, 4, 5, 59, 102, 103, 113, 115, 11880, 11882, 12008, 12011, 12031, 1, 8804, 116, 4, 5, 97, 104, 108, 114, 116, 11895, 11913, 11935, 11947, 11996, 114, 114, 111, 119, 4, 2, 59, 116, 11905, 11907, 1, 8592, 97, 105, 108, 59, 1, 8610, 97, 114, 112, 111, 111, 110, 4, 2, 100, 117, 11925, 11931, 111, 119, 110, 59, 1, 8637, 112, 59, 1, 8636, 101, 102, 116, 97, 114, 114, 111, 119, 115, 59, 1, 8647, 105, 103, 104, 116, 4, 3, 97, 104, 115, 11959, 11974, 11984, 114, 114, 111, 119, 4, 2, 59, 115, 11969, 11971, 1, 8596, 59, 1, 8646, 97, 114, 112, 111, 111, 110, 115, 59, 1, 8651, 113, 117, 105, 103, 97, 114, 114, 111, 119, 59, 1, 8621, 104, 114, 101, 101, 116, 105, 109, 101, 115, 59, 1, 8907, 59, 1, 8922, 4, 3, 59, 113, 115, 12019, 12021, 12024, 1, 8804, 59, 1, 8806, 108, 97, 110, 116, 59, 1, 10877, 4, 5, 59, 99, 100, 103, 115, 12043, 12045, 12049, 12070, 12083, 1, 10877, 99, 59, 1, 10920, 111, 116, 4, 2, 59, 111, 12057, 12059, 1, 10879, 4, 2, 59, 114, 12065, 12067, 1, 10881, 59, 1, 10883, 4, 2, 59, 101, 12076, 12079, 3, 8922, 65024, 115, 59, 1, 10899, 4, 5, 97, 100, 101, 103, 115, 12095, 12103, 12108, 12126, 12131, 112, 112, 114, 111, 120, 59, 1, 10885, 111, 116, 59, 1, 8918, 113, 4, 2, 103, 113, 12115, 12120, 116, 114, 59, 1, 8922, 103, 116, 114, 59, 1, 10891, 116, 114, 59, 1, 8822, 105, 109, 59, 1, 8818, 4, 3, 105, 108, 114, 12144, 12150, 12156, 115, 104, 116, 59, 1, 10620, 111, 111, 114, 59, 1, 8970, 59, 3, 55349, 56617, 4, 2, 59, 69, 12166, 12168, 1, 8822, 59, 1, 10897, 4, 2, 97, 98, 12177, 12198, 114, 4, 2, 100, 117, 12184, 12187, 59, 1, 8637, 4, 2, 59, 108, 12193, 12195, 1, 8636, 59, 1, 10602, 108, 107, 59, 1, 9604, 99, 121, 59, 1, 1113, 4, 5, 59, 97, 99, 104, 116, 12220, 12222, 12227, 12235, 12241, 1, 8810, 114, 114, 59, 1, 8647, 111, 114, 110, 101, 114, 59, 1, 8990, 97, 114, 100, 59, 1, 10603, 114, 105, 59, 1, 9722, 4, 2, 105, 111, 12252, 12258, 100, 111, 116, 59, 1, 320, 117, 115, 116, 4, 2, 59, 97, 12267, 12269, 1, 9136, 99, 104, 101, 59, 1, 9136, 4, 4, 69, 97, 101, 115, 12285, 12288, 12303, 12322, 59, 1, 8808, 112, 4, 2, 59, 112, 12295, 12297, 1, 10889, 114, 111, 120, 59, 1, 10889, 4, 2, 59, 113, 12309, 12311, 1, 10887, 4, 2, 59, 113, 12317, 12319, 1, 10887, 59, 1, 8808, 105, 109, 59, 1, 8934, 4, 8, 97, 98, 110, 111, 112, 116, 119, 122, 12345, 12359, 12364, 12421, 12446, 12467, 12474, 12490, 4, 2, 110, 114, 12351, 12355, 103, 59, 1, 10220, 114, 59, 1, 8701, 114, 107, 59, 1, 10214, 103, 4, 3, 108, 109, 114, 12373, 12401, 12409, 101, 102, 116, 4, 2, 97, 114, 12382, 12389, 114, 114, 111, 119, 59, 1, 10229, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 1, 10231, 97, 112, 115, 116, 111, 59, 1, 10236, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 1, 10230, 112, 97, 114, 114, 111, 119, 4, 2, 108, 114, 12433, 12439, 101, 102, 116, 59, 1, 8619, 105, 103, 104, 116, 59, 1, 8620, 4, 3, 97, 102, 108, 12454, 12458, 12462, 114, 59, 1, 10629, 59, 3, 55349, 56669, 117, 115, 59, 1, 10797, 105, 109, 101, 115, 59, 1, 10804, 4, 2, 97, 98, 12480, 12485, 115, 116, 59, 1, 8727, 97, 114, 59, 1, 95, 4, 3, 59, 101, 102, 12498, 12500, 12506, 1, 9674, 110, 103, 101, 59, 1, 9674, 59, 1, 10731, 97, 114, 4, 2, 59, 108, 12517, 12519, 1, 40, 116, 59, 1, 10643, 4, 5, 97, 99, 104, 109, 116, 12535, 12540, 12548, 12561, 12564, 114, 114, 59, 1, 8646, 111, 114, 110, 101, 114, 59, 1, 8991, 97, 114, 4, 2, 59, 100, 12556, 12558, 1, 8651, 59, 1, 10605, 59, 1, 8206, 114, 105, 59, 1, 8895, 4, 6, 97, 99, 104, 105, 113, 116, 12583, 12589, 12594, 12597, 12614, 12635, 113, 117, 111, 59, 1, 8249, 114, 59, 3, 55349, 56513, 59, 1, 8624, 109, 4, 3, 59, 101, 103, 12606, 12608, 12611, 1, 8818, 59, 1, 10893, 59, 1, 10895, 4, 2, 98, 117, 12620, 12623, 59, 1, 91, 111, 4, 2, 59, 114, 12630, 12632, 1, 8216, 59, 1, 8218, 114, 111, 107, 59, 1, 322, 5, 60, 8, 59, 99, 100, 104, 105, 108, 113, 114, 12660, 12662, 12675, 12680, 12686, 12692, 12698, 12705, 1, 60, 4, 2, 99, 105, 12668, 12671, 59, 1, 10918, 114, 59, 1, 10873, 111, 116, 59, 1, 8918, 114, 101, 101, 59, 1, 8907, 109, 101, 115, 59, 1, 8905, 97, 114, 114, 59, 1, 10614, 117, 101, 115, 116, 59, 1, 10875, 4, 2, 80, 105, 12711, 12716, 97, 114, 59, 1, 10646, 4, 3, 59, 101, 102, 12724, 12726, 12729, 1, 9667, 59, 1, 8884, 59, 1, 9666, 114, 4, 2, 100, 117, 12739, 12746, 115, 104, 97, 114, 59, 1, 10570, 104, 97, 114, 59, 1, 10598, 4, 2, 101, 110, 12758, 12768, 114, 116, 110, 101, 113, 113, 59, 3, 8808, 65024, 69, 59, 3, 8808, 65024, 4, 14, 68, 97, 99, 100, 101, 102, 104, 105, 108, 110, 111, 112, 115, 117, 12803, 12809, 12893, 12908, 12914, 12928, 12933, 12937, 13011, 13025, 13032, 13049, 13052, 13069, 68, 111, 116, 59, 1, 8762, 4, 4, 99, 108, 112, 114, 12819, 12827, 12849, 12887, 114, 5, 175, 1, 59, 12825, 1, 175, 4, 2, 101, 116, 12833, 12836, 59, 1, 9794, 4, 2, 59, 101, 12842, 12844, 1, 10016, 115, 101, 59, 1, 10016, 4, 2, 59, 115, 12855, 12857, 1, 8614, 116, 111, 4, 4, 59, 100, 108, 117, 12869, 12871, 12877, 12883, 1, 8614, 111, 119, 110, 59, 1, 8615, 101, 102, 116, 59, 1, 8612, 112, 59, 1, 8613, 107, 101, 114, 59, 1, 9646, 4, 2, 111, 121, 12899, 12905, 109, 109, 97, 59, 1, 10793, 59, 1, 1084, 97, 115, 104, 59, 1, 8212, 97, 115, 117, 114, 101, 100, 97, 110, 103, 108, 101, 59, 1, 8737, 114, 59, 3, 55349, 56618, 111, 59, 1, 8487, 4, 3, 99, 100, 110, 12945, 12954, 12985, 114, 111, 5, 181, 1, 59, 12952, 1, 181, 4, 4, 59, 97, 99, 100, 12964, 12966, 12971, 12976, 1, 8739, 115, 116, 59, 1, 42, 105, 114, 59, 1, 10992, 111, 116, 5, 183, 1, 59, 12983, 1, 183, 117, 115, 4, 3, 59, 98, 100, 12995, 12997, 13e3, 1, 8722, 59, 1, 8863, 4, 2, 59, 117, 13006, 13008, 1, 8760, 59, 1, 10794, 4, 2, 99, 100, 13017, 13021, 112, 59, 1, 10971, 114, 59, 1, 8230, 112, 108, 117, 115, 59, 1, 8723, 4, 2, 100, 112, 13038, 13044, 101, 108, 115, 59, 1, 8871, 102, 59, 3, 55349, 56670, 59, 1, 8723, 4, 2, 99, 116, 13058, 13063, 114, 59, 3, 55349, 56514, 112, 111, 115, 59, 1, 8766, 4, 3, 59, 108, 109, 13077, 13079, 13087, 1, 956, 116, 105, 109, 97, 112, 59, 1, 8888, 97, 112, 59, 1, 8888, 4, 24, 71, 76, 82, 86, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 108, 109, 111, 112, 114, 115, 116, 117, 118, 119, 13142, 13165, 13217, 13229, 13247, 13330, 13359, 13414, 13420, 13508, 13513, 13579, 13602, 13626, 13631, 13762, 13767, 13855, 13936, 13995, 14214, 14285, 14312, 14432, 4, 2, 103, 116, 13148, 13152, 59, 3, 8921, 824, 4, 2, 59, 118, 13158, 13161, 3, 8811, 8402, 59, 3, 8811, 824, 4, 3, 101, 108, 116, 13173, 13200, 13204, 102, 116, 4, 2, 97, 114, 13181, 13188, 114, 114, 111, 119, 59, 1, 8653, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 1, 8654, 59, 3, 8920, 824, 4, 2, 59, 118, 13210, 13213, 3, 8810, 8402, 59, 3, 8810, 824, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 1, 8655, 4, 2, 68, 100, 13235, 13241, 97, 115, 104, 59, 1, 8879, 97, 115, 104, 59, 1, 8878, 4, 5, 98, 99, 110, 112, 116, 13259, 13264, 13270, 13275, 13308, 108, 97, 59, 1, 8711, 117, 116, 101, 59, 1, 324, 103, 59, 3, 8736, 8402, 4, 5, 59, 69, 105, 111, 112, 13287, 13289, 13293, 13298, 13302, 1, 8777, 59, 3, 10864, 824, 100, 59, 3, 8779, 824, 115, 59, 1, 329, 114, 111, 120, 59, 1, 8777, 117, 114, 4, 2, 59, 97, 13316, 13318, 1, 9838, 108, 4, 2, 59, 115, 13325, 13327, 1, 9838, 59, 1, 8469, 4, 2, 115, 117, 13336, 13344, 112, 5, 160, 1, 59, 13342, 1, 160, 109, 112, 4, 2, 59, 101, 13352, 13355, 3, 8782, 824, 59, 3, 8783, 824, 4, 5, 97, 101, 111, 117, 121, 13371, 13385, 13391, 13407, 13411, 4, 2, 112, 114, 13377, 13380, 59, 1, 10819, 111, 110, 59, 1, 328, 100, 105, 108, 59, 1, 326, 110, 103, 4, 2, 59, 100, 13399, 13401, 1, 8775, 111, 116, 59, 3, 10861, 824, 112, 59, 1, 10818, 59, 1, 1085, 97, 115, 104, 59, 1, 8211, 4, 7, 59, 65, 97, 100, 113, 115, 120, 13436, 13438, 13443, 13466, 13472, 13478, 13494, 1, 8800, 114, 114, 59, 1, 8663, 114, 4, 2, 104, 114, 13450, 13454, 107, 59, 1, 10532, 4, 2, 59, 111, 13460, 13462, 1, 8599, 119, 59, 1, 8599, 111, 116, 59, 3, 8784, 824, 117, 105, 118, 59, 1, 8802, 4, 2, 101, 105, 13484, 13489, 97, 114, 59, 1, 10536, 109, 59, 3, 8770, 824, 105, 115, 116, 4, 2, 59, 115, 13503, 13505, 1, 8708, 59, 1, 8708, 114, 59, 3, 55349, 56619, 4, 4, 69, 101, 115, 116, 13523, 13527, 13563, 13568, 59, 3, 8807, 824, 4, 3, 59, 113, 115, 13535, 13537, 13559, 1, 8817, 4, 3, 59, 113, 115, 13545, 13547, 13551, 1, 8817, 59, 3, 8807, 824, 108, 97, 110, 116, 59, 3, 10878, 824, 59, 3, 10878, 824, 105, 109, 59, 1, 8821, 4, 2, 59, 114, 13574, 13576, 1, 8815, 59, 1, 8815, 4, 3, 65, 97, 112, 13587, 13592, 13597, 114, 114, 59, 1, 8654, 114, 114, 59, 1, 8622, 97, 114, 59, 1, 10994, 4, 3, 59, 115, 118, 13610, 13612, 13623, 1, 8715, 4, 2, 59, 100, 13618, 13620, 1, 8956, 59, 1, 8954, 59, 1, 8715, 99, 121, 59, 1, 1114, 4, 7, 65, 69, 97, 100, 101, 115, 116, 13647, 13652, 13656, 13661, 13665, 13737, 13742, 114, 114, 59, 1, 8653, 59, 3, 8806, 824, 114, 114, 59, 1, 8602, 114, 59, 1, 8229, 4, 4, 59, 102, 113, 115, 13675, 13677, 13703, 13725, 1, 8816, 116, 4, 2, 97, 114, 13684, 13691, 114, 114, 111, 119, 59, 1, 8602, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 1, 8622, 4, 3, 59, 113, 115, 13711, 13713, 13717, 1, 8816, 59, 3, 8806, 824, 108, 97, 110, 116, 59, 3, 10877, 824, 4, 2, 59, 115, 13731, 13734, 3, 10877, 824, 59, 1, 8814, 105, 109, 59, 1, 8820, 4, 2, 59, 114, 13748, 13750, 1, 8814, 105, 4, 2, 59, 101, 13757, 13759, 1, 8938, 59, 1, 8940, 105, 100, 59, 1, 8740, 4, 2, 112, 116, 13773, 13778, 102, 59, 3, 55349, 56671, 5, 172, 3, 59, 105, 110, 13787, 13789, 13829, 1, 172, 110, 4, 4, 59, 69, 100, 118, 13800, 13802, 13806, 13812, 1, 8713, 59, 3, 8953, 824, 111, 116, 59, 3, 8949, 824, 4, 3, 97, 98, 99, 13820, 13823, 13826, 59, 1, 8713, 59, 1, 8951, 59, 1, 8950, 105, 4, 2, 59, 118, 13836, 13838, 1, 8716, 4, 3, 97, 98, 99, 13846, 13849, 13852, 59, 1, 8716, 59, 1, 8958, 59, 1, 8957, 4, 3, 97, 111, 114, 13863, 13892, 13899, 114, 4, 4, 59, 97, 115, 116, 13874, 13876, 13883, 13888, 1, 8742, 108, 108, 101, 108, 59, 1, 8742, 108, 59, 3, 11005, 8421, 59, 3, 8706, 824, 108, 105, 110, 116, 59, 1, 10772, 4, 3, 59, 99, 101, 13907, 13909, 13914, 1, 8832, 117, 101, 59, 1, 8928, 4, 2, 59, 99, 13920, 13923, 3, 10927, 824, 4, 2, 59, 101, 13929, 13931, 1, 8832, 113, 59, 3, 10927, 824, 4, 4, 65, 97, 105, 116, 13946, 13951, 13971, 13982, 114, 114, 59, 1, 8655, 114, 114, 4, 3, 59, 99, 119, 13961, 13963, 13967, 1, 8603, 59, 3, 10547, 824, 59, 3, 8605, 824, 103, 104, 116, 97, 114, 114, 111, 119, 59, 1, 8603, 114, 105, 4, 2, 59, 101, 13990, 13992, 1, 8939, 59, 1, 8941, 4, 7, 99, 104, 105, 109, 112, 113, 117, 14011, 14036, 14060, 14080, 14085, 14090, 14106, 4, 4, 59, 99, 101, 114, 14021, 14023, 14028, 14032, 1, 8833, 117, 101, 59, 1, 8929, 59, 3, 10928, 824, 59, 3, 55349, 56515, 111, 114, 116, 4, 2, 109, 112, 14045, 14050, 105, 100, 59, 1, 8740, 97, 114, 97, 108, 108, 101, 108, 59, 1, 8742, 109, 4, 2, 59, 101, 14067, 14069, 1, 8769, 4, 2, 59, 113, 14075, 14077, 1, 8772, 59, 1, 8772, 105, 100, 59, 1, 8740, 97, 114, 59, 1, 8742, 115, 117, 4, 2, 98, 112, 14098, 14102, 101, 59, 1, 8930, 101, 59, 1, 8931, 4, 3, 98, 99, 112, 14114, 14157, 14171, 4, 4, 59, 69, 101, 115, 14124, 14126, 14130, 14133, 1, 8836, 59, 3, 10949, 824, 59, 1, 8840, 101, 116, 4, 2, 59, 101, 14141, 14144, 3, 8834, 8402, 113, 4, 2, 59, 113, 14151, 14153, 1, 8840, 59, 3, 10949, 824, 99, 4, 2, 59, 101, 14164, 14166, 1, 8833, 113, 59, 3, 10928, 824, 4, 4, 59, 69, 101, 115, 14181, 14183, 14187, 14190, 1, 8837, 59, 3, 10950, 824, 59, 1, 8841, 101, 116, 4, 2, 59, 101, 14198, 14201, 3, 8835, 8402, 113, 4, 2, 59, 113, 14208, 14210, 1, 8841, 59, 3, 10950, 824, 4, 4, 103, 105, 108, 114, 14224, 14228, 14238, 14242, 108, 59, 1, 8825, 108, 100, 101, 5, 241, 1, 59, 14236, 1, 241, 103, 59, 1, 8824, 105, 97, 110, 103, 108, 101, 4, 2, 108, 114, 14254, 14269, 101, 102, 116, 4, 2, 59, 101, 14263, 14265, 1, 8938, 113, 59, 1, 8940, 105, 103, 104, 116, 4, 2, 59, 101, 14279, 14281, 1, 8939, 113, 59, 1, 8941, 4, 2, 59, 109, 14291, 14293, 1, 957, 4, 3, 59, 101, 115, 14301, 14303, 14308, 1, 35, 114, 111, 59, 1, 8470, 112, 59, 1, 8199, 4, 9, 68, 72, 97, 100, 103, 105, 108, 114, 115, 14332, 14338, 14344, 14349, 14355, 14369, 14376, 14408, 14426, 97, 115, 104, 59, 1, 8877, 97, 114, 114, 59, 1, 10500, 112, 59, 3, 8781, 8402, 97, 115, 104, 59, 1, 8876, 4, 2, 101, 116, 14361, 14365, 59, 3, 8805, 8402, 59, 3, 62, 8402, 110, 102, 105, 110, 59, 1, 10718, 4, 3, 65, 101, 116, 14384, 14389, 14393, 114, 114, 59, 1, 10498, 59, 3, 8804, 8402, 4, 2, 59, 114, 14399, 14402, 3, 60, 8402, 105, 101, 59, 3, 8884, 8402, 4, 2, 65, 116, 14414, 14419, 114, 114, 59, 1, 10499, 114, 105, 101, 59, 3, 8885, 8402, 105, 109, 59, 3, 8764, 8402, 4, 3, 65, 97, 110, 14440, 14445, 14468, 114, 114, 59, 1, 8662, 114, 4, 2, 104, 114, 14452, 14456, 107, 59, 1, 10531, 4, 2, 59, 111, 14462, 14464, 1, 8598, 119, 59, 1, 8598, 101, 97, 114, 59, 1, 10535, 4, 18, 83, 97, 99, 100, 101, 102, 103, 104, 105, 108, 109, 111, 112, 114, 115, 116, 117, 118, 14512, 14515, 14535, 14560, 14597, 14603, 14618, 14643, 14657, 14662, 14701, 14741, 14747, 14769, 14851, 14877, 14907, 14916, 59, 1, 9416, 4, 2, 99, 115, 14521, 14531, 117, 116, 101, 5, 243, 1, 59, 14529, 1, 243, 116, 59, 1, 8859, 4, 2, 105, 121, 14541, 14557, 114, 4, 2, 59, 99, 14548, 14550, 1, 8858, 5, 244, 1, 59, 14555, 1, 244, 59, 1, 1086, 4, 5, 97, 98, 105, 111, 115, 14572, 14577, 14583, 14587, 14591, 115, 104, 59, 1, 8861, 108, 97, 99, 59, 1, 337, 118, 59, 1, 10808, 116, 59, 1, 8857, 111, 108, 100, 59, 1, 10684, 108, 105, 103, 59, 1, 339, 4, 2, 99, 114, 14609, 14614, 105, 114, 59, 1, 10687, 59, 3, 55349, 56620, 4, 3, 111, 114, 116, 14626, 14630, 14640, 110, 59, 1, 731, 97, 118, 101, 5, 242, 1, 59, 14638, 1, 242, 59, 1, 10689, 4, 2, 98, 109, 14649, 14654, 97, 114, 59, 1, 10677, 59, 1, 937, 110, 116, 59, 1, 8750, 4, 4, 97, 99, 105, 116, 14672, 14677, 14693, 14698, 114, 114, 59, 1, 8634, 4, 2, 105, 114, 14683, 14687, 114, 59, 1, 10686, 111, 115, 115, 59, 1, 10683, 110, 101, 59, 1, 8254, 59, 1, 10688, 4, 3, 97, 101, 105, 14709, 14714, 14719, 99, 114, 59, 1, 333, 103, 97, 59, 1, 969, 4, 3, 99, 100, 110, 14727, 14733, 14736, 114, 111, 110, 59, 1, 959, 59, 1, 10678, 117, 115, 59, 1, 8854, 112, 102, 59, 3, 55349, 56672, 4, 3, 97, 101, 108, 14755, 14759, 14764, 114, 59, 1, 10679, 114, 112, 59, 1, 10681, 117, 115, 59, 1, 8853, 4, 7, 59, 97, 100, 105, 111, 115, 118, 14785, 14787, 14792, 14831, 14837, 14841, 14848, 1, 8744, 114, 114, 59, 1, 8635, 4, 4, 59, 101, 102, 109, 14802, 14804, 14817, 14824, 1, 10845, 114, 4, 2, 59, 111, 14811, 14813, 1, 8500, 102, 59, 1, 8500, 5, 170, 1, 59, 14822, 1, 170, 5, 186, 1, 59, 14829, 1, 186, 103, 111, 102, 59, 1, 8886, 114, 59, 1, 10838, 108, 111, 112, 101, 59, 1, 10839, 59, 1, 10843, 4, 3, 99, 108, 111, 14859, 14863, 14873, 114, 59, 1, 8500, 97, 115, 104, 5, 248, 1, 59, 14871, 1, 248, 108, 59, 1, 8856, 105, 4, 2, 108, 109, 14884, 14893, 100, 101, 5, 245, 1, 59, 14891, 1, 245, 101, 115, 4, 2, 59, 97, 14901, 14903, 1, 8855, 115, 59, 1, 10806, 109, 108, 5, 246, 1, 59, 14914, 1, 246, 98, 97, 114, 59, 1, 9021, 4, 12, 97, 99, 101, 102, 104, 105, 108, 109, 111, 114, 115, 117, 14948, 14992, 14996, 15033, 15038, 15068, 15090, 15189, 15192, 15222, 15427, 15441, 114, 4, 4, 59, 97, 115, 116, 14959, 14961, 14976, 14989, 1, 8741, 5, 182, 2, 59, 108, 14968, 14970, 1, 182, 108, 101, 108, 59, 1, 8741, 4, 2, 105, 108, 14982, 14986, 109, 59, 1, 10995, 59, 1, 11005, 59, 1, 8706, 121, 59, 1, 1087, 114, 4, 5, 99, 105, 109, 112, 116, 15009, 15014, 15019, 15024, 15027, 110, 116, 59, 1, 37, 111, 100, 59, 1, 46, 105, 108, 59, 1, 8240, 59, 1, 8869, 101, 110, 107, 59, 1, 8241, 114, 59, 3, 55349, 56621, 4, 3, 105, 109, 111, 15046, 15057, 15063, 4, 2, 59, 118, 15052, 15054, 1, 966, 59, 1, 981, 109, 97, 116, 59, 1, 8499, 110, 101, 59, 1, 9742, 4, 3, 59, 116, 118, 15076, 15078, 15087, 1, 960, 99, 104, 102, 111, 114, 107, 59, 1, 8916, 59, 1, 982, 4, 2, 97, 117, 15096, 15119, 110, 4, 2, 99, 107, 15103, 15115, 107, 4, 2, 59, 104, 15110, 15112, 1, 8463, 59, 1, 8462, 118, 59, 1, 8463, 115, 4, 9, 59, 97, 98, 99, 100, 101, 109, 115, 116, 15140, 15142, 15148, 15151, 15156, 15168, 15171, 15179, 15184, 1, 43, 99, 105, 114, 59, 1, 10787, 59, 1, 8862, 105, 114, 59, 1, 10786, 4, 2, 111, 117, 15162, 15165, 59, 1, 8724, 59, 1, 10789, 59, 1, 10866, 110, 5, 177, 1, 59, 15177, 1, 177, 105, 109, 59, 1, 10790, 119, 111, 59, 1, 10791, 59, 1, 177, 4, 3, 105, 112, 117, 15200, 15208, 15213, 110, 116, 105, 110, 116, 59, 1, 10773, 102, 59, 3, 55349, 56673, 110, 100, 5, 163, 1, 59, 15220, 1, 163, 4, 10, 59, 69, 97, 99, 101, 105, 110, 111, 115, 117, 15244, 15246, 15249, 15253, 15258, 15334, 15347, 15367, 15416, 15421, 1, 8826, 59, 1, 10931, 112, 59, 1, 10935, 117, 101, 59, 1, 8828, 4, 2, 59, 99, 15264, 15266, 1, 10927, 4, 6, 59, 97, 99, 101, 110, 115, 15280, 15282, 15290, 15299, 15303, 15329, 1, 8826, 112, 112, 114, 111, 120, 59, 1, 10935, 117, 114, 108, 121, 101, 113, 59, 1, 8828, 113, 59, 1, 10927, 4, 3, 97, 101, 115, 15311, 15319, 15324, 112, 112, 114, 111, 120, 59, 1, 10937, 113, 113, 59, 1, 10933, 105, 109, 59, 1, 8936, 105, 109, 59, 1, 8830, 109, 101, 4, 2, 59, 115, 15342, 15344, 1, 8242, 59, 1, 8473, 4, 3, 69, 97, 115, 15355, 15358, 15362, 59, 1, 10933, 112, 59, 1, 10937, 105, 109, 59, 1, 8936, 4, 3, 100, 102, 112, 15375, 15378, 15404, 59, 1, 8719, 4, 3, 97, 108, 115, 15386, 15392, 15398, 108, 97, 114, 59, 1, 9006, 105, 110, 101, 59, 1, 8978, 117, 114, 102, 59, 1, 8979, 4, 2, 59, 116, 15410, 15412, 1, 8733, 111, 59, 1, 8733, 105, 109, 59, 1, 8830, 114, 101, 108, 59, 1, 8880, 4, 2, 99, 105, 15433, 15438, 114, 59, 3, 55349, 56517, 59, 1, 968, 110, 99, 115, 112, 59, 1, 8200, 4, 6, 102, 105, 111, 112, 115, 117, 15462, 15467, 15472, 15478, 15485, 15491, 114, 59, 3, 55349, 56622, 110, 116, 59, 1, 10764, 112, 102, 59, 3, 55349, 56674, 114, 105, 109, 101, 59, 1, 8279, 99, 114, 59, 3, 55349, 56518, 4, 3, 97, 101, 111, 15499, 15520, 15534, 116, 4, 2, 101, 105, 15506, 15515, 114, 110, 105, 111, 110, 115, 59, 1, 8461, 110, 116, 59, 1, 10774, 115, 116, 4, 2, 59, 101, 15528, 15530, 1, 63, 113, 59, 1, 8799, 116, 5, 34, 1, 59, 15540, 1, 34, 4, 21, 65, 66, 72, 97, 98, 99, 100, 101, 102, 104, 105, 108, 109, 110, 111, 112, 114, 115, 116, 117, 120, 15586, 15609, 15615, 15620, 15796, 15855, 15893, 15931, 15977, 16001, 16039, 16183, 16204, 16222, 16228, 16285, 16312, 16318, 16363, 16408, 16416, 4, 3, 97, 114, 116, 15594, 15599, 15603, 114, 114, 59, 1, 8667, 114, 59, 1, 8658, 97, 105, 108, 59, 1, 10524, 97, 114, 114, 59, 1, 10511, 97, 114, 59, 1, 10596, 4, 7, 99, 100, 101, 110, 113, 114, 116, 15636, 15651, 15656, 15664, 15687, 15696, 15770, 4, 2, 101, 117, 15642, 15646, 59, 3, 8765, 817, 116, 101, 59, 1, 341, 105, 99, 59, 1, 8730, 109, 112, 116, 121, 118, 59, 1, 10675, 103, 4, 4, 59, 100, 101, 108, 15675, 15677, 15680, 15683, 1, 10217, 59, 1, 10642, 59, 1, 10661, 101, 59, 1, 10217, 117, 111, 5, 187, 1, 59, 15694, 1, 187, 114, 4, 11, 59, 97, 98, 99, 102, 104, 108, 112, 115, 116, 119, 15721, 15723, 15727, 15739, 15742, 15746, 15750, 15754, 15758, 15763, 15767, 1, 8594, 112, 59, 1, 10613, 4, 2, 59, 102, 15733, 15735, 1, 8677, 115, 59, 1, 10528, 59, 1, 10547, 115, 59, 1, 10526, 107, 59, 1, 8618, 112, 59, 1, 8620, 108, 59, 1, 10565, 105, 109, 59, 1, 10612, 108, 59, 1, 8611, 59, 1, 8605, 4, 2, 97, 105, 15776, 15781, 105, 108, 59, 1, 10522, 111, 4, 2, 59, 110, 15788, 15790, 1, 8758, 97, 108, 115, 59, 1, 8474, 4, 3, 97, 98, 114, 15804, 15809, 15814, 114, 114, 59, 1, 10509, 114, 107, 59, 1, 10099, 4, 2, 97, 107, 15820, 15833, 99, 4, 2, 101, 107, 15827, 15830, 59, 1, 125, 59, 1, 93, 4, 2, 101, 115, 15839, 15842, 59, 1, 10636, 108, 4, 2, 100, 117, 15849, 15852, 59, 1, 10638, 59, 1, 10640, 4, 4, 97, 101, 117, 121, 15865, 15871, 15886, 15890, 114, 111, 110, 59, 1, 345, 4, 2, 100, 105, 15877, 15882, 105, 108, 59, 1, 343, 108, 59, 1, 8969, 98, 59, 1, 125, 59, 1, 1088, 4, 4, 99, 108, 113, 115, 15903, 15907, 15914, 15927, 97, 59, 1, 10551, 100, 104, 97, 114, 59, 1, 10601, 117, 111, 4, 2, 59, 114, 15922, 15924, 1, 8221, 59, 1, 8221, 104, 59, 1, 8627, 4, 3, 97, 99, 103, 15939, 15966, 15970, 108, 4, 4, 59, 105, 112, 115, 15950, 15952, 15957, 15963, 1, 8476, 110, 101, 59, 1, 8475, 97, 114, 116, 59, 1, 8476, 59, 1, 8477, 116, 59, 1, 9645, 5, 174, 1, 59, 15975, 1, 174, 4, 3, 105, 108, 114, 15985, 15991, 15997, 115, 104, 116, 59, 1, 10621, 111, 111, 114, 59, 1, 8971, 59, 3, 55349, 56623, 4, 2, 97, 111, 16007, 16028, 114, 4, 2, 100, 117, 16014, 16017, 59, 1, 8641, 4, 2, 59, 108, 16023, 16025, 1, 8640, 59, 1, 10604, 4, 2, 59, 118, 16034, 16036, 1, 961, 59, 1, 1009, 4, 3, 103, 110, 115, 16047, 16167, 16171, 104, 116, 4, 6, 97, 104, 108, 114, 115, 116, 16063, 16081, 16103, 16130, 16143, 16155, 114, 114, 111, 119, 4, 2, 59, 116, 16073, 16075, 1, 8594, 97, 105, 108, 59, 1, 8611, 97, 114, 112, 111, 111, 110, 4, 2, 100, 117, 16093, 16099, 111, 119, 110, 59, 1, 8641, 112, 59, 1, 8640, 101, 102, 116, 4, 2, 97, 104, 16112, 16120, 114, 114, 111, 119, 115, 59, 1, 8644, 97, 114, 112, 111, 111, 110, 115, 59, 1, 8652, 105, 103, 104, 116, 97, 114, 114, 111, 119, 115, 59, 1, 8649, 113, 117, 105, 103, 97, 114, 114, 111, 119, 59, 1, 8605, 104, 114, 101, 101, 116, 105, 109, 101, 115, 59, 1, 8908, 103, 59, 1, 730, 105, 110, 103, 100, 111, 116, 115, 101, 113, 59, 1, 8787, 4, 3, 97, 104, 109, 16191, 16196, 16201, 114, 114, 59, 1, 8644, 97, 114, 59, 1, 8652, 59, 1, 8207, 111, 117, 115, 116, 4, 2, 59, 97, 16214, 16216, 1, 9137, 99, 104, 101, 59, 1, 9137, 109, 105, 100, 59, 1, 10990, 4, 4, 97, 98, 112, 116, 16238, 16252, 16257, 16278, 4, 2, 110, 114, 16244, 16248, 103, 59, 1, 10221, 114, 59, 1, 8702, 114, 107, 59, 1, 10215, 4, 3, 97, 102, 108, 16265, 16269, 16273, 114, 59, 1, 10630, 59, 3, 55349, 56675, 117, 115, 59, 1, 10798, 105, 109, 101, 115, 59, 1, 10805, 4, 2, 97, 112, 16291, 16304, 114, 4, 2, 59, 103, 16298, 16300, 1, 41, 116, 59, 1, 10644, 111, 108, 105, 110, 116, 59, 1, 10770, 97, 114, 114, 59, 1, 8649, 4, 4, 97, 99, 104, 113, 16328, 16334, 16339, 16342, 113, 117, 111, 59, 1, 8250, 114, 59, 3, 55349, 56519, 59, 1, 8625, 4, 2, 98, 117, 16348, 16351, 59, 1, 93, 111, 4, 2, 59, 114, 16358, 16360, 1, 8217, 59, 1, 8217, 4, 3, 104, 105, 114, 16371, 16377, 16383, 114, 101, 101, 59, 1, 8908, 109, 101, 115, 59, 1, 8906, 105, 4, 4, 59, 101, 102, 108, 16394, 16396, 16399, 16402, 1, 9657, 59, 1, 8885, 59, 1, 9656, 116, 114, 105, 59, 1, 10702, 108, 117, 104, 97, 114, 59, 1, 10600, 59, 1, 8478, 4, 19, 97, 98, 99, 100, 101, 102, 104, 105, 108, 109, 111, 112, 113, 114, 115, 116, 117, 119, 122, 16459, 16466, 16472, 16572, 16590, 16672, 16687, 16746, 16844, 16850, 16924, 16963, 16988, 17115, 17121, 17154, 17206, 17614, 17656, 99, 117, 116, 101, 59, 1, 347, 113, 117, 111, 59, 1, 8218, 4, 10, 59, 69, 97, 99, 101, 105, 110, 112, 115, 121, 16494, 16496, 16499, 16513, 16518, 16531, 16536, 16556, 16564, 16569, 1, 8827, 59, 1, 10932, 4, 2, 112, 114, 16505, 16508, 59, 1, 10936, 111, 110, 59, 1, 353, 117, 101, 59, 1, 8829, 4, 2, 59, 100, 16524, 16526, 1, 10928, 105, 108, 59, 1, 351, 114, 99, 59, 1, 349, 4, 3, 69, 97, 115, 16544, 16547, 16551, 59, 1, 10934, 112, 59, 1, 10938, 105, 109, 59, 1, 8937, 111, 108, 105, 110, 116, 59, 1, 10771, 105, 109, 59, 1, 8831, 59, 1, 1089, 111, 116, 4, 3, 59, 98, 101, 16582, 16584, 16587, 1, 8901, 59, 1, 8865, 59, 1, 10854, 4, 7, 65, 97, 99, 109, 115, 116, 120, 16606, 16611, 16634, 16642, 16646, 16652, 16668, 114, 114, 59, 1, 8664, 114, 4, 2, 104, 114, 16618, 16622, 107, 59, 1, 10533, 4, 2, 59, 111, 16628, 16630, 1, 8600, 119, 59, 1, 8600, 116, 5, 167, 1, 59, 16640, 1, 167, 105, 59, 1, 59, 119, 97, 114, 59, 1, 10537, 109, 4, 2, 105, 110, 16659, 16665, 110, 117, 115, 59, 1, 8726, 59, 1, 8726, 116, 59, 1, 10038, 114, 4, 2, 59, 111, 16679, 16682, 3, 55349, 56624, 119, 110, 59, 1, 8994, 4, 4, 97, 99, 111, 121, 16697, 16702, 16716, 16739, 114, 112, 59, 1, 9839, 4, 2, 104, 121, 16708, 16713, 99, 121, 59, 1, 1097, 59, 1, 1096, 114, 116, 4, 2, 109, 112, 16724, 16729, 105, 100, 59, 1, 8739, 97, 114, 97, 108, 108, 101, 108, 59, 1, 8741, 5, 173, 1, 59, 16744, 1, 173, 4, 2, 103, 109, 16752, 16770, 109, 97, 4, 3, 59, 102, 118, 16762, 16764, 16767, 1, 963, 59, 1, 962, 59, 1, 962, 4, 8, 59, 100, 101, 103, 108, 110, 112, 114, 16788, 16790, 16795, 16806, 16817, 16828, 16832, 16838, 1, 8764, 111, 116, 59, 1, 10858, 4, 2, 59, 113, 16801, 16803, 1, 8771, 59, 1, 8771, 4, 2, 59, 69, 16812, 16814, 1, 10910, 59, 1, 10912, 4, 2, 59, 69, 16823, 16825, 1, 10909, 59, 1, 10911, 101, 59, 1, 8774, 108, 117, 115, 59, 1, 10788, 97, 114, 114, 59, 1, 10610, 97, 114, 114, 59, 1, 8592, 4, 4, 97, 101, 105, 116, 16860, 16883, 16891, 16904, 4, 2, 108, 115, 16866, 16878, 108, 115, 101, 116, 109, 105, 110, 117, 115, 59, 1, 8726, 104, 112, 59, 1, 10803, 112, 97, 114, 115, 108, 59, 1, 10724, 4, 2, 100, 108, 16897, 16900, 59, 1, 8739, 101, 59, 1, 8995, 4, 2, 59, 101, 16910, 16912, 1, 10922, 4, 2, 59, 115, 16918, 16920, 1, 10924, 59, 3, 10924, 65024, 4, 3, 102, 108, 112, 16932, 16938, 16958, 116, 99, 121, 59, 1, 1100, 4, 2, 59, 98, 16944, 16946, 1, 47, 4, 2, 59, 97, 16952, 16954, 1, 10692, 114, 59, 1, 9023, 102, 59, 3, 55349, 56676, 97, 4, 2, 100, 114, 16970, 16985, 101, 115, 4, 2, 59, 117, 16978, 16980, 1, 9824, 105, 116, 59, 1, 9824, 59, 1, 8741, 4, 3, 99, 115, 117, 16996, 17028, 17089, 4, 2, 97, 117, 17002, 17015, 112, 4, 2, 59, 115, 17009, 17011, 1, 8851, 59, 3, 8851, 65024, 112, 4, 2, 59, 115, 17022, 17024, 1, 8852, 59, 3, 8852, 65024, 117, 4, 2, 98, 112, 17035, 17062, 4, 3, 59, 101, 115, 17043, 17045, 17048, 1, 8847, 59, 1, 8849, 101, 116, 4, 2, 59, 101, 17056, 17058, 1, 8847, 113, 59, 1, 8849, 4, 3, 59, 101, 115, 17070, 17072, 17075, 1, 8848, 59, 1, 8850, 101, 116, 4, 2, 59, 101, 17083, 17085, 1, 8848, 113, 59, 1, 8850, 4, 3, 59, 97, 102, 17097, 17099, 17112, 1, 9633, 114, 4, 2, 101, 102, 17106, 17109, 59, 1, 9633, 59, 1, 9642, 59, 1, 9642, 97, 114, 114, 59, 1, 8594, 4, 4, 99, 101, 109, 116, 17131, 17136, 17142, 17148, 114, 59, 3, 55349, 56520, 116, 109, 110, 59, 1, 8726, 105, 108, 101, 59, 1, 8995, 97, 114, 102, 59, 1, 8902, 4, 2, 97, 114, 17160, 17172, 114, 4, 2, 59, 102, 17167, 17169, 1, 9734, 59, 1, 9733, 4, 2, 97, 110, 17178, 17202, 105, 103, 104, 116, 4, 2, 101, 112, 17188, 17197, 112, 115, 105, 108, 111, 110, 59, 1, 1013, 104, 105, 59, 1, 981, 115, 59, 1, 175, 4, 5, 98, 99, 109, 110, 112, 17218, 17351, 17420, 17423, 17427, 4, 9, 59, 69, 100, 101, 109, 110, 112, 114, 115, 17238, 17240, 17243, 17248, 17261, 17267, 17279, 17285, 17291, 1, 8834, 59, 1, 10949, 111, 116, 59, 1, 10941, 4, 2, 59, 100, 17254, 17256, 1, 8838, 111, 116, 59, 1, 10947, 117, 108, 116, 59, 1, 10945, 4, 2, 69, 101, 17273, 17276, 59, 1, 10955, 59, 1, 8842, 108, 117, 115, 59, 1, 10943, 97, 114, 114, 59, 1, 10617, 4, 3, 101, 105, 117, 17299, 17335, 17339, 116, 4, 3, 59, 101, 110, 17308, 17310, 17322, 1, 8834, 113, 4, 2, 59, 113, 17317, 17319, 1, 8838, 59, 1, 10949, 101, 113, 4, 2, 59, 113, 17330, 17332, 1, 8842, 59, 1, 10955, 109, 59, 1, 10951, 4, 2, 98, 112, 17345, 17348, 59, 1, 10965, 59, 1, 10963, 99, 4, 6, 59, 97, 99, 101, 110, 115, 17366, 17368, 17376, 17385, 17389, 17415, 1, 8827, 112, 112, 114, 111, 120, 59, 1, 10936, 117, 114, 108, 121, 101, 113, 59, 1, 8829, 113, 59, 1, 10928, 4, 3, 97, 101, 115, 17397, 17405, 17410, 112, 112, 114, 111, 120, 59, 1, 10938, 113, 113, 59, 1, 10934, 105, 109, 59, 1, 8937, 105, 109, 59, 1, 8831, 59, 1, 8721, 103, 59, 1, 9834, 4, 13, 49, 50, 51, 59, 69, 100, 101, 104, 108, 109, 110, 112, 115, 17455, 17462, 17469, 17476, 17478, 17481, 17496, 17509, 17524, 17530, 17536, 17548, 17554, 5, 185, 1, 59, 17460, 1, 185, 5, 178, 1, 59, 17467, 1, 178, 5, 179, 1, 59, 17474, 1, 179, 1, 8835, 59, 1, 10950, 4, 2, 111, 115, 17487, 17491, 116, 59, 1, 10942, 117, 98, 59, 1, 10968, 4, 2, 59, 100, 17502, 17504, 1, 8839, 111, 116, 59, 1, 10948, 115, 4, 2, 111, 117, 17516, 17520, 108, 59, 1, 10185, 98, 59, 1, 10967, 97, 114, 114, 59, 1, 10619, 117, 108, 116, 59, 1, 10946, 4, 2, 69, 101, 17542, 17545, 59, 1, 10956, 59, 1, 8843, 108, 117, 115, 59, 1, 10944, 4, 3, 101, 105, 117, 17562, 17598, 17602, 116, 4, 3, 59, 101, 110, 17571, 17573, 17585, 1, 8835, 113, 4, 2, 59, 113, 17580, 17582, 1, 8839, 59, 1, 10950, 101, 113, 4, 2, 59, 113, 17593, 17595, 1, 8843, 59, 1, 10956, 109, 59, 1, 10952, 4, 2, 98, 112, 17608, 17611, 59, 1, 10964, 59, 1, 10966, 4, 3, 65, 97, 110, 17622, 17627, 17650, 114, 114, 59, 1, 8665, 114, 4, 2, 104, 114, 17634, 17638, 107, 59, 1, 10534, 4, 2, 59, 111, 17644, 17646, 1, 8601, 119, 59, 1, 8601, 119, 97, 114, 59, 1, 10538, 108, 105, 103, 5, 223, 1, 59, 17664, 1, 223, 4, 13, 97, 98, 99, 100, 101, 102, 104, 105, 111, 112, 114, 115, 119, 17694, 17709, 17714, 17737, 17742, 17749, 17754, 17860, 17905, 17957, 17964, 18090, 18122, 4, 2, 114, 117, 17700, 17706, 103, 101, 116, 59, 1, 8982, 59, 1, 964, 114, 107, 59, 1, 9140, 4, 3, 97, 101, 121, 17722, 17728, 17734, 114, 111, 110, 59, 1, 357, 100, 105, 108, 59, 1, 355, 59, 1, 1090, 111, 116, 59, 1, 8411, 108, 114, 101, 99, 59, 1, 8981, 114, 59, 3, 55349, 56625, 4, 4, 101, 105, 107, 111, 17764, 17805, 17836, 17851, 4, 2, 114, 116, 17770, 17786, 101, 4, 2, 52, 102, 17777, 17780, 59, 1, 8756, 111, 114, 101, 59, 1, 8756, 97, 4, 3, 59, 115, 118, 17795, 17797, 17802, 1, 952, 121, 109, 59, 1, 977, 59, 1, 977, 4, 2, 99, 110, 17811, 17831, 107, 4, 2, 97, 115, 17818, 17826, 112, 112, 114, 111, 120, 59, 1, 8776, 105, 109, 59, 1, 8764, 115, 112, 59, 1, 8201, 4, 2, 97, 115, 17842, 17846, 112, 59, 1, 8776, 105, 109, 59, 1, 8764, 114, 110, 5, 254, 1, 59, 17858, 1, 254, 4, 3, 108, 109, 110, 17868, 17873, 17901, 100, 101, 59, 1, 732, 101, 115, 5, 215, 3, 59, 98, 100, 17884, 17886, 17898, 1, 215, 4, 2, 59, 97, 17892, 17894, 1, 8864, 114, 59, 1, 10801, 59, 1, 10800, 116, 59, 1, 8749, 4, 3, 101, 112, 115, 17913, 17917, 17953, 97, 59, 1, 10536, 4, 4, 59, 98, 99, 102, 17927, 17929, 17934, 17939, 1, 8868, 111, 116, 59, 1, 9014, 105, 114, 59, 1, 10993, 4, 2, 59, 111, 17945, 17948, 3, 55349, 56677, 114, 107, 59, 1, 10970, 97, 59, 1, 10537, 114, 105, 109, 101, 59, 1, 8244, 4, 3, 97, 105, 112, 17972, 17977, 18082, 100, 101, 59, 1, 8482, 4, 7, 97, 100, 101, 109, 112, 115, 116, 17993, 18051, 18056, 18059, 18066, 18072, 18076, 110, 103, 108, 101, 4, 5, 59, 100, 108, 113, 114, 18009, 18011, 18017, 18032, 18035, 1, 9653, 111, 119, 110, 59, 1, 9663, 101, 102, 116, 4, 2, 59, 101, 18026, 18028, 1, 9667, 113, 59, 1, 8884, 59, 1, 8796, 105, 103, 104, 116, 4, 2, 59, 101, 18045, 18047, 1, 9657, 113, 59, 1, 8885, 111, 116, 59, 1, 9708, 59, 1, 8796, 105, 110, 117, 115, 59, 1, 10810, 108, 117, 115, 59, 1, 10809, 98, 59, 1, 10701, 105, 109, 101, 59, 1, 10811, 101, 122, 105, 117, 109, 59, 1, 9186, 4, 3, 99, 104, 116, 18098, 18111, 18116, 4, 2, 114, 121, 18104, 18108, 59, 3, 55349, 56521, 59, 1, 1094, 99, 121, 59, 1, 1115, 114, 111, 107, 59, 1, 359, 4, 2, 105, 111, 18128, 18133, 120, 116, 59, 1, 8812, 104, 101, 97, 100, 4, 2, 108, 114, 18143, 18154, 101, 102, 116, 97, 114, 114, 111, 119, 59, 1, 8606, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 1, 8608, 4, 18, 65, 72, 97, 98, 99, 100, 102, 103, 104, 108, 109, 111, 112, 114, 115, 116, 117, 119, 18204, 18209, 18214, 18234, 18250, 18268, 18292, 18308, 18319, 18343, 18379, 18397, 18413, 18504, 18547, 18553, 18584, 18603, 114, 114, 59, 1, 8657, 97, 114, 59, 1, 10595, 4, 2, 99, 114, 18220, 18230, 117, 116, 101, 5, 250, 1, 59, 18228, 1, 250, 114, 59, 1, 8593, 114, 4, 2, 99, 101, 18241, 18245, 121, 59, 1, 1118, 118, 101, 59, 1, 365, 4, 2, 105, 121, 18256, 18265, 114, 99, 5, 251, 1, 59, 18263, 1, 251, 59, 1, 1091, 4, 3, 97, 98, 104, 18276, 18281, 18287, 114, 114, 59, 1, 8645, 108, 97, 99, 59, 1, 369, 97, 114, 59, 1, 10606, 4, 2, 105, 114, 18298, 18304, 115, 104, 116, 59, 1, 10622, 59, 3, 55349, 56626, 114, 97, 118, 101, 5, 249, 1, 59, 18317, 1, 249, 4, 2, 97, 98, 18325, 18338, 114, 4, 2, 108, 114, 18332, 18335, 59, 1, 8639, 59, 1, 8638, 108, 107, 59, 1, 9600, 4, 2, 99, 116, 18349, 18374, 4, 2, 111, 114, 18355, 18369, 114, 110, 4, 2, 59, 101, 18363, 18365, 1, 8988, 114, 59, 1, 8988, 111, 112, 59, 1, 8975, 114, 105, 59, 1, 9720, 4, 2, 97, 108, 18385, 18390, 99, 114, 59, 1, 363, 5, 168, 1, 59, 18395, 1, 168, 4, 2, 103, 112, 18403, 18408, 111, 110, 59, 1, 371, 102, 59, 3, 55349, 56678, 4, 6, 97, 100, 104, 108, 115, 117, 18427, 18434, 18445, 18470, 18475, 18494, 114, 114, 111, 119, 59, 1, 8593, 111, 119, 110, 97, 114, 114, 111, 119, 59, 1, 8597, 97, 114, 112, 111, 111, 110, 4, 2, 108, 114, 18457, 18463, 101, 102, 116, 59, 1, 8639, 105, 103, 104, 116, 59, 1, 8638, 117, 115, 59, 1, 8846, 105, 4, 3, 59, 104, 108, 18484, 18486, 18489, 1, 965, 59, 1, 978, 111, 110, 59, 1, 965, 112, 97, 114, 114, 111, 119, 115, 59, 1, 8648, 4, 3, 99, 105, 116, 18512, 18537, 18542, 4, 2, 111, 114, 18518, 18532, 114, 110, 4, 2, 59, 101, 18526, 18528, 1, 8989, 114, 59, 1, 8989, 111, 112, 59, 1, 8974, 110, 103, 59, 1, 367, 114, 105, 59, 1, 9721, 99, 114, 59, 3, 55349, 56522, 4, 3, 100, 105, 114, 18561, 18566, 18572, 111, 116, 59, 1, 8944, 108, 100, 101, 59, 1, 361, 105, 4, 2, 59, 102, 18579, 18581, 1, 9653, 59, 1, 9652, 4, 2, 97, 109, 18590, 18595, 114, 114, 59, 1, 8648, 108, 5, 252, 1, 59, 18601, 1, 252, 97, 110, 103, 108, 101, 59, 1, 10663, 4, 15, 65, 66, 68, 97, 99, 100, 101, 102, 108, 110, 111, 112, 114, 115, 122, 18643, 18648, 18661, 18667, 18847, 18851, 18857, 18904, 18909, 18915, 18931, 18937, 18943, 18949, 18996, 114, 114, 59, 1, 8661, 97, 114, 4, 2, 59, 118, 18656, 18658, 1, 10984, 59, 1, 10985, 97, 115, 104, 59, 1, 8872, 4, 2, 110, 114, 18673, 18679, 103, 114, 116, 59, 1, 10652, 4, 7, 101, 107, 110, 112, 114, 115, 116, 18695, 18704, 18711, 18720, 18742, 18754, 18810, 112, 115, 105, 108, 111, 110, 59, 1, 1013, 97, 112, 112, 97, 59, 1, 1008, 111, 116, 104, 105, 110, 103, 59, 1, 8709, 4, 3, 104, 105, 114, 18728, 18732, 18735, 105, 59, 1, 981, 59, 1, 982, 111, 112, 116, 111, 59, 1, 8733, 4, 2, 59, 104, 18748, 18750, 1, 8597, 111, 59, 1, 1009, 4, 2, 105, 117, 18760, 18766, 103, 109, 97, 59, 1, 962, 4, 2, 98, 112, 18772, 18791, 115, 101, 116, 110, 101, 113, 4, 2, 59, 113, 18784, 18787, 3, 8842, 65024, 59, 3, 10955, 65024, 115, 101, 116, 110, 101, 113, 4, 2, 59, 113, 18803, 18806, 3, 8843, 65024, 59, 3, 10956, 65024, 4, 2, 104, 114, 18816, 18822, 101, 116, 97, 59, 1, 977, 105, 97, 110, 103, 108, 101, 4, 2, 108, 114, 18834, 18840, 101, 102, 116, 59, 1, 8882, 105, 103, 104, 116, 59, 1, 8883, 121, 59, 1, 1074, 97, 115, 104, 59, 1, 8866, 4, 3, 101, 108, 114, 18865, 18884, 18890, 4, 3, 59, 98, 101, 18873, 18875, 18880, 1, 8744, 97, 114, 59, 1, 8891, 113, 59, 1, 8794, 108, 105, 112, 59, 1, 8942, 4, 2, 98, 116, 18896, 18901, 97, 114, 59, 1, 124, 59, 1, 124, 114, 59, 3, 55349, 56627, 116, 114, 105, 59, 1, 8882, 115, 117, 4, 2, 98, 112, 18923, 18927, 59, 3, 8834, 8402, 59, 3, 8835, 8402, 112, 102, 59, 3, 55349, 56679, 114, 111, 112, 59, 1, 8733, 116, 114, 105, 59, 1, 8883, 4, 2, 99, 117, 18955, 18960, 114, 59, 3, 55349, 56523, 4, 2, 98, 112, 18966, 18981, 110, 4, 2, 69, 101, 18973, 18977, 59, 3, 10955, 65024, 59, 3, 8842, 65024, 110, 4, 2, 69, 101, 18988, 18992, 59, 3, 10956, 65024, 59, 3, 8843, 65024, 105, 103, 122, 97, 103, 59, 1, 10650, 4, 7, 99, 101, 102, 111, 112, 114, 115, 19020, 19026, 19061, 19066, 19072, 19075, 19089, 105, 114, 99, 59, 1, 373, 4, 2, 100, 105, 19032, 19055, 4, 2, 98, 103, 19038, 19043, 97, 114, 59, 1, 10847, 101, 4, 2, 59, 113, 19050, 19052, 1, 8743, 59, 1, 8793, 101, 114, 112, 59, 1, 8472, 114, 59, 3, 55349, 56628, 112, 102, 59, 3, 55349, 56680, 59, 1, 8472, 4, 2, 59, 101, 19081, 19083, 1, 8768, 97, 116, 104, 59, 1, 8768, 99, 114, 59, 3, 55349, 56524, 4, 14, 99, 100, 102, 104, 105, 108, 109, 110, 111, 114, 115, 117, 118, 119, 19125, 19146, 19152, 19157, 19173, 19176, 19192, 19197, 19202, 19236, 19252, 19269, 19286, 19291, 4, 3, 97, 105, 117, 19133, 19137, 19142, 112, 59, 1, 8898, 114, 99, 59, 1, 9711, 112, 59, 1, 8899, 116, 114, 105, 59, 1, 9661, 114, 59, 3, 55349, 56629, 4, 2, 65, 97, 19163, 19168, 114, 114, 59, 1, 10234, 114, 114, 59, 1, 10231, 59, 1, 958, 4, 2, 65, 97, 19182, 19187, 114, 114, 59, 1, 10232, 114, 114, 59, 1, 10229, 97, 112, 59, 1, 10236, 105, 115, 59, 1, 8955, 4, 3, 100, 112, 116, 19210, 19215, 19230, 111, 116, 59, 1, 10752, 4, 2, 102, 108, 19221, 19225, 59, 3, 55349, 56681, 117, 115, 59, 1, 10753, 105, 109, 101, 59, 1, 10754, 4, 2, 65, 97, 19242, 19247, 114, 114, 59, 1, 10233, 114, 114, 59, 1, 10230, 4, 2, 99, 113, 19258, 19263, 114, 59, 3, 55349, 56525, 99, 117, 112, 59, 1, 10758, 4, 2, 112, 116, 19275, 19281, 108, 117, 115, 59, 1, 10756, 114, 105, 59, 1, 9651, 101, 101, 59, 1, 8897, 101, 100, 103, 101, 59, 1, 8896, 4, 8, 97, 99, 101, 102, 105, 111, 115, 117, 19316, 19335, 19349, 19357, 19362, 19367, 19373, 19379, 99, 4, 2, 117, 121, 19323, 19332, 116, 101, 5, 253, 1, 59, 19330, 1, 253, 59, 1, 1103, 4, 2, 105, 121, 19341, 19346, 114, 99, 59, 1, 375, 59, 1, 1099, 110, 5, 165, 1, 59, 19355, 1, 165, 114, 59, 3, 55349, 56630, 99, 121, 59, 1, 1111, 112, 102, 59, 3, 55349, 56682, 99, 114, 59, 3, 55349, 56526, 4, 2, 99, 109, 19385, 19389, 121, 59, 1, 1102, 108, 5, 255, 1, 59, 19395, 1, 255, 4, 10, 97, 99, 100, 101, 102, 104, 105, 111, 115, 119, 19419, 19426, 19441, 19446, 19462, 19467, 19472, 19480, 19486, 19492, 99, 117, 116, 101, 59, 1, 378, 4, 2, 97, 121, 19432, 19438, 114, 111, 110, 59, 1, 382, 59, 1, 1079, 111, 116, 59, 1, 380, 4, 2, 101, 116, 19452, 19458, 116, 114, 102, 59, 1, 8488, 97, 59, 1, 950, 114, 59, 3, 55349, 56631, 99, 121, 59, 1, 1078, 103, 114, 97, 114, 114, 59, 1, 8669, 112, 102, 59, 3, 55349, 56683, 99, 114, 59, 3, 55349, 56527, 4, 2, 106, 110, 19498, 19501, 59, 1, 8205, 106, 59, 1, 8204])
|
|
},
|
|
30558: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.is = exports.toggleClass = exports.removeClass = exports.addClass = exports.hasClass = exports.removeAttr = exports.val = exports.data = exports.prop = exports.attr = void 0;
|
|
var static_1 = __webpack_require__(772),
|
|
utils_1 = __webpack_require__(91373),
|
|
hasOwn = Object.prototype.hasOwnProperty,
|
|
rspace = /\s+/,
|
|
primitives = {
|
|
null: null,
|
|
true: !0,
|
|
false: !1
|
|
},
|
|
rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,
|
|
rbrace = /^(?:{[\w\W]*}|\[[\w\W]*])$/;
|
|
|
|
function getAttr(elem, name) {
|
|
var _a;
|
|
if (elem && utils_1.isTag(elem)) return null !== (_a = elem.attribs) && void 0 !== _a || (elem.attribs = {}), name ? hasOwn.call(elem.attribs, name) ? rboolean.test(name) ? name : elem.attribs[name] : "option" === elem.name && "value" === name ? static_1.text(elem.children) : "input" !== elem.name || "radio" !== elem.attribs.type && "checkbox" !== elem.attribs.type || "value" !== name ? void 0 : "on" : elem.attribs
|
|
}
|
|
|
|
function setAttr(el, name, value) {
|
|
null === value ? removeAttribute(el, name) : el.attribs[name] = "" + value
|
|
}
|
|
|
|
function getProp(el, name) {
|
|
if (el && utils_1.isTag(el)) return name in el ? el[name] : rboolean.test(name) ? void 0 !== getAttr(el, name) : getAttr(el, name)
|
|
}
|
|
|
|
function setProp(el, name, value) {
|
|
name in el ? el[name] = value : setAttr(el, name, rboolean.test(name) ? value ? "" : null : "" + value)
|
|
}
|
|
|
|
function setData(el, name, value) {
|
|
var _a, elem = el;
|
|
null !== (_a = elem.data) && void 0 !== _a || (elem.data = {}), "object" == typeof name ? Object.assign(elem.data, name) : "string" == typeof name && void 0 !== value && (elem.data[name] = value)
|
|
}
|
|
|
|
function readData(el, name) {
|
|
var domNames, jsNames, value;
|
|
null == name ? jsNames = (domNames = Object.keys(el.attribs).filter(function(attrName) {
|
|
return attrName.startsWith("data-")
|
|
})).map(function(domName) {
|
|
return utils_1.camelCase(domName.slice(5))
|
|
}) : (domNames = ["data-" + utils_1.cssCase(name)], jsNames = [name]);
|
|
for (var idx = 0; idx < domNames.length; ++idx) {
|
|
var domName = domNames[idx],
|
|
jsName = jsNames[idx];
|
|
if (hasOwn.call(el.attribs, domName) && !hasOwn.call(el.data, jsName)) {
|
|
if (value = el.attribs[domName], hasOwn.call(primitives, value)) value = primitives[value];
|
|
else if (value === String(Number(value))) value = Number(value);
|
|
else if (rbrace.test(value)) try {
|
|
value = JSON.parse(value)
|
|
} catch (e) {}
|
|
el.data[jsName] = value
|
|
}
|
|
}
|
|
return null == name ? el.data : value
|
|
}
|
|
|
|
function removeAttribute(elem, name) {
|
|
elem.attribs && hasOwn.call(elem.attribs, name) && delete elem.attribs[name]
|
|
}
|
|
|
|
function splitNames(names) {
|
|
return names ? names.trim().split(rspace) : []
|
|
}
|
|
exports.attr = function(name, value) {
|
|
if ("object" == typeof name || void 0 !== value) {
|
|
if ("function" == typeof value) {
|
|
if ("string" != typeof name) throw new Error("Bad combination of arguments.");
|
|
return utils_1.domEach(this, function(i, el) {
|
|
utils_1.isTag(el) && setAttr(el, name, value.call(el, i, el.attribs[name]))
|
|
})
|
|
}
|
|
return utils_1.domEach(this, function(_, el) {
|
|
utils_1.isTag(el) && ("object" == typeof name ? Object.keys(name).forEach(function(objName) {
|
|
var objValue = name[objName];
|
|
setAttr(el, objName, objValue)
|
|
}) : setAttr(el, name, value))
|
|
})
|
|
}
|
|
return arguments.length > 1 ? this : getAttr(this[0], name)
|
|
}, exports.prop = function(name, value) {
|
|
if ("string" == typeof name && void 0 === value) switch (name) {
|
|
case "style":
|
|
var property_1 = this.css(),
|
|
keys = Object.keys(property_1);
|
|
return keys.forEach(function(p, i) {
|
|
property_1[i] = p
|
|
}), property_1.length = keys.length, property_1;
|
|
case "tagName":
|
|
case "nodeName":
|
|
var el = this[0];
|
|
return utils_1.isTag(el) ? el.name.toUpperCase() : void 0;
|
|
case "outerHTML":
|
|
return this.clone().wrap("<container />").parent().html();
|
|
case "innerHTML":
|
|
return this.html();
|
|
default:
|
|
return getProp(this[0], name)
|
|
}
|
|
if ("object" == typeof name || void 0 !== value) {
|
|
if ("function" == typeof value) {
|
|
if ("object" == typeof name) throw new Error("Bad combination of arguments.");
|
|
return utils_1.domEach(this, function(j, el) {
|
|
utils_1.isTag(el) && setProp(el, name, value.call(el, j, getProp(el, name)))
|
|
})
|
|
}
|
|
return utils_1.domEach(this, function(__, el) {
|
|
utils_1.isTag(el) && ("object" == typeof name ? Object.keys(name).forEach(function(key) {
|
|
var val = name[key];
|
|
setProp(el, key, val)
|
|
}) : setProp(el, name, value))
|
|
})
|
|
}
|
|
}, exports.data = function(name, value) {
|
|
var _a, elem = this[0];
|
|
if (elem && utils_1.isTag(elem)) {
|
|
var dataEl = elem;
|
|
return null !== (_a = dataEl.data) && void 0 !== _a || (dataEl.data = {}), name ? "object" == typeof name || void 0 !== value ? (utils_1.domEach(this, function(_, el) {
|
|
utils_1.isTag(el) && ("object" == typeof name ? setData(el, name) : setData(el, name, value))
|
|
}), this) : hasOwn.call(dataEl.data, name) ? dataEl.data[name] : readData(dataEl, name) : readData(dataEl)
|
|
}
|
|
}, exports.val = function(value) {
|
|
var querying = 0 === arguments.length,
|
|
element = this[0];
|
|
if (!element || !utils_1.isTag(element)) return querying ? void 0 : this;
|
|
switch (element.name) {
|
|
case "textarea":
|
|
return this.text(value);
|
|
case "select":
|
|
var option = this.find("option:selected");
|
|
if (!querying) {
|
|
if (null == this.attr("multiple") && "object" == typeof value) return this;
|
|
this.find("option").removeAttr("selected");
|
|
for (var values = "object" != typeof value ? [value] : value, i = 0; i < values.length; i++) this.find('option[value="' + values[i] + '"]').attr("selected", "");
|
|
return this
|
|
}
|
|
return this.attr("multiple") ? option.toArray().map(function(el) {
|
|
return static_1.text(el.children)
|
|
}) : option.attr("value");
|
|
case "input":
|
|
case "option":
|
|
return querying ? this.attr("value") : this.attr("value", value)
|
|
}
|
|
}, exports.removeAttr = function(name) {
|
|
for (var attrNames = splitNames(name), _loop_1 = function(i) {
|
|
utils_1.domEach(this_1, function(_, elem) {
|
|
utils_1.isTag(elem) && removeAttribute(elem, attrNames[i])
|
|
})
|
|
}, this_1 = this, i = 0; i < attrNames.length; i++) _loop_1(i);
|
|
return this
|
|
}, exports.hasClass = function(className) {
|
|
return this.toArray().some(function(elem) {
|
|
var clazz = utils_1.isTag(elem) && elem.attribs.class,
|
|
idx = -1;
|
|
if (clazz && className.length)
|
|
for (;
|
|
(idx = clazz.indexOf(className, idx + 1)) > -1;) {
|
|
var end = idx + className.length;
|
|
if ((0 === idx || rspace.test(clazz[idx - 1])) && (end === clazz.length || rspace.test(clazz[end]))) return !0
|
|
}
|
|
return !1
|
|
})
|
|
}, exports.addClass = function addClass(value) {
|
|
if ("function" == typeof value) return utils_1.domEach(this, function(i, el) {
|
|
if (utils_1.isTag(el)) {
|
|
var className = el.attribs.class || "";
|
|
addClass.call([el], value.call(el, i, className))
|
|
}
|
|
});
|
|
if (!value || "string" != typeof value) return this;
|
|
for (var classNames = value.split(rspace), numElements = this.length, i = 0; i < numElements; i++) {
|
|
var el = this[i];
|
|
if (utils_1.isTag(el)) {
|
|
var className = getAttr(el, "class");
|
|
if (className) {
|
|
for (var setClass = " " + className + " ", j = 0; j < classNames.length; j++) {
|
|
var appendClass = classNames[j] + " ";
|
|
setClass.includes(" " + appendClass) || (setClass += appendClass)
|
|
}
|
|
setAttr(el, "class", setClass.trim())
|
|
} else setAttr(el, "class", classNames.join(" ").trim())
|
|
}
|
|
}
|
|
return this
|
|
}, exports.removeClass = function removeClass(name) {
|
|
if ("function" == typeof name) return utils_1.domEach(this, function(i, el) {
|
|
utils_1.isTag(el) && removeClass.call([el], name.call(el, i, el.attribs.class || ""))
|
|
});
|
|
var classes = splitNames(name),
|
|
numClasses = classes.length,
|
|
removeAll = 0 === arguments.length;
|
|
return utils_1.domEach(this, function(_, el) {
|
|
if (utils_1.isTag(el))
|
|
if (removeAll) el.attribs.class = "";
|
|
else {
|
|
for (var elClasses = splitNames(el.attribs.class), changed = !1, j = 0; j < numClasses; j++) {
|
|
var index = elClasses.indexOf(classes[j]);
|
|
index >= 0 && (elClasses.splice(index, 1), changed = !0, j--)
|
|
}
|
|
changed && (el.attribs.class = elClasses.join(" "))
|
|
}
|
|
})
|
|
}, exports.toggleClass = function toggleClass(value, stateVal) {
|
|
if ("function" == typeof value) return utils_1.domEach(this, function(i, el) {
|
|
utils_1.isTag(el) && toggleClass.call([el], value.call(el, i, el.attribs.class || "", stateVal), stateVal)
|
|
});
|
|
if (!value || "string" != typeof value) return this;
|
|
for (var classNames = value.split(rspace), numClasses = classNames.length, state = "boolean" == typeof stateVal ? stateVal ? 1 : -1 : 0, numElements = this.length, i = 0; i < numElements; i++) {
|
|
var el = this[i];
|
|
if (utils_1.isTag(el)) {
|
|
for (var elementClasses = splitNames(el.attribs.class), j = 0; j < numClasses; j++) {
|
|
var index = elementClasses.indexOf(classNames[j]);
|
|
state >= 0 && index < 0 ? elementClasses.push(classNames[j]) : state <= 0 && index >= 0 && elementClasses.splice(index, 1)
|
|
}
|
|
el.attribs.class = elementClasses.join(" ")
|
|
}
|
|
}
|
|
return this
|
|
}, exports.is = function(selector) {
|
|
return !!selector && this.filter(selector).length > 0
|
|
}
|
|
},
|
|
30731: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var noCase = __webpack_require__(37129);
|
|
module.exports = function(value, locale) {
|
|
return noCase(value, locale, "-")
|
|
}
|
|
},
|
|
30855: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var $isNaN = __webpack_require__(56361);
|
|
module.exports = function(number) {
|
|
return $isNaN(number) || 0 === number ? number : number < 0 ? -1 : 1
|
|
}
|
|
},
|
|
31062: function(module, exports, __webpack_require__) {
|
|
var CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), __webpack_require__(8242), __webpack_require__(89430), __webpack_require__(79413), __webpack_require__(10608), __webpack_require__(16027), __webpack_require__(65554), __webpack_require__(15693), __webpack_require__(15439), __webpack_require__(60866), __webpack_require__(94214), __webpack_require__(35063), __webpack_require__(72555), __webpack_require__(4966), __webpack_require__(17455), __webpack_require__(96877), __webpack_require__(34120), __webpack_require__(74047), __webpack_require__(65155), __webpack_require__(28305), __webpack_require__(50602), __webpack_require__(62663), __webpack_require__(68716), __webpack_require__(92563), __webpack_require__(72955), __webpack_require__(51500), __webpack_require__(24669), __webpack_require__(99338), __webpack_require__(68023), __webpack_require__(85629), __webpack_require__(79122), __webpack_require__(46263), __webpack_require__(2280), __webpack_require__(22018), __webpack_require__(39726), CryptoJS)
|
|
},
|
|
31287: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
const errorClass = __webpack_require__(28405),
|
|
errors = __webpack_require__(33840),
|
|
getStatusCode = __webpack_require__(75588);
|
|
module.exports = {
|
|
errorClass,
|
|
errors,
|
|
getStatusCode
|
|
}
|
|
},
|
|
31699: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = honeyVimParse;
|
|
const CryptoJS = __webpack_require__(31062),
|
|
parseNode = __webpack_require__(57052);
|
|
|
|
function honeyVimParse(data, {
|
|
encrypted = !1
|
|
} = {}) {
|
|
if (!encrypted) return JSON.parse(data);
|
|
const [encData, key] = [data.slice(10), data.slice(0, 10)], decData = CryptoJS.AES.decrypt(encData, key).toString(CryptoJS.enc.Utf8);
|
|
return parseNode(JSON.parse(decData))
|
|
}
|
|
"undefined" != typeof window && (window.parseVim = honeyVimParse), module.exports = exports.default
|
|
},
|
|
32318: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var toNumber = __webpack_require__(79072);
|
|
module.exports = function(value) {
|
|
return value ? Infinity === (value = toNumber(value)) || -Infinity === value ? 17976931348623157e292 * (value < 0 ? -1 : 1) : value == value ? value : 0 : 0 === value ? value : 0
|
|
}
|
|
},
|
|
32408: function(__unused_webpack_module, exports, __webpack_require__) {
|
|
"use strict";
|
|
var __spreadArray = this && this.__spreadArray || function(to, from, pack) {
|
|
if (pack || 2 === arguments.length)
|
|
for (var ar, i = 0, l = from.length; i < l; i++) !ar && i in from || (ar || (ar = Array.prototype.slice.call(from, 0, i)), ar[i] = from[i]);
|
|
return to.concat(ar || Array.prototype.slice.call(from))
|
|
};
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.subselects = exports.getNextSiblings = exports.ensureIsTag = exports.PLACEHOLDER_ELEMENT = void 0;
|
|
var boolbase_1 = __webpack_require__(84894),
|
|
procedure_1 = __webpack_require__(82256);
|
|
|
|
function ensureIsTag(next, adapter) {
|
|
return next === boolbase_1.falseFunc ? boolbase_1.falseFunc : function(elem) {
|
|
return adapter.isTag(elem) && next(elem)
|
|
}
|
|
}
|
|
|
|
function getNextSiblings(elem, adapter) {
|
|
var siblings = adapter.getSiblings(elem);
|
|
if (siblings.length <= 1) return [];
|
|
var elemIndex = siblings.indexOf(elem);
|
|
return elemIndex < 0 || elemIndex === siblings.length - 1 ? [] : siblings.slice(elemIndex + 1).filter(adapter.isTag)
|
|
}
|
|
exports.PLACEHOLDER_ELEMENT = {}, exports.ensureIsTag = ensureIsTag, exports.getNextSiblings = getNextSiblings;
|
|
var is = function(next, token, options, context, compileToken) {
|
|
var func = compileToken(token, {
|
|
xmlMode: !!options.xmlMode,
|
|
adapter: options.adapter,
|
|
equals: options.equals
|
|
}, context);
|
|
return function(elem) {
|
|
return func(elem) && next(elem)
|
|
}
|
|
};
|
|
exports.subselects = {
|
|
is,
|
|
matches: is,
|
|
where: is,
|
|
not: function(next, token, options, context, compileToken) {
|
|
var func = compileToken(token, {
|
|
xmlMode: !!options.xmlMode,
|
|
adapter: options.adapter,
|
|
equals: options.equals
|
|
}, context);
|
|
return func === boolbase_1.falseFunc ? next : func === boolbase_1.trueFunc ? boolbase_1.falseFunc : function(elem) {
|
|
return !func(elem) && next(elem)
|
|
}
|
|
},
|
|
has: function(next, subselect, options, _context, compileToken) {
|
|
var adapter = options.adapter,
|
|
opts = {
|
|
xmlMode: !!options.xmlMode,
|
|
adapter,
|
|
equals: options.equals
|
|
},
|
|
context = subselect.some(function(s) {
|
|
return s.some(procedure_1.isTraversal)
|
|
}) ? [exports.PLACEHOLDER_ELEMENT] : void 0,
|
|
compiled = compileToken(subselect, opts, context);
|
|
if (compiled === boolbase_1.falseFunc) return boolbase_1.falseFunc;
|
|
if (compiled === boolbase_1.trueFunc) return function(elem) {
|
|
return adapter.getChildren(elem).some(adapter.isTag) && next(elem)
|
|
};
|
|
var hasElement = ensureIsTag(compiled, adapter),
|
|
_a = compiled.shouldTestNextSiblings,
|
|
shouldTestNextSiblings = void 0 !== _a && _a;
|
|
return context ? function(elem) {
|
|
context[0] = elem;
|
|
var childs = adapter.getChildren(elem),
|
|
nextElements = shouldTestNextSiblings ? __spreadArray(__spreadArray([], childs, !0), getNextSiblings(elem, adapter), !0) : childs;
|
|
return next(elem) && adapter.existsOne(hasElement, nextElements)
|
|
} : function(elem) {
|
|
return next(elem) && adapter.existsOne(hasElement, adapter.getChildren(elem))
|
|
}
|
|
}
|
|
}
|
|
},
|
|
32500: function(__unused_webpack_module, exports, __webpack_require__) {
|
|
"use strict";
|
|
var __assign = this && this.__assign || function() {
|
|
return __assign = Object.assign || function(t) {
|
|
for (var s, i = 1, n = arguments.length; i < n; i++)
|
|
for (var p in s = arguments[i]) Object.prototype.hasOwnProperty.call(s, p) && (t[p] = s[p]);
|
|
return t
|
|
}, __assign.apply(this, arguments)
|
|
},
|
|
__createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
void 0 === k2 && (k2 = k);
|
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
desc && !("get" in desc ? !m.__esModule : desc.writable || desc.configurable) || (desc = {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return m[k]
|
|
}
|
|
}), Object.defineProperty(o, k2, desc)
|
|
} : function(o, m, k, k2) {
|
|
void 0 === k2 && (k2 = k), o[k2] = m[k]
|
|
}),
|
|
__setModuleDefault = this && this.__setModuleDefault || (Object.create ? function(o, v) {
|
|
Object.defineProperty(o, "default", {
|
|
enumerable: !0,
|
|
value: v
|
|
})
|
|
} : function(o, v) {
|
|
o.default = v
|
|
}),
|
|
__importStar = this && this.__importStar || function(mod) {
|
|
if (mod && mod.__esModule) return mod;
|
|
var result = {};
|
|
if (null != mod)
|
|
for (var k in mod) "default" !== k && Object.prototype.hasOwnProperty.call(mod, k) && __createBinding(result, mod, k);
|
|
return __setModuleDefault(result, mod), result
|
|
};
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.render = void 0;
|
|
var ElementType = __importStar(__webpack_require__(60903)),
|
|
entities_1 = __webpack_require__(76076),
|
|
foreignNames_js_1 = __webpack_require__(62894),
|
|
unencodedElements = new Set(["style", "script", "xmp", "iframe", "noembed", "noframes", "plaintext", "noscript"]);
|
|
|
|
function replaceQuotes(value) {
|
|
return value.replace(/"/g, """)
|
|
}
|
|
var singleTag = new Set(["area", "base", "basefont", "br", "col", "command", "embed", "frame", "hr", "img", "input", "isindex", "keygen", "link", "meta", "param", "source", "track", "wbr"]);
|
|
|
|
function render(node, options) {
|
|
void 0 === options && (options = {});
|
|
for (var nodes = ("length" in node ? node : [node]), output = "", i = 0; i < nodes.length; i++) output += renderNode(nodes[i], options);
|
|
return output
|
|
}
|
|
|
|
function renderNode(node, options) {
|
|
switch (node.type) {
|
|
case ElementType.Root:
|
|
return render(node.children, options);
|
|
case ElementType.Doctype:
|
|
case ElementType.Directive:
|
|
return "<".concat(node.data, ">");
|
|
case ElementType.Comment:
|
|
return function(elem) {
|
|
return "\x3c!--".concat(elem.data, "--\x3e")
|
|
}(node);
|
|
case ElementType.CDATA:
|
|
return function(elem) {
|
|
return "<![CDATA[".concat(elem.children[0].data, "]]>")
|
|
}(node);
|
|
case ElementType.Script:
|
|
case ElementType.Style:
|
|
case ElementType.Tag:
|
|
return function(elem, opts) {
|
|
var _a;
|
|
"foreign" === opts.xmlMode && (elem.name = null !== (_a = foreignNames_js_1.elementNames.get(elem.name)) && void 0 !== _a ? _a : elem.name, elem.parent && foreignModeIntegrationPoints.has(elem.parent.name) && (opts = __assign(__assign({}, opts), {
|
|
xmlMode: !1
|
|
})));
|
|
!opts.xmlMode && foreignElements.has(elem.name) && (opts = __assign(__assign({}, opts), {
|
|
xmlMode: "foreign"
|
|
}));
|
|
var tag = "<".concat(elem.name),
|
|
attribs = function(attributes, opts) {
|
|
var _a;
|
|
if (attributes) {
|
|
var encode = !1 === (null !== (_a = opts.encodeEntities) && void 0 !== _a ? _a : opts.decodeEntities) ? replaceQuotes : opts.xmlMode || "utf8" !== opts.encodeEntities ? entities_1.encodeXML : entities_1.escapeAttribute;
|
|
return Object.keys(attributes).map(function(key) {
|
|
var _a, _b, value = null !== (_a = attributes[key]) && void 0 !== _a ? _a : "";
|
|
return "foreign" === opts.xmlMode && (key = null !== (_b = foreignNames_js_1.attributeNames.get(key)) && void 0 !== _b ? _b : key), opts.emptyAttrs || opts.xmlMode || "" !== value ? "".concat(key, '="').concat(encode(value), '"') : key
|
|
}).join(" ")
|
|
}
|
|
}(elem.attribs, opts);
|
|
attribs && (tag += " ".concat(attribs));
|
|
0 === elem.children.length && (opts.xmlMode ? !1 !== opts.selfClosingTags : opts.selfClosingTags && singleTag.has(elem.name)) ? (opts.xmlMode || (tag += " "), tag += "/>") : (tag += ">", elem.children.length > 0 && (tag += render(elem.children, opts)), !opts.xmlMode && singleTag.has(elem.name) || (tag += "</".concat(elem.name, ">")));
|
|
return tag
|
|
}(node, options);
|
|
case ElementType.Text:
|
|
return function(elem, opts) {
|
|
var _a, data = elem.data || "";
|
|
!1 === (null !== (_a = opts.encodeEntities) && void 0 !== _a ? _a : opts.decodeEntities) || !opts.xmlMode && elem.parent && unencodedElements.has(elem.parent.name) || (data = opts.xmlMode || "utf8" !== opts.encodeEntities ? (0, entities_1.encodeXML)(data) : (0, entities_1.escapeText)(data));
|
|
return data
|
|
}(node, options)
|
|
}
|
|
}
|
|
exports.render = render, exports.default = render;
|
|
var foreignModeIntegrationPoints = new Set(["mi", "mo", "mn", "ms", "mtext", "annotation-xml", "foreignObject", "desc", "title"]),
|
|
foreignElements = new Set(["svg", "math"])
|
|
},
|
|
32620: module => {
|
|
"use strict";
|
|
module.exports = Math.round
|
|
},
|
|
32659: module => {
|
|
"use strict";
|
|
module.exports = JSON.parse('{"name":"SalesTaxDiv","groups":["FIND_SAVINGS"],"isRequired":false,"tests":[{"method":"testIfSelectorIsUnique","options":{"matchWeight":"1","unMatchWeight":"0.5"}},{"method":"testIfInnerTextContainsLengthWeighted","options":{"expected":"$","matchWeight":"100.0","unMatchWeight":"0"}},{"method":"testIfInnerTextContainsLengthWeighted","options":{"expected":"tax","matchWeight":"100.0","unMatchWeight":"0.1"}},{"method":"testIfInnerTextContainsLengthWeighted","options":{"expected":"est","matchWeight":"100.0","unMatchWeight":"0.5"}}],"preconditions":[],"shape":[{"value":"tax","weight":10,"scope":"class"},{"value":"cart","weight":9,"scope":"class"},{"value":"total","weight":8,"scope":"class"},{"value":"checkout","weight":8,"scope":"id"},{"value":"span","weight":5,"scope":"tag"},{"value":"td","weight":5,"scope":"tag"},{"value":"tax","weight":8},{"value":"order","weight":7},{"value":"cart","weight":5},{"value":"total","weight":5},{"value":"checkout","weight":5},{"value":"amount","weight":5},{"value":"test","weight":0.1},{"value":"input","weight":0.1,"scope":"tag"},{"value":"input","weight":0.1,"scope":"class"},{"value":"button","weight":0.1},{"value":"grand","weight":0.1},{"value":"subtotal","weight":0.1}]}')
|
|
},
|
|
32777: module => {
|
|
"use strict";
|
|
module.exports = JSON.parse('{"name":"PPGotoCart","groups":[],"isRequired":false,"tests":[{"method":"testIfInnerTextContainsLength","options":{"expected":"^(goto)?(basket|cart)$","tags":"a,button,div","matchWeight":"10","unMatchWeight":"1"},"_comment":"amazon, dell"},{"method":"testIfInnerTextContainsLength","options":{"expected":"^(re)?(my|view)(andedit)?(bag|cart)$","tags":"a,button,div","matchWeight":"5","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLength","options":{"expected":"^(re)?(my|view)(andedit)?(bag|cart)","tags":"a,button,div,ion-button","matchWeight":"3","unMatchWeight":"1"},"_comment":"https://regex101.com/r/HmaF1K/1"},{"method":"testIfAncestorAttrsContain","options":{"expected":"bag_container","generations":"2","matchWeight":"2","unMatchWeight":"1"},"_comment":"express: button within bag container"},{"method":"testIfInnerTextContainsLength","options":{"expected":"^closecart$","tags":"button","matchWeight":"0","unMatchWeight":"1"},"_comment":"woolworths"}],"preconditions":[],"shape":[{"value":"^(form|h1|h2|h3|h4|h5|h6|label|link|option|p|script|section|span|td)$","weight":0,"scope":"tag","_comment":"most elements are <a> or <button>"},{"value":"/(shopping|view)?cart","weight":10,"scope":"href"},{"value":"/(shopping|view)?cart","weight":10,"scope":"routerlink","_comment":"gamefly"},{"value":"/(my-?)?(bag|cart)(\\\\?|\\\\/|$)","weight":10,"scope":"href","_comment":"asos, bloomingdales, home-depot, paigeusa, ulta"},{"value":"/basket(\\\\?|\\\\/|\\\\.|$)","weight":10,"scope":"href"},{"value":"/ordercalculate","weight":10,"scope":"href","_comment":"marksandspencer"},{"value":"nav-cart","weight":10,"scope":"id","_comment":"amazon"},{"value":"view_cart","weight":10,"scope":"id","_comment":"staples"},{"value":"go-to-cart","weight":10,"scope":"id","_comment":"onpurple"},{"value":"(shopping|view|goto)(bag|cart)","weight":10,"scope":"title"},{"value":"mycart","weight":10,"scope":"onclick","_comment":"life-extension"},{"value":"minicart","weight":10,"scope":"data-heap-category","_comment":"figs"},{"value":"shopping(-|_)?(bag|cart)","weight":5,"scope":"href","_comment":"belk, dsw, new-chic, old-navy"},{"value":"^/shopcart$","weight":5,"scope":"href","_comment":"aosom"},{"value":"orderitemdisplay","weight":5,"scope":"href","_comment":"dicks-sporting-goods, jjill"},{"value":"shoppingbag","weight":5,"scope":"aria-label","_comment":"jcrew"},{"value":"^cart$","weight":5,"scope":"aria-label","_comment":"nordstrom-rack"},{"value":"(shopping|view)-?(bag|cart)","weight":5,"_comment":"adidas, calvin-klein-us, fashionnova, ghanda"},{"value":"yourbag","weight":3,"scope":"aria-label","_comment":"paigeusa"},{"value":"cart-style","weight":3,"scope":"class","_comment":"bjs-wholesale-club"},{"value":"cart-link","weight":3,"scope":"class","_comment":"modcloth, nasty-gal, pacsun"},{"value":"cart","weight":2,"scope":"alt"},{"value":"^checkout$","weight":1,"scope":"aria-label","_comment":"express"},{"value":"button","weight":1,"scope":"tag"},{"value":"button","weight":1,"scope":"role"},{"value":"toggle","weight":0.5,"scope":"class"},{"value":"false","weight":0.5,"scope":"data-honey_is_visible"},{"value":"^div$","weight":0.5,"scope":"tag","_comment":"<div> tags are very rare"},{"value":"menuitem","weight":0.1,"scope":"role","_comment":"prefer buttons/links over the menu"},{"value":"true","weight":0.1,"scope":"aria-haspopup"},{"value":"javascript:;","weight":0,"scope":"href","_comment":"dell"},{"value":"^#","weight":0,"scope":"href","_comment":"page fragments"},{"value":"close","weight":0,"scope":"aria-label"},{"value":"^/item","weight":0,"scope":"href","_comment":"ignore links to other items"},{"value":"bags|carts|cartoon|category","weight":0,"scope":"href","_comment":"ignore category type pages for bags and carts"},{"value":"account|login|logoff|subscriptions|tracking","weight":0,"scope":"href"},{"value":"open-layer","weight":0,"scope":"class","_comment":"yoox: avoid cart button that only opens sidebar layer"},{"value":"bag.*button","weight":3},{"value":"preview-dropdown","weight":0,"_comment":"olay: avoid cart button that only opens dropdown"},{"value":"add_to_(bag|cart)","weight":0},{"value":"affirm|close-?button|learn|quantity|remove|wishlist","weight":0}]}')
|
|
},
|
|
32890: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var Symbol = __webpack_require__(45367),
|
|
getRawTag = __webpack_require__(27689),
|
|
objectToString = __webpack_require__(18668),
|
|
symToStringTag = Symbol ? Symbol.toStringTag : void 0;
|
|
module.exports = function(value) {
|
|
return null == value ? void 0 === value ? "[object Undefined]" : "[object Null]" : symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value)
|
|
}
|
|
},
|
|
33347: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function(instance, scope) {
|
|
const DATE = instance.createNativeFunction(function(...args) {
|
|
if (this.parent !== instance.DATE) return instance.createPrimitive(Date());
|
|
const newDate = this;
|
|
if (arguments.length)
|
|
if (1 !== args.length || "string" !== args[0].type && !_Instance.default.isa(args[0], instance.STRING)) {
|
|
const numericArgs = args.map(arg => arg.toNumber());
|
|
newDate.data = new Date(...numericArgs)
|
|
} else newDate.data = new Date(args[0].toString());
|
|
else newDate.data = new Date;
|
|
return newDate
|
|
});
|
|
instance.setCoreObject("DATE", DATE), instance.setProperty(scope, "Date", DATE, _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR), instance.setProperty(DATE, "now", instance.createNativeFunction(() => instance.createPrimitive((new Date).getTime())), _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR), instance.setProperty(DATE, "parse", instance.createNativeFunction(inDateString => {
|
|
const dateString = inDateString ? inDateString.toString() : void 0;
|
|
return instance.createPrimitive(Date.parse(dateString))
|
|
}), _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR), instance.setProperty(DATE, "UTC", instance.createNativeFunction((...args) => {
|
|
const numericArgs = args.map(arg => arg.toNumber());
|
|
return instance.createPrimitive(Date.UTC(...numericArgs))
|
|
}), _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR), METHODS.forEach(methodName => {
|
|
instance.setNativeFunctionPrototype(DATE, methodName, function(...pseudoArgs) {
|
|
const nativeArgs = pseudoArgs.map(arg => instance.pseudoToNative(arg));
|
|
return instance.createPrimitive(this.data[methodName](...nativeArgs))
|
|
})
|
|
})
|
|
};
|
|
var _Instance = _interopRequireDefault(__webpack_require__(76352));
|
|
const METHODS = ["getDate", "getDay", "getFullYear", "getHours", "getMilliseconds", "getMinutes", "getMonth", "getSeconds", "getTime", "getTimezoneOffset", "getUTCDate", "getUTCDay", "getUTCFullYear", "getUTCHours", "getUTCMilliseconds", "getUTCMinutes", "getUTCMonth", "getUTCSeconds", "getYear", "setDate", "setFullYear", "setHours", "setMilliseconds", "setMinutes", "setMonth", "setSeconds", "setTime", "setUTCDate", "setUTCFullYear", "setUTCHours", "setUTCMilliseconds", "setUTCMinutes", "setUTCMonth", "setUTCSeconds", "setYear", "toDateString", "toISOString", "toJSON", "toGMTString", "toLocaleDateString", "toLocaleString", "toLocaleTimeString", "toTimeString", "toUTCString"];
|
|
module.exports = exports.default
|
|
},
|
|
33507: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
const state = this.stateStack[this.stateStack.length - 1],
|
|
node = state.node;
|
|
if (!state.doneLeft_) return state.doneLeft_ = !0, void this.stateStack.push({
|
|
node: node.left,
|
|
components: !0
|
|
});
|
|
if (!state.doneRight_) return state.leftSide_ || (state.leftSide_ = state.value), state.doneGetter_ && (state.leftValue_ = state.value), !state.doneGetter_ && "=" !== node.operator && (state.leftValue_ = this.getValue(state.leftSide_), state.leftValue_.isGetter) ? (state.leftValue_.isGetter = !1, state.doneGetter_ = !0, void this.pushGetter(state.leftValue_, state.leftSide_)) : (state.doneRight_ = !0, void this.stateStack.push({
|
|
node: node.right
|
|
}));
|
|
if (state.doneSetter_) return this.stateStack.pop(), void(this.stateStack[this.stateStack.length - 1].value = state.doneSetter_);
|
|
const rightSide = state.value;
|
|
let value;
|
|
if ("=" === node.operator) value = rightSide;
|
|
else {
|
|
const rightValue = rightSide,
|
|
leftNumber = state.leftValue_.toNumber(),
|
|
rightNumber = rightValue.toNumber();
|
|
if ("+=" === node.operator) {
|
|
let left, right;
|
|
"string" === state.leftValue_.type || "string" === rightValue.type ? (left = state.leftValue_.toString(), right = rightValue.toString()) : (left = leftNumber, right = rightNumber), value = left + right
|
|
} else if ("-=" === node.operator) value = leftNumber - rightNumber;
|
|
else if ("*=" === node.operator) value = leftNumber * rightNumber;
|
|
else if ("/=" === node.operator) value = leftNumber / rightNumber;
|
|
else if ("%=" === node.operator) value = leftNumber % rightNumber;
|
|
else if ("<<=" === node.operator) value = leftNumber << rightNumber;
|
|
else if (">>=" === node.operator) value = leftNumber >> rightNumber;
|
|
else if (">>>=" === node.operator) value = leftNumber >>> rightNumber;
|
|
else if ("&=" === node.operator) value = leftNumber & rightNumber;
|
|
else if ("^=" === node.operator) value = leftNumber ^ rightNumber;
|
|
else {
|
|
if ("|=" !== node.operator) throw SyntaxError(`Unknown assignment expression: ${node.operator}`);
|
|
value = leftNumber | rightNumber
|
|
}
|
|
value = this.createPrimitive(value)
|
|
}
|
|
const setter = this.setValue(state.leftSide_, value);
|
|
if (setter) return state.doneSetter_ = value, void this.pushSetter(setter, state.leftSide_, value);
|
|
this.stateStack.pop(), this.stateStack[this.stateStack.length - 1].value = value
|
|
}, module.exports = exports.default
|
|
},
|
|
33560: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.getChildren = getChildren, exports.getParent = getParent, exports.getSiblings = function(elem) {
|
|
var parent = getParent(elem);
|
|
if (null != parent) return getChildren(parent);
|
|
var siblings = [elem],
|
|
prev = elem.prev,
|
|
next = elem.next;
|
|
for (; null != prev;) siblings.unshift(prev), prev = prev.prev;
|
|
for (; null != next;) siblings.push(next), next = next.next;
|
|
return siblings
|
|
}, exports.getAttributeValue = function(elem, name) {
|
|
var _a;
|
|
return null === (_a = elem.attribs) || void 0 === _a ? void 0 : _a[name]
|
|
}, exports.hasAttrib = function(elem, name) {
|
|
return null != elem.attribs && Object.prototype.hasOwnProperty.call(elem.attribs, name) && null != elem.attribs[name]
|
|
}, exports.getName = function(elem) {
|
|
return elem.name
|
|
}, exports.nextElementSibling = function(elem) {
|
|
var next = elem.next;
|
|
for (; null !== next && !(0, domhandler_1.isTag)(next);) next = next.next;
|
|
return next
|
|
}, exports.prevElementSibling = function(elem) {
|
|
var prev = elem.prev;
|
|
for (; null !== prev && !(0, domhandler_1.isTag)(prev);) prev = prev.prev;
|
|
return prev
|
|
};
|
|
var domhandler_1 = __webpack_require__(59811);
|
|
|
|
function getChildren(elem) {
|
|
return (0, domhandler_1.hasChildren)(elem) ? elem.children : []
|
|
}
|
|
|
|
function getParent(elem) {
|
|
return elem.parent || null
|
|
}
|
|
},
|
|
33562: module => {
|
|
"use strict";
|
|
module.exports = SyntaxError
|
|
},
|
|
33840: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
const {
|
|
snakeCase
|
|
} = __webpack_require__(17984), globalObj = __webpack_require__(21308);
|
|
|
|
function define(errorName, globalParam = globalObj) {
|
|
const ErrorClass = class extends Error {
|
|
constructor(message) {
|
|
super(message || snakeCase(errorName)), ((obj, propName, propValue) => {
|
|
const conf = {
|
|
value: propValue,
|
|
configurable: !0,
|
|
enumerable: !1,
|
|
writable: !0
|
|
};
|
|
Object.defineProperty(obj, propName, conf)
|
|
})(this, "name", `${errorName}Error`)
|
|
}
|
|
},
|
|
globalErrorTypeName = `${errorName}Error`;
|
|
return globalParam[globalErrorTypeName] || (globalParam[globalErrorTypeName] = ErrorClass), ErrorClass
|
|
}
|
|
const errors = {
|
|
AlreadyExistsError: "AlreadyExistsError",
|
|
BlacklistError: "BlacklistError",
|
|
CapacityExceededError: "CapacityExceededError",
|
|
ConfigError: "ConfigError",
|
|
CancellationError: "CancellationError",
|
|
DatastoreError: "DatastoreError",
|
|
DomainBlacklistedError: "DomainBlacklistedError",
|
|
EmailLockedError: "EmailLockedError",
|
|
EventIgnoredError: "EventIgnoredError",
|
|
EventNotSupportedError: "EventNotSupportedError",
|
|
ExpiredError: "ExpiredError",
|
|
FatalError: "FatalError",
|
|
FacebookNoEmailError: "FacebookNoEmailError",
|
|
InsufficientBalanceError: "InsufficientBalanceError",
|
|
InsufficientResourcesError: "InsufficientResourcesError",
|
|
InvalidConfigurationError: "InvalidConfigurationError",
|
|
InvalidCredentialsError: "InvalidCredentialsError",
|
|
InvalidDataError: "InvalidDataError",
|
|
InvalidMappingError: "InvalidMappingError",
|
|
InvalidParametersError: "InvalidParametersError",
|
|
InvalidResponseError: "InvalidResponseError",
|
|
MessageListenerError: "MessageListenerError",
|
|
MissingParametersError: "MissingParametersError",
|
|
NetworkError: "NetworkError",
|
|
NothingToUpdateError: "NothingToUpdateError",
|
|
NotAllowedError: "NotAllowedError",
|
|
NotFoundError: "NotFoundError",
|
|
NotImplementedError: "NotImplementedError",
|
|
NotStartedError: "NotStartedError",
|
|
NotSupportedError: "NotSupportedError",
|
|
NoMessageListenersError: "NoMessageListenersError",
|
|
OperationSkippedError: "OperationSkippedError",
|
|
PayloadTooLargeError: "PayloadTooLargeError",
|
|
ProfanityError: "ProfanityError",
|
|
RequestThrottledError: "RequestThrottledError",
|
|
ResourceLockedError: "ResourceLockedError",
|
|
ServerError: "ServerError",
|
|
StorageError: "StorageError",
|
|
SwitchedUserError: "SwitchedUserError",
|
|
TimeoutError: "TimeoutError",
|
|
UnauthorizedError: "UnauthorizedError",
|
|
UpToDateError: "UpToDateError",
|
|
URIError: "URIError"
|
|
},
|
|
definedErrors = {};
|
|
Object.keys(errors).forEach(error => {
|
|
definedErrors[error] = define(error.slice(0, -5))
|
|
}), module.exports = {
|
|
errors,
|
|
define,
|
|
definedErrors
|
|
}
|
|
},
|
|
33862: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var GetIntrinsic = __webpack_require__(73083),
|
|
callBindBasic = __webpack_require__(58144),
|
|
$indexOf = callBindBasic([GetIntrinsic("%String.prototype.indexOf%")]);
|
|
module.exports = function(name, allowMissing) {
|
|
var intrinsic = GetIntrinsic(name, !!allowMissing);
|
|
return "function" == typeof intrinsic && $indexOf(name, ".prototype.") > -1 ? callBindBasic([intrinsic]) : intrinsic
|
|
}
|
|
},
|
|
34120: function(module, exports, __webpack_require__) {
|
|
var C, C_lib, Base, WordArray, C_algo, MD5, EvpKDF, CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), __webpack_require__(15693), __webpack_require__(17455), C_lib = (C = CryptoJS).lib, Base = C_lib.Base, WordArray = C_lib.WordArray, C_algo = C.algo, MD5 = C_algo.MD5, EvpKDF = C_algo.EvpKDF = Base.extend({
|
|
cfg: Base.extend({
|
|
keySize: 4,
|
|
hasher: MD5,
|
|
iterations: 1
|
|
}),
|
|
init: function(cfg) {
|
|
this.cfg = this.cfg.extend(cfg)
|
|
},
|
|
compute: function(password, salt) {
|
|
for (var block, cfg = this.cfg, hasher = cfg.hasher.create(), derivedKey = WordArray.create(), derivedKeyWords = derivedKey.words, keySize = cfg.keySize, iterations = cfg.iterations; derivedKeyWords.length < keySize;) {
|
|
block && hasher.update(block), block = hasher.update(password).finalize(salt), hasher.reset();
|
|
for (var i = 1; i < iterations; i++) block = hasher.finalize(block), hasher.reset();
|
|
derivedKey.concat(block)
|
|
}
|
|
return derivedKey.sigBytes = 4 * keySize, derivedKey
|
|
}
|
|
}), C.EvpKDF = function(password, salt, cfg) {
|
|
return EvpKDF.create(cfg).compute(password, salt)
|
|
}, CryptoJS.EvpKDF)
|
|
},
|
|
34522: (__unused_webpack_module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.SuccessfulMixinResponse = exports.MixinResponse = exports.FailedMixinResponse = exports.DeferredMixinResponse = exports.DeferredAction = void 0;
|
|
class MixinResponse {
|
|
constructor(status, message) {
|
|
this.status = status, this.message = message
|
|
}
|
|
}
|
|
exports.MixinResponse = MixinResponse;
|
|
exports.SuccessfulMixinResponse = class extends MixinResponse {
|
|
constructor(message, body) {
|
|
super("success", message || "Mixin ran successfully"), this.body = body || null
|
|
}
|
|
};
|
|
class FailedMixinResponse extends MixinResponse {
|
|
constructor(message) {
|
|
super("failed", message || "Mixin failed to complete")
|
|
}
|
|
}
|
|
exports.FailedMixinResponse = FailedMixinResponse;
|
|
exports.DeferredAction = class {
|
|
constructor(func, variables) {
|
|
this.func = func, this.variables = variables, this.completedResult = null
|
|
}
|
|
async completed(timeLimit = 1e4) {
|
|
return this.timeLimitReached = !1, setTimeout(() => {
|
|
this.timeLimitReached = !0
|
|
}, timeLimit), new Promise((resolve, reject) => {
|
|
! function checkCompletedResult() {
|
|
setTimeout(() => {
|
|
null !== this.completedResult ? resolve(this.completedResult) : this.timeLimitReached ? reject(FailedMixinResponse("Mixin timed out")) : checkCompletedResult()
|
|
}, 250)
|
|
}()
|
|
})
|
|
}
|
|
async run() {
|
|
const result = await this.func(this.variables);
|
|
if (result) this.completedResult = result;
|
|
else {
|
|
let variableString;
|
|
try {
|
|
variableString = JSON.stringify(this.variables)
|
|
} catch (e) {
|
|
variableString = ""
|
|
}
|
|
this.compl, this.completedResult = FailedMixinResponse(`MIXIN failed to complete: ${this.func&&this.func.constructor.name}(${variableString})`)
|
|
}
|
|
return this.completedResult
|
|
}
|
|
};
|
|
exports.DeferredMixinResponse = class extends MixinResponse {
|
|
constructor(info, action) {
|
|
super("deferred", "Mixin deferred"), this.info = info, this.action = action
|
|
}
|
|
}
|
|
},
|
|
34536: module => {
|
|
"function" == typeof Object.create ? module.exports = function(ctor, superCtor) {
|
|
ctor.super_ = superCtor, ctor.prototype = Object.create(superCtor.prototype, {
|
|
constructor: {
|
|
value: ctor,
|
|
enumerable: !1,
|
|
writable: !0,
|
|
configurable: !0
|
|
}
|
|
})
|
|
} : module.exports = function(ctor, superCtor) {
|
|
ctor.super_ = superCtor;
|
|
var TempCtor = function() {};
|
|
TempCtor.prototype = superCtor.prototype, ctor.prototype = new TempCtor, ctor.prototype.constructor = ctor
|
|
}
|
|
},
|
|
34793: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912)),
|
|
_helpers = _interopRequireDefault(__webpack_require__(16065));
|
|
exports.default = new _dac.default({
|
|
description: "Forever21 Meta Function",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 10
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "85",
|
|
name: "forever21"
|
|
}],
|
|
doDac: async function(code, selector, priceAmt, applyBestCode) {
|
|
let price = priceAmt;
|
|
const res = await async function() {
|
|
const rawToken = (0, _jquery.default)("input[name*=csrf_token]").val(),
|
|
res = _jquery.default.ajax({
|
|
url: "https://www.forever21.com/on/demandware.store/Sites-forever21-Site/en_US/Cart-AddCoupon",
|
|
method: "POST",
|
|
headers: {
|
|
"content-encoding": "gzip",
|
|
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
|
|
vary: "accept-encoding"
|
|
},
|
|
data: {
|
|
csrf_token: rawToken,
|
|
couponCode: code
|
|
}
|
|
});
|
|
return await res.done(_data => {
|
|
_logger.default.debug("Finishing coupon application")
|
|
}), _jquery.default.get(location.href)
|
|
}();
|
|
return function(res) {
|
|
const TOTAL_PRICE_SELECTOR = "dl.total-list div[data-totals-component=subTotalWithOrderDiscount] strong[data-totals-component=value]";
|
|
price = (0, _jquery.default)(res).find(TOTAL_PRICE_SELECTOR).text(), Number(_legacyHoneyUtils.default.cleanPrice(price)) < priceAmt && (0, _jquery.default)(TOTAL_PRICE_SELECTOR).text(price)
|
|
}(res), applyBestCode ? (window.location = window.location.href, await (0, _helpers.default)(2e3)) : await async function(res) {
|
|
const uppercaseCode = code,
|
|
lowercaseCode = code.toLowerCase(),
|
|
uuid = (0, _jquery.default)(res).find('button[data-code="' + lowercaseCode + '"], button[data-code="' + uppercaseCode + '"]').attr("data-uuid");
|
|
if (uuid) {
|
|
const remove = _jquery.default.ajax({
|
|
url: "https://www.forever21.com/on/demandware.store/Sites-forever21-Site/en_US/Cart-RemoveCouponLineItem?code=" + code + "&uuid=" + uuid,
|
|
method: "GET",
|
|
headers: {
|
|
"content-encoding": "gzip",
|
|
"content-type": "application/json",
|
|
vary: "accept-encoding"
|
|
}
|
|
});
|
|
await remove.done(_data => {
|
|
_logger.default.debug("Finishing removing code")
|
|
})
|
|
}
|
|
}(res), Number(_legacyHoneyUtils.default.cleanPrice(price))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
34999: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var _typeof = __webpack_require__(49116).default;
|
|
module.exports = function(t, r) {
|
|
if ("object" != _typeof(t) || !t) return t;
|
|
var e = t[Symbol.toPrimitive];
|
|
if (void 0 !== e) {
|
|
var i = e.call(t, r || "default");
|
|
if ("object" != _typeof(i)) return i;
|
|
throw new TypeError("@@toPrimitive must return a primitive value.")
|
|
}
|
|
return ("string" === r ? String : Number)(t)
|
|
}, module.exports.__esModule = !0, module.exports.default = module.exports
|
|
},
|
|
35058: module => {
|
|
"use strict";
|
|
module.exports = Math.pow
|
|
},
|
|
35060: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _dac = _interopRequireDefault(__webpack_require__(912));
|
|
exports.default = new _dac.default({
|
|
description: "DAC test",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 10
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "123456789",
|
|
name: "test"
|
|
}],
|
|
doDac: async function(couponCode, selector, priceAmt) {
|
|
return priceAmt
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
35063: function(module, exports, __webpack_require__) {
|
|
var C, C_x64, X64Word, X64WordArray, C_algo, SHA512, SHA384, CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), __webpack_require__(8242), __webpack_require__(94214), C_x64 = (C = CryptoJS).x64, X64Word = C_x64.Word, X64WordArray = C_x64.WordArray, C_algo = C.algo, SHA512 = C_algo.SHA512, SHA384 = C_algo.SHA384 = SHA512.extend({
|
|
_doReset: function() {
|
|
this._hash = new X64WordArray.init([new X64Word.init(3418070365, 3238371032), new X64Word.init(1654270250, 914150663), new X64Word.init(2438529370, 812702999), new X64Word.init(355462360, 4144912697), new X64Word.init(1731405415, 4290775857), new X64Word.init(2394180231, 1750603025), new X64Word.init(3675008525, 1694076839), new X64Word.init(1203062813, 3204075428)])
|
|
},
|
|
_doFinalize: function() {
|
|
var hash = SHA512._doFinalize.call(this);
|
|
return hash.sigBytes -= 16, hash
|
|
}
|
|
}), C.SHA384 = SHA512._createHelper(SHA384), C.HmacSHA384 = SHA512._createHmacHelper(SHA384), CryptoJS.SHA384)
|
|
},
|
|
35440: module => {
|
|
module.exports = {
|
|
EncodeType: "entity",
|
|
isEmpty: function(val) {
|
|
return !val || (null === val || 0 == val.length || /^\s+$/.test(val))
|
|
},
|
|
arr1: [" ", "¡", "¢", "£", "¤", "¥", "¦", "§", "¨", "©", "ª", "«", "¬", "­", "®", "¯", "°", "±", "²", "³", "´", "µ", "¶", "·", "¸", "¹", "º", "»", "¼", "½", "¾", "¿", "À", "Á", "Â", "Ã", "Ä", "Å", "Æ", "Ç", "È", "É", "Ê", "Ë", "Ì", "Í", "Î", "Ï", "Ð", "Ñ", "Ò", "Ó", "Ô", "Õ", "Ö", "×", "Ø", "Ù", "Ú", "Û", "Ü", "Ý", "Þ", "ß", "à", "á", "â", "ã", "ä", "å", "æ", "ç", "è", "é", "ê", "ë", "ì", "í", "î", "ï", "ð", "ñ", "ò", "ó", "ô", "õ", "ö", "÷", "ø", "ù", "ú", "û", "ü", "ý", "þ", "ÿ", """, "&", "<", ">", "Œ", "œ", "Š", "š", "Ÿ", "ˆ", "˜", " ", " ", " ", "‌", "‍", "‎", "‏", "–", "—", "‘", "’", "‚", "“", "”", "„", "†", "‡", "‰", "‹", "›", "€", "ƒ", "Α", "Β", "Γ", "Δ", "Ε", "Ζ", "Η", "Θ", "Ι", "Κ", "Λ", "Μ", "Ν", "Ξ", "Ο", "Π", "Ρ", "Σ", "Τ", "Υ", "Φ", "Χ", "Ψ", "Ω", "α", "β", "γ", "δ", "ε", "ζ", "η", "θ", "ι", "κ", "λ", "μ", "ν", "ξ", "ο", "π", "ρ", "ς", "σ", "τ", "υ", "φ", "χ", "ψ", "ω", "ϑ", "ϒ", "ϖ", "•", "…", "′", "″", "‾", "⁄", "℘", "ℑ", "ℜ", "™", "ℵ", "←", "↑", "→", "↓", "↔", "↵", "⇐", "⇑", "⇒", "⇓", "⇔", "∀", "∂", "∃", "∅", "∇", "∈", "∉", "∋", "∏", "∑", "−", "∗", "√", "∝", "∞", "∠", "∧", "∨", "∩", "∪", "∫", "∴", "∼", "≅", "≈", "≠", "≡", "≤", "≥", "⊂", "⊃", "⊄", "⊆", "⊇", "⊕", "⊗", "⊥", "⋅", "⌈", "⌉", "⌊", "⌋", "⟨", "⟩", "◊", "♠", "♣", "♥", "♦"],
|
|
arr2: [" ", "¡", "¢", "£", "¤", "¥", "¦", "§", "¨", "©", "ª", "«", "¬", "­", "®", "¯", "°", "±", "²", "³", "´", "µ", "¶", "·", "¸", "¹", "º", "»", "¼", "½", "¾", "¿", "À", "Á", "Â", "Ã", "Ä", "Å", "Æ", "Ç", "È", "É", "Ê", "Ë", "Ì", "Í", "Î", "Ï", "Ð", "Ñ", "Ò", "Ó", "Ô", "Õ", "Ö", "×", "Ø", "Ù", "Ú", "Û", "Ü", "Ý", "Þ", "ß", "à", "á", "â", "ã", "ä", "å", "æ", "ç", "è", "é", "ê", "ë", "ì", "í", "î", "ï", "ð", "ñ", "ò", "ó", "ô", "õ", "ö", "÷", "ø", "ù", "ú", "û", "ü", "ý", "þ", "ÿ", """, "&", "<", ">", "Œ", "œ", "Š", "š", "Ÿ", "ˆ", "˜", " ", " ", " ", "‌", "‍", "‎", "‏", "–", "—", "‘", "’", "‚", "“", "”", "„", "†", "‡", "‰", "‹", "›", "€", "ƒ", "Α", "Β", "Γ", "Δ", "Ε", "Ζ", "Η", "Θ", "Ι", "Κ", "Λ", "Μ", "Ν", "Ξ", "Ο", "Π", "Ρ", "Σ", "Τ", "Υ", "Φ", "Χ", "Ψ", "Ω", "α", "β", "γ", "δ", "ε", "ζ", "η", "θ", "ι", "κ", "λ", "μ", "ν", "ξ", "ο", "π", "ρ", "ς", "σ", "τ", "υ", "φ", "χ", "ψ", "ω", "ϑ", "ϒ", "ϖ", "•", "…", "′", "″", "‾", "⁄", "℘", "ℑ", "ℜ", "™", "ℵ", "←", "↑", "→", "↓", "↔", "↵", "⇐", "⇑", "⇒", "⇓", "⇔", "∀", "∂", "∃", "∅", "∇", "∈", "∉", "∋", "∏", "∑", "−", "∗", "√", "∝", "∞", "∠", "∧", "∨", "∩", "∪", "∫", "∴", "∼", "≅", "≈", "≠", "≡", "≤", "≥", "⊂", "⊃", "⊄", "⊆", "⊇", "⊕", "⊗", "⊥", "⋅", "⌈", "⌉", "⌊", "⌋", "〈", "〉", "◊", "♠", "♣", "♥", "♦"],
|
|
HTML2Numerical: function(s) {
|
|
return this.swapArrayVals(s, this.arr1, this.arr2)
|
|
},
|
|
NumericalToHTML: function(s) {
|
|
return this.swapArrayVals(s, this.arr2, this.arr1)
|
|
},
|
|
numEncode: function(s) {
|
|
if (this.isEmpty(s)) return "";
|
|
for (var a = [], l = s.length, i = 0; i < l; i++) {
|
|
var c = s.charAt(i);
|
|
c < " " || c > "~" ? (a.push("&#"), a.push(c.charCodeAt()), a.push(";")) : a.push(c)
|
|
}
|
|
return a.join("")
|
|
},
|
|
htmlDecode: function(s) {
|
|
var c, m, arr, d = s;
|
|
if (this.isEmpty(d)) return "";
|
|
if (null != (arr = (d = this.HTML2Numerical(d)).match(/&#[0-9]{1,5};/g)))
|
|
for (var x = 0; x < arr.length; x++) d = (c = (m = arr[x]).substring(2, m.length - 1)) >= -32768 && c <= 65535 ? d.replace(m, String.fromCharCode(c)) : d.replace(m, "");
|
|
return d
|
|
},
|
|
htmlEncode: function(s, dbl) {
|
|
return this.isEmpty(s) ? "" : ((dbl = dbl || !1) && (s = "numerical" == this.EncodeType ? s.replace(/&/g, "&") : s.replace(/&/g, "&")), s = this.XSSEncode(s, !1), "numerical" != this.EncodeType && dbl || (s = this.HTML2Numerical(s)), s = this.numEncode(s), dbl || (s = s.replace(/&#/g, "##AMPHASH##"), s = (s = "numerical" == this.EncodeType ? s.replace(/&/g, "&") : s.replace(/&/g, "&")).replace(/##AMPHASH##/g, "&#")), s = s.replace(/&#\d*([^\d;]|$)/g, "$1"), dbl || (s = this.correctEncoding(s)), "entity" == this.EncodeType && (s = this.NumericalToHTML(s)), s)
|
|
},
|
|
XSSEncode: function(s, en) {
|
|
return this.isEmpty(s) ? "" : s = (en = en || !0) ? (s = (s = (s = s.replace(/\'/g, "'")).replace(/\"/g, """)).replace(/</g, "<")).replace(/>/g, ">") : (s = (s = (s = s.replace(/\'/g, "'")).replace(/\"/g, """)).replace(/</g, "<")).replace(/>/g, ">")
|
|
},
|
|
hasEncoded: function(s) {
|
|
return !!/&#[0-9]{1,5};/g.test(s) || !!/&[A-Z]{2,6};/gi.test(s)
|
|
},
|
|
stripUnicode: function(s) {
|
|
return s.replace(/[^\x20-\x7E]/g, "")
|
|
},
|
|
correctEncoding: function(s) {
|
|
return s.replace(/(&)(amp;)+/, "$1")
|
|
},
|
|
swapArrayVals: function(s, arr1, arr2) {
|
|
if (this.isEmpty(s)) return "";
|
|
var re;
|
|
if (arr1 && arr2 && arr1.length == arr2.length)
|
|
for (var x = 0, i = arr1.length; x < i; x++) re = new RegExp(arr1[x], "g"), s = s.replace(re, arr2[x]);
|
|
return s
|
|
},
|
|
inArray: function(item, arr) {
|
|
for (var i = 0, x = arr.length; i < x; i++)
|
|
if (arr[i] === item) return i;
|
|
return -1
|
|
}
|
|
}
|
|
},
|
|
35718: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function(instance, scope) {
|
|
const priceObj = instance.createObject(instance.OBJECT);
|
|
instance.setProperty(scope, "price", priceObj, _Instance.default.READONLY_DESCRIPTOR), instance.setProperty(priceObj, "clean", instance.createNativeFunction(pseudoInput => {
|
|
try {
|
|
const nativeInput = `${instance.pseudoToNative(pseudoInput)||""}`.trim(),
|
|
priceMatch = nativeInput.match(NUMBER_REGEX),
|
|
decimalMatch = (priceMatch && priceMatch[1] ? priceMatch[1].trim() : "").match(DECIMAL_REGEX),
|
|
decimalSep = decimalMatch && decimalMatch[1] ? decimalMatch[1] : ".",
|
|
nativePrice = Number(_accounting.default.unformat(nativeInput, decimalSep));
|
|
return instance.createPrimitive(nativePrice)
|
|
} catch (err) {
|
|
return instance.throwException(instance.ERROR, err && err.message), null
|
|
}
|
|
}), _Instance.default.READONLY_DESCRIPTOR), instance.setProperty(priceObj, "format", instance.createNativeFunction((pseudoInput, pseudoOpts) => {
|
|
try {
|
|
const nativeInput = instance.pseudoToNative(pseudoInput),
|
|
nativeOpts = {
|
|
currency: "$",
|
|
thousandsSeparator: ",",
|
|
decimalSeparator: "."
|
|
};
|
|
pseudoOpts && Object.assign(nativeOpts, instance.pseudoToNative(pseudoOpts));
|
|
const nativePrice = _accounting.default.formatMoney(nativeInput, nativeOpts.currency, 2, nativeOpts.thousandsSeparator, nativeOpts.decimalSeparator);
|
|
return instance.createPrimitive(nativePrice)
|
|
} catch (err) {
|
|
return instance.throwException(instance.ERROR, err && err.message), null
|
|
}
|
|
}), _Instance.default.READONLY_DESCRIPTOR)
|
|
};
|
|
var _accounting = _interopRequireDefault(__webpack_require__(44281)),
|
|
_Instance = _interopRequireDefault(__webpack_require__(76352));
|
|
const NUMBER_REGEX = /([,.\s\d]+)/,
|
|
DECIMAL_REGEX = /[,\s\d]*?([,.]?)\d{2}$|[,\s\d]+/;
|
|
module.exports = exports.default
|
|
},
|
|
35763: module => {
|
|
"use strict";
|
|
module.exports = {
|
|
Quantifier: function(path) {
|
|
"Range" === path.node.kind && (function(path) {
|
|
var node = path.node;
|
|
if (0 !== node.from || node.to) return;
|
|
node.kind = "*", delete node.from
|
|
}(path), function(path) {
|
|
var node = path.node;
|
|
if (1 !== node.from || node.to) return;
|
|
node.kind = "+", delete node.from
|
|
}(path), function(path) {
|
|
var node = path.node;
|
|
if (1 !== node.from || 1 !== node.to) return;
|
|
path.parentPath.replace(path.parentPath.node.expression)
|
|
}(path))
|
|
}
|
|
}
|
|
},
|
|
36109: module => {
|
|
"use strict";
|
|
module.exports = Error
|
|
},
|
|
36121: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.hasMixin = hasMixin, exports.interpretMixin = function(command, functionOverrides = {}, metadata = null) {
|
|
if (hasMixin(command)) return interpretMixinResponse(command, functionOverrides, metadata).then(response => response);
|
|
return command
|
|
}, exports.interpretMixinResponse = interpretMixinResponse, exports.recursiveV2Override = function recursiveV2Override(obj) {
|
|
const keyMap = {
|
|
pns_siteRemoveCodeAction_v2: "pns_siteRemoveCodeAction",
|
|
pns_siteSelCartCodeSubmit_v2: "pns_siteSelCartCodeSubmit",
|
|
pns_sitePreApplyCodeAction_v2: "pns_sitePreApplyCodeAction"
|
|
};
|
|
if (!obj || "object" != typeof obj) return obj;
|
|
if (obj && obj instanceof Array) {
|
|
const newArr = [];
|
|
for (const value of obj) newArr.push(recursiveV2Override(value));
|
|
return newArr
|
|
}
|
|
const newObj = {};
|
|
for (const key in obj)
|
|
if (key && obj[key] && "object" == typeof obj[key]) newObj[key] = recursiveV2Override(obj[key]);
|
|
else if (key && "string" == typeof key && obj[`${key}_v2`]) newObj[key] = obj[`${key}_v2`];
|
|
else if (key && keyMap[key]) {
|
|
const v1Key = keyMap[key];
|
|
obj[v1Key] || (newObj[v1Key] = obj[key]), newObj[key] = obj[key]
|
|
} else newObj[key] = obj[key];
|
|
return newObj
|
|
};
|
|
var _defaultMixinFunctions = _interopRequireDefault(__webpack_require__(73807)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_deferOperators = __webpack_require__(14496),
|
|
_mixinResponses = __webpack_require__(34522);
|
|
const runnableRegex = /(?!.*\$)@{?[^@ $(){}]*?\(([^@ $(){}]{0}|((("[^ "]+"|'[^ ']+'|[^: @$(){}"]+):("[^"]*?"|'[^']*?'|<M>((?!<M>).)*?<\/M>|[^:@$(){}"]+)),?)+)\)}?|\$[^"'@ $(){}:,]+/g,
|
|
paramRegex = /\$[^"'@ $(){}:,]+|\${[^"' @$(){}:,]+}/g,
|
|
argsRegex = /'[^']*?'|"[^"]*?"|<M>((?!<M>).)*?<\/M>/g,
|
|
partsRegex = /'[^']+':'[^']*?'|"[^"]+":"[^"]*?"|(?:'[^']+'|"[^"]+"):<M>((?!<M>).)*?<\/M>|[^"'$@,(){}]+/g;
|
|
|
|
function cleanQuotes(s = "") {
|
|
return s && "string" == typeof s ? s.replace(/"\$"/g, "$").replace(/"@"/g, "@") : s
|
|
}
|
|
|
|
function cleanSurroundingQuotes(input) {
|
|
return input && "string" == typeof input && (input.startsWith("'") || input.startsWith('"')) && input.length >= 2 ? input.slice(1, -1) : input && "string" == typeof input && input.startsWith("<M>") && input.endsWith("</M>") && input.length >= 7 ? input.slice(3, -4) : input
|
|
}
|
|
async function performCommand(command, functions, metadata) {
|
|
if (!command) return command;
|
|
const matches = command.match(partsRegex) || [];
|
|
if (0 === matches.length) return cleanQuotes(command);
|
|
if ("@" === cleanQuotes(command).charAt(0)) {
|
|
const method = cleanQuotes(matches[0]),
|
|
args = {};
|
|
for (let i = 1; i < matches.length; i += 1) {
|
|
const argMatches = matches[i].match(argsRegex);
|
|
args[cleanSurroundingQuotes(argMatches[0])] = cleanSurroundingQuotes(argMatches[1])
|
|
}
|
|
let result;
|
|
if (functions && functions[method]) {
|
|
const actionDeferred = (0, _deferOperators.shouldDefer)(functions[method], args);
|
|
result = actionDeferred && new _mixinResponses.DeferredMixinResponse(method, actionDeferred) || await functions[method](args)
|
|
} else _logger.default.error(`Reference mixin method '${method}' but it doesn't exist`);
|
|
return result
|
|
}
|
|
if ("$" === cleanQuotes(command).charAt(0)) {
|
|
const key = cleanQuotes(matches[0]);
|
|
let value;
|
|
return metadata && (value = metadata[key]), value || ""
|
|
}
|
|
return command
|
|
}
|
|
|
|
function hasMixin(command) {
|
|
if (!command || "object" != typeof command && "string" != typeof command) return !1;
|
|
if ("object" == typeof command) {
|
|
if (Array.isArray(command)) return command.some(step => hasMixin(step));
|
|
if ("object" == typeof command) return Object.keys(command).some(step => hasMixin(step))
|
|
} else if ("string" == typeof command) {
|
|
if ((-1 === command.indexOf("$") || 0 !== command.indexOf("$") && -1 === command.indexOf("${")) && (-1 === command.indexOf("@") || 0 !== command.indexOf("@") && -1 === command.indexOf("@{"))) return !1;
|
|
const methodMatches = command.match(runnableRegex) || [],
|
|
paramMatches = command.match(paramRegex) || [];
|
|
return 0 !== methodMatches.concat(paramMatches).length
|
|
}
|
|
return !1
|
|
}
|
|
async function interpretMixinResponse(command, functionOverrides = {}, metadata = null, responses = []) {
|
|
if (command && hasMixin(command)) {
|
|
if (Array.isArray(command)) return command.map(async step => await interpretMixinResponse(step, functionOverrides, metadata, responses));
|
|
if ("object" == typeof command) {
|
|
const result = {};
|
|
for (const childKey of Object.keys(command)) result[childKey] = await interpretMixinResponse(command[childKey], functionOverrides, metadata, responses);
|
|
return result
|
|
} {
|
|
const methodMatches = command.match(runnableRegex) || [],
|
|
paramMatches = command.match(paramRegex) || [],
|
|
matches = methodMatches.concat(paramMatches);
|
|
if (0 === matches.length) return cleanQuotes(command);
|
|
const functions = (0, _defaultMixinFunctions.default)(functionOverrides);
|
|
let updatedCommand = command;
|
|
for (const subcommand of matches) {
|
|
const processedSubcommand = await performCommand(subcommand, functions, metadata);
|
|
responses.push(processedSubcommand), updatedCommand = updatedCommand.split(subcommand).join(processedSubcommand)
|
|
}
|
|
if (updatedCommand === command) return cleanQuotes(command);
|
|
return await interpretMixinResponse(updatedCommand, functions, metadata, responses)
|
|
}
|
|
}
|
|
return cleanQuotes(command)
|
|
}
|
|
},
|
|
36245: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
const Tokenizer = __webpack_require__(12275),
|
|
OpenElementStack = __webpack_require__(80829),
|
|
FormattingElementList = __webpack_require__(5772),
|
|
LocationInfoParserMixin = __webpack_require__(4282),
|
|
ErrorReportingParserMixin = __webpack_require__(42075),
|
|
Mixin = __webpack_require__(28338),
|
|
defaultTreeAdapter = __webpack_require__(436),
|
|
mergeOptions = __webpack_require__(69340),
|
|
doctype = __webpack_require__(38541),
|
|
foreignContent = __webpack_require__(2075),
|
|
ERR = __webpack_require__(13934),
|
|
unicode = __webpack_require__(27020),
|
|
HTML = __webpack_require__(53530),
|
|
$ = HTML.TAG_NAMES,
|
|
NS = HTML.NAMESPACES,
|
|
ATTRS = HTML.ATTRS,
|
|
DEFAULT_OPTIONS = {
|
|
scriptingEnabled: !0,
|
|
sourceCodeLocationInfo: !1,
|
|
onParseError: null,
|
|
treeAdapter: defaultTreeAdapter
|
|
},
|
|
INITIAL_MODE = "INITIAL_MODE",
|
|
BEFORE_HTML_MODE = "BEFORE_HTML_MODE",
|
|
BEFORE_HEAD_MODE = "BEFORE_HEAD_MODE",
|
|
IN_HEAD_MODE = "IN_HEAD_MODE",
|
|
IN_HEAD_NO_SCRIPT_MODE = "IN_HEAD_NO_SCRIPT_MODE",
|
|
AFTER_HEAD_MODE = "AFTER_HEAD_MODE",
|
|
IN_BODY_MODE = "IN_BODY_MODE",
|
|
TEXT_MODE = "TEXT_MODE",
|
|
IN_TABLE_MODE = "IN_TABLE_MODE",
|
|
IN_TABLE_TEXT_MODE = "IN_TABLE_TEXT_MODE",
|
|
IN_CAPTION_MODE = "IN_CAPTION_MODE",
|
|
IN_COLUMN_GROUP_MODE = "IN_COLUMN_GROUP_MODE",
|
|
IN_TABLE_BODY_MODE = "IN_TABLE_BODY_MODE",
|
|
IN_ROW_MODE = "IN_ROW_MODE",
|
|
IN_CELL_MODE = "IN_CELL_MODE",
|
|
IN_SELECT_MODE = "IN_SELECT_MODE",
|
|
IN_SELECT_IN_TABLE_MODE = "IN_SELECT_IN_TABLE_MODE",
|
|
IN_TEMPLATE_MODE = "IN_TEMPLATE_MODE",
|
|
AFTER_BODY_MODE = "AFTER_BODY_MODE",
|
|
IN_FRAMESET_MODE = "IN_FRAMESET_MODE",
|
|
AFTER_FRAMESET_MODE = "AFTER_FRAMESET_MODE",
|
|
AFTER_AFTER_BODY_MODE = "AFTER_AFTER_BODY_MODE",
|
|
AFTER_AFTER_FRAMESET_MODE = "AFTER_AFTER_FRAMESET_MODE",
|
|
INSERTION_MODE_RESET_MAP = {
|
|
[$.TR]: "IN_ROW_MODE",
|
|
[$.TBODY]: "IN_TABLE_BODY_MODE",
|
|
[$.THEAD]: "IN_TABLE_BODY_MODE",
|
|
[$.TFOOT]: "IN_TABLE_BODY_MODE",
|
|
[$.CAPTION]: "IN_CAPTION_MODE",
|
|
[$.COLGROUP]: "IN_COLUMN_GROUP_MODE",
|
|
[$.TABLE]: IN_TABLE_MODE,
|
|
[$.BODY]: "IN_BODY_MODE",
|
|
[$.FRAMESET]: "IN_FRAMESET_MODE"
|
|
},
|
|
TEMPLATE_INSERTION_MODE_SWITCH_MAP = {
|
|
[$.CAPTION]: IN_TABLE_MODE,
|
|
[$.COLGROUP]: IN_TABLE_MODE,
|
|
[$.TBODY]: IN_TABLE_MODE,
|
|
[$.TFOOT]: IN_TABLE_MODE,
|
|
[$.THEAD]: IN_TABLE_MODE,
|
|
[$.COL]: "IN_COLUMN_GROUP_MODE",
|
|
[$.TR]: "IN_TABLE_BODY_MODE",
|
|
[$.TD]: "IN_ROW_MODE",
|
|
[$.TH]: "IN_ROW_MODE"
|
|
},
|
|
TOKEN_HANDLERS = {
|
|
[INITIAL_MODE]: {
|
|
[Tokenizer.CHARACTER_TOKEN]: tokenInInitialMode,
|
|
[Tokenizer.NULL_CHARACTER_TOKEN]: tokenInInitialMode,
|
|
[Tokenizer.WHITESPACE_CHARACTER_TOKEN]: ignoreToken,
|
|
[Tokenizer.COMMENT_TOKEN]: appendComment,
|
|
[Tokenizer.DOCTYPE_TOKEN]: function(p, token) {
|
|
p._setDocumentType(token);
|
|
const mode = token.forceQuirks ? HTML.DOCUMENT_MODE.QUIRKS : doctype.getDocumentMode(token);
|
|
doctype.isConforming(token) || p._err(ERR.nonConformingDoctype);
|
|
p.treeAdapter.setDocumentMode(p.document, mode), p.insertionMode = "BEFORE_HTML_MODE"
|
|
},
|
|
[Tokenizer.START_TAG_TOKEN]: tokenInInitialMode,
|
|
[Tokenizer.END_TAG_TOKEN]: tokenInInitialMode,
|
|
[Tokenizer.EOF_TOKEN]: tokenInInitialMode
|
|
},
|
|
[BEFORE_HTML_MODE]: {
|
|
[Tokenizer.CHARACTER_TOKEN]: tokenBeforeHtml,
|
|
[Tokenizer.NULL_CHARACTER_TOKEN]: tokenBeforeHtml,
|
|
[Tokenizer.WHITESPACE_CHARACTER_TOKEN]: ignoreToken,
|
|
[Tokenizer.COMMENT_TOKEN]: appendComment,
|
|
[Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
|
|
[Tokenizer.START_TAG_TOKEN]: function(p, token) {
|
|
token.tagName === $.HTML ? (p._insertElement(token, NS.HTML), p.insertionMode = "BEFORE_HEAD_MODE") : tokenBeforeHtml(p, token)
|
|
},
|
|
[Tokenizer.END_TAG_TOKEN]: function(p, token) {
|
|
const tn = token.tagName;
|
|
tn !== $.HTML && tn !== $.HEAD && tn !== $.BODY && tn !== $.BR || tokenBeforeHtml(p, token)
|
|
},
|
|
[Tokenizer.EOF_TOKEN]: tokenBeforeHtml
|
|
},
|
|
[BEFORE_HEAD_MODE]: {
|
|
[Tokenizer.CHARACTER_TOKEN]: tokenBeforeHead,
|
|
[Tokenizer.NULL_CHARACTER_TOKEN]: tokenBeforeHead,
|
|
[Tokenizer.WHITESPACE_CHARACTER_TOKEN]: ignoreToken,
|
|
[Tokenizer.COMMENT_TOKEN]: appendComment,
|
|
[Tokenizer.DOCTYPE_TOKEN]: misplacedDoctype,
|
|
[Tokenizer.START_TAG_TOKEN]: function(p, token) {
|
|
const tn = token.tagName;
|
|
tn === $.HTML ? startTagInBody(p, token) : tn === $.HEAD ? (p._insertElement(token, NS.HTML), p.headElement = p.openElements.current, p.insertionMode = "IN_HEAD_MODE") : tokenBeforeHead(p, token)
|
|
},
|
|
[Tokenizer.END_TAG_TOKEN]: function(p, token) {
|
|
const tn = token.tagName;
|
|
tn === $.HEAD || tn === $.BODY || tn === $.HTML || tn === $.BR ? tokenBeforeHead(p, token) : p._err(ERR.endTagWithoutMatchingOpenElement)
|
|
},
|
|
[Tokenizer.EOF_TOKEN]: tokenBeforeHead
|
|
},
|
|
[IN_HEAD_MODE]: {
|
|
[Tokenizer.CHARACTER_TOKEN]: tokenInHead,
|
|
[Tokenizer.NULL_CHARACTER_TOKEN]: tokenInHead,
|
|
[Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,
|
|
[Tokenizer.COMMENT_TOKEN]: appendComment,
|
|
[Tokenizer.DOCTYPE_TOKEN]: misplacedDoctype,
|
|
[Tokenizer.START_TAG_TOKEN]: startTagInHead,
|
|
[Tokenizer.END_TAG_TOKEN]: endTagInHead,
|
|
[Tokenizer.EOF_TOKEN]: tokenInHead
|
|
},
|
|
[IN_HEAD_NO_SCRIPT_MODE]: {
|
|
[Tokenizer.CHARACTER_TOKEN]: tokenInHeadNoScript,
|
|
[Tokenizer.NULL_CHARACTER_TOKEN]: tokenInHeadNoScript,
|
|
[Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,
|
|
[Tokenizer.COMMENT_TOKEN]: appendComment,
|
|
[Tokenizer.DOCTYPE_TOKEN]: misplacedDoctype,
|
|
[Tokenizer.START_TAG_TOKEN]: function(p, token) {
|
|
const tn = token.tagName;
|
|
tn === $.HTML ? startTagInBody(p, token) : tn === $.BASEFONT || tn === $.BGSOUND || tn === $.HEAD || tn === $.LINK || tn === $.META || tn === $.NOFRAMES || tn === $.STYLE ? startTagInHead(p, token) : tn === $.NOSCRIPT ? p._err(ERR.nestedNoscriptInHead) : tokenInHeadNoScript(p, token)
|
|
},
|
|
[Tokenizer.END_TAG_TOKEN]: function(p, token) {
|
|
const tn = token.tagName;
|
|
tn === $.NOSCRIPT ? (p.openElements.pop(), p.insertionMode = "IN_HEAD_MODE") : tn === $.BR ? tokenInHeadNoScript(p, token) : p._err(ERR.endTagWithoutMatchingOpenElement)
|
|
},
|
|
[Tokenizer.EOF_TOKEN]: tokenInHeadNoScript
|
|
},
|
|
[AFTER_HEAD_MODE]: {
|
|
[Tokenizer.CHARACTER_TOKEN]: tokenAfterHead,
|
|
[Tokenizer.NULL_CHARACTER_TOKEN]: tokenAfterHead,
|
|
[Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,
|
|
[Tokenizer.COMMENT_TOKEN]: appendComment,
|
|
[Tokenizer.DOCTYPE_TOKEN]: misplacedDoctype,
|
|
[Tokenizer.START_TAG_TOKEN]: function(p, token) {
|
|
const tn = token.tagName;
|
|
tn === $.HTML ? startTagInBody(p, token) : tn === $.BODY ? (p._insertElement(token, NS.HTML), p.framesetOk = !1, p.insertionMode = "IN_BODY_MODE") : tn === $.FRAMESET ? (p._insertElement(token, NS.HTML), p.insertionMode = "IN_FRAMESET_MODE") : tn === $.BASE || tn === $.BASEFONT || tn === $.BGSOUND || tn === $.LINK || tn === $.META || tn === $.NOFRAMES || tn === $.SCRIPT || tn === $.STYLE || tn === $.TEMPLATE || tn === $.TITLE ? (p._err(ERR.abandonedHeadElementChild), p.openElements.push(p.headElement), startTagInHead(p, token), p.openElements.remove(p.headElement)) : tn === $.HEAD ? p._err(ERR.misplacedStartTagForHeadElement) : tokenAfterHead(p, token)
|
|
},
|
|
[Tokenizer.END_TAG_TOKEN]: function(p, token) {
|
|
const tn = token.tagName;
|
|
tn === $.BODY || tn === $.HTML || tn === $.BR ? tokenAfterHead(p, token) : tn === $.TEMPLATE ? endTagInHead(p, token) : p._err(ERR.endTagWithoutMatchingOpenElement)
|
|
},
|
|
[Tokenizer.EOF_TOKEN]: tokenAfterHead
|
|
},
|
|
[IN_BODY_MODE]: {
|
|
[Tokenizer.CHARACTER_TOKEN]: characterInBody,
|
|
[Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,
|
|
[Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,
|
|
[Tokenizer.COMMENT_TOKEN]: appendComment,
|
|
[Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
|
|
[Tokenizer.START_TAG_TOKEN]: startTagInBody,
|
|
[Tokenizer.END_TAG_TOKEN]: endTagInBody,
|
|
[Tokenizer.EOF_TOKEN]: eofInBody
|
|
},
|
|
[TEXT_MODE]: {
|
|
[Tokenizer.CHARACTER_TOKEN]: insertCharacters,
|
|
[Tokenizer.NULL_CHARACTER_TOKEN]: insertCharacters,
|
|
[Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,
|
|
[Tokenizer.COMMENT_TOKEN]: ignoreToken,
|
|
[Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
|
|
[Tokenizer.START_TAG_TOKEN]: ignoreToken,
|
|
[Tokenizer.END_TAG_TOKEN]: function(p, token) {
|
|
token.tagName === $.SCRIPT && (p.pendingScript = p.openElements.current);
|
|
p.openElements.pop(), p.insertionMode = p.originalInsertionMode
|
|
},
|
|
[Tokenizer.EOF_TOKEN]: function(p, token) {
|
|
p._err(ERR.eofInElementThatCanContainOnlyText), p.openElements.pop(), p.insertionMode = p.originalInsertionMode, p._processToken(token)
|
|
}
|
|
},
|
|
[IN_TABLE_MODE]: {
|
|
[Tokenizer.CHARACTER_TOKEN]: characterInTable,
|
|
[Tokenizer.NULL_CHARACTER_TOKEN]: characterInTable,
|
|
[Tokenizer.WHITESPACE_CHARACTER_TOKEN]: characterInTable,
|
|
[Tokenizer.COMMENT_TOKEN]: appendComment,
|
|
[Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
|
|
[Tokenizer.START_TAG_TOKEN]: startTagInTable,
|
|
[Tokenizer.END_TAG_TOKEN]: endTagInTable,
|
|
[Tokenizer.EOF_TOKEN]: eofInBody
|
|
},
|
|
[IN_TABLE_TEXT_MODE]: {
|
|
[Tokenizer.CHARACTER_TOKEN]: function(p, token) {
|
|
p.pendingCharacterTokens.push(token), p.hasNonWhitespacePendingCharacterToken = !0
|
|
},
|
|
[Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,
|
|
[Tokenizer.WHITESPACE_CHARACTER_TOKEN]: function(p, token) {
|
|
p.pendingCharacterTokens.push(token)
|
|
},
|
|
[Tokenizer.COMMENT_TOKEN]: tokenInTableText,
|
|
[Tokenizer.DOCTYPE_TOKEN]: tokenInTableText,
|
|
[Tokenizer.START_TAG_TOKEN]: tokenInTableText,
|
|
[Tokenizer.END_TAG_TOKEN]: tokenInTableText,
|
|
[Tokenizer.EOF_TOKEN]: tokenInTableText
|
|
},
|
|
[IN_CAPTION_MODE]: {
|
|
[Tokenizer.CHARACTER_TOKEN]: characterInBody,
|
|
[Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,
|
|
[Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,
|
|
[Tokenizer.COMMENT_TOKEN]: appendComment,
|
|
[Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
|
|
[Tokenizer.START_TAG_TOKEN]: function(p, token) {
|
|
const tn = token.tagName;
|
|
tn === $.CAPTION || tn === $.COL || tn === $.COLGROUP || tn === $.TBODY || tn === $.TD || tn === $.TFOOT || tn === $.TH || tn === $.THEAD || tn === $.TR ? p.openElements.hasInTableScope($.CAPTION) && (p.openElements.generateImpliedEndTags(), p.openElements.popUntilTagNamePopped($.CAPTION), p.activeFormattingElements.clearToLastMarker(), p.insertionMode = IN_TABLE_MODE, p._processToken(token)) : startTagInBody(p, token)
|
|
},
|
|
[Tokenizer.END_TAG_TOKEN]: function(p, token) {
|
|
const tn = token.tagName;
|
|
tn === $.CAPTION || tn === $.TABLE ? p.openElements.hasInTableScope($.CAPTION) && (p.openElements.generateImpliedEndTags(), p.openElements.popUntilTagNamePopped($.CAPTION), p.activeFormattingElements.clearToLastMarker(), p.insertionMode = IN_TABLE_MODE, tn === $.TABLE && p._processToken(token)) : tn !== $.BODY && tn !== $.COL && tn !== $.COLGROUP && tn !== $.HTML && tn !== $.TBODY && tn !== $.TD && tn !== $.TFOOT && tn !== $.TH && tn !== $.THEAD && tn !== $.TR && endTagInBody(p, token)
|
|
},
|
|
[Tokenizer.EOF_TOKEN]: eofInBody
|
|
},
|
|
[IN_COLUMN_GROUP_MODE]: {
|
|
[Tokenizer.CHARACTER_TOKEN]: tokenInColumnGroup,
|
|
[Tokenizer.NULL_CHARACTER_TOKEN]: tokenInColumnGroup,
|
|
[Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,
|
|
[Tokenizer.COMMENT_TOKEN]: appendComment,
|
|
[Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
|
|
[Tokenizer.START_TAG_TOKEN]: function(p, token) {
|
|
const tn = token.tagName;
|
|
tn === $.HTML ? startTagInBody(p, token) : tn === $.COL ? (p._appendElement(token, NS.HTML), token.ackSelfClosing = !0) : tn === $.TEMPLATE ? startTagInHead(p, token) : tokenInColumnGroup(p, token)
|
|
},
|
|
[Tokenizer.END_TAG_TOKEN]: function(p, token) {
|
|
const tn = token.tagName;
|
|
tn === $.COLGROUP ? p.openElements.currentTagName === $.COLGROUP && (p.openElements.pop(), p.insertionMode = IN_TABLE_MODE) : tn === $.TEMPLATE ? endTagInHead(p, token) : tn !== $.COL && tokenInColumnGroup(p, token)
|
|
},
|
|
[Tokenizer.EOF_TOKEN]: eofInBody
|
|
},
|
|
[IN_TABLE_BODY_MODE]: {
|
|
[Tokenizer.CHARACTER_TOKEN]: characterInTable,
|
|
[Tokenizer.NULL_CHARACTER_TOKEN]: characterInTable,
|
|
[Tokenizer.WHITESPACE_CHARACTER_TOKEN]: characterInTable,
|
|
[Tokenizer.COMMENT_TOKEN]: appendComment,
|
|
[Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
|
|
[Tokenizer.START_TAG_TOKEN]: function(p, token) {
|
|
const tn = token.tagName;
|
|
tn === $.TR ? (p.openElements.clearBackToTableBodyContext(), p._insertElement(token, NS.HTML), p.insertionMode = "IN_ROW_MODE") : tn === $.TH || tn === $.TD ? (p.openElements.clearBackToTableBodyContext(), p._insertFakeElement($.TR), p.insertionMode = "IN_ROW_MODE", p._processToken(token)) : tn === $.CAPTION || tn === $.COL || tn === $.COLGROUP || tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD ? p.openElements.hasTableBodyContextInTableScope() && (p.openElements.clearBackToTableBodyContext(), p.openElements.pop(), p.insertionMode = IN_TABLE_MODE, p._processToken(token)) : startTagInTable(p, token)
|
|
},
|
|
[Tokenizer.END_TAG_TOKEN]: function(p, token) {
|
|
const tn = token.tagName;
|
|
tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD ? p.openElements.hasInTableScope(tn) && (p.openElements.clearBackToTableBodyContext(), p.openElements.pop(), p.insertionMode = IN_TABLE_MODE) : tn === $.TABLE ? p.openElements.hasTableBodyContextInTableScope() && (p.openElements.clearBackToTableBodyContext(), p.openElements.pop(), p.insertionMode = IN_TABLE_MODE, p._processToken(token)) : (tn !== $.BODY && tn !== $.CAPTION && tn !== $.COL && tn !== $.COLGROUP || tn !== $.HTML && tn !== $.TD && tn !== $.TH && tn !== $.TR) && endTagInTable(p, token)
|
|
},
|
|
[Tokenizer.EOF_TOKEN]: eofInBody
|
|
},
|
|
[IN_ROW_MODE]: {
|
|
[Tokenizer.CHARACTER_TOKEN]: characterInTable,
|
|
[Tokenizer.NULL_CHARACTER_TOKEN]: characterInTable,
|
|
[Tokenizer.WHITESPACE_CHARACTER_TOKEN]: characterInTable,
|
|
[Tokenizer.COMMENT_TOKEN]: appendComment,
|
|
[Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
|
|
[Tokenizer.START_TAG_TOKEN]: function(p, token) {
|
|
const tn = token.tagName;
|
|
tn === $.TH || tn === $.TD ? (p.openElements.clearBackToTableRowContext(), p._insertElement(token, NS.HTML), p.insertionMode = "IN_CELL_MODE", p.activeFormattingElements.insertMarker()) : tn === $.CAPTION || tn === $.COL || tn === $.COLGROUP || tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD || tn === $.TR ? p.openElements.hasInTableScope($.TR) && (p.openElements.clearBackToTableRowContext(), p.openElements.pop(), p.insertionMode = "IN_TABLE_BODY_MODE", p._processToken(token)) : startTagInTable(p, token)
|
|
},
|
|
[Tokenizer.END_TAG_TOKEN]: function(p, token) {
|
|
const tn = token.tagName;
|
|
tn === $.TR ? p.openElements.hasInTableScope($.TR) && (p.openElements.clearBackToTableRowContext(), p.openElements.pop(), p.insertionMode = "IN_TABLE_BODY_MODE") : tn === $.TABLE ? p.openElements.hasInTableScope($.TR) && (p.openElements.clearBackToTableRowContext(), p.openElements.pop(), p.insertionMode = "IN_TABLE_BODY_MODE", p._processToken(token)) : tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD ? (p.openElements.hasInTableScope(tn) || p.openElements.hasInTableScope($.TR)) && (p.openElements.clearBackToTableRowContext(), p.openElements.pop(), p.insertionMode = "IN_TABLE_BODY_MODE", p._processToken(token)) : (tn !== $.BODY && tn !== $.CAPTION && tn !== $.COL && tn !== $.COLGROUP || tn !== $.HTML && tn !== $.TD && tn !== $.TH) && endTagInTable(p, token)
|
|
},
|
|
[Tokenizer.EOF_TOKEN]: eofInBody
|
|
},
|
|
[IN_CELL_MODE]: {
|
|
[Tokenizer.CHARACTER_TOKEN]: characterInBody,
|
|
[Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,
|
|
[Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,
|
|
[Tokenizer.COMMENT_TOKEN]: appendComment,
|
|
[Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
|
|
[Tokenizer.START_TAG_TOKEN]: function(p, token) {
|
|
const tn = token.tagName;
|
|
tn === $.CAPTION || tn === $.COL || tn === $.COLGROUP || tn === $.TBODY || tn === $.TD || tn === $.TFOOT || tn === $.TH || tn === $.THEAD || tn === $.TR ? (p.openElements.hasInTableScope($.TD) || p.openElements.hasInTableScope($.TH)) && (p._closeTableCell(), p._processToken(token)) : startTagInBody(p, token)
|
|
},
|
|
[Tokenizer.END_TAG_TOKEN]: function(p, token) {
|
|
const tn = token.tagName;
|
|
tn === $.TD || tn === $.TH ? p.openElements.hasInTableScope(tn) && (p.openElements.generateImpliedEndTags(), p.openElements.popUntilTagNamePopped(tn), p.activeFormattingElements.clearToLastMarker(), p.insertionMode = "IN_ROW_MODE") : tn === $.TABLE || tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD || tn === $.TR ? p.openElements.hasInTableScope(tn) && (p._closeTableCell(), p._processToken(token)) : tn !== $.BODY && tn !== $.CAPTION && tn !== $.COL && tn !== $.COLGROUP && tn !== $.HTML && endTagInBody(p, token)
|
|
},
|
|
[Tokenizer.EOF_TOKEN]: eofInBody
|
|
},
|
|
[IN_SELECT_MODE]: {
|
|
[Tokenizer.CHARACTER_TOKEN]: insertCharacters,
|
|
[Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,
|
|
[Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,
|
|
[Tokenizer.COMMENT_TOKEN]: appendComment,
|
|
[Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
|
|
[Tokenizer.START_TAG_TOKEN]: startTagInSelect,
|
|
[Tokenizer.END_TAG_TOKEN]: endTagInSelect,
|
|
[Tokenizer.EOF_TOKEN]: eofInBody
|
|
},
|
|
[IN_SELECT_IN_TABLE_MODE]: {
|
|
[Tokenizer.CHARACTER_TOKEN]: insertCharacters,
|
|
[Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,
|
|
[Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,
|
|
[Tokenizer.COMMENT_TOKEN]: appendComment,
|
|
[Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
|
|
[Tokenizer.START_TAG_TOKEN]: function(p, token) {
|
|
const tn = token.tagName;
|
|
tn === $.CAPTION || tn === $.TABLE || tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD || tn === $.TR || tn === $.TD || tn === $.TH ? (p.openElements.popUntilTagNamePopped($.SELECT), p._resetInsertionMode(), p._processToken(token)) : startTagInSelect(p, token)
|
|
},
|
|
[Tokenizer.END_TAG_TOKEN]: function(p, token) {
|
|
const tn = token.tagName;
|
|
tn === $.CAPTION || tn === $.TABLE || tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD || tn === $.TR || tn === $.TD || tn === $.TH ? p.openElements.hasInTableScope(tn) && (p.openElements.popUntilTagNamePopped($.SELECT), p._resetInsertionMode(), p._processToken(token)) : endTagInSelect(p, token)
|
|
},
|
|
[Tokenizer.EOF_TOKEN]: eofInBody
|
|
},
|
|
[IN_TEMPLATE_MODE]: {
|
|
[Tokenizer.CHARACTER_TOKEN]: characterInBody,
|
|
[Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,
|
|
[Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,
|
|
[Tokenizer.COMMENT_TOKEN]: appendComment,
|
|
[Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
|
|
[Tokenizer.START_TAG_TOKEN]: function(p, token) {
|
|
const tn = token.tagName;
|
|
if (tn === $.BASE || tn === $.BASEFONT || tn === $.BGSOUND || tn === $.LINK || tn === $.META || tn === $.NOFRAMES || tn === $.SCRIPT || tn === $.STYLE || tn === $.TEMPLATE || tn === $.TITLE) startTagInHead(p, token);
|
|
else {
|
|
const newInsertionMode = TEMPLATE_INSERTION_MODE_SWITCH_MAP[tn] || "IN_BODY_MODE";
|
|
p._popTmplInsertionMode(), p._pushTmplInsertionMode(newInsertionMode), p.insertionMode = newInsertionMode, p._processToken(token)
|
|
}
|
|
},
|
|
[Tokenizer.END_TAG_TOKEN]: function(p, token) {
|
|
token.tagName === $.TEMPLATE && endTagInHead(p, token)
|
|
},
|
|
[Tokenizer.EOF_TOKEN]: eofInTemplate
|
|
},
|
|
[AFTER_BODY_MODE]: {
|
|
[Tokenizer.CHARACTER_TOKEN]: tokenAfterBody,
|
|
[Tokenizer.NULL_CHARACTER_TOKEN]: tokenAfterBody,
|
|
[Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,
|
|
[Tokenizer.COMMENT_TOKEN]: function(p, token) {
|
|
p._appendCommentNode(token, p.openElements.items[0])
|
|
},
|
|
[Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
|
|
[Tokenizer.START_TAG_TOKEN]: function(p, token) {
|
|
token.tagName === $.HTML ? startTagInBody(p, token) : tokenAfterBody(p, token)
|
|
},
|
|
[Tokenizer.END_TAG_TOKEN]: function(p, token) {
|
|
token.tagName === $.HTML ? p.fragmentContext || (p.insertionMode = "AFTER_AFTER_BODY_MODE") : tokenAfterBody(p, token)
|
|
},
|
|
[Tokenizer.EOF_TOKEN]: stopParsing
|
|
},
|
|
[IN_FRAMESET_MODE]: {
|
|
[Tokenizer.CHARACTER_TOKEN]: ignoreToken,
|
|
[Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,
|
|
[Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,
|
|
[Tokenizer.COMMENT_TOKEN]: appendComment,
|
|
[Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
|
|
[Tokenizer.START_TAG_TOKEN]: function(p, token) {
|
|
const tn = token.tagName;
|
|
tn === $.HTML ? startTagInBody(p, token) : tn === $.FRAMESET ? p._insertElement(token, NS.HTML) : tn === $.FRAME ? (p._appendElement(token, NS.HTML), token.ackSelfClosing = !0) : tn === $.NOFRAMES && startTagInHead(p, token)
|
|
},
|
|
[Tokenizer.END_TAG_TOKEN]: function(p, token) {
|
|
token.tagName !== $.FRAMESET || p.openElements.isRootHtmlElementCurrent() || (p.openElements.pop(), p.fragmentContext || p.openElements.currentTagName === $.FRAMESET || (p.insertionMode = "AFTER_FRAMESET_MODE"))
|
|
},
|
|
[Tokenizer.EOF_TOKEN]: stopParsing
|
|
},
|
|
[AFTER_FRAMESET_MODE]: {
|
|
[Tokenizer.CHARACTER_TOKEN]: ignoreToken,
|
|
[Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,
|
|
[Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,
|
|
[Tokenizer.COMMENT_TOKEN]: appendComment,
|
|
[Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
|
|
[Tokenizer.START_TAG_TOKEN]: function(p, token) {
|
|
const tn = token.tagName;
|
|
tn === $.HTML ? startTagInBody(p, token) : tn === $.NOFRAMES && startTagInHead(p, token)
|
|
},
|
|
[Tokenizer.END_TAG_TOKEN]: function(p, token) {
|
|
token.tagName === $.HTML && (p.insertionMode = "AFTER_AFTER_FRAMESET_MODE")
|
|
},
|
|
[Tokenizer.EOF_TOKEN]: stopParsing
|
|
},
|
|
[AFTER_AFTER_BODY_MODE]: {
|
|
[Tokenizer.CHARACTER_TOKEN]: tokenAfterAfterBody,
|
|
[Tokenizer.NULL_CHARACTER_TOKEN]: tokenAfterAfterBody,
|
|
[Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,
|
|
[Tokenizer.COMMENT_TOKEN]: appendCommentToDocument,
|
|
[Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
|
|
[Tokenizer.START_TAG_TOKEN]: function(p, token) {
|
|
token.tagName === $.HTML ? startTagInBody(p, token) : tokenAfterAfterBody(p, token)
|
|
},
|
|
[Tokenizer.END_TAG_TOKEN]: tokenAfterAfterBody,
|
|
[Tokenizer.EOF_TOKEN]: stopParsing
|
|
},
|
|
[AFTER_AFTER_FRAMESET_MODE]: {
|
|
[Tokenizer.CHARACTER_TOKEN]: ignoreToken,
|
|
[Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,
|
|
[Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,
|
|
[Tokenizer.COMMENT_TOKEN]: appendCommentToDocument,
|
|
[Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
|
|
[Tokenizer.START_TAG_TOKEN]: function(p, token) {
|
|
const tn = token.tagName;
|
|
tn === $.HTML ? startTagInBody(p, token) : tn === $.NOFRAMES && startTagInHead(p, token)
|
|
},
|
|
[Tokenizer.END_TAG_TOKEN]: ignoreToken,
|
|
[Tokenizer.EOF_TOKEN]: stopParsing
|
|
}
|
|
};
|
|
|
|
function aaObtainFormattingElementEntry(p, token) {
|
|
let formattingElementEntry = p.activeFormattingElements.getElementEntryInScopeWithTagName(token.tagName);
|
|
return formattingElementEntry ? p.openElements.contains(formattingElementEntry.element) ? p.openElements.hasInScope(token.tagName) || (formattingElementEntry = null) : (p.activeFormattingElements.removeEntry(formattingElementEntry), formattingElementEntry = null) : genericEndTagInBody(p, token), formattingElementEntry
|
|
}
|
|
|
|
function aaObtainFurthestBlock(p, formattingElementEntry) {
|
|
let furthestBlock = null;
|
|
for (let i = p.openElements.stackTop; i >= 0; i--) {
|
|
const element = p.openElements.items[i];
|
|
if (element === formattingElementEntry.element) break;
|
|
p._isSpecialElement(element) && (furthestBlock = element)
|
|
}
|
|
return furthestBlock || (p.openElements.popUntilElementPopped(formattingElementEntry.element), p.activeFormattingElements.removeEntry(formattingElementEntry)), furthestBlock
|
|
}
|
|
|
|
function aaInnerLoop(p, furthestBlock, formattingElement) {
|
|
let lastElement = furthestBlock,
|
|
nextElement = p.openElements.getCommonAncestor(furthestBlock);
|
|
for (let i = 0, element = nextElement; element !== formattingElement; i++, element = nextElement) {
|
|
nextElement = p.openElements.getCommonAncestor(element);
|
|
const elementEntry = p.activeFormattingElements.getElementEntry(element),
|
|
counterOverflow = elementEntry && i >= 3;
|
|
!elementEntry || counterOverflow ? (counterOverflow && p.activeFormattingElements.removeEntry(elementEntry), p.openElements.remove(element)) : (element = aaRecreateElementFromEntry(p, elementEntry), lastElement === furthestBlock && (p.activeFormattingElements.bookmark = elementEntry), p.treeAdapter.detachNode(lastElement), p.treeAdapter.appendChild(element, lastElement), lastElement = element)
|
|
}
|
|
return lastElement
|
|
}
|
|
|
|
function aaRecreateElementFromEntry(p, elementEntry) {
|
|
const ns = p.treeAdapter.getNamespaceURI(elementEntry.element),
|
|
newElement = p.treeAdapter.createElement(elementEntry.token.tagName, ns, elementEntry.token.attrs);
|
|
return p.openElements.replace(elementEntry.element, newElement), elementEntry.element = newElement, newElement
|
|
}
|
|
|
|
function aaInsertLastNodeInCommonAncestor(p, commonAncestor, lastElement) {
|
|
if (p._isElementCausesFosterParenting(commonAncestor)) p._fosterParentElement(lastElement);
|
|
else {
|
|
const tn = p.treeAdapter.getTagName(commonAncestor),
|
|
ns = p.treeAdapter.getNamespaceURI(commonAncestor);
|
|
tn === $.TEMPLATE && ns === NS.HTML && (commonAncestor = p.treeAdapter.getTemplateContent(commonAncestor)), p.treeAdapter.appendChild(commonAncestor, lastElement)
|
|
}
|
|
}
|
|
|
|
function aaReplaceFormattingElement(p, furthestBlock, formattingElementEntry) {
|
|
const ns = p.treeAdapter.getNamespaceURI(formattingElementEntry.element),
|
|
token = formattingElementEntry.token,
|
|
newElement = p.treeAdapter.createElement(token.tagName, ns, token.attrs);
|
|
p._adoptNodes(furthestBlock, newElement), p.treeAdapter.appendChild(furthestBlock, newElement), p.activeFormattingElements.insertElementAfterBookmark(newElement, formattingElementEntry.token), p.activeFormattingElements.removeEntry(formattingElementEntry), p.openElements.remove(formattingElementEntry.element), p.openElements.insertAfter(furthestBlock, newElement)
|
|
}
|
|
|
|
function callAdoptionAgency(p, token) {
|
|
let formattingElementEntry;
|
|
for (let i = 0; i < 8 && (formattingElementEntry = aaObtainFormattingElementEntry(p, token), formattingElementEntry); i++) {
|
|
const furthestBlock = aaObtainFurthestBlock(p, formattingElementEntry);
|
|
if (!furthestBlock) break;
|
|
p.activeFormattingElements.bookmark = formattingElementEntry;
|
|
const lastElement = aaInnerLoop(p, furthestBlock, formattingElementEntry.element),
|
|
commonAncestor = p.openElements.getCommonAncestor(formattingElementEntry.element);
|
|
p.treeAdapter.detachNode(lastElement), aaInsertLastNodeInCommonAncestor(p, commonAncestor, lastElement), aaReplaceFormattingElement(p, furthestBlock, formattingElementEntry)
|
|
}
|
|
}
|
|
|
|
function ignoreToken() {}
|
|
|
|
function misplacedDoctype(p) {
|
|
p._err(ERR.misplacedDoctype)
|
|
}
|
|
|
|
function appendComment(p, token) {
|
|
p._appendCommentNode(token, p.openElements.currentTmplContent || p.openElements.current)
|
|
}
|
|
|
|
function appendCommentToDocument(p, token) {
|
|
p._appendCommentNode(token, p.document)
|
|
}
|
|
|
|
function insertCharacters(p, token) {
|
|
p._insertCharacters(token)
|
|
}
|
|
|
|
function stopParsing(p) {
|
|
p.stopped = !0
|
|
}
|
|
|
|
function tokenInInitialMode(p, token) {
|
|
p._err(ERR.missingDoctype, {
|
|
beforeToken: !0
|
|
}), p.treeAdapter.setDocumentMode(p.document, HTML.DOCUMENT_MODE.QUIRKS), p.insertionMode = "BEFORE_HTML_MODE", p._processToken(token)
|
|
}
|
|
|
|
function tokenBeforeHtml(p, token) {
|
|
p._insertFakeRootElement(), p.insertionMode = "BEFORE_HEAD_MODE", p._processToken(token)
|
|
}
|
|
|
|
function tokenBeforeHead(p, token) {
|
|
p._insertFakeElement($.HEAD), p.headElement = p.openElements.current, p.insertionMode = "IN_HEAD_MODE", p._processToken(token)
|
|
}
|
|
|
|
function startTagInHead(p, token) {
|
|
const tn = token.tagName;
|
|
tn === $.HTML ? startTagInBody(p, token) : tn === $.BASE || tn === $.BASEFONT || tn === $.BGSOUND || tn === $.LINK || tn === $.META ? (p._appendElement(token, NS.HTML), token.ackSelfClosing = !0) : tn === $.TITLE ? p._switchToTextParsing(token, Tokenizer.MODE.RCDATA) : tn === $.NOSCRIPT ? p.options.scriptingEnabled ? p._switchToTextParsing(token, Tokenizer.MODE.RAWTEXT) : (p._insertElement(token, NS.HTML), p.insertionMode = "IN_HEAD_NO_SCRIPT_MODE") : tn === $.NOFRAMES || tn === $.STYLE ? p._switchToTextParsing(token, Tokenizer.MODE.RAWTEXT) : tn === $.SCRIPT ? p._switchToTextParsing(token, Tokenizer.MODE.SCRIPT_DATA) : tn === $.TEMPLATE ? (p._insertTemplate(token, NS.HTML), p.activeFormattingElements.insertMarker(), p.framesetOk = !1, p.insertionMode = "IN_TEMPLATE_MODE", p._pushTmplInsertionMode("IN_TEMPLATE_MODE")) : tn === $.HEAD ? p._err(ERR.misplacedStartTagForHeadElement) : tokenInHead(p, token)
|
|
}
|
|
|
|
function endTagInHead(p, token) {
|
|
const tn = token.tagName;
|
|
tn === $.HEAD ? (p.openElements.pop(), p.insertionMode = "AFTER_HEAD_MODE") : tn === $.BODY || tn === $.BR || tn === $.HTML ? tokenInHead(p, token) : tn === $.TEMPLATE && p.openElements.tmplCount > 0 ? (p.openElements.generateImpliedEndTagsThoroughly(), p.openElements.currentTagName !== $.TEMPLATE && p._err(ERR.closingOfElementWithOpenChildElements), p.openElements.popUntilTagNamePopped($.TEMPLATE), p.activeFormattingElements.clearToLastMarker(), p._popTmplInsertionMode(), p._resetInsertionMode()) : p._err(ERR.endTagWithoutMatchingOpenElement)
|
|
}
|
|
|
|
function tokenInHead(p, token) {
|
|
p.openElements.pop(), p.insertionMode = "AFTER_HEAD_MODE", p._processToken(token)
|
|
}
|
|
|
|
function tokenInHeadNoScript(p, token) {
|
|
const errCode = token.type === Tokenizer.EOF_TOKEN ? ERR.openElementsLeftAfterEof : ERR.disallowedContentInNoscriptInHead;
|
|
p._err(errCode), p.openElements.pop(), p.insertionMode = "IN_HEAD_MODE", p._processToken(token)
|
|
}
|
|
|
|
function tokenAfterHead(p, token) {
|
|
p._insertFakeElement($.BODY), p.insertionMode = "IN_BODY_MODE", p._processToken(token)
|
|
}
|
|
|
|
function whitespaceCharacterInBody(p, token) {
|
|
p._reconstructActiveFormattingElements(), p._insertCharacters(token)
|
|
}
|
|
|
|
function characterInBody(p, token) {
|
|
p._reconstructActiveFormattingElements(), p._insertCharacters(token), p.framesetOk = !1
|
|
}
|
|
|
|
function addressStartTagInBody(p, token) {
|
|
p.openElements.hasInButtonScope($.P) && p._closePElement(), p._insertElement(token, NS.HTML)
|
|
}
|
|
|
|
function preStartTagInBody(p, token) {
|
|
p.openElements.hasInButtonScope($.P) && p._closePElement(), p._insertElement(token, NS.HTML), p.skipNextNewLine = !0, p.framesetOk = !1
|
|
}
|
|
|
|
function bStartTagInBody(p, token) {
|
|
p._reconstructActiveFormattingElements(), p._insertElement(token, NS.HTML), p.activeFormattingElements.pushElement(p.openElements.current, token)
|
|
}
|
|
|
|
function appletStartTagInBody(p, token) {
|
|
p._reconstructActiveFormattingElements(), p._insertElement(token, NS.HTML), p.activeFormattingElements.insertMarker(), p.framesetOk = !1
|
|
}
|
|
|
|
function areaStartTagInBody(p, token) {
|
|
p._reconstructActiveFormattingElements(), p._appendElement(token, NS.HTML), p.framesetOk = !1, token.ackSelfClosing = !0
|
|
}
|
|
|
|
function paramStartTagInBody(p, token) {
|
|
p._appendElement(token, NS.HTML), token.ackSelfClosing = !0
|
|
}
|
|
|
|
function noembedStartTagInBody(p, token) {
|
|
p._switchToTextParsing(token, Tokenizer.MODE.RAWTEXT)
|
|
}
|
|
|
|
function optgroupStartTagInBody(p, token) {
|
|
p.openElements.currentTagName === $.OPTION && p.openElements.pop(), p._reconstructActiveFormattingElements(), p._insertElement(token, NS.HTML)
|
|
}
|
|
|
|
function rbStartTagInBody(p, token) {
|
|
p.openElements.hasInScope($.RUBY) && p.openElements.generateImpliedEndTags(), p._insertElement(token, NS.HTML)
|
|
}
|
|
|
|
function genericStartTagInBody(p, token) {
|
|
p._reconstructActiveFormattingElements(), p._insertElement(token, NS.HTML)
|
|
}
|
|
|
|
function startTagInBody(p, token) {
|
|
const tn = token.tagName;
|
|
switch (tn.length) {
|
|
case 1:
|
|
tn === $.I || tn === $.S || tn === $.B || tn === $.U ? bStartTagInBody(p, token) : tn === $.P ? addressStartTagInBody(p, token) : tn === $.A ? function(p, token) {
|
|
const activeElementEntry = p.activeFormattingElements.getElementEntryInScopeWithTagName($.A);
|
|
activeElementEntry && (callAdoptionAgency(p, token), p.openElements.remove(activeElementEntry.element), p.activeFormattingElements.removeEntry(activeElementEntry)), p._reconstructActiveFormattingElements(), p._insertElement(token, NS.HTML), p.activeFormattingElements.pushElement(p.openElements.current, token)
|
|
}(p, token) : genericStartTagInBody(p, token);
|
|
break;
|
|
case 2:
|
|
tn === $.DL || tn === $.OL || tn === $.UL ? addressStartTagInBody(p, token) : tn === $.H1 || tn === $.H2 || tn === $.H3 || tn === $.H4 || tn === $.H5 || tn === $.H6 ? function(p, token) {
|
|
p.openElements.hasInButtonScope($.P) && p._closePElement();
|
|
const tn = p.openElements.currentTagName;
|
|
tn !== $.H1 && tn !== $.H2 && tn !== $.H3 && tn !== $.H4 && tn !== $.H5 && tn !== $.H6 || p.openElements.pop(), p._insertElement(token, NS.HTML)
|
|
}(p, token) : tn === $.LI || tn === $.DD || tn === $.DT ? function(p, token) {
|
|
p.framesetOk = !1;
|
|
const tn = token.tagName;
|
|
for (let i = p.openElements.stackTop; i >= 0; i--) {
|
|
const element = p.openElements.items[i],
|
|
elementTn = p.treeAdapter.getTagName(element);
|
|
let closeTn = null;
|
|
if (tn === $.LI && elementTn === $.LI ? closeTn = $.LI : tn !== $.DD && tn !== $.DT || elementTn !== $.DD && elementTn !== $.DT || (closeTn = elementTn), closeTn) {
|
|
p.openElements.generateImpliedEndTagsWithExclusion(closeTn), p.openElements.popUntilTagNamePopped(closeTn);
|
|
break
|
|
}
|
|
if (elementTn !== $.ADDRESS && elementTn !== $.DIV && elementTn !== $.P && p._isSpecialElement(element)) break
|
|
}
|
|
p.openElements.hasInButtonScope($.P) && p._closePElement(), p._insertElement(token, NS.HTML)
|
|
}(p, token) : tn === $.EM || tn === $.TT ? bStartTagInBody(p, token) : tn === $.BR ? areaStartTagInBody(p, token) : tn === $.HR ? function(p, token) {
|
|
p.openElements.hasInButtonScope($.P) && p._closePElement(), p._appendElement(token, NS.HTML), p.framesetOk = !1, token.ackSelfClosing = !0
|
|
}(p, token) : tn === $.RB ? rbStartTagInBody(p, token) : tn === $.RT || tn === $.RP ? function(p, token) {
|
|
p.openElements.hasInScope($.RUBY) && p.openElements.generateImpliedEndTagsWithExclusion($.RTC), p._insertElement(token, NS.HTML)
|
|
}(p, token) : tn !== $.TH && tn !== $.TD && tn !== $.TR && genericStartTagInBody(p, token);
|
|
break;
|
|
case 3:
|
|
tn === $.DIV || tn === $.DIR || tn === $.NAV ? addressStartTagInBody(p, token) : tn === $.PRE ? preStartTagInBody(p, token) : tn === $.BIG ? bStartTagInBody(p, token) : tn === $.IMG || tn === $.WBR ? areaStartTagInBody(p, token) : tn === $.XMP ? function(p, token) {
|
|
p.openElements.hasInButtonScope($.P) && p._closePElement(), p._reconstructActiveFormattingElements(), p.framesetOk = !1, p._switchToTextParsing(token, Tokenizer.MODE.RAWTEXT)
|
|
}(p, token) : tn === $.SVG ? function(p, token) {
|
|
p._reconstructActiveFormattingElements(), foreignContent.adjustTokenSVGAttrs(token), foreignContent.adjustTokenXMLAttrs(token), token.selfClosing ? p._appendElement(token, NS.SVG) : p._insertElement(token, NS.SVG), token.ackSelfClosing = !0
|
|
}(p, token) : tn === $.RTC ? rbStartTagInBody(p, token) : tn !== $.COL && genericStartTagInBody(p, token);
|
|
break;
|
|
case 4:
|
|
tn === $.HTML ? function(p, token) {
|
|
0 === p.openElements.tmplCount && p.treeAdapter.adoptAttributes(p.openElements.items[0], token.attrs)
|
|
}(p, token) : tn === $.BASE || tn === $.LINK || tn === $.META ? startTagInHead(p, token) : tn === $.BODY ? function(p, token) {
|
|
const bodyElement = p.openElements.tryPeekProperlyNestedBodyElement();
|
|
bodyElement && 0 === p.openElements.tmplCount && (p.framesetOk = !1, p.treeAdapter.adoptAttributes(bodyElement, token.attrs))
|
|
}(p, token) : tn === $.MAIN || tn === $.MENU ? addressStartTagInBody(p, token) : tn === $.FORM ? function(p, token) {
|
|
const inTemplate = p.openElements.tmplCount > 0;
|
|
p.formElement && !inTemplate || (p.openElements.hasInButtonScope($.P) && p._closePElement(), p._insertElement(token, NS.HTML), inTemplate || (p.formElement = p.openElements.current))
|
|
}(p, token) : tn === $.CODE || tn === $.FONT ? bStartTagInBody(p, token) : tn === $.NOBR ? function(p, token) {
|
|
p._reconstructActiveFormattingElements(), p.openElements.hasInScope($.NOBR) && (callAdoptionAgency(p, token), p._reconstructActiveFormattingElements()), p._insertElement(token, NS.HTML), p.activeFormattingElements.pushElement(p.openElements.current, token)
|
|
}(p, token) : tn === $.AREA ? areaStartTagInBody(p, token) : tn === $.MATH ? function(p, token) {
|
|
p._reconstructActiveFormattingElements(), foreignContent.adjustTokenMathMLAttrs(token), foreignContent.adjustTokenXMLAttrs(token), token.selfClosing ? p._appendElement(token, NS.MATHML) : p._insertElement(token, NS.MATHML), token.ackSelfClosing = !0
|
|
}(p, token) : tn === $.MENU ? function(p, token) {
|
|
p.openElements.hasInButtonScope($.P) && p._closePElement(), p._insertElement(token, NS.HTML)
|
|
}(p, token) : tn !== $.HEAD && genericStartTagInBody(p, token);
|
|
break;
|
|
case 5:
|
|
tn === $.STYLE || tn === $.TITLE ? startTagInHead(p, token) : tn === $.ASIDE ? addressStartTagInBody(p, token) : tn === $.SMALL ? bStartTagInBody(p, token) : tn === $.TABLE ? function(p, token) {
|
|
p.treeAdapter.getDocumentMode(p.document) !== HTML.DOCUMENT_MODE.QUIRKS && p.openElements.hasInButtonScope($.P) && p._closePElement(), p._insertElement(token, NS.HTML), p.framesetOk = !1, p.insertionMode = IN_TABLE_MODE
|
|
}(p, token) : tn === $.EMBED ? areaStartTagInBody(p, token) : tn === $.INPUT ? function(p, token) {
|
|
p._reconstructActiveFormattingElements(), p._appendElement(token, NS.HTML);
|
|
const inputType = Tokenizer.getTokenAttr(token, ATTRS.TYPE);
|
|
inputType && "hidden" === inputType.toLowerCase() || (p.framesetOk = !1), token.ackSelfClosing = !0
|
|
}(p, token) : tn === $.PARAM || tn === $.TRACK ? paramStartTagInBody(p, token) : tn === $.IMAGE ? function(p, token) {
|
|
token.tagName = $.IMG, areaStartTagInBody(p, token)
|
|
}(p, token) : tn !== $.FRAME && tn !== $.TBODY && tn !== $.TFOOT && tn !== $.THEAD && genericStartTagInBody(p, token);
|
|
break;
|
|
case 6:
|
|
tn === $.SCRIPT ? startTagInHead(p, token) : tn === $.CENTER || tn === $.FIGURE || tn === $.FOOTER || tn === $.HEADER || tn === $.HGROUP || tn === $.DIALOG ? addressStartTagInBody(p, token) : tn === $.BUTTON ? function(p, token) {
|
|
p.openElements.hasInScope($.BUTTON) && (p.openElements.generateImpliedEndTags(), p.openElements.popUntilTagNamePopped($.BUTTON)), p._reconstructActiveFormattingElements(), p._insertElement(token, NS.HTML), p.framesetOk = !1
|
|
}(p, token) : tn === $.STRIKE || tn === $.STRONG ? bStartTagInBody(p, token) : tn === $.APPLET || tn === $.OBJECT ? appletStartTagInBody(p, token) : tn === $.KEYGEN ? areaStartTagInBody(p, token) : tn === $.SOURCE ? paramStartTagInBody(p, token) : tn === $.IFRAME ? function(p, token) {
|
|
p.framesetOk = !1, p._switchToTextParsing(token, Tokenizer.MODE.RAWTEXT)
|
|
}(p, token) : tn === $.SELECT ? function(p, token) {
|
|
p._reconstructActiveFormattingElements(), p._insertElement(token, NS.HTML), p.framesetOk = !1, p.insertionMode === IN_TABLE_MODE || "IN_CAPTION_MODE" === p.insertionMode || "IN_TABLE_BODY_MODE" === p.insertionMode || "IN_ROW_MODE" === p.insertionMode || "IN_CELL_MODE" === p.insertionMode ? p.insertionMode = "IN_SELECT_IN_TABLE_MODE" : p.insertionMode = "IN_SELECT_MODE"
|
|
}(p, token) : tn === $.OPTION ? optgroupStartTagInBody(p, token) : genericStartTagInBody(p, token);
|
|
break;
|
|
case 7:
|
|
tn === $.BGSOUND ? startTagInHead(p, token) : tn === $.DETAILS || tn === $.ADDRESS || tn === $.ARTICLE || tn === $.SECTION || tn === $.SUMMARY ? addressStartTagInBody(p, token) : tn === $.LISTING ? preStartTagInBody(p, token) : tn === $.MARQUEE ? appletStartTagInBody(p, token) : tn === $.NOEMBED ? noembedStartTagInBody(p, token) : tn !== $.CAPTION && genericStartTagInBody(p, token);
|
|
break;
|
|
case 8:
|
|
tn === $.BASEFONT ? startTagInHead(p, token) : tn === $.FRAMESET ? function(p, token) {
|
|
const bodyElement = p.openElements.tryPeekProperlyNestedBodyElement();
|
|
p.framesetOk && bodyElement && (p.treeAdapter.detachNode(bodyElement), p.openElements.popAllUpToHtmlElement(), p._insertElement(token, NS.HTML), p.insertionMode = "IN_FRAMESET_MODE")
|
|
}(p, token) : tn === $.FIELDSET ? addressStartTagInBody(p, token) : tn === $.TEXTAREA ? function(p, token) {
|
|
p._insertElement(token, NS.HTML), p.skipNextNewLine = !0, p.tokenizer.state = Tokenizer.MODE.RCDATA, p.originalInsertionMode = p.insertionMode, p.framesetOk = !1, p.insertionMode = "TEXT_MODE"
|
|
}(p, token) : tn === $.TEMPLATE ? startTagInHead(p, token) : tn === $.NOSCRIPT ? p.options.scriptingEnabled ? noembedStartTagInBody(p, token) : genericStartTagInBody(p, token) : tn === $.OPTGROUP ? optgroupStartTagInBody(p, token) : tn !== $.COLGROUP && genericStartTagInBody(p, token);
|
|
break;
|
|
case 9:
|
|
tn === $.PLAINTEXT ? function(p, token) {
|
|
p.openElements.hasInButtonScope($.P) && p._closePElement(), p._insertElement(token, NS.HTML), p.tokenizer.state = Tokenizer.MODE.PLAINTEXT
|
|
}(p, token) : genericStartTagInBody(p, token);
|
|
break;
|
|
case 10:
|
|
tn === $.BLOCKQUOTE || tn === $.FIGCAPTION ? addressStartTagInBody(p, token) : genericStartTagInBody(p, token);
|
|
break;
|
|
default:
|
|
genericStartTagInBody(p, token)
|
|
}
|
|
}
|
|
|
|
function addressEndTagInBody(p, token) {
|
|
const tn = token.tagName;
|
|
p.openElements.hasInScope(tn) && (p.openElements.generateImpliedEndTags(), p.openElements.popUntilTagNamePopped(tn))
|
|
}
|
|
|
|
function appletEndTagInBody(p, token) {
|
|
const tn = token.tagName;
|
|
p.openElements.hasInScope(tn) && (p.openElements.generateImpliedEndTags(), p.openElements.popUntilTagNamePopped(tn), p.activeFormattingElements.clearToLastMarker())
|
|
}
|
|
|
|
function genericEndTagInBody(p, token) {
|
|
const tn = token.tagName;
|
|
for (let i = p.openElements.stackTop; i > 0; i--) {
|
|
const element = p.openElements.items[i];
|
|
if (p.treeAdapter.getTagName(element) === tn) {
|
|
p.openElements.generateImpliedEndTagsWithExclusion(tn), p.openElements.popUntilElementPopped(element);
|
|
break
|
|
}
|
|
if (p._isSpecialElement(element)) break
|
|
}
|
|
}
|
|
|
|
function endTagInBody(p, token) {
|
|
const tn = token.tagName;
|
|
switch (tn.length) {
|
|
case 1:
|
|
tn === $.A || tn === $.B || tn === $.I || tn === $.S || tn === $.U ? callAdoptionAgency(p, token) : tn === $.P ? function(p) {
|
|
p.openElements.hasInButtonScope($.P) || p._insertFakeElement($.P), p._closePElement()
|
|
}(p) : genericEndTagInBody(p, token);
|
|
break;
|
|
case 2:
|
|
tn === $.DL || tn === $.UL || tn === $.OL ? addressEndTagInBody(p, token) : tn === $.LI ? function(p) {
|
|
p.openElements.hasInListItemScope($.LI) && (p.openElements.generateImpliedEndTagsWithExclusion($.LI), p.openElements.popUntilTagNamePopped($.LI))
|
|
}(p) : tn === $.DD || tn === $.DT ? function(p, token) {
|
|
const tn = token.tagName;
|
|
p.openElements.hasInScope(tn) && (p.openElements.generateImpliedEndTagsWithExclusion(tn), p.openElements.popUntilTagNamePopped(tn))
|
|
}(p, token) : tn === $.H1 || tn === $.H2 || tn === $.H3 || tn === $.H4 || tn === $.H5 || tn === $.H6 ? function(p) {
|
|
p.openElements.hasNumberedHeaderInScope() && (p.openElements.generateImpliedEndTags(), p.openElements.popUntilNumberedHeaderPopped())
|
|
}(p) : tn === $.BR ? function(p) {
|
|
p._reconstructActiveFormattingElements(), p._insertFakeElement($.BR), p.openElements.pop(), p.framesetOk = !1
|
|
}(p) : tn === $.EM || tn === $.TT ? callAdoptionAgency(p, token) : genericEndTagInBody(p, token);
|
|
break;
|
|
case 3:
|
|
tn === $.BIG ? callAdoptionAgency(p, token) : tn === $.DIR || tn === $.DIV || tn === $.NAV || tn === $.PRE ? addressEndTagInBody(p, token) : genericEndTagInBody(p, token);
|
|
break;
|
|
case 4:
|
|
tn === $.BODY ? function(p) {
|
|
p.openElements.hasInScope($.BODY) && (p.insertionMode = "AFTER_BODY_MODE")
|
|
}(p) : tn === $.HTML ? function(p, token) {
|
|
p.openElements.hasInScope($.BODY) && (p.insertionMode = "AFTER_BODY_MODE", p._processToken(token))
|
|
}(p, token) : tn === $.FORM ? function(p) {
|
|
const inTemplate = p.openElements.tmplCount > 0,
|
|
formElement = p.formElement;
|
|
inTemplate || (p.formElement = null), (formElement || inTemplate) && p.openElements.hasInScope($.FORM) && (p.openElements.generateImpliedEndTags(), inTemplate ? p.openElements.popUntilTagNamePopped($.FORM) : p.openElements.remove(formElement))
|
|
}(p) : tn === $.CODE || tn === $.FONT || tn === $.NOBR ? callAdoptionAgency(p, token) : tn === $.MAIN || tn === $.MENU ? addressEndTagInBody(p, token) : genericEndTagInBody(p, token);
|
|
break;
|
|
case 5:
|
|
tn === $.ASIDE ? addressEndTagInBody(p, token) : tn === $.SMALL ? callAdoptionAgency(p, token) : genericEndTagInBody(p, token);
|
|
break;
|
|
case 6:
|
|
tn === $.CENTER || tn === $.FIGURE || tn === $.FOOTER || tn === $.HEADER || tn === $.HGROUP || tn === $.DIALOG ? addressEndTagInBody(p, token) : tn === $.APPLET || tn === $.OBJECT ? appletEndTagInBody(p, token) : tn === $.STRIKE || tn === $.STRONG ? callAdoptionAgency(p, token) : genericEndTagInBody(p, token);
|
|
break;
|
|
case 7:
|
|
tn === $.ADDRESS || tn === $.ARTICLE || tn === $.DETAILS || tn === $.SECTION || tn === $.SUMMARY || tn === $.LISTING ? addressEndTagInBody(p, token) : tn === $.MARQUEE ? appletEndTagInBody(p, token) : genericEndTagInBody(p, token);
|
|
break;
|
|
case 8:
|
|
tn === $.FIELDSET ? addressEndTagInBody(p, token) : tn === $.TEMPLATE ? endTagInHead(p, token) : genericEndTagInBody(p, token);
|
|
break;
|
|
case 10:
|
|
tn === $.BLOCKQUOTE || tn === $.FIGCAPTION ? addressEndTagInBody(p, token) : genericEndTagInBody(p, token);
|
|
break;
|
|
default:
|
|
genericEndTagInBody(p, token)
|
|
}
|
|
}
|
|
|
|
function eofInBody(p, token) {
|
|
p.tmplInsertionModeStackTop > -1 ? eofInTemplate(p, token) : p.stopped = !0
|
|
}
|
|
|
|
function characterInTable(p, token) {
|
|
const curTn = p.openElements.currentTagName;
|
|
curTn === $.TABLE || curTn === $.TBODY || curTn === $.TFOOT || curTn === $.THEAD || curTn === $.TR ? (p.pendingCharacterTokens = [], p.hasNonWhitespacePendingCharacterToken = !1, p.originalInsertionMode = p.insertionMode, p.insertionMode = "IN_TABLE_TEXT_MODE", p._processToken(token)) : tokenInTable(p, token)
|
|
}
|
|
|
|
function startTagInTable(p, token) {
|
|
const tn = token.tagName;
|
|
switch (tn.length) {
|
|
case 2:
|
|
tn === $.TD || tn === $.TH || tn === $.TR ? function(p, token) {
|
|
p.openElements.clearBackToTableContext(), p._insertFakeElement($.TBODY), p.insertionMode = "IN_TABLE_BODY_MODE", p._processToken(token)
|
|
}(p, token) : tokenInTable(p, token);
|
|
break;
|
|
case 3:
|
|
tn === $.COL ? function(p, token) {
|
|
p.openElements.clearBackToTableContext(), p._insertFakeElement($.COLGROUP), p.insertionMode = "IN_COLUMN_GROUP_MODE", p._processToken(token)
|
|
}(p, token) : tokenInTable(p, token);
|
|
break;
|
|
case 4:
|
|
tn === $.FORM ? function(p, token) {
|
|
p.formElement || 0 !== p.openElements.tmplCount || (p._insertElement(token, NS.HTML), p.formElement = p.openElements.current, p.openElements.pop())
|
|
}(p, token) : tokenInTable(p, token);
|
|
break;
|
|
case 5:
|
|
tn === $.TABLE ? function(p, token) {
|
|
p.openElements.hasInTableScope($.TABLE) && (p.openElements.popUntilTagNamePopped($.TABLE), p._resetInsertionMode(), p._processToken(token))
|
|
}(p, token) : tn === $.STYLE ? startTagInHead(p, token) : tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD ? function(p, token) {
|
|
p.openElements.clearBackToTableContext(), p._insertElement(token, NS.HTML), p.insertionMode = "IN_TABLE_BODY_MODE"
|
|
}(p, token) : tn === $.INPUT ? function(p, token) {
|
|
const inputType = Tokenizer.getTokenAttr(token, ATTRS.TYPE);
|
|
inputType && "hidden" === inputType.toLowerCase() ? p._appendElement(token, NS.HTML) : tokenInTable(p, token), token.ackSelfClosing = !0
|
|
}(p, token) : tokenInTable(p, token);
|
|
break;
|
|
case 6:
|
|
tn === $.SCRIPT ? startTagInHead(p, token) : tokenInTable(p, token);
|
|
break;
|
|
case 7:
|
|
tn === $.CAPTION ? function(p, token) {
|
|
p.openElements.clearBackToTableContext(), p.activeFormattingElements.insertMarker(), p._insertElement(token, NS.HTML), p.insertionMode = "IN_CAPTION_MODE"
|
|
}(p, token) : tokenInTable(p, token);
|
|
break;
|
|
case 8:
|
|
tn === $.COLGROUP ? function(p, token) {
|
|
p.openElements.clearBackToTableContext(), p._insertElement(token, NS.HTML), p.insertionMode = "IN_COLUMN_GROUP_MODE"
|
|
}(p, token) : tn === $.TEMPLATE ? startTagInHead(p, token) : tokenInTable(p, token);
|
|
break;
|
|
default:
|
|
tokenInTable(p, token)
|
|
}
|
|
}
|
|
|
|
function endTagInTable(p, token) {
|
|
const tn = token.tagName;
|
|
tn === $.TABLE ? p.openElements.hasInTableScope($.TABLE) && (p.openElements.popUntilTagNamePopped($.TABLE), p._resetInsertionMode()) : tn === $.TEMPLATE ? endTagInHead(p, token) : tn !== $.BODY && tn !== $.CAPTION && tn !== $.COL && tn !== $.COLGROUP && tn !== $.HTML && tn !== $.TBODY && tn !== $.TD && tn !== $.TFOOT && tn !== $.TH && tn !== $.THEAD && tn !== $.TR && tokenInTable(p, token)
|
|
}
|
|
|
|
function tokenInTable(p, token) {
|
|
const savedFosterParentingState = p.fosterParentingEnabled;
|
|
p.fosterParentingEnabled = !0, p._processTokenInBodyMode(token), p.fosterParentingEnabled = savedFosterParentingState
|
|
}
|
|
|
|
function tokenInTableText(p, token) {
|
|
let i = 0;
|
|
if (p.hasNonWhitespacePendingCharacterToken)
|
|
for (; i < p.pendingCharacterTokens.length; i++) tokenInTable(p, p.pendingCharacterTokens[i]);
|
|
else
|
|
for (; i < p.pendingCharacterTokens.length; i++) p._insertCharacters(p.pendingCharacterTokens[i]);
|
|
p.insertionMode = p.originalInsertionMode, p._processToken(token)
|
|
}
|
|
|
|
function tokenInColumnGroup(p, token) {
|
|
p.openElements.currentTagName === $.COLGROUP && (p.openElements.pop(), p.insertionMode = IN_TABLE_MODE, p._processToken(token))
|
|
}
|
|
|
|
function startTagInSelect(p, token) {
|
|
const tn = token.tagName;
|
|
tn === $.HTML ? startTagInBody(p, token) : tn === $.OPTION ? (p.openElements.currentTagName === $.OPTION && p.openElements.pop(), p._insertElement(token, NS.HTML)) : tn === $.OPTGROUP ? (p.openElements.currentTagName === $.OPTION && p.openElements.pop(), p.openElements.currentTagName === $.OPTGROUP && p.openElements.pop(), p._insertElement(token, NS.HTML)) : tn === $.INPUT || tn === $.KEYGEN || tn === $.TEXTAREA || tn === $.SELECT ? p.openElements.hasInSelectScope($.SELECT) && (p.openElements.popUntilTagNamePopped($.SELECT), p._resetInsertionMode(), tn !== $.SELECT && p._processToken(token)) : tn !== $.SCRIPT && tn !== $.TEMPLATE || startTagInHead(p, token)
|
|
}
|
|
|
|
function endTagInSelect(p, token) {
|
|
const tn = token.tagName;
|
|
if (tn === $.OPTGROUP) {
|
|
const prevOpenElement = p.openElements.items[p.openElements.stackTop - 1],
|
|
prevOpenElementTn = prevOpenElement && p.treeAdapter.getTagName(prevOpenElement);
|
|
p.openElements.currentTagName === $.OPTION && prevOpenElementTn === $.OPTGROUP && p.openElements.pop(), p.openElements.currentTagName === $.OPTGROUP && p.openElements.pop()
|
|
} else tn === $.OPTION ? p.openElements.currentTagName === $.OPTION && p.openElements.pop() : tn === $.SELECT && p.openElements.hasInSelectScope($.SELECT) ? (p.openElements.popUntilTagNamePopped($.SELECT), p._resetInsertionMode()) : tn === $.TEMPLATE && endTagInHead(p, token)
|
|
}
|
|
|
|
function eofInTemplate(p, token) {
|
|
p.openElements.tmplCount > 0 ? (p.openElements.popUntilTagNamePopped($.TEMPLATE), p.activeFormattingElements.clearToLastMarker(), p._popTmplInsertionMode(), p._resetInsertionMode(), p._processToken(token)) : p.stopped = !0
|
|
}
|
|
|
|
function tokenAfterBody(p, token) {
|
|
p.insertionMode = "IN_BODY_MODE", p._processToken(token)
|
|
}
|
|
|
|
function tokenAfterAfterBody(p, token) {
|
|
p.insertionMode = "IN_BODY_MODE", p._processToken(token)
|
|
}
|
|
module.exports = class {
|
|
constructor(options) {
|
|
this.options = mergeOptions(DEFAULT_OPTIONS, options), this.treeAdapter = this.options.treeAdapter, this.pendingScript = null, this.options.sourceCodeLocationInfo && Mixin.install(this, LocationInfoParserMixin), this.options.onParseError && Mixin.install(this, ErrorReportingParserMixin, {
|
|
onParseError: this.options.onParseError
|
|
})
|
|
}
|
|
parse(html) {
|
|
const document = this.treeAdapter.createDocument();
|
|
return this._bootstrap(document, null), this.tokenizer.write(html, !0), this._runParsingLoop(null), document
|
|
}
|
|
parseFragment(html, fragmentContext) {
|
|
fragmentContext || (fragmentContext = this.treeAdapter.createElement($.TEMPLATE, NS.HTML, []));
|
|
const documentMock = this.treeAdapter.createElement("documentmock", NS.HTML, []);
|
|
this._bootstrap(documentMock, fragmentContext), this.treeAdapter.getTagName(fragmentContext) === $.TEMPLATE && this._pushTmplInsertionMode("IN_TEMPLATE_MODE"), this._initTokenizerForFragmentParsing(), this._insertFakeRootElement(), this._resetInsertionMode(), this._findFormInFragmentContext(), this.tokenizer.write(html, !0), this._runParsingLoop(null);
|
|
const rootElement = this.treeAdapter.getFirstChild(documentMock),
|
|
fragment = this.treeAdapter.createDocumentFragment();
|
|
return this._adoptNodes(rootElement, fragment), fragment
|
|
}
|
|
_bootstrap(document, fragmentContext) {
|
|
this.tokenizer = new Tokenizer(this.options), this.stopped = !1, this.insertionMode = "INITIAL_MODE", this.originalInsertionMode = "", this.document = document, this.fragmentContext = fragmentContext, this.headElement = null, this.formElement = null, this.openElements = new OpenElementStack(this.document, this.treeAdapter), this.activeFormattingElements = new FormattingElementList(this.treeAdapter), this.tmplInsertionModeStack = [], this.tmplInsertionModeStackTop = -1, this.currentTmplInsertionMode = null, this.pendingCharacterTokens = [], this.hasNonWhitespacePendingCharacterToken = !1, this.framesetOk = !0, this.skipNextNewLine = !1, this.fosterParentingEnabled = !1
|
|
}
|
|
_err() {}
|
|
_runParsingLoop(scriptHandler) {
|
|
for (; !this.stopped;) {
|
|
this._setupTokenizerCDATAMode();
|
|
const token = this.tokenizer.getNextToken();
|
|
if (token.type === Tokenizer.HIBERNATION_TOKEN) break;
|
|
if (this.skipNextNewLine && (this.skipNextNewLine = !1, token.type === Tokenizer.WHITESPACE_CHARACTER_TOKEN && "\n" === token.chars[0])) {
|
|
if (1 === token.chars.length) continue;
|
|
token.chars = token.chars.substr(1)
|
|
}
|
|
if (this._processInputToken(token), scriptHandler && this.pendingScript) break
|
|
}
|
|
}
|
|
runParsingLoopForCurrentChunk(writeCallback, scriptHandler) {
|
|
if (this._runParsingLoop(scriptHandler), scriptHandler && this.pendingScript) {
|
|
const script = this.pendingScript;
|
|
return this.pendingScript = null, void scriptHandler(script)
|
|
}
|
|
writeCallback && writeCallback()
|
|
}
|
|
_setupTokenizerCDATAMode() {
|
|
const current = this._getAdjustedCurrentElement();
|
|
this.tokenizer.allowCDATA = current && current !== this.document && this.treeAdapter.getNamespaceURI(current) !== NS.HTML && !this._isIntegrationPoint(current)
|
|
}
|
|
_switchToTextParsing(currentToken, nextTokenizerState) {
|
|
this._insertElement(currentToken, NS.HTML), this.tokenizer.state = nextTokenizerState, this.originalInsertionMode = this.insertionMode, this.insertionMode = "TEXT_MODE"
|
|
}
|
|
switchToPlaintextParsing() {
|
|
this.insertionMode = "TEXT_MODE", this.originalInsertionMode = "IN_BODY_MODE", this.tokenizer.state = Tokenizer.MODE.PLAINTEXT
|
|
}
|
|
_getAdjustedCurrentElement() {
|
|
return 0 === this.openElements.stackTop && this.fragmentContext ? this.fragmentContext : this.openElements.current
|
|
}
|
|
_findFormInFragmentContext() {
|
|
let node = this.fragmentContext;
|
|
do {
|
|
if (this.treeAdapter.getTagName(node) === $.FORM) {
|
|
this.formElement = node;
|
|
break
|
|
}
|
|
node = this.treeAdapter.getParentNode(node)
|
|
} while (node)
|
|
}
|
|
_initTokenizerForFragmentParsing() {
|
|
if (this.treeAdapter.getNamespaceURI(this.fragmentContext) === NS.HTML) {
|
|
const tn = this.treeAdapter.getTagName(this.fragmentContext);
|
|
tn === $.TITLE || tn === $.TEXTAREA ? this.tokenizer.state = Tokenizer.MODE.RCDATA : tn === $.STYLE || tn === $.XMP || tn === $.IFRAME || tn === $.NOEMBED || tn === $.NOFRAMES || tn === $.NOSCRIPT ? this.tokenizer.state = Tokenizer.MODE.RAWTEXT : tn === $.SCRIPT ? this.tokenizer.state = Tokenizer.MODE.SCRIPT_DATA : tn === $.PLAINTEXT && (this.tokenizer.state = Tokenizer.MODE.PLAINTEXT)
|
|
}
|
|
}
|
|
_setDocumentType(token) {
|
|
const name = token.name || "",
|
|
publicId = token.publicId || "",
|
|
systemId = token.systemId || "";
|
|
this.treeAdapter.setDocumentType(this.document, name, publicId, systemId)
|
|
}
|
|
_attachElementToTree(element) {
|
|
if (this._shouldFosterParentOnInsertion()) this._fosterParentElement(element);
|
|
else {
|
|
const parent = this.openElements.currentTmplContent || this.openElements.current;
|
|
this.treeAdapter.appendChild(parent, element)
|
|
}
|
|
}
|
|
_appendElement(token, namespaceURI) {
|
|
const element = this.treeAdapter.createElement(token.tagName, namespaceURI, token.attrs);
|
|
this._attachElementToTree(element)
|
|
}
|
|
_insertElement(token, namespaceURI) {
|
|
const element = this.treeAdapter.createElement(token.tagName, namespaceURI, token.attrs);
|
|
this._attachElementToTree(element), this.openElements.push(element)
|
|
}
|
|
_insertFakeElement(tagName) {
|
|
const element = this.treeAdapter.createElement(tagName, NS.HTML, []);
|
|
this._attachElementToTree(element), this.openElements.push(element)
|
|
}
|
|
_insertTemplate(token) {
|
|
const tmpl = this.treeAdapter.createElement(token.tagName, NS.HTML, token.attrs),
|
|
content = this.treeAdapter.createDocumentFragment();
|
|
this.treeAdapter.setTemplateContent(tmpl, content), this._attachElementToTree(tmpl), this.openElements.push(tmpl)
|
|
}
|
|
_insertFakeRootElement() {
|
|
const element = this.treeAdapter.createElement($.HTML, NS.HTML, []);
|
|
this.treeAdapter.appendChild(this.openElements.current, element), this.openElements.push(element)
|
|
}
|
|
_appendCommentNode(token, parent) {
|
|
const commentNode = this.treeAdapter.createCommentNode(token.data);
|
|
this.treeAdapter.appendChild(parent, commentNode)
|
|
}
|
|
_insertCharacters(token) {
|
|
if (this._shouldFosterParentOnInsertion()) this._fosterParentText(token.chars);
|
|
else {
|
|
const parent = this.openElements.currentTmplContent || this.openElements.current;
|
|
this.treeAdapter.insertText(parent, token.chars)
|
|
}
|
|
}
|
|
_adoptNodes(donor, recipient) {
|
|
for (let child = this.treeAdapter.getFirstChild(donor); child; child = this.treeAdapter.getFirstChild(donor)) this.treeAdapter.detachNode(child), this.treeAdapter.appendChild(recipient, child)
|
|
}
|
|
_shouldProcessTokenInForeignContent(token) {
|
|
const current = this._getAdjustedCurrentElement();
|
|
if (!current || current === this.document) return !1;
|
|
const ns = this.treeAdapter.getNamespaceURI(current);
|
|
if (ns === NS.HTML) return !1;
|
|
if (this.treeAdapter.getTagName(current) === $.ANNOTATION_XML && ns === NS.MATHML && token.type === Tokenizer.START_TAG_TOKEN && token.tagName === $.SVG) return !1;
|
|
const isCharacterToken = token.type === Tokenizer.CHARACTER_TOKEN || token.type === Tokenizer.NULL_CHARACTER_TOKEN || token.type === Tokenizer.WHITESPACE_CHARACTER_TOKEN;
|
|
return (!(token.type === Tokenizer.START_TAG_TOKEN && token.tagName !== $.MGLYPH && token.tagName !== $.MALIGNMARK) && !isCharacterToken || !this._isIntegrationPoint(current, NS.MATHML)) && ((token.type !== Tokenizer.START_TAG_TOKEN && !isCharacterToken || !this._isIntegrationPoint(current, NS.HTML)) && token.type !== Tokenizer.EOF_TOKEN)
|
|
}
|
|
_processToken(token) {
|
|
TOKEN_HANDLERS[this.insertionMode][token.type](this, token)
|
|
}
|
|
_processTokenInBodyMode(token) {
|
|
TOKEN_HANDLERS.IN_BODY_MODE[token.type](this, token)
|
|
}
|
|
_processTokenInForeignContent(token) {
|
|
token.type === Tokenizer.CHARACTER_TOKEN ? function(p, token) {
|
|
p._insertCharacters(token), p.framesetOk = !1
|
|
}(this, token) : token.type === Tokenizer.NULL_CHARACTER_TOKEN ? function(p, token) {
|
|
token.chars = unicode.REPLACEMENT_CHARACTER, p._insertCharacters(token)
|
|
}(this, token) : token.type === Tokenizer.WHITESPACE_CHARACTER_TOKEN ? insertCharacters(this, token) : token.type === Tokenizer.COMMENT_TOKEN ? appendComment(this, token) : token.type === Tokenizer.START_TAG_TOKEN ? function(p, token) {
|
|
if (foreignContent.causesExit(token) && !p.fragmentContext) {
|
|
for (; p.treeAdapter.getNamespaceURI(p.openElements.current) !== NS.HTML && !p._isIntegrationPoint(p.openElements.current);) p.openElements.pop();
|
|
p._processToken(token)
|
|
} else {
|
|
const current = p._getAdjustedCurrentElement(),
|
|
currentNs = p.treeAdapter.getNamespaceURI(current);
|
|
currentNs === NS.MATHML ? foreignContent.adjustTokenMathMLAttrs(token) : currentNs === NS.SVG && (foreignContent.adjustTokenSVGTagName(token), foreignContent.adjustTokenSVGAttrs(token)), foreignContent.adjustTokenXMLAttrs(token), token.selfClosing ? p._appendElement(token, currentNs) : p._insertElement(token, currentNs), token.ackSelfClosing = !0
|
|
}
|
|
}(this, token) : token.type === Tokenizer.END_TAG_TOKEN && function(p, token) {
|
|
for (let i = p.openElements.stackTop; i > 0; i--) {
|
|
const element = p.openElements.items[i];
|
|
if (p.treeAdapter.getNamespaceURI(element) === NS.HTML) {
|
|
p._processToken(token);
|
|
break
|
|
}
|
|
if (p.treeAdapter.getTagName(element).toLowerCase() === token.tagName) {
|
|
p.openElements.popUntilElementPopped(element);
|
|
break
|
|
}
|
|
}
|
|
}(this, token)
|
|
}
|
|
_processInputToken(token) {
|
|
this._shouldProcessTokenInForeignContent(token) ? this._processTokenInForeignContent(token) : this._processToken(token), token.type === Tokenizer.START_TAG_TOKEN && token.selfClosing && !token.ackSelfClosing && this._err(ERR.nonVoidHtmlElementStartTagWithTrailingSolidus)
|
|
}
|
|
_isIntegrationPoint(element, foreignNS) {
|
|
const tn = this.treeAdapter.getTagName(element),
|
|
ns = this.treeAdapter.getNamespaceURI(element),
|
|
attrs = this.treeAdapter.getAttrList(element);
|
|
return foreignContent.isIntegrationPoint(tn, ns, attrs, foreignNS)
|
|
}
|
|
_reconstructActiveFormattingElements() {
|
|
const listLength = this.activeFormattingElements.length;
|
|
if (listLength) {
|
|
let unopenIdx = listLength,
|
|
entry = null;
|
|
do {
|
|
if (unopenIdx--, entry = this.activeFormattingElements.entries[unopenIdx], entry.type === FormattingElementList.MARKER_ENTRY || this.openElements.contains(entry.element)) {
|
|
unopenIdx++;
|
|
break
|
|
}
|
|
} while (unopenIdx > 0);
|
|
for (let i = unopenIdx; i < listLength; i++) entry = this.activeFormattingElements.entries[i], this._insertElement(entry.token, this.treeAdapter.getNamespaceURI(entry.element)), entry.element = this.openElements.current
|
|
}
|
|
}
|
|
_closeTableCell() {
|
|
this.openElements.generateImpliedEndTags(), this.openElements.popUntilTableCellPopped(), this.activeFormattingElements.clearToLastMarker(), this.insertionMode = "IN_ROW_MODE"
|
|
}
|
|
_closePElement() {
|
|
this.openElements.generateImpliedEndTagsWithExclusion($.P), this.openElements.popUntilTagNamePopped($.P)
|
|
}
|
|
_resetInsertionMode() {
|
|
for (let i = this.openElements.stackTop, last = !1; i >= 0; i--) {
|
|
let element = this.openElements.items[i];
|
|
0 === i && (last = !0, this.fragmentContext && (element = this.fragmentContext));
|
|
const tn = this.treeAdapter.getTagName(element),
|
|
newInsertionMode = INSERTION_MODE_RESET_MAP[tn];
|
|
if (newInsertionMode) {
|
|
this.insertionMode = newInsertionMode;
|
|
break
|
|
}
|
|
if (!(last || tn !== $.TD && tn !== $.TH)) {
|
|
this.insertionMode = "IN_CELL_MODE";
|
|
break
|
|
}
|
|
if (!last && tn === $.HEAD) {
|
|
this.insertionMode = "IN_HEAD_MODE";
|
|
break
|
|
}
|
|
if (tn === $.SELECT) {
|
|
this._resetInsertionModeForSelect(i);
|
|
break
|
|
}
|
|
if (tn === $.TEMPLATE) {
|
|
this.insertionMode = this.currentTmplInsertionMode;
|
|
break
|
|
}
|
|
if (tn === $.HTML) {
|
|
this.insertionMode = this.headElement ? "AFTER_HEAD_MODE" : "BEFORE_HEAD_MODE";
|
|
break
|
|
}
|
|
if (last) {
|
|
this.insertionMode = "IN_BODY_MODE";
|
|
break
|
|
}
|
|
}
|
|
}
|
|
_resetInsertionModeForSelect(selectIdx) {
|
|
if (selectIdx > 0)
|
|
for (let i = selectIdx - 1; i > 0; i--) {
|
|
const ancestor = this.openElements.items[i],
|
|
tn = this.treeAdapter.getTagName(ancestor);
|
|
if (tn === $.TEMPLATE) break;
|
|
if (tn === $.TABLE) return void(this.insertionMode = "IN_SELECT_IN_TABLE_MODE")
|
|
}
|
|
this.insertionMode = "IN_SELECT_MODE"
|
|
}
|
|
_pushTmplInsertionMode(mode) {
|
|
this.tmplInsertionModeStack.push(mode), this.tmplInsertionModeStackTop++, this.currentTmplInsertionMode = mode
|
|
}
|
|
_popTmplInsertionMode() {
|
|
this.tmplInsertionModeStack.pop(), this.tmplInsertionModeStackTop--, this.currentTmplInsertionMode = this.tmplInsertionModeStack[this.tmplInsertionModeStackTop]
|
|
}
|
|
_isElementCausesFosterParenting(element) {
|
|
const tn = this.treeAdapter.getTagName(element);
|
|
return tn === $.TABLE || tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD || tn === $.TR
|
|
}
|
|
_shouldFosterParentOnInsertion() {
|
|
return this.fosterParentingEnabled && this._isElementCausesFosterParenting(this.openElements.current)
|
|
}
|
|
_findFosterParentingLocation() {
|
|
const location = {
|
|
parent: null,
|
|
beforeElement: null
|
|
};
|
|
for (let i = this.openElements.stackTop; i >= 0; i--) {
|
|
const openElement = this.openElements.items[i],
|
|
tn = this.treeAdapter.getTagName(openElement),
|
|
ns = this.treeAdapter.getNamespaceURI(openElement);
|
|
if (tn === $.TEMPLATE && ns === NS.HTML) {
|
|
location.parent = this.treeAdapter.getTemplateContent(openElement);
|
|
break
|
|
}
|
|
if (tn === $.TABLE) {
|
|
location.parent = this.treeAdapter.getParentNode(openElement), location.parent ? location.beforeElement = openElement : location.parent = this.openElements.items[i - 1];
|
|
break
|
|
}
|
|
}
|
|
return location.parent || (location.parent = this.openElements.items[0]), location
|
|
}
|
|
_fosterParentElement(element) {
|
|
const location = this._findFosterParentingLocation();
|
|
location.beforeElement ? this.treeAdapter.insertBefore(location.parent, element, location.beforeElement) : this.treeAdapter.appendChild(location.parent, element)
|
|
}
|
|
_fosterParentText(chars) {
|
|
const location = this._findFosterParentingLocation();
|
|
location.beforeElement ? this.treeAdapter.insertTextBefore(location.parent, chars, location.beforeElement) : this.treeAdapter.insertText(location.parent, chars)
|
|
}
|
|
_isSpecialElement(element) {
|
|
const tn = this.treeAdapter.getTagName(element),
|
|
ns = this.treeAdapter.getNamespaceURI(element);
|
|
return HTML.SPECIAL_ELEMENTS[ns][tn]
|
|
}
|
|
}
|
|
},
|
|
36284: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function(instance, scope) {
|
|
const OBJECT = instance.createNativeFunction(function(value) {
|
|
if (!value || value === instance.UNDEFINED || value === instance.NULL) return this.parent === OBJECT ? this : instance.createObject(OBJECT);
|
|
if (value.isPrimitive) {
|
|
const obj = instance.createObject(value.parent);
|
|
return obj.data = value.data, obj
|
|
}
|
|
return value
|
|
});
|
|
return instance.setCoreObject("OBJECT", OBJECT), instance.setProperty(scope, "Object", OBJECT, _Instance.default.READONLY_DESCRIPTOR), instance.setProperty(OBJECT, "getOwnPropertyNames", instance.createNativeFunction(obj => {
|
|
const pseudoList = instance.createObject(instance.ARRAY);
|
|
return Object.keys(obj.properties).forEach((key, i) => instance.setProperty(pseudoList, i, instance.createPrimitive(key))), pseudoList
|
|
}), _Instance.default.NONENUMERABLE_DESCRIPTOR), instance.setProperty(OBJECT, "keys", instance.createNativeFunction(obj => {
|
|
const pseudoList = instance.createObject(instance.ARRAY);
|
|
return Object.keys(obj.properties).forEach((key, i) => {
|
|
obj.notEnumerable[key] || instance.setProperty(pseudoList, i, instance.createPrimitive(key))
|
|
}), pseudoList
|
|
}), _Instance.default.NONENUMERABLE_DESCRIPTOR), instance.setProperty(OBJECT, "values", instance.createNativeFunction(obj => {
|
|
const pseudoList = instance.createObject(instance.ARRAY);
|
|
return Object.keys(obj.properties).forEach((key, i) => {
|
|
obj.notEnumerable[key] || instance.setProperty(pseudoList, i, instance.nativeToPseudo(obj.properties[key]))
|
|
}), pseudoList
|
|
}), _Instance.default.NONENUMERABLE_DESCRIPTOR), instance.setProperty(OBJECT, "entries", instance.createNativeFunction(obj => {
|
|
const pseudoList = instance.createObject(instance.ARRAY);
|
|
return Object.keys(obj.properties).forEach((key, i) => {
|
|
obj.notEnumerable[key] || instance.setProperty(pseudoList, i, instance.nativeToPseudo([key, obj.properties[key]]))
|
|
}), pseudoList
|
|
}), _Instance.default.NONENUMERABLE_DESCRIPTOR), instance.setProperty(OBJECT, "defineProperty", instance.createNativeFunction((obj, inProp, descriptor) => {
|
|
const prop = (inProp || instance.UNDEFINED).toString();
|
|
if (!(descriptor instanceof _InstanceObject.default)) return instance.throwException(instance.TYPE_ERROR, "Property description must be an object."), null;
|
|
if (!obj.properties[prop] && obj.preventExtensions) return instance.throwException(instance.TYPE_ERROR, `Can't define property ${prop}, object is not extensible`), null;
|
|
let value = instance.getProperty(descriptor, "value");
|
|
value === instance.UNDEFINED && (value = null);
|
|
const get = instance.getProperty(descriptor, "get"),
|
|
set = instance.getProperty(descriptor, "set"),
|
|
nativeDescriptor = {
|
|
configurable: instance.pseudoToNative(instance.getProperty(descriptor, "configurable")),
|
|
enumerable: instance.pseudoToNative(instance.getProperty(descriptor, "enumerable")),
|
|
writable: instance.pseudoToNative(instance.getProperty(descriptor, "writable")),
|
|
get: get === instance.UNDEFINED ? void 0 : get,
|
|
set: set === instance.UNDEFINED ? void 0 : set
|
|
};
|
|
return instance.setProperty(obj, prop, value, nativeDescriptor), obj
|
|
}), _Instance.default.NONENUMERABLE_DESCRIPTOR), instance.setProperty(OBJECT, "getOwnPropertyDescriptor", instance.createNativeFunction((obj, inProp) => {
|
|
const prop = (inProp || instance.UNDEFINED).toString();
|
|
if (!(prop in obj.properties)) return instance.UNDEFINED;
|
|
const configurable = !obj.notConfigurable[prop],
|
|
enumerable = !obj.notEnumerable[prop],
|
|
writable = !obj.notWritable[prop],
|
|
getter = obj.getter[prop],
|
|
setter = obj.setter[prop],
|
|
descriptor = instance.createObject(OBJECT);
|
|
return instance.setProperty(descriptor, "configurable", instance.createPrimitive(configurable)), instance.setProperty(descriptor, "enumerable", instance.createPrimitive(enumerable)), getter || setter ? (instance.setProperty(descriptor, "getter", getter), instance.setProperty(descriptor, "setter", setter)) : (instance.setProperty(descriptor, "writable", instance.createPrimitive(writable)), instance.setProperty(descriptor, "value", instance.getProperty(obj, prop))), descriptor
|
|
}), _Instance.default.NONENUMERABLE_DESCRIPTOR), instance.setProperty(OBJECT, "getPrototypeOf", instance.createNativeFunction(obj => obj.parent && obj.parent.properties && obj.parent.properties.prototype ? obj.parent.properties.prototype : instance.NULL), _Instance.default.NONENUMERABLE_DESCRIPTOR), instance.setProperty(OBJECT, "isExtensible", instance.createNativeFunction(obj => instance.createPrimitive(!obj.preventExtensions)), _Instance.default.NONENUMERABLE_DESCRIPTOR), instance.setProperty(OBJECT, "preventExtensions", instance.createNativeFunction(obj => (obj.isPrimitive || (obj.preventExtensions = !0), obj)), _Instance.default.NONENUMERABLE_DESCRIPTOR), instance.setProperty(OBJECT, "clone", instance.createNativeFunction(pseudoObj => {
|
|
try {
|
|
return instance.nativeToPseudo((0, _cloneScope.default)(instance.pseudoToNative(pseudoObj)))
|
|
} catch (err) {
|
|
return instance.throwException(instance.ERROR, err && err.message), null
|
|
}
|
|
})), instance.setNativeFunctionPrototype(OBJECT, "toString", function() {
|
|
return instance.createPrimitive(this.toString())
|
|
}), instance.setNativeFunctionPrototype(OBJECT, "toLocaleString", function() {
|
|
return instance.createPrimitive(this.toString())
|
|
}), instance.setNativeFunctionPrototype(OBJECT, "valueOf", function() {
|
|
return instance.createPrimitive(this.valueOf())
|
|
}), instance.setNativeFunctionPrototype(OBJECT, "hasOwnProperty", function(inProp) {
|
|
if (this === instance.NULL || this === instance.UNDEFINED) return instance.throwException(instance.TYPE_ERROR, "Cannot convert undefined or null to object"), null;
|
|
return (inProp || instance.UNDEFINED).toString() in this.properties ? instance.TRUE : instance.FALSE
|
|
}), instance.setNativeFunctionPrototype(OBJECT, "propertyIsEnumerable", function(inProp) {
|
|
const prop = (inProp || instance.UNDEFINED).toString(),
|
|
enumerable = prop in this.properties && !this.notEnumerable[prop];
|
|
return instance.createPrimitive(enumerable)
|
|
}), instance.setNativeFunctionPrototype(OBJECT, "isPrototypeOf", function(obj) {
|
|
let curObj = obj;
|
|
for (; curObj.parent && curObj.parent.properties && curObj.parent.properties.prototype;)
|
|
if (curObj = curObj.parent.properties.prototype, curObj === this) return instance.createPrimitive(!0);
|
|
return instance.createPrimitive(!1)
|
|
}), OBJECT
|
|
};
|
|
var _Instance = _interopRequireDefault(__webpack_require__(76352)),
|
|
_InstanceObject = _interopRequireDefault(__webpack_require__(23335)),
|
|
_cloneScope = _interopRequireDefault(__webpack_require__(91960));
|
|
module.exports = exports.default
|
|
},
|
|
36546: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
this.stateStack.pop()
|
|
}, module.exports = exports.default
|
|
},
|
|
36577: module => {
|
|
"use strict";
|
|
module.exports = JSON.parse('{"name":"PPGotoCheckout","groups":[],"isRequired":false,"tests":[{"method":"testIfInnerTextContainsLength","options":{"expected":"^((go|proceed)to)?checkout(now)?$","tags":"a,button,div","matchWeight":"10","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLength","options":{"expected":"^proceed(withorder|topurchase)$","tags":"a,button,div","matchWeight":"10","unMatchWeight":"1"},"_comment":"backcountry, mr-porter"},{"method":"testIfInnerTextContainsLength","options":{"expected":"^checkout\\\\W?\\\\$[\\\\d.]+$","tags":"a,button,div","matchWeight":"10","unMatchWeight":"1"},"_comment":"stadium-goods, whoop","_regex":"https://regex101.com/r/wpUsnJ/1"},{"method":"testIfInnerHtmlContainsLength","options":{"tags":"div","expected":"<(a|button|div|input)","matchWeight":"0.1","unMatchWeight":"1"},"_comment":"Lower weight if div contains other \'important\' elements"}],"preconditions":[],"shape":[{"value":"^(form|h1|h2|h3|h4|h5|h6|label|link|option|p|script|section|symbol|td)$","weight":0,"scope":"tag","_comment":"most elements are <a> or <button>"},{"value":"checkout","weight":10,"scope":"id"},{"value":"^checkout$","weight":10,"scope":"name"},{"value":"^checkout(securely)?$","weight":10,"scope":"value"},{"value":"^(goto)?checkout$","weight":10,"scope":"aria-label"},{"value":"checkout-(btn|button)","weight":10,"scope":"class"},{"value":"/checkout(/|$)","weight":10,"scope":"href"},{"value":"/checkout(/|$)","weight":10,"scope":"routerlink","_comment":"gamefly"},{"value":"basketcontinue","weight":2,"scope":"id","_comment":"very-uk"},{"value":"/checkout","weight":2,"scope":"href"},{"value":"checkout","weight":2,"scope":"class"},{"value":"click","weight":2,"scope":"event-type","_comment":"dhgate: attr on div"},{"value":"button","weight":1,"scope":"tag"},{"value":"false","weight":0.5,"scope":"data-honey_is_visible"},{"value":"^div$","weight":0.1,"scope":"tag","_comment":"<div> tags are rare"},{"value":"disabled","weight":0,"scope":"class"},{"value":"/cart(\\\\.|$)","weight":0,"scope":"href"},{"value":"email|hidden|text","weight":0,"scope":"type"},{"value":"paypal","weight":0,"scope":"class"},{"value":"checkout-buttons","weight":0,"scope":"class","_comment":"wrapper that contains normal checkout and paypal checkout"}]}')
|
|
},
|
|
36591: module => {
|
|
"use strict";
|
|
module.exports = Object.getOwnPropertyDescriptor
|
|
},
|
|
36962: module => {
|
|
"use strict";
|
|
module.exports = JSON.parse('{"name":"PPVariantColorExists","groups":[],"isRequired":false,"preconditions":[],"scoreThreshold":2,"tests":[{"method":"testIfInnerHtmlContainsLength","options":{"tags":"a","expected":"outofstock","matchWeight":"0","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLength","options":{"expected":"^(select)?color","matchWeight":"5","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLength","options":{"expected":"^color-?pleaseselect-?","onlyVisibleText":"true","matchWeight":"10","unMatchWeight":"1"},"_comment":"for-fans-by-fans"},{"method":"testIfAncestorAttrsContain","options":{"tags":"img","expected":"attr-color","generations":"2","matchWeight":"5","unMatchWeight":"1"},"_comment":"new-chic"},{"method":"testIfAncestorAttrsContain","options":{"tags":"img","expected":"out-stock|selected|unavailable","generations":"2","matchWeight":"0","unMatchWeight":"1"}},{"method":"testIfInnerHtmlContainsLength","options":{"expected":"<(div|input)","matchWeight":"0.1","unMatchWeight":"1"},"_comment":"Lower weight if contains other elements"}],"shape":[{"value":"^(app-box-selector|h1|h2|h3|label|li|option|p|section|ul)$","weight":0,"scope":"tag","_comment":"Filter out element tags we don\'t want to match against"},{"value":"^(div|span)$","weight":0.5,"scope":"tag","_comment":"Can\'t be 0 because of bloomscape/hammacher-schlemmer"},{"value":"false","weight":0.6,"scope":"data-honey_is_visible"},{"value":"^(black|white|grey|gray|blue|red|orange|yellow|green|gold|silver|turquoise|pink)$","weight":5,"scope":"title","_comment":"Exact full string match on title"},{"value":"^(black|white|grey|gray|blue|red|orange|yellow|green|gold|silver|turquoise|pink)$","weight":5,"scope":"aria-label","_comment":"Exact full string match on aria-label"},{"value":"^(black|white|grey|gray|blue|red|orange|yellow|green|gold|silver|turquoise|pink)$","weight":5,"scope":"data-label","_comment":"Exact full string match on data-label"},{"value":"^(black|white|grey|gray|blue|red|orange|yellow|green|gold|silver|turquoise|pink)$","weight":5,"scope":"alt","_comment":"Exact full string match on alt"},{"value":"^(black|white|grey|gray|blue|red|orange|yellow|green|gold|silver|turquoise|pink)$","weight":5,"scope":"value","_comment":"Exact full string match on value"},{"value":"(black|white|grey|gray|blue|red|orange|yellow|green|gold|silver|turquoise|pink)","weight":2,"scope":"title","_comment":"String contains color in title"},{"value":"(black|white|grey|gray|blue|red|orange|yellow|green|gold|silver|turquoise|pink)","weight":2,"scope":"aria-label","_comment":"String contains color in aria-label"},{"value":"(black|white|grey|gray|blue|red|orange|yellow|green|gold|silver|turquoise|pink)","weight":2,"scope":"data-label","_comment":"String contains color in data-label"},{"value":"(black|white|grey|gray|blue|red|orange|yellow|green|gold|silver|turquoise|pink)","weight":2,"scope":"alt","_comment":"String contains color in alt"},{"value":"(black|white|grey|gray|blue|red|orange|yellow|green|gold|silver|turquoise|pink)","weight":2,"scope":"value","_comment":"String contains color in value"},{"value":"^(multi|beige)$","weight":2,"scope":"title","_comment":"Exact full string match for lesser value colors on title"},{"value":"^(multi|beige)$","weight":2,"scope":"aria-label","_comment":"Exact full string match for lesser value colors on aria-label"},{"value":"^(multi|beige)$","weight":2,"scope":"data-label","_comment":"Exact full string match for lesser value colors on data-label"},{"value":"^(multi|beige)$","weight":2,"scope":"alt","_comment":"Exact full string match for lesser value colors on alt"},{"value":"color","weight":10,"scope":"data-code","_comment":"covers-and-all"},{"value":"productcolor","weight":5,"scope":"name","_comment":"QVC"},{"value":"coloroption","weight":5,"scope":"aria-label","_comment":"L.L. Bean"},{"value":"variable.*color","weight":5,"scope":"class","_comment":"bloomscape"},{"value":"color-swatch","weight":3,"scope":"class","_comment":"Adam & Eve, Dicks, DSW, Kohls"},{"value":"selectcolor","weight":3,"scope":"title","_comment":"Madewell"},{"value":"color-radio","weight":3,"scope":"name","_comment":"Banana Republic"},{"value":"color","weight":2,"scope":"id","_comment":"dillards"},{"value":"filter-colour","weight":2,"scope":"id","_comment":"H&M"},{"value":"swatch_img","weight":2,"scope":"id","_comment":"Tractor Supply"},{"value":"product-modal-option","weight":2,"scope":"class","_comment":"HSN"},{"value":"product_image_swatch","weight":2,"_comment":"nasty-gal"},{"value":"imagechip","weight":5,"scope":"class","_comment":"Overstock"},{"value":"true","weight":2,"scope":"data-yo-loaded","_comment":"Tillys"},{"value":"product_color","weight":2,"scope":"src","_comment":"frames-direct"},{"value":"option","weight":1.75,"scope":"tag"},{"value":"swatch","weight":1.5,"scope":"class","_comment":"Vince"},{"value":"option\\\\d","weight":1,"scope":"class"},{"value":"select","weight":1,"scope":"class"},{"value":"*ANY*","weight":1,"scope":"aria-expanded"},{"value":"hidden","weight":0.5,"scope":"class"},{"value":"unselectable|unavailable|disabled|hide","weight":0,"scope":"class"},{"value":"true","weight":0,"scope":"aria-hidden"},{"value":"display:none","weight":0,"scope":"style"},{"value":"*ANY*","weight":0,"scope":"disabled"},{"value":"disabled","weight":0,"scope":"class"},{"value":"list","weight":0,"scope":"role"},{"value":"*ANY*","weight":0,"scope":"data-thumb","_comment":"Tillys"},{"value":"landing|logo|primary-image|profile|selected-color","weight":0},{"value":"heading","weight":0,"scope":"id"},{"value":"stickybuy","weight":0,"scope":"class"},{"value":"canonical-link","weight":0,"scope":"class","_comment":"Nasty Gal"},{"value":"nav","weight":0,"scope":"class","_comment":"apmex"},{"value":"category","weight":0,"scope":"name","_comment":"Victoria\'s Secret - unmatch \'Pink\' brand"},{"value":"*ANY*","weight":0,"scope":"data-thumbnails-ref-tag","_comment":"Woot - link to fullsize thumbnail"},{"value":"reddit","weight":0,"_comment":"false color detection"},{"value":"featured","weight":0,"_comment":"false color detection"},{"value":"redes","weight":0,"_comment":"false color detection"},{"value":"bracelet|necklace|rings|jewelry","weight":0,"_comment":"Zales - Silver or Gold is a category, not color variant"},{"value":"collection","weight":0}]}')
|
|
},
|
|
37129: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var lowerCase = __webpack_require__(11895),
|
|
NON_WORD_REGEXP = __webpack_require__(59994),
|
|
CAMEL_CASE_REGEXP = __webpack_require__(69719),
|
|
CAMEL_CASE_UPPER_REGEXP = __webpack_require__(22424);
|
|
module.exports = function(str, locale, replacement) {
|
|
if (null == str) return "";
|
|
return replacement = "string" != typeof replacement ? " " : replacement, str = String(str).replace(CAMEL_CASE_REGEXP, "$1 $2").replace(CAMEL_CASE_UPPER_REGEXP, "$1 $2").replace(NON_WORD_REGEXP, function(match, index, value) {
|
|
return 0 === index || index === value.length - match.length ? "" : replacement
|
|
}), lowerCase(str, locale)
|
|
}
|
|
},
|
|
37250: module => {
|
|
"use strict";
|
|
module.exports = JSON.parse('{"name":"FSSubmit","groups":["FIND_SAVINGS"],"isRequired":true,"tests":[{"method":"testIfInnerTextContainsLengthWeighted","options":{"expected":"apply","matchWeight":"200.0","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLength","options":{"expected":"add","matchWeight":"100.0","unMatchWeight":"1"}}],"preconditions":[],"shape":[{"value":"^(script|i|symbol|g|script|style|link|a)$","weight":0,"scope":"tag"},{"value":"coupon","weight":100,"scope":"value"},{"value":"coupon","weight":90,"scope":"id"},{"value":"add","weight":10,"scope":"id"},{"value":"apply","weight":90,"scope":"value"},{"value":"promos","weight":90,"scope":"class"},{"value":"promo","weight":90,"scope":"form"},{"value":"coupon","weight":80,"scope":"name"},{"value":"add","weight":80,"scope":"value"},{"value":"button","weight":50,"scope":"tag"},{"value":"button","weight":50,"scope":"role"},{"value":"submit","weight":50,"scope":"type"},{"value":"input","weight":10,"scope":"tag"},{"value":"div","weight":0.4,"scope":"tag"},{"value":"hidden|text","weight":0.1,"scope":"type"},{"value":"0","weight":0,"scope":"tabindex"},{"value":"apply","weight":5},{"value":"button","weight":4},{"value":"coupon","weight":4},{"value":"discount","weight":3},{"value":"reduction","weight":3},{"value":"basket|promo|voucher","weight":2},{"value":"order|quantity","weight":0.5},{"value":"announce|box|cart|close|enter|details","weight":0.25},{"value":"filter|search","weight":0.1},{"value":"wishlist","weight":0}]}')
|
|
},
|
|
37260: module => {
|
|
"use strict";
|
|
module.exports = Math.abs
|
|
},
|
|
37375: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function({
|
|
inputSelector,
|
|
regex
|
|
}) {
|
|
if (!inputSelector) return new _mixinResponses.MixinResponse("failed", "Field inputSelector is blank.");
|
|
const element = (0, _sharedFunctions.getElement)(inputSelector);
|
|
if (!element) return new _mixinResponses.MixinResponse("failed", "Element not found, for provided inputSelector.");
|
|
let result = element && element.innerHTML;
|
|
if (result && regex) {
|
|
const cleanRegex = regex.replaceAll("#", "$");
|
|
try {
|
|
result = _ttClient.applyRegExpToString.fn(result, cleanRegex)
|
|
} catch (e) {
|
|
return new _mixinResponses.MixinResponse("failed", "Error applying regex.")
|
|
}
|
|
}
|
|
return new _mixinResponses.MixinResponse("success", result)
|
|
};
|
|
var _ttClient = __webpack_require__(67230),
|
|
_sharedFunctions = __webpack_require__(8627),
|
|
_mixinResponses = __webpack_require__(34522);
|
|
module.exports = exports.default
|
|
},
|
|
37441: module => {
|
|
module.exports = function(arg) {
|
|
return arg && "object" == typeof arg && "function" == typeof arg.copy && "function" == typeof arg.fill && "function" == typeof arg.readUInt8
|
|
}
|
|
},
|
|
37678: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.addBack = exports.add = exports.end = exports.slice = exports.index = exports.get = exports.eq = exports.last = exports.first = exports.has = exports.not = exports.filter = exports.map = exports.each = exports.contents = exports.children = exports.siblings = exports.prevUntil = exports.prevAll = exports.prev = exports.nextUntil = exports.nextAll = exports.next = exports.closest = exports.parentsUntil = exports.parents = exports.parent = exports.find = void 0;
|
|
var tslib_1 = __webpack_require__(15146),
|
|
domhandler_1 = __webpack_require__(75243),
|
|
select = tslib_1.__importStar(__webpack_require__(11355)),
|
|
utils_1 = __webpack_require__(91373),
|
|
uniqueSort = __webpack_require__(82393).DomUtils.uniqueSort,
|
|
reSiblingSelector = /^\s*[~+]/;
|
|
|
|
function getFilterFn(match) {
|
|
return "function" == typeof match ? function(el, i) {
|
|
return match.call(el, i, el)
|
|
} : utils_1.isCheerio(match) ? match.is.bind(match) : function(el) {
|
|
return match === el
|
|
}
|
|
}
|
|
|
|
function filter(match, container) {
|
|
if (void 0 === container && (container = this), !utils_1.isCheerio(container)) throw new Error("Not able to create a Cheerio instance.");
|
|
var elements = (utils_1.isCheerio(this) ? this.toArray() : this).filter(utils_1.isTag);
|
|
return elements = "string" == typeof match ? select.filter(match, elements, container.options) : elements.filter(getFilterFn(match)), container._make(elements)
|
|
}
|
|
|
|
function traverseParents(self, elem, selector, limit) {
|
|
for (var elems = []; elem && elems.length < limit && "root" !== elem.type;) selector && !filter.call([elem], selector, self).length || elems.push(elem), elem = elem.parent;
|
|
return elems
|
|
}
|
|
exports.find = function(selectorOrHaystack) {
|
|
if (!selectorOrHaystack) return this._make([]);
|
|
var context = this.toArray();
|
|
if ("string" != typeof selectorOrHaystack) {
|
|
var contains_1 = this.constructor.contains,
|
|
haystack = utils_1.isCheerio(selectorOrHaystack) ? selectorOrHaystack.get() : [selectorOrHaystack];
|
|
return this._make(haystack.filter(function(elem) {
|
|
return context.some(function(node) {
|
|
return contains_1(node, elem)
|
|
})
|
|
}))
|
|
}
|
|
var elems = reSiblingSelector.test(selectorOrHaystack) ? context : context.reduce(function(newElems, elem) {
|
|
return domhandler_1.hasChildren(elem) ? newElems.concat(elem.children.filter(utils_1.isTag)) : newElems
|
|
}, []),
|
|
options = {
|
|
context,
|
|
xmlMode: this.options.xmlMode
|
|
};
|
|
return this._make(select.select(selectorOrHaystack, elems, options))
|
|
}, exports.parent = function(selector) {
|
|
var set = [];
|
|
return utils_1.domEach(this, function(_, elem) {
|
|
var parentElem = elem.parent;
|
|
parentElem && "root" !== parentElem.type && !set.includes(parentElem) && set.push(parentElem)
|
|
}), selector ? filter.call(set, selector, this) : this._make(set)
|
|
}, exports.parents = function(selector) {
|
|
var _this = this,
|
|
parentNodes = [];
|
|
return this.get().reverse().forEach(function(elem) {
|
|
return traverseParents(_this, elem.parent, selector, 1 / 0).forEach(function(node) {
|
|
parentNodes.includes(node) || parentNodes.push(node)
|
|
})
|
|
}), this._make(parentNodes)
|
|
}, exports.parentsUntil = function(selector, filterBy) {
|
|
var untilNode, untilNodes, parentNodes = [];
|
|
return "string" == typeof selector ? untilNodes = this.parents(selector).toArray() : selector && utils_1.isCheerio(selector) ? untilNodes = selector.toArray() : selector && (untilNode = selector), this.toArray().reverse().forEach(function(elem) {
|
|
for (; elem.parent && (elem = elem.parent, untilNode && elem !== untilNode || untilNodes && !untilNodes.includes(elem) || !untilNode && !untilNodes);) utils_1.isTag(elem) && !parentNodes.includes(elem) && parentNodes.push(elem)
|
|
}, this), filterBy ? filter.call(parentNodes, filterBy, this) : this._make(parentNodes)
|
|
}, exports.closest = function(selector) {
|
|
var _this = this,
|
|
set = [];
|
|
return selector ? (utils_1.domEach(this, function(_, elem) {
|
|
var closestElem = traverseParents(_this, elem, selector, 1)[0];
|
|
closestElem && !set.includes(closestElem) && set.push(closestElem)
|
|
}), this._make(set)) : this._make(set)
|
|
}, exports.next = function(selector) {
|
|
var elems = [];
|
|
return utils_1.domEach(this, function(_, elem) {
|
|
for (; elem.next;)
|
|
if (elem = elem.next, utils_1.isTag(elem)) return void elems.push(elem)
|
|
}), selector ? filter.call(elems, selector, this) : this._make(elems)
|
|
}, exports.nextAll = function(selector) {
|
|
var elems = [];
|
|
return utils_1.domEach(this, function(_, elem) {
|
|
for (; elem.next;) elem = elem.next, utils_1.isTag(elem) && !elems.includes(elem) && elems.push(elem)
|
|
}), selector ? filter.call(elems, selector, this) : this._make(elems)
|
|
}, exports.nextUntil = function(selector, filterSelector) {
|
|
var untilNode, untilNodes, elems = [];
|
|
return "string" == typeof selector ? untilNodes = this.nextAll(selector).toArray() : selector && utils_1.isCheerio(selector) ? untilNodes = selector.get() : selector && (untilNode = selector), utils_1.domEach(this, function(_, elem) {
|
|
for (; elem.next && (elem = elem.next, untilNode && elem !== untilNode || untilNodes && !untilNodes.includes(elem) || !untilNode && !untilNodes);) utils_1.isTag(elem) && !elems.includes(elem) && elems.push(elem)
|
|
}), filterSelector ? filter.call(elems, filterSelector, this) : this._make(elems)
|
|
}, exports.prev = function(selector) {
|
|
var elems = [];
|
|
return utils_1.domEach(this, function(_, elem) {
|
|
for (; elem.prev;)
|
|
if (elem = elem.prev, utils_1.isTag(elem)) return void elems.push(elem)
|
|
}), selector ? filter.call(elems, selector, this) : this._make(elems)
|
|
}, exports.prevAll = function(selector) {
|
|
var elems = [];
|
|
return utils_1.domEach(this, function(_, elem) {
|
|
for (; elem.prev;) elem = elem.prev, utils_1.isTag(elem) && !elems.includes(elem) && elems.push(elem)
|
|
}), selector ? filter.call(elems, selector, this) : this._make(elems)
|
|
}, exports.prevUntil = function(selector, filterSelector) {
|
|
var untilNode, untilNodes, elems = [];
|
|
return "string" == typeof selector ? untilNodes = this.prevAll(selector).toArray() : selector && utils_1.isCheerio(selector) ? untilNodes = selector.get() : selector && (untilNode = selector), utils_1.domEach(this, function(_, elem) {
|
|
for (; elem.prev && (elem = elem.prev, untilNode && elem !== untilNode || untilNodes && !untilNodes.includes(elem) || !untilNode && !untilNodes);) utils_1.isTag(elem) && !elems.includes(elem) && elems.push(elem)
|
|
}), filterSelector ? filter.call(elems, filterSelector, this) : this._make(elems)
|
|
}, exports.siblings = function(selector) {
|
|
var _this = this,
|
|
elems = this.parent().children().toArray().filter(function(elem) {
|
|
return !_this.is(elem)
|
|
});
|
|
return selector ? filter.call(elems, selector, this) : this._make(elems)
|
|
}, exports.children = function(selector) {
|
|
var elems = this.toArray().reduce(function(newElems, elem) {
|
|
return domhandler_1.hasChildren(elem) ? newElems.concat(elem.children.filter(utils_1.isTag)) : newElems
|
|
}, []);
|
|
return selector ? filter.call(elems, selector, this) : this._make(elems)
|
|
}, exports.contents = function() {
|
|
var elems = this.toArray().reduce(function(newElems, elem) {
|
|
return domhandler_1.hasChildren(elem) ? newElems.concat(elem.children) : newElems
|
|
}, []);
|
|
return this._make(elems)
|
|
}, exports.each = function(fn) {
|
|
for (var i = 0, len = this.length; i < len && !1 !== fn.call(this[i], i, this[i]);) ++i;
|
|
return this
|
|
}, exports.map = function(fn) {
|
|
for (var elems = [], i = 0; i < this.length; i++) {
|
|
var el = this[i],
|
|
val = fn.call(el, i, el);
|
|
null != val && (elems = elems.concat(val))
|
|
}
|
|
return this._make(elems)
|
|
}, exports.filter = filter, exports.not = function(match, container) {
|
|
if (void 0 === container && (container = this), !utils_1.isCheerio(container)) throw new Error("Not able to create a Cheerio instance.");
|
|
var nodes = utils_1.isCheerio(this) ? this.toArray() : this;
|
|
if ("string" == typeof match) {
|
|
var elements = nodes.filter(utils_1.isTag),
|
|
matches_1 = new Set(select.filter(match, elements, container.options));
|
|
nodes = nodes.filter(function(el) {
|
|
return !matches_1.has(el)
|
|
})
|
|
} else {
|
|
var filterFn_1 = getFilterFn(match);
|
|
nodes = nodes.filter(function(el, i) {
|
|
return !filterFn_1(el, i)
|
|
})
|
|
}
|
|
return container._make(nodes)
|
|
}, exports.has = function(selectorOrHaystack) {
|
|
var _this = this;
|
|
return filter.call(this, "string" == typeof selectorOrHaystack ? ":has(" + selectorOrHaystack + ")" : function(_, el) {
|
|
return _this._make(el).find(selectorOrHaystack).length > 0
|
|
})
|
|
}, exports.first = function() {
|
|
return this.length > 1 ? this._make(this[0]) : this
|
|
}, exports.last = function() {
|
|
return this.length > 0 ? this._make(this[this.length - 1]) : this
|
|
}, exports.eq = function(i) {
|
|
var _a;
|
|
return 0 === (i = +i) && this.length <= 1 ? this : (i < 0 && (i = this.length + i), this._make(null !== (_a = this[i]) && void 0 !== _a ? _a : []))
|
|
}, exports.get = function(i) {
|
|
return null == i ? Array.prototype.slice.call(this) : this[i < 0 ? this.length + i : i]
|
|
}, exports.index = function(selectorOrNeedle) {
|
|
var $haystack, needle;
|
|
return null == selectorOrNeedle ? ($haystack = this.parent().children(), needle = this[0]) : "string" == typeof selectorOrNeedle ? ($haystack = this._make(selectorOrNeedle), needle = this[0]) : ($haystack = this, needle = utils_1.isCheerio(selectorOrNeedle) ? selectorOrNeedle[0] : selectorOrNeedle), $haystack.get().indexOf(needle)
|
|
}, exports.slice = function(start, end) {
|
|
return this._make(Array.prototype.slice.call(this, start, end))
|
|
}, exports.end = function() {
|
|
var _a;
|
|
return null !== (_a = this.prevObject) && void 0 !== _a ? _a : this._make([])
|
|
}, exports.add = function(other, context) {
|
|
var selection = this._make(other, context),
|
|
contents = uniqueSort(tslib_1.__spreadArray(tslib_1.__spreadArray([], this.get()), selection.get()));
|
|
return this._make(contents)
|
|
}, exports.addBack = function(selector) {
|
|
return this.prevObject ? this.add(selector ? this.prevObject.filter(selector) : this.prevObject) : this
|
|
}
|
|
},
|
|
37999: (__unused_webpack_module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.aliases = void 0, exports.aliases = {
|
|
"any-link": ":is(a, area, link)[href]",
|
|
link: ":any-link:not(:visited)",
|
|
disabled: ":is(\n :is(button, input, select, textarea, optgroup, option)[disabled],\n optgroup[disabled] > option,\n fieldset[disabled]:not(fieldset[disabled] legend:first-of-type *)\n )",
|
|
enabled: ":not(:disabled)",
|
|
checked: ":is(:is(input[type=radio], input[type=checkbox])[checked], option:selected)",
|
|
required: ":is(input, select, textarea)[required]",
|
|
optional: ":is(input, select, textarea):not([required])",
|
|
selected: "option:is([selected], select:not([multiple]):not(:has(> option[selected])) > :first-of-type)",
|
|
checkbox: "[type=checkbox]",
|
|
file: "[type=file]",
|
|
password: "[type=password]",
|
|
radio: "[type=radio]",
|
|
reset: "[type=reset]",
|
|
image: "[type=image]",
|
|
submit: "[type=submit]",
|
|
parent: ":not(:empty)",
|
|
header: ":is(h1, h2, h3, h4, h5, h6)",
|
|
button: ":is(button, input[type=button])",
|
|
input: ":is(input, textarea, select, button)",
|
|
text: "input:is(:not([type!='']), [type=text])"
|
|
}
|
|
},
|
|
38090: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function(instance, scope) {
|
|
const NUMBER = instance.createNativeFunction(function(inValue) {
|
|
const value = inValue ? inValue.toNumber() : 0;
|
|
return this.parent !== instance.NUMBER ? instance.createPrimitive(value) : (this.data = value, this)
|
|
});
|
|
instance.setCoreObject("NUMBER", NUMBER), instance.setProperty(scope, "Number", NUMBER, _Instance.default.READONLY_DESCRIPTOR), CONSTANTS.forEach(numCnst => instance.setProperty(NUMBER, numCnst, instance.createPrimitive(Number[numCnst])), _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR);
|
|
const pseudoParseInt = instance.createNativeFunction((inStr, inRadix) => {
|
|
const str = inStr || instance.UNDEFINED,
|
|
radix = inRadix || instance.UNDEFINED;
|
|
return instance.createPrimitive(parseInt(str.toString(), radix.toNumber()))
|
|
});
|
|
instance.setProperty(scope, "parseInt", pseudoParseInt, _Instance.default.READONLY_DESCRIPTOR), instance.setProperty(NUMBER, "parseInt", pseudoParseInt, _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR);
|
|
const pseudoParseFloat = instance.createNativeFunction(inStr => {
|
|
const str = inStr || instance.UNDEFINED;
|
|
return instance.createPrimitive(parseFloat(str.toString()))
|
|
});
|
|
return instance.setProperty(scope, "parseFloat", pseudoParseFloat, _Instance.default.READONLY_DESCRIPTOR), instance.setProperty(NUMBER, "parseFloat", pseudoParseFloat, _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR), instance.setNativeFunctionPrototype(NUMBER, "toExponential", function(inFractionDigits) {
|
|
const fractionDigits = inFractionDigits ? inFractionDigits.toNumber() : void 0;
|
|
return instance.createPrimitive(this.toNumber().toExponential(fractionDigits))
|
|
}), instance.setNativeFunctionPrototype(NUMBER, "toFixed", function(inDigits) {
|
|
const digits = inDigits ? inDigits.toNumber() : void 0;
|
|
return instance.createPrimitive(this.toNumber().toFixed(digits))
|
|
}), instance.setNativeFunctionPrototype(NUMBER, "toPrecision", function(inPrecision) {
|
|
const precision = inPrecision ? inPrecision.toNumber() : void 0;
|
|
return instance.createPrimitive(this.toNumber().toPrecision(precision))
|
|
}), instance.setNativeFunctionPrototype(NUMBER, "toString", function(inRadix) {
|
|
const radix = inRadix ? inRadix.toNumber() : 10;
|
|
return instance.createPrimitive(this.toNumber().toString(radix))
|
|
}), instance.setNativeFunctionPrototype(NUMBER, "toLocaleString", function(inLocales, inOptions) {
|
|
const locales = inLocales ? instance.pseudoToNative(inLocales) : void 0,
|
|
options = inOptions ? instance.pseudoToNative(inOptions) : void 0;
|
|
return instance.createPrimitive(this.toNumber().toLocaleString(locales, options))
|
|
}), instance.setProperty(scope, "isNaN", instance.createNativeFunction(inNum => {
|
|
const num = inNum || instance.UNDEFINED;
|
|
return instance.createPrimitive(isNaN(num.toNumber()))
|
|
}), _Instance.default.READONLY_DESCRIPTOR), instance.setProperty(scope, "isFinite", instance.createNativeFunction(inNum => {
|
|
const num = inNum || instance.UNDEFINED;
|
|
return instance.createPrimitive(isFinite(num.toNumber()))
|
|
}), _Instance.default.READONLY_DESCRIPTOR), NUMBER
|
|
};
|
|
var _Instance = _interopRequireDefault(__webpack_require__(76352));
|
|
const CONSTANTS = ["MAX_VALUE", "MIN_VALUE", "NaN", "NEGATIVE_INFINITY", "POSITIVE_INFINITY"];
|
|
module.exports = exports.default
|
|
},
|
|
38137: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
let Stringifier = __webpack_require__(57818);
|
|
|
|
function stringify(node, builder) {
|
|
new Stringifier(builder).stringify(node)
|
|
}
|
|
module.exports = stringify, stringify.default = stringify
|
|
},
|
|
38323: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.getFeed = void 0;
|
|
var stringify_1 = __webpack_require__(78207),
|
|
legacy_1 = __webpack_require__(81123);
|
|
exports.getFeed = function(doc) {
|
|
var feedRoot = getOneElement(isValidFeed, doc);
|
|
return feedRoot ? "feed" === feedRoot.name ? function(feedRoot) {
|
|
var _a, childs = feedRoot.children,
|
|
feed = {
|
|
type: "atom",
|
|
items: (0, legacy_1.getElementsByTagName)("entry", childs).map(function(item) {
|
|
var _a, children = item.children,
|
|
entry = {
|
|
media: getMediaElements(children)
|
|
};
|
|
addConditionally(entry, "id", "id", children), addConditionally(entry, "title", "title", children);
|
|
var href = null === (_a = getOneElement("link", children)) || void 0 === _a ? void 0 : _a.attribs.href;
|
|
href && (entry.link = href);
|
|
var description = fetch("summary", children) || fetch("content", children);
|
|
description && (entry.description = description);
|
|
var pubDate = fetch("updated", children);
|
|
return pubDate && (entry.pubDate = new Date(pubDate)), entry
|
|
})
|
|
};
|
|
addConditionally(feed, "id", "id", childs), addConditionally(feed, "title", "title", childs);
|
|
var href = null === (_a = getOneElement("link", childs)) || void 0 === _a ? void 0 : _a.attribs.href;
|
|
href && (feed.link = href);
|
|
addConditionally(feed, "description", "subtitle", childs);
|
|
var updated = fetch("updated", childs);
|
|
updated && (feed.updated = new Date(updated));
|
|
return addConditionally(feed, "author", "email", childs, !0), feed
|
|
}(feedRoot) : function(feedRoot) {
|
|
var _a, _b, childs = null !== (_b = null === (_a = getOneElement("channel", feedRoot.children)) || void 0 === _a ? void 0 : _a.children) && void 0 !== _b ? _b : [],
|
|
feed = {
|
|
type: feedRoot.name.substr(0, 3),
|
|
id: "",
|
|
items: (0, legacy_1.getElementsByTagName)("item", feedRoot.children).map(function(item) {
|
|
var children = item.children,
|
|
entry = {
|
|
media: getMediaElements(children)
|
|
};
|
|
addConditionally(entry, "id", "guid", children), addConditionally(entry, "title", "title", children), addConditionally(entry, "link", "link", children), addConditionally(entry, "description", "description", children);
|
|
var pubDate = fetch("pubDate", children);
|
|
return pubDate && (entry.pubDate = new Date(pubDate)), entry
|
|
})
|
|
};
|
|
addConditionally(feed, "title", "title", childs), addConditionally(feed, "link", "link", childs), addConditionally(feed, "description", "description", childs);
|
|
var updated = fetch("lastBuildDate", childs);
|
|
updated && (feed.updated = new Date(updated));
|
|
return addConditionally(feed, "author", "managingEditor", childs, !0), feed
|
|
}(feedRoot) : null
|
|
};
|
|
var MEDIA_KEYS_STRING = ["url", "type", "lang"],
|
|
MEDIA_KEYS_INT = ["fileSize", "bitrate", "framerate", "samplingrate", "channels", "duration", "height", "width"];
|
|
|
|
function getMediaElements(where) {
|
|
return (0, legacy_1.getElementsByTagName)("media:content", where).map(function(elem) {
|
|
for (var attribs = elem.attribs, media = {
|
|
medium: attribs.medium,
|
|
isDefault: !!attribs.isDefault
|
|
}, _i = 0, MEDIA_KEYS_STRING_1 = MEDIA_KEYS_STRING; _i < MEDIA_KEYS_STRING_1.length; _i++) {
|
|
attribs[attrib = MEDIA_KEYS_STRING_1[_i]] && (media[attrib] = attribs[attrib])
|
|
}
|
|
for (var _a = 0, MEDIA_KEYS_INT_1 = MEDIA_KEYS_INT; _a < MEDIA_KEYS_INT_1.length; _a++) {
|
|
var attrib;
|
|
attribs[attrib = MEDIA_KEYS_INT_1[_a]] && (media[attrib] = parseInt(attribs[attrib], 10))
|
|
}
|
|
return attribs.expression && (media.expression = attribs.expression), media
|
|
})
|
|
}
|
|
|
|
function getOneElement(tagName, node) {
|
|
return (0, legacy_1.getElementsByTagName)(tagName, node, !0, 1)[0]
|
|
}
|
|
|
|
function fetch(tagName, where, recurse) {
|
|
return void 0 === recurse && (recurse = !1), (0, stringify_1.textContent)((0, legacy_1.getElementsByTagName)(tagName, where, recurse, 1)).trim()
|
|
}
|
|
|
|
function addConditionally(obj, prop, tagName, where, recurse) {
|
|
void 0 === recurse && (recurse = !1);
|
|
var val = fetch(tagName, where, recurse);
|
|
val && (obj[prop] = val)
|
|
}
|
|
|
|
function isValidFeed(value) {
|
|
return "rss" === value || "feed" === value || "rdf:RDF" === value
|
|
}
|
|
},
|
|
38449: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
let AtRule = __webpack_require__(45822),
|
|
Comment = __webpack_require__(10861),
|
|
Declaration = __webpack_require__(20972),
|
|
Root = __webpack_require__(97914),
|
|
Rule = __webpack_require__(90732),
|
|
tokenizer = __webpack_require__(39895);
|
|
const SAFE_COMMENT_NEIGHBOR = {
|
|
empty: !0,
|
|
space: !0
|
|
};
|
|
module.exports = class {
|
|
constructor(input) {
|
|
this.input = input, this.root = new Root, this.current = this.root, this.spaces = "", this.semicolon = !1, this.createTokenizer(), this.root.source = {
|
|
input,
|
|
start: {
|
|
column: 1,
|
|
line: 1,
|
|
offset: 0
|
|
}
|
|
}
|
|
}
|
|
atrule(token) {
|
|
let type, prev, shift, node = new AtRule;
|
|
node.name = token[1].slice(1), "" === node.name && this.unnamedAtrule(node, token), this.init(node, token[2]);
|
|
let last = !1,
|
|
open = !1,
|
|
params = [],
|
|
brackets = [];
|
|
for (; !this.tokenizer.endOfFile();) {
|
|
if (type = (token = this.tokenizer.nextToken())[0], "(" === type || "[" === type ? brackets.push("(" === type ? ")" : "]") : "{" === type && brackets.length > 0 ? brackets.push("}") : type === brackets[brackets.length - 1] && brackets.pop(), 0 === brackets.length) {
|
|
if (";" === type) {
|
|
node.source.end = this.getPosition(token[2]), node.source.end.offset++, this.semicolon = !0;
|
|
break
|
|
}
|
|
if ("{" === type) {
|
|
open = !0;
|
|
break
|
|
}
|
|
if ("}" === type) {
|
|
if (params.length > 0) {
|
|
for (shift = params.length - 1, prev = params[shift]; prev && "space" === prev[0];) prev = params[--shift];
|
|
prev && (node.source.end = this.getPosition(prev[3] || prev[2]), node.source.end.offset++)
|
|
}
|
|
this.end(token);
|
|
break
|
|
}
|
|
params.push(token)
|
|
} else params.push(token);
|
|
if (this.tokenizer.endOfFile()) {
|
|
last = !0;
|
|
break
|
|
}
|
|
}
|
|
node.raws.between = this.spacesAndCommentsFromEnd(params), params.length ? (node.raws.afterName = this.spacesAndCommentsFromStart(params), this.raw(node, "params", params), last && (token = params[params.length - 1], node.source.end = this.getPosition(token[3] || token[2]), node.source.end.offset++, this.spaces = node.raws.between, node.raws.between = "")) : (node.raws.afterName = "", node.params = ""), open && (node.nodes = [], this.current = node)
|
|
}
|
|
checkMissedSemicolon(tokens) {
|
|
let colon = this.colon(tokens);
|
|
if (!1 === colon) return;
|
|
let token, founded = 0;
|
|
for (let j = colon - 1; j >= 0 && (token = tokens[j], "space" === token[0] || (founded += 1, 2 !== founded)); j--);
|
|
throw this.input.error("Missed semicolon", "word" === token[0] ? token[3] + 1 : token[2])
|
|
}
|
|
colon(tokens) {
|
|
let prev, token, type, brackets = 0;
|
|
for (let [i, element] of tokens.entries()) {
|
|
if (token = element, type = token[0], "(" === type && (brackets += 1), ")" === type && (brackets -= 1), 0 === brackets && ":" === type) {
|
|
if (prev) {
|
|
if ("word" === prev[0] && "progid" === prev[1]) continue;
|
|
return i
|
|
}
|
|
this.doubleColon(token)
|
|
}
|
|
prev = token
|
|
}
|
|
return !1
|
|
}
|
|
comment(token) {
|
|
let node = new Comment;
|
|
this.init(node, token[2]), node.source.end = this.getPosition(token[3] || token[2]), node.source.end.offset++;
|
|
let text = token[1].slice(2, -2);
|
|
if (/^\s*$/.test(text)) node.text = "", node.raws.left = text, node.raws.right = "";
|
|
else {
|
|
let match = text.match(/^(\s*)([^]*\S)(\s*)$/);
|
|
node.text = match[2], node.raws.left = match[1], node.raws.right = match[3]
|
|
}
|
|
}
|
|
createTokenizer() {
|
|
this.tokenizer = tokenizer(this.input)
|
|
}
|
|
decl(tokens, customProperty) {
|
|
let node = new Declaration;
|
|
this.init(node, tokens[0][2]);
|
|
let token, last = tokens[tokens.length - 1];
|
|
for (";" === last[0] && (this.semicolon = !0, tokens.pop()), node.source.end = this.getPosition(last[3] || last[2] || function(tokens) {
|
|
for (let i = tokens.length - 1; i >= 0; i--) {
|
|
let token = tokens[i],
|
|
pos = token[3] || token[2];
|
|
if (pos) return pos
|
|
}
|
|
}(tokens)), node.source.end.offset++;
|
|
"word" !== tokens[0][0];) 1 === tokens.length && this.unknownWord(tokens), node.raws.before += tokens.shift()[1];
|
|
for (node.source.start = this.getPosition(tokens[0][2]), node.prop = ""; tokens.length;) {
|
|
let type = tokens[0][0];
|
|
if (":" === type || "space" === type || "comment" === type) break;
|
|
node.prop += tokens.shift()[1]
|
|
}
|
|
for (node.raws.between = ""; tokens.length;) {
|
|
if (token = tokens.shift(), ":" === token[0]) {
|
|
node.raws.between += token[1];
|
|
break
|
|
}
|
|
"word" === token[0] && /\w/.test(token[1]) && this.unknownWord([token]), node.raws.between += token[1]
|
|
}
|
|
"_" !== node.prop[0] && "*" !== node.prop[0] || (node.raws.before += node.prop[0], node.prop = node.prop.slice(1));
|
|
let next, firstSpaces = [];
|
|
for (; tokens.length && (next = tokens[0][0], "space" === next || "comment" === next);) firstSpaces.push(tokens.shift());
|
|
this.precheckMissedSemicolon(tokens);
|
|
for (let i = tokens.length - 1; i >= 0; i--) {
|
|
if (token = tokens[i], "!important" === token[1].toLowerCase()) {
|
|
node.important = !0;
|
|
let string = this.stringFrom(tokens, i);
|
|
string = this.spacesFromEnd(tokens) + string, " !important" !== string && (node.raws.important = string);
|
|
break
|
|
}
|
|
if ("important" === token[1].toLowerCase()) {
|
|
let cache = tokens.slice(0),
|
|
str = "";
|
|
for (let j = i; j > 0; j--) {
|
|
let type = cache[j][0];
|
|
if (str.trim().startsWith("!") && "space" !== type) break;
|
|
str = cache.pop()[1] + str
|
|
}
|
|
str.trim().startsWith("!") && (node.important = !0, node.raws.important = str, tokens = cache)
|
|
}
|
|
if ("space" !== token[0] && "comment" !== token[0]) break
|
|
}
|
|
tokens.some(i => "space" !== i[0] && "comment" !== i[0]) && (node.raws.between += firstSpaces.map(i => i[1]).join(""), firstSpaces = []), this.raw(node, "value", firstSpaces.concat(tokens), customProperty), node.value.includes(":") && !customProperty && this.checkMissedSemicolon(tokens)
|
|
}
|
|
doubleColon(token) {
|
|
throw this.input.error("Double colon", {
|
|
offset: token[2]
|
|
}, {
|
|
offset: token[2] + token[1].length
|
|
})
|
|
}
|
|
emptyRule(token) {
|
|
let node = new Rule;
|
|
this.init(node, token[2]), node.selector = "", node.raws.between = "", this.current = node
|
|
}
|
|
end(token) {
|
|
this.current.nodes && this.current.nodes.length && (this.current.raws.semicolon = this.semicolon), this.semicolon = !1, this.current.raws.after = (this.current.raws.after || "") + this.spaces, this.spaces = "", this.current.parent ? (this.current.source.end = this.getPosition(token[2]), this.current.source.end.offset++, this.current = this.current.parent) : this.unexpectedClose(token)
|
|
}
|
|
endFile() {
|
|
this.current.parent && this.unclosedBlock(), this.current.nodes && this.current.nodes.length && (this.current.raws.semicolon = this.semicolon), this.current.raws.after = (this.current.raws.after || "") + this.spaces, this.root.source.end = this.getPosition(this.tokenizer.position())
|
|
}
|
|
freeSemicolon(token) {
|
|
if (this.spaces += token[1], this.current.nodes) {
|
|
let prev = this.current.nodes[this.current.nodes.length - 1];
|
|
prev && "rule" === prev.type && !prev.raws.ownSemicolon && (prev.raws.ownSemicolon = this.spaces, this.spaces = "", prev.source.end = this.getPosition(token[2]), prev.source.end.offset += prev.raws.ownSemicolon.length)
|
|
}
|
|
}
|
|
getPosition(offset) {
|
|
let pos = this.input.fromOffset(offset);
|
|
return {
|
|
column: pos.col,
|
|
line: pos.line,
|
|
offset
|
|
}
|
|
}
|
|
init(node, offset) {
|
|
this.current.push(node), node.source = {
|
|
input: this.input,
|
|
start: this.getPosition(offset)
|
|
}, node.raws.before = this.spaces, this.spaces = "", "comment" !== node.type && (this.semicolon = !1)
|
|
}
|
|
other(start) {
|
|
let end = !1,
|
|
type = null,
|
|
colon = !1,
|
|
bracket = null,
|
|
brackets = [],
|
|
customProperty = start[1].startsWith("--"),
|
|
tokens = [],
|
|
token = start;
|
|
for (; token;) {
|
|
if (type = token[0], tokens.push(token), "(" === type || "[" === type) bracket || (bracket = token), brackets.push("(" === type ? ")" : "]");
|
|
else if (customProperty && colon && "{" === type) bracket || (bracket = token), brackets.push("}");
|
|
else if (0 === brackets.length) {
|
|
if (";" === type) {
|
|
if (colon) return void this.decl(tokens, customProperty);
|
|
break
|
|
}
|
|
if ("{" === type) return void this.rule(tokens);
|
|
if ("}" === type) {
|
|
this.tokenizer.back(tokens.pop()), end = !0;
|
|
break
|
|
}
|
|
":" === type && (colon = !0)
|
|
} else type === brackets[brackets.length - 1] && (brackets.pop(), 0 === brackets.length && (bracket = null));
|
|
token = this.tokenizer.nextToken()
|
|
}
|
|
if (this.tokenizer.endOfFile() && (end = !0), brackets.length > 0 && this.unclosedBracket(bracket), end && colon) {
|
|
if (!customProperty)
|
|
for (; tokens.length && (token = tokens[tokens.length - 1][0], "space" === token || "comment" === token);) this.tokenizer.back(tokens.pop());
|
|
this.decl(tokens, customProperty)
|
|
} else this.unknownWord(tokens)
|
|
}
|
|
parse() {
|
|
let token;
|
|
for (; !this.tokenizer.endOfFile();) switch (token = this.tokenizer.nextToken(), token[0]) {
|
|
case "space":
|
|
this.spaces += token[1];
|
|
break;
|
|
case ";":
|
|
this.freeSemicolon(token);
|
|
break;
|
|
case "}":
|
|
this.end(token);
|
|
break;
|
|
case "comment":
|
|
this.comment(token);
|
|
break;
|
|
case "at-word":
|
|
this.atrule(token);
|
|
break;
|
|
case "{":
|
|
this.emptyRule(token);
|
|
break;
|
|
default:
|
|
this.other(token)
|
|
}
|
|
this.endFile()
|
|
}
|
|
precheckMissedSemicolon() {}
|
|
raw(node, prop, tokens, customProperty) {
|
|
let token, type, next, prev, length = tokens.length,
|
|
value = "",
|
|
clean = !0;
|
|
for (let i = 0; i < length; i += 1) token = tokens[i], type = token[0], "space" !== type || i !== length - 1 || customProperty ? "comment" === type ? (prev = tokens[i - 1] ? tokens[i - 1][0] : "empty", next = tokens[i + 1] ? tokens[i + 1][0] : "empty", SAFE_COMMENT_NEIGHBOR[prev] || SAFE_COMMENT_NEIGHBOR[next] || "," === value.slice(-1) ? clean = !1 : value += token[1]) : value += token[1] : clean = !1;
|
|
if (!clean) {
|
|
let raw = tokens.reduce((all, i) => all + i[1], "");
|
|
node.raws[prop] = {
|
|
raw,
|
|
value
|
|
}
|
|
}
|
|
node[prop] = value
|
|
}
|
|
rule(tokens) {
|
|
tokens.pop();
|
|
let node = new Rule;
|
|
this.init(node, tokens[0][2]), node.raws.between = this.spacesAndCommentsFromEnd(tokens), this.raw(node, "selector", tokens), this.current = node
|
|
}
|
|
spacesAndCommentsFromEnd(tokens) {
|
|
let lastTokenType, spaces = "";
|
|
for (; tokens.length && (lastTokenType = tokens[tokens.length - 1][0], "space" === lastTokenType || "comment" === lastTokenType);) spaces = tokens.pop()[1] + spaces;
|
|
return spaces
|
|
}
|
|
spacesAndCommentsFromStart(tokens) {
|
|
let next, spaces = "";
|
|
for (; tokens.length && (next = tokens[0][0], "space" === next || "comment" === next);) spaces += tokens.shift()[1];
|
|
return spaces
|
|
}
|
|
spacesFromEnd(tokens) {
|
|
let lastTokenType, spaces = "";
|
|
for (; tokens.length && (lastTokenType = tokens[tokens.length - 1][0], "space" === lastTokenType);) spaces = tokens.pop()[1] + spaces;
|
|
return spaces
|
|
}
|
|
stringFrom(tokens, from) {
|
|
let result = "";
|
|
for (let i = from; i < tokens.length; i++) result += tokens[i][1];
|
|
return tokens.splice(from, tokens.length - from), result
|
|
}
|
|
unclosedBlock() {
|
|
let pos = this.current.source.start;
|
|
throw this.input.error("Unclosed block", pos.line, pos.column)
|
|
}
|
|
unclosedBracket(bracket) {
|
|
throw this.input.error("Unclosed bracket", {
|
|
offset: bracket[2]
|
|
}, {
|
|
offset: bracket[2] + 1
|
|
})
|
|
}
|
|
unexpectedClose(token) {
|
|
throw this.input.error("Unexpected }", {
|
|
offset: token[2]
|
|
}, {
|
|
offset: token[2] + 1
|
|
})
|
|
}
|
|
unknownWord(tokens) {
|
|
throw this.input.error("Unknown word " + tokens[0][1], {
|
|
offset: tokens[0][2]
|
|
}, {
|
|
offset: tokens[0][2] + tokens[0][1].length
|
|
})
|
|
}
|
|
unnamedAtrule(node, token) {
|
|
throw this.input.error("At-rule without name", {
|
|
offset: token[2]
|
|
}, {
|
|
offset: token[2] + token[1].length
|
|
})
|
|
}
|
|
}
|
|
},
|
|
38541: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
const {
|
|
DOCUMENT_MODE
|
|
} = __webpack_require__(53530), QUIRKS_MODE_PUBLIC_ID_PREFIXES = ["+//silmaril//dtd html pro v0r11 19970101//", "-//as//dtd html 3.0 aswedit + extensions//", "-//advasoft ltd//dtd html 3.0 aswedit + extensions//", "-//ietf//dtd html 2.0 level 1//", "-//ietf//dtd html 2.0 level 2//", "-//ietf//dtd html 2.0 strict level 1//", "-//ietf//dtd html 2.0 strict level 2//", "-//ietf//dtd html 2.0 strict//", "-//ietf//dtd html 2.0//", "-//ietf//dtd html 2.1e//", "-//ietf//dtd html 3.0//", "-//ietf//dtd html 3.2 final//", "-//ietf//dtd html 3.2//", "-//ietf//dtd html 3//", "-//ietf//dtd html level 0//", "-//ietf//dtd html level 1//", "-//ietf//dtd html level 2//", "-//ietf//dtd html level 3//", "-//ietf//dtd html strict level 0//", "-//ietf//dtd html strict level 1//", "-//ietf//dtd html strict level 2//", "-//ietf//dtd html strict level 3//", "-//ietf//dtd html strict//", "-//ietf//dtd html//", "-//metrius//dtd metrius presentational//", "-//microsoft//dtd internet explorer 2.0 html strict//", "-//microsoft//dtd internet explorer 2.0 html//", "-//microsoft//dtd internet explorer 2.0 tables//", "-//microsoft//dtd internet explorer 3.0 html strict//", "-//microsoft//dtd internet explorer 3.0 html//", "-//microsoft//dtd internet explorer 3.0 tables//", "-//netscape comm. corp.//dtd html//", "-//netscape comm. corp.//dtd strict html//", "-//o'reilly and associates//dtd html 2.0//", "-//o'reilly and associates//dtd html extended 1.0//", "-//o'reilly and associates//dtd html extended relaxed 1.0//", "-//sq//dtd html 2.0 hotmetal + extensions//", "-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//", "-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//", "-//spyglass//dtd html 2.0 extended//", "-//sun microsystems corp.//dtd hotjava html//", "-//sun microsystems corp.//dtd hotjava strict html//", "-//w3c//dtd html 3 1995-03-24//", "-//w3c//dtd html 3.2 draft//", "-//w3c//dtd html 3.2 final//", "-//w3c//dtd html 3.2//", "-//w3c//dtd html 3.2s draft//", "-//w3c//dtd html 4.0 frameset//", "-//w3c//dtd html 4.0 transitional//", "-//w3c//dtd html experimental 19960712//", "-//w3c//dtd html experimental 970421//", "-//w3c//dtd w3 html//", "-//w3o//dtd w3 html 3.0//", "-//webtechs//dtd mozilla html 2.0//", "-//webtechs//dtd mozilla html//"], QUIRKS_MODE_NO_SYSTEM_ID_PUBLIC_ID_PREFIXES = QUIRKS_MODE_PUBLIC_ID_PREFIXES.concat(["-//w3c//dtd html 4.01 frameset//", "-//w3c//dtd html 4.01 transitional//"]), QUIRKS_MODE_PUBLIC_IDS = ["-//w3o//dtd w3 html strict 3.0//en//", "-/w3c/dtd html 4.0 transitional/en", "html"], LIMITED_QUIRKS_PUBLIC_ID_PREFIXES = ["-//w3c//dtd xhtml 1.0 frameset//", "-//w3c//dtd xhtml 1.0 transitional//"], LIMITED_QUIRKS_WITH_SYSTEM_ID_PUBLIC_ID_PREFIXES = LIMITED_QUIRKS_PUBLIC_ID_PREFIXES.concat(["-//w3c//dtd html 4.01 frameset//", "-//w3c//dtd html 4.01 transitional//"]);
|
|
|
|
function enquoteDoctypeId(id) {
|
|
const quote = -1 !== id.indexOf('"') ? "'" : '"';
|
|
return quote + id + quote
|
|
}
|
|
|
|
function hasPrefix(publicId, prefixes) {
|
|
for (let i = 0; i < prefixes.length; i++)
|
|
if (0 === publicId.indexOf(prefixes[i])) return !0;
|
|
return !1
|
|
}
|
|
exports.isConforming = function(token) {
|
|
return "html" === token.name && null === token.publicId && (null === token.systemId || "about:legacy-compat" === token.systemId)
|
|
}, exports.getDocumentMode = function(token) {
|
|
if ("html" !== token.name) return DOCUMENT_MODE.QUIRKS;
|
|
const systemId = token.systemId;
|
|
if (systemId && "http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd" === systemId.toLowerCase()) return DOCUMENT_MODE.QUIRKS;
|
|
let publicId = token.publicId;
|
|
if (null !== publicId) {
|
|
if (publicId = publicId.toLowerCase(), QUIRKS_MODE_PUBLIC_IDS.indexOf(publicId) > -1) return DOCUMENT_MODE.QUIRKS;
|
|
let prefixes = null === systemId ? QUIRKS_MODE_NO_SYSTEM_ID_PUBLIC_ID_PREFIXES : QUIRKS_MODE_PUBLIC_ID_PREFIXES;
|
|
if (hasPrefix(publicId, prefixes)) return DOCUMENT_MODE.QUIRKS;
|
|
if (prefixes = null === systemId ? LIMITED_QUIRKS_PUBLIC_ID_PREFIXES : LIMITED_QUIRKS_WITH_SYSTEM_ID_PUBLIC_ID_PREFIXES, hasPrefix(publicId, prefixes)) return DOCUMENT_MODE.LIMITED_QUIRKS
|
|
}
|
|
return DOCUMENT_MODE.NO_QUIRKS
|
|
}, exports.serializeContent = function(name, publicId, systemId) {
|
|
let str = "!DOCTYPE ";
|
|
return name && (str += name), publicId ? str += " PUBLIC " + enquoteDoctypeId(publicId) : systemId && (str += " SYSTEM"), null !== systemId && (str += " " + enquoteDoctypeId(systemId)), str
|
|
}
|
|
},
|
|
38801: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var process = __webpack_require__(74620);
|
|
let AtRule = __webpack_require__(45822),
|
|
Comment = __webpack_require__(10861),
|
|
Container = __webpack_require__(171),
|
|
CssSyntaxError = __webpack_require__(89588),
|
|
Declaration = __webpack_require__(20972),
|
|
Document = __webpack_require__(54399),
|
|
fromJSON = __webpack_require__(39180),
|
|
Input = __webpack_require__(66260),
|
|
LazyResult = __webpack_require__(18368),
|
|
list = __webpack_require__(90510),
|
|
Node = __webpack_require__(834),
|
|
parse = __webpack_require__(86999),
|
|
Processor = __webpack_require__(83336),
|
|
Result = __webpack_require__(69487),
|
|
Root = __webpack_require__(97914),
|
|
Rule = __webpack_require__(90732),
|
|
stringify = __webpack_require__(38137),
|
|
Warning = __webpack_require__(61504);
|
|
|
|
function postcss(...plugins) {
|
|
return 1 === plugins.length && Array.isArray(plugins[0]) && (plugins = plugins[0]), new Processor(plugins)
|
|
}
|
|
postcss.plugin = function(name, initializer) {
|
|
let cache, warningPrinted = !1;
|
|
|
|
function creator(...args) {
|
|
console && console.warn && !warningPrinted && (warningPrinted = !0, console.warn(name + ": postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration"), process.env.LANG && process.env.LANG.startsWith("cn") && console.warn(name + ": \u91cc\u9762 postcss.plugin \u88ab\u5f03\u7528. \u8fc1\u79fb\u6307\u5357:\nhttps://www.w3ctech.com/topic/2226"));
|
|
let transformer = initializer(...args);
|
|
return transformer.postcssPlugin = name, transformer.postcssVersion = (new Processor).version, transformer
|
|
}
|
|
return Object.defineProperty(creator, "postcss", {
|
|
get: () => (cache || (cache = creator()), cache)
|
|
}), creator.process = function(css, processOpts, pluginOpts) {
|
|
return postcss([creator(pluginOpts)]).process(css, processOpts)
|
|
}, creator
|
|
}, postcss.stringify = stringify, postcss.parse = parse, postcss.fromJSON = fromJSON, postcss.list = list, postcss.comment = defaults => new Comment(defaults), postcss.atRule = defaults => new AtRule(defaults), postcss.decl = defaults => new Declaration(defaults), postcss.rule = defaults => new Rule(defaults), postcss.root = defaults => new Root(defaults), postcss.document = defaults => new Document(defaults), postcss.CssSyntaxError = CssSyntaxError, postcss.Declaration = Declaration, postcss.Container = Container, postcss.Processor = Processor, postcss.Document = Document, postcss.Comment = Comment, postcss.Warning = Warning, postcss.AtRule = AtRule, postcss.Result = Result, postcss.Input = Input, postcss.Rule = Rule, postcss.Root = Root, postcss.Node = Node, LazyResult.registerPostcss(postcss), module.exports = postcss, postcss.default = postcss
|
|
},
|
|
38880: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
const state = this.stateStack[this.stateStack.length - 1],
|
|
node = state.node;
|
|
if (state.doneObject_)
|
|
if (state.doneProperty_)
|
|
if (this.stateStack.pop(), state.components) this.stateStack[this.stateStack.length - 1].value = [state.object_, state.value];
|
|
else {
|
|
const value = this.getProperty(state.object_, state.value);
|
|
if (!value) return this.stateStack.push({}), void this.throwException(this.TYPE_ERROR, `Cannot read property '${state.value}' of ${state.object_.toString()}`);
|
|
value.isGetter ? (value.isGetter = !1, this.pushGetter(value, state.object_)) : this.stateStack[this.stateStack.length - 1].value = value
|
|
}
|
|
else state.doneProperty_ = !0, state.object_ = state.value, this.stateStack.push({
|
|
node: node.property,
|
|
components: !node.computed
|
|
});
|
|
else state.doneObject_ = !0, this.stateStack.push({
|
|
node: node.object
|
|
})
|
|
}, module.exports = exports.default
|
|
},
|
|
38976: function(module) {
|
|
module.exports = function() {
|
|
"use strict";
|
|
var t = "minute",
|
|
i = /[+-]\d\d(?::?\d\d)?/g,
|
|
e = /([+-]|\d\d)/g;
|
|
return function(s, f, n) {
|
|
var u = f.prototype;
|
|
n.utc = function(t) {
|
|
return new f({
|
|
date: t,
|
|
utc: !0,
|
|
args: arguments
|
|
})
|
|
}, u.utc = function(i) {
|
|
var e = n(this.toDate(), {
|
|
locale: this.$L,
|
|
utc: !0
|
|
});
|
|
return i ? e.add(this.utcOffset(), t) : e
|
|
}, u.local = function() {
|
|
return n(this.toDate(), {
|
|
locale: this.$L,
|
|
utc: !1
|
|
})
|
|
};
|
|
var o = u.parse;
|
|
u.parse = function(t) {
|
|
t.utc && (this.$u = !0), this.$utils().u(t.$offset) || (this.$offset = t.$offset), o.call(this, t)
|
|
};
|
|
var r = u.init;
|
|
u.init = function() {
|
|
if (this.$u) {
|
|
var t = this.$d;
|
|
this.$y = t.getUTCFullYear(), this.$M = t.getUTCMonth(), this.$D = t.getUTCDate(), this.$W = t.getUTCDay(), this.$H = t.getUTCHours(), this.$m = t.getUTCMinutes(), this.$s = t.getUTCSeconds(), this.$ms = t.getUTCMilliseconds()
|
|
} else r.call(this)
|
|
};
|
|
var a = u.utcOffset;
|
|
u.utcOffset = function(s, f) {
|
|
var n = this.$utils().u;
|
|
if (n(s)) return this.$u ? 0 : n(this.$offset) ? a.call(this) : this.$offset;
|
|
if ("string" == typeof s && (s = function(t) {
|
|
void 0 === t && (t = "");
|
|
var s = t.match(i);
|
|
if (!s) return null;
|
|
var f = ("" + s[0]).match(e) || ["-", 0, 0],
|
|
n = f[0],
|
|
u = 60 * +f[1] + +f[2];
|
|
return 0 === u ? 0 : "+" === n ? u : -u
|
|
}(s), null === s)) return this;
|
|
var u = Math.abs(s) <= 16 ? 60 * s : s,
|
|
o = this;
|
|
if (f) return o.$offset = u, o.$u = 0 === s, o;
|
|
if (0 !== s) {
|
|
var r = this.$u ? this.toDate().getTimezoneOffset() : -1 * this.utcOffset();
|
|
(o = this.local().add(u + r, t)).$offset = u, o.$x.$localOffset = r
|
|
} else o = this.utc();
|
|
return o
|
|
};
|
|
var h = u.format;
|
|
u.format = function(t) {
|
|
var i = t || (this.$u ? "YYYY-MM-DDTHH:mm:ss[Z]" : "");
|
|
return h.call(this, i)
|
|
}, u.valueOf = function() {
|
|
var t = this.$utils().u(this.$offset) ? 0 : this.$offset + (this.$x.$localOffset || this.$d.getTimezoneOffset());
|
|
return this.$d.valueOf() - 6e4 * t
|
|
}, u.isUTC = function() {
|
|
return !!this.$u
|
|
}, u.toISOString = function() {
|
|
return this.toDate().toISOString()
|
|
}, u.toString = function() {
|
|
return this.toDate().toUTCString()
|
|
};
|
|
var l = u.toDate;
|
|
u.toDate = function(t) {
|
|
return "s" === t && this.$offset ? n(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate() : l.call(this)
|
|
};
|
|
var c = u.diff;
|
|
u.diff = function(t, i, e) {
|
|
if (t && this.$u === t.$u) return c.call(this, t, i, e);
|
|
var s = this.local(),
|
|
f = n(t).local();
|
|
return c.call(s, f, i, e)
|
|
}
|
|
}
|
|
}()
|
|
},
|
|
39180: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
let AtRule = __webpack_require__(45822),
|
|
Comment = __webpack_require__(10861),
|
|
Declaration = __webpack_require__(20972),
|
|
Input = __webpack_require__(66260),
|
|
PreviousMap = __webpack_require__(52208),
|
|
Root = __webpack_require__(97914),
|
|
Rule = __webpack_require__(90732);
|
|
|
|
function fromJSON(json, inputs) {
|
|
if (Array.isArray(json)) return json.map(n => fromJSON(n));
|
|
let {
|
|
inputs: ownInputs,
|
|
...defaults
|
|
} = json;
|
|
if (ownInputs) {
|
|
inputs = [];
|
|
for (let input of ownInputs) {
|
|
let inputHydrated = {
|
|
...input,
|
|
__proto__: Input.prototype
|
|
};
|
|
inputHydrated.map && (inputHydrated.map = {
|
|
...inputHydrated.map,
|
|
__proto__: PreviousMap.prototype
|
|
}), inputs.push(inputHydrated)
|
|
}
|
|
}
|
|
if (defaults.nodes && (defaults.nodes = json.nodes.map(n => fromJSON(n, inputs))), defaults.source) {
|
|
let {
|
|
inputId,
|
|
...source
|
|
} = defaults.source;
|
|
defaults.source = source, null != inputId && (defaults.source.input = inputs[inputId])
|
|
}
|
|
if ("root" === defaults.type) return new Root(defaults);
|
|
if ("decl" === defaults.type) return new Declaration(defaults);
|
|
if ("rule" === defaults.type) return new Rule(defaults);
|
|
if ("comment" === defaults.type) return new Comment(defaults);
|
|
if ("atrule" === defaults.type) return new AtRule(defaults);
|
|
throw new Error("Unknown node type: " + json.type)
|
|
}
|
|
module.exports = fromJSON, fromJSON.default = fromJSON
|
|
},
|
|
39304: module => {
|
|
"use strict";
|
|
|
|
function gen(node) {
|
|
return node ? generator[node.type](node) : ""
|
|
}
|
|
var generator = {
|
|
RegExp: function(node) {
|
|
return "/" + gen(node.body) + "/" + node.flags
|
|
},
|
|
Alternative: function(node) {
|
|
return (node.expressions || []).map(gen).join("")
|
|
},
|
|
Disjunction: function(node) {
|
|
return gen(node.left) + "|" + gen(node.right)
|
|
},
|
|
Group: function(node) {
|
|
var expression = gen(node.expression);
|
|
return node.capturing ? node.name ? "(?<" + (node.nameRaw || node.name) + ">" + expression + ")" : "(" + expression + ")" : "(?:" + expression + ")"
|
|
},
|
|
Backreference: function(node) {
|
|
switch (node.kind) {
|
|
case "number":
|
|
return "\\" + node.reference;
|
|
case "name":
|
|
return "\\k<" + (node.referenceRaw || node.reference) + ">";
|
|
default:
|
|
throw new TypeError("Unknown Backreference kind: " + node.kind)
|
|
}
|
|
},
|
|
Assertion: function(node) {
|
|
switch (node.kind) {
|
|
case "^":
|
|
case "$":
|
|
case "\\b":
|
|
case "\\B":
|
|
return node.kind;
|
|
case "Lookahead":
|
|
var assertion = gen(node.assertion);
|
|
return node.negative ? "(?!" + assertion + ")" : "(?=" + assertion + ")";
|
|
case "Lookbehind":
|
|
var _assertion = gen(node.assertion);
|
|
return node.negative ? "(?<!" + _assertion + ")" : "(?<=" + _assertion + ")";
|
|
default:
|
|
throw new TypeError("Unknown Assertion kind: " + node.kind)
|
|
}
|
|
},
|
|
CharacterClass: function(node) {
|
|
var expressions = node.expressions.map(gen).join("");
|
|
return node.negative ? "[^" + expressions + "]" : "[" + expressions + "]"
|
|
},
|
|
ClassRange: function(node) {
|
|
return gen(node.from) + "-" + gen(node.to)
|
|
},
|
|
Repetition: function(node) {
|
|
return "" + gen(node.expression) + gen(node.quantifier)
|
|
},
|
|
Quantifier: function(node) {
|
|
var quantifier = void 0,
|
|
greedy = node.greedy ? "" : "?";
|
|
switch (node.kind) {
|
|
case "+":
|
|
case "?":
|
|
case "*":
|
|
quantifier = node.kind;
|
|
break;
|
|
case "Range":
|
|
quantifier = node.from === node.to ? "{" + node.from + "}" : node.to ? "{" + node.from + "," + node.to + "}" : "{" + node.from + ",}";
|
|
break;
|
|
default:
|
|
throw new TypeError("Unknown Quantifier kind: " + node.kind)
|
|
}
|
|
return "" + quantifier + greedy
|
|
},
|
|
Char: function(node) {
|
|
var value = node.value;
|
|
switch (node.kind) {
|
|
case "simple":
|
|
return node.escaped ? "\\" + value : value;
|
|
case "hex":
|
|
case "unicode":
|
|
case "oct":
|
|
case "decimal":
|
|
case "control":
|
|
case "meta":
|
|
return value;
|
|
default:
|
|
throw new TypeError("Unknown Char kind: " + node.kind)
|
|
}
|
|
},
|
|
UnicodeProperty: function(node) {
|
|
return "\\" + (node.negative ? "P" : "p") + "{" + (node.shorthand || node.binary ? "" : node.name + "=") + node.value + "}"
|
|
}
|
|
};
|
|
module.exports = {
|
|
generate: gen
|
|
}
|
|
},
|
|
39538: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var compatTranspiler = __webpack_require__(48432),
|
|
generator = __webpack_require__(39304),
|
|
optimizer = __webpack_require__(54054),
|
|
parser = __webpack_require__(6692),
|
|
_transform = __webpack_require__(60261),
|
|
_traverse = __webpack_require__(9033),
|
|
fa = __webpack_require__(49932),
|
|
RegExpTree = __webpack_require__(16343).RegExpTree,
|
|
regexpTree = {
|
|
parser,
|
|
fa,
|
|
TransformResult: _transform.TransformResult,
|
|
parse: function(regexp, options) {
|
|
return parser.parse("" + regexp, options)
|
|
},
|
|
traverse: function(ast, handlers, options) {
|
|
return _traverse.traverse(ast, handlers, options)
|
|
},
|
|
transform: function(regexp, handlers) {
|
|
return _transform.transform(regexp, handlers)
|
|
},
|
|
generate: function(ast) {
|
|
return generator.generate(ast)
|
|
},
|
|
toRegExp: function(regexp) {
|
|
var compat = this.compatTranspile(regexp);
|
|
return new RegExp(compat.getSource(), compat.getFlags())
|
|
},
|
|
optimize: function(regexp, whitelist) {
|
|
var blacklist = (arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}).blacklist;
|
|
return optimizer.optimize(regexp, {
|
|
whitelist,
|
|
blacklist
|
|
})
|
|
},
|
|
compatTranspile: function(regexp, whitelist) {
|
|
return compatTranspiler.transform(regexp, whitelist)
|
|
},
|
|
exec: function(re, string) {
|
|
if ("string" == typeof re) {
|
|
var compat = this.compatTranspile(re),
|
|
extra = compat.getExtra();
|
|
re = extra.namedCapturingGroups ? new RegExpTree(compat.toRegExp(), {
|
|
flags: compat.getFlags(),
|
|
source: compat.getSource(),
|
|
groups: extra.namedCapturingGroups
|
|
}) : compat.toRegExp()
|
|
}
|
|
return re.exec(string)
|
|
}
|
|
};
|
|
module.exports = regexpTree
|
|
},
|
|
39726: function(module, exports, __webpack_require__) {
|
|
var CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), __webpack_require__(10608), __webpack_require__(65554), __webpack_require__(34120), __webpack_require__(74047), function() {
|
|
var C = CryptoJS,
|
|
BlockCipher = C.lib.BlockCipher,
|
|
C_algo = C.algo;
|
|
const N = 16,
|
|
ORIG_P = [608135816, 2242054355, 320440878, 57701188, 2752067618, 698298832, 137296536, 3964562569, 1160258022, 953160567, 3193202383, 887688300, 3232508343, 3380367581, 1065670069, 3041331479, 2450970073, 2306472731],
|
|
ORIG_S = [
|
|
[3509652390, 2564797868, 805139163, 3491422135, 3101798381, 1780907670, 3128725573, 4046225305, 614570311, 3012652279, 134345442, 2240740374, 1667834072, 1901547113, 2757295779, 4103290238, 227898511, 1921955416, 1904987480, 2182433518, 2069144605, 3260701109, 2620446009, 720527379, 3318853667, 677414384, 3393288472, 3101374703, 2390351024, 1614419982, 1822297739, 2954791486, 3608508353, 3174124327, 2024746970, 1432378464, 3864339955, 2857741204, 1464375394, 1676153920, 1439316330, 715854006, 3033291828, 289532110, 2706671279, 2087905683, 3018724369, 1668267050, 732546397, 1947742710, 3462151702, 2609353502, 2950085171, 1814351708, 2050118529, 680887927, 999245976, 1800124847, 3300911131, 1713906067, 1641548236, 4213287313, 1216130144, 1575780402, 4018429277, 3917837745, 3693486850, 3949271944, 596196993, 3549867205, 258830323, 2213823033, 772490370, 2760122372, 1774776394, 2652871518, 566650946, 4142492826, 1728879713, 2882767088, 1783734482, 3629395816, 2517608232, 2874225571, 1861159788, 326777828, 3124490320, 2130389656, 2716951837, 967770486, 1724537150, 2185432712, 2364442137, 1164943284, 2105845187, 998989502, 3765401048, 2244026483, 1075463327, 1455516326, 1322494562, 910128902, 469688178, 1117454909, 936433444, 3490320968, 3675253459, 1240580251, 122909385, 2157517691, 634681816, 4142456567, 3825094682, 3061402683, 2540495037, 79693498, 3249098678, 1084186820, 1583128258, 426386531, 1761308591, 1047286709, 322548459, 995290223, 1845252383, 2603652396, 3431023940, 2942221577, 3202600964, 3727903485, 1712269319, 422464435, 3234572375, 1170764815, 3523960633, 3117677531, 1434042557, 442511882, 3600875718, 1076654713, 1738483198, 4213154764, 2393238008, 3677496056, 1014306527, 4251020053, 793779912, 2902807211, 842905082, 4246964064, 1395751752, 1040244610, 2656851899, 3396308128, 445077038, 3742853595, 3577915638, 679411651, 2892444358, 2354009459, 1767581616, 3150600392, 3791627101, 3102740896, 284835224, 4246832056, 1258075500, 768725851, 2589189241, 3069724005, 3532540348, 1274779536, 3789419226, 2764799539, 1660621633, 3471099624, 4011903706, 913787905, 3497959166, 737222580, 2514213453, 2928710040, 3937242737, 1804850592, 3499020752, 2949064160, 2386320175, 2390070455, 2415321851, 4061277028, 2290661394, 2416832540, 1336762016, 1754252060, 3520065937, 3014181293, 791618072, 3188594551, 3933548030, 2332172193, 3852520463, 3043980520, 413987798, 3465142937, 3030929376, 4245938359, 2093235073, 3534596313, 375366246, 2157278981, 2479649556, 555357303, 3870105701, 2008414854, 3344188149, 4221384143, 3956125452, 2067696032, 3594591187, 2921233993, 2428461, 544322398, 577241275, 1471733935, 610547355, 4027169054, 1432588573, 1507829418, 2025931657, 3646575487, 545086370, 48609733, 2200306550, 1653985193, 298326376, 1316178497, 3007786442, 2064951626, 458293330, 2589141269, 3591329599, 3164325604, 727753846, 2179363840, 146436021, 1461446943, 4069977195, 705550613, 3059967265, 3887724982, 4281599278, 3313849956, 1404054877, 2845806497, 146425753, 1854211946],
|
|
[1266315497, 3048417604, 3681880366, 3289982499, 290971e4, 1235738493, 2632868024, 2414719590, 3970600049, 1771706367, 1449415276, 3266420449, 422970021, 1963543593, 2690192192, 3826793022, 1062508698, 1531092325, 1804592342, 2583117782, 2714934279, 4024971509, 1294809318, 4028980673, 1289560198, 2221992742, 1669523910, 35572830, 157838143, 1052438473, 1016535060, 1802137761, 1753167236, 1386275462, 3080475397, 2857371447, 1040679964, 2145300060, 2390574316, 1461121720, 2956646967, 4031777805, 4028374788, 33600511, 2920084762, 1018524850, 629373528, 3691585981, 3515945977, 2091462646, 2486323059, 586499841, 988145025, 935516892, 3367335476, 2599673255, 2839830854, 265290510, 3972581182, 2759138881, 3795373465, 1005194799, 847297441, 406762289, 1314163512, 1332590856, 1866599683, 4127851711, 750260880, 613907577, 1450815602, 3165620655, 3734664991, 3650291728, 3012275730, 3704569646, 1427272223, 778793252, 1343938022, 2676280711, 2052605720, 1946737175, 3164576444, 3914038668, 3967478842, 3682934266, 1661551462, 3294938066, 4011595847, 840292616, 3712170807, 616741398, 312560963, 711312465, 1351876610, 322626781, 1910503582, 271666773, 2175563734, 1594956187, 70604529, 3617834859, 1007753275, 1495573769, 4069517037, 2549218298, 2663038764, 504708206, 2263041392, 3941167025, 2249088522, 1514023603, 1998579484, 1312622330, 694541497, 2582060303, 2151582166, 1382467621, 776784248, 2618340202, 3323268794, 2497899128, 2784771155, 503983604, 4076293799, 907881277, 423175695, 432175456, 1378068232, 4145222326, 3954048622, 3938656102, 3820766613, 2793130115, 2977904593, 26017576, 3274890735, 3194772133, 1700274565, 1756076034, 4006520079, 3677328699, 720338349, 1533947780, 354530856, 688349552, 3973924725, 1637815568, 332179504, 3949051286, 53804574, 2852348879, 3044236432, 1282449977, 3583942155, 3416972820, 4006381244, 1617046695, 2628476075, 3002303598, 1686838959, 431878346, 2686675385, 1700445008, 1080580658, 1009431731, 832498133, 3223435511, 2605976345, 2271191193, 2516031870, 1648197032, 4164389018, 2548247927, 300782431, 375919233, 238389289, 3353747414, 2531188641, 2019080857, 1475708069, 455242339, 2609103871, 448939670, 3451063019, 1395535956, 2413381860, 1841049896, 1491858159, 885456874, 4264095073, 4001119347, 1565136089, 3898914787, 1108368660, 540939232, 1173283510, 2745871338, 3681308437, 4207628240, 3343053890, 4016749493, 1699691293, 1103962373, 3625875870, 2256883143, 3830138730, 1031889488, 3479347698, 1535977030, 4236805024, 3251091107, 2132092099, 1774941330, 1199868427, 1452454533, 157007616, 2904115357, 342012276, 595725824, 1480756522, 206960106, 497939518, 591360097, 863170706, 2375253569, 3596610801, 1814182875, 2094937945, 3421402208, 1082520231, 3463918190, 2785509508, 435703966, 3908032597, 1641649973, 2842273706, 3305899714, 1510255612, 2148256476, 2655287854, 3276092548, 4258621189, 236887753, 3681803219, 274041037, 1734335097, 3815195456, 3317970021, 1899903192, 1026095262, 4050517792, 356393447, 2410691914, 3873677099, 3682840055],
|
|
[3913112168, 2491498743, 4132185628, 2489919796, 1091903735, 1979897079, 3170134830, 3567386728, 3557303409, 857797738, 1136121015, 1342202287, 507115054, 2535736646, 337727348, 3213592640, 1301675037, 2528481711, 1895095763, 1721773893, 3216771564, 62756741, 2142006736, 835421444, 2531993523, 1442658625, 3659876326, 2882144922, 676362277, 1392781812, 170690266, 3921047035, 1759253602, 3611846912, 1745797284, 664899054, 1329594018, 3901205900, 3045908486, 2062866102, 2865634940, 3543621612, 3464012697, 1080764994, 553557557, 3656615353, 3996768171, 991055499, 499776247, 1265440854, 648242737, 3940784050, 980351604, 3713745714, 1749149687, 3396870395, 4211799374, 3640570775, 1161844396, 3125318951, 1431517754, 545492359, 4268468663, 3499529547, 1437099964, 2702547544, 3433638243, 2581715763, 2787789398, 1060185593, 1593081372, 2418618748, 4260947970, 69676912, 2159744348, 86519011, 2512459080, 3838209314, 1220612927, 3339683548, 133810670, 1090789135, 1078426020, 1569222167, 845107691, 3583754449, 4072456591, 1091646820, 628848692, 1613405280, 3757631651, 526609435, 236106946, 48312990, 2942717905, 3402727701, 1797494240, 859738849, 992217954, 4005476642, 2243076622, 3870952857, 3732016268, 765654824, 3490871365, 2511836413, 1685915746, 3888969200, 1414112111, 2273134842, 3281911079, 4080962846, 172450625, 2569994100, 980381355, 4109958455, 2819808352, 2716589560, 2568741196, 3681446669, 3329971472, 1835478071, 660984891, 3704678404, 4045999559, 3422617507, 3040415634, 1762651403, 1719377915, 3470491036, 2693910283, 3642056355, 3138596744, 1364962596, 2073328063, 1983633131, 926494387, 3423689081, 2150032023, 4096667949, 1749200295, 3328846651, 309677260, 2016342300, 1779581495, 3079819751, 111262694, 1274766160, 443224088, 298511866, 1025883608, 3806446537, 1145181785, 168956806, 3641502830, 3584813610, 1689216846, 3666258015, 3200248200, 1692713982, 2646376535, 4042768518, 1618508792, 1610833997, 3523052358, 4130873264, 2001055236, 3610705100, 2202168115, 4028541809, 2961195399, 1006657119, 2006996926, 3186142756, 1430667929, 3210227297, 1314452623, 4074634658, 4101304120, 2273951170, 1399257539, 3367210612, 3027628629, 1190975929, 2062231137, 2333990788, 2221543033, 2438960610, 1181637006, 548689776, 2362791313, 3372408396, 3104550113, 3145860560, 296247880, 1970579870, 3078560182, 3769228297, 1714227617, 3291629107, 3898220290, 166772364, 1251581989, 493813264, 448347421, 195405023, 2709975567, 677966185, 3703036547, 1463355134, 2715995803, 1338867538, 1343315457, 2802222074, 2684532164, 233230375, 2599980071, 2000651841, 3277868038, 1638401717, 4028070440, 3237316320, 6314154, 819756386, 300326615, 590932579, 1405279636, 3267499572, 3150704214, 2428286686, 3959192993, 3461946742, 1862657033, 1266418056, 963775037, 2089974820, 2263052895, 1917689273, 448879540, 3550394620, 3981727096, 150775221, 3627908307, 1303187396, 508620638, 2975983352, 2726630617, 1817252668, 1876281319, 1457606340, 908771278, 3720792119, 3617206836, 2455994898, 1729034894, 1080033504],
|
|
[976866871, 3556439503, 2881648439, 1522871579, 1555064734, 1336096578, 3548522304, 2579274686, 3574697629, 3205460757, 3593280638, 3338716283, 3079412587, 564236357, 2993598910, 1781952180, 1464380207, 3163844217, 3332601554, 1699332808, 1393555694, 1183702653, 3581086237, 1288719814, 691649499, 2847557200, 2895455976, 3193889540, 2717570544, 1781354906, 1676643554, 2592534050, 3230253752, 1126444790, 2770207658, 2633158820, 2210423226, 2615765581, 2414155088, 3127139286, 673620729, 2805611233, 1269405062, 4015350505, 3341807571, 4149409754, 1057255273, 2012875353, 2162469141, 2276492801, 2601117357, 993977747, 3918593370, 2654263191, 753973209, 36408145, 2530585658, 25011837, 3520020182, 2088578344, 530523599, 2918365339, 1524020338, 1518925132, 3760827505, 3759777254, 1202760957, 3985898139, 3906192525, 674977740, 4174734889, 2031300136, 2019492241, 3983892565, 4153806404, 3822280332, 352677332, 2297720250, 60907813, 90501309, 3286998549, 1016092578, 2535922412, 2839152426, 457141659, 509813237, 4120667899, 652014361, 1966332200, 2975202805, 55981186, 2327461051, 676427537, 3255491064, 2882294119, 3433927263, 1307055953, 942726286, 933058658, 2468411793, 3933900994, 4215176142, 1361170020, 2001714738, 2830558078, 3274259782, 1222529897, 1679025792, 2729314320, 3714953764, 1770335741, 151462246, 3013232138, 1682292957, 1483529935, 471910574, 1539241949, 458788160, 3436315007, 1807016891, 3718408830, 978976581, 1043663428, 3165965781, 1927990952, 4200891579, 2372276910, 3208408903, 3533431907, 1412390302, 2931980059, 4132332400, 1947078029, 3881505623, 4168226417, 2941484381, 1077988104, 1320477388, 886195818, 18198404, 3786409e3, 2509781533, 112762804, 3463356488, 1866414978, 891333506, 18488651, 661792760, 1628790961, 3885187036, 3141171499, 876946877, 2693282273, 1372485963, 791857591, 2686433993, 3759982718, 3167212022, 3472953795, 2716379847, 445679433, 3561995674, 3504004811, 3574258232, 54117162, 3331405415, 2381918588, 3769707343, 4154350007, 1140177722, 4074052095, 668550556, 3214352940, 367459370, 261225585, 2610173221, 4209349473, 3468074219, 3265815641, 314222801, 3066103646, 3808782860, 282218597, 3406013506, 3773591054, 379116347, 1285071038, 846784868, 2669647154, 3771962079, 3550491691, 2305946142, 453669953, 1268987020, 3317592352, 3279303384, 3744833421, 2610507566, 3859509063, 266596637, 3847019092, 517658769, 3462560207, 3443424879, 370717030, 4247526661, 2224018117, 4143653529, 4112773975, 2788324899, 2477274417, 1456262402, 2901442914, 1517677493, 1846949527, 2295493580, 3734397586, 2176403920, 1280348187, 1908823572, 3871786941, 846861322, 1172426758, 3287448474, 3383383037, 1655181056, 3139813346, 901632758, 1897031941, 2986607138, 3066810236, 3447102507, 1393639104, 373351379, 950779232, 625454576, 3124240540, 4148612726, 2007998917, 544563296, 2244738638, 2330496472, 2058025392, 1291430526, 424198748, 50039436, 29584100, 3605783033, 2429876329, 2791104160, 1057563949, 3255363231, 3075367218, 3463963227, 1469046755, 985887462]
|
|
];
|
|
var BLOWFISH_CTX = {
|
|
pbox: [],
|
|
sbox: []
|
|
};
|
|
|
|
function F(ctx, x) {
|
|
let a = x >> 24 & 255,
|
|
b = x >> 16 & 255,
|
|
c = x >> 8 & 255,
|
|
d = 255 & x,
|
|
y = ctx.sbox[0][a] + ctx.sbox[1][b];
|
|
return y ^= ctx.sbox[2][c], y += ctx.sbox[3][d], y
|
|
}
|
|
|
|
function BlowFish_Encrypt(ctx, left, right) {
|
|
let temp, Xl = left,
|
|
Xr = right;
|
|
for (let i = 0; i < N; ++i) Xl ^= ctx.pbox[i], Xr = F(ctx, Xl) ^ Xr, temp = Xl, Xl = Xr, Xr = temp;
|
|
return temp = Xl, Xl = Xr, Xr = temp, Xr ^= ctx.pbox[N], Xl ^= ctx.pbox[N + 1], {
|
|
left: Xl,
|
|
right: Xr
|
|
}
|
|
}
|
|
|
|
function BlowFish_Decrypt(ctx, left, right) {
|
|
let temp, Xl = left,
|
|
Xr = right;
|
|
for (let i = N + 1; i > 1; --i) Xl ^= ctx.pbox[i], Xr = F(ctx, Xl) ^ Xr, temp = Xl, Xl = Xr, Xr = temp;
|
|
return temp = Xl, Xl = Xr, Xr = temp, Xr ^= ctx.pbox[1], Xl ^= ctx.pbox[0], {
|
|
left: Xl,
|
|
right: Xr
|
|
}
|
|
}
|
|
|
|
function BlowFishInit(ctx, key, keysize) {
|
|
for (let Row = 0; Row < 4; Row++) {
|
|
ctx.sbox[Row] = [];
|
|
for (let Col = 0; Col < 256; Col++) ctx.sbox[Row][Col] = ORIG_S[Row][Col]
|
|
}
|
|
let keyIndex = 0;
|
|
for (let index = 0; index < N + 2; index++) ctx.pbox[index] = ORIG_P[index] ^ key[keyIndex], keyIndex++, keyIndex >= keysize && (keyIndex = 0);
|
|
let Data1 = 0,
|
|
Data2 = 0,
|
|
res = 0;
|
|
for (let i = 0; i < N + 2; i += 2) res = BlowFish_Encrypt(ctx, Data1, Data2), Data1 = res.left, Data2 = res.right, ctx.pbox[i] = Data1, ctx.pbox[i + 1] = Data2;
|
|
for (let i = 0; i < 4; i++)
|
|
for (let j = 0; j < 256; j += 2) res = BlowFish_Encrypt(ctx, Data1, Data2), Data1 = res.left, Data2 = res.right, ctx.sbox[i][j] = Data1, ctx.sbox[i][j + 1] = Data2;
|
|
return !0
|
|
}
|
|
var Blowfish = C_algo.Blowfish = BlockCipher.extend({
|
|
_doReset: function() {
|
|
if (this._keyPriorReset !== this._key) {
|
|
var key = this._keyPriorReset = this._key,
|
|
keyWords = key.words,
|
|
keySize = key.sigBytes / 4;
|
|
BlowFishInit(BLOWFISH_CTX, keyWords, keySize)
|
|
}
|
|
},
|
|
encryptBlock: function(M, offset) {
|
|
var res = BlowFish_Encrypt(BLOWFISH_CTX, M[offset], M[offset + 1]);
|
|
M[offset] = res.left, M[offset + 1] = res.right
|
|
},
|
|
decryptBlock: function(M, offset) {
|
|
var res = BlowFish_Decrypt(BLOWFISH_CTX, M[offset], M[offset + 1]);
|
|
M[offset] = res.left, M[offset + 1] = res.right
|
|
},
|
|
blockSize: 2,
|
|
keySize: 4,
|
|
ivSize: 2
|
|
});
|
|
C.Blowfish = BlockCipher._createHelper(Blowfish)
|
|
}(), CryptoJS.Blowfish)
|
|
},
|
|
39750: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.load = void 0;
|
|
var tslib_1 = __webpack_require__(15146),
|
|
options_1 = tslib_1.__importStar(__webpack_require__(24506)),
|
|
staticMethods = tslib_1.__importStar(__webpack_require__(772)),
|
|
cheerio_1 = __webpack_require__(12329),
|
|
parse_1 = tslib_1.__importDefault(__webpack_require__(68903));
|
|
exports.load = function load(content, options, isDocument) {
|
|
if (null == content) throw new Error("cheerio.load() expects a string");
|
|
options = tslib_1.__assign(tslib_1.__assign({}, options_1.default), options_1.flatten(options)), void 0 === isDocument && (isDocument = !0);
|
|
var root = parse_1.default(content, options, isDocument),
|
|
initialize = function(_super) {
|
|
function initialize(selector, context, r, opts) {
|
|
void 0 === r && (r = root);
|
|
var _this = this;
|
|
return _this instanceof initialize ? _this = _super.call(this, selector, context, r, tslib_1.__assign(tslib_1.__assign({}, options), opts)) || this : new initialize(selector, context, r, opts)
|
|
}
|
|
return tslib_1.__extends(initialize, _super), initialize.fn = initialize.prototype, initialize
|
|
}(cheerio_1.Cheerio);
|
|
return initialize.prototype._originalRoot = root, Object.assign(initialize, staticMethods, {
|
|
load
|
|
}), initialize._root = root, initialize._options = options, initialize
|
|
}
|
|
},
|
|
39895: module => {
|
|
"use strict";
|
|
const SINGLE_QUOTE = "'".charCodeAt(0),
|
|
DOUBLE_QUOTE = '"'.charCodeAt(0),
|
|
BACKSLASH = "\\".charCodeAt(0),
|
|
SLASH = "/".charCodeAt(0),
|
|
NEWLINE = "\n".charCodeAt(0),
|
|
SPACE = " ".charCodeAt(0),
|
|
FEED = "\f".charCodeAt(0),
|
|
TAB = "\t".charCodeAt(0),
|
|
CR = "\r".charCodeAt(0),
|
|
OPEN_SQUARE = "[".charCodeAt(0),
|
|
CLOSE_SQUARE = "]".charCodeAt(0),
|
|
OPEN_PARENTHESES = "(".charCodeAt(0),
|
|
CLOSE_PARENTHESES = ")".charCodeAt(0),
|
|
OPEN_CURLY = "{".charCodeAt(0),
|
|
CLOSE_CURLY = "}".charCodeAt(0),
|
|
SEMICOLON = ";".charCodeAt(0),
|
|
ASTERISK = "*".charCodeAt(0),
|
|
COLON = ":".charCodeAt(0),
|
|
AT = "@".charCodeAt(0),
|
|
RE_AT_END = /[\t\n\f\r "#'()/;[\\\]{}]/g,
|
|
RE_WORD_END = /[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,
|
|
RE_BAD_BRACKET = /.[\r\n"'(/\\]/,
|
|
RE_HEX_ESCAPE = /[\da-f]/i;
|
|
module.exports = function(input, options = {}) {
|
|
let code, content, escape, next, quote, currentToken, escaped, escapePos, n, prev, css = input.css.valueOf(),
|
|
ignore = options.ignoreErrors,
|
|
length = css.length,
|
|
pos = 0,
|
|
buffer = [],
|
|
returned = [];
|
|
|
|
function unclosed(what) {
|
|
throw input.error("Unclosed " + what, pos)
|
|
}
|
|
return {
|
|
back: function(token) {
|
|
returned.push(token)
|
|
},
|
|
endOfFile: function() {
|
|
return 0 === returned.length && pos >= length
|
|
},
|
|
nextToken: function(opts) {
|
|
if (returned.length) return returned.pop();
|
|
if (pos >= length) return;
|
|
let ignoreUnclosed = !!opts && opts.ignoreUnclosed;
|
|
switch (code = css.charCodeAt(pos), code) {
|
|
case NEWLINE:
|
|
case SPACE:
|
|
case TAB:
|
|
case CR:
|
|
case FEED:
|
|
next = pos;
|
|
do {
|
|
next += 1, code = css.charCodeAt(next)
|
|
} while (code === SPACE || code === NEWLINE || code === TAB || code === CR || code === FEED);
|
|
currentToken = ["space", css.slice(pos, next)], pos = next - 1;
|
|
break;
|
|
case OPEN_SQUARE:
|
|
case CLOSE_SQUARE:
|
|
case OPEN_CURLY:
|
|
case CLOSE_CURLY:
|
|
case COLON:
|
|
case SEMICOLON:
|
|
case CLOSE_PARENTHESES: {
|
|
let controlChar = String.fromCharCode(code);
|
|
currentToken = [controlChar, controlChar, pos];
|
|
break
|
|
}
|
|
case OPEN_PARENTHESES:
|
|
if (prev = buffer.length ? buffer.pop()[1] : "", n = css.charCodeAt(pos + 1), "url" === prev && n !== SINGLE_QUOTE && n !== DOUBLE_QUOTE && n !== SPACE && n !== NEWLINE && n !== TAB && n !== FEED && n !== CR) {
|
|
next = pos;
|
|
do {
|
|
if (escaped = !1, next = css.indexOf(")", next + 1), -1 === next) {
|
|
if (ignore || ignoreUnclosed) {
|
|
next = pos;
|
|
break
|
|
}
|
|
unclosed("bracket")
|
|
}
|
|
for (escapePos = next; css.charCodeAt(escapePos - 1) === BACKSLASH;) escapePos -= 1, escaped = !escaped
|
|
} while (escaped);
|
|
currentToken = ["brackets", css.slice(pos, next + 1), pos, next], pos = next
|
|
} else next = css.indexOf(")", pos + 1), content = css.slice(pos, next + 1), -1 === next || RE_BAD_BRACKET.test(content) ? currentToken = ["(", "(", pos] : (currentToken = ["brackets", content, pos, next], pos = next);
|
|
break;
|
|
case SINGLE_QUOTE:
|
|
case DOUBLE_QUOTE:
|
|
quote = code === SINGLE_QUOTE ? "'" : '"', next = pos;
|
|
do {
|
|
if (escaped = !1, next = css.indexOf(quote, next + 1), -1 === next) {
|
|
if (ignore || ignoreUnclosed) {
|
|
next = pos + 1;
|
|
break
|
|
}
|
|
unclosed("string")
|
|
}
|
|
for (escapePos = next; css.charCodeAt(escapePos - 1) === BACKSLASH;) escapePos -= 1, escaped = !escaped
|
|
} while (escaped);
|
|
currentToken = ["string", css.slice(pos, next + 1), pos, next], pos = next;
|
|
break;
|
|
case AT:
|
|
RE_AT_END.lastIndex = pos + 1, RE_AT_END.test(css), next = 0 === RE_AT_END.lastIndex ? css.length - 1 : RE_AT_END.lastIndex - 2, currentToken = ["at-word", css.slice(pos, next + 1), pos, next], pos = next;
|
|
break;
|
|
case BACKSLASH:
|
|
for (next = pos, escape = !0; css.charCodeAt(next + 1) === BACKSLASH;) next += 1, escape = !escape;
|
|
if (code = css.charCodeAt(next + 1), escape && code !== SLASH && code !== SPACE && code !== NEWLINE && code !== TAB && code !== CR && code !== FEED && (next += 1, RE_HEX_ESCAPE.test(css.charAt(next)))) {
|
|
for (; RE_HEX_ESCAPE.test(css.charAt(next + 1));) next += 1;
|
|
css.charCodeAt(next + 1) === SPACE && (next += 1)
|
|
}
|
|
currentToken = ["word", css.slice(pos, next + 1), pos, next], pos = next;
|
|
break;
|
|
default:
|
|
code === SLASH && css.charCodeAt(pos + 1) === ASTERISK ? (next = css.indexOf("*/", pos + 2) + 1, 0 === next && (ignore || ignoreUnclosed ? next = css.length : unclosed("comment")), currentToken = ["comment", css.slice(pos, next + 1), pos, next], pos = next) : (RE_WORD_END.lastIndex = pos + 1, RE_WORD_END.test(css), next = 0 === RE_WORD_END.lastIndex ? css.length - 1 : RE_WORD_END.lastIndex - 2, currentToken = ["word", css.slice(pos, next + 1), pos, next], buffer.push(currentToken), pos = next)
|
|
}
|
|
return pos++, currentToken
|
|
},
|
|
position: function() {
|
|
return pos
|
|
}
|
|
}
|
|
}
|
|
},
|
|
39922: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function({
|
|
alert,
|
|
returnValue
|
|
}) {
|
|
const alertText = alert || "alert";
|
|
let returnVal = "";
|
|
returnVal = "" === returnValue ? "{}" : !0 === returnValue || "true" === returnValue || !1 !== returnValue && "false" !== returnValue && `'${returnValue}'`;
|
|
const script = {
|
|
confirm: `window.confirm = () => ${returnVal};`,
|
|
prompt: `window.prompt = () => ${returnVal};`,
|
|
alert: `window.alert = () => ${returnVal};`
|
|
} [alertText] || null;
|
|
if (!script) return new _mixinResponses.FailedMixinResponse("[blockAlertFn] failed - invalid argument given");
|
|
if (!(0, _sharedFunctions.appendScript)(script)) return new _mixinResponses.FailedMixinResponse("[blockAlertFn] failed - alert could not be blocked");
|
|
return new _mixinResponses.SuccessfulMixinResponse(`Window ${alertText} blocked`)
|
|
};
|
|
var _mixinResponses = __webpack_require__(34522),
|
|
_sharedFunctions = __webpack_require__(8627);
|
|
module.exports = exports.default
|
|
},
|
|
40285: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _vimGenerator = __webpack_require__(47198),
|
|
_integrationRunner = __webpack_require__(17078),
|
|
_corePlugin = _interopRequireDefault(__webpack_require__(76849));
|
|
const getRecipe = new(_interopRequireDefault(__webpack_require__(16299)).default)({
|
|
name: "getRecipe",
|
|
pluginName: "Recipes Plugin",
|
|
description: "Will attempt to fetch a recipe via options and then the api",
|
|
logicFn: async ({
|
|
coreRunner,
|
|
nativeActionRegistry,
|
|
runId
|
|
}) => {
|
|
const {
|
|
storeId,
|
|
platform,
|
|
vimOptions,
|
|
recipe
|
|
} = coreRunner.state.getValues(runId, ["storeId", "platform", "vimOptions", "recipe"]);
|
|
if (recipe) return recipe;
|
|
if (vimOptions && vimOptions.recipeOverride) return vimOptions.recipeOverride;
|
|
const integrationRunner = new _integrationRunner.IntegrationRunner(platform, nativeActionRegistry),
|
|
{
|
|
fetchedRecipe
|
|
} = await integrationRunner.getVimPayload({
|
|
mainVimName: _vimGenerator.VimGenerator.VIMS.HelloWorld,
|
|
storeId,
|
|
options: vimOptions
|
|
});
|
|
return fetchedRecipe
|
|
}
|
|
}),
|
|
RecipesPlugin = new _corePlugin.default({
|
|
name: "Recipes Plugin",
|
|
description: "Actions interacting or fetching the recipe",
|
|
actions: [getRecipe]
|
|
});
|
|
exports.default = RecipesPlugin;
|
|
module.exports = exports.default
|
|
},
|
|
40637: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function({
|
|
selector,
|
|
eventsInOrder
|
|
}) {
|
|
const element = (0, _sharedFunctions.getElement)(selector);
|
|
if (!element) return new _mixinResponses.FailedMixinResponse(`[submitAction] Failed to get element with selector:\n ${selector}`);
|
|
if (eventsInOrder) {
|
|
const bubbleEventsMixinResponse = (0, _bubbleEventsFn.default)({
|
|
inputSelector: selector,
|
|
eventsInOrder
|
|
});
|
|
if ("failed" === bubbleEventsMixinResponse.status) return bubbleEventsMixinResponse
|
|
}
|
|
try {
|
|
element.submit()
|
|
} catch (e) {
|
|
return new _mixinResponses.FailedMixinResponse(`[submitAction] Failed to execute Mixin: ${e}`)
|
|
}
|
|
return new _mixinResponses.SuccessfulMixinResponse("Submit Action finished Successfully", {})
|
|
};
|
|
var _mixinResponses = __webpack_require__(34522),
|
|
_sharedFunctions = __webpack_require__(8627),
|
|
_bubbleEventsFn = _interopRequireDefault(__webpack_require__(60380));
|
|
module.exports = exports.default
|
|
},
|
|
40727: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912)),
|
|
_helpers = _interopRequireDefault(__webpack_require__(16065));
|
|
exports.default = new _dac.default({
|
|
description: "Orbitz Acorns",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
travel: {}
|
|
},
|
|
stores: [{
|
|
id: "7394093903275798384",
|
|
name: "Orbitz"
|
|
}],
|
|
doDac: async function(code, selector, priceAmt, applyBestCode) {
|
|
let tripid, price = priceAmt;
|
|
const pathName = window.location.href;
|
|
try {
|
|
tripid = pathName.match("tripid=([^&]*)")[1]
|
|
} catch (e) {}
|
|
const data = {
|
|
couponCode: code,
|
|
tlCouponCode: code,
|
|
tlCouponAttach: 1,
|
|
tripid,
|
|
binPrefix: ""
|
|
},
|
|
res = await async function() {
|
|
let res;
|
|
return pathName.match("/Hotel") ? (data.oldTripTotal = price, data.oldTripGrandTotal = price, data.productType = "hotel", res = _jquery.default.ajax({
|
|
url: "https://www.orbitz.com/Checkout/applyCoupon",
|
|
method: "POST",
|
|
data
|
|
}), await res.done(_data => {
|
|
_logger.default.debug("Finishing applying code")
|
|
}), [res, "hotel"]) : (data.productType = "multiitem", res = _jquery.default.ajax({
|
|
url: "https://www.orbitz.com/Checkout/applyCoupon",
|
|
method: "POST",
|
|
data
|
|
}), await res.done(_data => {
|
|
_logger.default.debug("Finishing coupon application")
|
|
}), [res, "package"])
|
|
}();
|
|
return function(response, flow) {
|
|
try {
|
|
const res = response.updatedPriceModel;
|
|
"hotel" === flow && res ? res.forEach(key => {
|
|
"total" === key.description && (price = _legacyHoneyUtils.default.cleanPrice(key.value))
|
|
}) : "package" === flow && res ? res.forEach(key => {
|
|
"finalTripTotal" === key.description && (price = _legacyHoneyUtils.default.cleanPrice(key.value))
|
|
}) : price = priceAmt, Number(price) < priceAmt && (0, _jquery.default)(selector).text(_legacyHoneyUtils.default.formatPrice(price))
|
|
} catch (e) {}
|
|
}(res[0], res[1]), !0 === applyBestCode ? (window.location = window.location.href, await (0, _helpers.default)(3e3)) : await async function() {
|
|
data.tlCouponRemove = 1;
|
|
const res = _jquery.default.ajax({
|
|
url: "https://www.orbitz.com/Checkout/removeCoupon",
|
|
method: "POST",
|
|
data
|
|
});
|
|
await res.done(_data => {
|
|
_logger.default.debug("Removing code")
|
|
})
|
|
}(), Number(price)
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
40746: module => {
|
|
"use strict";
|
|
module.exports = JSON.parse('{"name":"PPImage","groups":[],"isRequired":false,"tests":[{"method":"testIfAncestorAttrsContain","options":{"tags":"img","expected":"gallery","generations":"8","matchWeight":"5","unMatchWeight":"1"}},{"method":"testIfAncestorAttrsContain","options":{"tags":"img","expected":"thumbnail","generations":"8","matchWeight":"0.05","unMatchWeight":"1"}},{"method":"testIfAncestorAttrsContain","options":{"tags":"img","expected":"logo","generations":"2","matchWeight":"0","unMatchWeight":"1"}},{"method":"testIfAttrMissing","options":{"tags":"img","expected":"src","matchWeight":"0","unMatchWeight":"1"}}],"preconditions":[],"shape":[{"value":"^(h\\\\d|p|script|span)$","weight":0,"scope":"tag"},{"value":"zoomer","weight":200,"scope":"id"},{"value":"(primary|main)-image","weight":15},{"value":"img","weight":12,"scope":"tag"},{"value":"detail","weight":7,"scope":"src"},{"value":"main","weight":1.5,"scope":"src","_comment":"sephora"},{"value":"zoom","weight":1.5,"scope":"class","_comment":"michaels"},{"value":"zoom","weight":1.5,"scope":"alt","_comment":"finish-line"},{"value":"false","weight":0.1,"scope":"data-honey_is_visible"},{"value":"^$","weight":0,"scope":"src","_comment":"old-navy"},{"value":"akamaihd|enabled|icons|logo|rating","weight":0,"scope":"src"},{"value":"spinner","weight":0,"scope":"alt","_comment":"nordstrom"},{"value":"only","weight":0,"scope":"alt","_comment":"ulta"},{"value":"(hero|landing)image","weight":7},{"value":"viewer","weight":3},{"value":"thumbnail","weight":0.1}]}')
|
|
},
|
|
41061: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.injectCodeFn = function({
|
|
inputSelector
|
|
}) {
|
|
const actualInput = inputSelector && (0, _sharedFunctions.getElement)(inputSelector),
|
|
hiddenInput = (0, _sharedFunctions.getElement)(`#${HIDDEN_INPUT_ID}`);
|
|
if (!actualInput) return new _mixinResponses.FailedMixinResponse(`[injectCode] FAILED: Cannot find inputSelector ${inputSelector}`);
|
|
if (!hiddenInput) return new _mixinResponses.FailedMixinResponse("[injectCode] FAILED: Cannot find hidden input. Use @injectHiddenInput");
|
|
const value = hiddenInput.value;
|
|
return actualInput.value = value, new _mixinResponses.SuccessfulMixinResponse("injectCodeFn code successfully injected", {
|
|
inputSelector,
|
|
value
|
|
})
|
|
}, exports.injectHiddenInputFn = function() {
|
|
let parentDiv = (0, _sharedFunctions.getElement)(`#${HIDDEN_DIV_ID}`);
|
|
if (!parentDiv && (parentDiv = (0, _sharedFunctions.appendHiddenElement)("div", null, {
|
|
id: HIDDEN_DIV_ID
|
|
}, !0).element, !parentDiv)) return new _mixinResponses.FailedMixinResponse("[injectHiddenInput] unable to inject hidden div");
|
|
if (!(0, _sharedFunctions.appendHiddenElement)("input", parentDiv, {
|
|
type: "text",
|
|
id: HIDDEN_INPUT_ID
|
|
}, !0)) return new _mixinResponses.FailedMixinResponse("[injectHiddenInput] unable to inject hidden input");
|
|
return new _mixinResponses.SuccessfulMixinResponse("injected hidden input", null)
|
|
};
|
|
var _mixinResponses = __webpack_require__(34522),
|
|
_sharedFunctions = __webpack_require__(8627);
|
|
const HIDDEN_DIV_ID = "h-o-n-e-y_h-i-d-d-e-n",
|
|
HIDDEN_INPUT_ID = "h-o-n-e-y_h-i-d-d-e-n_i-n-p-u-t"
|
|
},
|
|
41068: module => {
|
|
"use strict";
|
|
module.exports = JSON.parse('{"name":"PPTitle","groups":[],"isRequired":false,"preconditions":[],"shape":[{"value":"title|headline|name","weight":10,"scope":"id"},{"value":"^h1$","weight":6,"scope":"tag"},{"value":"title|headline|name","weight":5,"scope":"class"},{"value":"heading-5","weight":2.5,"scope":"class","_comment":"Best Buy"},{"value":"^h2$","weight":2.5,"scope":"tag"},{"value":"title|headline|name","weight":2,"scope":"data-auto"},{"value":"title|headline|name","weight":2,"scope":"itemprop"},{"value":"copy","weight":0.2},{"value":"false","weight":0.1,"scope":"data-honey_is_visible"},{"value":"ada|nav|policy|promo|sponsored","weight":0,"scope":"id"},{"value":"carousel|contact-us","weight":0},{"value":"v-fw-medium","weight":0,"_comment":"Best Buy"},{"value":"review","weight":0}]}')
|
|
},
|
|
41283: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.uniqueSort = exports.compareDocumentPosition = exports.removeSubsets = void 0;
|
|
var domhandler_1 = __webpack_require__(75243);
|
|
|
|
function compareDocumentPosition(nodeA, nodeB) {
|
|
var aParents = [],
|
|
bParents = [];
|
|
if (nodeA === nodeB) return 0;
|
|
for (var current = (0, domhandler_1.hasChildren)(nodeA) ? nodeA : nodeA.parent; current;) aParents.unshift(current), current = current.parent;
|
|
for (current = (0, domhandler_1.hasChildren)(nodeB) ? nodeB : nodeB.parent; current;) bParents.unshift(current), current = current.parent;
|
|
for (var maxIdx = Math.min(aParents.length, bParents.length), idx = 0; idx < maxIdx && aParents[idx] === bParents[idx];) idx++;
|
|
if (0 === idx) return 1;
|
|
var sharedParent = aParents[idx - 1],
|
|
siblings = sharedParent.children,
|
|
aSibling = aParents[idx],
|
|
bSibling = bParents[idx];
|
|
return siblings.indexOf(aSibling) > siblings.indexOf(bSibling) ? sharedParent === nodeB ? 20 : 4 : sharedParent === nodeA ? 10 : 2
|
|
}
|
|
exports.removeSubsets = function(nodes) {
|
|
for (var idx = nodes.length; --idx >= 0;) {
|
|
var node = nodes[idx];
|
|
if (idx > 0 && nodes.lastIndexOf(node, idx - 1) >= 0) nodes.splice(idx, 1);
|
|
else
|
|
for (var ancestor = node.parent; ancestor; ancestor = ancestor.parent)
|
|
if (nodes.includes(ancestor)) {
|
|
nodes.splice(idx, 1);
|
|
break
|
|
}
|
|
}
|
|
return nodes
|
|
}, exports.compareDocumentPosition = compareDocumentPosition, exports.uniqueSort = function(nodes) {
|
|
return (nodes = nodes.filter(function(node, i, arr) {
|
|
return !arr.includes(node, i + 1)
|
|
})).sort(function(a, b) {
|
|
var relative = compareDocumentPosition(a, b);
|
|
return 2 & relative ? -1 : 4 & relative ? 1 : 0
|
|
}), nodes
|
|
}
|
|
},
|
|
41693: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function(instance, scope) {
|
|
const customJqueryInstance = (instance.defaultOptions.jquery || {}).instance;
|
|
customJqueryInstance && ($ = customJqueryInstance);
|
|
const pseudoJQuery = instance.createAsyncFunction((...args) => {
|
|
const callback = args[args.length - 1];
|
|
try {
|
|
1 === args.length ? $(() => callback(instance.nativeToPseudo($()))) : callback(instance.nativeToPseudo($(instance.pseudoToNative(args[0]))))
|
|
} catch (err) {
|
|
instance.throwException(instance.ERROR, `jQuery error in main function: ${err&&err.message||"unknown"}`.trim()), callback()
|
|
}
|
|
}, !0);
|
|
instance.setProperty(scope, "$", pseudoJQuery, _Instance.default.READONLY_DESCRIPTOR), instance.setProperty(scope, "jQuery", pseudoJQuery, _Instance.default.READONLY_DESCRIPTOR);
|
|
const prevNativeToPseudo = instance.nativeToPseudo,
|
|
prevPseudoToNative = instance.pseudoToNative;
|
|
Object.assign(instance, {
|
|
nativeToPseudo: (nativeObj, optDescriptor, depthToMarshall) => {
|
|
if (nativeObj instanceof Promise) return this.nativeActionHandler && this.nativeActionHandler("warning", "Filtering Promise from marshalled value"), instance.createPrimitive("[Promise]");
|
|
if (nativeObj && nativeObj.open && nativeObj.frames && nativeObj.fullScreen && nativeObj.history) return this.nativeActionHandler && this.nativeActionHandler("warning", "Filtering Window object from marshalled value"), instance.createPrimitive("[Window]");
|
|
if (nativeObj instanceof Element || nativeObj instanceof HTMLCollection || nativeObj instanceof NodeList || nativeObj && nativeObj.nodeName) {
|
|
const pseudoJQueryObj = instance.createObject(pseudoJQuery);
|
|
return pseudoJQueryObj.data = $(nativeObj), instance.setProperty(pseudoJQueryObj, "length", instance.createPrimitive(pseudoJQueryObj.data.length)), pseudoJQueryObj
|
|
}
|
|
if (nativeObj instanceof $) {
|
|
const pseudoJQueryObj = instance.createObject(pseudoJQuery);
|
|
return pseudoJQueryObj.data = nativeObj, instance.setProperty(pseudoJQueryObj, "length", instance.createPrimitive(pseudoJQueryObj.data.length)), pseudoJQueryObj
|
|
}
|
|
return prevNativeToPseudo.call(instance, nativeObj, optDescriptor, depthToMarshall)
|
|
},
|
|
pseudoToNative: (pseudoObj, depthToMarshall) => pseudoObj && pseudoObj.data instanceof $ ? pseudoObj.data : prevPseudoToNative.call(instance, pseudoObj, depthToMarshall)
|
|
}), INSTANCE_METHODS.forEach(methodName => {
|
|
instance.setNativeFunctionPrototype(pseudoJQuery, methodName, function(...args) {
|
|
try {
|
|
const nativeArgs = args.map(arg => instance.pseudoToNative(arg)),
|
|
res = this.data[methodName](...nativeArgs);
|
|
return instance.nativeToPseudo(res)
|
|
} catch (err) {
|
|
return instance.throwException(instance.ERROR, `jQuery error in ${methodName}: ${err&&err.message||"unknown"}`.trim()), this
|
|
}
|
|
})
|
|
}), instance.setNativeFunctionPrototype(pseudoJQuery, "toArray", function() {
|
|
try {
|
|
const res = this.data.toArray().map(each => $(each));
|
|
return instance.nativeToPseudo(res)
|
|
} catch (err) {
|
|
return instance.throwException(instance.ERROR, `jQuery error in toArray: ${err&&err.message||"unknown"}`.trim()), this
|
|
}
|
|
}), Object.entries(XPATH_TYPES).forEach(([xpathType, xpathValue]) => {
|
|
instance.setProperty(pseudoJQuery, xpathType, instance.nativeToPseudo(xpathValue), _Instance.default.READONLY_DESCRIPTOR)
|
|
});
|
|
const nativeEvaluateFn = function(...nativeArgs) {
|
|
try {
|
|
const argsToUse = nativeArgs.slice(0),
|
|
secondArg = nativeArgs[1];
|
|
null == secondArg ? argsToUse[1] = document : secondArg instanceof $ && (argsToUse[1] = secondArg.get()[0] || document);
|
|
const res = argsToUse[1].evaluate ? argsToUse[1].evaluate(...argsToUse) : document.evaluate(...argsToUse),
|
|
result = {
|
|
resultType: res.resultType,
|
|
invalidIteratorState: res.invalidIteratorState
|
|
};
|
|
switch (res.resultType) {
|
|
case 1:
|
|
result.numberValue = res.numberValue;
|
|
break;
|
|
case 2:
|
|
result.stringValue = res.stringValue;
|
|
break;
|
|
case 3:
|
|
result.booleanValue = res.booleanValue;
|
|
break;
|
|
case 4:
|
|
case 5: {
|
|
const arrayOfNodes = [];
|
|
let currentNode = res.iterateNext();
|
|
for (; currentNode;) arrayOfNodes.push($(currentNode)), currentNode = res.iterateNext();
|
|
throw result.nodes = arrayOfNodes, new Error("not currently supported")
|
|
}
|
|
case 6:
|
|
case 7: {
|
|
result.snapshotLength = res.snapshotLength;
|
|
const arrayOfNodes = new Array(res.snapshotLength).fill(null).map((_, idx) => $(res.snapshotItem(idx)));
|
|
result.nodes = arrayOfNodes, result.snapshotItem = idx => arrayOfNodes[idx] || null;
|
|
break
|
|
}
|
|
case 8:
|
|
case 9:
|
|
result.singleNodeValue = $(res.singleNodeValue);
|
|
break;
|
|
default:
|
|
throw new Error(`Unhandled xpathtype: ${res.resultType}`)
|
|
}
|
|
return result
|
|
} catch (err) {
|
|
return instance.throwException(instance.ERROR, `jQuery error in evaluate: ${err&&err.message||"unknown"}`.trim()), this
|
|
}
|
|
};
|
|
instance.setProperty(pseudoJQuery, "evaluate", instance.createNativeFunction((...args) => {
|
|
const nativeArgs = args.map(e => instance.pseudoToNative(e)),
|
|
result = nativeEvaluateFn(...nativeArgs);
|
|
return instance.nativeToPseudo(result)
|
|
})), instance.setProperty(pseudoJQuery, "dispatchNativeMouseEvent", instance.createNativeFunction(function(...args) {
|
|
try {
|
|
const nativeArgs = args.map(instance.pseudoToNative),
|
|
ele = nativeArgs[0];
|
|
if (!ele || 0 === ele.length) throw new Error("dispatchNativeMouseEvent first argument must be a jQuery object containing at least one element");
|
|
const evt = document.createEvent("MouseEvents");
|
|
let px = convertNumberToIntAndPercentToFloat(nativeArgs[2]),
|
|
py = convertNumberToIntAndPercentToFloat(nativeArgs[3]);
|
|
const elem = ele.get(0);
|
|
try {
|
|
const bounds = elem.getBoundingClientRect();
|
|
px = Math.floor(bounds.width * (px - (0 ^ px)).toFixed(10)) + (0 ^ px) + bounds.left, py = Math.floor(bounds.height * (py - (0 ^ py)).toFixed(10)) + (0 ^ py) + bounds.top
|
|
} catch (e) {
|
|
px = 1, py = 1
|
|
}
|
|
const type = nativeArgs[1];
|
|
return evt.initMouseEvent(type, !0, !0, window, 1, 1, 1, px, py, !1, !1, !1, !1, "contextmenu" !== type ? 0 : 2, elem), elem.dispatchEvent(evt, {
|
|
bubbles: !0
|
|
}), null
|
|
} catch (err) {
|
|
return instance.throwException(instance.ERROR, `jQuuery error in dispatchNativeMouseEvent: ${err&&err.message||"unknown"}`.trim()), this
|
|
}
|
|
})), instance.setProperty(pseudoJQuery, "getWindowPromiseVal", instance.createAsyncFunction(async function(...args) {
|
|
const callback = args[args.length - 1],
|
|
arg = args[0];
|
|
try {
|
|
const nativeArg = instance.pseudoToNative(arg),
|
|
res = await window[nativeArg];
|
|
callback(instance.nativeToPseudo(res))
|
|
} catch (err) {
|
|
instance.throwException(instance.ERROR, `jQuery error in getWindowPromiseVal: ${err&&err.message||"unknown"}`.trim()), callback(this)
|
|
}
|
|
})), instance.setProperty(pseudoJQuery, "getWindowVars", instance.createNativeFunction(function(arg) {
|
|
try {
|
|
const nativeArg = instance.pseudoToNative(arg);
|
|
let res;
|
|
res = Array.isArray(nativeArg) ? nativeArg.map(key => window[key]) : window[nativeArg];
|
|
return instance.nativeToPseudo(res)
|
|
} catch (err) {
|
|
return instance.throwException(instance.ERROR, `jQuery error in getWindowVars: ${err&&err.message||"unknown"}`.trim()), this
|
|
}
|
|
})), instance.setNativeFunctionPrototype(pseudoJQuery, "findProperty", function(regexStr, regexFlags) {
|
|
try {
|
|
if (!regexStr) return !1;
|
|
const nativeRegexStr = instance.pseudoToNative(regexStr);
|
|
if ("string" != typeof nativeRegexStr || 0 === nativeRegexStr.length) return !1;
|
|
const flags = instance.pseudoToNative(regexFlags) || "",
|
|
regex = new RegExp(regexStr, flags),
|
|
element = this.data.get(0) || {};
|
|
let found = null;
|
|
for (const attr in element)
|
|
if (regex.test(attr)) {
|
|
found = attr;
|
|
break
|
|
} return instance.nativeToPseudo(found)
|
|
} catch (err) {
|
|
return instance.throwException(instance.ERROR, `jQuery error in findProperty: ${err&&err.message||"unknown"}`.trim()), this
|
|
}
|
|
}), instance.setNativeFunctionPrototype(pseudoJQuery, "get", function(pseudoIndex) {
|
|
try {
|
|
if (!pseudoIndex) return this;
|
|
const nativeIndex = instance.pseudoToNative(pseudoIndex);
|
|
if (!Number.isInteger(nativeIndex) || nativeIndex < 0) return this;
|
|
const res = this.data.get(nativeIndex);
|
|
return instance.nativeToPseudo(res ? $(res) : void 0)
|
|
} catch (err) {
|
|
return instance.throwException(instance.ERROR, `jQuery error in get: ${err&&err.message||"unknown"}`.trim()), this
|
|
}
|
|
}), KEYBOARD_EVENTS.forEach(eventType => {
|
|
instance.setNativeFunctionPrototype(pseudoJQuery, eventType, function() {
|
|
try {
|
|
const event = new KeyboardEvent(eventType);
|
|
$.each(this.data, function() {
|
|
this.dispatchEvent(event)
|
|
})
|
|
} catch (err) {
|
|
instance.throwException(instance.ERROR, `jQuery error in ${eventType}: ${err&&err.message||"unknown"}`.trim())
|
|
}
|
|
return this
|
|
})
|
|
}), MOUSE_EVENTS.forEach(eventType => {
|
|
instance.setNativeFunctionPrototype(pseudoJQuery, eventType, function() {
|
|
try {
|
|
const event = new MouseEvent(eventType);
|
|
$.each(this.data, function() {
|
|
this.dispatchEvent(event)
|
|
})
|
|
} catch (err) {
|
|
instance.throwException(instance.ERROR, `jQuery error in ${eventType}: ${err&&err.message||"unknown"}`.trim())
|
|
}
|
|
return this
|
|
})
|
|
}), GENERIC_EVENTS.forEach(eventType => (instance.setNativeFunctionPrototype(pseudoJQuery, eventType, function() {
|
|
try {
|
|
const event = new Event(eventType);
|
|
$.each(this.data, function() {
|
|
this.dispatchEvent(event)
|
|
})
|
|
} catch (err) {
|
|
instance.throwException(instance.ERROR, `jQuery error in ${eventType}: ${err&&err.message||"unknown"}`.trim())
|
|
}
|
|
}), this)), instance.setNativeFunctionPrototype(pseudoJQuery, "getElementProperty", function(pseudoName) {
|
|
const propertyName = instance.pseudoToNative(pseudoName),
|
|
result = this.data.get(0)[propertyName];
|
|
return instance.nativeToPseudo(result)
|
|
}), instance.setNativeFunctionPrototype(pseudoJQuery, "trigger", function(pseudoType, optionsArg) {
|
|
let eventType;
|
|
try {
|
|
eventType = instance.pseudoToNative(pseudoType);
|
|
const options = void 0 !== optionsArg ? instance.pseudoToNative(optionsArg) : {},
|
|
eventInit = options.eventInit || {},
|
|
eventProperties = options.eventProperties || {};
|
|
let event;
|
|
if (KEYBOARD_EVENTS.includes(eventType) ? event = new KeyboardEvent(eventType, eventInit) : MOUSE_EVENTS.includes(eventType) ? event = new MouseEvent(eventType, eventInit) : GENERIC_EVENTS.includes(eventType) && (event = new Event(eventType, eventInit)), Object.entries(eventProperties).forEach(([key, value]) => {
|
|
event[key] = value instanceof $ ? value.get(0) : value
|
|
}), !event) throw new Error(`Event type: ${eventType} is unsupported`);
|
|
$.each(this.data, function() {
|
|
this.dispatchEvent(event)
|
|
})
|
|
} catch (err) {
|
|
instance.throwException(instance.ERROR, `jQuery error in trigger (${eventType}): ${err&&err.message||"unknown"}`.trim())
|
|
}
|
|
return this
|
|
}), instance.setProperty(pseudoJQuery, "getBoundingClientRect", instance.createNativeFunction(elem => {
|
|
const bounds = instance.pseudoToNative(elem).get()[0].getBoundingClientRect(),
|
|
boundsAsObj = {
|
|
x: bounds.x,
|
|
y: bounds.y,
|
|
width: bounds.width,
|
|
height: bounds.height,
|
|
top: bounds.top,
|
|
right: bounds.right,
|
|
bottom: bounds.bottom,
|
|
left: bounds.left
|
|
};
|
|
return instance.nativeToPseudo(boundsAsObj)
|
|
})), instance.setProperty(pseudoJQuery.properties.prototype, "waitForEvent", instance.createAsyncFunction(function(...args) {
|
|
const callback = args[args.length - 1];
|
|
try {
|
|
if (args.length < 2) throw new Error("missing arguments");
|
|
const eventType = instance.pseudoToNative(args[0]);
|
|
if (!eventType || "string" != typeof eventType) throw new Error("first argument must be a non-empty string");
|
|
let timeout;
|
|
if (3 === args.length && (timeout = instance.pseudoToNative(args[1]), !Number.isInteger(timeout) || timeout < 1 || timeout > 6e5)) throw new Error("second argument must be a positive integer <= 600000");
|
|
const eventHandler = ev => {
|
|
callback(instance.nativeToPseudo(ev))
|
|
};
|
|
this.data.one(eventType, eventHandler), void 0 !== timeout && setTimeout(() => {
|
|
this.data.off(eventType, eventHandler), callback(instance.nativeToPseudo(void 0))
|
|
}, timeout)
|
|
} catch (err) {
|
|
instance.throwException(instance.ERROR, `jQuery error in waitForEvent: ${err&&err.message||"unknown"}`.trim()), callback()
|
|
}
|
|
}), _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR), instance.setProperty(pseudoJQuery.properties.prototype, "ready", instance.createAsyncFunction(function(...args) {
|
|
const self = this,
|
|
callback = args[args.length - 1];
|
|
try {
|
|
self.data.ready(() => callback(self))
|
|
} catch (err) {
|
|
instance.throwException(instance.ERROR, `jQuery error in ready: ${err&&err.message||"unknown"}`.trim()), callback()
|
|
}
|
|
}), _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR), instance.setProperty(pseudoJQuery, "getComputedStyle", instance.createNativeFunction((...args) => {
|
|
const nativeArgs = args.map(e => instance.pseudoToNative(e)),
|
|
firstArg = nativeArgs[0];
|
|
if (0 === firstArg.length) return instance.nativeToPseudo(null);
|
|
nativeArgs[0] = firstArg.get()[0];
|
|
let result = {};
|
|
nativeArgs[0] instanceof Element && (result = window.getComputedStyle(...nativeArgs));
|
|
const resultObj = Object.entries(result).reduce((agg, [key, val]) => (agg[key] = val, agg), {});
|
|
return instance.nativeToPseudo(resultObj)
|
|
}), _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR), instance.setProperty(pseudoJQuery, "flatten", instance.createNativeFunction(args => {
|
|
const nativeArgs = instance.pseudoToNative(args);
|
|
if (0 === nativeArgs.length) throw new Error("jQuery error in flatten: no arguments provided. At least one jQuery object must be provided");
|
|
if (nativeArgs.some(each => !(each instanceof $))) throw new Error("All elements provided to jQuery flatten function must be jQuery objects");
|
|
let result = nativeArgs[0];
|
|
return result = nativeArgs.slice(1).reduce((agg, otherObj) => agg.add(otherObj), result), instance.nativeToPseudo(result)
|
|
}), _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR);
|
|
const getElementsByXPath = function(selector, documentElement = document) {
|
|
return nativeEvaluateFn(selector, documentElement, null, XPATH_TYPES.ORDERED_NODE_SNAPSHOT_TYPE, null).nodes
|
|
};
|
|
instance.setProperty(pseudoJQuery, "waitForElement", instance.createAsyncFunction(async (...args) => {
|
|
const callback = args[args.length - 1];
|
|
let timeoutCheck, checkInterval;
|
|
try {
|
|
if (args.length < 3) throw new Error("missing arguments");
|
|
const frameSelector = instance.pseudoToNative(args[0]);
|
|
if (!frameSelector || "string" != typeof frameSelector) throw new Error("first argument must be a non-empty string");
|
|
const selector = instance.pseudoToNative(args[1]);
|
|
if (!selector || "string" != typeof selector) throw new Error("second argument must be a non-empty string");
|
|
const timeout = instance.pseudoToNative(args[2]);
|
|
if (!Number.isInteger(timeout) || timeout < 1 || timeout > 6e5) throw new Error("third argument must be a positive integer <= 600000");
|
|
const getDocument = () => {
|
|
let documentContext = window.frameElement && window.frameElement.contentDocument || document;
|
|
if ("document" !== frameSelector) {
|
|
const frameElement = $(frameSelector).get()[0];
|
|
frameElement && frameElement.contentDocument && (documentContext = frameElement.contentDocument)
|
|
}
|
|
return documentContext
|
|
},
|
|
processedSelector = processSelector(selector);
|
|
let lookupFn = $;
|
|
"xpath" !== processedSelector.type && 0 !== processedSelector.path.indexOf("//") && 0 !== processedSelector.path.indexOf("substring") || (lookupFn = getElementsByXPath);
|
|
const documentForRun = getDocument(),
|
|
initialLookup = lookupFn(selector, documentForRun);
|
|
if (initialLookup.length > 0) return void callback(instance.nativeToPseudo(initialLookup));
|
|
timeoutCheck = setTimeout(() => {
|
|
clearInterval(checkInterval), callback(instance.nativeToPseudo(void 0))
|
|
}, timeout), checkInterval = setInterval(() => {
|
|
try {
|
|
const docForRun = getDocument(),
|
|
foundElems = lookupFn(selector, docForRun);
|
|
foundElems.length > 0 && (clearTimeout(timeoutCheck), clearInterval(checkInterval), callback(instance.nativeToPseudo(foundElems)))
|
|
} catch (intErr) {
|
|
clearTimeout(timeoutCheck), clearInterval(checkInterval), instance.throwException(instance.ERROR, `jQuery error in waitForElement (interval): ${intErr&&intErr.message||"unknown"}`.trim()), callback()
|
|
}
|
|
}, WAIT_FOR_ELEMENT_INTERVAL)
|
|
} catch (err) {
|
|
clearTimeout(timeoutCheck), clearInterval(checkInterval), instance.throwException(instance.ERROR, `jQuery error in waitForElement: ${err&&err.message||"unknown"}`.trim()), callback()
|
|
}
|
|
}), _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR)
|
|
};
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_Instance = _interopRequireDefault(__webpack_require__(76352));
|
|
let $ = _jquery.default;
|
|
const KEYBOARD_EVENTS = ["keydown", "keyup", "keypress", "scroll"],
|
|
MOUSE_EVENTS = ["click", "dblclick", "mousedown", "mouseup", "mouseenter", "mouseover", "mousemove", "mousedown", "mouseout", "mouseleave", "select"],
|
|
GENERIC_EVENTS = ["submit", "focus", "blur", "change", "focus", "focusin", "focusout", "hover", "error", "message", "load", "unload", "compositionstart", "compositionend", "input"],
|
|
INSTANCE_METHODS = ["add", "addClass", "after", "append", "appendTo", "animate", "attr", "before", "children", "clone", "closest", "contents", "css", "data", "detach", "empty", "eq", "filter", "find", "finish", "first", "has", "hasClass", "hide", "html", "index", "innerHeight", "innerWidth", "insertAfter", "insertBefore", "is", "last", "next", "nextAll", "nextUntil", "not", "off", "outerHeight", "outerWidth", "parent", "parents", "prepend", "prependTo", "prev", "prevUntil", "prop", "remove", "removeAttr", "removeClass", "removeData", "removeProp", "replaceAll", "replaceWith", "reset", "show", "serialize", "size", "slice", "stop", "text", "toggle", "val", "width", "wrap"],
|
|
XPATH_TYPES = {
|
|
ANY_TYPE: 0,
|
|
NUMBER_TYPE: 1,
|
|
STRING_TYPE: 2,
|
|
BOOLEAN_TYPE: 3,
|
|
UNORDERED_NODE_ITERATOR_TYPE: 4,
|
|
ORDERED_NODE_ITERATOR_TYPE: 5,
|
|
UNORDERED_NODE_SNAPSHOT_TYPE: 6,
|
|
ORDERED_NODE_SNAPSHOT_TYPE: 7,
|
|
ANY_UNORDERED_NODE_TYPE: 8,
|
|
FIRST_ORDERED_NODE_TYPE: 9
|
|
},
|
|
WAIT_FOR_ELEMENT_INTERVAL = 500,
|
|
SUPPORTED_SELECTOR_TYPES = ["css", "xpath"],
|
|
processSelector = function(selector) {
|
|
const selectorObject = {
|
|
toString: function() {
|
|
return `${this.type} selector: ${this.path}`
|
|
}
|
|
};
|
|
if ("string" == typeof selector) return selectorObject.type = "css", selectorObject.path = selector, selectorObject;
|
|
if ("object" == typeof selector) {
|
|
const selectorClone = {
|
|
...selector
|
|
};
|
|
if (!Object.prototype.hasOwnProperty.call(selectorClone, "type") || !Object.prototype.hasOwnProperty.call(selectorClone, "path")) throw new Error("Incomplete selector object");
|
|
if (-1 === SUPPORTED_SELECTOR_TYPES.indexOf(selectorClone.type)) throw new Error(`Unsupported selector type: ${selectorClone.type}.`);
|
|
return Object.prototype.hasOwnProperty.call(selectorClone, "toString") || (selectorClone.toString = selectorObject.toString), selectorClone
|
|
}
|
|
throw new Error(`Unsupported selector type: ${typeof selector}.`)
|
|
},
|
|
convertNumberToIntAndPercentToFloat = (a, def) => !!a && !isNaN(a) && parseInt(a, 10) || !!a && !isNaN(parseFloat(a)) && parseFloat(a) >= 0 && parseFloat(a) <= 100 && parseFloat(a) / 100 || def;
|
|
module.exports = exports.default
|
|
},
|
|
41748: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var baseGetTag = __webpack_require__(32890),
|
|
isObject = __webpack_require__(24547);
|
|
module.exports = function(value) {
|
|
if (!isObject(value)) return !1;
|
|
var tag = baseGetTag(value);
|
|
return "[object Function]" == tag || "[object GeneratorFunction]" == tag || "[object AsyncFunction]" == tag || "[object Proxy]" == tag
|
|
}
|
|
},
|
|
42075: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
const ErrorReportingMixinBase = __webpack_require__(90745),
|
|
ErrorReportingTokenizerMixin = __webpack_require__(49551),
|
|
LocationInfoTokenizerMixin = __webpack_require__(58412),
|
|
Mixin = __webpack_require__(28338);
|
|
module.exports = class extends ErrorReportingMixinBase {
|
|
constructor(parser, opts) {
|
|
super(parser, opts), this.opts = opts, this.ctLoc = null, this.locBeforeToken = !1
|
|
}
|
|
_setErrorLocation(err) {
|
|
this.ctLoc && (err.startLine = this.ctLoc.startLine, err.startCol = this.ctLoc.startCol, err.startOffset = this.ctLoc.startOffset, err.endLine = this.locBeforeToken ? this.ctLoc.startLine : this.ctLoc.endLine, err.endCol = this.locBeforeToken ? this.ctLoc.startCol : this.ctLoc.endCol, err.endOffset = this.locBeforeToken ? this.ctLoc.startOffset : this.ctLoc.endOffset)
|
|
}
|
|
_getOverriddenMethods(mxn, orig) {
|
|
return {
|
|
_bootstrap(document, fragmentContext) {
|
|
orig._bootstrap.call(this, document, fragmentContext), Mixin.install(this.tokenizer, ErrorReportingTokenizerMixin, mxn.opts), Mixin.install(this.tokenizer, LocationInfoTokenizerMixin)
|
|
},
|
|
_processInputToken(token) {
|
|
mxn.ctLoc = token.location, orig._processInputToken.call(this, token)
|
|
},
|
|
_err(code, options) {
|
|
mxn.locBeforeToken = options && options.beforeToken, mxn._reportError(code)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
42130: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _slicedToArray = function(arr, i) {
|
|
if (Array.isArray(arr)) return arr;
|
|
if (Symbol.iterator in Object(arr)) return function(arr, i) {
|
|
var _arr = [],
|
|
_n = !0,
|
|
_d = !1,
|
|
_e = void 0;
|
|
try {
|
|
for (var _s, _i = arr[Symbol.iterator](); !(_n = (_s = _i.next()).done) && (_arr.push(_s.value), !i || _arr.length !== i); _n = !0);
|
|
} catch (err) {
|
|
_d = !0, _e = err
|
|
} finally {
|
|
try {
|
|
!_n && _i.return && _i.return()
|
|
} finally {
|
|
if (_d) throw _e
|
|
}
|
|
}
|
|
return _arr
|
|
}(arr, i);
|
|
throw new TypeError("Invalid attempt to destructure non-iterable instance")
|
|
};
|
|
|
|
function _toConsumableArray(arr) {
|
|
if (Array.isArray(arr)) {
|
|
for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
|
|
return arr2
|
|
}
|
|
return Array.from(arr)
|
|
}
|
|
var yytext = void 0,
|
|
yy = {},
|
|
__ = void 0,
|
|
__loc = void 0;
|
|
|
|
function yyloc(start, end) {
|
|
return yy.options.captureLocations ? start && end ? {
|
|
startOffset: start.startOffset,
|
|
endOffset: end.endOffset,
|
|
startLine: start.startLine,
|
|
endLine: end.endLine,
|
|
startColumn: start.startColumn,
|
|
endColumn: end.endColumn
|
|
} : start || end : null
|
|
}
|
|
var productions = [
|
|
[-1, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = _1
|
|
}],
|
|
[0, 4, function(_1, _2, _3, _4, _1loc, _2loc, _3loc, _4loc) {
|
|
__loc = yyloc(_1loc, _4loc), __ = Node({
|
|
type: "RegExp",
|
|
body: _2,
|
|
flags: checkFlags(_4)
|
|
}, loc(_1loc, _4loc || _3loc))
|
|
}],
|
|
[1, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = _1
|
|
}],
|
|
[1, 0, function() {
|
|
__loc = null, __ = ""
|
|
}],
|
|
[2, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = _1
|
|
}],
|
|
[2, 2, function(_1, _2, _1loc, _2loc) {
|
|
__loc = yyloc(_1loc, _2loc), __ = _1 + _2
|
|
}],
|
|
[3, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = _1
|
|
}],
|
|
[4, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = _1
|
|
}],
|
|
[4, 3, function(_1, _2, _3, _1loc, _2loc, _3loc) {
|
|
__loc = yyloc(_1loc, _3loc);
|
|
var _loc = null;
|
|
_2loc && (_loc = loc(_1loc || _2loc, _3loc || _2loc)), __ = Node({
|
|
type: "Disjunction",
|
|
left: _1,
|
|
right: _3
|
|
}, _loc)
|
|
}],
|
|
[5, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = 0 !== _1.length ? 1 === _1.length ? Node(_1[0], __loc) : Node({
|
|
type: "Alternative",
|
|
expressions: _1
|
|
}, __loc) : null
|
|
}],
|
|
[6, 0, function() {
|
|
__loc = null, __ = []
|
|
}],
|
|
[6, 2, function(_1, _2, _1loc, _2loc) {
|
|
__loc = yyloc(_1loc, _2loc), __ = _1.concat(_2)
|
|
}],
|
|
[7, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = Node(Object.assign({
|
|
type: "Assertion"
|
|
}, _1), __loc)
|
|
}],
|
|
[7, 2, function(_1, _2, _1loc, _2loc) {
|
|
__loc = yyloc(_1loc, _2loc), __ = _1, _2 && (__ = Node({
|
|
type: "Repetition",
|
|
expression: _1,
|
|
quantifier: _2
|
|
}, __loc))
|
|
}],
|
|
[8, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = {
|
|
kind: "^"
|
|
}
|
|
}],
|
|
[8, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = {
|
|
kind: "$"
|
|
}
|
|
}],
|
|
[8, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = {
|
|
kind: "\\b"
|
|
}
|
|
}],
|
|
[8, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = {
|
|
kind: "\\B"
|
|
}
|
|
}],
|
|
[8, 3, function(_1, _2, _3, _1loc, _2loc, _3loc) {
|
|
__loc = yyloc(_1loc, _3loc), __ = {
|
|
kind: "Lookahead",
|
|
assertion: _2
|
|
}
|
|
}],
|
|
[8, 3, function(_1, _2, _3, _1loc, _2loc, _3loc) {
|
|
__loc = yyloc(_1loc, _3loc), __ = {
|
|
kind: "Lookahead",
|
|
negative: !0,
|
|
assertion: _2
|
|
}
|
|
}],
|
|
[8, 3, function(_1, _2, _3, _1loc, _2loc, _3loc) {
|
|
__loc = yyloc(_1loc, _3loc), __ = {
|
|
kind: "Lookbehind",
|
|
assertion: _2
|
|
}
|
|
}],
|
|
[8, 3, function(_1, _2, _3, _1loc, _2loc, _3loc) {
|
|
__loc = yyloc(_1loc, _3loc), __ = {
|
|
kind: "Lookbehind",
|
|
negative: !0,
|
|
assertion: _2
|
|
}
|
|
}],
|
|
[9, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = _1
|
|
}],
|
|
[9, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = _1
|
|
}],
|
|
[9, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = _1
|
|
}],
|
|
[10, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = Char(_1, "simple", __loc)
|
|
}],
|
|
[10, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), (__ = Char(_1.slice(1), "simple", __loc)).escaped = !0
|
|
}],
|
|
[10, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), (__ = Char(_1, "unicode", __loc)).isSurrogatePair = !0
|
|
}],
|
|
[10, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = Char(_1, "unicode", __loc)
|
|
}],
|
|
[10, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = function(matched, loc) {
|
|
var negative = "P" === matched[1],
|
|
separatorIdx = matched.indexOf("="),
|
|
name = matched.slice(3, -1 !== separatorIdx ? separatorIdx : -1),
|
|
value = void 0,
|
|
isShorthand = -1 === separatorIdx && unicodeProperties.isGeneralCategoryValue(name),
|
|
isBinaryProperty = -1 === separatorIdx && unicodeProperties.isBinaryPropertyName(name);
|
|
if (isShorthand) value = name, name = "General_Category";
|
|
else if (isBinaryProperty) value = name;
|
|
else {
|
|
if (!unicodeProperties.isValidName(name)) throw new SyntaxError("Invalid unicode property name: " + name + ".");
|
|
if (value = matched.slice(separatorIdx + 1, -1), !unicodeProperties.isValidValue(name, value)) throw new SyntaxError("Invalid " + name + " unicode property value: " + value + ".")
|
|
}
|
|
return Node({
|
|
type: "UnicodeProperty",
|
|
name,
|
|
value,
|
|
negative,
|
|
shorthand: isShorthand,
|
|
binary: isBinaryProperty,
|
|
canonicalName: unicodeProperties.getCanonicalName(name) || name,
|
|
canonicalValue: unicodeProperties.getCanonicalValue(value) || value
|
|
}, loc)
|
|
}(_1, __loc)
|
|
}],
|
|
[10, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = Char(_1, "control", __loc)
|
|
}],
|
|
[10, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = Char(_1, "hex", __loc)
|
|
}],
|
|
[10, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = Char(_1, "oct", __loc)
|
|
}],
|
|
[10, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = function(text, textLoc) {
|
|
var reference = Number(text.slice(1));
|
|
if (reference > 0 && reference <= capturingGroupsCount) return Node({
|
|
type: "Backreference",
|
|
kind: "number",
|
|
number: reference,
|
|
reference
|
|
}, textLoc);
|
|
return Char(text, "decimal", textLoc)
|
|
}(_1, __loc)
|
|
}],
|
|
[10, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = Char(_1, "meta", __loc)
|
|
}],
|
|
[10, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = Char(_1, "meta", __loc)
|
|
}],
|
|
[10, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = function(text, textLoc) {
|
|
var referenceRaw = text.slice(3, -1),
|
|
reference = decodeUnicodeGroupName(referenceRaw);
|
|
if (namedGroups.hasOwnProperty(reference)) return Node({
|
|
type: "Backreference",
|
|
kind: "name",
|
|
number: namedGroups[reference],
|
|
reference,
|
|
referenceRaw
|
|
}, textLoc);
|
|
var startOffset = null,
|
|
startLine = null,
|
|
endLine = null,
|
|
startColumn = null;
|
|
textLoc && (startOffset = textLoc.startOffset, startLine = textLoc.startLine, endLine = textLoc.endLine, startColumn = textLoc.startColumn);
|
|
var charRe = /^[\w$<>]/,
|
|
loc = void 0,
|
|
chars = [Char(text.slice(1, 2), "simple", startOffset ? {
|
|
startLine,
|
|
endLine,
|
|
startColumn,
|
|
startOffset,
|
|
endOffset: startOffset += 2,
|
|
endColumn: startColumn += 2
|
|
} : null)];
|
|
chars[0].escaped = !0, text = text.slice(2);
|
|
for (; text.length > 0;) {
|
|
var matched = null;
|
|
(matched = text.match(uReStart)) || (matched = text.match(ucpReStart)) ? (startOffset && (loc = {
|
|
startLine,
|
|
endLine,
|
|
startColumn,
|
|
startOffset,
|
|
endOffset: startOffset += matched[0].length,
|
|
endColumn: startColumn += matched[0].length
|
|
}), chars.push(Char(matched[0], "unicode", loc)), text = text.slice(matched[0].length)) : (matched = text.match(charRe)) && (startOffset && (loc = {
|
|
startLine,
|
|
endLine,
|
|
startColumn,
|
|
startOffset,
|
|
endOffset: ++startOffset,
|
|
endColumn: ++startColumn
|
|
}), chars.push(Char(matched[0], "simple", loc)), text = text.slice(1))
|
|
}
|
|
return chars
|
|
}(_1, _1loc)
|
|
}],
|
|
[11, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = _1
|
|
}],
|
|
[11, 0],
|
|
[12, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = _1
|
|
}],
|
|
[12, 2, function(_1, _2, _1loc, _2loc) {
|
|
__loc = yyloc(_1loc, _2loc), _1.greedy = !1, __ = _1
|
|
}],
|
|
[13, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = Node({
|
|
type: "Quantifier",
|
|
kind: _1,
|
|
greedy: !0
|
|
}, __loc)
|
|
}],
|
|
[13, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = Node({
|
|
type: "Quantifier",
|
|
kind: _1,
|
|
greedy: !0
|
|
}, __loc)
|
|
}],
|
|
[13, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = Node({
|
|
type: "Quantifier",
|
|
kind: _1,
|
|
greedy: !0
|
|
}, __loc)
|
|
}],
|
|
[13, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc);
|
|
var range = getRange(_1);
|
|
__ = Node({
|
|
type: "Quantifier",
|
|
kind: "Range",
|
|
from: range[0],
|
|
to: range[0],
|
|
greedy: !0
|
|
}, __loc)
|
|
}],
|
|
[13, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = Node({
|
|
type: "Quantifier",
|
|
kind: "Range",
|
|
from: getRange(_1)[0],
|
|
greedy: !0
|
|
}, __loc)
|
|
}],
|
|
[13, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc);
|
|
var range = getRange(_1);
|
|
__ = Node({
|
|
type: "Quantifier",
|
|
kind: "Range",
|
|
from: range[0],
|
|
to: range[1],
|
|
greedy: !0
|
|
}, __loc)
|
|
}],
|
|
[14, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = _1
|
|
}],
|
|
[14, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = _1
|
|
}],
|
|
[15, 3, function(_1, _2, _3, _1loc, _2loc, _3loc) {
|
|
__loc = yyloc(_1loc, _3loc);
|
|
var nameRaw = String(_1),
|
|
name = decodeUnicodeGroupName(nameRaw);
|
|
if (!yy.options.allowGroupNameDuplicates && namedGroups.hasOwnProperty(name)) throw new SyntaxError('Duplicate of the named group "' + name + '".');
|
|
namedGroups[name] = _1.groupNumber, __ = Node({
|
|
type: "Group",
|
|
capturing: !0,
|
|
name,
|
|
nameRaw,
|
|
number: _1.groupNumber,
|
|
expression: _2
|
|
}, __loc)
|
|
}],
|
|
[15, 3, function(_1, _2, _3, _1loc, _2loc, _3loc) {
|
|
__loc = yyloc(_1loc, _3loc), __ = Node({
|
|
type: "Group",
|
|
capturing: !0,
|
|
number: _1.groupNumber,
|
|
expression: _2
|
|
}, __loc)
|
|
}],
|
|
[16, 3, function(_1, _2, _3, _1loc, _2loc, _3loc) {
|
|
__loc = yyloc(_1loc, _3loc), __ = Node({
|
|
type: "Group",
|
|
capturing: !1,
|
|
expression: _2
|
|
}, __loc)
|
|
}],
|
|
[17, 3, function(_1, _2, _3, _1loc, _2loc, _3loc) {
|
|
__loc = yyloc(_1loc, _3loc), __ = Node({
|
|
type: "CharacterClass",
|
|
negative: !0,
|
|
expressions: _2
|
|
}, __loc)
|
|
}],
|
|
[17, 3, function(_1, _2, _3, _1loc, _2loc, _3loc) {
|
|
__loc = yyloc(_1loc, _3loc), __ = Node({
|
|
type: "CharacterClass",
|
|
expressions: _2
|
|
}, __loc)
|
|
}],
|
|
[18, 0, function() {
|
|
__loc = null, __ = []
|
|
}],
|
|
[18, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = _1
|
|
}],
|
|
[19, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = [_1]
|
|
}],
|
|
[19, 2, function(_1, _2, _1loc, _2loc) {
|
|
__loc = yyloc(_1loc, _2loc), __ = [_1].concat(_2)
|
|
}],
|
|
[19, 4, function(_1, _2, _3, _4, _1loc, _2loc, _3loc, _4loc) {
|
|
__loc = yyloc(_1loc, _4loc), checkClassRange(_1, _3), __ = [Node({
|
|
type: "ClassRange",
|
|
from: _1,
|
|
to: _3
|
|
}, loc(_1loc, _3loc))], _4 && (__ = __.concat(_4))
|
|
}],
|
|
[20, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = _1
|
|
}],
|
|
[20, 2, function(_1, _2, _1loc, _2loc) {
|
|
__loc = yyloc(_1loc, _2loc), __ = [_1].concat(_2)
|
|
}],
|
|
[20, 4, function(_1, _2, _3, _4, _1loc, _2loc, _3loc, _4loc) {
|
|
__loc = yyloc(_1loc, _4loc), checkClassRange(_1, _3), __ = [Node({
|
|
type: "ClassRange",
|
|
from: _1,
|
|
to: _3
|
|
}, loc(_1loc, _3loc))], _4 && (__ = __.concat(_4))
|
|
}],
|
|
[21, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = Char(_1, "simple", __loc)
|
|
}],
|
|
[21, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = _1
|
|
}],
|
|
[22, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = _1
|
|
}],
|
|
[22, 1, function(_1, _1loc) {
|
|
__loc = yyloc(_1loc, _1loc), __ = Char(_1, "meta", __loc)
|
|
}]
|
|
],
|
|
tokens = {
|
|
SLASH: "23",
|
|
CHAR: "24",
|
|
BAR: "25",
|
|
BOS: "26",
|
|
EOS: "27",
|
|
ESC_b: "28",
|
|
ESC_B: "29",
|
|
POS_LA_ASSERT: "30",
|
|
R_PAREN: "31",
|
|
NEG_LA_ASSERT: "32",
|
|
POS_LB_ASSERT: "33",
|
|
NEG_LB_ASSERT: "34",
|
|
ESC_CHAR: "35",
|
|
U_CODE_SURROGATE: "36",
|
|
U_CODE: "37",
|
|
U_PROP_VALUE_EXP: "38",
|
|
CTRL_CH: "39",
|
|
HEX_CODE: "40",
|
|
OCT_CODE: "41",
|
|
DEC_CODE: "42",
|
|
META_CHAR: "43",
|
|
ANY: "44",
|
|
NAMED_GROUP_REF: "45",
|
|
Q_MARK: "46",
|
|
STAR: "47",
|
|
PLUS: "48",
|
|
RANGE_EXACT: "49",
|
|
RANGE_OPEN: "50",
|
|
RANGE_CLOSED: "51",
|
|
NAMED_CAPTURE_GROUP: "52",
|
|
L_PAREN: "53",
|
|
NON_CAPTURE_GROUP: "54",
|
|
NEG_CLASS: "55",
|
|
R_BRACKET: "56",
|
|
L_BRACKET: "57",
|
|
DASH: "58",
|
|
$: "59"
|
|
},
|
|
table = [{
|
|
0: 1,
|
|
23: "s2"
|
|
}, {
|
|
59: "acc"
|
|
}, {
|
|
3: 3,
|
|
4: 4,
|
|
5: 5,
|
|
6: 6,
|
|
23: "r10",
|
|
24: "r10",
|
|
25: "r10",
|
|
26: "r10",
|
|
27: "r10",
|
|
28: "r10",
|
|
29: "r10",
|
|
30: "r10",
|
|
32: "r10",
|
|
33: "r10",
|
|
34: "r10",
|
|
35: "r10",
|
|
36: "r10",
|
|
37: "r10",
|
|
38: "r10",
|
|
39: "r10",
|
|
40: "r10",
|
|
41: "r10",
|
|
42: "r10",
|
|
43: "r10",
|
|
44: "r10",
|
|
45: "r10",
|
|
52: "r10",
|
|
53: "r10",
|
|
54: "r10",
|
|
55: "r10",
|
|
57: "r10"
|
|
}, {
|
|
23: "s7"
|
|
}, {
|
|
23: "r6",
|
|
25: "s12"
|
|
}, {
|
|
23: "r7",
|
|
25: "r7",
|
|
31: "r7"
|
|
}, {
|
|
7: 14,
|
|
8: 15,
|
|
9: 16,
|
|
10: 25,
|
|
14: 27,
|
|
15: 42,
|
|
16: 43,
|
|
17: 26,
|
|
23: "r9",
|
|
24: "s28",
|
|
25: "r9",
|
|
26: "s17",
|
|
27: "s18",
|
|
28: "s19",
|
|
29: "s20",
|
|
30: "s21",
|
|
31: "r9",
|
|
32: "s22",
|
|
33: "s23",
|
|
34: "s24",
|
|
35: "s29",
|
|
36: "s30",
|
|
37: "s31",
|
|
38: "s32",
|
|
39: "s33",
|
|
40: "s34",
|
|
41: "s35",
|
|
42: "s36",
|
|
43: "s37",
|
|
44: "s38",
|
|
45: "s39",
|
|
52: "s44",
|
|
53: "s45",
|
|
54: "s46",
|
|
55: "s40",
|
|
57: "s41"
|
|
}, {
|
|
1: 8,
|
|
2: 9,
|
|
24: "s10",
|
|
59: "r3"
|
|
}, {
|
|
59: "r1"
|
|
}, {
|
|
24: "s11",
|
|
59: "r2"
|
|
}, {
|
|
24: "r4",
|
|
59: "r4"
|
|
}, {
|
|
24: "r5",
|
|
59: "r5"
|
|
}, {
|
|
5: 13,
|
|
6: 6,
|
|
23: "r10",
|
|
24: "r10",
|
|
25: "r10",
|
|
26: "r10",
|
|
27: "r10",
|
|
28: "r10",
|
|
29: "r10",
|
|
30: "r10",
|
|
31: "r10",
|
|
32: "r10",
|
|
33: "r10",
|
|
34: "r10",
|
|
35: "r10",
|
|
36: "r10",
|
|
37: "r10",
|
|
38: "r10",
|
|
39: "r10",
|
|
40: "r10",
|
|
41: "r10",
|
|
42: "r10",
|
|
43: "r10",
|
|
44: "r10",
|
|
45: "r10",
|
|
52: "r10",
|
|
53: "r10",
|
|
54: "r10",
|
|
55: "r10",
|
|
57: "r10"
|
|
}, {
|
|
23: "r8",
|
|
25: "r8",
|
|
31: "r8"
|
|
}, {
|
|
23: "r11",
|
|
24: "r11",
|
|
25: "r11",
|
|
26: "r11",
|
|
27: "r11",
|
|
28: "r11",
|
|
29: "r11",
|
|
30: "r11",
|
|
31: "r11",
|
|
32: "r11",
|
|
33: "r11",
|
|
34: "r11",
|
|
35: "r11",
|
|
36: "r11",
|
|
37: "r11",
|
|
38: "r11",
|
|
39: "r11",
|
|
40: "r11",
|
|
41: "r11",
|
|
42: "r11",
|
|
43: "r11",
|
|
44: "r11",
|
|
45: "r11",
|
|
52: "r11",
|
|
53: "r11",
|
|
54: "r11",
|
|
55: "r11",
|
|
57: "r11"
|
|
}, {
|
|
23: "r12",
|
|
24: "r12",
|
|
25: "r12",
|
|
26: "r12",
|
|
27: "r12",
|
|
28: "r12",
|
|
29: "r12",
|
|
30: "r12",
|
|
31: "r12",
|
|
32: "r12",
|
|
33: "r12",
|
|
34: "r12",
|
|
35: "r12",
|
|
36: "r12",
|
|
37: "r12",
|
|
38: "r12",
|
|
39: "r12",
|
|
40: "r12",
|
|
41: "r12",
|
|
42: "r12",
|
|
43: "r12",
|
|
44: "r12",
|
|
45: "r12",
|
|
52: "r12",
|
|
53: "r12",
|
|
54: "r12",
|
|
55: "r12",
|
|
57: "r12"
|
|
}, {
|
|
11: 47,
|
|
12: 48,
|
|
13: 49,
|
|
23: "r38",
|
|
24: "r38",
|
|
25: "r38",
|
|
26: "r38",
|
|
27: "r38",
|
|
28: "r38",
|
|
29: "r38",
|
|
30: "r38",
|
|
31: "r38",
|
|
32: "r38",
|
|
33: "r38",
|
|
34: "r38",
|
|
35: "r38",
|
|
36: "r38",
|
|
37: "r38",
|
|
38: "r38",
|
|
39: "r38",
|
|
40: "r38",
|
|
41: "r38",
|
|
42: "r38",
|
|
43: "r38",
|
|
44: "r38",
|
|
45: "r38",
|
|
46: "s52",
|
|
47: "s50",
|
|
48: "s51",
|
|
49: "s53",
|
|
50: "s54",
|
|
51: "s55",
|
|
52: "r38",
|
|
53: "r38",
|
|
54: "r38",
|
|
55: "r38",
|
|
57: "r38"
|
|
}, {
|
|
23: "r14",
|
|
24: "r14",
|
|
25: "r14",
|
|
26: "r14",
|
|
27: "r14",
|
|
28: "r14",
|
|
29: "r14",
|
|
30: "r14",
|
|
31: "r14",
|
|
32: "r14",
|
|
33: "r14",
|
|
34: "r14",
|
|
35: "r14",
|
|
36: "r14",
|
|
37: "r14",
|
|
38: "r14",
|
|
39: "r14",
|
|
40: "r14",
|
|
41: "r14",
|
|
42: "r14",
|
|
43: "r14",
|
|
44: "r14",
|
|
45: "r14",
|
|
52: "r14",
|
|
53: "r14",
|
|
54: "r14",
|
|
55: "r14",
|
|
57: "r14"
|
|
}, {
|
|
23: "r15",
|
|
24: "r15",
|
|
25: "r15",
|
|
26: "r15",
|
|
27: "r15",
|
|
28: "r15",
|
|
29: "r15",
|
|
30: "r15",
|
|
31: "r15",
|
|
32: "r15",
|
|
33: "r15",
|
|
34: "r15",
|
|
35: "r15",
|
|
36: "r15",
|
|
37: "r15",
|
|
38: "r15",
|
|
39: "r15",
|
|
40: "r15",
|
|
41: "r15",
|
|
42: "r15",
|
|
43: "r15",
|
|
44: "r15",
|
|
45: "r15",
|
|
52: "r15",
|
|
53: "r15",
|
|
54: "r15",
|
|
55: "r15",
|
|
57: "r15"
|
|
}, {
|
|
23: "r16",
|
|
24: "r16",
|
|
25: "r16",
|
|
26: "r16",
|
|
27: "r16",
|
|
28: "r16",
|
|
29: "r16",
|
|
30: "r16",
|
|
31: "r16",
|
|
32: "r16",
|
|
33: "r16",
|
|
34: "r16",
|
|
35: "r16",
|
|
36: "r16",
|
|
37: "r16",
|
|
38: "r16",
|
|
39: "r16",
|
|
40: "r16",
|
|
41: "r16",
|
|
42: "r16",
|
|
43: "r16",
|
|
44: "r16",
|
|
45: "r16",
|
|
52: "r16",
|
|
53: "r16",
|
|
54: "r16",
|
|
55: "r16",
|
|
57: "r16"
|
|
}, {
|
|
23: "r17",
|
|
24: "r17",
|
|
25: "r17",
|
|
26: "r17",
|
|
27: "r17",
|
|
28: "r17",
|
|
29: "r17",
|
|
30: "r17",
|
|
31: "r17",
|
|
32: "r17",
|
|
33: "r17",
|
|
34: "r17",
|
|
35: "r17",
|
|
36: "r17",
|
|
37: "r17",
|
|
38: "r17",
|
|
39: "r17",
|
|
40: "r17",
|
|
41: "r17",
|
|
42: "r17",
|
|
43: "r17",
|
|
44: "r17",
|
|
45: "r17",
|
|
52: "r17",
|
|
53: "r17",
|
|
54: "r17",
|
|
55: "r17",
|
|
57: "r17"
|
|
}, {
|
|
4: 57,
|
|
5: 5,
|
|
6: 6,
|
|
24: "r10",
|
|
25: "r10",
|
|
26: "r10",
|
|
27: "r10",
|
|
28: "r10",
|
|
29: "r10",
|
|
30: "r10",
|
|
31: "r10",
|
|
32: "r10",
|
|
33: "r10",
|
|
34: "r10",
|
|
35: "r10",
|
|
36: "r10",
|
|
37: "r10",
|
|
38: "r10",
|
|
39: "r10",
|
|
40: "r10",
|
|
41: "r10",
|
|
42: "r10",
|
|
43: "r10",
|
|
44: "r10",
|
|
45: "r10",
|
|
52: "r10",
|
|
53: "r10",
|
|
54: "r10",
|
|
55: "r10",
|
|
57: "r10"
|
|
}, {
|
|
4: 59,
|
|
5: 5,
|
|
6: 6,
|
|
24: "r10",
|
|
25: "r10",
|
|
26: "r10",
|
|
27: "r10",
|
|
28: "r10",
|
|
29: "r10",
|
|
30: "r10",
|
|
31: "r10",
|
|
32: "r10",
|
|
33: "r10",
|
|
34: "r10",
|
|
35: "r10",
|
|
36: "r10",
|
|
37: "r10",
|
|
38: "r10",
|
|
39: "r10",
|
|
40: "r10",
|
|
41: "r10",
|
|
42: "r10",
|
|
43: "r10",
|
|
44: "r10",
|
|
45: "r10",
|
|
52: "r10",
|
|
53: "r10",
|
|
54: "r10",
|
|
55: "r10",
|
|
57: "r10"
|
|
}, {
|
|
4: 61,
|
|
5: 5,
|
|
6: 6,
|
|
24: "r10",
|
|
25: "r10",
|
|
26: "r10",
|
|
27: "r10",
|
|
28: "r10",
|
|
29: "r10",
|
|
30: "r10",
|
|
31: "r10",
|
|
32: "r10",
|
|
33: "r10",
|
|
34: "r10",
|
|
35: "r10",
|
|
36: "r10",
|
|
37: "r10",
|
|
38: "r10",
|
|
39: "r10",
|
|
40: "r10",
|
|
41: "r10",
|
|
42: "r10",
|
|
43: "r10",
|
|
44: "r10",
|
|
45: "r10",
|
|
52: "r10",
|
|
53: "r10",
|
|
54: "r10",
|
|
55: "r10",
|
|
57: "r10"
|
|
}, {
|
|
4: 63,
|
|
5: 5,
|
|
6: 6,
|
|
24: "r10",
|
|
25: "r10",
|
|
26: "r10",
|
|
27: "r10",
|
|
28: "r10",
|
|
29: "r10",
|
|
30: "r10",
|
|
31: "r10",
|
|
32: "r10",
|
|
33: "r10",
|
|
34: "r10",
|
|
35: "r10",
|
|
36: "r10",
|
|
37: "r10",
|
|
38: "r10",
|
|
39: "r10",
|
|
40: "r10",
|
|
41: "r10",
|
|
42: "r10",
|
|
43: "r10",
|
|
44: "r10",
|
|
45: "r10",
|
|
52: "r10",
|
|
53: "r10",
|
|
54: "r10",
|
|
55: "r10",
|
|
57: "r10"
|
|
}, {
|
|
23: "r22",
|
|
24: "r22",
|
|
25: "r22",
|
|
26: "r22",
|
|
27: "r22",
|
|
28: "r22",
|
|
29: "r22",
|
|
30: "r22",
|
|
31: "r22",
|
|
32: "r22",
|
|
33: "r22",
|
|
34: "r22",
|
|
35: "r22",
|
|
36: "r22",
|
|
37: "r22",
|
|
38: "r22",
|
|
39: "r22",
|
|
40: "r22",
|
|
41: "r22",
|
|
42: "r22",
|
|
43: "r22",
|
|
44: "r22",
|
|
45: "r22",
|
|
46: "r22",
|
|
47: "r22",
|
|
48: "r22",
|
|
49: "r22",
|
|
50: "r22",
|
|
51: "r22",
|
|
52: "r22",
|
|
53: "r22",
|
|
54: "r22",
|
|
55: "r22",
|
|
57: "r22"
|
|
}, {
|
|
23: "r23",
|
|
24: "r23",
|
|
25: "r23",
|
|
26: "r23",
|
|
27: "r23",
|
|
28: "r23",
|
|
29: "r23",
|
|
30: "r23",
|
|
31: "r23",
|
|
32: "r23",
|
|
33: "r23",
|
|
34: "r23",
|
|
35: "r23",
|
|
36: "r23",
|
|
37: "r23",
|
|
38: "r23",
|
|
39: "r23",
|
|
40: "r23",
|
|
41: "r23",
|
|
42: "r23",
|
|
43: "r23",
|
|
44: "r23",
|
|
45: "r23",
|
|
46: "r23",
|
|
47: "r23",
|
|
48: "r23",
|
|
49: "r23",
|
|
50: "r23",
|
|
51: "r23",
|
|
52: "r23",
|
|
53: "r23",
|
|
54: "r23",
|
|
55: "r23",
|
|
57: "r23"
|
|
}, {
|
|
23: "r24",
|
|
24: "r24",
|
|
25: "r24",
|
|
26: "r24",
|
|
27: "r24",
|
|
28: "r24",
|
|
29: "r24",
|
|
30: "r24",
|
|
31: "r24",
|
|
32: "r24",
|
|
33: "r24",
|
|
34: "r24",
|
|
35: "r24",
|
|
36: "r24",
|
|
37: "r24",
|
|
38: "r24",
|
|
39: "r24",
|
|
40: "r24",
|
|
41: "r24",
|
|
42: "r24",
|
|
43: "r24",
|
|
44: "r24",
|
|
45: "r24",
|
|
46: "r24",
|
|
47: "r24",
|
|
48: "r24",
|
|
49: "r24",
|
|
50: "r24",
|
|
51: "r24",
|
|
52: "r24",
|
|
53: "r24",
|
|
54: "r24",
|
|
55: "r24",
|
|
57: "r24"
|
|
}, {
|
|
23: "r25",
|
|
24: "r25",
|
|
25: "r25",
|
|
26: "r25",
|
|
27: "r25",
|
|
28: "r25",
|
|
29: "r25",
|
|
30: "r25",
|
|
31: "r25",
|
|
32: "r25",
|
|
33: "r25",
|
|
34: "r25",
|
|
35: "r25",
|
|
36: "r25",
|
|
37: "r25",
|
|
38: "r25",
|
|
39: "r25",
|
|
40: "r25",
|
|
41: "r25",
|
|
42: "r25",
|
|
43: "r25",
|
|
44: "r25",
|
|
45: "r25",
|
|
46: "r25",
|
|
47: "r25",
|
|
48: "r25",
|
|
49: "r25",
|
|
50: "r25",
|
|
51: "r25",
|
|
52: "r25",
|
|
53: "r25",
|
|
54: "r25",
|
|
55: "r25",
|
|
56: "r25",
|
|
57: "r25",
|
|
58: "r25"
|
|
}, {
|
|
23: "r26",
|
|
24: "r26",
|
|
25: "r26",
|
|
26: "r26",
|
|
27: "r26",
|
|
28: "r26",
|
|
29: "r26",
|
|
30: "r26",
|
|
31: "r26",
|
|
32: "r26",
|
|
33: "r26",
|
|
34: "r26",
|
|
35: "r26",
|
|
36: "r26",
|
|
37: "r26",
|
|
38: "r26",
|
|
39: "r26",
|
|
40: "r26",
|
|
41: "r26",
|
|
42: "r26",
|
|
43: "r26",
|
|
44: "r26",
|
|
45: "r26",
|
|
46: "r26",
|
|
47: "r26",
|
|
48: "r26",
|
|
49: "r26",
|
|
50: "r26",
|
|
51: "r26",
|
|
52: "r26",
|
|
53: "r26",
|
|
54: "r26",
|
|
55: "r26",
|
|
56: "r26",
|
|
57: "r26",
|
|
58: "r26"
|
|
}, {
|
|
23: "r27",
|
|
24: "r27",
|
|
25: "r27",
|
|
26: "r27",
|
|
27: "r27",
|
|
28: "r27",
|
|
29: "r27",
|
|
30: "r27",
|
|
31: "r27",
|
|
32: "r27",
|
|
33: "r27",
|
|
34: "r27",
|
|
35: "r27",
|
|
36: "r27",
|
|
37: "r27",
|
|
38: "r27",
|
|
39: "r27",
|
|
40: "r27",
|
|
41: "r27",
|
|
42: "r27",
|
|
43: "r27",
|
|
44: "r27",
|
|
45: "r27",
|
|
46: "r27",
|
|
47: "r27",
|
|
48: "r27",
|
|
49: "r27",
|
|
50: "r27",
|
|
51: "r27",
|
|
52: "r27",
|
|
53: "r27",
|
|
54: "r27",
|
|
55: "r27",
|
|
56: "r27",
|
|
57: "r27",
|
|
58: "r27"
|
|
}, {
|
|
23: "r28",
|
|
24: "r28",
|
|
25: "r28",
|
|
26: "r28",
|
|
27: "r28",
|
|
28: "r28",
|
|
29: "r28",
|
|
30: "r28",
|
|
31: "r28",
|
|
32: "r28",
|
|
33: "r28",
|
|
34: "r28",
|
|
35: "r28",
|
|
36: "r28",
|
|
37: "r28",
|
|
38: "r28",
|
|
39: "r28",
|
|
40: "r28",
|
|
41: "r28",
|
|
42: "r28",
|
|
43: "r28",
|
|
44: "r28",
|
|
45: "r28",
|
|
46: "r28",
|
|
47: "r28",
|
|
48: "r28",
|
|
49: "r28",
|
|
50: "r28",
|
|
51: "r28",
|
|
52: "r28",
|
|
53: "r28",
|
|
54: "r28",
|
|
55: "r28",
|
|
56: "r28",
|
|
57: "r28",
|
|
58: "r28"
|
|
}, {
|
|
23: "r29",
|
|
24: "r29",
|
|
25: "r29",
|
|
26: "r29",
|
|
27: "r29",
|
|
28: "r29",
|
|
29: "r29",
|
|
30: "r29",
|
|
31: "r29",
|
|
32: "r29",
|
|
33: "r29",
|
|
34: "r29",
|
|
35: "r29",
|
|
36: "r29",
|
|
37: "r29",
|
|
38: "r29",
|
|
39: "r29",
|
|
40: "r29",
|
|
41: "r29",
|
|
42: "r29",
|
|
43: "r29",
|
|
44: "r29",
|
|
45: "r29",
|
|
46: "r29",
|
|
47: "r29",
|
|
48: "r29",
|
|
49: "r29",
|
|
50: "r29",
|
|
51: "r29",
|
|
52: "r29",
|
|
53: "r29",
|
|
54: "r29",
|
|
55: "r29",
|
|
56: "r29",
|
|
57: "r29",
|
|
58: "r29"
|
|
}, {
|
|
23: "r30",
|
|
24: "r30",
|
|
25: "r30",
|
|
26: "r30",
|
|
27: "r30",
|
|
28: "r30",
|
|
29: "r30",
|
|
30: "r30",
|
|
31: "r30",
|
|
32: "r30",
|
|
33: "r30",
|
|
34: "r30",
|
|
35: "r30",
|
|
36: "r30",
|
|
37: "r30",
|
|
38: "r30",
|
|
39: "r30",
|
|
40: "r30",
|
|
41: "r30",
|
|
42: "r30",
|
|
43: "r30",
|
|
44: "r30",
|
|
45: "r30",
|
|
46: "r30",
|
|
47: "r30",
|
|
48: "r30",
|
|
49: "r30",
|
|
50: "r30",
|
|
51: "r30",
|
|
52: "r30",
|
|
53: "r30",
|
|
54: "r30",
|
|
55: "r30",
|
|
56: "r30",
|
|
57: "r30",
|
|
58: "r30"
|
|
}, {
|
|
23: "r31",
|
|
24: "r31",
|
|
25: "r31",
|
|
26: "r31",
|
|
27: "r31",
|
|
28: "r31",
|
|
29: "r31",
|
|
30: "r31",
|
|
31: "r31",
|
|
32: "r31",
|
|
33: "r31",
|
|
34: "r31",
|
|
35: "r31",
|
|
36: "r31",
|
|
37: "r31",
|
|
38: "r31",
|
|
39: "r31",
|
|
40: "r31",
|
|
41: "r31",
|
|
42: "r31",
|
|
43: "r31",
|
|
44: "r31",
|
|
45: "r31",
|
|
46: "r31",
|
|
47: "r31",
|
|
48: "r31",
|
|
49: "r31",
|
|
50: "r31",
|
|
51: "r31",
|
|
52: "r31",
|
|
53: "r31",
|
|
54: "r31",
|
|
55: "r31",
|
|
56: "r31",
|
|
57: "r31",
|
|
58: "r31"
|
|
}, {
|
|
23: "r32",
|
|
24: "r32",
|
|
25: "r32",
|
|
26: "r32",
|
|
27: "r32",
|
|
28: "r32",
|
|
29: "r32",
|
|
30: "r32",
|
|
31: "r32",
|
|
32: "r32",
|
|
33: "r32",
|
|
34: "r32",
|
|
35: "r32",
|
|
36: "r32",
|
|
37: "r32",
|
|
38: "r32",
|
|
39: "r32",
|
|
40: "r32",
|
|
41: "r32",
|
|
42: "r32",
|
|
43: "r32",
|
|
44: "r32",
|
|
45: "r32",
|
|
46: "r32",
|
|
47: "r32",
|
|
48: "r32",
|
|
49: "r32",
|
|
50: "r32",
|
|
51: "r32",
|
|
52: "r32",
|
|
53: "r32",
|
|
54: "r32",
|
|
55: "r32",
|
|
56: "r32",
|
|
57: "r32",
|
|
58: "r32"
|
|
}, {
|
|
23: "r33",
|
|
24: "r33",
|
|
25: "r33",
|
|
26: "r33",
|
|
27: "r33",
|
|
28: "r33",
|
|
29: "r33",
|
|
30: "r33",
|
|
31: "r33",
|
|
32: "r33",
|
|
33: "r33",
|
|
34: "r33",
|
|
35: "r33",
|
|
36: "r33",
|
|
37: "r33",
|
|
38: "r33",
|
|
39: "r33",
|
|
40: "r33",
|
|
41: "r33",
|
|
42: "r33",
|
|
43: "r33",
|
|
44: "r33",
|
|
45: "r33",
|
|
46: "r33",
|
|
47: "r33",
|
|
48: "r33",
|
|
49: "r33",
|
|
50: "r33",
|
|
51: "r33",
|
|
52: "r33",
|
|
53: "r33",
|
|
54: "r33",
|
|
55: "r33",
|
|
56: "r33",
|
|
57: "r33",
|
|
58: "r33"
|
|
}, {
|
|
23: "r34",
|
|
24: "r34",
|
|
25: "r34",
|
|
26: "r34",
|
|
27: "r34",
|
|
28: "r34",
|
|
29: "r34",
|
|
30: "r34",
|
|
31: "r34",
|
|
32: "r34",
|
|
33: "r34",
|
|
34: "r34",
|
|
35: "r34",
|
|
36: "r34",
|
|
37: "r34",
|
|
38: "r34",
|
|
39: "r34",
|
|
40: "r34",
|
|
41: "r34",
|
|
42: "r34",
|
|
43: "r34",
|
|
44: "r34",
|
|
45: "r34",
|
|
46: "r34",
|
|
47: "r34",
|
|
48: "r34",
|
|
49: "r34",
|
|
50: "r34",
|
|
51: "r34",
|
|
52: "r34",
|
|
53: "r34",
|
|
54: "r34",
|
|
55: "r34",
|
|
56: "r34",
|
|
57: "r34",
|
|
58: "r34"
|
|
}, {
|
|
23: "r35",
|
|
24: "r35",
|
|
25: "r35",
|
|
26: "r35",
|
|
27: "r35",
|
|
28: "r35",
|
|
29: "r35",
|
|
30: "r35",
|
|
31: "r35",
|
|
32: "r35",
|
|
33: "r35",
|
|
34: "r35",
|
|
35: "r35",
|
|
36: "r35",
|
|
37: "r35",
|
|
38: "r35",
|
|
39: "r35",
|
|
40: "r35",
|
|
41: "r35",
|
|
42: "r35",
|
|
43: "r35",
|
|
44: "r35",
|
|
45: "r35",
|
|
46: "r35",
|
|
47: "r35",
|
|
48: "r35",
|
|
49: "r35",
|
|
50: "r35",
|
|
51: "r35",
|
|
52: "r35",
|
|
53: "r35",
|
|
54: "r35",
|
|
55: "r35",
|
|
56: "r35",
|
|
57: "r35",
|
|
58: "r35"
|
|
}, {
|
|
23: "r36",
|
|
24: "r36",
|
|
25: "r36",
|
|
26: "r36",
|
|
27: "r36",
|
|
28: "r36",
|
|
29: "r36",
|
|
30: "r36",
|
|
31: "r36",
|
|
32: "r36",
|
|
33: "r36",
|
|
34: "r36",
|
|
35: "r36",
|
|
36: "r36",
|
|
37: "r36",
|
|
38: "r36",
|
|
39: "r36",
|
|
40: "r36",
|
|
41: "r36",
|
|
42: "r36",
|
|
43: "r36",
|
|
44: "r36",
|
|
45: "r36",
|
|
46: "r36",
|
|
47: "r36",
|
|
48: "r36",
|
|
49: "r36",
|
|
50: "r36",
|
|
51: "r36",
|
|
52: "r36",
|
|
53: "r36",
|
|
54: "r36",
|
|
55: "r36",
|
|
56: "r36",
|
|
57: "r36",
|
|
58: "r36"
|
|
}, {
|
|
10: 70,
|
|
18: 65,
|
|
19: 66,
|
|
21: 67,
|
|
22: 69,
|
|
24: "s28",
|
|
28: "s71",
|
|
35: "s29",
|
|
36: "s30",
|
|
37: "s31",
|
|
38: "s32",
|
|
39: "s33",
|
|
40: "s34",
|
|
41: "s35",
|
|
42: "s36",
|
|
43: "s37",
|
|
44: "s38",
|
|
45: "s39",
|
|
56: "r54",
|
|
58: "s68"
|
|
}, {
|
|
10: 70,
|
|
18: 83,
|
|
19: 66,
|
|
21: 67,
|
|
22: 69,
|
|
24: "s28",
|
|
28: "s71",
|
|
35: "s29",
|
|
36: "s30",
|
|
37: "s31",
|
|
38: "s32",
|
|
39: "s33",
|
|
40: "s34",
|
|
41: "s35",
|
|
42: "s36",
|
|
43: "s37",
|
|
44: "s38",
|
|
45: "s39",
|
|
56: "r54",
|
|
58: "s68"
|
|
}, {
|
|
23: "r47",
|
|
24: "r47",
|
|
25: "r47",
|
|
26: "r47",
|
|
27: "r47",
|
|
28: "r47",
|
|
29: "r47",
|
|
30: "r47",
|
|
31: "r47",
|
|
32: "r47",
|
|
33: "r47",
|
|
34: "r47",
|
|
35: "r47",
|
|
36: "r47",
|
|
37: "r47",
|
|
38: "r47",
|
|
39: "r47",
|
|
40: "r47",
|
|
41: "r47",
|
|
42: "r47",
|
|
43: "r47",
|
|
44: "r47",
|
|
45: "r47",
|
|
46: "r47",
|
|
47: "r47",
|
|
48: "r47",
|
|
49: "r47",
|
|
50: "r47",
|
|
51: "r47",
|
|
52: "r47",
|
|
53: "r47",
|
|
54: "r47",
|
|
55: "r47",
|
|
57: "r47"
|
|
}, {
|
|
23: "r48",
|
|
24: "r48",
|
|
25: "r48",
|
|
26: "r48",
|
|
27: "r48",
|
|
28: "r48",
|
|
29: "r48",
|
|
30: "r48",
|
|
31: "r48",
|
|
32: "r48",
|
|
33: "r48",
|
|
34: "r48",
|
|
35: "r48",
|
|
36: "r48",
|
|
37: "r48",
|
|
38: "r48",
|
|
39: "r48",
|
|
40: "r48",
|
|
41: "r48",
|
|
42: "r48",
|
|
43: "r48",
|
|
44: "r48",
|
|
45: "r48",
|
|
46: "r48",
|
|
47: "r48",
|
|
48: "r48",
|
|
49: "r48",
|
|
50: "r48",
|
|
51: "r48",
|
|
52: "r48",
|
|
53: "r48",
|
|
54: "r48",
|
|
55: "r48",
|
|
57: "r48"
|
|
}, {
|
|
4: 85,
|
|
5: 5,
|
|
6: 6,
|
|
24: "r10",
|
|
25: "r10",
|
|
26: "r10",
|
|
27: "r10",
|
|
28: "r10",
|
|
29: "r10",
|
|
30: "r10",
|
|
31: "r10",
|
|
32: "r10",
|
|
33: "r10",
|
|
34: "r10",
|
|
35: "r10",
|
|
36: "r10",
|
|
37: "r10",
|
|
38: "r10",
|
|
39: "r10",
|
|
40: "r10",
|
|
41: "r10",
|
|
42: "r10",
|
|
43: "r10",
|
|
44: "r10",
|
|
45: "r10",
|
|
52: "r10",
|
|
53: "r10",
|
|
54: "r10",
|
|
55: "r10",
|
|
57: "r10"
|
|
}, {
|
|
4: 87,
|
|
5: 5,
|
|
6: 6,
|
|
24: "r10",
|
|
25: "r10",
|
|
26: "r10",
|
|
27: "r10",
|
|
28: "r10",
|
|
29: "r10",
|
|
30: "r10",
|
|
31: "r10",
|
|
32: "r10",
|
|
33: "r10",
|
|
34: "r10",
|
|
35: "r10",
|
|
36: "r10",
|
|
37: "r10",
|
|
38: "r10",
|
|
39: "r10",
|
|
40: "r10",
|
|
41: "r10",
|
|
42: "r10",
|
|
43: "r10",
|
|
44: "r10",
|
|
45: "r10",
|
|
52: "r10",
|
|
53: "r10",
|
|
54: "r10",
|
|
55: "r10",
|
|
57: "r10"
|
|
}, {
|
|
4: 89,
|
|
5: 5,
|
|
6: 6,
|
|
24: "r10",
|
|
25: "r10",
|
|
26: "r10",
|
|
27: "r10",
|
|
28: "r10",
|
|
29: "r10",
|
|
30: "r10",
|
|
31: "r10",
|
|
32: "r10",
|
|
33: "r10",
|
|
34: "r10",
|
|
35: "r10",
|
|
36: "r10",
|
|
37: "r10",
|
|
38: "r10",
|
|
39: "r10",
|
|
40: "r10",
|
|
41: "r10",
|
|
42: "r10",
|
|
43: "r10",
|
|
44: "r10",
|
|
45: "r10",
|
|
52: "r10",
|
|
53: "r10",
|
|
54: "r10",
|
|
55: "r10",
|
|
57: "r10"
|
|
}, {
|
|
23: "r13",
|
|
24: "r13",
|
|
25: "r13",
|
|
26: "r13",
|
|
27: "r13",
|
|
28: "r13",
|
|
29: "r13",
|
|
30: "r13",
|
|
31: "r13",
|
|
32: "r13",
|
|
33: "r13",
|
|
34: "r13",
|
|
35: "r13",
|
|
36: "r13",
|
|
37: "r13",
|
|
38: "r13",
|
|
39: "r13",
|
|
40: "r13",
|
|
41: "r13",
|
|
42: "r13",
|
|
43: "r13",
|
|
44: "r13",
|
|
45: "r13",
|
|
52: "r13",
|
|
53: "r13",
|
|
54: "r13",
|
|
55: "r13",
|
|
57: "r13"
|
|
}, {
|
|
23: "r37",
|
|
24: "r37",
|
|
25: "r37",
|
|
26: "r37",
|
|
27: "r37",
|
|
28: "r37",
|
|
29: "r37",
|
|
30: "r37",
|
|
31: "r37",
|
|
32: "r37",
|
|
33: "r37",
|
|
34: "r37",
|
|
35: "r37",
|
|
36: "r37",
|
|
37: "r37",
|
|
38: "r37",
|
|
39: "r37",
|
|
40: "r37",
|
|
41: "r37",
|
|
42: "r37",
|
|
43: "r37",
|
|
44: "r37",
|
|
45: "r37",
|
|
52: "r37",
|
|
53: "r37",
|
|
54: "r37",
|
|
55: "r37",
|
|
57: "r37"
|
|
}, {
|
|
23: "r39",
|
|
24: "r39",
|
|
25: "r39",
|
|
26: "r39",
|
|
27: "r39",
|
|
28: "r39",
|
|
29: "r39",
|
|
30: "r39",
|
|
31: "r39",
|
|
32: "r39",
|
|
33: "r39",
|
|
34: "r39",
|
|
35: "r39",
|
|
36: "r39",
|
|
37: "r39",
|
|
38: "r39",
|
|
39: "r39",
|
|
40: "r39",
|
|
41: "r39",
|
|
42: "r39",
|
|
43: "r39",
|
|
44: "r39",
|
|
45: "r39",
|
|
46: "s56",
|
|
52: "r39",
|
|
53: "r39",
|
|
54: "r39",
|
|
55: "r39",
|
|
57: "r39"
|
|
}, {
|
|
23: "r41",
|
|
24: "r41",
|
|
25: "r41",
|
|
26: "r41",
|
|
27: "r41",
|
|
28: "r41",
|
|
29: "r41",
|
|
30: "r41",
|
|
31: "r41",
|
|
32: "r41",
|
|
33: "r41",
|
|
34: "r41",
|
|
35: "r41",
|
|
36: "r41",
|
|
37: "r41",
|
|
38: "r41",
|
|
39: "r41",
|
|
40: "r41",
|
|
41: "r41",
|
|
42: "r41",
|
|
43: "r41",
|
|
44: "r41",
|
|
45: "r41",
|
|
46: "r41",
|
|
52: "r41",
|
|
53: "r41",
|
|
54: "r41",
|
|
55: "r41",
|
|
57: "r41"
|
|
}, {
|
|
23: "r42",
|
|
24: "r42",
|
|
25: "r42",
|
|
26: "r42",
|
|
27: "r42",
|
|
28: "r42",
|
|
29: "r42",
|
|
30: "r42",
|
|
31: "r42",
|
|
32: "r42",
|
|
33: "r42",
|
|
34: "r42",
|
|
35: "r42",
|
|
36: "r42",
|
|
37: "r42",
|
|
38: "r42",
|
|
39: "r42",
|
|
40: "r42",
|
|
41: "r42",
|
|
42: "r42",
|
|
43: "r42",
|
|
44: "r42",
|
|
45: "r42",
|
|
46: "r42",
|
|
52: "r42",
|
|
53: "r42",
|
|
54: "r42",
|
|
55: "r42",
|
|
57: "r42"
|
|
}, {
|
|
23: "r43",
|
|
24: "r43",
|
|
25: "r43",
|
|
26: "r43",
|
|
27: "r43",
|
|
28: "r43",
|
|
29: "r43",
|
|
30: "r43",
|
|
31: "r43",
|
|
32: "r43",
|
|
33: "r43",
|
|
34: "r43",
|
|
35: "r43",
|
|
36: "r43",
|
|
37: "r43",
|
|
38: "r43",
|
|
39: "r43",
|
|
40: "r43",
|
|
41: "r43",
|
|
42: "r43",
|
|
43: "r43",
|
|
44: "r43",
|
|
45: "r43",
|
|
46: "r43",
|
|
52: "r43",
|
|
53: "r43",
|
|
54: "r43",
|
|
55: "r43",
|
|
57: "r43"
|
|
}, {
|
|
23: "r44",
|
|
24: "r44",
|
|
25: "r44",
|
|
26: "r44",
|
|
27: "r44",
|
|
28: "r44",
|
|
29: "r44",
|
|
30: "r44",
|
|
31: "r44",
|
|
32: "r44",
|
|
33: "r44",
|
|
34: "r44",
|
|
35: "r44",
|
|
36: "r44",
|
|
37: "r44",
|
|
38: "r44",
|
|
39: "r44",
|
|
40: "r44",
|
|
41: "r44",
|
|
42: "r44",
|
|
43: "r44",
|
|
44: "r44",
|
|
45: "r44",
|
|
46: "r44",
|
|
52: "r44",
|
|
53: "r44",
|
|
54: "r44",
|
|
55: "r44",
|
|
57: "r44"
|
|
}, {
|
|
23: "r45",
|
|
24: "r45",
|
|
25: "r45",
|
|
26: "r45",
|
|
27: "r45",
|
|
28: "r45",
|
|
29: "r45",
|
|
30: "r45",
|
|
31: "r45",
|
|
32: "r45",
|
|
33: "r45",
|
|
34: "r45",
|
|
35: "r45",
|
|
36: "r45",
|
|
37: "r45",
|
|
38: "r45",
|
|
39: "r45",
|
|
40: "r45",
|
|
41: "r45",
|
|
42: "r45",
|
|
43: "r45",
|
|
44: "r45",
|
|
45: "r45",
|
|
46: "r45",
|
|
52: "r45",
|
|
53: "r45",
|
|
54: "r45",
|
|
55: "r45",
|
|
57: "r45"
|
|
}, {
|
|
23: "r46",
|
|
24: "r46",
|
|
25: "r46",
|
|
26: "r46",
|
|
27: "r46",
|
|
28: "r46",
|
|
29: "r46",
|
|
30: "r46",
|
|
31: "r46",
|
|
32: "r46",
|
|
33: "r46",
|
|
34: "r46",
|
|
35: "r46",
|
|
36: "r46",
|
|
37: "r46",
|
|
38: "r46",
|
|
39: "r46",
|
|
40: "r46",
|
|
41: "r46",
|
|
42: "r46",
|
|
43: "r46",
|
|
44: "r46",
|
|
45: "r46",
|
|
46: "r46",
|
|
52: "r46",
|
|
53: "r46",
|
|
54: "r46",
|
|
55: "r46",
|
|
57: "r46"
|
|
}, {
|
|
23: "r40",
|
|
24: "r40",
|
|
25: "r40",
|
|
26: "r40",
|
|
27: "r40",
|
|
28: "r40",
|
|
29: "r40",
|
|
30: "r40",
|
|
31: "r40",
|
|
32: "r40",
|
|
33: "r40",
|
|
34: "r40",
|
|
35: "r40",
|
|
36: "r40",
|
|
37: "r40",
|
|
38: "r40",
|
|
39: "r40",
|
|
40: "r40",
|
|
41: "r40",
|
|
42: "r40",
|
|
43: "r40",
|
|
44: "r40",
|
|
45: "r40",
|
|
52: "r40",
|
|
53: "r40",
|
|
54: "r40",
|
|
55: "r40",
|
|
57: "r40"
|
|
}, {
|
|
25: "s12",
|
|
31: "s58"
|
|
}, {
|
|
23: "r18",
|
|
24: "r18",
|
|
25: "r18",
|
|
26: "r18",
|
|
27: "r18",
|
|
28: "r18",
|
|
29: "r18",
|
|
30: "r18",
|
|
31: "r18",
|
|
32: "r18",
|
|
33: "r18",
|
|
34: "r18",
|
|
35: "r18",
|
|
36: "r18",
|
|
37: "r18",
|
|
38: "r18",
|
|
39: "r18",
|
|
40: "r18",
|
|
41: "r18",
|
|
42: "r18",
|
|
43: "r18",
|
|
44: "r18",
|
|
45: "r18",
|
|
52: "r18",
|
|
53: "r18",
|
|
54: "r18",
|
|
55: "r18",
|
|
57: "r18"
|
|
}, {
|
|
25: "s12",
|
|
31: "s60"
|
|
}, {
|
|
23: "r19",
|
|
24: "r19",
|
|
25: "r19",
|
|
26: "r19",
|
|
27: "r19",
|
|
28: "r19",
|
|
29: "r19",
|
|
30: "r19",
|
|
31: "r19",
|
|
32: "r19",
|
|
33: "r19",
|
|
34: "r19",
|
|
35: "r19",
|
|
36: "r19",
|
|
37: "r19",
|
|
38: "r19",
|
|
39: "r19",
|
|
40: "r19",
|
|
41: "r19",
|
|
42: "r19",
|
|
43: "r19",
|
|
44: "r19",
|
|
45: "r19",
|
|
52: "r19",
|
|
53: "r19",
|
|
54: "r19",
|
|
55: "r19",
|
|
57: "r19"
|
|
}, {
|
|
25: "s12",
|
|
31: "s62"
|
|
}, {
|
|
23: "r20",
|
|
24: "r20",
|
|
25: "r20",
|
|
26: "r20",
|
|
27: "r20",
|
|
28: "r20",
|
|
29: "r20",
|
|
30: "r20",
|
|
31: "r20",
|
|
32: "r20",
|
|
33: "r20",
|
|
34: "r20",
|
|
35: "r20",
|
|
36: "r20",
|
|
37: "r20",
|
|
38: "r20",
|
|
39: "r20",
|
|
40: "r20",
|
|
41: "r20",
|
|
42: "r20",
|
|
43: "r20",
|
|
44: "r20",
|
|
45: "r20",
|
|
52: "r20",
|
|
53: "r20",
|
|
54: "r20",
|
|
55: "r20",
|
|
57: "r20"
|
|
}, {
|
|
25: "s12",
|
|
31: "s64"
|
|
}, {
|
|
23: "r21",
|
|
24: "r21",
|
|
25: "r21",
|
|
26: "r21",
|
|
27: "r21",
|
|
28: "r21",
|
|
29: "r21",
|
|
30: "r21",
|
|
31: "r21",
|
|
32: "r21",
|
|
33: "r21",
|
|
34: "r21",
|
|
35: "r21",
|
|
36: "r21",
|
|
37: "r21",
|
|
38: "r21",
|
|
39: "r21",
|
|
40: "r21",
|
|
41: "r21",
|
|
42: "r21",
|
|
43: "r21",
|
|
44: "r21",
|
|
45: "r21",
|
|
52: "r21",
|
|
53: "r21",
|
|
54: "r21",
|
|
55: "r21",
|
|
57: "r21"
|
|
}, {
|
|
56: "s72"
|
|
}, {
|
|
56: "r55"
|
|
}, {
|
|
10: 70,
|
|
20: 73,
|
|
21: 75,
|
|
22: 76,
|
|
24: "s28",
|
|
28: "s71",
|
|
35: "s29",
|
|
36: "s30",
|
|
37: "s31",
|
|
38: "s32",
|
|
39: "s33",
|
|
40: "s34",
|
|
41: "s35",
|
|
42: "s36",
|
|
43: "s37",
|
|
44: "s38",
|
|
45: "s39",
|
|
56: "r56",
|
|
58: "s74"
|
|
}, {
|
|
24: "r62",
|
|
28: "r62",
|
|
35: "r62",
|
|
36: "r62",
|
|
37: "r62",
|
|
38: "r62",
|
|
39: "r62",
|
|
40: "r62",
|
|
41: "r62",
|
|
42: "r62",
|
|
43: "r62",
|
|
44: "r62",
|
|
45: "r62",
|
|
56: "r62",
|
|
58: "r62"
|
|
}, {
|
|
24: "r63",
|
|
28: "r63",
|
|
35: "r63",
|
|
36: "r63",
|
|
37: "r63",
|
|
38: "r63",
|
|
39: "r63",
|
|
40: "r63",
|
|
41: "r63",
|
|
42: "r63",
|
|
43: "r63",
|
|
44: "r63",
|
|
45: "r63",
|
|
56: "r63",
|
|
58: "r63"
|
|
}, {
|
|
24: "r64",
|
|
28: "r64",
|
|
35: "r64",
|
|
36: "r64",
|
|
37: "r64",
|
|
38: "r64",
|
|
39: "r64",
|
|
40: "r64",
|
|
41: "r64",
|
|
42: "r64",
|
|
43: "r64",
|
|
44: "r64",
|
|
45: "r64",
|
|
56: "r64",
|
|
58: "r64"
|
|
}, {
|
|
24: "r65",
|
|
28: "r65",
|
|
35: "r65",
|
|
36: "r65",
|
|
37: "r65",
|
|
38: "r65",
|
|
39: "r65",
|
|
40: "r65",
|
|
41: "r65",
|
|
42: "r65",
|
|
43: "r65",
|
|
44: "r65",
|
|
45: "r65",
|
|
56: "r65",
|
|
58: "r65"
|
|
}, {
|
|
23: "r52",
|
|
24: "r52",
|
|
25: "r52",
|
|
26: "r52",
|
|
27: "r52",
|
|
28: "r52",
|
|
29: "r52",
|
|
30: "r52",
|
|
31: "r52",
|
|
32: "r52",
|
|
33: "r52",
|
|
34: "r52",
|
|
35: "r52",
|
|
36: "r52",
|
|
37: "r52",
|
|
38: "r52",
|
|
39: "r52",
|
|
40: "r52",
|
|
41: "r52",
|
|
42: "r52",
|
|
43: "r52",
|
|
44: "r52",
|
|
45: "r52",
|
|
46: "r52",
|
|
47: "r52",
|
|
48: "r52",
|
|
49: "r52",
|
|
50: "r52",
|
|
51: "r52",
|
|
52: "r52",
|
|
53: "r52",
|
|
54: "r52",
|
|
55: "r52",
|
|
57: "r52"
|
|
}, {
|
|
56: "r57"
|
|
}, {
|
|
10: 70,
|
|
21: 77,
|
|
22: 69,
|
|
24: "s28",
|
|
28: "s71",
|
|
35: "s29",
|
|
36: "s30",
|
|
37: "s31",
|
|
38: "s32",
|
|
39: "s33",
|
|
40: "s34",
|
|
41: "s35",
|
|
42: "s36",
|
|
43: "s37",
|
|
44: "s38",
|
|
45: "s39",
|
|
56: "r62",
|
|
58: "s68"
|
|
}, {
|
|
56: "r59"
|
|
}, {
|
|
10: 70,
|
|
20: 79,
|
|
21: 75,
|
|
22: 76,
|
|
24: "s28",
|
|
28: "s71",
|
|
35: "s29",
|
|
36: "s30",
|
|
37: "s31",
|
|
38: "s32",
|
|
39: "s33",
|
|
40: "s34",
|
|
41: "s35",
|
|
42: "s36",
|
|
43: "s37",
|
|
44: "s38",
|
|
45: "s39",
|
|
56: "r63",
|
|
58: "s80"
|
|
}, {
|
|
10: 70,
|
|
18: 78,
|
|
19: 66,
|
|
21: 67,
|
|
22: 69,
|
|
24: "s28",
|
|
28: "s71",
|
|
35: "s29",
|
|
36: "s30",
|
|
37: "s31",
|
|
38: "s32",
|
|
39: "s33",
|
|
40: "s34",
|
|
41: "s35",
|
|
42: "s36",
|
|
43: "s37",
|
|
44: "s38",
|
|
45: "s39",
|
|
56: "r54",
|
|
58: "s68"
|
|
}, {
|
|
56: "r58"
|
|
}, {
|
|
56: "r60"
|
|
}, {
|
|
10: 70,
|
|
21: 81,
|
|
22: 69,
|
|
24: "s28",
|
|
28: "s71",
|
|
35: "s29",
|
|
36: "s30",
|
|
37: "s31",
|
|
38: "s32",
|
|
39: "s33",
|
|
40: "s34",
|
|
41: "s35",
|
|
42: "s36",
|
|
43: "s37",
|
|
44: "s38",
|
|
45: "s39",
|
|
56: "r62",
|
|
58: "s68"
|
|
}, {
|
|
10: 70,
|
|
18: 82,
|
|
19: 66,
|
|
21: 67,
|
|
22: 69,
|
|
24: "s28",
|
|
28: "s71",
|
|
35: "s29",
|
|
36: "s30",
|
|
37: "s31",
|
|
38: "s32",
|
|
39: "s33",
|
|
40: "s34",
|
|
41: "s35",
|
|
42: "s36",
|
|
43: "s37",
|
|
44: "s38",
|
|
45: "s39",
|
|
56: "r54",
|
|
58: "s68"
|
|
}, {
|
|
56: "r61"
|
|
}, {
|
|
56: "s84"
|
|
}, {
|
|
23: "r53",
|
|
24: "r53",
|
|
25: "r53",
|
|
26: "r53",
|
|
27: "r53",
|
|
28: "r53",
|
|
29: "r53",
|
|
30: "r53",
|
|
31: "r53",
|
|
32: "r53",
|
|
33: "r53",
|
|
34: "r53",
|
|
35: "r53",
|
|
36: "r53",
|
|
37: "r53",
|
|
38: "r53",
|
|
39: "r53",
|
|
40: "r53",
|
|
41: "r53",
|
|
42: "r53",
|
|
43: "r53",
|
|
44: "r53",
|
|
45: "r53",
|
|
46: "r53",
|
|
47: "r53",
|
|
48: "r53",
|
|
49: "r53",
|
|
50: "r53",
|
|
51: "r53",
|
|
52: "r53",
|
|
53: "r53",
|
|
54: "r53",
|
|
55: "r53",
|
|
57: "r53"
|
|
}, {
|
|
25: "s12",
|
|
31: "s86"
|
|
}, {
|
|
23: "r49",
|
|
24: "r49",
|
|
25: "r49",
|
|
26: "r49",
|
|
27: "r49",
|
|
28: "r49",
|
|
29: "r49",
|
|
30: "r49",
|
|
31: "r49",
|
|
32: "r49",
|
|
33: "r49",
|
|
34: "r49",
|
|
35: "r49",
|
|
36: "r49",
|
|
37: "r49",
|
|
38: "r49",
|
|
39: "r49",
|
|
40: "r49",
|
|
41: "r49",
|
|
42: "r49",
|
|
43: "r49",
|
|
44: "r49",
|
|
45: "r49",
|
|
46: "r49",
|
|
47: "r49",
|
|
48: "r49",
|
|
49: "r49",
|
|
50: "r49",
|
|
51: "r49",
|
|
52: "r49",
|
|
53: "r49",
|
|
54: "r49",
|
|
55: "r49",
|
|
57: "r49"
|
|
}, {
|
|
25: "s12",
|
|
31: "s88"
|
|
}, {
|
|
23: "r50",
|
|
24: "r50",
|
|
25: "r50",
|
|
26: "r50",
|
|
27: "r50",
|
|
28: "r50",
|
|
29: "r50",
|
|
30: "r50",
|
|
31: "r50",
|
|
32: "r50",
|
|
33: "r50",
|
|
34: "r50",
|
|
35: "r50",
|
|
36: "r50",
|
|
37: "r50",
|
|
38: "r50",
|
|
39: "r50",
|
|
40: "r50",
|
|
41: "r50",
|
|
42: "r50",
|
|
43: "r50",
|
|
44: "r50",
|
|
45: "r50",
|
|
46: "r50",
|
|
47: "r50",
|
|
48: "r50",
|
|
49: "r50",
|
|
50: "r50",
|
|
51: "r50",
|
|
52: "r50",
|
|
53: "r50",
|
|
54: "r50",
|
|
55: "r50",
|
|
57: "r50"
|
|
}, {
|
|
25: "s12",
|
|
31: "s90"
|
|
}, {
|
|
23: "r51",
|
|
24: "r51",
|
|
25: "r51",
|
|
26: "r51",
|
|
27: "r51",
|
|
28: "r51",
|
|
29: "r51",
|
|
30: "r51",
|
|
31: "r51",
|
|
32: "r51",
|
|
33: "r51",
|
|
34: "r51",
|
|
35: "r51",
|
|
36: "r51",
|
|
37: "r51",
|
|
38: "r51",
|
|
39: "r51",
|
|
40: "r51",
|
|
41: "r51",
|
|
42: "r51",
|
|
43: "r51",
|
|
44: "r51",
|
|
45: "r51",
|
|
46: "r51",
|
|
47: "r51",
|
|
48: "r51",
|
|
49: "r51",
|
|
50: "r51",
|
|
51: "r51",
|
|
52: "r51",
|
|
53: "r51",
|
|
54: "r51",
|
|
55: "r51",
|
|
57: "r51"
|
|
}],
|
|
stack = [],
|
|
tokenizer = void 0,
|
|
lexRules = [
|
|
[/^#[^\n]+/, function() {}],
|
|
[/^\s+/, function() {}],
|
|
[/^-/, function() {
|
|
return "DASH"
|
|
}],
|
|
[/^\//, function() {
|
|
return "CHAR"
|
|
}],
|
|
[/^#/, function() {
|
|
return "CHAR"
|
|
}],
|
|
[/^\|/, function() {
|
|
return "CHAR"
|
|
}],
|
|
[/^\./, function() {
|
|
return "CHAR"
|
|
}],
|
|
[/^\{/, function() {
|
|
return "CHAR"
|
|
}],
|
|
[/^\{\d+\}/, function() {
|
|
return "RANGE_EXACT"
|
|
}],
|
|
[/^\{\d+,\}/, function() {
|
|
return "RANGE_OPEN"
|
|
}],
|
|
[/^\{\d+,\d+\}/, function() {
|
|
return "RANGE_CLOSED"
|
|
}],
|
|
[/^\\k<(([\u0041-\u005a\u0061-\u007a\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376-\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e-\u066f\u0671-\u06d3\u06d5\u06e5-\u06e6\u06ee-\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4-\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc-\u09dd\u09df-\u09e1\u09f0-\u09f1\u09fc\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0-\u0ae1\u0af9\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3d\u0b5c-\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60-\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0-\u0ce1\u0cf1-\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32-\u0e33\u0e40-\u0e46\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2-\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065-\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae-\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5-\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a-\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7c6\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd-\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5-\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab67\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]|\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c-\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf75\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37-\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4-\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe-\uddbf\ude00\ude10-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd23\udf00-\udf1c\udf27\udf30-\udf45\udfe0-\udff6]|\ud804[\udc03-\udc37\udc83-\udcaf\udcd0-\udce8\udd03-\udd26\udd44\udd50-\udd72\udd76\udd83-\uddb2\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude2b\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udede\udf05-\udf0c\udf0f-\udf10\udf13-\udf28\udf2a-\udf30\udf32-\udf33\udf35-\udf39\udf3d\udf50\udf5d-\udf61]|\ud805[\udc00-\udc34\udc47-\udc4a\udc5f\udc80-\udcaf\udcc4-\udcc5\udcc7\udd80-\uddae\uddd8-\udddb\ude00-\ude2f\ude44\ude80-\udeaa\udeb8\udf00-\udf1a]|\ud806[\udc00-\udc2b\udca0-\udcdf\udcff\udda0-\udda7\uddaa-\uddd0\udde1\udde3\ude00\ude0b-\ude32\ude3a\ude50\ude5c-\ude89\ude9d\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc2e\udc40\udc72-\udc8f\udd00-\udd06\udd08-\udd09\udd0b-\udd30\udd46\udd60-\udd65\udd67-\udd68\udd6a-\udd89\udd98\udee0-\udef2]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\uded0-\udeed\udf00-\udf2f\udf40-\udf43\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf50\udf93-\udf9f\udfe0-\udfe1\udfe3]|\ud81c[\udc00-\udfff]|\ud81d[\udc00-\udfff]|\ud81e[\udc00-\udfff]|\ud81f[\udc00-\udfff]|\ud820[\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udef2]|\ud82c[\udc00-\udd1e\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e-\udc9f\udca2\udca5-\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud838[\udd00-\udd2c\udd37-\udd3d\udd4e\udec0-\udeeb]|\ud83a[\udc00-\udcc4\udd00-\udd43\udd4b]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21-\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51-\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61-\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud840[\udc00-\udfff]|\ud841[\udc00-\udfff]|\ud842[\udc00-\udfff]|\ud843[\udc00-\udfff]|\ud844[\udc00-\udfff]|\ud845[\udc00-\udfff]|\ud846[\udc00-\udfff]|\ud847[\udc00-\udfff]|\ud848[\udc00-\udfff]|\ud849[\udc00-\udfff]|\ud84a[\udc00-\udfff]|\ud84b[\udc00-\udfff]|\ud84c[\udc00-\udfff]|\ud84d[\udc00-\udfff]|\ud84e[\udc00-\udfff]|\ud84f[\udc00-\udfff]|\ud850[\udc00-\udfff]|\ud851[\udc00-\udfff]|\ud852[\udc00-\udfff]|\ud853[\udc00-\udfff]|\ud854[\udc00-\udfff]|\ud855[\udc00-\udfff]|\ud856[\udc00-\udfff]|\ud857[\udc00-\udfff]|\ud858[\udc00-\udfff]|\ud859[\udc00-\udfff]|\ud85a[\udc00-\udfff]|\ud85b[\udc00-\udfff]|\ud85c[\udc00-\udfff]|\ud85d[\udc00-\udfff]|\ud85e[\udc00-\udfff]|\ud85f[\udc00-\udfff]|\ud860[\udc00-\udfff]|\ud861[\udc00-\udfff]|\ud862[\udc00-\udfff]|\ud863[\udc00-\udfff]|\ud864[\udc00-\udfff]|\ud865[\udc00-\udfff]|\ud866[\udc00-\udfff]|\ud867[\udc00-\udfff]|\ud868[\udc00-\udfff]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86a[\udc00-\udfff]|\ud86b[\udc00-\udfff]|\ud86c[\udc00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud86f[\udc00-\udfff]|\ud870[\udc00-\udfff]|\ud871[\udc00-\udfff]|\ud872[\udc00-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud874[\udc00-\udfff]|\ud875[\udc00-\udfff]|\ud876[\udc00-\udfff]|\ud877[\udc00-\udfff]|\ud878[\udc00-\udfff]|\ud879[\udc00-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d])|[$_]|(\\u[0-9a-fA-F]{4}|\\u\{[0-9a-fA-F]{1,}\}))(([\u0030-\u0039\u0041-\u005a\u005f\u0061-\u007a\u00aa\u00b5\u00b7\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0300-\u0374\u0376-\u0377\u037a-\u037d\u037f\u0386-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u0483-\u0487\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05bd\u05bf\u05c1-\u05c2\u05c4-\u05c5\u05c7\u05d0-\u05ea\u05ef-\u05f2\u0610-\u061a\u0620-\u0669\u066e-\u06d3\u06d5-\u06dc\u06df-\u06e8\u06ea-\u06fc\u06ff\u0710-\u074a\u074d-\u07b1\u07c0-\u07f5\u07fa\u07fd\u0800-\u082d\u0840-\u085b\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u08d3-\u08e1\u08e3-\u0963\u0966-\u096f\u0971-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09f1\u09fc\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0aef\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b56-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b6f\u0b71\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bef\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c60-\u0c63\u0c66-\u0c6f\u0c80-\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf2\u0d00-\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4e\u0d54-\u0d57\u0d5f-\u0d63\u0d66-\u0d6f\u0d7a-\u0d7f\u0d82-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df3\u0e01-\u0e3a\u0e40-\u0e4e\u0e50-\u0e59\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf\u0f00\u0f18-\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e-\u0f47\u0f49-\u0f6c\u0f71-\u0f84\u0f86-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1049\u1050-\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u135f\u1369-\u1371\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17d3\u17d7\u17dc-\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u1a00-\u1a1b\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa7\u1ab0-\u1abd\u1b00-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1bf3\u1c00-\u1c37\u1c40-\u1c49\u1c4d-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1cd0-\u1cd2\u1cd4-\u1cfa\u1d00-\u1df9\u1dfb-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u203f-\u2040\u2054\u2071\u207f\u2090-\u209c\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u3005-\u3007\u3021-\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u3099-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua62b\ua640-\ua66f\ua674-\ua67d\ua67f-\ua6f1\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7c6\ua7f7-\ua827\ua840-\ua873\ua880-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f7\ua8fb\ua8fd-\ua92d\ua930-\ua953\ua960-\ua97c\ua980-\ua9c0\ua9cf-\ua9d9\ua9e0-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa60-\uaa76\uaa7a-\uaac2\uaadb-\uaadd\uaae0-\uaaef\uaaf2-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab67\uab70-\uabea\uabec-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe00-\ufe0f\ufe20-\ufe2f\ufe33-\ufe34\ufe4d-\ufe4f\ufe70-\ufe74\ufe76-\ufefc\uff10-\uff19\uff21-\uff3a\uff3f\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]|\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c-\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\uddfd\ude80-\ude9c\udea0-\uded0\udee0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf7a\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udca0-\udca9\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37-\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4-\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe-\uddbf\ude00-\ude03\ude05-\ude06\ude0c-\ude13\ude15-\ude17\ude19-\ude35\ude38-\ude3a\ude3f\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee6\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd27\udd30-\udd39\udf00-\udf1c\udf27\udf30-\udf50\udfe0-\udff6]|\ud804[\udc00-\udc46\udc66-\udc6f\udc7f-\udcba\udcd0-\udce8\udcf0-\udcf9\udd00-\udd34\udd36-\udd3f\udd44-\udd46\udd50-\udd73\udd76\udd80-\uddc4\uddc9-\uddcc\uddd0-\uddda\udddc\ude00-\ude11\ude13-\ude37\ude3e\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udeea\udef0-\udef9\udf00-\udf03\udf05-\udf0c\udf0f-\udf10\udf13-\udf28\udf2a-\udf30\udf32-\udf33\udf35-\udf39\udf3b-\udf44\udf47-\udf48\udf4b-\udf4d\udf50\udf57\udf5d-\udf63\udf66-\udf6c\udf70-\udf74]|\ud805[\udc00-\udc4a\udc50-\udc59\udc5e-\udc5f\udc80-\udcc5\udcc7\udcd0-\udcd9\udd80-\uddb5\uddb8-\uddc0\uddd8-\udddd\ude00-\ude40\ude44\ude50-\ude59\ude80-\udeb8\udec0-\udec9\udf00-\udf1a\udf1d-\udf2b\udf30-\udf39]|\ud806[\udc00-\udc3a\udca0-\udce9\udcff\udda0-\udda7\uddaa-\uddd7\uddda-\udde1\udde3-\udde4\ude00-\ude3e\ude47\ude50-\ude99\ude9d\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc36\udc38-\udc40\udc50-\udc59\udc72-\udc8f\udc92-\udca7\udca9-\udcb6\udd00-\udd06\udd08-\udd09\udd0b-\udd36\udd3a\udd3c-\udd3d\udd3f-\udd47\udd50-\udd59\udd60-\udd65\udd67-\udd68\udd6a-\udd8e\udd90-\udd91\udd93-\udd98\udda0-\udda9\udee0-\udef6]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude60-\ude69\uded0-\udeed\udef0-\udef4\udf00-\udf36\udf40-\udf43\udf50-\udf59\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf4f-\udf87\udf8f-\udf9f\udfe0-\udfe1\udfe3]|\ud81c[\udc00-\udfff]|\ud81d[\udc00-\udfff]|\ud81e[\udc00-\udfff]|\ud81f[\udc00-\udfff]|\ud820[\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udef2]|\ud82c[\udc00-\udd1e\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99\udc9d-\udc9e]|\ud834[\udd65-\udd69\udd6d-\udd72\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad\ude42-\ude44]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e-\udc9f\udca2\udca5-\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb\udfce-\udfff]|\ud836[\ude00-\ude36\ude3b-\ude6c\ude75\ude84\ude9b-\ude9f\udea1-\udeaf]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23-\udc24\udc26-\udc2a\udd00-\udd2c\udd30-\udd3d\udd40-\udd49\udd4e\udec0-\udef9]|\ud83a[\udc00-\udcc4\udcd0-\udcd6\udd00-\udd4b\udd50-\udd59]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21-\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51-\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61-\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud840[\udc00-\udfff]|\ud841[\udc00-\udfff]|\ud842[\udc00-\udfff]|\ud843[\udc00-\udfff]|\ud844[\udc00-\udfff]|\ud845[\udc00-\udfff]|\ud846[\udc00-\udfff]|\ud847[\udc00-\udfff]|\ud848[\udc00-\udfff]|\ud849[\udc00-\udfff]|\ud84a[\udc00-\udfff]|\ud84b[\udc00-\udfff]|\ud84c[\udc00-\udfff]|\ud84d[\udc00-\udfff]|\ud84e[\udc00-\udfff]|\ud84f[\udc00-\udfff]|\ud850[\udc00-\udfff]|\ud851[\udc00-\udfff]|\ud852[\udc00-\udfff]|\ud853[\udc00-\udfff]|\ud854[\udc00-\udfff]|\ud855[\udc00-\udfff]|\ud856[\udc00-\udfff]|\ud857[\udc00-\udfff]|\ud858[\udc00-\udfff]|\ud859[\udc00-\udfff]|\ud85a[\udc00-\udfff]|\ud85b[\udc00-\udfff]|\ud85c[\udc00-\udfff]|\ud85d[\udc00-\udfff]|\ud85e[\udc00-\udfff]|\ud85f[\udc00-\udfff]|\ud860[\udc00-\udfff]|\ud861[\udc00-\udfff]|\ud862[\udc00-\udfff]|\ud863[\udc00-\udfff]|\ud864[\udc00-\udfff]|\ud865[\udc00-\udfff]|\ud866[\udc00-\udfff]|\ud867[\udc00-\udfff]|\ud868[\udc00-\udfff]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86a[\udc00-\udfff]|\ud86b[\udc00-\udfff]|\ud86c[\udc00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud86f[\udc00-\udfff]|\ud870[\udc00-\udfff]|\ud871[\udc00-\udfff]|\ud872[\udc00-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud874[\udc00-\udfff]|\ud875[\udc00-\udfff]|\ud876[\udc00-\udfff]|\ud877[\udc00-\udfff]|\ud878[\udc00-\udfff]|\ud879[\udc00-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\udb40[\udd00-\uddef])|[$_]|(\\u[0-9a-fA-F]{4}|\\u\{[0-9a-fA-F]{1,}\})|[\u200c\u200d])*>/, function() {
|
|
return validateUnicodeGroupName(yytext.slice(3, -1), this.getCurrentState()), "NAMED_GROUP_REF"
|
|
}],
|
|
[/^\\b/, function() {
|
|
return "ESC_b"
|
|
}],
|
|
[/^\\B/, function() {
|
|
return "ESC_B"
|
|
}],
|
|
[/^\\c[a-zA-Z]/, function() {
|
|
return "CTRL_CH"
|
|
}],
|
|
[/^\\0\d{1,2}/, function() {
|
|
return "OCT_CODE"
|
|
}],
|
|
[/^\\0/, function() {
|
|
return "DEC_CODE"
|
|
}],
|
|
[/^\\\d{1,3}/, function() {
|
|
return "DEC_CODE"
|
|
}],
|
|
[/^\\u[dD][89abAB][0-9a-fA-F]{2}\\u[dD][c-fC-F][0-9a-fA-F]{2}/, function() {
|
|
return "U_CODE_SURROGATE"
|
|
}],
|
|
[/^\\u\{[0-9a-fA-F]{1,}\}/, function() {
|
|
return "U_CODE"
|
|
}],
|
|
[/^\\u[0-9a-fA-F]{4}/, function() {
|
|
return "U_CODE"
|
|
}],
|
|
[/^\\[pP]\{\w+(?:=\w+)?\}/, function() {
|
|
return "U_PROP_VALUE_EXP"
|
|
}],
|
|
[/^\\x[0-9a-fA-F]{2}/, function() {
|
|
return "HEX_CODE"
|
|
}],
|
|
[/^\\[tnrdDsSwWvf]/, function() {
|
|
return "META_CHAR"
|
|
}],
|
|
[/^\\\//, function() {
|
|
return "ESC_CHAR"
|
|
}],
|
|
[/^\\[ #]/, function() {
|
|
return "ESC_CHAR"
|
|
}],
|
|
[/^\\[\^\$\.\*\+\?\(\)\\\[\]\{\}\|\/]/, function() {
|
|
return "ESC_CHAR"
|
|
}],
|
|
[/^\\[^*?+\[()\\|]/, function() {
|
|
var s = this.getCurrentState();
|
|
if ("u_class" === s && "\\-" === yytext) return "ESC_CHAR";
|
|
if ("u" === s || "xu" === s || "u_class" === s) throw new SyntaxError("invalid Unicode escape " + yytext);
|
|
return "ESC_CHAR"
|
|
}],
|
|
[/^\(/, function() {
|
|
return "CHAR"
|
|
}],
|
|
[/^\)/, function() {
|
|
return "CHAR"
|
|
}],
|
|
[/^\(\?=/, function() {
|
|
return "POS_LA_ASSERT"
|
|
}],
|
|
[/^\(\?!/, function() {
|
|
return "NEG_LA_ASSERT"
|
|
}],
|
|
[/^\(\?<=/, function() {
|
|
return "POS_LB_ASSERT"
|
|
}],
|
|
[/^\(\?<!/, function() {
|
|
return "NEG_LB_ASSERT"
|
|
}],
|
|
[/^\(\?:/, function() {
|
|
return "NON_CAPTURE_GROUP"
|
|
}],
|
|
[/^\(\?<(([\u0041-\u005a\u0061-\u007a\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376-\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e-\u066f\u0671-\u06d3\u06d5\u06e5-\u06e6\u06ee-\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4-\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc-\u09dd\u09df-\u09e1\u09f0-\u09f1\u09fc\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0-\u0ae1\u0af9\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3d\u0b5c-\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60-\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0-\u0ce1\u0cf1-\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32-\u0e33\u0e40-\u0e46\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2-\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065-\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae-\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5-\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a-\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7c6\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd-\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5-\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab67\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]|\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c-\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf75\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37-\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4-\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe-\uddbf\ude00\ude10-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd23\udf00-\udf1c\udf27\udf30-\udf45\udfe0-\udff6]|\ud804[\udc03-\udc37\udc83-\udcaf\udcd0-\udce8\udd03-\udd26\udd44\udd50-\udd72\udd76\udd83-\uddb2\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude2b\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udede\udf05-\udf0c\udf0f-\udf10\udf13-\udf28\udf2a-\udf30\udf32-\udf33\udf35-\udf39\udf3d\udf50\udf5d-\udf61]|\ud805[\udc00-\udc34\udc47-\udc4a\udc5f\udc80-\udcaf\udcc4-\udcc5\udcc7\udd80-\uddae\uddd8-\udddb\ude00-\ude2f\ude44\ude80-\udeaa\udeb8\udf00-\udf1a]|\ud806[\udc00-\udc2b\udca0-\udcdf\udcff\udda0-\udda7\uddaa-\uddd0\udde1\udde3\ude00\ude0b-\ude32\ude3a\ude50\ude5c-\ude89\ude9d\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc2e\udc40\udc72-\udc8f\udd00-\udd06\udd08-\udd09\udd0b-\udd30\udd46\udd60-\udd65\udd67-\udd68\udd6a-\udd89\udd98\udee0-\udef2]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\uded0-\udeed\udf00-\udf2f\udf40-\udf43\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf50\udf93-\udf9f\udfe0-\udfe1\udfe3]|\ud81c[\udc00-\udfff]|\ud81d[\udc00-\udfff]|\ud81e[\udc00-\udfff]|\ud81f[\udc00-\udfff]|\ud820[\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udef2]|\ud82c[\udc00-\udd1e\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e-\udc9f\udca2\udca5-\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud838[\udd00-\udd2c\udd37-\udd3d\udd4e\udec0-\udeeb]|\ud83a[\udc00-\udcc4\udd00-\udd43\udd4b]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21-\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51-\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61-\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud840[\udc00-\udfff]|\ud841[\udc00-\udfff]|\ud842[\udc00-\udfff]|\ud843[\udc00-\udfff]|\ud844[\udc00-\udfff]|\ud845[\udc00-\udfff]|\ud846[\udc00-\udfff]|\ud847[\udc00-\udfff]|\ud848[\udc00-\udfff]|\ud849[\udc00-\udfff]|\ud84a[\udc00-\udfff]|\ud84b[\udc00-\udfff]|\ud84c[\udc00-\udfff]|\ud84d[\udc00-\udfff]|\ud84e[\udc00-\udfff]|\ud84f[\udc00-\udfff]|\ud850[\udc00-\udfff]|\ud851[\udc00-\udfff]|\ud852[\udc00-\udfff]|\ud853[\udc00-\udfff]|\ud854[\udc00-\udfff]|\ud855[\udc00-\udfff]|\ud856[\udc00-\udfff]|\ud857[\udc00-\udfff]|\ud858[\udc00-\udfff]|\ud859[\udc00-\udfff]|\ud85a[\udc00-\udfff]|\ud85b[\udc00-\udfff]|\ud85c[\udc00-\udfff]|\ud85d[\udc00-\udfff]|\ud85e[\udc00-\udfff]|\ud85f[\udc00-\udfff]|\ud860[\udc00-\udfff]|\ud861[\udc00-\udfff]|\ud862[\udc00-\udfff]|\ud863[\udc00-\udfff]|\ud864[\udc00-\udfff]|\ud865[\udc00-\udfff]|\ud866[\udc00-\udfff]|\ud867[\udc00-\udfff]|\ud868[\udc00-\udfff]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86a[\udc00-\udfff]|\ud86b[\udc00-\udfff]|\ud86c[\udc00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud86f[\udc00-\udfff]|\ud870[\udc00-\udfff]|\ud871[\udc00-\udfff]|\ud872[\udc00-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud874[\udc00-\udfff]|\ud875[\udc00-\udfff]|\ud876[\udc00-\udfff]|\ud877[\udc00-\udfff]|\ud878[\udc00-\udfff]|\ud879[\udc00-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d])|[$_]|(\\u[0-9a-fA-F]{4}|\\u\{[0-9a-fA-F]{1,}\}))(([\u0030-\u0039\u0041-\u005a\u005f\u0061-\u007a\u00aa\u00b5\u00b7\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0300-\u0374\u0376-\u0377\u037a-\u037d\u037f\u0386-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u0483-\u0487\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05bd\u05bf\u05c1-\u05c2\u05c4-\u05c5\u05c7\u05d0-\u05ea\u05ef-\u05f2\u0610-\u061a\u0620-\u0669\u066e-\u06d3\u06d5-\u06dc\u06df-\u06e8\u06ea-\u06fc\u06ff\u0710-\u074a\u074d-\u07b1\u07c0-\u07f5\u07fa\u07fd\u0800-\u082d\u0840-\u085b\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u08d3-\u08e1\u08e3-\u0963\u0966-\u096f\u0971-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09f1\u09fc\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0aef\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b56-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b6f\u0b71\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bef\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c60-\u0c63\u0c66-\u0c6f\u0c80-\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf2\u0d00-\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4e\u0d54-\u0d57\u0d5f-\u0d63\u0d66-\u0d6f\u0d7a-\u0d7f\u0d82-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df3\u0e01-\u0e3a\u0e40-\u0e4e\u0e50-\u0e59\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf\u0f00\u0f18-\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e-\u0f47\u0f49-\u0f6c\u0f71-\u0f84\u0f86-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1049\u1050-\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u135f\u1369-\u1371\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17d3\u17d7\u17dc-\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u1a00-\u1a1b\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa7\u1ab0-\u1abd\u1b00-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1bf3\u1c00-\u1c37\u1c40-\u1c49\u1c4d-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1cd0-\u1cd2\u1cd4-\u1cfa\u1d00-\u1df9\u1dfb-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u203f-\u2040\u2054\u2071\u207f\u2090-\u209c\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u3005-\u3007\u3021-\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u3099-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua62b\ua640-\ua66f\ua674-\ua67d\ua67f-\ua6f1\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7c6\ua7f7-\ua827\ua840-\ua873\ua880-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f7\ua8fb\ua8fd-\ua92d\ua930-\ua953\ua960-\ua97c\ua980-\ua9c0\ua9cf-\ua9d9\ua9e0-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa60-\uaa76\uaa7a-\uaac2\uaadb-\uaadd\uaae0-\uaaef\uaaf2-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab67\uab70-\uabea\uabec-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe00-\ufe0f\ufe20-\ufe2f\ufe33-\ufe34\ufe4d-\ufe4f\ufe70-\ufe74\ufe76-\ufefc\uff10-\uff19\uff21-\uff3a\uff3f\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]|\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c-\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\uddfd\ude80-\ude9c\udea0-\uded0\udee0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf7a\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udca0-\udca9\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37-\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4-\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe-\uddbf\ude00-\ude03\ude05-\ude06\ude0c-\ude13\ude15-\ude17\ude19-\ude35\ude38-\ude3a\ude3f\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee6\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd27\udd30-\udd39\udf00-\udf1c\udf27\udf30-\udf50\udfe0-\udff6]|\ud804[\udc00-\udc46\udc66-\udc6f\udc7f-\udcba\udcd0-\udce8\udcf0-\udcf9\udd00-\udd34\udd36-\udd3f\udd44-\udd46\udd50-\udd73\udd76\udd80-\uddc4\uddc9-\uddcc\uddd0-\uddda\udddc\ude00-\ude11\ude13-\ude37\ude3e\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udeea\udef0-\udef9\udf00-\udf03\udf05-\udf0c\udf0f-\udf10\udf13-\udf28\udf2a-\udf30\udf32-\udf33\udf35-\udf39\udf3b-\udf44\udf47-\udf48\udf4b-\udf4d\udf50\udf57\udf5d-\udf63\udf66-\udf6c\udf70-\udf74]|\ud805[\udc00-\udc4a\udc50-\udc59\udc5e-\udc5f\udc80-\udcc5\udcc7\udcd0-\udcd9\udd80-\uddb5\uddb8-\uddc0\uddd8-\udddd\ude00-\ude40\ude44\ude50-\ude59\ude80-\udeb8\udec0-\udec9\udf00-\udf1a\udf1d-\udf2b\udf30-\udf39]|\ud806[\udc00-\udc3a\udca0-\udce9\udcff\udda0-\udda7\uddaa-\uddd7\uddda-\udde1\udde3-\udde4\ude00-\ude3e\ude47\ude50-\ude99\ude9d\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc36\udc38-\udc40\udc50-\udc59\udc72-\udc8f\udc92-\udca7\udca9-\udcb6\udd00-\udd06\udd08-\udd09\udd0b-\udd36\udd3a\udd3c-\udd3d\udd3f-\udd47\udd50-\udd59\udd60-\udd65\udd67-\udd68\udd6a-\udd8e\udd90-\udd91\udd93-\udd98\udda0-\udda9\udee0-\udef6]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude60-\ude69\uded0-\udeed\udef0-\udef4\udf00-\udf36\udf40-\udf43\udf50-\udf59\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf4f-\udf87\udf8f-\udf9f\udfe0-\udfe1\udfe3]|\ud81c[\udc00-\udfff]|\ud81d[\udc00-\udfff]|\ud81e[\udc00-\udfff]|\ud81f[\udc00-\udfff]|\ud820[\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udef2]|\ud82c[\udc00-\udd1e\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99\udc9d-\udc9e]|\ud834[\udd65-\udd69\udd6d-\udd72\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad\ude42-\ude44]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e-\udc9f\udca2\udca5-\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb\udfce-\udfff]|\ud836[\ude00-\ude36\ude3b-\ude6c\ude75\ude84\ude9b-\ude9f\udea1-\udeaf]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23-\udc24\udc26-\udc2a\udd00-\udd2c\udd30-\udd3d\udd40-\udd49\udd4e\udec0-\udef9]|\ud83a[\udc00-\udcc4\udcd0-\udcd6\udd00-\udd4b\udd50-\udd59]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21-\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51-\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61-\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud840[\udc00-\udfff]|\ud841[\udc00-\udfff]|\ud842[\udc00-\udfff]|\ud843[\udc00-\udfff]|\ud844[\udc00-\udfff]|\ud845[\udc00-\udfff]|\ud846[\udc00-\udfff]|\ud847[\udc00-\udfff]|\ud848[\udc00-\udfff]|\ud849[\udc00-\udfff]|\ud84a[\udc00-\udfff]|\ud84b[\udc00-\udfff]|\ud84c[\udc00-\udfff]|\ud84d[\udc00-\udfff]|\ud84e[\udc00-\udfff]|\ud84f[\udc00-\udfff]|\ud850[\udc00-\udfff]|\ud851[\udc00-\udfff]|\ud852[\udc00-\udfff]|\ud853[\udc00-\udfff]|\ud854[\udc00-\udfff]|\ud855[\udc00-\udfff]|\ud856[\udc00-\udfff]|\ud857[\udc00-\udfff]|\ud858[\udc00-\udfff]|\ud859[\udc00-\udfff]|\ud85a[\udc00-\udfff]|\ud85b[\udc00-\udfff]|\ud85c[\udc00-\udfff]|\ud85d[\udc00-\udfff]|\ud85e[\udc00-\udfff]|\ud85f[\udc00-\udfff]|\ud860[\udc00-\udfff]|\ud861[\udc00-\udfff]|\ud862[\udc00-\udfff]|\ud863[\udc00-\udfff]|\ud864[\udc00-\udfff]|\ud865[\udc00-\udfff]|\ud866[\udc00-\udfff]|\ud867[\udc00-\udfff]|\ud868[\udc00-\udfff]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86a[\udc00-\udfff]|\ud86b[\udc00-\udfff]|\ud86c[\udc00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud86f[\udc00-\udfff]|\ud870[\udc00-\udfff]|\ud871[\udc00-\udfff]|\ud872[\udc00-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud874[\udc00-\udfff]|\ud875[\udc00-\udfff]|\ud876[\udc00-\udfff]|\ud877[\udc00-\udfff]|\ud878[\udc00-\udfff]|\ud879[\udc00-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\udb40[\udd00-\uddef])|[$_]|(\\u[0-9a-fA-F]{4}|\\u\{[0-9a-fA-F]{1,}\})|[\u200c\u200d])*>/, function() {
|
|
return validateUnicodeGroupName(yytext = yytext.slice(3, -1), this.getCurrentState()), "NAMED_CAPTURE_GROUP"
|
|
}],
|
|
[/^\(/, function() {
|
|
return "L_PAREN"
|
|
}],
|
|
[/^\)/, function() {
|
|
return "R_PAREN"
|
|
}],
|
|
[/^[*?+[^$]/, function() {
|
|
return "CHAR"
|
|
}],
|
|
[/^\\\]/, function() {
|
|
return "ESC_CHAR"
|
|
}],
|
|
[/^\]/, function() {
|
|
return this.popState(), "R_BRACKET"
|
|
}],
|
|
[/^\^/, function() {
|
|
return "BOS"
|
|
}],
|
|
[/^\$/, function() {
|
|
return "EOS"
|
|
}],
|
|
[/^\*/, function() {
|
|
return "STAR"
|
|
}],
|
|
[/^\?/, function() {
|
|
return "Q_MARK"
|
|
}],
|
|
[/^\+/, function() {
|
|
return "PLUS"
|
|
}],
|
|
[/^\|/, function() {
|
|
return "BAR"
|
|
}],
|
|
[/^\./, function() {
|
|
return "ANY"
|
|
}],
|
|
[/^\//, function() {
|
|
return "SLASH"
|
|
}],
|
|
[/^[^*?+\[()\\|]/, function() {
|
|
return "CHAR"
|
|
}],
|
|
[/^\[\^/, function() {
|
|
var s = this.getCurrentState();
|
|
return this.pushState("u" === s || "xu" === s ? "u_class" : "class"), "NEG_CLASS"
|
|
}],
|
|
[/^\[/, function() {
|
|
var s = this.getCurrentState();
|
|
return this.pushState("u" === s || "xu" === s ? "u_class" : "class"), "L_BRACKET"
|
|
}]
|
|
],
|
|
lexRulesByConditions = {
|
|
INITIAL: [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 22, 23, 24, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51],
|
|
u: [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51],
|
|
xu: [0, 1, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51],
|
|
x: [0, 1, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 22, 23, 24, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51],
|
|
u_class: [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51],
|
|
class: [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51]
|
|
},
|
|
EOF_TOKEN = {
|
|
type: "$",
|
|
value: ""
|
|
};
|
|
tokenizer = {
|
|
initString: function(string) {
|
|
return this._string = string, this._cursor = 0, this._states = ["INITIAL"], this._tokensQueue = [], this._currentLine = 1, this._currentColumn = 0, this._currentLineBeginOffset = 0, this._tokenStartOffset = 0, this._tokenEndOffset = 0, this._tokenStartLine = 1, this._tokenEndLine = 1, this._tokenStartColumn = 0, this._tokenEndColumn = 0, this
|
|
},
|
|
getStates: function() {
|
|
return this._states
|
|
},
|
|
getCurrentState: function() {
|
|
return this._states[this._states.length - 1]
|
|
},
|
|
pushState: function(state) {
|
|
this._states.push(state)
|
|
},
|
|
begin: function(state) {
|
|
this.pushState(state)
|
|
},
|
|
popState: function() {
|
|
return this._states.length > 1 ? this._states.pop() : this._states[0]
|
|
},
|
|
getNextToken: function() {
|
|
if (this._tokensQueue.length > 0) return this.onToken(this._toToken(this._tokensQueue.shift()));
|
|
if (!this.hasMoreTokens()) return this.onToken(EOF_TOKEN);
|
|
for (var string = this._string.slice(this._cursor), lexRulesForState = lexRulesByConditions[this.getCurrentState()], i = 0; i < lexRulesForState.length; i++) {
|
|
var lexRuleIndex = lexRulesForState[i],
|
|
lexRule = lexRules[lexRuleIndex],
|
|
matched = this._match(string, lexRule[0]);
|
|
if ("" === string && "" === matched && this._cursor++, null !== matched) {
|
|
(yytext = matched).length;
|
|
var token = lexRule[1].call(this);
|
|
if (!token) return this.getNextToken();
|
|
if (Array.isArray(token)) {
|
|
var _tokensQueue, tokensToQueue = token.slice(1);
|
|
if (token = token[0], tokensToQueue.length > 0)(_tokensQueue = this._tokensQueue).unshift.apply(_tokensQueue, _toConsumableArray(tokensToQueue))
|
|
}
|
|
return this.onToken(this._toToken(token, yytext))
|
|
}
|
|
}
|
|
if (this.isEOF()) return this._cursor++, EOF_TOKEN;
|
|
this.throwUnexpectedToken(string[0], this._currentLine, this._currentColumn)
|
|
},
|
|
throwUnexpectedToken: function(symbol, line, column) {
|
|
var lineSource = this._string.split("\n")[line - 1],
|
|
lineData = "";
|
|
lineSource && (lineData = "\n\n" + lineSource + "\n" + " ".repeat(column) + "^\n");
|
|
throw new SyntaxError(lineData + 'Unexpected token: "' + symbol + '" at ' + line + ":" + column + ".")
|
|
},
|
|
getCursor: function() {
|
|
return this._cursor
|
|
},
|
|
getCurrentLine: function() {
|
|
return this._currentLine
|
|
},
|
|
getCurrentColumn: function() {
|
|
return this._currentColumn
|
|
},
|
|
_captureLocation: function(matched) {
|
|
var nlRe = /\n/g;
|
|
this._tokenStartOffset = this._cursor, this._tokenStartLine = this._currentLine, this._tokenStartColumn = this._tokenStartOffset - this._currentLineBeginOffset;
|
|
for (var nlMatch = void 0; null !== (nlMatch = nlRe.exec(matched));) this._currentLine++, this._currentLineBeginOffset = this._tokenStartOffset + nlMatch.index + 1;
|
|
this._tokenEndOffset = this._cursor + matched.length, this._tokenEndLine = this._currentLine, this._tokenEndColumn = this._currentColumn = this._tokenEndOffset - this._currentLineBeginOffset
|
|
},
|
|
_toToken: function(tokenType) {
|
|
return {
|
|
type: tokenType,
|
|
value: arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "",
|
|
startOffset: this._tokenStartOffset,
|
|
endOffset: this._tokenEndOffset,
|
|
startLine: this._tokenStartLine,
|
|
endLine: this._tokenEndLine,
|
|
startColumn: this._tokenStartColumn,
|
|
endColumn: this._tokenEndColumn
|
|
}
|
|
},
|
|
isEOF: function() {
|
|
return this._cursor === this._string.length
|
|
},
|
|
hasMoreTokens: function() {
|
|
return this._cursor <= this._string.length
|
|
},
|
|
_match: function(string, regexp) {
|
|
var matched = string.match(regexp);
|
|
return matched ? (this._captureLocation(matched[0]), this._cursor += matched[0].length, matched[0]) : null
|
|
},
|
|
onToken: function(token) {
|
|
return token
|
|
}
|
|
}, yy.lexer = tokenizer, yy.tokenizer = tokenizer, yy.options = {
|
|
captureLocations: !0
|
|
};
|
|
var yyparse = {
|
|
setOptions: function(options) {
|
|
return yy.options = options, this
|
|
},
|
|
getOptions: function() {
|
|
return yy.options
|
|
},
|
|
parse: function(string, parseOptions) {
|
|
if (!tokenizer) throw new Error("Tokenizer instance wasn't specified.");
|
|
tokenizer.initString(string);
|
|
var globalOptions = yy.options;
|
|
parseOptions && (yy.options = Object.assign({}, yy.options, parseOptions)), yyparse.onParseBegin(string, tokenizer, yy.options), stack.length = 0, stack.push(0);
|
|
var token = tokenizer.getNextToken(),
|
|
shiftedToken = null;
|
|
do {
|
|
token || (yy.options = globalOptions, unexpectedEndOfInput());
|
|
var state = stack[stack.length - 1],
|
|
column = tokens[token.type];
|
|
table[state].hasOwnProperty(column) || (yy.options = globalOptions, unexpectedToken(token));
|
|
var entry = table[state][column];
|
|
if ("s" === entry[0]) {
|
|
var _loc2 = null;
|
|
yy.options.captureLocations && (_loc2 = {
|
|
startOffset: token.startOffset,
|
|
endOffset: token.endOffset,
|
|
startLine: token.startLine,
|
|
endLine: token.endLine,
|
|
startColumn: token.startColumn,
|
|
endColumn: token.endColumn
|
|
}), shiftedToken = this.onShift(token), stack.push({
|
|
symbol: tokens[shiftedToken.type],
|
|
semanticValue: shiftedToken.value,
|
|
loc: _loc2
|
|
}, Number(entry.slice(1))), token = tokenizer.getNextToken()
|
|
} else if ("r" === entry[0]) {
|
|
var productionNumber = entry.slice(1),
|
|
production = productions[productionNumber],
|
|
hasSemanticAction = "function" == typeof production[2],
|
|
semanticValueArgs = hasSemanticAction ? [] : null,
|
|
locationArgs = hasSemanticAction && yy.options.captureLocations ? [] : null;
|
|
if (0 !== production[1])
|
|
for (var rhsLength = production[1]; rhsLength-- > 0;) {
|
|
stack.pop();
|
|
var stackEntry = stack.pop();
|
|
hasSemanticAction && (semanticValueArgs.unshift(stackEntry.semanticValue), locationArgs && locationArgs.unshift(stackEntry.loc))
|
|
}
|
|
var reduceStackEntry = {
|
|
symbol: production[0]
|
|
};
|
|
if (hasSemanticAction) {
|
|
yytext = shiftedToken ? shiftedToken.value : null, shiftedToken ? shiftedToken.value.length : null;
|
|
var semanticActionArgs = null !== locationArgs ? semanticValueArgs.concat(locationArgs) : semanticValueArgs;
|
|
production[2].apply(production, _toConsumableArray(semanticActionArgs)), reduceStackEntry.semanticValue = __, locationArgs && (reduceStackEntry.loc = __loc)
|
|
}
|
|
var nextState = stack[stack.length - 1],
|
|
symbolToReduceWith = production[0];
|
|
stack.push(reduceStackEntry, table[nextState][symbolToReduceWith])
|
|
} else if ("acc" === entry) {
|
|
stack.pop();
|
|
var parsed = stack.pop();
|
|
return (1 !== stack.length || 0 !== stack[0] || tokenizer.hasMoreTokens()) && (yy.options = globalOptions, unexpectedToken(token)), parsed.hasOwnProperty("semanticValue") ? (yy.options = globalOptions, yyparse.onParseEnd(parsed.semanticValue), parsed.semanticValue) : (yyparse.onParseEnd(), yy.options = globalOptions, !0)
|
|
}
|
|
} while (tokenizer.hasMoreTokens() || stack.length > 1)
|
|
},
|
|
setTokenizer: function(customTokenizer) {
|
|
return tokenizer = customTokenizer, yyparse
|
|
},
|
|
getTokenizer: function() {
|
|
return tokenizer
|
|
},
|
|
onParseBegin: function(string, tokenizer, options) {},
|
|
onParseEnd: function(parsed) {},
|
|
onShift: function(token) {
|
|
return token
|
|
}
|
|
},
|
|
capturingGroupsCount = 0,
|
|
namedGroups = {},
|
|
parsingString = "";
|
|
|
|
function getRange(text) {
|
|
var range = text.match(/\d+/g).map(Number);
|
|
if (Number.isFinite(range[1]) && range[1] < range[0]) throw new SyntaxError("Numbers out of order in " + text + " quantifier");
|
|
return range
|
|
}
|
|
|
|
function checkClassRange(from, to) {
|
|
if ("control" === from.kind || "control" === to.kind || !isNaN(from.codePoint) && !isNaN(to.codePoint) && from.codePoint > to.codePoint) throw new SyntaxError("Range " + from.value + "-" + to.value + " out of order in character class")
|
|
}
|
|
yyparse.onParseBegin = function(string, lexer) {
|
|
parsingString = string, capturingGroupsCount = 0, namedGroups = {};
|
|
var lastSlash = string.lastIndexOf("/"),
|
|
flags = string.slice(lastSlash);
|
|
flags.includes("x") && flags.includes("u") ? lexer.pushState("xu") : (flags.includes("x") && lexer.pushState("x"), flags.includes("u") && lexer.pushState("u"))
|
|
}, yyparse.onShift = function(token) {
|
|
return "L_PAREN" !== token.type && "NAMED_CAPTURE_GROUP" !== token.type || (token.value = new String(token.value), token.value.groupNumber = ++capturingGroupsCount), token
|
|
};
|
|
var unicodeProperties = __webpack_require__(60901);
|
|
|
|
function Char(value, kind, loc) {
|
|
var symbol = void 0,
|
|
codePoint = void 0;
|
|
switch (kind) {
|
|
case "decimal":
|
|
codePoint = Number(value.slice(1)), symbol = String.fromCodePoint(codePoint);
|
|
break;
|
|
case "oct":
|
|
codePoint = parseInt(value.slice(1), 8), symbol = String.fromCodePoint(codePoint);
|
|
break;
|
|
case "hex":
|
|
case "unicode":
|
|
if (value.lastIndexOf("\\u") > 0) {
|
|
var _value$split$slice = value.split("\\u").slice(1),
|
|
_value$split$slice2 = _slicedToArray(_value$split$slice, 2),
|
|
lead = _value$split$slice2[0],
|
|
trail = _value$split$slice2[1];
|
|
codePoint = 1024 * ((lead = parseInt(lead, 16)) - 55296) + ((trail = parseInt(trail, 16)) - 56320) + 65536, symbol = String.fromCodePoint(codePoint)
|
|
} else {
|
|
var hex = value.slice(2).replace("{", "");
|
|
if ((codePoint = parseInt(hex, 16)) > 1114111) throw new SyntaxError("Bad character escape sequence: " + value);
|
|
symbol = String.fromCodePoint(codePoint)
|
|
}
|
|
break;
|
|
case "meta":
|
|
switch (value) {
|
|
case "\\t":
|
|
codePoint = (symbol = "\t").codePointAt(0);
|
|
break;
|
|
case "\\n":
|
|
codePoint = (symbol = "\n").codePointAt(0);
|
|
break;
|
|
case "\\r":
|
|
codePoint = (symbol = "\r").codePointAt(0);
|
|
break;
|
|
case "\\v":
|
|
codePoint = (symbol = "\v").codePointAt(0);
|
|
break;
|
|
case "\\f":
|
|
codePoint = (symbol = "\f").codePointAt(0);
|
|
break;
|
|
case "\\b":
|
|
codePoint = (symbol = "\b").codePointAt(0);
|
|
case "\\0":
|
|
symbol = "\0", codePoint = 0;
|
|
case ".":
|
|
symbol = ".", codePoint = NaN;
|
|
break;
|
|
default:
|
|
codePoint = NaN
|
|
}
|
|
break;
|
|
case "simple":
|
|
codePoint = (symbol = value).codePointAt(0)
|
|
}
|
|
return Node({
|
|
type: "Char",
|
|
value,
|
|
kind,
|
|
symbol,
|
|
codePoint
|
|
}, loc)
|
|
}
|
|
var validFlags = "gimsuxy";
|
|
|
|
function checkFlags(flags) {
|
|
var seen = new Set,
|
|
_iteratorNormalCompletion = !0,
|
|
_didIteratorError = !1,
|
|
_iteratorError = void 0;
|
|
try {
|
|
for (var _step, _iterator = flags[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
var flag = _step.value;
|
|
if (seen.has(flag) || !validFlags.includes(flag)) throw new SyntaxError("Invalid flags: " + flags);
|
|
seen.add(flag)
|
|
}
|
|
} catch (err) {
|
|
_didIteratorError = !0, _iteratorError = err
|
|
} finally {
|
|
try {
|
|
!_iteratorNormalCompletion && _iterator.return && _iterator.return()
|
|
} finally {
|
|
if (_didIteratorError) throw _iteratorError
|
|
}
|
|
}
|
|
return flags.split("").sort().join("")
|
|
}
|
|
var uReStart = /^\\u[0-9a-fA-F]{4}/,
|
|
ucpReStart = /^\\u\{[0-9a-fA-F]{1,}\}/,
|
|
ucpReAnywhere = /\\u\{[0-9a-fA-F]{1,}\}/;
|
|
|
|
function validateUnicodeGroupName(name, state) {
|
|
if (ucpReAnywhere.test(name) && !("u" === state || "xu" === state || "u_class" === state)) throw new SyntaxError('invalid group Unicode name "' + name + '", use `u` flag.');
|
|
return name
|
|
}
|
|
var uidRe = /\\u(?:([dD][89aAbB][0-9a-fA-F]{2})\\u([dD][c-fC-F][0-9a-fA-F]{2})|([dD][89aAbB][0-9a-fA-F]{2})|([dD][c-fC-F][0-9a-fA-F]{2})|([0-9a-ce-fA-CE-F][0-9a-fA-F]{3}|[dD][0-7][0-9a-fA-F]{2})|\{(0*(?:[0-9a-fA-F]{1,5}|10[0-9a-fA-F]{4}))\})/;
|
|
|
|
function decodeUnicodeGroupName(name) {
|
|
return name.replace(new RegExp(uidRe, "g"), function(_, leadSurrogate, trailSurrogate, leadSurrogateOnly, trailSurrogateOnly, nonSurrogate, codePoint) {
|
|
return leadSurrogate ? String.fromCodePoint(parseInt(leadSurrogate, 16), parseInt(trailSurrogate, 16)) : leadSurrogateOnly ? String.fromCodePoint(parseInt(leadSurrogateOnly, 16)) : trailSurrogateOnly ? String.fromCodePoint(parseInt(trailSurrogateOnly, 16)) : nonSurrogate ? String.fromCodePoint(parseInt(nonSurrogate, 16)) : codePoint ? String.fromCodePoint(parseInt(codePoint, 16)) : _
|
|
})
|
|
}
|
|
|
|
function Node(node, loc) {
|
|
return yy.options.captureLocations && (node.loc = {
|
|
source: parsingString.slice(loc.startOffset, loc.endOffset),
|
|
start: {
|
|
line: loc.startLine,
|
|
column: loc.startColumn,
|
|
offset: loc.startOffset
|
|
},
|
|
end: {
|
|
line: loc.endLine,
|
|
column: loc.endColumn,
|
|
offset: loc.endOffset
|
|
}
|
|
}), node
|
|
}
|
|
|
|
function loc(start, end) {
|
|
return yy.options.captureLocations ? {
|
|
startOffset: start.startOffset,
|
|
endOffset: end.endOffset,
|
|
startLine: start.startLine,
|
|
endLine: end.endLine,
|
|
startColumn: start.startColumn,
|
|
endColumn: end.endColumn
|
|
} : null
|
|
}
|
|
|
|
function unexpectedToken(token) {
|
|
"$" === token.type && unexpectedEndOfInput(), tokenizer.throwUnexpectedToken(token.value, token.startLine, token.startColumn)
|
|
}
|
|
|
|
function unexpectedEndOfInput() {
|
|
! function(message) {
|
|
throw new SyntaxError(message)
|
|
}("Unexpected end of input.")
|
|
}
|
|
module.exports = yyparse
|
|
},
|
|
42323: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912));
|
|
exports.default = new _dac.default({
|
|
description: "Pretty Little Thing UK DAC",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 10
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "7364992600022542892",
|
|
name: "PrettyLittleThing"
|
|
}],
|
|
doDac: async function(code, selector, priceAmt, applyBestCode) {
|
|
const page = window.location.href,
|
|
formKey = (document.cookie.match("form_key=(.*?);") || [])[1],
|
|
newrelicId = ((0, _jquery.default)("script").text().match('xpid:"(.*=)"}') || [])[1],
|
|
csrfToken = (document.cookie.match("_csrf=(.*?);") || [])[1];
|
|
let price = priceAmt;
|
|
if (page.match("checkout/cart")) {
|
|
! function(res) {
|
|
try {
|
|
price = _legacyHoneyUtils.default.cleanPrice(res.grand_total)
|
|
} catch (e) {}
|
|
Number(price) < priceAmt && (0, _jquery.default)("p.totals").text("Subtotal: " + price)
|
|
}(await async function() {
|
|
const activeCode = code,
|
|
res = _jquery.default.ajax({
|
|
url: "https://www.prettylittlething.com/pltmobile/coupon/couponPost/",
|
|
method: "POST",
|
|
headers: {
|
|
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
|
|
accept: "application/json, text/javascript, */*; q=0.01",
|
|
"x-newrelic-id": newrelicId
|
|
},
|
|
data: {
|
|
code: activeCode,
|
|
form_key: formKey
|
|
}
|
|
});
|
|
return await res.done(_data => {
|
|
_logger.default.debug("Applying cart code")
|
|
}), res
|
|
}()), !1 === applyBestCode && await async function() {
|
|
const res = _jquery.default.ajax({
|
|
url: "https://www.prettylittlething.com/pltmobile/coupon/couponPost/",
|
|
method: "POST",
|
|
headers: {
|
|
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
|
|
accept: "application/json, text/javascript, */*; q=0.01",
|
|
"x-newrelic-id": newrelicId
|
|
},
|
|
data: {
|
|
code: "",
|
|
remove: "1",
|
|
form_key: formKey
|
|
}
|
|
});
|
|
await res.done(_data => {
|
|
_logger.default.debug("Removing code")
|
|
})
|
|
}()
|
|
} else if (page.match("checkout.prettylittlething.com")) {
|
|
! function(res) {
|
|
try {
|
|
price = _legacyHoneyUtils.default.formatPrice(res.quote.quote.grand_total)
|
|
} catch (e) {}
|
|
}(await async function() {
|
|
const res = _jquery.default.ajax({
|
|
url: "https://checkout.prettylittlething.com/checkout-api/coupon/set",
|
|
method: "POST",
|
|
headers: {
|
|
"content-type": "application/x-www-form-urlencoded",
|
|
"x-csrf-token": csrfToken
|
|
},
|
|
data: {
|
|
coupon_code: code,
|
|
form_key: formKey
|
|
}
|
|
});
|
|
return await res.done(_data => {
|
|
_logger.default.debug("Applying checkout code")
|
|
}), res
|
|
}()), !1 === applyBestCode && await async function() {
|
|
const res = _jquery.default.ajax({
|
|
url: "https://checkout.prettylittlething.com/checkout-api/coupon",
|
|
method: "POST",
|
|
headers: {
|
|
"content-type": "application/x-www-form-urlencoded",
|
|
"x-csrf-token": csrfToken
|
|
},
|
|
data: {
|
|
form_key: formKey
|
|
}
|
|
});
|
|
await res.done(_data => {
|
|
_logger.default.debug("Removing code")
|
|
})
|
|
}()
|
|
}
|
|
return !0 === applyBestCode ? {
|
|
price: Number(_legacyHoneyUtils.default.cleanPrice(price)),
|
|
nonDacFS: !0,
|
|
sleepTime: 5500
|
|
} : Number(_legacyHoneyUtils.default.cleanPrice(price))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
42487: module => {
|
|
"use strict";
|
|
module.exports = {
|
|
EPSILON: "\u03b5",
|
|
EPSILON_CLOSURE: "\u03b5*"
|
|
}
|
|
},
|
|
42634: () => {},
|
|
42883: function(module, __unused_webpack_exports, __webpack_require__) {
|
|
module.exports = function(e) {
|
|
"use strict";
|
|
|
|
function n(e) {
|
|
return e && "object" == typeof e && "default" in e ? e : {
|
|
default: e
|
|
}
|
|
}
|
|
var t = n(e),
|
|
i = {
|
|
name: "fr",
|
|
weekdays: "dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),
|
|
weekdaysShort: "dim._lun._mar._mer._jeu._ven._sam.".split("_"),
|
|
weekdaysMin: "di_lu_ma_me_je_ve_sa".split("_"),
|
|
months: "janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),
|
|
monthsShort: "janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),
|
|
weekStart: 1,
|
|
yearStart: 4,
|
|
formats: {
|
|
LT: "HH:mm",
|
|
LTS: "HH:mm:ss",
|
|
L: "DD/MM/YYYY",
|
|
LL: "D MMMM YYYY",
|
|
LLL: "D MMMM YYYY HH:mm",
|
|
LLLL: "dddd D MMMM YYYY HH:mm"
|
|
},
|
|
relativeTime: {
|
|
future: "dans %s",
|
|
past: "il y a %s",
|
|
s: "quelques secondes",
|
|
m: "une minute",
|
|
mm: "%d minutes",
|
|
h: "une heure",
|
|
hh: "%d heures",
|
|
d: "un jour",
|
|
dd: "%d jours",
|
|
M: "un mois",
|
|
MM: "%d mois",
|
|
y: "un an",
|
|
yy: "%d ans"
|
|
},
|
|
ordinal: function(e) {
|
|
return e + (1 === e ? "er" : "")
|
|
}
|
|
};
|
|
return t.default.locale(i, null, !0), i
|
|
}(__webpack_require__(86531))
|
|
},
|
|
42968: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var parser = __webpack_require__(6692),
|
|
_require = __webpack_require__(65850),
|
|
alt = _require.alt,
|
|
char = _require.char,
|
|
or = _require.or,
|
|
rep = _require.rep,
|
|
plusRep = _require.plusRep,
|
|
questionRep = _require.questionRep;
|
|
|
|
function gen(node) {
|
|
if (node && !generator[node.type]) throw new Error(node.type + " is not supported in NFA/DFA interpreter.");
|
|
return node ? generator[node.type](node) : ""
|
|
}
|
|
var generator = {
|
|
RegExp: function(node) {
|
|
if ("" !== node.flags) throw new Error("NFA/DFA: Flags are not supported yet.");
|
|
return gen(node.body)
|
|
},
|
|
Alternative: function(node) {
|
|
var fragments = (node.expressions || []).map(gen);
|
|
return alt.apply(void 0, function(arr) {
|
|
if (Array.isArray(arr)) {
|
|
for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
|
|
return arr2
|
|
}
|
|
return Array.from(arr)
|
|
}(fragments))
|
|
},
|
|
Disjunction: function(node) {
|
|
return or(gen(node.left), gen(node.right))
|
|
},
|
|
Repetition: function(node) {
|
|
switch (node.quantifier.kind) {
|
|
case "*":
|
|
return rep(gen(node.expression));
|
|
case "+":
|
|
return plusRep(gen(node.expression));
|
|
case "?":
|
|
return questionRep(gen(node.expression));
|
|
default:
|
|
throw new Error("Unknown repeatition: " + node.quantifier.kind + ".")
|
|
}
|
|
},
|
|
Char: function(node) {
|
|
if ("simple" !== node.kind) throw new Error("NFA/DFA: Only simple chars are supported yet.");
|
|
return char(node.value)
|
|
},
|
|
Group: function(node) {
|
|
return gen(node.expression)
|
|
}
|
|
};
|
|
module.exports = {
|
|
build: function(regexp) {
|
|
var ast = regexp;
|
|
return regexp instanceof RegExp && (regexp = "" + regexp), "string" == typeof regexp && (ast = parser.parse(regexp, {
|
|
captureLocations: !0
|
|
})), gen(ast)
|
|
}
|
|
}
|
|
},
|
|
43038: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912));
|
|
exports.default = new _dac.default({
|
|
description: "Hammacher Schlemmer",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 10
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "7357367064102419244",
|
|
name: "Hammacher Schlemmer"
|
|
}],
|
|
doDac: async function(couponCode, selector, priceAmt, applyBestCode) {
|
|
let price = priceAmt;
|
|
return function(res) {
|
|
let applied = !1;
|
|
try {
|
|
applied = res.ErrMsg.includes("Applied")
|
|
} catch (e) {}
|
|
if (applied) {
|
|
try {
|
|
price = res.cartTotalDetail.EstimatedTotal
|
|
} catch (e) {}
|
|
Number(_legacyHoneyUtils.default.cleanPrice(price)) < priceAmt && (0, _jquery.default)(selector).text(price)
|
|
}
|
|
}(await async function() {
|
|
let res;
|
|
try {
|
|
res = await _jquery.default.ajax({
|
|
url: "https://www.hammacher.com/shoppingcart/applypromocode",
|
|
type: "POST",
|
|
headers: {
|
|
"content-type": "application/x-www-form-urlencoded; charset=UTF-8"
|
|
},
|
|
data: {
|
|
promocode: couponCode,
|
|
showStandardShippingRate: !1
|
|
}
|
|
}), await res.done(_data => {
|
|
_logger.default.debug("Finishing applying code")
|
|
})
|
|
} catch (e) {}
|
|
return res
|
|
}()), !0 === applyBestCode && (window.location = window.location.href, await sleep(3e3)), Number(_legacyHoneyUtils.default.cleanPrice(price))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
43221: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _accounting = _interopRequireDefault(__webpack_require__(44281));
|
|
const NUMBER_REGEX = /(^-?\.?[\d+]?[,.\d+]+)/,
|
|
DECIMAL_REGEX = /([,.\d]+)(\.(?:\d{1}|\d{2})|,(?:\d{1}|\d{2}))\b/;
|
|
exports.default = {
|
|
cleanPrice: function(input) {
|
|
let value = function(value) {
|
|
return `${value||""}`.trim()
|
|
}(input);
|
|
value.split(".").length > 1 && value.split(",").length - 1 == 0 && (value.match(DECIMAL_REGEX) || (value += ",00"));
|
|
const valueMatch = value.match(NUMBER_REGEX);
|
|
return valueMatch && (value = valueMatch[1]), Number(_accounting.default.unformat(value, function(input) {
|
|
const decimalMatch = input.match(DECIMAL_REGEX);
|
|
return decimalMatch ? decimalMatch[2].substring(0, 1) || "." : !decimalMatch && input.split(".").length > 1 ? "," : "."
|
|
}(value)))
|
|
},
|
|
formatPrice: function(input, {
|
|
currencySymbol = "$",
|
|
precision = input % 1 == 0 ? 0 : 2
|
|
} = {}) {
|
|
return _accounting.default.formatMoney(input, currencySymbol, precision, ",", ".")
|
|
}
|
|
};
|
|
module.exports = exports.default
|
|
},
|
|
43789: module => {
|
|
"use strict";
|
|
var _createClass = function() {
|
|
function defineProperties(target, props) {
|
|
for (var i = 0; i < props.length; i++) {
|
|
var descriptor = props[i];
|
|
descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor)
|
|
}
|
|
}
|
|
return function(Constructor, protoProps, staticProps) {
|
|
return protoProps && defineProperties(Constructor.prototype, protoProps), staticProps && defineProperties(Constructor, staticProps), Constructor
|
|
}
|
|
}();
|
|
var State = function() {
|
|
function State() {
|
|
var _ref$accepting = (arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}).accepting,
|
|
accepting = void 0 !== _ref$accepting && _ref$accepting;
|
|
! function(instance, Constructor) {
|
|
if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function")
|
|
}(this, State), this._transitions = new Map, this.accepting = accepting
|
|
}
|
|
return _createClass(State, [{
|
|
key: "getTransitions",
|
|
value: function() {
|
|
return this._transitions
|
|
}
|
|
}, {
|
|
key: "addTransition",
|
|
value: function(symbol, toState) {
|
|
return this.getTransitionsOnSymbol(symbol).add(toState), this
|
|
}
|
|
}, {
|
|
key: "getTransitionsOnSymbol",
|
|
value: function(symbol) {
|
|
var transitions = this._transitions.get(symbol);
|
|
return transitions || (transitions = new Set, this._transitions.set(symbol, transitions)), transitions
|
|
}
|
|
}]), State
|
|
}();
|
|
module.exports = State
|
|
},
|
|
44075: module => {
|
|
"use strict";
|
|
module.exports = JSON.parse('{"name":"FSPreApply","groups":["FIND_SAVINGS"],"isRequired":false,"preconditions":[],"scoreThreshold":1.99,"tests":[{"method":"testIfInnerTextContainsLength","options":{"expected":"discount|code|coupon|promo|offer|voucher","matchWeight":"1","unMatchWeight":"0.1"}},{"method":"testIfAncestorAttrsContain","options":{"expected":"(coupon|promo)-code","generations":"2","matchWeight":"10","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLength","options":{"tags":"a,button,div","expected":"^(add|apply|enter|got|i?have|use)(a)?(coupon|discount|promo|voucher)","matchWeight":"10","unMatchWeight":"1"},"_comment":"links to apply code"},{"method":"testIfInnerTextContainsLength","options":{"tags":"a,button,div","expected":"^enterithere","matchWeight":"10","unMatchWeight":"1"},"_comment":"harry-david"},{"method":"testIfInnerTextContainsLength","options":{"tags":"a,button,div","expected":"^(coupon|discount|promo(tion)?|offer)codes?$","matchWeight":"10","unMatchWeight":"1"},"_comment":"exact match on \'Promo Code\'"},{"method":"testIfInnerTextContainsLength","options":{"tags":"a,button,div","expected":"^\\\\+addcode$","matchWeight":"10","unMatchWeight":"1"},"_comment":"exact match on adding code"},{"method":"testIfInnerTextContainsLength","options":{"tags":"button","expected":"haveadiscountcode","matchWeight":"10","unMatchWeight":"1"}},{"method":"testIfLabelContains","options":{"tags":"input","expected":"haveapromocode","matchWeight":"10","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLength","options":{"tags":"a,button","expected":"^availableoffers","matchWeight":"10","unMatchWeight":"1"},"_comment":"express"},{"method":"testIfInnerTextContainsLength","options":{"expected":"^remove$","matchWeight":"2","unMatchWeight":"1"},"_comment":"remove pre-applied promo code to guarantee promo box displays again"},{"method":"testIfInnerTextContainsLength","options":{"expected":"totalitems(1|2|3)","matchWeight":"10","unMatchWeight":"1"},"_comment":"Product Page with minicart"},{"method":"testIfInnerTextContainsLength","options":{"tags":"button,div","expected":"^apply$","matchWeight":"0","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLength","options":{"expected":"information|readmore|expires","matchWeight":"0","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLength","options":{"expected":"seniordiscount","matchWeight":"0","unMatchWeight":"1"}},{"method":"testIfInnerHtmlContainsLength","options":{"tags":"div","expected":"<(a|button|div|input)","matchWeight":"0.1","unMatchWeight":"1"},"_comment":"Lower weight if div contains other \'important\' elements"}],"shape":[{"value":"^(form|li|script|symbol)$","weight":0,"scope":"tag"},{"value":"ibjmxy","weight":20,"scope":"class","_comment":"eneba-games: only way to match otherwise we need to unsupport"},{"value":"hascoupon","weight":10,"scope":"name","_comment":"corel"},{"value":"addgiftcode","weight":10,"scope":"aria-label","_comment":"moda-operandi"},{"value":"^#gift-card","weight":10,"scope":"href","_comment":"new-balance"},{"value":"^removepromo","weight":10,"scope":"title","_comment":"String match on title, Casper"},{"value":"couponcode.*panel","weight":5,"scope":"class"},{"value":"openpanel","weight":3,"scope":"class","_comment":"bareescentuals"},{"value":"checkout-cta","weight":2,"scope":"class","_comment":"beautybay"},{"value":"link","weight":2,"scope":"class"},{"value":"button","weight":2,"scope":"tag"},{"value":"button","weight":2,"scope":"role"},{"value":"checkbox|submit","weight":2,"scope":"type"},{"value":"false","weight":2,"scope":"aria-expanded"},{"value":"^#$","weight":1,"scope":"href","_comment":"motosport, uhaul: link that doesn\'t navigate"},{"value":"^a$","weight":1,"scope":"tag"},{"value":"^(div|section|span)$","weight":0.5,"scope":"tag"},{"value":"^(https?:/)?/","weight":0.1,"scope":"href","_comment":"avoid navigation to different page"},{"value":"popup","weight":0,"scope":"class"},{"value":"false","weight":0,"scope":"data-honey_is_visible"},{"value":"toggle-header","weight":10},{"value":"promo_?code_?modal","weight":5},{"value":"expand","weight":3},{"value":"slide","weight":3},{"value":"toggle","weight":3},{"value":"accordion|apply|open|redeemable|show","weight":2},{"value":"coupon|discount|offer|promo|voucher","weight":2},{"value":"angle-down","weight":2,"_comment":"lenovo"},{"value":"uncoupon","weight":2,"_comment":"huawei-uk"},{"value":"sticky","weight":0.5},{"value":"cancel|header","weight":0.1},{"value":"discount-amount|itemsinbasket|message|nav|reviews|search|similaritems|termsandconditions|tooltip","weight":0}]}')
|
|
},
|
|
44159: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912)),
|
|
_helpers = _interopRequireDefault(__webpack_require__(16065));
|
|
exports.default = new _dac.default({
|
|
description: "Coles DAC",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 20
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "7613590580987468328",
|
|
name: "coles-australia-au"
|
|
}],
|
|
doDac: async function(couponCode, selector, priceAmt, applyBestCode) {
|
|
let price = priceAmt;
|
|
const regexCookie = document.cookie.match("rslc=([0-9]+).([0-9]+)") || [],
|
|
storeId = regexCookie[1],
|
|
catalogId = regexCookie[2],
|
|
returnRequest = "https://shop.coles.com.au/online/COLRSOrderSummaryDisplay?storeId=" + storeId + "&catalogId=" + catalogId + "&langId=-1&skipSlic=undefined&requesttype=ajax";
|
|
return function(res) {
|
|
price = ((0, _jquery.default)(res).text().match('grandTotal":"(.*)"') || [])[1], Number(_legacyHoneyUtils.default.cleanPrice(price)) < priceAmt && (0, _jquery.default)(selector).text(price)
|
|
}(await async function() {
|
|
const res = _jquery.default.ajax({
|
|
url: "https://shop.coles.com.au/wcs/resources/store/" + storeId + "/cart/@self/assigned_promotion_code?updateCookies=true",
|
|
method: "POST",
|
|
headers: {
|
|
"content-type": "application/json"
|
|
},
|
|
data: JSON.stringify({
|
|
langId: "-1",
|
|
promoCode: couponCode,
|
|
requesttype: "ajax",
|
|
taskeType: "A"
|
|
})
|
|
});
|
|
return await res.done(_data => {
|
|
_logger.default.debug("Finishing applying coupon")
|
|
}), await _jquery.default.get(returnRequest)
|
|
}()), !1 === applyBestCode ? await async function() {
|
|
const res = _jquery.default.ajax({
|
|
url: "https://shop.coles.com.au/wcs/resources/store/" + storeId + "/cart/@self/assigned_promotion_code/" + couponCode + "?updateCookies=true",
|
|
type: "DELETE",
|
|
headers: {
|
|
"content-type": "application/json"
|
|
},
|
|
data: JSON.stringify({
|
|
updateCookies: "true"
|
|
})
|
|
});
|
|
return await res.done(_data => {
|
|
_logger.default.debug("Finishing removing code")
|
|
}), _jquery.default.get(returnRequest)
|
|
}(): (window.location = window.location.href, await (0, _helpers.default)(2e3)), Number(_legacyHoneyUtils.default.cleanPrice(price))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
44281: function(module, exports) {
|
|
/*!
|
|
* accounting.js v0.4.1
|
|
* Copyright 2014 Open Exchange Rates
|
|
*
|
|
* Freely distributable under the MIT license.
|
|
* Portions of accounting.js are inspired or borrowed from underscore.js
|
|
*
|
|
* Full details and documentation:
|
|
* http://openexchangerates.github.io/accounting.js/
|
|
*/
|
|
! function() {
|
|
var lib = {
|
|
version: "0.4.1",
|
|
settings: {
|
|
currency: {
|
|
symbol: "$",
|
|
format: "%s%v",
|
|
decimal: ".",
|
|
thousand: ",",
|
|
precision: 2,
|
|
grouping: 3
|
|
},
|
|
number: {
|
|
precision: 0,
|
|
grouping: 3,
|
|
thousand: ",",
|
|
decimal: "."
|
|
}
|
|
}
|
|
},
|
|
nativeMap = Array.prototype.map,
|
|
nativeIsArray = Array.isArray,
|
|
toString = Object.prototype.toString;
|
|
|
|
function isString(obj) {
|
|
return !!("" === obj || obj && obj.charCodeAt && obj.substr)
|
|
}
|
|
|
|
function isArray(obj) {
|
|
return nativeIsArray ? nativeIsArray(obj) : "[object Array]" === toString.call(obj)
|
|
}
|
|
|
|
function isObject(obj) {
|
|
return obj && "[object Object]" === toString.call(obj)
|
|
}
|
|
|
|
function defaults(object, defs) {
|
|
var key;
|
|
for (key in object = object || {}, defs = defs || {}) defs.hasOwnProperty(key) && null == object[key] && (object[key] = defs[key]);
|
|
return object
|
|
}
|
|
|
|
function map(obj, iterator, context) {
|
|
var i, j, results = [];
|
|
if (!obj) return results;
|
|
if (nativeMap && obj.map === nativeMap) return obj.map(iterator, context);
|
|
for (i = 0, j = obj.length; i < j; i++) results[i] = iterator.call(context, obj[i], i, obj);
|
|
return results
|
|
}
|
|
|
|
function checkPrecision(val, base) {
|
|
return val = Math.round(Math.abs(val)), isNaN(val) ? base : val
|
|
}
|
|
|
|
function checkCurrencyFormat(format) {
|
|
var defaults = lib.settings.currency.format;
|
|
return "function" == typeof format && (format = format()), isString(format) && format.match("%v") ? {
|
|
pos: format,
|
|
neg: format.replace("-", "").replace("%v", "-%v"),
|
|
zero: format
|
|
} : format && format.pos && format.pos.match("%v") ? format : isString(defaults) ? lib.settings.currency.format = {
|
|
pos: defaults,
|
|
neg: defaults.replace("%v", "-%v"),
|
|
zero: defaults
|
|
} : defaults
|
|
}
|
|
var unformat = lib.unformat = lib.parse = function(value, decimal) {
|
|
if (isArray(value)) return map(value, function(val) {
|
|
return unformat(val, decimal)
|
|
});
|
|
if ("number" == typeof(value = value || 0)) return value;
|
|
decimal = decimal || lib.settings.number.decimal;
|
|
var regex = new RegExp("[^0-9-" + decimal + "]", ["g"]),
|
|
unformatted = parseFloat(("" + value).replace(/\((.*)\)/, "-$1").replace(regex, "").replace(decimal, "."));
|
|
return isNaN(unformatted) ? 0 : unformatted
|
|
},
|
|
toFixed = lib.toFixed = function(value, precision) {
|
|
precision = checkPrecision(precision, lib.settings.number.precision);
|
|
var power = Math.pow(10, precision);
|
|
return (Math.round(lib.unformat(value) * power) / power).toFixed(precision)
|
|
},
|
|
formatNumber = lib.formatNumber = lib.format = function(number, precision, thousand, decimal) {
|
|
if (isArray(number)) return map(number, function(val) {
|
|
return formatNumber(val, precision, thousand, decimal)
|
|
});
|
|
number = unformat(number);
|
|
var opts = defaults(isObject(precision) ? precision : {
|
|
precision,
|
|
thousand,
|
|
decimal
|
|
}, lib.settings.number),
|
|
usePrecision = checkPrecision(opts.precision),
|
|
negative = number < 0 ? "-" : "",
|
|
base = parseInt(toFixed(Math.abs(number || 0), usePrecision), 10) + "",
|
|
mod = base.length > 3 ? base.length % 3 : 0;
|
|
return negative + (mod ? base.substr(0, mod) + opts.thousand : "") + base.substr(mod).replace(/(\d{3})(?=\d)/g, "$1" + opts.thousand) + (usePrecision ? opts.decimal + toFixed(Math.abs(number), usePrecision).split(".")[1] : "")
|
|
},
|
|
formatMoney = lib.formatMoney = function(number, symbol, precision, thousand, decimal, format) {
|
|
if (isArray(number)) return map(number, function(val) {
|
|
return formatMoney(val, symbol, precision, thousand, decimal, format)
|
|
});
|
|
number = unformat(number);
|
|
var opts = defaults(isObject(symbol) ? symbol : {
|
|
symbol,
|
|
precision,
|
|
thousand,
|
|
decimal,
|
|
format
|
|
}, lib.settings.currency),
|
|
formats = checkCurrencyFormat(opts.format);
|
|
return (number > 0 ? formats.pos : number < 0 ? formats.neg : formats.zero).replace("%s", opts.symbol).replace("%v", formatNumber(Math.abs(number), checkPrecision(opts.precision), opts.thousand, opts.decimal))
|
|
};
|
|
lib.formatColumn = function(list, symbol, precision, thousand, decimal, format) {
|
|
if (!list) return [];
|
|
var opts = defaults(isObject(symbol) ? symbol : {
|
|
symbol,
|
|
precision,
|
|
thousand,
|
|
decimal,
|
|
format
|
|
}, lib.settings.currency),
|
|
formats = checkCurrencyFormat(opts.format),
|
|
padAfterSymbol = formats.pos.indexOf("%s") < formats.pos.indexOf("%v"),
|
|
maxLength = 0,
|
|
formatted = map(list, function(val, i) {
|
|
if (isArray(val)) return lib.formatColumn(val, opts);
|
|
var fVal = ((val = unformat(val)) > 0 ? formats.pos : val < 0 ? formats.neg : formats.zero).replace("%s", opts.symbol).replace("%v", formatNumber(Math.abs(val), checkPrecision(opts.precision), opts.thousand, opts.decimal));
|
|
return fVal.length > maxLength && (maxLength = fVal.length), fVal
|
|
});
|
|
return map(formatted, function(val, i) {
|
|
return isString(val) && val.length < maxLength ? padAfterSymbol ? val.replace(opts.symbol, opts.symbol + new Array(maxLength - val.length + 1).join(" ")) : new Array(maxLength - val.length + 1).join(" ") + val : val
|
|
})
|
|
}, module.exports && (exports = module.exports = lib), exports.accounting = lib
|
|
}()
|
|
},
|
|
44502: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var $Object = __webpack_require__(45430);
|
|
module.exports = $Object.getPrototypeOf || null
|
|
},
|
|
44509: (__unused_webpack_module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.escapeText = exports.escapeAttribute = exports.escapeUTF8 = exports.escape = exports.encodeXML = exports.getCodePoint = exports.xmlReplacer = void 0, exports.xmlReplacer = /["&'<>$\x80-\uFFFF]/g;
|
|
var xmlCodeMap = new Map([
|
|
[34, """],
|
|
[38, "&"],
|
|
[39, "'"],
|
|
[60, "<"],
|
|
[62, ">"]
|
|
]);
|
|
|
|
function encodeXML(str) {
|
|
for (var match, ret = "", lastIdx = 0; null !== (match = exports.xmlReplacer.exec(str));) {
|
|
var i = match.index,
|
|
char = str.charCodeAt(i),
|
|
next = xmlCodeMap.get(char);
|
|
void 0 !== next ? (ret += str.substring(lastIdx, i) + next, lastIdx = i + 1) : (ret += "".concat(str.substring(lastIdx, i), "&#x").concat((0, exports.getCodePoint)(str, i).toString(16), ";"), lastIdx = exports.xmlReplacer.lastIndex += Number(55296 == (64512 & char)))
|
|
}
|
|
return ret + str.substr(lastIdx)
|
|
}
|
|
|
|
function getEscaper(regex, map) {
|
|
return function(data) {
|
|
for (var match, lastIdx = 0, result = ""; match = regex.exec(data);) lastIdx !== match.index && (result += data.substring(lastIdx, match.index)), result += map.get(match[0].charCodeAt(0)), lastIdx = match.index + 1;
|
|
return result + data.substring(lastIdx)
|
|
}
|
|
}
|
|
exports.getCodePoint = null != String.prototype.codePointAt ? function(str, index) {
|
|
return str.codePointAt(index)
|
|
} : function(c, index) {
|
|
return 55296 == (64512 & c.charCodeAt(index)) ? 1024 * (c.charCodeAt(index) - 55296) + c.charCodeAt(index + 1) - 56320 + 65536 : c.charCodeAt(index)
|
|
}, exports.encodeXML = encodeXML, exports.escape = encodeXML, exports.escapeUTF8 = getEscaper(/[&<>'"]/g, xmlCodeMap), exports.escapeAttribute = getEscaper(/["&\u00A0]/g, new Map([
|
|
[34, """],
|
|
[38, "&"],
|
|
[160, " "]
|
|
])), exports.escapeText = getEscaper(/[&<>\u00A0]/g, new Map([
|
|
[38, "&"],
|
|
[60, "<"],
|
|
[62, ">"],
|
|
[160, " "]
|
|
]))
|
|
},
|
|
44514: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
|
|
function _toConsumableArray(arr) {
|
|
if (Array.isArray(arr)) {
|
|
for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
|
|
return arr2
|
|
}
|
|
return Array.from(arr)
|
|
}
|
|
var NodePath = __webpack_require__(6453),
|
|
increaseQuantifierByOne = __webpack_require__(47008).increaseQuantifierByOne;
|
|
|
|
function combineRepeatingPatternLeft(alternative, child, index) {
|
|
for (var node = alternative.node, nbPossibleLengths = Math.ceil(index / 2), i = 0; i < nbPossibleLengths;) {
|
|
var startIndex = index - 2 * i - 1,
|
|
right = void 0,
|
|
left = void 0;
|
|
if (0 === i ? (right = child, left = alternative.getChild(startIndex)) : (right = NodePath.getForNode({
|
|
type: "Alternative",
|
|
expressions: [].concat(_toConsumableArray(node.expressions.slice(index - i, index)), [child.node])
|
|
}), left = NodePath.getForNode({
|
|
type: "Alternative",
|
|
expressions: [].concat(_toConsumableArray(node.expressions.slice(startIndex, index - i)))
|
|
})), right.hasEqualSource(left)) {
|
|
for (var j = 0; j < 2 * i + 1; j++) alternative.getChild(startIndex).remove();
|
|
return child.replace({
|
|
type: "Repetition",
|
|
expression: 0 === i && "Repetition" !== right.node.type ? right.node : {
|
|
type: "Group",
|
|
capturing: !1,
|
|
expression: right.node
|
|
},
|
|
quantifier: {
|
|
type: "Quantifier",
|
|
kind: "Range",
|
|
from: 2,
|
|
to: 2,
|
|
greedy: !0
|
|
}
|
|
}), startIndex
|
|
}
|
|
i++
|
|
}
|
|
return index
|
|
}
|
|
|
|
function combineWithPreviousRepetition(alternative, child, index) {
|
|
for (var node = alternative.node, i = 0; i < index;) {
|
|
var previousChild = alternative.getChild(i);
|
|
if ("Repetition" === previousChild.node.type && previousChild.node.quantifier.greedy) {
|
|
var left = previousChild.getChild(),
|
|
right = void 0;
|
|
if ("Group" !== left.node.type || left.node.capturing || (left = left.getChild()), i + 1 === index ? "Group" !== (right = child).node.type || right.node.capturing || (right = right.getChild()) : right = NodePath.getForNode({
|
|
type: "Alternative",
|
|
expressions: [].concat(_toConsumableArray(node.expressions.slice(i + 1, index + 1)))
|
|
}), left.hasEqualSource(right)) {
|
|
for (var j = i; j < index; j++) alternative.getChild(i + 1).remove();
|
|
return increaseQuantifierByOne(previousChild.node.quantifier), i
|
|
}
|
|
}
|
|
i++
|
|
}
|
|
return index
|
|
}
|
|
|
|
function combineRepetitionWithPrevious(alternative, child, index) {
|
|
var node = alternative.node;
|
|
if ("Repetition" === child.node.type && child.node.quantifier.greedy) {
|
|
var right = child.getChild(),
|
|
left = void 0;
|
|
"Group" !== right.node.type || right.node.capturing || (right = right.getChild());
|
|
var rightLength = void 0;
|
|
if ("Alternative" === right.node.type ? (rightLength = right.node.expressions.length, left = NodePath.getForNode({
|
|
type: "Alternative",
|
|
expressions: [].concat(_toConsumableArray(node.expressions.slice(index - rightLength, index)))
|
|
})) : (rightLength = 1, "Group" !== (left = alternative.getChild(index - 1)).node.type || left.node.capturing || (left = left.getChild())), left.hasEqualSource(right)) {
|
|
for (var j = index - rightLength; j < index; j++) alternative.getChild(index - rightLength).remove();
|
|
return increaseQuantifierByOne(child.node.quantifier), index - rightLength
|
|
}
|
|
}
|
|
return index
|
|
}
|
|
module.exports = {
|
|
Alternative: function(path) {
|
|
for (var node = path.node, index = 1; index < node.expressions.length;) {
|
|
var child = path.getChild(index);
|
|
if ((index = Math.max(1, combineRepeatingPatternLeft(path, child, index))) >= node.expressions.length) break;
|
|
if (child = path.getChild(index), (index = Math.max(1, combineWithPreviousRepetition(path, child, index))) >= node.expressions.length) break;
|
|
child = path.getChild(index), index = Math.max(1, combineRepetitionWithPrevious(path, child, index)), index++
|
|
}
|
|
}
|
|
}
|
|
},
|
|
45163: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
const state = this.stateStack[this.stateStack.length - 1],
|
|
node = state.node;
|
|
if (!state.doneLeft_) return state.doneLeft_ = !0, void this.stateStack.push({
|
|
node: node.argument,
|
|
components: !0
|
|
});
|
|
state.leftSide_ || (state.leftSide_ = state.value);
|
|
state.doneGetter_ && (state.leftValue_ = state.value);
|
|
if (!state.doneGetter_) {
|
|
if (state.leftValue_ = this.getValue(state.leftSide_), !state.leftValue_) return;
|
|
if (state.leftValue_.isGetter) return state.leftValue_.isGetter = !1, state.doneGetter_ = !0, void this.pushGetter(state.leftValue_, state.leftSide_)
|
|
}
|
|
if (state.doneSetter_) return this.stateStack.pop(), void(this.stateStack[this.stateStack.length - 1].value = state.doneSetter_);
|
|
const leftValue = state.leftValue_.toNumber();
|
|
let changeValue;
|
|
if ("++" === node.operator) changeValue = this.createPrimitive(leftValue + 1);
|
|
else {
|
|
if ("--" !== node.operator) throw SyntaxError(`Unknown update expression: ${node.operator}`);
|
|
changeValue = this.createPrimitive(leftValue - 1)
|
|
}
|
|
const returnValue = node.prefix ? changeValue : this.createPrimitive(leftValue),
|
|
setter = this.setValue(state.leftSide_, changeValue);
|
|
if (setter) return state.doneSetter_ = returnValue, void this.pushSetter(setter, state.leftSide_, changeValue);
|
|
this.stateStack.pop(), this.stateStack[this.stateStack.length - 1].value = returnValue
|
|
}, module.exports = exports.default
|
|
},
|
|
45250: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_helpers = _interopRequireDefault(__webpack_require__(16065)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912));
|
|
exports.default = new _dac.default({
|
|
description: "Loft Acorn DAC",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 5
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "7365769545939930156",
|
|
name: "loft"
|
|
}],
|
|
doDac: async function(code, selector, priceAmt, applyBestCode) {
|
|
let price = priceAmt;
|
|
return function(res) {
|
|
try {
|
|
price = res.checkout.ordSum.finalTotal, Number(price) < priceAmt && (0, _jquery.default)(selector).text("$" + price)
|
|
} catch (e) {}
|
|
}(await async function() {
|
|
const res = _jquery.default.ajax({
|
|
url: "https://www.loft.com/cws/cart/claimCoupon.jsp",
|
|
type: "POST",
|
|
data: {
|
|
couponCode: code
|
|
}
|
|
});
|
|
return await res.done(_data => {
|
|
_logger.default.debug("Finishing code application")
|
|
}), res
|
|
}()), !0 === applyBestCode ? (window.location = window.location.href, await (0, _helpers.default)(4e3)) : await async function() {
|
|
const res = _jquery.default.ajax({
|
|
url: "https://www.loft.com/cws/cart/removeCoupon.jsp",
|
|
type: "POST",
|
|
data: {
|
|
couponCode: code
|
|
}
|
|
});
|
|
await res.done(_data => {
|
|
_logger.default.debug("Removing code")
|
|
})
|
|
}(), Number(price)
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
45367: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var Symbol = __webpack_require__(20323).Symbol;
|
|
module.exports = Symbol
|
|
},
|
|
45378: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912));
|
|
exports.default = new _dac.default({
|
|
description: "Vitacost DAC",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 15
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "7394096289818899568",
|
|
name: "vitacost"
|
|
}],
|
|
doDac: async function(code, selector, priceAmt, applyBestCode) {
|
|
let price = priceAmt;
|
|
return !0 === applyBestCode ? {
|
|
price: Number(_legacyHoneyUtils.default.cleanPrice(price)),
|
|
nonDacFS: !0,
|
|
sleepTime: 5500
|
|
} : (function(res) {
|
|
try {
|
|
price = (0, _jquery.default)(res.replace(/^.*/, "")).find("dd.total").text(), Number(_legacyHoneyUtils.default.cleanPrice(price)) < priceAmt && (0, _jquery.default)(selector).text(price)
|
|
} catch (e) {}
|
|
}(await async function() {
|
|
const res = _jquery.default.ajax({
|
|
url: "https://www.vitacost.com/Checkout/ShoppingCart.aspx?sce=view",
|
|
data: {
|
|
__VIEWSTATE: (0, _jquery.default)('input[name="__VIEWSTATE"]').attr("value"),
|
|
IamMasterFrameYesIam$ctl02$txtPromotion: code,
|
|
__ASYNCPOST: !0,
|
|
IamMasterFrameYesIam$ctl02$btnPromoUpdate: "Apply"
|
|
},
|
|
method: "POST"
|
|
});
|
|
return await res.done(_data => {
|
|
_logger.default.debug("Finishing applying code")
|
|
}), res
|
|
}()), Number(_legacyHoneyUtils.default.cleanPrice(price)))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
45430: module => {
|
|
"use strict";
|
|
module.exports = Object
|
|
},
|
|
45463: module => {
|
|
module.exports = {
|
|
nanoid: (size = 21) => {
|
|
let id = "",
|
|
i = 0 | size;
|
|
for (; i--;) id += "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict" [64 * Math.random() | 0];
|
|
return id
|
|
},
|
|
customAlphabet: (alphabet, defaultSize = 21) => (size = defaultSize) => {
|
|
let id = "",
|
|
i = 0 | size;
|
|
for (; i--;) id += alphabet[Math.random() * alphabet.length | 0];
|
|
return id
|
|
}
|
|
}
|
|
},
|
|
45822: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
let Container = __webpack_require__(171);
|
|
class AtRule extends Container {
|
|
constructor(defaults) {
|
|
super(defaults), this.type = "atrule"
|
|
}
|
|
append(...children) {
|
|
return this.proxyOf.nodes || (this.nodes = []), super.append(...children)
|
|
}
|
|
prepend(...children) {
|
|
return this.proxyOf.nodes || (this.nodes = []), super.prepend(...children)
|
|
}
|
|
}
|
|
module.exports = AtRule, AtRule.default = AtRule, Container.registerAtRule(AtRule)
|
|
},
|
|
45907: (__unused_webpack_module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = new Uint16Array("\u0200aglq\t\x15\x18\x1b\u026d\x0f\0\0\x12p;\u4026os;\u4027t;\u403et;\u403cuot;\u4022".split("").map(function(c) {
|
|
return c.charCodeAt(0)
|
|
}))
|
|
},
|
|
46185: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
const Parser = __webpack_require__(36245),
|
|
Serializer = __webpack_require__(84650);
|
|
exports.parse = function(html, options) {
|
|
return new Parser(options).parse(html)
|
|
}, exports.parseFragment = function(fragmentContext, html, options) {
|
|
"string" == typeof fragmentContext && (options = html, html = fragmentContext, fragmentContext = null);
|
|
return new Parser(options).parseFragment(html, fragmentContext)
|
|
}, exports.serialize = function(node, options) {
|
|
return new Serializer(node, options).serialize()
|
|
}
|
|
},
|
|
46263: function(module, exports, __webpack_require__) {
|
|
var CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), __webpack_require__(10608), __webpack_require__(65554), __webpack_require__(34120), __webpack_require__(74047), function() {
|
|
var C = CryptoJS,
|
|
StreamCipher = C.lib.StreamCipher,
|
|
C_algo = C.algo,
|
|
RC4 = C_algo.RC4 = StreamCipher.extend({
|
|
_doReset: function() {
|
|
for (var key = this._key, keyWords = key.words, keySigBytes = key.sigBytes, S = this._S = [], i = 0; i < 256; i++) S[i] = i;
|
|
i = 0;
|
|
for (var j = 0; i < 256; i++) {
|
|
var keyByteIndex = i % keySigBytes,
|
|
keyByte = keyWords[keyByteIndex >>> 2] >>> 24 - keyByteIndex % 4 * 8 & 255;
|
|
j = (j + S[i] + keyByte) % 256;
|
|
var t = S[i];
|
|
S[i] = S[j], S[j] = t
|
|
}
|
|
this._i = this._j = 0
|
|
},
|
|
_doProcessBlock: function(M, offset) {
|
|
M[offset] ^= generateKeystreamWord.call(this)
|
|
},
|
|
keySize: 8,
|
|
ivSize: 0
|
|
});
|
|
|
|
function generateKeystreamWord() {
|
|
for (var S = this._S, i = this._i, j = this._j, keystreamWord = 0, n = 0; n < 4; n++) {
|
|
j = (j + S[i = (i + 1) % 256]) % 256;
|
|
var t = S[i];
|
|
S[i] = S[j], S[j] = t, keystreamWord |= S[(S[i] + S[j]) % 256] << 24 - 8 * n
|
|
}
|
|
return this._i = i, this._j = j, keystreamWord
|
|
}
|
|
C.RC4 = StreamCipher._createHelper(RC4);
|
|
var RC4Drop = C_algo.RC4Drop = RC4.extend({
|
|
cfg: RC4.cfg.extend({
|
|
drop: 192
|
|
}),
|
|
_doReset: function() {
|
|
RC4._doReset.call(this);
|
|
for (var i = this.cfg.drop; i > 0; i--) generateKeystreamWord.call(this)
|
|
}
|
|
});
|
|
C.RC4Drop = StreamCipher._createHelper(RC4Drop)
|
|
}(), CryptoJS.RC4)
|
|
},
|
|
46913: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var noCase = __webpack_require__(37129),
|
|
upperCase = __webpack_require__(96817);
|
|
module.exports = function(value, locale) {
|
|
return noCase(value, locale, "-").replace(/^.|-./g, function(m) {
|
|
return upperCase(m, locale)
|
|
})
|
|
}
|
|
},
|
|
47008: module => {
|
|
"use strict";
|
|
module.exports = {
|
|
disjunctionToList: function disjunctionToList(node) {
|
|
if ("Disjunction" !== node.type) throw new TypeError('Expected "Disjunction" node, got "' + node.type + '"');
|
|
var list = [];
|
|
return node.left && "Disjunction" === node.left.type ? list.push.apply(list, function(arr) {
|
|
if (Array.isArray(arr)) {
|
|
for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
|
|
return arr2
|
|
}
|
|
return Array.from(arr)
|
|
}(disjunctionToList(node.left)).concat([node.right])) : list.push(node.left, node.right), list
|
|
},
|
|
listToDisjunction: function(list) {
|
|
return list.reduce(function(left, right) {
|
|
return {
|
|
type: "Disjunction",
|
|
left,
|
|
right
|
|
}
|
|
})
|
|
},
|
|
increaseQuantifierByOne: function(quantifier) {
|
|
"*" === quantifier.kind ? quantifier.kind = "+" : "+" === quantifier.kind ? (quantifier.kind = "Range", quantifier.from = 2, delete quantifier.to) : "?" === quantifier.kind ? (quantifier.kind = "Range", quantifier.from = 1, quantifier.to = 2) : "Range" === quantifier.kind && (quantifier.from += 1, quantifier.to && (quantifier.to += 1))
|
|
}
|
|
}
|
|
},
|
|
47108: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var baseGetTag = __webpack_require__(32890),
|
|
isObjectLike = __webpack_require__(15452);
|
|
module.exports = function(value) {
|
|
return "symbol" == typeof value || isObjectLike(value) && "[object Symbol]" == baseGetTag(value)
|
|
}
|
|
},
|
|
47198: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var process = __webpack_require__(74620),
|
|
Buffer = __webpack_require__(68617).hp;
|
|
(() => {
|
|
var e = {
|
|
7267: (e, t, r) => {
|
|
"use strict";
|
|
r(2229);
|
|
const n = {
|
|
AlreadyExists: AlreadyExistsError,
|
|
EmailLocked: EmailLockedError,
|
|
FacebookNoEmail: FacebookNoEmailError,
|
|
InsufficientBalance: InsufficientBalanceError,
|
|
InvalidCredentials: InvalidCredentialsError,
|
|
InvalidParameters: InvalidParametersError,
|
|
MissingParameters: MissingParametersError,
|
|
NotAllowed: NotAllowedError,
|
|
NotFound: NotFoundError,
|
|
NothingToUpdate: NothingToUpdateError,
|
|
Profanity: ProfanityError,
|
|
RequestThrottled: RequestThrottledError,
|
|
SwitchedUser: SwitchedUserError,
|
|
Unauthorized: UnauthorizedError
|
|
};
|
|
e.exports = function(e) {
|
|
return e && n[e] ? n[e] : Error
|
|
}
|
|
},
|
|
2632: e => {
|
|
"use strict";
|
|
const t = {
|
|
UnauthorizedError: 401,
|
|
InvalidCredentialsError: 401,
|
|
EmailLockedError: 403,
|
|
InsufficientBalanceError: 403,
|
|
NotAllowedError: 403,
|
|
SwitchedUserError: 403,
|
|
NotFoundError: 404,
|
|
AlreadyExistsError: 409,
|
|
PayloadTooLargeError: 413,
|
|
MissingParametersError: 400,
|
|
InvalidParametersError: 400,
|
|
ProfanityError: 400,
|
|
FacebookNoEmailError: 400,
|
|
NothingToUpdateError: 400,
|
|
RequestThrottledError: 400,
|
|
URIError: 400,
|
|
ExpiredError: 400
|
|
};
|
|
e.exports = function(e) {
|
|
return e.name && t[e.name] ? t[e.name] : 500
|
|
}
|
|
},
|
|
2229: (e, t, r) => {
|
|
"use strict";
|
|
const {
|
|
snakeCase: n
|
|
} = r(3736), i = r(4412);
|
|
|
|
function a(e, t = i) {
|
|
const r = class extends Error {
|
|
constructor(t) {
|
|
super(t || n(e)), ((e, t, r) => {
|
|
const n = {
|
|
value: r,
|
|
configurable: !0,
|
|
enumerable: !1,
|
|
writable: !0
|
|
};
|
|
Object.defineProperty(e, "name", n)
|
|
})(this, 0, `${e}Error`)
|
|
}
|
|
},
|
|
a = `${e}Error`;
|
|
return t[a] || (t[a] = r), r
|
|
}
|
|
const o = {
|
|
AlreadyExistsError: "AlreadyExistsError",
|
|
BlacklistError: "BlacklistError",
|
|
CapacityExceededError: "CapacityExceededError",
|
|
ConfigError: "ConfigError",
|
|
CancellationError: "CancellationError",
|
|
DatastoreError: "DatastoreError",
|
|
DomainBlacklistedError: "DomainBlacklistedError",
|
|
EmailLockedError: "EmailLockedError",
|
|
EventIgnoredError: "EventIgnoredError",
|
|
EventNotSupportedError: "EventNotSupportedError",
|
|
ExpiredError: "ExpiredError",
|
|
FatalError: "FatalError",
|
|
FacebookNoEmailError: "FacebookNoEmailError",
|
|
InsufficientBalanceError: "InsufficientBalanceError",
|
|
InsufficientResourcesError: "InsufficientResourcesError",
|
|
InvalidConfigurationError: "InvalidConfigurationError",
|
|
InvalidCredentialsError: "InvalidCredentialsError",
|
|
InvalidDataError: "InvalidDataError",
|
|
InvalidMappingError: "InvalidMappingError",
|
|
InvalidParametersError: "InvalidParametersError",
|
|
InvalidResponseError: "InvalidResponseError",
|
|
MessageListenerError: "MessageListenerError",
|
|
MissingParametersError: "MissingParametersError",
|
|
NetworkError: "NetworkError",
|
|
NothingToUpdateError: "NothingToUpdateError",
|
|
NotAllowedError: "NotAllowedError",
|
|
NotFoundError: "NotFoundError",
|
|
NotImplementedError: "NotImplementedError",
|
|
NotStartedError: "NotStartedError",
|
|
NotSupportedError: "NotSupportedError",
|
|
NoMessageListenersError: "NoMessageListenersError",
|
|
OperationSkippedError: "OperationSkippedError",
|
|
PayloadTooLargeError: "PayloadTooLargeError",
|
|
ProfanityError: "ProfanityError",
|
|
RequestThrottledError: "RequestThrottledError",
|
|
ResourceLockedError: "ResourceLockedError",
|
|
ServerError: "ServerError",
|
|
StorageError: "StorageError",
|
|
SwitchedUserError: "SwitchedUserError",
|
|
TimeoutError: "TimeoutError",
|
|
UnauthorizedError: "UnauthorizedError",
|
|
UpToDateError: "UpToDateError",
|
|
URIError: "URIError"
|
|
},
|
|
s = {};
|
|
Object.keys(o).forEach(e => {
|
|
s[e] = a(e.slice(0, -5))
|
|
}), e.exports = {
|
|
errors: o,
|
|
define: a,
|
|
definedErrors: s
|
|
}
|
|
},
|
|
4412: (e, t, r) => {
|
|
"use strict";
|
|
e.exports = "object" == typeof self && self.self === self && self || "object" == typeof r.g && r.g.global === r.g && r.g || void 0
|
|
},
|
|
3296: (e, t, r) => {
|
|
"use strict";
|
|
const n = r(7267),
|
|
i = r(2229),
|
|
a = r(2632);
|
|
e.exports = {
|
|
errorClass: n,
|
|
errors: i,
|
|
getStatusCode: a
|
|
}
|
|
},
|
|
9467: (e, t, r) => {
|
|
e.exports = r(7154)
|
|
},
|
|
4300: (e, t, r) => {
|
|
"use strict";
|
|
var n = r(4836);
|
|
Object.defineProperty(t, "__esModule", {
|
|
value: !0
|
|
}), t.default = function(e) {
|
|
return function t(r) {
|
|
if (Array.isArray(r)) return r.map(t);
|
|
if ("object" != typeof r || !r) return r;
|
|
if (!e) return Object.entries(r).filter(([e]) => !s[e]).reduce((e, [r, n]) => Object.assign(e, {
|
|
[r]: "string" == typeof n ? n : t(n)
|
|
}), {});
|
|
const n = {};
|
|
return Object.keys(r).forEach(e => {
|
|
const o = r[e];
|
|
if (!s[e]) {
|
|
const r = void 0 === c[e] ? e : c[e];
|
|
if ("string" == typeof o) {
|
|
const t = (0, a.default)(1),
|
|
s = i.default.AES.encrypt(o, `${t}+${e}`).toString();
|
|
n[r] = `${t}${s}`
|
|
} else n[r] = t(o)
|
|
}
|
|
}), n
|
|
}
|
|
};
|
|
var i = n(r(1354)),
|
|
a = n(r(9409)),
|
|
o = n(r(832));
|
|
const s = {};
|
|
["start", "end", "raw", "sourceType"].forEach(e => {
|
|
s[e] = !0
|
|
});
|
|
const c = {};
|
|
o.default.forEach((e, t) => {
|
|
c[e] = `_${t}`
|
|
}), e.exports = t.default
|
|
},
|
|
7154: (e, t, r) => {
|
|
"use strict";
|
|
var n = r(4836);
|
|
Object.defineProperty(t, "__esModule", {
|
|
value: !0
|
|
}), t.default = function(e, {
|
|
encrypt: t = !1
|
|
} = {}) {
|
|
const r = `(function(){${e}\n})();`;
|
|
try {
|
|
const e = (0, s.default)(t),
|
|
n = (0, i.parse)(r, u),
|
|
l = (0, o.default)(e(n));
|
|
if (!t) return l;
|
|
const p = (0, c.default)(10);
|
|
return `${p}${a.default.AES.encrypt(l,p).toString()}`
|
|
} catch (e) {
|
|
const t = e.pos,
|
|
n = `ParsingError: Relevant source below\n${r.slice(0,t).split("\n").slice(-6).join("\n")} --\x3e[ERROR OCCURRED HERE]<-- ${r.slice(t).split("\n").slice(0,6).join("\n")}`;
|
|
throw e.formattedMessage = n, e
|
|
}
|
|
};
|
|
var i = r(3230),
|
|
a = n(r(1354)),
|
|
o = n(r(7266)),
|
|
s = n(r(4300)),
|
|
c = n(r(9409));
|
|
const u = {
|
|
ecmaVersion: 7
|
|
};
|
|
e.exports = t.default
|
|
},
|
|
9409: (e, t) => {
|
|
"use strict";
|
|
Object.defineProperty(t, "__esModule", {
|
|
value: !0
|
|
}), t.default = function(e) {
|
|
return Array(e).fill(0).map(() => r.charAt(Math.floor(Math.random() * r.length))).join("")
|
|
};
|
|
const r = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
|
|
e.exports = t.default
|
|
},
|
|
3736: (e, t, r) => {
|
|
"use strict";
|
|
r.r(t), r.d(t, {
|
|
camelCase: () => f,
|
|
camelCaseTransform: () => d,
|
|
camelCaseTransformMerge: () => h,
|
|
capitalCase: () => v,
|
|
capitalCaseTransform: () => g,
|
|
constantCase: () => _,
|
|
dotCase: () => b,
|
|
headerCase: () => S,
|
|
noCase: () => s,
|
|
paramCase: () => x,
|
|
pascalCase: () => p,
|
|
pascalCaseTransform: () => u,
|
|
pascalCaseTransformMerge: () => l,
|
|
pathCase: () => P,
|
|
sentenceCase: () => w,
|
|
sentenceCaseTransform: () => O,
|
|
snakeCase: () => k
|
|
});
|
|
var n = function() {
|
|
return n = Object.assign || function(e) {
|
|
for (var t, r = 1, n = arguments.length; r < n; r++)
|
|
for (var i in t = arguments[r]) Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]);
|
|
return e
|
|
}, n.apply(this, arguments)
|
|
};
|
|
|
|
function i(e) {
|
|
return e.toLowerCase()
|
|
}
|
|
Object.create, Object.create;
|
|
var a = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g],
|
|
o = /[^A-Z0-9]+/gi;
|
|
|
|
function s(e, t) {
|
|
void 0 === t && (t = {});
|
|
for (var r = t.splitRegexp, n = void 0 === r ? a : r, s = t.stripRegexp, u = void 0 === s ? o : s, l = t.transform, p = void 0 === l ? i : l, d = t.delimiter, h = void 0 === d ? " " : d, f = c(c(e, n, "$1\0$2"), u, "\0"), m = 0, g = f.length;
|
|
"\0" === f.charAt(m);) m++;
|
|
for (;
|
|
"\0" === f.charAt(g - 1);) g--;
|
|
return f.slice(m, g).split("\0").map(p).join(h)
|
|
}
|
|
|
|
function c(e, t, r) {
|
|
return t instanceof RegExp ? e.replace(t, r) : t.reduce(function(e, t) {
|
|
return e.replace(t, r)
|
|
}, e)
|
|
}
|
|
|
|
function u(e, t) {
|
|
var r = e.charAt(0),
|
|
n = e.substr(1).toLowerCase();
|
|
return t > 0 && r >= "0" && r <= "9" ? "_" + r + n : "" + r.toUpperCase() + n
|
|
}
|
|
|
|
function l(e) {
|
|
return e.charAt(0).toUpperCase() + e.slice(1).toLowerCase()
|
|
}
|
|
|
|
function p(e, t) {
|
|
return void 0 === t && (t = {}), s(e, n({
|
|
delimiter: "",
|
|
transform: u
|
|
}, t))
|
|
}
|
|
|
|
function d(e, t) {
|
|
return 0 === t ? e.toLowerCase() : u(e, t)
|
|
}
|
|
|
|
function h(e, t) {
|
|
return 0 === t ? e.toLowerCase() : l(e)
|
|
}
|
|
|
|
function f(e, t) {
|
|
return void 0 === t && (t = {}), p(e, n({
|
|
transform: d
|
|
}, t))
|
|
}
|
|
|
|
function m(e) {
|
|
return e.charAt(0).toUpperCase() + e.substr(1)
|
|
}
|
|
|
|
function g(e) {
|
|
return m(e.toLowerCase())
|
|
}
|
|
|
|
function v(e, t) {
|
|
return void 0 === t && (t = {}), s(e, n({
|
|
delimiter: " ",
|
|
transform: g
|
|
}, t))
|
|
}
|
|
|
|
function y(e) {
|
|
return e.toUpperCase()
|
|
}
|
|
|
|
function _(e, t) {
|
|
return void 0 === t && (t = {}), s(e, n({
|
|
delimiter: "_",
|
|
transform: y
|
|
}, t))
|
|
}
|
|
|
|
function b(e, t) {
|
|
return void 0 === t && (t = {}), s(e, n({
|
|
delimiter: "."
|
|
}, t))
|
|
}
|
|
|
|
function S(e, t) {
|
|
return void 0 === t && (t = {}), v(e, n({
|
|
delimiter: "-"
|
|
}, t))
|
|
}
|
|
|
|
function x(e, t) {
|
|
return void 0 === t && (t = {}), b(e, n({
|
|
delimiter: "-"
|
|
}, t))
|
|
}
|
|
|
|
function P(e, t) {
|
|
return void 0 === t && (t = {}), b(e, n({
|
|
delimiter: "/"
|
|
}, t))
|
|
}
|
|
|
|
function O(e, t) {
|
|
var r = e.toLowerCase();
|
|
return 0 === t ? m(r) : r
|
|
}
|
|
|
|
function w(e, t) {
|
|
return void 0 === t && (t = {}), s(e, n({
|
|
delimiter: " ",
|
|
transform: O
|
|
}, t))
|
|
}
|
|
|
|
function k(e, t) {
|
|
return void 0 === t && (t = {}), b(e, n({
|
|
delimiter: "_"
|
|
}, t))
|
|
}
|
|
},
|
|
452: function(e, t, r) {
|
|
var n;
|
|
e.exports = (n = r(8249), r(8269), r(8214), r(888), r(5109), function() {
|
|
var e = n,
|
|
t = e.lib.BlockCipher,
|
|
r = e.algo,
|
|
i = [],
|
|
a = [],
|
|
o = [],
|
|
s = [],
|
|
c = [],
|
|
u = [],
|
|
l = [],
|
|
p = [],
|
|
d = [],
|
|
h = [];
|
|
! function() {
|
|
for (var e = [], t = 0; t < 256; t++) e[t] = t < 128 ? t << 1 : t << 1 ^ 283;
|
|
var r = 0,
|
|
n = 0;
|
|
for (t = 0; t < 256; t++) {
|
|
var f = n ^ n << 1 ^ n << 2 ^ n << 3 ^ n << 4;
|
|
f = f >>> 8 ^ 255 & f ^ 99, i[r] = f, a[f] = r;
|
|
var m = e[r],
|
|
g = e[m],
|
|
v = e[g],
|
|
y = 257 * e[f] ^ 16843008 * f;
|
|
o[r] = y << 24 | y >>> 8, s[r] = y << 16 | y >>> 16, c[r] = y << 8 | y >>> 24, u[r] = y, y = 16843009 * v ^ 65537 * g ^ 257 * m ^ 16843008 * r, l[f] = y << 24 | y >>> 8, p[f] = y << 16 | y >>> 16, d[f] = y << 8 | y >>> 24, h[f] = y, r ? (r = m ^ e[e[e[v ^ m]]], n ^= e[e[n]]) : r = n = 1
|
|
}
|
|
}();
|
|
var f = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54],
|
|
m = r.AES = t.extend({
|
|
_doReset: function() {
|
|
if (!this._nRounds || this._keyPriorReset !== this._key) {
|
|
for (var e = this._keyPriorReset = this._key, t = e.words, r = e.sigBytes / 4, n = 4 * ((this._nRounds = r + 6) + 1), a = this._keySchedule = [], o = 0; o < n; o++) o < r ? a[o] = t[o] : (u = a[o - 1], o % r ? r > 6 && o % r == 4 && (u = i[u >>> 24] << 24 | i[u >>> 16 & 255] << 16 | i[u >>> 8 & 255] << 8 | i[255 & u]) : (u = i[(u = u << 8 | u >>> 24) >>> 24] << 24 | i[u >>> 16 & 255] << 16 | i[u >>> 8 & 255] << 8 | i[255 & u], u ^= f[o / r | 0] << 24), a[o] = a[o - r] ^ u);
|
|
for (var s = this._invKeySchedule = [], c = 0; c < n; c++) {
|
|
if (o = n - c, c % 4) var u = a[o];
|
|
else u = a[o - 4];
|
|
s[c] = c < 4 || o <= 4 ? u : l[i[u >>> 24]] ^ p[i[u >>> 16 & 255]] ^ d[i[u >>> 8 & 255]] ^ h[i[255 & u]]
|
|
}
|
|
}
|
|
},
|
|
encryptBlock: function(e, t) {
|
|
this._doCryptBlock(e, t, this._keySchedule, o, s, c, u, i)
|
|
},
|
|
decryptBlock: function(e, t) {
|
|
var r = e[t + 1];
|
|
e[t + 1] = e[t + 3], e[t + 3] = r, this._doCryptBlock(e, t, this._invKeySchedule, l, p, d, h, a), r = e[t + 1], e[t + 1] = e[t + 3], e[t + 3] = r
|
|
},
|
|
_doCryptBlock: function(e, t, r, n, i, a, o, s) {
|
|
for (var c = this._nRounds, u = e[t] ^ r[0], l = e[t + 1] ^ r[1], p = e[t + 2] ^ r[2], d = e[t + 3] ^ r[3], h = 4, f = 1; f < c; f++) {
|
|
var m = n[u >>> 24] ^ i[l >>> 16 & 255] ^ a[p >>> 8 & 255] ^ o[255 & d] ^ r[h++],
|
|
g = n[l >>> 24] ^ i[p >>> 16 & 255] ^ a[d >>> 8 & 255] ^ o[255 & u] ^ r[h++],
|
|
v = n[p >>> 24] ^ i[d >>> 16 & 255] ^ a[u >>> 8 & 255] ^ o[255 & l] ^ r[h++],
|
|
y = n[d >>> 24] ^ i[u >>> 16 & 255] ^ a[l >>> 8 & 255] ^ o[255 & p] ^ r[h++];
|
|
u = m, l = g, p = v, d = y
|
|
}
|
|
m = (s[u >>> 24] << 24 | s[l >>> 16 & 255] << 16 | s[p >>> 8 & 255] << 8 | s[255 & d]) ^ r[h++], g = (s[l >>> 24] << 24 | s[p >>> 16 & 255] << 16 | s[d >>> 8 & 255] << 8 | s[255 & u]) ^ r[h++], v = (s[p >>> 24] << 24 | s[d >>> 16 & 255] << 16 | s[u >>> 8 & 255] << 8 | s[255 & l]) ^ r[h++], y = (s[d >>> 24] << 24 | s[u >>> 16 & 255] << 16 | s[l >>> 8 & 255] << 8 | s[255 & p]) ^ r[h++], e[t] = m, e[t + 1] = g, e[t + 2] = v, e[t + 3] = y
|
|
},
|
|
keySize: 8
|
|
});
|
|
e.AES = t._createHelper(m)
|
|
}(), n.AES)
|
|
},
|
|
7407: function(e, t, r) {
|
|
var n;
|
|
e.exports = (n = r(8249), r(8269), r(8214), r(888), r(5109), function() {
|
|
var e = n,
|
|
t = e.lib.BlockCipher,
|
|
r = e.algo;
|
|
const i = 16,
|
|
a = [608135816, 2242054355, 320440878, 57701188, 2752067618, 698298832, 137296536, 3964562569, 1160258022, 953160567, 3193202383, 887688300, 3232508343, 3380367581, 1065670069, 3041331479, 2450970073, 2306472731],
|
|
o = [
|
|
[3509652390, 2564797868, 805139163, 3491422135, 3101798381, 1780907670, 3128725573, 4046225305, 614570311, 3012652279, 134345442, 2240740374, 1667834072, 1901547113, 2757295779, 4103290238, 227898511, 1921955416, 1904987480, 2182433518, 2069144605, 3260701109, 2620446009, 720527379, 3318853667, 677414384, 3393288472, 3101374703, 2390351024, 1614419982, 1822297739, 2954791486, 3608508353, 3174124327, 2024746970, 1432378464, 3864339955, 2857741204, 1464375394, 1676153920, 1439316330, 715854006, 3033291828, 289532110, 2706671279, 2087905683, 3018724369, 1668267050, 732546397, 1947742710, 3462151702, 2609353502, 2950085171, 1814351708, 2050118529, 680887927, 999245976, 1800124847, 3300911131, 1713906067, 1641548236, 4213287313, 1216130144, 1575780402, 4018429277, 3917837745, 3693486850, 3949271944, 596196993, 3549867205, 258830323, 2213823033, 772490370, 2760122372, 1774776394, 2652871518, 566650946, 4142492826, 1728879713, 2882767088, 1783734482, 3629395816, 2517608232, 2874225571, 1861159788, 326777828, 3124490320, 2130389656, 2716951837, 967770486, 1724537150, 2185432712, 2364442137, 1164943284, 2105845187, 998989502, 3765401048, 2244026483, 1075463327, 1455516326, 1322494562, 910128902, 469688178, 1117454909, 936433444, 3490320968, 3675253459, 1240580251, 122909385, 2157517691, 634681816, 4142456567, 3825094682, 3061402683, 2540495037, 79693498, 3249098678, 1084186820, 1583128258, 426386531, 1761308591, 1047286709, 322548459, 995290223, 1845252383, 2603652396, 3431023940, 2942221577, 3202600964, 3727903485, 1712269319, 422464435, 3234572375, 1170764815, 3523960633, 3117677531, 1434042557, 442511882, 3600875718, 1076654713, 1738483198, 4213154764, 2393238008, 3677496056, 1014306527, 4251020053, 793779912, 2902807211, 842905082, 4246964064, 1395751752, 1040244610, 2656851899, 3396308128, 445077038, 3742853595, 3577915638, 679411651, 2892444358, 2354009459, 1767581616, 3150600392, 3791627101, 3102740896, 284835224, 4246832056, 1258075500, 768725851, 2589189241, 3069724005, 3532540348, 1274779536, 3789419226, 2764799539, 1660621633, 3471099624, 4011903706, 913787905, 3497959166, 737222580, 2514213453, 2928710040, 3937242737, 1804850592, 3499020752, 2949064160, 2386320175, 2390070455, 2415321851, 4061277028, 2290661394, 2416832540, 1336762016, 1754252060, 3520065937, 3014181293, 791618072, 3188594551, 3933548030, 2332172193, 3852520463, 3043980520, 413987798, 3465142937, 3030929376, 4245938359, 2093235073, 3534596313, 375366246, 2157278981, 2479649556, 555357303, 3870105701, 2008414854, 3344188149, 4221384143, 3956125452, 2067696032, 3594591187, 2921233993, 2428461, 544322398, 577241275, 1471733935, 610547355, 4027169054, 1432588573, 1507829418, 2025931657, 3646575487, 545086370, 48609733, 2200306550, 1653985193, 298326376, 1316178497, 3007786442, 2064951626, 458293330, 2589141269, 3591329599, 3164325604, 727753846, 2179363840, 146436021, 1461446943, 4069977195, 705550613, 3059967265, 3887724982, 4281599278, 3313849956, 1404054877, 2845806497, 146425753, 1854211946],
|
|
[1266315497, 3048417604, 3681880366, 3289982499, 290971e4, 1235738493, 2632868024, 2414719590, 3970600049, 1771706367, 1449415276, 3266420449, 422970021, 1963543593, 2690192192, 3826793022, 1062508698, 1531092325, 1804592342, 2583117782, 2714934279, 4024971509, 1294809318, 4028980673, 1289560198, 2221992742, 1669523910, 35572830, 157838143, 1052438473, 1016535060, 1802137761, 1753167236, 1386275462, 3080475397, 2857371447, 1040679964, 2145300060, 2390574316, 1461121720, 2956646967, 4031777805, 4028374788, 33600511, 2920084762, 1018524850, 629373528, 3691585981, 3515945977, 2091462646, 2486323059, 586499841, 988145025, 935516892, 3367335476, 2599673255, 2839830854, 265290510, 3972581182, 2759138881, 3795373465, 1005194799, 847297441, 406762289, 1314163512, 1332590856, 1866599683, 4127851711, 750260880, 613907577, 1450815602, 3165620655, 3734664991, 3650291728, 3012275730, 3704569646, 1427272223, 778793252, 1343938022, 2676280711, 2052605720, 1946737175, 3164576444, 3914038668, 3967478842, 3682934266, 1661551462, 3294938066, 4011595847, 840292616, 3712170807, 616741398, 312560963, 711312465, 1351876610, 322626781, 1910503582, 271666773, 2175563734, 1594956187, 70604529, 3617834859, 1007753275, 1495573769, 4069517037, 2549218298, 2663038764, 504708206, 2263041392, 3941167025, 2249088522, 1514023603, 1998579484, 1312622330, 694541497, 2582060303, 2151582166, 1382467621, 776784248, 2618340202, 3323268794, 2497899128, 2784771155, 503983604, 4076293799, 907881277, 423175695, 432175456, 1378068232, 4145222326, 3954048622, 3938656102, 3820766613, 2793130115, 2977904593, 26017576, 3274890735, 3194772133, 1700274565, 1756076034, 4006520079, 3677328699, 720338349, 1533947780, 354530856, 688349552, 3973924725, 1637815568, 332179504, 3949051286, 53804574, 2852348879, 3044236432, 1282449977, 3583942155, 3416972820, 4006381244, 1617046695, 2628476075, 3002303598, 1686838959, 431878346, 2686675385, 1700445008, 1080580658, 1009431731, 832498133, 3223435511, 2605976345, 2271191193, 2516031870, 1648197032, 4164389018, 2548247927, 300782431, 375919233, 238389289, 3353747414, 2531188641, 2019080857, 1475708069, 455242339, 2609103871, 448939670, 3451063019, 1395535956, 2413381860, 1841049896, 1491858159, 885456874, 4264095073, 4001119347, 1565136089, 3898914787, 1108368660, 540939232, 1173283510, 2745871338, 3681308437, 4207628240, 3343053890, 4016749493, 1699691293, 1103962373, 3625875870, 2256883143, 3830138730, 1031889488, 3479347698, 1535977030, 4236805024, 3251091107, 2132092099, 1774941330, 1199868427, 1452454533, 157007616, 2904115357, 342012276, 595725824, 1480756522, 206960106, 497939518, 591360097, 863170706, 2375253569, 3596610801, 1814182875, 2094937945, 3421402208, 1082520231, 3463918190, 2785509508, 435703966, 3908032597, 1641649973, 2842273706, 3305899714, 1510255612, 2148256476, 2655287854, 3276092548, 4258621189, 236887753, 3681803219, 274041037, 1734335097, 3815195456, 3317970021, 1899903192, 1026095262, 4050517792, 356393447, 2410691914, 3873677099, 3682840055],
|
|
[3913112168, 2491498743, 4132185628, 2489919796, 1091903735, 1979897079, 3170134830, 3567386728, 3557303409, 857797738, 1136121015, 1342202287, 507115054, 2535736646, 337727348, 3213592640, 1301675037, 2528481711, 1895095763, 1721773893, 3216771564, 62756741, 2142006736, 835421444, 2531993523, 1442658625, 3659876326, 2882144922, 676362277, 1392781812, 170690266, 3921047035, 1759253602, 3611846912, 1745797284, 664899054, 1329594018, 3901205900, 3045908486, 2062866102, 2865634940, 3543621612, 3464012697, 1080764994, 553557557, 3656615353, 3996768171, 991055499, 499776247, 1265440854, 648242737, 3940784050, 980351604, 3713745714, 1749149687, 3396870395, 4211799374, 3640570775, 1161844396, 3125318951, 1431517754, 545492359, 4268468663, 3499529547, 1437099964, 2702547544, 3433638243, 2581715763, 2787789398, 1060185593, 1593081372, 2418618748, 4260947970, 69676912, 2159744348, 86519011, 2512459080, 3838209314, 1220612927, 3339683548, 133810670, 1090789135, 1078426020, 1569222167, 845107691, 3583754449, 4072456591, 1091646820, 628848692, 1613405280, 3757631651, 526609435, 236106946, 48312990, 2942717905, 3402727701, 1797494240, 859738849, 992217954, 4005476642, 2243076622, 3870952857, 3732016268, 765654824, 3490871365, 2511836413, 1685915746, 3888969200, 1414112111, 2273134842, 3281911079, 4080962846, 172450625, 2569994100, 980381355, 4109958455, 2819808352, 2716589560, 2568741196, 3681446669, 3329971472, 1835478071, 660984891, 3704678404, 4045999559, 3422617507, 3040415634, 1762651403, 1719377915, 3470491036, 2693910283, 3642056355, 3138596744, 1364962596, 2073328063, 1983633131, 926494387, 3423689081, 2150032023, 4096667949, 1749200295, 3328846651, 309677260, 2016342300, 1779581495, 3079819751, 111262694, 1274766160, 443224088, 298511866, 1025883608, 3806446537, 1145181785, 168956806, 3641502830, 3584813610, 1689216846, 3666258015, 3200248200, 1692713982, 2646376535, 4042768518, 1618508792, 1610833997, 3523052358, 4130873264, 2001055236, 3610705100, 2202168115, 4028541809, 2961195399, 1006657119, 2006996926, 3186142756, 1430667929, 3210227297, 1314452623, 4074634658, 4101304120, 2273951170, 1399257539, 3367210612, 3027628629, 1190975929, 2062231137, 2333990788, 2221543033, 2438960610, 1181637006, 548689776, 2362791313, 3372408396, 3104550113, 3145860560, 296247880, 1970579870, 3078560182, 3769228297, 1714227617, 3291629107, 3898220290, 166772364, 1251581989, 493813264, 448347421, 195405023, 2709975567, 677966185, 3703036547, 1463355134, 2715995803, 1338867538, 1343315457, 2802222074, 2684532164, 233230375, 2599980071, 2000651841, 3277868038, 1638401717, 4028070440, 3237316320, 6314154, 819756386, 300326615, 590932579, 1405279636, 3267499572, 3150704214, 2428286686, 3959192993, 3461946742, 1862657033, 1266418056, 963775037, 2089974820, 2263052895, 1917689273, 448879540, 3550394620, 3981727096, 150775221, 3627908307, 1303187396, 508620638, 2975983352, 2726630617, 1817252668, 1876281319, 1457606340, 908771278, 3720792119, 3617206836, 2455994898, 1729034894, 1080033504],
|
|
[976866871, 3556439503, 2881648439, 1522871579, 1555064734, 1336096578, 3548522304, 2579274686, 3574697629, 3205460757, 3593280638, 3338716283, 3079412587, 564236357, 2993598910, 1781952180, 1464380207, 3163844217, 3332601554, 1699332808, 1393555694, 1183702653, 3581086237, 1288719814, 691649499, 2847557200, 2895455976, 3193889540, 2717570544, 1781354906, 1676643554, 2592534050, 3230253752, 1126444790, 2770207658, 2633158820, 2210423226, 2615765581, 2414155088, 3127139286, 673620729, 2805611233, 1269405062, 4015350505, 3341807571, 4149409754, 1057255273, 2012875353, 2162469141, 2276492801, 2601117357, 993977747, 3918593370, 2654263191, 753973209, 36408145, 2530585658, 25011837, 3520020182, 2088578344, 530523599, 2918365339, 1524020338, 1518925132, 3760827505, 3759777254, 1202760957, 3985898139, 3906192525, 674977740, 4174734889, 2031300136, 2019492241, 3983892565, 4153806404, 3822280332, 352677332, 2297720250, 60907813, 90501309, 3286998549, 1016092578, 2535922412, 2839152426, 457141659, 509813237, 4120667899, 652014361, 1966332200, 2975202805, 55981186, 2327461051, 676427537, 3255491064, 2882294119, 3433927263, 1307055953, 942726286, 933058658, 2468411793, 3933900994, 4215176142, 1361170020, 2001714738, 2830558078, 3274259782, 1222529897, 1679025792, 2729314320, 3714953764, 1770335741, 151462246, 3013232138, 1682292957, 1483529935, 471910574, 1539241949, 458788160, 3436315007, 1807016891, 3718408830, 978976581, 1043663428, 3165965781, 1927990952, 4200891579, 2372276910, 3208408903, 3533431907, 1412390302, 2931980059, 4132332400, 1947078029, 3881505623, 4168226417, 2941484381, 1077988104, 1320477388, 886195818, 18198404, 3786409e3, 2509781533, 112762804, 3463356488, 1866414978, 891333506, 18488651, 661792760, 1628790961, 3885187036, 3141171499, 876946877, 2693282273, 1372485963, 791857591, 2686433993, 3759982718, 3167212022, 3472953795, 2716379847, 445679433, 3561995674, 3504004811, 3574258232, 54117162, 3331405415, 2381918588, 3769707343, 4154350007, 1140177722, 4074052095, 668550556, 3214352940, 367459370, 261225585, 2610173221, 4209349473, 3468074219, 3265815641, 314222801, 3066103646, 3808782860, 282218597, 3406013506, 3773591054, 379116347, 1285071038, 846784868, 2669647154, 3771962079, 3550491691, 2305946142, 453669953, 1268987020, 3317592352, 3279303384, 3744833421, 2610507566, 3859509063, 266596637, 3847019092, 517658769, 3462560207, 3443424879, 370717030, 4247526661, 2224018117, 4143653529, 4112773975, 2788324899, 2477274417, 1456262402, 2901442914, 1517677493, 1846949527, 2295493580, 3734397586, 2176403920, 1280348187, 1908823572, 3871786941, 846861322, 1172426758, 3287448474, 3383383037, 1655181056, 3139813346, 901632758, 1897031941, 2986607138, 3066810236, 3447102507, 1393639104, 373351379, 950779232, 625454576, 3124240540, 4148612726, 2007998917, 544563296, 2244738638, 2330496472, 2058025392, 1291430526, 424198748, 50039436, 29584100, 3605783033, 2429876329, 2791104160, 1057563949, 3255363231, 3075367218, 3463963227, 1469046755, 985887462]
|
|
];
|
|
var s = {
|
|
pbox: [],
|
|
sbox: []
|
|
};
|
|
|
|
function c(e, t) {
|
|
let r = t >> 24 & 255,
|
|
n = t >> 16 & 255,
|
|
i = t >> 8 & 255,
|
|
a = 255 & t,
|
|
o = e.sbox[0][r] + e.sbox[1][n];
|
|
return o ^= e.sbox[2][i], o += e.sbox[3][a], o
|
|
}
|
|
|
|
function u(e, t, r) {
|
|
let n, a = t,
|
|
o = r;
|
|
for (let t = 0; t < i; ++t) a ^= e.pbox[t], o = c(e, a) ^ o, n = a, a = o, o = n;
|
|
return n = a, a = o, o = n, o ^= e.pbox[i], a ^= e.pbox[17], {
|
|
left: a,
|
|
right: o
|
|
}
|
|
}
|
|
var d = r.Blowfish = t.extend({
|
|
_doReset: function() {
|
|
if (this._keyPriorReset !== this._key) {
|
|
var e = this._keyPriorReset = this._key,
|
|
t = e.words,
|
|
r = e.sigBytes / 4;
|
|
! function(e, t, r) {
|
|
for (let t = 0; t < 4; t++) {
|
|
e.sbox[t] = [];
|
|
for (let r = 0; r < 256; r++) e.sbox[t][r] = o[t][r]
|
|
}
|
|
let n = 0;
|
|
for (let o = 0; o < 18; o++) e.pbox[o] = a[o] ^ t[n], n++, n >= r && (n = 0);
|
|
let s = 0,
|
|
c = 0,
|
|
l = 0;
|
|
for (let t = 0; t < 18; t += 2) l = u(e, s, c), s = l.left, c = l.right, e.pbox[t] = s, e.pbox[t + 1] = c;
|
|
for (let t = 0; t < 4; t++)
|
|
for (let r = 0; r < 256; r += 2) l = u(e, s, c), s = l.left, c = l.right, e.sbox[t][r] = s, e.sbox[t][r + 1] = c
|
|
}(s, t, r)
|
|
}
|
|
},
|
|
encryptBlock: function(e, t) {
|
|
var r = u(s, e[t], e[t + 1]);
|
|
e[t] = r.left, e[t + 1] = r.right
|
|
},
|
|
decryptBlock: function(e, t) {
|
|
var r = function(e, t, r) {
|
|
let n, a = t,
|
|
o = r;
|
|
for (let t = 17; t > 1; --t) a ^= e.pbox[t], o = c(e, a) ^ o, n = a, a = o, o = n;
|
|
return n = a, a = o, o = n, o ^= e.pbox[1], a ^= e.pbox[0], {
|
|
left: a,
|
|
right: o
|
|
}
|
|
}(s, e[t], e[t + 1]);
|
|
e[t] = r.left, e[t + 1] = r.right
|
|
},
|
|
blockSize: 2,
|
|
keySize: 4,
|
|
ivSize: 2
|
|
});
|
|
e.Blowfish = t._createHelper(d)
|
|
}(), n.Blowfish)
|
|
},
|
|
5109: function(e, t, r) {
|
|
var n;
|
|
e.exports = (n = r(8249), r(888), void(n.lib.Cipher || function() {
|
|
var t = n,
|
|
r = t.lib,
|
|
i = r.Base,
|
|
a = r.WordArray,
|
|
o = r.BufferedBlockAlgorithm,
|
|
s = t.enc,
|
|
c = (s.Utf8, s.Base64),
|
|
u = t.algo.EvpKDF,
|
|
l = r.Cipher = o.extend({
|
|
cfg: i.extend(),
|
|
createEncryptor: function(e, t) {
|
|
return this.create(this._ENC_XFORM_MODE, e, t)
|
|
},
|
|
createDecryptor: function(e, t) {
|
|
return this.create(this._DEC_XFORM_MODE, e, t)
|
|
},
|
|
init: function(e, t, r) {
|
|
this.cfg = this.cfg.extend(r), this._xformMode = e, this._key = t, this.reset()
|
|
},
|
|
reset: function() {
|
|
o.reset.call(this), this._doReset()
|
|
},
|
|
process: function(e) {
|
|
return this._append(e), this._process()
|
|
},
|
|
finalize: function(e) {
|
|
return e && this._append(e), this._doFinalize()
|
|
},
|
|
keySize: 4,
|
|
ivSize: 4,
|
|
_ENC_XFORM_MODE: 1,
|
|
_DEC_XFORM_MODE: 2,
|
|
_createHelper: function() {
|
|
function e(e) {
|
|
return "string" == typeof e ? _ : v
|
|
}
|
|
return function(t) {
|
|
return {
|
|
encrypt: function(r, n, i) {
|
|
return e(n).encrypt(t, r, n, i)
|
|
},
|
|
decrypt: function(r, n, i) {
|
|
return e(n).decrypt(t, r, n, i)
|
|
}
|
|
}
|
|
}
|
|
}()
|
|
}),
|
|
p = (r.StreamCipher = l.extend({
|
|
_doFinalize: function() {
|
|
return this._process(!0)
|
|
},
|
|
blockSize: 1
|
|
}), t.mode = {}),
|
|
d = r.BlockCipherMode = i.extend({
|
|
createEncryptor: function(e, t) {
|
|
return this.Encryptor.create(e, t)
|
|
},
|
|
createDecryptor: function(e, t) {
|
|
return this.Decryptor.create(e, t)
|
|
},
|
|
init: function(e, t) {
|
|
this._cipher = e, this._iv = t
|
|
}
|
|
}),
|
|
h = p.CBC = function() {
|
|
var t = d.extend();
|
|
|
|
function r(t, r, n) {
|
|
var i, a = this._iv;
|
|
a ? (i = a, this._iv = undefined) : i = this._prevBlock;
|
|
for (var o = 0; o < n; o++) t[r + o] ^= i[o]
|
|
}
|
|
return t.Encryptor = t.extend({
|
|
processBlock: function(e, t) {
|
|
var n = this._cipher,
|
|
i = n.blockSize;
|
|
r.call(this, e, t, i), n.encryptBlock(e, t), this._prevBlock = e.slice(t, t + i)
|
|
}
|
|
}), t.Decryptor = t.extend({
|
|
processBlock: function(e, t) {
|
|
var n = this._cipher,
|
|
i = n.blockSize,
|
|
a = e.slice(t, t + i);
|
|
n.decryptBlock(e, t), r.call(this, e, t, i), this._prevBlock = a
|
|
}
|
|
}), t
|
|
}(),
|
|
f = (t.pad = {}).Pkcs7 = {
|
|
pad: function(e, t) {
|
|
for (var r = 4 * t, n = r - e.sigBytes % r, i = n << 24 | n << 16 | n << 8 | n, o = [], s = 0; s < n; s += 4) o.push(i);
|
|
var c = a.create(o, n);
|
|
e.concat(c)
|
|
},
|
|
unpad: function(e) {
|
|
var t = 255 & e.words[e.sigBytes - 1 >>> 2];
|
|
e.sigBytes -= t
|
|
}
|
|
},
|
|
m = (r.BlockCipher = l.extend({
|
|
cfg: l.cfg.extend({
|
|
mode: h,
|
|
padding: f
|
|
}),
|
|
reset: function() {
|
|
var e;
|
|
l.reset.call(this);
|
|
var t = this.cfg,
|
|
r = t.iv,
|
|
n = t.mode;
|
|
this._xformMode == this._ENC_XFORM_MODE ? e = n.createEncryptor : (e = n.createDecryptor, this._minBufferSize = 1), this._mode && this._mode.__creator == e ? this._mode.init(this, r && r.words) : (this._mode = e.call(n, this, r && r.words), this._mode.__creator = e)
|
|
},
|
|
_doProcessBlock: function(e, t) {
|
|
this._mode.processBlock(e, t)
|
|
},
|
|
_doFinalize: function() {
|
|
var e, t = this.cfg.padding;
|
|
return this._xformMode == this._ENC_XFORM_MODE ? (t.pad(this._data, this.blockSize), e = this._process(!0)) : (e = this._process(!0), t.unpad(e)), e
|
|
},
|
|
blockSize: 4
|
|
}), r.CipherParams = i.extend({
|
|
init: function(e) {
|
|
this.mixIn(e)
|
|
},
|
|
toString: function(e) {
|
|
return (e || this.formatter).stringify(this)
|
|
}
|
|
})),
|
|
g = (t.format = {}).OpenSSL = {
|
|
stringify: function(e) {
|
|
var t = e.ciphertext,
|
|
r = e.salt;
|
|
return (r ? a.create([1398893684, 1701076831]).concat(r).concat(t) : t).toString(c)
|
|
},
|
|
parse: function(e) {
|
|
var t, r = c.parse(e),
|
|
n = r.words;
|
|
return 1398893684 == n[0] && 1701076831 == n[1] && (t = a.create(n.slice(2, 4)), n.splice(0, 4), r.sigBytes -= 16), m.create({
|
|
ciphertext: r,
|
|
salt: t
|
|
})
|
|
}
|
|
},
|
|
v = r.SerializableCipher = i.extend({
|
|
cfg: i.extend({
|
|
format: g
|
|
}),
|
|
encrypt: function(e, t, r, n) {
|
|
n = this.cfg.extend(n);
|
|
var i = e.createEncryptor(r, n),
|
|
a = i.finalize(t),
|
|
o = i.cfg;
|
|
return m.create({
|
|
ciphertext: a,
|
|
key: r,
|
|
iv: o.iv,
|
|
algorithm: e,
|
|
mode: o.mode,
|
|
padding: o.padding,
|
|
blockSize: e.blockSize,
|
|
formatter: n.format
|
|
})
|
|
},
|
|
decrypt: function(e, t, r, n) {
|
|
return n = this.cfg.extend(n), t = this._parse(t, n.format), e.createDecryptor(r, n).finalize(t.ciphertext)
|
|
},
|
|
_parse: function(e, t) {
|
|
return "string" == typeof e ? t.parse(e, this) : e
|
|
}
|
|
}),
|
|
y = (t.kdf = {}).OpenSSL = {
|
|
execute: function(e, t, r, n, i) {
|
|
if (n || (n = a.random(8)), i) o = u.create({
|
|
keySize: t + r,
|
|
hasher: i
|
|
}).compute(e, n);
|
|
else var o = u.create({
|
|
keySize: t + r
|
|
}).compute(e, n);
|
|
var s = a.create(o.words.slice(t), 4 * r);
|
|
return o.sigBytes = 4 * t, m.create({
|
|
key: o,
|
|
iv: s,
|
|
salt: n
|
|
})
|
|
}
|
|
},
|
|
_ = r.PasswordBasedCipher = v.extend({
|
|
cfg: v.cfg.extend({
|
|
kdf: y
|
|
}),
|
|
encrypt: function(e, t, r, n) {
|
|
var i = (n = this.cfg.extend(n)).kdf.execute(r, e.keySize, e.ivSize, n.salt, n.hasher);
|
|
n.iv = i.iv;
|
|
var a = v.encrypt.call(this, e, t, i.key, n);
|
|
return a.mixIn(i), a
|
|
},
|
|
decrypt: function(e, t, r, n) {
|
|
n = this.cfg.extend(n), t = this._parse(t, n.format);
|
|
var i = n.kdf.execute(r, e.keySize, e.ivSize, t.salt, n.hasher);
|
|
return n.iv = i.iv, v.decrypt.call(this, e, t, i.key, n)
|
|
}
|
|
})
|
|
}()))
|
|
},
|
|
8249: function(e, t, r) {
|
|
var n;
|
|
e.exports = (n = n || function(e) {
|
|
var n;
|
|
if ("undefined" != typeof window && window.crypto && (n = window.crypto), "undefined" != typeof self && self.crypto && (n = self.crypto), "undefined" != typeof globalThis && globalThis.crypto && (n = globalThis.crypto), !n && "undefined" != typeof window && window.msCrypto && (n = window.msCrypto), !n && void 0 !== r.g && r.g.crypto && (n = r.g.crypto), !n) try {
|
|
n = r(2480)
|
|
} catch (e) {}
|
|
var i = function() {
|
|
if (n) {
|
|
if ("function" == typeof n.getRandomValues) try {
|
|
return n.getRandomValues(new Uint32Array(1))[0]
|
|
} catch (e) {}
|
|
if ("function" == typeof n.randomBytes) try {
|
|
return n.randomBytes(4).readInt32LE()
|
|
} catch (e) {}
|
|
}
|
|
throw new Error("Native crypto module could not be used to get secure random number.")
|
|
},
|
|
a = Object.create || function() {
|
|
function e() {}
|
|
return function(t) {
|
|
var r;
|
|
return e.prototype = t, r = new e, e.prototype = null, r
|
|
}
|
|
}(),
|
|
o = {},
|
|
s = o.lib = {},
|
|
c = s.Base = {
|
|
extend: function(e) {
|
|
var t = a(this);
|
|
return e && t.mixIn(e), t.hasOwnProperty("init") && this.init !== t.init || (t.init = function() {
|
|
t.$super.init.apply(this, arguments)
|
|
}), t.init.prototype = t, t.$super = this, t
|
|
},
|
|
create: function() {
|
|
var e = this.extend();
|
|
return e.init.apply(e, arguments), e
|
|
},
|
|
init: function() {},
|
|
mixIn: function(e) {
|
|
for (var t in e) e.hasOwnProperty(t) && (this[t] = e[t]);
|
|
e.hasOwnProperty("toString") && (this.toString = e.toString)
|
|
},
|
|
clone: function() {
|
|
return this.init.prototype.extend(this)
|
|
}
|
|
},
|
|
u = s.WordArray = c.extend({
|
|
init: function(e, r) {
|
|
e = this.words = e || [], this.sigBytes = null != r ? r : 4 * e.length
|
|
},
|
|
toString: function(e) {
|
|
return (e || p).stringify(this)
|
|
},
|
|
concat: function(e) {
|
|
var t = this.words,
|
|
r = e.words,
|
|
n = this.sigBytes,
|
|
i = e.sigBytes;
|
|
if (this.clamp(), n % 4)
|
|
for (var a = 0; a < i; a++) {
|
|
var o = r[a >>> 2] >>> 24 - a % 4 * 8 & 255;
|
|
t[n + a >>> 2] |= o << 24 - (n + a) % 4 * 8
|
|
} else
|
|
for (var s = 0; s < i; s += 4) t[n + s >>> 2] = r[s >>> 2];
|
|
return this.sigBytes += i, this
|
|
},
|
|
clamp: function() {
|
|
var t = this.words,
|
|
r = this.sigBytes;
|
|
t[r >>> 2] &= 4294967295 << 32 - r % 4 * 8, t.length = e.ceil(r / 4)
|
|
},
|
|
clone: function() {
|
|
var e = c.clone.call(this);
|
|
return e.words = this.words.slice(0), e
|
|
},
|
|
random: function(e) {
|
|
for (var t = [], r = 0; r < e; r += 4) t.push(i());
|
|
return new u.init(t, e)
|
|
}
|
|
}),
|
|
l = o.enc = {},
|
|
p = l.Hex = {
|
|
stringify: function(e) {
|
|
for (var t = e.words, r = e.sigBytes, n = [], i = 0; i < r; i++) {
|
|
var a = t[i >>> 2] >>> 24 - i % 4 * 8 & 255;
|
|
n.push((a >>> 4).toString(16)), n.push((15 & a).toString(16))
|
|
}
|
|
return n.join("")
|
|
},
|
|
parse: function(e) {
|
|
for (var t = e.length, r = [], n = 0; n < t; n += 2) r[n >>> 3] |= parseInt(e.substr(n, 2), 16) << 24 - n % 8 * 4;
|
|
return new u.init(r, t / 2)
|
|
}
|
|
},
|
|
d = l.Latin1 = {
|
|
stringify: function(e) {
|
|
for (var t = e.words, r = e.sigBytes, n = [], i = 0; i < r; i++) {
|
|
var a = t[i >>> 2] >>> 24 - i % 4 * 8 & 255;
|
|
n.push(String.fromCharCode(a))
|
|
}
|
|
return n.join("")
|
|
},
|
|
parse: function(e) {
|
|
for (var t = e.length, r = [], n = 0; n < t; n++) r[n >>> 2] |= (255 & e.charCodeAt(n)) << 24 - n % 4 * 8;
|
|
return new u.init(r, t)
|
|
}
|
|
},
|
|
h = l.Utf8 = {
|
|
stringify: function(e) {
|
|
try {
|
|
return decodeURIComponent(escape(d.stringify(e)))
|
|
} catch (e) {
|
|
throw new Error("Malformed UTF-8 data")
|
|
}
|
|
},
|
|
parse: function(e) {
|
|
return d.parse(unescape(encodeURIComponent(e)))
|
|
}
|
|
},
|
|
f = s.BufferedBlockAlgorithm = c.extend({
|
|
reset: function() {
|
|
this._data = new u.init, this._nDataBytes = 0
|
|
},
|
|
_append: function(e) {
|
|
"string" == typeof e && (e = h.parse(e)), this._data.concat(e), this._nDataBytes += e.sigBytes
|
|
},
|
|
_process: function(t) {
|
|
var r, n = this._data,
|
|
i = n.words,
|
|
a = n.sigBytes,
|
|
o = this.blockSize,
|
|
s = a / (4 * o),
|
|
c = (s = t ? e.ceil(s) : e.max((0 | s) - this._minBufferSize, 0)) * o,
|
|
l = e.min(4 * c, a);
|
|
if (c) {
|
|
for (var p = 0; p < c; p += o) this._doProcessBlock(i, p);
|
|
r = i.splice(0, c), n.sigBytes -= l
|
|
}
|
|
return new u.init(r, l)
|
|
},
|
|
clone: function() {
|
|
var e = c.clone.call(this);
|
|
return e._data = this._data.clone(), e
|
|
},
|
|
_minBufferSize: 0
|
|
}),
|
|
m = (s.Hasher = f.extend({
|
|
cfg: c.extend(),
|
|
init: function(e) {
|
|
this.cfg = this.cfg.extend(e), this.reset()
|
|
},
|
|
reset: function() {
|
|
f.reset.call(this), this._doReset()
|
|
},
|
|
update: function(e) {
|
|
return this._append(e), this._process(), this
|
|
},
|
|
finalize: function(e) {
|
|
return e && this._append(e), this._doFinalize()
|
|
},
|
|
blockSize: 16,
|
|
_createHelper: function(e) {
|
|
return function(t, r) {
|
|
return new e.init(r).finalize(t)
|
|
}
|
|
},
|
|
_createHmacHelper: function(e) {
|
|
return function(t, r) {
|
|
return new m.HMAC.init(e, r).finalize(t)
|
|
}
|
|
}
|
|
}), o.algo = {});
|
|
return o
|
|
}(Math), n)
|
|
},
|
|
8269: function(e, t, r) {
|
|
var n;
|
|
e.exports = (n = r(8249), function() {
|
|
var e = n,
|
|
t = e.lib.WordArray;
|
|
|
|
function r(e, r, n) {
|
|
for (var i = [], a = 0, o = 0; o < r; o++)
|
|
if (o % 4) {
|
|
var s = n[e.charCodeAt(o - 1)] << o % 4 * 2 | n[e.charCodeAt(o)] >>> 6 - o % 4 * 2;
|
|
i[a >>> 2] |= s << 24 - a % 4 * 8, a++
|
|
} return t.create(i, a)
|
|
}
|
|
e.enc.Base64 = {
|
|
stringify: function(e) {
|
|
var t = e.words,
|
|
r = e.sigBytes,
|
|
n = this._map;
|
|
e.clamp();
|
|
for (var i = [], a = 0; a < r; a += 3)
|
|
for (var o = (t[a >>> 2] >>> 24 - a % 4 * 8 & 255) << 16 | (t[a + 1 >>> 2] >>> 24 - (a + 1) % 4 * 8 & 255) << 8 | t[a + 2 >>> 2] >>> 24 - (a + 2) % 4 * 8 & 255, s = 0; s < 4 && a + .75 * s < r; s++) i.push(n.charAt(o >>> 6 * (3 - s) & 63));
|
|
var c = n.charAt(64);
|
|
if (c)
|
|
for (; i.length % 4;) i.push(c);
|
|
return i.join("")
|
|
},
|
|
parse: function(e) {
|
|
var t = e.length,
|
|
n = this._map,
|
|
i = this._reverseMap;
|
|
if (!i) {
|
|
i = this._reverseMap = [];
|
|
for (var a = 0; a < n.length; a++) i[n.charCodeAt(a)] = a
|
|
}
|
|
var o = n.charAt(64);
|
|
if (o) {
|
|
var s = e.indexOf(o); - 1 !== s && (t = s)
|
|
}
|
|
return r(e, t, i)
|
|
},
|
|
_map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
|
|
}
|
|
}(), n.enc.Base64)
|
|
},
|
|
3786: function(e, t, r) {
|
|
var n;
|
|
e.exports = (n = r(8249), function() {
|
|
var e = n,
|
|
t = e.lib.WordArray;
|
|
|
|
function r(e, r, n) {
|
|
for (var i = [], a = 0, o = 0; o < r; o++)
|
|
if (o % 4) {
|
|
var s = n[e.charCodeAt(o - 1)] << o % 4 * 2 | n[e.charCodeAt(o)] >>> 6 - o % 4 * 2;
|
|
i[a >>> 2] |= s << 24 - a % 4 * 8, a++
|
|
} return t.create(i, a)
|
|
}
|
|
e.enc.Base64url = {
|
|
stringify: function(e, t) {
|
|
void 0 === t && (t = !0);
|
|
var r = e.words,
|
|
n = e.sigBytes,
|
|
i = t ? this._safe_map : this._map;
|
|
e.clamp();
|
|
for (var a = [], o = 0; o < n; o += 3)
|
|
for (var s = (r[o >>> 2] >>> 24 - o % 4 * 8 & 255) << 16 | (r[o + 1 >>> 2] >>> 24 - (o + 1) % 4 * 8 & 255) << 8 | r[o + 2 >>> 2] >>> 24 - (o + 2) % 4 * 8 & 255, c = 0; c < 4 && o + .75 * c < n; c++) a.push(i.charAt(s >>> 6 * (3 - c) & 63));
|
|
var u = i.charAt(64);
|
|
if (u)
|
|
for (; a.length % 4;) a.push(u);
|
|
return a.join("")
|
|
},
|
|
parse: function(e, t) {
|
|
void 0 === t && (t = !0);
|
|
var n = e.length,
|
|
i = t ? this._safe_map : this._map,
|
|
a = this._reverseMap;
|
|
if (!a) {
|
|
a = this._reverseMap = [];
|
|
for (var o = 0; o < i.length; o++) a[i.charCodeAt(o)] = o
|
|
}
|
|
var s = i.charAt(64);
|
|
if (s) {
|
|
var c = e.indexOf(s); - 1 !== c && (n = c)
|
|
}
|
|
return r(e, n, a)
|
|
},
|
|
_map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
|
|
_safe_map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"
|
|
}
|
|
}(), n.enc.Base64url)
|
|
},
|
|
298: function(e, t, r) {
|
|
var n;
|
|
e.exports = (n = r(8249), function() {
|
|
var e = n,
|
|
t = e.lib.WordArray,
|
|
r = e.enc;
|
|
|
|
function i(e) {
|
|
return e << 8 & 4278255360 | e >>> 8 & 16711935
|
|
}
|
|
r.Utf16 = r.Utf16BE = {
|
|
stringify: function(e) {
|
|
for (var t = e.words, r = e.sigBytes, n = [], i = 0; i < r; i += 2) {
|
|
var a = t[i >>> 2] >>> 16 - i % 4 * 8 & 65535;
|
|
n.push(String.fromCharCode(a))
|
|
}
|
|
return n.join("")
|
|
},
|
|
parse: function(e) {
|
|
for (var r = e.length, n = [], i = 0; i < r; i++) n[i >>> 1] |= e.charCodeAt(i) << 16 - i % 2 * 16;
|
|
return t.create(n, 2 * r)
|
|
}
|
|
}, r.Utf16LE = {
|
|
stringify: function(e) {
|
|
for (var t = e.words, r = e.sigBytes, n = [], a = 0; a < r; a += 2) {
|
|
var o = i(t[a >>> 2] >>> 16 - a % 4 * 8 & 65535);
|
|
n.push(String.fromCharCode(o))
|
|
}
|
|
return n.join("")
|
|
},
|
|
parse: function(e) {
|
|
for (var r = e.length, n = [], a = 0; a < r; a++) n[a >>> 1] |= i(e.charCodeAt(a) << 16 - a % 2 * 16);
|
|
return t.create(n, 2 * r)
|
|
}
|
|
}
|
|
}(), n.enc.Utf16)
|
|
},
|
|
888: function(e, t, r) {
|
|
var n, i, a, o, s, c, u, l;
|
|
e.exports = (l = r(8249), r(2783), r(9824), a = (i = (n = l).lib).Base, o = i.WordArray, c = (s = n.algo).MD5, u = s.EvpKDF = a.extend({
|
|
cfg: a.extend({
|
|
keySize: 4,
|
|
hasher: c,
|
|
iterations: 1
|
|
}),
|
|
init: function(e) {
|
|
this.cfg = this.cfg.extend(e)
|
|
},
|
|
compute: function(e, t) {
|
|
for (var r, n = this.cfg, i = n.hasher.create(), a = o.create(), s = a.words, c = n.keySize, u = n.iterations; s.length < c;) {
|
|
r && i.update(r), r = i.update(e).finalize(t), i.reset();
|
|
for (var l = 1; l < u; l++) r = i.finalize(r), i.reset();
|
|
a.concat(r)
|
|
}
|
|
return a.sigBytes = 4 * c, a
|
|
}
|
|
}), n.EvpKDF = function(e, t, r) {
|
|
return u.create(r).compute(e, t)
|
|
}, l.EvpKDF)
|
|
},
|
|
2209: function(e, t, r) {
|
|
var n, i, a, o;
|
|
e.exports = (o = r(8249), r(5109), i = (n = o).lib.CipherParams, a = n.enc.Hex, n.format.Hex = {
|
|
stringify: function(e) {
|
|
return e.ciphertext.toString(a)
|
|
},
|
|
parse: function(e) {
|
|
var t = a.parse(e);
|
|
return i.create({
|
|
ciphertext: t
|
|
})
|
|
}
|
|
}, o.format.Hex)
|
|
},
|
|
9824: function(e, t, r) {
|
|
var i, a, o;
|
|
e.exports = (a = (i = r(8249)).lib.Base, o = i.enc.Utf8, void(i.algo.HMAC = a.extend({
|
|
init: function(e, t) {
|
|
e = this._hasher = new e.init, "string" == typeof t && (t = o.parse(t));
|
|
var r = e.blockSize,
|
|
n = 4 * r;
|
|
t.sigBytes > n && (t = e.finalize(t)), t.clamp();
|
|
for (var i = this._oKey = t.clone(), a = this._iKey = t.clone(), s = i.words, c = a.words, u = 0; u < r; u++) s[u] ^= 1549556828, c[u] ^= 909522486;
|
|
i.sigBytes = a.sigBytes = n, this.reset()
|
|
},
|
|
reset: function() {
|
|
var e = this._hasher;
|
|
e.reset(), e.update(this._iKey)
|
|
},
|
|
update: function(e) {
|
|
return this._hasher.update(e), this
|
|
},
|
|
finalize: function(e) {
|
|
var t = this._hasher,
|
|
r = t.finalize(e);
|
|
return t.reset(), t.finalize(this._oKey.clone().concat(r))
|
|
}
|
|
})))
|
|
},
|
|
1354: function(e, t, r) {
|
|
var n;
|
|
e.exports = (n = r(8249), r(4938), r(4433), r(298), r(8269), r(3786), r(8214), r(2783), r(2153), r(7792), r(34), r(7460), r(3327), r(706), r(9824), r(2112), r(888), r(5109), r(8568), r(4242), r(9968), r(7660), r(1148), r(3615), r(2807), r(1077), r(6475), r(6991), r(2209), r(452), r(4253), r(1857), r(4454), r(3974), r(7407), n)
|
|
},
|
|
4433: function(e, t, r) {
|
|
var n;
|
|
e.exports = (n = r(8249), function() {
|
|
if ("function" == typeof ArrayBuffer) {
|
|
var e = n.lib.WordArray,
|
|
t = e.init,
|
|
r = e.init = function(e) {
|
|
if (e instanceof ArrayBuffer && (e = new Uint8Array(e)), (e instanceof Int8Array || "undefined" != typeof Uint8ClampedArray && e instanceof Uint8ClampedArray || e instanceof Int16Array || e instanceof Uint16Array || e instanceof Int32Array || e instanceof Uint32Array || e instanceof Float32Array || e instanceof Float64Array) && (e = new Uint8Array(e.buffer, e.byteOffset, e.byteLength)), e instanceof Uint8Array) {
|
|
for (var r = e.byteLength, n = [], i = 0; i < r; i++) n[i >>> 2] |= e[i] << 24 - i % 4 * 8;
|
|
t.call(this, n, r)
|
|
} else t.apply(this, arguments)
|
|
};
|
|
r.prototype = e
|
|
}
|
|
}(), n.lib.WordArray)
|
|
},
|
|
8214: function(e, t, r) {
|
|
var n;
|
|
e.exports = (n = r(8249), function(e) {
|
|
var t = n,
|
|
r = t.lib,
|
|
i = r.WordArray,
|
|
a = r.Hasher,
|
|
o = t.algo,
|
|
s = [];
|
|
! function() {
|
|
for (var t = 0; t < 64; t++) s[t] = 4294967296 * e.abs(e.sin(t + 1)) | 0
|
|
}();
|
|
var c = o.MD5 = a.extend({
|
|
_doReset: function() {
|
|
this._hash = new i.init([1732584193, 4023233417, 2562383102, 271733878])
|
|
},
|
|
_doProcessBlock: function(e, t) {
|
|
for (var r = 0; r < 16; r++) {
|
|
var n = t + r,
|
|
i = e[n];
|
|
e[n] = 16711935 & (i << 8 | i >>> 24) | 4278255360 & (i << 24 | i >>> 8)
|
|
}
|
|
var a = this._hash.words,
|
|
o = e[t + 0],
|
|
c = e[t + 1],
|
|
h = e[t + 2],
|
|
f = e[t + 3],
|
|
m = e[t + 4],
|
|
g = e[t + 5],
|
|
v = e[t + 6],
|
|
y = e[t + 7],
|
|
_ = e[t + 8],
|
|
b = e[t + 9],
|
|
S = e[t + 10],
|
|
x = e[t + 11],
|
|
P = e[t + 12],
|
|
O = e[t + 13],
|
|
w = e[t + 14],
|
|
k = e[t + 15],
|
|
T = a[0],
|
|
C = a[1],
|
|
E = a[2],
|
|
I = a[3];
|
|
T = u(T, C, E, I, o, 7, s[0]), I = u(I, T, C, E, c, 12, s[1]), E = u(E, I, T, C, h, 17, s[2]), C = u(C, E, I, T, f, 22, s[3]), T = u(T, C, E, I, m, 7, s[4]), I = u(I, T, C, E, g, 12, s[5]), E = u(E, I, T, C, v, 17, s[6]), C = u(C, E, I, T, y, 22, s[7]), T = u(T, C, E, I, _, 7, s[8]), I = u(I, T, C, E, b, 12, s[9]), E = u(E, I, T, C, S, 17, s[10]), C = u(C, E, I, T, x, 22, s[11]), T = u(T, C, E, I, P, 7, s[12]), I = u(I, T, C, E, O, 12, s[13]), E = u(E, I, T, C, w, 17, s[14]), T = l(T, C = u(C, E, I, T, k, 22, s[15]), E, I, c, 5, s[16]), I = l(I, T, C, E, v, 9, s[17]), E = l(E, I, T, C, x, 14, s[18]), C = l(C, E, I, T, o, 20, s[19]), T = l(T, C, E, I, g, 5, s[20]), I = l(I, T, C, E, S, 9, s[21]), E = l(E, I, T, C, k, 14, s[22]), C = l(C, E, I, T, m, 20, s[23]), T = l(T, C, E, I, b, 5, s[24]), I = l(I, T, C, E, w, 9, s[25]), E = l(E, I, T, C, f, 14, s[26]), C = l(C, E, I, T, _, 20, s[27]), T = l(T, C, E, I, O, 5, s[28]), I = l(I, T, C, E, h, 9, s[29]), E = l(E, I, T, C, y, 14, s[30]), T = p(T, C = l(C, E, I, T, P, 20, s[31]), E, I, g, 4, s[32]), I = p(I, T, C, E, _, 11, s[33]), E = p(E, I, T, C, x, 16, s[34]), C = p(C, E, I, T, w, 23, s[35]), T = p(T, C, E, I, c, 4, s[36]), I = p(I, T, C, E, m, 11, s[37]), E = p(E, I, T, C, y, 16, s[38]), C = p(C, E, I, T, S, 23, s[39]), T = p(T, C, E, I, O, 4, s[40]), I = p(I, T, C, E, o, 11, s[41]), E = p(E, I, T, C, f, 16, s[42]), C = p(C, E, I, T, v, 23, s[43]), T = p(T, C, E, I, b, 4, s[44]), I = p(I, T, C, E, P, 11, s[45]), E = p(E, I, T, C, k, 16, s[46]), T = d(T, C = p(C, E, I, T, h, 23, s[47]), E, I, o, 6, s[48]), I = d(I, T, C, E, y, 10, s[49]), E = d(E, I, T, C, w, 15, s[50]), C = d(C, E, I, T, g, 21, s[51]), T = d(T, C, E, I, P, 6, s[52]), I = d(I, T, C, E, f, 10, s[53]), E = d(E, I, T, C, S, 15, s[54]), C = d(C, E, I, T, c, 21, s[55]), T = d(T, C, E, I, _, 6, s[56]), I = d(I, T, C, E, k, 10, s[57]), E = d(E, I, T, C, v, 15, s[58]), C = d(C, E, I, T, O, 21, s[59]), T = d(T, C, E, I, m, 6, s[60]), I = d(I, T, C, E, x, 10, s[61]), E = d(E, I, T, C, h, 15, s[62]), C = d(C, E, I, T, b, 21, s[63]), a[0] = a[0] + T | 0, a[1] = a[1] + C | 0, a[2] = a[2] + E | 0, a[3] = a[3] + I | 0
|
|
},
|
|
_doFinalize: function() {
|
|
var t = this._data,
|
|
r = t.words,
|
|
n = 8 * this._nDataBytes,
|
|
i = 8 * t.sigBytes;
|
|
r[i >>> 5] |= 128 << 24 - i % 32;
|
|
var a = e.floor(n / 4294967296),
|
|
o = n;
|
|
r[15 + (i + 64 >>> 9 << 4)] = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8), r[14 + (i + 64 >>> 9 << 4)] = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), t.sigBytes = 4 * (r.length + 1), this._process();
|
|
for (var s = this._hash, c = s.words, u = 0; u < 4; u++) {
|
|
var l = c[u];
|
|
c[u] = 16711935 & (l << 8 | l >>> 24) | 4278255360 & (l << 24 | l >>> 8)
|
|
}
|
|
return s
|
|
},
|
|
clone: function() {
|
|
var e = a.clone.call(this);
|
|
return e._hash = this._hash.clone(), e
|
|
}
|
|
});
|
|
|
|
function u(e, t, r, n, i, a, o) {
|
|
var s = e + (t & r | ~t & n) + i + o;
|
|
return (s << a | s >>> 32 - a) + t
|
|
}
|
|
|
|
function l(e, t, r, n, i, a, o) {
|
|
var s = e + (t & n | r & ~n) + i + o;
|
|
return (s << a | s >>> 32 - a) + t
|
|
}
|
|
|
|
function p(e, t, r, n, i, a, o) {
|
|
var s = e + (t ^ r ^ n) + i + o;
|
|
return (s << a | s >>> 32 - a) + t
|
|
}
|
|
|
|
function d(e, t, r, n, i, a, o) {
|
|
var s = e + (r ^ (t | ~n)) + i + o;
|
|
return (s << a | s >>> 32 - a) + t
|
|
}
|
|
t.MD5 = a._createHelper(c), t.HmacMD5 = a._createHmacHelper(c)
|
|
}(Math), n.MD5)
|
|
},
|
|
8568: function(e, t, r) {
|
|
var n;
|
|
e.exports = (n = r(8249), r(5109), n.mode.CFB = function() {
|
|
var e = n.lib.BlockCipherMode.extend();
|
|
|
|
function t(e, t, r, n) {
|
|
var i, a = this._iv;
|
|
a ? (i = a.slice(0), this._iv = void 0) : i = this._prevBlock, n.encryptBlock(i, 0);
|
|
for (var o = 0; o < r; o++) e[t + o] ^= i[o]
|
|
}
|
|
return e.Encryptor = e.extend({
|
|
processBlock: function(e, r) {
|
|
var n = this._cipher,
|
|
i = n.blockSize;
|
|
t.call(this, e, r, i, n), this._prevBlock = e.slice(r, r + i)
|
|
}
|
|
}), e.Decryptor = e.extend({
|
|
processBlock: function(e, r) {
|
|
var n = this._cipher,
|
|
i = n.blockSize,
|
|
a = e.slice(r, r + i);
|
|
t.call(this, e, r, i, n), this._prevBlock = a
|
|
}
|
|
}), e
|
|
}(), n.mode.CFB)
|
|
},
|
|
9968: function(e, t, r) {
|
|
var n;
|
|
e.exports = (n = r(8249), r(5109),
|
|
/** @preserve
|
|
* Counter block mode compatible with Dr Brian Gladman fileenc.c
|
|
* derived from CryptoJS.mode.CTR
|
|
* Jan Hruby jhruby.web@gmail.com
|
|
*/
|
|
n.mode.CTRGladman = function() {
|
|
var e = n.lib.BlockCipherMode.extend();
|
|
|
|
function t(e) {
|
|
if (255 & ~(e >> 24)) e += 1 << 24;
|
|
else {
|
|
var t = e >> 16 & 255,
|
|
r = e >> 8 & 255,
|
|
n = 255 & e;
|
|
255 === t ? (t = 0, 255 === r ? (r = 0, 255 === n ? n = 0 : ++n) : ++r) : ++t, e = 0, e += t << 16, e += r << 8, e += n
|
|
}
|
|
return e
|
|
}
|
|
|
|
function r(e) {
|
|
return 0 === (e[0] = t(e[0])) && (e[1] = t(e[1])), e
|
|
}
|
|
var i = e.Encryptor = e.extend({
|
|
processBlock: function(e, t) {
|
|
var n = this._cipher,
|
|
i = n.blockSize,
|
|
a = this._iv,
|
|
o = this._counter;
|
|
a && (o = this._counter = a.slice(0), this._iv = void 0), r(o);
|
|
var s = o.slice(0);
|
|
n.encryptBlock(s, 0);
|
|
for (var c = 0; c < i; c++) e[t + c] ^= s[c]
|
|
}
|
|
});
|
|
return e.Decryptor = i, e
|
|
}(), n.mode.CTRGladman)
|
|
},
|
|
4242: function(e, t, r) {
|
|
var n, i, a;
|
|
e.exports = (a = r(8249), r(5109), a.mode.CTR = (i = (n = a.lib.BlockCipherMode.extend()).Encryptor = n.extend({
|
|
processBlock: function(e, t) {
|
|
var r = this._cipher,
|
|
n = r.blockSize,
|
|
i = this._iv,
|
|
a = this._counter;
|
|
i && (a = this._counter = i.slice(0), this._iv = void 0);
|
|
var o = a.slice(0);
|
|
r.encryptBlock(o, 0), a[n - 1] = a[n - 1] + 1 | 0;
|
|
for (var s = 0; s < n; s++) e[t + s] ^= o[s]
|
|
}
|
|
}), n.Decryptor = i, n), a.mode.CTR)
|
|
},
|
|
1148: function(e, t, r) {
|
|
var n, i;
|
|
e.exports = (i = r(8249), r(5109), i.mode.ECB = ((n = i.lib.BlockCipherMode.extend()).Encryptor = n.extend({
|
|
processBlock: function(e, t) {
|
|
this._cipher.encryptBlock(e, t)
|
|
}
|
|
}), n.Decryptor = n.extend({
|
|
processBlock: function(e, t) {
|
|
this._cipher.decryptBlock(e, t)
|
|
}
|
|
}), n), i.mode.ECB)
|
|
},
|
|
7660: function(e, t, r) {
|
|
var n, i, a;
|
|
e.exports = (a = r(8249), r(5109), a.mode.OFB = (i = (n = a.lib.BlockCipherMode.extend()).Encryptor = n.extend({
|
|
processBlock: function(e, t) {
|
|
var r = this._cipher,
|
|
n = r.blockSize,
|
|
i = this._iv,
|
|
a = this._keystream;
|
|
i && (a = this._keystream = i.slice(0), this._iv = void 0), r.encryptBlock(a, 0);
|
|
for (var o = 0; o < n; o++) e[t + o] ^= a[o]
|
|
}
|
|
}), n.Decryptor = i, n), a.mode.OFB)
|
|
},
|
|
3615: function(e, t, r) {
|
|
var n;
|
|
e.exports = (n = r(8249), r(5109), n.pad.AnsiX923 = {
|
|
pad: function(e, t) {
|
|
var r = e.sigBytes,
|
|
n = 4 * t,
|
|
i = n - r % n,
|
|
a = r + i - 1;
|
|
e.clamp(), e.words[a >>> 2] |= i << 24 - a % 4 * 8, e.sigBytes += i
|
|
},
|
|
unpad: function(e) {
|
|
var t = 255 & e.words[e.sigBytes - 1 >>> 2];
|
|
e.sigBytes -= t
|
|
}
|
|
}, n.pad.Ansix923)
|
|
},
|
|
2807: function(e, t, r) {
|
|
var n;
|
|
e.exports = (n = r(8249), r(5109), n.pad.Iso10126 = {
|
|
pad: function(e, t) {
|
|
var r = 4 * t,
|
|
i = r - e.sigBytes % r;
|
|
e.concat(n.lib.WordArray.random(i - 1)).concat(n.lib.WordArray.create([i << 24], 1))
|
|
},
|
|
unpad: function(e) {
|
|
var t = 255 & e.words[e.sigBytes - 1 >>> 2];
|
|
e.sigBytes -= t
|
|
}
|
|
}, n.pad.Iso10126)
|
|
},
|
|
1077: function(e, t, r) {
|
|
var n;
|
|
e.exports = (n = r(8249), r(5109), n.pad.Iso97971 = {
|
|
pad: function(e, t) {
|
|
e.concat(n.lib.WordArray.create([2147483648], 1)), n.pad.ZeroPadding.pad(e, t)
|
|
},
|
|
unpad: function(e) {
|
|
n.pad.ZeroPadding.unpad(e), e.sigBytes--
|
|
}
|
|
}, n.pad.Iso97971)
|
|
},
|
|
6991: function(e, t, r) {
|
|
var n;
|
|
e.exports = (n = r(8249), r(5109), n.pad.NoPadding = {
|
|
pad: function() {},
|
|
unpad: function() {}
|
|
}, n.pad.NoPadding)
|
|
},
|
|
6475: function(e, t, r) {
|
|
var n;
|
|
e.exports = (n = r(8249), r(5109), n.pad.ZeroPadding = {
|
|
pad: function(e, t) {
|
|
var r = 4 * t;
|
|
e.clamp(), e.sigBytes += r - (e.sigBytes % r || r)
|
|
},
|
|
unpad: function(e) {
|
|
var t = e.words,
|
|
r = e.sigBytes - 1;
|
|
for (r = e.sigBytes - 1; r >= 0; r--)
|
|
if (t[r >>> 2] >>> 24 - r % 4 * 8 & 255) {
|
|
e.sigBytes = r + 1;
|
|
break
|
|
}
|
|
}
|
|
}, n.pad.ZeroPadding)
|
|
},
|
|
2112: function(e, t, r) {
|
|
var n, i, a, o, s, c, u, l, p;
|
|
e.exports = (p = r(8249), r(2153), r(9824), a = (i = (n = p).lib).Base, o = i.WordArray, c = (s = n.algo).SHA256, u = s.HMAC, l = s.PBKDF2 = a.extend({
|
|
cfg: a.extend({
|
|
keySize: 4,
|
|
hasher: c,
|
|
iterations: 25e4
|
|
}),
|
|
init: function(e) {
|
|
this.cfg = this.cfg.extend(e)
|
|
},
|
|
compute: function(e, t) {
|
|
for (var r = this.cfg, n = u.create(r.hasher, e), i = o.create(), a = o.create([1]), s = i.words, c = a.words, l = r.keySize, p = r.iterations; s.length < l;) {
|
|
var d = n.update(t).finalize(a);
|
|
n.reset();
|
|
for (var h = d.words, f = h.length, m = d, g = 1; g < p; g++) {
|
|
m = n.finalize(m), n.reset();
|
|
for (var v = m.words, y = 0; y < f; y++) h[y] ^= v[y]
|
|
}
|
|
i.concat(d), c[0]++
|
|
}
|
|
return i.sigBytes = 4 * l, i
|
|
}
|
|
}), n.PBKDF2 = function(e, t, r) {
|
|
return l.create(r).compute(e, t)
|
|
}, p.PBKDF2)
|
|
},
|
|
3974: function(e, t, r) {
|
|
var n;
|
|
e.exports = (n = r(8249), r(8269), r(8214), r(888), r(5109), function() {
|
|
var e = n,
|
|
t = e.lib.StreamCipher,
|
|
r = e.algo,
|
|
i = [],
|
|
a = [],
|
|
o = [],
|
|
s = r.RabbitLegacy = t.extend({
|
|
_doReset: function() {
|
|
var e = this._key.words,
|
|
t = this.cfg.iv,
|
|
r = this._X = [e[0], e[3] << 16 | e[2] >>> 16, e[1], e[0] << 16 | e[3] >>> 16, e[2], e[1] << 16 | e[0] >>> 16, e[3], e[2] << 16 | e[1] >>> 16],
|
|
n = this._C = [e[2] << 16 | e[2] >>> 16, 4294901760 & e[0] | 65535 & e[1], e[3] << 16 | e[3] >>> 16, 4294901760 & e[1] | 65535 & e[2], e[0] << 16 | e[0] >>> 16, 4294901760 & e[2] | 65535 & e[3], e[1] << 16 | e[1] >>> 16, 4294901760 & e[3] | 65535 & e[0]];
|
|
this._b = 0;
|
|
for (var i = 0; i < 4; i++) c.call(this);
|
|
for (i = 0; i < 8; i++) n[i] ^= r[i + 4 & 7];
|
|
if (t) {
|
|
var a = t.words,
|
|
o = a[0],
|
|
s = a[1],
|
|
u = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8),
|
|
l = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8),
|
|
p = u >>> 16 | 4294901760 & l,
|
|
d = l << 16 | 65535 & u;
|
|
for (n[0] ^= u, n[1] ^= p, n[2] ^= l, n[3] ^= d, n[4] ^= u, n[5] ^= p, n[6] ^= l, n[7] ^= d, i = 0; i < 4; i++) c.call(this)
|
|
}
|
|
},
|
|
_doProcessBlock: function(e, t) {
|
|
var r = this._X;
|
|
c.call(this), i[0] = r[0] ^ r[5] >>> 16 ^ r[3] << 16, i[1] = r[2] ^ r[7] >>> 16 ^ r[5] << 16, i[2] = r[4] ^ r[1] >>> 16 ^ r[7] << 16, i[3] = r[6] ^ r[3] >>> 16 ^ r[1] << 16;
|
|
for (var n = 0; n < 4; n++) i[n] = 16711935 & (i[n] << 8 | i[n] >>> 24) | 4278255360 & (i[n] << 24 | i[n] >>> 8), e[t + n] ^= i[n]
|
|
},
|
|
blockSize: 4,
|
|
ivSize: 2
|
|
});
|
|
|
|
function c() {
|
|
for (var e = this._X, t = this._C, r = 0; r < 8; r++) a[r] = t[r];
|
|
for (t[0] = t[0] + 1295307597 + this._b | 0, t[1] = t[1] + 3545052371 + (t[0] >>> 0 < a[0] >>> 0 ? 1 : 0) | 0, t[2] = t[2] + 886263092 + (t[1] >>> 0 < a[1] >>> 0 ? 1 : 0) | 0, t[3] = t[3] + 1295307597 + (t[2] >>> 0 < a[2] >>> 0 ? 1 : 0) | 0, t[4] = t[4] + 3545052371 + (t[3] >>> 0 < a[3] >>> 0 ? 1 : 0) | 0, t[5] = t[5] + 886263092 + (t[4] >>> 0 < a[4] >>> 0 ? 1 : 0) | 0, t[6] = t[6] + 1295307597 + (t[5] >>> 0 < a[5] >>> 0 ? 1 : 0) | 0, t[7] = t[7] + 3545052371 + (t[6] >>> 0 < a[6] >>> 0 ? 1 : 0) | 0, this._b = t[7] >>> 0 < a[7] >>> 0 ? 1 : 0, r = 0; r < 8; r++) {
|
|
var n = e[r] + t[r],
|
|
i = 65535 & n,
|
|
s = n >>> 16,
|
|
c = ((i * i >>> 17) + i * s >>> 15) + s * s,
|
|
u = ((4294901760 & n) * n | 0) + ((65535 & n) * n | 0);
|
|
o[r] = c ^ u
|
|
}
|
|
e[0] = o[0] + (o[7] << 16 | o[7] >>> 16) + (o[6] << 16 | o[6] >>> 16) | 0, e[1] = o[1] + (o[0] << 8 | o[0] >>> 24) + o[7] | 0, e[2] = o[2] + (o[1] << 16 | o[1] >>> 16) + (o[0] << 16 | o[0] >>> 16) | 0, e[3] = o[3] + (o[2] << 8 | o[2] >>> 24) + o[1] | 0, e[4] = o[4] + (o[3] << 16 | o[3] >>> 16) + (o[2] << 16 | o[2] >>> 16) | 0, e[5] = o[5] + (o[4] << 8 | o[4] >>> 24) + o[3] | 0, e[6] = o[6] + (o[5] << 16 | o[5] >>> 16) + (o[4] << 16 | o[4] >>> 16) | 0, e[7] = o[7] + (o[6] << 8 | o[6] >>> 24) + o[5] | 0
|
|
}
|
|
e.RabbitLegacy = t._createHelper(s)
|
|
}(), n.RabbitLegacy)
|
|
},
|
|
4454: function(e, t, r) {
|
|
var n;
|
|
e.exports = (n = r(8249), r(8269), r(8214), r(888), r(5109), function() {
|
|
var e = n,
|
|
t = e.lib.StreamCipher,
|
|
r = e.algo,
|
|
i = [],
|
|
a = [],
|
|
o = [],
|
|
s = r.Rabbit = t.extend({
|
|
_doReset: function() {
|
|
for (var e = this._key.words, t = this.cfg.iv, r = 0; r < 4; r++) e[r] = 16711935 & (e[r] << 8 | e[r] >>> 24) | 4278255360 & (e[r] << 24 | e[r] >>> 8);
|
|
var n = this._X = [e[0], e[3] << 16 | e[2] >>> 16, e[1], e[0] << 16 | e[3] >>> 16, e[2], e[1] << 16 | e[0] >>> 16, e[3], e[2] << 16 | e[1] >>> 16],
|
|
i = this._C = [e[2] << 16 | e[2] >>> 16, 4294901760 & e[0] | 65535 & e[1], e[3] << 16 | e[3] >>> 16, 4294901760 & e[1] | 65535 & e[2], e[0] << 16 | e[0] >>> 16, 4294901760 & e[2] | 65535 & e[3], e[1] << 16 | e[1] >>> 16, 4294901760 & e[3] | 65535 & e[0]];
|
|
for (this._b = 0, r = 0; r < 4; r++) c.call(this);
|
|
for (r = 0; r < 8; r++) i[r] ^= n[r + 4 & 7];
|
|
if (t) {
|
|
var a = t.words,
|
|
o = a[0],
|
|
s = a[1],
|
|
u = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8),
|
|
l = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8),
|
|
p = u >>> 16 | 4294901760 & l,
|
|
d = l << 16 | 65535 & u;
|
|
for (i[0] ^= u, i[1] ^= p, i[2] ^= l, i[3] ^= d, i[4] ^= u, i[5] ^= p, i[6] ^= l, i[7] ^= d, r = 0; r < 4; r++) c.call(this)
|
|
}
|
|
},
|
|
_doProcessBlock: function(e, t) {
|
|
var r = this._X;
|
|
c.call(this), i[0] = r[0] ^ r[5] >>> 16 ^ r[3] << 16, i[1] = r[2] ^ r[7] >>> 16 ^ r[5] << 16, i[2] = r[4] ^ r[1] >>> 16 ^ r[7] << 16, i[3] = r[6] ^ r[3] >>> 16 ^ r[1] << 16;
|
|
for (var n = 0; n < 4; n++) i[n] = 16711935 & (i[n] << 8 | i[n] >>> 24) | 4278255360 & (i[n] << 24 | i[n] >>> 8), e[t + n] ^= i[n]
|
|
},
|
|
blockSize: 4,
|
|
ivSize: 2
|
|
});
|
|
|
|
function c() {
|
|
for (var e = this._X, t = this._C, r = 0; r < 8; r++) a[r] = t[r];
|
|
for (t[0] = t[0] + 1295307597 + this._b | 0, t[1] = t[1] + 3545052371 + (t[0] >>> 0 < a[0] >>> 0 ? 1 : 0) | 0, t[2] = t[2] + 886263092 + (t[1] >>> 0 < a[1] >>> 0 ? 1 : 0) | 0, t[3] = t[3] + 1295307597 + (t[2] >>> 0 < a[2] >>> 0 ? 1 : 0) | 0, t[4] = t[4] + 3545052371 + (t[3] >>> 0 < a[3] >>> 0 ? 1 : 0) | 0, t[5] = t[5] + 886263092 + (t[4] >>> 0 < a[4] >>> 0 ? 1 : 0) | 0, t[6] = t[6] + 1295307597 + (t[5] >>> 0 < a[5] >>> 0 ? 1 : 0) | 0, t[7] = t[7] + 3545052371 + (t[6] >>> 0 < a[6] >>> 0 ? 1 : 0) | 0, this._b = t[7] >>> 0 < a[7] >>> 0 ? 1 : 0, r = 0; r < 8; r++) {
|
|
var n = e[r] + t[r],
|
|
i = 65535 & n,
|
|
s = n >>> 16,
|
|
c = ((i * i >>> 17) + i * s >>> 15) + s * s,
|
|
u = ((4294901760 & n) * n | 0) + ((65535 & n) * n | 0);
|
|
o[r] = c ^ u
|
|
}
|
|
e[0] = o[0] + (o[7] << 16 | o[7] >>> 16) + (o[6] << 16 | o[6] >>> 16) | 0, e[1] = o[1] + (o[0] << 8 | o[0] >>> 24) + o[7] | 0, e[2] = o[2] + (o[1] << 16 | o[1] >>> 16) + (o[0] << 16 | o[0] >>> 16) | 0, e[3] = o[3] + (o[2] << 8 | o[2] >>> 24) + o[1] | 0, e[4] = o[4] + (o[3] << 16 | o[3] >>> 16) + (o[2] << 16 | o[2] >>> 16) | 0, e[5] = o[5] + (o[4] << 8 | o[4] >>> 24) + o[3] | 0, e[6] = o[6] + (o[5] << 16 | o[5] >>> 16) + (o[4] << 16 | o[4] >>> 16) | 0, e[7] = o[7] + (o[6] << 8 | o[6] >>> 24) + o[5] | 0
|
|
}
|
|
e.Rabbit = t._createHelper(s)
|
|
}(), n.Rabbit)
|
|
},
|
|
1857: function(e, t, r) {
|
|
var n;
|
|
e.exports = (n = r(8249), r(8269), r(8214), r(888), r(5109), function() {
|
|
var e = n,
|
|
t = e.lib.StreamCipher,
|
|
r = e.algo,
|
|
i = r.RC4 = t.extend({
|
|
_doReset: function() {
|
|
for (var e = this._key, t = e.words, r = e.sigBytes, n = this._S = [], i = 0; i < 256; i++) n[i] = i;
|
|
i = 0;
|
|
for (var a = 0; i < 256; i++) {
|
|
var o = i % r,
|
|
s = t[o >>> 2] >>> 24 - o % 4 * 8 & 255;
|
|
a = (a + n[i] + s) % 256;
|
|
var c = n[i];
|
|
n[i] = n[a], n[a] = c
|
|
}
|
|
this._i = this._j = 0
|
|
},
|
|
_doProcessBlock: function(e, t) {
|
|
e[t] ^= a.call(this)
|
|
},
|
|
keySize: 8,
|
|
ivSize: 0
|
|
});
|
|
|
|
function a() {
|
|
for (var e = this._S, t = this._i, r = this._j, n = 0, i = 0; i < 4; i++) {
|
|
r = (r + e[t = (t + 1) % 256]) % 256;
|
|
var a = e[t];
|
|
e[t] = e[r], e[r] = a, n |= e[(e[t] + e[r]) % 256] << 24 - 8 * i
|
|
}
|
|
return this._i = t, this._j = r, n
|
|
}
|
|
e.RC4 = t._createHelper(i);
|
|
var o = r.RC4Drop = i.extend({
|
|
cfg: i.cfg.extend({
|
|
drop: 192
|
|
}),
|
|
_doReset: function() {
|
|
i._doReset.call(this);
|
|
for (var e = this.cfg.drop; e > 0; e--) a.call(this)
|
|
}
|
|
});
|
|
e.RC4Drop = t._createHelper(o)
|
|
}(), n.RC4)
|
|
},
|
|
706: function(e, t, r) {
|
|
var n;
|
|
e.exports = (n = r(8249),
|
|
/** @preserve
|
|
(c) 2012 by Cédric Mesnil. All rights reserved.
|
|
|
|
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
|
|
|
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
|
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
|
|
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
*/
|
|
function() {
|
|
var t = n,
|
|
r = t.lib,
|
|
i = r.WordArray,
|
|
a = r.Hasher,
|
|
o = t.algo,
|
|
s = i.create([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]),
|
|
c = i.create([5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]),
|
|
u = i.create([11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6]),
|
|
l = i.create([8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11]),
|
|
p = i.create([0, 1518500249, 1859775393, 2400959708, 2840853838]),
|
|
d = i.create([1352829926, 1548603684, 1836072691, 2053994217, 0]),
|
|
h = o.RIPEMD160 = a.extend({
|
|
_doReset: function() {
|
|
this._hash = i.create([1732584193, 4023233417, 2562383102, 271733878, 3285377520])
|
|
},
|
|
_doProcessBlock: function(e, t) {
|
|
for (var r = 0; r < 16; r++) {
|
|
var n = t + r,
|
|
i = e[n];
|
|
e[n] = 16711935 & (i << 8 | i >>> 24) | 4278255360 & (i << 24 | i >>> 8)
|
|
}
|
|
var a, o, h, b, S, x, P, O, w, k, T, C = this._hash.words,
|
|
E = p.words,
|
|
I = d.words,
|
|
R = s.words,
|
|
A = c.words,
|
|
V = u.words,
|
|
F = l.words;
|
|
for (x = a = C[0], P = o = C[1], O = h = C[2], w = b = C[3], k = S = C[4], r = 0; r < 80; r += 1) T = a + e[t + R[r]] | 0, T += r < 16 ? f(o, h, b) + E[0] : r < 32 ? m(o, h, b) + E[1] : r < 48 ? g(o, h, b) + E[2] : r < 64 ? v(o, h, b) + E[3] : y(o, h, b) + E[4], T = (T = _(T |= 0, V[r])) + S | 0, a = S, S = b, b = _(h, 10), h = o, o = T, T = x + e[t + A[r]] | 0, T += r < 16 ? y(P, O, w) + I[0] : r < 32 ? v(P, O, w) + I[1] : r < 48 ? g(P, O, w) + I[2] : r < 64 ? m(P, O, w) + I[3] : f(P, O, w) + I[4], T = (T = _(T |= 0, F[r])) + k | 0, x = k, k = w, w = _(O, 10), O = P, P = T;
|
|
T = C[1] + h + w | 0, C[1] = C[2] + b + k | 0, C[2] = C[3] + S + x | 0, C[3] = C[4] + a + P | 0, C[4] = C[0] + o + O | 0, C[0] = T
|
|
},
|
|
_doFinalize: function() {
|
|
var e = this._data,
|
|
t = e.words,
|
|
r = 8 * this._nDataBytes,
|
|
n = 8 * e.sigBytes;
|
|
t[n >>> 5] |= 128 << 24 - n % 32, t[14 + (n + 64 >>> 9 << 4)] = 16711935 & (r << 8 | r >>> 24) | 4278255360 & (r << 24 | r >>> 8), e.sigBytes = 4 * (t.length + 1), this._process();
|
|
for (var i = this._hash, a = i.words, o = 0; o < 5; o++) {
|
|
var s = a[o];
|
|
a[o] = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8)
|
|
}
|
|
return i
|
|
},
|
|
clone: function() {
|
|
var e = a.clone.call(this);
|
|
return e._hash = this._hash.clone(), e
|
|
}
|
|
});
|
|
|
|
function f(e, t, r) {
|
|
return e ^ t ^ r
|
|
}
|
|
|
|
function m(e, t, r) {
|
|
return e & t | ~e & r
|
|
}
|
|
|
|
function g(e, t, r) {
|
|
return (e | ~t) ^ r
|
|
}
|
|
|
|
function v(e, t, r) {
|
|
return e & r | t & ~r
|
|
}
|
|
|
|
function y(e, t, r) {
|
|
return e ^ (t | ~r)
|
|
}
|
|
|
|
function _(e, t) {
|
|
return e << t | e >>> 32 - t
|
|
}
|
|
t.RIPEMD160 = a._createHelper(h), t.HmacRIPEMD160 = a._createHmacHelper(h)
|
|
}(Math), n.RIPEMD160)
|
|
},
|
|
2783: function(e, t, r) {
|
|
var n, i, a, o, s, c, u, l;
|
|
e.exports = (i = (n = l = r(8249)).lib, a = i.WordArray, o = i.Hasher, s = n.algo, c = [], u = s.SHA1 = o.extend({
|
|
_doReset: function() {
|
|
this._hash = new a.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520])
|
|
},
|
|
_doProcessBlock: function(e, t) {
|
|
for (var r = this._hash.words, n = r[0], i = r[1], a = r[2], o = r[3], s = r[4], u = 0; u < 80; u++) {
|
|
if (u < 16) c[u] = 0 | e[t + u];
|
|
else {
|
|
var l = c[u - 3] ^ c[u - 8] ^ c[u - 14] ^ c[u - 16];
|
|
c[u] = l << 1 | l >>> 31
|
|
}
|
|
var p = (n << 5 | n >>> 27) + s + c[u];
|
|
p += u < 20 ? 1518500249 + (i & a | ~i & o) : u < 40 ? 1859775393 + (i ^ a ^ o) : u < 60 ? (i & a | i & o | a & o) - 1894007588 : (i ^ a ^ o) - 899497514, s = o, o = a, a = i << 30 | i >>> 2, i = n, n = p
|
|
}
|
|
r[0] = r[0] + n | 0, r[1] = r[1] + i | 0, r[2] = r[2] + a | 0, r[3] = r[3] + o | 0, r[4] = r[4] + s | 0
|
|
},
|
|
_doFinalize: function() {
|
|
var e = this._data,
|
|
t = e.words,
|
|
r = 8 * this._nDataBytes,
|
|
n = 8 * e.sigBytes;
|
|
return t[n >>> 5] |= 128 << 24 - n % 32, t[14 + (n + 64 >>> 9 << 4)] = Math.floor(r / 4294967296), t[15 + (n + 64 >>> 9 << 4)] = r, e.sigBytes = 4 * t.length, this._process(), this._hash
|
|
},
|
|
clone: function() {
|
|
var e = o.clone.call(this);
|
|
return e._hash = this._hash.clone(), e
|
|
}
|
|
}), n.SHA1 = o._createHelper(u), n.HmacSHA1 = o._createHmacHelper(u), l.SHA1)
|
|
},
|
|
7792: function(e, t, r) {
|
|
var n, i, a, o, s, c;
|
|
e.exports = (c = r(8249), r(2153), i = (n = c).lib.WordArray, a = n.algo, o = a.SHA256, s = a.SHA224 = o.extend({
|
|
_doReset: function() {
|
|
this._hash = new i.init([3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428])
|
|
},
|
|
_doFinalize: function() {
|
|
var e = o._doFinalize.call(this);
|
|
return e.sigBytes -= 4, e
|
|
}
|
|
}), n.SHA224 = o._createHelper(s), n.HmacSHA224 = o._createHmacHelper(s), c.SHA224)
|
|
},
|
|
2153: function(e, t, r) {
|
|
var n;
|
|
e.exports = (n = r(8249), function(e) {
|
|
var t = n,
|
|
r = t.lib,
|
|
i = r.WordArray,
|
|
a = r.Hasher,
|
|
o = t.algo,
|
|
s = [],
|
|
c = [];
|
|
! function() {
|
|
function t(t) {
|
|
for (var r = e.sqrt(t), n = 2; n <= r; n++)
|
|
if (!(t % n)) return !1;
|
|
return !0
|
|
}
|
|
|
|
function r(e) {
|
|
return 4294967296 * (e - (0 | e)) | 0
|
|
}
|
|
for (var n = 2, i = 0; i < 64;) t(n) && (i < 8 && (s[i] = r(e.pow(n, .5))), c[i] = r(e.pow(n, 1 / 3)), i++), n++
|
|
}();
|
|
var u = [],
|
|
l = o.SHA256 = a.extend({
|
|
_doReset: function() {
|
|
this._hash = new i.init(s.slice(0))
|
|
},
|
|
_doProcessBlock: function(e, t) {
|
|
for (var r = this._hash.words, n = r[0], i = r[1], a = r[2], o = r[3], s = r[4], l = r[5], p = r[6], d = r[7], h = 0; h < 64; h++) {
|
|
if (h < 16) u[h] = 0 | e[t + h];
|
|
else {
|
|
var f = u[h - 15],
|
|
m = (f << 25 | f >>> 7) ^ (f << 14 | f >>> 18) ^ f >>> 3,
|
|
g = u[h - 2],
|
|
v = (g << 15 | g >>> 17) ^ (g << 13 | g >>> 19) ^ g >>> 10;
|
|
u[h] = m + u[h - 7] + v + u[h - 16]
|
|
}
|
|
var y = n & i ^ n & a ^ i & a,
|
|
_ = (n << 30 | n >>> 2) ^ (n << 19 | n >>> 13) ^ (n << 10 | n >>> 22),
|
|
b = d + ((s << 26 | s >>> 6) ^ (s << 21 | s >>> 11) ^ (s << 7 | s >>> 25)) + (s & l ^ ~s & p) + c[h] + u[h];
|
|
d = p, p = l, l = s, s = o + b | 0, o = a, a = i, i = n, n = b + (_ + y) | 0
|
|
}
|
|
r[0] = r[0] + n | 0, r[1] = r[1] + i | 0, r[2] = r[2] + a | 0, r[3] = r[3] + o | 0, r[4] = r[4] + s | 0, r[5] = r[5] + l | 0, r[6] = r[6] + p | 0, r[7] = r[7] + d | 0
|
|
},
|
|
_doFinalize: function() {
|
|
var t = this._data,
|
|
r = t.words,
|
|
n = 8 * this._nDataBytes,
|
|
i = 8 * t.sigBytes;
|
|
return r[i >>> 5] |= 128 << 24 - i % 32, r[14 + (i + 64 >>> 9 << 4)] = e.floor(n / 4294967296), r[15 + (i + 64 >>> 9 << 4)] = n, t.sigBytes = 4 * r.length, this._process(), this._hash
|
|
},
|
|
clone: function() {
|
|
var e = a.clone.call(this);
|
|
return e._hash = this._hash.clone(), e
|
|
}
|
|
});
|
|
t.SHA256 = a._createHelper(l), t.HmacSHA256 = a._createHmacHelper(l)
|
|
}(Math), n.SHA256)
|
|
},
|
|
3327: function(e, t, r) {
|
|
var n;
|
|
e.exports = (n = r(8249), r(4938), function(e) {
|
|
var t = n,
|
|
r = t.lib,
|
|
i = r.WordArray,
|
|
a = r.Hasher,
|
|
o = t.x64.Word,
|
|
s = t.algo,
|
|
c = [],
|
|
u = [],
|
|
l = [];
|
|
! function() {
|
|
for (var e = 1, t = 0, r = 0; r < 24; r++) {
|
|
c[e + 5 * t] = (r + 1) * (r + 2) / 2 % 64;
|
|
var n = (2 * e + 3 * t) % 5;
|
|
e = t % 5, t = n
|
|
}
|
|
for (e = 0; e < 5; e++)
|
|
for (t = 0; t < 5; t++) u[e + 5 * t] = t + (2 * e + 3 * t) % 5 * 5;
|
|
for (var i = 1, a = 0; a < 24; a++) {
|
|
for (var s = 0, p = 0, d = 0; d < 7; d++) {
|
|
if (1 & i) {
|
|
var h = (1 << d) - 1;
|
|
h < 32 ? p ^= 1 << h : s ^= 1 << h - 32
|
|
}
|
|
128 & i ? i = i << 1 ^ 113 : i <<= 1
|
|
}
|
|
l[a] = o.create(s, p)
|
|
}
|
|
}();
|
|
var p = [];
|
|
! function() {
|
|
for (var e = 0; e < 25; e++) p[e] = o.create()
|
|
}();
|
|
var d = s.SHA3 = a.extend({
|
|
cfg: a.cfg.extend({
|
|
outputLength: 512
|
|
}),
|
|
_doReset: function() {
|
|
for (var e = this._state = [], t = 0; t < 25; t++) e[t] = new o.init;
|
|
this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32
|
|
},
|
|
_doProcessBlock: function(e, t) {
|
|
for (var r = this._state, n = this.blockSize / 2, i = 0; i < n; i++) {
|
|
var a = e[t + 2 * i],
|
|
o = e[t + 2 * i + 1];
|
|
a = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8), o = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), (C = r[i]).high ^= o, C.low ^= a
|
|
}
|
|
for (var s = 0; s < 24; s++) {
|
|
for (var d = 0; d < 5; d++) {
|
|
for (var h = 0, f = 0, m = 0; m < 5; m++) h ^= (C = r[d + 5 * m]).high, f ^= C.low;
|
|
var g = p[d];
|
|
g.high = h, g.low = f
|
|
}
|
|
for (d = 0; d < 5; d++) {
|
|
var v = p[(d + 4) % 5],
|
|
y = p[(d + 1) % 5],
|
|
_ = y.high,
|
|
b = y.low;
|
|
for (h = v.high ^ (_ << 1 | b >>> 31), f = v.low ^ (b << 1 | _ >>> 31), m = 0; m < 5; m++)(C = r[d + 5 * m]).high ^= h, C.low ^= f
|
|
}
|
|
for (var S = 1; S < 25; S++) {
|
|
var x = (C = r[S]).high,
|
|
P = C.low,
|
|
O = c[S];
|
|
O < 32 ? (h = x << O | P >>> 32 - O, f = P << O | x >>> 32 - O) : (h = P << O - 32 | x >>> 64 - O, f = x << O - 32 | P >>> 64 - O);
|
|
var w = p[u[S]];
|
|
w.high = h, w.low = f
|
|
}
|
|
var k = p[0],
|
|
T = r[0];
|
|
for (k.high = T.high, k.low = T.low, d = 0; d < 5; d++)
|
|
for (m = 0; m < 5; m++) {
|
|
var C = r[S = d + 5 * m],
|
|
E = p[S],
|
|
I = p[(d + 1) % 5 + 5 * m],
|
|
R = p[(d + 2) % 5 + 5 * m];
|
|
C.high = E.high ^ ~I.high & R.high, C.low = E.low ^ ~I.low & R.low
|
|
}
|
|
C = r[0];
|
|
var A = l[s];
|
|
C.high ^= A.high, C.low ^= A.low
|
|
}
|
|
},
|
|
_doFinalize: function() {
|
|
var t = this._data,
|
|
r = t.words,
|
|
n = (this._nDataBytes, 8 * t.sigBytes),
|
|
a = 32 * this.blockSize;
|
|
r[n >>> 5] |= 1 << 24 - n % 32, r[(e.ceil((n + 1) / a) * a >>> 5) - 1] |= 128, t.sigBytes = 4 * r.length, this._process();
|
|
for (var o = this._state, s = this.cfg.outputLength / 8, c = s / 8, u = [], l = 0; l < c; l++) {
|
|
var p = o[l],
|
|
d = p.high,
|
|
h = p.low;
|
|
d = 16711935 & (d << 8 | d >>> 24) | 4278255360 & (d << 24 | d >>> 8), h = 16711935 & (h << 8 | h >>> 24) | 4278255360 & (h << 24 | h >>> 8), u.push(h), u.push(d)
|
|
}
|
|
return new i.init(u, s)
|
|
},
|
|
clone: function() {
|
|
for (var e = a.clone.call(this), t = e._state = this._state.slice(0), r = 0; r < 25; r++) t[r] = t[r].clone();
|
|
return e
|
|
}
|
|
});
|
|
t.SHA3 = a._createHelper(d), t.HmacSHA3 = a._createHmacHelper(d)
|
|
}(Math), n.SHA3)
|
|
},
|
|
7460: function(e, t, r) {
|
|
var n, i, a, o, s, c, u, l;
|
|
e.exports = (l = r(8249), r(4938), r(34), i = (n = l).x64, a = i.Word, o = i.WordArray, s = n.algo, c = s.SHA512, u = s.SHA384 = c.extend({
|
|
_doReset: function() {
|
|
this._hash = new o.init([new a.init(3418070365, 3238371032), new a.init(1654270250, 914150663), new a.init(2438529370, 812702999), new a.init(355462360, 4144912697), new a.init(1731405415, 4290775857), new a.init(2394180231, 1750603025), new a.init(3675008525, 1694076839), new a.init(1203062813, 3204075428)])
|
|
},
|
|
_doFinalize: function() {
|
|
var e = c._doFinalize.call(this);
|
|
return e.sigBytes -= 16, e
|
|
}
|
|
}), n.SHA384 = c._createHelper(u), n.HmacSHA384 = c._createHmacHelper(u), l.SHA384)
|
|
},
|
|
34: function(e, t, r) {
|
|
var n;
|
|
e.exports = (n = r(8249), r(4938), function() {
|
|
var e = n,
|
|
t = e.lib.Hasher,
|
|
r = e.x64,
|
|
i = r.Word,
|
|
a = r.WordArray,
|
|
o = e.algo;
|
|
|
|
function s() {
|
|
return i.create.apply(i, arguments)
|
|
}
|
|
var c = [s(1116352408, 3609767458), s(1899447441, 602891725), s(3049323471, 3964484399), s(3921009573, 2173295548), s(961987163, 4081628472), s(1508970993, 3053834265), s(2453635748, 2937671579), s(2870763221, 3664609560), s(3624381080, 2734883394), s(310598401, 1164996542), s(607225278, 1323610764), s(1426881987, 3590304994), s(1925078388, 4068182383), s(2162078206, 991336113), s(2614888103, 633803317), s(3248222580, 3479774868), s(3835390401, 2666613458), s(4022224774, 944711139), s(264347078, 2341262773), s(604807628, 2007800933), s(770255983, 1495990901), s(1249150122, 1856431235), s(1555081692, 3175218132), s(1996064986, 2198950837), s(2554220882, 3999719339), s(2821834349, 766784016), s(2952996808, 2566594879), s(3210313671, 3203337956), s(3336571891, 1034457026), s(3584528711, 2466948901), s(113926993, 3758326383), s(338241895, 168717936), s(666307205, 1188179964), s(773529912, 1546045734), s(1294757372, 1522805485), s(1396182291, 2643833823), s(1695183700, 2343527390), s(1986661051, 1014477480), s(2177026350, 1206759142), s(2456956037, 344077627), s(2730485921, 1290863460), s(2820302411, 3158454273), s(3259730800, 3505952657), s(3345764771, 106217008), s(3516065817, 3606008344), s(3600352804, 1432725776), s(4094571909, 1467031594), s(275423344, 851169720), s(430227734, 3100823752), s(506948616, 1363258195), s(659060556, 3750685593), s(883997877, 3785050280), s(958139571, 3318307427), s(1322822218, 3812723403), s(1537002063, 2003034995), s(1747873779, 3602036899), s(1955562222, 1575990012), s(2024104815, 1125592928), s(2227730452, 2716904306), s(2361852424, 442776044), s(2428436474, 593698344), s(2756734187, 3733110249), s(3204031479, 2999351573), s(3329325298, 3815920427), s(3391569614, 3928383900), s(3515267271, 566280711), s(3940187606, 3454069534), s(4118630271, 4000239992), s(116418474, 1914138554), s(174292421, 2731055270), s(289380356, 3203993006), s(460393269, 320620315), s(685471733, 587496836), s(852142971, 1086792851), s(1017036298, 365543100), s(1126000580, 2618297676), s(1288033470, 3409855158), s(1501505948, 4234509866), s(1607167915, 987167468), s(1816402316, 1246189591)],
|
|
u = [];
|
|
! function() {
|
|
for (var e = 0; e < 80; e++) u[e] = s()
|
|
}();
|
|
var l = o.SHA512 = t.extend({
|
|
_doReset: function() {
|
|
this._hash = new a.init([new i.init(1779033703, 4089235720), new i.init(3144134277, 2227873595), new i.init(1013904242, 4271175723), new i.init(2773480762, 1595750129), new i.init(1359893119, 2917565137), new i.init(2600822924, 725511199), new i.init(528734635, 4215389547), new i.init(1541459225, 327033209)])
|
|
},
|
|
_doProcessBlock: function(e, t) {
|
|
for (var r = this._hash.words, n = r[0], i = r[1], a = r[2], o = r[3], s = r[4], l = r[5], p = r[6], d = r[7], h = n.high, f = n.low, m = i.high, g = i.low, v = a.high, y = a.low, _ = o.high, b = o.low, S = s.high, x = s.low, P = l.high, O = l.low, w = p.high, k = p.low, T = d.high, C = d.low, E = h, I = f, R = m, A = g, V = v, F = y, D = _, j = b, M = S, N = x, H = P, U = O, B = w, W = k, L = T, $ = C, G = 0; G < 80; G++) {
|
|
var J, q, z = u[G];
|
|
if (G < 16) q = z.high = 0 | e[t + 2 * G], J = z.low = 0 | e[t + 2 * G + 1];
|
|
else {
|
|
var K = u[G - 15],
|
|
Q = K.high,
|
|
X = K.low,
|
|
Z = (Q >>> 1 | X << 31) ^ (Q >>> 8 | X << 24) ^ Q >>> 7,
|
|
Y = (X >>> 1 | Q << 31) ^ (X >>> 8 | Q << 24) ^ (X >>> 7 | Q << 25),
|
|
ee = u[G - 2],
|
|
te = ee.high,
|
|
re = ee.low,
|
|
ne = (te >>> 19 | re << 13) ^ (te << 3 | re >>> 29) ^ te >>> 6,
|
|
ie = (re >>> 19 | te << 13) ^ (re << 3 | te >>> 29) ^ (re >>> 6 | te << 26),
|
|
ae = u[G - 7],
|
|
oe = ae.high,
|
|
se = ae.low,
|
|
ce = u[G - 16],
|
|
ue = ce.high,
|
|
le = ce.low;
|
|
q = (q = (q = Z + oe + ((J = Y + se) >>> 0 < Y >>> 0 ? 1 : 0)) + ne + ((J += ie) >>> 0 < ie >>> 0 ? 1 : 0)) + ue + ((J += le) >>> 0 < le >>> 0 ? 1 : 0), z.high = q, z.low = J
|
|
}
|
|
var pe, de = M & H ^ ~M & B,
|
|
he = N & U ^ ~N & W,
|
|
fe = E & R ^ E & V ^ R & V,
|
|
me = I & A ^ I & F ^ A & F,
|
|
ge = (E >>> 28 | I << 4) ^ (E << 30 | I >>> 2) ^ (E << 25 | I >>> 7),
|
|
ve = (I >>> 28 | E << 4) ^ (I << 30 | E >>> 2) ^ (I << 25 | E >>> 7),
|
|
ye = (M >>> 14 | N << 18) ^ (M >>> 18 | N << 14) ^ (M << 23 | N >>> 9),
|
|
_e = (N >>> 14 | M << 18) ^ (N >>> 18 | M << 14) ^ (N << 23 | M >>> 9),
|
|
be = c[G],
|
|
Se = be.high,
|
|
xe = be.low,
|
|
Pe = L + ye + ((pe = $ + _e) >>> 0 < $ >>> 0 ? 1 : 0),
|
|
Oe = ve + me;
|
|
L = B, $ = W, B = H, W = U, H = M, U = N, M = D + (Pe = (Pe = (Pe = Pe + de + ((pe += he) >>> 0 < he >>> 0 ? 1 : 0)) + Se + ((pe += xe) >>> 0 < xe >>> 0 ? 1 : 0)) + q + ((pe += J) >>> 0 < J >>> 0 ? 1 : 0)) + ((N = j + pe | 0) >>> 0 < j >>> 0 ? 1 : 0) | 0, D = V, j = F, V = R, F = A, R = E, A = I, E = Pe + (ge + fe + (Oe >>> 0 < ve >>> 0 ? 1 : 0)) + ((I = pe + Oe | 0) >>> 0 < pe >>> 0 ? 1 : 0) | 0
|
|
}
|
|
f = n.low = f + I, n.high = h + E + (f >>> 0 < I >>> 0 ? 1 : 0), g = i.low = g + A, i.high = m + R + (g >>> 0 < A >>> 0 ? 1 : 0), y = a.low = y + F, a.high = v + V + (y >>> 0 < F >>> 0 ? 1 : 0), b = o.low = b + j, o.high = _ + D + (b >>> 0 < j >>> 0 ? 1 : 0), x = s.low = x + N, s.high = S + M + (x >>> 0 < N >>> 0 ? 1 : 0), O = l.low = O + U, l.high = P + H + (O >>> 0 < U >>> 0 ? 1 : 0), k = p.low = k + W, p.high = w + B + (k >>> 0 < W >>> 0 ? 1 : 0), C = d.low = C + $, d.high = T + L + (C >>> 0 < $ >>> 0 ? 1 : 0)
|
|
},
|
|
_doFinalize: function() {
|
|
var e = this._data,
|
|
t = e.words,
|
|
r = 8 * this._nDataBytes,
|
|
n = 8 * e.sigBytes;
|
|
return t[n >>> 5] |= 128 << 24 - n % 32, t[30 + (n + 128 >>> 10 << 5)] = Math.floor(r / 4294967296), t[31 + (n + 128 >>> 10 << 5)] = r, e.sigBytes = 4 * t.length, this._process(), this._hash.toX32()
|
|
},
|
|
clone: function() {
|
|
var e = t.clone.call(this);
|
|
return e._hash = this._hash.clone(), e
|
|
},
|
|
blockSize: 32
|
|
});
|
|
e.SHA512 = t._createHelper(l), e.HmacSHA512 = t._createHmacHelper(l)
|
|
}(), n.SHA512)
|
|
},
|
|
4253: function(e, t, r) {
|
|
var n;
|
|
e.exports = (n = r(8249), r(8269), r(8214), r(888), r(5109), function() {
|
|
var e = n,
|
|
t = e.lib,
|
|
r = t.WordArray,
|
|
i = t.BlockCipher,
|
|
a = e.algo,
|
|
o = [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4],
|
|
s = [14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32],
|
|
c = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28],
|
|
u = [{
|
|
0: 8421888,
|
|
268435456: 32768,
|
|
536870912: 8421378,
|
|
805306368: 2,
|
|
1073741824: 512,
|
|
1342177280: 8421890,
|
|
1610612736: 8389122,
|
|
1879048192: 8388608,
|
|
2147483648: 514,
|
|
2415919104: 8389120,
|
|
2684354560: 33280,
|
|
2952790016: 8421376,
|
|
3221225472: 32770,
|
|
3489660928: 8388610,
|
|
3758096384: 0,
|
|
4026531840: 33282,
|
|
134217728: 0,
|
|
402653184: 8421890,
|
|
671088640: 33282,
|
|
939524096: 32768,
|
|
1207959552: 8421888,
|
|
1476395008: 512,
|
|
1744830464: 8421378,
|
|
2013265920: 2,
|
|
2281701376: 8389120,
|
|
2550136832: 33280,
|
|
2818572288: 8421376,
|
|
3087007744: 8389122,
|
|
3355443200: 8388610,
|
|
3623878656: 32770,
|
|
3892314112: 514,
|
|
4160749568: 8388608,
|
|
1: 32768,
|
|
268435457: 2,
|
|
536870913: 8421888,
|
|
805306369: 8388608,
|
|
1073741825: 8421378,
|
|
1342177281: 33280,
|
|
1610612737: 512,
|
|
1879048193: 8389122,
|
|
2147483649: 8421890,
|
|
2415919105: 8421376,
|
|
2684354561: 8388610,
|
|
2952790017: 33282,
|
|
3221225473: 514,
|
|
3489660929: 8389120,
|
|
3758096385: 32770,
|
|
4026531841: 0,
|
|
134217729: 8421890,
|
|
402653185: 8421376,
|
|
671088641: 8388608,
|
|
939524097: 512,
|
|
1207959553: 32768,
|
|
1476395009: 8388610,
|
|
1744830465: 2,
|
|
2013265921: 33282,
|
|
2281701377: 32770,
|
|
2550136833: 8389122,
|
|
2818572289: 514,
|
|
3087007745: 8421888,
|
|
3355443201: 8389120,
|
|
3623878657: 0,
|
|
3892314113: 33280,
|
|
4160749569: 8421378
|
|
}, {
|
|
0: 1074282512,
|
|
16777216: 16384,
|
|
33554432: 524288,
|
|
50331648: 1074266128,
|
|
67108864: 1073741840,
|
|
83886080: 1074282496,
|
|
100663296: 1073758208,
|
|
117440512: 16,
|
|
134217728: 540672,
|
|
150994944: 1073758224,
|
|
167772160: 1073741824,
|
|
184549376: 540688,
|
|
201326592: 524304,
|
|
218103808: 0,
|
|
234881024: 16400,
|
|
251658240: 1074266112,
|
|
8388608: 1073758208,
|
|
25165824: 540688,
|
|
41943040: 16,
|
|
58720256: 1073758224,
|
|
75497472: 1074282512,
|
|
92274688: 1073741824,
|
|
109051904: 524288,
|
|
125829120: 1074266128,
|
|
142606336: 524304,
|
|
159383552: 0,
|
|
176160768: 16384,
|
|
192937984: 1074266112,
|
|
209715200: 1073741840,
|
|
226492416: 540672,
|
|
243269632: 1074282496,
|
|
260046848: 16400,
|
|
268435456: 0,
|
|
285212672: 1074266128,
|
|
301989888: 1073758224,
|
|
318767104: 1074282496,
|
|
335544320: 1074266112,
|
|
352321536: 16,
|
|
369098752: 540688,
|
|
385875968: 16384,
|
|
402653184: 16400,
|
|
419430400: 524288,
|
|
436207616: 524304,
|
|
452984832: 1073741840,
|
|
469762048: 540672,
|
|
486539264: 1073758208,
|
|
503316480: 1073741824,
|
|
520093696: 1074282512,
|
|
276824064: 540688,
|
|
293601280: 524288,
|
|
310378496: 1074266112,
|
|
327155712: 16384,
|
|
343932928: 1073758208,
|
|
360710144: 1074282512,
|
|
377487360: 16,
|
|
394264576: 1073741824,
|
|
411041792: 1074282496,
|
|
427819008: 1073741840,
|
|
444596224: 1073758224,
|
|
461373440: 524304,
|
|
478150656: 0,
|
|
494927872: 16400,
|
|
511705088: 1074266128,
|
|
528482304: 540672
|
|
}, {
|
|
0: 260,
|
|
1048576: 0,
|
|
2097152: 67109120,
|
|
3145728: 65796,
|
|
4194304: 65540,
|
|
5242880: 67108868,
|
|
6291456: 67174660,
|
|
7340032: 67174400,
|
|
8388608: 67108864,
|
|
9437184: 67174656,
|
|
10485760: 65792,
|
|
11534336: 67174404,
|
|
12582912: 67109124,
|
|
13631488: 65536,
|
|
14680064: 4,
|
|
15728640: 256,
|
|
524288: 67174656,
|
|
1572864: 67174404,
|
|
2621440: 0,
|
|
3670016: 67109120,
|
|
4718592: 67108868,
|
|
5767168: 65536,
|
|
6815744: 65540,
|
|
7864320: 260,
|
|
8912896: 4,
|
|
9961472: 256,
|
|
11010048: 67174400,
|
|
12058624: 65796,
|
|
13107200: 65792,
|
|
14155776: 67109124,
|
|
15204352: 67174660,
|
|
16252928: 67108864,
|
|
16777216: 67174656,
|
|
17825792: 65540,
|
|
18874368: 65536,
|
|
19922944: 67109120,
|
|
20971520: 256,
|
|
22020096: 67174660,
|
|
23068672: 67108868,
|
|
24117248: 0,
|
|
25165824: 67109124,
|
|
26214400: 67108864,
|
|
27262976: 4,
|
|
28311552: 65792,
|
|
29360128: 67174400,
|
|
30408704: 260,
|
|
31457280: 65796,
|
|
32505856: 67174404,
|
|
17301504: 67108864,
|
|
18350080: 260,
|
|
19398656: 67174656,
|
|
20447232: 0,
|
|
21495808: 65540,
|
|
22544384: 67109120,
|
|
23592960: 256,
|
|
24641536: 67174404,
|
|
25690112: 65536,
|
|
26738688: 67174660,
|
|
27787264: 65796,
|
|
28835840: 67108868,
|
|
29884416: 67109124,
|
|
30932992: 67174400,
|
|
31981568: 4,
|
|
33030144: 65792
|
|
}, {
|
|
0: 2151682048,
|
|
65536: 2147487808,
|
|
131072: 4198464,
|
|
196608: 2151677952,
|
|
262144: 0,
|
|
327680: 4198400,
|
|
393216: 2147483712,
|
|
458752: 4194368,
|
|
524288: 2147483648,
|
|
589824: 4194304,
|
|
655360: 64,
|
|
720896: 2147487744,
|
|
786432: 2151678016,
|
|
851968: 4160,
|
|
917504: 4096,
|
|
983040: 2151682112,
|
|
32768: 2147487808,
|
|
98304: 64,
|
|
163840: 2151678016,
|
|
229376: 2147487744,
|
|
294912: 4198400,
|
|
360448: 2151682112,
|
|
425984: 0,
|
|
491520: 2151677952,
|
|
557056: 4096,
|
|
622592: 2151682048,
|
|
688128: 4194304,
|
|
753664: 4160,
|
|
819200: 2147483648,
|
|
884736: 4194368,
|
|
950272: 4198464,
|
|
1015808: 2147483712,
|
|
1048576: 4194368,
|
|
1114112: 4198400,
|
|
1179648: 2147483712,
|
|
1245184: 0,
|
|
1310720: 4160,
|
|
1376256: 2151678016,
|
|
1441792: 2151682048,
|
|
1507328: 2147487808,
|
|
1572864: 2151682112,
|
|
1638400: 2147483648,
|
|
1703936: 2151677952,
|
|
1769472: 4198464,
|
|
1835008: 2147487744,
|
|
1900544: 4194304,
|
|
1966080: 64,
|
|
2031616: 4096,
|
|
1081344: 2151677952,
|
|
1146880: 2151682112,
|
|
1212416: 0,
|
|
1277952: 4198400,
|
|
1343488: 4194368,
|
|
1409024: 2147483648,
|
|
1474560: 2147487808,
|
|
1540096: 64,
|
|
1605632: 2147483712,
|
|
1671168: 4096,
|
|
1736704: 2147487744,
|
|
1802240: 2151678016,
|
|
1867776: 4160,
|
|
1933312: 2151682048,
|
|
1998848: 4194304,
|
|
2064384: 4198464
|
|
}, {
|
|
0: 128,
|
|
4096: 17039360,
|
|
8192: 262144,
|
|
12288: 536870912,
|
|
16384: 537133184,
|
|
20480: 16777344,
|
|
24576: 553648256,
|
|
28672: 262272,
|
|
32768: 16777216,
|
|
36864: 537133056,
|
|
40960: 536871040,
|
|
45056: 553910400,
|
|
49152: 553910272,
|
|
53248: 0,
|
|
57344: 17039488,
|
|
61440: 553648128,
|
|
2048: 17039488,
|
|
6144: 553648256,
|
|
10240: 128,
|
|
14336: 17039360,
|
|
18432: 262144,
|
|
22528: 537133184,
|
|
26624: 553910272,
|
|
30720: 536870912,
|
|
34816: 537133056,
|
|
38912: 0,
|
|
43008: 553910400,
|
|
47104: 16777344,
|
|
51200: 536871040,
|
|
55296: 553648128,
|
|
59392: 16777216,
|
|
63488: 262272,
|
|
65536: 262144,
|
|
69632: 128,
|
|
73728: 536870912,
|
|
77824: 553648256,
|
|
81920: 16777344,
|
|
86016: 553910272,
|
|
90112: 537133184,
|
|
94208: 16777216,
|
|
98304: 553910400,
|
|
102400: 553648128,
|
|
106496: 17039360,
|
|
110592: 537133056,
|
|
114688: 262272,
|
|
118784: 536871040,
|
|
122880: 0,
|
|
126976: 17039488,
|
|
67584: 553648256,
|
|
71680: 16777216,
|
|
75776: 17039360,
|
|
79872: 537133184,
|
|
83968: 536870912,
|
|
88064: 17039488,
|
|
92160: 128,
|
|
96256: 553910272,
|
|
100352: 262272,
|
|
104448: 553910400,
|
|
108544: 0,
|
|
112640: 553648128,
|
|
116736: 16777344,
|
|
120832: 262144,
|
|
124928: 537133056,
|
|
129024: 536871040
|
|
}, {
|
|
0: 268435464,
|
|
256: 8192,
|
|
512: 270532608,
|
|
768: 270540808,
|
|
1024: 268443648,
|
|
1280: 2097152,
|
|
1536: 2097160,
|
|
1792: 268435456,
|
|
2048: 0,
|
|
2304: 268443656,
|
|
2560: 2105344,
|
|
2816: 8,
|
|
3072: 270532616,
|
|
3328: 2105352,
|
|
3584: 8200,
|
|
3840: 270540800,
|
|
128: 270532608,
|
|
384: 270540808,
|
|
640: 8,
|
|
896: 2097152,
|
|
1152: 2105352,
|
|
1408: 268435464,
|
|
1664: 268443648,
|
|
1920: 8200,
|
|
2176: 2097160,
|
|
2432: 8192,
|
|
2688: 268443656,
|
|
2944: 270532616,
|
|
3200: 0,
|
|
3456: 270540800,
|
|
3712: 2105344,
|
|
3968: 268435456,
|
|
4096: 268443648,
|
|
4352: 270532616,
|
|
4608: 270540808,
|
|
4864: 8200,
|
|
5120: 2097152,
|
|
5376: 268435456,
|
|
5632: 268435464,
|
|
5888: 2105344,
|
|
6144: 2105352,
|
|
6400: 0,
|
|
6656: 8,
|
|
6912: 270532608,
|
|
7168: 8192,
|
|
7424: 268443656,
|
|
7680: 270540800,
|
|
7936: 2097160,
|
|
4224: 8,
|
|
4480: 2105344,
|
|
4736: 2097152,
|
|
4992: 268435464,
|
|
5248: 268443648,
|
|
5504: 8200,
|
|
5760: 270540808,
|
|
6016: 270532608,
|
|
6272: 270540800,
|
|
6528: 270532616,
|
|
6784: 8192,
|
|
7040: 2105352,
|
|
7296: 2097160,
|
|
7552: 0,
|
|
7808: 268435456,
|
|
8064: 268443656
|
|
}, {
|
|
0: 1048576,
|
|
16: 33555457,
|
|
32: 1024,
|
|
48: 1049601,
|
|
64: 34604033,
|
|
80: 0,
|
|
96: 1,
|
|
112: 34603009,
|
|
128: 33555456,
|
|
144: 1048577,
|
|
160: 33554433,
|
|
176: 34604032,
|
|
192: 34603008,
|
|
208: 1025,
|
|
224: 1049600,
|
|
240: 33554432,
|
|
8: 34603009,
|
|
24: 0,
|
|
40: 33555457,
|
|
56: 34604032,
|
|
72: 1048576,
|
|
88: 33554433,
|
|
104: 33554432,
|
|
120: 1025,
|
|
136: 1049601,
|
|
152: 33555456,
|
|
168: 34603008,
|
|
184: 1048577,
|
|
200: 1024,
|
|
216: 34604033,
|
|
232: 1,
|
|
248: 1049600,
|
|
256: 33554432,
|
|
272: 1048576,
|
|
288: 33555457,
|
|
304: 34603009,
|
|
320: 1048577,
|
|
336: 33555456,
|
|
352: 34604032,
|
|
368: 1049601,
|
|
384: 1025,
|
|
400: 34604033,
|
|
416: 1049600,
|
|
432: 1,
|
|
448: 0,
|
|
464: 34603008,
|
|
480: 33554433,
|
|
496: 1024,
|
|
264: 1049600,
|
|
280: 33555457,
|
|
296: 34603009,
|
|
312: 1,
|
|
328: 33554432,
|
|
344: 1048576,
|
|
360: 1025,
|
|
376: 34604032,
|
|
392: 33554433,
|
|
408: 34603008,
|
|
424: 0,
|
|
440: 34604033,
|
|
456: 1049601,
|
|
472: 1024,
|
|
488: 33555456,
|
|
504: 1048577
|
|
}, {
|
|
0: 134219808,
|
|
1: 131072,
|
|
2: 134217728,
|
|
3: 32,
|
|
4: 131104,
|
|
5: 134350880,
|
|
6: 134350848,
|
|
7: 2048,
|
|
8: 134348800,
|
|
9: 134219776,
|
|
10: 133120,
|
|
11: 134348832,
|
|
12: 2080,
|
|
13: 0,
|
|
14: 134217760,
|
|
15: 133152,
|
|
2147483648: 2048,
|
|
2147483649: 134350880,
|
|
2147483650: 134219808,
|
|
2147483651: 134217728,
|
|
2147483652: 134348800,
|
|
2147483653: 133120,
|
|
2147483654: 133152,
|
|
2147483655: 32,
|
|
2147483656: 134217760,
|
|
2147483657: 2080,
|
|
2147483658: 131104,
|
|
2147483659: 134350848,
|
|
2147483660: 0,
|
|
2147483661: 134348832,
|
|
2147483662: 134219776,
|
|
2147483663: 131072,
|
|
16: 133152,
|
|
17: 134350848,
|
|
18: 32,
|
|
19: 2048,
|
|
20: 134219776,
|
|
21: 134217760,
|
|
22: 134348832,
|
|
23: 131072,
|
|
24: 0,
|
|
25: 131104,
|
|
26: 134348800,
|
|
27: 134219808,
|
|
28: 134350880,
|
|
29: 133120,
|
|
30: 2080,
|
|
31: 134217728,
|
|
2147483664: 131072,
|
|
2147483665: 2048,
|
|
2147483666: 134348832,
|
|
2147483667: 133152,
|
|
2147483668: 32,
|
|
2147483669: 134348800,
|
|
2147483670: 134217728,
|
|
2147483671: 134219808,
|
|
2147483672: 134350880,
|
|
2147483673: 134217760,
|
|
2147483674: 134219776,
|
|
2147483675: 0,
|
|
2147483676: 133120,
|
|
2147483677: 2080,
|
|
2147483678: 131104,
|
|
2147483679: 134350848
|
|
}],
|
|
l = [4160749569, 528482304, 33030144, 2064384, 129024, 8064, 504, 2147483679],
|
|
p = a.DES = i.extend({
|
|
_doReset: function() {
|
|
for (var e = this._key.words, t = [], r = 0; r < 56; r++) {
|
|
var n = o[r] - 1;
|
|
t[r] = e[n >>> 5] >>> 31 - n % 32 & 1
|
|
}
|
|
for (var i = this._subKeys = [], a = 0; a < 16; a++) {
|
|
var u = i[a] = [],
|
|
l = c[a];
|
|
for (r = 0; r < 24; r++) u[r / 6 | 0] |= t[(s[r] - 1 + l) % 28] << 31 - r % 6, u[4 + (r / 6 | 0)] |= t[28 + (s[r + 24] - 1 + l) % 28] << 31 - r % 6;
|
|
for (u[0] = u[0] << 1 | u[0] >>> 31, r = 1; r < 7; r++) u[r] = u[r] >>> 4 * (r - 1) + 3;
|
|
u[7] = u[7] << 5 | u[7] >>> 27
|
|
}
|
|
var p = this._invSubKeys = [];
|
|
for (r = 0; r < 16; r++) p[r] = i[15 - r]
|
|
},
|
|
encryptBlock: function(e, t) {
|
|
this._doCryptBlock(e, t, this._subKeys)
|
|
},
|
|
decryptBlock: function(e, t) {
|
|
this._doCryptBlock(e, t, this._invSubKeys)
|
|
},
|
|
_doCryptBlock: function(e, t, r) {
|
|
this._lBlock = e[t], this._rBlock = e[t + 1], d.call(this, 4, 252645135), d.call(this, 16, 65535), h.call(this, 2, 858993459), h.call(this, 8, 16711935), d.call(this, 1, 1431655765);
|
|
for (var n = 0; n < 16; n++) {
|
|
for (var i = r[n], a = this._lBlock, o = this._rBlock, s = 0, c = 0; c < 8; c++) s |= u[c][((o ^ i[c]) & l[c]) >>> 0];
|
|
this._lBlock = o, this._rBlock = a ^ s
|
|
}
|
|
var p = this._lBlock;
|
|
this._lBlock = this._rBlock, this._rBlock = p, d.call(this, 1, 1431655765), h.call(this, 8, 16711935), h.call(this, 2, 858993459), d.call(this, 16, 65535), d.call(this, 4, 252645135), e[t] = this._lBlock, e[t + 1] = this._rBlock
|
|
},
|
|
keySize: 2,
|
|
ivSize: 2,
|
|
blockSize: 2
|
|
});
|
|
|
|
function d(e, t) {
|
|
var r = (this._lBlock >>> e ^ this._rBlock) & t;
|
|
this._rBlock ^= r, this._lBlock ^= r << e
|
|
}
|
|
|
|
function h(e, t) {
|
|
var r = (this._rBlock >>> e ^ this._lBlock) & t;
|
|
this._lBlock ^= r, this._rBlock ^= r << e
|
|
}
|
|
e.DES = i._createHelper(p);
|
|
var f = a.TripleDES = i.extend({
|
|
_doReset: function() {
|
|
var e = this._key.words;
|
|
if (2 !== e.length && 4 !== e.length && e.length < 6) throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");
|
|
var t = e.slice(0, 2),
|
|
n = e.length < 4 ? e.slice(0, 2) : e.slice(2, 4),
|
|
i = e.length < 6 ? e.slice(0, 2) : e.slice(4, 6);
|
|
this._des1 = p.createEncryptor(r.create(t)), this._des2 = p.createEncryptor(r.create(n)), this._des3 = p.createEncryptor(r.create(i))
|
|
},
|
|
encryptBlock: function(e, t) {
|
|
this._des1.encryptBlock(e, t), this._des2.decryptBlock(e, t), this._des3.encryptBlock(e, t)
|
|
},
|
|
decryptBlock: function(e, t) {
|
|
this._des3.decryptBlock(e, t), this._des2.encryptBlock(e, t), this._des1.decryptBlock(e, t)
|
|
},
|
|
keySize: 6,
|
|
ivSize: 2,
|
|
blockSize: 2
|
|
});
|
|
e.TripleDES = i._createHelper(f)
|
|
}(), n.TripleDES)
|
|
},
|
|
4938: function(e, t, r) {
|
|
var n;
|
|
e.exports = (n = r(8249), function() {
|
|
var t = n,
|
|
r = t.lib,
|
|
i = r.Base,
|
|
a = r.WordArray,
|
|
o = t.x64 = {};
|
|
o.Word = i.extend({
|
|
init: function(e, t) {
|
|
this.high = e, this.low = t
|
|
}
|
|
}), o.WordArray = i.extend({
|
|
init: function(t, r) {
|
|
t = this.words = t || [], this.sigBytes = null != r ? r : 8 * t.length
|
|
},
|
|
toX32: function() {
|
|
for (var e = this.words, t = e.length, r = [], n = 0; n < t; n++) {
|
|
var i = e[n];
|
|
r.push(i.high), r.push(i.low)
|
|
}
|
|
return a.create(r, this.sigBytes)
|
|
},
|
|
clone: function() {
|
|
for (var e = i.clone.call(this), t = e.words = this.words.slice(0), r = t.length, n = 0; n < r; n++) t[n] = t[n].clone();
|
|
return e
|
|
}
|
|
})
|
|
}(), n)
|
|
},
|
|
1227: (e, t, r) => {
|
|
t.formatArgs = function(t) {
|
|
if (t[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + t[0] + (this.useColors ? "%c " : " ") + "+" + e.exports.humanize(this.diff), !this.useColors) return;
|
|
const r = "color: " + this.color;
|
|
t.splice(1, 0, r, "color: inherit");
|
|
let n = 0,
|
|
i = 0;
|
|
t[0].replace(/%[a-zA-Z%]/g, e => {
|
|
"%%" !== e && (n++, "%c" === e && (i = n))
|
|
}), t.splice(i, 0, r)
|
|
}, t.save = function(e) {
|
|
try {
|
|
e ? t.storage.setItem("debug", e) : t.storage.removeItem("debug")
|
|
} catch (e) {}
|
|
}, t.load = function() {
|
|
let e;
|
|
try {
|
|
e = t.storage.getItem("debug")
|
|
} catch (e) {}
|
|
return !e && void 0 !== process && "env" in process && (e = process.env.DEBUG), e
|
|
}, t.useColors = function() {
|
|
return !("undefined" == typeof window || !window.process || "renderer" !== window.process.type && !window.process.__nwjs) || ("undefined" == typeof navigator || !navigator.userAgent || !navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) && ("undefined" != typeof document && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || "undefined" != typeof window && window.console && (window.console.firebug || window.console.exception && window.console.table) || "undefined" != typeof navigator && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || "undefined" != typeof navigator && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))
|
|
}, t.storage = function() {
|
|
try {
|
|
return localStorage
|
|
} catch (e) {}
|
|
}(), t.destroy = (() => {
|
|
let e = !1;
|
|
return () => {
|
|
e || (e = !0, console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))
|
|
}
|
|
})(), t.colors = ["#0000CC", "#0000FF", "#0033CC", "#0033FF", "#0066CC", "#0066FF", "#0099CC", "#0099FF", "#00CC00", "#00CC33", "#00CC66", "#00CC99", "#00CCCC", "#00CCFF", "#3300CC", "#3300FF", "#3333CC", "#3333FF", "#3366CC", "#3366FF", "#3399CC", "#3399FF", "#33CC00", "#33CC33", "#33CC66", "#33CC99", "#33CCCC", "#33CCFF", "#6600CC", "#6600FF", "#6633CC", "#6633FF", "#66CC00", "#66CC33", "#9900CC", "#9900FF", "#9933CC", "#9933FF", "#99CC00", "#99CC33", "#CC0000", "#CC0033", "#CC0066", "#CC0099", "#CC00CC", "#CC00FF", "#CC3300", "#CC3333", "#CC3366", "#CC3399", "#CC33CC", "#CC33FF", "#CC6600", "#CC6633", "#CC9900", "#CC9933", "#CCCC00", "#CCCC33", "#FF0000", "#FF0033", "#FF0066", "#FF0099", "#FF00CC", "#FF00FF", "#FF3300", "#FF3333", "#FF3366", "#FF3399", "#FF33CC", "#FF33FF", "#FF6600", "#FF6633", "#FF9900", "#FF9933", "#FFCC00", "#FFCC33"], t.log = console.debug || console.log || (() => {}), e.exports = r(2447)(t);
|
|
const {
|
|
formatters: n
|
|
} = e.exports;
|
|
n.j = function(e) {
|
|
try {
|
|
return JSON.stringify(e)
|
|
} catch (e) {
|
|
return "[UnexpectedJSONParseError]: " + e.message
|
|
}
|
|
}
|
|
},
|
|
2447: (e, t, r) => {
|
|
e.exports = function(e) {
|
|
function t(e) {
|
|
let r, i, a, o = null;
|
|
|
|
function s(...e) {
|
|
if (!s.enabled) return;
|
|
const n = s,
|
|
i = Number(new Date),
|
|
a = i - (r || i);
|
|
n.diff = a, n.prev = r, n.curr = i, r = i, e[0] = t.coerce(e[0]), "string" != typeof e[0] && e.unshift("%O");
|
|
let o = 0;
|
|
e[0] = e[0].replace(/%([a-zA-Z%])/g, (r, i) => {
|
|
if ("%%" === r) return "%";
|
|
o++;
|
|
const a = t.formatters[i];
|
|
if ("function" == typeof a) {
|
|
const t = e[o];
|
|
r = a.call(n, t), e.splice(o, 1), o--
|
|
}
|
|
return r
|
|
}), t.formatArgs.call(n, e), (n.log || t.log).apply(n, e)
|
|
}
|
|
return s.namespace = e, s.useColors = t.useColors(), s.color = t.selectColor(e), s.extend = n, s.destroy = t.destroy, Object.defineProperty(s, "enabled", {
|
|
enumerable: !0,
|
|
configurable: !1,
|
|
get: () => null !== o ? o : (i !== t.namespaces && (i = t.namespaces, a = t.enabled(e)), a),
|
|
set: e => {
|
|
o = e
|
|
}
|
|
}), "function" == typeof t.init && t.init(s), s
|
|
}
|
|
|
|
function n(e, r) {
|
|
const n = t(this.namespace + (void 0 === r ? ":" : r) + e);
|
|
return n.log = this.log, n
|
|
}
|
|
|
|
function i(e) {
|
|
return e.toString().substring(2, e.toString().length - 2).replace(/\.\*\?$/, "*")
|
|
}
|
|
return t.debug = t, t.default = t, t.coerce = function(e) {
|
|
return e instanceof Error ? e.stack || e.message : e
|
|
}, t.disable = function() {
|
|
const e = [...t.names.map(i), ...t.skips.map(i).map(e => "-" + e)].join(",");
|
|
return t.enable(""), e
|
|
}, t.enable = function(e) {
|
|
let r;
|
|
t.save(e), t.namespaces = e, t.names = [], t.skips = [];
|
|
const n = ("string" == typeof e ? e : "").split(/[\s,]+/),
|
|
i = n.length;
|
|
for (r = 0; r < i; r++) n[r] && ("-" === (e = n[r].replace(/\*/g, ".*?"))[0] ? t.skips.push(new RegExp("^" + e.slice(1) + "$")) : t.names.push(new RegExp("^" + e + "$")))
|
|
}, t.enabled = function(e) {
|
|
if ("*" === e[e.length - 1]) return !0;
|
|
let r, n;
|
|
for (r = 0, n = t.skips.length; r < n; r++)
|
|
if (t.skips[r].test(e)) return !1;
|
|
for (r = 0, n = t.names.length; r < n; r++)
|
|
if (t.names[r].test(e)) return !0;
|
|
return !1
|
|
}, t.humanize = r(7824), t.destroy = function() {
|
|
console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")
|
|
}, Object.keys(e).forEach(r => {
|
|
t[r] = e[r]
|
|
}), t.names = [], t.skips = [], t.formatters = {}, t.selectColor = function(e) {
|
|
let r = 0;
|
|
for (let t = 0; t < e.length; t++) r = (r << 5) - r + e.charCodeAt(t), r |= 0;
|
|
return t.colors[Math.abs(r) % t.colors.length]
|
|
}, t.enable(t.load()), t
|
|
}
|
|
},
|
|
7266: (e, t, r) => {
|
|
"use strict";
|
|
var n = "undefined" != typeof JSON ? JSON : r(8418),
|
|
i = Array.isArray || function(e) {
|
|
return "[object Array]" === {}.toString.call(e)
|
|
},
|
|
a = Object.keys || function(e) {
|
|
var t = Object.prototype.hasOwnProperty || function() {
|
|
return !0
|
|
},
|
|
r = [];
|
|
for (var n in e) t.call(e, n) && r.push(n);
|
|
return r
|
|
};
|
|
e.exports = function(e, t) {
|
|
t || (t = {}), "function" == typeof t && (t = {
|
|
cmp: t
|
|
});
|
|
var r = t.space || "";
|
|
"number" == typeof r && (r = Array(r + 1).join(" "));
|
|
var o, s = "boolean" == typeof t.cycles && t.cycles,
|
|
c = t.replacer || function(e, t) {
|
|
return t
|
|
},
|
|
u = t.cmp && (o = t.cmp, function(e) {
|
|
return function(t, r) {
|
|
var n = {
|
|
key: t,
|
|
value: e[t]
|
|
},
|
|
i = {
|
|
key: r,
|
|
value: e[r]
|
|
};
|
|
return o(n, i)
|
|
}
|
|
}),
|
|
l = [];
|
|
return function e(t, o, p, d) {
|
|
var h = r ? "\n" + new Array(d + 1).join(r) : "",
|
|
f = r ? ": " : ":";
|
|
if (p && p.toJSON && "function" == typeof p.toJSON && (p = p.toJSON()), void 0 !== (p = c.call(t, o, p))) {
|
|
if ("object" != typeof p || null === p) return n.stringify(p);
|
|
if (i(p)) {
|
|
for (var m = [], g = 0; g < p.length; g++) {
|
|
var v = e(p, g, p[g], d + 1) || n.stringify(null);
|
|
m.push(h + r + v)
|
|
}
|
|
return "[" + m.join(",") + h + "]"
|
|
}
|
|
if (-1 !== l.indexOf(p)) {
|
|
if (s) return n.stringify("__cycle__");
|
|
throw new TypeError("Converting circular structure to JSON")
|
|
}
|
|
l.push(p);
|
|
var y = a(p).sort(u && u(p));
|
|
for (m = [], g = 0; g < y.length; g++) {
|
|
var _ = e(p, o = y[g], p[o], d + 1);
|
|
if (_) {
|
|
var b = n.stringify(o) + f + _;
|
|
m.push(h + r + b)
|
|
}
|
|
}
|
|
return l.splice(l.indexOf(p), 1), "{" + m.join(",") + h + "}"
|
|
}
|
|
}({
|
|
"": e
|
|
}, "", e, 0)
|
|
}
|
|
},
|
|
8418: (e, t, r) => {
|
|
"use strict";
|
|
t.parse = r(1396), t.stringify = r(6177)
|
|
},
|
|
1396: e => {
|
|
"use strict";
|
|
var t, r, n, i = {
|
|
'"': '"',
|
|
"\\": "\\",
|
|
"/": "/",
|
|
b: "\b",
|
|
f: "\f",
|
|
n: "\n",
|
|
r: "\r",
|
|
t: "\t"
|
|
};
|
|
|
|
function a(e) {
|
|
throw {
|
|
name: "SyntaxError",
|
|
message: e,
|
|
at: t,
|
|
text: n
|
|
}
|
|
}
|
|
|
|
function o(e) {
|
|
return e && e !== r && a("Expected '" + e + "' instead of '" + r + "'"), r = n.charAt(t), t += 1, r
|
|
}
|
|
|
|
function s() {
|
|
var e, t = "";
|
|
for ("-" === r && (t = "-", o("-")); r >= "0" && r <= "9";) t += r, o();
|
|
if ("." === r)
|
|
for (t += "."; o() && r >= "0" && r <= "9";) t += r;
|
|
if ("e" === r || "E" === r)
|
|
for (t += r, o(), "-" !== r && "+" !== r || (t += r, o()); r >= "0" && r <= "9";) t += r, o();
|
|
return e = Number(t), isFinite(e) || a("Bad number"), e
|
|
}
|
|
|
|
function c() {
|
|
var e, t, n, s = "";
|
|
if ('"' === r)
|
|
for (; o();) {
|
|
if ('"' === r) return o(), s;
|
|
if ("\\" === r)
|
|
if (o(), "u" === r) {
|
|
for (n = 0, t = 0; t < 4 && (e = parseInt(o(), 16), isFinite(e)); t += 1) n = 16 * n + e;
|
|
s += String.fromCharCode(n)
|
|
} else {
|
|
if ("string" != typeof i[r]) break;
|
|
s += i[r]
|
|
}
|
|
else s += r
|
|
}
|
|
a("Bad string")
|
|
}
|
|
|
|
function u() {
|
|
for (; r && r <= " ";) o()
|
|
}
|
|
|
|
function l() {
|
|
switch (u(), r) {
|
|
case "{":
|
|
return function() {
|
|
var e, t = {};
|
|
if ("{" === r) {
|
|
if (o("{"), u(), "}" === r) return o("}"), t;
|
|
for (; r;) {
|
|
if (e = c(), u(), o(":"), Object.prototype.hasOwnProperty.call(t, e) && a('Duplicate key "' + e + '"'), t[e] = l(), u(), "}" === r) return o("}"), t;
|
|
o(","), u()
|
|
}
|
|
}
|
|
a("Bad object")
|
|
}();
|
|
case "[":
|
|
return function() {
|
|
var e = [];
|
|
if ("[" === r) {
|
|
if (o("["), u(), "]" === r) return o("]"), e;
|
|
for (; r;) {
|
|
if (e.push(l()), u(), "]" === r) return o("]"), e;
|
|
o(","), u()
|
|
}
|
|
}
|
|
a("Bad array")
|
|
}();
|
|
case '"':
|
|
return c();
|
|
case "-":
|
|
return s();
|
|
default:
|
|
return r >= "0" && r <= "9" ? s() : function() {
|
|
switch (r) {
|
|
case "t":
|
|
return o("t"), o("r"), o("u"), o("e"), !0;
|
|
case "f":
|
|
return o("f"), o("a"), o("l"), o("s"), o("e"), !1;
|
|
case "n":
|
|
return o("n"), o("u"), o("l"), o("l"), null;
|
|
default:
|
|
a("Unexpected '" + r + "'")
|
|
}
|
|
}()
|
|
}
|
|
}
|
|
e.exports = function(e, i) {
|
|
var o;
|
|
return n = e, t = 0, r = " ", o = l(), u(), r && a("Syntax error"), "function" == typeof i ? function e(t, r) {
|
|
var n, a, o = t[r];
|
|
if (o && "object" == typeof o)
|
|
for (n in l) Object.prototype.hasOwnProperty.call(o, n) && (void 0 === (a = e(o, n)) ? delete o[n] : o[n] = a);
|
|
return i.call(t, r, o)
|
|
}({
|
|
"": o
|
|
}, "") : o
|
|
}
|
|
},
|
|
6177: e => {
|
|
"use strict";
|
|
var t, r, n, i = /[\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
|
|
a = {
|
|
"\b": "\\b",
|
|
"\t": "\\t",
|
|
"\n": "\\n",
|
|
"\f": "\\f",
|
|
"\r": "\\r",
|
|
'"': '\\"',
|
|
"\\": "\\\\"
|
|
};
|
|
|
|
function o(e) {
|
|
return i.lastIndex = 0, i.test(e) ? '"' + e.replace(i, function(e) {
|
|
var t = a[e];
|
|
return "string" == typeof t ? t : "\\u" + ("0000" + e.charCodeAt(0).toString(16)).slice(-4)
|
|
}) + '"' : '"' + e + '"'
|
|
}
|
|
|
|
function s(e, i) {
|
|
var a, c, u, l, p, d = t,
|
|
h = i[e];
|
|
switch (h && "object" == typeof h && "function" == typeof h.toJSON && (h = h.toJSON(e)), "function" == typeof n && (h = n.call(i, e, h)), typeof h) {
|
|
case "string":
|
|
return o(h);
|
|
case "number":
|
|
return isFinite(h) ? String(h) : "null";
|
|
case "boolean":
|
|
case "null":
|
|
return String(h);
|
|
case "object":
|
|
if (!h) return "null";
|
|
if (t += r, p = [], "[object Array]" === Object.prototype.toString.apply(h)) {
|
|
for (l = h.length, a = 0; a < l; a += 1) p[a] = s(a, h) || "null";
|
|
return u = 0 === p.length ? "[]" : t ? "[\n" + t + p.join(",\n" + t) + "\n" + d + "]" : "[" + p.join(",") + "]", t = d, u
|
|
}
|
|
if (n && "object" == typeof n)
|
|
for (l = n.length, a = 0; a < l; a += 1) "string" == typeof(c = n[a]) && (u = s(c, h)) && p.push(o(c) + (t ? ": " : ":") + u);
|
|
else
|
|
for (c in h) Object.prototype.hasOwnProperty.call(h, c) && (u = s(c, h)) && p.push(o(c) + (t ? ": " : ":") + u);
|
|
return u = 0 === p.length ? "{}" : t ? "{\n" + t + p.join(",\n" + t) + "\n" + d + "}" : "{" + p.join(",") + "}", t = d, u
|
|
}
|
|
}
|
|
e.exports = function(e, i, a) {
|
|
var o;
|
|
if (t = "", r = "", "number" == typeof a)
|
|
for (o = 0; o < a; o += 1) r += " ";
|
|
else "string" == typeof a && (r = a);
|
|
if (n = i, i && "function" != typeof i && ("object" != typeof i || "number" != typeof i.length)) throw new Error("JSON.stringify");
|
|
return s("", {
|
|
"": e
|
|
})
|
|
}
|
|
},
|
|
7824: e => {
|
|
var t = 1e3,
|
|
r = 60 * t,
|
|
n = 60 * r,
|
|
i = 24 * n,
|
|
a = 7 * i;
|
|
|
|
function s(e, t, r, n) {
|
|
var i = t >= 1.5 * r;
|
|
return Math.round(e / r) + " " + n + (i ? "s" : "")
|
|
}
|
|
e.exports = function(e, c) {
|
|
c = c || {};
|
|
var u = typeof e;
|
|
if ("string" === u && e.length > 0) return function(e) {
|
|
if (!((e = String(e)).length > 100)) {
|
|
var s = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);
|
|
if (s) {
|
|
var c = parseFloat(s[1]);
|
|
switch ((s[2] || "ms").toLowerCase()) {
|
|
case "years":
|
|
case "year":
|
|
case "yrs":
|
|
case "yr":
|
|
case "y":
|
|
return 315576e5 * c;
|
|
case "weeks":
|
|
case "week":
|
|
case "w":
|
|
return c * a;
|
|
case "days":
|
|
case "day":
|
|
case "d":
|
|
return c * i;
|
|
case "hours":
|
|
case "hour":
|
|
case "hrs":
|
|
case "hr":
|
|
case "h":
|
|
return c * n;
|
|
case "minutes":
|
|
case "minute":
|
|
case "mins":
|
|
case "min":
|
|
case "m":
|
|
return c * r;
|
|
case "seconds":
|
|
case "second":
|
|
case "secs":
|
|
case "sec":
|
|
case "s":
|
|
return c * t;
|
|
case "milliseconds":
|
|
case "millisecond":
|
|
case "msecs":
|
|
case "msec":
|
|
case "ms":
|
|
return c;
|
|
default:
|
|
return
|
|
}
|
|
}
|
|
}
|
|
}(e);
|
|
if ("number" === u && isFinite(e)) return c.long ? function(e) {
|
|
var a = Math.abs(e);
|
|
return a >= i ? s(e, a, i, "day") : a >= n ? s(e, a, n, "hour") : a >= r ? s(e, a, r, "minute") : a >= t ? s(e, a, t, "second") : e + " ms"
|
|
}(e) : function(e) {
|
|
var a = Math.abs(e);
|
|
return a >= i ? Math.round(e / i) + "d" : a >= n ? Math.round(e / n) + "h" : a >= r ? Math.round(e / r) + "m" : a >= t ? Math.round(e / t) + "s" : e + "ms"
|
|
}(e);
|
|
throw new Error("val is not a non-empty string or a valid number. val=" + JSON.stringify(e))
|
|
}
|
|
},
|
|
2480: () => {},
|
|
4836: e => {
|
|
e.exports = function(e) {
|
|
return e && e.__esModule ? e : {
|
|
default: e
|
|
}
|
|
}, e.exports.__esModule = !0, e.exports.default = e.exports
|
|
},
|
|
7061: (e, t, r) => {
|
|
var n = r(8698).default;
|
|
|
|
function i() {
|
|
"use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
|
|
e.exports = i = function() {
|
|
return r
|
|
}, e.exports.__esModule = !0, e.exports.default = e.exports;
|
|
var t, r = {},
|
|
a = Object.prototype,
|
|
o = a.hasOwnProperty,
|
|
s = Object.defineProperty || function(e, t, r) {
|
|
e[t] = r.value
|
|
},
|
|
c = "function" == typeof Symbol ? Symbol : {},
|
|
u = c.iterator || "@@iterator",
|
|
l = c.asyncIterator || "@@asyncIterator",
|
|
p = c.toStringTag || "@@toStringTag";
|
|
|
|
function d(e, t, r) {
|
|
return Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}), e[t]
|
|
}
|
|
try {
|
|
d({}, "")
|
|
} catch (t) {
|
|
d = function(e, t, r) {
|
|
return e[t] = r
|
|
}
|
|
}
|
|
|
|
function h(e, t, r, n) {
|
|
var i = t && t.prototype instanceof b ? t : b,
|
|
a = Object.create(i.prototype),
|
|
o = new V(n || []);
|
|
return s(a, "_invoke", {
|
|
value: E(e, r, o)
|
|
}), a
|
|
}
|
|
|
|
function f(e, t, r) {
|
|
try {
|
|
return {
|
|
type: "normal",
|
|
arg: e.call(t, r)
|
|
}
|
|
} catch (e) {
|
|
return {
|
|
type: "throw",
|
|
arg: e
|
|
}
|
|
}
|
|
}
|
|
r.wrap = h;
|
|
var m = "suspendedStart",
|
|
g = "suspendedYield",
|
|
v = "executing",
|
|
y = "completed",
|
|
_ = {};
|
|
|
|
function b() {}
|
|
|
|
function S() {}
|
|
|
|
function x() {}
|
|
var P = {};
|
|
d(P, u, function() {
|
|
return this
|
|
});
|
|
var O = Object.getPrototypeOf,
|
|
w = O && O(O(F([])));
|
|
w && w !== a && o.call(w, u) && (P = w);
|
|
var k = x.prototype = b.prototype = Object.create(P);
|
|
|
|
function T(e) {
|
|
["next", "throw", "return"].forEach(function(t) {
|
|
d(e, t, function(e) {
|
|
return this._invoke(t, e)
|
|
})
|
|
})
|
|
}
|
|
|
|
function C(e, t) {
|
|
function r(i, a, s, c) {
|
|
var u = f(e[i], e, a);
|
|
if ("throw" !== u.type) {
|
|
var l = u.arg,
|
|
p = l.value;
|
|
return p && "object" == n(p) && o.call(p, "__await") ? t.resolve(p.__await).then(function(e) {
|
|
r("next", e, s, c)
|
|
}, function(e) {
|
|
r("throw", e, s, c)
|
|
}) : t.resolve(p).then(function(e) {
|
|
l.value = e, s(l)
|
|
}, function(e) {
|
|
return r("throw", e, s, c)
|
|
})
|
|
}
|
|
c(u.arg)
|
|
}
|
|
var i;
|
|
s(this, "_invoke", {
|
|
value: function(e, n) {
|
|
function a() {
|
|
return new t(function(t, i) {
|
|
r(e, n, t, i)
|
|
})
|
|
}
|
|
return i = i ? i.then(a, a) : a()
|
|
}
|
|
})
|
|
}
|
|
|
|
function E(e, r, n) {
|
|
var i = m;
|
|
return function(a, o) {
|
|
if (i === v) throw Error("Generator is already running");
|
|
if (i === y) {
|
|
if ("throw" === a) throw o;
|
|
return {
|
|
value: t,
|
|
done: !0
|
|
}
|
|
}
|
|
for (n.method = a, n.arg = o;;) {
|
|
var s = n.delegate;
|
|
if (s) {
|
|
var c = I(s, n);
|
|
if (c) {
|
|
if (c === _) continue;
|
|
return c
|
|
}
|
|
}
|
|
if ("next" === n.method) n.sent = n._sent = n.arg;
|
|
else if ("throw" === n.method) {
|
|
if (i === m) throw i = y, n.arg;
|
|
n.dispatchException(n.arg)
|
|
} else "return" === n.method && n.abrupt("return", n.arg);
|
|
i = v;
|
|
var u = f(e, r, n);
|
|
if ("normal" === u.type) {
|
|
if (i = n.done ? y : g, u.arg === _) continue;
|
|
return {
|
|
value: u.arg,
|
|
done: n.done
|
|
}
|
|
}
|
|
"throw" === u.type && (i = y, n.method = "throw", n.arg = u.arg)
|
|
}
|
|
}
|
|
}
|
|
|
|
function I(e, r) {
|
|
var n = r.method,
|
|
i = e.iterator[n];
|
|
if (i === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, I(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), _;
|
|
var a = f(i, e.iterator, r.arg);
|
|
if ("throw" === a.type) return r.method = "throw", r.arg = a.arg, r.delegate = null, _;
|
|
var o = a.arg;
|
|
return o ? o.done ? (r[e.resultName] = o.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, _) : o : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, _)
|
|
}
|
|
|
|
function R(e) {
|
|
var t = {
|
|
tryLoc: e[0]
|
|
};
|
|
1 in e && (t.catchLoc = e[1]), 2 in e && (t.finallyLoc = e[2], t.afterLoc = e[3]), this.tryEntries.push(t)
|
|
}
|
|
|
|
function A(e) {
|
|
var t = e.completion || {};
|
|
t.type = "normal", delete t.arg, e.completion = t
|
|
}
|
|
|
|
function V(e) {
|
|
this.tryEntries = [{
|
|
tryLoc: "root"
|
|
}], e.forEach(R, this), this.reset(!0)
|
|
}
|
|
|
|
function F(e) {
|
|
if (e || "" === e) {
|
|
var r = e[u];
|
|
if (r) return r.call(e);
|
|
if ("function" == typeof e.next) return e;
|
|
if (!isNaN(e.length)) {
|
|
var i = -1,
|
|
a = function r() {
|
|
for (; ++i < e.length;)
|
|
if (o.call(e, i)) return r.value = e[i], r.done = !1, r;
|
|
return r.value = t, r.done = !0, r
|
|
};
|
|
return a.next = a
|
|
}
|
|
}
|
|
throw new TypeError(n(e) + " is not iterable")
|
|
}
|
|
return S.prototype = x, s(k, "constructor", {
|
|
value: x,
|
|
configurable: !0
|
|
}), s(x, "constructor", {
|
|
value: S,
|
|
configurable: !0
|
|
}), S.displayName = d(x, p, "GeneratorFunction"), r.isGeneratorFunction = function(e) {
|
|
var t = "function" == typeof e && e.constructor;
|
|
return !!t && (t === S || "GeneratorFunction" === (t.displayName || t.name))
|
|
}, r.mark = function(e) {
|
|
return Object.setPrototypeOf ? Object.setPrototypeOf(e, x) : (e.__proto__ = x, d(e, p, "GeneratorFunction")), e.prototype = Object.create(k), e
|
|
}, r.awrap = function(e) {
|
|
return {
|
|
__await: e
|
|
}
|
|
}, T(C.prototype), d(C.prototype, l, function() {
|
|
return this
|
|
}), r.AsyncIterator = C, r.async = function(e, t, n, i, a) {
|
|
void 0 === a && (a = Promise);
|
|
var o = new C(h(e, t, n, i), a);
|
|
return r.isGeneratorFunction(t) ? o : o.next().then(function(e) {
|
|
return e.done ? e.value : o.next()
|
|
})
|
|
}, T(k), d(k, p, "Generator"), d(k, u, function() {
|
|
return this
|
|
}), d(k, "toString", function() {
|
|
return "[object Generator]"
|
|
}), r.keys = function(e) {
|
|
var t = Object(e),
|
|
r = [];
|
|
for (var n in t) r.push(n);
|
|
return r.reverse(),
|
|
function e() {
|
|
for (; r.length;) {
|
|
var n = r.pop();
|
|
if (n in t) return e.value = n, e.done = !1, e
|
|
}
|
|
return e.done = !0, e
|
|
}
|
|
}, r.values = F, V.prototype = {
|
|
constructor: V,
|
|
reset: function(e) {
|
|
if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(A), !e)
|
|
for (var r in this) "t" === r.charAt(0) && o.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t)
|
|
},
|
|
stop: function() {
|
|
this.done = !0;
|
|
var e = this.tryEntries[0].completion;
|
|
if ("throw" === e.type) throw e.arg;
|
|
return this.rval
|
|
},
|
|
dispatchException: function(e) {
|
|
if (this.done) throw e;
|
|
var r = this;
|
|
|
|
function n(n, i) {
|
|
return s.type = "throw", s.arg = e, r.next = n, i && (r.method = "next", r.arg = t), !!i
|
|
}
|
|
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
|
|
var a = this.tryEntries[i],
|
|
s = a.completion;
|
|
if ("root" === a.tryLoc) return n("end");
|
|
if (a.tryLoc <= this.prev) {
|
|
var c = o.call(a, "catchLoc"),
|
|
u = o.call(a, "finallyLoc");
|
|
if (c && u) {
|
|
if (this.prev < a.catchLoc) return n(a.catchLoc, !0);
|
|
if (this.prev < a.finallyLoc) return n(a.finallyLoc)
|
|
} else if (c) {
|
|
if (this.prev < a.catchLoc) return n(a.catchLoc, !0)
|
|
} else {
|
|
if (!u) throw Error("try statement without catch or finally");
|
|
if (this.prev < a.finallyLoc) return n(a.finallyLoc)
|
|
}
|
|
}
|
|
}
|
|
},
|
|
abrupt: function(e, t) {
|
|
for (var r = this.tryEntries.length - 1; r >= 0; --r) {
|
|
var n = this.tryEntries[r];
|
|
if (n.tryLoc <= this.prev && o.call(n, "finallyLoc") && this.prev < n.finallyLoc) {
|
|
var i = n;
|
|
break
|
|
}
|
|
}
|
|
i && ("break" === e || "continue" === e) && i.tryLoc <= t && t <= i.finallyLoc && (i = null);
|
|
var a = i ? i.completion : {};
|
|
return a.type = e, a.arg = t, i ? (this.method = "next", this.next = i.finallyLoc, _) : this.complete(a)
|
|
},
|
|
complete: function(e, t) {
|
|
if ("throw" === e.type) throw e.arg;
|
|
return "break" === e.type || "continue" === e.type ? this.next = e.arg : "return" === e.type ? (this.rval = this.arg = e.arg, this.method = "return", this.next = "end") : "normal" === e.type && t && (this.next = t), _
|
|
},
|
|
finish: function(e) {
|
|
for (var t = this.tryEntries.length - 1; t >= 0; --t) {
|
|
var r = this.tryEntries[t];
|
|
if (r.finallyLoc === e) return this.complete(r.completion, r.afterLoc), A(r), _
|
|
}
|
|
},
|
|
catch: function(e) {
|
|
for (var t = this.tryEntries.length - 1; t >= 0; --t) {
|
|
var r = this.tryEntries[t];
|
|
if (r.tryLoc === e) {
|
|
var n = r.completion;
|
|
if ("throw" === n.type) {
|
|
var i = n.arg;
|
|
A(r)
|
|
}
|
|
return i
|
|
}
|
|
}
|
|
throw Error("illegal catch attempt")
|
|
},
|
|
delegateYield: function(e, r, n) {
|
|
return this.delegate = {
|
|
iterator: F(e),
|
|
resultName: r,
|
|
nextLoc: n
|
|
}, "next" === this.method && (this.arg = t), _
|
|
}
|
|
}, r
|
|
}
|
|
e.exports = i, e.exports.__esModule = !0, e.exports.default = e.exports
|
|
},
|
|
8698: e => {
|
|
function t(r) {
|
|
return e.exports = t = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
|
|
return typeof e
|
|
} : function(e) {
|
|
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
|
|
}, e.exports.__esModule = !0, e.exports.default = e.exports, t(r)
|
|
}
|
|
e.exports = t, e.exports.__esModule = !0, e.exports.default = e.exports
|
|
},
|
|
4687: (e, t, r) => {
|
|
var n = r(7061)();
|
|
e.exports = n;
|
|
try {
|
|
regeneratorRuntime = n
|
|
} catch (e) {
|
|
"object" == typeof globalThis ? globalThis.regeneratorRuntime = n : Function("r", "regeneratorRuntime = r")(n)
|
|
}
|
|
},
|
|
3230: (e, t, r) => {
|
|
"use strict";
|
|
r.r(t), r.d(t, {
|
|
Node: () => ae,
|
|
Parser: () => W,
|
|
Position: () => F,
|
|
SourceLocation: () => D,
|
|
TokContext: () => ce,
|
|
Token: () => Re,
|
|
TokenType: () => g,
|
|
defaultOptions: () => M,
|
|
getLineInfo: () => j,
|
|
isIdentifierChar: () => m,
|
|
isIdentifierStart: () => f,
|
|
isNewLine: () => w,
|
|
keywordTypes: () => b,
|
|
lineBreak: () => P,
|
|
lineBreakG: () => O,
|
|
nonASCIIwhitespace: () => k,
|
|
parse: () => je,
|
|
parseExpressionAt: () => Me,
|
|
tokContexts: () => ue,
|
|
tokTypes: () => x,
|
|
tokenizer: () => Ne,
|
|
version: () => De
|
|
});
|
|
var n = {
|
|
3: "abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",
|
|
5: "class enum extends super const export import",
|
|
6: "enum",
|
|
strict: "implements interface let package private protected public static yield",
|
|
strictBind: "eval arguments"
|
|
},
|
|
i = "break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",
|
|
a = {
|
|
5: i,
|
|
"5module": i + " export import",
|
|
6: i + " const class extends export import super"
|
|
},
|
|
o = /^in(stanceof)?$/,
|
|
s = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7c6\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab67\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc",
|
|
c = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08d3-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1df9\u1dfb-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f",
|
|
u = new RegExp("[" + s + "]"),
|
|
l = new RegExp("[" + s + c + "]");
|
|
s = c = null;
|
|
var p = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 157, 310, 10, 21, 11, 7, 153, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 477, 28, 11, 0, 9, 21, 155, 22, 13, 52, 76, 44, 33, 24, 27, 35, 30, 0, 12, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 85, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 0, 33, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 230, 43, 117, 63, 32, 0, 161, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 35, 56, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 270, 921, 103, 110, 18, 195, 2749, 1070, 4050, 582, 8634, 568, 8, 30, 114, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 754, 9486, 286, 50, 2, 18, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 2357, 44, 11, 6, 17, 0, 370, 43, 1301, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42710, 42, 4148, 12, 221, 3, 5761, 15, 7472, 3104, 541],
|
|
d = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 525, 10, 176, 2, 54, 14, 32, 9, 16, 3, 46, 10, 54, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 4, 9, 83, 11, 7, 0, 161, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 232, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 19306, 9, 135, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 19723, 1, 5319, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 262, 6, 10, 9, 419, 13, 1495, 6, 110, 6, 6, 9, 792487, 239];
|
|
|
|
function h(e, t) {
|
|
for (var r = 65536, n = 0; n < t.length; n += 2) {
|
|
if ((r += t[n]) > e) return !1;
|
|
if ((r += t[n + 1]) >= e) return !0
|
|
}
|
|
}
|
|
|
|
function f(e, t) {
|
|
return e < 65 ? 36 === e : e < 91 || (e < 97 ? 95 === e : e < 123 || (e <= 65535 ? e >= 170 && u.test(String.fromCharCode(e)) : !1 !== t && h(e, p)))
|
|
}
|
|
|
|
function m(e, t) {
|
|
return e < 48 ? 36 === e : e < 58 || !(e < 65) && (e < 91 || (e < 97 ? 95 === e : e < 123 || (e <= 65535 ? e >= 170 && l.test(String.fromCharCode(e)) : !1 !== t && (h(e, p) || h(e, d)))))
|
|
}
|
|
var g = function(e, t) {
|
|
void 0 === t && (t = {}), this.label = e, this.keyword = t.keyword, this.beforeExpr = !!t.beforeExpr, this.startsExpr = !!t.startsExpr, this.isLoop = !!t.isLoop, this.isAssign = !!t.isAssign, this.prefix = !!t.prefix, this.postfix = !!t.postfix, this.binop = t.binop || null, this.updateContext = null
|
|
};
|
|
|
|
function v(e, t) {
|
|
return new g(e, {
|
|
beforeExpr: !0,
|
|
binop: t
|
|
})
|
|
}
|
|
var y = {
|
|
beforeExpr: !0
|
|
},
|
|
_ = {
|
|
startsExpr: !0
|
|
},
|
|
b = {};
|
|
|
|
function S(e, t) {
|
|
return void 0 === t && (t = {}), t.keyword = e, b[e] = new g(e, t)
|
|
}
|
|
var x = {
|
|
num: new g("num", _),
|
|
regexp: new g("regexp", _),
|
|
string: new g("string", _),
|
|
name: new g("name", _),
|
|
eof: new g("eof"),
|
|
bracketL: new g("[", {
|
|
beforeExpr: !0,
|
|
startsExpr: !0
|
|
}),
|
|
bracketR: new g("]"),
|
|
braceL: new g("{", {
|
|
beforeExpr: !0,
|
|
startsExpr: !0
|
|
}),
|
|
braceR: new g("}"),
|
|
parenL: new g("(", {
|
|
beforeExpr: !0,
|
|
startsExpr: !0
|
|
}),
|
|
parenR: new g(")"),
|
|
comma: new g(",", y),
|
|
semi: new g(";", y),
|
|
colon: new g(":", y),
|
|
dot: new g("."),
|
|
question: new g("?", y),
|
|
arrow: new g("=>", y),
|
|
template: new g("template"),
|
|
invalidTemplate: new g("invalidTemplate"),
|
|
ellipsis: new g("...", y),
|
|
backQuote: new g("`", _),
|
|
dollarBraceL: new g("${", {
|
|
beforeExpr: !0,
|
|
startsExpr: !0
|
|
}),
|
|
eq: new g("=", {
|
|
beforeExpr: !0,
|
|
isAssign: !0
|
|
}),
|
|
assign: new g("_=", {
|
|
beforeExpr: !0,
|
|
isAssign: !0
|
|
}),
|
|
incDec: new g("++/--", {
|
|
prefix: !0,
|
|
postfix: !0,
|
|
startsExpr: !0
|
|
}),
|
|
prefix: new g("!/~", {
|
|
beforeExpr: !0,
|
|
prefix: !0,
|
|
startsExpr: !0
|
|
}),
|
|
logicalOR: v("||", 1),
|
|
logicalAND: v("&&", 2),
|
|
bitwiseOR: v("|", 3),
|
|
bitwiseXOR: v("^", 4),
|
|
bitwiseAND: v("&", 5),
|
|
equality: v("==/!=/===/!==", 6),
|
|
relational: v("</>/<=/>=", 7),
|
|
bitShift: v("<</>>/>>>", 8),
|
|
plusMin: new g("+/-", {
|
|
beforeExpr: !0,
|
|
binop: 9,
|
|
prefix: !0,
|
|
startsExpr: !0
|
|
}),
|
|
modulo: v("%", 10),
|
|
star: v("*", 10),
|
|
slash: v("/", 10),
|
|
starstar: new g("**", {
|
|
beforeExpr: !0
|
|
}),
|
|
_break: S("break"),
|
|
_case: S("case", y),
|
|
_catch: S("catch"),
|
|
_continue: S("continue"),
|
|
_debugger: S("debugger"),
|
|
_default: S("default", y),
|
|
_do: S("do", {
|
|
isLoop: !0,
|
|
beforeExpr: !0
|
|
}),
|
|
_else: S("else", y),
|
|
_finally: S("finally"),
|
|
_for: S("for", {
|
|
isLoop: !0
|
|
}),
|
|
_function: S("function", _),
|
|
_if: S("if"),
|
|
_return: S("return", y),
|
|
_switch: S("switch"),
|
|
_throw: S("throw", y),
|
|
_try: S("try"),
|
|
_var: S("var"),
|
|
_const: S("const"),
|
|
_while: S("while", {
|
|
isLoop: !0
|
|
}),
|
|
_with: S("with"),
|
|
_new: S("new", {
|
|
beforeExpr: !0,
|
|
startsExpr: !0
|
|
}),
|
|
_this: S("this", _),
|
|
_super: S("super", _),
|
|
_class: S("class", _),
|
|
_extends: S("extends", y),
|
|
_export: S("export"),
|
|
_import: S("import", _),
|
|
_null: S("null", _),
|
|
_true: S("true", _),
|
|
_false: S("false", _),
|
|
_in: S("in", {
|
|
beforeExpr: !0,
|
|
binop: 7
|
|
}),
|
|
_instanceof: S("instanceof", {
|
|
beforeExpr: !0,
|
|
binop: 7
|
|
}),
|
|
_typeof: S("typeof", {
|
|
beforeExpr: !0,
|
|
prefix: !0,
|
|
startsExpr: !0
|
|
}),
|
|
_void: S("void", {
|
|
beforeExpr: !0,
|
|
prefix: !0,
|
|
startsExpr: !0
|
|
}),
|
|
_delete: S("delete", {
|
|
beforeExpr: !0,
|
|
prefix: !0,
|
|
startsExpr: !0
|
|
})
|
|
},
|
|
P = /\r\n?|\n|\u2028|\u2029/,
|
|
O = new RegExp(P.source, "g");
|
|
|
|
function w(e, t) {
|
|
return 10 === e || 13 === e || !t && (8232 === e || 8233 === e)
|
|
}
|
|
var k = /[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/,
|
|
T = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,
|
|
C = Object.prototype,
|
|
E = C.hasOwnProperty,
|
|
I = C.toString;
|
|
|
|
function R(e, t) {
|
|
return E.call(e, t)
|
|
}
|
|
var A = Array.isArray || function(e) {
|
|
return "[object Array]" === I.call(e)
|
|
};
|
|
|
|
function V(e) {
|
|
return new RegExp("^(?:" + e.replace(/ /g, "|") + ")$")
|
|
}
|
|
var F = function(e, t) {
|
|
this.line = e, this.column = t
|
|
};
|
|
F.prototype.offset = function(e) {
|
|
return new F(this.line, this.column + e)
|
|
};
|
|
var D = function(e, t, r) {
|
|
this.start = t, this.end = r, null !== e.sourceFile && (this.source = e.sourceFile)
|
|
};
|
|
|
|
function j(e, t) {
|
|
for (var r = 1, n = 0;;) {
|
|
O.lastIndex = n;
|
|
var i = O.exec(e);
|
|
if (!(i && i.index < t)) return new F(r, t - n);
|
|
++r, n = i.index + i[0].length
|
|
}
|
|
}
|
|
var M = {
|
|
ecmaVersion: 9,
|
|
sourceType: "script",
|
|
onInsertedSemicolon: null,
|
|
onTrailingComma: null,
|
|
allowReserved: null,
|
|
allowReturnOutsideFunction: !1,
|
|
allowImportExportEverywhere: !1,
|
|
allowAwaitOutsideFunction: !1,
|
|
allowHashBang: !1,
|
|
locations: !1,
|
|
onToken: null,
|
|
onComment: null,
|
|
ranges: !1,
|
|
program: null,
|
|
sourceFile: null,
|
|
directSourceFile: null,
|
|
preserveParens: !1
|
|
};
|
|
|
|
function B(e, t) {
|
|
return 2 | (e ? 4 : 0) | (t ? 8 : 0)
|
|
}
|
|
var W = function(e, t, r) {
|
|
this.options = e = function(e) {
|
|
var t = {};
|
|
for (var r in M) t[r] = e && R(e, r) ? e[r] : M[r];
|
|
if (t.ecmaVersion >= 2015 && (t.ecmaVersion -= 2009), null == t.allowReserved && (t.allowReserved = t.ecmaVersion < 5), A(t.onToken)) {
|
|
var n = t.onToken;
|
|
t.onToken = function(e) {
|
|
return n.push(e)
|
|
}
|
|
}
|
|
return A(t.onComment) && (t.onComment = function(e, t) {
|
|
return function(r, n, i, a, o, s) {
|
|
var c = {
|
|
type: r ? "Block" : "Line",
|
|
value: n,
|
|
start: i,
|
|
end: a
|
|
};
|
|
e.locations && (c.loc = new D(this, o, s)), e.ranges && (c.range = [i, a]), t.push(c)
|
|
}
|
|
}(t, t.onComment)), t
|
|
}(e), this.sourceFile = e.sourceFile, this.keywords = V(a[e.ecmaVersion >= 6 ? 6 : "module" === e.sourceType ? "5module" : 5]);
|
|
var i = "";
|
|
if (!0 !== e.allowReserved) {
|
|
for (var o = e.ecmaVersion; !(i = n[o]); o--);
|
|
"module" === e.sourceType && (i += " await")
|
|
}
|
|
this.reservedWords = V(i);
|
|
var s = (i ? i + " " : "") + n.strict;
|
|
this.reservedWordsStrict = V(s), this.reservedWordsStrictBind = V(s + " " + n.strictBind), this.input = String(t), this.containsEsc = !1, r ? (this.pos = r, this.lineStart = this.input.lastIndexOf("\n", r - 1) + 1, this.curLine = this.input.slice(0, this.lineStart).split(P).length) : (this.pos = this.lineStart = 0, this.curLine = 1), this.type = x.eof, this.value = null, this.start = this.end = this.pos, this.startLoc = this.endLoc = this.curPosition(), this.lastTokEndLoc = this.lastTokStartLoc = null, this.lastTokStart = this.lastTokEnd = this.pos, this.context = this.initialContext(), this.exprAllowed = !0, this.inModule = "module" === e.sourceType, this.strict = this.inModule || this.strictDirective(this.pos), this.potentialArrowAt = -1, this.yieldPos = this.awaitPos = this.awaitIdentPos = 0, this.labels = [], this.undefinedExports = {}, 0 === this.pos && e.allowHashBang && "#!" === this.input.slice(0, 2) && this.skipLineComment(2), this.scopeStack = [], this.enterScope(1), this.regexpState = null
|
|
},
|
|
L = {
|
|
inFunction: {
|
|
configurable: !0
|
|
},
|
|
inGenerator: {
|
|
configurable: !0
|
|
},
|
|
inAsync: {
|
|
configurable: !0
|
|
},
|
|
allowSuper: {
|
|
configurable: !0
|
|
},
|
|
allowDirectSuper: {
|
|
configurable: !0
|
|
},
|
|
treatFunctionsAsVar: {
|
|
configurable: !0
|
|
}
|
|
};
|
|
W.prototype.parse = function() {
|
|
var e = this.options.program || this.startNode();
|
|
return this.nextToken(), this.parseTopLevel(e)
|
|
}, L.inFunction.get = function() {
|
|
return (2 & this.currentVarScope().flags) > 0
|
|
}, L.inGenerator.get = function() {
|
|
return (8 & this.currentVarScope().flags) > 0
|
|
}, L.inAsync.get = function() {
|
|
return (4 & this.currentVarScope().flags) > 0
|
|
}, L.allowSuper.get = function() {
|
|
return (64 & this.currentThisScope().flags) > 0
|
|
}, L.allowDirectSuper.get = function() {
|
|
return (128 & this.currentThisScope().flags) > 0
|
|
}, L.treatFunctionsAsVar.get = function() {
|
|
return this.treatFunctionsAsVarInScope(this.currentScope())
|
|
}, W.prototype.inNonArrowFunction = function() {
|
|
return (2 & this.currentThisScope().flags) > 0
|
|
}, W.extend = function() {
|
|
for (var e = [], t = arguments.length; t--;) e[t] = arguments[t];
|
|
for (var r = this, n = 0; n < e.length; n++) r = e[n](r);
|
|
return r
|
|
}, W.parse = function(e, t) {
|
|
return new this(t, e).parse()
|
|
}, W.parseExpressionAt = function(e, t, r) {
|
|
var n = new this(r, e, t);
|
|
return n.nextToken(), n.parseExpression()
|
|
}, W.tokenizer = function(e, t) {
|
|
return new this(t, e)
|
|
}, Object.defineProperties(W.prototype, L);
|
|
var $ = W.prototype,
|
|
G = /^(?:'((?:\\.|[^'\\])*?)'|"((?:\\.|[^"\\])*?)")/;
|
|
|
|
function J() {
|
|
this.shorthandAssign = this.trailingComma = this.parenthesizedAssign = this.parenthesizedBind = this.doubleProto = -1
|
|
}
|
|
$.strictDirective = function(e) {
|
|
for (;;) {
|
|
T.lastIndex = e, e += T.exec(this.input)[0].length;
|
|
var t = G.exec(this.input.slice(e));
|
|
if (!t) return !1;
|
|
if ("use strict" === (t[1] || t[2])) return !0;
|
|
e += t[0].length, T.lastIndex = e, e += T.exec(this.input)[0].length, ";" === this.input[e] && e++
|
|
}
|
|
}, $.eat = function(e) {
|
|
return this.type === e && (this.next(), !0)
|
|
}, $.isContextual = function(e) {
|
|
return this.type === x.name && this.value === e && !this.containsEsc
|
|
}, $.eatContextual = function(e) {
|
|
return !!this.isContextual(e) && (this.next(), !0)
|
|
}, $.expectContextual = function(e) {
|
|
this.eatContextual(e) || this.unexpected()
|
|
}, $.canInsertSemicolon = function() {
|
|
return this.type === x.eof || this.type === x.braceR || P.test(this.input.slice(this.lastTokEnd, this.start))
|
|
}, $.insertSemicolon = function() {
|
|
if (this.canInsertSemicolon()) return this.options.onInsertedSemicolon && this.options.onInsertedSemicolon(this.lastTokEnd, this.lastTokEndLoc), !0
|
|
}, $.semicolon = function() {
|
|
this.eat(x.semi) || this.insertSemicolon() || this.unexpected()
|
|
}, $.afterTrailingComma = function(e, t) {
|
|
if (this.type === e) return this.options.onTrailingComma && this.options.onTrailingComma(this.lastTokStart, this.lastTokStartLoc), t || this.next(), !0
|
|
}, $.expect = function(e) {
|
|
this.eat(e) || this.unexpected()
|
|
}, $.unexpected = function(e) {
|
|
this.raise(null != e ? e : this.start, "Unexpected token")
|
|
}, $.checkPatternErrors = function(e, t) {
|
|
if (e) {
|
|
e.trailingComma > -1 && this.raiseRecoverable(e.trailingComma, "Comma is not permitted after the rest element");
|
|
var r = t ? e.parenthesizedAssign : e.parenthesizedBind;
|
|
r > -1 && this.raiseRecoverable(r, "Parenthesized pattern")
|
|
}
|
|
}, $.checkExpressionErrors = function(e, t) {
|
|
if (!e) return !1;
|
|
var r = e.shorthandAssign,
|
|
n = e.doubleProto;
|
|
if (!t) return r >= 0 || n >= 0;
|
|
r >= 0 && this.raise(r, "Shorthand property assignments are valid only in destructuring patterns"), n >= 0 && this.raiseRecoverable(n, "Redefinition of __proto__ property")
|
|
}, $.checkYieldAwaitInDefaultParams = function() {
|
|
this.yieldPos && (!this.awaitPos || this.yieldPos < this.awaitPos) && this.raise(this.yieldPos, "Yield expression cannot be a default value"), this.awaitPos && this.raise(this.awaitPos, "Await expression cannot be a default value")
|
|
}, $.isSimpleAssignTarget = function(e) {
|
|
return "ParenthesizedExpression" === e.type ? this.isSimpleAssignTarget(e.expression) : "Identifier" === e.type || "MemberExpression" === e.type
|
|
};
|
|
var q = W.prototype;
|
|
q.parseTopLevel = function(e) {
|
|
var t = {};
|
|
for (e.body || (e.body = []); this.type !== x.eof;) {
|
|
var r = this.parseStatement(null, !0, t);
|
|
e.body.push(r)
|
|
}
|
|
if (this.inModule)
|
|
for (var n = 0, i = Object.keys(this.undefinedExports); n < i.length; n += 1) {
|
|
var a = i[n];
|
|
this.raiseRecoverable(this.undefinedExports[a].start, "Export '" + a + "' is not defined")
|
|
}
|
|
return this.adaptDirectivePrologue(e.body), this.next(), e.sourceType = this.options.sourceType, this.finishNode(e, "Program")
|
|
};
|
|
var z = {
|
|
kind: "loop"
|
|
},
|
|
K = {
|
|
kind: "switch"
|
|
};
|
|
q.isLet = function(e) {
|
|
if (this.options.ecmaVersion < 6 || !this.isContextual("let")) return !1;
|
|
T.lastIndex = this.pos;
|
|
var t = T.exec(this.input),
|
|
r = this.pos + t[0].length,
|
|
n = this.input.charCodeAt(r);
|
|
if (91 === n) return !0;
|
|
if (e) return !1;
|
|
if (123 === n) return !0;
|
|
if (f(n, !0)) {
|
|
for (var i = r + 1; m(this.input.charCodeAt(i), !0);) ++i;
|
|
var a = this.input.slice(r, i);
|
|
if (!o.test(a)) return !0
|
|
}
|
|
return !1
|
|
}, q.isAsyncFunction = function() {
|
|
if (this.options.ecmaVersion < 8 || !this.isContextual("async")) return !1;
|
|
T.lastIndex = this.pos;
|
|
var e = T.exec(this.input),
|
|
t = this.pos + e[0].length;
|
|
return !(P.test(this.input.slice(this.pos, t)) || "function" !== this.input.slice(t, t + 8) || t + 8 !== this.input.length && m(this.input.charAt(t + 8)))
|
|
}, q.parseStatement = function(e, t, r) {
|
|
var n, i = this.type,
|
|
a = this.startNode();
|
|
switch (this.isLet(e) && (i = x._var, n = "let"), i) {
|
|
case x._break:
|
|
case x._continue:
|
|
return this.parseBreakContinueStatement(a, i.keyword);
|
|
case x._debugger:
|
|
return this.parseDebuggerStatement(a);
|
|
case x._do:
|
|
return this.parseDoStatement(a);
|
|
case x._for:
|
|
return this.parseForStatement(a);
|
|
case x._function:
|
|
return e && (this.strict || "if" !== e && "label" !== e) && this.options.ecmaVersion >= 6 && this.unexpected(), this.parseFunctionStatement(a, !1, !e);
|
|
case x._class:
|
|
return e && this.unexpected(), this.parseClass(a, !0);
|
|
case x._if:
|
|
return this.parseIfStatement(a);
|
|
case x._return:
|
|
return this.parseReturnStatement(a);
|
|
case x._switch:
|
|
return this.parseSwitchStatement(a);
|
|
case x._throw:
|
|
return this.parseThrowStatement(a);
|
|
case x._try:
|
|
return this.parseTryStatement(a);
|
|
case x._const:
|
|
case x._var:
|
|
return n = n || this.value, e && "var" !== n && this.unexpected(), this.parseVarStatement(a, n);
|
|
case x._while:
|
|
return this.parseWhileStatement(a);
|
|
case x._with:
|
|
return this.parseWithStatement(a);
|
|
case x.braceL:
|
|
return this.parseBlock(!0, a);
|
|
case x.semi:
|
|
return this.parseEmptyStatement(a);
|
|
case x._export:
|
|
case x._import:
|
|
if (this.options.ecmaVersion > 10 && i === x._import) {
|
|
T.lastIndex = this.pos;
|
|
var o = T.exec(this.input),
|
|
s = this.pos + o[0].length;
|
|
if (40 === this.input.charCodeAt(s)) return this.parseExpressionStatement(a, this.parseExpression())
|
|
}
|
|
return this.options.allowImportExportEverywhere || (t || this.raise(this.start, "'import' and 'export' may only appear at the top level"), this.inModule || this.raise(this.start, "'import' and 'export' may appear only with 'sourceType: module'")), i === x._import ? this.parseImport(a) : this.parseExport(a, r);
|
|
default:
|
|
if (this.isAsyncFunction()) return e && this.unexpected(), this.next(), this.parseFunctionStatement(a, !0, !e);
|
|
var c = this.value,
|
|
u = this.parseExpression();
|
|
return i === x.name && "Identifier" === u.type && this.eat(x.colon) ? this.parseLabeledStatement(a, c, u, e) : this.parseExpressionStatement(a, u)
|
|
}
|
|
}, q.parseBreakContinueStatement = function(e, t) {
|
|
var r = "break" === t;
|
|
this.next(), this.eat(x.semi) || this.insertSemicolon() ? e.label = null : this.type !== x.name ? this.unexpected() : (e.label = this.parseIdent(), this.semicolon());
|
|
for (var n = 0; n < this.labels.length; ++n) {
|
|
var i = this.labels[n];
|
|
if (null == e.label || i.name === e.label.name) {
|
|
if (null != i.kind && (r || "loop" === i.kind)) break;
|
|
if (e.label && r) break
|
|
}
|
|
}
|
|
return n === this.labels.length && this.raise(e.start, "Unsyntactic " + t), this.finishNode(e, r ? "BreakStatement" : "ContinueStatement")
|
|
}, q.parseDebuggerStatement = function(e) {
|
|
return this.next(), this.semicolon(), this.finishNode(e, "DebuggerStatement")
|
|
}, q.parseDoStatement = function(e) {
|
|
return this.next(), this.labels.push(z), e.body = this.parseStatement("do"), this.labels.pop(), this.expect(x._while), e.test = this.parseParenExpression(), this.options.ecmaVersion >= 6 ? this.eat(x.semi) : this.semicolon(), this.finishNode(e, "DoWhileStatement")
|
|
}, q.parseForStatement = function(e) {
|
|
this.next();
|
|
var t = this.options.ecmaVersion >= 9 && (this.inAsync || !this.inFunction && this.options.allowAwaitOutsideFunction) && this.eatContextual("await") ? this.lastTokStart : -1;
|
|
if (this.labels.push(z), this.enterScope(0), this.expect(x.parenL), this.type === x.semi) return t > -1 && this.unexpected(t), this.parseFor(e, null);
|
|
var r = this.isLet();
|
|
if (this.type === x._var || this.type === x._const || r) {
|
|
var n = this.startNode(),
|
|
i = r ? "let" : this.value;
|
|
return this.next(), this.parseVar(n, !0, i), this.finishNode(n, "VariableDeclaration"), (this.type === x._in || this.options.ecmaVersion >= 6 && this.isContextual("of")) && 1 === n.declarations.length ? (this.options.ecmaVersion >= 9 && (this.type === x._in ? t > -1 && this.unexpected(t) : e.await = t > -1), this.parseForIn(e, n)) : (t > -1 && this.unexpected(t), this.parseFor(e, n))
|
|
}
|
|
var a = new J,
|
|
o = this.parseExpression(!0, a);
|
|
return this.type === x._in || this.options.ecmaVersion >= 6 && this.isContextual("of") ? (this.options.ecmaVersion >= 9 && (this.type === x._in ? t > -1 && this.unexpected(t) : e.await = t > -1), this.toAssignable(o, !1, a), this.checkLVal(o), this.parseForIn(e, o)) : (this.checkExpressionErrors(a, !0), t > -1 && this.unexpected(t), this.parseFor(e, o))
|
|
}, q.parseFunctionStatement = function(e, t, r) {
|
|
return this.next(), this.parseFunction(e, X | (r ? 0 : Z), !1, t)
|
|
}, q.parseIfStatement = function(e) {
|
|
return this.next(), e.test = this.parseParenExpression(), e.consequent = this.parseStatement("if"), e.alternate = this.eat(x._else) ? this.parseStatement("if") : null, this.finishNode(e, "IfStatement")
|
|
}, q.parseReturnStatement = function(e) {
|
|
return this.inFunction || this.options.allowReturnOutsideFunction || this.raise(this.start, "'return' outside of function"), this.next(), this.eat(x.semi) || this.insertSemicolon() ? e.argument = null : (e.argument = this.parseExpression(), this.semicolon()), this.finishNode(e, "ReturnStatement")
|
|
}, q.parseSwitchStatement = function(e) {
|
|
var t;
|
|
this.next(), e.discriminant = this.parseParenExpression(), e.cases = [], this.expect(x.braceL), this.labels.push(K), this.enterScope(0);
|
|
for (var r = !1; this.type !== x.braceR;)
|
|
if (this.type === x._case || this.type === x._default) {
|
|
var n = this.type === x._case;
|
|
t && this.finishNode(t, "SwitchCase"), e.cases.push(t = this.startNode()), t.consequent = [], this.next(), n ? t.test = this.parseExpression() : (r && this.raiseRecoverable(this.lastTokStart, "Multiple default clauses"), r = !0, t.test = null), this.expect(x.colon)
|
|
} else t || this.unexpected(), t.consequent.push(this.parseStatement(null));
|
|
return this.exitScope(), t && this.finishNode(t, "SwitchCase"), this.next(), this.labels.pop(), this.finishNode(e, "SwitchStatement")
|
|
}, q.parseThrowStatement = function(e) {
|
|
return this.next(), P.test(this.input.slice(this.lastTokEnd, this.start)) && this.raise(this.lastTokEnd, "Illegal newline after throw"), e.argument = this.parseExpression(), this.semicolon(), this.finishNode(e, "ThrowStatement")
|
|
};
|
|
var Q = [];
|
|
q.parseTryStatement = function(e) {
|
|
if (this.next(), e.block = this.parseBlock(), e.handler = null, this.type === x._catch) {
|
|
var t = this.startNode();
|
|
if (this.next(), this.eat(x.parenL)) {
|
|
t.param = this.parseBindingAtom();
|
|
var r = "Identifier" === t.param.type;
|
|
this.enterScope(r ? 32 : 0), this.checkLVal(t.param, r ? 4 : 2), this.expect(x.parenR)
|
|
} else this.options.ecmaVersion < 10 && this.unexpected(), t.param = null, this.enterScope(0);
|
|
t.body = this.parseBlock(!1), this.exitScope(), e.handler = this.finishNode(t, "CatchClause")
|
|
}
|
|
return e.finalizer = this.eat(x._finally) ? this.parseBlock() : null, e.handler || e.finalizer || this.raise(e.start, "Missing catch or finally clause"), this.finishNode(e, "TryStatement")
|
|
}, q.parseVarStatement = function(e, t) {
|
|
return this.next(), this.parseVar(e, !1, t), this.semicolon(), this.finishNode(e, "VariableDeclaration")
|
|
}, q.parseWhileStatement = function(e) {
|
|
return this.next(), e.test = this.parseParenExpression(), this.labels.push(z), e.body = this.parseStatement("while"), this.labels.pop(), this.finishNode(e, "WhileStatement")
|
|
}, q.parseWithStatement = function(e) {
|
|
return this.strict && this.raise(this.start, "'with' in strict mode"), this.next(), e.object = this.parseParenExpression(), e.body = this.parseStatement("with"), this.finishNode(e, "WithStatement")
|
|
}, q.parseEmptyStatement = function(e) {
|
|
return this.next(), this.finishNode(e, "EmptyStatement")
|
|
}, q.parseLabeledStatement = function(e, t, r, n) {
|
|
for (var i = 0, a = this.labels; i < a.length; i += 1) a[i].name === t && this.raise(r.start, "Label '" + t + "' is already declared");
|
|
for (var o = this.type.isLoop ? "loop" : this.type === x._switch ? "switch" : null, s = this.labels.length - 1; s >= 0; s--) {
|
|
var c = this.labels[s];
|
|
if (c.statementStart !== e.start) break;
|
|
c.statementStart = this.start, c.kind = o
|
|
}
|
|
return this.labels.push({
|
|
name: t,
|
|
kind: o,
|
|
statementStart: this.start
|
|
}), e.body = this.parseStatement(n ? -1 === n.indexOf("label") ? n + "label" : n : "label"), this.labels.pop(), e.label = r, this.finishNode(e, "LabeledStatement")
|
|
}, q.parseExpressionStatement = function(e, t) {
|
|
return e.expression = t, this.semicolon(), this.finishNode(e, "ExpressionStatement")
|
|
}, q.parseBlock = function(e, t) {
|
|
for (void 0 === e && (e = !0), void 0 === t && (t = this.startNode()), t.body = [], this.expect(x.braceL), e && this.enterScope(0); !this.eat(x.braceR);) {
|
|
var r = this.parseStatement(null);
|
|
t.body.push(r)
|
|
}
|
|
return e && this.exitScope(), this.finishNode(t, "BlockStatement")
|
|
}, q.parseFor = function(e, t) {
|
|
return e.init = t, this.expect(x.semi), e.test = this.type === x.semi ? null : this.parseExpression(), this.expect(x.semi), e.update = this.type === x.parenR ? null : this.parseExpression(), this.expect(x.parenR), e.body = this.parseStatement("for"), this.exitScope(), this.labels.pop(), this.finishNode(e, "ForStatement")
|
|
}, q.parseForIn = function(e, t) {
|
|
var r = this.type === x._in;
|
|
return this.next(), "VariableDeclaration" === t.type && null != t.declarations[0].init && (!r || this.options.ecmaVersion < 8 || this.strict || "var" !== t.kind || "Identifier" !== t.declarations[0].id.type) ? this.raise(t.start, (r ? "for-in" : "for-of") + " loop variable declaration may not have an initializer") : "AssignmentPattern" === t.type && this.raise(t.start, "Invalid left-hand side in for-loop"), e.left = t, e.right = r ? this.parseExpression() : this.parseMaybeAssign(), this.expect(x.parenR), e.body = this.parseStatement("for"), this.exitScope(), this.labels.pop(), this.finishNode(e, r ? "ForInStatement" : "ForOfStatement")
|
|
}, q.parseVar = function(e, t, r) {
|
|
for (e.declarations = [], e.kind = r;;) {
|
|
var n = this.startNode();
|
|
if (this.parseVarId(n, r), this.eat(x.eq) ? n.init = this.parseMaybeAssign(t) : "const" !== r || this.type === x._in || this.options.ecmaVersion >= 6 && this.isContextual("of") ? "Identifier" === n.id.type || t && (this.type === x._in || this.isContextual("of")) ? n.init = null : this.raise(this.lastTokEnd, "Complex binding patterns require an initialization value") : this.unexpected(), e.declarations.push(this.finishNode(n, "VariableDeclarator")), !this.eat(x.comma)) break
|
|
}
|
|
return e
|
|
}, q.parseVarId = function(e, t) {
|
|
e.id = this.parseBindingAtom(), this.checkLVal(e.id, "var" === t ? 1 : 2, !1)
|
|
};
|
|
var X = 1,
|
|
Z = 2;
|
|
q.parseFunction = function(e, t, r, n) {
|
|
this.initFunction(e), (this.options.ecmaVersion >= 9 || this.options.ecmaVersion >= 6 && !n) && (this.type === x.star && t & Z && this.unexpected(), e.generator = this.eat(x.star)), this.options.ecmaVersion >= 8 && (e.async = !!n), t & X && (e.id = 4 & t && this.type !== x.name ? null : this.parseIdent(), !e.id || t & Z || this.checkLVal(e.id, this.strict || e.generator || e.async ? this.treatFunctionsAsVar ? 1 : 2 : 3));
|
|
var i = this.yieldPos,
|
|
a = this.awaitPos,
|
|
o = this.awaitIdentPos;
|
|
return this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0, this.enterScope(B(e.async, e.generator)), t & X || (e.id = this.type === x.name ? this.parseIdent() : null), this.parseFunctionParams(e), this.parseFunctionBody(e, r, !1), this.yieldPos = i, this.awaitPos = a, this.awaitIdentPos = o, this.finishNode(e, t & X ? "FunctionDeclaration" : "FunctionExpression")
|
|
}, q.parseFunctionParams = function(e) {
|
|
this.expect(x.parenL), e.params = this.parseBindingList(x.parenR, !1, this.options.ecmaVersion >= 8), this.checkYieldAwaitInDefaultParams()
|
|
}, q.parseClass = function(e, t) {
|
|
this.next();
|
|
var r = this.strict;
|
|
this.strict = !0, this.parseClassId(e, t), this.parseClassSuper(e);
|
|
var n = this.startNode(),
|
|
i = !1;
|
|
for (n.body = [], this.expect(x.braceL); !this.eat(x.braceR);) {
|
|
var a = this.parseClassElement(null !== e.superClass);
|
|
a && (n.body.push(a), "MethodDefinition" === a.type && "constructor" === a.kind && (i && this.raise(a.start, "Duplicate constructor in the same class"), i = !0))
|
|
}
|
|
return e.body = this.finishNode(n, "ClassBody"), this.strict = r, this.finishNode(e, t ? "ClassDeclaration" : "ClassExpression")
|
|
}, q.parseClassElement = function(e) {
|
|
var t = this;
|
|
if (this.eat(x.semi)) return null;
|
|
var r = this.startNode(),
|
|
n = function(e, n) {
|
|
void 0 === n && (n = !1);
|
|
var i = t.start,
|
|
a = t.startLoc;
|
|
return !(!t.eatContextual(e) || (t.type === x.parenL || n && t.canInsertSemicolon()) && (r.key && t.unexpected(), r.computed = !1, r.key = t.startNodeAt(i, a), r.key.name = e, t.finishNode(r.key, "Identifier"), 1))
|
|
};
|
|
r.kind = "method", r.static = n("static");
|
|
var i = this.eat(x.star),
|
|
a = !1;
|
|
i || (this.options.ecmaVersion >= 8 && n("async", !0) ? (a = !0, i = this.options.ecmaVersion >= 9 && this.eat(x.star)) : n("get") ? r.kind = "get" : n("set") && (r.kind = "set")), r.key || this.parsePropertyName(r);
|
|
var o = r.key,
|
|
s = !1;
|
|
return r.computed || r.static || !("Identifier" === o.type && "constructor" === o.name || "Literal" === o.type && "constructor" === o.value) ? r.static && "Identifier" === o.type && "prototype" === o.name && this.raise(o.start, "Classes may not have a static property named prototype") : ("method" !== r.kind && this.raise(o.start, "Constructor can't have get/set modifier"), i && this.raise(o.start, "Constructor can't be a generator"), a && this.raise(o.start, "Constructor can't be an async method"), r.kind = "constructor", s = e), this.parseClassMethod(r, i, a, s), "get" === r.kind && 0 !== r.value.params.length && this.raiseRecoverable(r.value.start, "getter should have no params"), "set" === r.kind && 1 !== r.value.params.length && this.raiseRecoverable(r.value.start, "setter should have exactly one param"), "set" === r.kind && "RestElement" === r.value.params[0].type && this.raiseRecoverable(r.value.params[0].start, "Setter cannot use rest params"), r
|
|
}, q.parseClassMethod = function(e, t, r, n) {
|
|
return e.value = this.parseMethod(t, r, n), this.finishNode(e, "MethodDefinition")
|
|
}, q.parseClassId = function(e, t) {
|
|
this.type === x.name ? (e.id = this.parseIdent(), t && this.checkLVal(e.id, 2, !1)) : (!0 === t && this.unexpected(), e.id = null)
|
|
}, q.parseClassSuper = function(e) {
|
|
e.superClass = this.eat(x._extends) ? this.parseExprSubscripts() : null
|
|
}, q.parseExport = function(e, t) {
|
|
if (this.next(), this.eat(x.star)) return this.expectContextual("from"), this.type !== x.string && this.unexpected(), e.source = this.parseExprAtom(), this.semicolon(), this.finishNode(e, "ExportAllDeclaration");
|
|
if (this.eat(x._default)) {
|
|
var r;
|
|
if (this.checkExport(t, "default", this.lastTokStart), this.type === x._function || (r = this.isAsyncFunction())) {
|
|
var n = this.startNode();
|
|
this.next(), r && this.next(), e.declaration = this.parseFunction(n, 4 | X, !1, r)
|
|
} else if (this.type === x._class) {
|
|
var i = this.startNode();
|
|
e.declaration = this.parseClass(i, "nullableID")
|
|
} else e.declaration = this.parseMaybeAssign(), this.semicolon();
|
|
return this.finishNode(e, "ExportDefaultDeclaration")
|
|
}
|
|
if (this.shouldParseExportStatement()) e.declaration = this.parseStatement(null), "VariableDeclaration" === e.declaration.type ? this.checkVariableExport(t, e.declaration.declarations) : this.checkExport(t, e.declaration.id.name, e.declaration.id.start), e.specifiers = [], e.source = null;
|
|
else {
|
|
if (e.declaration = null, e.specifiers = this.parseExportSpecifiers(t), this.eatContextual("from")) this.type !== x.string && this.unexpected(), e.source = this.parseExprAtom();
|
|
else {
|
|
for (var a = 0, o = e.specifiers; a < o.length; a += 1) {
|
|
var s = o[a];
|
|
this.checkUnreserved(s.local), this.checkLocalExport(s.local)
|
|
}
|
|
e.source = null
|
|
}
|
|
this.semicolon()
|
|
}
|
|
return this.finishNode(e, "ExportNamedDeclaration")
|
|
}, q.checkExport = function(e, t, r) {
|
|
e && (R(e, t) && this.raiseRecoverable(r, "Duplicate export '" + t + "'"), e[t] = !0)
|
|
}, q.checkPatternExport = function(e, t) {
|
|
var r = t.type;
|
|
if ("Identifier" === r) this.checkExport(e, t.name, t.start);
|
|
else if ("ObjectPattern" === r)
|
|
for (var n = 0, i = t.properties; n < i.length; n += 1) {
|
|
var a = i[n];
|
|
this.checkPatternExport(e, a)
|
|
} else if ("ArrayPattern" === r)
|
|
for (var o = 0, s = t.elements; o < s.length; o += 1) {
|
|
var c = s[o];
|
|
c && this.checkPatternExport(e, c)
|
|
} else "Property" === r ? this.checkPatternExport(e, t.value) : "AssignmentPattern" === r ? this.checkPatternExport(e, t.left) : "RestElement" === r ? this.checkPatternExport(e, t.argument) : "ParenthesizedExpression" === r && this.checkPatternExport(e, t.expression)
|
|
}, q.checkVariableExport = function(e, t) {
|
|
if (e)
|
|
for (var r = 0, n = t; r < n.length; r += 1) {
|
|
var i = n[r];
|
|
this.checkPatternExport(e, i.id)
|
|
}
|
|
}, q.shouldParseExportStatement = function() {
|
|
return "var" === this.type.keyword || "const" === this.type.keyword || "class" === this.type.keyword || "function" === this.type.keyword || this.isLet() || this.isAsyncFunction()
|
|
}, q.parseExportSpecifiers = function(e) {
|
|
var t = [],
|
|
r = !0;
|
|
for (this.expect(x.braceL); !this.eat(x.braceR);) {
|
|
if (r) r = !1;
|
|
else if (this.expect(x.comma), this.afterTrailingComma(x.braceR)) break;
|
|
var n = this.startNode();
|
|
n.local = this.parseIdent(!0), n.exported = this.eatContextual("as") ? this.parseIdent(!0) : n.local, this.checkExport(e, n.exported.name, n.exported.start), t.push(this.finishNode(n, "ExportSpecifier"))
|
|
}
|
|
return t
|
|
}, q.parseImport = function(e) {
|
|
return this.next(), this.type === x.string ? (e.specifiers = Q, e.source = this.parseExprAtom()) : (e.specifiers = this.parseImportSpecifiers(), this.expectContextual("from"), e.source = this.type === x.string ? this.parseExprAtom() : this.unexpected()), this.semicolon(), this.finishNode(e, "ImportDeclaration")
|
|
}, q.parseImportSpecifiers = function() {
|
|
var e = [],
|
|
t = !0;
|
|
if (this.type === x.name) {
|
|
var r = this.startNode();
|
|
if (r.local = this.parseIdent(), this.checkLVal(r.local, 2), e.push(this.finishNode(r, "ImportDefaultSpecifier")), !this.eat(x.comma)) return e
|
|
}
|
|
if (this.type === x.star) {
|
|
var n = this.startNode();
|
|
return this.next(), this.expectContextual("as"), n.local = this.parseIdent(), this.checkLVal(n.local, 2), e.push(this.finishNode(n, "ImportNamespaceSpecifier")), e
|
|
}
|
|
for (this.expect(x.braceL); !this.eat(x.braceR);) {
|
|
if (t) t = !1;
|
|
else if (this.expect(x.comma), this.afterTrailingComma(x.braceR)) break;
|
|
var i = this.startNode();
|
|
i.imported = this.parseIdent(!0), this.eatContextual("as") ? i.local = this.parseIdent() : (this.checkUnreserved(i.imported), i.local = i.imported), this.checkLVal(i.local, 2), e.push(this.finishNode(i, "ImportSpecifier"))
|
|
}
|
|
return e
|
|
}, q.adaptDirectivePrologue = function(e) {
|
|
for (var t = 0; t < e.length && this.isDirectiveCandidate(e[t]); ++t) e[t].directive = e[t].expression.raw.slice(1, -1)
|
|
}, q.isDirectiveCandidate = function(e) {
|
|
return "ExpressionStatement" === e.type && "Literal" === e.expression.type && "string" == typeof e.expression.value && ('"' === this.input[e.start] || "'" === this.input[e.start])
|
|
};
|
|
var Y = W.prototype;
|
|
Y.toAssignable = function(e, t, r) {
|
|
if (this.options.ecmaVersion >= 6 && e) switch (e.type) {
|
|
case "Identifier":
|
|
this.inAsync && "await" === e.name && this.raise(e.start, "Cannot use 'await' as identifier inside an async function");
|
|
break;
|
|
case "ObjectPattern":
|
|
case "ArrayPattern":
|
|
case "RestElement":
|
|
break;
|
|
case "ObjectExpression":
|
|
e.type = "ObjectPattern", r && this.checkPatternErrors(r, !0);
|
|
for (var n = 0, i = e.properties; n < i.length; n += 1) {
|
|
var a = i[n];
|
|
this.toAssignable(a, t), "RestElement" !== a.type || "ArrayPattern" !== a.argument.type && "ObjectPattern" !== a.argument.type || this.raise(a.argument.start, "Unexpected token")
|
|
}
|
|
break;
|
|
case "Property":
|
|
"init" !== e.kind && this.raise(e.key.start, "Object pattern can't contain getter or setter"), this.toAssignable(e.value, t);
|
|
break;
|
|
case "ArrayExpression":
|
|
e.type = "ArrayPattern", r && this.checkPatternErrors(r, !0), this.toAssignableList(e.elements, t);
|
|
break;
|
|
case "SpreadElement":
|
|
e.type = "RestElement", this.toAssignable(e.argument, t), "AssignmentPattern" === e.argument.type && this.raise(e.argument.start, "Rest elements cannot have a default value");
|
|
break;
|
|
case "AssignmentExpression":
|
|
"=" !== e.operator && this.raise(e.left.end, "Only '=' operator can be used for specifying default value."), e.type = "AssignmentPattern", delete e.operator, this.toAssignable(e.left, t);
|
|
case "AssignmentPattern":
|
|
break;
|
|
case "ParenthesizedExpression":
|
|
this.toAssignable(e.expression, t, r);
|
|
break;
|
|
case "MemberExpression":
|
|
if (!t) break;
|
|
default:
|
|
this.raise(e.start, "Assigning to rvalue")
|
|
} else r && this.checkPatternErrors(r, !0);
|
|
return e
|
|
}, Y.toAssignableList = function(e, t) {
|
|
for (var r = e.length, n = 0; n < r; n++) {
|
|
var i = e[n];
|
|
i && this.toAssignable(i, t)
|
|
}
|
|
if (r) {
|
|
var a = e[r - 1];
|
|
6 === this.options.ecmaVersion && t && a && "RestElement" === a.type && "Identifier" !== a.argument.type && this.unexpected(a.argument.start)
|
|
}
|
|
return e
|
|
}, Y.parseSpread = function(e) {
|
|
var t = this.startNode();
|
|
return this.next(), t.argument = this.parseMaybeAssign(!1, e), this.finishNode(t, "SpreadElement")
|
|
}, Y.parseRestBinding = function() {
|
|
var e = this.startNode();
|
|
return this.next(), 6 === this.options.ecmaVersion && this.type !== x.name && this.unexpected(), e.argument = this.parseBindingAtom(), this.finishNode(e, "RestElement")
|
|
}, Y.parseBindingAtom = function() {
|
|
if (this.options.ecmaVersion >= 6) switch (this.type) {
|
|
case x.bracketL:
|
|
var e = this.startNode();
|
|
return this.next(), e.elements = this.parseBindingList(x.bracketR, !0, !0), this.finishNode(e, "ArrayPattern");
|
|
case x.braceL:
|
|
return this.parseObj(!0)
|
|
}
|
|
return this.parseIdent()
|
|
}, Y.parseBindingList = function(e, t, r) {
|
|
for (var n = [], i = !0; !this.eat(e);)
|
|
if (i ? i = !1 : this.expect(x.comma), t && this.type === x.comma) n.push(null);
|
|
else {
|
|
if (r && this.afterTrailingComma(e)) break;
|
|
if (this.type === x.ellipsis) {
|
|
var a = this.parseRestBinding();
|
|
this.parseBindingListItem(a), n.push(a), this.type === x.comma && this.raise(this.start, "Comma is not permitted after the rest element"), this.expect(e);
|
|
break
|
|
}
|
|
var o = this.parseMaybeDefault(this.start, this.startLoc);
|
|
this.parseBindingListItem(o), n.push(o)
|
|
} return n
|
|
}, Y.parseBindingListItem = function(e) {
|
|
return e
|
|
}, Y.parseMaybeDefault = function(e, t, r) {
|
|
if (r = r || this.parseBindingAtom(), this.options.ecmaVersion < 6 || !this.eat(x.eq)) return r;
|
|
var n = this.startNodeAt(e, t);
|
|
return n.left = r, n.right = this.parseMaybeAssign(), this.finishNode(n, "AssignmentPattern")
|
|
}, Y.checkLVal = function(e, t, r) {
|
|
switch (void 0 === t && (t = 0), e.type) {
|
|
case "Identifier":
|
|
2 === t && "let" === e.name && this.raiseRecoverable(e.start, "let is disallowed as a lexically bound name"), this.strict && this.reservedWordsStrictBind.test(e.name) && this.raiseRecoverable(e.start, (t ? "Binding " : "Assigning to ") + e.name + " in strict mode"), r && (R(r, e.name) && this.raiseRecoverable(e.start, "Argument name clash"), r[e.name] = !0), 0 !== t && 5 !== t && this.declareName(e.name, t, e.start);
|
|
break;
|
|
case "MemberExpression":
|
|
t && this.raiseRecoverable(e.start, "Binding member expression");
|
|
break;
|
|
case "ObjectPattern":
|
|
for (var n = 0, i = e.properties; n < i.length; n += 1) {
|
|
var a = i[n];
|
|
this.checkLVal(a, t, r)
|
|
}
|
|
break;
|
|
case "Property":
|
|
this.checkLVal(e.value, t, r);
|
|
break;
|
|
case "ArrayPattern":
|
|
for (var o = 0, s = e.elements; o < s.length; o += 1) {
|
|
var c = s[o];
|
|
c && this.checkLVal(c, t, r)
|
|
}
|
|
break;
|
|
case "AssignmentPattern":
|
|
this.checkLVal(e.left, t, r);
|
|
break;
|
|
case "RestElement":
|
|
this.checkLVal(e.argument, t, r);
|
|
break;
|
|
case "ParenthesizedExpression":
|
|
this.checkLVal(e.expression, t, r);
|
|
break;
|
|
default:
|
|
this.raise(e.start, (t ? "Binding" : "Assigning to") + " rvalue")
|
|
}
|
|
};
|
|
var ee = W.prototype;
|
|
ee.checkPropClash = function(e, t, r) {
|
|
if (!(this.options.ecmaVersion >= 9 && "SpreadElement" === e.type || this.options.ecmaVersion >= 6 && (e.computed || e.method || e.shorthand))) {
|
|
var n, i = e.key;
|
|
switch (i.type) {
|
|
case "Identifier":
|
|
n = i.name;
|
|
break;
|
|
case "Literal":
|
|
n = String(i.value);
|
|
break;
|
|
default:
|
|
return
|
|
}
|
|
var a = e.kind;
|
|
if (this.options.ecmaVersion >= 6) "__proto__" === n && "init" === a && (t.proto && (r && r.doubleProto < 0 ? r.doubleProto = i.start : this.raiseRecoverable(i.start, "Redefinition of __proto__ property")), t.proto = !0);
|
|
else {
|
|
var o = t[n = "$" + n];
|
|
o ? ("init" === a ? this.strict && o.init || o.get || o.set : o.init || o[a]) && this.raiseRecoverable(i.start, "Redefinition of property") : o = t[n] = {
|
|
init: !1,
|
|
get: !1,
|
|
set: !1
|
|
}, o[a] = !0
|
|
}
|
|
}
|
|
}, ee.parseExpression = function(e, t) {
|
|
var r = this.start,
|
|
n = this.startLoc,
|
|
i = this.parseMaybeAssign(e, t);
|
|
if (this.type === x.comma) {
|
|
var a = this.startNodeAt(r, n);
|
|
for (a.expressions = [i]; this.eat(x.comma);) a.expressions.push(this.parseMaybeAssign(e, t));
|
|
return this.finishNode(a, "SequenceExpression")
|
|
}
|
|
return i
|
|
}, ee.parseMaybeAssign = function(e, t, r) {
|
|
if (this.isContextual("yield")) {
|
|
if (this.inGenerator) return this.parseYield(e);
|
|
this.exprAllowed = !1
|
|
}
|
|
var n = !1,
|
|
i = -1,
|
|
a = -1,
|
|
o = -1;
|
|
t ? (i = t.parenthesizedAssign, a = t.trailingComma, o = t.shorthandAssign, t.parenthesizedAssign = t.trailingComma = t.shorthandAssign = -1) : (t = new J, n = !0);
|
|
var s = this.start,
|
|
c = this.startLoc;
|
|
this.type !== x.parenL && this.type !== x.name || (this.potentialArrowAt = this.start);
|
|
var u = this.parseMaybeConditional(e, t);
|
|
if (r && (u = r.call(this, u, s, c)), this.type.isAssign) {
|
|
var l = this.startNodeAt(s, c);
|
|
return l.operator = this.value, l.left = this.type === x.eq ? this.toAssignable(u, !1, t) : u, n || J.call(t), t.shorthandAssign = -1, this.checkLVal(u), this.next(), l.right = this.parseMaybeAssign(e), this.finishNode(l, "AssignmentExpression")
|
|
}
|
|
return n && this.checkExpressionErrors(t, !0), i > -1 && (t.parenthesizedAssign = i), a > -1 && (t.trailingComma = a), o > -1 && (t.shorthandAssign = o), u
|
|
}, ee.parseMaybeConditional = function(e, t) {
|
|
var r = this.start,
|
|
n = this.startLoc,
|
|
i = this.parseExprOps(e, t);
|
|
if (this.checkExpressionErrors(t)) return i;
|
|
if (this.eat(x.question)) {
|
|
var a = this.startNodeAt(r, n);
|
|
return a.test = i, a.consequent = this.parseMaybeAssign(), this.expect(x.colon), a.alternate = this.parseMaybeAssign(e), this.finishNode(a, "ConditionalExpression")
|
|
}
|
|
return i
|
|
}, ee.parseExprOps = function(e, t) {
|
|
var r = this.start,
|
|
n = this.startLoc,
|
|
i = this.parseMaybeUnary(t, !1);
|
|
return this.checkExpressionErrors(t) || i.start === r && "ArrowFunctionExpression" === i.type ? i : this.parseExprOp(i, r, n, -1, e)
|
|
}, ee.parseExprOp = function(e, t, r, n, i) {
|
|
var a = this.type.binop;
|
|
if (null != a && (!i || this.type !== x._in) && a > n) {
|
|
var o = this.type === x.logicalOR || this.type === x.logicalAND,
|
|
s = this.value;
|
|
this.next();
|
|
var c = this.start,
|
|
u = this.startLoc,
|
|
l = this.parseExprOp(this.parseMaybeUnary(null, !1), c, u, a, i),
|
|
p = this.buildBinary(t, r, e, l, s, o);
|
|
return this.parseExprOp(p, t, r, n, i)
|
|
}
|
|
return e
|
|
}, ee.buildBinary = function(e, t, r, n, i, a) {
|
|
var o = this.startNodeAt(e, t);
|
|
return o.left = r, o.operator = i, o.right = n, this.finishNode(o, a ? "LogicalExpression" : "BinaryExpression")
|
|
}, ee.parseMaybeUnary = function(e, t) {
|
|
var r, n = this.start,
|
|
i = this.startLoc;
|
|
if (this.isContextual("await") && (this.inAsync || !this.inFunction && this.options.allowAwaitOutsideFunction)) r = this.parseAwait(), t = !0;
|
|
else if (this.type.prefix) {
|
|
var a = this.startNode(),
|
|
o = this.type === x.incDec;
|
|
a.operator = this.value, a.prefix = !0, this.next(), a.argument = this.parseMaybeUnary(null, !0), this.checkExpressionErrors(e, !0), o ? this.checkLVal(a.argument) : this.strict && "delete" === a.operator && "Identifier" === a.argument.type ? this.raiseRecoverable(a.start, "Deleting local variable in strict mode") : t = !0, r = this.finishNode(a, o ? "UpdateExpression" : "UnaryExpression")
|
|
} else {
|
|
if (r = this.parseExprSubscripts(e), this.checkExpressionErrors(e)) return r;
|
|
for (; this.type.postfix && !this.canInsertSemicolon();) {
|
|
var s = this.startNodeAt(n, i);
|
|
s.operator = this.value, s.prefix = !1, s.argument = r, this.checkLVal(r), this.next(), r = this.finishNode(s, "UpdateExpression")
|
|
}
|
|
}
|
|
return !t && this.eat(x.starstar) ? this.buildBinary(n, i, r, this.parseMaybeUnary(null, !1), "**", !1) : r
|
|
}, ee.parseExprSubscripts = function(e) {
|
|
var t = this.start,
|
|
r = this.startLoc,
|
|
n = this.parseExprAtom(e),
|
|
i = "ArrowFunctionExpression" === n.type && ")" !== this.input.slice(this.lastTokStart, this.lastTokEnd);
|
|
if (this.checkExpressionErrors(e) || i) return n;
|
|
var a = this.parseSubscripts(n, t, r);
|
|
return e && "MemberExpression" === a.type && (e.parenthesizedAssign >= a.start && (e.parenthesizedAssign = -1), e.parenthesizedBind >= a.start && (e.parenthesizedBind = -1)), a
|
|
}, ee.parseSubscripts = function(e, t, r, n) {
|
|
for (var i = this.options.ecmaVersion >= 8 && "Identifier" === e.type && "async" === e.name && this.lastTokEnd === e.end && !this.canInsertSemicolon() && "async" === this.input.slice(e.start, e.end);;) {
|
|
var a = this.parseSubscript(e, t, r, n, i);
|
|
if (a === e || "ArrowFunctionExpression" === a.type) return a;
|
|
e = a
|
|
}
|
|
}, ee.parseSubscript = function(e, t, r, n, i) {
|
|
var a = this.eat(x.bracketL);
|
|
if (a || this.eat(x.dot)) {
|
|
var o = this.startNodeAt(t, r);
|
|
o.object = e, o.property = a ? this.parseExpression() : this.parseIdent("never" !== this.options.allowReserved), o.computed = !!a, a && this.expect(x.bracketR), e = this.finishNode(o, "MemberExpression")
|
|
} else if (!n && this.eat(x.parenL)) {
|
|
var s = new J,
|
|
c = this.yieldPos,
|
|
u = this.awaitPos,
|
|
l = this.awaitIdentPos;
|
|
this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0;
|
|
var p = this.parseExprList(x.parenR, this.options.ecmaVersion >= 8 && "Import" !== e.type, !1, s);
|
|
if (i && !this.canInsertSemicolon() && this.eat(x.arrow)) return this.checkPatternErrors(s, !1), this.checkYieldAwaitInDefaultParams(), this.awaitIdentPos > 0 && this.raise(this.awaitIdentPos, "Cannot use 'await' as identifier inside an async function"), this.yieldPos = c, this.awaitPos = u, this.awaitIdentPos = l, this.parseArrowExpression(this.startNodeAt(t, r), p, !0);
|
|
this.checkExpressionErrors(s, !0), this.yieldPos = c || this.yieldPos, this.awaitPos = u || this.awaitPos, this.awaitIdentPos = l || this.awaitIdentPos;
|
|
var d = this.startNodeAt(t, r);
|
|
if (d.callee = e, d.arguments = p, "Import" === d.callee.type) {
|
|
1 !== d.arguments.length && this.raise(d.start, "import() requires exactly one argument");
|
|
var h = d.arguments[0];
|
|
h && "SpreadElement" === h.type && this.raise(h.start, "... is not allowed in import()")
|
|
}
|
|
e = this.finishNode(d, "CallExpression")
|
|
} else if (this.type === x.backQuote) {
|
|
var f = this.startNodeAt(t, r);
|
|
f.tag = e, f.quasi = this.parseTemplate({
|
|
isTagged: !0
|
|
}), e = this.finishNode(f, "TaggedTemplateExpression")
|
|
}
|
|
return e
|
|
}, ee.parseExprAtom = function(e) {
|
|
this.type === x.slash && this.readRegexp();
|
|
var t, r = this.potentialArrowAt === this.start;
|
|
switch (this.type) {
|
|
case x._super:
|
|
return this.allowSuper || this.raise(this.start, "'super' keyword outside a method"), t = this.startNode(), this.next(), this.type !== x.parenL || this.allowDirectSuper || this.raise(t.start, "super() call outside constructor of a subclass"), this.type !== x.dot && this.type !== x.bracketL && this.type !== x.parenL && this.unexpected(), this.finishNode(t, "Super");
|
|
case x._this:
|
|
return t = this.startNode(), this.next(), this.finishNode(t, "ThisExpression");
|
|
case x.name:
|
|
var n = this.start,
|
|
i = this.startLoc,
|
|
a = this.containsEsc,
|
|
o = this.parseIdent(!1);
|
|
if (this.options.ecmaVersion >= 8 && !a && "async" === o.name && !this.canInsertSemicolon() && this.eat(x._function)) return this.parseFunction(this.startNodeAt(n, i), 0, !1, !0);
|
|
if (r && !this.canInsertSemicolon()) {
|
|
if (this.eat(x.arrow)) return this.parseArrowExpression(this.startNodeAt(n, i), [o], !1);
|
|
if (this.options.ecmaVersion >= 8 && "async" === o.name && this.type === x.name && !a) return o = this.parseIdent(!1), !this.canInsertSemicolon() && this.eat(x.arrow) || this.unexpected(), this.parseArrowExpression(this.startNodeAt(n, i), [o], !0)
|
|
}
|
|
return o;
|
|
case x.regexp:
|
|
var s = this.value;
|
|
return (t = this.parseLiteral(s.value)).regex = {
|
|
pattern: s.pattern,
|
|
flags: s.flags
|
|
}, t;
|
|
case x.num:
|
|
case x.string:
|
|
return this.parseLiteral(this.value);
|
|
case x._null:
|
|
case x._true:
|
|
case x._false:
|
|
return (t = this.startNode()).value = this.type === x._null ? null : this.type === x._true, t.raw = this.type.keyword, this.next(), this.finishNode(t, "Literal");
|
|
case x.parenL:
|
|
var c = this.start,
|
|
u = this.parseParenAndDistinguishExpression(r);
|
|
return e && (e.parenthesizedAssign < 0 && !this.isSimpleAssignTarget(u) && (e.parenthesizedAssign = c), e.parenthesizedBind < 0 && (e.parenthesizedBind = c)), u;
|
|
case x.bracketL:
|
|
return t = this.startNode(), this.next(), t.elements = this.parseExprList(x.bracketR, !0, !0, e), this.finishNode(t, "ArrayExpression");
|
|
case x.braceL:
|
|
return this.parseObj(!1, e);
|
|
case x._function:
|
|
return t = this.startNode(), this.next(), this.parseFunction(t, 0);
|
|
case x._class:
|
|
return this.parseClass(this.startNode(), !1);
|
|
case x._new:
|
|
return this.parseNew();
|
|
case x.backQuote:
|
|
return this.parseTemplate();
|
|
case x._import:
|
|
return this.options.ecmaVersion > 10 ? this.parseDynamicImport() : this.unexpected();
|
|
default:
|
|
this.unexpected()
|
|
}
|
|
}, ee.parseDynamicImport = function() {
|
|
var e = this.startNode();
|
|
return this.next(), this.type !== x.parenL && this.unexpected(), this.finishNode(e, "Import")
|
|
}, ee.parseLiteral = function(e) {
|
|
var t = this.startNode();
|
|
return t.value = e, t.raw = this.input.slice(this.start, this.end), 110 === t.raw.charCodeAt(t.raw.length - 1) && (t.bigint = t.raw.slice(0, -1)), this.next(), this.finishNode(t, "Literal")
|
|
}, ee.parseParenExpression = function() {
|
|
this.expect(x.parenL);
|
|
var e = this.parseExpression();
|
|
return this.expect(x.parenR), e
|
|
}, ee.parseParenAndDistinguishExpression = function(e) {
|
|
var t, r = this.start,
|
|
n = this.startLoc,
|
|
i = this.options.ecmaVersion >= 8;
|
|
if (this.options.ecmaVersion >= 6) {
|
|
this.next();
|
|
var a, o = this.start,
|
|
s = this.startLoc,
|
|
c = [],
|
|
u = !0,
|
|
l = !1,
|
|
p = new J,
|
|
d = this.yieldPos,
|
|
h = this.awaitPos;
|
|
for (this.yieldPos = 0, this.awaitPos = 0; this.type !== x.parenR;) {
|
|
if (u ? u = !1 : this.expect(x.comma), i && this.afterTrailingComma(x.parenR, !0)) {
|
|
l = !0;
|
|
break
|
|
}
|
|
if (this.type === x.ellipsis) {
|
|
a = this.start, c.push(this.parseParenItem(this.parseRestBinding())), this.type === x.comma && this.raise(this.start, "Comma is not permitted after the rest element");
|
|
break
|
|
}
|
|
c.push(this.parseMaybeAssign(!1, p, this.parseParenItem))
|
|
}
|
|
var f = this.start,
|
|
m = this.startLoc;
|
|
if (this.expect(x.parenR), e && !this.canInsertSemicolon() && this.eat(x.arrow)) return this.checkPatternErrors(p, !1), this.checkYieldAwaitInDefaultParams(), this.yieldPos = d, this.awaitPos = h, this.parseParenArrowList(r, n, c);
|
|
c.length && !l || this.unexpected(this.lastTokStart), a && this.unexpected(a), this.checkExpressionErrors(p, !0), this.yieldPos = d || this.yieldPos, this.awaitPos = h || this.awaitPos, c.length > 1 ? ((t = this.startNodeAt(o, s)).expressions = c, this.finishNodeAt(t, "SequenceExpression", f, m)) : t = c[0]
|
|
} else t = this.parseParenExpression();
|
|
if (this.options.preserveParens) {
|
|
var g = this.startNodeAt(r, n);
|
|
return g.expression = t, this.finishNode(g, "ParenthesizedExpression")
|
|
}
|
|
return t
|
|
}, ee.parseParenItem = function(e) {
|
|
return e
|
|
}, ee.parseParenArrowList = function(e, t, r) {
|
|
return this.parseArrowExpression(this.startNodeAt(e, t), r)
|
|
};
|
|
var te = [];
|
|
ee.parseNew = function() {
|
|
var e = this.startNode(),
|
|
t = this.parseIdent(!0);
|
|
if (this.options.ecmaVersion >= 6 && this.eat(x.dot)) {
|
|
e.meta = t;
|
|
var r = this.containsEsc;
|
|
return e.property = this.parseIdent(!0), ("target" !== e.property.name || r) && this.raiseRecoverable(e.property.start, "The only valid meta property for new is new.target"), this.inNonArrowFunction() || this.raiseRecoverable(e.start, "new.target can only be used in functions"), this.finishNode(e, "MetaProperty")
|
|
}
|
|
var n = this.start,
|
|
i = this.startLoc;
|
|
return e.callee = this.parseSubscripts(this.parseExprAtom(), n, i, !0), this.options.ecmaVersion > 10 && "Import" === e.callee.type && this.raise(e.callee.start, "Cannot use new with import(...)"), this.eat(x.parenL) ? e.arguments = this.parseExprList(x.parenR, this.options.ecmaVersion >= 8 && "Import" !== e.callee.type, !1) : e.arguments = te, this.finishNode(e, "NewExpression")
|
|
}, ee.parseTemplateElement = function(e) {
|
|
var t = e.isTagged,
|
|
r = this.startNode();
|
|
return this.type === x.invalidTemplate ? (t || this.raiseRecoverable(this.start, "Bad escape sequence in untagged template literal"), r.value = {
|
|
raw: this.value,
|
|
cooked: null
|
|
}) : r.value = {
|
|
raw: this.input.slice(this.start, this.end).replace(/\r\n?/g, "\n"),
|
|
cooked: this.value
|
|
}, this.next(), r.tail = this.type === x.backQuote, this.finishNode(r, "TemplateElement")
|
|
}, ee.parseTemplate = function(e) {
|
|
void 0 === e && (e = {});
|
|
var t = e.isTagged;
|
|
void 0 === t && (t = !1);
|
|
var r = this.startNode();
|
|
this.next(), r.expressions = [];
|
|
var n = this.parseTemplateElement({
|
|
isTagged: t
|
|
});
|
|
for (r.quasis = [n]; !n.tail;) this.type === x.eof && this.raise(this.pos, "Unterminated template literal"), this.expect(x.dollarBraceL), r.expressions.push(this.parseExpression()), this.expect(x.braceR), r.quasis.push(n = this.parseTemplateElement({
|
|
isTagged: t
|
|
}));
|
|
return this.next(), this.finishNode(r, "TemplateLiteral")
|
|
}, ee.isAsyncProp = function(e) {
|
|
return !e.computed && "Identifier" === e.key.type && "async" === e.key.name && (this.type === x.name || this.type === x.num || this.type === x.string || this.type === x.bracketL || this.type.keyword || this.options.ecmaVersion >= 9 && this.type === x.star) && !P.test(this.input.slice(this.lastTokEnd, this.start))
|
|
}, ee.parseObj = function(e, t) {
|
|
var r = this.startNode(),
|
|
n = !0,
|
|
i = {};
|
|
for (r.properties = [], this.next(); !this.eat(x.braceR);) {
|
|
if (n) n = !1;
|
|
else if (this.expect(x.comma), this.afterTrailingComma(x.braceR)) break;
|
|
var a = this.parseProperty(e, t);
|
|
e || this.checkPropClash(a, i, t), r.properties.push(a)
|
|
}
|
|
return this.finishNode(r, e ? "ObjectPattern" : "ObjectExpression")
|
|
}, ee.parseProperty = function(e, t) {
|
|
var r, n, i, a, o = this.startNode();
|
|
if (this.options.ecmaVersion >= 9 && this.eat(x.ellipsis)) return e ? (o.argument = this.parseIdent(!1), this.type === x.comma && this.raise(this.start, "Comma is not permitted after the rest element"), this.finishNode(o, "RestElement")) : (this.type === x.parenL && t && (t.parenthesizedAssign < 0 && (t.parenthesizedAssign = this.start), t.parenthesizedBind < 0 && (t.parenthesizedBind = this.start)), o.argument = this.parseMaybeAssign(!1, t), this.type === x.comma && t && t.trailingComma < 0 && (t.trailingComma = this.start), this.finishNode(o, "SpreadElement"));
|
|
this.options.ecmaVersion >= 6 && (o.method = !1, o.shorthand = !1, (e || t) && (i = this.start, a = this.startLoc), e || (r = this.eat(x.star)));
|
|
var s = this.containsEsc;
|
|
return this.parsePropertyName(o), !e && !s && this.options.ecmaVersion >= 8 && !r && this.isAsyncProp(o) ? (n = !0, r = this.options.ecmaVersion >= 9 && this.eat(x.star), this.parsePropertyName(o, t)) : n = !1, this.parsePropertyValue(o, e, r, n, i, a, t, s), this.finishNode(o, "Property")
|
|
}, ee.parsePropertyValue = function(e, t, r, n, i, a, o, s) {
|
|
if ((r || n) && this.type === x.colon && this.unexpected(), this.eat(x.colon)) e.value = t ? this.parseMaybeDefault(this.start, this.startLoc) : this.parseMaybeAssign(!1, o), e.kind = "init";
|
|
else if (this.options.ecmaVersion >= 6 && this.type === x.parenL) t && this.unexpected(), e.kind = "init", e.method = !0, e.value = this.parseMethod(r, n);
|
|
else if (t || s || !(this.options.ecmaVersion >= 5) || e.computed || "Identifier" !== e.key.type || "get" !== e.key.name && "set" !== e.key.name || this.type === x.comma || this.type === x.braceR) this.options.ecmaVersion >= 6 && !e.computed && "Identifier" === e.key.type ? ((r || n) && this.unexpected(), this.checkUnreserved(e.key), "await" !== e.key.name || this.awaitIdentPos || (this.awaitIdentPos = i), e.kind = "init", t ? e.value = this.parseMaybeDefault(i, a, e.key) : this.type === x.eq && o ? (o.shorthandAssign < 0 && (o.shorthandAssign = this.start), e.value = this.parseMaybeDefault(i, a, e.key)) : e.value = e.key, e.shorthand = !0) : this.unexpected();
|
|
else {
|
|
(r || n) && this.unexpected(), e.kind = e.key.name, this.parsePropertyName(e), e.value = this.parseMethod(!1);
|
|
var c = "get" === e.kind ? 0 : 1;
|
|
if (e.value.params.length !== c) {
|
|
var u = e.value.start;
|
|
"get" === e.kind ? this.raiseRecoverable(u, "getter should have no params") : this.raiseRecoverable(u, "setter should have exactly one param")
|
|
} else "set" === e.kind && "RestElement" === e.value.params[0].type && this.raiseRecoverable(e.value.params[0].start, "Setter cannot use rest params")
|
|
}
|
|
}, ee.parsePropertyName = function(e) {
|
|
if (this.options.ecmaVersion >= 6) {
|
|
if (this.eat(x.bracketL)) return e.computed = !0, e.key = this.parseMaybeAssign(), this.expect(x.bracketR), e.key;
|
|
e.computed = !1
|
|
}
|
|
return e.key = this.type === x.num || this.type === x.string ? this.parseExprAtom() : this.parseIdent("never" !== this.options.allowReserved)
|
|
}, ee.initFunction = function(e) {
|
|
e.id = null, this.options.ecmaVersion >= 6 && (e.generator = e.expression = !1), this.options.ecmaVersion >= 8 && (e.async = !1)
|
|
}, ee.parseMethod = function(e, t, r) {
|
|
var n = this.startNode(),
|
|
i = this.yieldPos,
|
|
a = this.awaitPos,
|
|
o = this.awaitIdentPos;
|
|
return this.initFunction(n), this.options.ecmaVersion >= 6 && (n.generator = e), this.options.ecmaVersion >= 8 && (n.async = !!t), this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0, this.enterScope(64 | B(t, n.generator) | (r ? 128 : 0)), this.expect(x.parenL), n.params = this.parseBindingList(x.parenR, !1, this.options.ecmaVersion >= 8), this.checkYieldAwaitInDefaultParams(), this.parseFunctionBody(n, !1, !0), this.yieldPos = i, this.awaitPos = a, this.awaitIdentPos = o, this.finishNode(n, "FunctionExpression")
|
|
}, ee.parseArrowExpression = function(e, t, r) {
|
|
var n = this.yieldPos,
|
|
i = this.awaitPos,
|
|
a = this.awaitIdentPos;
|
|
return this.enterScope(16 | B(r, !1)), this.initFunction(e), this.options.ecmaVersion >= 8 && (e.async = !!r), this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0, e.params = this.toAssignableList(t, !0), this.parseFunctionBody(e, !0, !1), this.yieldPos = n, this.awaitPos = i, this.awaitIdentPos = a, this.finishNode(e, "ArrowFunctionExpression")
|
|
}, ee.parseFunctionBody = function(e, t, r) {
|
|
var n = t && this.type !== x.braceL,
|
|
i = this.strict,
|
|
a = !1;
|
|
if (n) e.body = this.parseMaybeAssign(), e.expression = !0, this.checkParams(e, !1);
|
|
else {
|
|
var o = this.options.ecmaVersion >= 7 && !this.isSimpleParamList(e.params);
|
|
i && !o || (a = this.strictDirective(this.end)) && o && this.raiseRecoverable(e.start, "Illegal 'use strict' directive in function with non-simple parameter list");
|
|
var s = this.labels;
|
|
this.labels = [], a && (this.strict = !0), this.checkParams(e, !i && !a && !t && !r && this.isSimpleParamList(e.params)), e.body = this.parseBlock(!1), e.expression = !1, this.adaptDirectivePrologue(e.body.body), this.labels = s
|
|
}
|
|
this.exitScope(), this.strict && e.id && this.checkLVal(e.id, 5), this.strict = i
|
|
}, ee.isSimpleParamList = function(e) {
|
|
for (var t = 0, r = e; t < r.length; t += 1)
|
|
if ("Identifier" !== r[t].type) return !1;
|
|
return !0
|
|
}, ee.checkParams = function(e, t) {
|
|
for (var r = {}, n = 0, i = e.params; n < i.length; n += 1) {
|
|
var a = i[n];
|
|
this.checkLVal(a, 1, t ? null : r)
|
|
}
|
|
}, ee.parseExprList = function(e, t, r, n) {
|
|
for (var i = [], a = !0; !this.eat(e);) {
|
|
if (a) a = !1;
|
|
else if (this.expect(x.comma), t && this.afterTrailingComma(e)) break;
|
|
var o = void 0;
|
|
r && this.type === x.comma ? o = null : this.type === x.ellipsis ? (o = this.parseSpread(n), n && this.type === x.comma && n.trailingComma < 0 && (n.trailingComma = this.start)) : o = this.parseMaybeAssign(!1, n), i.push(o)
|
|
}
|
|
return i
|
|
}, ee.checkUnreserved = function(e) {
|
|
var t = e.start,
|
|
r = e.end,
|
|
n = e.name;
|
|
this.inGenerator && "yield" === n && this.raiseRecoverable(t, "Cannot use 'yield' as identifier inside a generator"), this.inAsync && "await" === n && this.raiseRecoverable(t, "Cannot use 'await' as identifier inside an async function"), this.keywords.test(n) && this.raise(t, "Unexpected keyword '" + n + "'"), this.options.ecmaVersion < 6 && -1 !== this.input.slice(t, r).indexOf("\\") || (this.strict ? this.reservedWordsStrict : this.reservedWords).test(n) && (this.inAsync || "await" !== n || this.raiseRecoverable(t, "Cannot use keyword 'await' outside an async function"), this.raiseRecoverable(t, "The keyword '" + n + "' is reserved"))
|
|
}, ee.parseIdent = function(e, t) {
|
|
var r = this.startNode();
|
|
return this.type === x.name ? r.name = this.value : this.type.keyword ? (r.name = this.type.keyword, "class" !== r.name && "function" !== r.name || this.lastTokEnd === this.lastTokStart + 1 && 46 === this.input.charCodeAt(this.lastTokStart) || this.context.pop()) : this.unexpected(), this.next(), this.finishNode(r, "Identifier"), e || (this.checkUnreserved(r), "await" !== r.name || this.awaitIdentPos || (this.awaitIdentPos = r.start)), r
|
|
}, ee.parseYield = function(e) {
|
|
this.yieldPos || (this.yieldPos = this.start);
|
|
var t = this.startNode();
|
|
return this.next(), this.type === x.semi || this.canInsertSemicolon() || this.type !== x.star && !this.type.startsExpr ? (t.delegate = !1, t.argument = null) : (t.delegate = this.eat(x.star), t.argument = this.parseMaybeAssign(e)), this.finishNode(t, "YieldExpression")
|
|
}, ee.parseAwait = function() {
|
|
this.awaitPos || (this.awaitPos = this.start);
|
|
var e = this.startNode();
|
|
return this.next(), e.argument = this.parseMaybeUnary(null, !0), this.finishNode(e, "AwaitExpression")
|
|
};
|
|
var re = W.prototype;
|
|
re.raise = function(e, t) {
|
|
var r = j(this.input, e);
|
|
t += " (" + r.line + ":" + r.column + ")";
|
|
var n = new SyntaxError(t);
|
|
throw n.pos = e, n.loc = r, n.raisedAt = this.pos, n
|
|
}, re.raiseRecoverable = re.raise, re.curPosition = function() {
|
|
if (this.options.locations) return new F(this.curLine, this.pos - this.lineStart)
|
|
};
|
|
var ne = W.prototype,
|
|
ie = function(e) {
|
|
this.flags = e, this.var = [], this.lexical = [], this.functions = []
|
|
};
|
|
ne.enterScope = function(e) {
|
|
this.scopeStack.push(new ie(e))
|
|
}, ne.exitScope = function() {
|
|
this.scopeStack.pop()
|
|
}, ne.treatFunctionsAsVarInScope = function(e) {
|
|
return 2 & e.flags || !this.inModule && 1 & e.flags
|
|
}, ne.declareName = function(e, t, r) {
|
|
var n = !1;
|
|
if (2 === t) {
|
|
var i = this.currentScope();
|
|
n = i.lexical.indexOf(e) > -1 || i.functions.indexOf(e) > -1 || i.var.indexOf(e) > -1, i.lexical.push(e), this.inModule && 1 & i.flags && delete this.undefinedExports[e]
|
|
} else if (4 === t) this.currentScope().lexical.push(e);
|
|
else if (3 === t) {
|
|
var a = this.currentScope();
|
|
n = this.treatFunctionsAsVar ? a.lexical.indexOf(e) > -1 : a.lexical.indexOf(e) > -1 || a.var.indexOf(e) > -1, a.functions.push(e)
|
|
} else
|
|
for (var o = this.scopeStack.length - 1; o >= 0; --o) {
|
|
var s = this.scopeStack[o];
|
|
if (s.lexical.indexOf(e) > -1 && !(32 & s.flags && s.lexical[0] === e) || !this.treatFunctionsAsVarInScope(s) && s.functions.indexOf(e) > -1) {
|
|
n = !0;
|
|
break
|
|
}
|
|
if (s.var.push(e), this.inModule && 1 & s.flags && delete this.undefinedExports[e], 3 & s.flags) break
|
|
}
|
|
n && this.raiseRecoverable(r, "Identifier '" + e + "' has already been declared")
|
|
}, ne.checkLocalExport = function(e) {
|
|
-1 === this.scopeStack[0].lexical.indexOf(e.name) && -1 === this.scopeStack[0].var.indexOf(e.name) && (this.undefinedExports[e.name] = e)
|
|
}, ne.currentScope = function() {
|
|
return this.scopeStack[this.scopeStack.length - 1]
|
|
}, ne.currentVarScope = function() {
|
|
for (var e = this.scopeStack.length - 1;; e--) {
|
|
var t = this.scopeStack[e];
|
|
if (3 & t.flags) return t
|
|
}
|
|
}, ne.currentThisScope = function() {
|
|
for (var e = this.scopeStack.length - 1;; e--) {
|
|
var t = this.scopeStack[e];
|
|
if (3 & t.flags && !(16 & t.flags)) return t
|
|
}
|
|
};
|
|
var ae = function(e, t, r) {
|
|
this.type = "", this.start = t, this.end = 0, e.options.locations && (this.loc = new D(e, r)), e.options.directSourceFile && (this.sourceFile = e.options.directSourceFile), e.options.ranges && (this.range = [t, 0])
|
|
},
|
|
oe = W.prototype;
|
|
|
|
function se(e, t, r, n) {
|
|
return e.type = t, e.end = r, this.options.locations && (e.loc.end = n), this.options.ranges && (e.range[1] = r), e
|
|
}
|
|
oe.startNode = function() {
|
|
return new ae(this, this.start, this.startLoc)
|
|
}, oe.startNodeAt = function(e, t) {
|
|
return new ae(this, e, t)
|
|
}, oe.finishNode = function(e, t) {
|
|
return se.call(this, e, t, this.lastTokEnd, this.lastTokEndLoc)
|
|
}, oe.finishNodeAt = function(e, t, r, n) {
|
|
return se.call(this, e, t, r, n)
|
|
};
|
|
var ce = function(e, t, r, n, i) {
|
|
this.token = e, this.isExpr = !!t, this.preserveSpace = !!r, this.override = n, this.generator = !!i
|
|
},
|
|
ue = {
|
|
b_stat: new ce("{", !1),
|
|
b_expr: new ce("{", !0),
|
|
b_tmpl: new ce("${", !1),
|
|
p_stat: new ce("(", !1),
|
|
p_expr: new ce("(", !0),
|
|
q_tmpl: new ce("`", !0, !0, function(e) {
|
|
return e.tryReadTemplateToken()
|
|
}),
|
|
f_stat: new ce("function", !1),
|
|
f_expr: new ce("function", !0),
|
|
f_expr_gen: new ce("function", !0, !1, null, !0),
|
|
f_gen: new ce("function", !1, !1, null, !0)
|
|
},
|
|
le = W.prototype;
|
|
le.initialContext = function() {
|
|
return [ue.b_stat]
|
|
}, le.braceIsBlock = function(e) {
|
|
var t = this.curContext();
|
|
return t === ue.f_expr || t === ue.f_stat || (e !== x.colon || t !== ue.b_stat && t !== ue.b_expr ? e === x._return || e === x.name && this.exprAllowed ? P.test(this.input.slice(this.lastTokEnd, this.start)) : e === x._else || e === x.semi || e === x.eof || e === x.parenR || e === x.arrow || (e === x.braceL ? t === ue.b_stat : e !== x._var && e !== x._const && e !== x.name && !this.exprAllowed) : !t.isExpr)
|
|
}, le.inGeneratorContext = function() {
|
|
for (var e = this.context.length - 1; e >= 1; e--) {
|
|
var t = this.context[e];
|
|
if ("function" === t.token) return t.generator
|
|
}
|
|
return !1
|
|
}, le.updateContext = function(e) {
|
|
var t, r = this.type;
|
|
r.keyword && e === x.dot ? this.exprAllowed = !1 : (t = r.updateContext) ? t.call(this, e) : this.exprAllowed = r.beforeExpr
|
|
}, x.parenR.updateContext = x.braceR.updateContext = function() {
|
|
if (1 !== this.context.length) {
|
|
var e = this.context.pop();
|
|
e === ue.b_stat && "function" === this.curContext().token && (e = this.context.pop()), this.exprAllowed = !e.isExpr
|
|
} else this.exprAllowed = !0
|
|
}, x.braceL.updateContext = function(e) {
|
|
this.context.push(this.braceIsBlock(e) ? ue.b_stat : ue.b_expr), this.exprAllowed = !0
|
|
}, x.dollarBraceL.updateContext = function() {
|
|
this.context.push(ue.b_tmpl), this.exprAllowed = !0
|
|
}, x.parenL.updateContext = function(e) {
|
|
var t = e === x._if || e === x._for || e === x._with || e === x._while;
|
|
this.context.push(t ? ue.p_stat : ue.p_expr), this.exprAllowed = !0
|
|
}, x.incDec.updateContext = function() {}, x._function.updateContext = x._class.updateContext = function(e) {
|
|
!e.beforeExpr || e === x.semi || e === x._else || e === x._return && P.test(this.input.slice(this.lastTokEnd, this.start)) || (e === x.colon || e === x.braceL) && this.curContext() === ue.b_stat ? this.context.push(ue.f_stat) : this.context.push(ue.f_expr), this.exprAllowed = !1
|
|
}, x.backQuote.updateContext = function() {
|
|
this.curContext() === ue.q_tmpl ? this.context.pop() : this.context.push(ue.q_tmpl), this.exprAllowed = !1
|
|
}, x.star.updateContext = function(e) {
|
|
if (e === x._function) {
|
|
var t = this.context.length - 1;
|
|
this.context[t] === ue.f_expr ? this.context[t] = ue.f_expr_gen : this.context[t] = ue.f_gen
|
|
}
|
|
this.exprAllowed = !0
|
|
}, x.name.updateContext = function(e) {
|
|
var t = !1;
|
|
this.options.ecmaVersion >= 6 && e !== x.dot && ("of" === this.value && !this.exprAllowed || "yield" === this.value && this.inGeneratorContext()) && (t = !0), this.exprAllowed = t
|
|
};
|
|
var pe = "ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS",
|
|
de = pe + " Extended_Pictographic",
|
|
he = {
|
|
9: pe,
|
|
10: de,
|
|
11: de
|
|
},
|
|
fe = "Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu",
|
|
me = "Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb",
|
|
ge = me + " Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",
|
|
ve = {
|
|
9: me,
|
|
10: ge,
|
|
11: ge + " Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho"
|
|
},
|
|
ye = {};
|
|
|
|
function _e(e) {
|
|
var t = ye[e] = {
|
|
binary: V(he[e] + " " + fe),
|
|
nonBinary: {
|
|
General_Category: V(fe),
|
|
Script: V(ve[e])
|
|
}
|
|
};
|
|
t.nonBinary.Script_Extensions = t.nonBinary.Script, t.nonBinary.gc = t.nonBinary.General_Category, t.nonBinary.sc = t.nonBinary.Script, t.nonBinary.scx = t.nonBinary.Script_Extensions
|
|
}
|
|
_e(9), _e(10), _e(11);
|
|
var be = W.prototype,
|
|
Se = function(e) {
|
|
this.parser = e, this.validFlags = "gim" + (e.options.ecmaVersion >= 6 ? "uy" : "") + (e.options.ecmaVersion >= 9 ? "s" : ""), this.unicodeProperties = ye[e.options.ecmaVersion >= 11 ? 11 : e.options.ecmaVersion], this.source = "", this.flags = "", this.start = 0, this.switchU = !1, this.switchN = !1, this.pos = 0, this.lastIntValue = 0, this.lastStringValue = "", this.lastAssertionIsQuantifiable = !1, this.numCapturingParens = 0, this.maxBackReference = 0, this.groupNames = [], this.backReferenceNames = []
|
|
};
|
|
|
|
function xe(e) {
|
|
return e <= 65535 ? String.fromCharCode(e) : (e -= 65536, String.fromCharCode(55296 + (e >> 10), 56320 + (1023 & e)))
|
|
}
|
|
|
|
function Pe(e) {
|
|
return 36 === e || e >= 40 && e <= 43 || 46 === e || 63 === e || e >= 91 && e <= 94 || e >= 123 && e <= 125
|
|
}
|
|
|
|
function Oe(e) {
|
|
return e >= 65 && e <= 90 || e >= 97 && e <= 122
|
|
}
|
|
|
|
function we(e) {
|
|
return Oe(e) || 95 === e
|
|
}
|
|
|
|
function ke(e) {
|
|
return we(e) || Te(e)
|
|
}
|
|
|
|
function Te(e) {
|
|
return e >= 48 && e <= 57
|
|
}
|
|
|
|
function Ce(e) {
|
|
return e >= 48 && e <= 57 || e >= 65 && e <= 70 || e >= 97 && e <= 102
|
|
}
|
|
|
|
function Ee(e) {
|
|
return e >= 65 && e <= 70 ? e - 65 + 10 : e >= 97 && e <= 102 ? e - 97 + 10 : e - 48
|
|
}
|
|
|
|
function Ie(e) {
|
|
return e >= 48 && e <= 55
|
|
}
|
|
Se.prototype.reset = function(e, t, r) {
|
|
var n = -1 !== r.indexOf("u");
|
|
this.start = 0 | e, this.source = t + "", this.flags = r, this.switchU = n && this.parser.options.ecmaVersion >= 6, this.switchN = n && this.parser.options.ecmaVersion >= 9
|
|
}, Se.prototype.raise = function(e) {
|
|
this.parser.raiseRecoverable(this.start, "Invalid regular expression: /" + this.source + "/: " + e)
|
|
}, Se.prototype.at = function(e) {
|
|
var t = this.source,
|
|
r = t.length;
|
|
if (e >= r) return -1;
|
|
var n = t.charCodeAt(e);
|
|
if (!this.switchU || n <= 55295 || n >= 57344 || e + 1 >= r) return n;
|
|
var i = t.charCodeAt(e + 1);
|
|
return i >= 56320 && i <= 57343 ? (n << 10) + i - 56613888 : n
|
|
}, Se.prototype.nextIndex = function(e) {
|
|
var t = this.source,
|
|
r = t.length;
|
|
if (e >= r) return r;
|
|
var n, i = t.charCodeAt(e);
|
|
return !this.switchU || i <= 55295 || i >= 57344 || e + 1 >= r || (n = t.charCodeAt(e + 1)) < 56320 || n > 57343 ? e + 1 : e + 2
|
|
}, Se.prototype.current = function() {
|
|
return this.at(this.pos)
|
|
}, Se.prototype.lookahead = function() {
|
|
return this.at(this.nextIndex(this.pos))
|
|
}, Se.prototype.advance = function() {
|
|
this.pos = this.nextIndex(this.pos)
|
|
}, Se.prototype.eat = function(e) {
|
|
return this.current() === e && (this.advance(), !0)
|
|
}, be.validateRegExpFlags = function(e) {
|
|
for (var t = e.validFlags, r = e.flags, n = 0; n < r.length; n++) {
|
|
var i = r.charAt(n); - 1 === t.indexOf(i) && this.raise(e.start, "Invalid regular expression flag"), r.indexOf(i, n + 1) > -1 && this.raise(e.start, "Duplicate regular expression flag")
|
|
}
|
|
}, be.validateRegExpPattern = function(e) {
|
|
this.regexp_pattern(e), !e.switchN && this.options.ecmaVersion >= 9 && e.groupNames.length > 0 && (e.switchN = !0, this.regexp_pattern(e))
|
|
}, be.regexp_pattern = function(e) {
|
|
e.pos = 0, e.lastIntValue = 0, e.lastStringValue = "", e.lastAssertionIsQuantifiable = !1, e.numCapturingParens = 0, e.maxBackReference = 0, e.groupNames.length = 0, e.backReferenceNames.length = 0, this.regexp_disjunction(e), e.pos !== e.source.length && (e.eat(41) && e.raise("Unmatched ')'"), (e.eat(93) || e.eat(125)) && e.raise("Lone quantifier brackets")), e.maxBackReference > e.numCapturingParens && e.raise("Invalid escape");
|
|
for (var t = 0, r = e.backReferenceNames; t < r.length; t += 1) {
|
|
var n = r[t]; - 1 === e.groupNames.indexOf(n) && e.raise("Invalid named capture referenced")
|
|
}
|
|
}, be.regexp_disjunction = function(e) {
|
|
for (this.regexp_alternative(e); e.eat(124);) this.regexp_alternative(e);
|
|
this.regexp_eatQuantifier(e, !0) && e.raise("Nothing to repeat"), e.eat(123) && e.raise("Lone quantifier brackets")
|
|
}, be.regexp_alternative = function(e) {
|
|
for (; e.pos < e.source.length && this.regexp_eatTerm(e););
|
|
}, be.regexp_eatTerm = function(e) {
|
|
return this.regexp_eatAssertion(e) ? (e.lastAssertionIsQuantifiable && this.regexp_eatQuantifier(e) && e.switchU && e.raise("Invalid quantifier"), !0) : !!(e.switchU ? this.regexp_eatAtom(e) : this.regexp_eatExtendedAtom(e)) && (this.regexp_eatQuantifier(e), !0)
|
|
}, be.regexp_eatAssertion = function(e) {
|
|
var t = e.pos;
|
|
if (e.lastAssertionIsQuantifiable = !1, e.eat(94) || e.eat(36)) return !0;
|
|
if (e.eat(92)) {
|
|
if (e.eat(66) || e.eat(98)) return !0;
|
|
e.pos = t
|
|
}
|
|
if (e.eat(40) && e.eat(63)) {
|
|
var r = !1;
|
|
if (this.options.ecmaVersion >= 9 && (r = e.eat(60)), e.eat(61) || e.eat(33)) return this.regexp_disjunction(e), e.eat(41) || e.raise("Unterminated group"), e.lastAssertionIsQuantifiable = !r, !0
|
|
}
|
|
return e.pos = t, !1
|
|
}, be.regexp_eatQuantifier = function(e, t) {
|
|
return void 0 === t && (t = !1), !!this.regexp_eatQuantifierPrefix(e, t) && (e.eat(63), !0)
|
|
}, be.regexp_eatQuantifierPrefix = function(e, t) {
|
|
return e.eat(42) || e.eat(43) || e.eat(63) || this.regexp_eatBracedQuantifier(e, t)
|
|
}, be.regexp_eatBracedQuantifier = function(e, t) {
|
|
var r = e.pos;
|
|
if (e.eat(123)) {
|
|
var n = 0,
|
|
i = -1;
|
|
if (this.regexp_eatDecimalDigits(e) && (n = e.lastIntValue, e.eat(44) && this.regexp_eatDecimalDigits(e) && (i = e.lastIntValue), e.eat(125))) return -1 !== i && i < n && !t && e.raise("numbers out of order in {} quantifier"), !0;
|
|
e.switchU && !t && e.raise("Incomplete quantifier"), e.pos = r
|
|
}
|
|
return !1
|
|
}, be.regexp_eatAtom = function(e) {
|
|
return this.regexp_eatPatternCharacters(e) || e.eat(46) || this.regexp_eatReverseSolidusAtomEscape(e) || this.regexp_eatCharacterClass(e) || this.regexp_eatUncapturingGroup(e) || this.regexp_eatCapturingGroup(e)
|
|
}, be.regexp_eatReverseSolidusAtomEscape = function(e) {
|
|
var t = e.pos;
|
|
if (e.eat(92)) {
|
|
if (this.regexp_eatAtomEscape(e)) return !0;
|
|
e.pos = t
|
|
}
|
|
return !1
|
|
}, be.regexp_eatUncapturingGroup = function(e) {
|
|
var t = e.pos;
|
|
if (e.eat(40)) {
|
|
if (e.eat(63) && e.eat(58)) {
|
|
if (this.regexp_disjunction(e), e.eat(41)) return !0;
|
|
e.raise("Unterminated group")
|
|
}
|
|
e.pos = t
|
|
}
|
|
return !1
|
|
}, be.regexp_eatCapturingGroup = function(e) {
|
|
if (e.eat(40)) {
|
|
if (this.options.ecmaVersion >= 9 ? this.regexp_groupSpecifier(e) : 63 === e.current() && e.raise("Invalid group"), this.regexp_disjunction(e), e.eat(41)) return e.numCapturingParens += 1, !0;
|
|
e.raise("Unterminated group")
|
|
}
|
|
return !1
|
|
}, be.regexp_eatExtendedAtom = function(e) {
|
|
return e.eat(46) || this.regexp_eatReverseSolidusAtomEscape(e) || this.regexp_eatCharacterClass(e) || this.regexp_eatUncapturingGroup(e) || this.regexp_eatCapturingGroup(e) || this.regexp_eatInvalidBracedQuantifier(e) || this.regexp_eatExtendedPatternCharacter(e)
|
|
}, be.regexp_eatInvalidBracedQuantifier = function(e) {
|
|
return this.regexp_eatBracedQuantifier(e, !0) && e.raise("Nothing to repeat"), !1
|
|
}, be.regexp_eatSyntaxCharacter = function(e) {
|
|
var t = e.current();
|
|
return !!Pe(t) && (e.lastIntValue = t, e.advance(), !0)
|
|
}, be.regexp_eatPatternCharacters = function(e) {
|
|
for (var t = e.pos, r = 0; - 1 !== (r = e.current()) && !Pe(r);) e.advance();
|
|
return e.pos !== t
|
|
}, be.regexp_eatExtendedPatternCharacter = function(e) {
|
|
var t = e.current();
|
|
return !(-1 === t || 36 === t || t >= 40 && t <= 43 || 46 === t || 63 === t || 91 === t || 94 === t || 124 === t || (e.advance(), 0))
|
|
}, be.regexp_groupSpecifier = function(e) {
|
|
if (e.eat(63)) {
|
|
if (this.regexp_eatGroupName(e)) return -1 !== e.groupNames.indexOf(e.lastStringValue) && e.raise("Duplicate capture group name"), void e.groupNames.push(e.lastStringValue);
|
|
e.raise("Invalid group")
|
|
}
|
|
}, be.regexp_eatGroupName = function(e) {
|
|
if (e.lastStringValue = "", e.eat(60)) {
|
|
if (this.regexp_eatRegExpIdentifierName(e) && e.eat(62)) return !0;
|
|
e.raise("Invalid capture group name")
|
|
}
|
|
return !1
|
|
}, be.regexp_eatRegExpIdentifierName = function(e) {
|
|
if (e.lastStringValue = "", this.regexp_eatRegExpIdentifierStart(e)) {
|
|
for (e.lastStringValue += xe(e.lastIntValue); this.regexp_eatRegExpIdentifierPart(e);) e.lastStringValue += xe(e.lastIntValue);
|
|
return !0
|
|
}
|
|
return !1
|
|
}, be.regexp_eatRegExpIdentifierStart = function(e) {
|
|
var t = e.pos,
|
|
r = e.current();
|
|
return e.advance(), 92 === r && this.regexp_eatRegExpUnicodeEscapeSequence(e) && (r = e.lastIntValue),
|
|
function(e) {
|
|
return f(e, !0) || 36 === e || 95 === e
|
|
}(r) ? (e.lastIntValue = r, !0) : (e.pos = t, !1)
|
|
}, be.regexp_eatRegExpIdentifierPart = function(e) {
|
|
var t = e.pos,
|
|
r = e.current();
|
|
return e.advance(), 92 === r && this.regexp_eatRegExpUnicodeEscapeSequence(e) && (r = e.lastIntValue),
|
|
function(e) {
|
|
return m(e, !0) || 36 === e || 95 === e || 8204 === e || 8205 === e
|
|
}(r) ? (e.lastIntValue = r, !0) : (e.pos = t, !1)
|
|
}, be.regexp_eatAtomEscape = function(e) {
|
|
return !!(this.regexp_eatBackReference(e) || this.regexp_eatCharacterClassEscape(e) || this.regexp_eatCharacterEscape(e) || e.switchN && this.regexp_eatKGroupName(e)) || (e.switchU && (99 === e.current() && e.raise("Invalid unicode escape"), e.raise("Invalid escape")), !1)
|
|
}, be.regexp_eatBackReference = function(e) {
|
|
var t = e.pos;
|
|
if (this.regexp_eatDecimalEscape(e)) {
|
|
var r = e.lastIntValue;
|
|
if (e.switchU) return r > e.maxBackReference && (e.maxBackReference = r), !0;
|
|
if (r <= e.numCapturingParens) return !0;
|
|
e.pos = t
|
|
}
|
|
return !1
|
|
}, be.regexp_eatKGroupName = function(e) {
|
|
if (e.eat(107)) {
|
|
if (this.regexp_eatGroupName(e)) return e.backReferenceNames.push(e.lastStringValue), !0;
|
|
e.raise("Invalid named reference")
|
|
}
|
|
return !1
|
|
}, be.regexp_eatCharacterEscape = function(e) {
|
|
return this.regexp_eatControlEscape(e) || this.regexp_eatCControlLetter(e) || this.regexp_eatZero(e) || this.regexp_eatHexEscapeSequence(e) || this.regexp_eatRegExpUnicodeEscapeSequence(e) || !e.switchU && this.regexp_eatLegacyOctalEscapeSequence(e) || this.regexp_eatIdentityEscape(e)
|
|
}, be.regexp_eatCControlLetter = function(e) {
|
|
var t = e.pos;
|
|
if (e.eat(99)) {
|
|
if (this.regexp_eatControlLetter(e)) return !0;
|
|
e.pos = t
|
|
}
|
|
return !1
|
|
}, be.regexp_eatZero = function(e) {
|
|
return 48 === e.current() && !Te(e.lookahead()) && (e.lastIntValue = 0, e.advance(), !0)
|
|
}, be.regexp_eatControlEscape = function(e) {
|
|
var t = e.current();
|
|
return 116 === t ? (e.lastIntValue = 9, e.advance(), !0) : 110 === t ? (e.lastIntValue = 10, e.advance(), !0) : 118 === t ? (e.lastIntValue = 11, e.advance(), !0) : 102 === t ? (e.lastIntValue = 12, e.advance(), !0) : 114 === t && (e.lastIntValue = 13, e.advance(), !0)
|
|
}, be.regexp_eatControlLetter = function(e) {
|
|
var t = e.current();
|
|
return !!Oe(t) && (e.lastIntValue = t % 32, e.advance(), !0)
|
|
}, be.regexp_eatRegExpUnicodeEscapeSequence = function(e) {
|
|
var t, r = e.pos;
|
|
if (e.eat(117)) {
|
|
if (this.regexp_eatFixedHexDigits(e, 4)) {
|
|
var n = e.lastIntValue;
|
|
if (e.switchU && n >= 55296 && n <= 56319) {
|
|
var i = e.pos;
|
|
if (e.eat(92) && e.eat(117) && this.regexp_eatFixedHexDigits(e, 4)) {
|
|
var a = e.lastIntValue;
|
|
if (a >= 56320 && a <= 57343) return e.lastIntValue = 1024 * (n - 55296) + (a - 56320) + 65536, !0
|
|
}
|
|
e.pos = i, e.lastIntValue = n
|
|
}
|
|
return !0
|
|
}
|
|
if (e.switchU && e.eat(123) && this.regexp_eatHexDigits(e) && e.eat(125) && (t = e.lastIntValue) >= 0 && t <= 1114111) return !0;
|
|
e.switchU && e.raise("Invalid unicode escape"), e.pos = r
|
|
}
|
|
return !1
|
|
}, be.regexp_eatIdentityEscape = function(e) {
|
|
if (e.switchU) return !!this.regexp_eatSyntaxCharacter(e) || !!e.eat(47) && (e.lastIntValue = 47, !0);
|
|
var t = e.current();
|
|
return !(99 === t || e.switchN && 107 === t || (e.lastIntValue = t, e.advance(), 0))
|
|
}, be.regexp_eatDecimalEscape = function(e) {
|
|
e.lastIntValue = 0;
|
|
var t = e.current();
|
|
if (t >= 49 && t <= 57) {
|
|
do {
|
|
e.lastIntValue = 10 * e.lastIntValue + (t - 48), e.advance()
|
|
} while ((t = e.current()) >= 48 && t <= 57);
|
|
return !0
|
|
}
|
|
return !1
|
|
}, be.regexp_eatCharacterClassEscape = function(e) {
|
|
var t = e.current();
|
|
if (function(e) {
|
|
return 100 === e || 68 === e || 115 === e || 83 === e || 119 === e || 87 === e
|
|
}(t)) return e.lastIntValue = -1, e.advance(), !0;
|
|
if (e.switchU && this.options.ecmaVersion >= 9 && (80 === t || 112 === t)) {
|
|
if (e.lastIntValue = -1, e.advance(), e.eat(123) && this.regexp_eatUnicodePropertyValueExpression(e) && e.eat(125)) return !0;
|
|
e.raise("Invalid property name")
|
|
}
|
|
return !1
|
|
}, be.regexp_eatUnicodePropertyValueExpression = function(e) {
|
|
var t = e.pos;
|
|
if (this.regexp_eatUnicodePropertyName(e) && e.eat(61)) {
|
|
var r = e.lastStringValue;
|
|
if (this.regexp_eatUnicodePropertyValue(e)) {
|
|
var n = e.lastStringValue;
|
|
return this.regexp_validateUnicodePropertyNameAndValue(e, r, n), !0
|
|
}
|
|
}
|
|
if (e.pos = t, this.regexp_eatLoneUnicodePropertyNameOrValue(e)) {
|
|
var i = e.lastStringValue;
|
|
return this.regexp_validateUnicodePropertyNameOrValue(e, i), !0
|
|
}
|
|
return !1
|
|
}, be.regexp_validateUnicodePropertyNameAndValue = function(e, t, r) {
|
|
R(e.unicodeProperties.nonBinary, t) || e.raise("Invalid property name"), e.unicodeProperties.nonBinary[t].test(r) || e.raise("Invalid property value")
|
|
}, be.regexp_validateUnicodePropertyNameOrValue = function(e, t) {
|
|
e.unicodeProperties.binary.test(t) || e.raise("Invalid property name")
|
|
}, be.regexp_eatUnicodePropertyName = function(e) {
|
|
var t = 0;
|
|
for (e.lastStringValue = ""; we(t = e.current());) e.lastStringValue += xe(t), e.advance();
|
|
return "" !== e.lastStringValue
|
|
}, be.regexp_eatUnicodePropertyValue = function(e) {
|
|
var t = 0;
|
|
for (e.lastStringValue = ""; ke(t = e.current());) e.lastStringValue += xe(t), e.advance();
|
|
return "" !== e.lastStringValue
|
|
}, be.regexp_eatLoneUnicodePropertyNameOrValue = function(e) {
|
|
return this.regexp_eatUnicodePropertyValue(e)
|
|
}, be.regexp_eatCharacterClass = function(e) {
|
|
if (e.eat(91)) {
|
|
if (e.eat(94), this.regexp_classRanges(e), e.eat(93)) return !0;
|
|
e.raise("Unterminated character class")
|
|
}
|
|
return !1
|
|
}, be.regexp_classRanges = function(e) {
|
|
for (; this.regexp_eatClassAtom(e);) {
|
|
var t = e.lastIntValue;
|
|
if (e.eat(45) && this.regexp_eatClassAtom(e)) {
|
|
var r = e.lastIntValue;
|
|
!e.switchU || -1 !== t && -1 !== r || e.raise("Invalid character class"), -1 !== t && -1 !== r && t > r && e.raise("Range out of order in character class")
|
|
}
|
|
}
|
|
}, be.regexp_eatClassAtom = function(e) {
|
|
var t = e.pos;
|
|
if (e.eat(92)) {
|
|
if (this.regexp_eatClassEscape(e)) return !0;
|
|
if (e.switchU) {
|
|
var r = e.current();
|
|
(99 === r || Ie(r)) && e.raise("Invalid class escape"), e.raise("Invalid escape")
|
|
}
|
|
e.pos = t
|
|
}
|
|
var n = e.current();
|
|
return 93 !== n && (e.lastIntValue = n, e.advance(), !0)
|
|
}, be.regexp_eatClassEscape = function(e) {
|
|
var t = e.pos;
|
|
if (e.eat(98)) return e.lastIntValue = 8, !0;
|
|
if (e.switchU && e.eat(45)) return e.lastIntValue = 45, !0;
|
|
if (!e.switchU && e.eat(99)) {
|
|
if (this.regexp_eatClassControlLetter(e)) return !0;
|
|
e.pos = t
|
|
}
|
|
return this.regexp_eatCharacterClassEscape(e) || this.regexp_eatCharacterEscape(e)
|
|
}, be.regexp_eatClassControlLetter = function(e) {
|
|
var t = e.current();
|
|
return !(!Te(t) && 95 !== t || (e.lastIntValue = t % 32, e.advance(), 0))
|
|
}, be.regexp_eatHexEscapeSequence = function(e) {
|
|
var t = e.pos;
|
|
if (e.eat(120)) {
|
|
if (this.regexp_eatFixedHexDigits(e, 2)) return !0;
|
|
e.switchU && e.raise("Invalid escape"), e.pos = t
|
|
}
|
|
return !1
|
|
}, be.regexp_eatDecimalDigits = function(e) {
|
|
var t = e.pos,
|
|
r = 0;
|
|
for (e.lastIntValue = 0; Te(r = e.current());) e.lastIntValue = 10 * e.lastIntValue + (r - 48), e.advance();
|
|
return e.pos !== t
|
|
}, be.regexp_eatHexDigits = function(e) {
|
|
var t = e.pos,
|
|
r = 0;
|
|
for (e.lastIntValue = 0; Ce(r = e.current());) e.lastIntValue = 16 * e.lastIntValue + Ee(r), e.advance();
|
|
return e.pos !== t
|
|
}, be.regexp_eatLegacyOctalEscapeSequence = function(e) {
|
|
if (this.regexp_eatOctalDigit(e)) {
|
|
var t = e.lastIntValue;
|
|
if (this.regexp_eatOctalDigit(e)) {
|
|
var r = e.lastIntValue;
|
|
t <= 3 && this.regexp_eatOctalDigit(e) ? e.lastIntValue = 64 * t + 8 * r + e.lastIntValue : e.lastIntValue = 8 * t + r
|
|
} else e.lastIntValue = t;
|
|
return !0
|
|
}
|
|
return !1
|
|
}, be.regexp_eatOctalDigit = function(e) {
|
|
var t = e.current();
|
|
return Ie(t) ? (e.lastIntValue = t - 48, e.advance(), !0) : (e.lastIntValue = 0, !1)
|
|
}, be.regexp_eatFixedHexDigits = function(e, t) {
|
|
var r = e.pos;
|
|
e.lastIntValue = 0;
|
|
for (var n = 0; n < t; ++n) {
|
|
var i = e.current();
|
|
if (!Ce(i)) return e.pos = r, !1;
|
|
e.lastIntValue = 16 * e.lastIntValue + Ee(i), e.advance()
|
|
}
|
|
return !0
|
|
};
|
|
var Re = function(e) {
|
|
this.type = e.type, this.value = e.value, this.start = e.start, this.end = e.end, e.options.locations && (this.loc = new D(e, e.startLoc, e.endLoc)), e.options.ranges && (this.range = [e.start, e.end])
|
|
},
|
|
Ae = W.prototype;
|
|
|
|
function Ve(e) {
|
|
return e <= 65535 ? String.fromCharCode(e) : (e -= 65536, String.fromCharCode(55296 + (e >> 10), 56320 + (1023 & e)))
|
|
}
|
|
Ae.next = function() {
|
|
this.options.onToken && this.options.onToken(new Re(this)), this.lastTokEnd = this.end, this.lastTokStart = this.start, this.lastTokEndLoc = this.endLoc, this.lastTokStartLoc = this.startLoc, this.nextToken()
|
|
}, Ae.getToken = function() {
|
|
return this.next(), new Re(this)
|
|
}, "undefined" != typeof Symbol && (Ae[Symbol.iterator] = function() {
|
|
var e = this;
|
|
return {
|
|
next: function() {
|
|
var t = e.getToken();
|
|
return {
|
|
done: t.type === x.eof,
|
|
value: t
|
|
}
|
|
}
|
|
}
|
|
}), Ae.curContext = function() {
|
|
return this.context[this.context.length - 1]
|
|
}, Ae.nextToken = function() {
|
|
var e = this.curContext();
|
|
return e && e.preserveSpace || this.skipSpace(), this.start = this.pos, this.options.locations && (this.startLoc = this.curPosition()), this.pos >= this.input.length ? this.finishToken(x.eof) : e.override ? e.override(this) : void this.readToken(this.fullCharCodeAtPos())
|
|
}, Ae.readToken = function(e) {
|
|
return f(e, this.options.ecmaVersion >= 6) || 92 === e ? this.readWord() : this.getTokenFromCode(e)
|
|
}, Ae.fullCharCodeAtPos = function() {
|
|
var e = this.input.charCodeAt(this.pos);
|
|
return e <= 55295 || e >= 57344 ? e : (e << 10) + this.input.charCodeAt(this.pos + 1) - 56613888
|
|
}, Ae.skipBlockComment = function() {
|
|
var e, t = this.options.onComment && this.curPosition(),
|
|
r = this.pos,
|
|
n = this.input.indexOf("*/", this.pos += 2);
|
|
if (-1 === n && this.raise(this.pos - 2, "Unterminated comment"), this.pos = n + 2, this.options.locations)
|
|
for (O.lastIndex = r;
|
|
(e = O.exec(this.input)) && e.index < this.pos;) ++this.curLine, this.lineStart = e.index + e[0].length;
|
|
this.options.onComment && this.options.onComment(!0, this.input.slice(r + 2, n), r, this.pos, t, this.curPosition())
|
|
}, Ae.skipLineComment = function(e) {
|
|
for (var t = this.pos, r = this.options.onComment && this.curPosition(), n = this.input.charCodeAt(this.pos += e); this.pos < this.input.length && !w(n);) n = this.input.charCodeAt(++this.pos);
|
|
this.options.onComment && this.options.onComment(!1, this.input.slice(t + e, this.pos), t, this.pos, r, this.curPosition())
|
|
}, Ae.skipSpace = function() {
|
|
e: for (; this.pos < this.input.length;) {
|
|
var e = this.input.charCodeAt(this.pos);
|
|
switch (e) {
|
|
case 32:
|
|
case 160:
|
|
++this.pos;
|
|
break;
|
|
case 13:
|
|
10 === this.input.charCodeAt(this.pos + 1) && ++this.pos;
|
|
case 10:
|
|
case 8232:
|
|
case 8233:
|
|
++this.pos, this.options.locations && (++this.curLine, this.lineStart = this.pos);
|
|
break;
|
|
case 47:
|
|
switch (this.input.charCodeAt(this.pos + 1)) {
|
|
case 42:
|
|
this.skipBlockComment();
|
|
break;
|
|
case 47:
|
|
this.skipLineComment(2);
|
|
break;
|
|
default:
|
|
break e
|
|
}
|
|
break;
|
|
default:
|
|
if (!(e > 8 && e < 14 || e >= 5760 && k.test(String.fromCharCode(e)))) break e;
|
|
++this.pos
|
|
}
|
|
}
|
|
}, Ae.finishToken = function(e, t) {
|
|
this.end = this.pos, this.options.locations && (this.endLoc = this.curPosition());
|
|
var r = this.type;
|
|
this.type = e, this.value = t, this.updateContext(r)
|
|
}, Ae.readToken_dot = function() {
|
|
var e = this.input.charCodeAt(this.pos + 1);
|
|
if (e >= 48 && e <= 57) return this.readNumber(!0);
|
|
var t = this.input.charCodeAt(this.pos + 2);
|
|
return this.options.ecmaVersion >= 6 && 46 === e && 46 === t ? (this.pos += 3, this.finishToken(x.ellipsis)) : (++this.pos, this.finishToken(x.dot))
|
|
}, Ae.readToken_slash = function() {
|
|
var e = this.input.charCodeAt(this.pos + 1);
|
|
return this.exprAllowed ? (++this.pos, this.readRegexp()) : 61 === e ? this.finishOp(x.assign, 2) : this.finishOp(x.slash, 1)
|
|
}, Ae.readToken_mult_modulo_exp = function(e) {
|
|
var t = this.input.charCodeAt(this.pos + 1),
|
|
r = 1,
|
|
n = 42 === e ? x.star : x.modulo;
|
|
return this.options.ecmaVersion >= 7 && 42 === e && 42 === t && (++r, n = x.starstar, t = this.input.charCodeAt(this.pos + 2)), 61 === t ? this.finishOp(x.assign, r + 1) : this.finishOp(n, r)
|
|
}, Ae.readToken_pipe_amp = function(e) {
|
|
var t = this.input.charCodeAt(this.pos + 1);
|
|
return t === e ? this.finishOp(124 === e ? x.logicalOR : x.logicalAND, 2) : 61 === t ? this.finishOp(x.assign, 2) : this.finishOp(124 === e ? x.bitwiseOR : x.bitwiseAND, 1)
|
|
}, Ae.readToken_caret = function() {
|
|
return 61 === this.input.charCodeAt(this.pos + 1) ? this.finishOp(x.assign, 2) : this.finishOp(x.bitwiseXOR, 1)
|
|
}, Ae.readToken_plus_min = function(e) {
|
|
var t = this.input.charCodeAt(this.pos + 1);
|
|
return t === e ? 45 !== t || this.inModule || 62 !== this.input.charCodeAt(this.pos + 2) || 0 !== this.lastTokEnd && !P.test(this.input.slice(this.lastTokEnd, this.pos)) ? this.finishOp(x.incDec, 2) : (this.skipLineComment(3), this.skipSpace(), this.nextToken()) : 61 === t ? this.finishOp(x.assign, 2) : this.finishOp(x.plusMin, 1)
|
|
}, Ae.readToken_lt_gt = function(e) {
|
|
var t = this.input.charCodeAt(this.pos + 1),
|
|
r = 1;
|
|
return t === e ? (r = 62 === e && 62 === this.input.charCodeAt(this.pos + 2) ? 3 : 2, 61 === this.input.charCodeAt(this.pos + r) ? this.finishOp(x.assign, r + 1) : this.finishOp(x.bitShift, r)) : 33 !== t || 60 !== e || this.inModule || 45 !== this.input.charCodeAt(this.pos + 2) || 45 !== this.input.charCodeAt(this.pos + 3) ? (61 === t && (r = 2), this.finishOp(x.relational, r)) : (this.skipLineComment(4), this.skipSpace(), this.nextToken())
|
|
}, Ae.readToken_eq_excl = function(e) {
|
|
var t = this.input.charCodeAt(this.pos + 1);
|
|
return 61 === t ? this.finishOp(x.equality, 61 === this.input.charCodeAt(this.pos + 2) ? 3 : 2) : 61 === e && 62 === t && this.options.ecmaVersion >= 6 ? (this.pos += 2, this.finishToken(x.arrow)) : this.finishOp(61 === e ? x.eq : x.prefix, 1)
|
|
}, Ae.getTokenFromCode = function(e) {
|
|
switch (e) {
|
|
case 46:
|
|
return this.readToken_dot();
|
|
case 40:
|
|
return ++this.pos, this.finishToken(x.parenL);
|
|
case 41:
|
|
return ++this.pos, this.finishToken(x.parenR);
|
|
case 59:
|
|
return ++this.pos, this.finishToken(x.semi);
|
|
case 44:
|
|
return ++this.pos, this.finishToken(x.comma);
|
|
case 91:
|
|
return ++this.pos, this.finishToken(x.bracketL);
|
|
case 93:
|
|
return ++this.pos, this.finishToken(x.bracketR);
|
|
case 123:
|
|
return ++this.pos, this.finishToken(x.braceL);
|
|
case 125:
|
|
return ++this.pos, this.finishToken(x.braceR);
|
|
case 58:
|
|
return ++this.pos, this.finishToken(x.colon);
|
|
case 63:
|
|
return ++this.pos, this.finishToken(x.question);
|
|
case 96:
|
|
if (this.options.ecmaVersion < 6) break;
|
|
return ++this.pos, this.finishToken(x.backQuote);
|
|
case 48:
|
|
var t = this.input.charCodeAt(this.pos + 1);
|
|
if (120 === t || 88 === t) return this.readRadixNumber(16);
|
|
if (this.options.ecmaVersion >= 6) {
|
|
if (111 === t || 79 === t) return this.readRadixNumber(8);
|
|
if (98 === t || 66 === t) return this.readRadixNumber(2)
|
|
}
|
|
case 49:
|
|
case 50:
|
|
case 51:
|
|
case 52:
|
|
case 53:
|
|
case 54:
|
|
case 55:
|
|
case 56:
|
|
case 57:
|
|
return this.readNumber(!1);
|
|
case 34:
|
|
case 39:
|
|
return this.readString(e);
|
|
case 47:
|
|
return this.readToken_slash();
|
|
case 37:
|
|
case 42:
|
|
return this.readToken_mult_modulo_exp(e);
|
|
case 124:
|
|
case 38:
|
|
return this.readToken_pipe_amp(e);
|
|
case 94:
|
|
return this.readToken_caret();
|
|
case 43:
|
|
case 45:
|
|
return this.readToken_plus_min(e);
|
|
case 60:
|
|
case 62:
|
|
return this.readToken_lt_gt(e);
|
|
case 61:
|
|
case 33:
|
|
return this.readToken_eq_excl(e);
|
|
case 126:
|
|
return this.finishOp(x.prefix, 1)
|
|
}
|
|
this.raise(this.pos, "Unexpected character '" + Ve(e) + "'")
|
|
}, Ae.finishOp = function(e, t) {
|
|
var r = this.input.slice(this.pos, this.pos + t);
|
|
return this.pos += t, this.finishToken(e, r)
|
|
}, Ae.readRegexp = function() {
|
|
for (var e, t, r = this.pos;;) {
|
|
this.pos >= this.input.length && this.raise(r, "Unterminated regular expression");
|
|
var n = this.input.charAt(this.pos);
|
|
if (P.test(n) && this.raise(r, "Unterminated regular expression"), e) e = !1;
|
|
else {
|
|
if ("[" === n) t = !0;
|
|
else if ("]" === n && t) t = !1;
|
|
else if ("/" === n && !t) break;
|
|
e = "\\" === n
|
|
}++this.pos
|
|
}
|
|
var i = this.input.slice(r, this.pos);
|
|
++this.pos;
|
|
var a = this.pos,
|
|
o = this.readWord1();
|
|
this.containsEsc && this.unexpected(a);
|
|
var s = this.regexpState || (this.regexpState = new Se(this));
|
|
s.reset(r, i, o), this.validateRegExpFlags(s), this.validateRegExpPattern(s);
|
|
var c = null;
|
|
try {
|
|
c = new RegExp(i, o)
|
|
} catch (e) {}
|
|
return this.finishToken(x.regexp, {
|
|
pattern: i,
|
|
flags: o,
|
|
value: c
|
|
})
|
|
}, Ae.readInt = function(e, t) {
|
|
for (var r = this.pos, n = 0, i = 0, a = null == t ? 1 / 0 : t; i < a; ++i) {
|
|
var s, o = this.input.charCodeAt(this.pos);
|
|
if ((s = o >= 97 ? o - 97 + 10 : o >= 65 ? o - 65 + 10 : o >= 48 && o <= 57 ? o - 48 : 1 / 0) >= e) break;
|
|
++this.pos, n = n * e + s
|
|
}
|
|
return this.pos === r || null != t && this.pos - r !== t ? null : n
|
|
}, Ae.readRadixNumber = function(e) {
|
|
var t = this.pos;
|
|
this.pos += 2;
|
|
var r = this.readInt(e);
|
|
return null == r && this.raise(this.start + 2, "Expected number in radix " + e), this.options.ecmaVersion >= 11 && 110 === this.input.charCodeAt(this.pos) ? (r = "undefined" != typeof BigInt ? BigInt(this.input.slice(t, this.pos)) : null, ++this.pos) : f(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number"), this.finishToken(x.num, r)
|
|
}, Ae.readNumber = function(e) {
|
|
var t = this.pos;
|
|
e || null !== this.readInt(10) || this.raise(t, "Invalid number");
|
|
var r = this.pos - t >= 2 && 48 === this.input.charCodeAt(t);
|
|
r && this.strict && this.raise(t, "Invalid number"), r && /[89]/.test(this.input.slice(t, this.pos)) && (r = !1);
|
|
var n = this.input.charCodeAt(this.pos);
|
|
if (!r && !e && this.options.ecmaVersion >= 11 && 110 === n) {
|
|
var i = this.input.slice(t, this.pos),
|
|
a = "undefined" != typeof BigInt ? BigInt(i) : null;
|
|
return ++this.pos, f(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number"), this.finishToken(x.num, a)
|
|
}
|
|
46 !== n || r || (++this.pos, this.readInt(10), n = this.input.charCodeAt(this.pos)), 69 !== n && 101 !== n || r || (43 !== (n = this.input.charCodeAt(++this.pos)) && 45 !== n || ++this.pos, null === this.readInt(10) && this.raise(t, "Invalid number")), f(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number");
|
|
var o = this.input.slice(t, this.pos),
|
|
s = r ? parseInt(o, 8) : parseFloat(o);
|
|
return this.finishToken(x.num, s)
|
|
}, Ae.readCodePoint = function() {
|
|
var e;
|
|
if (123 === this.input.charCodeAt(this.pos)) {
|
|
this.options.ecmaVersion < 6 && this.unexpected();
|
|
var t = ++this.pos;
|
|
e = this.readHexChar(this.input.indexOf("}", this.pos) - this.pos), ++this.pos, e > 1114111 && this.invalidStringToken(t, "Code point out of bounds")
|
|
} else e = this.readHexChar(4);
|
|
return e
|
|
}, Ae.readString = function(e) {
|
|
for (var t = "", r = ++this.pos;;) {
|
|
this.pos >= this.input.length && this.raise(this.start, "Unterminated string constant");
|
|
var n = this.input.charCodeAt(this.pos);
|
|
if (n === e) break;
|
|
92 === n ? (t += this.input.slice(r, this.pos), t += this.readEscapedChar(!1), r = this.pos) : (w(n, this.options.ecmaVersion >= 10) && this.raise(this.start, "Unterminated string constant"), ++this.pos)
|
|
}
|
|
return t += this.input.slice(r, this.pos++), this.finishToken(x.string, t)
|
|
};
|
|
var Fe = {};
|
|
Ae.tryReadTemplateToken = function() {
|
|
this.inTemplateElement = !0;
|
|
try {
|
|
this.readTmplToken()
|
|
} catch (e) {
|
|
if (e !== Fe) throw e;
|
|
this.readInvalidTemplateToken()
|
|
}
|
|
this.inTemplateElement = !1
|
|
}, Ae.invalidStringToken = function(e, t) {
|
|
if (this.inTemplateElement && this.options.ecmaVersion >= 9) throw Fe;
|
|
this.raise(e, t)
|
|
}, Ae.readTmplToken = function() {
|
|
for (var e = "", t = this.pos;;) {
|
|
this.pos >= this.input.length && this.raise(this.start, "Unterminated template");
|
|
var r = this.input.charCodeAt(this.pos);
|
|
if (96 === r || 36 === r && 123 === this.input.charCodeAt(this.pos + 1)) return this.pos !== this.start || this.type !== x.template && this.type !== x.invalidTemplate ? (e += this.input.slice(t, this.pos), this.finishToken(x.template, e)) : 36 === r ? (this.pos += 2, this.finishToken(x.dollarBraceL)) : (++this.pos, this.finishToken(x.backQuote));
|
|
if (92 === r) e += this.input.slice(t, this.pos), e += this.readEscapedChar(!0), t = this.pos;
|
|
else if (w(r)) {
|
|
switch (e += this.input.slice(t, this.pos), ++this.pos, r) {
|
|
case 13:
|
|
10 === this.input.charCodeAt(this.pos) && ++this.pos;
|
|
case 10:
|
|
e += "\n";
|
|
break;
|
|
default:
|
|
e += String.fromCharCode(r)
|
|
}
|
|
this.options.locations && (++this.curLine, this.lineStart = this.pos), t = this.pos
|
|
} else ++this.pos
|
|
}
|
|
}, Ae.readInvalidTemplateToken = function() {
|
|
for (; this.pos < this.input.length; this.pos++) switch (this.input[this.pos]) {
|
|
case "\\":
|
|
++this.pos;
|
|
break;
|
|
case "$":
|
|
if ("{" !== this.input[this.pos + 1]) break;
|
|
case "`":
|
|
return this.finishToken(x.invalidTemplate, this.input.slice(this.start, this.pos))
|
|
}
|
|
this.raise(this.start, "Unterminated template")
|
|
}, Ae.readEscapedChar = function(e) {
|
|
var t = this.input.charCodeAt(++this.pos);
|
|
switch (++this.pos, t) {
|
|
case 110:
|
|
return "\n";
|
|
case 114:
|
|
return "\r";
|
|
case 120:
|
|
return String.fromCharCode(this.readHexChar(2));
|
|
case 117:
|
|
return Ve(this.readCodePoint());
|
|
case 116:
|
|
return "\t";
|
|
case 98:
|
|
return "\b";
|
|
case 118:
|
|
return "\v";
|
|
case 102:
|
|
return "\f";
|
|
case 13:
|
|
10 === this.input.charCodeAt(this.pos) && ++this.pos;
|
|
case 10:
|
|
return this.options.locations && (this.lineStart = this.pos, ++this.curLine), "";
|
|
default:
|
|
if (t >= 48 && t <= 55) {
|
|
var r = this.input.substr(this.pos - 1, 3).match(/^[0-7]+/)[0],
|
|
n = parseInt(r, 8);
|
|
return n > 255 && (r = r.slice(0, -1), n = parseInt(r, 8)), this.pos += r.length - 1, t = this.input.charCodeAt(this.pos), "0" === r && 56 !== t && 57 !== t || !this.strict && !e || this.invalidStringToken(this.pos - 1 - r.length, e ? "Octal literal in template string" : "Octal literal in strict mode"), String.fromCharCode(n)
|
|
}
|
|
return w(t) ? "" : String.fromCharCode(t)
|
|
}
|
|
}, Ae.readHexChar = function(e) {
|
|
var t = this.pos,
|
|
r = this.readInt(16, e);
|
|
return null === r && this.invalidStringToken(t, "Bad character escape sequence"), r
|
|
}, Ae.readWord1 = function() {
|
|
this.containsEsc = !1;
|
|
for (var e = "", t = !0, r = this.pos, n = this.options.ecmaVersion >= 6; this.pos < this.input.length;) {
|
|
var i = this.fullCharCodeAtPos();
|
|
if (m(i, n)) this.pos += i <= 65535 ? 1 : 2;
|
|
else {
|
|
if (92 !== i) break;
|
|
this.containsEsc = !0, e += this.input.slice(r, this.pos);
|
|
var a = this.pos;
|
|
117 !== this.input.charCodeAt(++this.pos) && this.invalidStringToken(this.pos, "Expecting Unicode escape sequence \\uXXXX"), ++this.pos;
|
|
var o = this.readCodePoint();
|
|
(t ? f : m)(o, n) || this.invalidStringToken(a, "Invalid Unicode escape"), e += Ve(o), r = this.pos
|
|
}
|
|
t = !1
|
|
}
|
|
return e + this.input.slice(r, this.pos)
|
|
}, Ae.readWord = function() {
|
|
var e = this.readWord1(),
|
|
t = x.name;
|
|
return this.keywords.test(e) && (this.containsEsc && this.raiseRecoverable(this.start, "Escape sequence in keyword " + e), t = b[e]), this.finishToken(t, e)
|
|
};
|
|
var De = "6.4.2";
|
|
|
|
function je(e, t) {
|
|
return W.parse(e, t)
|
|
}
|
|
|
|
function Me(e, t, r) {
|
|
return W.parseExpressionAt(e, t, r)
|
|
}
|
|
|
|
function Ne(e, t) {
|
|
return W.tokenizer(e, t)
|
|
}
|
|
W.acorn = {
|
|
Parser: W,
|
|
version: De,
|
|
defaultOptions: M,
|
|
Position: F,
|
|
SourceLocation: D,
|
|
getLineInfo: j,
|
|
Node: ae,
|
|
TokenType: g,
|
|
tokTypes: x,
|
|
keywordTypes: b,
|
|
TokContext: ce,
|
|
tokContexts: ue,
|
|
isIdentifierChar: m,
|
|
isIdentifierStart: f,
|
|
Token: Re,
|
|
isNewLine: w,
|
|
lineBreak: P,
|
|
lineBreakG: O,
|
|
nonASCIIwhitespace: k
|
|
}
|
|
},
|
|
832: e => {
|
|
"use strict";
|
|
e.exports = JSON.parse('["alternate","argument","arguments","block","body","callee","cases","computed","consequent","constructor","declaration","declarations","discriminant","elements","expression","expressions","finalizer","handler","id","init","key","kind","label","left","method","name","object","operator","param","params","prefix","properties","property","quasi","right","shorthand","source","specifiers","superClass","tag","test","type","update","value"]')
|
|
}
|
|
},
|
|
t = {};
|
|
|
|
function r(n) {
|
|
var i = t[n];
|
|
if (void 0 !== i) return i.exports;
|
|
var a = t[n] = {
|
|
exports: {}
|
|
};
|
|
return e[n].call(a.exports, a, a.exports, r), a.exports
|
|
}
|
|
r.n = e => {
|
|
var t = e && e.__esModule ? () => e.default : () => e;
|
|
return r.d(t, {
|
|
a: t
|
|
}), t
|
|
}, r.d = (e, t) => {
|
|
for (var n in t) r.o(t, n) && !r.o(e, n) && Object.defineProperty(e, n, {
|
|
enumerable: !0,
|
|
get: t[n]
|
|
})
|
|
}, r.g = function() {
|
|
if ("object" == typeof globalThis) return globalThis;
|
|
try {
|
|
return this || new Function("return this")()
|
|
} catch (e) {
|
|
if ("object" == typeof window) return window
|
|
}
|
|
}(), r.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t), r.r = e => {
|
|
"undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
|
|
value: "Module"
|
|
}), Object.defineProperty(e, "__esModule", {
|
|
value: !0
|
|
})
|
|
};
|
|
var n = {};
|
|
(() => {
|
|
"use strict";
|
|
r.r(n), r.d(n, {
|
|
generateVim: () => Ka,
|
|
generateVimForRecipe: () => qa,
|
|
setLogger: () => Wa,
|
|
vimEnums: () => Xa
|
|
});
|
|
var e = {};
|
|
|
|
function t(e, t, r, n, i, a, o) {
|
|
try {
|
|
var s = e[a](o),
|
|
c = s.value
|
|
} catch (e) {
|
|
return void r(e)
|
|
}
|
|
s.done ? t(c) : Promise.resolve(c).then(n, i)
|
|
}
|
|
|
|
function i(e) {
|
|
return function() {
|
|
var r = this,
|
|
n = arguments;
|
|
return new Promise(function(i, a) {
|
|
var o = e.apply(r, n);
|
|
|
|
function s(e) {
|
|
t(o, i, a, s, c, "next", e)
|
|
}
|
|
|
|
function c(e) {
|
|
t(o, i, a, s, c, "throw", e)
|
|
}
|
|
s(void 0)
|
|
})
|
|
}
|
|
}
|
|
r.r(e), r.d(e, {
|
|
VERSION: () => qt,
|
|
after: () => Oi,
|
|
all: () => $i,
|
|
allKeys: () => on,
|
|
any: () => Gi,
|
|
assign: () => On,
|
|
before: () => wi,
|
|
bind: () => di,
|
|
bindAll: () => mi,
|
|
chain: () => ci,
|
|
chunk: () => Ta,
|
|
clone: () => Cn,
|
|
collect: () => Ni,
|
|
compact: () => ga,
|
|
compose: () => Pi,
|
|
constant: () => Br,
|
|
contains: () => Ji,
|
|
countBy: () => oa,
|
|
create: () => Tn,
|
|
debounce: () => bi,
|
|
default: () => Ia,
|
|
defaults: () => wn,
|
|
defer: () => yi,
|
|
delay: () => vi,
|
|
detect: () => Di,
|
|
difference: () => ya,
|
|
drop: () => fa,
|
|
each: () => Mi,
|
|
escape: () => Qn,
|
|
every: () => $i,
|
|
extend: () => Pn,
|
|
extendOwn: () => On,
|
|
filter: () => Wi,
|
|
find: () => Di,
|
|
findIndex: () => Ei,
|
|
findKey: () => Ti,
|
|
findLastIndex: () => Ii,
|
|
findWhere: () => ji,
|
|
first: () => ha,
|
|
flatten: () => va,
|
|
foldl: () => Ui,
|
|
foldr: () => Bi,
|
|
forEach: () => Mi,
|
|
functions: () => Sn,
|
|
get: () => Vn,
|
|
groupBy: () => ia,
|
|
has: () => Fn,
|
|
head: () => ha,
|
|
identity: () => Dn,
|
|
include: () => Ji,
|
|
includes: () => Ji,
|
|
indexBy: () => aa,
|
|
indexOf: () => Vi,
|
|
initial: () => da,
|
|
inject: () => Ui,
|
|
intersection: () => xa,
|
|
invert: () => bn,
|
|
invoke: () => qi,
|
|
isArguments: () => Nr,
|
|
isArray: () => Dr,
|
|
isArrayBuffer: () => kr,
|
|
isBoolean: () => vr,
|
|
isDataView: () => Fr,
|
|
isDate: () => xr,
|
|
isElement: () => yr,
|
|
isEmpty: () => Xr,
|
|
isEqual: () => an,
|
|
isError: () => Or,
|
|
isFinite: () => Hr,
|
|
isFunction: () => Er,
|
|
isMap: () => fn,
|
|
isMatch: () => Zr,
|
|
isNaN: () => Ur,
|
|
isNull: () => mr,
|
|
isNumber: () => Sr,
|
|
isObject: () => fr,
|
|
isRegExp: () => Pr,
|
|
isSet: () => gn,
|
|
isString: () => br,
|
|
isSymbol: () => wr,
|
|
isTypedArray: () => qr,
|
|
isUndefined: () => gr,
|
|
isWeakMap: () => mn,
|
|
isWeakSet: () => vn,
|
|
iteratee: () => Un,
|
|
keys: () => Qr,
|
|
last: () => ma,
|
|
lastIndexOf: () => Fi,
|
|
map: () => Ni,
|
|
mapObject: () => Wn,
|
|
matcher: () => jn,
|
|
matches: () => jn,
|
|
max: () => Qi,
|
|
memoize: () => gi,
|
|
methods: () => Sn,
|
|
min: () => Xi,
|
|
mixin: () => Ea,
|
|
negate: () => xi,
|
|
noop: () => Ln,
|
|
now: () => qn,
|
|
object: () => wa,
|
|
omit: () => pa,
|
|
once: () => ki,
|
|
pairs: () => _n,
|
|
partial: () => pi,
|
|
partition: () => sa,
|
|
pick: () => la,
|
|
pluck: () => zi,
|
|
property: () => Mn,
|
|
propertyOf: () => $n,
|
|
random: () => Jn,
|
|
range: () => ka,
|
|
reduce: () => Ui,
|
|
reduceRight: () => Bi,
|
|
reject: () => Li,
|
|
rest: () => fa,
|
|
restArguments: () => hr,
|
|
result: () => ai,
|
|
sample: () => ea,
|
|
select: () => Wi,
|
|
shuffle: () => ta,
|
|
size: () => ca,
|
|
some: () => Gi,
|
|
sortBy: () => ra,
|
|
sortedIndex: () => Ri,
|
|
tail: () => fa,
|
|
take: () => ha,
|
|
tap: () => En,
|
|
template: () => ii,
|
|
templateSettings: () => Zn,
|
|
throttle: () => _i,
|
|
times: () => Gn,
|
|
toArray: () => Yi,
|
|
toPath: () => In,
|
|
transpose: () => Pa,
|
|
unescape: () => Xn,
|
|
union: () => Sa,
|
|
uniq: () => ba,
|
|
unique: () => ba,
|
|
uniqueId: () => si,
|
|
unzip: () => Pa,
|
|
values: () => yn,
|
|
where: () => Ki,
|
|
without: () => _a,
|
|
wrap: () => Si,
|
|
zip: () => Oa
|
|
});
|
|
var a = r(4687),
|
|
o = r.n(a);
|
|
|
|
function s(e, t) {
|
|
(null == t || t > e.length) && (t = e.length);
|
|
for (var r = 0, n = Array(t); r < t; r++) n[r] = e[r];
|
|
return n
|
|
}
|
|
|
|
function c(e, t) {
|
|
if (e) {
|
|
if ("string" == typeof e) return s(e, t);
|
|
var r = {}.toString.call(e).slice(8, -1);
|
|
return "Object" === r && e.constructor && (r = e.constructor.name), "Map" === r || "Set" === r ? Array.from(e) : "Arguments" === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? s(e, t) : void 0
|
|
}
|
|
}
|
|
|
|
function u(e) {
|
|
return function(e) {
|
|
if (Array.isArray(e)) return s(e)
|
|
}(e) || function(e) {
|
|
if ("undefined" != typeof Symbol && null != e[Symbol.iterator] || null != e["@@iterator"]) return Array.from(e)
|
|
}(e) || c(e) || function() {
|
|
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
|
|
}()
|
|
}
|
|
|
|
function l(e) {
|
|
return l = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
|
|
return typeof e
|
|
} : function(e) {
|
|
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
|
|
}, l(e)
|
|
}
|
|
|
|
function d(e, t, r) {
|
|
return (t = function(e) {
|
|
var t = function(e) {
|
|
if ("object" != l(e) || !e) return e;
|
|
var r = e[Symbol.toPrimitive];
|
|
if (void 0 !== r) {
|
|
var n = r.call(e, "string");
|
|
if ("object" != l(n)) return n;
|
|
throw new TypeError("@@toPrimitive must return a primitive value.")
|
|
}
|
|
return String(e)
|
|
}(e);
|
|
return "symbol" == l(t) ? t : t + ""
|
|
}(t)) in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e
|
|
}
|
|
r(3296);
|
|
var h = r(9467),
|
|
f = r.n(h),
|
|
m = {
|
|
EXTENSION: "extension",
|
|
MOBILE: "mobile",
|
|
MOBILE_EXTENSION: "mobile-extension",
|
|
SERVER: "server",
|
|
SIX: "six"
|
|
},
|
|
g = {
|
|
AddProductsToCart: "addProductsToCart",
|
|
CartProductPageFetcher: "cartProductPageFetcher",
|
|
CheckoutInfo: "checkoutInfo",
|
|
CleanFullProductData: "cleanFullProductData",
|
|
CleanPartialProductData: "cleanPartialProductData",
|
|
HelloWorld: "helloWorld",
|
|
PageDetector: "pageDetector",
|
|
PageDetector17: "pageDetector17",
|
|
PageDetector32: "pageDetector32",
|
|
PageDetector185: "pageDetector185",
|
|
PageDetector53225885396973217: "pageDetector53225885396973217",
|
|
PageDetector149866213425254294: "pageDetector149866213425254294",
|
|
PageDetector188936808980551912: "pageDetector188936808980551912",
|
|
PageDetector239725216611791130: "pageDetector239725216611791130",
|
|
PageDetector7552648263998104112: "pageDetector7552648263998104112",
|
|
ProductFetcherFull: "productFetcherFull",
|
|
ProductFetcherPartial: "productFetcherPartial",
|
|
ProductFetcher1: "productFetcher1",
|
|
ProductFetcher2: "productFetcher2",
|
|
ProducFetcher28: "productFetcher28",
|
|
ProductFetcher98: "productFetcher98",
|
|
ProductFetcher185: "productFetcher185",
|
|
ProductFetcher200: "productFetcher200",
|
|
ProductFetcher143839615565492452: "productFetcher143839615565492452",
|
|
ProducFetcher459685887096746335: "productFetcher459685887096746335",
|
|
ProductFetcher7360555217192209452: "productFetcher7360555217192209452",
|
|
ProductFetcher7370049848889092396: "productFetcher7370049848889092396",
|
|
ProductFetcher7613592105936880680: "productFetcher7613592105936880680",
|
|
ProductFetcher7360676928657335852: "productFetcher7360676928657335852",
|
|
ProductFetcher477931476250495765: "productFetcher477931476250495765",
|
|
ProductFetcher477931826759157670: "productFetcher477931826759157670",
|
|
ProductFetcher477932326447320457: "productFetcher477932326447320457",
|
|
ProductFetcher73: "productFetcher73",
|
|
SubmitOrderListener: "submitOrderListener",
|
|
WhereAmI: "whereAmI",
|
|
Dacs: "dacs"
|
|
},
|
|
v = {
|
|
CartOptsJs97: "cartOptsJs97",
|
|
CartOptsJs145: "cartOptsJs145",
|
|
CartOptsJs185: "cartOptsJs185",
|
|
CartOptsJs200: "cartOptsJs200",
|
|
CartOptsJs244187497353073745: "cartOptsJs244187497353073745",
|
|
CartOptsJs263267943983975352: "cartOptsJs263267943983975352",
|
|
CartOptsJs7359061350009864748: "cartOptsJs7359061350009864748",
|
|
CartOptsJs7359188627743309100: "cartOptsJs7359188627743309100",
|
|
CartOptsJs7360533218492451884: "cartOptsJs7360533218492451884",
|
|
CartOptsJs7365830781408499756: "cartOptsJs7365830781408499756",
|
|
CartOptsJs7394091724507865200: "cartOptsJs7394091724507865200",
|
|
CartOptsJs107896875039113603: "cartOptsJs107896875039113603",
|
|
CartOptsJs107716608132582710: "cartOptsJs107896875039113603",
|
|
CartOptsJs7359131836047769644: "cartOptsJs107896875039113603",
|
|
CartOptsJs203: "cartOptsJs107896875039113603",
|
|
CartOptsJs7359680255333719596: "cartOptsJs107896875039113603",
|
|
CartOptsJs7360581981880868908: "cartOptsJs107896875039113603",
|
|
CartOptsJs7360676928657335852: "cartOptsJs7360676928657335852",
|
|
GetWhereAmIFields7360676928657335852: "getWhereAmIFields7360676928657335852",
|
|
GetWhereAmIFields477931476250495765: "getWhereAmIFields477931476250495765",
|
|
GetWhereAmIFields477931826759157670: "getWhereAmIFields477931826759157670",
|
|
GetWhereAmIFields477932326447320457: "getWhereAmIFields477932326447320457"
|
|
},
|
|
y = {
|
|
SHOPIFY: "7360676928657335852",
|
|
WOOCOMMERCE: "477931826759157670",
|
|
WIX: "477931476250495765",
|
|
MAGENTO: "477932106531892800",
|
|
SHOPWARE: "605128160107517717",
|
|
MIVA: "603897417910266966",
|
|
SALESFORCE: "602841367108072246",
|
|
BIGCOMMERCE: "477932326447320457"
|
|
},
|
|
_ = function(e) {
|
|
return null != e
|
|
};
|
|
const b = {
|
|
elementsCount: function(e) {
|
|
return e && _(e.targetSelector)
|
|
},
|
|
fetchText: function(e) {
|
|
return e && _(e.targetSelector) && _(e.timeout) && _(e.separator) && _(e.checkIfVisible)
|
|
},
|
|
fetchHtml: function(e) {
|
|
return e && _(e.targetSelector) && _(e.timeout)
|
|
},
|
|
fetchImages: function(e) {
|
|
return e && _(e.targetSelector) && _(e.timeout)
|
|
},
|
|
isVisible: function(e) {
|
|
return e && _(e.targetSelector) && _(e.inlineAreVisible)
|
|
},
|
|
hasDynamicSubvim: function(e, t) {
|
|
var r = Object.keys(v),
|
|
n = t && e && _(e.storeId) && "".concat(t).concat(e.storeId);
|
|
return n && !!r.includes(n)
|
|
}
|
|
};
|
|
|
|
function S(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
const x = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return function(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? S(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : S(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}({
|
|
doAddToCart: e.doAddToCart,
|
|
storeOptions: e.storeOptions,
|
|
checkoutType: e.checkoutType,
|
|
addToCartFieldPressDelay: e.addToCartFieldPressDelay,
|
|
defaultRecipeTimeout: e.defaultRecipeTimeout,
|
|
isInternalTest: e.isInternalTest
|
|
}, t)
|
|
},
|
|
template: "addProductsToCart"
|
|
},
|
|
setupSubEnv: {
|
|
template: "clientUtils",
|
|
params: function() {
|
|
return null
|
|
}
|
|
},
|
|
productOptsJs: {
|
|
preprocessTemplateWithParams: function(e) {
|
|
return "\n_t_productPageCheckoutType = '".concat(e.checkoutType, "';\n_t_productPageStatus = '").concat(e.productPageStatus, "';\n_t_productPageSelectors = ").concat(JSON.stringify(e.productPageSelectors), ";\n").concat(e.productOptsRetrievalJS, "\nnativeAction('result', null);\n")
|
|
},
|
|
params: function(e) {
|
|
return e
|
|
},
|
|
template: null
|
|
},
|
|
markProductContainers: {
|
|
params: function(e) {
|
|
return {
|
|
selector: e.productContainer ? e.productContainer.s : null
|
|
}
|
|
},
|
|
template: "markProductContainers"
|
|
},
|
|
addToCartButtonsCount: {
|
|
params: function(e) {
|
|
return {
|
|
targetSelector: e.addToCartButton ? e.addToCartButton.s : null
|
|
}
|
|
},
|
|
template: "elementsCount"
|
|
},
|
|
fetchAddToCartChanges: {
|
|
params: function(e) {
|
|
return {
|
|
targetSelector: e.addToCartChanges ? e.addToCartChanges.s : null,
|
|
timeout: 0,
|
|
separator: " "
|
|
}
|
|
},
|
|
template: "fetchHtml",
|
|
paramsValidator: function(e) {
|
|
return b.fetchHtml(e)
|
|
}
|
|
},
|
|
productPageHasQuantityField: {
|
|
params: function() {
|
|
return {
|
|
inlineAreVisible: !0
|
|
}
|
|
},
|
|
template: "isVisible",
|
|
paramsValidator: function() {
|
|
return !0
|
|
}
|
|
},
|
|
eventChangeCheckbox: {
|
|
params: function() {
|
|
return null
|
|
},
|
|
template: "eventChangeCheckbox"
|
|
},
|
|
eventChangeDefault: {
|
|
params: function() {
|
|
return null
|
|
},
|
|
template: "eventChangeDefault"
|
|
},
|
|
eventChangeKeypress: {
|
|
params: function() {
|
|
return null
|
|
},
|
|
template: "eventChangeKeypress"
|
|
},
|
|
eventChangeList: {
|
|
params: function() {
|
|
return null
|
|
},
|
|
template: "eventChangeList"
|
|
},
|
|
eventChangeProductAttributeJavascript: {
|
|
params: function() {
|
|
return null
|
|
},
|
|
template: "eventChangeProductAttributeJavascript"
|
|
},
|
|
eventChangeProductAttributeSwatch: {
|
|
params: function() {
|
|
return null
|
|
},
|
|
template: "eventChangeProductAttributeSwatch"
|
|
},
|
|
eventChangeRadio: {
|
|
params: function() {
|
|
return null
|
|
},
|
|
template: "eventChangeRadio"
|
|
},
|
|
eventChangeSelect: {
|
|
params: function() {
|
|
return null
|
|
},
|
|
template: "eventChangeSelect"
|
|
},
|
|
eventClick: {
|
|
params: function() {
|
|
return null
|
|
},
|
|
template: "eventClick"
|
|
},
|
|
eventRecaptcha: {
|
|
params: function() {
|
|
return null
|
|
},
|
|
template: "eventRecaptcha"
|
|
}
|
|
};
|
|
|
|
function P(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
const O = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return function(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? P(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : P(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}({
|
|
wrapper: e.productWrapper,
|
|
cartTitleRegexp: e.cartTitleRegexp,
|
|
isInternalTest: e.isInternalTest,
|
|
defaultRecipeTimeout: e.defaultRecipeTimeout
|
|
}, t)
|
|
},
|
|
template: "cartProductPageFetcher",
|
|
validateValidSubVimsFn: function(e) {
|
|
return e.some(function(e) {
|
|
return "markProductContainers" === e
|
|
})
|
|
}
|
|
},
|
|
cartOptsJs: {
|
|
preprocessTemplateWithParams: function(e, t) {
|
|
var r = "\n _t_cartPageSelectors = ".concat(JSON.stringify(e.cartPageSelectors), ";\n ");
|
|
return t && (r += "\n ".concat(t, "\nnativeAction('result', null);\n ")), r
|
|
},
|
|
params: function(e) {
|
|
return e
|
|
},
|
|
template: function(e) {
|
|
var t = e.params,
|
|
r = "CartOptsJs".concat(t.storeId);
|
|
return v[r]
|
|
},
|
|
paramsValidator: function(e) {
|
|
return b.hasDynamicSubvim(e, "CartOptsJs")
|
|
}
|
|
},
|
|
markProductContainers: {
|
|
params: function(e) {
|
|
return {
|
|
selector: e.productWrapper ? e.productWrapper : null
|
|
}
|
|
},
|
|
template: "markProductContainers"
|
|
},
|
|
fetchCartDetails: {
|
|
params: function(e) {
|
|
return {
|
|
timeout: e.productsOptsDelay || 1e4,
|
|
fields: {
|
|
shipping: e.cartShipping,
|
|
tax: e.cartTax,
|
|
subTotal: e.cartSubTotal,
|
|
total: e.cartTotal
|
|
}
|
|
}
|
|
},
|
|
template: "fetchCartDetails"
|
|
},
|
|
fetchCartProductInfo: {
|
|
params: function(e) {
|
|
return {
|
|
timeout: e.productsOptsDelay || 1e4,
|
|
fields: {
|
|
name: e.productName,
|
|
url: e.productURL,
|
|
sku: e.productSku,
|
|
images: e.productImage,
|
|
qty: e.productQTY,
|
|
attrs: e.productAttrs,
|
|
unitPrice: e.productUnitPrice,
|
|
totalPrice: e.productTotalPrice,
|
|
customId: e.cartCustomId
|
|
}
|
|
}
|
|
},
|
|
template: "fetchCartProductInfo"
|
|
},
|
|
waitForSelector: {
|
|
params: function(e) {
|
|
return {
|
|
frame: "document",
|
|
timeout: e.defaultRecipeTimeout
|
|
}
|
|
},
|
|
template: "waitForSelector"
|
|
}
|
|
};
|
|
|
|
function w(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
var k = new Set(["fetchOrderIdNoAuth", "fetchOrderIdAuth", "fetchOrderIdHoneySel"]);
|
|
const T = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return function(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? w(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : w(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}({
|
|
orderIdNoAuthSel: e.orderIdNoAuthSel,
|
|
orderIdAuthSel: e.orderIdAuthSel
|
|
}, t)
|
|
},
|
|
template: "checkoutInfo",
|
|
validateValidSubVimsFn: function(e) {
|
|
return e.some(k.has.bind(k))
|
|
}
|
|
},
|
|
fetchOrderIdNoAuth: {
|
|
params: function(e) {
|
|
return {
|
|
targetSelector: e.orderIdNoAuthSel,
|
|
timeout: 500,
|
|
separator: " ",
|
|
checkIfVisible: !0
|
|
}
|
|
},
|
|
template: "fetchText"
|
|
},
|
|
fetchOrderIdAuth: {
|
|
params: function(e) {
|
|
return {
|
|
targetSelector: e.orderIdAuthSel,
|
|
timeout: 500,
|
|
separator: " ",
|
|
checkIfVisible: !0
|
|
}
|
|
},
|
|
template: "fetchText"
|
|
},
|
|
fetchOrderIdHoneySel: {
|
|
params: function(e) {
|
|
return {
|
|
targetSelector: e.orderIdHoneySel,
|
|
timeout: 500,
|
|
separator: " ",
|
|
checkIfVisible: !0
|
|
}
|
|
},
|
|
template: "fetchText"
|
|
}
|
|
};
|
|
|
|
function I(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
const R = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return function(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? I(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : I(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}({
|
|
helloWorldName: e.helloWorldName
|
|
}, t)
|
|
},
|
|
template: "helloWorld",
|
|
validateValidSubVimsFn: function() {
|
|
return !0
|
|
}
|
|
}
|
|
};
|
|
|
|
function A(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
var V = new Set(["checkPageTypes"]);
|
|
const F = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return function(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? A(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : A(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}({
|
|
enableWatch: e.enableWatch,
|
|
pageSelectors: e.pageSelectors,
|
|
showMatches: e.showMatches
|
|
}, t)
|
|
},
|
|
template: "pageDetector",
|
|
validateValidSubVimsFn: function(e) {
|
|
return e.some(V.has.bind(V))
|
|
}
|
|
},
|
|
checkPageTypes: {
|
|
params: function(e) {
|
|
return {
|
|
billingParams: e.billingParams,
|
|
cartProductParams: e.cartProductParams,
|
|
checkoutConfirmParams: e.checkoutConfirmParams,
|
|
findSavingsParams: e.findSavingParams,
|
|
flightsParams: e.honeyFlightParams,
|
|
honeyGoldParams: e.honeyGoldParams,
|
|
paymentsParams: e.paymentParams,
|
|
productPageParams: e.productParams,
|
|
shopifyProductPageParams: e.shopifyProductPageParams,
|
|
shopifyWhereAmIParams: e.shopifyWhereAmIParams,
|
|
submitOrderParams: e.submitOrderParams,
|
|
whereAmIParams: e.whereAmIParams,
|
|
payLaterParams: e.payLaterParams
|
|
}
|
|
},
|
|
template: "checkPageTypes",
|
|
paramsValidator: function(e) {
|
|
return [e.billingParams, e.checkoutConfirmParams, e.findSavingsParams, e.flightsParams, e.honeyGoldParams, e.paymentsParams, e.productPageParams, e.shopifyProductPageParams, e.shopifyWhereAmIParams, e.submitOrderParams, e.whereAmIParams, e.payLaterParams].some(function(e) {
|
|
return function(e) {
|
|
return e && Array.isArray(e)
|
|
}(e)
|
|
})
|
|
}
|
|
}
|
|
};
|
|
|
|
function D(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
const j = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return function(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? D(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : D(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}({}, t)
|
|
},
|
|
template: "pageDetector17"
|
|
}
|
|
};
|
|
|
|
function M(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
const N = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return function(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? M(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : M(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}({}, t)
|
|
},
|
|
template: "pageDetector32"
|
|
}
|
|
};
|
|
|
|
function H(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
const U = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return function(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? H(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : H(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}({}, t)
|
|
},
|
|
template: "pageDetector185"
|
|
}
|
|
};
|
|
|
|
function B(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
const W = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return function(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? B(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : B(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}({}, t)
|
|
},
|
|
template: "pageDetector53225885396973217"
|
|
}
|
|
};
|
|
|
|
function L(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
const $ = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return function(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? L(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : L(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}({}, t)
|
|
},
|
|
template: "pageDetector149866213425254294"
|
|
}
|
|
};
|
|
|
|
function G(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
const J = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return function(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? G(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : G(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}({}, t)
|
|
},
|
|
template: "pageDetector188936808980551912"
|
|
}
|
|
};
|
|
|
|
function q(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
const z = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return function(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? q(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : q(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}({}, t)
|
|
},
|
|
template: "pageDetector239725216611791130"
|
|
}
|
|
};
|
|
|
|
function K(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
const Q = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return function(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? K(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : K(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}({}, t)
|
|
},
|
|
template: "pageDetector7552648263998104112"
|
|
}
|
|
};
|
|
|
|
function X(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
|
|
function Z(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? X(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : X(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}
|
|
var Y = m.SERVER,
|
|
ee = function(e, t) {
|
|
var r, n = (r = e.requiredFields.reduce(function(e, t) {
|
|
return "CUSTOM" === t.type && e.push('\n "'.concat(t.name.toLowerCase(), '": {\n get: function() {\n ').concat(t.get.replace(/\r/g, ""), "\n },\n set: function(fillValue) {\n ").concat(t.set.replace(/\r/g, ""), "\n },\n },\n ")), e
|
|
}, []).join("\n"), "{".concat(r, "}"));
|
|
return t.replace(/['"]{{{injectedFns}}}['"]/g, function() {
|
|
return n
|
|
})
|
|
};
|
|
const te = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return Z(Z({
|
|
categoryWrapper: e.categoryWrapper,
|
|
checkoutType: e.checkoutType,
|
|
defaultRecipeTimeout: e.defaultRecipeTimeout,
|
|
isInternalTest: e.isInternalTest,
|
|
errorStrings: e.errorStrings,
|
|
isVariantless: e.isVariantless
|
|
}, t), {}, {
|
|
weightDiv: e.weightDiv,
|
|
titleRegexp: e.titleRegexp,
|
|
skuRegexp: e.skuRegexp,
|
|
mpnRegexp: e.mpnRegexp,
|
|
gtinRegexp: e.gtinRegexp,
|
|
estimator: e.estimator,
|
|
currencyFormat: e.currencyFormat,
|
|
imagesRegexp: e.imagesRegexp
|
|
})
|
|
},
|
|
template: function(e) {
|
|
return e.platform === Y ? "productFetcherFull" : "productFetcherFullWithCleaner"
|
|
},
|
|
setupSubVims: ["setupSubEnv"]
|
|
},
|
|
setupSubEnv: {
|
|
template: "clientUtils",
|
|
params: function() {
|
|
return null
|
|
}
|
|
},
|
|
productOptsJs: {
|
|
preprocessTemplateWithParams: function(e) {
|
|
return "\n_t_productPageCheckoutType = '".concat(e.checkoutType, "';\n_t_productPageStatus = '").concat(e.productPageStatus, "';\n_t_productPageSelectors = ").concat(JSON.stringify(e.productPageSelectors), ";\n").concat(e.productOptsRetrievalJS, "\nnativeAction('result', null);\n")
|
|
},
|
|
params: function(e) {
|
|
return e
|
|
},
|
|
template: null
|
|
},
|
|
fetchProductInfo: {
|
|
preprocessTemplateWithParams: ee,
|
|
params: function(e) {
|
|
return {
|
|
timeout: e.productsOptsDelay || 1e4,
|
|
fields: {
|
|
title: e.productPageSelectors.title,
|
|
price: e.productPageSelectors.price,
|
|
original_price: e.productPageSelectors.original_price,
|
|
discounted_price: e.productPageSelectors.discounted_price,
|
|
custom_id: e.productPageSelectors.custom_id,
|
|
image: e.productPageSelectors.image,
|
|
alt_images: e.productPageSelectors.alt_images,
|
|
description: e.productPageSelectors.description,
|
|
returns: e.productPageSelectors.returns,
|
|
extra_info: e.productPageSelectors.extra_info,
|
|
weight: e.productPageSelectors.weight,
|
|
final_sale: e.productPageSelectors.final_sale,
|
|
pickup_support: e.productPageSelectors.pickup_support,
|
|
free_shipping: e.productPageSelectors.free_shipping,
|
|
non_purchasable: e.productPageSelectors.non_purchasable,
|
|
sku_identifier: e.productPageSelectors.sku_identifier,
|
|
mpn_identifier: e.productPageSelectors.mpn_identifier,
|
|
gtin_identifier: e.productPageSelectors.gtin_identifier,
|
|
brand: e.productPageSelectors.brand,
|
|
add_to_cart_present: e.addToCartButton ? e.addToCartButton.s : null,
|
|
categories: [e.categoryWrapper, e.categoryDiv].filter(Boolean).join(" ")
|
|
},
|
|
isVariantless: e.isVariantless,
|
|
fieldValidators: {
|
|
brand: "site_name" !== e.brandSelector
|
|
}
|
|
}
|
|
},
|
|
template: "fetchProductInfo"
|
|
},
|
|
fetchProductOptsRecursive: {
|
|
preprocessTemplateWithParams: ee,
|
|
params: function(e) {
|
|
return {
|
|
requiredFields: e.requiredFields,
|
|
productPageSelectors: e.productPageSelectors,
|
|
addToCartButton: e.addToCartButton,
|
|
isInternalTest: e.isInternalTest,
|
|
productPageWeightUnit: e.productPageWeightUnit,
|
|
killTimeout: e.productsOptsDelay || 1e4,
|
|
productOptsFieldDelay: e.productOptsFieldDelay,
|
|
pAttrRegExp: e.pAttrRegExp
|
|
}
|
|
},
|
|
template: "recursiveProductOptsRetrieval"
|
|
}
|
|
};
|
|
|
|
function re(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
|
|
function ne(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? re(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : re(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}
|
|
var ie = m.SERVER;
|
|
const ae = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return ne(ne({
|
|
categoryWrapper: e.categoryWrapper,
|
|
variantChangeEventType: e.variantChangeEventType,
|
|
checkoutType: e.checkoutType,
|
|
defaultRecipeTimeout: e.defaultRecipeTimeout,
|
|
isInternalTest: e.isInternalTest,
|
|
isVariantless: e.isVariantless
|
|
}, t), {}, {
|
|
weightDiv: e.weightDiv,
|
|
titleRegexp: e.titleRegexp,
|
|
skuRegexp: e.skuRegexp,
|
|
mpnRegexp: e.mpnRegexp,
|
|
gtinRegexp: e.gtinRegexp,
|
|
estimator: e.estimator,
|
|
currencyFormat: e.currencyFormat,
|
|
imagesRegexp: e.imagesRegexp,
|
|
optionTargets: e.optionTargets,
|
|
changeVariantDelay: e.productOptsFieldDelay
|
|
})
|
|
},
|
|
template: function(e) {
|
|
return e.platform === ie ? "productFetcherPartial" : "productFetcherPartialWithCleaner"
|
|
},
|
|
setupSubVims: ["setupSubEnv"]
|
|
},
|
|
setupSubEnv: {
|
|
template: "clientUtils",
|
|
params: function() {
|
|
return null
|
|
}
|
|
},
|
|
productOptsJs: {
|
|
preprocessTemplateWithParams: function(e) {
|
|
return "\n_t_productPageCheckoutType = '".concat(e.checkoutType, "';\n_t_productPageStatus = '").concat(e.productPageStatus, "';\n_t_productPageSelectors = ").concat(JSON.stringify(e.productPageSelectors), ";\n").concat(e.productOptsRetrievalJS, "\nnativeAction('result', null);\n")
|
|
},
|
|
params: function(e) {
|
|
return e
|
|
},
|
|
template: null
|
|
},
|
|
fetchPartialProductInfo: {
|
|
preprocessTemplateWithParams: function(e, t) {
|
|
var r, n = (r = e.requiredFields.reduce(function(e, t) {
|
|
return "CUSTOM" === t.type && e.push('\n "'.concat(t.name.toLowerCase(), '": {\n get: function() {\n ').concat(t.get, "\n },\n set: function(fillValue) {\n ").concat(t.set, "\n },\n },\n ")), e
|
|
}, []).join("\n"), "{".concat(r, "}"));
|
|
return t.replace(/['"]{{{injectedFns}}}['"]/g, function() {
|
|
return n
|
|
})
|
|
},
|
|
params: function(e) {
|
|
return {
|
|
timeout: e.productsOptsDelay || 1e4,
|
|
fields: {
|
|
title: e.productPageSelectors.title,
|
|
price: e.productPageSelectors.price,
|
|
original_price: e.productPageSelectors.original_price,
|
|
discounted_price: e.productPageSelectors.discounted_price,
|
|
custom_id: e.productPageSelectors.custom_id,
|
|
image: e.productPageSelectors.image,
|
|
alt_images: e.productPageSelectors.alt_images,
|
|
description: e.productPageSelectors.description,
|
|
returns: e.productPageSelectors.returns,
|
|
extra_info: e.productPageSelectors.extra_info,
|
|
weight: e.productPageSelectors.weight,
|
|
final_sale: e.productPageSelectors.final_sale,
|
|
pickup_support: e.productPageSelectors.pickup_support,
|
|
free_shipping: e.productPageSelectors.free_shipping,
|
|
non_purchasable: e.productPageSelectors.non_purchasable,
|
|
sku_identifier: e.productPageSelectors.sku_identifier,
|
|
mpn_identifier: e.productPageSelectors.mpn_identifier,
|
|
gtin_identifier: e.productPageSelectors.gtin_identifier,
|
|
brand: e.productPageSelectors.brand,
|
|
add_to_cart_present: e.addToCartButton ? e.addToCartButton.s : null,
|
|
categories: [e.categoryWrapper, e.categoryDiv].filter(Boolean).join(" ")
|
|
},
|
|
fieldValidators: {
|
|
brand: "site_name" !== e.brandSelector
|
|
},
|
|
isVariantless: e.isVariantless,
|
|
requiredFields: e.requiredFields,
|
|
productPageSelectors: e.productPageSelectors,
|
|
addToCartButton: e.addToCartButton ? e.addToCartButton.s : null,
|
|
isInternalTest: e.isInternalTest,
|
|
productPageWeightUnit: e.productPageWeightUnit,
|
|
pAttrRegExp: e.pAttrRegExp
|
|
}
|
|
},
|
|
template: "fetchPartialProductInfo"
|
|
}
|
|
};
|
|
|
|
function oe(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
const se = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return function(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? oe(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : oe(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}({}, t)
|
|
},
|
|
template: "productFetcher1"
|
|
}
|
|
};
|
|
|
|
function ce(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
const ue = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return function(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? ce(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : ce(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}({}, t)
|
|
},
|
|
template: "productFetcher2"
|
|
}
|
|
};
|
|
|
|
function le(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
const pe = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return function(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? le(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : le(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}({}, t)
|
|
},
|
|
template: "productFetcher28"
|
|
}
|
|
};
|
|
|
|
function de(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
const he = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return function(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? de(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : de(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}({}, t)
|
|
},
|
|
template: "productFetcher98"
|
|
}
|
|
};
|
|
|
|
function fe(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
const me = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return function(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? fe(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : fe(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}({}, t)
|
|
},
|
|
template: "productFetcher185"
|
|
}
|
|
};
|
|
|
|
function ge(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
const ve = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return function(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? ge(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : ge(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}({}, t)
|
|
},
|
|
template: "productFetcher200"
|
|
}
|
|
};
|
|
|
|
function ye(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
const _e = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return function(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? ye(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : ye(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}({}, t)
|
|
},
|
|
template: "productFetcher143839615565492452"
|
|
}
|
|
};
|
|
|
|
function be(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
const Se = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return function(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? be(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : be(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}({}, t)
|
|
},
|
|
template: "productFetcher459685887096746335"
|
|
}
|
|
};
|
|
|
|
function xe(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
const Pe = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return function(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? xe(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : xe(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}({}, t)
|
|
},
|
|
template: "productFetcher7360555217192209452"
|
|
}
|
|
};
|
|
|
|
function Oe(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
const we = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return function(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? Oe(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : Oe(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}({}, t)
|
|
},
|
|
template: "productFetcher7370049848889092396"
|
|
}
|
|
};
|
|
|
|
function ke(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
const Te = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return function(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? ke(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : ke(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}({}, t)
|
|
},
|
|
template: "productFetcher7613592105936880680"
|
|
}
|
|
};
|
|
|
|
function Ce(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
const Ee = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return function(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? Ce(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : Ce(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}({}, t)
|
|
},
|
|
template: "productFetcher7360676928657335852"
|
|
}
|
|
};
|
|
|
|
function Ie(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
const Re = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return function(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? Ie(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : Ie(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}({}, t)
|
|
},
|
|
template: "productFetcher477931476250495765"
|
|
}
|
|
};
|
|
|
|
function Ae(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
const Ve = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return function(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? Ae(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : Ae(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}({}, t)
|
|
},
|
|
template: "productFetcher477931826759157670"
|
|
}
|
|
};
|
|
|
|
function Fe(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
const De = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return function(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? Fe(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : Fe(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}({}, t)
|
|
},
|
|
template: "productFetcher477932326447320457"
|
|
}
|
|
};
|
|
|
|
function je(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
const Me = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return function(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? je(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : je(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}({}, t)
|
|
},
|
|
template: "productFetcher73"
|
|
}
|
|
};
|
|
|
|
function Ne(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
var He = new Set(["listenForSubmitOrderClickAuth", "listenForSubmitOrderClickNoAuth"]);
|
|
const Ue = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return function(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? Ne(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : Ne(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}({
|
|
submitOrderBtnAuthSel: e.submitOrderBtnAuthSel,
|
|
submitOrderBtnNoAuthSel: e.submitOrderBtnNoAuthSel
|
|
}, t)
|
|
},
|
|
template: "submitOrderListener",
|
|
validateValidSubVimsFn: function(e) {
|
|
return e.some(He.has.bind(He))
|
|
}
|
|
},
|
|
listenForSubmitOrderClickAuth: {
|
|
params: function(e) {
|
|
return {
|
|
targetSelector: e.submitOrderBtnAuthSel,
|
|
timeout: 3e3
|
|
}
|
|
},
|
|
template: "watchForClick"
|
|
},
|
|
listenForSubmitOrderClickNoAuth: {
|
|
params: function(e) {
|
|
return {
|
|
targetSelector: e.submitOrderBtnNoAuthSel,
|
|
timeout: 3e3
|
|
}
|
|
},
|
|
template: "watchForClick"
|
|
}
|
|
};
|
|
|
|
function Be(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
var We = new Set(["getWhereAmIFields"]);
|
|
const Le = {
|
|
main: {
|
|
params: function(e, t) {
|
|
return function(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? Be(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : Be(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}({}, t)
|
|
},
|
|
template: "whereAmI",
|
|
validateValidSubVimsFn: function(e) {
|
|
return e.some(We.has.bind(We))
|
|
}
|
|
},
|
|
getWhereAmIFields: {
|
|
params: function(e) {
|
|
return {
|
|
storeId: e.storeId,
|
|
whereAmIDelay: e.whereAmIDelay,
|
|
whereAmICategory: e.whereAmICategory,
|
|
whereAmIGroupLookup: e.whereAmIGroupLookup,
|
|
whereAmIGroupLookupKey: e.whereAmIGroupLookupKey,
|
|
whereAmIImage: e.whereAmIImage,
|
|
whereAmIItemLookup: e.whereAmIItemLookup,
|
|
whereAmIItemLookupKey: e.whereAmIItemLookupKey,
|
|
whereAmIKeyword: e.whereAmIKeyword,
|
|
whereAmIPrice: e.whereAmIPrice,
|
|
whereAmITitle: e.whereAmITitle,
|
|
ppTitleShape: e.ppTitleShape,
|
|
ppImageShape: e.ppImageShape,
|
|
ppPriceShape: e.ppPriceShape,
|
|
currencyFormat: e.currencyFormat,
|
|
whereAmIGroupLookupRegexp: e.whereAmIGroupLookupRegexp,
|
|
imagesRegexp: e.whereAmIImagesRegexp,
|
|
whereAmIItemLookupRegexp: e.whereAmIItemLookupRegexp,
|
|
titleRegexp: e.whereAmITitleRegexp,
|
|
gidMixin: e.gidMixin
|
|
}
|
|
},
|
|
template: function(e) {
|
|
var t = e.params,
|
|
r = "GetWhereAmIFields".concat(t.storeId);
|
|
return v[r] ? v[r] : "getWhereAmIFields"
|
|
},
|
|
paramsValidator: function(e) {
|
|
var t = [e.whereAmIGroupLookup, e.whereAmIGroupLookupKey, e.whereAmIItemLookup, e.whereAmIItemLookupKey, e.whereAmITitle, e.whereAmIPrice, e.whereAmIImage, e.whereAmICategory, e.whereAmIKeyword].some(function(e) {
|
|
return e
|
|
}),
|
|
r = b.hasDynamicSubvim(e, "GetWhereAmIFields");
|
|
return t || r
|
|
}
|
|
}
|
|
};
|
|
|
|
function $e(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
var Ge = new Set(["executeDacs"]);
|
|
|
|
function Je(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
|
|
function qe(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? Je(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : Je(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}
|
|
var ze = {
|
|
checkForErrors: {
|
|
params: function(e) {
|
|
return {
|
|
errorElements: e.errorElements
|
|
}
|
|
},
|
|
template: "checkForErrors"
|
|
}
|
|
},
|
|
Ke = {
|
|
addProductsToCart: x,
|
|
cartProductPageFetcher: O,
|
|
checkoutInfo: T,
|
|
cleanFullProductData: {
|
|
main: {
|
|
params: function(e) {
|
|
return {
|
|
weightDiv: e.weightDiv,
|
|
titleRegexp: e.titleRegexp,
|
|
skuRegexp: e.skuRegexp,
|
|
mpnRegexp: e.mpnRegexp,
|
|
gtinRegexp: e.gtinRegexp,
|
|
estimator: e.estimator,
|
|
currencyFormat: e.currencyFormat,
|
|
imagesRegexp: e.imagesRegexp,
|
|
isInternalTest: e.isInternalTest
|
|
}
|
|
},
|
|
template: "cleanFullProductData"
|
|
}
|
|
},
|
|
cleanPartialProductData: {
|
|
main: {
|
|
params: function(e) {
|
|
return {
|
|
weightDiv: e.weightDiv,
|
|
titleRegexp: e.titleRegexp,
|
|
skuRegexp: e.skuRegexp,
|
|
mpnRegexp: e.mpnRegexp,
|
|
gtinRegexp: e.gtinRegexp,
|
|
estimator: e.estimator,
|
|
currencyFormat: e.currencyFormat,
|
|
imagesRegexp: e.imagesRegexp,
|
|
isInternalTest: e.isInternalTest
|
|
}
|
|
},
|
|
template: "cleanPartialProductData"
|
|
}
|
|
},
|
|
helloWorld: R,
|
|
pageDetector: F,
|
|
pageDetector17: j,
|
|
pageDetector32: N,
|
|
pageDetector185: U,
|
|
pageDetector53225885396973217: W,
|
|
pageDetector149866213425254294: $,
|
|
pageDetector188936808980551912: J,
|
|
pageDetector239725216611791130: z,
|
|
pageDetector7552648263998104112: Q,
|
|
productFetcherFull: te,
|
|
productFetcherPartial: ae,
|
|
productFetcher1: se,
|
|
productFetcher2: ue,
|
|
productFetcher28: pe,
|
|
productFetcher98: he,
|
|
productFetcher185: me,
|
|
productFetcher200: ve,
|
|
productFetcher143839615565492452: _e,
|
|
productFetcher459685887096746335: Se,
|
|
productFetcher7360555217192209452: Pe,
|
|
productFetcher7370049848889092396: we,
|
|
productFetcher7613592105936880680: Te,
|
|
productFetcher7360676928657335852: Ee,
|
|
productFetcher477931476250495765: Re,
|
|
productFetcher477931826759157670: Ve,
|
|
productFetcher477932326447320457: De,
|
|
productFetcher73: Me,
|
|
submitOrderListener: Ue,
|
|
whereAmI: Le,
|
|
dacs: {
|
|
main: {
|
|
params: function(e, t) {
|
|
return function(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? $e(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : $e(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}({}, t)
|
|
},
|
|
template: "dacs",
|
|
validateValidSubVimsFn: function() {
|
|
return function(e) {
|
|
return e.some(Ge.has.bind(Ge))
|
|
}
|
|
}
|
|
},
|
|
executeDacs: {
|
|
params: function(e) {
|
|
return {
|
|
storeId: e.honey_id,
|
|
priceSelector: e.h_fs_final_price_selector
|
|
}
|
|
},
|
|
template: "executeDacs",
|
|
paramsValidator: function(e) {
|
|
return [e.storeId, e.priceSelector].some(function(e) {
|
|
return e
|
|
})
|
|
}
|
|
}
|
|
}
|
|
};
|
|
for (var Qe in Ke) Object.prototype.hasOwnProperty.call(Ke, Qe) && (Ke[Qe] = qe(qe({}, Ke[Qe]), ze));
|
|
const Xe = Ke;
|
|
var Ze = r(1227),
|
|
Ye = r.n(Ze),
|
|
et = "honey:vimGenerator",
|
|
tt = Ye()(et);
|
|
Ye().useColors = function() {
|
|
return !1
|
|
}, Ye().enable("".concat(et, ":*"));
|
|
const rt = {
|
|
error: tt.extend("error"),
|
|
warn: tt.extend("warn"),
|
|
debug: tt.extend("debug"),
|
|
setLogger: function(e) {
|
|
Ye().log = e
|
|
}
|
|
};
|
|
|
|
function nt(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
|
|
function it(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? nt(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : nt(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}
|
|
var at = function() {
|
|
try {
|
|
return {
|
|
addProductsToCart: '!function(){"use strict";var t,e={EXTENSION:"extension",MOBILE:"mobile",MOBILE_EXTENSION:"mobile-extension",SERVER:"server",SIX:"six"},n={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},r={};function o(t,e){return nativeAction(t,e)}function a(){return r.console?r.console():console}function i(t){return r.sleep?r.sleep(t):sleep(t)}function s(){return t||(t=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),r.parameters?r.parameters(t):t}function u(t){return s().shouldUseMixins&&t?o(n.HandleMixin,t):t}function c(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=s()[t];return e?u(n):n}function d(){var t=[e.EXTENSION,e.MOBILE],n=c("platform");if(n)for(var r=0;r<t.length;r+=1)if(t[r]===n)return!0;return!1}function l(){return(r.inputData?r.inputData(inputData):inputData)||{}}var p=a(),g={DivRetrieve:"%%!!%%",DivRetrieveScope:"@@--@@",Error:"^^!!^^",CheckError:"^^$$^^",DebugError:"^^__^^",DebugNotice:"%%@@%%",Snapshot:"**!!**",HTML:"$$^^$$",Message:"--**--",Purchase:"**--**",Percentage:"!!^^!!",SessionData:"##!!##"};function f(t){if(!d()){var e=o(n.RunVimInContext,{subVim:c("checkForErrors")});e.forEach((function(t){p.log("".concat(g.CheckError,"order_error").concat(g.CheckError).concat(JSON.stringify(t)))})),e.length>0&&t&&(o(n.TakeSnapshot,{force:!0}),o(n.Finish,{}))}}function h(){p.log.apply(p,arguments)}function v(t,e){return o(t,e)}function m(t){d()||v(n.TakeSnapshot,{force:t})}function C(t){d()?p.log(JSON.stringify(t)):p.log(g.DebugNotice+JSON.stringify(t))}function y(t,e,r){if(d())o(n.WriteError,{varName:t,message:e,debug:r});else{var a=r?g.DebugError:g.Error;p.log(a+t+a+JSON.stringify(e))}}function S(t,e){var r;f(),t&&m(),e&&(d()||v(n.SaveHtml,{force:r})),o(n.Finish,{})}h("Starting Add Products To Cart VIM");var E=u(l().products),b=u(l().productFieldsInput),D=u(l().siteFieldsInput),R=function(t){var e=E[t],a=e.url,s=a.match(/#.*(tt-[\\d]+).*/,"$1"),u=s&&s.length>1?s[1]:null,l=a.split("#")[0],v=1;if(b&&b[t]&&b[t].quantity&&"yes"!==c("storeOptions.disable_product_quantity")&&(v=Math.round(b[t].quantity)),0===v)return"continue";for(var R=1,T=0,V=function(a,i){var s=a.field_key;if(u&&u.length>0&&a.s&&"yes"!==a.is_optional&&(a.s=(r.utils?r.utils():__utils__).prependSelectorFromVariable(a.s,u)),"shipping_zip"===s)return a.field_value=D[s],a;if(2!==a.type&&1010!==a.type&&1012!==a.type||(a.productMD5=t,a.product=e,a.field_value=b[t][s]),"quantity"===s){if(!o(n.RunVimInContext,{subVim:c("productPageHasQuantityField"),options:{targetSelector:a.s}}).visible)return null;if(R=Math.round(a.field_value),2===a.type&&"SELECT"===a.tag_name&&a.options){R=v-T;var d=1;a.options.forEach((function(t){Math.round(t.text)>d&&(d=Math.round(t.text))})),R>d&&(R=d)}a.field_value=R.toString();var l=a.options;if(l)for(var p=0;p<l.length;p+=1){var g=l[p];if(Math.round(g.text)===Math.round(R)){a.field_value=g.value.toString();break}}h("Setting quantity value: ".concat(a.field_value,"."))}return a},_=function(t,e){if(2===t.type||1010===t.type||1012===t.type){var n=c("addToCartFieldPressDelay");t.timeout&&(n=Math.max(n,t.timeout)),i(n)}},O=function(){var r,a=c("doAddToCart");r="Adding product ".concat(e.title,"."),d()?p.log(r):p.log(g.Message+JSON.stringify(r)),C("Adding product ".concat(e.title,".")),m(),b&&b[t]&&C("Attributes: ".concat(JSON.stringify(b[t]))),i(500),h("Running page.goto");var s=Date.now();o(n.PageGoto,{url:l}),h("Finished running page.goto, took: ".concat(Date.now()-s,"ms")),h("Running setupSubEnv");var v=Date.now();if(o(n.RunVimInContext,{subVim:c("setupSubEnv")}),h("Finished running setupSubEnv, took: ".concat(Date.now()-v,"ms")),i(c("addToCartDelay")),c("productOptsJs")){h("Running productOptsJs");var E=Date.now();o(n.RunVimInContext,{subVim:c("productOptsJs")}),h("Finished running productOptsJs, took: ".concat(Date.now()-E,"ms"))}if(c("markProductContainers")){h("Running markProductContainers");var D=Date.now();o(n.RunVimInContext,{subVim:c("markProductContainers"),options:{scope:u}}),h("Finished running markProductContainers, took: ".concat(Date.now()-D,"ms"))}m();var O=u&&u.length>0?u:"";h("Running addToCartButtonsCount");var k=Date.now(),F=o(n.RunVimInContext,{subVim:c("addToCartButtonsCount"),options:{prependSelector:O}});h("Finished running addToCartButtonsCount, took: ".concat(Date.now()-k,"ms")),F&&F>1&&(y("change","Multiple add to cart buttons present.",!0),S(!1,!1));var w=null;if(c("fetchAddToCartChanges")){h("Running fetchAddToCartChanges");var x=Date.now();w=JSON.stringify(o(n.RunVimInContext,{subVim:c("fetchAddToCartChanges")})),h("Finished running addToCartChangesBefore, took: ".concat(Date.now()-x,"ms")),w&&w.length>0&&(w=w.trim().replace(/\\s/g," ").replace(/\\s{2,}/g," ")),h("Got add to cart before recording: ".concat(w))}!function(t,e,n,r){for(var o=0;o<t.length;o+=1){var a=t[o];if(a=JSON.parse(JSON.stringify(a)),n&&(a=n(a,o)),a){var s=" (".concat(Math.round(o/t.length*100),"%)"),u="yes"===a.is_optional,c="recording_".concat(o),d=Date.now();h("Starting recording step ".concat(o," of type: ").concat(a.type)),20===a.type?this.eventClick(a,!u,e+s,c):2===a.type||1010===a.type||1012===a.type?this.eventChange(a,!u,e+s,c):1e3===a.type?(C("Sleeping for ".concat(a.interval,"ms.")),i(a.interval)):1001===a.type?this.eventJavascript(a.s,a.timeout,c):1011===a.type?this.eventProductOptsJs(a,c):1101===a.type&&this.eventReCaptcha(a,c),h("Finished recording step ".concat(o," of type: ").concat(a.type,", took: ").concat(Date.now()-d,"ms")),r&&r(a,o)}}}(a,"Adding ".concat(e.title,"."),V,_),i(1e3);h("Running fetchAddToCartChanges");var P=Date.now(),I=null;try{I=function(t,e,n,r){var o=Math.ceil(t/e),a=0,s=null;for(a=0;a<=o&&!r(s=n());a+=1)i(e);if(a>o)throw new Error("timeout in waitForFunction");return s}(10500,50,(function(t){var e=JSON.stringify(o(n.RunVimInContext,{subVim:c("fetchAddToCartChanges")}));return e&&e.length>0&&(e=e.trim().replace(/\\s/g," ").replace(/\\s{2,}/g," ")),e}),(function(t){return t&&t!==w}))}catch(t){h("Error waiting for add to cart contents to change: ".concat(t.message,". Assuming timeout (therefore no change)"))}h("Got add to cart after recording: ".concat(I)),h("Finished running fetchAddToCartChanges, took: ".concat(Date.now()-P)),I||(!function(t,e){if(d())o(n.EchoToVariable,{varName:t,value:e});else{var r=g.DivRetrieve;p.log(r+t+r+JSON.stringify(e))}}("failed_to_add_to_cart",t),y("add_to_cart_changes","We\'re sorry, ".concat(e.title," or the options you chose are no longer available.")),S(!0,!0)),f(),T+=R};T<v;)O()};for(var T in E)R(T);o(n.Result,!0)}();',
|
|
cartProductPageFetcher: '!function(){"use strict";var e,r={EXTENSION:"extension",MOBILE:"mobile",MOBILE_EXTENSION:"mobile-extension",SERVER:"server",SIX:"six"},t={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},n={};function o(e,r){return nativeAction(e,r)}function a(){return n.console?n.console():console}function i(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),n.parameters?n.parameters(e):e}function c(e){var r,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a=i()[e];return n?(r=a,i().shouldUseMixins&&r?o(t.HandleMixin,r):r):a}function s(){var e=[r.EXTENSION,r.MOBILE],t=c("platform");if(t)for(var n=0;n<e.length;n+=1)if(e[n]===t)return!0;return!1}var u=a(),l={DivRetrieve:"%%!!%%",DivRetrieveScope:"@@--@@",Error:"^^!!^^",CheckError:"^^$$^^",DebugError:"^^__^^",DebugNotice:"%%@@%%",Snapshot:"**!!**",HTML:"$$^^$$",Message:"--**--",Purchase:"**--**",Percentage:"!!^^!!",SessionData:"##!!##"};function p(e){if(!s()){var r=o(t.RunVimInContext,{subVim:c("checkForErrors")});r.forEach((function(e){u.log("".concat(l.CheckError,"order_error").concat(l.CheckError).concat(JSON.stringify(e)))})),r.length>0&&e&&(o(t.TakeSnapshot,{force:!0}),o(t.Finish,{}))}}function m(){u.log.apply(u,arguments)}function g(e,r){return o(e,r)}function h(e,r,n){if(s())o(t.WriteError,{varName:e,message:r,debug:n});else{var a=n?l.DebugError:l.Error;u.log(a+e+a+JSON.stringify(r))}}function f(e,r){var n;p(),e&&(s()||g(t.TakeSnapshot,{force:n})),r&&function(e){s()||g(t.SaveHtml,{force:e})}(),o(t.Finish,{})}function d(e){var r=JSON.parse(JSON.stringify(e)),t=c("cartTitleRegexp");return t&&r.name&&(r.name=(n.utils?n.utils():__utils__).applyRegExpToString(r.name,t)),r}m("Starting Cart Product Page Fetcher VIM");var E=c("wrapper"),S=c("cartOptsJs"),P=c("frame")||"document";function v(e){return"".concat(e).replace(/^\\.+/,"").replace(/\\.$/,"")}S&&g(t.RunVimInContext,{subVim:S}),g(t.RunVimInContext,{subVim:c("waitForSelector"),options:{selector:E,frame:P}});var V=g(t.RunVimInContext,{subVim:c("markProductContainers"),options:{hasAnyElements:!0}}),C=[];m("CPPF_VIM: Found ".concat(V.length," products."));var I={},R=c("fetchCartDetails");R&&(I=g(t.RunVimInContext,{subVim:R})),V.forEach((function(e){m("CPPF_VIM: Scraping product: ".concat(JSON.stringify(e)));try{var r={},n=c("fetchCartProductInfo");n&&(r=g(t.RunVimInContext,{subVim:n,options:{prependSelector:e}})),r.url&&I.url&&"/"===r.url[0]&&(r.__pageUrl=I.url),r.unitPrice&&(r.unitPrice=v(r.unitPrice)),r.totalPrice&&(r.totalPrice=v(r.totalPrice));var o=d(r);C.push(o)}catch(e){m("CPPF_VIM: Error fetching cart contents: ".concat(e||e.message)),h("cart_contents","Error fetching cart contents",!0),p(),f()}}));var b={products:C,details:I};m("CPPF_VIM: Finished, reporting ".concat(C.length," products.")),g(t.AnnounceAsEvent,{event:"cart_contents",data:b}),o(t.Result,b)}();',
|
|
checkoutInfo: '!function(){"use strict";var e,r={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},t={};function n(e,r){return nativeAction(e,r)}function o(){return t.console?t.console():console}function a(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),t.parameters?t.parameters(e):e}function i(e){var t,o=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=a()[e];return o?(t=i,a().shouldUseMixins&&t?n(r.HandleMixin,t):t):i}var s,u=o();function c(e,r){return n(e,r)}function l(e){var t=i(e);!s&&t&&(s=c(r.RunVimInContext,{subVim:t,options:{}}))}!function(){u.log.apply(u,arguments)}("Starting Checkout Info VIM"),l("fetchOrderIdNoAuth"),l("fetchOrderIdAuth"),l("fetchOrderIdHoneySel"),c(r.ReportOrderId,s)}();',
|
|
cleanFullProductData: '!function(){"use strict";function e(r){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(r)}var r,i={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},t="partialProduct",n={};function a(e,r){return nativeAction(e,r)}function o(){return n.console?n.console():console}function p(){return r||(r=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),n.parameters?n.parameters(r):r}function c(){return n.utils?n.utils():__utils__}function u(e){var r,t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=p()[e];return t?(r=n,p().shouldUseMixins&&r?a(i.HandleMixin,r):r):n}function s(){return(n.inputData?n.inputData(inputData):inputData)||{}}var l=u("currencyFormat"),d=["h3","h4","h5","h6","blockquote","p","a","ul","ol","nl","li","b","i","strong","em","strike","hr","br","div","table","thead","caption","tbody","tr","th","td","pre"],g={h1:"h3",h2:"h3"},_=[[/\\s{2,}/g," "],[/(<br ? \\/?>[\\s]?){3,}/g,"<br/>"],[" "," "]],f={us:/-?\\s*\\d+(?:,\\d{3})*(?:\\.[\\d-]{0,2})?/,de:/-?\\s*\\d+(?:[ .]\\d{3})*(?:,[\\d-]{0,2})?/,se:/-?\\s*\\d+(?:[, ]\\d{3})*(?::[\\d-]*)?/},m={us:function(e){return e.replace(/,/g,"").replace(".-",".00")},se:function(e){return e.replace(":-",":00").replace(/ /g,"").replace(":",".")},de:function(e){return e.replace(/\\./g,"").replace(",-",",00").replace(",",".")}},h={"AMOUNT USD":"$AMOUNT",US$AMOUNT:"$AMOUNT","USD AMOUNT":"$AMOUNT","$ AMOUNT":"$AMOUNT","$AMOUNT USD":"$AMOUNT",AU$AMOUNT:"AMOUNT AUD","AU$ AMOUNT":"AMOUNT AUD",AUD$AMOUNT:"AMOUNT AUD",$AMOUNTAUD:"AMOUNT AUD","$AMOUNT AUD":"AMOUNT AUD"},T={$:"USD","\u20ac":"EUR","\xa3":"GBP","\u20a4":"GBP",R$:"BRL",R:"ZAR","\xa5":"JPY",C$:"CAD"},v="AMOUNT";function y(e,r){var i=100,t=function(e){var r=/\\$|\u20ac|\xa3|\u20a4|R\\\\$|R|\xa5|C\\$/,i=e.match(/[A-Z]{2,3}/i),t=e.match(r);if(i&&i.length>0)return i[0];if(t&&t.length>0)return T[t[0]];return null}((e=e||"$".concat(v)).replace(v,"10.0"));if(t){var n=c().getCurrencyInfo([t.toLowerCase()]);n&&(i=n.subunit_to_unit)}return"number"==typeof r&&1!==i&&(r=r.toFixed(2)),h[e]&&(e=h[e]),e.replace(v,r.toString())}function U(r,i){if(r=r||"$".concat(v),i){i=(i=i.replace(/\\|/g," ").trim()).replace(/\\s+/g," ").trim();var t,n,a=c().findCurrencyInLargeString(r,i,!0,h,f);"object"===e(a)&&null!==a.price?(t=a.price,n=m[a.converter]):t=a,n&&(t=n(t)),i=(t=Math.abs(c().parseCurrency(t)))?y(r,t):null}return i}function A(e,r){if(!e)return e;if(0===e.indexOf("//"))return"http:".concat(e);if(-1===e.indexOf("://")){var i=(n.parseUrl?n.parseUrl():parseUrl)(r).hostname;return"http://".concat(i,"/").concat(e)}return e}function S(e,r){if(e.image=A(e.image,r),e.alt_images)for(var i=0;i<e.alt_images.length;i+=1)e.alt_images[i]=A(e.alt_images[i],r);var t=u("imagesRegexp");if(t&&(e.image=c().applyRegExpToString(e.image,t),e.alt_images))for(var n=0;n<e.alt_images.length;n+=1)e.alt_images[n]=c().applyRegExpToString(e.alt_images[n],t);e.alt_images&&(e.alt_images=Object.keys(e.alt_images.reduce((function(e,r){return e[r]=!0,e}),{})))}function b(e){if("string"==typeof e.price||"string"==typeof e.discounted_price||"string"==typeof e.original_price){if(e.price=U(l,e.price),e.discounted_price=U(l,e.discounted_price),e.original_price=U(l,e.original_price),e.discounted_price&&e.original_price){var r=e.discounted_price,i=e.original_price,t=r.match(/\\$/g),n=i.match(/\\$/g),a=t?t.length:null,o=n?n.length:null;a>1?e.discounted_price=e.discounted_price.replace(i,""):o>1&&(e.original_price=e.original_price.replace(r,""))}u("isInternalTest")||!e.discounted_price||e.original_price||(e.price=e.discounted_price,delete e.original_price,delete e.discounted_price),e.discounted_price&&e.original_price&&(e.discounted_price!==e.price||e.original_price!==e.price)?(e.price=e.discounted_price,delete e.discounted_price):(delete e.original_price,delete e.discounted_price)}}function O(e){var r=!1;if(e.weight&&"string"==typeof e.weight){var i=e.weight.match(/[+-]?\\.?\\d+(\\.\\d+)?/g);if(i&&i[0]){var t=Number(i[0]);if(isNaN(t)&&(r=!0),t<=0&&(r=!0),!r){e.weight=t;var n=u("weightDiv"),a=u("weightDiv.weight_unit");n&&"lbs"===a?e.weight/=.0022046:n&&"oz"===a?e.weight/=.035274:n&&"kg"===a&&(e.weight*=1e3),e.weight=parseFloat(e.weight)}}else r=!0}r&&(e.weight="")}function R(e){var r=u("skuRegexp"),i=u("mpnRegexp"),t=u("gtinRegexp");r&&e.product_ids.sku&&(e.product_ids.sku=c().applyRegExpToString(e.product_ids.sku,r)),i&&e.product_ids.mpn&&(e.product_ids.mpn=c().applyRegExpToString(e.product_ids.mpn,i)),t&&e.product_ids.gtin&&(e.product_ids.gtin=c().applyRegExpToString(e.product_ids.gtin,t))}function x(r,i){var t,n,a=Object.prototype.hasOwnProperty.bind(r);for(t in r)if(a(t)&&"object"===e(r[t])){var o=r[t];o&&((o.price||o.discounted_price||o.original_price)&&b(o),o.weight&&O(o),o.image&&S(o,i),o.value&&0===(n=o).value.indexOf("//")&&(n.value="http:".concat(n.value)),o.product_ids&&R(o)),x(o,i)}}var M=o();!function(){M.log.apply(M,arguments)}("Starting Clean Full Product Data VIM"),o().log(JSON.parse(JSON.stringify(s())));var N=JSON.parse(JSON.stringify(s()));!function(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=u("titleRegexp"),n=u("skuRegexp"),a=u("mpnRegexp"),o=u("gtinRegexp"),p=JSON.parse(JSON.stringify(e));i&&p.title&&(p.title=c().applyRegExpToString(p.title,i)),n&&p.product_ids.sku&&(p.product_ids.sku=c().applyRegExpToString(p.product_ids.sku,n)),a&&p.product_ids.mpn&&(p.product_ids.mpn=c().applyRegExpToString(p.product_ids.mpn,a)),o&&p.product_ids.gtin&&(p.product_ids.gtin=c().applyRegExpToString(p.product_ids.gtin,o)),function(e){if(e.image=e.image&&e.image[0]?e.image[0]:"",!e.image||0===e.image.length){for(var r=null,i=e.required_field_values;i;){var t=i[Object.keys(i)[0]];if(!t||!t[0])break;t[0].image&&t[0].image.length>0&&(r=t[0].image),i=t[0].dep}r&&r.length>0&&(e.image=r)}}(p),S(p,p.url),b(p),O(p),R(p),p.required_field_values&&x(p.required_field_values,p.url),p.in_stock=function(e){for(var r=e.observationType===t,i=r?e.requiredFieldNames||[]:e.required_field_names||[],n=!1,a=r?null:e.required_field_values||{},o=0;o<i.length;o+=1){var p=i[o];if("quantity"!==p)if(r&&e[p]&&e[p].length>0)n=!0;else{if(!(!r&&a&&a[p]&&a[p].length>0)){n=!1;break}a=a[p][0].dep,n=!0}}return!n&&0===i.length&&e.add_to_cart_present&&(n=!0),n}(p)||r&&p.add_to_cart_present,p.description&&p.description.length>0&&(p.descriptionText=c().sanitizeHTML(p.description,[],{},[_[0]],!0).trim(),p.description=c().sanitizeHTML(p.description,d,g,_)),p.returns&&p.returns.length>0&&(p.returnText=c().sanitizeHTML(p.returns,[],{},[_[0]],!0).trim(),p.returns=c().sanitizeHTML(p.returns,d,g,_)),p.pickup_support=!!(p.pickup_support&&p.pickup_support.length>0),p.final_sale=!!p.final_sale,p.free_shipping=!!p.free_shipping,p.purchasable=!p.non_purchasable,p.price=U(l,p.price),p.original_price=U(l,p.original_price),p.discounted_price=U(l,p.discounted_price)}(N),a(i.ReportCleanedProduct,N)}();',
|
|
cleanPartialProductData: '!function(){"use strict";function e(r){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(r)}var r,i={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},t="partialProduct",n={};function a(e,r){return nativeAction(e,r)}function o(){return n.console?n.console():console}function p(){return r||(r=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),n.parameters?n.parameters(r):r}function c(){return n.utils?n.utils():__utils__}function u(e){var r,t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=p()[e];return t?(r=n,p().shouldUseMixins&&r?a(i.HandleMixin,r):r):n}var s=u("currencyFormat"),l=["h3","h4","h5","h6","blockquote","p","a","ul","ol","nl","li","b","i","strong","em","strike","hr","br","div","table","thead","caption","tbody","tr","th","td","pre"],d={h1:"h3",h2:"h3"},g=[[/\\s{2,}/g," "],[/(<br ? \\/?>[\\s]?){3,}/g,"<br/>"],[" "," "]],_={us:/-?\\s*\\d+(?:,\\d{3})*(?:\\.[\\d-]{0,2})?/,de:/-?\\s*\\d+(?:[ .]\\d{3})*(?:,[\\d-]{0,2})?/,se:/-?\\s*\\d+(?:[, ]\\d{3})*(?::[\\d-]*)?/},f={us:function(e){return e.replace(/,/g,"").replace(".-",".00")},se:function(e){return e.replace(":-",":00").replace(/ /g,"").replace(":",".")},de:function(e){return e.replace(/\\./g,"").replace(",-",",00").replace(",",".")}},m={"AMOUNT USD":"$AMOUNT",US$AMOUNT:"$AMOUNT","USD AMOUNT":"$AMOUNT","$ AMOUNT":"$AMOUNT","$AMOUNT USD":"$AMOUNT",AU$AMOUNT:"AMOUNT AUD","AU$ AMOUNT":"AMOUNT AUD",AUD$AMOUNT:"AMOUNT AUD",$AMOUNTAUD:"AMOUNT AUD","$AMOUNT AUD":"AMOUNT AUD"},h={$:"USD","\u20ac":"EUR","\xa3":"GBP","\u20a4":"GBP",R$:"BRL",R:"ZAR","\xa5":"JPY",C$:"CAD"},T="AMOUNT";function v(e,r){var i=100,t=function(e){var r=/\\$|\u20ac|\xa3|\u20a4|R\\\\$|R|\xa5|C\\$/,i=e.match(/[A-Z]{2,3}/i),t=e.match(r);if(i&&i.length>0)return i[0];if(t&&t.length>0)return h[t[0]];return null}((e=e||"$".concat(T)).replace(T,"10.0"));if(t){var n=c().getCurrencyInfo([t.toLowerCase()]);n&&(i=n.subunit_to_unit)}return"number"==typeof r&&1!==i&&(r=r.toFixed(2)),m[e]&&(e=m[e]),e.replace(T,r.toString())}function y(r,i){if(r=r||"$".concat(T),i){i=(i=i.replace(/\\|/g," ").trim()).replace(/\\s+/g," ").trim();var t,n,a=c().findCurrencyInLargeString(r,i,!0,m,_);"object"===e(a)&&null!==a.price?(t=a.price,n=f[a.converter]):t=a,n&&(t=n(t)),i=(t=Math.abs(c().parseCurrency(t)))?v(r,t):null}return i}function U(e,r){if(!e)return e;if(0===e.indexOf("//"))return"http:".concat(e);if(-1===e.indexOf("://")){var i=(n.parseUrl?n.parseUrl():parseUrl)(r).hostname;return"http://".concat(i,"/").concat(e)}return e}function A(e,r){if(e.image=U(e.image,r),e.alt_images)for(var i=0;i<e.alt_images.length;i+=1)e.alt_images[i]=U(e.alt_images[i],r);var t=u("imagesRegexp");if(t&&(e.image=c().applyRegExpToString(e.image,t),e.alt_images))for(var n=0;n<e.alt_images.length;n+=1)e.alt_images[n]=c().applyRegExpToString(e.alt_images[n],t);e.alt_images&&(e.alt_images=Object.keys(e.alt_images.reduce((function(e,r){return e[r]=!0,e}),{})))}function b(e){if("string"==typeof e.price||"string"==typeof e.discounted_price||"string"==typeof e.original_price){if(e.price=y(s,e.price),e.discounted_price=y(s,e.discounted_price),e.original_price=y(s,e.original_price),e.discounted_price&&e.original_price){var r=e.discounted_price,i=e.original_price,t=r.match(/\\$/g),n=i.match(/\\$/g),a=t?t.length:null,o=n?n.length:null;a>1?e.discounted_price=e.discounted_price.replace(i,""):o>1&&(e.original_price=e.original_price.replace(r,""))}u("isInternalTest")||!e.discounted_price||e.original_price||(e.price=e.discounted_price,delete e.original_price,delete e.discounted_price),e.discounted_price&&e.original_price&&(e.discounted_price!==e.price||e.original_price!==e.price)?(e.price=e.discounted_price,delete e.discounted_price):(delete e.original_price,delete e.discounted_price)}}function S(e){var r=!1;if(e.weight&&"string"==typeof e.weight){var i=e.weight.match(/[+-]?\\.?\\d+(\\.\\d+)?/g);if(i&&i[0]){var t=Number(i[0]);if(isNaN(t)&&(r=!0),t<=0&&(r=!0),!r){e.weight=t;var n=u("weightDiv"),a=u("weightDiv.weight_unit");n&&"lbs"===a?e.weight/=.0022046:n&&"oz"===a?e.weight/=.035274:n&&"kg"===a&&(e.weight*=1e3),e.weight=parseFloat(e.weight)}}else r=!0}r&&(e.weight="")}function O(e){var r=u("skuRegexp"),i=u("mpnRegexp"),t=u("gtinRegexp");r&&e.product_ids.sku&&(e.product_ids.sku=c().applyRegExpToString(e.product_ids.sku,r)),i&&e.product_ids.mpn&&(e.product_ids.mpn=c().applyRegExpToString(e.product_ids.mpn,i)),t&&e.product_ids.gtin&&(e.product_ids.gtin=c().applyRegExpToString(e.product_ids.gtin,t))}function R(r,i){var t,n,a=Object.prototype.hasOwnProperty.bind(r);for(t in r)if(a(t)&&"object"===e(r[t])){var o=r[t];o&&((o.price||o.discounted_price||o.original_price)&&b(o),o.weight&&S(o),o.image&&A(o,i),o.value&&0===(n=o).value.indexOf("//")&&(n.value="http:".concat(n.value)),o.product_ids&&O(o)),R(o,i)}}var x=o();!function(){x.log.apply(x,arguments)}("Starting Clean Partial Product Data VIM");var M=JSON.parse(JSON.stringify((n.inputData?n.inputData(inputData):inputData)||{}));!function(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=u("titleRegexp"),n=u("skuRegexp"),a=u("mpnRegexp"),o=u("gtinRegexp"),p=JSON.parse(JSON.stringify(e));i&&p.title&&(p.title=c().applyRegExpToString(p.title,i)),n&&p.product_ids.sku&&(p.product_ids.sku=c().applyRegExpToString(p.product_ids.sku,n)),a&&p.product_ids.mpn&&(p.product_ids.mpn=c().applyRegExpToString(p.product_ids.mpn,a)),o&&p.product_ids.gtin&&(p.product_ids.gtin=c().applyRegExpToString(p.product_ids.gtin,o)),function(e){if(e.image=e.image&&e.image[0]?e.image[0]:"",!e.image||0===e.image.length){for(var r=null,i=e.required_field_values;i;){var t=i[Object.keys(i)[0]];if(!t||!t[0])break;t[0].image&&t[0].image.length>0&&(r=t[0].image),i=t[0].dep}r&&r.length>0&&(e.image=r)}}(p),A(p,p.url),b(p),S(p),O(p),p.required_field_values&&R(p.required_field_values,p.url),p.in_stock=function(e){for(var r=e.observationType===t,i=r?e.requiredFieldNames||[]:e.required_field_names||[],n=!1,a=r?null:e.required_field_values||{},o=0;o<i.length;o+=1){var p=i[o];if("quantity"!==p)if(r&&e[p]&&e[p].length>0)n=!0;else{if(!(!r&&a&&a[p]&&a[p].length>0)){n=!1;break}a=a[p][0].dep,n=!0}}return!n&&0===i.length&&e.add_to_cart_present&&(n=!0),n}(p)||r&&p.add_to_cart_present,p.description&&p.description.length>0&&(p.descriptionText=c().sanitizeHTML(p.description,[],{},[g[0]],!0).trim(),p.description=c().sanitizeHTML(p.description,l,d,g)),p.returns&&p.returns.length>0&&(p.returnText=c().sanitizeHTML(p.returns,[],{},[g[0]],!0).trim(),p.returns=c().sanitizeHTML(p.returns,l,d,g)),p.pickup_support=!!(p.pickup_support&&p.pickup_support.length>0),p.final_sale=!!p.final_sale,p.free_shipping=!!p.free_shipping,p.purchasable=!p.non_purchasable,p.price=y(s,p.price),p.original_price=y(s,p.original_price),p.discounted_price=y(s,p.discounted_price)}(M),a(i.ReportCleanedProduct,M)}();',
|
|
dacs: '!function(){"use strict";var e,t={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},r={};function n(e,t){return nativeAction(e,t)}function a(){return r.console?r.console():console}function o(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),r.parameters?r.parameters(e):e}function i(e){return o().shouldUseMixins&&e?n(t.HandleMixin,e):e}function s(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=o()[e];return t?i(r):r}function u(){return(r.inputData?r.inputData(inputData):inputData)||{}}var c=a();if(function(){c.log.apply(c,arguments)}("Starting DACs VIM"),null===u())n(t.RunVimInContext,{subVim:s("executeDacs"),options:{coupons:[],basePrice:0}});else{var p=i(u().coupons),l=i(u().basePrice);n(t.RunVimInContext,{subVim:s("executeDacs"),options:{coupons:p,basePrice:l}})}}();',
|
|
helloWorld: '!function(){"use strict";var e,r={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},t={};function a(e,r){return nativeAction(e,r)}function o(){return t.console?t.console():console}function n(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),t.parameters?t.parameters(e):e}function i(e){var t,o=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=n()[e];return o?(t=i,n().shouldUseMixins&&t?a(r.HandleMixin,t):t):i}var l=o();!function(){l.log.apply(l,arguments)}("Starting Hello World VIM"),a(r.Result,"Hello, ".concat(i("helloWorldName")||"World","!"))}();',
|
|
pageDetector: '!function(){"use strict";var e,r={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},t={};function a(e,r){return nativeAction(e,r)}function o(){return t.console?t.console():console}function n(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),t.parameters?t.parameters(e):e}function i(e){var t,o=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=n()[e];return o?(t=i,n().shouldUseMixins&&t?a(r.HandleMixin,t):t):i}var s=o();function u(e,r){return a(e,r)}!function(){s.log.apply(s,arguments)}("Starting Page Detector");var p=((t.inputData?t.inputData(inputData):inputData)||{}).shouldUseFramework||!1;function l(){var e=u(r.RunVimInContext,{subVim:i("checkPageTypes"),options:{shouldUseFramework:p}}),t=e.pageTypes,a=e.frameworks;u(r.ReportPageTypes,{types:t,frameworks:a,shouldUseFramework:p})}if(l(),i("enableWatch")){var c={},d=i("pageSelectors");if(d)for(var h=0,g=Object.entries(d),m=0;m<g.length;m+=1){var f=g[m][0],P=g[m][1];if(P&&P.length)for(var S=0;S<P.length;S+=1)c[f+h]=P[S],h+=1}for(;;)u(r.WaitForPageUpdate,{url:!0,selectors:c}),l()}}();',
|
|
pageDetector149866213425254294: '!function(){"use strict";var t="reportPageTypes",a="waitForPageUpdate",e="getPageHtml",i={};function d(t,a){return nativeAction(t,a)}function s(){return i.console?i.console():console}var r=s();!function(){r.log.apply(r,arguments)}("In PageDetector149866213425254294 - mainVim");var n=/stockx\\.com(?:\\/buy)?\\/.*/,o=\'body:not(:has(div[class*="size-details"])) [data-testid="product-size-grid"], [data-testid="bidask-pill-buynow"], .size-select-grid, [data-testid="pdp-hero"]\',c=/stockx\\.com\\/buy\\/.*/,u=\'button[data-testid="bidask-edit-payment"], div input.chakra-input\',l=/stockx\\.com\\/buy\\/.*/,p=\'.payment-selection, [data-testid="payment-selection-wrapper"]\',m=\'div#bottom-bar-root button:contains("Confirm Purchase"), div#bottom-bar-root button:contains("Place Order"), div[data-testid="confirm-details-wrapper"], div[data-testid="bid-page"]:has(div[data-component="multi-order-summary"])\',b=/.*\\/buy\\/.*/,g=\'.success-title:contains("Order"), .success-title:contains("Auftrag"), div[data-testid="order-success-wrapper"] h2:contains("Order Confirmed"), div[data-testid="order-success-wrapper"]\',h=\'body:not(:has(div[class*="size-details"])) [data-testid="product-size-grid"], [data-testid="bidask-pill-buynow"], .size-select-grid, [data-testid="pdp-hero"]\',f=/stockx\\.com(?:\\/buy)?\\/.*/,v=(i.inputData?i.inputData(inputData):inputData)||{},y=v.url;function D(t,a){var e=parseHtml(a),i=!!t.match(n),d=e.find(o).length>0,s=!!t.match(f),r=e.find(h).length>0,v=!!t.match(c),y=e.find(u).length>0,D=!!t.match(l),P=e.find(p).length>0,k=e.find(m).length>0,w=!!t.match(b),C=e.findValue(g,"text");return{PRODUCT:i&&d,WHERE_AM_I:s&&r,FIND_SAVINGS:v&&y,GOLD_REWARDS:D&&P,CART_PRODUCT:k,CHECKOUT_CONFIRM:w&&C}}for(;;){y=d(a,{url:!0,selectors:{product:o,whereAmI:h,cartProduct:m,findSavings:u,gold:p,orderId:g}}).url||v.url||"";var P=d(e);d(t,{types:D(y,P)})}}();',
|
|
pageDetector17: '!function(){"use strict";var t="reportPageTypes",a="waitForPageUpdate",o="getPageHtml",e={};function i(t,a){return nativeAction(t,a)}function n(){return e.console?e.console():console}var s=n();!function(){s.log.apply(s,arguments)}("In PageDetector17 - mainVim");var d=\'span.as-productdecision-familyname, h1[data-autom="productTitle"], h1[data-autom="productSelectionHeader"], div.as-productdecision-header h1, h1.as-configuration-maintitle, div#title.as-pdp-title h1, div.as-configuration-maintitle, body:not(:has([class*=addons] [class*=addons-buyflow])) div.rf-flagship-product-header, body:not(:has([class*=addons] [class*=addons-buyflow])) [role=main] #root [class*=configuration-maintitle], h1[data-autom*=maintitle], div.product-selection-header\',r=/apple\\.com\\/shop/,l=\'span.as-productdecision-familyname, h1[data-autom="productTitle"], h1[data-autom="productSelectionHeader"], div.as-productdecision-header h1, h1.as-configuration-maintitle, div#title.as-pdp-title h1, div.as-configuration-maintitle, body:not(:has([class*=addons] [class*=addons-buyflow])) div.rf-flagship-product-header, body:not(:has([class*=addons] [class*=addons-buyflow])) [role=main] #root [class*=configuration-maintitle], h1[data-autom*=maintitle], div.product-selection-header\',c=/apple\\.com\\/shop/,u=".rs-payment-options",p=".as-buttonlink.rs-thankyou-ordernumber, .rs-thankyou-ordernumber",h=/store\\.apple\\.com\\/.*shop\\/checkout\\/thankyou/,m=/^https:\\/\\/www.apple.com\\/$/,f=/^https:\\/\\/www\\.apple\\.com\\/(?:us-hed\\/)?(?:us_epp.*\\/)?(?:us-edu\\/)?shop\\/bag/i,g="div.rs-bag-checkoutbutton-bottom",v=(e.inputData?e.inputData(inputData):inputData)||{};function b(t,a){var o=parseHtml(a),e=o.find(d).length>0,i=!!t.match(r),n=o.find(l).length>0,s=!!t.match(c),v=o.find(u).length>0,b=!!t.match(h),y=!!t.match(m),w=o.findValue(p,"text"),D=!!t.match(f),T=o.find(g).length>0;return{PRODUCT:i&&e,WHERE_AM_I:s&&n,CHECKOUT_CONFIRM:b&&w,PAYMENTS:v,BILLING:y,GOLD_REWARDS:D&&T,CART_PRODUCT:o.find(\'div#bag-content ol#cart-items li[role="listitem"], div.rs-checkout ol.rs-iteminfos\').length>0}}for(;;){var y=i(a,{url:!0,selectors:{product:d,whereAmI:l,payments:u,orderId:p,billing:"#ac-globalnav, .homepage-section",gold:g}}).url||v.url||"",w=i(o);i(t,{types:b(y,w)})}}();',
|
|
pageDetector185: '!function(){"use strict";var e,t={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},r={};function a(e,t){return nativeAction(e,t)}function o(){return r.console?r.console():console}function n(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),r.parameters?r.parameters(e):e}function i(e){var r,o=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=n()[e];return o?(r=i,n().shouldUseMixins&&r?a(t.HandleMixin,r):r):i}var c=o();!function(){c.log.apply(c,arguments)}("In PageDetector185 - mainVim");var _=i("v4Params"),p=_.v4_pageDetector_product_page_regex,s=_.v4_pageDetector_product_page_selector,l=_.v4_pageDetector_where_am_i_regex,g=_.v4_pageDetector_where_am_i_selector,u=_.v4_pageDetector_find_savings_regex,d=_.v4_pageDetector_cart_code_box_selector,m=_.v4_pageDetector_cart_total_price_selector,h=_.v4_pageDetector_honey_gold_regex,v=_.v4_pageDetector_honey_gold_selector,D=_.v4_pageDetector_cart_page_selector,P=_.v4_pageDetector_confirmation_regex,f=_.v4_pageDetector_order_id_selector,R=_.v4_pageDetector_payment_regex,S=_.v4_pageDetector_payments_selector,T=_.v4_pageDetector_submit_order_regex,x=_.v4_pageDetector_submit_order_selector,C=((r.inputData?r.inputData(inputData):inputData)||{}).url;function b(e,t){var r=parseHtml(t),a=!!e.match(p),o=!!e.match(l),n=!!e.match(u),i=r.find(d).length>0&&r.find(m).length>0,c=!!e.match(h),_=r.find(v).length>0,s=r.find(D).length>0,g=!!e.match(R)&&r.find(S).length>0,f=!!e.match(T),C=r.find(x).length>0,b=!!e.match(P),E=e.match(P),I=E&&E[1];return{PRODUCT:a,WHERE_AM_I:o,FIND_SAVINGS:n&&i,GOLD_REWARDS:c&&_,CART_PRODUCT:s,CHECKOUT_CONFIRM:b&&I,PAYMENTS:g,SUBMIT_ORDER:f&&C}}for(;;){var E=a(t.WaitForPageUpdate,{url:!0,selectors:{product:s,whereAmI:g,findSavings:[d,m],gold:v,cartProduct:D,orderId:f,payments:S,submitOrder:x}});E&&E.url&&(C=E.url);var I=a(t.GetPageHtml);if(a(t.ReportPageTypes,{types:b(C,I)}),E&&E.isTest&&"true"===E.isTest)break}}();',
|
|
pageDetector188936808980551912: '!function(){"use strict";var t="reportPageTypes",e="waitForPageUpdate",n="getPageHtml",a={};function o(t,e){return nativeAction(t,e)}function r(){return a.console?a.console():console}var c=r();!function(){c.log.apply(c,arguments)}("In PageDetector188936808980551912 - mainVim");var u=\'[data-section-id=product__main], meta[content="product"]\',i=/eufy\\.com\\/products\\/.*/,d=".payment-due__price, #checkout_reduction_code, #tdf_extra_code",p=".os-order-number, span.thank-you__order__number, div.section--thank-you strong",s=/Order #?([0-9]+)/,_=/\\/[0-9]+\\/checkouts\\/[a-f0-9]{32}\\/thank_you/,l=(a.inputData?a.inputData(inputData):inputData)||{};function f(t,e){var n=parseHtml(e),a=n.find(u).length>0,o=!!t.match(i),r=n.find(d).length>0,c=!!t.match(_),l=((n.findValue(p,"text")||"").match(s)||[])[1];return{SHOPIFY_PRODUCT_PAGE:a&&o,SHOPIFY_FIND_SAVINGS:r,CHECKOUT_CONFIRM:c&&l}}for(;;){var m=o(e,{url:!0,selectors:{product:u,findSavings:d,checkout:p}}).url||l.url||"",h=o(n);o(t,{types:f(m,h)})}}();',
|
|
pageDetector239725216611791130: '!function(){"use strict";var t="reportPageTypes",a="waitForPageUpdate",i="getPageHtml",o={};function e(t,a){return nativeAction(t,a)}function n(){return o.console?o.console():console}var r=n();!function(){r.log.apply(r,arguments)}("In PageDetector188936808980551912 - mainVim");var c,d,s,l,u,v,p,h,m,f,_,g=/vivino\\.com\\/.*\\/w\\//,C=\'body:has(div#purchase-availability span[class*="currentPrice"]) div.row.container\',D="body:has(div#purchase-availability) div.row.container",P=/vivino\\.com\\/checkout/,I=\'#couponCode, #coupon_code, [class*="CouponApplied"] + [class*="CouponManagement__link"]\',y=\'[class*=OrderConfirmationStep__orderConfirmationStep] tfoot tr:last-child td:last-child [class*=OrderConfirmationStep], [class*="totalPrice"] > [class*="formattedPrice"]\',O=/vivino\\.com\\/carts/,A=\'#cart-page button[class*=startCheckoutButton__checkoutButton], [class*="stepper__active"]:contains("Payment")\',R=\'div#cart-page div[class*="cartListItem__item"]\',S=\'div[class*="orderConfirmation"] h4:contains("Order ID"), div[class*="signedInModal__heading"]:contains("your order has been placed"), div#checkout-app div[class*="orderConfirmationHeader"] [class*="orderConfirmationHeader__headerTitle"]\',b={},H=((o.inputData?o.inputData(inputData):inputData)||{}).url;for(;;)(b=e(a,{url:!0,selectors:{product:C,whereAmI:D,findSavings:[I,y],gold:A,cartProduct:R,orderId:S}})).url&&(H=b.url),e(t,{types:(c=H,d=e(i),s=void 0,l=void 0,u=void 0,v=void 0,p=void 0,h=void 0,m=void 0,f=void 0,_=void 0,s=parseHtml(d),l=!!c.match(g),u=s.find(C).length>0,v=!!c.match(g),p=s.find(D).length>0,h=!!c.match(P),m=s.find(I).length>0&&s.find(y).length>0,f=!!c.match(O),_=s.find(A).length>0,{PRODUCT:l&&u,WHERE_AM_I:v&&p,FIND_SAVINGS:h&&m,GOLD_REWARDS:f&&_,CART_PRODUCT:s.find(R).length>0,CHECKOUT_CONFIRM:s.find(S).length>0&&s.findValue(S,"text")})})}();',
|
|
pageDetector32: '!function(){"use strict";var t="reportPageTypes",e="waitForPageUpdate",r="getPageHtml",o={};function n(t,e){return nativeAction(t,e)}function c(){return o.console?o.console():console}var a=c();!function(){a.log.apply(a,arguments)}("In PageDetector32 - mainVim");var i="#pdp_chooseitems_img, a.choose-your-items",d="div.product-details-feature h1",p=/bloomingdales\\.com\\/shop\\/product\\/.*?ID=([\\d]+)/,u=/bloomingdales\\.com\\/my-bag/,m=/bloomingdales\\.com\\/(?:chkout\\/(?:rcsignedin\\?perfectProxy|rc\\?perfectProxy)|my-checkout)/,l="#rc-orderConfirmation-orderNumber, #rc-confirm-orderNumber, div.rc-order-number",s=/bloomingdales\\.com\\/(?:chkout\\/(?:rcsignedin\\?perfectProxy|rc\\?perfectProxy|internationalShipping\\?perfectProxy)|my-checkout)/,g=\'#rc-card-details-form, a[data-section=rc-payment-info][aria-level="1"]\',f=".bag-product, body:not(:has(.bag-product)) .product-image",h="button.place-order-cta:not([disabled])",y=/bloomingdales\\.com\\/(?:chkout\\/(?:rcsignedin\\?perfectProxy|rc\\?perfectProxy|internationalShipping\\?perfectProxy)|my-checkout)/,b=(o.inputData?o.inputData(inputData):inputData)||{};function P(t,e){var r=parseHtml(e),o=!!t.match(p),n=!!t.match(u),c=!!t.match(m),a=!!t.match(s),b=r.find(i)&&r.find(i).length,P=r.findValue(l,"text"),v=r.find(g).length>0,D=r.find(f).length>0,_=r.find(d).length>0,x=!!t.match(y),S=r.find(h).length>0;return{PRODUCT:!b&&o,WHERE_AM_I:_,FIND_SAVINGS:n,GOLD_REWARDS:c,CHECKOUT_CONFIRM:a&&P,PAYMENTS:v,CART_PRODUCT:D,SUBMIT_ORDER:x&&S}}for(;;){var v=n(e,{url:!0,selectors:{product:"button.add-to-bag",whereAmI:d,cartProduct:f,findSavings:["#promo-apply-input, #promo-remove-button","#cx-at-SUM_SUB_TOTAL-value"],gold:"#rc-place-order-btn",orderId:l,payments:g,submitOrder:h}}).url||b.url||"",D=n(r);n(t,{types:P(v,D)})}}();',
|
|
pageDetector53225885396973217: '!function(){"use strict";var t="reportPageTypes",n="waitForPageUpdate",e="getPageHtml",a={};function o(t,n){return nativeAction(t,n)}function r(){return a.console?a.console():console}var i=r();!function(){i.log.apply(i,arguments)}("In PageDetector53225885396973217 - mainVim");var c=\'[class="product__title"]\',u=".payment-due__price",s=".os-order-number, span.thank-you__order__number, div.section--thank-you strong",p=/Order #?([0-9]+)/,d=/\\/[0-9]+\\/checkouts\\/[a-f0-9]{32}\\/thank_you/,l=(a.inputData?a.inputData(inputData):inputData)||{};function _(t,n){var e=parseHtml(n),a=e.find(c).length>0,o=e.find(u).length>0&&e.find(\'body:has(.section--payment-method:visible) #checkout_reduction_code, span.payment-due__price:not(:contains("$0.00"))\').length>0,r=!!t.match(d),i=((e.findValue(s,"text")||"").match(p)||[])[1];return{SHOPIFY_PRODUCT_PAGE:a,SHOPIFY_FIND_SAVINGS:o,CHECKOUT_CONFIRM:r&&i}}for(;;){var h=o(n,{url:!0,selectors:{product:c,findSavings:u,checkout:s}}).url||l.url||"",f=o(e);o(t,{types:_(h,f)})}}();',
|
|
pageDetector7552648263998104112: '!function(){"use strict";var t="reportPageTypes",n="waitForPageUpdate",e="getPageHtml",a={};function r(t,n){return nativeAction(t,n)}function o(){return a.console?a.console():console}var u=o();!function(){u.log.apply(u,arguments)}("In PageDetector7552648263998104112 - mainVim");var c=\'[data-section-id="product_colourpop"], [data-section-id*=product_breadcrumbs]\',i=".payment-due__price",p=".os-order-number, span.thank-you__order__number, div.section--thank-you strong",s=/Order #?([0-9]+)/,d=/\\/[0-9]+\\/checkouts\\/[a-f0-9]{32}\\/thank_you/,l=(a.inputData?a.inputData(inputData):inputData)||{};function _(t,n){var e=parseHtml(n),a=e.find(c).length>0,r=e.find(i).length>0,o=!!t.match(d),u=((e.findValue(p,"text")||"").match(s)||[])[1];return{SHOPIFY_PRODUCT_PAGE:a,SHOPIFY_FIND_SAVINGS:r,CHECKOUT_CONFIRM:o&&u}}for(;;){var f=r(n,{url:!0,selectors:{product:c,findSavings:i,checkout:p}}).url||l.url||"",g=r(e);r(t,{types:_(f,g)})}}();',
|
|
productFetcher1: '!function(){"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(t){var r=function(t,r){if("object"!=e(t)||!t)return t;var a=t[Symbol.toPrimitive];if(void 0!==a){var c=a.call(t,r||"default");if("object"!=e(c))return c;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==e(r)?r:r+""}function r(e,r,a){return(r=t(r))in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}var a,c={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},o={};function n(e,t){return nativeAction(e,t)}function i(){return a||(a=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),o.parameters?o.parameters(a):a}function l(e){var t,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a=i()[e];return r?(t=a,i().shouldUseMixins&&t?n(c.HandleMixin,t):t):a}function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function p(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?u(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):u(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}var d="2.0.2",_="4.0.0",h=l("v4Params"),f=h.v4_productFetcher_imageBaseUrl,m=h.v4_productFetcher_productUrlBase,s=/.*\\/(?:[\\w\\-%]+\\/)?(?:dp|gp\\/product)\\/(?:\\w+\\/)?(\\w{10})/,v=/^\\$?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(\\.[0-9][0-9])?$/,g=/^\\d*\\.?\\d{2}$/,F=50,x=h.v4_productFetcher_priceblockOurpriceSelector,R=h.v4_productFetcher_priceblockDealpriceSelector,D=h.v4_productFetcher_priceSelectors,S=h.v4_productFetcher_priceblockAltDollarsSelector,y=h.v4_productFetcher_priceblockAltCentsSelector,V=h.v4_productFetcher_parentAsinSelector1,b=h.v4_productFetcher_parentAsinSelector2,I=h.v4_productFetcher_parentAsinSelector3,w=h.v4_productFetcher_parentAsinAttribute1,k=h.v4_productFetcher_parentAsinRegex1&&new RegExp(h.v4_productFetcher_parentAsinRegex1),E=h.v4_productFetcher_parentAsinRegex2&&new RegExp(h.v4_productFetcher_parentAsinRegex2),P=h.v4_productFetcher_variantImageSelectors,O=h.v4_productFetcher_variantImageRegex&&new RegExp(h.v4_productFetcher_variantImageRegex),A=h.v4_productFetcher_bookConditionProdDetailsSelector,C=h.v4_productFetcher_bookConditionOfferTypesSelector,B=h.v4_productFetcher_bookConditionNameSelector,M=h.v4_productFetcher_bookConditionNameReplaceRegex&&new RegExp(h.v4_productFetcher_bookConditionNameReplaceRegex),j=h.v4_productFetcher_bookConditionImprintSelector,T=h.v4_productFetcher_bookConditionPriceSelector,N=h.v4_productFetcher_bookConditionListPriceSelector,H=h.v4_productFetcher_variantDataSelectors,J=h.v4_productFetcher_variantImageReplaceRegex&&new RegExp(h.v4_productFetcher_variantImageReplaceRegex),q=h.v4_productFetcher_variantImageReplaceValue,K=h.v4_productFetcher_variationValuesRegex&&new RegExp(h.v4_productFetcher_variationValuesRegex),U=h.v4_productFetcher_dimensionValuesDisplayDataRegex&&new RegExp(h.v4_productFetcher_dimensionValuesDisplayDataRegex),W=h.v4_productFetcher_variantDataMatchedKeyMatchRegex&&new RegExp(h.v4_productFetcher_variantDataMatchedKeyMatchRegex),$=h.v4_productFetcher_variantDataDetailKeyReplaceRegex&&new RegExp(h.v4_productFetcher_variantDataDetailKeyReplaceRegex,"g"),G=h.v4_productFetcher_variantDataDetailKeyReplaceValue,L=h.v4_productFetcher_formatDataImgExclusionRegex&&new RegExp(h.v4_productFetcher_formatDataImgExclusionRegex),z=h.v4_productFetcher_formatDataFineArtTitleArtistSelector,X=h.v4_productFetcher_formatDataFineArtBylineSelector,Q=h.v4_productFetcher_formatDataFineArtReleaseDateSelector,Y=h.v4_productFetcher_formatDataArtistBioSelector,Z=h.v4_productFetcher_formatDataTitleSelector,ee=h.v4_productFetcher_formatDataTitleReplaceRegex&&new RegExp(h.v4_productFetcher_formatDataTitleReplaceRegex,"g"),te=h.v4_productFetcher_formatDataTitleReplaceValue,re=h.v4_productFetcher_formatDataTitleReplaceRegex2&&new RegExp(h.v4_productFetcher_formatDataTitleReplaceRegex2,"g"),ae=h.v4_productFetcher_formatDataTitleReplaceValue2,ce=h.v4_productFetcher_formatDataPriceRangeRegex&&new RegExp(h.v4_productFetcher_formatDataPriceRangeRegex),oe=h.v4_productFetcher_formatDataPriceListSelector,ne=h.v4_productFetcher_formatDataBrandSelector,ie=h.v4_productFetcher_formatDataBrandHrefSelector,le=h.v4_productFetcher_formatDataBrandHrefMatchRegex&&new RegExp(h.v4_productFetcher_formatDataBrandHrefMatchRegex),ue=h.v4_productFetcher_formatDataAuthorSelector,pe=h.v4_productFetcher_formatDataBookImagesScriptSelector,de=h.v4_productFetcher_formatDataBookImagesScriptMatchRegex&&new RegExp(h.v4_productFetcher_formatDataBookImagesScriptMatchRegex),_e=h.v4_productFetcher_formatDataImagePrimaryCustomSelectors,he=h.v4_productFetcher_formatDataImagePrimaryCustomValue,fe=h.v4_productFetcher_formatDataImagePrimaryReplaceRegex&&new RegExp(h.v4_productFetcher_formatDataImagePrimaryReplaceRegex),me=h.v4_productFetcher_formatDataImagePrimaryReplaceValue,se=h.v4_productFetcher_formatDataSecondaryImagesSelectors,ve=h.v4_productFetcher_formatDataNewSecondaryImagesSelector,ge=h.v4_productFetcher_formatDataBookDescriptionSelector,Fe=h.v4_productFetcher_formatDataBookDescriptionReplaceRegex&&new RegExp(h.v4_productFetcher_formatDataBookDescriptionReplaceRegex,"g"),xe=h.v4_productFetcher_formatDataBookDescriptionReplaceValue,Re=h.v4_productFetcher_formatDataExtDescriptionSelector,De=h.v4_productFetcher_formatDataCurrencySelector,Se=h.v4_productFetcher_formatDataRatingStringSelector,ye=h.v4_productFetcher_formatDataRatingValueMatchRegex&&new RegExp(h.v4_productFetcher_formatDataRatingValueMatchRegex),Ve=h.v4_productFetcher_formatDataVariantIdSelector,be=h.v4_productFetcher_formatDataBrandReplaceRegex&&new RegExp(h.v4_productFetcher_formatDataBrandReplaceRegex,"g"),Ie=h.v4_productFetcher_formatDataBrandReplaceValue,we=h.v4_productFetcher_formatDataCategoriesSelector,ke=h.v4_productFetcher_formatDataDescriptionSelector,Ee=h.v4_productFetcher_formatDataInStockSelector,Pe=h.v4_productFetcher_formatDataInStockMatchRegex&&new RegExp(h.v4_productFetcher_formatDataInStockMatchRegex,"i"),Oe=h.v4_productFetcher_formatDataInStockKindleSelector,Ae=h.v4_productFetcher_formatDataInStockCartSelector,Ce=h.v4_productFetcher_formatDataSimilarProductsSelector,Be=h.v4_productFetcher_formatDataRelatedProductsSelector,Me=h.v4_productFetcher_formatDataRatingCountSelector,je=h.v4_productFetcher_formatDataSellerNameSelector,Te=h.v4_productFetcher_formatDataSellerIdSelector,Ne=h.v4_productFetcher_formatDataSellerIdMatchRegex&&new RegExp(h.v4_productFetcher_formatDataSellerIdMatchRegex),He=h.v4_productFetcher_formatDataLanguageSelector,Je=h.v4_productFetcher_formatDataSkuSelector,qe=h.v4_productFetcher_formatDataGtinSelector,Ke=h.v4_productFetcher_formatDataMerchantInfoSelector,Ue=h.v4_productFetcher_formatDataMerchantInfoMatchRegex&&new RegExp(h.v4_productFetcher_formatDataMerchantInfoMatchRegex),We=h.v4_productFetcher_formatDataBookCategoryMatchRegex&&new RegExp(h.v4_productFetcher_formatDataBookCategoryMatchRegex),$e=h.v4_productFetcher_formatDataBookImageScriptSelector,Ge=h.v4_productFetcher_formatDataBookEditionSelector,Le=h.v4_productFetcher_formatDataBookTypeSelector,ze=[],Xe=(o.inputData?o.inputData(inputData):inputData)||{};function Qe(e){return e?htmlDecode(e).replace(/\\s{2,}/g," ").replace(/<(p|div|hd|br|li).*?>/g,"\\n").replace(/<\\/?.*?>/g,"").trim():""}function Ye(e){var t=e.replace(/^\\$/,"").replace(",","").replace("-",".").replace(/\\$.*$/,"");return t.match(g)?t:void 0}function Ze(e){var t;return D.push(x,R),D.some((function(r){var a=e.find(r);if(0===a.length||0===a.text().length||0===a.text().trim().length)return!1;var c=a.text().trim();return t=r===R||r===x?function(e,t,r){if(t.match(v))return Ye(t);var a=e.find("".concat(r," ").concat(S)),c=e.find("".concat(r," ").concat(y));if(a&&a.text()&&a.text().trim()&&c&&c.text()&&c.text().trim()){var o=a.text().trim(),n=c.text().trim(),i="".concat(o,".").concat(n);return i.match(g)?i:void 0}}(e,c,r):Ye(c),!!t})),t}function et(e,t){var r=t.match(s);if(r){var a=m+r[1];ze.indexOf(a)<0&&(e.push({url:a,parent_id:r[1]}),ze.push(a))}return e}function tt(e){var t;try{(t=((e.find(V).eq(0).attr(w)||"").match(k)||["",""])[1])||(t=(((e.find(b).eq(0)||{}).html()||"").match(E)||[])[1]),t||(t=((JSON.parse(e.find(I).eq(0).text())||{}).productInfo||{}).parentAsin)}catch(e){}return t}function rt(e,t,r){var a,c=function(e){var t=[],r={};return P.some((function(a){var c=(e.find(a).eq(0).html()||"").match(O)||[];if(c.length>0){try{r=JSON.parse(c[1])}catch(e){r={}}Object.entries(r).forEach((function(e){Array.isArray(e[1])&&e[1].length>1&&(t[e[0]]=e[1][0].hiRes||e[1][0].large||"")}))}return Object.keys(t).length>0})),t}(e),o=[],n=[];return H.some((function(i){var l,u,d,_=e.find(i).eq(0).html()||"",h=_.match(K)||[],f=_.match(U)||[],m=!1,s=[],v=0,g=[];if(!_)return!1;if(f.length>0&&h.length>0){try{h=JSON.parse(h[1]),f=JSON.parse(f[1])}catch(e){return!1}for(h=Object.entries(h).reduce((function(e,t){var r=t[0]||"",a=t[1]||[];return r.length>0&&a.forEach((function(t){e[t]=r})),e}),{}),s=Object.entries(f);v<s.length&&(u=(l=s[v])[0],d=g.length<F,!m||d);)u===r.variant_id?(m=!0,g.push(l)):(m&&d||!m&&g.length<F-1)&&g.push(l),v+=1;o=g.reduce((function(e,o){var i,l=o[0],u=o[1],d={product_id:l,availability:!0,currency:r.currency,details:{},image_url:(c[u[0]]||c[u[1]]||c[u.join(" ")]||"").replace(J,q),merch_id:r.parent_id,offer_id:l,asin:l,offer_type:"variation",brand:r.brand},_={access:!0,collar:!0,color:!0,edition:!0,finish:!0,fit:!0,flavor:!0,height:!0,inseam:!0,image:!0,length:!0,material:!0,model:!0,neck:!0,option:!0,platform:!0,size:!0,sleeve:!0,style:!0,team:!0,type:!0,waist:!0,weight:!0,width:!0};return i=u.reduce((function(e,t){var r=p({},e),a=((h[t]||"").match(W)||[])[0],c=_[a]?a:"option",o="option"===c?"".concat(h[t].replace($,G)," - ").concat(t):t;return"option"===c&&r[c]?r[c]="".concat(r[c],", ").concat(o):r[c]=o,r}),{}),d.details=i,n.push(d),l===t?a=i:e.push(d),e}),[])}return!0})),{allVariants:o,currentDetails:a,migrationVariants:n}}function at(e,t,r){var a=L,c=e.findValue(z,"text"),o=e.findValue(X,"text"),n=e.findValue(Q,"text"),i=c&&o?"".concat(c," - ").concat(o):"";n&&(i+=" ".concat(n));var l,u,h=e.findValue(Y,"text"),s=e.findValue(Z,"text").trim().replace(ee,te).replace(re,ae),v=Ze(e),g=v&&v.match(ce)?void 0:price.clean(v),F=price.clean(e.find(oe).last().text()),x=e.findValue(ne,"text")||((e.findValue(ie,"href")||"").match(le)||[])[1]||"",R=e.findValue(ue,"text");R&&x.length>300&&(x=R);try{u=JSON.parse(((e.find(pe).eq(0).html()||"").match(de)||[])[1]||"")}catch(e){}var D=(u||[]).map((function(e){return e.mainUrl})),S=e.findValue("#fine-art-landingImage","data-old-hires")||e.findValue("#fine-art-landingImage","src")||e.findValue("#landingImage","data-old-hires")||e.findValue("#imgTagWrapperId img","src")||(e.findValue("#altImages img","src")||"").replace(/._.*_(?=.jpg)/,"")||e.findValue("#ebooksImgBlkFront, #imgBlkFront","src")||D.shift()||e.findValue(_e,he),y=(e.findArrayValues(se,"src").length>0?e.findArrayValues(se,"src"):e.findArrayValues(ve,"src")).reduce((function(e,t){return t.match(a)||S===t.replace(fe,me)||e.push(t.replace(fe,me)),e}),[]),V=y.length?y:D;if(S&&!S.match(a)||(S=V.shift()),!S||S.length>1e3){var b,I=e.findValue("#landingImage","data-a-dynamic-image");try{b=JSON.parse(I)}catch(e){}S=Object.keys(b||{})[0]}var w,k=e.findValue(ge,"text").trim().replace(Fe,xe),E=e.findArrayValues(Re,"text").join("\\n"),P=E&&Qe(E),O=h&&Qe(h),H=e.findValue(De,"data-asin-currency-code"),J=(e.findValue(Se,"text").match(ye)||["0"])[0],q=20*price.clean(J)||void 0,K={variant_id:e.findValue(Ve,"value")||t||void 0,title:s||i||"",brand:x.replace(be,Ie).trim()||"Amazon",price_current:g||void 0,price_list:F>g&&F||g||void 0,image_url_primary:S,categories:e.findArrayValues(we,"text"),parent_id:tt(e)||t||void 0,description:(e.findArrayValues(ke,"text").join("\\n")||k||"").trim(),ext_description:P||O,in_stock:!!e.find(Ee).text().match(Pe)||!!e.find(Oe).length||!!e.find(Ae).length,imprint:r,image_url_secondaries:V.length?V:void 0,similar_products:e.findArrayValues(Ce,"href").reduce(et,[]),related_products:e.findArrayValues(Be,"href").reduce(et,[]),canonical_url:"".concat(m+t,"?th=1&psc=1")||0,is_canonical:!0,rating_count:price.clean(e.findValue(Me,"text"))||void 0,rating_value:q||void 0,seller_name:e.findValue(je,"text"),seller_id:((e.findValue(Te,"href")||"").match(Ne)||[void 0,void 0])[1],vim_version:d,currency:H||"USD",language:"EN"===e.findValue(He,"text").trim()?"en-us":"",schema_version:_,sku:e.findValue(Je,"value")||t||void 0,gtin:e.findValue(qe,"text")||void 0};if(l=rt(e,t,K),K.product_details=JSON.stringify(l.currentDetails),K.migrationVariants=l.migrationVariants,K.seller_id&&!e.findValue(Ke,"text").match(Ue)||(K.seller_id="ATVPDKIKX0DER",K.seller_name="Amazon"),(0===(l.allVariants||[]).length||1===(l.allVariants||[]).length&&l.allVariants[0].offer_id===K.variant_id)&&(K.parent_id=K.variant_id),(l.allVariants||[]).length>1&&!K.product_details&&(K.variant_id=void 0),K.categories.some((function(e){return e.match(We)}))){try{var U=e.find($e).html(),W=JSON.parse(U).imageId;K.image_url_primary=W?"".concat(f+W,"._SX309_BO1,204,203,200_.jpg"):""}catch(e){}var $=K.title,G=(e.find(Ge).text()||"").trim(),ze=new RegExp(G,"i");G&&!ze.test($)&&($+=" ".concat(G));var Xe=(e.find(Le).text()||"").trim();Xe&&($+=" - ".concat(Xe)),K.title=$,w=function(e,t){var r=[],a=e.findValue(A,"text"),c=e.find(C);if(!c.length)return r;for(var o=0;o<c.length;o+=1){var n=c.eq(o),i=n.findValue(B,"text").trim().replace(M,"").toLowerCase(),l=(n.find(j)||[]).length,u=n.findValue(T,"text").trim(),d=n.findValue(N,"text").trim();if(i&&u){var _=p({},t),h=t.variant_id;_.imprint=!!l,_.variant_id=h+i,_.price_current=price.clean(u)||void 0,_.price_list=price.clean(d||u)||void 0,_.product_details=a?JSON.stringify({option:"".concat(a.toLowerCase()," - ").concat(i)}):JSON.stringify({option:i}),r.push(_)}}return r}(e,K)}return{product:K,variantIds:l.allVariants||[],bookConditionVariants:w||[]}}function ct(e,t,r){return at(parseHtml(e),t,r)}!function(){var e,t;try{e=ct(n(c.GetPageHtml),Xe.url.match(s)[1],!0)}catch(e){return}e.bookConditionVariants.length?e.bookConditionVariants.forEach((function(e){n(c.SendFullProduct,e)})):e.product.price_current&&e.product.variant_id&&n(c.SendFullProduct,e.product),e.variantIds.length&&(t=e.variantIds.map((function(e){var t=e.asin;return"".concat(m+t,"?th=1&psc=1")}))),(t||[]).forEach((function(e){try{var t=ct(request({url:e,method:"GET"}).rawBody,e.match(s)[1],!1);t.product.price_current&&t.product.variant_id&&n(c.SendFullProduct,t.product)}catch(e){}}))}()}();',
|
|
productFetcher143839615565492452: '!function(){"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(t){var a=function(t,a){if("object"!=e(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,a||"default");if("object"!=e(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(t)}(t,"string");return"symbol"==e(a)?a:a+""}function a(e,a,r){return(a=t(a))in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}var r="sendFullProduct",i={};function n(e,t){return nativeAction(e,t)}function c(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var l="2.0.0",s="4.0.0",d=/.*\\/(?:[\\w\\-%]+\\/)?(?:dp|gp\\/product)\\/(?:\\w+\\/)?(\\w{10})/,u="https://images-na.ssl-images-amazon.com/images/I/",p="https://www.amazon.com.au/dp/",f=/^\\$?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(\\.[0-9][0-9])?$/,m=/^\\d*\\.?\\d{2}$/,h="#priceblock_dealprice, #newPitchPrice",g="#priceblock_dealprice",v=50,_=[],b=(i.inputData?i.inputData(inputData):inputData)||{};function y(e){return e?htmlDecode(e).replace(/\\s{2,}/g," ").replace(/<(p|div|hd|br|li).*?>/g,"\\n").replace(/<\\/?.*?>/g,"").trim():""}function x(e){var t=e.replace(/^\\$/,"").replace(",","").replace("-",".").replace(/\\$.*$/,"");return t.match(m)?t:void 0}function V(e){var t;return["#priceblock_pospromoprice",h,g,"#newOfferAccordionRow #addToCart .header-price","#priceblock_ourprice #priceblock_saleprice","#mediaTab_content_landing #addToCart .header-price",".selected .a-color-base .a-color-price","#priceblock_ourprice","#priceblock_saleprice","#mediaNoAccordion .header-price","#newOfferAccordionRow.a-accordion-active .header-price","#rentOfferAccordionRow .a-size-medium.header-price.a-color-price","#newOfferAccordionRow .header-price","#snsPrice .a-color-price","#price_inside_buybox","#newBuyBoxPrice","div#booksHeaderSection span#price","div#corePrice_desktop span.a-size-medium span.a-offscreen","div#corePrice_feature_div span.a-price.aok-align-center span.a-offscreen"].some((function(a){var r=e.find(a);if(0===r.length||0===r.text().length||0===r.text().trim().length)return!1;var i=r.text().trim();return t=a===g||a===h?function(e,t,a){if(t.match(f))return x(t);var r=e.find("".concat(a," .price-large")),i=e.find("".concat(a," .price-info-superscript:last-child"));if(r&&r.text()&&r.text().trim()&&i&&i.text()&&i.text().trim()){var n=r.text().trim(),c=i.text().trim(),o="".concat(n,".").concat(c);return o.match(m)?o:void 0}}(e,i,a):x(i),!!t})),t}function k(e,t){var a=t.match(d);if(a){var r=p+a[1];_.indexOf(r)<0&&(e.push({url:r,parent_id:a[1]}),_.push(r))}return e}function w(e){var t;try{(t=((e.find("#tell-a-friend, #tell-a-friend-byline").eq(0).attr("data-dest")||"").match(/parentASIN=(.*?)&/)||["",""])[1])||(t=(((e.find(\'script:contains("parentAsin":")\').eq(0)||{}).html()||"").match(/parentAsin":"(.*?)"/)||[])[1]),t||(t=((JSON.parse(e.find(\'#fitZone_feature_div script[data-a-state=\\\'{"key":"fit-cx-dp-data"}\\\'\').eq(0).text())||{}).productInfo||{}).parentAsin)}catch(e){}return t}function O(e,t,a){var r,i=function(e){var t=[],a={};return[\'#dp-container #bottomRow script:contains("colorToAsin")\',\'#imageBlock_feature_div script:contains("colorToAsin")\',"script:contains(\'[\\"colorImages\\"]\')"].some((function(r){var i=(e.find(r).eq(0).html()||"").match(/data\\["colorImages"\\]\\s*=\\s*((.*?)(?=;))/)||[];if(i.length>0){try{a=JSON.parse(i[1])}catch(e){a={}}Object.entries(a).forEach((function(e){Array.isArray(e[1])&&e[1].length>1&&(t[e[0]]=e[1][0].hiRes||e[1][0].large||"")}))}return Object.keys(t).length>0})),t}(e),n=[],c=[];return[\'#dp-container #bottomRow script:contains("twister-js-init-dpx-data")\',\'#twisterJsInitializer_feature_div script:contains("twister-js-init-dpx-data")\',\'#twisterContainer ~ script:contains("twister-js-init-dpx-data")\',\'#ppd script:contains("twister-js-init-dpx-data")\'].some((function(l){var s,d,u,p=e.find(l).eq(0).html()||"",f=p.match(/"variationValues"\\s*:\\s*([\\s\\S]*?})/)||[],m=p.match(/"dimensionValuesDisplayData"\\s*:\\s*([\\s\\S]*?})/)||[],h=!1,g=[],_=0,b=[];if(!p)return!1;if(m.length>0&&f.length>0){try{f=JSON.parse(f[1]),m=JSON.parse(m[1])}catch(e){return!1}for(f=Object.entries(f).reduce((function(e,t){var a=t[0]||"",r=t[1]||[];return a.length>0&&r.forEach((function(t){e[t]=a})),e}),{}),g=Object.entries(m);_<g.length&&(d=(s=g[_])[0],u=b.length<v,!h||u);)d===a.variant_id?(h=!0,b.push(s)):(h&&u||!h&&b.length<v-1)&&b.push(s),_+=1;n=b.reduce((function(e,n){var l,s=n[0],d=n[1],u={product_id:s,availability:!0,currency:a.currency,details:{},image_url:(i[d[0]]||i[d[1]]||i[d.join(" ")]||"").replace(/._.*_(?=.jpg)/,""),merch_id:a.parent_id,offer_id:s,asin:s,offer_type:"variation",brand:a.brand},p={access:!0,collar:!0,color:!0,edition:!0,finish:!0,fit:!0,flavor:!0,height:!0,inseam:!0,image:!0,length:!0,material:!0,model:!0,neck:!0,option:!0,platform:!0,size:!0,sleeve:!0,style:!0,team:!0,type:!0,waist:!0,weight:!0,width:!0};return l=d.reduce((function(e,t){var a=o({},e),r=((f[t]||"").match(/^[^_]+(?=_)/)||[])[0],i=p[r]?r:"option",n="option"===i?"".concat(f[t].replace(/_/g," ")," - ").concat(t):t;return"option"===i&&a[i]?a[i]="".concat(a[i],", ").concat(n):a[i]=n,a}),{}),u.details=l,c.push(u),s===t?r=l:e.push(u),e}),[])}return!0})),{allVariants:n,currentDetails:r,migrationVariants:c}}function A(e,t,a){var r=/(play-icon-overlay|play-button-overlay|360_icon_73x73|transparent-pixel)/,i=e.findValue("#fine-ART-ProductLabelArtistNameLink","text"),n=e.findValue("#fineArtTitle","text"),c=e.findValue("#fineArtReleaseDate","text"),d=i&&n?"".concat(i," - ").concat(n):"";c&&(d+=" ".concat(c));var f,m,h=e.findValue("#about-this-artist p:nth-of-type(2)","text"),g=e.findValue(\'#productTitle, #ebooksProductTitle, [name="goKindleStaticPopDiv"] strong\',"text").trim().replace(/\\n/g," ").replace(/\\s+/g," "),v=V(e),_=v&&v.match(/\\$.+-\\s+\\$/)?void 0:price.clean(v),b=price.clean(e.find(\'#price .a-text-strike, .print-list-price .a-text-strike, .a-list-item .a-text-strike, div#corePrice_desktop span.a-size-base[data-a-color="secondary"] span.a-offscreen, #corePriceDisplay_desktop_feature_div .basisPrice span.a-offscreen\').last().text()),x=e.findValue("#brand, #bylineInfo_feature_div #bylineInfo, .author .contributorNameID, .author.notFaded a, .ac-keyword-link a","text")||((e.findValue("#brand","href")||"").match(/\\/(.+)\\/b/)||[])[1]||"",A=e.findValue("a.contributorNameID","text");A&&x.length>300&&(x=A);try{m=JSON.parse(((e.find("script:contains(imageGalleryData)").eq(0).html()||"").match(/imageGalleryData\'\\s:\\s(.*),/)||[])[1]||"")}catch(e){}var S=(m||[]).map((function(e){return e.mainUrl})),j=e.findValue("#fine-art-landingImage","data-old-hires")||e.findValue("#fine-art-landingImage","src")||e.findValue("#landingImage","data-old-hires")||e.findValue("#imgTagWrapperId img","src")||(e.findValue("#altImages img","src")||"").replace(/._.*_(?=.jpg)/,"")||e.findValue("#ebooksImgBlkFront, #imgBlkFront","src")||S.shift(),D=e.findArrayValues("#altImages .imageThumbnail img","src").length>0?e.findArrayValues("#altImages .imageThumbnail img","src"):e.findArrayValues("#fine-art-altImages img","src"),I=e.findArrayValues("span.a-button-thumbnail img","src");D.length||(D=I);var P=D.reduce((function(e,t){var a=/._.*_(?=.jpg)/;return t.match(r)||j===t.replace(a,"")||e.push(t.replace(a,"")),e}),[]),T=P.length?P:S;if(!(j=j&&!j.match(r)?T.shift():j)||j.length>1e3){var N,E=e.findValue("#landingImage","data-a-dynamic-image");try{N=JSON.parse(E)}catch(e){}j=Object.keys(N||{})[0]}var C,R=e.findValue("#bookDescription_feature_div noscript, div#bookDescription_feature_div div[aria-expanded], #productDescription p","text").trim().replace(/(<([^>]+)>)/g,"").replace(/\u2022/g,"\\n"),B=e.findArrayValues("#productDescription div:first-child, .aplus-3p-fixed-width .a-unordered-list.a-vertical,.aplus-v2 .celwidget p","text").join("\\n"),z=B&&y(B),J=h&&y(h),q=e.findValue("#cerberus-data-metrics","data-asin-currency-code"),$=(e.findValue("#averageCustomerReviews .a-icon-star span","text").match(/(\\d+\\.\\d+)/)||["0"])[0],L=20*price.clean($)||void 0,F={variant_id:e.findValue("#ASIN","value")||t||void 0,title:g||d||"",brand:x.replace(/(?:^(?:Visit\\sthe|Brand:)|Store$)/g,"").replace(/\\n/g," ").replace(/\\s+/g," ").trim()||"Amazon",price_current:_||void 0,price_list:b>_&&b||_||void 0,image_url_primary:j,categories:e.findArrayValues("#wayfinding-breadcrumbs_feature_div .a-link-normal:not(#breadcrumb-back-link), a.nav-search-label","text"),parent_id:w(e)||t||void 0,description:(e.findArrayValues("#feature-bullets li:not(.aok-hidden)","text").join("\\n")||R||"").trim(),ext_description:z||J,in_stock:!!e.find("#availability_feature_div, #availability").text().match(/in stock/i)||!!e.find("li.swatchElement.selected:contains(Kindle)").length||!!e.find(\'#add-to-cart-button[title="Add to Shopping Cart"]\').length,imprint:a,image_url_secondaries:T.length?T:void 0,similar_products:e.findArrayValues("#HLCXComparisonTable .comparison_sim_asin, #HLCXComparisonTable a.a-link-normal, #purchase-sims-feature a.a-link-normal","href").reduce(k,[]),related_products:e.findArrayValues("#session-sims-feature a.a-link-normal, #comp-chart-container a.a-link-normal","href").reduce(k,[]),canonical_url:"".concat(p+t,"?th=1&psc=1")||0,is_canonical:!0,rating_count:price.clean(e.findValue("#acrCustomerReviewText","text"))||void 0,rating_value:L||void 0,seller_name:e.findValue("#merchant-info a","text"),seller_id:((e.findValue("#merchant-info a","href")||"").match(/seller=(\\w+)/)||[void 0,void 0])[1],vim_version:l,currency:q||"AUD",language:"EN"===e.findValue(\'[class="icp-nav-language"]\',"text")?"en-us":"",schema_version:s,sku:e.findValue("#ASIN","value")||t||void 0,gtin:e.findValue("span.a-list-item span.a-text-bold:contains(ISBN-13) + span","text")||void 0};if(f=O(e,t,F),F.product_details=JSON.stringify(f.currentDetails),F.migrationVariants=f.migrationVariants,F.seller_id&&!e.findValue("#merchant-info","text").match("Ships from and sold by Amazon")||(F.seller_id="ATVPDKIKX0DER",F.seller_name="Amazon"),(0===(f.allVariants||[]).length||1===(f.allVariants||[]).length&&f.allVariants[0].offer_id===F.variant_id)&&(F.parent_id=F.variant_id),(f.allVariants||[]).length>1&&!F.product_details&&(F.variant_id=void 0),F.categories.indexOf("New, Used & Rental Textbooks")>-1){try{var G=e.find(\'[data-a-state="{"key":"booksImageBlockEDPEditData"}"]\').html(),H=JSON.parse(G).imageId;F.image_url_primary=H?"".concat(u+H,"._SX309_BO1,204,203,200_.jpg"):""}catch(e){}var K=F.title,X=(e.find("#bookEdition").text()||"").trim(),U=new RegExp(X,"i");X&&!U.test(K)&&(K+=" ".concat(X));var W=(e.find(".a-active .mediaTab_title").text()||"").trim();W&&(K+=" - ".concat(W)),F.title=K,C=function(e,t){var a=[],r=e.findValue("li.a-active .a-size-large.mediaTab_title","text"),i=e.find(\'[id*="OfferAccordionRow"]\');if(!i.length)return a;for(var n=0;n<i.length;n+=1){var c=i.eq(n),l=c.findValue(".header-text","text").trim().replace(/Buy /,"").toLowerCase(),s=(c.find("i.a-icon-radio-active")||[]).length,d=c.findValue(".header-price","text").trim(),u=c.findValue(".a-text-strike","text").trim();if(l&&d){var p=o({},t),f=t.variant_id;p.imprint=!!s,p.variant_id=f+l,p.price_current=price.clean(d)||void 0,p.price_list=price.clean(u||d)||void 0,p.product_details=r?JSON.stringify({option:"".concat(r.toLowerCase()," - ").concat(l)}):JSON.stringify({option:l}),a.push(p)}}return a}(e,F)}return{product:F,variantIds:f.allVariants||[],bookConditionVariants:C||[]}}function S(e,t,a){return A(parseHtml(e),t,a)}!function(){var e,t;try{e=S(request({url:b.url,method:"GET"}).rawBody,b.url.match(d)[1],!0)}catch(e){return}e.bookConditionVariants.length?e.bookConditionVariants.forEach((function(e){n(r,e)})):e.product.price_current&&e.product.variant_id&&n(r,e.product),e.variantIds.length&&(t=e.variantIds.map((function(e){var t=e.asin;return"".concat(p+t,"?th=1&psc=1")}))),(t||[]).forEach((function(e){try{var t=S(request({url:e,method:"GET"}).rawBody,e.match(d)[1],!1);t.product.price_current&&t.product.variant_id&&n(r,t.product)}catch(e){}}))}()}();',
|
|
productFetcher185: '!function(){"use strict";var e,t={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},r={};function i(e,t){return nativeAction(e,t)}function n(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),r.parameters?r.parameters(e):e}function c(e){var r,c=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a=n()[e];return c?(r=a,n().shouldUseMixins&&r?i(t.HandleMixin,r):r):a}var a="3.1.0",o="4.0.0",u=c("v4Params"),p=u.v4_productFetcher_baseUrlRegex,d=u.v4_productFetcher_configScriptSelector,l=u.v4_productFetcher_productApiBase,s=u.v4_productFetcher_staticQueryParams,_=u.v4_productFetcher_apiKeyRegex&&new RegExp(u.v4_productFetcher_apiKeyRegex),h=u.v4_productFetcher_parentIdRegex&&new RegExp(u.v4_productFetcher_parentIdRegex),m=u.v4_productFetcher_imprintTcinSelector,g=u.v4_productFetcher_imprintTcinValue,v=u.v4_productFetcher_imprintTcinRegex&&new RegExp(u.v4_productFetcher_imprintTcinRegex),f=u.v4_productFetcher_categoriesSelector,S=u.v4_productFetcher_categoriesValue,y=u.v4_productFetcher_atcDisabledSelector,b=u.v4_productFetcher_discontinuedProductSelector,x=u.v4_productFetcher_tpsProductSelector,F=u.v4_productFetcher_productNotSoldInStoreSelector,P=(((r.inputData?r.inputData(inputData):inputData)||{}).url.match(p)||[])[0];function T(e){return e?htmlDecode(e).replace(/(<p><\\/p>|<style[\\s\\S]*?<\\/style>)/g,"").replace(/(<(p|div|hd|br|li) *(>|\\/>))+/g,"\\n").replace(/<\\/?[A-Za-z][^<>]*>/g,"").replace(/\x3c!--.*--\x3e/,"").trim():""}function R(e){var t=[];function r(e,i){var n=i.slice(0),c=e.name&&e.name.toLowerCase(),a=e.value,o={};if(o[c]=a,n.push(o),e.tcin){var u=e.tcin,p={};return p.tcin=u,p.attributes=n,p.inStock=e.availability&&e.availability.is_shipping_available,void t.push(p)}e.variation_hierarchy.forEach((function(e){r(e,n)}))}return e.forEach((function(e){r(e,[])})),t}function E(e,t){var r,i={},n=t.filter((function(t){return t.tcin===e}));return(n&&n[0]&&n[0].attributes||[]).forEach((function(e){Object.keys(e).forEach((function(t){i[t]=e[t]}))})),Object.keys(i).length&&(r=JSON.stringify(i)),r}function V(e,t){var r=t.filter((function(t){return t.tcin===e}));return r&&r[0]&&r[0].inStock}function D(e){var t=e.find(d).html()||"",r=t&&t.replace(/\\\\"/g,\'"\'),i=_.exec(r)&&_.exec(r)[1],n=h.exec(P)&&h.exec(P)[1],c=e.findValue(m,g),a=v.exec(c)&&v.exec(c)[0],o=function(e,t){var r="".concat(l,"?key=").concat(t,"&tcin=").concat(e).concat(s),i=e&&t&&request({url:r,method:"GET"}),n=i&&i.body;return n&&n.data&&n.data.product||{}}(n,i),u=o&&o.item&&o.item.product_classification&&o.item.product_classification.product_type_name,p=o&&o.children||[],f=!!p.length,S=f&&p.filter((function(e){return e.tcin&&e.item})),y=f&&o&&o.variation_hierarchy||[],b=y&&R(y)||[],T=function(e,t,r){var i=[],n=e.find(x).length>0,c=t.price&&t.price.hide_price,a=t&&t.item&&t.item.eligibility_rules,o=a&&!("ship_to_guest"in a)&&!("ship_to_store"in a);return n&&i.push("TPS"),c&&i.push("ATCP"),r||n||!o||!(e.find(F).length>0)&&i.push("ISPO"),i}(e,o,f);return{parentId:n,tcin:a,productData:o||{},variants:f&&S.filter((function(e){return e.tcin!==a})),productDetails:b,productType:u,productStates:T}}function k(e){var r,n=i(t.GetPageHtml);try{r=parseHtml(n)}catch(e){}return r.findValue(m,g)||15===e?r:(sleep(500),k(e+1))}!function(){var e=k(0),r=D(e),n=e.find(b).length,c=r&&"collections"===r.productType,u=r&&(-1!==r.productStates.indexOf("ISPO")||-1!==r.productStates.indexOf("ATCP"));if(!r||n||c||u)i(t.SendFullProduct,null);else{var p=function(e,t){for(var r,i,n=t.tcin,c=t.productData,u=c&&c.tcin,p=t.productDetails,d=t.productStates,l=c&&c.children||[],s=0;s<l.length;s+=1)if((r=l[s].tcin)===n){i=l[s];break}var _=!r,h=T(c.item&&c.item.product_description&&c.item.product_description.title),m=V(r,p);if(_){r=n;var g=(i=c).item&&i.item.eligibility_rules,v=e.find(F).length>0;m=g&&("ship_to_guest"in g||"ship_to_store"in g||v)||!1,-1!==d.indexOf("TPS")&&(m=!(e.find(y).length>0))}var b=i&&i.item||{},x=u&&r&&"".concat(u,"#").concat(r),R=P&&r&&"".concat(P,"?preselect=").concat(r)||void 0,D=e.findArrayValues(f,S),k=b.primary_barcode,O=b.primary_brand&&b.primary_brand.name||"Target",w=T(b.product_description&&b.product_description.downstream_description),C=T((b.product_description&&b.product_description.bullet_descriptions||[]).join(". ")),A="".concat(w," ").concat(C,"."),I=E(r,p),H=i&&i.price||{},M=price.clean(H.current_retail)||void 0,W=price.clean(H.reg_retail)||M,U=b.enrichment&&b.enrichment.images||{};return{imprint:!0,categories:D,canonical_url:R,is_canonical:!0,image_url_primary:U.primary_image_url,image_url_secondaries:U.alternate_image_urls||[],price_current:M,price_list:W||M,gtin:k,original_id:x,variant_id:r||u,title:h,currency:"USD",generic_id:u,parent_id:u,in_stock:m,description:w,ext_description:A,product_states:d||void 0,brand:O,product_details:I||"{}",twotap_purchase_option:I||"{}",vim_version:a,schema_version:o}}(e,r);p&&p.variant_id&&(i(t.SendFullProduct,p),r.variants&&function(e,r,n){r.forEach((function(r){var c=Object.assign({},e),a=r||{},o=a.tcin,u=V(o,n),p=r.item&&r.item.primary_barcode,d=a.price||{},l=price.clean(d.current_retail)||void 0,s=price.clean(d.reg_retail)||l,_=a.item&&a.item.enrichment&&a.item.enrichment.images,h=_.primary_image_url,m=_.alternate_image_urls||[],g=e.parent_id&&o&&"".concat(e.parent_id,"#").concat(o),v=E(o,n);c.original_id=g,c.variant_id=o,c.product_details=v,c.twotap_purchase_option=v||"{}",c.canonical_url=P&&o&&"".concat(P,"?preselect=").concat(o)||void 0,c.imprint=!1,c.price_list=s||l,c.price_current=l,c.image_url_primary=h,c.image_url_secondaries=m,c.gtin=p,c.in_stock=u,c.variant_id&&i(t.SendFullProduct,c)}))}(p,r.variants,r.productDetails))}}()}();',
|
|
productFetcher2: '!function(){"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(t){var a=function(t,a){if("object"!=e(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,a||"default");if("object"!=e(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(t)}(t,"string");return"symbol"==e(a)?a:a+""}function a(e,a,r){return(a=t(a))in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}var r="sendFullProduct",i={};function n(e,t){return nativeAction(e,t)}function c(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var l="2.0.0",s="4.0.0",d=/.*\\/(?:[\\w\\-%]+\\/)?(?:dp|gp\\/product)\\/(?:\\w+\\/)?(\\w{10})/,u="https://images-na.ssl-images-amazon.com/images/I/",p="https://www.amazon.co.uk/dp/",f=/^\xa3?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(\\.[0-9][0-9])?$/,m=/^\\d*\\.?\\d{2}$/,h="#priceblock_dealprice, #newPitchPrice",g="#priceblock_dealprice",v=50,_=[],b=(i.inputData?i.inputData(inputData):inputData)||{};function y(e){return e?htmlDecode(e).replace(/\\s{2,}/g," ").replace(/<(p|div|hd|br|li).*?>/g,"\\n").replace(/<\\/?.*?>/g,"").trim():""}function x(e){var t=e.replace(/^\xa3/,"").replace(",","").replace("-",".").replace(/\xa3.*$/,"");return t.match(m)?t:void 0}function V(e){var t;return["#priceblock_pospromoprice",h,g,"#newOfferAccordionRow #addToCart .header-price","#priceblock_ourprice #priceblock_saleprice","#mediaTab_content_landing #addToCart .header-price",".selected .a-color-base .a-color-price","#priceblock_ourprice","#priceblock_saleprice","#mediaNoAccordion .header-price","#newOfferAccordionRow.a-accordion-active .header-price","#rentOfferAccordionRow .a-size-medium.header-price.a-color-price","#newOfferAccordionRow .header-price","#snsPrice .a-color-price","#price_inside_buybox","#newBuyBoxPrice","div#booksHeaderSection span#price","div#corePrice_desktop span.a-size-medium span.a-offscreen","div#corePrice_feature_div span.a-price.aok-align-center span.a-offscreen"].some((function(a){var r=e.find(a);if(0===r.length||0===r.text().length||0===r.text().trim().length)return!1;var i=r.text().trim();return t=a===g||a===h?function(e,t,a){if(t.match(f))return x(t);var r=e.find("".concat(a," .price-large")),i=e.find("".concat(a," .price-info-superscript:last-child"));if(r&&r.text()&&r.text().trim()&&i&&i.text()&&i.text().trim()){var n=r.text().trim(),c=i.text().trim(),o="".concat(n,".").concat(c);return o.match(m)?o:void 0}}(e,i,a):x(i),!!t})),t}function k(e,t){var a=t.match(d);if(a){var r=p+a[1];_.indexOf(r)<0&&(e.push({url:r,parent_id:a[1]}),_.push(r))}return e}function w(e){var t;try{(t=((e.find("#tell-a-friend, #tell-a-friend-byline").eq(0).attr("data-dest")||"").match(/parentASIN=(.*?)&/)||["",""])[1])||(t=(((e.find(\'script:contains("parentAsin":")\').eq(0)||{}).html()||"").match(/parentAsin":"(.*?)"/)||[])[1]),t||(t=((JSON.parse(e.find(\'#fitZone_feature_div script[data-a-state=\\\'{"key":"fit-cx-dp-data"}\\\'\').eq(0).text())||{}).productInfo||{}).parentAsin)}catch(e){}return t}function O(e,t,a){var r,i=function(e){var t=[],a={};return[\'#dp-container #bottomRow script:contains("colorToAsin")\',\'#imageBlock_feature_div script:contains("colorToAsin")\',"script:contains(\'[\\"colorImages\\"]\')"].some((function(r){var i=(e.find(r).eq(0).html()||"").match(/data\\["colorImages"\\]\\s*=\\s*((.*?)(?=;))/)||[];if(i.length>0){try{a=JSON.parse(i[1])}catch(e){a={}}Object.entries(a).forEach((function(e){Array.isArray(e[1])&&e[1].length>1&&(t[e[0]]=e[1][0].hiRes||e[1][0].large||"")}))}return Object.keys(t).length>0})),t}(e),n=[],c=[];return[\'#dp-container #bottomRow script:contains("twister-js-init-dpx-data")\',\'#twisterJsInitializer_feature_div script:contains("twister-js-init-dpx-data")\',\'#twisterContainer ~ script:contains("twister-js-init-dpx-data")\',\'#ppd script:contains("twister-js-init-dpx-data")\'].some((function(l){var s,d,u,p=e.find(l).eq(0).html()||"",f=p.match(/"variationValues"\\s*:\\s*([\\s\\S]*?})/)||[],m=p.match(/"dimensionValuesDisplayData"\\s*:\\s*([\\s\\S]*?})/)||[],h=!1,g=[],_=0,b=[];if(!p)return!1;if(m.length>0&&f.length>0){try{f=JSON.parse(f[1]),m=JSON.parse(m[1])}catch(e){return!1}for(f=Object.entries(f).reduce((function(e,t){var a=t[0]||"",r=t[1]||[];return a.length>0&&r.forEach((function(t){e[t]=a})),e}),{}),g=Object.entries(m);_<g.length&&(d=(s=g[_])[0],u=b.length<v,!h||u);)d===a.variant_id?(h=!0,b.push(s)):(h&&u||!h&&b.length<v-1)&&b.push(s),_+=1;n=b.reduce((function(e,n){var l,s=n[0],d=n[1],u={product_id:s,availability:!0,currency:a.currency,details:{},image_url:(i[d[0]]||i[d[1]]||i[d.join(" ")]||"").replace(/._.*_(?=.jpg)/,""),merch_id:a.parent_id,offer_id:s,asin:s,offer_type:"variation",brand:a.brand},p={access:!0,collar:!0,color:!0,edition:!0,finish:!0,fit:!0,flavor:!0,height:!0,inseam:!0,image:!0,length:!0,material:!0,model:!0,neck:!0,option:!0,platform:!0,size:!0,sleeve:!0,style:!0,team:!0,type:!0,waist:!0,weight:!0,width:!0};return l=d.reduce((function(e,t){var a=o({},e),r=((f[t]||"").match(/^[^_]+(?=_)/)||[])[0],i=p[r]?r:"option",n="option"===i?"".concat(f[t].replace(/_/g," ")," - ").concat(t):t;return"option"===i&&a[i]?a[i]="".concat(a[i],", ").concat(n):a[i]=n,a}),{}),u.details=l,c.push(u),s===t?r=l:e.push(u),e}),[])}return!0})),{allVariants:n,currentDetails:r,migrationVariants:c}}function A(e,t,a){var r=/(play-icon-overlay|play-button-overlay|360_icon_73x73|transparent-pixel)/,i=e.findValue("#fine-ART-ProductLabelArtistNameLink","text"),n=e.findValue("#fineArtTitle","text"),c=e.findValue("#fineArtReleaseDate","text"),d=i&&n?"".concat(i," - ").concat(n):"";c&&(d+=" ".concat(c));var f,m,h=e.findValue("#about-this-artist p:nth-of-type(2)","text"),g=e.findValue(\'#productTitle, #ebooksProductTitle, [name="goKindleStaticPopDiv"] strong\',"text").trim().replace(/\\n/g," ").replace(/\\s+/g," "),v=V(e),_=v&&v.match(/\\$.+-\\s+\\$/)?void 0:price.clean(v),b=price.clean(e.find(\'#price .a-text-strike, .print-list-price .a-text-strike, .a-list-item .a-text-strike, div#corePrice_desktop span.a-size-base[data-a-color="secondary"] span.a-offscreen, #corePriceDisplay_desktop_feature_div .basisPrice span.a-offscreen\').last().text()),x=e.findValue("#brand, #bylineInfo_feature_div #bylineInfo, .author .contributorNameID, .author.notFaded a, .ac-keyword-link a","text")||((e.findValue("#brand","href")||"").match(/\\/(.+)\\/b/)||[])[1]||"",A=e.findValue("a.contributorNameID","text");A&&x.length>300&&(x=A);try{m=JSON.parse(((e.find("script:contains(imageGalleryData)").eq(0).html()||"").match(/imageGalleryData\'\\s:\\s(.*),/)||[])[1]||"")}catch(e){}var S=(m||[]).map((function(e){return e.mainUrl})),j=e.findValue("#fine-art-landingImage","data-old-hires")||e.findValue("#fine-art-landingImage","src")||e.findValue("#landingImage","data-old-hires")||e.findValue("#imgTagWrapperId img","src")||(e.findValue("#altImages img","src")||"").replace(/._.*_(?=.jpg)/,"")||e.findValue("#ebooksImgBlkFront, #imgBlkFront","src")||S.shift(),I=e.findArrayValues("#altImages .imageThumbnail img","src").length>0?e.findArrayValues("#altImages .imageThumbnail img","src"):e.findArrayValues("#fine-art-altImages img","src"),D=e.findArrayValues("span.a-button-thumbnail img","src");I.length||(I=D);var P=I.reduce((function(e,t){var a=/._.*_(?=.jpg)/;return t.match(r)||j===t.replace(a,"")||e.push(t.replace(a,"")),e}),[]),T=P.length?P:S;if(!(j=j&&!j.match(r)?T.shift():j)||j.length>1e3){var N,E=e.findValue("#landingImage","data-a-dynamic-image");try{N=JSON.parse(E)}catch(e){}j=Object.keys(N||{})[0]}var C,R=e.findValue("#bookDescription_feature_div noscript, div#bookDescription_feature_div div[aria-expanded], #productDescription p","text").trim().replace(/(<([^>]+)>)/g,"").replace(/\u2022/g,"\\n"),B=e.findArrayValues("#productDescription div:first-child, .aplus-3p-fixed-width .a-unordered-list.a-vertical,.aplus-v2 .celwidget p","text").join("\\n"),z=B&&y(B),J=h&&y(h),q=e.findValue("#cerberus-data-metrics","data-asin-currency-code"),L=(e.findValue("#averageCustomerReviews .a-icon-star span","text").match(/(\\d+\\.\\d+)/)||["0"])[0],$=20*price.clean(L)||void 0,G={variant_id:e.findValue("#ASIN","value")||t||void 0,title:g||d||"",brand:x.replace(/(?:^(?:Visit\\sthe|Brand:)|Store$)/g,"").replace(/\\n/g," ").replace(/\\s+/g," ").trim()||"Amazon",price_current:_||void 0,price_list:b>_&&b||_||void 0,image_url_primary:j,categories:e.findArrayValues("#wayfinding-breadcrumbs_feature_div .a-link-normal:not(#breadcrumb-back-link), a.nav-search-label","text"),parent_id:w(e)||t||void 0,description:(e.findArrayValues("#feature-bullets li:not(.aok-hidden)","text").join("\\n")||R||"").trim(),ext_description:z||J,in_stock:!!e.find("#availability_feature_div, #availability").text().match(/in stock/i)||!!e.find("li.swatchElement.selected:contains(Kindle)").length||!!e.find(\'#add-to-cart-button[title="Add to Shopping Cart"]\').length,imprint:a,image_url_secondaries:T.length?T:void 0,similar_products:e.findArrayValues("#HLCXComparisonTable .comparison_sim_asin, #HLCXComparisonTable a.a-link-normal, #purchase-sims-feature a.a-link-normal","href").reduce(k,[]),related_products:e.findArrayValues("#session-sims-feature a.a-link-normal, #comp-chart-container a.a-link-normal","href").reduce(k,[]),canonical_url:"".concat(p+t,"?th=1&psc=1")||0,is_canonical:!0,rating_count:price.clean(e.findValue("#acrCustomerReviewText","text"))||void 0,rating_value:$||void 0,seller_name:e.findValue("#merchant-info a","text"),seller_id:((e.findValue("#merchant-info a","href")||"").match(/seller=(\\w+)/)||[void 0,void 0])[1],vim_version:l,currency:q||"GBP",language:"EN"===e.findValue(\'[class="icp-nav-language"]\',"text")?"en-us":"",schema_version:s,sku:e.findValue("#ASIN","value")||t||void 0,gtin:e.findValue("span.a-list-item span.a-text-bold:contains(ISBN-13) + span","text")||void 0};if(f=O(e,t,G),G.product_details=JSON.stringify(f.currentDetails),G.migrationVariants=f.migrationVariants,G.seller_id&&!e.findValue("#merchant-info","text").match("Ships from and sold by Amazon")||(G.seller_id="ATVPDKIKX0DER",G.seller_name="Amazon"),(0===(f.allVariants||[]).length||1===(f.allVariants||[]).length&&f.allVariants[0].offer_id===G.variant_id)&&(G.parent_id=G.variant_id),(f.allVariants||[]).length>1&&!G.product_details&&(G.variant_id=void 0),G.categories.indexOf("New, Used & Rental Textbooks")>-1){try{var F=e.find(\'[data-a-state="{"key":"booksImageBlockEDPEditData"}"]\').html(),H=JSON.parse(F).imageId;G.image_url_primary=H?"".concat(u+H,"._SX309_BO1,204,203,200_.jpg"):""}catch(e){}var K=G.title,X=(e.find("#bookEdition").text()||"").trim(),U=new RegExp(X,"i");X&&!U.test(K)&&(K+=" ".concat(X));var W=(e.find(".a-active .mediaTab_title").text()||"").trim();W&&(K+=" - ".concat(W)),G.title=K,C=function(e,t){var a=[],r=e.findValue("li.a-active .a-size-large.mediaTab_title","text"),i=e.find(\'[id*="OfferAccordionRow"]\');if(!i.length)return a;for(var n=0;n<i.length;n+=1){var c=i.eq(n),l=c.findValue(".header-text","text").trim().replace(/Buy /,"").toLowerCase(),s=(c.find("i.a-icon-radio-active")||[]).length,d=c.findValue(".header-price","text").trim(),u=c.findValue(".a-text-strike","text").trim();if(l&&d){var p=o({},t),f=t.variant_id;p.imprint=!!s,p.variant_id=f+l,p.price_current=price.clean(d)||void 0,p.price_list=price.clean(u||d)||void 0,p.product_details=r?JSON.stringify({option:"".concat(r.toLowerCase()," - ").concat(l)}):JSON.stringify({option:l}),a.push(p)}}return a}(e,G)}return{product:G,variantIds:f.allVariants||[],bookConditionVariants:C||[]}}function S(e,t,a){return A(parseHtml(e),t,a)}!function(){var e,t;try{e=S(request({url:b.url,method:"GET"}).rawBody,b.url.match(d)[1],!0)}catch(e){return}e.bookConditionVariants.length?e.bookConditionVariants.forEach((function(e){n(r,e)})):e.product.price_current&&e.product.variant_id&&n(r,e.product),e.variantIds.length&&(t=e.variantIds.map((function(e){var t=e.asin;return"".concat(p+t,"?th=1&psc=1")}))),(t||[]).forEach((function(e){try{var t=S(request({url:e,method:"GET"}).rawBody,e.match(d)[1],!1);t.product.price_current&&t.product.variant_id&&n(r,t.product)}catch(e){}}))}()}();',
|
|
productFetcher200: '!function(){"use strict";function e(r){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(r)}function r(r){var t=function(r,t){if("object"!=e(r)||!r)return r;var i=r[Symbol.toPrimitive];if(void 0!==i){var n=i.call(r,t||"default");if("object"!=e(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(r)}(r,"string");return"symbol"==e(t)?t:t+""}function t(e,t,i){return(t=r(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}var i,n={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},a={};function o(e,r){return nativeAction(e,r)}function c(){return i||(i=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),a.parameters?a.parameters(i):i}function p(e){var r,t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=c()[e];return t?(r=i,c().shouldUseMixins&&r?o(n.HandleMixin,r):r):i}function u(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);r&&(i=i.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,i)}return t}var l="3.3.0",s="4.0.0",d=10,f=(a.inputData?a.inputData(inputData):inputData)||{},v=p("v4Params"),m=v.v4_productFetcher_productIdRegex&&new RegExp(v.v4_productFetcher_productIdRegex),g=v.v4_productFetcher_productUrlBase,h=v.v4_productFetcher_bannedCriteriaSelector,_=v.v4_productFetcher_appVersionScriptSelector,y=v.v4_productFetcher_appVersionScriptSelectorValue,S=v.v4_productFetcher_appVersionString,b=v.v4_productFetcher_unacceptableSellerType,I=v.v4_productFetcher_walmartBaseUrl,P=v.v4_productFetcher_inStockStatusString,O=v.v4_productFetcher_availabilityString,x=v.v4_productFetcher_titleRegex&&new RegExp(v.v4_productFetcher_titleRegex),F=v.v4_productFetcher_titleCleaningRegex&&new RegExp(v.v4_productFetcher_titleCleaningRegex,"g");function E(e){return e?htmlDecode(e).replace(/\\s{2,}/g," ").replace(/(<p><\\/p>|<style[\\s\\S]*?<\\/style>)/g,"").replace(/<(p|div|hd|br|li).*?>/g,"\\n").replace(/<\\/?[A-Za-z][^<>]*>/g,"").replace(/\x3c!--.*--\x3e/,"").split(/,(?=[a-z])/i).join(", ").trim():""}function w(e,r){var t,i={},a=!1,c={channel:"WWW",pageType:"ItemPageGlobal",version:"v1",tenant:"WM_GLASS",iId:e,p13nCls:{pageId:e},fBBAd:!0,fSL:!0,fIdml:!1,fRev:!1,fFit:!0,fSeo:!0,fP13:!0,fAff:!0,fMq:!0,fGalAd:!1,fSCar:!0,fBB:!0,fDis:!0,eItIb:!0,fIlc:!1,includeLabelV1:!1,wm_mp:!1},p=I,u=encodeURIComponent(JSON.stringify(c));try{t=e&&request({method:"GET",url:"".concat(p).concat(e,"?variables=").concat(u),headers:{accept:"application/json","X-APOLLO-OPERATION-NAME":"ItemById","x-o-platform":"rweb","x-o-platform-version":r,"x-o-segment":"oaoh"}}),i=JSON.parse(t.rawBody)}catch(e){}var l=i.errors&&i.errors[0]&&i.errors[0]&&i.errors[0].message;return l&&-1!==l.indexOf("404")&&(a=!0),a&&o(n.SendFullProduct,null),i}function T(e,r,t,i){var n=r&&r.variants||[],a=function(e){var r={};return e.forEach((function(e){var t=e.name||"option";-1===t.indexOf("Color")&&-1===t.indexOf("color")||(t="Color"),(e.variantList||[]).forEach((function(e){var i=e.name;(e.products||[]).forEach((function(e){r[e]=r[e]||{},r[e][t]=i}))}))})),r}(r&&r.variantCriteria||[]),o=[];return n.forEach((function(r){var n,c=r.usItemId,p=[];if(i){var u=w(c,e).data||{};(n=u&&u.product)&&n.sellerType===b||p.push("TPS")}var l=i&&n&&n.shortDescription,s=l&&E(l),d=r.priceInfo&&r.priceInfo.currentPrice&&r.priceInfo.currentPrice.price,f=d&&price.clean(d),v=r.priceInfo&&r.priceInfo.wasPrice&&r.priceInfo.wasPrice.price,m=v&&price.clean(v),h=[];r.imageInfo.allImages.forEach((function(e){h.push(e.url)})),0===h.length&&(h=t.image_url_secondaries);var _={};if(Object.assign(_,t),_.gtin=void 0,i)_.title=n&&n.name||void 0,_.description=s||void 0,_.gtin=n&&n.upc||void 0;else{var y=r.productUrl,S=y&&x.exec(y)&&x.exec(y)[1],I=S&&S.replace(F," ");_.title=I}var T=r.availabilityStatus&&r.availabilityStatus===P,C=!i||n.shippingOption&&n.shippingOption.availabilityStatus&&n.shippingOption.availabilityStatus===O;_.canonical_url=g+r.id||void 0,_.variant_id=c||void 0,_.product_details=JSON.stringify(r.id&&a[r.id]),_.imprint=!1,_.price_current=f||void 0,_.price_list=m||void 0,_.image_url_primary=h&&h[0]||void 0,_.image_url_secondaries=h||void 0,_.in_stock=C&&T,_.product_states=p.length?p:void 0,o.push(_)})),{variants:o}}function C(e,r){var t=parseHtml(r),i=m.exec(e)&&m.exec(e)[1],a=S;try{a=JSON.parse(t.findValue(_,y)).runtimeConfig.appVersion}catch(e){}var c=w(i,a).data||{},p=c&&c.product||{},u=[],f=p&&p.sellerType&&p.sellerType===b,v=p&&p.variants||{};if(!f&&!v)return o(n.SendFullProduct,null),null;!f&&v&&u.push("TPS"),t.find(h).length>0&&u.push("TTUA");var I=function(e,r){var t=e.shortDescription,i=t&&E(t),n=e&&e.priceInfo&&e.priceInfo.currentPrice&&e.priceInfo.currentPrice.price,a=n&&price.clean(n),o=e.priceInfo&&e.priceInfo.wasPrice&&e.priceInfo.wasPrice.price,c=o&&price.clean(o),p=e.category&&e.category.path||[],u=[];p.forEach((function(e){u.push(e.name)}));var d=e.imageInfo&&e.imageInfo.allImages||[],f=[];d.forEach((function(e){f.push(e.url)}));var v=e.id;if(e&&e.variants&&e.variants.length>0){var m,h=e.primaryUsItemId;h!==e.usItemId&&((e&&e.variants).forEach((function(e){h===e.usItemId&&(m=e.id)})),v=m||h)}var _=e.availabilityStatus&&e.availabilityStatus===P,y=e.shippingOption&&e.shippingOption.availabilityStatus&&e.shippingOption.availabilityStatus===O,S={parent_id:v,canonical_url:e.id?g+e.id:void 0,is_canonical:!0,currency:e.priceInfo&&e.priceInfo.currentPrice&&e.priceInfo.currentPrice.currencyUnit||"",price_current:a||void 0,price_list:c||void 0,variant_id:e.usItemId||void 0,in_stock:y&&_,schema_version:s,title:e.name||void 0,brand:e.brand||"Walmart",description:i||void 0,categories:u||void 0,image_url_primary:e.imageInfo&&e.imageInfo.thumbnailUrl,image_url_secondaries:f||void 0,imprint:!0,vim_version:l,product_states:r.length?r:void 0,gtin:e.upc||null},b={};return(e&&e.variantCriteria||[]).forEach((function(e){var r=e.name;-1===r.indexOf("Color")&&-1===r.indexOf("color")||(r="Color"),(e.variantList||[]).forEach((function(e){e.selected&&e.name&&(b[r]=e.name)}))})),S.product_details=JSON.stringify(b),S}(p,u);return{product:I,variants:(v.length>d?T(a,p,I,!1):T(a,p,I,!0)).variants}}function R(e){e.variants.forEach((function(e){var r=function(e){for(var r=1;r<arguments.length;r++){var i=null!=arguments[r]?arguments[r]:{};r%2?u(Object(i),!0).forEach((function(r){t(e,r,i[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):u(Object(i)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(i,r))}))}return e}({},e);void 0!==r.product_states&&-1!==r.product_states.indexOf("TPS")||!r.variant_id||o(n.SendFullProduct,r)}))}!function(){var e=request({method:"GET",url:f.url}),r=e.rawBody;if(3===e.statusType||4===e.statusType)o(n.SendFullProduct,null);else{var t=C(f.url,r);t.product&&t.product.parent_id?(void 0!==t.product.product_states&&-1!==t.product.product_states.indexOf("TPS")||o(n.SendFullProduct,t.product),t.variants.length>0&&R(t)):o(n.SendFullProduct,null)}}()}();',
|
|
productFetcher28: '!function(){"use strict";var e,r={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},t={};function c(e,r){return nativeAction(e,r)}function a(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),t.parameters?t.parameters(e):e}function o(e){var t,o=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=a()[e];return o?(t=i,a().shouldUseMixins&&t?c(r.HandleMixin,t):t):i}var i="3.0.0",n="4.0.0",u="https://www.bestbuy.com",d=(t.inputData?t.inputData(inputData):inputData)||{},l=o("v4Params"),p=l.v4_productFetcher_productApiEndpoint,s=l.v4_productFetcher_productIdRegex&&new RegExp(l.v4_productFetcher_productIdRegex),_=l.v4_productFetcher_productIdSelector,h=l.v4_productFetcher_productIdSelectorValue,v=l.v4_productFetcher_variantWrapperSelector,g=l.v4_productFetcher_variantLabelSelector,m=l.v4_productFetcher_variantLabelValue,F=l.v4_productFetcher_selectedVariantSelector1,V=l.v4_productFetcher_selectedVariantValue1,S=l.v4_productFetcher_selectedVariantSelector2,f=l.v4_productFetcher_selectedVariantValue2,y=l.v4_productFetcher_selectedVariantSelector3,x=l.v4_productFetcher_selectedVariantValue3,P=l.v4_productFetcher_selectedVariantSelector4,R=l.v4_productFetcher_selectedVariantValue4,b=l.v4_productFetcher_selectedVariantSelector5,w=l.v4_productFetcher_selectedVariantValue5,I=l.v4_productFetcher_selectedVariantSelector6,k=l.v4_productFetcher_selectedVariantValue6,C=l.v4_productFetcher_selectedVariantRegex&&new RegExp(l.v4_productFetcher_selectedVariantRegex),E=l.v4_productFetcher_descriptionSelector,T=l.v4_productFetcher_descriptionRegex&&new RegExp(l.v4_productFetcher_descriptionRegex,"gm"),O=l.v4_productFetcher_schemaScriptSelector,A=l.v4_productFetcher_oneTimePaymentButtonSelector,D=l.v4_productFetcher_originalPriceSelector,H=l.v4_productFetcher_originalPriceValue,j=l.v4_productFetcher_activateLaterButtonSelector,B=l.v4_productFetcher_activateLaterButtonValue,W=l.v4_productFetcher_storePickupOnlySelector,G=l.v4_productFetcher_storePickupOnlyValue,L=l.v4_productFetcher_categoriesSelector,M=l.v4_productFetcher_categoriesValue,$=l.v4_productFetcher_primaryImageSelector,q=l.v4_productFetcher_primaryImageValue,U=l.v4_productFetcher_secondaryImagesSelector,J=l.v4_productFetcher_secondaryImagesValue,N=l.v4_productFetcher_priceCurrencySelector,z=l.v4_productFetcher_priceCurrencyRegex&&new RegExp(l.v4_productFetcher_priceCurrencyRegex),K={refrigerators:!0,dishwashers:!0,"ranges, cooktops & ovens":!0,"freezers & ice makers":!0,"washers & dryers":!0,"exercise equipment":!0,"all cell phones with plans":!0};function Q(e,r){for(var t=e.cheerio,c=e.renderedPageCheerio,a=e.productId,o=e.imprintData,d=function(e){for(var r,t,c,a,o=e.find(v),i=[],n={},u=0;u<o.length;u+=1)t=((r=o.eq(u)).findValue(g,m)||"").toLowerCase().replace(":",""),"."===(c=(c=r.findValue(F,V)||(r.find(S).attr(f)||"").replace(/(.*)\\. Selected/i,"$1")||(r.find(y).attr(x)||"").replace(/(.*)\\. Selected/i,"$1")||(r.find(P).attr(R)||"").replace(/(.*)\\. Selected/i,"$1")||(r.find(b).attr(w)||"").replace(/(.*)\\. Selected/i,"$1")||(r.find(I).attr(k)||"").replace(/(.*)\\. Selected/i,"$1")||"").replace(C,"").trim()).charAt(c.length-1)&&(c=c.slice(0,c.length-1)),/color/.test(t)?n.color=c:/size/.test(t)?n.size=c:/model/.test(t)?n.model=c:/length/.test(t)?n.length=c:i.push("".concat(t,": ").concat(c));return i.length&&(n.option=i.join(", ")),Object.keys(n).length&&(a=JSON.stringify(n)),a}(t),l=t.findArrayValues(L,M).slice(1),p=c.find(E).html()||"",s=T,_=[],h=s.exec(p);h;){var Q=(h=s.exec(p))&&h[1];Q&&_.push(Q)}var X,Y=_.join(" ").replace(/\\\\/g,""),Z=t.find(O).html()||"{}";try{X=JSON.parse(Z)}catch(e){}var ee=X&&X.sku,re=X&&X.model,te=X&&X.gtin13,ce=o.price&&o.price.currentPrice||void 0,ae=t.find(A)&&t.findValue(D,H),oe=(t.findValue(j,B).match(/\\$([\\d.,]+)/)||[])[1],ie=ae||oe,ne=price.clean(ie||ce)||void 0,ue=price.clean(o.price&&o.price.priceDomain&&o.price.priceDomain.regularPrice)||ne,de={vim_version:i,schema_version:n,variant_id:a,title:o.names&&o.names.short||"",brand:o.brand&&o.brand.brand||"Best Buy",price_current:ne,price_list:ue,image_url_primary:(c.findValue($,q)||"").replace(/jpg.*/,"jpg"),categories:l,parent_id:a,product_states:[],description:Y,in_stock:!0,imprint:r,canonical_url:o.url?u+o.url:"",is_canonical:!0,product_details:d||"{}",currency:((t.find(N).html()||"").match(z)||[])[1]||"USD",image_url_secondaries:c.findArrayValues(U,J).reduce((function(e,r){return r&&e.push(r.replace(/jpg.*/,"jpg")),e}),[]).slice(1),store_extra_info:a?JSON.stringify({skuId:a}):void 0,sku:ee,gtin:te,mpn:re};return t.findValue(W,G).length&&de.product_states.push("ISPO"),function(e){return e.some((function(e){return K[e.toLowerCase()]}))}(l)&&de.product_states.push("TTUA"),de}!function(){var e,t,a=request({url:d.url,method:"GET"}).rawBody,o=c(r.GetPageHtml);try{e=parseHtml(a),t=parseHtml(o)}catch(e){return}if(e){var i=function(e,r,t,c){var a=(e.findValue(_,h).match(s)||[])[1],o=a&&u+p+a;return Q({imprintData:o&&((request({url:o,method:"GET"}).body||[])[0].sku||{}),cheerio:e,renderedPageCheerio:t,productId:a},c)}(e,d.url,t,!0);-1===i.categories.indexOf("Geek Squad")&&c(r.SendFullProduct,i)}}()}();',
|
|
productFetcher459685887096746335: '!function(){"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(t){var r=function(t,r){if("object"!=e(t)||!t)return t;var a=t[Symbol.toPrimitive];if(void 0!==a){var i=a.call(t,r||"default");if("object"!=e(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==e(r)?r:r+""}function r(e,r,a){return(r=t(r))in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}var a={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},i={};function n(e,t){return nativeAction(e,t)}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}var c,l,s,u="1.0.0",p="4.0.0",d=(i.inputData?i.inputData(inputData):inputData)||{},g={parentId:[{selector:"",attr:""}],title:[{selector:"h1[aria-label]",attr:"text"}],localCurrency:[{selector:\'meta[property="product:price:currency"]\',attr:"content"}],currentPrice:[{selector:\'#goods_price [style*="align-items"]\',attr:"aria-label"}],originalPrice:[{selector:"#goods_price span[style*=line-through]:last",attr:"text"}],categories:[{selector:"nav ol li:not(:last-child)",attr:"text"}],description:[{selector:"",attr:""}],brand:[{selector:"",attr:""}],primaryImage:[{selector:\'[aria-label="Goods image"] img:first\',attr:"src"}],secondaryImages:[{selector:\'[aria-label="Goods image"] img:not(:first)\',attr:"src"}],inStock:[{selector:\'div[aria-label="Add to cart"], div#leftContent + div span:contains(Added):first\',attr:"text"}],schemaDotOrg:[{selector:\'script[type="application/ld+json"]:contains(@type":"Product)\',attr:"html"}],selectedProductDetailsKeys:[{selector:"div._1yW2vOYd div[role=button]",attr:"aria-label"}],selectedProductDetailsValues:[{selector:"div._363EuJDX, div._3TnD_ytg",attr:"text"}],attributesExistenceCheck:[{selector:"div.wfndu2Un, div._2ZDZJTUw",attr:"text"}],metaLocale:[{selector:\'meta[property="og:locale"]\',attr:"content"}]};function m(e,t,r){var a;return e.forEach((function(e){a||("singleField"===t?a="html"===e.attr?r.find(e.selector).html():r.findValue(e.selector,e.attr)||$(e.selector).attr(e.attr)||$(e.selector).text():(a=r.findArrayValues(e.selector,e.attr)).length&&""!==a[0]||(a=[],$(e.selector).toArray().forEach((function(t){var r=$(t),i=r.attr(e.attr)||r.text();i&&a.push(i)}))))})),a}function v(e,t){var r,a=parseHtml(e),i=a.find(\'script:contains("window.rawData")\').html()||"",n=/rawData.*?({.*})/.exec(i)&&/rawData.*?({.*})/.exec(i)[1];try{r=JSON.parse(n)}catch(e){}var o=r&&r.store||{},c=o.localInfo&&o.localInfo.region;if(!(c&&"211"===c||"en_US"===m(g.metaLocale,"singleField",a)))return!1;var l=o.sku&&function(e){return e.reduce((function(t,r){var a,i=function(e){var t={};return e.forEach((function(e){t[e.specKey]=e.specValue})),t}(r.specs)||{},n=r.specShowImageUrl,o=price.clean(r.normalPriceStr),c=price.clean(r.normalLinePriceStr)||void 0;return a={variant_id:e.length>1?"".concat(r.goodsId,"-").concat(r.specs.map((function(e){return e.specValue.split(" ").join("")})).join("-")):r.goodsId.toString(),product_details:JSON.stringify(i),quantity:r.stockQuantity,sale_price:o||c||void 0,list_price:c,primary_image:n||"",sku:r.skuId&&r.skuId.toString()||void 0},t.push(a),t}),[])}(o.sku),s=l&&l.shift()||{},v=m(g.schemaDotOrg,"singleField",a),y={};try{y=JSON.parse(v)}catch(e){}var f={};s.pageData={},f.parentId=y.inProductGroupWithID&&y.inProductGroupWithID.toString(),f.variantId=f.parentId;var h,b=!!m(g.attributesExistenceCheck,"singleField",a);if(!s.variant_id&&f.parentId&&b)return!1;f.variantId&&(s.variant_id||sleep(1e3),f.name=m(g.title,"singleField",a)||y.name,f.brand=y.brand&&y.brand.name||d.store.name,f.currency=m(g.localCurrency,"singleField",a),f.currentPagePrice=price.clean(m(g.currentPrice,"singleField",a)),f.originalPagePrice=price.clean(m(g.originalPrice,"singleField",a)),f.categories=m(g.categories,"array",a)||y.category&&y.category.split(" > "),f.description=(h=m(g.description,"singleField",a))?htmlDecode(h).replace(/\\s{2,}/g," ").replace(/(<p><\\/p>|<style[\\s\\S]*?<\\/style>)/g,"").replace(/<(p|div|hd|br|li).*?>/g,"\\n").replace(/<\\/?[A-Za-z][^<>]*>/g,"").replace(/\x3c!--.*--\x3e/,"").split(/,(?=[a-z])/i).join(", ").trim():"",f.primaryImage=m(g.primaryImage,"singleField",a),f.inStock=!!m(g.inStock,"singleField",a),f.images=m(g.secondaryImages,"array",a)||y.image,s.pageData=f);var _=function(e,t,r,a,i){var n=r.goods&&r.goods.goodsName&&r.goods.goodsName.trim()||void 0,o=/(.*.html)\\?.*/.exec(e)&&/(.*.html)\\?.*/.exec(e)[1]||t.findValue(\'link[rel="canonical"]\',"href"),c=r.localInfo&&r.localInfo.currency||"",l=r.title||"Temu",s=r.goodsId&&r.goodsId.toString(),d=r.crumbOptList&&r.crumbOptList.map((function(e){return e.optName}))||void 0,g=r.description?r.description.items&&r.description.items.map((function(e){return e.values})).join(". "):t.findValue(\'meta[name="description"]\',"content"),m=r.productDetailFlatList&&r.productDetailFlatList.map((function(e){return e.url}));return{product:{parent_id:s||a.pageData.parentId,brand:l||a.pageData.brand,title:n||a.pageData.name,description:g||a.pageData.description||void 0,categories:d||a.pageData.categories,variant_id:a.variant_id&&a.variant_id.toString()||a.pageData.variantId||void 0,canonical_url:o||void 0,imprint:!i||!i.length,is_canonical:!i||!i.length,price_list:a.list_price||a.pageData.originalPagePrice||void 0,price_current:a.sale_price||a.pageData.currentPagePrice||void 0,currency:c||a.pageData.currency||void 0,in_stock:a.quantity&&a.quantity>0||a.pageData.inStock,image_url_primary:a.primary_image||a.pageData.primaryImage,image_url_secondaries:m||a.pageData.images||void 0,product_details:a.product_details||a.pageData.productDetails||"{}",schema_version:p,vim_version:u,sku:a.sku&&a.sku.toString()||void 0},variants:i}}(t,a,o,s,l);return _}function y(e,t){t.forEach((function(t){var i=function(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}({},e);i.variant_id=t.variant_id&&t.variant_id.toString(),i.imprint=!1,i.price_current=t.sale_price,i.price_list=t.list_price,i.image_url_primary=t.primary_image,i.in_stock=t.quantity>0,i.product_details=t.product_details,i.sku=t.sku&&t.sku.toString(),i.variant_id&&n(a.SendFullProduct,i)}))}c=v(request({method:"GET",url:d.url}).rawBody,d.url),l=c&&c.product,s=c&&c.variants,l&&l.variant_id?(n(a.SendFullProduct,l),s.length&&y(l,s)):n(a.SendFullProduct,null)}();',
|
|
productFetcher477931476250495765: '!function(){"use strict";function t(r){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(r)}var r,e={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},i={};function o(t,r){return nativeAction(t,r)}function n(){return i.console?i.console():console}function a(){return r||(r=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),i.parameters?i.parameters(r):r}function c(t){var r,i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=a()[t];return i?(r=n,a().shouldUseMixins&&r?o(e.HandleMixin,r):r):n}var u=n();!function(){u.log.apply(u,arguments)}("Starting productFetcher477931476250495765 - Wix - mainVim");var s="1.0.0",p="4.0.0",l=(i.inputData?i.inputData(inputData):inputData)||{},d=c("v4Params"),m=d.v4_productFetcher_productDataHashSelector,v=d.v4_productFetcher_productTitleSelector,f=d.v4_productFetcher_productTitleValue;function h(r){for(var e=0,i=Object.keys(r);e<i.length;e++){var o=r[i[e]];if("object"===t(o)&&null!==o){if("product"in o)return o.product;var n=h(o);if(n)return n}}return null}function S(t){var r,e=t.find(m)&&t.find(m).html();try{r=h(JSON.parse(e).appsWarmupData)}catch(t){}return r&&(r.title=t.findValue(v,f)),r}function y(t,r){(function(t,r){var e=t,i=t[0]&&t[0].id,o=r[0].selections&&r[0].selections.length;if(1===t.length&&"00000000-0000-0000-0000-000000000000"===i&&o>0){var n=[];r.forEach((function(r,e){r.selections.forEach((function(r){var i=Object.assign({},t[0]),o=r.id;i.id="Option: ".concat(e.toString(),", Value: ").concat(o.toString()),i.optionsSelections=[],i.optionsSelections.push(o),n.push(i)}))})),e=n}return e})(r.productItems,r.options).forEach((function(i,n){var a=Object.assign({},t),c=i.price&&parseFloat(i.price,10),u=i.comparePrice&&parseFloat(i.comparePrice,10),s="in_stock"===(i.inventory&&i.inventory.status),p=function(t,r){var e,i={};t.optionsSelections&&t.optionsSelections.forEach((function(t,e){var o=r[e]&&r[e].key,n=r[e].selections.filter((function(r){return r.id===t})),a=n[0]&&n[0].key;o&&a&&(i[o]=a)}));try{e=JSON.stringify(i)}catch(t){}return e}(i,r.options);a.variant_id=i.id||void 0,a.imprint=0===n,a.price_list=c||void 0,a.price_current=u||c||void 0,a.sku=i.sku||void 0,a.in_stock=s,a.product_details=p||"{}",a.variant_id&&o(e.SendFullProduct,a)}))}function g(){var t,r=request({url:l.url,method:"GET"}).rawBody;try{t=parseHtml(r)}catch(t){}var i,n,a,c,u,d,m,v,f=S(t);if(f){var h=(a=(i=f).media&&i.media.map((function(t){return t.fullUrl})),c=i.price&&parseFloat(i.price,10),u=i.discountedPrice&&parseFloat(i.discountedPrice,10),d={title:i.title||void 0,brand:i.brand||l.store.name||void 0,categories:void 0,parent_id:i.id||void 0,imprint:!0,variant_id:i.id||i.sku||void 0,canonical_url:l.url||void 0,is_canonical:!0,currency:i.currency||"USD",price_current:u||c||void 0,price_list:c||void 0,in_stock:i.isInStock,image_url_primary:a[0],image_url_secondaries:a,description:i.description||void 0,sku:i.sku||void 0,vim_version:s,schema_version:p,seller_name:"Wix",product_details:"{}"},m=i.options,v=i.productItems,m&&m.length&&v&&(n={options:m,productItems:v}),{imprintProduct:d,variants:n,extra:i});h.imprintProduct&&!h.variants&&o(e.SendFullProduct,h.imprintProduct),h.imprintProduct&&h.variants&&y(h.imprintProduct,h.variants)}}g()}();',
|
|
productFetcher477931826759157670: '!function(){"use strict";var e,r={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},t={};function i(e,r){return nativeAction(e,r)}function a(){return t.console?t.console():console}function o(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),t.parameters?t.parameters(e):e}function n(e){var t,a=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=o()[e];return a?(t=n,o().shouldUseMixins&&t?i(r.HandleMixin,t):t):n}var c=a();!function(){c.log.apply(c,arguments)}("Starting productFetcher477931826759157670 - WooCommerce - mainVim");var s="1.0.0",u="4.0.0",d=(t.windowOverride?t.windowOverride():window).location.href.toString(),p=n("v4Params"),l=p.v4_productFetcher_productApiBaseList&&p.v4_productFetcher_productApiBaseList.split(", "),m=p.v4_productFetcher_productApiPageSelector,v=p.v4_productFetcher_productApiPageSelectorValue,g=p.v4_productFetcher_productIdSelector,h=p.v4_productFetcher_productIdSelectorValue,_=p.v4_productFetcher_productIdRegex&&new RegExp(p.v4_productFetcher_productIdRegex),f=p.v4_productFetcher_baseURLRegex&&new RegExp(p.v4_productFetcher_baseURLRegex),S=f.exec(d)&&f.exec(d)[0].replace("http:","https:");function x(e){var r;try{r=$("<textarea/>").html(e).text()}catch(t){r=e}return r}function F(e,r){var t,i,a;l.forEach((function(r){i&&200===i||(t=request({url:S+r+e,method:"GET"}),i=t&&t.status)})),!r||i&&200===i||(t=request({url:r,method:"GET",headers:{"Content-Type":"application/json"}}),(i=t&&t.status)&&200===i||(t=request({url:r.concat(e),method:"GET",headers:{"Content-Type":"application/json"}}),i=t&&t.status));try{a=JSON.parse(t.rawBody)}catch(e){}return a&&i&&200===i?a:{error:"Failed to make request"}}function P(e,r){var t;if(e){var i;switch(r){case"discounted":i=e.sale_price;break;case"original":i=e.regular_price;break;default:i=e.price}var a=e.currency_minor_unit;t=(parseFloat(i)/Math.pow(10,a)).toFixed(a)}return t&&parseFloat(t)}function w(e,t){t.forEach((function(t,a){var o=Object.assign({},e),n=t.id&&t.id.toString(),c=F(n);if(c&&c.prices){var s=P(c.prices,"priceCurrent"),u=P(c.prices,"original"),d=P(c.prices,"discounted"),p=c.images&&c.images[0]&&c.images[0].src;if(!p){var l=/(^https:\\/\\/[\\w/.-]+)\\s\\d+w,/,m=c.images&&c.images[0]&&c.images[0].srcset;p=l.exec(m)&&l.exec(m)[1]}var v=function(e){var r={};return e.forEach((function(e){var t=e.name&&x(e.name),i=e.value&&x(e.value);t&&i&&(r[t]=i)})),JSON.stringify(r)}(t.attributes);o.variant_id=n||void 0,o.imprint=0===a,o.price_list=u||s||void 0,o.price_current=d||s||void 0,o.image_url_primary=p||o.images&&o.images[0]||void 0,o.sku=c.sku||void 0,o.in_stock=c.is_in_stock,o.product_details=v||"{}",o.variant_id&&"{}"!==o.product_details&&i(r.SendFullProduct,o)}}))}function E(){var e,t=request({url:d,method:"GET"}).rawBody;try{e=parseHtml(t)}catch(e){}var a=_.exec(e.find(g).attr(h))&&_.exec(e.find(g).attr(h))[1],o=e.findValue(m,v);if(a){var n=F(a,o);if(n&&n.prices)if(n.error)i(r.SendFullProduct,null);else{var c=function(e){var r=0===e.parent?e.id:e.parent,t=P(e.prices,"priceCurrent"),i=P(e.prices,"original"),a=P(e.prices,"discounted"),o=e.images&&e.images.map((function(e){return e.src}))||[];if(!o){var n=/(^https:\\/\\/[\\w/.-]+)\\s\\d+w,/;o=(o=e.images&&e.images.map((function(e){return e.srcset}))||[]).map((function(e){return n.exec(e)&&n.exec(e)[1]}))}var c,p,l=e.categories&&e.categories.map((function(e){return e.name}))||[];return{imprintProduct:{title:e.name&&x(e.name),brand:inputData.store.name||void 0,categories:l,parent_id:r&&r.toString()||void 0,imprint:!0,variant_id:e.id&&e.id.toString()||void 0,canonical_url:e.permalink||d||void 0,is_canonical:!0,currency:e.prices&&e.prices.currency_code||"USD",price_current:a||t||void 0,price_list:i||t||void 0,in_stock:e.is_in_stock,image_url_primary:o.shift()||e.image&&e.image.src||void 0,image_url_secondaries:o||void 0,description:e.description||e.short_description,sku:e.sku||void 0,vim_version:s,schema_version:u,seller_name:"WooCommerce",product_details:"{}"},variants:e&&(c=e.variations,p=e.attributes,c.forEach((function(e){e.attributes.forEach((function(e,r){var t=p[r]&&p[r].terms;t&&t.forEach((function(r){r.slug&&e.value&&r.slug===e.value&&(e.value=r.name)}))}))})),c),extra:e}}(n);c.imprintProduct&&c.variants&&0===c.variants.length&&i(r.SendFullProduct,c.imprintProduct),c.imprintProduct&&c.variants&&w(c.imprintProduct,c.variants)}}}E()}();',
|
|
productFetcher477932326447320457: '!function(){"use strict";var e,r={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},t={};function i(e,r){return nativeAction(e,r)}function a(){return t.console?t.console():console}function n(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),t.parameters?t.parameters(e):e}function o(e){var t,a=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=n()[e];return a?(t=o,n().shouldUseMixins&&t?i(r.HandleMixin,t):t):o}var c=a();!function(){c.log.apply(c,arguments)}("Starting productFetcher477932326447320457 - BigCommerce - mainVim");var s,d="2.0.0",p="4.0.0",u=(t.inputData?t.inputData(inputData):inputData)||{},l=o("v4Params"),v=(s=(t.windowOverride?t.windowOverride():window).location.href.toString().match(/((?:https|http)?:\\/\\/?(?:[^@\\n]+@)?(?:www\\.)?(?:[^:/\\n?]+)).*/))&&s[1],g="".concat(v,"/graphql").replace("http:","https:").replace("//graphql","/graphql"),m=l.v4_productFetcher_authTokenRegex&&new RegExp(l.v4_productFetcher_authTokenRegex),h=l.v4_productFetcher_GQL_Query&&l.v4_productFetcher_GQL_Query.join("\\n"),_=l.v4_productFetcher_parentIdSelector1,f=l.v4_productFetcher_parentIdValue1,y=l.v4_productFetcher_parentIdSelector2,P=l.v4_productFetcher_parentIdValue2;function S(e){var r;try{r=e.data.site.product.variants}catch(e){}return r}function b(e){var r={};return e.forEach((function(e){var t=e.node&&e.node.displayName,i=e.node&&e.node.values&&e.node.values.edges&&e.node.values.edges[0]&&e.node.values.edges[0].node&&e.node.values.edges[0].node.label;t&&i&&(r[t]=i)})),JSON.stringify(r)}function I(e,r,t){var i=h;t&&(i=h.replace("(first: 250)",\'(first: 250, after: "\'.concat(t,\'")\')));var a,n=e.findValue(_,f)||e.findValue(y,P),o=m.exec(r)&&m.exec(r)[1],c={query:i,variables:{productId:parseInt(n,10)}},s=request({url:g,method:"POST",headers:{authorization:"Bearer ".concat(o),"Content-Type":"application/json"},body:JSON.stringify(c),credentials:"include"});try{a=JSON.parse(s.rawBody)}catch(e){}var d=a&&a.errors&&a.errors[0]&&a.errors[0]&&a.errors[0].message;if(!o||!a||d&&-1!==(d.indexOf("404")||d.indexOf("400")))return{error:"Failed to make request"};var p=S(a);if(a&&p&&p.pageInfo&&p.pageInfo.hasNextPage&&p.edges&&p.edges.length){var u=S(I(e,r,p.pageInfo.endCursor)),l=p.edges.concat(u.edges);a.data.site.product.variants.edges=l}return a}function F(){var e,t=request({url:u.url,method:"GET"}),a=t.rawBody;try{e=parseHtml(a)}catch(e){return}if(t.error||3===t.statusType||4===t.statusType)i(r.SendFullProduct,null);else{var n=I(e,a);if(n){var o=function(e){var r,t,i=e&&e.data&&e.data.site&&e.data.site.product;if(i){t=i.variants&&i.variants.edges;var a=i.entityId&&i.entityId.toString(),n=i.prices&&i.prices.price&&i.prices.price.value,o=i.prices&&i.prices.basePrice&&i.prices.basePrice.value,c=(i.images&&i.images.edges).map((function(e){return e.node&&e.node.url})),s=c.shift(),l=c,v=(i.categories&&i.categories.edges&&i.categories.edges[0]&&i.categories.edges[0].node&&i.categories.edges[0].node.breadcrumbs&&i.categories.edges[0].node.breadcrumbs.edges).map((function(e){return e.node&&e.node.name})),g=t&&t[0]&&t[0].node||{},m=g.prices&&g.prices.price&&g.prices.price.value,h=g.prices&&g.prices.basePrice&&g.prices.basePrice.value;(r={title:i.name||void 0,parent_id:a||void 0,canonical_url:u.url,imprint:!0,currency:"USD",categories:v,is_canonical:!0,image_url_primary:s||void 0,image_url_secondaries:l||void 0,description:i.description||void 0,brand:i.brand&&i.brand.name||u.store.name||void 0,variant_id:g.entityId&&g.entityId.toString()||void 0,in_stock:g&&g.inventory&&g.inventory.isInStock,sku:g.sku||i.sku||void 0,gtin:g.gtin||i.gtin||void 0,mpn:g.mpn||i.mpn||void 0,upc:g.upc||i.upc||void 0,price_current:m||n||void 0,price_list:h||m||o||n||void 0,product_details:g&&g.productOptions&&b(g.productOptions.edges),vim_version:d,schema_version:p,seller_name:"bigCommerce"}).price_list&&r.price_current&&r.price_list<r.price_current&&(r.price_list=r.price_current),t.shift()}return{imprintProduct:r,variants:t}}(n);o&&o.imprintProduct&&o.imprintProduct.parent_id&&(i(r.SendFullProduct,o.imprintProduct),o.variants&&o.variants.length>1&&function(e,t){t.forEach((function(t){var a=t.node,n=Object.assign({},e),o=a.prices&&a.prices.price&&a.prices.price.value,c=a.prices&&a.prices.basePrice&&a.prices.basePrice.value;c&&c<o&&(c=o),n.imprint=!1,n.variant_id=a.entityId&&a.entityId.toString()||void 0,n.sku=a.sku||void 0,n.mpn=a.mpn||void 0,n.gtin=a.gtin||void 0,n.upc=a.upc||void 0,n.price_list=c||o||void 0,n.price_current=o,n.image_url_primary=a.defaultImage||e.image_url_primary||void 0,n.in_stock=a.inventory&&a.inventory.isInStock,n.product_details=a.productOptions&&a.productOptions.edges&&b(a.productOptions.edges),n.variant_id&&n.variant_id!==e.variantId&&i(r.SendFullProduct,n)}))}(o.imprintProduct,o.variants))}}}F()}();',
|
|
productFetcher73: '!function(){"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(e){var r=function(e,r){if("object"!=t(e)||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var a=i.call(e,r||"default");if("object"!=t(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(e)}(e,"string");return"symbol"==t(r)?r:r+""}function r(t,r,i){return(r=e(r))in t?Object.defineProperty(t,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[r]=i,t}var i={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},a={};function n(t,e){return nativeAction(t,e)}function c(){return a.console?a.console():console}var o=c();!function(){o.log.apply(o,arguments)}("Starting productFetcher477932326447320457 - Etsy - mainVim");var l="1.0.0",s="4.0.0",u={parentId:[{selector:"input[name=listing_id]",attr:"value"}],title:[{selector:"#listing-page-cart div h1",attr:"text"}],localCurrency:[{selector:\'select#locale-overlay-select-currency_code option[selected="selected"]\',attr:"value"}],currentPrice:[{selector:\'[data-selector="price-only"] p[class*="text-title"]\',attr:"text"},{selector:\'[data-selector="price-only"]:has([class*="strikethrough"]) p[class*="text-title"]\',attr:"text"}],originalPrice:[{selector:\'div[data-selector="price-only"] p [class*="strikethrough"]\',attr:"text"}],categories:[{selector:".wt-text-caption.wt-text-center-xs.wt-text-left-lg a:not(:first)",attr:"text"}],description:[{selector:\'[data-id="description-text"] p\',attr:"text"}],brand:[{selector:"",attr:"text"}],primaryImage:[{selector:"[data-carousel-pagination-list] li img[src]:first",attr:"src"},{selector:\'.image-wrapper:not(:has([data-carousel-pagination-list])) [data-perf-group="main-product-image"]\',attr:"src"}],secondaryImages:[{selector:"[data-carousel-pagination-list] li img[src]",attr:"src"}],inStock:[{selector:\'div[data-selector="add-to-cart-button"] button\',attr:"text"}],schemaDotOrg:[{selector:\'script[type="application/ld+json"]\',attr:"html"}]},d={attributes:"select[id*=variation-selector]",attributeNames:"label[for*=variation-selector]",attributeOptions:"option[value]:not(:contains(Select))",variantInStockStatus:\'div[data-selector="add-to-cart-button"] button\',variantCurrentPrice:"> :contains(Price:) p:contains($):first",variantOriginalPrice:":contains(Original Price) + :contains($)"},p=(a.inputData?a.inputData(inputData):inputData)||{},g=(a.windowOverride?a.windowOverride():window).location.href.toString();function m(t,e){return t.exec(e)&&t.exec(e)[1]}function v(t,e,r){var i;return t.forEach((function(t){i||("singleField"===e?i="html"===t.attr?r.find(t.selector).html():r.findValue(t.selector,t.attr)||$(t.selector).attr(t.attr):(i=r.findArrayValues(t.selector,t.attr)).length&&""!==i[0]||(i=[],$(t.selector).toArray().forEach((function(e){var r=$(e);i.push(r.attr(t.attr))}))))})),i}function f(t,e){var r=[];if(!e.length)return t||e;var i=f(e.shift(),e);return t.forEach((function(t){i.forEach((function(e){var i=Object.assign({},t.productDetails,e.productDetails),a=Object.assign({},t,e);a.productDetails=i,t.backupPrice&&e.backupPrice||(a.backupPrice=t.backupPrice||e.backupPrice),t.selected&&(a.selected=!0),r.push(a)}))})),r}function y(t){var e=[],i=$(d.attributes).toArray(),a=$(d.attributeNames).toArray().map((function(t){return m(/([^(]+)/,$(t).text().trim().replace("Please choose ","").replace(/[\\n\\r\\s\\t]+/g,"-"))}));return i.forEach((function(i,n){var c=[],o=a[n];o&&(i.find(d.attributeOptions).toArray().forEach((function(e){var i,a=e.text(),n=!!e.attr("selected"),l=/\\$.*/.exec(a)&&price.clean(/\\$(\\d+\\.?\\d+)/.exec(a)[1]),s=!/\\[?[Ss]old [Oo]ut\\]?/.exec(a),u=a.replace(/\\(\\$.*/,"").replace(/\\[?[Ss]old [Oo]ut\\]?/,"").trim(),d=e.attr("value"),p=(r(i={},"attribute_".concat(o),d),r(i,"productDetails",r({},o,u)),r(i,"product_id",t),r(i,"backupPrice",l),r(i,"backupInStock",s),r(i,"selected",n),i);c.push(p)})),e.push(c))})),f(e.shift(),e)}function b(t,e,r){var i=t;if(r){var a,n=function(t){var e=[];for(var r in t)if(t.hasOwnProperty(r)){var i=r;r.indexOf("attribute_")>-1&&(i="listing_variation_ids[]",e.push("".concat(encodeURIComponent(i),"=").concat(encodeURIComponent(t[r]))))}return e.join("&")}(t),c=request({url:"https://www.etsy.com/api/v3/ajax/bespoke/member/listings/".concat(e,"/offerings/find-by-variations?").concat(n),method:"GET",data:{channel:"1",selected_quantity:"1"}});try{a=JSON.parse(c.rawBody)}catch(t){}var o=$(a.price),l=$(a.add_to_cart_form);i.currentPagePrice=price.clean(o.find(d.variantCurrentPrice).text().trim().replace(/\\+/,"")),i.originalPagePrice=price.clean(o.find(d.variantOriginalPrice).text().trim().replace(/\\+/,"")),i.inStock=!!l.find(d.variantInStockStatus).length,i.variantId=Object.keys(t).filter((function(t){return t.indexOf("attribute_")>-1})).map((function(e){return t[e]})).join("-"),i.sku=l.find(\'input[name="listing_id"]\').attr("value")}else i.currentPagePrice=t.backupPrice,i.inStock=t.backupInStock,i.variantId=Object.keys(t).filter((function(t){return t.indexOf("attribute_")>-1})).map((function(e){return t[e]})).join("-"),i.backupData=!0,i.selected=t.selected;return i}function h(t){var e={},r=v(u.schemaDotOrg,"singleField",t),i={};try{i=JSON.parse(r)}catch(t){}var a,n,c,o,l=v(u.parentId,"singleField",t)||i.sku,s=$("".concat(d.attributes," ").concat(d.attributeOptions)).toArray().filter((function(t){return $(t).attr("selected")})).map((function(t){return $(t).attr("value")})).join("-")||l;if(e.parentId=l,e.name=v(u.title,"singleField",t)||i.name,e.brand=i.brand&&i.brand.name||p.store.name,e.currency=v(u.localCurrency,"singleField",t),e.currentPagePrice=price.clean(v(u.currentPrice,"singleField",t)),e.originalPagePrice=price.clean(v(u.originalPrice,"singleField",t)),e.categories=v(u.categories,"array",t)||i.category&&i.category.split(" > "),e.description=(a=v(u.description,"singleField",t))?htmlDecode(a).replace(/\\s{2,}/g," ").replace(/(<p><\\/p>|<style[\\s\\S]*?<\\/style>)/g,"").replace(/<(p|div|hd|br|li).*?>/g,"\\n").replace(/<\\/?[A-Za-z][^<>]*>/g,"").replace(/\x3c!--.*--\x3e/,"").split(/,(?=[a-z])/i).join(", ").trim():"",e.primaryImage=v(u.primaryImage,"singleField",t),e.inStock=v(u.inStock,"singleField",t),e.images=v(u.secondaryImages,"array",t)||i.image,e.description.indexOf("DO NOT ADD")>-1||"USD"!==e.currency)return null;e.variantId=s,e.productDetails=JSON.stringify((n={},c=$(d.attributeNames).toArray().map((function(t){return m(/([^(]+)/,$(t).text().trim().replace("Please choose ","").replace(/[\\n\\r\\s\\t]+/g,"-"))})),(o=$("".concat(d.attributes," ").concat(d.attributeOptions)).toArray().filter((function(t){return $(t).attr("selected")}))).length===c.length&&c.forEach((function(t,e){n[t]=o[e].text().trim()})),n))||"{}",e.sku=i.sku||l,e.gtin=i.gtin&&"n/a"!==i.gtin?i.gtin:null;var g=y(l),f=!0;return g.length>25&&(f=!1),e.variants=g.map((function(t){return b(t,l,f)})),e}function P(){var t,e=request({url:p.url,method:"GET"}),r=e.rawBody;try{t=parseHtml(r)}catch(t){return}if(e.error||3===e.statusType||4===e.statusType)n(i.SendFullProduct,null);else{var a=h(t);if(a){var c=function(t){var e=t.images,r=t.primaryImage||e.shift(),i=t.sku,a=t.mpn,n=t.gtin,c=t.upc,o={title:t.name||void 0,parent_id:t.parentId||void 0,canonical_url:g,imprint:!0,currency:t.currency||void 0,categories:t.categories||void 0,is_canonical:!0,image_url_primary:r||void 0,image_url_secondaries:e||void 0,description:t.description||void 0,brand:t.brand||void 0,variant_id:t.variantId||void 0,in_stock:!(!t.inStock||""===t.inStock),price_current:t.currentPagePrice||t.originalPagePrice||void 0,price_list:t.originalPagePrice||void 0,sku:i||void 0,gtin:n||void 0,mpn:a||void 0,upc:c||void 0,product_details:t.productDetails,vim_version:l,schema_version:s,seller_name:"Etsy"};return t.variants.length&&"{}"===o.product_details&&(o.product_details="unselected"),{imprintProduct:o,variants:t.variants}}(a);c&&c.imprintProduct&&c.imprintProduct.parent_id&&"unselected"!==c.imprintProduct.product_details&&n(i.SendFullProduct,c.imprintProduct),c.variants.length&&function(t,e){e.forEach((function(e){if(e.variantId!==t.variant_id){var r=Object.assign({},t);r.imprint=!1,r.variant_id=e.variantId||void 0,r.sku=e.sku||t.sku||void 0,r.mpn=e.mpn||void 0,r.gtin=e.gtin||void 0,r.upc=e.upc||void 0,r.price_list=e.originalPagePrice||void 0,r.price_current=e.currentPagePrice||void 0,r.in_stock=e.inStock,r.product_details=JSON.stringify(e.productDetails),e.backupData&&e.selected&&!e.currentPagePrice&&(r.price_list=t.price_list,r.price_current=t.price_current),r.parent_id&&r.variant_id&&n(i.SendFullProduct,r)}}))}(c.imprintProduct,c.variants)}else n(i.SendFullProduct,null)}}P()}();',
|
|
productFetcher7360555217192209452: '!function(){"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(t){var a=function(t,a){if("object"!=e(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,a||"default");if("object"!=e(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(t)}(t,"string");return"symbol"==e(a)?a:a+""}function a(e,a,r){return(a=t(a))in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}var r="sendFullProduct",i={};function n(e,t){return nativeAction(e,t)}function c(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var l="2.0.0",s="4.0.0",d=/.*\\/(?:[\\w\\-%]+\\/)?(?:dp|gp\\/product)\\/(?:\\w+\\/)?(\\w{10})/,u="https://images-na.ssl-images-amazon.com/images/I/",p="https://www.amazon.ca/dp/",f=/^\\$?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(\\.[0-9][0-9])?$/,m=/^\\d*\\.?\\d{2}$/,h="#priceblock_dealprice, #newPitchPrice",g="#priceblock_dealprice",v=50,_=[],b=(i.inputData?i.inputData(inputData):inputData)||{};function y(e){return e?htmlDecode(e).replace(/\\s{2,}/g," ").replace(/<(p|div|hd|br|li).*?>/g,"\\n").replace(/<\\/?.*?>/g,"").trim():""}function x(e){var t=e.replace(/^\\$/,"").replace(",","").replace("-",".").replace(/\\$.*$/,"");return t.match(m)?t:void 0}function V(e){var t;return["#priceblock_pospromoprice",h,g,"#newOfferAccordionRow #addToCart .header-price","#priceblock_ourprice #priceblock_saleprice","#mediaTab_content_landing #addToCart .header-price",".selected .a-color-base .a-color-price","#priceblock_ourprice","#priceblock_saleprice","#mediaNoAccordion .header-price","#newOfferAccordionRow.a-accordion-active .header-price","#rentOfferAccordionRow .a-size-medium.header-price.a-color-price","#newOfferAccordionRow .header-price","#snsPrice .a-color-price","#price_inside_buybox","#newBuyBoxPrice","div#booksHeaderSection span#price","div#corePrice_desktop span.a-size-medium span.a-offscreen","div#corePrice_feature_div span.a-price.aok-align-center span.a-offscreen"].some((function(a){var r=e.find(a);if(0===r.length||0===r.text().length||0===r.text().trim().length)return!1;var i=r.text().trim();return t=a===g||a===h?function(e,t,a){if(t.match(f))return x(t);var r=e.find("".concat(a," .price-large")),i=e.find("".concat(a," .price-info-superscript:last-child"));if(r&&r.text()&&r.text().trim()&&i&&i.text()&&i.text().trim()){var n=r.text().trim(),c=i.text().trim(),o="".concat(n,".").concat(c);return o.match(m)?o:void 0}}(e,i,a):x(i),!!t})),t}function k(e,t){var a=t.match(d);if(a){var r=p+a[1];_.indexOf(r)<0&&(e.push({url:r,parent_id:a[1]}),_.push(r))}return e}function w(e){var t;try{(t=((e.find("#tell-a-friend, #tell-a-friend-byline").eq(0).attr("data-dest")||"").match(/parentASIN=(.*?)&/)||["",""])[1])||(t=(((e.find(\'script:contains("parentAsin":")\').eq(0)||{}).html()||"").match(/parentAsin":"(.*?)"/)||[])[1]),t||(t=((JSON.parse(e.find(\'#fitZone_feature_div script[data-a-state=\\\'{"key":"fit-cx-dp-data"}\\\'\').eq(0).text())||{}).productInfo||{}).parentAsin)}catch(e){}return t}function O(e,t,a){var r,i=function(e){var t=[],a={};return[\'#dp-container #bottomRow script:contains("colorToAsin")\',\'#imageBlock_feature_div script:contains("colorToAsin")\',"script:contains(\'[\\"colorImages\\"]\')"].some((function(r){var i=(e.find(r).eq(0).html()||"").match(/data\\["colorImages"\\]\\s*=\\s*((.*?)(?=;))/)||[];if(i.length>0){try{a=JSON.parse(i[1])}catch(e){a={}}Object.entries(a).forEach((function(e){Array.isArray(e[1])&&e[1].length>1&&(t[e[0]]=e[1][0].hiRes||e[1][0].large||"")}))}return Object.keys(t).length>0})),t}(e),n=[],c=[];return[\'#dp-container #bottomRow script:contains("twister-js-init-dpx-data")\',\'#twisterJsInitializer_feature_div script:contains("twister-js-init-dpx-data")\',\'#twisterContainer ~ script:contains("twister-js-init-dpx-data")\',\'#ppd script:contains("twister-js-init-dpx-data")\'].some((function(l){var s,d,u,p=e.find(l).eq(0).html()||"",f=p.match(/"variationValues"\\s*:\\s*([\\s\\S]*?})/)||[],m=p.match(/"dimensionValuesDisplayData"\\s*:\\s*([\\s\\S]*?})/)||[],h=!1,g=[],_=0,b=[];if(!p)return!1;if(m.length>0&&f.length>0){try{f=JSON.parse(f[1]),m=JSON.parse(m[1])}catch(e){return!1}for(f=Object.entries(f).reduce((function(e,t){var a=t[0]||"",r=t[1]||[];return a.length>0&&r.forEach((function(t){e[t]=a})),e}),{}),g=Object.entries(m);_<g.length&&(d=(s=g[_])[0],u=b.length<v,!h||u);)d===a.variant_id?(h=!0,b.push(s)):(h&&u||!h&&b.length<v-1)&&b.push(s),_+=1;n=b.reduce((function(e,n){var l,s=n[0],d=n[1],u={product_id:s,availability:!0,currency:a.currency,details:{},image_url:(i[d[0]]||i[d[1]]||i[d.join(" ")]||"").replace(/._.*_(?=.jpg)/,""),merch_id:a.parent_id,offer_id:s,asin:s,offer_type:"variation",brand:a.brand},p={access:!0,collar:!0,color:!0,edition:!0,finish:!0,fit:!0,flavor:!0,height:!0,inseam:!0,image:!0,length:!0,material:!0,model:!0,neck:!0,option:!0,platform:!0,size:!0,sleeve:!0,style:!0,team:!0,type:!0,waist:!0,weight:!0,width:!0};return l=d.reduce((function(e,t){var a=o({},e),r=((f[t]||"").match(/^[^_]+(?=_)/)||[])[0],i=p[r]?r:"option",n="option"===i?"".concat(f[t].replace(/_/g," ")," - ").concat(t):t;return"option"===i&&a[i]?a[i]="".concat(a[i],", ").concat(n):a[i]=n,a}),{}),u.details=l,c.push(u),s===t?r=l:e.push(u),e}),[])}return!0})),{allVariants:n,currentDetails:r,migrationVariants:c}}function A(e,t,a){var r=/(play-icon-overlay|play-button-overlay|360_icon_73x73|transparent-pixel)/,i=e.findValue("#fine-ART-ProductLabelArtistNameLink","text"),n=e.findValue("#fineArtTitle","text"),c=e.findValue("#fineArtReleaseDate","text"),d=i&&n?"".concat(i," - ").concat(n):"";c&&(d+=" ".concat(c));var f,m,h=e.findValue("#about-this-artist p:nth-of-type(2)","text"),g=e.findValue(\'#productTitle, #ebooksProductTitle, [name="goKindleStaticPopDiv"] strong\',"text").trim().replace(/\\n/g," ").replace(/\\s+/g," "),v=V(e),_=v&&v.match(/\\$.+-\\s+\\$/)?void 0:price.clean(v),b=price.clean(e.find(\'#price .a-text-strike, .print-list-price .a-text-strike, .a-list-item .a-text-strike, div#corePrice_desktop span.a-size-base[data-a-color="secondary"] span.a-offscreen, #corePriceDisplay_desktop_feature_div .basisPrice span.a-offscreen\').last().text()),x=e.findValue("#brand, #bylineInfo_feature_div #bylineInfo, .author .contributorNameID, .author.notFaded a, .ac-keyword-link a","text")||((e.findValue("#brand","href")||"").match(/\\/(.+)\\/b/)||[])[1]||"",A=e.findValue("a.contributorNameID","text");A&&x.length>300&&(x=A);try{m=JSON.parse(((e.find("script:contains(imageGalleryData)").eq(0).html()||"").match(/imageGalleryData\'\\s:\\s(.*),/)||[])[1]||"")}catch(e){}var S=(m||[]).map((function(e){return e.mainUrl})),j=e.findValue("#fine-art-landingImage","data-old-hires")||e.findValue("#fine-art-landingImage","src")||e.findValue("#landingImage","data-old-hires")||e.findValue("#imgTagWrapperId img","src")||(e.findValue("#altImages img","src")||"").replace(/._.*_(?=.jpg)/,"")||e.findValue("#ebooksImgBlkFront, #imgBlkFront","src")||S.shift(),D=e.findArrayValues("#altImages .imageThumbnail img","src").length>0?e.findArrayValues("#altImages .imageThumbnail img","src"):e.findArrayValues("#fine-art-altImages img","src"),I=e.findArrayValues("span.a-button-thumbnail img","src");D.length||(D=I);var P=D.reduce((function(e,t){var a=/._.*_(?=.jpg)/;return t.match(r)||j===t.replace(a,"")||e.push(t.replace(a,"")),e}),[]),T=P.length?P:S;if(!(j=j&&!j.match(r)?T.shift():j)||j.length>1e3){var N,C=e.findValue("#landingImage","data-a-dynamic-image");try{N=JSON.parse(C)}catch(e){}j=Object.keys(N||{})[0]}var E,R=e.findValue("#bookDescription_feature_div noscript, div#bookDescription_feature_div div[aria-expanded], #productDescription p","text").trim().replace(/(<([^>]+)>)/g,"").replace(/\u2022/g,"\\n"),B=e.findArrayValues("#productDescription div:first-child, .aplus-3p-fixed-width .a-unordered-list.a-vertical,.aplus-v2 .celwidget p","text").join("\\n"),z=B&&y(B),J=h&&y(h),q=e.findValue("#cerberus-data-metrics","data-asin-currency-code"),$=(e.findValue("#averageCustomerReviews .a-icon-star span","text").match(/(\\d+\\.\\d+)/)||["0"])[0],L=20*price.clean($)||void 0,F={variant_id:e.findValue("#ASIN","value")||t||void 0,title:g||d||"",brand:x.replace(/(?:^(?:Visit\\sthe|Brand:)|Store$)/g,"").replace(/\\n/g," ").replace(/\\s+/g," ").trim()||"Amazon",price_current:_||void 0,price_list:b>_&&b||_||void 0,image_url_primary:j,categories:e.findArrayValues("#wayfinding-breadcrumbs_feature_div .a-link-normal:not(#breadcrumb-back-link), a.nav-search-label","text"),parent_id:w(e)||t||void 0,description:(e.findArrayValues("#feature-bullets li:not(.aok-hidden)","text").join("\\n")||R||"").trim(),ext_description:z||J,in_stock:!!e.find("#availability_feature_div, #availability").text().match(/in stock/i)||!!e.find("li.swatchElement.selected:contains(Kindle)").length||!!e.find(\'#add-to-cart-button[title="Add to Shopping Cart"]\').length,imprint:a,image_url_secondaries:T.length?T:void 0,similar_products:e.findArrayValues("#HLCXComparisonTable .comparison_sim_asin, #HLCXComparisonTable a.a-link-normal, #purchase-sims-feature a.a-link-normal","href").reduce(k,[]),related_products:e.findArrayValues("#session-sims-feature a.a-link-normal, #comp-chart-container a.a-link-normal","href").reduce(k,[]),canonical_url:"".concat(p+t,"?th=1&psc=1")||0,is_canonical:!0,rating_count:price.clean(e.findValue("#acrCustomerReviewText","text"))||void 0,rating_value:L||void 0,seller_name:e.findValue("#merchant-info a","text"),seller_id:((e.findValue("#merchant-info a","href")||"").match(/seller=(\\w+)/)||[void 0,void 0])[1],vim_version:l,currency:q||"CAD",language:"EN"===e.findValue(\'[class="icp-nav-language"]\',"text")?"en-us":"",schema_version:s,sku:e.findValue("#ASIN","value")||t||void 0,gtin:e.findValue("span.a-list-item span.a-text-bold:contains(ISBN-13) + span","text")||void 0};if(f=O(e,t,F),F.product_details=JSON.stringify(f.currentDetails),F.migrationVariants=f.migrationVariants,F.seller_id&&!e.findValue("#merchant-info","text").match("Ships from and sold by Amazon")||(F.seller_id="ATVPDKIKX0DER",F.seller_name="Amazon"),(0===(f.allVariants||[]).length||1===(f.allVariants||[]).length&&f.allVariants[0].offer_id===F.variant_id)&&(F.parent_id=F.variant_id),(f.allVariants||[]).length>1&&!F.product_details&&(F.variant_id=void 0),F.categories.indexOf("New, Used & Rental Textbooks")>-1){try{var G=e.find(\'[data-a-state="{"key":"booksImageBlockEDPEditData"}"]\').html(),H=JSON.parse(G).imageId;F.image_url_primary=H?"".concat(u+H,"._SX309_BO1,204,203,200_.jpg"):""}catch(e){}var K=F.title,X=(e.find("#bookEdition").text()||"").trim(),U=new RegExp(X,"i");X&&!U.test(K)&&(K+=" ".concat(X));var W=(e.find(".a-active .mediaTab_title").text()||"").trim();W&&(K+=" - ".concat(W)),F.title=K,E=function(e,t){var a=[],r=e.findValue("li.a-active .a-size-large.mediaTab_title","text"),i=e.find(\'[id*="OfferAccordionRow"]\');if(!i.length)return a;for(var n=0;n<i.length;n+=1){var c=i.eq(n),l=c.findValue(".header-text","text").trim().replace(/Buy /,"").toLowerCase(),s=(c.find("i.a-icon-radio-active")||[]).length,d=c.findValue(".header-price","text").trim(),u=c.findValue(".a-text-strike","text").trim();if(l&&d){var p=o({},t),f=t.variant_id;p.imprint=!!s,p.variant_id=f+l,p.price_current=price.clean(d)||void 0,p.price_list=price.clean(u||d)||void 0,p.product_details=r?JSON.stringify({option:"".concat(r.toLowerCase()," - ").concat(l)}):JSON.stringify({option:l}),a.push(p)}}return a}(e,F)}return{product:F,variantIds:f.allVariants||[],bookConditionVariants:E||[]}}function S(e,t,a){return A(parseHtml(e),t,a)}!function(){var e,t;try{e=S(request({url:b.url,method:"GET"}).rawBody,b.url.match(d)[1],!0)}catch(e){return}e.bookConditionVariants.length?e.bookConditionVariants.forEach((function(e){n(r,e)})):e.product.price_current&&e.product.variant_id&&n(r,e.product),e.variantIds.length&&(t=e.variantIds.map((function(e){var t=e.asin;return"".concat(p+t,"?th=1&psc=1")}))),(t||[]).forEach((function(e){try{var t=S(request({url:e,method:"GET"}).rawBody,e.match(d)[1],!1);t.product.price_current&&t.product.variant_id&&n(r,t.product)}catch(e){}}))}()}();',
|
|
productFetcher7360676928657335852: '!function(){"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(e){var r=function(e,r){if("object"!=t(e)||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,r||"default");if("object"!=t(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(e)}(e,"string");return"symbol"==t(r)?r:r+""}function r(t,r,i){return(r=e(r))in t?Object.defineProperty(t,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[r]=i,t}var i={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},n={};function o(t,e){return nativeAction(t,e)}function a(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,i)}return r}function c(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?a(Object(i),!0).forEach((function(e){r(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):a(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}var u,s,l="2.0.0",p="4.0.0",d=(n.inputData?n.inputData(inputData):inputData)||{};function f(t,e){var r={access:1,collar:1,color:1,edition:1,finish:1,fit:1,flavor:1,height:1,inseam:1,image:1,length:1,material:1,model:1,neck:1,option:1,platfornm:1,size:1,sleeve:1,style:1,team:1,type:1,waist:1,weight:1,width:1};return(t||[]).reduce((function(t,i,n){var o=c({},t),a=i.name&&i.name.toLowerCase();return r[a]||(a="option"),i.values&&i.values.length>1&&(o[a]=e["option".concat((n+1).toString())]),o}),{})}function m(t,e){return(t||[]).reduce((function(t,r,i){var n=c({},t),o=r.name&&r.name.toLowerCase();return r.values&&r.values.length>0&&r.name&&r.name.toLowerCase().indexOf("title")<0&&(n[o]=e["option".concat((i+1).toString())]),n}),{})}function v(t,e){var r;return Object.values(t||{}).some((function(t){return(t.id||"").toString()===e&&(r=t.inventory_quantity>0,!0)})),r}function h(t){var e,r,i=request({url:t,method:"GET"}).rawBody;try{e=parseHtml(i)}catch(t){}if(e){var n=(e.findValue(\'[property="og:url"]\',"content")||e.findValue(\'[rel="canonical"]\',"href")||"").split("?")[0],o=n?"".concat(n,".json"):"",a=o?o.replace("https://","https://checkout."):"";try{r=JSON.parse(request({url:o,method:"GET"}).rawBody).product}catch(t){}if(!r)try{r=JSON.parse(request({url:a,method:"GET"}).rawBody).product}catch(t){}var u=function(t){var e=(t.match(/\\[{"id":.+inventory_quantity.+}\\]/)||[])[0];return e?function(t){for(var e=1,r=1;r<t.length;r+=1)if("["===t[r]?e+=1:"]"===t[r]&&(e-=1),0===e)return t.slice(0,r+1);return""}(e):""}(e.find(\'script:contains("inventory_quantity")\').html()||"");try{r.stock=JSON.parse(u)}catch(t){}if(r){var s=r.images,h=r.variants,y=h&&h.reduce((function(t,e){var r=c({},t);return r[e.id]=[],r}),{});y[r.id]=[],s&&s.forEach((function(t){t.variant_ids.forEach((function(e){y[e].push(t.src)})),y[t.product_id].push(t.src)})),r.imageHash=y}}return function(t,e){var r=e&&e.variants,i=(r||[]).shift(),n=i.id&&i.id.toString()||void 0,o=(d.url.match(/(.*\\/products\\/)/)||[])[1],a=price.clean(i.price)||void 0,c=e.imageHash[n],u=e.imageHash[e.id]||[e.image&&e.image.src]||0;c&&0!==c.length||(c=u);var s=f(e.options,i),h=m(e.options,i),y=i.inventory_quantity>0||void 0,g=e.body_html&&e.body_html.replace(/<.*?>/g,""),_=t.findValue(".what-it-is p","text");return{product:{parent_id:e.id?e.id.toString():void 0,variant_id:n,canonical_url:o&&e.handle&&n?"".concat(o+e.handle,"?variant=").concat(n):d.url,is_canonical:!0,currency:t.findValue(\'[property="og:price:currency"]\',"content")||"USD",price_current:a,price_list:price.clean(i.compare_at_price)||a,in_stock:y||v(e.stock,n),image_url_primary:c.shift()||e.image&&e.image.src,image_url_secondaries:c.length&&c,product_details:Object.keys(s).length?JSON.stringify(s):void 0,store_extra_info:n?JSON.stringify({productId:n}):void 0,twotap_purchase_option:JSON.stringify(h),title:e.title,brand:e.vendor,description:g||_,categories:[],imprint:!0,vim_version:l,seller_name:"Shopify",schema_version:p},variants:r,extra:e}}(e,r)}u=h(d.url),(s=u.product||{}).variant_id&&o(i.SendFullProduct,s),function(t){t.variants.forEach((function(e){var r=c({},t.product),n=t.extra,a=e.id&&e.id.toString()||void 0,u=price.clean(e.price)||void 0,s=n.imageHash[a]||[],l=f(n.options,e),p=m(n.options,e),d=e.inventory_quantity>0||void 0;r.variant_id=a,r.imprint=!1,r.canonical_url=r.canonical_url.replace(/variant=\\d+/,"variant=".concat(a)),r.price_current=u,r.price_list=price.clean(e.compare_at_price)||u,r.in_stock=d||v(n.stock,a),r.image_url_primary=s.shift()||r.image_url_primary,s.length&&(r.image_url_secondaries=s),r.product_details=Object.keys(l).length?JSON.stringify(l):void 0,r.store_extra_info=a?JSON.stringify({productId:a}):void 0,r.twotap_purchase_option=JSON.stringify(p),r.variant_id&&o(i.SendFullProduct,r)}))}(u)}();',
|
|
productFetcher7370049848889092396: '!function(){"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(t){var r=function(t,r){if("object"!=e(t)||!t)return t;var a=t[Symbol.toPrimitive];if(void 0!==a){var i=a.call(t,r||"default");if("object"!=e(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==e(r)?r:r+""}function r(e,r,a){return(r=t(r))in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}var a={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},i={};function n(e,t){return nativeAction(e,t)}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}var u,c,s,l="2.1.0",p="4.0.0",m=/aliexpress(?:\\.com|\\.us)\\/.*\\/(\\w+)\\.html/i,d=(i.inputData?i.inputData(inputData):inputData)||{},f=d.url,g={access:!0,collar:!0,color:!0,edition:!0,finish:!0,fit:!0,flavor:!0,height:!0,image:!0,inseam:!0,length:!0,material:!0,model:!0,neck:!0,option:!0,platform:!0,size:!0,sleeve:!0,style:!0,team:!0,type:!0,waist:!0,weight:!0,width:!0};function y(e,t){var r=decodeURI(e||"").replace("https:https","https"),a=decodeURI(t||"").replace(/^https?/i,"");return r&&!/^http/i.test(r)&&(r="https://".concat((a?a+r:r).replace(/[:/-]+/,""))),r&&r.replace(/^\\s*https?([^?]+)\\??.*\\s*/i,"https$1")}function h(e){var t;return Object.keys(e||{}).length&&(t=JSON.stringify(e)),t}function v(e){return(e||[]).filter((function(e){return-1===["Home","All Categories","Back to search results"].indexOf(e)}))}function b(e){return e?htmlDecode(e).replace(/([\\u2700-\\u27BF]|[\\uE000-\\uF8FF]|\\uD83C[\\uDC00-\\uDFFF]|\\uD83D[\\uDC00-\\uDFFF]|[\\u2011-\\u26FF]|\\uD83E[\\uDD10-\\uDDFF])/g,"").replace(/\\s{2,}/g," ").replace(/(<p><\\/p>|<style[\\s\\S]*?<\\/style>)/g,"").replace(/<(p|div|hd|br|li).*?>/g,"\\n").replace(/<\\/?[A-Za-z][^<>]*>/g,"").replace(/\x3c!--.*--\x3e/,"").split(/,(?=[a-z])/i).join(", ").trim():""}function _(e,t,r,a){for(var i=e.findArrayValues(\'[class*="slider--img"] img\',"src").reduce((function(e,t){if(t){var r=t.replace(/\\.jpg.*/i,".jpg");r=y(r),e.push(r)}return e}),[]),n={},o=0;o<r.attributes.length;o+=1)for(var u=r.attributes[o],c=u.skuPropertyName||"",s=u.skuPropertyValues||[],l=0;l<s.length;l+=1){var p=s[l];p.attributeName=c;var m=p.propertyValueId;m&&(n[m]=p)}return r.variants.reduce((function(e,r){var o={},u=r.skuVal||{},c=function(e,t){var r,a=((e.skuPropIds.length?e.skuPropIds.split(","):e.skuPropIds)||[]).reduce((function(e,r){var a=t[r]||{},i=(a.attributeName||"").toLowerCase();if(a)if(a.skuPropertyImagePath&&(e.image=e.image?"".concat(e.image,",").concat(a.skuPropertyImagePath):a.skuPropertyImagePath),g[i])e[i]=a.propertyValueDisplayName;else if("ships from"===i)e[i]=a.propertyValueDisplayName;else{var n;n=e.option?"".concat(e.option," / ").concat(i,": ").concat(a.propertyValueDisplayName):"".concat(i,": ").concat(a.propertyValueDisplayName),e.option=n}return e}),{});return Object.keys(a).length&&(r=a),r}(r,n)||{},s=c.image?c.image.replace(/\\.jpg.*/i,".jpg"):i[0],l=c.image?i.filter((function(e){return e!==s})):i.slice(1),p=price.clean(u&&u.skuAmount&&u.skuAmount.formatedAmount)||void 0,m=r.skuPropIds.length?"".concat(t,"-").concat(r.skuPropIds.replace(/,/g,"-")):t;return(o={imprint:r.skuAttr===a,image_url_primary:s||"",image_url_secondaries:l,price_curent:price.clean(u&&u.skuActivityAmount&&u.skuActivityAmount.formatedAmount)||p,price_list:p,product_details:c,quantity:u.availQuantity,sku:r.skuIdStr||"",variant_id:m}).product_details&&o.product_details.image&&(o.product_details.image=void 0),e.push(o),e}),[])}function P(e,t){var r,a=parseHtml(e),i=function(e){return(e&&e.match(m)||[])[1]}(t),n=a.find(\'script:contains("runParams")\').html()||"",o=/.*window.runParams = \\{\\n.*data: (.*)/.exec(n)&&/.*window.runParams = \\{\\n.*data: (.*)/.exec(n)[1];try{r=JSON.parse(o)}catch(e){}var u={variants:[],attributes:[]};if(u.attributes=r&&r.skuComponent&&r.skuComponent.productSKUPropertyList,u.variants=r&&r.priceComponent&&r.priceComponent.skuPriceList,"US"!==(r&&r.webGeneralFreightCalculateComponent&&r.webGeneralFreightCalculateComponent.originalLayoutResultList&&r.webGeneralFreightCalculateComponent.originalLayoutResultList[0].bizData&&r.webGeneralFreightCalculateComponent.originalLayoutResultList[0].bizData.shipToCode))return!1;var c=_(a,i,u,r&&r.skuComponent&&r.skuComponent.selectedSkuAttr),s=function(e){var t=e.cheerio,r=e.baseData&&e.baseData[0]||{},a=e.script,i=y(t.findValue(\'link[rel="canonical"]\',"href")||t.findValue(\'meta[property="og:url"]\',"content")||f||""),n=a&&a.siteInfoComponent&&a.siteInfoComponent.wholesaleSubServer,o=i.replace(/www.aliexpress.com/,n),u=a.sellerComponent&&a.sellerComponent.storeName||t.findValue(\'[data-pl="store-name"]\',"text")||"AliExpress",c=t.findArrayValues(\'[class*="cross-link--breadcrumb"] a\',"text"),s=a.currencyComponent&&a.currencyComponent.currencyCode,m=b(/(.*Aliexpress)/i.exec(t.findValue(\'meta[name="description"]\',"content")||"")&&/(.*Aliexpress)/i.exec(t.findValue(\'meta[name="description"]\',"content")||"")[1]),d=a.productInfoComponent&&a.productInfoComponent.subject||t.findValue(\'[data-pl="product-title"]\',"text");return{product:{brand:u,canonical_url:o,categories:v(c),currency:s,description:m,imprint:r.imprint,image_url_primary:r.image_url_primary,image_url_secondaries:r.image_url_secondaries,in_stock:r.quantity>0,is_canonical:!e.variants.length,parent_id:e.parent_id,price_current:r.price_curent,price_list:r.price_list,product_details:h(r.product_details),schema_version:p,sku:r.sku,title:b(d),variant_id:r.variant_id,vim_version:l},variants:e.variants}}({cheerio:a,script:r,parent_id:i,baseData:c.filter((function(e){return!0===e.imprint}))||c.shift(),variants:c.filter((function(e){return!1===e.imprint}))});return s}function k(e,t){t.forEach((function(t){var i=function(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}({},e);i.imprint=t.imprint,i.image_url_primary=t.image_url_primary,i.image_url_secondaries=t.image_url_secondaries,i.in_stock=t.quantity>0,i.price_current=t.price_curent,i.price_list=t.price_list,i.product_details=h(t.product_details),i.sku=t.sku,i.variant_id=t.variant_id,i.variant_id&&n(a.SendFullProduct,i)}))}u=P(n(a.GetPageHtml),d.url),c=u&&u.product,s=u&&u.variants,c?(n(a.SendFullProduct,c),s.length&&k(c,s)):n(a.SendFullProduct,null)}();',
|
|
productFetcher7613592105936880680: '!function(){"use strict";var i="sendFullProduct",t={};function r(i,t){return nativeAction(i,t)}var e,a="2.0.0",n="4.0.0",o="https://www.woolworths.com.au/",c=(t.inputData?t.inputData(inputData):inputData)||{};function d(i,t,r){var e,o=t.AdditionalAttributes||{},c=t.PrimaryCategory||{},d=t.Product||{},s=d.Rating||{},u=((d&&d.CentreTag&&d.CentreTag.TagContent||"").match(/\\$(.*) /)||[])[1],l=d.Stockcode&&d.Stockcode.toString(),v=d.DetailsImagePaths||[],p=function(i){var t={};return i&&(t.size=i),Object.keys(t).length?JSON.stringify(t):void 0}(d&&d.PackageSize);return{parent_id:l||void 0,variant_id:l||void 0,canonical_url:i||void 0,is_canonical:!0,imprint:r,brand:"Woolworths",title:d.Name||void 0,categories:(c.Aisle?[c.Aisle.trim()]:"")||void 0,description:(e=o.description,e?htmlDecode(e).replace(/\\s{2,}/g," ").replace(/<(p|div|hd|br|li).*?>/g,"\\n").replace(/<\\/?.*?>/g,"").trim():void 0),product_details:p,image_url_primary:v.shift()||void 0,image_url_secondaries:v||void 0,rating_value:s.Average||void 0,rating_count:s.RatingCount||void 0,price_current:price.clean(d.Price)||void 0,price_list:price.clean(u||d.WasPrice||d.Price)||void 0,in_stock:d.IsInStock&&d.IsPurchasable,currency:"AUD",schema_version:n,vim_version:a}}function s(i,t){var r=(i.match(/productdetails\\/(\\d+)\\//)||[])[1],e=r&&function(i){var t=request({url:"".concat(o,"apis/ui/product/detail/").concat(i,"?isMobile=false"),method:"GET"})||{};if(t){t=t.rawBody;try{t=JSON.parse(t)}catch(i){}}return t}(r);return e?d(i,e,t):{}}(e=s(c.url,!0))&&e.variant_id&&r(i,e)}();',
|
|
productFetcher98: '!function(){"use strict";var e,t={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},r={};function a(e,t){return nativeAction(e,t)}function i(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),r.parameters?r.parameters(e):e}function c(e){var r,c=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=i()[e];return c?(r=n,i().shouldUseMixins&&r?a(t.HandleMixin,r):r):n}var n="3.0.2",o="4.0.0",u=(r.inputData?r.inputData(inputData):inputData)||{},s=c("v4Params"),p=s.v4_productFetcher_apiBaseUrl,l=s.v4_productFetcher_graphqlRequestQuery&&s.v4_productFetcher_graphqlRequestQuery.join("\\n"),d=s.v4_productFetcher_productIdRegex&&new RegExp(s.v4_productFetcher_productIdRegex),h=s.v4_productFetcher_productUrlBase,g=s.v4_productFetcher_scriptSelector,m=s.v4_productFetcher_categoriesSelector,v=s.v4_productFetcher_categoriesValue,f=s.v4_productFetcher_currencySelector,_=s.v4_productFetcher_currencyValue,S=s.v4_productFetcher_isDiscontinuedSelector,y=s.v4_productFetcher_ratingCountSelector,V=s.v4_productFetcher_ratingCountValue,F=s.v4_productFetcher_ratingValueSelector,P=s.v4_productFetcher_ratingValue;function D(e){var t={},r=[],a=[];(e||[]).forEach((function(e){"Details"===e.specTitle&&(r=e.specifications),"Dimensions"===e.specTitle&&(a=e.specifications)})),r.forEach((function(e){var r=e.specName;r&&(r.match(/Color/)&&(t.color=e.specValue),r.match(/Size/)&&(t.size="".concat(e.specName," - ").concat(e.specValue)),r.match(/Shape/)&&(t.shape="".concat(e.specName," - ").concat(e.specValue)),r.match(/Package Type/)&&(t.type=e.specValue),r.match(/Capacity/)&&(t.weight="".concat(e.specName," - ").concat(e.specValue)),r.match(/Number of Pieces/)&&(t.size=e.specValue))}));var i=[];return a.forEach((function(e){e.specName&&e.specName.match(/Depth|Width|Height/)&&i.push("".concat(e.specName," - ").concat(e.specValue))})),i.length&&(t.option=i.join(", ")),JSON.stringify(t)}function R(e,t,r){var a,i=(t&&t.match(d)||[])[1],c={apiData:{},scriptData:{}};try{a=e.find(g).html(),c.scriptData=JSON.parse(a||"{}")}catch(e){}var u=c.scriptData&&c.scriptData.productID;if(u){var s=JSON.stringify({operationName:"productClientOnlyProduct",variables:{itemId:u},query:l});try{var R=request({url:p,method:"POST",headers:{"X-Experience-Name":"general-merchandise"},body:s,type:"application/json"});c.apiData=JSON.parse(R.rawBody)}catch(e){}}return function(e,t,r,a){var i={},c=a.apiData.data&&a.apiData.data.product,u=a.scriptData,s=c&&c.identifiers&&c.identifiers.upc,p=c&&c.pricing&&c.pricing.value,l=c&&c.pricing&&c.pricing.original,d=[];(c&&c.media&&c.media.images||[]).forEach((function(e){var t=e.sizes[e.sizes.length-1],r=e.url.replace("<SIZE>",t);d.push(r)}));var g=c&&c.specificationGroup||[],R=e.findValue(y,V),b=e.findValue(F,P),T=e.findArrayValues(m,v),C=/Promotions|Special Values|Featured Products| Savings| Prices| Deals| Save| Percent/,E=T.filter((function(e){return!e.match(C)}));i={imprint:r,parent_id:t||c&&c.itemId,variant_id:u&&u.productID,gtin:s,mpn:c&&c.identifiers&&c.identifiers.modelNumber||"",sku:c&&c.itemId||"",canonical_url:c&&c.identifiers&&c.identifiers.canonicalUrl?h+c.identifiers.canonicalUrl:"",is_canonical:!0,currency:e.findValue(f,_)||"USD",price_current:p,price_list:l||p,image_url_primary:(d||[]).shift()||"",image_url_secondaries:d||[],title:u.name||void 0,brand:u.brand&&u.brand.name||"Home Depot",description:u.description||void 0,in_stock:c&&c.availabilityType&&c.availabilityType.status||!1,categories:E,rating_value:20*parseInt(u.aggregateRating&&u.aggregateRating.ratingValue,10)||20*parseInt(b,10)||void 0,rating_count:+(u.aggregateRating&&u.aggregateRating.reviewCount)||+R||void 0,product_details:D(g),vim_version:n,schema_version:o};var I=e.find(S).length,N=c&&c.fulfillment&&c.fulfillment.onlineStoreStatus;return!I&&N||(i.in_stock=!1),{product:i}}(e,i,r,c)}!function(){var e=request({method:"GET",url:u.url}),r=e.rawBody;if(3===e.statusType||4===e.statusType)a(t.SendFullProduct,null);else{var i;try{i=parseHtml(r)}catch(e){}if(i){if(i.find(S).length)return void a(t.SendFullProduct,null);var c=R(i,u.url,!0).product;c&&c.variant_id&&a(t.SendFullProduct,c)}}}()}();',
|
|
productFetcherFull: '!function(){"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}var t,r={EXTENSION:"extension",MOBILE:"mobile",MOBILE_EXTENSION:"mobile-extension",SERVER:"server",SIX:"six"},o={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},n="completeProduct",i={};function a(e,t){return nativeAction(e,t)}function u(){return i.console?i.console():console}function c(){return t||(t=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),i.parameters?i.parameters(t):t}function s(){return i.utils?i.utils():__utils__}function p(e){return c().shouldUseMixins&&e?a(o.HandleMixin,e):e}function l(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=c()[e];return t?p(r):r}function d(){var e=[r.EXTENSION,r.MOBILE],t=l("platform");if(t)for(var o=0;o<e.length;o+=1)if(e[o]===t)return!0;return!1}var f=u(),g={DivRetrieve:"%%!!%%",DivRetrieveScope:"@@--@@",Error:"^^!!^^",CheckError:"^^$$^^",DebugError:"^^__^^",DebugNotice:"%%@@%%",Snapshot:"**!!**",HTML:"$$^^$$",Message:"--**--",Purchase:"**--**",Percentage:"!!^^!!",SessionData:"##!!##"};function m(e,t){return a(e,t)}function v(e,t){if(d())a(o.EchoToVariable,{varName:e,value:t});else{var r=g.DivRetrieve;f.log(r+e+r+JSON.stringify(t))}}function h(e){d()||m(o.TakeSnapshot,{force:e})}function S(e){d()?f.log(JSON.stringify(e)):f.log(g.DebugNotice+JSON.stringify(e))}function b(e,t,r){if(d())a(o.WriteError,{varName:e,message:t,debug:r});else{var n=r?g.DebugError:g.Error;f.log(n+e+n+JSON.stringify(t))}}function E(e,t){var r;!function(e){if(!d()){var t=a(o.RunVimInContext,{subVim:l("checkForErrors")});t.forEach((function(e){f.log("".concat(g.CheckError,"order_error").concat(g.CheckError).concat(JSON.stringify(e)))})),t.length>0&&e&&(a(o.TakeSnapshot,{force:!0}),a(o.Finish,{}))}}(),e&&h(),t&&(d()||m(o.SaveHtml,{force:r})),a(o.Finish,{})}var y="Failed to fetch ";"".concat(y,"text for "),"".concat(y,"html for ");!function(){f.log.apply(f,arguments)}(" StartingProduct Fetcher Full VIM"),function(e){m(o.PageGoto,{url:e}),m(o.RegisterSetupSubVims,[{name:"setupSubEnv",params:{eventType:"cart"}}]);var t=l("productOpts"),r=l("productOptsJs");t?m(o.RunVimInContext,{subVim:t}):r&&m(o.RunVimInContext,{subVim:r})}(p(((i.inputData?i.inputData(inputData):inputData)||{}).startProductUrl));var R=l("isVariantless");function _(e){var t=l("skuRegexp");t&&e.sku&&(e.sku=s().applyRegExpToString(e.sku,t));var r=l("mpnRegexp");r&&e.mpn&&(e.mpn=s().applyRegExpToString(e.mpn,r));var o=l("gtinRegexp");o&&e.gtin&&(e.gtin=s().applyRegExpToString(e.gtin,o))}function V(t){var r=Object.prototype.hasOwnProperty.bind(t);for(var o in t)r(o)&&"object"===e(t[o])&&(t[o].product_ids&&_(t[o].product_ids),V(t[o]))}!function(){var e,t,r,i,u;if(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";d()||f.log(g.DivRetrieveScope+e)}(),v("observationType",n),v("onMultiProductPage",!1),l("fetchProductOptsRecursive")){var c=function(e){var t={};try{t=m(o.RunVimInContext,{subVim:l("fetchProductOptsRecursive"),options:{prependSelector:e}})}catch(e){throw b("product_attributes",l("errorStrings.product_attributes_timeout"),!0),new Error("Timeout while loading product attributes: ".concat(e.message,"."))}return t}("");e=c.requiredFieldNames,t=c.requiredFieldValues,r=c.addToCartButtonVisibility,i="unknown"===(i=c.addToCartButtonPresent)&&r,e&&v("required_field_names",e);var s="required_field_values";t&&(V(t),v(s,t)),t&&Object.keys(t).length||S("".concat(y).concat(s))}var p=l("fetchProductInfo");if(p){var P=m(o.RunVimInContext,{subVim:p,options:{prependSelector:""}});if(P){u=!!P.add_to_cart_present&&P.add_to_cart_present;for(var T=Object.keys(P),x=0;x<T.length;x+=1){var O=T[x],C=P[O];"product_ids"===O&&C?(_(C),v(O,C)):"add_to_cart_present"===O||(C&&C.length?v(O,C):S("".concat(y,"value for ").concat(O)))}}else S("".concat(y,"product info"))}var I=i||u;I||R||(b("change","Add to cart button not visible.",!0),h()),v("add_to_cart_present",I||R),v("is_variantless",R),a(o.EchoToVariableComplete),E(!1,!1),a(o.Result,!0)}()}();',
|
|
productFetcherFullWithCleaner: '!function(){"use strict";var e,r={EXTENSION:"extension",MOBILE:"mobile",MOBILE_EXTENSION:"mobile-extension",SERVER:"server",SIX:"six"},t={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},i={completeProduct:"completeProduct",partialProduct:"partialProduct"},n={};function o(e,r){return nativeAction(e,r)}function a(){return n.console?n.console():console}function c(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),n.parameters?n.parameters(e):e}function u(){return n.utils?n.utils():__utils__}function p(e){return c().shouldUseMixins&&e?o(t.HandleMixin,e):e}function s(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],t=c()[e];return r?p(t):t}function l(){var e=[r.EXTENSION,r.MOBILE],t=s("platform");if(t)for(var i=0;i<e.length;i+=1)if(e[i]===t)return!0;return!1}var d=a(),g={DivRetrieve:"%%!!%%",DivRetrieveScope:"@@--@@",Error:"^^!!^^",CheckError:"^^$$^^",DebugError:"^^__^^",DebugNotice:"%%@@%%",Snapshot:"**!!**",HTML:"$$^^$$",Message:"--**--",Purchase:"**--**",Percentage:"!!^^!!",SessionData:"##!!##"};function f(e,r){return o(e,r)}function _(e){l()||f(t.TakeSnapshot,{force:e})}function m(e){l()?d.log(JSON.stringify(e)):d.log(g.DebugNotice+JSON.stringify(e))}function h(e,r,i){if(l())o(t.WriteError,{varName:e,message:r,debug:i});else{var n=i?g.DebugError:g.Error;d.log(n+e+n+JSON.stringify(r))}}function v(e){return v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},v(e)}var b=s("currencyFormat"),S=["h3","h4","h5","h6","blockquote","p","a","ul","ol","nl","li","b","i","strong","em","strike","hr","br","div","table","thead","caption","tbody","tr","th","td","pre"],T={h1:"h3",h2:"h3"},y=[[/\\s{2,}/g," "],[/(<br ? \\/?>[\\s]?){3,}/g,"<br/>"],[" "," "]],O={us:/-?\\s*\\d+(?:,\\d{3})*(?:\\.[\\d-]{0,2})?/,de:/-?\\s*\\d+(?:[ .]\\d{3})*(?:,[\\d-]{0,2})?/,se:/-?\\s*\\d+(?:[, ]\\d{3})*(?::[\\d-]*)?/},R={us:function(e){return e.replace(/,/g,"").replace(".-",".00")},se:function(e){return e.replace(":-",":00").replace(/ /g,"").replace(":",".")},de:function(e){return e.replace(/\\./g,"").replace(",-",",00").replace(",",".")}},U={"AMOUNT USD":"$AMOUNT",US$AMOUNT:"$AMOUNT","USD AMOUNT":"$AMOUNT","$ AMOUNT":"$AMOUNT","$AMOUNT USD":"$AMOUNT",AU$AMOUNT:"AMOUNT AUD","AU$ AMOUNT":"AMOUNT AUD",AUD$AMOUNT:"AMOUNT AUD",$AMOUNTAUD:"AMOUNT AUD","$AMOUNT AUD":"AMOUNT AUD"},x={$:"USD","\u20ac":"EUR","\xa3":"GBP","\u20a4":"GBP",R$:"BRL",R:"ZAR","\xa5":"JPY",C$:"CAD"},A="AMOUNT";function N(e,r){var t=100,i=function(e){var r=/\\$|\u20ac|\xa3|\u20a4|R\\\\$|R|\xa5|C\\$/,t=e.match(/[A-Z]{2,3}/i),i=e.match(r);if(t&&t.length>0)return t[0];if(i&&i.length>0)return x[i[0]];return null}((e=e||"$".concat(A)).replace(A,"10.0"));if(i){var n=u().getCurrencyInfo([i.toLowerCase()]);n&&(t=n.subunit_to_unit)}return"number"==typeof r&&1!==t&&(r=r.toFixed(2)),U[e]&&(e=U[e]),e.replace(A,r.toString())}function E(e,r){if(e=e||"$".concat(A),r){r=(r=r.replace(/\\|/g," ").trim()).replace(/\\s+/g," ").trim();var t,i,n=u().findCurrencyInLargeString(e,r,!0,U,O);"object"===v(n)&&null!==n.price?(t=n.price,i=R[n.converter]):t=n,i&&(t=i(t)),r=(t=Math.abs(u().parseCurrency(t)))?N(e,t):null}return r}function M(e,r){if(!e)return e;if(0===e.indexOf("//"))return"http:".concat(e);if(-1===e.indexOf("://")){var t=(n.parseUrl?n.parseUrl():parseUrl)(r).hostname;return"http://".concat(t,"/").concat(e)}return e}function P(e,r){if(e.image=M(e.image,r),e.alt_images)for(var t=0;t<e.alt_images.length;t+=1)e.alt_images[t]=M(e.alt_images[t],r);var i=s("imagesRegexp");if(i&&(e.image=u().applyRegExpToString(e.image,i),e.alt_images))for(var n=0;n<e.alt_images.length;n+=1)e.alt_images[n]=u().applyRegExpToString(e.alt_images[n],i);e.alt_images&&(e.alt_images=Object.keys(e.alt_images.reduce((function(e,r){return e[r]=!0,e}),{})))}function k(e){if("string"==typeof e.price||"string"==typeof e.discounted_price||"string"==typeof e.original_price){if(e.price=E(b,e.price),e.discounted_price=E(b,e.discounted_price),e.original_price=E(b,e.original_price),e.discounted_price&&e.original_price){var r=e.discounted_price,t=e.original_price,i=r.match(/\\$/g),n=t.match(/\\$/g),o=i?i.length:null,a=n?n.length:null;o>1?e.discounted_price=e.discounted_price.replace(t,""):a>1&&(e.original_price=e.original_price.replace(r,""))}s("isInternalTest")||!e.discounted_price||e.original_price||(e.price=e.discounted_price,delete e.original_price,delete e.discounted_price),e.discounted_price&&e.original_price&&(e.discounted_price!==e.price||e.original_price!==e.price)?(e.price=e.discounted_price,delete e.discounted_price):(delete e.original_price,delete e.discounted_price)}}function C(e){var r=!1;if(e.weight&&"string"==typeof e.weight){var t=e.weight.match(/[+-]?\\.?\\d+(\\.\\d+)?/g);if(t&&t[0]){var i=Number(t[0]);if(isNaN(i)&&(r=!0),i<=0&&(r=!0),!r){e.weight=i;var n=s("weightDiv"),o=s("weightDiv.weight_unit");n&&"lbs"===o?e.weight/=.0022046:n&&"oz"===o?e.weight/=.035274:n&&"kg"===o&&(e.weight*=1e3),e.weight=parseFloat(e.weight)}}else r=!0}r&&(e.weight="")}function D(e){var r=s("skuRegexp"),t=s("mpnRegexp"),i=s("gtinRegexp");r&&e.product_ids.sku&&(e.product_ids.sku=u().applyRegExpToString(e.product_ids.sku,r)),t&&e.product_ids.mpn&&(e.product_ids.mpn=u().applyRegExpToString(e.product_ids.mpn,t)),i&&e.product_ids.gtin&&(e.product_ids.gtin=u().applyRegExpToString(e.product_ids.gtin,i))}function $(e,r){var t,i,n=Object.prototype.hasOwnProperty.bind(e);for(t in e)if(n(t)&&"object"===v(e[t])){var o=e[t];o&&((o.price||o.discounted_price||o.original_price)&&k(o),o.weight&&C(o),o.image&&P(o,r),o.value&&0===(i=o).value.indexOf("//")&&(i.value="http:".concat(i.value)),o.product_ids&&D(o)),$(o,r)}}var V="Failed to fetch ";"".concat(V,"text for "),"".concat(V,"html for ");!function(){d.log.apply(d,arguments)}("Starting Product Fetcher Full VIM with Cleaner"),function(e){f(t.PageGoto,{url:e}),f(t.RegisterSetupSubVims,[{name:"setupSubEnv",params:{eventType:"cart"}}]);var r=s("productOpts"),i=s("productOptsJs");r?f(t.RunVimInContext,{subVim:r}):i&&f(t.RunVimInContext,{subVim:i})}(p(((n.inputData?n.inputData(inputData):inputData)||{}).startProductUrl));var w,I,F,q,H,L={};if(L.observationType=i.completeProduct,L.onMultiProductPage=!1,s("fetchProductOptsRecursive")){var B=function(e){var r={};try{r=f(t.RunVimInContext,{subVim:s("fetchProductOptsRecursive"),options:{prependSelector:e}})}catch(e){throw h("product_attributes",s("errorStrings.product_attributes_timeout"),!0),new Error("Timeout while loading product attributes: ".concat(e.message,"."))}return r}("");w=B.requiredFieldNames,I=B.requiredFieldValues,F=B.addToCartButtonVisibility,q="unknown"===(q=B.addToCartButtonPresent)&&F,w&&(L.required_field_names=w),I&&(L.required_field_values=I),I&&Object.keys(I).length||m("".concat(V,"required_field_values"))}var J=s("isVariantless"),j=s("fetchProductInfo");if(j){var W=f(t.RunVimInContext,{subVim:j,options:{prependSelector:""}});if(W){H=!!W.add_to_cart_present&&W.add_to_cart_present;for(var z=Object.keys(W),G=0;G<z.length;G+=1){var X=z[G],Z=W[X];"product_ids"===X&&Z?L[X]=Z:"add_to_cart_present"===X||(Z&&Z.length?L[X]=Z:m("".concat(V,"value for ").concat(X)))}}else m("".concat(V,"product info"))}var Y=q||H;Y||J||(h("change","Add to cart button not visible.",!0),_()),L.add_to_cart_present=Y||J,L.is_variantless=J;var K,Q,ee,re=function(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=s("titleRegexp"),n=s("skuRegexp"),o=s("mpnRegexp"),a=s("gtinRegexp"),c=JSON.parse(JSON.stringify(e));return t&&c.title&&(c.title=u().applyRegExpToString(c.title,t)),n&&c.product_ids.sku&&(c.product_ids.sku=u().applyRegExpToString(c.product_ids.sku,n)),o&&c.product_ids.mpn&&(c.product_ids.mpn=u().applyRegExpToString(c.product_ids.mpn,o)),a&&c.product_ids.gtin&&(c.product_ids.gtin=u().applyRegExpToString(c.product_ids.gtin,a)),function(e){if(e.image=e.image&&e.image[0]?e.image[0]:"",!e.image||0===e.image.length){for(var r=null,t=e.required_field_values;t;){var i=t[Object.keys(t)[0]];if(!i||!i[0])break;i[0].image&&i[0].image.length>0&&(r=i[0].image),t=i[0].dep}r&&r.length>0&&(e.image=r)}}(c),P(c,c.url),k(c),C(c),D(c),c.required_field_values&&$(c.required_field_values,c.url),c.in_stock=function(e){for(var r=e.observationType===i.partialProduct,t=r?e.requiredFieldNames||[]:e.required_field_names||[],n=!1,o=r?null:e.required_field_values||{},a=0;a<t.length;a+=1){var c=t[a];if("quantity"!==c)if(r&&e[c]&&e[c].length>0)n=!0;else{if(!(!r&&o&&o[c]&&o[c].length>0)){n=!1;break}o=o[c][0].dep,n=!0}}return!n&&0===t.length&&e.add_to_cart_present&&(n=!0),n}(c)||r&&c.add_to_cart_present,c.description&&c.description.length>0&&(c.descriptionText=u().sanitizeHTML(c.description,[],{},[y[0]],!0).trim(),c.description=u().sanitizeHTML(c.description,S,T,y)),c.returns&&c.returns.length>0&&(c.returnText=u().sanitizeHTML(c.returns,[],{},[y[0]],!0).trim(),c.returns=u().sanitizeHTML(c.returns,S,T,y)),c.pickup_support=!!(c.pickup_support&&c.pickup_support.length>0),c.final_sale=!!c.final_sale,c.free_shipping=!!c.free_shipping,c.purchasable=!c.non_purchasable,c.price=E(b,c.price),c.original_price=E(b,c.original_price),c.discounted_price=E(b,c.discounted_price),c}(L,J);o(t.ReportCleanedProduct,re),K=!1,Q=!1,function(e){if(!l()){var r=o(t.RunVimInContext,{subVim:s("checkForErrors")});r.forEach((function(e){d.log("".concat(g.CheckError,"order_error").concat(g.CheckError).concat(JSON.stringify(e)))})),r.length>0&&e&&(o(t.TakeSnapshot,{force:!0}),o(t.Finish,{}))}}(),K&&_(),Q&&(l()||f(t.SaveHtml,{force:ee})),o(t.Finish,{}),o(t.Result,!0)}();',
|
|
productFetcherPartial: '!function(){"use strict";var e,t={EXTENSION:"extension",MOBILE:"mobile",MOBILE_EXTENSION:"mobile-extension",SERVER:"server",SIX:"six"},r={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},a="partialProduct",n={};function o(e,t){return nativeAction(e,t)}function i(){return n.console?n.console():console}function s(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),n.parameters?n.parameters(e):e}function c(){return n.utils?n.utils():__utils__}function u(e){var t,a=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=s()[e];return a?(t=n,s().shouldUseMixins&&t?o(r.HandleMixin,t):t):n}function l(){var e=[t.EXTENSION,t.MOBILE],r=u("platform");if(r)for(var a=0;a<e.length;a+=1)if(e[a]===r)return!0;return!1}var p=i(),g={DivRetrieve:"%%!!%%",DivRetrieveScope:"@@--@@",Error:"^^!!^^",CheckError:"^^$$^^",DebugError:"^^__^^",DebugNotice:"%%@@%%",Snapshot:"**!!**",HTML:"$$^^$$",Message:"--**--",Purchase:"**--**",Percentage:"!!^^!!",SessionData:"##!!##"};function d(e,t){return o(e,t)}function f(e,t){if(l())o(r.EchoToVariable,{varName:e,value:t});else{var a=g.DivRetrieve;p.log(a+e+a+JSON.stringify(t))}}function v(e){l()?p.log(JSON.stringify(e)):p.log(g.DebugNotice+JSON.stringify(e))}var h="Failed to fetch ";"".concat(h,"text for "),"".concat(h,"html for ");!function(){p.log.apply(p,arguments)}("Starting Product Fetcher Partial VIM");function m(e){var t=u("skuRegexp");t&&e.sku&&(e.sku=c().applyRegExpToString(e.sku,t));var r=u("mpnRegexp");r&&e.mpn&&(e.mpn=c().applyRegExpToString(e.mpn,r));var a=u("gtinRegexp");a&&e.gtin&&(e.gtin=c().applyRegExpToString(e.gtin,a))}d(r.RegisterSetupSubVims,[{name:"setupSubEnv",params:{eventType:"cart"}}]);var S=u("productOptsJs");S&&d(r.RunVimInContext,{subVim:S}),function(e,t){var a,i=!1;if(Array.isArray(e)&&e.length)for(var s=u("changeVariantDelay");;)d(r.WatchVariants,{optionTargets:e}),t(),o(r.Result,!0),d(r.WaitForVariantChange),a=s,n.sleep?n.sleep(a):sleep(a),i=!0;else t(),o(r.Result,!0)}(u("optionTargets"),(function e(t,n){!function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";l()||p.log(g.DivRetrieveScope+e)}(),f("observationType",a),f("onMultiProductPage",!1);var o=t,i=u("fetchPartialProductInfo");if(i){var s=d(r.RunVimInContext,{subVim:i,options:{prependSelector:o}});if(s){var c=s.productInfo,S=s.selectedVariant;if(c){c.is_variantless=u("isVariantless");for(var E=Object.keys(c),R=0;R<E.length;R+=1){var V=E[R],b=c[V];"product_ids"===V&&b?(m(b),f(V,b)):"add_to_cart_present"===V||"is_variantless"===V||b&&b.length?f(V,b):v("".concat(h,"value for ").concat(V))}}else v("".concat(h,"product info"));if(S)for(var P=Object.entries(S),T=0;T<P.length;T+=1){f(P[T][0],P[T][1])}}else v("".concat(h,"partial product info"))}f("quantity",[]),"Product details changed during fetch"===d(r.EchoToVariableComplete)&&e(t,n)}))}();',
|
|
productFetcherPartialWithCleaner: '!function(){"use strict";var e,r={EXTENSION:"extension",MOBILE:"mobile",MOBILE_EXTENSION:"mobile-extension",SERVER:"server",SIX:"six"},t={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},i={completeProduct:"completeProduct",partialProduct:"partialProduct"},n={};function a(e,r){return nativeAction(e,r)}function o(){return n.console?n.console():console}function c(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),n.parameters?n.parameters(e):e}function p(){return n.utils?n.utils():__utils__}function u(e){var r,i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=c()[e];return i?(r=n,c().shouldUseMixins&&r?a(t.HandleMixin,r):r):n}var s=o(),l={DivRetrieve:"%%!!%%",DivRetrieveScope:"@@--@@",Error:"^^!!^^",CheckError:"^^$$^^",DebugError:"^^__^^",DebugNotice:"%%@@%%",Snapshot:"**!!**",HTML:"$$^^$$",Message:"--**--",Purchase:"**--**",Percentage:"!!^^!!",SessionData:"##!!##"};function d(e,r){return a(e,r)}function g(e){!function(){var e=[r.EXTENSION,r.MOBILE],t=u("platform");if(t)for(var i=0;i<e.length;i+=1)if(e[i]===t)return!0;return!1}()?s.log(l.DebugNotice+JSON.stringify(e)):s.log(JSON.stringify(e))}function f(e){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f(e)}var _=u("currencyFormat"),h=["h3","h4","h5","h6","blockquote","p","a","ul","ol","nl","li","b","i","strong","em","strike","hr","br","div","table","thead","caption","tbody","tr","th","td","pre"],m={h1:"h3",h2:"h3"},v=[[/\\s{2,}/g," "],[/(<br ? \\/?>[\\s]?){3,}/g,"<br/>"],[" "," "]],T={us:/-?\\s*\\d+(?:,\\d{3})*(?:\\.[\\d-]{0,2})?/,de:/-?\\s*\\d+(?:[ .]\\d{3})*(?:,[\\d-]{0,2})?/,se:/-?\\s*\\d+(?:[, ]\\d{3})*(?::[\\d-]*)?/},S={us:function(e){return e.replace(/,/g,"").replace(".-",".00")},se:function(e){return e.replace(":-",":00").replace(/ /g,"").replace(":",".")},de:function(e){return e.replace(/\\./g,"").replace(",-",",00").replace(",",".")}},b={"AMOUNT USD":"$AMOUNT",US$AMOUNT:"$AMOUNT","USD AMOUNT":"$AMOUNT","$ AMOUNT":"$AMOUNT","$AMOUNT USD":"$AMOUNT",AU$AMOUNT:"AMOUNT AUD","AU$ AMOUNT":"AMOUNT AUD",AUD$AMOUNT:"AMOUNT AUD",$AMOUNTAUD:"AMOUNT AUD","$AMOUNT AUD":"AMOUNT AUD"},y={$:"USD","\u20ac":"EUR","\xa3":"GBP","\u20a4":"GBP",R$:"BRL",R:"ZAR","\xa5":"JPY",C$:"CAD"},O="AMOUNT";function R(e,r){var t=100,i=function(e){var r=/\\$|\u20ac|\xa3|\u20a4|R\\\\$|R|\xa5|C\\$/,t=e.match(/[A-Z]{2,3}/i),i=e.match(r);if(t&&t.length>0)return t[0];if(i&&i.length>0)return y[i[0]];return null}((e=e||"$".concat(O)).replace(O,"10.0"));if(i){var n=p().getCurrencyInfo([i.toLowerCase()]);n&&(t=n.subunit_to_unit)}return"number"==typeof r&&1!==t&&(r=r.toFixed(2)),b[e]&&(e=b[e]),e.replace(O,r.toString())}function A(e,r){if(e=e||"$".concat(O),r){r=(r=r.replace(/\\|/g," ").trim()).replace(/\\s+/g," ").trim();var t,i,n=p().findCurrencyInLargeString(e,r,!0,b,T);"object"===f(n)&&null!==n.price?(t=n.price,i=S[n.converter]):t=n,i&&(t=i(t)),r=(t=Math.abs(p().parseCurrency(t)))?R(e,t):null}return r}function U(e,r){if(!e)return e;if(0===e.indexOf("//"))return"http:".concat(e);if(-1===e.indexOf("://")){var t=(n.parseUrl?n.parseUrl():parseUrl)(r).hostname;return"http://".concat(t,"/").concat(e)}return e}function x(e,r){if(e.image=U(e.image,r),e.alt_images)for(var t=0;t<e.alt_images.length;t+=1)e.alt_images[t]=U(e.alt_images[t],r);var i=u("imagesRegexp");if(i&&(e.image=p().applyRegExpToString(e.image,i),e.alt_images))for(var n=0;n<e.alt_images.length;n+=1)e.alt_images[n]=p().applyRegExpToString(e.alt_images[n],i);e.alt_images&&(e.alt_images=Object.keys(e.alt_images.reduce((function(e,r){return e[r]=!0,e}),{})))}function M(e){if("string"==typeof e.price||"string"==typeof e.discounted_price||"string"==typeof e.original_price){if(e.price=A(_,e.price),e.discounted_price=A(_,e.discounted_price),e.original_price=A(_,e.original_price),e.discounted_price&&e.original_price){var r=e.discounted_price,t=e.original_price,i=r.match(/\\$/g),n=t.match(/\\$/g),a=i?i.length:null,o=n?n.length:null;a>1?e.discounted_price=e.discounted_price.replace(t,""):o>1&&(e.original_price=e.original_price.replace(r,""))}u("isInternalTest")||!e.discounted_price||e.original_price||(e.price=e.discounted_price,delete e.original_price,delete e.discounted_price),e.discounted_price&&e.original_price&&(e.discounted_price!==e.price||e.original_price!==e.price)?(e.price=e.discounted_price,delete e.discounted_price):(delete e.original_price,delete e.discounted_price)}}function N(e){var r=!1;if(e.weight&&"string"==typeof e.weight){var t=e.weight.match(/[+-]?\\.?\\d+(\\.\\d+)?/g);if(t&&t[0]){var i=Number(t[0]);if(isNaN(i)&&(r=!0),i<=0&&(r=!0),!r){e.weight=i;var n=u("weightDiv"),a=u("weightDiv.weight_unit");n&&"lbs"===a?e.weight/=.0022046:n&&"oz"===a?e.weight/=.035274:n&&"kg"===a&&(e.weight*=1e3),e.weight=parseFloat(e.weight)}}else r=!0}r&&(e.weight="")}function P(e){var r=u("skuRegexp"),t=u("mpnRegexp"),i=u("gtinRegexp");r&&e.product_ids.sku&&(e.product_ids.sku=p().applyRegExpToString(e.product_ids.sku,r)),t&&e.product_ids.mpn&&(e.product_ids.mpn=p().applyRegExpToString(e.product_ids.mpn,t)),i&&e.product_ids.gtin&&(e.product_ids.gtin=p().applyRegExpToString(e.product_ids.gtin,i))}function E(e,r){var t,i,n=Object.prototype.hasOwnProperty.bind(e);for(t in e)if(n(t)&&"object"===f(e[t])){var a=e[t];a&&((a.price||a.discounted_price||a.original_price)&&M(a),a.weight&&N(a),a.image&&x(a,r),a.value&&0===(i=a).value.indexOf("//")&&(i.value="http:".concat(i.value)),a.product_ids&&P(a)),E(a,r)}}var $=function(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=u("titleRegexp"),n=u("skuRegexp"),a=u("mpnRegexp"),o=u("gtinRegexp"),c=JSON.parse(JSON.stringify(e));return t&&c.title&&(c.title=p().applyRegExpToString(c.title,t)),n&&c.product_ids.sku&&(c.product_ids.sku=p().applyRegExpToString(c.product_ids.sku,n)),a&&c.product_ids.mpn&&(c.product_ids.mpn=p().applyRegExpToString(c.product_ids.mpn,a)),o&&c.product_ids.gtin&&(c.product_ids.gtin=p().applyRegExpToString(c.product_ids.gtin,o)),function(e){if(e.image=e.image&&e.image[0]?e.image[0]:"",!e.image||0===e.image.length){for(var r=null,t=e.required_field_values;t;){var i=t[Object.keys(t)[0]];if(!i||!i[0])break;i[0].image&&i[0].image.length>0&&(r=i[0].image),t=i[0].dep}r&&r.length>0&&(e.image=r)}}(c),x(c,c.url),M(c),N(c),P(c),c.required_field_values&&E(c.required_field_values,c.url),c.in_stock=function(e){for(var r=e.observationType===i.partialProduct,t=r?e.requiredFieldNames||[]:e.required_field_names||[],n=!1,a=r?null:e.required_field_values||{},o=0;o<t.length;o+=1){var c=t[o];if("quantity"!==c)if(r&&e[c]&&e[c].length>0)n=!0;else{if(!(!r&&a&&a[c]&&a[c].length>0)){n=!1;break}a=a[c][0].dep,n=!0}}return!n&&0===t.length&&e.add_to_cart_present&&(n=!0),n}(c)||r&&c.add_to_cart_present,c.description&&c.description.length>0&&(c.descriptionText=p().sanitizeHTML(c.description,[],{},[v[0]],!0).trim(),c.description=p().sanitizeHTML(c.description,h,m,v)),c.returns&&c.returns.length>0&&(c.returnText=p().sanitizeHTML(c.returns,[],{},[v[0]],!0).trim(),c.returns=p().sanitizeHTML(c.returns,h,m,v)),c.pickup_support=!!(c.pickup_support&&c.pickup_support.length>0),c.final_sale=!!c.final_sale,c.free_shipping=!!c.free_shipping,c.purchasable=!c.non_purchasable,c.price=A(_,c.price),c.original_price=A(_,c.original_price),c.discounted_price=A(_,c.discounted_price),c};var k="Failed to fetch ";"".concat(k,"text for "),"".concat(k,"html for ");!function(){s.log.apply(s,arguments)}("Starting Product Fetcher Partial VIM with Cleaner");a(t.RegisterSetupSubVims,[{name:"setupSubEnv",params:{eventType:"cart"}}]);var V=u("productOptsJs");V&&a(t.RunVimInContext,{subVim:V});var D=!1;var w=u("optionTargets");D=function(e,r){var i,o=!1;if(Array.isArray(e)&&e.length)for(var c=u("changeVariantDelay");;)d(t.WatchVariants,{optionTargets:e}),r(),a(t.Result,!0),d(t.WaitForVariantChange),i=c,n.sleep?n.sleep(i):sleep(i),o=!0;else r(),a(t.Result,!0);return o}(w,(function e(r,n){var a={userSelected:D};a.observationType=i.partialProduct,a.onMultiProductPage=!1;var o=r,c=u("fetchPartialProductInfo");if(c){var p=d(t.RunVimInContext,{subVim:c,options:{prependSelector:o}});if(p){var s=p.productInfo,l=p.currentSelectedVariant,f=p.selectedVariant;if(s?Object.assign(a,s):g("".concat(k,"product info")),f)for(var _=Object.entries(f),h=0;h<_.length;h+=1){a[_[h][0]]=_[h][1]}else g("".concat(k,"selected variant"));l?a.currentVariant=l:g("".concat(k,"current selected variant"))}else g("".concat(k,"partial product info"))}var m=$(a,u("isVariantless"));m.quantity=[],"Product details changed during fetch"===d(t.ReportCleanedProduct,m)&&e(r,n)}))}();',
|
|
submitOrderListener: '!function(){"use strict";var e,r={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},t={};function n(e,r){return nativeAction(e,r)}function a(){return t.console?t.console():console}function o(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),t.parameters?t.parameters(e):e}function i(e){var t,a=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=o()[e];return a?(t=i,o().shouldUseMixins&&t?n(r.HandleMixin,t):t):i}var s,u=a();!function(){u.log.apply(u,arguments)}("Starting Submit Order Listener VIM");var l=i("listenForSubmitOrderClickAuth"),p=i("listenForSubmitOrderClickNoAuth");l&&!s&&(s=n(r.RunVimInContext,{subVim:l})),p&&!s&&(s=n(r.RunVimInContext,{subVim:p})),s&&n(r.ReportSubmitOrderClick)}();',
|
|
whereAmI: '!function(){"use strict";var e,r={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},t={};function a(e,r){return nativeAction(e,r)}function n(){return t.console?t.console():console}function o(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),t.parameters?t.parameters(e):e}function i(e){var t,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=o()[e];return n?(t=i,o().shouldUseMixins&&t?a(r.HandleMixin,t):t):i}var s=n();!function(){s.log.apply(s,arguments)}("Starting Where Am I VIM");var l=a(r.RunVimInContext,{subVim:i("getWhereAmIFields")});a(r.ReportWhereAmI,{data:l})}();',
|
|
cartOptsJs107896875039113603: '!function(){"use strict";function t(t,r){(null==r||r>t.length)&&(r=t.length);for(var n=0,e=Array(r);n<r;n++)e[n]=t[n];return e}function r(r,n){return function(t){if(Array.isArray(t))return t}(r)||function(t,r){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var e,i,o,a,l=[],c=!0,u=!1;try{if(o=(n=n.call(t)).next,0===r){if(Object(n)!==n)return;c=!1}else for(;!(c=(e=o.call(n)).done)&&(l.push(e.value),l.length!==r);c=!0);}catch(t){u=!0,i=t}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw i}}return l}}(r,n)||function(r,n){if(r){if("string"==typeof r)return t(r,n);var e={}.toString.call(r).slice(8,-1);return"Object"===e&&r.constructor&&(e=r.constructor.name),"Map"===e||"Set"===e?Array.from(r):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?t(r,n):void 0}}(r,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var n={};function e(){return n.console?n.console():console}var i=e();!function(){i.log.apply(i,arguments)}("Starting cartOptsJs107896875039113603 Sub VIM - Pottery Barn Recipe");var o=n.utils?n.utils():__utils__;$("#ttHidden").remove(),$("body").append("<div id=\'ttHidden\' style = \'display: none;\'></div>");var a=o.findOne("#ttHidden"),l=function(t,r,n){t.append("<div class=\'tt_".concat(r,"\'>").concat(n,"</div>"))},c=o.findOne("body checkout-app").prop("shadowRoot"),u=o.findOne("summary-view",c).prop("shadowRoot"),d=o.findAll("item-preview-feature",u);d.length&&$("body checkout-app").attr("wrapper","false");for(var f=function(){var t=d[s];$("#ttHidden").append("<div class=\'tt_Container\'></div>");var n=o.findAll(".tt_Container")[s];Object.entries({Title:"description",TotalPrice:"effective-price",UnitPrice:"unit-price",Qty:"quantity"}).forEach((function(e){var i=r(e,2),o=i[0],a=i[1],c=t.attr(a);l(n,o,c)}));var e=o.findOne("image-ui",t).prop("shadowRoot"),i=e&&e.find("img").attr("src");l(n,"Image",i)},s=0;s<d.length;s+=1)f();for(var p=["Subtotal","Shipping & Processing","Tax","Total"],v=o.findOne("summary-feature",u).prop("shadowRoot"),y=0;v&&y<p.length;y+=1){var m=p[y],h=o.findOne("summary-total-feature[title=\'".concat(m,"\']"),v).prop("shadowRoot"),b=h&&h.find(".value").text().trim();l(a,m,b)}}();',
|
|
cartOptsJs145: '!function(){"use strict";var t={};function e(){return t.console?t.console():console}var r=e();function n(){r.log.apply(r,arguments)}n("Starting cartOptsJs145 Sub VIM - PetSmart");var i=t.utils?t.utils():__utils__;function o(t){if(!t)return n("cartOptsJs145 error: unable to find productId"),!1;var e=i.findOne(\'//script[contains(text(), "CLIENT_ID")]\'),r=e&&e.text(),o=/"OCAPI_BASE_URL":.+CLIENT_ID":"([^"]+)/m,s=o.exec(r)&&o.exec(r)[1];if(!s)return n("cartOptsJs145 error: unable to find clientId"),!1;var a="https://www.petsmart.com/dw/shop/v18_8/products/".concat(t,"?client_id=").concat(s,"&expand=prices,variations,availability,promotions,options&inventory_ids=ps_us_store_inv_2529"),c=request({url:a,method:"GET"});return c.error?(n(c.error),!1):c.body}$(".ttCid").remove();var s=i.findAll(".productlineitem:not(.promocodepli):not(.donationpli)"),a=i.findOne(\'//script[contains(text(), "contextAUID")]\'),c=/contextAUID[^\']+\'([^\']+)/,l=a&&a.text(),p=l&&l.match(c)&&l.match(c)[1],d=p&&p.split("|||")||[];d.length===s.length&&d!==[""]||(d=!1);for(var u=0;u<s.length;u+=1){var v=s[u],_=void 0;if(d)_=d[u];else{var m=i.findOne(".grey-text.sku-wrapper",v),f=m&&m.text().split(":")&&m.text().split(":")[1]&&m.text().split(":")[1].trim(),x=void 0;f&&(x=o(f)),_=x&&x.master&&x.master.master_id||""}v.append(\'<div class="ttCid" style="display: none;">\'.concat(_,"</div>"))}}();',
|
|
cartOptsJs185: '!function(){"use strict";var t={};function r(){return t.console?t.console():console}var a=r();function e(){a.log.apply(a,arguments)}e("Starting cartOptsJs185 Sub VIM - Target");var c=t.utils?t.utils():__utils__;function o(t){var r=request({method:"GET",url:t});return r.error?(e("cartOptsJs185 error: unable to make AJAX request to product page"),!1):function(r){var a=r,c=(((a.match(/window\\.__TGT_DATA__= (.*)?}<\\/script>/)||a.match(/window\\.__CONFIG__ = (.*)\\);/)||a.match(/\'__CONFIG__\': (.*?)\\)/)||[])[0]||"").replace(/\\\\"/g,\'"\').match(/clientTokens.*"apiKey":"(\\w+)/)||[])[1],o=(t.match(/\\/-\\/A-(\\d*)/)||[])[1],n="".concat("https://redsky.target.com/redsky_aggregations/v1/web/pdp_circle_offers_v1","?tcin=").concat(o,"&key=").concat(c),s={};if(o&&c)try{s=request({url:n,method:"GET"})}catch(t){e("cartOptsJs185 error: unable to get product data")}return s&&s.body&&s.body.data&&s.body.data.product&&s.body.data.product.tcin}(r.rawBody)}for(var n=c.findAll(_t_cartPageSelectors.cart_wrapper),s=0;s<n.length;s+=1){var _=n[s],d=o(c.findOne(_t_cartPageSelectors.cart_p_url,_).attr("href"));d&&_.append(\'<div class="ttCartCustomID" style="display: none;">\'.concat(d,"</div>"))}}();',
|
|
cartOptsJs200: '!function(){"use strict";var t={};function a(){return t.console?t.console():console}var e=a();function r(){e.log.apply(e,arguments)}r("Starting cartOptsJs7360533218492451884 Sub VIM - Walmart");var n,c=(t.utils?t.utils():__utils__).findOne("script#__NEXT_DATA__");try{n=JSON.parse(c.text())}catch(t){r("cartOptsJs7360533218492451884 error: UNABLE TO PARSE CART DATA SCRIPT")}var o=n&&n.runtimeConfig&&n.runtimeConfig.queryContext&&n.runtimeConfig.queryContext.appVersion,i=function(t){var a="";try{a=encodeURIComponent(JSON.stringify({cartInput:{forceRefresh:!1,enableLiquorBox:!1},includePartialFulfillmentSwitching:!1,enableAEBadge:!1,enableBadges:!1,includeQueueing:!1,includeExpressSla:!1,enableACCScheduling:!1,enableWeeklyReservationCartBookslot:!1,enableWalmartPlusFreeDiscountedExpress:!1,enableCartBookslotShortcut:!1,enableFutureInventoryCartBookslot:!1,enableWplusCashback:!1,enableExpressReservationEndTime:!1}))}catch(t){}var e=cookies.getByName("vtc");e||r("cartOptsJs7360533218492451884 error: no VTC cookie");var n,c={url:"https://www.walmart.com/orchestra/cartxo/graphql/getCart/a918e6836bc92d3b29812dae028085b88aeee4c461418b447964d7c7a9e0288a?variables=".concat(a),method:"GET",headers:{accept:"application/json",wm_mp:!1,"X-APOLLO-OPERATION-NAME":"getCart","x-o-segment":"oaoh","x-o-platform":"rweb","x-o-platform-version":t,cookie:"vtc=".concat(e)}},o={};try{if(n=request(c),o.error)return r("cartOptsJs7360533218492451884 VIM ajax fail"),!1;o=JSON.parse(n.rawBody)}catch(t){r("cartOptsJs7360533218492451884 error: CART INFO JSON NOT PARSING.")}return o}(o),s=function(t,a){for(var e=[],n=t&&t.data&&t.data.cart&&t.data.cart.lineItems||{},c=function(){var t=n[o],c=t.product||{},i=c.name,s=c.usItemId,d=c.imageInfo&&c.imageInfo.thumbnailUrl,l=s?"https://www.walmart.com/ip/"+s:void 0,p=t.priceInfo||{},u=p.itemPrice&&p.itemPrice.value,m=p.linePrice&&p.linePrice.value,f=t.quantity,v=function(t,a){var e,n={},c=!1,o={channel:"WWW",pageType:"ItemPageGlobal",version:"v1",tenant:"WM_GLASS",iId:t,p13nCls:{pageId:t},fBBAd:!0,fSL:!0,fIdml:!0,fRev:!0,fFit:!0,fSeo:!0,fP13:!0,fAff:!0,fMq:!0,fGalAd:!1,fSCar:!0,fBB:!0,fDis:!0,eItIb:!0,fIlc:!1,includeLabelV1:!1,wm_mp:!1},i="";try{i=encodeURIComponent(JSON.stringify(o))}catch(t){}var s={method:"GET",url:"https://www.walmart.com/orchestra/pdp/graphql/ItemById/8d596c4780b45446d5ccf7c95e35e38080d857437182a6b1b4f3b964f9d4c298/ip/".concat(t,"?variables=").concat(i),headers:{accept:"application/json","X-APOLLO-OPERATION-NAME":"ItemById","x-o-platform":"rweb","x-o-platform-version":a,"x-o-segment":"oaoh",wm_mp:!1}};try{e=request(s),n=JSON.parse(e.rawBody)}catch(t){}var d=n.errors&&n.errors[0]&&n.errors[0]&&n.errors[0].message;return d&&-1!==d.indexOf("404")&&(c=!0),c&&r("cartOptsJs7360533218492451884 error: failed to fetch product data"),n}(s,a),g=v&&v.data&&v.data.product,h=g&&g.id;if(g.variants&&g.variants.length>0){var I=[];g.variants.forEach((function(t){I.push(t.id)})),I.sort(),h=I.length&&I[0]}var b={name:i,variant_id:s,url:l,image:d,quantity:f,unit_price:price.clean(u),total_price:price.clean(m),parent_id:h};e.push(b)},o=0;o<n.length;o+=1)c();return e}(i,o);!function(t){$("#ttHidden").remove(),$("body").append(\'<div id="ttHidden" style="display:none;"></div>\');for(var a=0;a<t.length;a+=1){var e=t[a],r="ttCartItem".concat(a);$("#ttHidden").append(\'<div id="\'.concat(r,\'" class="ttCartItem"></div>\')),e.name&&$("#".concat(r)).append(\'<div class="ttProductName">\'.concat(e.name,"</div>")),e.url&&$("#".concat(r)).append(\'<a class="ttProductURL" href=\'.concat(e.url,"></a>")),e.image&&$("#".concat(r)).append(\'<img class="ttProductImage" src=\'.concat(e.image,"></img>")),e.quantity&&$("#".concat(r)).append(\'<div class="ttProductQuantity">\'.concat(e.quantity,"</div>")),e.unit_price&&$("#".concat(r)).append(\'<div class="ttProductUnitPrice">\'.concat(e.unit_price,"</div>")),e.total_price&&$("#".concat(r)).append(\'<div class="ttProductTotalPrice">\'.concat(e.total_price,"</div>")),e.parent_id&&$("#".concat(r)).append(\'<div class="ttProductID">\'.concat(e.parent_id,"</div>"))}}(s)}();',
|
|
cartOptsJs244187497353073745: '!function(){"use strict";var t={};function c(){return t.console?t.console():console}var a=c();function e(){a.log.apply(a,arguments)}e("Starting cartOptsJs244187497353073745 Sub VIM - Eniva Health");var n=t.utils?t.utils():__utils__;$(".ttCartItem").remove();var o,r,i,s,d,l=(o=n.findOne(\'script:contains("checkoutId")\'),r=o&&o.text(),(i=/checkoutId: \'(.*)\',/.exec(r))&&i[1]),u=(s="https://eniva.com/api/storefront/checkouts/".concat(l,"?include=customer.storeCredit"),(d=request({method:"GET",url:s})).error?(e("cartOptsJs244187497353073745 VIM ajax fail"),!1):d.rawBody);try{var p=JSON.parse(u);p&&function(t){for(var c=t&&t.cart&&t.cart.lineItems,a=c&&c.physicalItems,e=0;e<a.length;e+=1){var n=a[e],o="ttCartItem".concat(e);$("body").append(\'<div id="\'.concat(o,\'" class="ttCartItem" style="display: none;"></div>\')),$("#".concat(o)).append(\'<div class="ttProductName">\'.concat(n.name,"</div>")),$("#".concat(o)).append(\'<a class="ttProductURL" href=\'.concat(n.url,"></a>")),$("#".concat(o)).append(\'<div class="ttProductImage">\'.concat(n.imageUrl,"</div>")),$("#".concat(o)).append(\'<div class="ttProductQuantity">\'.concat(n.quantity,"</div>")),$("#".concat(o)).append(\'<div class="ttProductUnitPrice">\'.concat(n.salePrice,"</div>")),$("#".concat(o)).append(\'<div class="ttProductTotalPrice">\'.concat(n.extendedSalePrice,"</div>"))}}(p)}catch(t){}}();',
|
|
cartOptsJs263267943983975352: '!function(){"use strict";var t={};function c(){return t.console?t.console():console}var a=c();function e(){a.log.apply(a,arguments)}e("Starting cartOptsJs263267943983975352 Sub VIM - Kardiel");var n=t.utils?t.utils():__utils__;$(".ttCartItem").remove();var o,r,i,s,d,l=(o=n.findOne(\'script:contains("checkoutId")\'),r=o&&o.text(),(i=/checkoutId: \'(.*)\',/.exec(r))&&i[1]),p=(s="https://www.kardiel.com/api/storefront/checkouts/".concat(l),(d=request({method:"GET",url:s})).error?(e("cartOptsJs263267943983975352 VIM ajax fail"),!1):d.rawBody);!function(t){for(var c=t&&t.cart&&t.cart.lineItems,a=c&&c.physicalItems,e=0;e<a.length;e+=1){var n=a[e],o="ttCartItem".concat(e);$("body").append(\'<div id="\'.concat(o,\'" class="ttCartItem" style="display: none;"></div>\')),$("#".concat(o)).append(\'<div class="ttProductName">\'.concat(n.name,"</div>")),$("#".concat(o)).append(\'<a class="ttProductURL" href="\'.concat(n.url,\'"></a>\')),$("#".concat(o)).append(\'<div class="ttProductImage">\'.concat(n.imageUrl,"</div>")),$("#".concat(o)).append(\'<div class="ttProductQuantity">\'.concat(n.quantity,"</div>")),$("#".concat(o)).append(\'<div class="ttProductUnitPrice">\'.concat(n.salePrice,"</div>")),$("#".concat(o)).append(\'<div class="ttProductTotalPrice">\'.concat(n.extendedSalePrice,"</div>"))}}(JSON.parse(p))}();',
|
|
cartOptsJs7359061350009864748: '!function(){"use strict";var t={};function e(){return t.console?t.console():console}var s=e();!function(){s.log.apply(s,arguments)}("Starting cartOptsJs7359061350009864748 Sub VIM - Shopify");var o=t.utils?t.utils():__utils__,i=(t.windowOverride?t.windowOverride():window).location.href.toString();if(!(!i||!i.match(/\\/checkouts\\/c\\/[a-f0-9]{32}\\/?|shop\\.app\\/checkout\\/\\d+\\/co\\/[a-f0-9]{32}\\//))){var n=o.findOne(\'[name="serialized-graphql"]\'),a=function(t){var e=null;return Object.keys(t).forEach((function(s){var o=t[s];JSON.stringify(o).match(/"sessionType":"CART"|"sessionType":"CHECKOUT"/)&&(e=o)})),e}(n&&n.attr("content")&&JSON.parse(n.attr("content"))),r=a&&a.session&&a.session.negotiate&&a.session.negotiate.result&&a.session.negotiate.result.sellerProposal&&a.session.negotiate.result.sellerProposal.merchandise&&a.session.negotiate.result.sellerProposal.merchandise.merchandiseLines;if(r)!function(t){$("#ttHidden").remove(),$("body").append(\'<div id="ttHidden" style="display:none;"></div>\');for(var e=0;e<t.length;e+=1){var s=t[e],o="ttCartItem".concat(e);$("#ttHidden").append(\'<div id="\'.concat(o,\'" class="ttCartItem"></div>\')),s.title&&$("#".concat(o)).append(\'<div class="ttProductTitle">\'.concat(s.title,"</div>")),s.image&&$("#".concat(o)).append(\'<img class="ttProductImage" src=\'.concat(s.image,"></img>")),s.itemTotalPrice&&$("#".concat(o)).append(\'<div class="ttProductTotalPrice">\'.concat(s.itemTotalPrice,"</div>")),s.customId&&$("#".concat(o)).append(\'<div class="ttCustomId">\'.concat(s.customId,"</div>"))}}(function(t){var e=[];return t.forEach((function(t){var s=t&&t.merchandise,o=((s&&s.product&&s.product.id||"").match(/shopify\\/Product\\/([^/?:]*)/)||[])[1],i=s&&s.title||"",n=s&&s.image||{},a={title:i,image:n.one||Object.values(n)[1]||"",customId:o,itemTotalPrice:t&&t.totalAmount&&t.totalAmount.value&&t.totalAmount.value.amount||""};e.push(a)})),e}(r));a&&function(t){$("#ttHiddenPrices").remove(),$("body").append(\'<div id="ttHiddenPrices" style="display:none;"></div>\');var e=t&&t.session&&t.session.negotiate&&t.session.negotiate.result&&t.session.negotiate.result.sellerProposal&&t.session.negotiate.result.sellerProposal.runningTotal&&t.session.negotiate.result.sellerProposal.runningTotal.value&&t.session.negotiate.result.sellerProposal.runningTotal.value.amount||"",s=t&&t.session&&t.session.negotiate&&t.session.negotiate.result&&t.session.negotiate.result.sellerProposal&&t.session.negotiate.result.sellerProposal.subtotalBeforeTaxesAndShipping&&t.session.negotiate.result.sellerProposal.subtotalBeforeTaxesAndShipping.value&&t.session.negotiate.result.sellerProposal.subtotalBeforeTaxesAndShipping.value.amount||"";$("#ttHiddenPrices").append(\'<div id="ttCartSubtotal">\'.concat(s,"</div>")),$("#ttHiddenPrices").append(\'<div id="ttCartTotal">\'.concat(e,"</div>"))}(a)}else{var l=o.findAll(\'div.order-summary__section--product-list tr.product, div:has(> div > h3:contains("Order summary")) div.enter-done > div\');$(l).toArray().forEach((function(t){var e=t.attr("data-product-id")&&t.attr("data-product-id").trim();t.append("<div class=\'ttProdId\' style=\'display: none;\'>".concat(e,"</div>"))}))}}();',
|
|
cartOptsJs7359188627743309100: '!function(){"use strict";var t={};function a(){return t.console?t.console():console}var e=a();!function(){e.log.apply(e,arguments)}("Starting cartOptsJs7359188627743309100 Sub VIM - Nike");var i=t.utils?t.utils():__utils__;$(".ttSKU").remove();for(var r=i.findAll(\'div[id="checkout-wrapper"] aside div[data-attr="cart-details"] figure[data-attr *="cart-item"] div:contains(Style #:)\'),n=0;n<r.length;n+=1){var l=r[n].text().trim().replace("Style #: ","");l&&$(r[n]).append(\'<div class="ttSKU" style="display: none;">\'.concat(l,"</div>"))}}();',
|
|
cartOptsJs7360533218492451884: '!function(){"use strict";var t={};function a(){return t.console?t.console():console}var s=a();!function(){s.log.apply(s,arguments)}("Starting cartOptsJs7360533218492451884 Sub VIM - adidas");var r=t.utils?t.utils():__utils__;$(".tt-cart-id").remove();for(var i=r.findAll("//div[@data-auto-id=\'glass-order-details-item-list\']//div[contains(@class, \'order_details_item\')]/div[contains(@data-auto-id, \'glass-order-details-product\')]"),d=0;d<i.length;d+=1){var e=i[d],c=e.attr("data-auto-id")&&e.attr("data-auto-id").match(/order-details-product-(.*)_.*/)&&e.attr("data-auto-id").match(/order-details-product-(.*)_.*/)[1],o=r.findOne("div[class*=\'image_wrapper_\'] img",e),l=o&&o.attr("src")&&o.attr("src").match(/.*:sensitive\\/.*\\/([^_]+)_.*/)&&o.attr("src").match(/.*:sensitive\\/.*\\/([^_]+)_.*/)[1];if(c){var n="https://www.adidas.com/us/fakeProdUrl/".concat(c,".html");e.append(\'<a class="tt-cart-id" style="display:none" href="\'.concat(n,\'"></a>\'))}else if(l){var u="https://www.adidas.com/us/fakeProdUrl/".concat(l,".html");e.append(\'<a class="tt-cart-id" style="display:none" href="\'.concat(u,\'"></a>\'))}}}();',
|
|
cartOptsJs7360676928657335852: '!function(){"use strict";var t={};function e(){return t.console?t.console():console}var s=e();!function(){s.log.apply(s,arguments)}("Starting cartOptsJs7360676928657335852 Sub VIM - Shopify");var o=t.utils?t.utils():__utils__,i=(t.windowOverride?t.windowOverride():window).location.href.toString();if(!(!i||!i.match(/\\/checkouts\\/c\\/[a-f0-9]{32}\\/?|shop\\.app\\/checkout\\/\\d+\\/co\\/[a-f0-9]{32}\\//))){var n=o.findOne(\'[name="serialized-graphql"]\'),a=function(t){var e=null;return Object.keys(t).forEach((function(s){var o=t[s];JSON.stringify(o).match(/"sessionType":"CART"|"sessionType":"CHECKOUT"/)&&(e=o)})),e}(n&&n.attr("content")&&JSON.parse(n.attr("content"))),r=a&&a.session&&a.session.negotiate&&a.session.negotiate.result&&a.session.negotiate.result.sellerProposal&&a.session.negotiate.result.sellerProposal.merchandise&&a.session.negotiate.result.sellerProposal.merchandise.merchandiseLines;if(r)!function(t){$("#ttHidden").remove(),$("body").append(\'<div id="ttHidden" style="display:none;"></div>\');for(var e=0;e<t.length;e+=1){var s=t[e],o="ttCartItem".concat(e);$("#ttHidden").append(\'<div id="\'.concat(o,\'" class="ttCartItem"></div>\')),s.title&&$("#".concat(o)).append(\'<div class="ttProductTitle">\'.concat(s.title,"</div>")),s.image&&$("#".concat(o)).append(\'<img class="ttProductImage" src=\'.concat(s.image,"></img>")),s.itemTotalPrice&&$("#".concat(o)).append(\'<div class="ttProductTotalPrice">\'.concat(s.itemTotalPrice,"</div>")),s.customId&&$("#".concat(o)).append(\'<div class="ttCustomId">\'.concat(s.customId,"</div>"))}}(function(t){var e=[];return t.forEach((function(t){var s=t&&t.merchandise,o=((s&&s.product&&s.product.id||"").match(/shopify\\/Product\\/([^/?:]*)/)||[])[1],i=s&&s.title||"",n=s&&s.image||{},a={title:i,image:n.one||Object.values(n)[1]||"",customId:o,itemTotalPrice:t&&t.totalAmount&&t.totalAmount.value&&t.totalAmount.value.amount||""};e.push(a)})),e}(r));a&&function(t){$("#ttHiddenPrices").remove(),$("body").append(\'<div id="ttHiddenPrices" style="display:none;"></div>\');var e=t&&t.session&&t.session.negotiate&&t.session.negotiate.result&&t.session.negotiate.result.sellerProposal&&t.session.negotiate.result.sellerProposal.runningTotal&&t.session.negotiate.result.sellerProposal.runningTotal.value&&t.session.negotiate.result.sellerProposal.runningTotal.value.amount||"",s=t&&t.session&&t.session.negotiate&&t.session.negotiate.result&&t.session.negotiate.result.sellerProposal&&t.session.negotiate.result.sellerProposal.subtotalBeforeTaxesAndShipping&&t.session.negotiate.result.sellerProposal.subtotalBeforeTaxesAndShipping.value&&t.session.negotiate.result.sellerProposal.subtotalBeforeTaxesAndShipping.value.amount||"";$("#ttHiddenPrices").append(\'<div id="ttCartSubtotal">\'.concat(s,"</div>")),$("#ttHiddenPrices").append(\'<div id="ttCartTotal">\'.concat(e,"</div>"))}(a)}else{var l=o.findAll(\'div.order-summary__section--product-list tr.product, div:has(> div > h3:contains("Order summary")) div.enter-done > div\');$(l).toArray().forEach((function(t){var e=t.attr("data-product-id")&&t.attr("data-product-id").trim();t.append("<div class=\'ttProdId\' style=\'display: none;\'>".concat(e,"</div>"))}))}}();',
|
|
cartOptsJs7365830781408499756: '!function(){"use strict";var t={};function a(){return t.console?t.console():console}var r=a();!function(){r.log.apply(r,arguments)}("Starting cartOptsJs7365830781408499756 Sub VIM - Reebok");var e=t.utils?t.utils():__utils__;$(".ttProductCode").remove();for(var o=e.findAll(_t_cartPageSelectors.cart_wrapper),n=/product-(.*)_/,c=0;c<o.length;c+=1){var i=o[c],l=i.parent().attr("data-auto-id")&&i.parent().attr("data-auto-id").trim(),s=n.exec(l);l&&s&&(s=s[1],i.append(\'<div class="ttProductCode" style="display: none;">\'.concat(s,"</div>")))}}();',
|
|
cartOptsJs7394091724507865200: '!function(){"use strict";var t={};function a(){return t.console?t.console():console}var n=a();!function(){n.log.apply(n,arguments)}("Starting cartOptsJs7394091724507865200 Sub VIM - Groupon");var r=t.utils?t.utils():__utils__;$("#ttURL").remove();for(var o=r.findAll("div.item.section"),e=0;e<o.length;e+=1){var i=o[e],l=i.attr("data-bhd")&&i.attr("data-bhd").trim(),c=l&&l.replace(/.*permalink":"/,"");if(c=c.replace(/",.*/,"")){var s="www.groupon.com/deals/".concat(c);i.append(\'<a id="ttURL" style="display: none;" href="\'.concat(s,\'"></a>\'))}}}();',
|
|
cartOptsJs97: '!function(){"use strict";var t={};function c(){return t.console?t.console():console}var a=c();function e(){a.log.apply(a,arguments)}e("Starting cartOptsJs97 Sub VIM - H&M");var o="https://www2.hm.com",r=localStorage.getItem("optimizelyUserAttributes"),n=r&&/customerType":"(.*?)"/.exec(r)&&/customerType":"(.*?)"/.exec(r)[1];var i=function(t){var c=[];return(t.context&&t.context.cart&&t.context.cart.items).forEach((function(t){var a=t.productName,e=t.variantCode,r=t.productImage&&t.productImage.imageUrl,n=t.productUrl&&o+t.productUrl,i=t.productPrice&&t.productPrice.value,p=t.totalPrice&&t.totalPrice.value,s=t.quantity,u=t.variantCode,d="NOSIZE"!==t.size?"Color:".concat(t.color," Size:").concat(t.size):"Color:".concat(t.color);if(a&&n){var l={name:a,variant_id:e,url:n,sku:u,image:r,quantity:s,attributes:d,unit_price:price.clean(i),total_price:price.clean(p)};c.push(l)}})),c}(function(){var t;try{t=request({url:"".concat(o,"/en_us/v2/checkout/prepare?context=ALL"),method:"POST",headers:{accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({customerType:"".concat(n)})})}catch(t){e("cartOptsJs97 VIM API request failed")}return t.body}());!function(t){$("#ttCart").remove(),$("body").append(\'<div id="ttCart" style="display:none;"></div>\'),t.forEach((function(t,c){var a="ttCartItem_".concat(c);$("#ttCart").append(\'<div id="\'.concat(a,\'" class="ttCartItem"></div>\')),t.name&&$("#".concat(a)).append(\'<p class="ttProductName">\'.concat(t.name,"</p>")),t.url&&$("#".concat(a)).append(\'<a class="ttProductURL" href=\'.concat(t.url,"></a>")),t.sku&&$("#".concat(a)).append(\'<p class="ttProductSKU">\'.concat(t.sku,"</p>")),t.image&&$("#".concat(a)).append(\'<img class="ttProductImage" src=\'.concat(t.image,"></img>")),t.quantity&&$("#".concat(a)).append(\'<p class="ttProductQty">\'.concat(t.quantity,"</p>")),t.attributes&&$("#".concat(a)).append(\'<div class="ttProductAttrs">\'.concat(t.attributes,"</div>")),t.unit_price&&$("#".concat(a)).append(\'<p class="ttProductUnitPrice">\'.concat(t.unit_price,"</p>")),t.total_price&&$("#".concat(a)).append(\'<p class="ttProductTotalPrice">\'.concat(t.total_price,"</p>"))}))}(i),e("Finishing cartOptsJs97 Sub VIM - H&M")}();',
|
|
cartOptsJs98: '!function(){"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}var e={};function o(){return e.console?e.console():console}var i=o();function n(){i.log.apply(i,arguments)}n("Starting cartOptsJs98 Sub VIM - Home Depot");var a=e.utils?e.utils():__utils__;$(".ttCartCustomId").remove();var c=[],r=a.findOne("script#acc_tmx"),l=(r&&r.attr("src")&&r.attr("src").match(/session_id=([\\w-]*)/)||[])[1],d=a.findOne(\'input[name="hat_env"]\').val(),s=a.findOne(\'input[name="hat_env_id"]\').val(),m=a.findOne(\'input[name="hat_env_ts"]\').val(),u=request({method:"GET",url:"https://www.homedepot.com/mcc-checkout/v2/checkout/getOrder",headers:{"mcc-client-token":d,"mcc-client-id":s,"mcc-client-timestamp":m,"mcc-client-delay-token-validation":"1",tmxprofileid:l}});u.error?n("cartOptsJs98 VIM ajax fail"):function(e){if("object"===t(e)&&e.checkoutModel&&e.checkoutModel.itemModels)for(var o in e.checkoutModel.itemModels)if(e.checkoutModel.itemModels[o]&&e.checkoutModel.itemModels[o].partNumber&&e.checkoutModel.itemModels[o].description){var i={ajaxParentId:e.checkoutModel.itemModels[o].partNumber,ajaxProdTitle:e.checkoutModel.itemModels[o].description.trim()};c.push(i)}!function(t){var e=a.findAll(\'div[id="rightRail"] div.u__p-bottom-small\'),o=a.findAll(\'//span[@data-automation-id="itemTitle"]/span[not(@data-automation-id)]/text() | \\n //span[@data-automation-id="itemTitle"]/text() | \\n //span[@data-automation-id="itemDescription"]\'),i=t,n=[];if(o.forEach((function(t){for(var e=t.text().trim(),o=0;o<i.length;o+=1)if(e===i[o].ajaxProdTitle){n.push(i[o].ajaxParentId),i.splice(o,1);break}})),e.length===n.length)for(var c=0;c<e.length;c+=1)e[c].append(\'<div class="ttCartCustomId" style="display:none">\'.concat(n[c],"</div>"))}(c)}(u.body)}();',
|
|
checkForErrors: '!function(){"use strict";var e,r={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},t={};function a(e,r){return nativeAction(e,r)}function n(){return t.console?t.console():console}function o(){var e;try{$(),e=$}catch(e){}return t.jQuery?t.jQuery():e}function i(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),t.parameters?t.parameters(e):e}function s(e){var t,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=i()[e];return n?(t=o,i().shouldUseMixins&&t?a(r.HandleMixin,t):t):o}var l=n();!function(){l.log.apply(l,arguments)}("Starting CFE Sub VIM");var u=t.utils?t.utils():__utils__,c=s("errorElements");o();var p=[];c.forEach((function(e){o();var r,t=e.s;if(u.visible(t,!1)){var a=u.fetchText(t,"|",!0);(a=(r=a)?r.trim().replace(/\\s{2,}/g," ").replace(/\\([\\s|]*\\)/g,"").replace(/\\[[\\s|]*\\]/g,"").trim():r)&&a.length>0&&p.push(a)}})),a(r.Result,p)}();',
|
|
checkPageTypes: '!function(){"use strict";function e(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,a=Array(r);t<r;t++)a[t]=e[t];return a}function r(r,t){return function(e){if(Array.isArray(e))return e}(r)||function(e,r){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var a,n,o,i,s=[],u=!0,c=!1;try{if(o=(t=t.call(e)).next,0===r){if(Object(t)!==t)return;u=!1}else for(;!(u=(a=o.call(t)).done)&&(s.push(a.value),s.length!==r);u=!0);}catch(e){c=!0,n=e}finally{try{if(!u&&null!=t.return&&(i=t.return(),Object(i)!==i))return}finally{if(c)throw n}}return s}}(r,t)||function(r,t){if(r){if("string"==typeof r)return e(r,t);var a={}.toString.call(r).slice(8,-1);return"Object"===a&&r.constructor&&(a=r.constructor.name),"Map"===a||"Set"===a?Array.from(r):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?e(r,t):void 0}}(r,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var t,a={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},n={};function o(e,r){return nativeAction(e,r)}function i(){return t||(t=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),n.parameters?n.parameters(t):t}function s(e){var r,t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=i()[e];return t?(r=n,i().shouldUseMixins&&r?o(a.HandleMixin,r):r):n}!function(){var e;try{$(),e=$}catch(e){}n.jQuery&&n.jQuery()}();var u=s("showMatches"),c=((n.inputData?n.inputData(inputData):inputData)||{}).shouldUseFramework||!1;function l(e){if(Array.isArray(e)){var r=n.windowOverride?n.windowOverride():window,t=r.location.getCurrentLocation&&r.location.getCurrentLocation().href||r.location.href,i=null;return{pageTypeResult:e.reduce((function(e,r){if(e&&!u)return e;var s=n.utils?n.utils():__utils__,l=!1,m=!1;if(r.selector&&r.selector.length)try{l=(Array.isArray(r.selector)?r.selector:[r.selector]).every((function(e){return s.exists(e)}))}catch(e){s.echo("Error: Selector matching error in check page types: ".concat(e.message))}else l=!0;if(r.regex)try{m=s.matchRegExpToString(t,r.regex)}catch(e){s.echo("Error: Regex matching error in check page types: ".concat(e.message))}else m=!0;if(m&&l&&r.frameworkName&&r.frameworkName.length){var p=r.type;i=r.frameworkName,o(a.ReportFramework,{pageType:p,framework:i,shouldUseFramework:c})}return!c&&r.frameworkName&&r.frameworkName.length&&(m=!1,l=!1),e||m&&l}),!1),framework:i}}}var m={BILLING:l(s("billingParams")),CART_PRODUCT:l(s("cartProductParams")),CHECKOUT_CONFIRM:l(s("checkoutConfirmParams")),FIND_SAVINGS:l(s("findSavingsParams")),GOLD_REWARDS:l(s("honeyGoldParams")),HONEY_FLIGHTS:l(s("flightsParams")),PAYMENTS:l(s("paymentsParams")),PRODUCT:l(s("productPageParams")),SHOPIFY_PRODUCT_PAGE:l(s("shopifyProductPageParams")),SHOPIFY_WHERE_AM_I:l(s("shopifyWhereAmIParams")),SUBMIT_ORDER:l(s("submitOrderParams")),WHERE_AM_I:l(s("whereAmIParams")),PAY_LATER:l(s("payLaterParams"))},p={},f={};Object.entries(m).forEach((function(e){var t=r(e,2),a=t[0],n=t[1];p[a]=n&&n.pageTypeResult,f[a]=n&&n.framework})),o(a.Result,{pageTypes:p,frameworks:f})}();',
|
|
clientUtils: '!function(){"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}var t={};function r(e,t){return nativeAction(e,t)}function i(){return t.console?t.console():console}function n(e){return t.sleep?t.sleep(e):sleep(e)}function l(e){var r;try{$(),r=$}catch(e){}return t.jQueryForSelector?t.jQueryForSelector(e):r(e)}function s(){return t.windowOverride?t.windowOverride():window}function o(){return t.utils?t.utils():__utils__}var a=i();function u(){a.log.apply(a,arguments)}function c(e,t){if(n(0),e<0)return fetchFinished=!0,this._TTCleanFetchResult(fetchResult),void this._TTEnsureProductIsInStock(fetchResult,[]);if(e>=this.selectors.length){for(var r=e;r<this.lastOptionLevels.length;r+=1)this.lastOptionLevels[r]=0;this._TTGetFieldValues(e-1,this.lastOptionLevels[e-1]+1)}else{var i=this.selectors[e],l=this._TTGetFieldOptions(i),s=!0,a=0===e||!i.set_during_retrieve_opts||"true"!==i.set_during_retrieve_opts;e+1===this.selectors.length&&(a=!1),i.set_during_retrieve_opts&&"true"===i.set_during_retrieve_opts&&(a=!0);var u=0;if(a&&(u=this.addProductFieldDelay,i.timeout&&i.timeout.length>0&&(u=Math.round(i.timeout))),t>=l.length){this._TTResetCycle(i,u,a);for(var c=e;c<this.lastOptionLevels.length;c+=1)this.lastOptionLevels[c]=0;this._TTGetFieldValues(e-1,this.lastOptionLevels[e-1]+1)}else{a&&(s=this._TTSetFieldOption(i,t));var h=[];resultPlaceholder=fetchResult;for(var d=0;d<e;d+=1){var T=this.selectors[d].name;resultPlaceholder&&resultPlaceholder[T]&&resultPlaceholder[T][this.lastOptionLevels[d]]?(h.push(resultPlaceholder[T][this.lastOptionLevels[d]].value),resultPlaceholder=resultPlaceholder[T][this.lastOptionLevels[d]].dep):resultPlaceholder=null}u&&n(u);var p=i.name,f=this._TTGetFieldData(i,l,t,h);e+1>=this.selectors.length&&addToCartButtonSelector&&(o().visible(addToCartButtonSelector,!0)?addToCartButtonVisibility=!0:s=!1),s&&resultPlaceholder&&(resultPlaceholder[p]||(resultPlaceholder[p]=[]),resultPlaceholder[p].push(f)),this.lastOptionLevels[e]=t,this._TTGetFieldValues(e+1,this.lastOptionLevels[e+1])}}}function h(t){var r=["out of stock","not available","sold out","select","choose","coming soon","unavailable","not in stock","discontinued","ej i lager","finns ej","ausverkauft","nicht auf lager","v\xe4lj","valj","w\xe4hlen","wahlen","ausw\xe4hlen","auswahlen","sluts\xe5ld","slutsald"],i=null,n=null;"string"==typeof t?(i=t,n=t):"object"===e(t)&&t.text&&"string"==typeof t.text&&-1===t.text.indexOf("http")&&(n=t.text,i=t.value);for(var l=0;l<r.length;l+=1){var s=new RegExp("\\\\b".concat(r[l],"\\\\b"),"i");if(n&&s.test(n))return!1}return i&&i.length>0}function d(e){var t=[];if("SELECT"===e.type){var r=!e.text_only||"true"!==e.text_only,i=e.selector,n=o().findOne(i),s=[],a=[];if(n&&(s=o().findAll("option",n)),!n||!s.length)return o().echo(\'--- Error: element not found while getting "\'.concat(e.name,\'" field options.\')),t;for(var u=0;u<s.length;u+=1){var c=l(s[u]),h={};c.getElementProperty("disabled")||0===c.getElementProperty("textContent").length||(!r||c.getElementProperty("value")&&0!==c.val().length)&&(h.text=c.getElementProperty("textContent").replace(/^\\s+|\\s+$/g,""),h.value=r?c.val().replace(/^\\s+|\\s+$/g,""):h.text,h.selected=n.prop("selectedIndex")===u,a.push(h))}t=a}else if("SWATCH"===e.type){for(var d=e.selector,T=o().findAll(d),p=e.text_attr_selector,f=e.value_attr_selector,v=e.skip_selector,_=e.skip_during_set_selector,g=[],m=0;m<T.length;m+=1){var y=T[m],x=l("<div></div>");x.append(y.clone(!0));var S=v?o().findOne(v,x):null,F=_?o().findOne(_,x):null;if(!S){var C=p?o().findAll(p,x).map((function(e){return e.getElementProperty("textContent")})).join(""):null,O=f?o().findAll(f,x).map((function(e){return e.getElementProperty("textContent")})).join(""):null;C&&O&&g.push({text:C.trim(),value:O.trim(),selected:!!F})}}t=g}else"CUSTOM"===e.type&&(t=this._TTGenericGet(e));if(t)for(var P=0;P<t.length;P+=1){var b=t[P];this._TTValidateOption(b)||(t.splice(P,1),P-=1)}if(t&&["SELECT","SWATCH"].indexOf(e.type)>-1)for(var E=0;E<t.length;E+=1)t[E].text&&-1===t[E].text.indexOf("//")&&(t[E].text=o().applyRegExpToString(t[E].text,this.pAttrRegexp)),t[E].value=o().addHostToSwatch(t[E].value);return t}function T(e){var t;if("SELECT"===e.type){var r=!e.text_only||"true"!==e.text_only,i=e.selector,n=o().findOne(i),s=[];if(n&&(s=o().findAll("option",n)),!n||!s.length)return o().echo(\'--- Error: element not found while getting "\'.concat(e.name,\'" field options.\')),null;var a=l(s[n.prop("selectedIndex")]);if(t={},a.getElementProperty("disabled")||0===a.getElementProperty("textContent").length)return null;if(r&&(!a.getElementProperty("value")||0===a.val().length))return null;t.text=a.getElementProperty("textContent").replace(/^\\s+|\\s+$/g,""),t.value=r?a.val().replace(/^\\s+|\\s+$/g,""):t.text,t.selected=!0}else if("SWATCH"===e.type)for(var u=e.selector,c=o().findAll(u),h=e.text_attr_selector,d=e.value_attr_selector,T=e.skip_selector,p=e.skip_during_set_selector,f=0;f<c.length;f+=1){var v=c[f],_=l("<div></div>");_.append(v.clone(!0));var g=T?o().findOne(T,_):null,m=p?o().findOne(p,_):null;if(!g){var y=h?o().findAll(h,_).map((function(e){return e.getElementProperty("textContent")})).join(""):null,x=d?o().findAll(d,_).map((function(e){return e.getElementProperty("textContent")})).join(""):null;if(y&&x&&m){t={text:y.trim(),value:x.trim(),selected:!0};break}}}else if("CUSTOM"===e.type&&e.current_variant_selector){var S=e.current_variant_selector,F=o().findOne(S);if(F&&(t=e.current_variant_selector_property?F.getElementProperty(e.current_variant_selector_property).trim():F.text().trim()),t&&e.current_variant_selector_regex){var C=e.current_variant_selector_regex;t=o().applyRegExpToString(t,C)}}return this._TTValidateOption(t)?(t&&["SELECT","SWATCH"].indexOf(e.type)>-1&&(t.text&&-1===t.text.indexOf("//")&&(t.text=o().applyRegExpToString(t.text,this.pAttrRegexp)),t.value=o().addHostToSwatch(t.value)),t):null}function p(e,t){var r=!1;if("SELECT"===e.type){var i=!e.text_only||"true"!==e.text_only,n=this._TTGetFieldOptions(e)[t],s=e.selector,a=o().findOne(s),u=[];if(a&&(u=o().findAll("option",a)),!a||!u.length)return o().echo(\'--- Error: element not found while setting "\'.concat(e.name,\'" field options.\')),finalOptions;for(var c=0;c<u.length;c+=1){var h=l(u[c]),d=null,T=null;i?(d=(h.getElementProperty("value")||h.val()).trim(),T=n.value):(d=h.getElementProperty("textContent").trim(),d=o().applyRegExpToString(d,this.pAttrRegexp),T=n.text),d===T&&(a.prop("selectedIndex",c),r=o().mouseEvent("change",a))}}else if("SWATCH"===e.type)for(var p=this._TTGetFieldOptions(e),f=e.selector,v=e.value_attr_selector,_=e.skip_selector,g=e.skip_during_set_selector,m=p[t],y=o().findAll(f),x=0;x<y.length;x+=1){var S=y[x],F=l("<div></div>");F.append(l(S).clone());var C=_?o().findOne(_,F):null,O=g?o().findOne(g,F):null;if(!C){var P=v?o().findAll(v,F).map((function(e){return e.getElementProperty("textContent")})).join(""):null;if((P=o().addHostToSwatch(P).trim())&&P===m.value){if(O){r=!0;continue}for(var b=S,E=["a","img","label","button","span"],R=0;R<E.length;R+=1){var I=S?o().findAll(E[R],S,!0):[];if(I.length>0){b=I[0];break}}var G=o().mouseEvent("mousedown",b),A=o().mouseEvent("mouseup",b),w=o().mouseEvent("click",b),k=o().mouseEvent("change",b);r=G&&A&&w&&k}}}else if("CUSTOM"===e.type){var L=this._TTGetFieldOptions(e)[t];r=this._TTGenericSet(e,L)}return r}function f(e,t,r,i){var n={},l=t[r],s=e.name?"color"===e.name.toLowerCase():"";if("SELECT"===e.type||"SWATCH"===e.type?(n.value=l.value,n.text=l.text,s&&/^https?:\\/\\//.test(l.value)&&(n.colorImg=l.value)):"CUSTOM"===e.type&&("string"==typeof l||"number"==typeof l?(n.value=l,n.text=l):(n.value=l.value,n.text=l.text,s&&/^https?:\\/\\//.test(l.value)&&(n.colorImg=l.value))),i.push(n.value),n.price=this._TTGetPrice(i),n.image=this._TTGetImage(i),n.extra_info=this._TTGetExtraInfo(i),n.weight=this._TTGetWeight(i),n.product_ids=this._TTGetProductIdentifiers(i),s&&altImagesSelector&&altImagesSelector.toString().length>0){var o=this._TTGetAltImages(i);o&&o.length>0&&(n.alt_images=o)}return n.dep={},n.extra_info||delete n.extra_info,n.weight||delete n.weight,n}function v(t){var r=t.name.toLowerCase(),i=this._TTCustomFuncs[r].get();if(i&&"[object Array]"===Object.prototype.toString.call(i))for(var n=0;n<i.length;n+=1)"object"===e(i[n])?(i[n].text&&(i[n].text=i[n].text.trim()),i[n].value&&(i[n].value=i[n].value.trim())):i[n]=i[n].trim();return i}function _(t,r){var i=t.name.toLowerCase();return"object"===e(r)&&(r=r.value),r&&(r=r.trim()),this._TTCustomFuncs[i].set(r)}function g(e){var t,r,i=this._TTFetchFromPreparedData(e,"price");return i||(priceSelector&&(t=this._TTFetchText(priceSelector,"")),discountedPriceSelector&&(r=this._TTFetchText(discountedPriceSelector,"")),r||t)}function m(e){var t,r=this._TTFetchFromPreparedData(e,"sku_identifier");return r||(skuSelector&&(t=this._TTFetchText(skuSelector,"")),t)}function y(e){var t,r=this._TTFetchFromPreparedData(e,"mpn_identifier");return r||(mpnSelector&&(t=this._TTFetchText(mpnSelector,"")),t)}function x(e){var t,r=this._TTFetchFromPreparedData(e,"gtin_identifier");return r||(gtinSelector&&(t=this._TTFetchText(gtinSelector,"")),t)}function S(e){return{sku:this._TTGetSKUIdentifiers(e),mpn:this._TTGetMPNIdentifiers(e),gtin:this._TTGetGTINIdentifiers(e)}}function F(e){var t=this._TTFetchFromPreparedData(e,"image");if(t)return t;var r=[];return imageSelector&&(r=o().fetchImages(imageSelector)),r[0]||""}function C(e){var t=this._TTFetchFromPreparedData(e,"alt_images");return t||o().fetchImages(altImagesSelector)}function O(e){var t=this._TTFetchFromPreparedData(e,"extra_info");return t||(extraInfoSelector&&0!==extraInfoSelector.length?this._TTFetchText(extraInfoSelector,", "):"")}function P(e){var t=this._TTFetchFromPreparedData(e,"weight");return t||(weightSelector&&0!==weightSelector.length?this._TTFetchText(weightSelector,", "):"")}function b(e,t){return o().fetchText(e,t)}function E(e,t){if(e&&e.length>0&&"undefined"!=typeof preparedProductData){var r=e.join(this.preparedProductDataSeparator),i=preparedProductData;if(i&&i[r]&&i[r][t]&&i[r][t].length>0)return i[r][t]}return null}function R(e){if(e&&0!==Object.keys(e).length){for(var t=Object.keys(e)[0],r=e[t],i=this.selectors[this.selectors.length-1].name,n=[],l=[],s=0;s<r.length;s+=1){this._TTCleanFetchResult(r[s].dep);var a=!1,u=Object.keys(r[s].dep)[0];u&&0===r[s].dep[u].length&&(o().echo("- removing ".concat(r[s].value," because of empty dep list.")),a=!0),this.isInternalTest||(null==r[s].price&&(o().echo("- removing ".concat(r[s].value," because of empty price.")),a=!0),(n.indexOf(r[s].text)>-1||l.indexOf(r[s].value)>-1)&&(o().echo("- removing ".concat(r[s].text," : ").concat(r[s].value," because of duplicate text or value.")),a=!0)),a?(r.splice(s,1),s-=1):(n.push(r[s].text),l.push(r[s].value))}for(var c=0;c<r.length;c+=1){Object.keys(r[c].dep).length>0||t===i||(r.splice(c,1),c-=1)}}}function I(e,t){if(e&&0!==Object.keys(e).length){var r=Object.keys(e)[0],i=e[r];i.length>0?(t.push(r),this._TTEnsureProductIsInStock(i[0].dep,t)):this._TTEnsureProductIsInStock(null,t)}else{for(var n=[],l=0;l<this.selectors.length;l+=1)n.push(this.selectors[l].name);n.sort().toString().toLowerCase()!==t.sort().toString().toLowerCase()&&addToCartButtonSelector&&(s().addToCartButtonPresent=!1)}}function G(t,r,i){if(t.reset_during_retrieve_opts&&"true"===t.reset_during_retrieve_opts&&i){var l=t.name;if("SELECT"===t.type){var s=t.selector,a=o().findOne(s);a.prop("selectedIndex",0),o().mouseEvent("change",a)}else"CUSTOM"===t.type&&(("undefined"==typeof _t_productAttributeReset||e(_t_productAttributeReset))&&"object"===e(_t_productAttributeReset[l])&&_t_productAttributeReset[l].el&&(_t_productAttributeReset[l].types.indexOf("click")>-1&&o().mouseEvent("click",_t_productAttributeReset[l].el),_t_productAttributeReset[l].types.indexOf("change")>-1&&o().mouseEvent("change",_t_productAttributeReset[l].el)),delete _t_productAttributeReset[l]);r&&n(r)}}function A(){this.selectors=[];for(var e=0;e<fieldSelectors.length;e+=1){var t=fieldSelectors[e];"quantity"===t.name.toLowerCase()||"SELECT"!==t.type&&"SWATCH"!==t.type&&"CUSTOM"!==t.type||this.selectors.push(t)}}function w(e){this.pAttrRegexp=e,this._TTFindProductSelectors();var t={};if(this.selectors.length>0){this._TTCustomFuncs=s()._TTCustomFuncs||{};for(var r=0;r<this.selectors.length;r+=1){var i=this.selectors[r];t[i.name]=this._TTGetFieldOptions(i)}}return t}function k(){this._TTFindProductSelectors();var e={};if(this.selectors.length>0){this._TTCustomFuncs=s()._TTCustomFuncs||{};for(var t=0;t<this.selectors.length;t+=1){var r=this.selectors[t];e[r.name]=this._TTGetCurrentFieldOption(r)}}return e}function L(e,t,r){if(this.addProductFieldDelay=e,this.pAttrRegexp=t,this.isInternalTest=r,this._TTFindProductSelectors(),"undefined"!=typeof addToCartButtonVisibility&&addToCartButtonVisibility||(addToCartButtonVisibility={}),addToCartButtonVisibility=!1,addToCartButtonPresent="unknown",fetchFinished=!1,fetchResult={},this.selectors.length>0){this._TTCustomFuncs=s()._TTCustomFuncs||{};for(var i=0;i<this.selectors.length+1;i+=1)this.lastOptionLevels[i]=0;n(this.addProductFieldDelay),this._TTGetFieldValues(0,0),o().echo("Wait finished"),s().fetchResult={requiredFieldValues:fetchResult,addToCartButtonVisibility:addToCartButtonVisibility,addToCartButtonPresent:s().addToCartButtonPresent}}else fetchFinished=!0,s().fetchResult={requiredFieldValues:fetchResult,addToCartButtonVisibility:addToCartButtonVisibility,addToCartButtonPresent:s().addToCartButtonPresent}}\n/*!\n * This finds a recursive dependency of fields.\n *\n * Please sync this inside squashed-api/squashed-cloud-chrome.\n * FIXME: port to ES6.\n *\n */\nu("Starting Client Utils Sub VIM");var j=new function(){this.selectors=[],this._TTCustomFuncs={},this.lastOptionLevels=[],this.preparedProductDataSeparator="--XX--",this.TTCurrentSelectedFieldOptsRetrieval=k,this.TTRecursiveFieldOptsRetrieval=L,this.TTSelectedFieldOptsRetrieval=w,this._TTCleanFetchResult=R,this._TTEnsureProductIsInStock=I,this._TTFetchFromPreparedData=E,this._TTFetchText=b,this._TTFindProductSelectors=A,this._TTGenericGet=v,this._TTGenericSet=_,this._TTGetAltImages=C,this._TTGetCurrentFieldOption=T,this._TTGetExtraInfo=O,this._TTGetFieldData=f,this._TTGetFieldOptions=d,this._TTGetFieldValues=c,this._TTGetGTINIdentifiers=x,this._TTGetImage=F,this._TTGetMPNIdentifiers=y,this._TTGetPrice=g,this._TTGetProductIdentifiers=S,this._TTGetSKUIdentifiers=m,this._TTGetWeight=P,this._TTResetCycle=G,this._TTSetFieldOption=p,this._TTValidateOption=h};s().TTSelectedFieldOptsRetrieval=j.TTSelectedFieldOptsRetrieval.bind(j),s().TTCurrentSelectedFieldOptsRetrieval=j.TTCurrentSelectedFieldOptsRetrieval.bind(j),s().TTRecursiveFieldOptsRetrieval=j.TTRecursiveFieldOptsRetrieval.bind(j),u("Starting Prepare Page Sub VIM");var D=(t.inputData?t.inputData(inputData):inputData)||{}||{};!function(){var e;try{$(),e=$}catch(e){}t.jQuery&&t.jQuery()}(),"cart"!==D.eventType&&l("form").toArray().forEach((function(e){e.attr("novalidate","")}));var V=l("body");V.length>0&&(V.css("min-width","20px"),V.css("min-height","20px")),r("result",null)}();',
|
|
elementsCount: '!function(){"use strict";var e,t={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},r={};function a(e,t){return nativeAction(e,t)}function n(){return r.console?r.console():console}function o(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),r.parameters?r.parameters(e):e}function i(e){var r,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=o()[e];return n?(r=i,o().shouldUseMixins&&r?a(t.HandleMixin,r):r):i}var l=n();!function(){l.log.apply(l,arguments)}("Starting Elements Count Sub VIM");var u=r.utils?r.utils():__utils__,s=i("targetSelector"),p=(r.inputData?r.inputData(inputData):inputData)||{}||{};!function(){var e;try{$(),e=$}catch(e){}r.jQuery&&r.jQuery()}();var c=p.prependSelector,d=u.prependSelectorFromVariable(s,c),h=u.findAll(d);a(t.Result,h.length)}();',
|
|
eventChangeCheckbox: '!function(){"use strict";var e,t={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},r={};function a(e,t){return nativeAction(e,t)}function n(){return r.console?r.console():console}function o(){var e;try{$(),e=$}catch(e){}return r.jQuery?r.jQuery():e}function i(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),r.parameters?r.parameters(e):e}function u(e){return i().shouldUseMixins&&e?a(t.HandleMixin,e):e}var c=n();!function(){c.log.apply(c,arguments)}("Starting Event Change Checkbox Sub VIM");var s=r.utils?r.utils():__utils__,l=(r.inputData?r.inputData(inputData):inputData)||{}||{},p=u(l.targetSelector),d=u(l.checkboxChecked),h=u(l.isInternalTest),m=u(l.timeout),g=u(l.prependSelector);o();var S=s.prependSelectorFromVariable(p,g);o().waitForElement("document",S,m);var b=s.findOne(p);h&&s.echo("[Trying-to-set-value]:-".concat(d,"-.")),b&&0!==b.length?"INPUT"!==b.getElementProperty("nodeName")?(s.echo("Error: matched element is not an INPUT."),a(t.Result,!1)):((b.getElementProperty("checked")&&!d||!b.checked&&d)&&s.mouseEvent("click",p),s.hasReact(b)?(s.echo("[Has-React]:- true -"),b.trigger("input",{eventInit:{target:b,bubbles:!0}})):(s.echo("[Has-React]:- false -"),s.mouseEvent("input",p)),a(t.Result,!0)):(s.echo("Error: element could not be found."),a(t.Result,!1))}();',
|
|
eventChangeDefault: '!function(){"use strict";var e,t={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},r={};function a(e,t){return nativeAction(e,t)}function n(){return r.console?r.console():console}function o(){var e;try{$(),e=$}catch(e){}return r.jQuery?r.jQuery():e}function i(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),r.parameters?r.parameters(e):e}function u(e){return i().shouldUseMixins&&e?a(t.HandleMixin,e):e}var s=n();!function(){s.log.apply(s,arguments)}("Starting Event Change Default Sub VIM");var l=r.utils?r.utils():__utils__,c=(r.inputData?r.inputData(inputData):inputData)||{}||{},p=u(c.targetSelector),d=u(c.fieldValue),h=u(c.isInternalTest),m=u(c.timeout),g=u(c.prependSelector);o();var f=l.prependSelectorFromVariable(p,g);o().waitForElement("document",f,m);var v=l.findOne(p);h&&l.echo("[Trying-to-set-value]:-".concat(d,"-.")),v&&0!==v.length?"INPUT"!==v.getElementProperty("nodeName")?(l.echo("Error: matched element is not an INPUT."),a(t.Result,!1)):(l.hasReact(v)?(l.echo("[Has-React]:- true -"),l.setReactOnChangeListener(v),["focus","compositionstart","input","keyup","change","compositionend","blur"].forEach((function(e){"input"===e&&l.callSetter(v,"value",d),v.trigger(e,{eventInit:{bubbles:!0},eventProperties:{simulated:!0}})}))):(l.echo("[Has-React]:- false -"),["focus","set_value","keyup","keydown","input","change","blur"].forEach((function(e){"set_value"===e?v.val(d):l.mouseEvent(e,p)}))),function(e){r.sleep?r.sleep(e):sleep(e)}(500),a(t.Result,!0)):(l.echo("Error: no elements matched."),a(t.Result,!1))}();',
|
|
eventChangeKeypress: '!function(){"use strict";var e,t={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},r={};function n(e,t){return nativeAction(e,t)}function a(){return r.console?r.console():console}function i(e){return r.sleep?r.sleep(e):sleep(e)}function o(){var e;try{$(),e=$}catch(e){}return r.jQuery?r.jQuery():e}function s(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),r.parameters?r.parameters(e):e}function u(e){return s().shouldUseMixins&&e?n(t.HandleMixin,e):e}var l=a();!function(){l.log.apply(l,arguments)}("Starting Event Change Keypress Sub VIM");var p=r.utils?r.utils():__utils__,c=(r.inputData?r.inputData(inputData):inputData)||{}||{};o();var g=u(c.targetSelector),d=u(c.fieldValue),h=u(c.isInternalTest),m=u(c.prependSelector),b=u(c.timeout),f=p.prependSelectorFromVariable(g,m);o().waitForElement("document",f,b);var v=p.findOne(f);if(v.length){v.trigger("focus",{eventInit:{bubbles:!0}}),v.focus(),i(100);for(var S=0;S<50;S+=1)v.trigger("keypress",{eventInit:{key:"Backspace"}});i(500),h&&p.echo("[Trying-to-set-value]:-".concat(d,"-.")),d.split("").forEach((function(e){v.trigger("keypress",{eventInit:{key:e}}),i(100)})),i(500),v.trigger("blur",{eventInit:{bubbles:!0}}),v.blur(),v.trigger("keypress",{eventInit:{key:"Tab"}}),n(t.Result,!0)}else n(t.Result,!1)}();',
|
|
eventChangeList: '!function(){"use strict";var e,t={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},r={};function a(e,t){return nativeAction(e,t)}function n(){return r.console?r.console():console}function o(){var e;try{$(),e=$}catch(e){}return r.jQuery?r.jQuery():e}function i(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),r.parameters?r.parameters(e):e}function u(e){return i().shouldUseMixins&&e?a(t.HandleMixin,e):e}function s(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=i()[e];return t?u(r):r}var l=n();!function(){l.log.apply(l,arguments)}("Starting Event Change List Sub VIM");var c=r.utils?r.utils():__utils__,p=(r.inputData?r.inputData(inputData):inputData)||{}||{},d=u(p.targetSelector),m=u(p.fieldValue),g=s("isInternalTest")||u(p.isInternalTest),h=s("timeout")||u(p.timeout),S=s("prependSelector")||u(p.prependSelector);o();var v=c.prependSelectorFromVariable(d,S);o().waitForElement("document",v,h);var f=c.findAll(d),V=-1;g&&c.echo("[Trying-to-set-value]:-".concat(m,"-."));for(var b=0;b<f.length;b+=1){var P=f[b].textContent.toString().trim();if(g&&c.echo("[Change-debug-value]:-".concat(P,"-.")),P===m.toString().trim()){V=b;break}}V>-1&&(c.mouseEvent("mousedown",f[V]),c.mouseEvent("mouseup",f[V]),c.mouseEvent("click",f[V])),a(t.Result,V>-1)}();',
|
|
eventChangeProductAttributeJavascript: '!function(){"use strict";var e,t={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},r={};function a(e,t){return nativeAction(e,t)}function n(){return r.console?r.console():console}function o(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),r.parameters?r.parameters(e):e}function i(e){return o().shouldUseMixins&&e?a(t.HandleMixin,e):e}var s=n();!function(){s.log.apply(s,arguments)}("Starting Event Change Product Attributes Javascript Sub VIM");var u=void i(((r.inputData?r.inputData(inputData):inputData)||{}||{}).fieldValue);a(t.Result,u)}();',
|
|
eventChangeProductAttributeSwatch: '!function(){"use strict";var e,t={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},r={};function a(e,t){return nativeAction(e,t)}function n(){return r.console?r.console():console}function o(e){var t;try{$(),t=$}catch(e){}return r.jQueryForSelector?r.jQueryForSelector(e):t(e)}function i(){var e;try{$(),e=$}catch(e){}return r.jQuery?r.jQuery():e}function l(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),r.parameters?r.parameters(e):e}function u(e){return l().shouldUseMixins&&e?a(t.HandleMixin,e):e}function c(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=l()[e];return t?u(r):r}var s=n();!function(){s.log.apply(s,arguments)}("Starting Event Change Product Attribute Swatch Sub VIM");var p=r.utils?r.utils():__utils__,d=(r.inputData?r.inputData(inputData):inputData)||{}||{},h=c("targetSelector"),m=c("timeout"),v=c("valueAttrSelector"),g=c("skipSelector"),S=c("skipDuringSetSelector"),f=u(d.prependSelector),b=u(d.isInternalTest),P=u(d.fieldValue);i();var V=p.prependSelectorFromVariable(h,f);i().waitForElement("document",V,m);var w=p.findAll(h);b&&p.echo("[Trying-to-set-value]:-".concat(P,"-."));for(var C=!1,E=0;E<w.length;E+=1){var T=w[E],k=o("<div></div>");k.append(T.clone(!0));var F=g?p.findOne(g,k):null,y=S?p.findOne(S,k):null;if(!F){var A=v?p.fetchText(p.findAll(v,k)):null;if(A=p.addHostToSwatch(A),p.echo("[Swatch-debug-value]:-".concat(A,"-.")),A&&A.toLowerCase()===P.toLowerCase()){if(y){C=!0;break}for(var R=T,x=["a","img","label","button","span"],D=0;D<x.length;D+=1){var H=x[D],I=T?p.findAll(H,T,!0):[];if(I.length>0){p.echo("[Swatch-debug]: Clicking on child ".concat(H,".")),R=I[0];break}}var M=p.mouseEvent("mousedown",R),O=p.mouseEvent("mouseup",R),W=p.mouseEvent("click",R),j=p.mouseEvent("change",R);C=!!(M&&O&&W&&j);break}}}a(t.Result,C)}();',
|
|
eventChangeRadio: '!function(){"use strict";var e,t={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},r={};function a(e,t){return nativeAction(e,t)}function n(){return r.console?r.console():console}function o(){var e;try{$(),e=$}catch(e){}return r.jQuery?r.jQuery():e}function i(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),r.parameters?r.parameters(e):e}function l(e){return i().shouldUseMixins&&e?a(t.HandleMixin,e):e}function u(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=i()[e];return t?l(r):r}var s=n();!function(){s.log.apply(s,arguments)}("Starting Event Change Radio Sub VIM");var c=(r.inputData?r.inputData(inputData):inputData)||{}||{},p=l(c.targetSelector)||u("targetSelector"),d=l(c.fieldValue)||u("fieldValue"),m=l(c.isInternalTest),g=l(c.timeout),h=l(c.prependSelector)||u("prependSelector"),S=r.utils?r.utils():__utils__;o();var v=S.prependSelectorFromVariable(p,h);o().waitForElement("document",v,g);var f=S.findAll(p),P=null,b=-1;if(m&&S.echo("[Trying-to-set-value]:-".concat(d,"-.")),f[0]&&"INPUT"!==f[0].getElementProperty("nodeName"))S.echo("Error: matched element is not an INPUT."),a(t.Result,!1);else{for(var R=0;R<f.length;R+=1){var V=f[R].getElementProperty("value").toString().trim();if(m&&S.echo("[Change-debug-value]:-".concat(V,"-.")),V===d.toString().trim()){P=f[R],b=R;break}}b>-1&&P&&(S.mouseEvent("click",P),S.hasReact(P)?(S.echo("[Has-React]:- true -"),P.trigger("input",{eventInit:{target:P,bubbles:!0}})):(S.echo("[Has-React]:- false -"),S.mouseEvent("input",P))),a(t.Result,b>-1)}}();',
|
|
eventChangeSelect: '!function(){"use strict";var e,t={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},r={};function a(e,t){return nativeAction(e,t)}function n(){return r.console?r.console():console}function o(){var e;try{$(),e=$}catch(e){}return r.jQuery?r.jQuery():e}function i(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),r.parameters?r.parameters(e):e}function l(e){return i().shouldUseMixins&&e?a(t.HandleMixin,e):e}function u(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=i()[e];return t?l(r):r}var s=n();!function(){s.log.apply(s,arguments)}("Starting Event Change Select Sub VIM");var c=(r.inputData?r.inputData(inputData):inputData)||{}||{},p=l(c.targetSelector)||u("targetSelector"),d=l(c.fieldValue)||u("fieldValue"),g=l(c.isInternalTest),m=l(c.useTextContent),h=l(c.timeout),S=l(c.prependSelector)||u("prependSelector"),v=r.utils?r.utils():__utils__;o();var E=v.prependSelectorFromVariable(p,S);o().waitForElement("document",E,h);var f=v.findOne(E),b=-1;if(g&&v.echo("[Trying-to-set-value]:-".concat(d,"-.")),f&&0!==f.length)if("SELECT"!==f.getElementProperty("nodeName"))v.echo("Error: matched element is not a SELECT."),a(t.Result,!1);else{for(var P=0;P<l(c.length);P+=1){var R=f.getElementProperty("options").get(P),C=m?R.getElementProperty("textContent"):R.getElementProperty("value");if(C=C.toString().trim(),C=v.addHostToSwatch(C),g&&v.echo("[Change-debug-value]:-".concat(C,"-.")),C===d.toString().trim()){b=P;break}}b>-1&&(f.prop("selectedIndex",b),v.mouseEvent("change",E),v.hasReact(f)?(v.echo("[Has-React]:- true -"),f.trigger("input",{eventInit:{target:f,bubbles:!0}})):(v.echo("[Has-React]:- false -"),v.mouseEvent("input",E))),a(t.Result,b>-1)}else v.echo("Error: element could not be found."),a(t.Result,!1)}();',
|
|
eventClick: '!function(){"use strict";var e,t={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},r={};function a(e,t){return nativeAction(e,t)}function n(){return r.console?r.console():console}function o(){var e;try{$(),e=$}catch(e){}return r.jQuery?r.jQuery():e}function i(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),r.parameters?r.parameters(e):e}function u(e){return i().shouldUseMixins&&e?a(t.HandleMixin,e):e}function s(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=i()[e];return t?u(r):r}var l=n();!function(){l.log.apply(l,arguments)}("Starting Event Click Sub VIM");var p=(r.inputData?r.inputData(inputData):inputData)||{}||{},c=u(p.targetSelector)||s("targetSelector"),d=u(p.timeout)||s("timeout"),m=u(p.prependSelector)||s("prependSelector"),h=r.utils?r.utils():__utils__;o();var S=h.prependSelectorFromVariable(c,m);o().waitForElement("document",S,d);var g=h.mouseEvent("mousedown",c),v=h.mouseEvent("mouseup",c),P=h.mouseEvent("click",c);a(t.Result,g&&v&&P)}();',
|
|
eventJavascript: '!function(){"use strict";var e,r={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},t={};function a(e,r){return nativeAction(e,r)}function n(){return t.console?t.console():console}function o(){var e;try{$(),e=$}catch(e){}return t.jQuery?t.jQuery():e}function i(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),t.parameters?t.parameters(e):e}function s(e){var t,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=i()[e];return n?(t=o,i().shouldUseMixins&&t?a(r.HandleMixin,t):t):o}var l=n();!function(){l.log.apply(l,arguments)}("Event Javascript Sub VIM");var u=s("targetSelector"),c=s("frame")||"document",p=s("timeout"),d=t.utils?t.utils():__utils__;o();var m=!0,h=o().waitForElement(c,u,p);h&&h.length&&d.visible(h)||(m=!1);var g=null;if(m){try{g=void 0}catch(e){d.echo("Error running eventJavascript function: ".concat(e.message))}}else d.echo("Element not visible for JS on ".concat(u));a(r.Result,g)}();',
|
|
eventReCaptcha: '!function(){"use strict";var e,r={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},t={};function a(e,r){return nativeAction(e,r)}function o(){return t.console?t.console():console}function n(){var e;try{$(),e=$}catch(e){}return t.jQuery?t.jQuery():e}function i(){return t.windowOverride?t.windowOverride():window}function c(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),t.parameters?t.parameters(e):e}function s(e){var t,o=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=c()[e];return o?(t=n,c().shouldUseMixins&&t?a(r.HandleMixin,t):t):n}var u=o();!function(){u.log.apply(u,arguments)}("Starting Event ReCaptcha Sub VIM");var l=s("recaptchaApiKey"),p=s("recaptchaSiteKey"),d=t.utils?t.utils():__utils__;n();var h=n().waitForElement("document",\'iframe[src*="google.com/recaptcha/api2/bframe"]\',5e3);h&&h.length?(i().localStorage.setItem("recaptchaDone","false"),d.breakReCaptcha(l,p,(function(e){e||i().localStorage.setItem("recaptchaDone","true")}))):d.echo("No recaptcha iframes found"),a(r.Result,null)}();',
|
|
executeDacs: '!function(){"use strict";var e,r={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},t={};function a(e,r){return nativeAction(e,r)}function o(){return t.console?t.console():console}function n(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),t.parameters?t.parameters(e):e}function i(e){var t,o=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=n()[e];return o?(t=i,n().shouldUseMixins&&t?a(r.HandleMixin,t):t):i}function s(){return(t.inputData?t.inputData(inputData):inputData)||{}}var u,c=o();function p(){c.log.apply(c,arguments)}function l(e,t,o,n){return p("in apply code"),a(r.runDacs,{honeyStoreId:e,couponCode:t,priceTextSelector:o,priceAmt:n})}p(s());var d=s().coupons||{},h=i("storeId"),m=i("priceSelector").trim();u=s().basePrice||{},p("Store ID: ",h,"Coupons: ",d,"Page selector to acquire price:",m);for(var g=0;g<d.length;g+=1)p(u=l(h,d[g],m,u));a(r.Result,{discounted_price:u})}();',
|
|
fetchCartDetails: '!function(){"use strict";var e,t={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},r={};function n(e,t){return nativeAction(e,t)}function o(){return r.console?r.console():console}function a(){var e;try{$(),e=$}catch(e){}return r.jQuery?r.jQuery():e}function i(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),r.parameters?r.parameters(e):e}function l(){return r.utils?r.utils():__utils__}function u(e){return i().shouldUseMixins&&e?n(t.HandleMixin,e):e}function c(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=i()[e];return t?u(r):r}function s(e){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}var p=o();function d(e,t){var r,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:" ",o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];try{if(!e)return null;var a=l().prependSelectorFromVariable(e,t);return(r=l().fetchText(a,n,o))?r.trim().replace(/\\s{2,}/g," ").replace(/\\([\\s|]*\\)/g,"").replace(/\\[[\\s|]*\\]/g,"").trim():r}catch(e){return null}}function m(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:100,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"document",o=l().prependSelectorFromVariable(e,t);r&&a().waitForElement(n,o,r)}function f(e){if(e&&(e&&"object"===s(e)&&0===Object.keys(e).length))return null;return e||null}!function(){p.log.apply(p,arguments)}("Starting Fetch Product Info VIM");var h=c("fields"),g=c("timeout"),b=u(((r.inputData?r.inputData(inputData):inputData)||{}).prependSelector);!function(e){r.setKillTimeout?r.setKillTimeout(e):setKillTimeout(e)}(g),a();for(var S=0,v=Object.values(h);S<v.length;S++){m(v[S],b)}var y={url:(r.windowOverride?r.windowOverride():window).location.href.toString(),shipping:f(d(h.shipping,b)),tax:f(d(h.tax,b)),subTotal:f(d(h.subTotal,b)),total:f(d(h.total,b))};n(t.Result,y)}();',
|
|
fetchCartProductInfo: '!function(){"use strict";var e,t={EXTENSION:"extension",MOBILE:"mobile",MOBILE_EXTENSION:"mobile-extension",SERVER:"server",SIX:"six"},r={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},n={};function a(e,t){return nativeAction(e,t)}function o(){return n.console?n.console():console}function i(){var e;try{$(),e=$}catch(e){}return n.jQuery?n.jQuery():e}function u(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),n.parameters?n.parameters(e):e}function l(){return n.utils?n.utils():__utils__}function c(e){return u().shouldUseMixins&&e?a(r.HandleMixin,e):e}function s(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=u()[e];return t?c(r):r}function p(e){return e?e.trim().replace(/\\s{2,}/g," ").replace(/\\([\\s|]*\\)/g,"").replace(/\\[[\\s|]*\\]/g,"").trim():e}function m(e){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},m(e)}var f=o(),d={DivRetrieve:"%%!!%%",DivRetrieveScope:"@@--@@",Error:"^^!!^^",CheckError:"^^$$^^",DebugError:"^^__^^",DebugNotice:"%%@@%%",Snapshot:"**!!**",HTML:"$$^^$$",Message:"--**--",Purchase:"**--**",Percentage:"!!^^!!",SessionData:"##!!##"};function g(e,n,o){if(function(){var e=[t.EXTENSION,t.MOBILE],r=s("platform");if(r)for(var n=0;n<e.length;n+=1)if(e[n]===r)return!0;return!1}())a(r.WriteError,{varName:e,message:n,debug:o});else{var i=o?d.DebugError:d.Error;f.log(i+e+i+JSON.stringify(n))}}function h(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:" ",n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];try{if(!e)return null;var a=l().prependSelectorFromVariable(e,t);return p(l().fetchText(a,r,n))}catch(e){return null}}function v(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:100,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"document",a=l().prependSelectorFromVariable(e,t);r&&i().waitForElement(n,a,r)}function S(e){if(e&&(e&&"object"===m(e)&&0===Object.keys(e).length))return null;return e||null}!function(){f.log.apply(f,arguments)}("Starting Fetch Product Info VIM");var y=s("fields")||{},b=s("timeout"),E=c(((n.inputData?n.inputData(inputData):inputData)||{}).prependSelector);!function(e){n.setKillTimeout?n.setKillTimeout(e):setKillTimeout(e)}(b),i();for(var I=0,P=Object.values(y);I<P.length;I++){v(P[I],E)}var F={name:S(h(y.name,E)),url:S(function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return p(function(e){var t;try{$(),t=$}catch(e){}return n.jQueryForSelector?n.jQueryForSelector(e):t(e)}(r?l().prependSelectorFromVariable(t,r):t).attr(e))}("href",y.url,E)),sku:S(h(y.sku,E)),images:S(function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];try{if(!e)return null;var n=l().prependSelectorFromVariable(e,t);return l().fetchImages(n,r)}catch(e){return null}}(y.images,E)),qty:S(function(e,t){var r=l().prependSelectorFromVariable(e,t);if(r){var n=l().findOne(r);if(!n||0===n.length)return 1;var a=n.attr("value");if(a&&parseInt(a,10)>0)return parseInt(a,10);var o=null,i=n.text();i&&i.length>0&&(o=i.toLowerCase().trim())&&/(qty|quantity|antal|x):?\\.?\\s*\\d+/.test(o)&&(o=o.replace(/.*(qty|quantity|antal|x):?\\.?\\s*(\\d+).*/,"$2").trim());var u=n.prop("tagName")?n.prop("tagName").toLowerCase():null;return u&&["select","input","button"].indexOf(u)>-1&&n.val().length>0&&(o=n.val()),isNaN(o)?1:"number"!=typeof parseInt(o,10)?(g("fetchQuantity","Fetched value is not a number",!0),null):parseInt(o,10)}return null}(y.qty,E)),attrs:S(h(y.attrs,E)),unitPrice:S(h(y.unitPrice,E)),totalPrice:S(h(y.totalPrice,E)),customId:S(h(y.customId,E))};a(r.Result,F)}();',
|
|
fetchHtml: '!function(){"use strict";var e,r={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},t={};function a(e,r){return nativeAction(e,r)}function n(){return t.console?t.console():console}function o(){var e;try{$(),e=$}catch(e){}return t.jQuery?t.jQuery():e}function i(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),t.parameters?t.parameters(e):e}function u(){return t.utils?t.utils():__utils__}function l(e){return i().shouldUseMixins&&e?a(r.HandleMixin,e):e}function c(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],t=i()[e];return r?l(t):t}var s=n();!function(){s.log.apply(s,arguments)}("Starting Fetch HTML Sub VIM");var p=c("targetSelector"),d=(t.inputData?t.inputData(inputData):inputData)||{}||{};o();var h=l(d.prependSelector),m=l(d.frameSelector)||"document";!function(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:100,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"document",n=u().prependSelectorFromVariable(e,r);t&&o().waitForElement(a,n,t)}(p,h,c("timeout"),m),a(r.Result,function(e,r){var t,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:" ",n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];try{if(!e)return null;var o=u().prependSelectorFromVariable(e,r);return(t=u().fetchHTML(o,a,n))?t.trim().replace(/\\s{2,}/g," ").replace(/\\([\\s|]*\\)/g,"").replace(/\\[[\\s|]*\\]/g,"").trim():t}catch(e){return null}}(p,h,c("separator"),c("checkIfVisible")))}();',
|
|
fetchPartialProductInfo: '!function(){"use strict";var e,r={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},t={};function i(e,r){return nativeAction(e,r)}function n(){return t.console?t.console():console}function a(){return t.windowOverride?t.windowOverride():window}function o(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),t.parameters?t.parameters(e):e}function l(){return t.utils?t.utils():__utils__}function c(e){return o().shouldUseMixins&&e?i(r.HandleMixin,e):e}function u(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],t=o()[e];return r?c(t):t}function s(e){return e?e.trim().replace(/\\s{2,}/g," ").replace(/\\([\\s|]*\\)/g,"").replace(/\\[[\\s|]*\\]/g,"").trim():e}var p=n();function d(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:" ",i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];try{if(!e)return null;var n=l().prependSelectorFromVariable(e,r);return s(l().fetchText(n,t,i))}catch(e){return null}}function f(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:" ",i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];try{if(!e)return null;var n=l().prependSelectorFromVariable(e,r);return s(l().fetchHTML(n,t,i))}catch(e){return null}}function g(e,r){var t=arguments.length>2&&void 0!==arguments[2]&&arguments[2];try{if(!e)return null;var i=l().prependSelectorFromVariable(e,r);return l().fetchImages(i,t)}catch(e){return null}}function h(e){try{return null==e?null:l().visible(e,!0)}catch(e){return null}}!function(){p.log.apply(p,arguments)}("Starting Fetch Partial Product Info VIM");var m,S=u("requiredFields"),_=u("pAttrRegExp"),v=u("fields"),b=u("fieldValidators"),T=u("timeout"),V=c(((t.inputData?t.inputData(inputData):inputData)||{}).prependSelector),F=l();!function(e){t.setKillTimeout?t.setKillTimeout(e):setKillTimeout(e)}(T),a()._TTCustomFuncs="{{{injectedFns}}}",function(){var e;try{$(),e=$}catch(e){}t.jQuery&&t.jQuery()}(),i(r.Result,{productInfo:function(){var e=[],r=F.findAll(v.categories);if(r.length>0)for(var t=0;t<r.length;t+=1){var i=d(r[t]);i&&e.push(i)}return{url:a().location.href.toString(),title:d(v.title,V),price:d(v.price,V),original_price:d(v.original_price,V),discounted_price:d(v.discounted_price,V),custom_id:d(v.custom_id,V),image:g(v.image,V),alt_images:g(v.alt_images,V),description:f(v.description,V),returns:f(v.returns,V),extra_info:d(v.extra_info,V),weight:d(v.weight,V),final_sale:d(v.final_sale,V),pickup_support:d(v.pickup_support,V),free_shipping:d(v.free_shipping,V),product_ids:{sku:d(v.sku_identifier),mpn:d(v.mpn_identifier),gtin:d(v.gtin_identifier)},non_purchasable:f(v.non_purchasable,V),brand:b.brand?d(v.brand,V):null,add_to_cart_present:h(v.add_to_cart_present)||u("isVariantless"),categories:e}}(),currentSelectedVariant:(m=[],S.forEach((function(e){var r=e.selector;if(r=l().prependSelectorFromVariable(r,V),l().visible(r)){var t=JSON.parse(JSON.stringify(e));t.selector=r,m.push(t)}})),fieldSelectors=m,a().TTCurrentSelectedFieldOptsRetrieval()),selectedVariant:function(){var e=[],r=[];S.forEach((function(t){var i=t.selector;if(i=F.prependSelectorFromVariable(i,V),F.visible(i)){var n=JSON.parse(JSON.stringify(t));n.selector=i,e.push(n),r.push(n.name)}}));var t={};["price","original_price","discounted_price","image","alt_images","extra_info","weight"].forEach((function(e){t[e]=F.prependSelectorFromVariable(c(u("productPageSelectors.".concat(e))),V)})),["sku_identifier","mpn_identifier","gtin_identifier"].forEach((function(e){t[e]=F.prependSelectorFromVariable(c(u("productPageSelectors.".concat(e))),null)}));var i=u("addToCartButton");i&&(i=F.prependSelectorFromVariable(i,V)),fieldSelectors=e,priceSelector=t.price,skuSelector=t.sku_identifier,mpnSelector=t.mpn_identifier,gtinSelector=t.gtin_identifier,imageSelector=t.image,altImagesSelector=t.alt_images,discountedPriceSelector=t.discounted_price,originalPriceSelector=t.original_price,extraInfoSelector=t.extra_info,weightSelector=t.weight,weightUnit=u("productPageWeightUnit"),addToCartButtonSelector=i,isInternalTest=u("isInternalTest");var n=a().TTSelectedFieldOptsRetrieval(_);return n.requiredFieldNames=r,n}()})}();',
|
|
fetchProductInfo: '!function(){"use strict";var e,r={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},t={};function n(e,r){return nativeAction(e,r)}function i(){return t.console?t.console():console}function a(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),t.parameters?t.parameters(e):e}function o(){return t.utils?t.utils():__utils__}function l(e){var t,i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=a()[e];return i?(t=o,a().shouldUseMixins&&t?n(r.HandleMixin,t):t):o}function u(e){return e?e.trim().replace(/\\s{2,}/g," ").replace(/\\([\\s|]*\\)/g,"").replace(/\\[[\\s|]*\\]/g,"").trim():e}var s=i();function c(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:" ",n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];try{if(!e)return null;var i=o().prependSelectorFromVariable(e,r);return u(o().fetchText(i,t,n))}catch(e){return null}}function p(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:" ",n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];try{if(!e)return null;var i=o().prependSelectorFromVariable(e,r);return u(o().fetchHTML(i,t,n))}catch(e){return null}}function d(e,r){var t=arguments.length>2&&void 0!==arguments[2]&&arguments[2];try{if(!e)return null;var n=o().prependSelectorFromVariable(e,r);return o().fetchImages(n,t)}catch(e){return null}}!function(){s.log.apply(s,arguments)}("Starting Fetch Product Info VIM");var g=l("fields"),h=l("fieldValidators"),f=l("timeout"),m=((t.inputData?t.inputData(inputData):inputData)||{}).prependSelector,_=o();!function(e){t.setKillTimeout?t.setKillTimeout(e):setKillTimeout(e)}(f);var v=[],S=_.findAll(g.categories);if(S.length>0)for(var b=0;b<S.length;b+=1){var V=c(S[b]);V&&v.push(V)}!function(){var e;try{$(),e=$}catch(e){}t.jQuery&&t.jQuery()}();var P={url:(t.windowOverride?t.windowOverride():window).location.href.toString(),title:c(g.title,m),price:c(g.price,m),original_price:c(g.original_price,m),discounted_price:c(g.discounted_price,m),custom_id:c(g.custom_id,m),image:d(g.image,m),alt_images:d(g.alt_images,m),description:p(g.description,m),returns:p(g.returns,m),extra_info:c(g.extra_info,m),weight:c(g.weight,m),final_sale:c(g.final_sale,m),pickup_support:c(g.pickup_support,m),free_shipping:c(g.free_shipping,m),product_ids:{sku:c(g.sku_identifier),mpn:c(g.mpn_identifier),gtin:c(g.gtin_identifier)},non_purchasable:p(g.non_purchasable,m),brand:h.brand?c(g.brand,m):null,add_to_cart_present:function(e){try{return null==e?null:o().visible(e,!0)}catch(e){return null}}(g.add_to_cart_present)||l("isVariantless"),categories:v};n(r.Result,P)}();',
|
|
fetchText: '!function(){"use strict";var e,r={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},t={};function a(e,r){return nativeAction(e,r)}function n(){return t.console?t.console():console}function o(){var e;try{$(),e=$}catch(e){}return t.jQuery?t.jQuery():e}function i(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),t.parameters?t.parameters(e):e}function u(){return t.utils?t.utils():__utils__}function l(e){return i().shouldUseMixins&&e?a(r.HandleMixin,e):e}function c(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],t=i()[e];return r?l(t):t}var s=n();!function(){s.log.apply(s,arguments)}("Starting Fetch Text Sub VIM");var p=(t.inputData?t.inputData(inputData):inputData)||{}||{},d=l(p.targetSelector)||c("targetSelector");o();var h=l(p.prependSelector),m=l(p.frameSelector)||"document";!function(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:100,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"document",n=u().prependSelectorFromVariable(e,r);t&&o().waitForElement(a,n,t)}(d,h,c("timeout"),m),a(r.Result,function(e,r){var t,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:" ",n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];try{if(!e)return null;var o=u().prependSelectorFromVariable(e,r);return(t=u().fetchText(o,a,n))?t.trim().replace(/\\s{2,}/g," ").replace(/\\([\\s|]*\\)/g,"").replace(/\\[[\\s|]*\\]/g,"").trim():t}catch(e){return null}}(d,h,c("separator"),c("checkIfVisible")))}();',
|
|
getWhereAmIFields: '!function(){"use strict";var e,r={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},t={};function n(e,r){return nativeAction(e,r)}function o(){return t.console?t.console():console}function a(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),t.parameters?t.parameters(e):e}function i(){return t.utils?t.utils():__utils__}function u(e){var t,o=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=a()[e];return o?(t=i,a().shouldUseMixins&&t?n(r.HandleMixin,t):t):i}function l(e){return l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l(e)}u("currencyFormat");var c={us:/-?\\s*\\d+(?:,\\d{3})*(?:\\.[\\d-]{0,2})?/,de:/-?\\s*\\d+(?:[ .]\\d{3})*(?:,[\\d-]{0,2})?/,se:/-?\\s*\\d+(?:[, ]\\d{3})*(?::[\\d-]*)?/},p={us:function(e){return e.replace(/,/g,"").replace(".-",".00")},se:function(e){return e.replace(":-",":00").replace(/ /g,"").replace(":",".")},de:function(e){return e.replace(/\\./g,"").replace(",-",",00").replace(",",".")}},s={"AMOUNT USD":"$AMOUNT",US$AMOUNT:"$AMOUNT","USD AMOUNT":"$AMOUNT","$ AMOUNT":"$AMOUNT","$AMOUNT USD":"$AMOUNT",AU$AMOUNT:"AMOUNT AUD","AU$ AMOUNT":"AMOUNT AUD",AUD$AMOUNT:"AMOUNT AUD",$AMOUNTAUD:"AMOUNT AUD","$AMOUNT AUD":"AMOUNT AUD"},g={$:"USD","\u20ac":"EUR","\xa3":"GBP","\u20a4":"GBP",R$:"BRL",R:"ZAR","\xa5":"JPY",C$:"CAD"},m="AMOUNT";function f(e,r){var t=100,n=function(e){var r=/\\$|\u20ac|\xa3|\u20a4|R\\\\$|R|\xa5|C\\$/,t=e.match(/[A-Z]{2,3}/i),n=e.match(r);if(t&&t.length>0)return t[0];if(n&&n.length>0)return g[n[0]];return null}((e=e||"$".concat(m)).replace(m,"10.0"));if(n){var o=i().getCurrencyInfo([n.toLowerCase()]);o&&(t=o.subunit_to_unit)}return"number"==typeof r&&1!==t&&(r=r.toFixed(2)),s[e]&&(e=s[e]),e.replace(m,r.toString())}function h(e,r){if(e=e||"$".concat(m),r){r=(r=r.replace(/\\|/g," ").trim()).replace(/\\s+/g," ").trim();var t,n,o=i().findCurrencyInLargeString(e,r,!0,s,c);"object"===l(o)&&null!==o.price?(t=o.price,n=p[o.converter]):t=o,n&&(t=n(t)),r=(t=Math.abs(i().parseCurrency(t)))?f(e,t):null}return r}function d(e,r){if(!e)return e;if(0===e.indexOf("//"))return"http:".concat(e);if(-1===e.indexOf("://")){var n=(t.parseUrl?t.parseUrl():parseUrl)(r).hostname;return"http://".concat(n,"/").concat(e)}return e}var A=o();function y(){A.log.apply(A,arguments)}function U(e,r){var t,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:" ",o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];try{if(!e)return null;var a=i().prependSelectorFromVariable(e,r);return(t=i().fetchText(a,n,o))?t.trim().replace(/\\s{2,}/g," ").replace(/\\([\\s|]*\\)/g,"").replace(/\\[[\\s|]*\\]/g,"").trim():t}catch(e){return null}}y("Starting Get Where Am I Fields Sub VIM");var S=i();!function(){var e;try{$(),e=$}catch(e){}t.jQuery&&t.jQuery()}();var T,v=u("whereAmIDelay");function M(e,t){var o,a=u(e);if(a)o=U(a);else try{y("fetching title from shape");var i=n(r.ApplyShape,{shape:t});if(i)o=function(e){return e.trim().replace(/[\\u200B-\\u200D\\uFEFF]/g,"").replace(/&/g,"&").trim()}(i.text())}catch(e){y("warning - shape failure ".concat(e&&e.message))}return o}function x(e){var r=u(e);return(r?S.findAll(r):[]).map((function(e){return e.text().trim()})).filter((function(e){return e.length>0}))}T=v,t.sleep?t.sleep(T):sleep(T);var O=u("whereAmIImage"),w=[];if(O)y("fetching images from recipe selector"),w=function(e,r){var t=arguments.length>2&&void 0!==arguments[2]&&arguments[2];try{if(!e)return null;var n=i().prependSelectorFromVariable(e,r);return i().fetchImages(n,t)}catch(e){return null}}(O);else try{y("fetching images from shape");var I=n(r.ApplyShape,{shape:"PPImage"});I&&(w=[S.cleanImagePath(I.get(0))])}catch(e){y("warning - shape failure ".concat(e&&e.message))}var R=w.map((function(e){return S.applyRegExpToString(d(e),u("imagesRegexp"))})).filter((function(e){return e}));n(r.Result,{title:S.applyRegExpToString(M("whereAmITitle","PPTitle"),u("titleRegexp"))||null,price:h(u("currencyFormat"),M("whereAmIPrice","PPPrice"))||null,categories:x("whereAmICategory"),keywords:x("whereAmIKeyword"),images:R,group_lookup:S.applyRegExpToString(U(u("whereAmIGroupLookup")),u("whereAmIGroupLookupRegexp"))||null,group_lookup_key:u("whereAmIGroupLookupKey")||null,item_lookup:S.applyRegExpToString(U(u("whereAmIItemLookup")),u("whereAmIItemLookupRegexp"))||null,item_lookup_key:u("whereAmIItemLookupKey")||null,url:(t.windowOverride?t.windowOverride():window).location.href.toString(),gidMixin:function(e){if(!e)return null;y("running gidMixin");var t=function(e){var t,a=o();if(e){var i=n(r.HandleMixinResult,e),u=i&&JSON.parse(i);u.error&&u.error.length>0&&a.log("ExecuteMixin error(s): ".concat(u.error)),u.result&&(t=u.result)}return a.log("executeMixin completed"),t}(e);return t}(u("gidMixin",!1))})}();',
|
|
getWhereAmIFields477931476250495765: '!function(){"use strict";function t(o){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(o)}var o={};function r(t,o){return nativeAction(t,o)}function e(){return o.console?o.console():console}var i="result",n=e();!function(){n.log.apply(n,arguments)}("Starting getWhereAmIFields477931826759157670 SubVIM - Wix");var u=(o.windowOverride?o.windowOverride():window).location.href.toString();function c(o){for(var r=0,e=Object.keys(o);r<e.length;r++){var i=o[e[r]];if("object"===t(i)&&null!==i){if("product"in i)return i.product;var n=c(i);if(n)return n}}return null}function a(t){var o,r,e,i,n=t.find("script#wix-warmup-data")&&t.find("script#wix-warmup-data").html();try{o=c(JSON.parse(n).appsWarmupData)}catch(t){}return o&&(o.title=t.findValue("h1[data-hook=product-title]","text")),e=(r=o).media&&r.media.map((function(t){return t.fullUrl})),i=r.discountedPrice&&parseFloat(r.discountedPrice,10)||r.price&&parseFloat(r.price,10),{title:r.title||void 0,price:i||void 0,categories:void 0,keywords:[],images:e||void 0,group_lookup:r.id||void 0,group_lookup_key:"store_code",item_lookup:r.id,item_lookup_key:"store_code",url:u}}function l(){var t,o=request({url:u,method:"GET"}).rawBody;try{t=parseHtml(o)}catch(t){}var e=a(t);r(i,e||null)}l()}();',
|
|
getWhereAmIFields477931826759157670: '!function(){"use strict";var e,t={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},r={};function a(e,t){return nativeAction(e,t)}function o(){return r.console?r.console():console}function n(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),r.parameters?r.parameters(e):e}function i(e){var r,o=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=n()[e];return o?(r=i,n().shouldUseMixins&&r?a(t.HandleMixin,r):r):i}var s=o();!function(){s.log.apply(s,arguments)}("Starting getWhereAmIFields477931826759157670 SubVIM - WooCommerce");var u=(r.windowOverride?r.windowOverride():window).location.href.toString(),c=i("v4Params"),p=c.productApiBaseList&&c.productApiBaseList.split(", "),l=c.productApiPageSelector,d=c.productApiPageSelectorValue,m=c.productIdSelector,g=c.productIdSelectorValue,h=c.parentIdRegex&&new RegExp(c.parentIdRegex),S=c.baseURLRegex&&new RegExp(c.baseURLRegex),f=S.exec(u)&&S.exec(u)[0].replace("http:","https:");function x(e){var t;try{t=$("<textarea/>").html(e).text()}catch(r){t=e}return t}function v(e){var t,r,a,o,n=0===e.parent?e.id:e.parent,i=e.prices&&(t=e.prices,r=t.price,a=t.currency_minor_unit,(o=(parseFloat(r)/Math.pow(10,a)).toFixed(a))&&parseFloat(o)),s=e.categories&&e.categories.map((function(e){return e.name}))||[],c=e.images&&e.images.map((function(e){return e.src}))||[];return{title:e.name&&x(e.name),price:i,categories:s,keywords:[],images:c,group_lookup:n&&n.toString()||void 0,group_lookup_key:"store_code",item_lookup:e.id&&e.id.toString()||void 0,item_lookup_key:"store_code",url:u}}function R(){var e,r=request({url:u,method:"GET"}).rawBody;try{e=parseHtml(r)}catch(e){}var o=h.exec(e.find(m).attr(g))&&h.exec(e.find(m).attr(g))[1],n=e.findValue(l,d);if(o){var i=function(e,t){var r,a,o;p.forEach((function(t){a&&200===a||(r=request({url:f+t+e,method:"GET"}),a=r&&r.status)})),!t||a&&200===a||(r=request({url:t,method:"GET",headers:{"Content-Type":"application/json"}}),(a=r&&r.status)&&200===a||(r=request({url:t.concat(e),method:"GET",headers:{"Content-Type":"application/json"}}),a=r&&r.status));try{o=JSON.parse(r.rawBody)}catch(e){}return o&&a&&200===a?v(o):{error:"Failed to make request"}}(o,n);i&&i.title?a(t.Result,i):a(t.Result,null)}}R()}();',
|
|
getWhereAmIFields477932326447320457: '!function(){"use strict";var e,r={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},t={};function a(e,r){return nativeAction(e,r)}function o(){return t.console?t.console():console}function n(){return t.windowOverride?t.windowOverride():window}function i(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),t.parameters?t.parameters(e):e}function s(e){var t,o=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=i()[e];return o?(t=n,i().shouldUseMixins&&t?a(r.HandleMixin,t):t):n}var u=o();!function(){u.log.apply(u,arguments)}("Starting getWhereAmIFields477932326447320457 SubVIM - Big Commerce");var c,d=s("v4Params"),p=(c=n().location.href.toString().match(/((?:https|http)?:\\/\\/?(?:[^@\\n]+@)?(?:www\\.)?(?:[^:/\\n?]+)).*/))&&c[1],l="".concat(p,"/graphql").replace("http:","https:").replace("//graphql","/graphql"),g=d.authTokenRegex&&new RegExp(d.authTokenRegex),m=d.GQL_Query&&d.GQL_Query.join("\\n"),h=d.parentIdSelector1,f=d.parentIdValue1,S=d.parentIdSelector2,v=d.parentIdValue2;function w(){var e,t=n().location.href.toString(),o=request({url:t,method:"GET"}).rawBody;try{e=parseHtml(o)}catch(e){}var i=function(e,r,t){var a,o=r.findValue(h,f)||r.findValue(S,v),n=g.exec(t)&&g.exec(t)[1],i={query:m,variables:{productId:parseInt(o,10)}},s=request({url:l,method:"POST",headers:{authorization:"Bearer ".concat(n),"Content-Type":"application/json"},body:JSON.stringify(i),credentials:"include"});try{a=JSON.parse(s.rawBody)}catch(e){}var u=a&&a.errors&&a.errors[0]&&a.errors[0]&&a.errors[0].message;return!n||!a||u&&-1!==(u.indexOf("404")||u.indexOf("400"))?{error:"Failed to make request"}:function(e,r){var t,a=e&&e.data&&e.data.site&&e.data.site.product;if(a){var o=a.entityId,n=(a.images&&a.images.edges).map((function(e){return e.node&&e.node.url})),i=a.prices&&a.prices.price&&a.prices.price.value,s=a.sku||void 0,u=(a.categories&&a.categories.edges&&a.categories.edges[0]&&a.categories.edges[0].node&&a.categories.edges[0].node.breadcrumbs&&a.categories.edges[0].node.breadcrumbs.edges).map((function(e){return e.node&&e.node.name}));t={title:a.name,price:i,categories:u,keywords:[],images:n,group_lookup:o,group_lookup_key:"store_code",item_lookup:s,item_lookup_key:"store_code",url:r}}return t}(a,e)}(t,e,o);i&&i.title&&a(r.Result,i)}w()}();',
|
|
getWhereAmIFields7360676928657335852: '!function(){"use strict";function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},r(t)}function t(t){var e=function(t,e){if("object"!=r(t)||!t)return t;var o=t[Symbol.toPrimitive];if(void 0!==o){var n=o.call(t,e||"default");if("object"!=r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==r(e)?e:e+""}function e(r,e,o){return(e=t(e))in r?Object.defineProperty(r,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):r[e]=o,r}var o={};function n(r,t){return nativeAction(r,t)}function i(){return o.console?o.console():console}var c=i();function u(){return(o.windowOverride?o.windowOverride():window).location.href.toString()}function a(r,t){var e=Object.keys(r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(r);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),e.push.apply(e,o)}return e}!function(){c.log.apply(c,arguments)}("Starting getWhereAmIFields7360676928657335852 SubVIM - Shopify");var l=function(r){var t,o,n=request({url:r,method:"GET"}).rawBody;try{t=parseHtml(n)}catch(r){}if(t){var i=(t.findValue(\'[property="og:url"]\',"content")||t.findValue(\'[rel="canonical"]\',"href")||"").split("?")[0],c=i?"".concat(i,".json"):"",l=c?c.replace("https://","https://checkout."):"";try{o=JSON.parse(request({url:c,method:"GET"}).rawBody).product}catch(r){}if(!o)try{o=JSON.parse(request({url:l,method:"GET"}).rawBody).product}catch(r){}if(o){var s=o.images,f=o.variants,p=f&&f.reduce((function(r,t){var o=function(r){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?a(Object(o),!0).forEach((function(t){e(r,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(o)):a(Object(o)).forEach((function(t){Object.defineProperty(r,t,Object.getOwnPropertyDescriptor(o,t))}))}return r}({},r);return o[t.id]=[],o}),{});p[o.id]=[],s&&s.forEach((function(r){r.variant_ids.forEach((function(t){p[t].push(r.src)})),p[r.product_id].push(r.src)})),o.imageHash=p}}return function(r,t){var e=(t&&t.variants||[]).shift(),o=e.id&&e.id.toString()||void 0,n=price.clean(e.price)||void 0,i=t.imageHash[o],c=t.imageHash[t.id]||[t.image&&t.image.src]||0;return{title:t.title,price:n,categories:[],keywords:[],images:i.length&&i||c,group_lookup:t.id?t.id.toString():void 0,group_lookup_key:"store_code",item_lookup:o,item_lookup_key:"store_code",url:u()}}(0,o)}(u());n("result",l)}();',
|
|
isVisible: '!function(){"use strict";var e,t={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},r={};function a(e,t){return nativeAction(e,t)}function n(){return r.console?r.console():console}function i(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),r.parameters?r.parameters(e):e}function o(e){return i().shouldUseMixins&&e?a(t.HandleMixin,e):e}function s(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=i()[e];return t?o(r):r}var u=n();!function(){u.log.apply(u,arguments)}("Starting Is Visible Sub VIM");var l=o(((r.inputData?r.inputData(inputData):inputData)||{}||{}).targetSelector)||s("targetSelector"),p=s("inlineAreVisible"),c=r.utils?r.utils():__utils__;!function(){var e;try{$(),e=$}catch(e){}r.jQuery&&r.jQuery()}();var d=c.visible(l,p);a(t.Result,{visible:d})}();',
|
|
markProductContainers: '!function(){"use strict";var e,t={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},r={};function a(e,t){return nativeAction(e,t)}function n(){return r.console?r.console():console}function o(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),r.parameters?r.parameters(e):e}function i(e){return o().shouldUseMixins&&e?a(t.HandleMixin,e):e}function s(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=o()[e];return t?i(r):r}var l=n();!function(){l.log.apply(l,arguments)}("Starting Mark Product Containers Sub VIM");var u=r.utils?r.utils():__utils__,c=s("selector"),p=(r.inputData?r.inputData(inputData):inputData)||{}||{},d=i(p.hasAnyElements),h=i(p.classPrefix);if(null==c)a(t.Result,[""]);else{var g=[],m=u.findAll(c),f=m.length>0;if(m.length>1||d&&f)for(var P=0;P<m.length;P+=1){var S="".concat(h||"tt","-").concat(P);m[P].attr("class","".concat(m[P].attr("class")," ").concat(S)),g.push(S)}u.echo("--- product containers on page: ".concat(g.length,".")),a(t.Result,g)}}();',
|
|
recursiveProductOptsRetrieval: '!function(){"use strict";var e,t={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},r={};function i(e,t){return nativeAction(e,t)}function a(){return r.console?r.console():console}function n(){return r.windowOverride?r.windowOverride():window}function o(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),r.parameters?r.parameters(e):e}function l(){return r.utils?r.utils():__utils__}function c(e){return o().shouldUseMixins&&e?i(t.HandleMixin,e):e}function s(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=o()[e];return t?c(r):r}var u=a();!function(){u.log.apply(u,arguments)}("Starting Recursive Product Opts Retrieval Sub VIM");var p,d=(r.inputData?r.inputData(inputData):inputData)||{}||{},g=s("requiredFields"),m=s("killTimeout"),S=s("productOptsFieldDelay"),f=c(d.prependSelector);p=m,r.setKillTimeout?r.setKillTimeout(p):setKillTimeout(p),n()._TTCustomFuncs="{{{injectedFns}}}",function(){var e;try{$(),e=$}catch(e){}r.jQuery&&r.jQuery()}();var h=[],T=[];g.forEach((function(e){var t=e.selector;if(t=l().prependSelectorFromVariable(t,f),l().visible(t)){var r=JSON.parse(JSON.stringify(e));r.selector=t,h.push(r),T.push(r.name)}}));var v={};["price","original_price","discounted_price","image","alt_images","extra_info","weight"].forEach((function(e){v[e]=l().prependSelectorFromVariable(s("productPageSelectors.".concat(e)),f)})),["sku_identifier","mpn_identifier","gtin_identifier"].forEach((function(e){v[e]=l().prependSelectorFromVariable(s("productPageSelectors.".concat(e)),null)}));var P=s("addToCartButton")?s("addToCartButton.s"):null;P&&(P=l().prependSelectorFromVariable(s("addToCartButton.s"),f)),fieldSelectors=h,priceSelector=v.price,skuSelector=v.sku_identifier,mpnSelector=v.mpn_identifier,gtinSelector=v.gtin_identifier,imageSelector=v.image,altImagesSelector=v.alt_images,discountedPriceSelector=v.discounted_price,originalPriceSelector=v.original_price,extraInfoSelector=v.extra_info,weightSelector=v.weight,weightUnit=s("productPageWeightUnit"),addToCartButtonSelector=P,isInternalTest=s("isInternalTest"),n().TTRecursiveFieldOptsRetrieval(S,s("pAttrRegExp"),isInternalTest),n().fetchResult.requiredFieldNames=T,i(t.Result,n().fetchResult)}();',
|
|
waitForSelector: '!function(){"use strict";var e,r={EXTENSION:"extension",MOBILE:"mobile",MOBILE_EXTENSION:"mobile-extension",SERVER:"server",SIX:"six"},t={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},n={};function o(e,r){return nativeAction(e,r)}function a(){return n.console?n.console():console}function i(e){var r;try{$(),r=$}catch(e){}return n.jQueryForSelector?n.jQueryForSelector(e):r(e)}function c(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),n.parameters?n.parameters(e):e}function u(e){return c().shouldUseMixins&&e?o(t.HandleMixin,e):e}function s(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],t=c()[e];return r?u(t):t}function l(){var e=[r.EXTENSION,r.MOBILE],t=s("platform");if(t)for(var n=0;n<e.length;n+=1)if(e[n]===t)return!0;return!1}var p=a(),f={DivRetrieve:"%%!!%%",DivRetrieveScope:"@@--@@",Error:"^^!!^^",CheckError:"^^$$^^",DebugError:"^^__^^",DebugNotice:"%%@@%%",Snapshot:"**!!**",HTML:"$$^^$$",Message:"--**--",Purchase:"**--**",Percentage:"!!^^!!",SessionData:"##!!##"};function h(e){if(!l()){var r=o(t.RunVimInContext,{subVim:s("checkForErrors")});r.forEach((function(e){p.log("".concat(f.CheckError,"order_error").concat(f.CheckError).concat(JSON.stringify(e)))})),r.length>0&&e&&(o(t.TakeSnapshot,{force:!0}),o(t.Finish,{}))}}function m(){p.log.apply(p,arguments)}function S(e,r){return o(e,r)}function g(e){l()||S(t.SaveHtml,{force:e})}function d(e){l()||S(t.TakeSnapshot,{force:e})}function E(e,r,n){if(l())o(t.WriteError,{varName:e,message:r,debug:n});else{var a=n?f.DebugError:f.Error;p.log(a+e+a+JSON.stringify(r))}}m("Wait For Selector Sub VIM");var v=(n.inputData?n.inputData(inputData):inputData)||{},F=u(v.selector)||s("selector"),y=s("timeout"),b=u(v.frame)||s("frame"),I=u(v.isInternalTest);m("WFAFS_VIM: Finding selectors: ".concat(F,", frame ").concat(b));var V,R,T=function(){try{return function(){var e;try{$(),e=$}catch(e){}return n.jQuery?n.jQuery():e}().waitForElement(b,F,y)}catch(e){return m("WFAFS_VIM: ".concat(e||e.message)),null}}();T?o(t.Result,{selector:T}):(m("WFAFS_VIM: Selector not found"),E("wait_and_fetch","No elements matching selector.",!0),h(),function(e){l()||e||["input[type=\'\']","input[type=\'text\']","input[type=\'number\']","input[type=\'tel\']","input[type=\'email\']","input:not([type])"].forEach((function(e){return i(e).toArray().forEach((function(e){return i(e).attr("type","password")}))}))}(I),d(!0),g(),h(),V&&d(),R&&g(),o(t.Finish,{}))}();',
|
|
watchForClick: '!function(){"use strict";var e,r={AnnounceAsEvent:"announceAsEvent",ApplyShape:"applyShape",DecideExtrasToProcess:"decideExtrasToProcess",EchoToVariable:"echoToVariable",EchoToVariableComplete:"echoToVariableComplete",Finish:"finish",HandleMixin:"handleMixin",HandleMixinResult:"handleMixinResult",PageGoto:"page.goto",RegisterSetupSubVims:"registerSetupSubVims",ReportCleanedProduct:"reportCleanedProduct",ReportFramework:"reportFramework",ReportOrderId:"reportOrderId",ReportPageTypes:"reportPageTypes",ReportSubmitOrderClick:"reportSubmitOrderClick",ReportWhereAmI:"reportWhereAmI",Result:"result",RunVimInContext:"runVimInContext",SaveHtml:"saveHtml",SendFullProduct:"sendFullProduct",TakeSnapshot:"takeSnapshot",WaitForPageUpdate:"waitForPageUpdate",WaitForVariantChange:"waitForVariantChange",WatchVariants:"watchVariants",WriteError:"writeError",runDacs:"runDacs",GetPageHtml:"getPageHtml"},t={};function a(e,r){return nativeAction(e,r)}function o(){return t.console?t.console():console}function n(e){var r;try{$(),r=$}catch(e){}return t.jQueryForSelector?t.jQueryForSelector(e):r(e)}function i(){var e;try{$(),e=$}catch(e){}return t.jQuery?t.jQuery():e}function u(){return e||(e=JSON.parse(Buffer.fromToString("{{{base64Params}}}","base64"))),t.parameters?t.parameters(e):e}function c(e){return u().shouldUseMixins&&e?a(r.HandleMixin,e):e}function l(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],t=u()[e];return r?c(t):t}var s=o();!function(){s.log.apply(s,arguments)}("Starting Watch For Click Sub VIM");var p=t.utils?t.utils():__utils__,d=(t.inputData?t.inputData(inputData):inputData)||{}||{},m=c(d.targetSelector)||l("targetSelector"),h=c(d.timeout)||l("timeout"),S=c(d.prependSelector)||l("prependSelector");i();var g=p.prependSelectorFromVariable(m,S);i().waitForElement("document",g,h);var v=n(g).waitForEvent("click"),F=!1;n("document").waitForEvent("unload",(function(){v&&!F&&(p.echo("submit order clicked: on page unload"),a(r.Result,!0),F=!0)})),v&&!F&&(p.echo("submit order clicked: before page unload"),a(r.Result,!0),F=!0)}();'
|
|
}
|
|
} catch (e) {
|
|
if (!r.g.VIM_TEMPLATES) throw new Error("Failed to find vim templates in source or in global");
|
|
return r.g.VIM_TEMPLATES
|
|
}
|
|
};
|
|
|
|
function ot(e, t) {
|
|
var r = e || {};
|
|
return r.platform = r.platform || t.platform, r.mixins = r.mixins || t.mixins, r.v4Params = r.v4Params || t.v4Params, r
|
|
}
|
|
var st = function(e, t) {
|
|
var r = "IS_EXTENSION_FLAG = ".concat(t === m.EXTENSION);
|
|
return [t !== m.SERVER ? "\n if (window.$ && window.$.getWindowVars) {\n window.$.getWindowVars = function(arg) {\n return nativeAction('getPageContextWindowVars', arg) || [];\n }\n }\n" : "", r, e].join("\n")
|
|
},
|
|
ct = function(e, t) {
|
|
var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},
|
|
n = r.encrypt,
|
|
i = void 0 !== n && n,
|
|
a = r.shouldUseMixins,
|
|
o = void 0 !== a && a,
|
|
s = it(it({}, t), {}, {
|
|
shouldUseMixins: o
|
|
});
|
|
return f()(e.replace(/{{{base64Params}}}/g, function() {
|
|
return Buffer.from(JSON.stringify((e = s, it(it({}, function e(t) {
|
|
var r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [],
|
|
n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : ".";
|
|
return t && "object" === l(t) ? Object.keys(t).reduce(function(i, a) {
|
|
var o;
|
|
return o = "[object Object]" === Object.prototype.toString.call(t[a]) ? e(t[a], r.concat([a]), n) : d({}, r.concat([a]).join(n), t[a]), Object.assign({}, i, o)
|
|
}, {}) : t
|
|
}(e)), e) || {}))).toString("base64");
|
|
var e
|
|
}), {
|
|
encrypt: i
|
|
})
|
|
},
|
|
ut = /subVim:\s*['|"](\w*)|subVim:[a-zA-Z]*\(['|"](\w*)/g;
|
|
|
|
function dt(e, t, r) {
|
|
var n = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {},
|
|
i = n.encrypt,
|
|
a = void 0 !== i && i,
|
|
o = n.shouldUseMixins,
|
|
s = void 0 !== o && o,
|
|
c = at(),
|
|
l = {
|
|
encrypt: a,
|
|
shouldUseMixins: s
|
|
};
|
|
if (t && t.override) return rt.debug("Building override for VIM ".concat(e)), {
|
|
mainVim: ct(ot(t.override, t), null, l),
|
|
subVims: {}
|
|
};
|
|
var p, d = Xe[e],
|
|
h = d.main,
|
|
f = h.template;
|
|
p = "function" == typeof f ? c[f({
|
|
platform: r,
|
|
params: t
|
|
})] : c[f];
|
|
var m = st(p, r),
|
|
g = function(e) {
|
|
for (var t = [], r = ut.exec(e); null !== r;) t.push(r[2]), r = ut.exec(e);
|
|
return t
|
|
}(m).concat(function(e) {
|
|
var t = [];
|
|
for (var r in e) r && "main" !== r && -1 === t.indexOf(r) && t.push(r);
|
|
return t
|
|
}(d)).concat(h.setupSubVims || []),
|
|
v = (g = u(new Set(g))).reduce(function(e, n) {
|
|
rt.debug("Building ".concat(n, " sub-VIM"));
|
|
var i, a = d[n],
|
|
o = a.template;
|
|
i = "function" == typeof o ? c[o({
|
|
platform: r,
|
|
params: t
|
|
})] : c[o];
|
|
var s = a.paramsValidator || b[o],
|
|
u = a.preprocessTemplateWithParams,
|
|
p = i,
|
|
h = a.params(t);
|
|
if (s && !s(h)) return rt.debug("Skipping ".concat(n, " because the validator failed."), {
|
|
paramsForVim: h,
|
|
subVimName: n
|
|
}), e;
|
|
var f = u ? u(t, p) : p;
|
|
return e[n] = ct(st(f, r), ot(h, t), l), e
|
|
}, {}),
|
|
y = h.validateValidSubVimsFn;
|
|
if (y && !y(Object.keys(v))) return rt.debug("Valid sub-VIM validation failed for main-VIM of type: ".concat(e)), null;
|
|
for (var _ = t.doAddToCart || [], S = function() {
|
|
var e = _[x];
|
|
if (!(e = JSON.parse(JSON.stringify(e)))) return "continue";
|
|
var n, i, a = "yes" === e.is_optional,
|
|
o = {},
|
|
s = !0,
|
|
u = "recording_".concat(x);
|
|
if (e && e.only_on_checkout_type && ("localCheckout" === e.only_on_checkout_type && "localCheckout" !== t.checkoutType || "authAndNoauthCheckout" === e.only_on_checkout_type && -1 === ["noauthCheckout", "authCheckout"].indexOf(t.checkoutType))) return "continue";
|
|
if (20 === e.type) n = "eventClick", o = {
|
|
targetSelector: e.s,
|
|
isOptional: a,
|
|
prependSelector: e.scope,
|
|
timeout: e.timeout || t.defaultRecipeTimeout
|
|
};
|
|
else if (2 === e.type || 1010 === e.type || 1012 === e.type) 1010 === e.type ? (n = "eventChangeProductAttributeJavascript", i = function(t, r) {
|
|
return r.replace(/'{{{ customJs }}}'/, function() {
|
|
return e.set
|
|
})
|
|
}) : 1012 === e.type ? (n = "eventChangeProductAttributeSwatch", o = {
|
|
targetSelector: e.s,
|
|
skipSelector: e.skip_selector,
|
|
valueAttrSelector: e.value_attr_selector,
|
|
skipDuringSetSelector: e.skip_during_set_selector,
|
|
timeout: e.timeout || t.defaultRecipeTimeout
|
|
}) : "INPUT" === e.tag_name && "keypress" === e.tag_type ? (n = "eventChangeKeypress", o = {
|
|
targetSelector: e.s,
|
|
timeout: e.timeout || t.defaultRecipeTimeout,
|
|
fieldValue: e.field_value,
|
|
prependSelector: e.scope
|
|
}) : "SELECT" === e.tag_name ? (n = "eventChangeSelect", o = {
|
|
targetSelector: e.s,
|
|
timeout: e.timeout || t.defaultRecipeTimeout,
|
|
fieldValue: e.field_value,
|
|
prependSelector: e.scope,
|
|
useTextContent: "true" === e.text_only
|
|
}) : "INPUT" === e.tag_name && "radio" === e.tag_type ? (n = "eventChangeRadio", o = {
|
|
targetSelector: e.s,
|
|
timeout: e.timeout || t.defaultRecipeTimeout,
|
|
fieldValue: e.field_value,
|
|
prependSelector: e.scope
|
|
}) : "INPUT" === e.tag_name && "checkbox" === e.tag_type ? (n = "eventChangeCheckbox", o = {
|
|
targetSelector: e.s,
|
|
timeout: e.timeout || t.defaultRecipeTimeout,
|
|
fieldValue: e.field_value,
|
|
prependSelector: e.scope,
|
|
checkboxChecked: e.checked && "true" === e.checked.toString()
|
|
}) : "INPUT" === e.tag_name && "list" === e.tag_type ? (n = "eventChangeList", o = {
|
|
targetSelector: e.s,
|
|
timeout: e.timeout || t.defaultRecipeTimeout,
|
|
fieldValue: e.field_value,
|
|
prependSelector: e.scope
|
|
}) : (n = "eventChangeDefault", o = {
|
|
targetSelector: e.s,
|
|
timeout: e.timeout || t.defaultRecipeTimeout,
|
|
fieldValue: e.field_value,
|
|
prependSelector: e.scope
|
|
});
|
|
else if (1001 === e.type) n = "eventJavascript", i = function(t, r) {
|
|
return r.replace(/'{{{ customJs }}}'/, function() {
|
|
return e.js_code
|
|
})
|
|
}, o = {
|
|
targetSelector: e.s,
|
|
frame: e.frame,
|
|
timeout: e.timeout || t.defaultRecipeTimeout
|
|
}, s = !!e.s;
|
|
else {
|
|
if (1011 === e.type) return "continue";
|
|
if (1101 === e.type) n = "eventReCaptcha", o = {
|
|
recaptchaApiKey: t.recaptchaAPIKey,
|
|
recaptchaSiteKey: e.recaptcha_sitekey
|
|
};
|
|
else if (1e3 === e.type) return "continue"
|
|
}
|
|
if (s) {
|
|
var p = c[n],
|
|
d = i ? i(o, p) : p;
|
|
v[u] = ct(st(d, r), ot(o, t), l)
|
|
}
|
|
}, x = 0; x < _.length; x += 1) S();
|
|
var P = Object.keys(v),
|
|
O = {};
|
|
P.forEach(function(e) {
|
|
O[e] = e
|
|
});
|
|
var w = it({}, O);
|
|
rt.debug("Building main-VIM ".concat(e));
|
|
var k = h.params(t, w, r) || {};
|
|
return {
|
|
mainVim: ct(m, ot(k, t), l),
|
|
subVims: v
|
|
}
|
|
}
|
|
|
|
function ft(e, t) {
|
|
(null == t || t > e.length) && (t = e.length);
|
|
for (var r = 0, n = Array(t); r < t; r++) n[r] = e[r];
|
|
return n
|
|
}
|
|
var mt = {
|
|
product_attributes_timeout: "Timeout during attributes.",
|
|
product_opts_js_timeout: "Timeout during prod-opts-JS.",
|
|
cloud_timeout: "Timeout during cloud processing."
|
|
},
|
|
gt = {
|
|
DivRetrieve: "%%!!%%",
|
|
DivRetrieveScope: "@@--@@",
|
|
Error: "^^!!^^",
|
|
CheckError: "^^$$^^",
|
|
DebugError: "^^__^^",
|
|
DebugNotice: "%%@@%%",
|
|
Snapshot: "**!!**",
|
|
HTML: "$$^^$$",
|
|
Message: "--**--",
|
|
Purchase: "**--**",
|
|
Percentage: "!!^^!!",
|
|
SessionData: "##!!##"
|
|
};
|
|
|
|
function vt(e, t) {
|
|
var r = {};
|
|
if (e && "object" === l(e) && !Array.isArray(e))
|
|
for (var n in e) {
|
|
r[n] = e[n];
|
|
var i = "".concat(n, "_").concat(t);
|
|
e[i] ? r[n] = e[i] : e[n] && "object" === l(e[n]) && !Array.isArray(e[n]) && (r[n] = vt(e[n], t))
|
|
}
|
|
return r
|
|
}
|
|
|
|
function yt(e, t) {
|
|
return vt(e, t)
|
|
}
|
|
|
|
function _t(e, t) {
|
|
var r = {},
|
|
n = [];
|
|
if (e.order_error_divs && e.order_error_divs.length > 0) {
|
|
var i, a = function(e, t) {
|
|
var r = "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
|
|
if (!r) {
|
|
if (Array.isArray(e) || (r = function(e, t) {
|
|
if (e) {
|
|
if ("string" == typeof e) return ft(e, t);
|
|
var r = {}.toString.call(e).slice(8, -1);
|
|
return "Object" === r && e.constructor && (r = e.constructor.name), "Map" === r || "Set" === r ? Array.from(e) : "Arguments" === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? ft(e, t) : void 0
|
|
}
|
|
}(e)) || t && e && "number" == typeof e.length) {
|
|
r && (e = r);
|
|
var n = 0,
|
|
i = function() {};
|
|
return {
|
|
s: i,
|
|
n: function() {
|
|
return n >= e.length ? {
|
|
done: !0
|
|
} : {
|
|
done: !1,
|
|
value: e[n++]
|
|
}
|
|
},
|
|
e: function(e) {
|
|
throw e
|
|
},
|
|
f: i
|
|
}
|
|
}
|
|
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
|
|
}
|
|
var a, o = !0,
|
|
s = !1;
|
|
return {
|
|
s: function() {
|
|
r = r.call(e)
|
|
},
|
|
n: function() {
|
|
var e = r.next();
|
|
return o = e.done, e
|
|
},
|
|
e: function(e) {
|
|
s = !0, a = e
|
|
},
|
|
f: function() {
|
|
try {
|
|
o || null == r.return || r.return()
|
|
} finally {
|
|
if (s) throw a
|
|
}
|
|
}
|
|
}
|
|
}(e.order_error_divs);
|
|
try {
|
|
for (a.s(); !(i = a.n()).done;) {
|
|
var o = i.value;
|
|
o && o.selector && n.push({
|
|
s: o.selector,
|
|
overwrite: o.overwrite,
|
|
frame: o.frame
|
|
})
|
|
}
|
|
} catch (e) {
|
|
a.e(e)
|
|
} finally {
|
|
a.f()
|
|
}
|
|
}
|
|
r.platform = t || "UNKNOWN", r.mixins = e.mixins || {}, r.siteURL = e.website_url, r.siteI18nURL = e.website_i18n_url, r.cookieDomain = (e.website_i18n_url || e.website_url || "").split("/")[0], r.separators = gt, r.currencyFormat = e.currency_format, r.errorElements = n, r.errorStrings = mt, r.titleRegexp = e.title_regexp, r.skuRegexp = e.sku_regexp, r.mpnRegexp = e.mpn_regexp, r.gtinRegexp = e.gtin_regexp, r.imagesRegexp = e.images_regexp, r.pAttrRegExp = e.p_attr_regexp, r.isInternalTest = "proposed_recipes" === e.constructor.modelName, r.defaultRecipeTimeout = r.isInternalTest ? 12e3 : 2e4;
|
|
var s = function(e) {
|
|
var t;
|
|
if (e.h_legacy_metadata) {
|
|
var r = e.h_legacy_metadata;
|
|
t = Object.keys(r).filter(function(e) {
|
|
return e.startsWith("v4_")
|
|
}).reduce(function(e, t) {
|
|
return e[t] = r[t], e
|
|
}, {})
|
|
}
|
|
return t
|
|
}(e);
|
|
return s && (r.v4Params = s), r
|
|
}
|
|
|
|
function St(e, t) {
|
|
(null == t || t > e.length) && (t = e.length);
|
|
for (var r = 0, n = Array(t); r < t; r++) n[r] = e[r];
|
|
return n
|
|
}
|
|
|
|
function xt(e, t, r) {
|
|
return e && e.delays && !Number.isNaN(e.delays[t]) ? Math.round(e.delays[t]) : r
|
|
}
|
|
|
|
function Pt(e) {
|
|
var t, r = null,
|
|
n = function(e, t) {
|
|
var r = "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
|
|
if (!r) {
|
|
if (Array.isArray(e) || (r = function(e, t) {
|
|
if (e) {
|
|
if ("string" == typeof e) return St(e, t);
|
|
var r = {}.toString.call(e).slice(8, -1);
|
|
return "Object" === r && e.constructor && (r = e.constructor.name), "Map" === r || "Set" === r ? Array.from(e) : "Arguments" === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? St(e, t) : void 0
|
|
}
|
|
}(e)) || t && e && "number" == typeof e.length) {
|
|
r && (e = r);
|
|
var n = 0,
|
|
i = function() {};
|
|
return {
|
|
s: i,
|
|
n: function() {
|
|
return n >= e.length ? {
|
|
done: !0
|
|
} : {
|
|
done: !1,
|
|
value: e[n++]
|
|
}
|
|
},
|
|
e: function(e) {
|
|
throw e
|
|
},
|
|
f: i
|
|
}
|
|
}
|
|
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
|
|
}
|
|
var a, o = !0,
|
|
s = !1;
|
|
return {
|
|
s: function() {
|
|
r = r.call(e)
|
|
},
|
|
n: function() {
|
|
var e = r.next();
|
|
return o = e.done, e
|
|
},
|
|
e: function(e) {
|
|
s = !0, a = e
|
|
},
|
|
f: function() {
|
|
try {
|
|
o || null == r.return || r.return()
|
|
} finally {
|
|
if (s) throw a
|
|
}
|
|
}
|
|
}
|
|
}(e.add_to_cart_recording || []);
|
|
try {
|
|
for (n.s(); !(t = n.n()).done;) {
|
|
var i = t.value,
|
|
a = i && i.info && "yes" === i.info.is_optional;
|
|
20 !== i.type || a || (r = i.info.selector)
|
|
}
|
|
} catch (e) {
|
|
n.e(e)
|
|
} finally {
|
|
n.f()
|
|
}
|
|
return r
|
|
}
|
|
|
|
function Tt(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
|
|
function Ct(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? Tt(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : Tt(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}
|
|
|
|
function It(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(t) {
|
|
return Object.getOwnPropertyDescriptor(e, t).enumerable
|
|
})), r.push.apply(r, n)
|
|
}
|
|
return r
|
|
}
|
|
|
|
function Rt(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = null != arguments[t] ? arguments[t] : {};
|
|
t % 2 ? It(Object(r), !0).forEach(function(t) {
|
|
d(e, t, r[t])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : It(Object(r)).forEach(function(t) {
|
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t))
|
|
})
|
|
}
|
|
return e
|
|
}
|
|
|
|
function Dt(e, t) {
|
|
(null == t || t > e.length) && (t = e.length);
|
|
for (var r = 0, n = Array(t); r < t; r++) n[r] = e[r];
|
|
return n
|
|
}
|
|
|
|
function jt(e) {
|
|
if (!e) return null;
|
|
for (var t = [], r = 0; r < e.length; r += 1) {
|
|
var n = e[r];
|
|
if (n.selector && n.selector.length)
|
|
if (Array.isArray(n.selector)) {
|
|
var i = n.selector.filter(function(e) {
|
|
return null !== e
|
|
});
|
|
t = t.concat(i)
|
|
} else rt.warn("Unknown selector format: ".concat(l(n.selector), ", expected Array"))
|
|
}
|
|
return t
|
|
}
|
|
|
|
function Jt(e, t) {
|
|
return function(e) {
|
|
if (Array.isArray(e)) return e
|
|
}(e) || function(e, t) {
|
|
var r = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
|
|
if (null != r) {
|
|
var n, i, a, o, s = [],
|
|
c = !0,
|
|
u = !1;
|
|
try {
|
|
if (a = (r = r.call(e)).next, 0 === t) {
|
|
if (Object(r) !== r) return;
|
|
c = !1
|
|
} else
|
|
for (; !(c = (n = a.call(r)).done) && (s.push(n.value), s.length !== t); c = !0);
|
|
} catch (e) {
|
|
u = !0, i = e
|
|
} finally {
|
|
try {
|
|
if (!c && null != r.return && (o = r.return(), Object(o) !== o)) return
|
|
} finally {
|
|
if (u) throw i
|
|
}
|
|
}
|
|
return s
|
|
}
|
|
}(e, t) || c(e, t) || function() {
|
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
|
|
}()
|
|
}
|
|
var qt = "1.13.6",
|
|
zt = "object" == typeof self && self.self === self && self || "object" == typeof __webpack_require__.g && __webpack_require__.g.global === __webpack_require__.g && __webpack_require__.g || Function("return this")() || {},
|
|
Kt = Array.prototype,
|
|
Qt = Object.prototype,
|
|
Xt = "undefined" != typeof Symbol ? Symbol.prototype : null,
|
|
Zt = Kt.push,
|
|
Yt = Kt.slice,
|
|
er = Qt.toString,
|
|
tr = Qt.hasOwnProperty,
|
|
rr = "undefined" != typeof ArrayBuffer,
|
|
nr = "undefined" != typeof DataView,
|
|
ir = Array.isArray,
|
|
ar = Object.keys,
|
|
or = Object.create,
|
|
sr = rr && ArrayBuffer.isView,
|
|
cr = isNaN,
|
|
ur = isFinite,
|
|
lr = !{
|
|
toString: null
|
|
}.propertyIsEnumerable("toString"),
|
|
pr = ["valueOf", "isPrototypeOf", "toString", "propertyIsEnumerable", "hasOwnProperty", "toLocaleString"],
|
|
dr = Math.pow(2, 53) - 1;
|
|
|
|
function hr(e, t) {
|
|
return t = null == t ? e.length - 1 : +t,
|
|
function() {
|
|
for (var r = Math.max(arguments.length - t, 0), n = Array(r), i = 0; i < r; i++) n[i] = arguments[i + t];
|
|
switch (t) {
|
|
case 0:
|
|
return e.call(this, n);
|
|
case 1:
|
|
return e.call(this, arguments[0], n);
|
|
case 2:
|
|
return e.call(this, arguments[0], arguments[1], n)
|
|
}
|
|
var a = Array(t + 1);
|
|
for (i = 0; i < t; i++) a[i] = arguments[i];
|
|
return a[t] = n, e.apply(this, a)
|
|
}
|
|
}
|
|
|
|
function fr(e) {
|
|
var t = typeof e;
|
|
return "function" === t || "object" === t && !!e
|
|
}
|
|
|
|
function mr(e) {
|
|
return null === e
|
|
}
|
|
|
|
function gr(e) {
|
|
return void 0 === e
|
|
}
|
|
|
|
function vr(e) {
|
|
return !0 === e || !1 === e || "[object Boolean]" === er.call(e)
|
|
}
|
|
|
|
function yr(e) {
|
|
return !(!e || 1 !== e.nodeType)
|
|
}
|
|
|
|
function _r(e) {
|
|
var t = "[object " + e + "]";
|
|
return function(e) {
|
|
return er.call(e) === t
|
|
}
|
|
}
|
|
const br = _r("String"),
|
|
Sr = _r("Number"),
|
|
xr = _r("Date"),
|
|
Pr = _r("RegExp"),
|
|
Or = _r("Error"),
|
|
wr = _r("Symbol"),
|
|
kr = _r("ArrayBuffer");
|
|
var Tr = _r("Function"),
|
|
Cr = zt.document && zt.document.childNodes;
|
|
"object" != typeof Int8Array && "function" != typeof Cr && (Tr = function(e) {
|
|
return "function" == typeof e || !1
|
|
});
|
|
const Er = Tr,
|
|
Ir = _r("Object");
|
|
var Rr = nr && Ir(new DataView(new ArrayBuffer(8))),
|
|
Ar = "undefined" != typeof Map && Ir(new Map),
|
|
Vr = _r("DataView");
|
|
const Fr = Rr ? function(e) {
|
|
return null != e && Er(e.getInt8) && kr(e.buffer)
|
|
} : Vr,
|
|
Dr = ir || _r("Array");
|
|
|
|
function jr(e, t) {
|
|
return null != e && tr.call(e, t)
|
|
}
|
|
var Mr = _r("Arguments");
|
|
! function() {
|
|
Mr(arguments) || (Mr = function(e) {
|
|
return jr(e, "callee")
|
|
})
|
|
}();
|
|
const Nr = Mr;
|
|
|
|
function Hr(e) {
|
|
return !wr(e) && ur(e) && !isNaN(parseFloat(e))
|
|
}
|
|
|
|
function Ur(e) {
|
|
return Sr(e) && cr(e)
|
|
}
|
|
|
|
function Br(e) {
|
|
return function() {
|
|
return e
|
|
}
|
|
}
|
|
|
|
function Wr(e) {
|
|
return function(t) {
|
|
var r = e(t);
|
|
return "number" == typeof r && r >= 0 && r <= dr
|
|
}
|
|
}
|
|
|
|
function Lr(e) {
|
|
return function(t) {
|
|
return null == t ? void 0 : t[e]
|
|
}
|
|
}
|
|
const $r = Lr("byteLength"),
|
|
Gr = Wr($r);
|
|
var Jr = /\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;
|
|
const qr = rr ? function(e) {
|
|
return sr ? sr(e) && !Fr(e) : Gr(e) && Jr.test(er.call(e))
|
|
} : Br(!1),
|
|
zr = Lr("length");
|
|
|
|
function Kr(e, t) {
|
|
t = function(e) {
|
|
for (var t = {}, r = e.length, n = 0; n < r; ++n) t[e[n]] = !0;
|
|
return {
|
|
contains: function(e) {
|
|
return !0 === t[e]
|
|
},
|
|
push: function(r) {
|
|
return t[r] = !0, e.push(r)
|
|
}
|
|
}
|
|
}(t);
|
|
var r = pr.length,
|
|
n = e.constructor,
|
|
i = Er(n) && n.prototype || Qt,
|
|
a = "constructor";
|
|
for (jr(e, a) && !t.contains(a) && t.push(a); r--;)(a = pr[r]) in e && e[a] !== i[a] && !t.contains(a) && t.push(a)
|
|
}
|
|
|
|
function Qr(e) {
|
|
if (!fr(e)) return [];
|
|
if (ar) return ar(e);
|
|
var t = [];
|
|
for (var r in e) jr(e, r) && t.push(r);
|
|
return lr && Kr(e, t), t
|
|
}
|
|
|
|
function Xr(e) {
|
|
if (null == e) return !0;
|
|
var t = zr(e);
|
|
return "number" == typeof t && (Dr(e) || br(e) || Nr(e)) ? 0 === t : 0 === zr(Qr(e))
|
|
}
|
|
|
|
function Zr(e, t) {
|
|
var r = Qr(t),
|
|
n = r.length;
|
|
if (null == e) return !n;
|
|
for (var i = Object(e), a = 0; a < n; a++) {
|
|
var o = r[a];
|
|
if (t[o] !== i[o] || !(o in i)) return !1
|
|
}
|
|
return !0
|
|
}
|
|
|
|
function Yr(e) {
|
|
return e instanceof Yr ? e : this instanceof Yr ? void(this._wrapped = e) : new Yr(e)
|
|
}
|
|
|
|
function en(e) {
|
|
return new Uint8Array(e.buffer || e, e.byteOffset || 0, $r(e))
|
|
}
|
|
Yr.VERSION = qt, Yr.prototype.value = function() {
|
|
return this._wrapped
|
|
}, Yr.prototype.valueOf = Yr.prototype.toJSON = Yr.prototype.value, Yr.prototype.toString = function() {
|
|
return String(this._wrapped)
|
|
};
|
|
var tn = "[object DataView]";
|
|
|
|
function rn(e, t, r, n) {
|
|
if (e === t) return 0 !== e || 1 / e == 1 / t;
|
|
if (null == e || null == t) return !1;
|
|
if (e != e) return t != t;
|
|
var i = typeof e;
|
|
return ("function" === i || "object" === i || "object" == typeof t) && nn(e, t, r, n)
|
|
}
|
|
|
|
function nn(e, t, r, n) {
|
|
e instanceof Yr && (e = e._wrapped), t instanceof Yr && (t = t._wrapped);
|
|
var i = er.call(e);
|
|
if (i !== er.call(t)) return !1;
|
|
if (Rr && "[object Object]" == i && Fr(e)) {
|
|
if (!Fr(t)) return !1;
|
|
i = tn
|
|
}
|
|
switch (i) {
|
|
case "[object RegExp]":
|
|
case "[object String]":
|
|
return "" + e == "" + t;
|
|
case "[object Number]":
|
|
return +e != +e ? +t != +t : 0 == +e ? 1 / +e == 1 / t : +e == +t;
|
|
case "[object Date]":
|
|
case "[object Boolean]":
|
|
return +e == +t;
|
|
case "[object Symbol]":
|
|
return Xt.valueOf.call(e) === Xt.valueOf.call(t);
|
|
case "[object ArrayBuffer]":
|
|
case tn:
|
|
return nn(en(e), en(t), r, n)
|
|
}
|
|
var a = "[object Array]" === i;
|
|
if (!a && qr(e)) {
|
|
if ($r(e) !== $r(t)) return !1;
|
|
if (e.buffer === t.buffer && e.byteOffset === t.byteOffset) return !0;
|
|
a = !0
|
|
}
|
|
if (!a) {
|
|
if ("object" != typeof e || "object" != typeof t) return !1;
|
|
var o = e.constructor,
|
|
s = t.constructor;
|
|
if (o !== s && !(Er(o) && o instanceof o && Er(s) && s instanceof s) && "constructor" in e && "constructor" in t) return !1
|
|
}
|
|
n = n || [];
|
|
for (var c = (r = r || []).length; c--;)
|
|
if (r[c] === e) return n[c] === t;
|
|
if (r.push(e), n.push(t), a) {
|
|
if ((c = e.length) !== t.length) return !1;
|
|
for (; c--;)
|
|
if (!rn(e[c], t[c], r, n)) return !1
|
|
} else {
|
|
var u, l = Qr(e);
|
|
if (c = l.length, Qr(t).length !== c) return !1;
|
|
for (; c--;)
|
|
if (!jr(t, u = l[c]) || !rn(e[u], t[u], r, n)) return !1
|
|
}
|
|
return r.pop(), n.pop(), !0
|
|
}
|
|
|
|
function an(e, t) {
|
|
return rn(e, t)
|
|
}
|
|
|
|
function on(e) {
|
|
if (!fr(e)) return [];
|
|
var t = [];
|
|
for (var r in e) t.push(r);
|
|
return lr && Kr(e, t), t
|
|
}
|
|
|
|
function sn(e) {
|
|
var t = zr(e);
|
|
return function(r) {
|
|
if (null == r) return !1;
|
|
var n = on(r);
|
|
if (zr(n)) return !1;
|
|
for (var i = 0; i < t; i++)
|
|
if (!Er(r[e[i]])) return !1;
|
|
return e !== dn || !Er(r[cn])
|
|
}
|
|
}
|
|
var cn = "forEach",
|
|
un = ["clear", "delete"],
|
|
ln = ["get", "has", "set"],
|
|
pn = un.concat(cn, ln),
|
|
dn = un.concat(ln),
|
|
hn = ["add"].concat(un, cn, "has");
|
|
const fn = Ar ? sn(pn) : _r("Map"),
|
|
mn = Ar ? sn(dn) : _r("WeakMap"),
|
|
gn = Ar ? sn(hn) : _r("Set"),
|
|
vn = _r("WeakSet");
|
|
|
|
function yn(e) {
|
|
for (var t = Qr(e), r = t.length, n = Array(r), i = 0; i < r; i++) n[i] = e[t[i]];
|
|
return n
|
|
}
|
|
|
|
function _n(e) {
|
|
for (var t = Qr(e), r = t.length, n = Array(r), i = 0; i < r; i++) n[i] = [t[i], e[t[i]]];
|
|
return n
|
|
}
|
|
|
|
function bn(e) {
|
|
for (var t = {}, r = Qr(e), n = 0, i = r.length; n < i; n++) t[e[r[n]]] = r[n];
|
|
return t
|
|
}
|
|
|
|
function Sn(e) {
|
|
var t = [];
|
|
for (var r in e) Er(e[r]) && t.push(r);
|
|
return t.sort()
|
|
}
|
|
|
|
function xn(e, t) {
|
|
return function(r) {
|
|
var n = arguments.length;
|
|
if (t && (r = Object(r)), n < 2 || null == r) return r;
|
|
for (var i = 1; i < n; i++)
|
|
for (var a = arguments[i], o = e(a), s = o.length, c = 0; c < s; c++) {
|
|
var u = o[c];
|
|
t && void 0 !== r[u] || (r[u] = a[u])
|
|
}
|
|
return r
|
|
}
|
|
}
|
|
const Pn = xn(on),
|
|
On = xn(Qr),
|
|
wn = xn(on, !0);
|
|
|
|
function kn(e) {
|
|
if (!fr(e)) return {};
|
|
if (or) return or(e);
|
|
var t = function() {};
|
|
t.prototype = e;
|
|
var r = new t;
|
|
return t.prototype = null, r
|
|
}
|
|
|
|
function Tn(e, t) {
|
|
var r = kn(e);
|
|
return t && On(r, t), r
|
|
}
|
|
|
|
function Cn(e) {
|
|
return fr(e) ? Dr(e) ? e.slice() : Pn({}, e) : e
|
|
}
|
|
|
|
function En(e, t) {
|
|
return t(e), e
|
|
}
|
|
|
|
function In(e) {
|
|
return Dr(e) ? e : [e]
|
|
}
|
|
|
|
function Rn(e) {
|
|
return Yr.toPath(e)
|
|
}
|
|
|
|
function An(e, t) {
|
|
for (var r = t.length, n = 0; n < r; n++) {
|
|
if (null == e) return;
|
|
e = e[t[n]]
|
|
}
|
|
return r ? e : void 0
|
|
}
|
|
|
|
function Vn(e, t, r) {
|
|
var n = An(e, Rn(t));
|
|
return gr(n) ? r : n
|
|
}
|
|
|
|
function Fn(e, t) {
|
|
for (var r = (t = Rn(t)).length, n = 0; n < r; n++) {
|
|
var i = t[n];
|
|
if (!jr(e, i)) return !1;
|
|
e = e[i]
|
|
}
|
|
return !!r
|
|
}
|
|
|
|
function Dn(e) {
|
|
return e
|
|
}
|
|
|
|
function jn(e) {
|
|
return e = On({}, e),
|
|
function(t) {
|
|
return Zr(t, e)
|
|
}
|
|
}
|
|
|
|
function Mn(e) {
|
|
return e = Rn(e),
|
|
function(t) {
|
|
return An(t, e)
|
|
}
|
|
}
|
|
|
|
function Nn(e, t, r) {
|
|
if (void 0 === t) return e;
|
|
switch (null == r ? 3 : r) {
|
|
case 1:
|
|
return function(r) {
|
|
return e.call(t, r)
|
|
};
|
|
case 3:
|
|
return function(r, n, i) {
|
|
return e.call(t, r, n, i)
|
|
};
|
|
case 4:
|
|
return function(r, n, i, a) {
|
|
return e.call(t, r, n, i, a)
|
|
}
|
|
}
|
|
return function() {
|
|
return e.apply(t, arguments)
|
|
}
|
|
}
|
|
|
|
function Hn(e, t, r) {
|
|
return null == e ? Dn : Er(e) ? Nn(e, t, r) : fr(e) && !Dr(e) ? jn(e) : Mn(e)
|
|
}
|
|
|
|
function Un(e, t) {
|
|
return Hn(e, t, 1 / 0)
|
|
}
|
|
|
|
function Bn(e, t, r) {
|
|
return Yr.iteratee !== Un ? Yr.iteratee(e, t) : Hn(e, t, r)
|
|
}
|
|
|
|
function Wn(e, t, r) {
|
|
t = Bn(t, r);
|
|
for (var n = Qr(e), i = n.length, a = {}, o = 0; o < i; o++) {
|
|
var s = n[o];
|
|
a[s] = t(e[s], s, e)
|
|
}
|
|
return a
|
|
}
|
|
|
|
function Ln() {}
|
|
|
|
function $n(e) {
|
|
return null == e ? Ln : function(t) {
|
|
return Vn(e, t)
|
|
}
|
|
}
|
|
|
|
function Gn(e, t, r) {
|
|
var n = Array(Math.max(0, e));
|
|
t = Nn(t, r, 1);
|
|
for (var i = 0; i < e; i++) n[i] = t(i);
|
|
return n
|
|
}
|
|
|
|
function Jn(e, t) {
|
|
return null == t && (t = e, e = 0), e + Math.floor(Math.random() * (t - e + 1))
|
|
}
|
|
Yr.toPath = In, Yr.iteratee = Un;
|
|
const qn = Date.now || function() {
|
|
return (new Date).getTime()
|
|
};
|
|
|
|
function zn(e) {
|
|
var t = function(t) {
|
|
return e[t]
|
|
},
|
|
r = "(?:" + Qr(e).join("|") + ")",
|
|
n = RegExp(r),
|
|
i = RegExp(r, "g");
|
|
return function(e) {
|
|
return e = null == e ? "" : "" + e, n.test(e) ? e.replace(i, t) : e
|
|
}
|
|
}
|
|
const Kn = {
|
|
"&": "&",
|
|
"<": "<",
|
|
">": ">",
|
|
'"': """,
|
|
"'": "'",
|
|
"`": "`"
|
|
},
|
|
Qn = zn(Kn),
|
|
Xn = zn(bn(Kn)),
|
|
Zn = Yr.templateSettings = {
|
|
evaluate: /<%([\s\S]+?)%>/g,
|
|
interpolate: /<%=([\s\S]+?)%>/g,
|
|
escape: /<%-([\s\S]+?)%>/g
|
|
};
|
|
var Yn = /(.)^/,
|
|
ei = {
|
|
"'": "'",
|
|
"\\": "\\",
|
|
"\r": "r",
|
|
"\n": "n",
|
|
"\u2028": "u2028",
|
|
"\u2029": "u2029"
|
|
},
|
|
ti = /\\|'|\r|\n|\u2028|\u2029/g;
|
|
|
|
function ri(e) {
|
|
return "\\" + ei[e]
|
|
}
|
|
var ni = /^\s*(\w|\$)+\s*$/;
|
|
|
|
function ii(e, t, r) {
|
|
!t && r && (t = r), t = wn({}, t, Yr.templateSettings);
|
|
var n = RegExp([(t.escape || Yn).source, (t.interpolate || Yn).source, (t.evaluate || Yn).source].join("|") + "|$", "g"),
|
|
i = 0,
|
|
a = "__p+='";
|
|
e.replace(n, function(t, r, n, o, s) {
|
|
return a += e.slice(i, s).replace(ti, ri), i = s + t.length, r ? a += "'+\n((__t=(" + r + "))==null?'':_.escape(__t))+\n'" : n ? a += "'+\n((__t=(" + n + "))==null?'':__t)+\n'" : o && (a += "';\n" + o + "\n__p+='"), t
|
|
}), a += "';\n";
|
|
var o, s = t.variable;
|
|
if (s) {
|
|
if (!ni.test(s)) throw new Error("variable is not a bare identifier: " + s)
|
|
} else a = "with(obj||{}){\n" + a + "}\n", s = "obj";
|
|
a = "var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n" + a + "return __p;\n";
|
|
try {
|
|
o = new Function(s, "_", a)
|
|
} catch (e) {
|
|
throw e.source = a, e
|
|
}
|
|
var c = function(e) {
|
|
return o.call(this, e, Yr)
|
|
};
|
|
return c.source = "function(" + s + "){\n" + a + "}", c
|
|
}
|
|
|
|
function ai(e, t, r) {
|
|
var n = (t = Rn(t)).length;
|
|
if (!n) return Er(r) ? r.call(e) : r;
|
|
for (var i = 0; i < n; i++) {
|
|
var a = null == e ? void 0 : e[t[i]];
|
|
void 0 === a && (a = r, i = n), e = Er(a) ? a.call(e) : a
|
|
}
|
|
return e
|
|
}
|
|
var oi = 0;
|
|
|
|
function si(e) {
|
|
var t = ++oi + "";
|
|
return e ? e + t : t
|
|
}
|
|
|
|
function ci(e) {
|
|
var t = Yr(e);
|
|
return t._chain = !0, t
|
|
}
|
|
|
|
function ui(e, t, r, n, i) {
|
|
if (!(n instanceof t)) return e.apply(r, i);
|
|
var a = kn(e.prototype),
|
|
o = e.apply(a, i);
|
|
return fr(o) ? o : a
|
|
}
|
|
var li = hr(function(e, t) {
|
|
var r = li.placeholder,
|
|
n = function() {
|
|
for (var i = 0, a = t.length, o = Array(a), s = 0; s < a; s++) o[s] = t[s] === r ? arguments[i++] : t[s];
|
|
for (; i < arguments.length;) o.push(arguments[i++]);
|
|
return ui(e, n, this, this, o)
|
|
};
|
|
return n
|
|
});
|
|
li.placeholder = Yr;
|
|
const pi = li,
|
|
di = hr(function(e, t, r) {
|
|
if (!Er(e)) throw new TypeError("Bind must be called on a function");
|
|
var n = hr(function(i) {
|
|
return ui(e, n, t, this, r.concat(i))
|
|
});
|
|
return n
|
|
}),
|
|
hi = Wr(zr);
|
|
|
|
function fi(e, t, r, n) {
|
|
if (n = n || [], t || 0 === t) {
|
|
if (t <= 0) return n.concat(e)
|
|
} else t = 1 / 0;
|
|
for (var i = n.length, a = 0, o = zr(e); a < o; a++) {
|
|
var s = e[a];
|
|
if (hi(s) && (Dr(s) || Nr(s)))
|
|
if (t > 1) fi(s, t - 1, r, n), i = n.length;
|
|
else
|
|
for (var c = 0, u = s.length; c < u;) n[i++] = s[c++];
|
|
else r || (n[i++] = s)
|
|
}
|
|
return n
|
|
}
|
|
const mi = hr(function(e, t) {
|
|
var r = (t = fi(t, !1, !1)).length;
|
|
if (r < 1) throw new Error("bindAll must be passed function names");
|
|
for (; r--;) {
|
|
var n = t[r];
|
|
e[n] = di(e[n], e)
|
|
}
|
|
return e
|
|
});
|
|
|
|
function gi(e, t) {
|
|
var r = function(n) {
|
|
var i = r.cache,
|
|
a = "" + (t ? t.apply(this, arguments) : n);
|
|
return jr(i, a) || (i[a] = e.apply(this, arguments)), i[a]
|
|
};
|
|
return r.cache = {}, r
|
|
}
|
|
const vi = hr(function(e, t, r) {
|
|
return setTimeout(function() {
|
|
return e.apply(null, r)
|
|
}, t)
|
|
}),
|
|
yi = pi(vi, Yr, 1);
|
|
|
|
function _i(e, t, r) {
|
|
var n, i, a, o, s = 0;
|
|
r || (r = {});
|
|
var c = function() {
|
|
s = !1 === r.leading ? 0 : qn(), n = null, o = e.apply(i, a), n || (i = a = null)
|
|
},
|
|
u = function() {
|
|
var u = qn();
|
|
s || !1 !== r.leading || (s = u);
|
|
var l = t - (u - s);
|
|
return i = this, a = arguments, l <= 0 || l > t ? (n && (clearTimeout(n), n = null), s = u, o = e.apply(i, a), n || (i = a = null)) : n || !1 === r.trailing || (n = setTimeout(c, l)), o
|
|
};
|
|
return u.cancel = function() {
|
|
clearTimeout(n), s = 0, n = i = a = null
|
|
}, u
|
|
}
|
|
|
|
function bi(e, t, r) {
|
|
var n, i, a, o, s, c = function() {
|
|
var u = qn() - i;
|
|
t > u ? n = setTimeout(c, t - u) : (n = null, r || (o = e.apply(s, a)), n || (a = s = null))
|
|
},
|
|
u = hr(function(u) {
|
|
return s = this, a = u, i = qn(), n || (n = setTimeout(c, t), r && (o = e.apply(s, a))), o
|
|
});
|
|
return u.cancel = function() {
|
|
clearTimeout(n), n = a = s = null
|
|
}, u
|
|
}
|
|
|
|
function Si(e, t) {
|
|
return pi(t, e)
|
|
}
|
|
|
|
function xi(e) {
|
|
return function() {
|
|
return !e.apply(this, arguments)
|
|
}
|
|
}
|
|
|
|
function Pi() {
|
|
var e = arguments,
|
|
t = e.length - 1;
|
|
return function() {
|
|
for (var r = t, n = e[t].apply(this, arguments); r--;) n = e[r].call(this, n);
|
|
return n
|
|
}
|
|
}
|
|
|
|
function Oi(e, t) {
|
|
return function() {
|
|
if (--e < 1) return t.apply(this, arguments)
|
|
}
|
|
}
|
|
|
|
function wi(e, t) {
|
|
var r;
|
|
return function() {
|
|
return --e > 0 && (r = t.apply(this, arguments)), e <= 1 && (t = null), r
|
|
}
|
|
}
|
|
const ki = pi(wi, 2);
|
|
|
|
function Ti(e, t, r) {
|
|
t = Bn(t, r);
|
|
for (var n, i = Qr(e), a = 0, o = i.length; a < o; a++)
|
|
if (t(e[n = i[a]], n, e)) return n
|
|
}
|
|
|
|
function Ci(e) {
|
|
return function(t, r, n) {
|
|
r = Bn(r, n);
|
|
for (var i = zr(t), a = e > 0 ? 0 : i - 1; a >= 0 && a < i; a += e)
|
|
if (r(t[a], a, t)) return a;
|
|
return -1
|
|
}
|
|
}
|
|
const Ei = Ci(1),
|
|
Ii = Ci(-1);
|
|
|
|
function Ri(e, t, r, n) {
|
|
for (var i = (r = Bn(r, n, 1))(t), a = 0, o = zr(e); a < o;) {
|
|
var s = Math.floor((a + o) / 2);
|
|
r(e[s]) < i ? a = s + 1 : o = s
|
|
}
|
|
return a
|
|
}
|
|
|
|
function Ai(e, t, r) {
|
|
return function(n, i, a) {
|
|
var o = 0,
|
|
s = zr(n);
|
|
if ("number" == typeof a) e > 0 ? o = a >= 0 ? a : Math.max(a + s, o) : s = a >= 0 ? Math.min(a + 1, s) : a + s + 1;
|
|
else if (r && a && s) return n[a = r(n, i)] === i ? a : -1;
|
|
if (i != i) return (a = t(Yt.call(n, o, s), Ur)) >= 0 ? a + o : -1;
|
|
for (a = e > 0 ? o : s - 1; a >= 0 && a < s; a += e)
|
|
if (n[a] === i) return a;
|
|
return -1
|
|
}
|
|
}
|
|
const Vi = Ai(1, Ei, Ri),
|
|
Fi = Ai(-1, Ii);
|
|
|
|
function Di(e, t, r) {
|
|
var n = (hi(e) ? Ei : Ti)(e, t, r);
|
|
if (void 0 !== n && -1 !== n) return e[n]
|
|
}
|
|
|
|
function ji(e, t) {
|
|
return Di(e, jn(t))
|
|
}
|
|
|
|
function Mi(e, t, r) {
|
|
var n, i;
|
|
if (t = Nn(t, r), hi(e))
|
|
for (n = 0, i = e.length; n < i; n++) t(e[n], n, e);
|
|
else {
|
|
var a = Qr(e);
|
|
for (n = 0, i = a.length; n < i; n++) t(e[a[n]], a[n], e)
|
|
}
|
|
return e
|
|
}
|
|
|
|
function Ni(e, t, r) {
|
|
t = Bn(t, r);
|
|
for (var n = !hi(e) && Qr(e), i = (n || e).length, a = Array(i), o = 0; o < i; o++) {
|
|
var s = n ? n[o] : o;
|
|
a[o] = t(e[s], s, e)
|
|
}
|
|
return a
|
|
}
|
|
|
|
function Hi(e) {
|
|
return function(t, r, n, i) {
|
|
var a = arguments.length >= 3;
|
|
return function(t, r, n, i) {
|
|
var a = !hi(t) && Qr(t),
|
|
o = (a || t).length,
|
|
s = e > 0 ? 0 : o - 1;
|
|
for (i || (n = t[a ? a[s] : s], s += e); s >= 0 && s < o; s += e) {
|
|
var c = a ? a[s] : s;
|
|
n = r(n, t[c], c, t)
|
|
}
|
|
return n
|
|
}(t, Nn(r, i, 4), n, a)
|
|
}
|
|
}
|
|
const Ui = Hi(1),
|
|
Bi = Hi(-1);
|
|
|
|
function Wi(e, t, r) {
|
|
var n = [];
|
|
return t = Bn(t, r), Mi(e, function(e, r, i) {
|
|
t(e, r, i) && n.push(e)
|
|
}), n
|
|
}
|
|
|
|
function Li(e, t, r) {
|
|
return Wi(e, xi(Bn(t)), r)
|
|
}
|
|
|
|
function $i(e, t, r) {
|
|
t = Bn(t, r);
|
|
for (var n = !hi(e) && Qr(e), i = (n || e).length, a = 0; a < i; a++) {
|
|
var o = n ? n[a] : a;
|
|
if (!t(e[o], o, e)) return !1
|
|
}
|
|
return !0
|
|
}
|
|
|
|
function Gi(e, t, r) {
|
|
t = Bn(t, r);
|
|
for (var n = !hi(e) && Qr(e), i = (n || e).length, a = 0; a < i; a++) {
|
|
var o = n ? n[a] : a;
|
|
if (t(e[o], o, e)) return !0
|
|
}
|
|
return !1
|
|
}
|
|
|
|
function Ji(e, t, r, n) {
|
|
return hi(e) || (e = yn(e)), ("number" != typeof r || n) && (r = 0), Vi(e, t, r) >= 0
|
|
}
|
|
const qi = hr(function(e, t, r) {
|
|
var n, i;
|
|
return Er(t) ? i = t : (t = Rn(t), n = t.slice(0, -1), t = t[t.length - 1]), Ni(e, function(e) {
|
|
var a = i;
|
|
if (!a) {
|
|
if (n && n.length && (e = An(e, n)), null == e) return;
|
|
a = e[t]
|
|
}
|
|
return null == a ? a : a.apply(e, r)
|
|
})
|
|
});
|
|
|
|
function zi(e, t) {
|
|
return Ni(e, Mn(t))
|
|
}
|
|
|
|
function Ki(e, t) {
|
|
return Wi(e, jn(t))
|
|
}
|
|
|
|
function Qi(e, t, r) {
|
|
var n, i, a = -1 / 0,
|
|
o = -1 / 0;
|
|
if (null == t || "number" == typeof t && "object" != typeof e[0] && null != e)
|
|
for (var s = 0, c = (e = hi(e) ? e : yn(e)).length; s < c; s++) null != (n = e[s]) && n > a && (a = n);
|
|
else t = Bn(t, r), Mi(e, function(e, r, n) {
|
|
((i = t(e, r, n)) > o || i === -1 / 0 && a === -1 / 0) && (a = e, o = i)
|
|
});
|
|
return a
|
|
}
|
|
|
|
function Xi(e, t, r) {
|
|
var n, i, a = 1 / 0,
|
|
o = 1 / 0;
|
|
if (null == t || "number" == typeof t && "object" != typeof e[0] && null != e)
|
|
for (var s = 0, c = (e = hi(e) ? e : yn(e)).length; s < c; s++) null != (n = e[s]) && n < a && (a = n);
|
|
else t = Bn(t, r), Mi(e, function(e, r, n) {
|
|
((i = t(e, r, n)) < o || i === 1 / 0 && a === 1 / 0) && (a = e, o = i)
|
|
});
|
|
return a
|
|
}
|
|
var Zi = /[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;
|
|
|
|
function Yi(e) {
|
|
return e ? Dr(e) ? Yt.call(e) : br(e) ? e.match(Zi) : hi(e) ? Ni(e, Dn) : yn(e) : []
|
|
}
|
|
|
|
function ea(e, t, r) {
|
|
if (null == t || r) return hi(e) || (e = yn(e)), e[Jn(e.length - 1)];
|
|
var n = Yi(e),
|
|
i = zr(n);
|
|
t = Math.max(Math.min(t, i), 0);
|
|
for (var a = i - 1, o = 0; o < t; o++) {
|
|
var s = Jn(o, a),
|
|
c = n[o];
|
|
n[o] = n[s], n[s] = c
|
|
}
|
|
return n.slice(0, t)
|
|
}
|
|
|
|
function ta(e) {
|
|
return ea(e, 1 / 0)
|
|
}
|
|
|
|
function ra(e, t, r) {
|
|
var n = 0;
|
|
return t = Bn(t, r), zi(Ni(e, function(e, r, i) {
|
|
return {
|
|
value: e,
|
|
index: n++,
|
|
criteria: t(e, r, i)
|
|
}
|
|
}).sort(function(e, t) {
|
|
var r = e.criteria,
|
|
n = t.criteria;
|
|
if (r !== n) {
|
|
if (r > n || void 0 === r) return 1;
|
|
if (r < n || void 0 === n) return -1
|
|
}
|
|
return e.index - t.index
|
|
}), "value")
|
|
}
|
|
|
|
function na(e, t) {
|
|
return function(r, n, i) {
|
|
var a = t ? [
|
|
[],
|
|
[]
|
|
] : {};
|
|
return n = Bn(n, i), Mi(r, function(t, i) {
|
|
var o = n(t, i, r);
|
|
e(a, t, o)
|
|
}), a
|
|
}
|
|
}
|
|
const ia = na(function(e, t, r) {
|
|
jr(e, r) ? e[r].push(t) : e[r] = [t]
|
|
}),
|
|
aa = na(function(e, t, r) {
|
|
e[r] = t
|
|
}),
|
|
oa = na(function(e, t, r) {
|
|
jr(e, r) ? e[r]++ : e[r] = 1
|
|
}),
|
|
sa = na(function(e, t, r) {
|
|
e[r ? 0 : 1].push(t)
|
|
}, !0);
|
|
|
|
function ca(e) {
|
|
return null == e ? 0 : hi(e) ? e.length : Qr(e).length
|
|
}
|
|
|
|
function ua(e, t, r) {
|
|
return t in r
|
|
}
|
|
const la = hr(function(e, t) {
|
|
var r = {},
|
|
n = t[0];
|
|
if (null == e) return r;
|
|
Er(n) ? (t.length > 1 && (n = Nn(n, t[1])), t = on(e)) : (n = ua, t = fi(t, !1, !1), e = Object(e));
|
|
for (var i = 0, a = t.length; i < a; i++) {
|
|
var o = t[i],
|
|
s = e[o];
|
|
n(s, o, e) && (r[o] = s)
|
|
}
|
|
return r
|
|
}),
|
|
pa = hr(function(e, t) {
|
|
var r, n = t[0];
|
|
return Er(n) ? (n = xi(n), t.length > 1 && (r = t[1])) : (t = Ni(fi(t, !1, !1), String), n = function(e, r) {
|
|
return !Ji(t, r)
|
|
}), la(e, n, r)
|
|
});
|
|
|
|
function da(e, t, r) {
|
|
return Yt.call(e, 0, Math.max(0, e.length - (null == t || r ? 1 : t)))
|
|
}
|
|
|
|
function ha(e, t, r) {
|
|
return null == e || e.length < 1 ? null == t || r ? void 0 : [] : null == t || r ? e[0] : da(e, e.length - t)
|
|
}
|
|
|
|
function fa(e, t, r) {
|
|
return Yt.call(e, null == t || r ? 1 : t)
|
|
}
|
|
|
|
function ma(e, t, r) {
|
|
return null == e || e.length < 1 ? null == t || r ? void 0 : [] : null == t || r ? e[e.length - 1] : fa(e, Math.max(0, e.length - t))
|
|
}
|
|
|
|
function ga(e) {
|
|
return Wi(e, Boolean)
|
|
}
|
|
|
|
function va(e, t) {
|
|
return fi(e, t, !1)
|
|
}
|
|
const ya = hr(function(e, t) {
|
|
return t = fi(t, !0, !0), Wi(e, function(e) {
|
|
return !Ji(t, e)
|
|
})
|
|
}),
|
|
_a = hr(function(e, t) {
|
|
return ya(e, t)
|
|
});
|
|
|
|
function ba(e, t, r, n) {
|
|
vr(t) || (n = r, r = t, t = !1), null != r && (r = Bn(r, n));
|
|
for (var i = [], a = [], o = 0, s = zr(e); o < s; o++) {
|
|
var c = e[o],
|
|
u = r ? r(c, o, e) : c;
|
|
t && !r ? (o && a === u || i.push(c), a = u) : r ? Ji(a, u) || (a.push(u), i.push(c)) : Ji(i, c) || i.push(c)
|
|
}
|
|
return i
|
|
}
|
|
const Sa = hr(function(e) {
|
|
return ba(fi(e, !0, !0))
|
|
});
|
|
|
|
function xa(e) {
|
|
for (var t = [], r = arguments.length, n = 0, i = zr(e); n < i; n++) {
|
|
var a = e[n];
|
|
if (!Ji(t, a)) {
|
|
var o;
|
|
for (o = 1; o < r && Ji(arguments[o], a); o++);
|
|
o === r && t.push(a)
|
|
}
|
|
}
|
|
return t
|
|
}
|
|
|
|
function Pa(e) {
|
|
for (var t = e && Qi(e, zr).length || 0, r = Array(t), n = 0; n < t; n++) r[n] = zi(e, n);
|
|
return r
|
|
}
|
|
const Oa = hr(Pa);
|
|
|
|
function wa(e, t) {
|
|
for (var r = {}, n = 0, i = zr(e); n < i; n++) t ? r[e[n]] = t[n] : r[e[n][0]] = e[n][1];
|
|
return r
|
|
}
|
|
|
|
function ka(e, t, r) {
|
|
null == t && (t = e || 0, e = 0), r || (r = t < e ? -1 : 1);
|
|
for (var n = Math.max(Math.ceil((t - e) / r), 0), i = Array(n), a = 0; a < n; a++, e += r) i[a] = e;
|
|
return i
|
|
}
|
|
|
|
function Ta(e, t) {
|
|
if (null == t || t < 1) return [];
|
|
for (var r = [], n = 0, i = e.length; n < i;) r.push(Yt.call(e, n, n += t));
|
|
return r
|
|
}
|
|
|
|
function Ca(e, t) {
|
|
return e._chain ? Yr(t).chain() : t
|
|
}
|
|
|
|
function Ea(e) {
|
|
return Mi(Sn(e), function(t) {
|
|
var r = Yr[t] = e[t];
|
|
Yr.prototype[t] = function() {
|
|
var e = [this._wrapped];
|
|
return Zt.apply(e, arguments), Ca(this, r.apply(Yr, e))
|
|
}
|
|
}), Yr
|
|
}
|
|
Mi(["pop", "push", "reverse", "shift", "sort", "splice", "unshift"], function(e) {
|
|
var t = Kt[e];
|
|
Yr.prototype[e] = function() {
|
|
var r = this._wrapped;
|
|
return null != r && (t.apply(r, arguments), "shift" !== e && "splice" !== e || 0 !== r.length || delete r[0]), Ca(this, r)
|
|
}
|
|
}), Mi(["concat", "join", "slice"], function(e) {
|
|
var t = Kt[e];
|
|
Yr.prototype[e] = function() {
|
|
var e = this._wrapped;
|
|
return null != e && (e = t.apply(e, arguments)), Ca(this, e)
|
|
}
|
|
});
|
|
const Ia = Yr;
|
|
var Ra = Ea(e);
|
|
|
|
function Aa(e, t) {
|
|
var r = "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
|
|
if (!r) {
|
|
if (Array.isArray(e) || (r = function(e, t) {
|
|
if (e) {
|
|
if ("string" == typeof e) return Va(e, t);
|
|
var r = {}.toString.call(e).slice(8, -1);
|
|
return "Object" === r && e.constructor && (r = e.constructor.name), "Map" === r || "Set" === r ? Array.from(e) : "Arguments" === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? Va(e, t) : void 0
|
|
}
|
|
}(e)) || t && e && "number" == typeof e.length) {
|
|
r && (e = r);
|
|
var n = 0,
|
|
i = function() {};
|
|
return {
|
|
s: i,
|
|
n: function() {
|
|
return n >= e.length ? {
|
|
done: !0
|
|
} : {
|
|
done: !1,
|
|
value: e[n++]
|
|
}
|
|
},
|
|
e: function(e) {
|
|
throw e
|
|
},
|
|
f: i
|
|
}
|
|
}
|
|
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
|
|
}
|
|
var a, o = !0,
|
|
s = !1;
|
|
return {
|
|
s: function() {
|
|
r = r.call(e)
|
|
},
|
|
n: function() {
|
|
var e = r.next();
|
|
return o = e.done, e
|
|
},
|
|
e: function(e) {
|
|
s = !0, a = e
|
|
},
|
|
f: function() {
|
|
try {
|
|
o || null == r.return || r.return()
|
|
} finally {
|
|
if (s) throw a
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
function Va(e, t) {
|
|
(null == t || t > e.length) && (t = e.length);
|
|
for (var r = 0, n = Array(t); r < t; r++) n[r] = e[r];
|
|
return n
|
|
}
|
|
|
|
function Fa(e, t, r) {
|
|
return e && e.delays && !Number.isNaN(e.delays[t]) ? Math.round(e.delays[t]) : r
|
|
}
|
|
|
|
function Da(e) {
|
|
var t, r = null,
|
|
n = Aa(e.add_to_cart_recording || []);
|
|
try {
|
|
for (n.s(); !(t = n.n()).done;) {
|
|
var i = t.value,
|
|
a = i && i.info && "yes" === i.info.is_optional;
|
|
20 !== i.type || a || (r = i.info.selector)
|
|
}
|
|
} catch (e) {
|
|
n.e(e)
|
|
} finally {
|
|
n.f()
|
|
}
|
|
return r
|
|
}
|
|
|
|
function ja(e, t) {
|
|
var r = "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
|
|
if (!r) {
|
|
if (Array.isArray(e) || (r = function(e, t) {
|
|
if (e) {
|
|
if ("string" == typeof e) return Ma(e, t);
|
|
var r = {}.toString.call(e).slice(8, -1);
|
|
return "Object" === r && e.constructor && (r = e.constructor.name), "Map" === r || "Set" === r ? Array.from(e) : "Arguments" === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? Ma(e, t) : void 0
|
|
}
|
|
}(e)) || t && e && "number" == typeof e.length) {
|
|
r && (e = r);
|
|
var n = 0,
|
|
i = function() {};
|
|
return {
|
|
s: i,
|
|
n: function() {
|
|
return n >= e.length ? {
|
|
done: !0
|
|
} : {
|
|
done: !1,
|
|
value: e[n++]
|
|
}
|
|
},
|
|
e: function(e) {
|
|
throw e
|
|
},
|
|
f: i
|
|
}
|
|
}
|
|
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
|
|
}
|
|
var a, o = !0,
|
|
s = !1;
|
|
return {
|
|
s: function() {
|
|
r = r.call(e)
|
|
},
|
|
n: function() {
|
|
var e = r.next();
|
|
return o = e.done, e
|
|
},
|
|
e: function(e) {
|
|
s = !0, a = e
|
|
},
|
|
f: function() {
|
|
try {
|
|
o || null == r.return || r.return()
|
|
} finally {
|
|
if (s) throw a
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
function Ma(e, t) {
|
|
(null == t || t > e.length) && (t = e.length);
|
|
for (var r = 0, n = Array(t); r < t; r++) n[r] = e[r];
|
|
return n
|
|
}
|
|
|
|
function Na(e, t, r) {
|
|
return e && e.delays && !Number.isNaN(Math.round(e.delays[t])) ? Math.round(e.delays[t]) : r
|
|
}
|
|
|
|
function Ha(e) {
|
|
var t, r = null,
|
|
n = -1,
|
|
i = 0,
|
|
a = ja(e.add_to_cart_recording || []);
|
|
try {
|
|
for (a.s(); !(t = a.n()).done;) {
|
|
var o = t.value,
|
|
s = o && o.info && "yes" === o.info.is_optional;
|
|
20 !== o.type || s || (r = o.info.selector, n = i), i += 1
|
|
}
|
|
} catch (e) {
|
|
a.e(e)
|
|
} finally {
|
|
a.f()
|
|
}
|
|
return {
|
|
sel: r,
|
|
index: n
|
|
}
|
|
}
|
|
Ra._ = Ra;
|
|
const Ua = {
|
|
addProductsToCart: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t);
|
|
n.recordingStartURLs = r.recording_start_urls, n.storeOptions = r.store_options, n.addToCartDelay = xt(r, "add_to_cart", 300), n.addToCartFieldPressDelay = xt(r, "add_to_cart_field_press", 500), n.productPageStatus = "purchase", n.productPageSelectors = function(e) {
|
|
var t = {},
|
|
r = Pt(e);
|
|
return t.title = e.title_div ? e.title_div.selector : null, t.brand = e.brand_div ? e.brand_div.selector : null, t.price = e.price_div ? e.price_div.selector : null, t.original_price = e.original_price_div ? e.original_price_div.selector : null, t.discounted_price = e.discounted_price_div ? e.discounted_price_div.selector : null, t.description = e.description_div ? e.description_div.selector : null, t.image = e.image_div ? e.image_div.selector : null, t.alt_images = e.alt_images_div ? e.alt_images_div.selector : null, t.returns = e.returns_div ? e.returns_div.selector : null, t.extra_info = e.extra_info_div ? e.extra_info_div.selector : null, t.weight = e.weight_div ? e.weight_div.selector : null, t.final_sale = e.final_sale_div ? e.final_sale_div.selector : null, t.pickup_support = e.pickup_div ? e.pickup_div.selector : null, t.non_purchasable = e.non_purchasable_div ? e.non_purchasable_div.selector : null, t.free_shipping = e.p_free_shipping_div ? e.p_free_shipping_div.selector : null, t.product_container = e.product_container_div ? e.product_container_div.selector : null, t.add_to_cart_button = r, t
|
|
}(r), n.productOptsRetrievalJS = r.product_opts_retrieval_js;
|
|
var i = Pt(r);
|
|
i && (n.addToCartButton = {
|
|
s: i
|
|
});
|
|
var a = r.add_to_cart_changes_div;
|
|
a && a.selector && (n.addToCartChanges = {
|
|
s: r.add_to_cart_changes_div.selector
|
|
});
|
|
var o = r.product_container_div;
|
|
return o && o.selector && (n.productContainer = {
|
|
s: o.selector
|
|
}), n.doAddToCart = r.add_to_cart_recording ? function(e) {
|
|
for (var t = [], r = 0; r < e.length; r += 1) {
|
|
var n = e[r];
|
|
n.info || (n.info = {});
|
|
var i = {
|
|
type: n.type,
|
|
s: n.info.selector,
|
|
frame: n.info.frame,
|
|
is_optional: n.info.is_optional,
|
|
interval: n.info.interval ? Math.round(n.info.interval) : null,
|
|
js_code: n.info.js_code,
|
|
timeout: n.info.timeout ? Math.round(n.info.timeout) : null,
|
|
tag_name: n.info.tagName,
|
|
tag_type: n.info.type,
|
|
set: n.info.set,
|
|
value_attr_selector: n.info.value_attr_selector,
|
|
skip_selector: n.info.skip_selector,
|
|
skip_during_set_selector: n.info.skip_during_set_selector,
|
|
only_on_checkout_type: n.info.only_on_checkout_type,
|
|
checked: n.info.checked,
|
|
text_only: n.info.text_only,
|
|
field_key: n.field_key,
|
|
field_type: n.info.field_type,
|
|
recaptcha_sitekey: n.info.recaptcha_sitekey
|
|
};
|
|
2 === n.type && "quantity" === n.field_key && (i.options = n.info.options), t.push(i)
|
|
}
|
|
return t
|
|
}(r.add_to_cart_recording) : [], n
|
|
},
|
|
cartProductPageFetcher: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t),
|
|
i = r.cart_wrapper_div,
|
|
a = r.cart_p_name_div,
|
|
o = r.cart_p_url_div,
|
|
s = r.cart_p_image_div,
|
|
c = r.cart_p_qty_div,
|
|
u = r.cart_p_attrs_div,
|
|
l = r.cart_p_unit_price_div,
|
|
p = r.cart_p_total_price_div,
|
|
d = r.cart_p_subtotal_div,
|
|
h = r.cart_p_tax_div,
|
|
f = r.cart_p_shipping_div,
|
|
m = r.cart_total_div,
|
|
g = r.cart_custom_id,
|
|
v = r.cart_p_sku_div;
|
|
return n.storeId = r.honey_id, n.productWrapper = (i || {}).selector, n.productName = (a || {}).selector, n.productSku = (v || {}).selector, n.productURL = (o || {}).selector, n.productImage = (s || {}).selector, n.productQTY = (c || {}).selector, n.productAttrs = (u || {}).selector, n.productUnitPrice = (l || {}).selector, n.productTotalPrice = (p || {}).selector, n.cartSubTotal = (d || {}).selector, n.cartTax = (h || {}).selector, n.cartShipping = (f || {}).selector, n.cartTotal = (m || {}).selector, n.cartCustomId = (g || {}).selector, n.cartOptsRetrievalJS = r.cart_opts_retrieval_js, n.cartTitleRegexp = r.cart_title_regexp, n.cartPageSelectors = {
|
|
cart_wrapper: (i || {}).selector,
|
|
cart_p_name: (a || {}).selector,
|
|
cart_p_url: (o || {}).selector,
|
|
cart_p_image: (s || {}).selector,
|
|
cart_p_qty: (c || {}).selector,
|
|
cart_p_attrs: (u || {}).selector,
|
|
cart_p_unit_price: (l || {}).selector,
|
|
cart_p_total_price: (p || {}).selector,
|
|
cart_p_subtotal: (d || {}).selector,
|
|
cart_p_tax: (h || {}).selector,
|
|
cart_p_shipping: (f || {}).selector,
|
|
cart_total: (m || {}).selector
|
|
}, n
|
|
},
|
|
checkoutInfo: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(e, t);
|
|
return n.orderIdNoAuthSel = r.order_id_div_noauth ? r.order_id_div_noauth.selector : null, n.orderIdAuthSel = r.order_id_auth ? r.order_id_auth.selector : null, n.orderIdHoneySel = r.h_legacy_metadata ? r.h_legacy_metadata.pns_siteSelOrderId : null, n
|
|
},
|
|
cleanFullProductData: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t),
|
|
i = r.weightDiv,
|
|
a = r.titleRegexp,
|
|
o = r.estimator,
|
|
s = r.imagesRegexp,
|
|
c = r.skuRegexp,
|
|
u = r.mpnRegexp,
|
|
l = r.gtinRegexp;
|
|
return Ct(Ct({}, n), {}, {
|
|
weightDiv: i,
|
|
titleRegexp: a,
|
|
estimator: o,
|
|
imagesRegexp: s,
|
|
skuRegexp: c,
|
|
mpnRegexp: u,
|
|
gtinRegexp: l
|
|
})
|
|
},
|
|
cleanPartialProductData: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t),
|
|
i = r.weightDiv,
|
|
a = r.titleRegexp,
|
|
o = r.estimator,
|
|
s = r.imagesRegexp,
|
|
c = r.skuRegexp,
|
|
u = r.mpnRegexp,
|
|
l = r.gtinRegexp;
|
|
return Rt(Rt({}, n), {}, {
|
|
weightDiv: i,
|
|
titleRegexp: a,
|
|
estimator: o,
|
|
imagesRegexp: s,
|
|
skuRegexp: c,
|
|
mpnRegexp: u,
|
|
gtinRegexp: l
|
|
})
|
|
},
|
|
helloWorld: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t);
|
|
return n.helloWorldName = r.helloWorldName, n.platform = t, n
|
|
},
|
|
pageDetector: function(e, t) {
|
|
var r, n, i = yt(e, t),
|
|
a = _t(i, t);
|
|
if (i.override && i.override.page_detector && i.override.page_detector.trim().length) return a.override = i.override.page_detector, a;
|
|
if (a.enableWatch = i.page_detector_watch || !1, a.showMatches = t === m.SIX, i.page_detector && i.page_detector.length) {
|
|
var o, s = i.page_detector.filter(function(e) {
|
|
var t = e.frameworkName && Object.keys(y).includes(e.frameworkName);
|
|
return !e.frameworkName || t
|
|
}).reduce(function(e, t) {
|
|
return t.frameworkName ? [t].concat(u(e)) : [].concat(u(e), [t])
|
|
}, []),
|
|
c = function(e, t) {
|
|
var r = "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
|
|
if (!r) {
|
|
if (Array.isArray(e) || (r = function(e, t) {
|
|
if (e) {
|
|
if ("string" == typeof e) return Dt(e, t);
|
|
var r = {}.toString.call(e).slice(8, -1);
|
|
return "Object" === r && e.constructor && (r = e.constructor.name), "Map" === r || "Set" === r ? Array.from(e) : "Arguments" === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? Dt(e, t) : void 0
|
|
}
|
|
}(e)) || t && e && "number" == typeof e.length) {
|
|
r && (e = r);
|
|
var n = 0,
|
|
i = function() {};
|
|
return {
|
|
s: i,
|
|
n: function() {
|
|
return n >= e.length ? {
|
|
done: !0
|
|
} : {
|
|
done: !1,
|
|
value: e[n++]
|
|
}
|
|
},
|
|
e: function(e) {
|
|
throw e
|
|
},
|
|
f: i
|
|
}
|
|
}
|
|
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
|
|
}
|
|
var a, o = !0,
|
|
s = !1;
|
|
return {
|
|
s: function() {
|
|
r = r.call(e)
|
|
},
|
|
n: function() {
|
|
var e = r.next();
|
|
return o = e.done, e
|
|
},
|
|
e: function(e) {
|
|
s = !0, a = e
|
|
},
|
|
f: function() {
|
|
try {
|
|
o || null == r.return || r.return()
|
|
} finally {
|
|
if (s) throw a
|
|
}
|
|
}
|
|
}
|
|
}(s);
|
|
try {
|
|
for (c.s(); !(o = c.n()).done;) {
|
|
var l = o.value;
|
|
switch (l.type) {
|
|
case "product":
|
|
a.productParams || (a.productParams = []), a.productParams.push(l);
|
|
break;
|
|
case "find_savings":
|
|
a.findSavingParams || (a.findSavingParams = []), a.findSavingParams.push(l);
|
|
break;
|
|
case "honey_gold":
|
|
a.honeyGoldParams || (a.honeyGoldParams = []), a.honeyGoldParams.push(l);
|
|
break;
|
|
case "checkout_confirm":
|
|
a.checkoutConfirmParams || (a.checkoutConfirmParams = []), a.checkoutConfirmParams.push(l);
|
|
break;
|
|
case "honey_flights":
|
|
a.honeyFlightParams || (a.honeyFlightParams = []), a.honeyFlightParams.push(l);
|
|
break;
|
|
case "payments":
|
|
a.paymentParams || (a.paymentParams = []), a.paymentParams.push(l);
|
|
break;
|
|
case "submit_order":
|
|
a.submitOrderParams || (a.submitOrderParams = []), a.submitOrderParams.push(l);
|
|
break;
|
|
case "billing":
|
|
a.billingParams || (a.billingParams = []), a.billingParams.push(l);
|
|
break;
|
|
case "cart_product":
|
|
a.cartProductParams || (a.cartProductParams = []), a.cartProductParams.push(l);
|
|
break;
|
|
case "shopify_product_page":
|
|
a.shopifyProductPageParams || (a.shopifyProductPageParams = []), a.shopifyProductPageParams.push(l);
|
|
break;
|
|
case "shopify_where_am_i":
|
|
a.shopifyWhereAmIParams || (a.shopifyWhereAmIParams = []), a.shopifyWhereAmIParams.push(l);
|
|
break;
|
|
case "where_am_i":
|
|
a.whereAmIParams || (a.whereAmIParams = []), a.whereAmIParams.push(l);
|
|
break;
|
|
case "pay_later":
|
|
a.payLaterParams || (a.payLaterParams = []), a.payLaterParams.push(l);
|
|
break;
|
|
default:
|
|
rt.warn("Unknown page detector type '".concat(l.type, "' found for recipeId '").concat(i._id.$oid, "' (honeyId: ").concat(i.honey_id, ")"))
|
|
}
|
|
}
|
|
} catch (e) {
|
|
c.e(e)
|
|
} finally {
|
|
c.f()
|
|
}
|
|
}
|
|
return a.enableWatch && (a.pageSelectors = (n = {}, (r = a).productParams && (n.productSelectors = jt(r.productParams)), r.cartProductParams && (n.cartProductSelectors = jt(r.cartProductParams)), r.findSavingParams && (n.findSavingSelectors = jt(r.findSavingParams)), r.honeyGoldParams && (n.honeyGoldSelectors = jt(r.honeyGoldParams)), r.checkoutConfirmParams && (n.checkoutConfirmSelectors = jt(r.checkoutConfirmParams)), r.honeyFlightParams && (n.honeyFlightSelectors = jt(r.honeyFlightParams)), r.paymentParams && (n.paymentSelectors = jt(r.paymentParams)), r.submitOrderParams && (n.submitOrderSelectors = jt(r.submitOrderParams)), r.billingParams && (n.billingSelectors = jt(r.billingParams)), r.shopifyProductPageParams && (n.shopifyProductPageParams = jt(r.shopifyProductPageParams)), r.shopifyWhereAmIParams && (n.shopifyWhereAmIParams = jt(r.shopifyWhereAmIParams)), r.whereAmIParams && (n.whereAmIParams = jt(r.whereAmIParams)), r.payLaterParams && (n.payLaterParams = jt(r.payLaterParams)), n)), a
|
|
},
|
|
pageDetector17: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t);
|
|
return n.platform = r.platform, n
|
|
},
|
|
pageDetector32: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t);
|
|
return n.platform = r.platform, n
|
|
},
|
|
pageDetector185: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t);
|
|
return n.platform = r.platform, n
|
|
},
|
|
pageDetector53225885396973217: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t);
|
|
return n.platform = r.platform, n
|
|
},
|
|
pageDetector149866213425254294: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t);
|
|
return n.platform = r.platform, n
|
|
},
|
|
pageDetector188936808980551912: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t);
|
|
return n.platform = r.platform, n
|
|
},
|
|
pageDetector239725216611791130: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t);
|
|
return n.platform = r.platform, n
|
|
},
|
|
pageDetector7552648263998104112: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t);
|
|
return n.platform = r.platform, n
|
|
},
|
|
productFetcherFull: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t);
|
|
n.addToCartDelay = Fa(r, "add_to_cart", 300), n.productsOptsDelay = Fa(r, "product_opts", 1e4), n.productOptsFieldDelay = Fa(r, "product_opts_field", 50), n.checkoutType = "cart", n.productPageStatus = "product_info", n.productPageSelectors = function(e) {
|
|
var t = {},
|
|
r = Da(e);
|
|
return t.title = e.title_div ? e.title_div.selector : null, t.brand = e.brand_div ? e.brand_div.selector : null, t.price = e.price_div ? e.price_div.selector : null, t.original_price = e.original_price_div ? e.original_price_div.selector : null, t.discounted_price = e.discounted_price_div ? e.discounted_price_div.selector : null, t.custom_id = e.custom_id_div ? e.custom_id_div.selector : null, t.description = e.description_div ? e.description_div.selector : null, t.image = e.image_div ? e.image_div.selector : null, t.alt_images = e.alt_images_div ? e.alt_images_div.selector : null, t.returns = e.returns_div ? e.returns_div.selector : null, t.extra_info = e.extra_info_div ? e.extra_info_div.selector : null, t.weight = e.weight_div ? e.weight_div.selector : null, t.final_sale = e.final_sale_div ? e.final_sale_div.selector : null, t.pickup_support = e.pickup_div ? e.pickup_div.selector : null, t.non_purchasable = e.non_purchasable_div ? e.non_purchasable_div.selector : null, t.free_shipping = e.p_free_shipping_div ? e.p_free_shipping_div.selector : null, t.product_container = e.product_container_div ? e.product_container_div.selector : null, t.sku_identifier = e.sku_identifier ? e.sku_identifier.selector : null, t.mpn_identifier = e.mpn_identifier ? e.mpn_identifier.selector : null, t.gtin_identifier = e.gtin_identifier ? e.gtin_identifier.selector : null, t.add_to_cart_button = r, t
|
|
}(r), n.isVariantless = "yes" === (r.store_options || {}).is_variantless || !1, n.productOptsRetrievalJS = r.product_opts_retrieval_js, n.productPageWeightUnit = r.weight_div ? r.weight_div.weight_unit : null, n.categoryWrapper = r.category_wrapper_div ? r.category_wrapper_div.selector : null, n.categoryDiv = r.category_div ? r.category_div.selector : null;
|
|
var i = Da(r);
|
|
i && (n.addToCartButton = {
|
|
s: i
|
|
});
|
|
var a = r.product_container_div;
|
|
a && a.selector && (n.productContainer = {
|
|
s: a.selector
|
|
});
|
|
var o = [];
|
|
if (r.add_to_cart_recording) {
|
|
var s, c = Aa(r.add_to_cart_recording.entries());
|
|
try {
|
|
for (c.s(); !(s = c.n()).done;) {
|
|
var u = Jt(s.value, 2),
|
|
l = u[0],
|
|
p = u[1];
|
|
if (p.field_key && 0 !== p.field_key.length && "shipping_zip" !== p.field_key) {
|
|
var d = {
|
|
name: p.field_key,
|
|
selector: p.info.selector,
|
|
set_during_retrieve_opts: p.info.set_during_retrieve_opts,
|
|
reset_during_retrieve_opts: p.info.reset_during_retrieve_opts,
|
|
text_only: p.info.text_only,
|
|
timeout: p.info.timeout,
|
|
recording_idx: l
|
|
};
|
|
"2" === p.type.toString() ? d.type = p.info.tagName : "1010" === p.type.toString() ? (d.get = p.info.get, d.set = p.info.set, d.type = "CUSTOM") : "1012" === p.type.toString() && (d.text_attr_selector = p.info.text_attr_selector, d.value_attr_selector = p.info.value_attr_selector, d.skip_selector = p.info.skip_selector, d.skip_during_set_selector = p.info.skip_during_set_selector, d.type = "SWATCH"), o.push(d)
|
|
}
|
|
}
|
|
} catch (e) {
|
|
c.e(e)
|
|
} finally {
|
|
c.f()
|
|
}
|
|
}
|
|
return o = ra(o, function(e) {
|
|
return Math.round(e.recording_idx)
|
|
}), n.requiredFields = o, n
|
|
},
|
|
productFetcherPartial: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t);
|
|
n.addToCartDelay = Na(r, "add_to_cart", 300), n.productsOptsDelay = Na(r, "product_opts", 1e4), n.productOptsFieldDelay = Na(r, "product_opts_field", 50), n.checkoutType = "cart", n.productPageStatus = "product_info", n.productPageSelectors = function(e) {
|
|
var t = {},
|
|
r = Ha(e).sel;
|
|
return t.title = e.title_div ? e.title_div.selector : null, t.brand = e.brand_div ? e.brand_div.selector : null, t.price = e.price_div ? e.price_div.selector : null, t.original_price = e.original_price_div ? e.original_price_div.selector : null, t.discounted_price = e.discounted_price_div ? e.discounted_price_div.selector : null, t.custom_id = e.custom_id_div ? e.custom_id_div.selector : null, t.description = e.description_div ? e.description_div.selector : null, t.image = e.image_div ? e.image_div.selector : null, t.alt_images = e.alt_images_div ? e.alt_images_div.selector : null, t.returns = e.returns_div ? e.returns_div.selector : null, t.extra_info = e.extra_info_div ? e.extra_info_div.selector : null, t.weight = e.weight_div ? e.weight_div.selector : null, t.final_sale = e.final_sale_div ? e.final_sale_div.selector : null, t.pickup_support = e.pickup_div ? e.pickup_div.selector : null, t.non_purchasable = e.non_purchasable_div ? e.non_purchasable_div.selector : null, t.free_shipping = e.p_free_shipping_div ? e.p_free_shipping_div.selector : null, t.product_container = e.product_container_div ? e.product_container_div.selector : null, t.sku_identifier = e.sku_identifier ? e.sku_identifier.selector : null, t.mpn_identifier = e.mpn_identifier ? e.mpn_identifier.selector : null, t.gtin_identifier = e.gtin_identifier ? e.gtin_identifier.selector : null, t.add_to_cart_button = r, t
|
|
}(r), n.isVariantless = "yes" === (r.store_options || {}).is_variantless || !1, n.productOptsRetrievalJS = r.product_opts_retrieval_js, n.productPageWeightUnit = r.weight_div ? r.weight_div.weight_unit : null, n.categoryWrapper = r.category_wrapper_div ? r.category_wrapper_div.selector : null, n.categoryDiv = r.category_div ? r.category_div.selector : null;
|
|
var i = Ha(r),
|
|
a = i.sel,
|
|
o = i.index;
|
|
a && (n.addToCartButton = {
|
|
s: a
|
|
});
|
|
var s = function(e, t) {
|
|
return -1 === t ? [] : e.add_to_cart_recording.slice(0, t).reduce(function(e, t) {
|
|
var r = t && t.info && t.info.selector;
|
|
return r && e.push({
|
|
sel: r,
|
|
eventType: "click"
|
|
}), e
|
|
}, [])
|
|
}(r, o);
|
|
n.optionTargets = s;
|
|
var c = r.product_container_div;
|
|
c && c.selector && (n.productContainer = {
|
|
s: c.selector
|
|
});
|
|
var u = [];
|
|
if (r.add_to_cart_recording) {
|
|
var l, p = ja(r.add_to_cart_recording.entries());
|
|
try {
|
|
for (p.s(); !(l = p.n()).done;) {
|
|
var d = Jt(l.value, 2),
|
|
h = d[0],
|
|
f = d[1];
|
|
if (f.field_key && 0 !== f.field_key.length && "shipping_zip" !== f.field_key) {
|
|
var m = {
|
|
name: f.field_key,
|
|
selector: f.info.selector,
|
|
set_during_retrieve_opts: f.info.set_during_retrieve_opts,
|
|
reset_during_retrieve_opts: f.info.reset_during_retrieve_opts,
|
|
current_variant_selector: f.info.current_variant_selector,
|
|
current_variant_selector_property: f.info.current_variant_selector_property,
|
|
current_variant_selector_regex: f.info.current_variant_selector_regex,
|
|
text_only: f.info.text_only,
|
|
timeout: f.info.timeout,
|
|
recording_idx: h
|
|
};
|
|
"2" === f.type.toString() ? m.type = f.info.tagName : "1010" === f.type.toString() ? (m.get = f.info.get, m.set = f.info.set, m.type = "CUSTOM") : "1012" === f.type.toString() && (m.text_attr_selector = f.info.text_attr_selector, m.value_attr_selector = f.info.value_attr_selector, m.skip_selector = f.info.skip_selector, m.skip_during_set_selector = f.info.skip_during_set_selector, m.type = "SWATCH"), u.push(m)
|
|
}
|
|
}
|
|
} catch (e) {
|
|
p.e(e)
|
|
} finally {
|
|
p.f()
|
|
}
|
|
}
|
|
return u = ra(u, function(e) {
|
|
return Math.round(e.recording_idx)
|
|
}), n.requiredFields = u, n.variantChangeEventType = r.variant_change_event_type, n
|
|
},
|
|
productFetcher1: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t);
|
|
return n.platform = r.platform, n
|
|
},
|
|
productFetcher2: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t);
|
|
return n.platform = r.platform, n
|
|
},
|
|
productFetcher28: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t);
|
|
return n.platform = r.platform, n
|
|
},
|
|
productFetcher98: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t);
|
|
return n.platform = r.platform, n
|
|
},
|
|
productFetcher185: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t);
|
|
return n.platform = r.platform, n
|
|
},
|
|
productFetcher200: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t);
|
|
return n.platform = r.platform, n
|
|
},
|
|
productFetcher143839615565492452: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t);
|
|
return n.platform = r.platform, n
|
|
},
|
|
productFetcher459685887096746335: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t);
|
|
return n.platform = r.platform, n
|
|
},
|
|
productFetcher7360555217192209452: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t);
|
|
return n.platform = r.platform, n
|
|
},
|
|
productFetcher7370049848889092396: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t);
|
|
return n.platform = r.platform, n
|
|
},
|
|
productFetcher7613592105936880680: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t);
|
|
return n.platform = r.platform, n
|
|
},
|
|
productFetcher7360676928657335852: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t);
|
|
return n.platform = r.platform, n
|
|
},
|
|
productFetcher477931476250495765: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t);
|
|
return n.platform = r.platform, n
|
|
},
|
|
productFetcher477931826759157670: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t);
|
|
return n.platform = r.platform, n
|
|
},
|
|
productFetcher477932326447320457: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t);
|
|
return n.platform = r.platform, n
|
|
},
|
|
productFetcher73: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t);
|
|
return n.platform = r.platform, n
|
|
},
|
|
submitOrderListener: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t),
|
|
i = function(e) {
|
|
var t = e && e.checkout_recording_noauth,
|
|
r = e && e.checkout_recording_auth,
|
|
n = {};
|
|
return t && t.length && (n.submitOrderBtnNoAuthSel = t[t.length - 1].selector), r && r.length && (n.submitOrderBtnAuthSel = r[r.length - 1].selector), n
|
|
}(r),
|
|
a = i.submitOrderBtnAuthSel,
|
|
o = i.submitOrderBtnNoAuthSel;
|
|
return n.submitOrderPageSelectors = {
|
|
submitOrderBtnAuthSel: a,
|
|
submitOrderBtnNoAuthSel: o
|
|
}, n.submitOrderBtnAuthSel = a, n.submitOrderBtnNoAuthSel = o, n
|
|
},
|
|
whereAmI: function(e, t, r) {
|
|
var n = yt(e, t),
|
|
i = _t(n, t),
|
|
a = {};
|
|
return i.storeId = n.honey_id, n.where_am_i && (i.whereAmIDelay = function(e) {
|
|
return e && e.delays && !Number.isNaN(Math.round(e.delays.add_to_cart)) ? Math.round(e.delays.add_to_cart) : 300
|
|
}(n), i.whereAmIGroupLookup = n.where_am_i.group_lookup_selector, i.whereAmIGroupLookupRegexp = n.where_am_i.group_lookup_regexp, i.whereAmIGroupLookupKey = n.where_am_i.group_lookup_key, i.whereAmIItemLookup = n.where_am_i.item_lookup_selector, i.whereAmIItemLookupRegexp = n.where_am_i.item_lookup_regexp, i.whereAmIItemLookupKey = n.where_am_i.item_lookup_key, i.whereAmICategory = n.where_am_i.category_selector, i.whereAmIImage = n.where_am_i.image_selector, i.whereAmIImagesRegexp = n.where_am_i.imagesRegexp, i.whereAmIKeyword = n.where_am_i.keyword_selector, i.whereAmIPrice = n.where_am_i.price_selector, i.whereAmITitle = n.where_am_i.title_selector, i.whereAmITitleRegexp = n.where_am_i.titleRegexp, i.gidMixin = n.where_am_i.gidMixin), i.currencyFormat = n.currencyFormat, n.h_legacy_metadata && (a.authTokenRegex = n.h_legacy_metadata.authTokenRegex, a.GQL_Query = n.h_legacy_metadata.GQL_Query, a.parentIdSelector1 = n.h_legacy_metadata.parentIdSelector1, a.parentIdValue1 = n.h_legacy_metadata.parentIdValue1, a.parentIdSelector2 = n.h_legacy_metadata.parentIdSelector2, a.parentIdValue2 = n.h_legacy_metadata.parentIdValue2, a.productApiBaseList = n.h_legacy_metadata.productApiBaseList, a.productIdSelector = n.h_legacy_metadata.productIdSelector, a.productIdSelectorValue = n.h_legacy_metadata.productIdSelectorValue, a.parentIdRegex = n.h_legacy_metadata.productIdRegex, a.baseURLRegex = n.h_legacy_metadata.baseURLRegex, a.productApiPageSelector = n.h_legacy_metadata.productApiPageSelector, a.productApiPageSelectorValue = n.h_legacy_metadata.productApiPageSelectorValue), i.v4Params = a, i
|
|
},
|
|
dacs: function(e, t) {
|
|
var r = yt(e, t),
|
|
n = _t(r, t);
|
|
return n.h_fs_final_price_selector = r.h_legacy_find_savings ? r.h_legacy_find_savings.h_fs_final_price_selector : "", n.honey_id = r.honey_id, n
|
|
}
|
|
};
|
|
|
|
function Ba(e, t, r, n) {
|
|
var i = Ua[t],
|
|
a = null;
|
|
return i ? a = i(e, r, n) : rt.warn("No top-level params fn for ".concat(t)), a
|
|
}
|
|
var Wa = rt.setLogger,
|
|
La = Object.values(g),
|
|
$a = Object.values(m);
|
|
|
|
function Ga(e, t, r) {
|
|
return Ja.apply(this, arguments)
|
|
}
|
|
|
|
function Ja() {
|
|
return (Ja = i(o().mark(function e(t, r, n) {
|
|
var i;
|
|
return o().wrap(function(e) {
|
|
for (;;) switch (e.prev = e.next) {
|
|
case 0:
|
|
return i = [], La.includes(t) || i.push("mainVimName is missing or is invalid"), r || i.push("storeId is missing"), $a.includes(n) || i.push("platform is missing or is invalid"), e.abrupt("return", i);
|
|
case 5:
|
|
case "end":
|
|
return e.stop()
|
|
}
|
|
}, e)
|
|
}))).apply(this, arguments)
|
|
}
|
|
|
|
function qa(e, t, r, n) {
|
|
return za.apply(this, arguments)
|
|
}
|
|
|
|
function za() {
|
|
return za = i(o().mark(function e(t, r, n, i) {
|
|
var a, s, c, u, l, p, d = arguments;
|
|
return o().wrap(function(e) {
|
|
for (;;) switch (e.prev = e.next) {
|
|
case 0:
|
|
return a = d.length > 4 && void 0 !== d[4] ? d[4] : {}, s = (i || "").toLowerCase(), e.next = 4, Ga(r, n, s);
|
|
case 4:
|
|
if (0 === (u = e.sent).length) {
|
|
e.next = 7;
|
|
break
|
|
}
|
|
throw new InvalidParametersError(u.join("\n"));
|
|
case 7:
|
|
if (t) {
|
|
e.next = 9;
|
|
break
|
|
}
|
|
throw new NotFoundError("Recipe for store: ".concat(n, " not found"));
|
|
case 9:
|
|
l = Ba(t, r, s, a), e.prev = 10, c = dt(r, l, s, a), e.next = 19;
|
|
break;
|
|
case 14:
|
|
throw e.prev = 14, e.t0 = e.catch(10), p = {
|
|
storeId: n,
|
|
platform: s,
|
|
recipeStatus: t.status,
|
|
recipeId: t._id
|
|
}, Object.assign(e.t0, p), e.t0;
|
|
case 19:
|
|
if (rt.debug("Vim payload generated"), !c) {
|
|
e.next = 24;
|
|
break
|
|
}
|
|
return e.abrupt("return", {
|
|
recipe: {
|
|
updatedAt: Date.parse(t.updated_at)
|
|
},
|
|
mainVim: c.mainVim,
|
|
subVims: c.subVims
|
|
});
|
|
case 24:
|
|
return e.abrupt("return", c);
|
|
case 25:
|
|
case "end":
|
|
return e.stop()
|
|
}
|
|
}, e, null, [
|
|
[10, 14]
|
|
])
|
|
})), za.apply(this, arguments)
|
|
}
|
|
|
|
function Ka(e, t, r, n) {
|
|
return Qa.apply(this, arguments)
|
|
}
|
|
|
|
function Qa() {
|
|
return Qa = i(o().mark(function e(t, r, n, i) {
|
|
var a, s, c = arguments;
|
|
return o().wrap(function(e) {
|
|
for (;;) switch (e.prev = e.next) {
|
|
case 0:
|
|
return a = c.length > 4 && void 0 !== c[4] ? c[4] : {}, e.next = 3, Ga(r, n, i);
|
|
case 3:
|
|
if (0 === (s = e.sent).length) {
|
|
e.next = 6;
|
|
break
|
|
}
|
|
throw new InvalidParametersError(s.join("\n"));
|
|
case 6:
|
|
return e.abrupt("return", qa(t, r, n, i, a));
|
|
case 7:
|
|
case "end":
|
|
return e.stop()
|
|
}
|
|
}, e)
|
|
})), Qa.apply(this, arguments)
|
|
}
|
|
var Xa = {
|
|
VIMS: g,
|
|
V4_VIM_PREFIXES: {
|
|
pageDetector: "pageDetector",
|
|
productFetcherFull: "productFetcher",
|
|
productFetcherPartial: "productFetcher"
|
|
},
|
|
PLATFORMS: m,
|
|
FRAMEWORKS: y,
|
|
NATIVE_ACTIONS: {
|
|
AnnounceAsEvent: "announceAsEvent",
|
|
ApplyShape: "applyShape",
|
|
DecideExtrasToProcess: "decideExtrasToProcess",
|
|
EchoToVariable: "echoToVariable",
|
|
EchoToVariableComplete: "echoToVariableComplete",
|
|
Finish: "finish",
|
|
HandleMixin: "handleMixin",
|
|
HandleMixinResult: "handleMixinResult",
|
|
PageGoto: "page.goto",
|
|
RegisterSetupSubVims: "registerSetupSubVims",
|
|
ReportCleanedProduct: "reportCleanedProduct",
|
|
ReportFramework: "reportFramework",
|
|
ReportOrderId: "reportOrderId",
|
|
ReportPageTypes: "reportPageTypes",
|
|
ReportSubmitOrderClick: "reportSubmitOrderClick",
|
|
ReportWhereAmI: "reportWhereAmI",
|
|
Result: "result",
|
|
RunVimInContext: "runVimInContext",
|
|
SaveHtml: "saveHtml",
|
|
SendFullProduct: "sendFullProduct",
|
|
TakeSnapshot: "takeSnapshot",
|
|
WaitForPageUpdate: "waitForPageUpdate",
|
|
WaitForVariantChange: "waitForVariantChange",
|
|
WatchVariants: "watchVariants",
|
|
WriteError: "writeError",
|
|
runDacs: "runDacs",
|
|
GetPageHtml: "getPageHtml"
|
|
}
|
|
}
|
|
})(), module.exports.VimGenerator = n
|
|
})()
|
|
},
|
|
47255: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912)),
|
|
_helpers = _interopRequireDefault(__webpack_require__(16065));
|
|
exports.default = new _dac.default({
|
|
description: "Gap FS",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 20
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "91",
|
|
name: "Gap"
|
|
}],
|
|
doDac: async function(couponCode, selector, priceAmt, applyBestCode) {
|
|
let price = priceAmt;
|
|
return function(res) {
|
|
try {
|
|
price = res.summaryOfCharges.myTotal
|
|
} catch (e) {}
|
|
Number(_legacyHoneyUtils.default.cleanPrice(price)) < priceAmt && (0, _jquery.default)("#shopping-bag-page span.total-price").text(price)
|
|
}(await async function() {
|
|
const brandType = ((0, _jquery.default)("script:contains(SHOPPING_BAG_STATE)").text().match(/brandType":"(\w+)"/) || [])[1],
|
|
res = _jquery.default.ajax({
|
|
url: "https://secure-www.gap.com/shopping-bag-xapi/apply-bag-promo/",
|
|
method: "POST",
|
|
headers: {
|
|
"bag-ui-leapfrog": "false",
|
|
channel: "WEB",
|
|
brand: "GP",
|
|
brandtype: brandType || "specialty",
|
|
market: "US",
|
|
guest: "true",
|
|
locale: "en_US",
|
|
"content-type": "application/json;charset=UTF-8"
|
|
},
|
|
data: JSON.stringify({
|
|
promoCode: couponCode
|
|
})
|
|
});
|
|
return await res.done(_data => {
|
|
_logger.default.debug("Finishing applying code")
|
|
}), res
|
|
}()), !0 === applyBestCode && (window.location = window.location.href, await (0, _helpers.default)(2e3)), Number(_legacyHoneyUtils.default.cleanPrice(price))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
47586: module => {
|
|
"use strict";
|
|
module.exports = {
|
|
_hasUFlag: !1,
|
|
shouldRun: function(ast) {
|
|
var shouldRun = ast.flags.includes("s");
|
|
return !!shouldRun && (ast.flags = ast.flags.replace("s", ""), this._hasUFlag = ast.flags.includes("u"), !0)
|
|
},
|
|
Char: function(path) {
|
|
var node = path.node;
|
|
if ("meta" === node.kind && "." === node.value) {
|
|
var toValue = "\\uFFFF",
|
|
toSymbol = "\uffff";
|
|
this._hasUFlag && (toValue = "\\u{10FFFF}", toSymbol = "\u{10ffff}"), path.replace({
|
|
type: "CharacterClass",
|
|
expressions: [{
|
|
type: "ClassRange",
|
|
from: {
|
|
type: "Char",
|
|
value: "\\0",
|
|
kind: "decimal",
|
|
symbol: "\0"
|
|
},
|
|
to: {
|
|
type: "Char",
|
|
value: toValue,
|
|
kind: "unicode",
|
|
symbol: toSymbol
|
|
}
|
|
}]
|
|
})
|
|
}
|
|
}
|
|
}
|
|
},
|
|
48432: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var compatTransforms = __webpack_require__(55320),
|
|
_transform = __webpack_require__(60261);
|
|
module.exports = {
|
|
transform: function(regexp) {
|
|
var transformsWhitelist = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [],
|
|
transformToApply = transformsWhitelist.length > 0 ? transformsWhitelist : Object.keys(compatTransforms),
|
|
result = void 0,
|
|
extra = {};
|
|
return transformToApply.forEach(function(transformName) {
|
|
if (!compatTransforms.hasOwnProperty(transformName)) throw new Error("Unknown compat-transform: " + transformName + ". Available transforms are: " + Object.keys(compatTransforms).join(", "));
|
|
var handler = compatTransforms[transformName];
|
|
result = _transform.transform(regexp, handler), regexp = result.getAST(), "function" == typeof handler.getExtra && (extra[transformName] = handler.getExtra())
|
|
}), result.setExtra(extra), result
|
|
}
|
|
}
|
|
},
|
|
48494: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912));
|
|
exports.default = new _dac.default({
|
|
description: "Pretty Little Thing France DAC",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 10
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "119062354917200533",
|
|
name: "PrettyLittleThing France"
|
|
}],
|
|
doDac: async function(code, selector, priceAmt, applyBestCode) {
|
|
const page = window.location.href,
|
|
formKey = (document.cookie.match("form_key=(.*?);") || [])[1],
|
|
newrelicId = ((0, _jquery.default)("script").text().match('xpid:"(.*=)"}') || [])[1],
|
|
csrfToken = (document.cookie.match("_csrf=(.*?);") || [])[1],
|
|
postCode = (0, _jquery.default)("span.postcode").text();
|
|
let price = priceAmt;
|
|
if (page.match("checkout/cart")) {
|
|
! function(res) {
|
|
try {
|
|
price = _legacyHoneyUtils.default.cleanPrice(res.grand_total)
|
|
} catch (e) {}
|
|
Number(price) < priceAmt && (0, _jquery.default)(selector).text(price)
|
|
}(await async function() {
|
|
const activeCode = code,
|
|
res = _jquery.default.ajax({
|
|
url: "https://www.prettylittlething.fr/pltmobile/coupon/couponPost/",
|
|
method: "POST",
|
|
headers: {
|
|
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
|
|
accept: "application/json, text/javascript, */*; q=0.01",
|
|
"x-newrelic-id": newrelicId
|
|
},
|
|
data: {
|
|
code: activeCode,
|
|
form_key: formKey
|
|
}
|
|
});
|
|
return await res.done(_data => {
|
|
_logger.default.debug("Applying cart code")
|
|
}), res
|
|
}()), !1 === applyBestCode && await async function() {
|
|
const res = _jquery.default.ajax({
|
|
url: "https://www.prettylittlething.fr/pltmobile/coupon/couponPost/",
|
|
method: "POST",
|
|
headers: {
|
|
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
|
|
accept: "application/json, text/javascript, */*; q=0.01",
|
|
"x-newrelic-id": newrelicId
|
|
},
|
|
data: {
|
|
code: "",
|
|
remove: "1",
|
|
form_key: formKey
|
|
}
|
|
});
|
|
await res.done(_data => {
|
|
_logger.default.debug("Removing code")
|
|
})
|
|
}()
|
|
} else if (page.match("checkout.prettylittlething.fr")) {
|
|
! function(res) {
|
|
try {
|
|
price = _legacyHoneyUtils.default.formatPrice(res.quote.quote.grand_total)
|
|
} catch (e) {}
|
|
}(await async function() {
|
|
const res = _jquery.default.ajax({
|
|
url: "https://checkout.prettylittlething.fr/checkout-api/coupon/set",
|
|
method: "POST",
|
|
headers: {
|
|
Accept: "application/json",
|
|
"content-type": "application/x-www-form-urlencoded",
|
|
"x-csrf-token": csrfToken
|
|
},
|
|
data: {
|
|
coupon_code: code,
|
|
form_key: formKey,
|
|
countryId: "FR",
|
|
postcode: postCode
|
|
}
|
|
});
|
|
return await res.done(_data => {
|
|
_logger.default.debug("Applying checkout code")
|
|
}), res
|
|
}()), !1 === applyBestCode && await async function() {
|
|
const res = _jquery.default.ajax({
|
|
url: "https://checkout.prettylittlething.fr/checkout-api/coupon",
|
|
method: "POST",
|
|
headers: {
|
|
Accept: "application/json",
|
|
"content-type": "application/x-www-form-urlencoded",
|
|
"x-csrf-token": csrfToken
|
|
},
|
|
data: {
|
|
form_key: formKey,
|
|
countryId: "FR",
|
|
postcode: postCode
|
|
}
|
|
});
|
|
await res.done(_data => {
|
|
_logger.default.debug("Removing code")
|
|
})
|
|
}()
|
|
}
|
|
return !0 === applyBestCode && (window.location = window.location.href, await new Promise(resolve => window.addEventListener("load", resolve)), await sleep(2e3)), Number(_legacyHoneyUtils.default.cleanPrice(price))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
48504: module => {
|
|
"use strict";
|
|
module.exports = JSON.parse('{"name":"PPMinicart","groups":[],"isRequired":false,"scoreThreshold":5,"tests":[{"method":"testIfAncestorAttrsContain","options":{"tags":"a,button","expected":"minicart","generations":"2","matchWeight":"5","unMatchWeight":"1"},"_comment":"toms"},{"method":"testIfInnerTextContainsLength","options":{"tags":"button","expected":"openshoppingcart","matchWeight":"5","unMatchWeight":"1"},"_comment":"toms"}],"preconditions":[],"shape":[{"value":"carttoggle$","weight":5,"scope":"aria-label","_comment":"glossier"},{"value":"showcart","weight":5,"scope":"class","_comment":"zagg"},{"value":"cart-icon","weight":3,"scope":"id","_comment":"onnit"},{"value":"minicart","weight":3,"scope":"class","_comment":"mvmt"},{"value":"shopping-bag","weight":3,"scope":"id","_comment":"victorias-secret"},{"value":"shoppingbag","weight":2,"scope":"title","_comment":"victorias-secret"},{"value":"shopping-bag","weight":2,"scope":"class","_comment":"toms"},{"value":"false","weight":2,"scope":"aria-expanded","_comment":"glossier"},{"value":"false","weight":2,"scope":"aria-pressed","_comment":"glossier"},{"value":"true","weight":2,"scope":"aria-haspopup","_comment":"onnit"}]}')
|
|
},
|
|
48588: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912)),
|
|
_helpers = _interopRequireDefault(__webpack_require__(16065));
|
|
exports.default = new _dac.default({
|
|
description: "Athleta FS",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 20
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "20",
|
|
name: "Athleta"
|
|
}],
|
|
doDac: async function(couponCode, selector, priceAmt, applyBestCode) {
|
|
let price = priceAmt;
|
|
return function(res) {
|
|
try {
|
|
price = res.summaryOfCharges.myTotal
|
|
} catch (e) {}
|
|
Number(_legacyHoneyUtils.default.cleanPrice(price)) < priceAmt && (0, _jquery.default)("#shopping-bag-page span.total-price").text(price)
|
|
}(await async function() {
|
|
const brandType = ((0, _jquery.default)("script:contains(SHOPPING_BAG_STATE)").text().match(/brandType":"(\w+)"/) || [])[1],
|
|
res = _jquery.default.ajax({
|
|
url: "https://secure-athleta.gap.com/shopping-bag-xapi/apply-bag-promo/",
|
|
method: "POST",
|
|
headers: {
|
|
"bag-ui-leapfrog": "false",
|
|
channel: "WEB",
|
|
brand: "AT",
|
|
brandtype: brandType || "specialty",
|
|
market: "US",
|
|
guest: "true",
|
|
locale: "en_US",
|
|
"content-type": "application/json;charset=UTF-8"
|
|
},
|
|
data: JSON.stringify({
|
|
promoCode: couponCode
|
|
})
|
|
});
|
|
return await res.done(_data => {
|
|
_logger.default.debug("Finishing code application")
|
|
}), res
|
|
}()), !0 === applyBestCode && (window.location = window.location.href, await (0, _helpers.default)(2e3)), Number(_legacyHoneyUtils.default.cleanPrice(price))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
48759: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function(instance, scope, inBrowserContext) {
|
|
const defaultOptions = instance.defaultOptions;
|
|
_ttClient.default.consoleToUse = (defaultOptions.console || {}).logger || console;
|
|
const utilsObj = instance.createObject(instance.OBJECT);
|
|
instance.setProperty(scope, "__utils__", utilsObj, _Instance.default.READONLY_DESCRIPTOR), Object.entries(_ttClient.default).forEach(([fnName, fnObj]) => {
|
|
const {
|
|
fn,
|
|
browserOnly
|
|
} = fnObj;
|
|
browserOnly && !inBrowserContext || instance.setProperty(utilsObj, fnName, instance.createNativeFunction((...args) => {
|
|
try {
|
|
const nativeArgs = args.map(e => {
|
|
let nativeObj = instance.pseudoToNative(e);
|
|
return nativeObj instanceof _jquery.default && (nativeObj = nativeObj.get(0)), nativeObj
|
|
}),
|
|
result = fn(...nativeArgs);
|
|
return instance.nativeToPseudo(result)
|
|
} catch (e) {
|
|
throw e.message = `Error in __utils__.${fnName}: ${e.message}`, e
|
|
}
|
|
}), _Instance.default.READONLY_DESCRIPTOR)
|
|
})
|
|
};
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_Instance = _interopRequireDefault(__webpack_require__(76352)),
|
|
_ttClient = _interopRequireDefault(__webpack_require__(67230));
|
|
module.exports = exports.default
|
|
},
|
|
48817: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912));
|
|
exports.default = new _dac.default({
|
|
description: "Papajohns Meta Function",
|
|
author: "Honey Team",
|
|
version: "0.2.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "7422251026229945098",
|
|
name: "Papa John's"
|
|
}],
|
|
doDac: async function(code, selector, priceAmt) {
|
|
let price = priceAmt;
|
|
try {
|
|
await _jquery.default.get("https://www.papajohns.com/order/validate-promo?promo-code=" + code), await _jquery.default.get("https://www.papajohns.com/order/apply-promo/" + code + "?promo-code=" + code)
|
|
} catch (e) {
|
|
_logger.default.debug("Error", e)
|
|
}
|
|
const html = await async function() {
|
|
let res;
|
|
try {
|
|
res = _jquery.default.ajax({
|
|
type: "GET",
|
|
url: "https://www.papajohns.com/order/view-cart",
|
|
data: {
|
|
format: "ajax"
|
|
}
|
|
}), await res.done(data => {
|
|
_logger.default.debug("Finishing applying coupon")
|
|
})
|
|
} catch (e) {
|
|
_logger.default.debug("Error", e)
|
|
}
|
|
return res
|
|
}();
|
|
return price = (0, _jquery.default)(html).find(selector).text(), (0, _jquery.default)(selector).text(price), price
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
49024: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912)),
|
|
_helpers = _interopRequireDefault(__webpack_require__(16065));
|
|
exports.default = new _dac.default({
|
|
description: "Saks Fifth Avenue",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 6
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "158",
|
|
name: "Saks Fifth Avenue"
|
|
}],
|
|
doDac: async function(couponCode, selector, priceAmt, applyBestCode) {
|
|
let price = priceAmt;
|
|
if (!0 !== applyBestCode) {
|
|
const res = await async function() {
|
|
const csrfToken = (0, _jquery.default)('input[name="csrf_token"]').attr("value") || "";
|
|
let res;
|
|
try {
|
|
res = _jquery.default.ajax({
|
|
url: "https://www.saksfifthavenue.com/cart-coupon-add",
|
|
type: "GET",
|
|
headers: {
|
|
accept: "application/json, text/javascript, */*; q=0.01"
|
|
},
|
|
data: {
|
|
couponCode,
|
|
csrf_token: csrfToken
|
|
}
|
|
}), await res.done(_data => {
|
|
_logger.default.debug("Finishing code application")
|
|
}).fail((xhr, textStatus, errorThrown) => {
|
|
_logger.default.debug(`Coupon Apply Error: ${errorThrown}`)
|
|
})
|
|
} catch (e) {}
|
|
return res
|
|
}();
|
|
await async function(res) {
|
|
try {
|
|
price = Number(_legacyHoneyUtils.default.cleanPrice(res.totals.grandTotal))
|
|
} catch (e) {}
|
|
price < priceAmt && (0, _jquery.default)(selector).text(price)
|
|
}(res), await (0, _helpers.default)(2500)
|
|
} else window.location = window.location.href, await (0, _helpers.default)(2e3);
|
|
return Number(_legacyHoneyUtils.default.cleanPrice(price))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
49116: module => {
|
|
function _typeof(o) {
|
|
return module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
|
|
return typeof o
|
|
} : function(o) {
|
|
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o
|
|
}, module.exports.__esModule = !0, module.exports.default = module.exports, _typeof(o)
|
|
}
|
|
module.exports = _typeof, module.exports.__esModule = !0, module.exports.default = module.exports
|
|
},
|
|
49217: module => {
|
|
var nativeFloor = Math.floor,
|
|
nativeRandom = Math.random;
|
|
module.exports = function(lower, upper) {
|
|
return lower + nativeFloor(nativeRandom() * (upper - lower + 1))
|
|
}
|
|
},
|
|
49288: module => {
|
|
module.exports = function(e) {
|
|
return e && e.__esModule ? e : {
|
|
default: e
|
|
}
|
|
}, module.exports.__esModule = !0, module.exports.default = module.exports
|
|
},
|
|
49451: function(module, exports, __webpack_require__) {
|
|
var CryptoJS;
|
|
module.exports = (CryptoJS = CryptoJS || function(Math, undefined) {
|
|
var crypto;
|
|
if ("undefined" != typeof window && window.crypto && (crypto = window.crypto), "undefined" != typeof self && self.crypto && (crypto = self.crypto), "undefined" != typeof globalThis && globalThis.crypto && (crypto = globalThis.crypto), !crypto && "undefined" != typeof window && window.msCrypto && (crypto = window.msCrypto), !crypto && void 0 !== __webpack_require__.g && __webpack_require__.g.crypto && (crypto = __webpack_require__.g.crypto), !crypto) try {
|
|
crypto = __webpack_require__(50477)
|
|
} catch (err) {}
|
|
var cryptoSecureRandomInt = function() {
|
|
if (crypto) {
|
|
if ("function" == typeof crypto.getRandomValues) try {
|
|
return crypto.getRandomValues(new Uint32Array(1))[0]
|
|
} catch (err) {}
|
|
if ("function" == typeof crypto.randomBytes) try {
|
|
return crypto.randomBytes(4).readInt32LE()
|
|
} catch (err) {}
|
|
}
|
|
throw new Error("Native crypto module could not be used to get secure random number.")
|
|
},
|
|
create = Object.create || function() {
|
|
function F() {}
|
|
return function(obj) {
|
|
var subtype;
|
|
return F.prototype = obj, subtype = new F, F.prototype = null, subtype
|
|
}
|
|
}(),
|
|
C = {},
|
|
C_lib = C.lib = {},
|
|
Base = C_lib.Base = {
|
|
extend: function(overrides) {
|
|
var subtype = create(this);
|
|
return overrides && subtype.mixIn(overrides), subtype.hasOwnProperty("init") && this.init !== subtype.init || (subtype.init = function() {
|
|
subtype.$super.init.apply(this, arguments)
|
|
}), subtype.init.prototype = subtype, subtype.$super = this, subtype
|
|
},
|
|
create: function() {
|
|
var instance = this.extend();
|
|
return instance.init.apply(instance, arguments), instance
|
|
},
|
|
init: function() {},
|
|
mixIn: function(properties) {
|
|
for (var propertyName in properties) properties.hasOwnProperty(propertyName) && (this[propertyName] = properties[propertyName]);
|
|
properties.hasOwnProperty("toString") && (this.toString = properties.toString)
|
|
},
|
|
clone: function() {
|
|
return this.init.prototype.extend(this)
|
|
}
|
|
},
|
|
WordArray = C_lib.WordArray = Base.extend({
|
|
init: function(words, sigBytes) {
|
|
words = this.words = words || [], this.sigBytes = sigBytes != undefined ? sigBytes : 4 * words.length
|
|
},
|
|
toString: function(encoder) {
|
|
return (encoder || Hex).stringify(this)
|
|
},
|
|
concat: function(wordArray) {
|
|
var thisWords = this.words,
|
|
thatWords = wordArray.words,
|
|
thisSigBytes = this.sigBytes,
|
|
thatSigBytes = wordArray.sigBytes;
|
|
if (this.clamp(), thisSigBytes % 4)
|
|
for (var i = 0; i < thatSigBytes; i++) {
|
|
var thatByte = thatWords[i >>> 2] >>> 24 - i % 4 * 8 & 255;
|
|
thisWords[thisSigBytes + i >>> 2] |= thatByte << 24 - (thisSigBytes + i) % 4 * 8
|
|
} else
|
|
for (var j = 0; j < thatSigBytes; j += 4) thisWords[thisSigBytes + j >>> 2] = thatWords[j >>> 2];
|
|
return this.sigBytes += thatSigBytes, this
|
|
},
|
|
clamp: function() {
|
|
var words = this.words,
|
|
sigBytes = this.sigBytes;
|
|
words[sigBytes >>> 2] &= 4294967295 << 32 - sigBytes % 4 * 8, words.length = Math.ceil(sigBytes / 4)
|
|
},
|
|
clone: function() {
|
|
var clone = Base.clone.call(this);
|
|
return clone.words = this.words.slice(0), clone
|
|
},
|
|
random: function(nBytes) {
|
|
for (var words = [], i = 0; i < nBytes; i += 4) words.push(cryptoSecureRandomInt());
|
|
return new WordArray.init(words, nBytes)
|
|
}
|
|
}),
|
|
C_enc = C.enc = {},
|
|
Hex = C_enc.Hex = {
|
|
stringify: function(wordArray) {
|
|
for (var words = wordArray.words, sigBytes = wordArray.sigBytes, hexChars = [], i = 0; i < sigBytes; i++) {
|
|
var bite = words[i >>> 2] >>> 24 - i % 4 * 8 & 255;
|
|
hexChars.push((bite >>> 4).toString(16)), hexChars.push((15 & bite).toString(16))
|
|
}
|
|
return hexChars.join("")
|
|
},
|
|
parse: function(hexStr) {
|
|
for (var hexStrLength = hexStr.length, words = [], i = 0; i < hexStrLength; i += 2) words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << 24 - i % 8 * 4;
|
|
return new WordArray.init(words, hexStrLength / 2)
|
|
}
|
|
},
|
|
Latin1 = C_enc.Latin1 = {
|
|
stringify: function(wordArray) {
|
|
for (var words = wordArray.words, sigBytes = wordArray.sigBytes, latin1Chars = [], i = 0; i < sigBytes; i++) {
|
|
var bite = words[i >>> 2] >>> 24 - i % 4 * 8 & 255;
|
|
latin1Chars.push(String.fromCharCode(bite))
|
|
}
|
|
return latin1Chars.join("")
|
|
},
|
|
parse: function(latin1Str) {
|
|
for (var latin1StrLength = latin1Str.length, words = [], i = 0; i < latin1StrLength; i++) words[i >>> 2] |= (255 & latin1Str.charCodeAt(i)) << 24 - i % 4 * 8;
|
|
return new WordArray.init(words, latin1StrLength)
|
|
}
|
|
},
|
|
Utf8 = C_enc.Utf8 = {
|
|
stringify: function(wordArray) {
|
|
try {
|
|
return decodeURIComponent(escape(Latin1.stringify(wordArray)))
|
|
} catch (e) {
|
|
throw new Error("Malformed UTF-8 data")
|
|
}
|
|
},
|
|
parse: function(utf8Str) {
|
|
return Latin1.parse(unescape(encodeURIComponent(utf8Str)))
|
|
}
|
|
},
|
|
BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({
|
|
reset: function() {
|
|
this._data = new WordArray.init, this._nDataBytes = 0
|
|
},
|
|
_append: function(data) {
|
|
"string" == typeof data && (data = Utf8.parse(data)), this._data.concat(data), this._nDataBytes += data.sigBytes
|
|
},
|
|
_process: function(doFlush) {
|
|
var processedWords, data = this._data,
|
|
dataWords = data.words,
|
|
dataSigBytes = data.sigBytes,
|
|
blockSize = this.blockSize,
|
|
nBlocksReady = dataSigBytes / (4 * blockSize),
|
|
nWordsReady = (nBlocksReady = doFlush ? Math.ceil(nBlocksReady) : Math.max((0 | nBlocksReady) - this._minBufferSize, 0)) * blockSize,
|
|
nBytesReady = Math.min(4 * nWordsReady, dataSigBytes);
|
|
if (nWordsReady) {
|
|
for (var offset = 0; offset < nWordsReady; offset += blockSize) this._doProcessBlock(dataWords, offset);
|
|
processedWords = dataWords.splice(0, nWordsReady), data.sigBytes -= nBytesReady
|
|
}
|
|
return new WordArray.init(processedWords, nBytesReady)
|
|
},
|
|
clone: function() {
|
|
var clone = Base.clone.call(this);
|
|
return clone._data = this._data.clone(), clone
|
|
},
|
|
_minBufferSize: 0
|
|
}),
|
|
C_algo = (C_lib.Hasher = BufferedBlockAlgorithm.extend({
|
|
cfg: Base.extend(),
|
|
init: function(cfg) {
|
|
this.cfg = this.cfg.extend(cfg), this.reset()
|
|
},
|
|
reset: function() {
|
|
BufferedBlockAlgorithm.reset.call(this), this._doReset()
|
|
},
|
|
update: function(messageUpdate) {
|
|
return this._append(messageUpdate), this._process(), this
|
|
},
|
|
finalize: function(messageUpdate) {
|
|
return messageUpdate && this._append(messageUpdate), this._doFinalize()
|
|
},
|
|
blockSize: 16,
|
|
_createHelper: function(hasher) {
|
|
return function(message, cfg) {
|
|
return new hasher.init(cfg).finalize(message)
|
|
}
|
|
},
|
|
_createHmacHelper: function(hasher) {
|
|
return function(message, key) {
|
|
return new C_algo.HMAC.init(hasher, key).finalize(message)
|
|
}
|
|
}
|
|
}), C.algo = {});
|
|
return C
|
|
}(Math), CryptoJS)
|
|
},
|
|
49551: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
const ErrorReportingMixinBase = __webpack_require__(90745),
|
|
ErrorReportingPreprocessorMixin = __webpack_require__(94327),
|
|
Mixin = __webpack_require__(28338);
|
|
module.exports = class extends ErrorReportingMixinBase {
|
|
constructor(tokenizer, opts) {
|
|
super(tokenizer, opts);
|
|
const preprocessorMixin = Mixin.install(tokenizer.preprocessor, ErrorReportingPreprocessorMixin, opts);
|
|
this.posTracker = preprocessorMixin.posTracker
|
|
}
|
|
}
|
|
},
|
|
49559: module => {
|
|
"use strict";
|
|
module.exports = URIError
|
|
},
|
|
49746: () => {},
|
|
49932: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var NFA = __webpack_require__(91427),
|
|
DFA = __webpack_require__(25791),
|
|
nfaFromRegExp = __webpack_require__(42968),
|
|
builders = __webpack_require__(65850);
|
|
module.exports = {
|
|
NFA,
|
|
DFA,
|
|
builders,
|
|
toNFA: function(regexp) {
|
|
return nfaFromRegExp.build(regexp)
|
|
},
|
|
toDFA: function(regexp) {
|
|
return new DFA(this.toNFA(regexp))
|
|
},
|
|
test: function(regexp, string) {
|
|
return this.toDFA(regexp).matches(string)
|
|
}
|
|
}
|
|
},
|
|
50477: () => {},
|
|
50602: function(module, exports, __webpack_require__) {
|
|
var CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), __webpack_require__(74047),
|
|
/** @preserve
|
|
* Counter block mode compatible with Dr Brian Gladman fileenc.c
|
|
* derived from CryptoJS.mode.CTR
|
|
* Jan Hruby jhruby.web@gmail.com
|
|
*/
|
|
CryptoJS.mode.CTRGladman = function() {
|
|
var CTRGladman = CryptoJS.lib.BlockCipherMode.extend();
|
|
|
|
function incWord(word) {
|
|
if (255 & ~(word >> 24)) word += 1 << 24;
|
|
else {
|
|
var b1 = word >> 16 & 255,
|
|
b2 = word >> 8 & 255,
|
|
b3 = 255 & word;
|
|
255 === b1 ? (b1 = 0, 255 === b2 ? (b2 = 0, 255 === b3 ? b3 = 0 : ++b3) : ++b2) : ++b1, word = 0, word += b1 << 16, word += b2 << 8, word += b3
|
|
}
|
|
return word
|
|
}
|
|
|
|
function incCounter(counter) {
|
|
return 0 === (counter[0] = incWord(counter[0])) && (counter[1] = incWord(counter[1])), counter
|
|
}
|
|
var Encryptor = CTRGladman.Encryptor = CTRGladman.extend({
|
|
processBlock: function(words, offset) {
|
|
var cipher = this._cipher,
|
|
blockSize = cipher.blockSize,
|
|
iv = this._iv,
|
|
counter = this._counter;
|
|
iv && (counter = this._counter = iv.slice(0), this._iv = void 0), incCounter(counter);
|
|
var keystream = counter.slice(0);
|
|
cipher.encryptBlock(keystream, 0);
|
|
for (var i = 0; i < blockSize; i++) words[offset + i] ^= keystream[i]
|
|
}
|
|
});
|
|
return CTRGladman.Decryptor = Encryptor, CTRGladman
|
|
}(), CryptoJS.mode.CTRGladman)
|
|
},
|
|
50621: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912)),
|
|
_helpers = _interopRequireDefault(__webpack_require__(16065));
|
|
exports.default = new _dac.default({
|
|
description: "Staples Meta Function",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 10
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "177",
|
|
name: "staples"
|
|
}],
|
|
doDac: async function(code, selector, priceAmt, applyBestCode) {
|
|
let price = priceAmt;
|
|
return function(res) {
|
|
try {
|
|
price = res.cartInfo.cartSummary.ordTotal
|
|
} catch (e) {}
|
|
Number(_legacyHoneyUtils.default.cleanPrice(price)) < priceAmt && (0, _jquery.default)(selector).text("$" + price)
|
|
}(await async function() {
|
|
const res = _jquery.default.ajax({
|
|
url: "https://www.staples.com/cc/api/checkout/default/coupon?responseType=WHOLE&mmx=true&buyNow=true&dp=Coupon",
|
|
type: "POST",
|
|
headers: {
|
|
accept: "application/json, text/plain, */*",
|
|
"content-type": "application/json;charset=UTF-8"
|
|
},
|
|
data: JSON.stringify({
|
|
coupons: [code]
|
|
})
|
|
});
|
|
return await res.done(_data => {
|
|
_logger.default.debug("Finishing applying code")
|
|
}), res
|
|
}()), !0 === applyBestCode && (window.location = window.location.href, await (0, _helpers.default)(2e3)), Number(_legacyHoneyUtils.default.cleanPrice(price))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
50685: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
const state = this.stateStack[this.stateStack.length - 1];
|
|
state.done_ ? (this.stateStack.pop(), this.value = state.value) : (state.done_ = !0, this.stateStack.push({
|
|
node: state.node.expression
|
|
}))
|
|
}, module.exports = exports.default
|
|
},
|
|
50897: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var GetIntrinsic = __webpack_require__(73083),
|
|
callBound = __webpack_require__(33862),
|
|
inspect = __webpack_require__(88433),
|
|
getSideChannelMap = __webpack_require__(84997),
|
|
$TypeError = __webpack_require__(79809),
|
|
$WeakMap = GetIntrinsic("%WeakMap%", !0),
|
|
$weakMapGet = callBound("WeakMap.prototype.get", !0),
|
|
$weakMapSet = callBound("WeakMap.prototype.set", !0),
|
|
$weakMapHas = callBound("WeakMap.prototype.has", !0),
|
|
$weakMapDelete = callBound("WeakMap.prototype.delete", !0);
|
|
module.exports = $WeakMap ? function() {
|
|
var $wm, $m, channel = {
|
|
assert: function(key) {
|
|
if (!channel.has(key)) throw new $TypeError("Side channel does not contain " + inspect(key))
|
|
},
|
|
delete: function(key) {
|
|
if ($WeakMap && key && ("object" == typeof key || "function" == typeof key)) {
|
|
if ($wm) return $weakMapDelete($wm, key)
|
|
} else if (getSideChannelMap && $m) return $m.delete(key);
|
|
return !1
|
|
},
|
|
get: function(key) {
|
|
return $WeakMap && key && ("object" == typeof key || "function" == typeof key) && $wm ? $weakMapGet($wm, key) : $m && $m.get(key)
|
|
},
|
|
has: function(key) {
|
|
return $WeakMap && key && ("object" == typeof key || "function" == typeof key) && $wm ? $weakMapHas($wm, key) : !!$m && $m.has(key)
|
|
},
|
|
set: function(key, value) {
|
|
$WeakMap && key && ("object" == typeof key || "function" == typeof key) ? ($wm || ($wm = new $WeakMap), $weakMapSet($wm, key, value)) : getSideChannelMap && ($m || ($m = getSideChannelMap()), $m.set(key, value))
|
|
}
|
|
};
|
|
return channel
|
|
} : getSideChannelMap
|
|
},
|
|
51025: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function({
|
|
selector,
|
|
removeAttributes,
|
|
setAttributes,
|
|
setValue,
|
|
removeClasses,
|
|
addClasses,
|
|
order = "removeAttributes,setAttributes,setValue,removeClasses,addClasses"
|
|
}) {
|
|
const elementSelector = selector || "",
|
|
setAttributePairs = (0, _sharedFunctions.splitAndFilter)(setAttributes).map(pair => (0, _sharedFunctions.splitAndFilter)(pair, ":")).filter(pair => 2 === pair.length),
|
|
removeAttributeNames = (0, _sharedFunctions.splitAndFilter)(removeAttributes),
|
|
addClassNames = (0, _sharedFunctions.splitAndFilter)(addClasses),
|
|
removeClassNames = (0, _sharedFunctions.splitAndFilter)(removeClasses),
|
|
element = (0, _sharedFunctions.getElement)(elementSelector),
|
|
errors = [];
|
|
element || errors.push(`selector "${selector}" is missing or invalid`);
|
|
[setAttributePairs, setValue ? [setValue] : [], removeAttributeNames, addClassNames, removeClassNames].reduce((sum, arr) => sum + arr.length, 0) || errors.push(`\n addAttributes "${setAttributes}",\n setValue "${setValue}",\n removeAttributes "${removeAttributes}", \n addClasses "${addClasses}", \n and removeClasses "${removeClasses}" \n are missing or invalid. At least one is required.`);
|
|
if (errors.length) return new _mixinResponses.FailedMixinResponse(errors.join("\n").trim());
|
|
const operations = {
|
|
removeAttributes: () => removeAttributeNames.forEach(name => element.removeAttribute(name)),
|
|
setValue: () => {
|
|
setValue && (element.value = setValue)
|
|
},
|
|
setAttributes: () => setAttributePairs.forEach(pair => element.setAttribute(pair[0], pair[1])),
|
|
removeClasses: () => removeClassNames.forEach(name => element.classList.remove(name)),
|
|
addClasses: () => addClassNames.forEach(name => element.classList.add(name))
|
|
},
|
|
operationsInOrder = (0, _sharedFunctions.splitAndFilter)(order).map(operationName => operations[operationName] || !1).filter(a => a);
|
|
if (0 === operationsInOrder.length) return (0, _mixinResponses.FailedMixinResponse)(`invalid operation order ${order}`);
|
|
return operationsInOrder.forEach(operation => operation()), new _mixinResponses.SuccessfulMixinResponse("editAttributeAndClasses completed", {
|
|
setValue,
|
|
selector: elementSelector,
|
|
removeAttributes: removeAttributeNames,
|
|
setAttributes: setAttributePairs,
|
|
removeClasses: removeClassNames,
|
|
addClasses: addClassNames,
|
|
order: operationsInOrder
|
|
})
|
|
};
|
|
var _mixinResponses = __webpack_require__(34522),
|
|
_sharedFunctions = __webpack_require__(8627);
|
|
module.exports = exports.default
|
|
},
|
|
51500: function(module, exports, __webpack_require__) {
|
|
var CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), __webpack_require__(74047), CryptoJS.pad.Iso97971 = {
|
|
pad: function(data, blockSize) {
|
|
data.concat(CryptoJS.lib.WordArray.create([2147483648], 1)), CryptoJS.pad.ZeroPadding.pad(data, blockSize)
|
|
},
|
|
unpad: function(data) {
|
|
CryptoJS.pad.ZeroPadding.unpad(data), data.sigBytes--
|
|
}
|
|
}, CryptoJS.pad.Iso97971)
|
|
},
|
|
51977: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
exports.no = exports.noCase = __webpack_require__(37129), exports.dot = exports.dotCase = __webpack_require__(4555), exports.swap = exports.swapCase = __webpack_require__(68177), exports.path = exports.pathCase = __webpack_require__(7061), exports.upper = exports.upperCase = __webpack_require__(96817), exports.lower = exports.lowerCase = __webpack_require__(11895), exports.camel = exports.camelCase = __webpack_require__(19457), exports.snake = exports.snakeCase = __webpack_require__(19025), exports.title = exports.titleCase = __webpack_require__(87745), exports.param = exports.paramCase = __webpack_require__(30731), exports.header = exports.headerCase = __webpack_require__(46913), exports.pascal = exports.pascalCase = __webpack_require__(56961), exports.constant = exports.constantCase = __webpack_require__(73113), exports.sentence = exports.sentenceCase = __webpack_require__(92733), exports.isUpper = exports.isUpperCase = __webpack_require__(60577), exports.isLower = exports.isLowerCase = __webpack_require__(21105), exports.ucFirst = exports.upperCaseFirst = __webpack_require__(11363), exports.lcFirst = exports.lowerCaseFirst = __webpack_require__(9909)
|
|
},
|
|
52169: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function(instance, scope) {
|
|
const ERROR = instance.createNativeFunction(function(optMessage) {
|
|
const newError = this.parent === instance.ERROR ? this : instance.createObject(instance.ERROR);
|
|
return optMessage && instance.setProperty(newError, "message", instance.createPrimitive(String(optMessage)), _Instance.default.NONENUMERABLE_DESCRIPTOR), newError
|
|
});
|
|
|
|
function createErrorSubclass(name) {
|
|
const errorSubclassCtor = instance.createNativeFunction(function(optMessage) {
|
|
const newError = _Instance.default.isa(this.parent, ERROR) ? this : instance.createObject(errorSubclassCtor);
|
|
return optMessage && instance.setProperty(newError, "message", instance.createPrimitive(String(optMessage)), _Instance.default.NONENUMERABLE_DESCRIPTOR), newError
|
|
});
|
|
return instance.setProperty(errorSubclassCtor, "prototype", instance.createObject(ERROR)), instance.setProperty(errorSubclassCtor.properties.prototype, "name", instance.createPrimitive(name), _Instance.default.NONENUMERABLE_DESCRIPTOR), instance.setProperty(scope, name, errorSubclassCtor), errorSubclassCtor
|
|
}
|
|
return instance.setCoreObject("ERROR", ERROR), instance.setProperty(scope, "Error", ERROR, _Instance.default.READONLY_DESCRIPTOR), instance.setProperty(ERROR.properties.prototype, "message", instance.STRING_EMPTY, _Instance.default.NONENUMERABLE_DESCRIPTOR), instance.setProperty(ERROR.properties.prototype, "name", instance.createPrimitive("Error"), _Instance.default.NONENUMERABLE_DESCRIPTOR), instance.setCoreObject("EVAL_ERROR", createErrorSubclass("EvalError")), instance.setCoreObject("RANGE_ERROR", createErrorSubclass("RangeError")), instance.setCoreObject("REFERENCE_ERROR", createErrorSubclass("ReferenceError")), instance.setCoreObject("SYNTAX_ERROR", createErrorSubclass("SyntaxError")), instance.setCoreObject("TYPE_ERROR", createErrorSubclass("TypeError")), instance.setCoreObject("URI_ERROR", createErrorSubclass("URIError")), ERROR
|
|
};
|
|
var _Instance = _interopRequireDefault(__webpack_require__(76352));
|
|
module.exports = exports.default
|
|
},
|
|
52186: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function(instance, scope) {
|
|
const STRING = instance.createNativeFunction(function(inValue) {
|
|
const value = inValue ? inValue.toString() : "";
|
|
return this.parent !== instance.STRING ? instance.createPrimitive(value) : (this.data = value, this)
|
|
});
|
|
return instance.setCoreObject("STRING", STRING), instance.setProperty(scope, "String", STRING, _Instance.default.READONLY_DESCRIPTOR), instance.setProperty(STRING, "fromCharCode", instance.createNativeFunction((...pseudoArgs) => {
|
|
const nativeArgs = pseudoArgs.map(pseudoArg => pseudoArg.toNumber());
|
|
return instance.createPrimitive(String.fromCharCode(...nativeArgs))
|
|
}), _Instance.default.NONENUMERABLE_DESCRIPTOR), instance.setProperty(STRING, "clean", instance.createNativeFunction((pseudoSrc, pseudoDefault) => {
|
|
try {
|
|
const nativeSrc = instance.pseudoToNative(pseudoSrc),
|
|
nativeDefault = instance.pseudoToNative(pseudoDefault),
|
|
nativeClean = `${nativeSrc||""}`.trim() || nativeDefault;
|
|
return instance.createPrimitive(nativeClean)
|
|
} catch (err) {
|
|
return instance.throwException(instance.ERROR, err && err.message), null
|
|
}
|
|
}), _Instance.default.NONENUMERABLE_DESCRIPTOR), instance.setProperty(STRING, "cleanLower", instance.createNativeFunction((pseudoSrc, pseudoDefault) => {
|
|
try {
|
|
const nativeSrc = instance.pseudoToNative(pseudoSrc),
|
|
nativeDefault = instance.pseudoToNative(pseudoDefault),
|
|
nativeClean = `${nativeSrc||""}`.trim().toLowerCase() || nativeDefault;
|
|
return instance.createPrimitive(nativeClean)
|
|
} catch (err) {
|
|
return instance.throwException(instance.ERROR, err && err.message), null
|
|
}
|
|
}), _Instance.default.NONENUMERABLE_DESCRIPTOR), instance.setProperty(STRING, "cleanUpper", instance.createNativeFunction((pseudoSrc, pseudoDefault) => {
|
|
try {
|
|
const nativeSrc = instance.pseudoToNative(pseudoSrc),
|
|
nativeDefault = instance.pseudoToNative(pseudoDefault),
|
|
nativeClean = `${nativeSrc||""}`.trim().toUpperCase() || nativeDefault;
|
|
return instance.createPrimitive(nativeClean)
|
|
} catch (err) {
|
|
return instance.throwException(instance.ERROR, err && err.message), null
|
|
}
|
|
}), _Instance.default.NONENUMERABLE_DESCRIPTOR), instance.setProperty(STRING, "random", instance.createNativeFunction(pseudoLen => {
|
|
try {
|
|
const nativeLen = instance.pseudoToNative(pseudoLen),
|
|
nativeRandomStr = Array(nativeLen).fill(0).map(() => RANDOM_CHARS.charAt(Math.floor(Math.random() * RANDOM_CHARS.length))).join("");
|
|
return instance.createPrimitive(nativeRandomStr)
|
|
} catch (err) {
|
|
return instance.throwException(instance.ERROR, err && err.message), null
|
|
}
|
|
})), METHODS_NO_ARGS.forEach(methodName => {
|
|
instance.setNativeFunctionPrototype(STRING, methodName, function() {
|
|
return instance.createPrimitive(String.prototype[methodName].apply(this))
|
|
})
|
|
}), instance.setNativeFunctionPrototype(STRING, "trim", function() {
|
|
return instance.createPrimitive(this.toString().replace(/^\s+|\s+$/g, ""))
|
|
}), instance.setNativeFunctionPrototype(STRING, "trimLeft", function() {
|
|
return instance.createPrimitive(this.toString().replace(/^\s+/g, ""))
|
|
}), instance.setNativeFunctionPrototype(STRING, "trimRight", function() {
|
|
return instance.createPrimitive(this.toString().replace(/\s+$/g, ""))
|
|
}), METHODS_NUMERIC_ARGS.forEach(methodName => {
|
|
instance.setNativeFunctionPrototype(STRING, methodName, function(...args) {
|
|
const cleanArgs = args.map(arg => arg.toNumber());
|
|
return instance.createPrimitive(String.prototype[methodName].apply(this, cleanArgs))
|
|
})
|
|
}), instance.setNativeFunctionPrototype(STRING, "indexOf", function(inSearchValue, inFromIndex) {
|
|
const searchValue = (inSearchValue || instance.UNDEFINED).toString(),
|
|
fromIndex = inFromIndex ? inFromIndex.toNumber() : void 0;
|
|
return instance.createPrimitive(this.toString().indexOf(searchValue, fromIndex))
|
|
}), instance.setNativeFunctionPrototype(STRING, "lastIndexOf", function(inSearchValue, inFromIndex) {
|
|
const searchValue = (inSearchValue || instance.UNDEFINED).toString(),
|
|
fromIndex = inFromIndex ? inFromIndex.toNumber() : void 0;
|
|
return instance.createPrimitive(this.toString().lastIndexOf(searchValue, fromIndex))
|
|
}), instance.setNativeFunctionPrototype(STRING, "localeCompare", function(inCompareString, inLocales, inOptions) {
|
|
const compareString = (inCompareString || instance.UNDEFINED).toString(),
|
|
locales = inLocales ? instance.pseudoToNative(inLocales) : void 0,
|
|
options = inOptions ? instance.pseudoToNative(inOptions) : void 0;
|
|
return instance.createPrimitive(this.toString().localeCompare(compareString, locales, options))
|
|
}), instance.setNativeFunctionPrototype(STRING, "split", function(inSeparator, inLimit) {
|
|
let separator;
|
|
separator = inSeparator ? _Instance.default.isa(inSeparator, instance.REGEXP) ? inSeparator.data : inSeparator.toString() : void 0;
|
|
const limit = inLimit ? inLimit.toNumber() : void 0,
|
|
pseudoList = instance.createObject(instance.ARRAY);
|
|
return this.toString().split(separator, limit).forEach((listElem, i) => {
|
|
instance.setProperty(pseudoList, i, instance.createPrimitive(listElem))
|
|
}), pseudoList
|
|
}), instance.setNativeFunctionPrototype(STRING, "concat", function(...args) {
|
|
let str = this.toString();
|
|
return args.forEach(arg => {
|
|
str += arg.toString()
|
|
}), instance.createPrimitive(str)
|
|
}), instance.setNativeFunctionPrototype(STRING, "match", function(inRegexp) {
|
|
const regexp = inRegexp ? inRegexp.data : void 0,
|
|
match = this.toString().match(regexp);
|
|
if (null === match) return instance.NULL;
|
|
const pseudoList = instance.createObject(instance.ARRAY);
|
|
for (let i = 0; i < match.length; i += 1) instance.setProperty(pseudoList, i, instance.createPrimitive(match[i]));
|
|
return pseudoList
|
|
}), instance.setNativeFunctionPrototype(STRING, "search", function(inRegexp) {
|
|
const regexp = inRegexp ? inRegexp.data : void 0;
|
|
return instance.createPrimitive(this.toString().search(regexp))
|
|
}), instance.setNativeFunctionPrototype(STRING, "replace", function(inSubstr, inNewSubStr) {
|
|
const substr = (inSubstr || instance.UNDEFINED).valueOf(),
|
|
newSubStr = (inNewSubStr || instance.UNDEFINED).toString();
|
|
return instance.createPrimitive(this.toString().replace(substr, newSubStr))
|
|
}), STRING
|
|
};
|
|
var _Instance = _interopRequireDefault(__webpack_require__(76352));
|
|
const RANDOM_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",
|
|
METHODS_NO_ARGS = ["toLowerCase", "toUpperCase", "toLocaleLowerCase", "toLocaleUpperCase"],
|
|
METHODS_NUMERIC_ARGS = ["charAt", "charCodeAt", "substring", "slice", "substr"];
|
|
module.exports = exports.default
|
|
},
|
|
52208: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var Buffer = __webpack_require__(68617).hp;
|
|
let {
|
|
existsSync,
|
|
readFileSync
|
|
} = __webpack_require__(19977), {
|
|
dirname,
|
|
join
|
|
} = __webpack_require__(197), {
|
|
SourceMapConsumer,
|
|
SourceMapGenerator
|
|
} = __webpack_require__(21866);
|
|
class PreviousMap {
|
|
constructor(css, opts) {
|
|
if (!1 === opts.map) return;
|
|
this.loadAnnotation(css), this.inline = this.startWith(this.annotation, "data:");
|
|
let prev = opts.map ? opts.map.prev : void 0,
|
|
text = this.loadMap(opts.from, prev);
|
|
!this.mapFile && opts.from && (this.mapFile = opts.from), this.mapFile && (this.root = dirname(this.mapFile)), text && (this.text = text)
|
|
}
|
|
consumer() {
|
|
return this.consumerCache || (this.consumerCache = new SourceMapConsumer(this.text)), this.consumerCache
|
|
}
|
|
decodeInline(text) {
|
|
let uriMatch = text.match(/^data:application\/json;charset=utf-?8,/) || text.match(/^data:application\/json,/);
|
|
if (uriMatch) return decodeURIComponent(text.substr(uriMatch[0].length));
|
|
let baseUriMatch = text.match(/^data:application\/json;charset=utf-?8;base64,/) || text.match(/^data:application\/json;base64,/);
|
|
if (baseUriMatch) return str = text.substr(baseUriMatch[0].length), Buffer ? Buffer.from(str, "base64").toString() : window.atob(str);
|
|
var str;
|
|
let encoding = text.match(/data:application\/json;([^,]+),/)[1];
|
|
throw new Error("Unsupported source map encoding " + encoding)
|
|
}
|
|
getAnnotationURL(sourceMapString) {
|
|
return sourceMapString.replace(/^\/\*\s*# sourceMappingURL=/, "").trim()
|
|
}
|
|
isMap(map) {
|
|
return "object" == typeof map && ("string" == typeof map.mappings || "string" == typeof map._mappings || Array.isArray(map.sections))
|
|
}
|
|
loadAnnotation(css) {
|
|
let comments = css.match(/\/\*\s*# sourceMappingURL=/g);
|
|
if (!comments) return;
|
|
let start = css.lastIndexOf(comments.pop()),
|
|
end = css.indexOf("*/", start);
|
|
start > -1 && end > -1 && (this.annotation = this.getAnnotationURL(css.substring(start, end)))
|
|
}
|
|
loadFile(path) {
|
|
if (this.root = dirname(path), existsSync(path)) return this.mapFile = path, readFileSync(path, "utf-8").toString().trim()
|
|
}
|
|
loadMap(file, prev) {
|
|
if (!1 === prev) return !1;
|
|
if (prev) {
|
|
if ("string" == typeof prev) return prev;
|
|
if ("function" != typeof prev) {
|
|
if (prev instanceof SourceMapConsumer) return SourceMapGenerator.fromSourceMap(prev).toString();
|
|
if (prev instanceof SourceMapGenerator) return prev.toString();
|
|
if (this.isMap(prev)) return JSON.stringify(prev);
|
|
throw new Error("Unsupported previous source map format: " + prev.toString())
|
|
} {
|
|
let prevPath = prev(file);
|
|
if (prevPath) {
|
|
let map = this.loadFile(prevPath);
|
|
if (!map) throw new Error("Unable to load previous source map: " + prevPath.toString());
|
|
return map
|
|
}
|
|
}
|
|
} else {
|
|
if (this.inline) return this.decodeInline(this.annotation);
|
|
if (this.annotation) {
|
|
let map = this.annotation;
|
|
return file && (map = join(dirname(file), map)), this.loadFile(map)
|
|
}
|
|
}
|
|
}
|
|
startWith(string, start) {
|
|
return !!string && string.substr(0, start.length) === start
|
|
}
|
|
withContent() {
|
|
return !!(this.consumer().sourcesContent && this.consumer().sourcesContent.length > 0)
|
|
}
|
|
}
|
|
module.exports = PreviousMap, PreviousMap.default = PreviousMap
|
|
},
|
|
52251: (module, exports, __webpack_require__) => {
|
|
var process = __webpack_require__(74620);
|
|
exports.formatArgs = function(args) {
|
|
if (args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module.exports.humanize(this.diff), !this.useColors) return;
|
|
const c = "color: " + this.color;
|
|
args.splice(1, 0, c, "color: inherit");
|
|
let index = 0,
|
|
lastC = 0;
|
|
args[0].replace(/%[a-zA-Z%]/g, match => {
|
|
"%%" !== match && (index++, "%c" === match && (lastC = index))
|
|
}), args.splice(lastC, 0, c)
|
|
}, exports.save = function(namespaces) {
|
|
try {
|
|
namespaces ? exports.storage.setItem("debug", namespaces) : exports.storage.removeItem("debug")
|
|
} catch (error) {}
|
|
}, exports.load = function() {
|
|
let r;
|
|
try {
|
|
r = exports.storage.getItem("debug") || exports.storage.getItem("DEBUG")
|
|
} catch (error) {}!r && void 0 !== process && "env" in process && (r = process.env.DEBUG);
|
|
return r
|
|
}, exports.useColors = function() {
|
|
if ("undefined" != typeof window && window.process && ("renderer" === window.process.type || window.process.__nwjs)) return !0;
|
|
if ("undefined" != typeof navigator && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) return !1;
|
|
let m;
|
|
return "undefined" != typeof document && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || "undefined" != typeof window && window.console && (window.console.firebug || window.console.exception && window.console.table) || "undefined" != typeof navigator && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31 || "undefined" != typeof navigator && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)
|
|
}, exports.storage = function() {
|
|
try {
|
|
return localStorage
|
|
} catch (error) {}
|
|
}(), exports.destroy = (() => {
|
|
let warned = !1;
|
|
return () => {
|
|
warned || (warned = !0, console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))
|
|
}
|
|
})(), exports.colors = ["#0000CC", "#0000FF", "#0033CC", "#0033FF", "#0066CC", "#0066FF", "#0099CC", "#0099FF", "#00CC00", "#00CC33", "#00CC66", "#00CC99", "#00CCCC", "#00CCFF", "#3300CC", "#3300FF", "#3333CC", "#3333FF", "#3366CC", "#3366FF", "#3399CC", "#3399FF", "#33CC00", "#33CC33", "#33CC66", "#33CC99", "#33CCCC", "#33CCFF", "#6600CC", "#6600FF", "#6633CC", "#6633FF", "#66CC00", "#66CC33", "#9900CC", "#9900FF", "#9933CC", "#9933FF", "#99CC00", "#99CC33", "#CC0000", "#CC0033", "#CC0066", "#CC0099", "#CC00CC", "#CC00FF", "#CC3300", "#CC3333", "#CC3366", "#CC3399", "#CC33CC", "#CC33FF", "#CC6600", "#CC6633", "#CC9900", "#CC9933", "#CCCC00", "#CCCC33", "#FF0000", "#FF0033", "#FF0066", "#FF0099", "#FF00CC", "#FF00FF", "#FF3300", "#FF3333", "#FF3366", "#FF3399", "#FF33CC", "#FF33FF", "#FF6600", "#FF6633", "#FF9900", "#FF9933", "#FFCC00", "#FFCC33"], exports.log = console.debug || console.log || (() => {}), module.exports = __webpack_require__(72134)(exports);
|
|
const {
|
|
formatters
|
|
} = module.exports;
|
|
formatters.j = function(v) {
|
|
try {
|
|
return JSON.stringify(v)
|
|
} catch (error) {
|
|
return "[UnexpectedJSONParseError]: " + error.message
|
|
}
|
|
}
|
|
},
|
|
52506: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
this.stateStack.pop()
|
|
}, module.exports = exports.default
|
|
},
|
|
52614: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _corePlugin = _interopRequireDefault(__webpack_require__(76849)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_corePluginAction = _interopRequireDefault(__webpack_require__(16299)),
|
|
_promisedResult = _interopRequireDefault(__webpack_require__(3784)),
|
|
_mixinUtils = __webpack_require__(36121);
|
|
const pluginName = "Store Metadata Plugin",
|
|
fieldMap = {
|
|
h_fs_promo_box_selector: "pns_siteSelCartCodeBox",
|
|
h_fs_final_price_selector: "pns_siteSelCartTotalPrice",
|
|
h_fs_submit_button: "pns_siteSelCartCodeSubmit",
|
|
h_fs_time_between_codes: "pns_siteTimeBetween",
|
|
h_fs_pre_apply_code_action: "pns_sitePreApplyCodeAction",
|
|
h_fs_time_between_pre_apply: "pns_siteTimeBetweenPreApply",
|
|
h_fs_remove_code_action: "pns_siteRemoveCodeAction",
|
|
h_fs_time_between_remove: "pns_siteTimeBetweenRemove",
|
|
h_fs_hide_cart_errors_selector: "pns_siteSelCartHideErrors",
|
|
h_fs_hide_cart_errors_selector2: "pns_siteSelCartHideErrors2",
|
|
h_fs_time_finish: "pns_siteTimeFinish",
|
|
h_fs_max_codes: "pns_siteCodeMax",
|
|
h_fs_top_funnel_code: "pns_codeTopFunnel",
|
|
h_fs_retain_input: "pns_retainInput",
|
|
h_fs_disable_dac: "pns_disableDac",
|
|
h_format_price_divisor: "formatPriceDivisor",
|
|
h_existing_code_selector: "pns_siteSelCartInitCode",
|
|
h_existing_code_selector_regex: "pns_siteSelCartInitCodeRegex",
|
|
h_existing_code_selector_attribute: "pns_siteSelCartInitAttribute",
|
|
h_fs_hard_limit: "pns_siteCodeHardLimit",
|
|
temp_disable_find_savings: {
|
|
mapping: "isGracefulFailure",
|
|
shouldCopy: value => "boolean" == typeof value
|
|
},
|
|
h_site_sel_cart_hide_while_working: "pns_siteSelCartHideWhileWorking",
|
|
h_dac_concurrency: "pns_dacConcurrency",
|
|
h_apply_best_with_sel: "pns_applyBestWithSel"
|
|
};
|
|
|
|
function parseMetadataVal(key, val) {
|
|
let newVal = val;
|
|
try {
|
|
key.startsWith("pns_") || (newVal = JSON.parse(val))
|
|
} catch (_) {
|
|
newVal = val
|
|
}
|
|
const parsedInt = parseInt(newVal, 10);
|
|
return parsedInt && (newVal = parsedInt), newVal
|
|
}
|
|
|
|
function getRecipeStoreMetadata(recipe) {
|
|
const fsLegacyMetadata = recipe.h_legacy_find_savings || {},
|
|
legacyMetadata = recipe.h_legacy_metadata || {},
|
|
metadata = legacyMetadata && Object.keys(legacyMetadata).length ? legacyMetadata : {};
|
|
|
|
function reconcileSplitField(oldKey, newKey, shouldCopyArg) {
|
|
for (const suffix of ["", "six", "server", "extension", "mobile"]) {
|
|
const fullSuffix = suffix ? `_${suffix}` : "",
|
|
oldKeyWithSuffix = `${oldKey}${fullSuffix}`,
|
|
newKeyWithSuffix = `${newKey}${fullSuffix}`;
|
|
(shouldCopyArg || (value => !suffix || value))(fsLegacyMetadata[oldKeyWithSuffix]) && (metadata[newKeyWithSuffix] = fsLegacyMetadata[oldKeyWithSuffix])
|
|
}
|
|
}
|
|
if (fsLegacyMetadata && Object.keys(fsLegacyMetadata).length)
|
|
for (const [oldKey, options] of Object.entries(fieldMap)) {
|
|
const {
|
|
shouldCopy
|
|
} = options;
|
|
reconcileSplitField(oldKey, options.mapping || options, shouldCopy)
|
|
}
|
|
try {
|
|
for (const [key, value] of Object.entries(metadata)) {
|
|
const newValue = parseMetadataVal(key, value);
|
|
newValue ? metadata[key] = newValue : delete metadata[key]
|
|
}
|
|
} catch (err) {
|
|
_logger.default.error(`Error parsing metadata values: ${err.message}`)
|
|
}
|
|
return metadata
|
|
}
|
|
const processStoreMetadata = new _corePluginAction.default({
|
|
name: "processStoreMetadata",
|
|
pluginName,
|
|
description: "Will clean up the store metadata",
|
|
requiredActionsNames: ["getRecipeStoreMetadata"],
|
|
logicFn: async ({
|
|
coreRunner,
|
|
runId
|
|
}) => {
|
|
let storeMetadata = coreRunner.state.getValue(runId, "storeMetadata");
|
|
return storeMetadata || (storeMetadata = await coreRunner.doChildAction({
|
|
name: "getRecipeStoreMetadata",
|
|
runId
|
|
})), new _promisedResult.default({
|
|
promise: (0, _mixinUtils.recursiveV2Override)(storeMetadata),
|
|
runId
|
|
})
|
|
}
|
|
}),
|
|
getRecipeStoreMetadataAction = new _corePluginAction.default({
|
|
name: "getRecipeStoreMetadata",
|
|
pluginName,
|
|
description: "Will mimic store metadata's format for the current recipe",
|
|
requiredActionsNames: ["getRecipe"],
|
|
logicFn: async ({
|
|
coreRunner,
|
|
runId
|
|
}) => {
|
|
const recipe = await coreRunner.doChildAction({
|
|
name: "getRecipe",
|
|
runId
|
|
});
|
|
if (!recipe) throw new Error("Failed to get recipe for getRecipeStoreMetadata");
|
|
return new _promisedResult.default({
|
|
promise: getRecipeStoreMetadata(recipe),
|
|
runId
|
|
})
|
|
}
|
|
}),
|
|
StoreMetadataPlugin = new _corePlugin.default({
|
|
name: pluginName,
|
|
description: "Actions interacting or mimicking store metadata",
|
|
actions: [getRecipeStoreMetadataAction, processStoreMetadata]
|
|
});
|
|
exports.default = StoreMetadataPlugin;
|
|
module.exports = exports.default
|
|
},
|
|
52739: () => {},
|
|
52900: function(module, exports) {
|
|
var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
|
|
__WEBPACK_AMD_DEFINE_ARRAY__ = [], void 0 === (__WEBPACK_AMD_DEFINE_RESULT__ = "function" == typeof(__WEBPACK_AMD_DEFINE_FACTORY__ = function() {
|
|
return function(input) {
|
|
function isSpace(c) {
|
|
return " " === c || "\t" === c || "\n" === c || "\f" === c || "\r" === c
|
|
}
|
|
|
|
function collectCharacters(regEx) {
|
|
var chars, match = regEx.exec(input.substring(pos));
|
|
if (match) return chars = match[0], pos += chars.length, chars
|
|
}
|
|
for (var url, descriptors, currentDescriptor, state, c, inputLength = input.length, regexLeadingSpaces = /^[ \t\n\r\u000c]+/, regexLeadingCommasOrSpaces = /^[, \t\n\r\u000c]+/, regexLeadingNotSpaces = /^[^ \t\n\r\u000c]+/, regexTrailingCommas = /[,]+$/, regexNonNegativeInteger = /^\d+$/, regexFloatingPoint = /^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/, pos = 0, candidates = [];;) {
|
|
if (collectCharacters(regexLeadingCommasOrSpaces), pos >= inputLength) return candidates;
|
|
url = collectCharacters(regexLeadingNotSpaces), descriptors = [], "," === url.slice(-1) ? (url = url.replace(regexTrailingCommas, ""), parseDescriptors()) : tokenize()
|
|
}
|
|
|
|
function tokenize() {
|
|
for (collectCharacters(regexLeadingSpaces), currentDescriptor = "", state = "in descriptor";;) {
|
|
if (c = input.charAt(pos), "in descriptor" === state)
|
|
if (isSpace(c)) currentDescriptor && (descriptors.push(currentDescriptor), currentDescriptor = "", state = "after descriptor");
|
|
else {
|
|
if ("," === c) return pos += 1, currentDescriptor && descriptors.push(currentDescriptor), void parseDescriptors();
|
|
if ("(" === c) currentDescriptor += c, state = "in parens";
|
|
else {
|
|
if ("" === c) return currentDescriptor && descriptors.push(currentDescriptor), void parseDescriptors();
|
|
currentDescriptor += c
|
|
}
|
|
}
|
|
else if ("in parens" === state)
|
|
if (")" === c) currentDescriptor += c, state = "in descriptor";
|
|
else {
|
|
if ("" === c) return descriptors.push(currentDescriptor), void parseDescriptors();
|
|
currentDescriptor += c
|
|
}
|
|
else if ("after descriptor" === state)
|
|
if (isSpace(c));
|
|
else {
|
|
if ("" === c) return void parseDescriptors();
|
|
state = "in descriptor", pos -= 1
|
|
} pos += 1
|
|
}
|
|
}
|
|
|
|
function parseDescriptors() {
|
|
var w, d, h, i, desc, lastChar, value, intVal, floatVal, pError = !1,
|
|
candidate = {};
|
|
for (i = 0; i < descriptors.length; i++) lastChar = (desc = descriptors[i])[desc.length - 1], value = desc.substring(0, desc.length - 1), intVal = parseInt(value, 10), floatVal = parseFloat(value), regexNonNegativeInteger.test(value) && "w" === lastChar ? ((w || d) && (pError = !0), 0 === intVal ? pError = !0 : w = intVal) : regexFloatingPoint.test(value) && "x" === lastChar ? ((w || d || h) && (pError = !0), floatVal < 0 ? pError = !0 : d = floatVal) : regexNonNegativeInteger.test(value) && "h" === lastChar ? ((h || d) && (pError = !0), 0 === intVal ? pError = !0 : h = intVal) : pError = !0;
|
|
pError ? console && console.log && console.log("Invalid srcset descriptor found in '" + input + "' at '" + desc + "'.") : (candidate.url = url, w && (candidate.w = w), d && (candidate.d = d), h && (candidate.h = h), candidates.push(candidate))
|
|
}
|
|
}
|
|
}) ? __WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__) : __WEBPACK_AMD_DEFINE_FACTORY__) || (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)
|
|
},
|
|
53269: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function({
|
|
selector,
|
|
inputSelector,
|
|
buttonSelector,
|
|
eventsInOrder,
|
|
removeAttributeName,
|
|
removeAttributeSelector
|
|
}) {
|
|
const input = inputSelector || `form${selector} input`,
|
|
button = buttonSelector || `${selector} button`,
|
|
disabledAttributeName = removeAttributeName || "disabled";
|
|
if (eventsInOrder && input) {
|
|
const bubbleEventsMixinResponse = (0, _bubbleEventsFn.default)({
|
|
inputSelector: input,
|
|
eventsInOrder
|
|
});
|
|
if ("failed" === bubbleEventsMixinResponse.status) return bubbleEventsMixinResponse
|
|
}
|
|
if (!buttonSelector && !selector) return new _mixinResponses.SuccessfulMixinResponse("[doFSSubmitButton] executed without click. Consider using bubbleEvents mixin instead");
|
|
const removeAttributeElement = removeAttributeSelector && (0, _sharedFunctions.getElement)(removeAttributeSelector) || (0, _sharedFunctions.getElement)(button);
|
|
removeAttributeElement && removeAttributeElement.removeAttribute(disabledAttributeName);
|
|
const buttonElement = (0, _sharedFunctions.getElement)(button);
|
|
if (!buttonElement) return new _mixinResponses.FailedMixinResponse(`[doFSSubmitButton] Failed to get element with selector:\n ${button}`);
|
|
return buttonElement.click(), new _mixinResponses.SuccessfulMixinResponse("[doFSSubmitButton] completed successfully", {})
|
|
};
|
|
var _bubbleEventsFn = _interopRequireDefault(__webpack_require__(60380)),
|
|
_mixinResponses = __webpack_require__(34522),
|
|
_sharedFunctions = __webpack_require__(8627);
|
|
module.exports = exports.default
|
|
},
|
|
53530: (__unused_webpack_module, exports) => {
|
|
"use strict";
|
|
const NS = exports.NAMESPACES = {
|
|
HTML: "http://www.w3.org/1999/xhtml",
|
|
MATHML: "http://www.w3.org/1998/Math/MathML",
|
|
SVG: "http://www.w3.org/2000/svg",
|
|
XLINK: "http://www.w3.org/1999/xlink",
|
|
XML: "http://www.w3.org/XML/1998/namespace",
|
|
XMLNS: "http://www.w3.org/2000/xmlns/"
|
|
};
|
|
exports.ATTRS = {
|
|
TYPE: "type",
|
|
ACTION: "action",
|
|
ENCODING: "encoding",
|
|
PROMPT: "prompt",
|
|
NAME: "name",
|
|
COLOR: "color",
|
|
FACE: "face",
|
|
SIZE: "size"
|
|
}, exports.DOCUMENT_MODE = {
|
|
NO_QUIRKS: "no-quirks",
|
|
QUIRKS: "quirks",
|
|
LIMITED_QUIRKS: "limited-quirks"
|
|
};
|
|
const $ = exports.TAG_NAMES = {
|
|
A: "a",
|
|
ADDRESS: "address",
|
|
ANNOTATION_XML: "annotation-xml",
|
|
APPLET: "applet",
|
|
AREA: "area",
|
|
ARTICLE: "article",
|
|
ASIDE: "aside",
|
|
B: "b",
|
|
BASE: "base",
|
|
BASEFONT: "basefont",
|
|
BGSOUND: "bgsound",
|
|
BIG: "big",
|
|
BLOCKQUOTE: "blockquote",
|
|
BODY: "body",
|
|
BR: "br",
|
|
BUTTON: "button",
|
|
CAPTION: "caption",
|
|
CENTER: "center",
|
|
CODE: "code",
|
|
COL: "col",
|
|
COLGROUP: "colgroup",
|
|
DD: "dd",
|
|
DESC: "desc",
|
|
DETAILS: "details",
|
|
DIALOG: "dialog",
|
|
DIR: "dir",
|
|
DIV: "div",
|
|
DL: "dl",
|
|
DT: "dt",
|
|
EM: "em",
|
|
EMBED: "embed",
|
|
FIELDSET: "fieldset",
|
|
FIGCAPTION: "figcaption",
|
|
FIGURE: "figure",
|
|
FONT: "font",
|
|
FOOTER: "footer",
|
|
FOREIGN_OBJECT: "foreignObject",
|
|
FORM: "form",
|
|
FRAME: "frame",
|
|
FRAMESET: "frameset",
|
|
H1: "h1",
|
|
H2: "h2",
|
|
H3: "h3",
|
|
H4: "h4",
|
|
H5: "h5",
|
|
H6: "h6",
|
|
HEAD: "head",
|
|
HEADER: "header",
|
|
HGROUP: "hgroup",
|
|
HR: "hr",
|
|
HTML: "html",
|
|
I: "i",
|
|
IMG: "img",
|
|
IMAGE: "image",
|
|
INPUT: "input",
|
|
IFRAME: "iframe",
|
|
KEYGEN: "keygen",
|
|
LABEL: "label",
|
|
LI: "li",
|
|
LINK: "link",
|
|
LISTING: "listing",
|
|
MAIN: "main",
|
|
MALIGNMARK: "malignmark",
|
|
MARQUEE: "marquee",
|
|
MATH: "math",
|
|
MENU: "menu",
|
|
META: "meta",
|
|
MGLYPH: "mglyph",
|
|
MI: "mi",
|
|
MO: "mo",
|
|
MN: "mn",
|
|
MS: "ms",
|
|
MTEXT: "mtext",
|
|
NAV: "nav",
|
|
NOBR: "nobr",
|
|
NOFRAMES: "noframes",
|
|
NOEMBED: "noembed",
|
|
NOSCRIPT: "noscript",
|
|
OBJECT: "object",
|
|
OL: "ol",
|
|
OPTGROUP: "optgroup",
|
|
OPTION: "option",
|
|
P: "p",
|
|
PARAM: "param",
|
|
PLAINTEXT: "plaintext",
|
|
PRE: "pre",
|
|
RB: "rb",
|
|
RP: "rp",
|
|
RT: "rt",
|
|
RTC: "rtc",
|
|
RUBY: "ruby",
|
|
S: "s",
|
|
SCRIPT: "script",
|
|
SECTION: "section",
|
|
SELECT: "select",
|
|
SOURCE: "source",
|
|
SMALL: "small",
|
|
SPAN: "span",
|
|
STRIKE: "strike",
|
|
STRONG: "strong",
|
|
STYLE: "style",
|
|
SUB: "sub",
|
|
SUMMARY: "summary",
|
|
SUP: "sup",
|
|
TABLE: "table",
|
|
TBODY: "tbody",
|
|
TEMPLATE: "template",
|
|
TEXTAREA: "textarea",
|
|
TFOOT: "tfoot",
|
|
TD: "td",
|
|
TH: "th",
|
|
THEAD: "thead",
|
|
TITLE: "title",
|
|
TR: "tr",
|
|
TRACK: "track",
|
|
TT: "tt",
|
|
U: "u",
|
|
UL: "ul",
|
|
SVG: "svg",
|
|
VAR: "var",
|
|
WBR: "wbr",
|
|
XMP: "xmp"
|
|
};
|
|
exports.SPECIAL_ELEMENTS = {
|
|
[NS.HTML]: {
|
|
[$.ADDRESS]: !0,
|
|
[$.APPLET]: !0,
|
|
[$.AREA]: !0,
|
|
[$.ARTICLE]: !0,
|
|
[$.ASIDE]: !0,
|
|
[$.BASE]: !0,
|
|
[$.BASEFONT]: !0,
|
|
[$.BGSOUND]: !0,
|
|
[$.BLOCKQUOTE]: !0,
|
|
[$.BODY]: !0,
|
|
[$.BR]: !0,
|
|
[$.BUTTON]: !0,
|
|
[$.CAPTION]: !0,
|
|
[$.CENTER]: !0,
|
|
[$.COL]: !0,
|
|
[$.COLGROUP]: !0,
|
|
[$.DD]: !0,
|
|
[$.DETAILS]: !0,
|
|
[$.DIR]: !0,
|
|
[$.DIV]: !0,
|
|
[$.DL]: !0,
|
|
[$.DT]: !0,
|
|
[$.EMBED]: !0,
|
|
[$.FIELDSET]: !0,
|
|
[$.FIGCAPTION]: !0,
|
|
[$.FIGURE]: !0,
|
|
[$.FOOTER]: !0,
|
|
[$.FORM]: !0,
|
|
[$.FRAME]: !0,
|
|
[$.FRAMESET]: !0,
|
|
[$.H1]: !0,
|
|
[$.H2]: !0,
|
|
[$.H3]: !0,
|
|
[$.H4]: !0,
|
|
[$.H5]: !0,
|
|
[$.H6]: !0,
|
|
[$.HEAD]: !0,
|
|
[$.HEADER]: !0,
|
|
[$.HGROUP]: !0,
|
|
[$.HR]: !0,
|
|
[$.HTML]: !0,
|
|
[$.IFRAME]: !0,
|
|
[$.IMG]: !0,
|
|
[$.INPUT]: !0,
|
|
[$.LI]: !0,
|
|
[$.LINK]: !0,
|
|
[$.LISTING]: !0,
|
|
[$.MAIN]: !0,
|
|
[$.MARQUEE]: !0,
|
|
[$.MENU]: !0,
|
|
[$.META]: !0,
|
|
[$.NAV]: !0,
|
|
[$.NOEMBED]: !0,
|
|
[$.NOFRAMES]: !0,
|
|
[$.NOSCRIPT]: !0,
|
|
[$.OBJECT]: !0,
|
|
[$.OL]: !0,
|
|
[$.P]: !0,
|
|
[$.PARAM]: !0,
|
|
[$.PLAINTEXT]: !0,
|
|
[$.PRE]: !0,
|
|
[$.SCRIPT]: !0,
|
|
[$.SECTION]: !0,
|
|
[$.SELECT]: !0,
|
|
[$.SOURCE]: !0,
|
|
[$.STYLE]: !0,
|
|
[$.SUMMARY]: !0,
|
|
[$.TABLE]: !0,
|
|
[$.TBODY]: !0,
|
|
[$.TD]: !0,
|
|
[$.TEMPLATE]: !0,
|
|
[$.TEXTAREA]: !0,
|
|
[$.TFOOT]: !0,
|
|
[$.TH]: !0,
|
|
[$.THEAD]: !0,
|
|
[$.TITLE]: !0,
|
|
[$.TR]: !0,
|
|
[$.TRACK]: !0,
|
|
[$.UL]: !0,
|
|
[$.WBR]: !0,
|
|
[$.XMP]: !0
|
|
},
|
|
[NS.MATHML]: {
|
|
[$.MI]: !0,
|
|
[$.MO]: !0,
|
|
[$.MN]: !0,
|
|
[$.MS]: !0,
|
|
[$.MTEXT]: !0,
|
|
[$.ANNOTATION_XML]: !0
|
|
},
|
|
[NS.SVG]: {
|
|
[$.TITLE]: !0,
|
|
[$.FOREIGN_OBJECT]: !0,
|
|
[$.DESC]: !0
|
|
}
|
|
}
|
|
},
|
|
54054: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var clone = __webpack_require__(11569),
|
|
parser = __webpack_require__(6692),
|
|
transform = __webpack_require__(60261),
|
|
optimizationTransforms = __webpack_require__(87890);
|
|
module.exports = {
|
|
optimize: function(regexp) {
|
|
var _ref = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
|
|
_ref$whitelist = _ref.whitelist,
|
|
whitelist = void 0 === _ref$whitelist ? [] : _ref$whitelist,
|
|
_ref$blacklist = _ref.blacklist,
|
|
blacklist = void 0 === _ref$blacklist ? [] : _ref$blacklist,
|
|
transformToApply = (whitelist.length > 0 ? whitelist : Array.from(optimizationTransforms.keys())).filter(function(transform) {
|
|
return !blacklist.includes(transform)
|
|
}),
|
|
ast = regexp;
|
|
regexp instanceof RegExp && (regexp = "" + regexp), "string" == typeof regexp && (ast = parser.parse(regexp));
|
|
var result = new transform.TransformResult(ast),
|
|
prevResultString = void 0;
|
|
do {
|
|
prevResultString = result.toString(), ast = clone(result.getAST()), transformToApply.forEach(function(transformName) {
|
|
if (!optimizationTransforms.has(transformName)) throw new Error("Unknown optimization-transform: " + transformName + ". Available transforms are: " + Array.from(optimizationTransforms.keys()).join(", "));
|
|
var transformer = optimizationTransforms.get(transformName),
|
|
newResult = transform.transform(ast, transformer);
|
|
newResult.toString() !== result.toString() && (newResult.toString().length <= result.toString().length ? result = newResult : ast = clone(result.getAST()))
|
|
})
|
|
} while (result.toString() !== prevResultString);
|
|
return result
|
|
}
|
|
}
|
|
},
|
|
54141: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
const doctype = __webpack_require__(38541),
|
|
{
|
|
DOCUMENT_MODE
|
|
} = __webpack_require__(53530),
|
|
nodeTypes = {
|
|
element: 1,
|
|
text: 3,
|
|
cdata: 4,
|
|
comment: 8
|
|
},
|
|
nodePropertyShorthands = {
|
|
tagName: "name",
|
|
childNodes: "children",
|
|
parentNode: "parent",
|
|
previousSibling: "prev",
|
|
nextSibling: "next",
|
|
nodeValue: "data"
|
|
};
|
|
class Node {
|
|
constructor(props) {
|
|
for (const key of Object.keys(props)) this[key] = props[key]
|
|
}
|
|
get firstChild() {
|
|
const children = this.children;
|
|
return children && children[0] || null
|
|
}
|
|
get lastChild() {
|
|
const children = this.children;
|
|
return children && children[children.length - 1] || null
|
|
}
|
|
get nodeType() {
|
|
return nodeTypes[this.type] || nodeTypes.element
|
|
}
|
|
}
|
|
Object.keys(nodePropertyShorthands).forEach(key => {
|
|
const shorthand = nodePropertyShorthands[key];
|
|
Object.defineProperty(Node.prototype, key, {
|
|
get: function() {
|
|
return this[shorthand] || null
|
|
},
|
|
set: function(val) {
|
|
return this[shorthand] = val, val
|
|
}
|
|
})
|
|
}), exports.createDocument = function() {
|
|
return new Node({
|
|
type: "root",
|
|
name: "root",
|
|
parent: null,
|
|
prev: null,
|
|
next: null,
|
|
children: [],
|
|
"x-mode": DOCUMENT_MODE.NO_QUIRKS
|
|
})
|
|
}, exports.createDocumentFragment = function() {
|
|
return new Node({
|
|
type: "root",
|
|
name: "root",
|
|
parent: null,
|
|
prev: null,
|
|
next: null,
|
|
children: []
|
|
})
|
|
}, exports.createElement = function(tagName, namespaceURI, attrs) {
|
|
const attribs = Object.create(null),
|
|
attribsNamespace = Object.create(null),
|
|
attribsPrefix = Object.create(null);
|
|
for (let i = 0; i < attrs.length; i++) {
|
|
const attrName = attrs[i].name;
|
|
attribs[attrName] = attrs[i].value, attribsNamespace[attrName] = attrs[i].namespace, attribsPrefix[attrName] = attrs[i].prefix
|
|
}
|
|
return new Node({
|
|
type: "script" === tagName || "style" === tagName ? tagName : "tag",
|
|
name: tagName,
|
|
namespace: namespaceURI,
|
|
attribs,
|
|
"x-attribsNamespace": attribsNamespace,
|
|
"x-attribsPrefix": attribsPrefix,
|
|
children: [],
|
|
parent: null,
|
|
prev: null,
|
|
next: null
|
|
})
|
|
}, exports.createCommentNode = function(data) {
|
|
return new Node({
|
|
type: "comment",
|
|
data,
|
|
parent: null,
|
|
prev: null,
|
|
next: null
|
|
})
|
|
};
|
|
const createTextNode = function(value) {
|
|
return new Node({
|
|
type: "text",
|
|
data: value,
|
|
parent: null,
|
|
prev: null,
|
|
next: null
|
|
})
|
|
},
|
|
appendChild = exports.appendChild = function(parentNode, newNode) {
|
|
const prev = parentNode.children[parentNode.children.length - 1];
|
|
prev && (prev.next = newNode, newNode.prev = prev), parentNode.children.push(newNode), newNode.parent = parentNode
|
|
},
|
|
insertBefore = exports.insertBefore = function(parentNode, newNode, referenceNode) {
|
|
const insertionIdx = parentNode.children.indexOf(referenceNode),
|
|
prev = referenceNode.prev;
|
|
prev && (prev.next = newNode, newNode.prev = prev), referenceNode.prev = newNode, newNode.next = referenceNode, parentNode.children.splice(insertionIdx, 0, newNode), newNode.parent = parentNode
|
|
};
|
|
exports.setTemplateContent = function(templateElement, contentElement) {
|
|
appendChild(templateElement, contentElement)
|
|
}, exports.getTemplateContent = function(templateElement) {
|
|
return templateElement.children[0]
|
|
}, exports.setDocumentType = function(document, name, publicId, systemId) {
|
|
const data = doctype.serializeContent(name, publicId, systemId);
|
|
let doctypeNode = null;
|
|
for (let i = 0; i < document.children.length; i++)
|
|
if ("directive" === document.children[i].type && "!doctype" === document.children[i].name) {
|
|
doctypeNode = document.children[i];
|
|
break
|
|
} doctypeNode ? (doctypeNode.data = data, doctypeNode["x-name"] = name, doctypeNode["x-publicId"] = publicId, doctypeNode["x-systemId"] = systemId) : appendChild(document, new Node({
|
|
type: "directive",
|
|
name: "!doctype",
|
|
data,
|
|
"x-name": name,
|
|
"x-publicId": publicId,
|
|
"x-systemId": systemId
|
|
}))
|
|
}, exports.setDocumentMode = function(document, mode) {
|
|
document["x-mode"] = mode
|
|
}, exports.getDocumentMode = function(document) {
|
|
return document["x-mode"]
|
|
}, exports.detachNode = function(node) {
|
|
if (node.parent) {
|
|
const idx = node.parent.children.indexOf(node),
|
|
prev = node.prev,
|
|
next = node.next;
|
|
node.prev = null, node.next = null, prev && (prev.next = next), next && (next.prev = prev), node.parent.children.splice(idx, 1), node.parent = null
|
|
}
|
|
}, exports.insertText = function(parentNode, text) {
|
|
const lastChild = parentNode.children[parentNode.children.length - 1];
|
|
lastChild && "text" === lastChild.type ? lastChild.data += text : appendChild(parentNode, createTextNode(text))
|
|
}, exports.insertTextBefore = function(parentNode, text, referenceNode) {
|
|
const prevNode = parentNode.children[parentNode.children.indexOf(referenceNode) - 1];
|
|
prevNode && "text" === prevNode.type ? prevNode.data += text : insertBefore(parentNode, createTextNode(text), referenceNode)
|
|
}, exports.adoptAttributes = function(recipient, attrs) {
|
|
for (let i = 0; i < attrs.length; i++) {
|
|
const attrName = attrs[i].name;
|
|
void 0 === recipient.attribs[attrName] && (recipient.attribs[attrName] = attrs[i].value, recipient["x-attribsNamespace"][attrName] = attrs[i].namespace, recipient["x-attribsPrefix"][attrName] = attrs[i].prefix)
|
|
}
|
|
}, exports.getFirstChild = function(node) {
|
|
return node.children[0]
|
|
}, exports.getChildNodes = function(node) {
|
|
return node.children
|
|
}, exports.getParentNode = function(node) {
|
|
return node.parent
|
|
}, exports.getAttrList = function(element) {
|
|
const attrList = [];
|
|
for (const name in element.attribs) attrList.push({
|
|
name,
|
|
value: element.attribs[name],
|
|
namespace: element["x-attribsNamespace"][name],
|
|
prefix: element["x-attribsPrefix"][name]
|
|
});
|
|
return attrList
|
|
}, exports.getTagName = function(element) {
|
|
return element.name
|
|
}, exports.getNamespaceURI = function(element) {
|
|
return element.namespace
|
|
}, exports.getTextNodeContent = function(textNode) {
|
|
return textNode.data
|
|
}, exports.getCommentNodeContent = function(commentNode) {
|
|
return commentNode.data
|
|
}, exports.getDocumentTypeNodeName = function(doctypeNode) {
|
|
return doctypeNode["x-name"]
|
|
}, exports.getDocumentTypeNodePublicId = function(doctypeNode) {
|
|
return doctypeNode["x-publicId"]
|
|
}, exports.getDocumentTypeNodeSystemId = function(doctypeNode) {
|
|
return doctypeNode["x-systemId"]
|
|
}, exports.isTextNode = function(node) {
|
|
return "text" === node.type
|
|
}, exports.isCommentNode = function(node) {
|
|
return "comment" === node.type
|
|
}, exports.isDocumentTypeNode = function(node) {
|
|
return "directive" === node.type && "!doctype" === node.name
|
|
}, exports.isElementNode = function(node) {
|
|
return !!node.attribs
|
|
}, exports.setNodeSourceCodeLocation = function(node, location) {
|
|
node.sourceCodeLocation = location
|
|
}, exports.getNodeSourceCodeLocation = function(node) {
|
|
return node.sourceCodeLocation
|
|
}, exports.updateNodeSourceCodeLocation = function(node, endLocation) {
|
|
node.sourceCodeLocation = Object.assign(node.sourceCodeLocation, endLocation)
|
|
}
|
|
},
|
|
54379: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.getFeed = function(doc) {
|
|
var feedRoot = getOneElement(isValidFeed, doc);
|
|
return feedRoot ? "feed" === feedRoot.name ? function(feedRoot) {
|
|
var _a, childs = feedRoot.children,
|
|
feed = {
|
|
type: "atom",
|
|
items: (0, legacy_js_1.getElementsByTagName)("entry", childs).map(function(item) {
|
|
var _a, children = item.children,
|
|
entry = {
|
|
media: getMediaElements(children)
|
|
};
|
|
addConditionally(entry, "id", "id", children), addConditionally(entry, "title", "title", children);
|
|
var href = null === (_a = getOneElement("link", children)) || void 0 === _a ? void 0 : _a.attribs.href;
|
|
href && (entry.link = href);
|
|
var description = fetch("summary", children) || fetch("content", children);
|
|
description && (entry.description = description);
|
|
var pubDate = fetch("updated", children);
|
|
return pubDate && (entry.pubDate = new Date(pubDate)), entry
|
|
})
|
|
};
|
|
addConditionally(feed, "id", "id", childs), addConditionally(feed, "title", "title", childs);
|
|
var href = null === (_a = getOneElement("link", childs)) || void 0 === _a ? void 0 : _a.attribs.href;
|
|
href && (feed.link = href);
|
|
addConditionally(feed, "description", "subtitle", childs);
|
|
var updated = fetch("updated", childs);
|
|
updated && (feed.updated = new Date(updated));
|
|
return addConditionally(feed, "author", "email", childs, !0), feed
|
|
}(feedRoot) : function(feedRoot) {
|
|
var _a, _b, childs = null !== (_b = null === (_a = getOneElement("channel", feedRoot.children)) || void 0 === _a ? void 0 : _a.children) && void 0 !== _b ? _b : [],
|
|
feed = {
|
|
type: feedRoot.name.substr(0, 3),
|
|
id: "",
|
|
items: (0, legacy_js_1.getElementsByTagName)("item", feedRoot.children).map(function(item) {
|
|
var children = item.children,
|
|
entry = {
|
|
media: getMediaElements(children)
|
|
};
|
|
addConditionally(entry, "id", "guid", children), addConditionally(entry, "title", "title", children), addConditionally(entry, "link", "link", children), addConditionally(entry, "description", "description", children);
|
|
var pubDate = fetch("pubDate", children) || fetch("dc:date", children);
|
|
return pubDate && (entry.pubDate = new Date(pubDate)), entry
|
|
})
|
|
};
|
|
addConditionally(feed, "title", "title", childs), addConditionally(feed, "link", "link", childs), addConditionally(feed, "description", "description", childs);
|
|
var updated = fetch("lastBuildDate", childs);
|
|
updated && (feed.updated = new Date(updated));
|
|
return addConditionally(feed, "author", "managingEditor", childs, !0), feed
|
|
}(feedRoot) : null
|
|
};
|
|
var stringify_js_1 = __webpack_require__(94551),
|
|
legacy_js_1 = __webpack_require__(56587);
|
|
var MEDIA_KEYS_STRING = ["url", "type", "lang"],
|
|
MEDIA_KEYS_INT = ["fileSize", "bitrate", "framerate", "samplingrate", "channels", "duration", "height", "width"];
|
|
|
|
function getMediaElements(where) {
|
|
return (0, legacy_js_1.getElementsByTagName)("media:content", where).map(function(elem) {
|
|
for (var attribs = elem.attribs, media = {
|
|
medium: attribs.medium,
|
|
isDefault: !!attribs.isDefault
|
|
}, _i = 0, MEDIA_KEYS_STRING_1 = MEDIA_KEYS_STRING; _i < MEDIA_KEYS_STRING_1.length; _i++) {
|
|
attribs[attrib = MEDIA_KEYS_STRING_1[_i]] && (media[attrib] = attribs[attrib])
|
|
}
|
|
for (var _a = 0, MEDIA_KEYS_INT_1 = MEDIA_KEYS_INT; _a < MEDIA_KEYS_INT_1.length; _a++) {
|
|
var attrib;
|
|
attribs[attrib = MEDIA_KEYS_INT_1[_a]] && (media[attrib] = parseInt(attribs[attrib], 10))
|
|
}
|
|
return attribs.expression && (media.expression = attribs.expression), media
|
|
})
|
|
}
|
|
|
|
function getOneElement(tagName, node) {
|
|
return (0, legacy_js_1.getElementsByTagName)(tagName, node, !0, 1)[0]
|
|
}
|
|
|
|
function fetch(tagName, where, recurse) {
|
|
return void 0 === recurse && (recurse = !1), (0, stringify_js_1.textContent)((0, legacy_js_1.getElementsByTagName)(tagName, where, recurse, 1)).trim()
|
|
}
|
|
|
|
function addConditionally(obj, prop, tagName, where, recurse) {
|
|
void 0 === recurse && (recurse = !1);
|
|
var val = fetch(tagName, where, recurse);
|
|
val && (obj[prop] = val)
|
|
}
|
|
|
|
function isValidFeed(value) {
|
|
return "rss" === value || "feed" === value || "rdf:RDF" === value
|
|
}
|
|
},
|
|
54399: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
let LazyResult, Processor, Container = __webpack_require__(171);
|
|
class Document extends Container {
|
|
constructor(defaults) {
|
|
super({
|
|
type: "document",
|
|
...defaults
|
|
}), this.nodes || (this.nodes = [])
|
|
}
|
|
toResult(opts = {}) {
|
|
return new LazyResult(new Processor, this, opts).stringify()
|
|
}
|
|
}
|
|
Document.registerLazyResult = dependant => {
|
|
LazyResult = dependant
|
|
}, Document.registerProcessor = dependant => {
|
|
Processor = dependant
|
|
}, module.exports = Document, Document.default = Document
|
|
},
|
|
54576: module => {
|
|
module.exports = function(re, replimit) {
|
|
let myRegExp = null,
|
|
ast = null;
|
|
try {
|
|
myRegExp = re instanceof RegExp ? re : "string" == typeof re ? new RegExp(re) : new RegExp(String(re)), ast = regexpTree.parse(myRegExp)
|
|
} catch (err) {
|
|
return !1
|
|
}
|
|
let currentStarHeight = 0,
|
|
maxObservedStarHeight = 0,
|
|
repetitionCount = 0;
|
|
return regexpTree.traverse(ast, {
|
|
Repetition: {
|
|
pre({
|
|
node
|
|
}) {
|
|
repetitionCount++, currentStarHeight++, maxObservedStarHeight < currentStarHeight && (maxObservedStarHeight = currentStarHeight)
|
|
},
|
|
post({
|
|
node
|
|
}) {
|
|
currentStarHeight--
|
|
}
|
|
}
|
|
}), maxObservedStarHeight <= 1 && repetitionCount <= replimit
|
|
}, module.exports = {
|
|
AnalyzerOptions: class {
|
|
constructor(heuristic_replimit) {
|
|
this.heuristic_replimit = heuristic_replimit
|
|
}
|
|
},
|
|
Analyzer: class {
|
|
constructor(analyzerOptions) {
|
|
this.options = analyzerOptions
|
|
}
|
|
isVulnerable(regExp) {
|
|
return !1
|
|
}
|
|
genAttackString(regExp) {
|
|
return null
|
|
}
|
|
}
|
|
}
|
|
},
|
|
54648: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
let state = this.stateStack.pop();
|
|
const node = state.node;
|
|
let label = null;
|
|
node.label && (label = node.label.name);
|
|
state = this.stateStack.pop();
|
|
for (; state && "CallExpression" !== state.node.type && "NewExpression" !== state.node.type;) {
|
|
if (label ? label === state.label : state.isLoop || state.isSwitch) return;
|
|
state = this.stateStack.pop()
|
|
}
|
|
throw SyntaxError("Illegal break statement")
|
|
}, module.exports = exports.default
|
|
},
|
|
54837: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var inspect = __webpack_require__(88433),
|
|
$TypeError = __webpack_require__(79809),
|
|
listGetNode = function(list, key, isDelete) {
|
|
for (var curr, prev = list; null != (curr = prev.next); prev = curr)
|
|
if (curr.key === key) return prev.next = curr.next, isDelete || (curr.next = list.next, list.next = curr), curr
|
|
};
|
|
module.exports = function() {
|
|
var $o, channel = {
|
|
assert: function(key) {
|
|
if (!channel.has(key)) throw new $TypeError("Side channel does not contain " + inspect(key))
|
|
},
|
|
delete: function(key) {
|
|
var root = $o && $o.next,
|
|
deletedNode = function(objects, key) {
|
|
if (objects) return listGetNode(objects, key, !0)
|
|
}($o, key);
|
|
return deletedNode && root && root === deletedNode && ($o = void 0), !!deletedNode
|
|
},
|
|
get: function(key) {
|
|
return function(objects, key) {
|
|
if (objects) {
|
|
var node = listGetNode(objects, key);
|
|
return node && node.value
|
|
}
|
|
}($o, key)
|
|
},
|
|
has: function(key) {
|
|
return function(objects, key) {
|
|
return !!objects && !!listGetNode(objects, key)
|
|
}($o, key)
|
|
},
|
|
set: function(key, value) {
|
|
$o || ($o = {
|
|
next: void 0
|
|
}),
|
|
function(objects, key, value) {
|
|
var node = listGetNode(objects, key);
|
|
node ? node.value = value : objects.next = {
|
|
key,
|
|
next: objects.next,
|
|
value
|
|
}
|
|
}($o, key, value)
|
|
}
|
|
};
|
|
return channel
|
|
}
|
|
},
|
|
55270: module => {
|
|
"use strict";
|
|
module.exports = JSON.parse('{"name":"AddToCartExists","groups":[],"isRequired":false,"scoreThreshold":36,"tests":[{"method":"testIfInnerHtmlContainsLength","options":{"tags":"a,button,div","expected":"^\\\\+?(add(item)?to(shopping)?(basket|bag|cart))$","matchWeight":"10","unMatchWeight":"1"},"_comment":"Exact innerHTML match"},{"method":"testIfInnerTextContainsLength","options":{"tags":"a,button,div","expected":"\\\\+?(add(item)?to(shopping)?(basket|bag|cart))","matchWeight":"200","unMatchWeight":"1"},"_comment":"Fuzzy innerText match"},{"method":"testIfInnerTextContainsLength","options":{"tags":"a,button,div","expected":"(pickitup|ship(it)?|pre-?order|addfor(shipping|pickup)|buynow)","matchWeight":"10","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLengthWeighted","options":{"tags":"button,span,div","expected":"addtoshoppingbasket|homedelivery","matchWeight":"100","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLength","options":{"expected":"(continue|&)","matchWeight":"0.5","unMatchWeight":"1","_comment":"Added \'&\' to avoid add & pickup or add & ship cases for recommended products for PetSmart"}},{"method":"testIfInnerTextContainsLength","options":{"expected":"(continueshopping|view((in)?cart|more)|signup|email|shipto|gift|yes!?iwant|findit)","matchWeight":"0","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLength","options":{"expected":"(shopping|added|pickup|shipping|overview|finditin|activat(e|ion))","matchWeight":"0.1","unMatchWeight":"1","_comment":"for Salomon"}},{"method":"testIfInnerTextContainsLength","options":{"expected":"add|buy","matchWeight":"2","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLength","options":{"tags":"a,button,div","expected":"soldout","onlyVisibleText":"true","matchWeight":"0","unMatchWeight":"1"}},{"method":"testIfAncestorAttrsContain","options":{"expected":"relatedproducts","generations":"5","matchWeight":"0","unMatchWeight":"1"},"_comment":"Avoid add to cart buttons for related products"},{"method":"testIfInnerHtmlContainsLength","options":{"tags":"div","expected":"<(a|button|div)","matchWeight":"0.1","unMatchWeight":"1"},"_comment":"Lower weight if div contains other elements"}],"preconditions":[],"shape":[{"value":"^(form|g|header|link|p|span|td|script|i|iframe|symbol|svg|use)$","weight":0,"scope":"tag"},{"value":"addtocart","weight":100,"scope":"value","_comment":"Chewy"},{"value":"add-to-cart","weight":10},{"value":"add-to-bag","weight":10},{"value":"add-to-basket","weight":10},{"value":"addtocart","weight":10,"scope":"id"},{"value":"add-cart","weight":10,"scope":"class","_comment":"Chewy"},{"value":"atc-button-pdp","weight":10,"scope":"class","_comment":"Saks Off 5th"},{"value":"addto(bag|basket|cart)","weight":10},{"value":"buybutton","weight":10},{"value":"button--buy","weight":1.5,"scope":"class","_comment":"Displate"},{"value":"button--primary","weight":45,"scope":"class","_comment":"Displate"},{"value":"add","weight":9,"scope":"id"},{"value":"buy","weight":9,"scope":"class"},{"value":"nextstep","weight":9},{"value":"cart","weight":8,"scope":"id"},{"value":"cart","weight":8},{"value":"bag","weight":8,"scope":"id"},{"value":"bag","weight":8},{"value":"add","weight":6},{"value":"pickup","weight":2},{"value":"btn-primary","weight":2,"scope":"class"},{"value":"cta","weight":2,"scope":"id"},{"value":"cta","weight":2,"scope":"class"},{"value":"button","weight":2,"scope":"tag"},{"value":"button","weight":2,"scope":"type"},{"value":"button","weight":2,"scope":"role"},{"value":"button","weight":10,"scope":"class","_comment":"cardcash: used to offset div that acts as button"},{"value":"submit","weight":2},{"value":"submit","weight":2,"scope":"type"},{"value":"btn-special","weight":3,"scope":"class","_comment":"this is for gamivo"},{"value":"shoppingcart","weight":0.5},{"value":"/","weight":0.1,"scope":"href","_comment":"ignore all anchor tags having href URLs. We need only with value \'#\' or no hrefs"},{"value":"display:()?none","weight":0.5,"scope":"style"},{"value":"disabled","weight":0.1,"scope":"class"},{"value":"sticky","weight":0.5,"scope":"id"},{"value":"div","weight":0.1,"scope":"tag","_comment":"cannot be 0 because Wish\'s ATC button is a div"},{"value":"header","weight":0.1},{"value":"padding","weight":0.17,"_comment":"counterbalance \'add\'"},{"value":"open","weight":0.1},{"value":"productcard","weight":0.1},{"value":"(thumbnail|submission)-button","weight":0,"_comment":"bloomscape, walgreens"},{"value":"loadingbutton","weight":0,"_comment":"charlotte-tilbury"},{"value":"hidden","weight":0,"scope":"type"},{"value":"false","weight":0.1,"scope":"data-honey_is_visible"},{"value":"reviews","weight":0.1},{"value":"viewcart","weight":0},{"value":"wishlist","weight":0,"scope":"id","_comment":"argos-uk"},{"value":"cartempty","weight":0,"scope":"aria-label","_comment":"walgreens"},{"value":"out-of-stock","weight":0},{"value":"klarna","weight":0,"scope":"class","_comment":"ignore buy now-pay later service provider buttons and links"},{"value":"chat","weight":0},{"value":"close","weight":0},{"value":"globalnav","weight":0},{"value":"menu","weight":0},{"value":"ratings","weight":0},{"value":"search","weight":0},{"value":"club","weight":0},{"value":"registry","weight":0},{"value":"title--card","weight":0,"_comment":"walgreens"},{"value":"*ANY*","scope":"disabled","weight":0},{"value":"add-to-favorites","weight":0,"_comment":"ignore all add to fav buttons and links"},{"value":"d-none","scope":"class","weight":0},{"value":"detail","scope":"class","weight":0.1,"_comment":"ignore divs containing delivery or cart details"},{"value":"wrapper","weight":0.1,"_comment":"degrade all wrapper elements,Curry\'s UK"},{"value":"this\\\\.innerhtml","scope":"onclick","weight":0,"_comment":"The Body Shop: Avoid weird carousel add to bags"},{"value":"quickinfo","weight":0,"_comment":"This is for TSC"},{"value":"qty","weight":0,"scope":"name"},{"value":"learn-more","weight":0,"scope":"class","_comment":"Logitech"},{"value":"quantity","weight":0,"scope":"class"},{"value":"apple-pay","weight":0,"scope":"class"},{"value":"email","weight":0,"scope":"class"},{"value":"mini-cart","weight":0,"scope":"class"},{"value":"btn-group","weight":0,"scope":"class"},{"value":"fsa|what","weight":0,"scope":"alt"},{"value":"onetrust","weight":0,"scope":"id","_comment":"accept cookie elements"},{"value":"cookie","weight":0,"scope":"id","_comment":"accept cookie elements"}]}')
|
|
},
|
|
55320: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
module.exports = {
|
|
dotAll: __webpack_require__(47586),
|
|
namedCapturingGroups: __webpack_require__(99080),
|
|
xFlag: __webpack_require__(56289)
|
|
}
|
|
},
|
|
55446: module => {
|
|
"use strict";
|
|
module.exports = JSON.parse('{"name":"GuestCheckout","isRequired":true,"tests":[{"method":"testIfInnerTextContainsLength","options":{"expected":"(checkout|continue)asa?guest","matchWeight":"5","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLength","options":{"expected":"guestcheckout","matchWeight":"5","unMatchWeight":"1"}}],"scoreThreshold":10,"shape":[{"value":"^(a|button)$","weight":5,"scope":"tag"},{"value":"h[1-5]","weight":0.4,"scope":"tag"},{"value":"checkoutasguest","weight":5},{"value":"guest\\\\s?-?checkout","weight":5}]}')
|
|
},
|
|
55489: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function(instance, scope) {
|
|
const mathObj = instance.createObject(instance.OBJECT);
|
|
instance.setProperty(scope, "Math", mathObj, _Instance.default.READONLY_DESCRIPTOR), CONSTANTS.forEach(constantName => {
|
|
instance.setProperty(mathObj, constantName, instance.createPrimitive(Math[constantName]), _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR)
|
|
}), METHODS.forEach(methodName => {
|
|
instance.setProperty(mathObj, methodName, instance.createNativeFunction((...args) => {
|
|
const numericArgs = args.map(arg => arg.toNumber());
|
|
return instance.createPrimitive(Math[methodName](...numericArgs))
|
|
}), _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR)
|
|
})
|
|
};
|
|
var _Instance = _interopRequireDefault(__webpack_require__(76352));
|
|
const CONSTANTS = ["E", "LN2", "LN10", "LOG2E", "LOG10E", "PI", "SQRT1_2", "SQRT2"],
|
|
METHODS = ["abs", "acos", "asin", "atan", "atan2", "ceil", "cos", "exp", "floor", "log", "max", "min", "pow", "random", "round", "sin", "sqrt", "tan"];
|
|
module.exports = exports.default
|
|
},
|
|
55944: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.serializeArray = exports.serialize = void 0;
|
|
var utils_1 = __webpack_require__(91373),
|
|
r20 = /%20/g,
|
|
rCRLF = /\r?\n/g;
|
|
exports.serialize = function() {
|
|
return this.serializeArray().map(function(data) {
|
|
return encodeURIComponent(data.name) + "=" + encodeURIComponent(data.value)
|
|
}).join("&").replace(r20, "+")
|
|
}, exports.serializeArray = function() {
|
|
var Cheerio = this.constructor;
|
|
return this.map(function(_, elem) {
|
|
var $elem = Cheerio(elem);
|
|
return utils_1.isTag(elem) && "form" === elem.name ? $elem.find("input,select,textarea,keygen").toArray() : $elem.filter("input,select,textarea,keygen").toArray()
|
|
}).filter('[name!=""]:enabled:not(:submit, :button, :image, :reset, :file):matches([checked], :not(:checkbox, :radio))').map(function(_, elem) {
|
|
var _a, $elem = Cheerio(elem),
|
|
name = $elem.attr("name"),
|
|
value = null !== (_a = $elem.val()) && void 0 !== _a ? _a : "";
|
|
return Array.isArray(value) ? value.map(function(val) {
|
|
return {
|
|
name,
|
|
value: val.replace(rCRLF, "\r\n")
|
|
}
|
|
}) : {
|
|
name,
|
|
value: value.replace(rCRLF, "\r\n")
|
|
}
|
|
}).toArray()
|
|
}
|
|
},
|
|
55967: module => {
|
|
"use strict";
|
|
var toStr = Object.prototype.toString,
|
|
max = Math.max,
|
|
concatty = function(a, b) {
|
|
for (var arr = [], i = 0; i < a.length; i += 1) arr[i] = a[i];
|
|
for (var j = 0; j < b.length; j += 1) arr[j + a.length] = b[j];
|
|
return arr
|
|
};
|
|
module.exports = function(that) {
|
|
var target = this;
|
|
if ("function" != typeof target || "[object Function]" !== toStr.apply(target)) throw new TypeError("Function.prototype.bind called on incompatible " + target);
|
|
for (var bound, args = function(arrLike, offset) {
|
|
for (var arr = [], i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) arr[j] = arrLike[i];
|
|
return arr
|
|
}(arguments, 1), boundLength = max(0, target.length - args.length), boundArgs = [], i = 0; i < boundLength; i++) boundArgs[i] = "$" + i;
|
|
if (bound = Function("binder", "return function (" + function(arr, joiner) {
|
|
for (var str = "", i = 0; i < arr.length; i += 1) str += arr[i], i + 1 < arr.length && (str += joiner);
|
|
return str
|
|
}(boundArgs, ",") + "){ return binder.apply(this,arguments); }")(function() {
|
|
if (this instanceof bound) {
|
|
var result = target.apply(this, concatty(args, arguments));
|
|
return Object(result) === result ? result : this
|
|
}
|
|
return target.apply(that, concatty(args, arguments))
|
|
}), target.prototype) {
|
|
var Empty = function() {};
|
|
Empty.prototype = target.prototype, bound.prototype = new Empty, Empty.prototype = null
|
|
}
|
|
return bound
|
|
}
|
|
},
|
|
56021: (__unused_webpack_module, exports) => {
|
|
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
|
|
exports.read = function(buffer, offset, isLE, mLen, nBytes) {
|
|
var e, m, eLen = 8 * nBytes - mLen - 1,
|
|
eMax = (1 << eLen) - 1,
|
|
eBias = eMax >> 1,
|
|
nBits = -7,
|
|
i = isLE ? nBytes - 1 : 0,
|
|
d = isLE ? -1 : 1,
|
|
s = buffer[offset + i];
|
|
for (i += d, e = s & (1 << -nBits) - 1, s >>= -nBits, nBits += eLen; nBits > 0; e = 256 * e + buffer[offset + i], i += d, nBits -= 8);
|
|
for (m = e & (1 << -nBits) - 1, e >>= -nBits, nBits += mLen; nBits > 0; m = 256 * m + buffer[offset + i], i += d, nBits -= 8);
|
|
if (0 === e) e = 1 - eBias;
|
|
else {
|
|
if (e === eMax) return m ? NaN : 1 / 0 * (s ? -1 : 1);
|
|
m += Math.pow(2, mLen), e -= eBias
|
|
}
|
|
return (s ? -1 : 1) * m * Math.pow(2, e - mLen)
|
|
}, exports.write = function(buffer, value, offset, isLE, mLen, nBytes) {
|
|
var e, m, c, eLen = 8 * nBytes - mLen - 1,
|
|
eMax = (1 << eLen) - 1,
|
|
eBias = eMax >> 1,
|
|
rt = 23 === mLen ? Math.pow(2, -24) - Math.pow(2, -77) : 0,
|
|
i = isLE ? 0 : nBytes - 1,
|
|
d = isLE ? 1 : -1,
|
|
s = value < 0 || 0 === value && 1 / value < 0 ? 1 : 0;
|
|
for (value = Math.abs(value), isNaN(value) || value === 1 / 0 ? (m = isNaN(value) ? 1 : 0, e = eMax) : (e = Math.floor(Math.log(value) / Math.LN2), value * (c = Math.pow(2, -e)) < 1 && (e--, c *= 2), (value += e + eBias >= 1 ? rt / c : rt * Math.pow(2, 1 - eBias)) * c >= 2 && (e++, c /= 2), e + eBias >= eMax ? (m = 0, e = eMax) : e + eBias >= 1 ? (m = (value * c - 1) * Math.pow(2, mLen), e += eBias) : (m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen), e = 0)); mLen >= 8; buffer[offset + i] = 255 & m, i += d, m /= 256, mLen -= 8);
|
|
for (e = e << mLen | m, eLen += mLen; eLen > 0; buffer[offset + i] = 255 & e, i += d, e /= 256, eLen -= 8);
|
|
buffer[offset + i - d] |= 128 * s
|
|
}
|
|
},
|
|
56042: function(module, exports, __webpack_require__) {
|
|
var __WEBPACK_AMD_DEFINE_RESULT__;
|
|
/**
|
|
* @license Long.js (c) 2013 Daniel Wirtz <dcode@dcode.io>
|
|
* Released under the Apache License, Version 2.0
|
|
* see: https://github.com/dcodeIO/Long.js for details
|
|
*/
|
|
module = __webpack_require__.nmd(module),
|
|
function() {
|
|
"use strict";
|
|
var Long = function(low, high, unsigned) {
|
|
this.low = 0 | low, this.high = 0 | high, this.unsigned = !!unsigned
|
|
};
|
|
Long.isLong = function(obj) {
|
|
return !0 === (obj && obj instanceof Long)
|
|
};
|
|
var INT_CACHE = {},
|
|
UINT_CACHE = {};
|
|
Long.fromInt = function(value, unsigned) {
|
|
var obj, cachedObj;
|
|
return unsigned ? 0 <= (value >>>= 0) && value < 256 && (cachedObj = UINT_CACHE[value]) ? cachedObj : (obj = new Long(value, (0 | value) < 0 ? -1 : 0, !0), 0 <= value && value < 256 && (UINT_CACHE[value] = obj), obj) : -128 <= (value |= 0) && value < 128 && (cachedObj = INT_CACHE[value]) ? cachedObj : (obj = new Long(value, value < 0 ? -1 : 0, !1), -128 <= value && value < 128 && (INT_CACHE[value] = obj), obj)
|
|
}, Long.fromNumber = function(value, unsigned) {
|
|
return unsigned = !!unsigned, isNaN(value) || !isFinite(value) ? Long.ZERO : !unsigned && value <= -TWO_PWR_63_DBL ? Long.MIN_VALUE : !unsigned && value + 1 >= TWO_PWR_63_DBL ? Long.MAX_VALUE : unsigned && value >= TWO_PWR_64_DBL ? Long.MAX_UNSIGNED_VALUE : value < 0 ? Long.fromNumber(-value, unsigned).negate() : new Long(value % TWO_PWR_32_DBL | 0, value / TWO_PWR_32_DBL | 0, unsigned)
|
|
}, Long.fromBits = function(lowBits, highBits, unsigned) {
|
|
return new Long(lowBits, highBits, unsigned)
|
|
}, Long.fromString = function(str, unsigned, radix) {
|
|
if (0 === str.length) throw Error("number format error: empty string");
|
|
if ("NaN" === str || "Infinity" === str || "+Infinity" === str || "-Infinity" === str) return Long.ZERO;
|
|
if ("number" == typeof unsigned && (radix = unsigned, unsigned = !1), (radix = radix || 10) < 2 || 36 < radix) throw Error("radix out of range: " + radix);
|
|
var p;
|
|
if ((p = str.indexOf("-")) > 0) throw Error('number format error: interior "-" character: ' + str);
|
|
if (0 === p) return Long.fromString(str.substring(1), unsigned, radix).negate();
|
|
for (var radixToPower = Long.fromNumber(Math.pow(radix, 8)), result = Long.ZERO, i = 0; i < str.length; i += 8) {
|
|
var size = Math.min(8, str.length - i),
|
|
value = parseInt(str.substring(i, i + size), radix);
|
|
if (size < 8) {
|
|
var power = Long.fromNumber(Math.pow(radix, size));
|
|
result = result.multiply(power).add(Long.fromNumber(value))
|
|
} else result = (result = result.multiply(radixToPower)).add(Long.fromNumber(value))
|
|
}
|
|
return result.unsigned = unsigned, result
|
|
}, Long.fromValue = function(val) {
|
|
return "number" == typeof val ? Long.fromNumber(val) : "string" == typeof val ? Long.fromString(val) : Long.isLong(val) ? val : new Long(val.low, val.high, val.unsigned)
|
|
};
|
|
var TWO_PWR_32_DBL = 4294967296,
|
|
TWO_PWR_64_DBL = TWO_PWR_32_DBL * TWO_PWR_32_DBL,
|
|
TWO_PWR_63_DBL = TWO_PWR_64_DBL / 2,
|
|
TWO_PWR_24 = Long.fromInt(1 << 24);
|
|
Long.ZERO = Long.fromInt(0), Long.UZERO = Long.fromInt(0, !0), Long.ONE = Long.fromInt(1), Long.UONE = Long.fromInt(1, !0), Long.NEG_ONE = Long.fromInt(-1), Long.MAX_VALUE = Long.fromBits(-1, 2147483647, !1), Long.MAX_UNSIGNED_VALUE = Long.fromBits(-1, -1, !0), Long.MIN_VALUE = Long.fromBits(0, -2147483648, !1), Long.prototype.toInt = function() {
|
|
return this.unsigned ? this.low >>> 0 : this.low
|
|
}, Long.prototype.toNumber = function() {
|
|
return this.unsigned ? (this.high >>> 0) * TWO_PWR_32_DBL + (this.low >>> 0) : this.high * TWO_PWR_32_DBL + (this.low >>> 0)
|
|
}, Long.prototype.toString = function(radix) {
|
|
if ((radix = radix || 10) < 2 || 36 < radix) throw RangeError("radix out of range: " + radix);
|
|
if (this.isZero()) return "0";
|
|
var rem;
|
|
if (this.isNegative()) {
|
|
if (this.equals(Long.MIN_VALUE)) {
|
|
var radixLong = Long.fromNumber(radix),
|
|
div = this.div(radixLong);
|
|
return rem = div.multiply(radixLong).subtract(this), div.toString(radix) + rem.toInt().toString(radix)
|
|
}
|
|
return "-" + this.negate().toString(radix)
|
|
}
|
|
var radixToPower = Long.fromNumber(Math.pow(radix, 6), this.unsigned);
|
|
rem = this;
|
|
for (var result = "";;) {
|
|
var remDiv = rem.div(radixToPower),
|
|
digits = (rem.subtract(remDiv.multiply(radixToPower)).toInt() >>> 0).toString(radix);
|
|
if ((rem = remDiv).isZero()) return digits + result;
|
|
for (; digits.length < 6;) digits = "0" + digits;
|
|
result = "" + digits + result
|
|
}
|
|
}, Long.prototype.getHighBits = function() {
|
|
return this.high
|
|
}, Long.prototype.getHighBitsUnsigned = function() {
|
|
return this.high >>> 0
|
|
}, Long.prototype.getLowBits = function() {
|
|
return this.low
|
|
}, Long.prototype.getLowBitsUnsigned = function() {
|
|
return this.low >>> 0
|
|
}, Long.prototype.getNumBitsAbs = function() {
|
|
if (this.isNegative()) return this.equals(Long.MIN_VALUE) ? 64 : this.negate().getNumBitsAbs();
|
|
for (var val = 0 != this.high ? this.high : this.low, bit = 31; bit > 0 && !(val & 1 << bit); bit--);
|
|
return 0 != this.high ? bit + 33 : bit + 1
|
|
}, Long.prototype.isZero = function() {
|
|
return 0 === this.high && 0 === this.low
|
|
}, Long.prototype.isNegative = function() {
|
|
return !this.unsigned && this.high < 0
|
|
}, Long.prototype.isPositive = function() {
|
|
return this.unsigned || this.high >= 0
|
|
}, Long.prototype.isOdd = function() {
|
|
return !(1 & ~this.low)
|
|
}, Long.prototype.isEven = function() {
|
|
return !(1 & this.low)
|
|
}, Long.prototype.equals = function(other) {
|
|
return Long.isLong(other) || (other = Long.fromValue(other)), (this.unsigned === other.unsigned || this.high >>> 31 != 1 || other.high >>> 31 != 1) && (this.high === other.high && this.low === other.low)
|
|
}, Long.prototype.notEquals = function(other) {
|
|
return Long.isLong(other) || (other = Long.fromValue(other)), !this.equals(other)
|
|
}, Long.prototype.lessThan = function(other) {
|
|
return Long.isLong(other) || (other = Long.fromValue(other)), this.compare(other) < 0
|
|
}, Long.prototype.lessThanOrEqual = function(other) {
|
|
return Long.isLong(other) || (other = Long.fromValue(other)), this.compare(other) <= 0
|
|
}, Long.prototype.greaterThan = function(other) {
|
|
return Long.isLong(other) || (other = Long.fromValue(other)), this.compare(other) > 0
|
|
}, Long.prototype.greaterThanOrEqual = function(other) {
|
|
return Long.isLong(other) || (other = Long.fromValue(other)), this.compare(other) >= 0
|
|
}, Long.prototype.compare = function(other) {
|
|
if (this.equals(other)) return 0;
|
|
var thisNeg = this.isNegative(),
|
|
otherNeg = other.isNegative();
|
|
return thisNeg && !otherNeg ? -1 : !thisNeg && otherNeg ? 1 : this.unsigned ? other.high >>> 0 > this.high >>> 0 || other.high === this.high && other.low >>> 0 > this.low >>> 0 ? -1 : 1 : this.subtract(other).isNegative() ? -1 : 1
|
|
}, Long.prototype.negate = function() {
|
|
return !this.unsigned && this.equals(Long.MIN_VALUE) ? Long.MIN_VALUE : this.not().add(Long.ONE)
|
|
}, Long.prototype.add = function(addend) {
|
|
Long.isLong(addend) || (addend = Long.fromValue(addend));
|
|
var a48 = this.high >>> 16,
|
|
a32 = 65535 & this.high,
|
|
a16 = this.low >>> 16,
|
|
a00 = 65535 & this.low,
|
|
b48 = addend.high >>> 16,
|
|
b32 = 65535 & addend.high,
|
|
b16 = addend.low >>> 16,
|
|
c48 = 0,
|
|
c32 = 0,
|
|
c16 = 0,
|
|
c00 = 0;
|
|
return c16 += (c00 += a00 + (65535 & addend.low)) >>> 16, c32 += (c16 += a16 + b16) >>> 16, c48 += (c32 += a32 + b32) >>> 16, c48 += a48 + b48, Long.fromBits((c16 &= 65535) << 16 | (c00 &= 65535), (c48 &= 65535) << 16 | (c32 &= 65535), this.unsigned)
|
|
}, Long.prototype.subtract = function(subtrahend) {
|
|
return Long.isLong(subtrahend) || (subtrahend = Long.fromValue(subtrahend)), this.add(subtrahend.negate())
|
|
}, Long.prototype.multiply = function(multiplier) {
|
|
if (this.isZero()) return Long.ZERO;
|
|
if (Long.isLong(multiplier) || (multiplier = Long.fromValue(multiplier)), multiplier.isZero()) return Long.ZERO;
|
|
if (this.equals(Long.MIN_VALUE)) return multiplier.isOdd() ? Long.MIN_VALUE : Long.ZERO;
|
|
if (multiplier.equals(Long.MIN_VALUE)) return this.isOdd() ? Long.MIN_VALUE : Long.ZERO;
|
|
if (this.isNegative()) return multiplier.isNegative() ? this.negate().multiply(multiplier.negate()) : this.negate().multiply(multiplier).negate();
|
|
if (multiplier.isNegative()) return this.multiply(multiplier.negate()).negate();
|
|
if (this.lessThan(TWO_PWR_24) && multiplier.lessThan(TWO_PWR_24)) return Long.fromNumber(this.toNumber() * multiplier.toNumber(), this.unsigned);
|
|
var a48 = this.high >>> 16,
|
|
a32 = 65535 & this.high,
|
|
a16 = this.low >>> 16,
|
|
a00 = 65535 & this.low,
|
|
b48 = multiplier.high >>> 16,
|
|
b32 = 65535 & multiplier.high,
|
|
b16 = multiplier.low >>> 16,
|
|
b00 = 65535 & multiplier.low,
|
|
c48 = 0,
|
|
c32 = 0,
|
|
c16 = 0,
|
|
c00 = 0;
|
|
return c16 += (c00 += a00 * b00) >>> 16, c32 += (c16 += a16 * b00) >>> 16, c16 &= 65535, c32 += (c16 += a00 * b16) >>> 16, c48 += (c32 += a32 * b00) >>> 16, c32 &= 65535, c48 += (c32 += a16 * b16) >>> 16, c32 &= 65535, c48 += (c32 += a00 * b32) >>> 16, c48 += a48 * b00 + a32 * b16 + a16 * b32 + a00 * b48, Long.fromBits((c16 &= 65535) << 16 | (c00 &= 65535), (c48 &= 65535) << 16 | (c32 &= 65535), this.unsigned)
|
|
}, Long.prototype.div = function(divisor) {
|
|
if (Long.isLong(divisor) || (divisor = Long.fromValue(divisor)), divisor.isZero()) throw new Error("division by zero");
|
|
if (this.isZero()) return this.unsigned ? Long.UZERO : Long.ZERO;
|
|
var approx, rem, res;
|
|
if (this.equals(Long.MIN_VALUE)) return divisor.equals(Long.ONE) || divisor.equals(Long.NEG_ONE) ? Long.MIN_VALUE : divisor.equals(Long.MIN_VALUE) ? Long.ONE : (approx = this.shiftRight(1).div(divisor).shiftLeft(1)).equals(Long.ZERO) ? divisor.isNegative() ? Long.ONE : Long.NEG_ONE : (rem = this.subtract(divisor.multiply(approx)), res = approx.add(rem.div(divisor)));
|
|
if (divisor.equals(Long.MIN_VALUE)) return this.unsigned ? Long.UZERO : Long.ZERO;
|
|
if (this.isNegative()) return divisor.isNegative() ? this.negate().div(divisor.negate()) : this.negate().div(divisor).negate();
|
|
if (divisor.isNegative()) return this.div(divisor.negate()).negate();
|
|
for (res = Long.ZERO, rem = this; rem.greaterThanOrEqual(divisor);) {
|
|
approx = Math.max(1, Math.floor(rem.toNumber() / divisor.toNumber()));
|
|
for (var log2 = Math.ceil(Math.log(approx) / Math.LN2), delta = log2 <= 48 ? 1 : Math.pow(2, log2 - 48), approxRes = Long.fromNumber(approx), approxRem = approxRes.multiply(divisor); approxRem.isNegative() || approxRem.greaterThan(rem);) approxRem = (approxRes = Long.fromNumber(approx -= delta, this.unsigned)).multiply(divisor);
|
|
approxRes.isZero() && (approxRes = Long.ONE), res = res.add(approxRes), rem = rem.subtract(approxRem)
|
|
}
|
|
return res
|
|
}, Long.prototype.modulo = function(divisor) {
|
|
return Long.isLong(divisor) || (divisor = Long.fromValue(divisor)), this.subtract(this.div(divisor).multiply(divisor))
|
|
}, Long.prototype.not = function() {
|
|
return Long.fromBits(~this.low, ~this.high, this.unsigned)
|
|
}, Long.prototype.and = function(other) {
|
|
return Long.isLong(other) || (other = Long.fromValue(other)), Long.fromBits(this.low & other.low, this.high & other.high, this.unsigned)
|
|
}, Long.prototype.or = function(other) {
|
|
return Long.isLong(other) || (other = Long.fromValue(other)), Long.fromBits(this.low | other.low, this.high | other.high, this.unsigned)
|
|
}, Long.prototype.xor = function(other) {
|
|
return Long.isLong(other) || (other = Long.fromValue(other)), Long.fromBits(this.low ^ other.low, this.high ^ other.high, this.unsigned)
|
|
}, Long.prototype.shiftLeft = function(numBits) {
|
|
return Long.isLong(numBits) && (numBits = numBits.toInt()), 0 == (numBits &= 63) ? this : numBits < 32 ? Long.fromBits(this.low << numBits, this.high << numBits | this.low >>> 32 - numBits, this.unsigned) : Long.fromBits(0, this.low << numBits - 32, this.unsigned)
|
|
}, Long.prototype.shiftRight = function(numBits) {
|
|
return Long.isLong(numBits) && (numBits = numBits.toInt()), 0 == (numBits &= 63) ? this : numBits < 32 ? Long.fromBits(this.low >>> numBits | this.high << 32 - numBits, this.high >> numBits, this.unsigned) : Long.fromBits(this.high >> numBits - 32, this.high >= 0 ? 0 : -1, this.unsigned)
|
|
}, Long.prototype.shiftRightUnsigned = function(numBits) {
|
|
if (Long.isLong(numBits) && (numBits = numBits.toInt()), 0 === (numBits &= 63)) return this;
|
|
var high = this.high;
|
|
if (numBits < 32) {
|
|
var low = this.low;
|
|
return Long.fromBits(low >>> numBits | high << 32 - numBits, high >>> numBits, this.unsigned)
|
|
}
|
|
return Long.fromBits(32 === numBits ? high : high >>> numBits - 32, 0, this.unsigned)
|
|
}, Long.prototype.toSigned = function() {
|
|
return this.unsigned ? new Long(this.low, this.high, !1) : this
|
|
}, Long.prototype.toUnsigned = function() {
|
|
return this.unsigned ? this : new Long(this.low, this.high, !0)
|
|
}, module && "object" == typeof exports && exports ? module.exports = Long : void 0 === (__WEBPACK_AMD_DEFINE_RESULT__ = function() {
|
|
return Long
|
|
}.call(exports, __webpack_require__, exports, module)) || (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)
|
|
}()
|
|
},
|
|
56289: module => {
|
|
"use strict";
|
|
module.exports = {
|
|
RegExp: function(_ref) {
|
|
var node = _ref.node;
|
|
node.flags.includes("x") && (node.flags = node.flags.replace("x", ""))
|
|
}
|
|
}
|
|
},
|
|
56361: module => {
|
|
"use strict";
|
|
module.exports = Number.isNaN || function(a) {
|
|
return a != a
|
|
}
|
|
},
|
|
56587: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.testElement = function(options, node) {
|
|
var test = compileTest(options);
|
|
return !test || test(node)
|
|
}, exports.getElements = function(options, nodes, recurse, limit) {
|
|
void 0 === limit && (limit = 1 / 0);
|
|
var test = compileTest(options);
|
|
return test ? (0, querying_js_1.filter)(test, nodes, recurse, limit) : []
|
|
}, exports.getElementById = function(id, nodes, recurse) {
|
|
void 0 === recurse && (recurse = !0);
|
|
Array.isArray(nodes) || (nodes = [nodes]);
|
|
return (0, querying_js_1.findOne)(getAttribCheck("id", id), nodes, recurse)
|
|
}, exports.getElementsByTagName = function(tagName, nodes, recurse, limit) {
|
|
void 0 === recurse && (recurse = !0);
|
|
void 0 === limit && (limit = 1 / 0);
|
|
return (0, querying_js_1.filter)(Checks.tag_name(tagName), nodes, recurse, limit)
|
|
}, exports.getElementsByClassName = function(className, nodes, recurse, limit) {
|
|
void 0 === recurse && (recurse = !0);
|
|
void 0 === limit && (limit = 1 / 0);
|
|
return (0, querying_js_1.filter)(getAttribCheck("class", className), nodes, recurse, limit)
|
|
}, exports.getElementsByTagType = function(type, nodes, recurse, limit) {
|
|
void 0 === recurse && (recurse = !0);
|
|
void 0 === limit && (limit = 1 / 0);
|
|
return (0, querying_js_1.filter)(Checks.tag_type(type), nodes, recurse, limit)
|
|
};
|
|
var domhandler_1 = __webpack_require__(59811),
|
|
querying_js_1 = __webpack_require__(8612),
|
|
Checks = {
|
|
tag_name: function(name) {
|
|
return "function" == typeof name ? function(elem) {
|
|
return (0, domhandler_1.isTag)(elem) && name(elem.name)
|
|
} : "*" === name ? domhandler_1.isTag : function(elem) {
|
|
return (0, domhandler_1.isTag)(elem) && elem.name === name
|
|
}
|
|
},
|
|
tag_type: function(type) {
|
|
return "function" == typeof type ? function(elem) {
|
|
return type(elem.type)
|
|
} : function(elem) {
|
|
return elem.type === type
|
|
}
|
|
},
|
|
tag_contains: function(data) {
|
|
return "function" == typeof data ? function(elem) {
|
|
return (0, domhandler_1.isText)(elem) && data(elem.data)
|
|
} : function(elem) {
|
|
return (0, domhandler_1.isText)(elem) && elem.data === data
|
|
}
|
|
}
|
|
};
|
|
|
|
function getAttribCheck(attrib, value) {
|
|
return "function" == typeof value ? function(elem) {
|
|
return (0, domhandler_1.isTag)(elem) && value(elem.attribs[attrib])
|
|
} : function(elem) {
|
|
return (0, domhandler_1.isTag)(elem) && elem.attribs[attrib] === value
|
|
}
|
|
}
|
|
|
|
function combineFuncs(a, b) {
|
|
return function(elem) {
|
|
return a(elem) || b(elem)
|
|
}
|
|
}
|
|
|
|
function compileTest(options) {
|
|
var funcs = Object.keys(options).map(function(key) {
|
|
var value = options[key];
|
|
return Object.prototype.hasOwnProperty.call(Checks, key) ? Checks[key](value) : getAttribCheck(key, value)
|
|
});
|
|
return 0 === funcs.length ? null : funcs.reduce(combineFuncs)
|
|
}
|
|
},
|
|
56872: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912)),
|
|
_helpers = _interopRequireDefault(__webpack_require__(16065));
|
|
exports.default = new _dac.default({
|
|
description: "JCrew DAC",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 10
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "103",
|
|
name: "JCrew"
|
|
}],
|
|
doDac: async function(couponCode, selector, priceAmt, applyBestCode) {
|
|
let price = (0, _jquery.default)(selector).text();
|
|
const res = await async function() {
|
|
const couponDataHash = {
|
|
operationName: "cartAddPromo",
|
|
variables: {
|
|
input: {
|
|
promoCode: couponCode
|
|
}
|
|
},
|
|
query: "mutation cartAddPromo($input: PromoInput) {\n cartAddPromo(input: $input) {\n price {\n final\n }\n }\n }"
|
|
};
|
|
let accessToken, res;
|
|
try {
|
|
accessToken = document.cookie.split("; ").find(row => row.startsWith("checkout_jwt=")).split("=")[1], res = _jquery.default.ajax({
|
|
url: "https://www.jcrew.com/checkout-api/graphql",
|
|
method: "POST",
|
|
headers: {
|
|
"accept-language": "en-US,en;q=0.9",
|
|
"content-type": "application/json",
|
|
"x-access-token": accessToken,
|
|
"x-brand": "jc",
|
|
"x-country-code": "US",
|
|
"x-operation-name": "cartAddPromo"
|
|
},
|
|
data: JSON.stringify(couponDataHash)
|
|
}), await res.done(_data => {
|
|
_logger.default.debug("Finishing code application")
|
|
}).fail((xhr, textStatus, errorThrown) => {
|
|
_logger.default.debug(`Coupon Apply Error: ${errorThrown}`)
|
|
})
|
|
} catch (e) {}
|
|
return res
|
|
}();
|
|
return await async function(res) {
|
|
const standingPrice = (0, _jquery.default)(selector).text();
|
|
try {
|
|
price = res.data.cartAddPromo.price.final
|
|
} catch (e) {}
|
|
price < Number(_legacyHoneyUtils.default.cleanPrice(standingPrice)) && (0, _jquery.default)(selector).text(price)
|
|
}(res), !0 === applyBestCode && (window.location = window.location.href, await (0, _helpers.default)(2e3)), Number(_legacyHoneyUtils.default.cleanPrice(price))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
56961: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var camelCase = __webpack_require__(19457),
|
|
upperCaseFirst = __webpack_require__(11363);
|
|
module.exports = function(value, locale, mergeNumbers) {
|
|
return upperCaseFirst(camelCase(value, locale, mergeNumbers), locale)
|
|
}
|
|
},
|
|
57052: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function parseNode(encNode) {
|
|
if (Array.isArray(encNode)) return encNode.map(parseNode);
|
|
if ("object" != typeof encNode || !encNode) return encNode;
|
|
const node = {};
|
|
return Object.keys(encNode).forEach(encKey => {
|
|
const encVal = encNode[encKey],
|
|
key = encKey.startsWith("_") ? _sortedKeys.default[parseInt(encKey.slice(1), 10)] : encKey;
|
|
node[key] = "string" == typeof encVal ? _cryptoJs.default.AES.decrypt(encVal.slice(1), `${encVal[0]}+${key}`).toString(_cryptoJs.default.enc.Utf8) : parseNode(encVal)
|
|
}), node
|
|
};
|
|
var _cryptoJs = _interopRequireDefault(__webpack_require__(31062)),
|
|
_sortedKeys = _interopRequireDefault(__webpack_require__(63898));
|
|
module.exports = exports.default
|
|
},
|
|
57467: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912));
|
|
exports.default = new _dac.default({
|
|
description: "Buy a Gift Uk Meta Function",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 10
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "7606367538438569422",
|
|
name: "buyagift-uk"
|
|
}],
|
|
doDac: async function(couponCode, selector, priceAmt) {
|
|
let price = priceAmt,
|
|
discountedPrice = priceAmt;
|
|
try {
|
|
async function applyCode() {
|
|
const res = _jquery.default.ajax({
|
|
url: "https://www.buyagift.co.uk/Basket/ApplyDiscount?code=" + couponCode,
|
|
type: "GET"
|
|
});
|
|
return await res.done(data => {
|
|
_logger.default.debug("Finishing applying coupon")
|
|
}), res
|
|
}
|
|
|
|
function updatePrice(res) {
|
|
try {
|
|
discountedPrice = Number(_legacyHoneyUtils.default.cleanPrice(res.TotalBasketPrice)), discountedPrice && discountedPrice < price && (price = discountedPrice, (0, _jquery.default)(selector).text("$" + price.toString()))
|
|
} catch (e) {}
|
|
}
|
|
updatePrice(await applyCode())
|
|
} catch (e) {
|
|
price = priceAmt
|
|
}
|
|
return price
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
57790: module => {
|
|
"use strict";
|
|
|
|
function _createForOfIteratorHelper(o, allowArrayLike) {
|
|
var it = "undefined" != typeof Symbol && o[Symbol.iterator] || o["@@iterator"];
|
|
if (!it) {
|
|
if (Array.isArray(o) || (it = function(o, minLen) {
|
|
if (!o) return;
|
|
if ("string" == typeof o) return _arrayLikeToArray(o, minLen);
|
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
"Object" === n && o.constructor && (n = o.constructor.name);
|
|
if ("Map" === n || "Set" === n) return Array.from(o);
|
|
if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen)
|
|
}(o)) || allowArrayLike && o && "number" == typeof o.length) {
|
|
it && (o = it);
|
|
var i = 0,
|
|
F = function() {};
|
|
return {
|
|
s: F,
|
|
n: function() {
|
|
return i >= o.length ? {
|
|
done: !0
|
|
} : {
|
|
done: !1,
|
|
value: o[i++]
|
|
}
|
|
},
|
|
e: function(_e) {
|
|
throw _e
|
|
},
|
|
f: F
|
|
}
|
|
}
|
|
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
|
|
}
|
|
var err, normalCompletion = !0,
|
|
didErr = !1;
|
|
return {
|
|
s: function() {
|
|
it = it.call(o)
|
|
},
|
|
n: function() {
|
|
var step = it.next();
|
|
return normalCompletion = step.done, step
|
|
},
|
|
e: function(_e2) {
|
|
didErr = !0, err = _e2
|
|
},
|
|
f: function() {
|
|
try {
|
|
normalCompletion || null == it.return || it.return()
|
|
} finally {
|
|
if (didErr) throw err
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
function _arrayLikeToArray(arr, len) {
|
|
(null == len || len > arr.length) && (len = arr.length);
|
|
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
return arr2
|
|
}
|
|
|
|
function Agent() {
|
|
this._defaults = []
|
|
}
|
|
for (var _i = 0, _arr = ["use", "on", "once", "set", "query", "type", "accept", "auth", "withCredentials", "sortQuery", "retry", "ok", "redirects", "timeout", "buffer", "serialize", "parse", "ca", "key", "pfx", "cert", "disableTLSCerts"]; _i < _arr.length; _i++) {
|
|
const fn = _arr[_i];
|
|
Agent.prototype[fn] = function() {
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
|
|
return this._defaults.push({
|
|
fn,
|
|
args
|
|
}), this
|
|
}
|
|
}
|
|
Agent.prototype._setDefaults = function(request) {
|
|
var _step, _iterator = _createForOfIteratorHelper(this._defaults);
|
|
try {
|
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
const def = _step.value;
|
|
request[def.fn](...def.args)
|
|
}
|
|
} catch (err) {
|
|
_iterator.e(err)
|
|
} finally {
|
|
_iterator.f()
|
|
}
|
|
}, module.exports = Agent
|
|
},
|
|
57818: module => {
|
|
"use strict";
|
|
const DEFAULT_RAW = {
|
|
after: "\n",
|
|
beforeClose: "\n",
|
|
beforeComment: "\n",
|
|
beforeDecl: "\n",
|
|
beforeOpen: " ",
|
|
beforeRule: "\n",
|
|
colon: ": ",
|
|
commentLeft: " ",
|
|
commentRight: " ",
|
|
emptyBody: "",
|
|
indent: " ",
|
|
semicolon: !1
|
|
};
|
|
class Stringifier {
|
|
constructor(builder) {
|
|
this.builder = builder
|
|
}
|
|
atrule(node, semicolon) {
|
|
let name = "@" + node.name,
|
|
params = node.params ? this.rawValue(node, "params") : "";
|
|
if (void 0 !== node.raws.afterName ? name += node.raws.afterName : params && (name += " "), node.nodes) this.block(node, name + params);
|
|
else {
|
|
let end = (node.raws.between || "") + (semicolon ? ";" : "");
|
|
this.builder(name + params + end, node)
|
|
}
|
|
}
|
|
beforeAfter(node, detect) {
|
|
let value;
|
|
value = "decl" === node.type ? this.raw(node, null, "beforeDecl") : "comment" === node.type ? this.raw(node, null, "beforeComment") : "before" === detect ? this.raw(node, null, "beforeRule") : this.raw(node, null, "beforeClose");
|
|
let buf = node.parent,
|
|
depth = 0;
|
|
for (; buf && "root" !== buf.type;) depth += 1, buf = buf.parent;
|
|
if (value.includes("\n")) {
|
|
let indent = this.raw(node, null, "indent");
|
|
if (indent.length)
|
|
for (let step = 0; step < depth; step++) value += indent
|
|
}
|
|
return value
|
|
}
|
|
block(node, start) {
|
|
let after, between = this.raw(node, "between", "beforeOpen");
|
|
this.builder(start + between + "{", node, "start"), node.nodes && node.nodes.length ? (this.body(node), after = this.raw(node, "after")) : after = this.raw(node, "after", "emptyBody"), after && this.builder(after), this.builder("}", node, "end")
|
|
}
|
|
body(node) {
|
|
let last = node.nodes.length - 1;
|
|
for (; last > 0 && "comment" === node.nodes[last].type;) last -= 1;
|
|
let semicolon = this.raw(node, "semicolon");
|
|
for (let i = 0; i < node.nodes.length; i++) {
|
|
let child = node.nodes[i],
|
|
before = this.raw(child, "before");
|
|
before && this.builder(before), this.stringify(child, last !== i || semicolon)
|
|
}
|
|
}
|
|
comment(node) {
|
|
let left = this.raw(node, "left", "commentLeft"),
|
|
right = this.raw(node, "right", "commentRight");
|
|
this.builder("/*" + left + node.text + right + "*/", node)
|
|
}
|
|
decl(node, semicolon) {
|
|
let between = this.raw(node, "between", "colon"),
|
|
string = node.prop + between + this.rawValue(node, "value");
|
|
node.important && (string += node.raws.important || " !important"), semicolon && (string += ";"), this.builder(string, node)
|
|
}
|
|
document(node) {
|
|
this.body(node)
|
|
}
|
|
raw(node, own, detect) {
|
|
let value;
|
|
if (detect || (detect = own), own && (value = node.raws[own], void 0 !== value)) return value;
|
|
let parent = node.parent;
|
|
if ("before" === detect) {
|
|
if (!parent || "root" === parent.type && parent.first === node) return "";
|
|
if (parent && "document" === parent.type) return ""
|
|
}
|
|
if (!parent) return DEFAULT_RAW[detect];
|
|
let root = node.root();
|
|
if (root.rawCache || (root.rawCache = {}), void 0 !== root.rawCache[detect]) return root.rawCache[detect];
|
|
if ("before" === detect || "after" === detect) return this.beforeAfter(node, detect);
|
|
{
|
|
let method = "raw" + ((str = detect)[0].toUpperCase() + str.slice(1));
|
|
this[method] ? value = this[method](root, node) : root.walk(i => {
|
|
if (value = i.raws[own], void 0 !== value) return !1
|
|
})
|
|
}
|
|
var str;
|
|
return void 0 === value && (value = DEFAULT_RAW[detect]), root.rawCache[detect] = value, value
|
|
}
|
|
rawBeforeClose(root) {
|
|
let value;
|
|
return root.walk(i => {
|
|
if (i.nodes && i.nodes.length > 0 && void 0 !== i.raws.after) return value = i.raws.after, value.includes("\n") && (value = value.replace(/[^\n]+$/, "")), !1
|
|
}), value && (value = value.replace(/\S/g, "")), value
|
|
}
|
|
rawBeforeComment(root, node) {
|
|
let value;
|
|
return root.walkComments(i => {
|
|
if (void 0 !== i.raws.before) return value = i.raws.before, value.includes("\n") && (value = value.replace(/[^\n]+$/, "")), !1
|
|
}), void 0 === value ? value = this.raw(node, null, "beforeDecl") : value && (value = value.replace(/\S/g, "")), value
|
|
}
|
|
rawBeforeDecl(root, node) {
|
|
let value;
|
|
return root.walkDecls(i => {
|
|
if (void 0 !== i.raws.before) return value = i.raws.before, value.includes("\n") && (value = value.replace(/[^\n]+$/, "")), !1
|
|
}), void 0 === value ? value = this.raw(node, null, "beforeRule") : value && (value = value.replace(/\S/g, "")), value
|
|
}
|
|
rawBeforeOpen(root) {
|
|
let value;
|
|
return root.walk(i => {
|
|
if ("decl" !== i.type && (value = i.raws.between, void 0 !== value)) return !1
|
|
}), value
|
|
}
|
|
rawBeforeRule(root) {
|
|
let value;
|
|
return root.walk(i => {
|
|
if (i.nodes && (i.parent !== root || root.first !== i) && void 0 !== i.raws.before) return value = i.raws.before, value.includes("\n") && (value = value.replace(/[^\n]+$/, "")), !1
|
|
}), value && (value = value.replace(/\S/g, "")), value
|
|
}
|
|
rawColon(root) {
|
|
let value;
|
|
return root.walkDecls(i => {
|
|
if (void 0 !== i.raws.between) return value = i.raws.between.replace(/[^\s:]/g, ""), !1
|
|
}), value
|
|
}
|
|
rawEmptyBody(root) {
|
|
let value;
|
|
return root.walk(i => {
|
|
if (i.nodes && 0 === i.nodes.length && (value = i.raws.after, void 0 !== value)) return !1
|
|
}), value
|
|
}
|
|
rawIndent(root) {
|
|
if (root.raws.indent) return root.raws.indent;
|
|
let value;
|
|
return root.walk(i => {
|
|
let p = i.parent;
|
|
if (p && p !== root && p.parent && p.parent === root && void 0 !== i.raws.before) {
|
|
let parts = i.raws.before.split("\n");
|
|
return value = parts[parts.length - 1], value = value.replace(/\S/g, ""), !1
|
|
}
|
|
}), value
|
|
}
|
|
rawSemicolon(root) {
|
|
let value;
|
|
return root.walk(i => {
|
|
if (i.nodes && i.nodes.length && "decl" === i.last.type && (value = i.raws.semicolon, void 0 !== value)) return !1
|
|
}), value
|
|
}
|
|
rawValue(node, prop) {
|
|
let value = node[prop],
|
|
raw = node.raws[prop];
|
|
return raw && raw.value === value ? raw.raw : value
|
|
}
|
|
root(node) {
|
|
this.body(node), node.raws.after && this.builder(node.raws.after)
|
|
}
|
|
rule(node) {
|
|
this.block(node, this.rawValue(node, "selector")), node.raws.ownSemicolon && this.builder(node.raws.ownSemicolon, node, "end")
|
|
}
|
|
stringify(node, semicolon) {
|
|
if (!this[node.type]) throw new Error("Unknown AST node type " + node.type + ". Maybe you need to change PostCSS stringifier.");
|
|
this[node.type](node, semicolon)
|
|
}
|
|
}
|
|
module.exports = Stringifier, Stringifier.default = Stringifier
|
|
},
|
|
57935: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
exports.default = class {
|
|
constructor(data, interpreter) {
|
|
switch (this.type = typeof data, this.data = data, this.isPrimitive = !0, this.type) {
|
|
case "number":
|
|
this.parent = interpreter.NUMBER;
|
|
break;
|
|
case "string":
|
|
this.parent = interpreter.STRING;
|
|
break;
|
|
case "boolean":
|
|
this.parent = interpreter.BOOLEAN;
|
|
break;
|
|
default:
|
|
this.parent = null
|
|
}
|
|
}
|
|
toBoolean() {
|
|
return Boolean(this.data)
|
|
}
|
|
toNumber() {
|
|
return Number(this.data)
|
|
}
|
|
toString() {
|
|
return String(this.data)
|
|
}
|
|
valueOf() {
|
|
return this.data
|
|
}
|
|
}, module.exports = exports.default
|
|
},
|
|
58132: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912));
|
|
exports.default = new _dac.default({
|
|
description: "Puritans-Pride Meta Function",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 10
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "7394094478199566448",
|
|
name: "puritans-pride"
|
|
}],
|
|
doDac: async function(code, selector, priceAmt) {
|
|
let price = priceAmt;
|
|
return function(res) {
|
|
price = (0, _jquery.default)(res).find(selector).text(), Number(_legacyHoneyUtils.default.cleanPrice(price)) < priceAmt && (0, _jquery.default)(selector).text(price)
|
|
}(await async function() {
|
|
const res = _jquery.default.ajax({
|
|
url: "https://www.puritan.com/shoppingcart/applyCoupon",
|
|
type: "POST",
|
|
data: {
|
|
CouponCode: code
|
|
}
|
|
});
|
|
return await res.done(_data => {
|
|
_logger.default.debug("Finishing applying code")
|
|
}), res
|
|
}()), Number(_legacyHoneyUtils.default.cleanPrice(price))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
58144: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var bind = __webpack_require__(2089),
|
|
$TypeError = __webpack_require__(79809),
|
|
$call = __webpack_require__(2030),
|
|
$actualApply = __webpack_require__(80506);
|
|
module.exports = function(args) {
|
|
if (args.length < 1 || "function" != typeof args[0]) throw new $TypeError("a function is required");
|
|
return $actualApply(bind, $call, args)
|
|
}
|
|
},
|
|
58341: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function(instance, scope) {
|
|
Object.entries(URI_FUNCTIONS).forEach(([strFunctionName, strFunction]) => {
|
|
instance.setProperty(scope, strFunctionName, instance.createNativeFunction(str => {
|
|
try {
|
|
return instance.createPrimitive(strFunction((str || instance.UNDEFINED).toString()))
|
|
} catch (err) {
|
|
return instance.throwException(instance.URI_ERROR, err.message), null
|
|
}
|
|
}), _Instance.default.READONLY_DESCRIPTOR)
|
|
}), HTML_ENCODER_FUNCTIONS.forEach(strFunctionName => {
|
|
instance.setProperty(scope, strFunctionName, instance.createNativeFunction(str => {
|
|
try {
|
|
return instance.createPrimitive(_htmlencode.default[strFunctionName]((str || instance.UNDEFINED).toString().replace(/'/g, "'")))
|
|
} catch (err) {
|
|
return instance.throwException(instance.URI_ERROR, err.message), null
|
|
}
|
|
}), _Instance.default.READONLY_DESCRIPTOR)
|
|
}), instance.setProperty(scope, "parseUrl", instance.createNativeFunction((pseudoUrl, pseudoParseQueryString) => {
|
|
try {
|
|
const nativeUrl = instance.pseudoToNative(pseudoUrl || instance.UNDEFINED),
|
|
nativeParseQueryString = instance.pseudoToNative(pseudoParseQueryString || instance.UNDEFINED);
|
|
return instance.createPrimitive((0, _urlParse.default)(nativeUrl, nativeParseQueryString))
|
|
} catch (err) {
|
|
return instance.throwException(instance.URI_ERROR, err.message), null
|
|
}
|
|
}), _Instance.default.READONLY_DESCRIPTOR), instance.setProperty(scope, "getUrlPattern", instance.createNativeFunction(pseudoUrl => {
|
|
try {
|
|
const nativeUrl = instance.pseudoToNative(pseudoUrl || instance.UNDEFINED),
|
|
parsedUrl = (0, _urlParse.default)(nativeUrl, !0);
|
|
return instance.createPrimitive({
|
|
protocol: parsedUrl.protocol,
|
|
hostname: parsedUrl.hostname.replace(/\.*$/g, "").split("."),
|
|
port: parseInt(parsedUrl.port, 10) || null,
|
|
path: `${parsedUrl.pathname}/`.replace(/\/*$/g, "").split("/").slice(1),
|
|
query: parsedUrl.query
|
|
})
|
|
} catch (err) {
|
|
return instance.throwException(instance.URI_ERROR, err.message), null
|
|
}
|
|
}), _Instance.default.READONLY_DESCRIPTOR)
|
|
};
|
|
var _htmlencode = _interopRequireDefault(__webpack_require__(70804)),
|
|
_urlParse = _interopRequireDefault(__webpack_require__(29362)),
|
|
_Instance = _interopRequireDefault(__webpack_require__(76352));
|
|
const URI_FUNCTIONS = {
|
|
decodeURI,
|
|
decodeURIComponent,
|
|
encodeURI,
|
|
encodeURIComponent
|
|
},
|
|
HTML_ENCODER_FUNCTIONS = ["htmlEncode", "htmlDecode"];
|
|
module.exports = exports.default
|
|
},
|
|
58412: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
const Mixin = __webpack_require__(28338),
|
|
Tokenizer = __webpack_require__(12275),
|
|
PositionTrackingPreprocessorMixin = __webpack_require__(15417);
|
|
module.exports = class extends Mixin {
|
|
constructor(tokenizer) {
|
|
super(tokenizer), this.tokenizer = tokenizer, this.posTracker = Mixin.install(tokenizer.preprocessor, PositionTrackingPreprocessorMixin), this.currentAttrLocation = null, this.ctLoc = null
|
|
}
|
|
_getCurrentLocation() {
|
|
return {
|
|
startLine: this.posTracker.line,
|
|
startCol: this.posTracker.col,
|
|
startOffset: this.posTracker.offset,
|
|
endLine: -1,
|
|
endCol: -1,
|
|
endOffset: -1
|
|
}
|
|
}
|
|
_attachCurrentAttrLocationInfo() {
|
|
this.currentAttrLocation.endLine = this.posTracker.line, this.currentAttrLocation.endCol = this.posTracker.col, this.currentAttrLocation.endOffset = this.posTracker.offset;
|
|
const currentToken = this.tokenizer.currentToken,
|
|
currentAttr = this.tokenizer.currentAttr;
|
|
currentToken.location.attrs || (currentToken.location.attrs = Object.create(null)), currentToken.location.attrs[currentAttr.name] = this.currentAttrLocation
|
|
}
|
|
_getOverriddenMethods(mxn, orig) {
|
|
const methods = {
|
|
_createStartTagToken() {
|
|
orig._createStartTagToken.call(this), this.currentToken.location = mxn.ctLoc
|
|
},
|
|
_createEndTagToken() {
|
|
orig._createEndTagToken.call(this), this.currentToken.location = mxn.ctLoc
|
|
},
|
|
_createCommentToken() {
|
|
orig._createCommentToken.call(this), this.currentToken.location = mxn.ctLoc
|
|
},
|
|
_createDoctypeToken(initialName) {
|
|
orig._createDoctypeToken.call(this, initialName), this.currentToken.location = mxn.ctLoc
|
|
},
|
|
_createCharacterToken(type, ch) {
|
|
orig._createCharacterToken.call(this, type, ch), this.currentCharacterToken.location = mxn.ctLoc
|
|
},
|
|
_createEOFToken() {
|
|
orig._createEOFToken.call(this), this.currentToken.location = mxn._getCurrentLocation()
|
|
},
|
|
_createAttr(attrNameFirstCh) {
|
|
orig._createAttr.call(this, attrNameFirstCh), mxn.currentAttrLocation = mxn._getCurrentLocation()
|
|
},
|
|
_leaveAttrName(toState) {
|
|
orig._leaveAttrName.call(this, toState), mxn._attachCurrentAttrLocationInfo()
|
|
},
|
|
_leaveAttrValue(toState) {
|
|
orig._leaveAttrValue.call(this, toState), mxn._attachCurrentAttrLocationInfo()
|
|
},
|
|
_emitCurrentToken() {
|
|
const ctLoc = this.currentToken.location;
|
|
this.currentCharacterToken && (this.currentCharacterToken.location.endLine = ctLoc.startLine, this.currentCharacterToken.location.endCol = ctLoc.startCol, this.currentCharacterToken.location.endOffset = ctLoc.startOffset), this.currentToken.type === Tokenizer.EOF_TOKEN ? (ctLoc.endLine = ctLoc.startLine, ctLoc.endCol = ctLoc.startCol, ctLoc.endOffset = ctLoc.startOffset) : (ctLoc.endLine = mxn.posTracker.line, ctLoc.endCol = mxn.posTracker.col + 1, ctLoc.endOffset = mxn.posTracker.offset + 1), orig._emitCurrentToken.call(this)
|
|
},
|
|
_emitCurrentCharacterToken() {
|
|
const ctLoc = this.currentCharacterToken && this.currentCharacterToken.location;
|
|
ctLoc && -1 === ctLoc.endOffset && (ctLoc.endLine = mxn.posTracker.line, ctLoc.endCol = mxn.posTracker.col, ctLoc.endOffset = mxn.posTracker.offset), orig._emitCurrentCharacterToken.call(this)
|
|
}
|
|
};
|
|
return Object.keys(Tokenizer.MODE).forEach(modeName => {
|
|
const state = Tokenizer.MODE[modeName];
|
|
methods[state] = function(cp) {
|
|
mxn.ctLoc = mxn._getCurrentLocation(), orig[state].call(this, cp)
|
|
}
|
|
}), methods
|
|
}
|
|
}
|
|
},
|
|
58433: module => {
|
|
"use strict";
|
|
var ReflectOwnKeys, R = "object" == typeof Reflect ? Reflect : null,
|
|
ReflectApply = R && "function" == typeof R.apply ? R.apply : function(target, receiver, args) {
|
|
return Function.prototype.apply.call(target, receiver, args)
|
|
};
|
|
ReflectOwnKeys = R && "function" == typeof R.ownKeys ? R.ownKeys : Object.getOwnPropertySymbols ? function(target) {
|
|
return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target))
|
|
} : function(target) {
|
|
return Object.getOwnPropertyNames(target)
|
|
};
|
|
var NumberIsNaN = Number.isNaN || function(value) {
|
|
return value != value
|
|
};
|
|
|
|
function EventEmitter() {
|
|
EventEmitter.init.call(this)
|
|
}
|
|
module.exports = EventEmitter, module.exports.once = function(emitter, name) {
|
|
return new Promise(function(resolve, reject) {
|
|
function errorListener(err) {
|
|
emitter.removeListener(name, resolver), reject(err)
|
|
}
|
|
|
|
function resolver() {
|
|
"function" == typeof emitter.removeListener && emitter.removeListener("error", errorListener), resolve([].slice.call(arguments))
|
|
}
|
|
eventTargetAgnosticAddListener(emitter, name, resolver, {
|
|
once: !0
|
|
}), "error" !== name && function(emitter, handler, flags) {
|
|
"function" == typeof emitter.on && eventTargetAgnosticAddListener(emitter, "error", handler, flags)
|
|
}(emitter, errorListener, {
|
|
once: !0
|
|
})
|
|
})
|
|
}, EventEmitter.EventEmitter = EventEmitter, EventEmitter.prototype._events = void 0, EventEmitter.prototype._eventsCount = 0, EventEmitter.prototype._maxListeners = void 0;
|
|
var defaultMaxListeners = 10;
|
|
|
|
function checkListener(listener) {
|
|
if ("function" != typeof listener) throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof listener)
|
|
}
|
|
|
|
function _getMaxListeners(that) {
|
|
return void 0 === that._maxListeners ? EventEmitter.defaultMaxListeners : that._maxListeners
|
|
}
|
|
|
|
function _addListener(target, type, listener, prepend) {
|
|
var m, events, existing, warning;
|
|
if (checkListener(listener), void 0 === (events = target._events) ? (events = target._events = Object.create(null), target._eventsCount = 0) : (void 0 !== events.newListener && (target.emit("newListener", type, listener.listener ? listener.listener : listener), events = target._events), existing = events[type]), void 0 === existing) existing = events[type] = listener, ++target._eventsCount;
|
|
else if ("function" == typeof existing ? existing = events[type] = prepend ? [listener, existing] : [existing, listener] : prepend ? existing.unshift(listener) : existing.push(listener), (m = _getMaxListeners(target)) > 0 && existing.length > m && !existing.warned) {
|
|
existing.warned = !0;
|
|
var w = new Error("Possible EventEmitter memory leak detected. " + existing.length + " " + String(type) + " listeners added. Use emitter.setMaxListeners() to increase limit");
|
|
w.name = "MaxListenersExceededWarning", w.emitter = target, w.type = type, w.count = existing.length, warning = w, console && console.warn && console.warn(warning)
|
|
}
|
|
return target
|
|
}
|
|
|
|
function onceWrapper() {
|
|
if (!this.fired) return this.target.removeListener(this.type, this.wrapFn), this.fired = !0, 0 === arguments.length ? this.listener.call(this.target) : this.listener.apply(this.target, arguments)
|
|
}
|
|
|
|
function _onceWrap(target, type, listener) {
|
|
var state = {
|
|
fired: !1,
|
|
wrapFn: void 0,
|
|
target,
|
|
type,
|
|
listener
|
|
},
|
|
wrapped = onceWrapper.bind(state);
|
|
return wrapped.listener = listener, state.wrapFn = wrapped, wrapped
|
|
}
|
|
|
|
function _listeners(target, type, unwrap) {
|
|
var events = target._events;
|
|
if (void 0 === events) return [];
|
|
var evlistener = events[type];
|
|
return void 0 === evlistener ? [] : "function" == typeof evlistener ? unwrap ? [evlistener.listener || evlistener] : [evlistener] : unwrap ? function(arr) {
|
|
for (var ret = new Array(arr.length), i = 0; i < ret.length; ++i) ret[i] = arr[i].listener || arr[i];
|
|
return ret
|
|
}(evlistener) : arrayClone(evlistener, evlistener.length)
|
|
}
|
|
|
|
function listenerCount(type) {
|
|
var events = this._events;
|
|
if (void 0 !== events) {
|
|
var evlistener = events[type];
|
|
if ("function" == typeof evlistener) return 1;
|
|
if (void 0 !== evlistener) return evlistener.length
|
|
}
|
|
return 0
|
|
}
|
|
|
|
function arrayClone(arr, n) {
|
|
for (var copy = new Array(n), i = 0; i < n; ++i) copy[i] = arr[i];
|
|
return copy
|
|
}
|
|
|
|
function eventTargetAgnosticAddListener(emitter, name, listener, flags) {
|
|
if ("function" == typeof emitter.on) flags.once ? emitter.once(name, listener) : emitter.on(name, listener);
|
|
else {
|
|
if ("function" != typeof emitter.addEventListener) throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof emitter);
|
|
emitter.addEventListener(name, function wrapListener(arg) {
|
|
flags.once && emitter.removeEventListener(name, wrapListener), listener(arg)
|
|
})
|
|
}
|
|
}
|
|
Object.defineProperty(EventEmitter, "defaultMaxListeners", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return defaultMaxListeners
|
|
},
|
|
set: function(arg) {
|
|
if ("number" != typeof arg || arg < 0 || NumberIsNaN(arg)) throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + arg + ".");
|
|
defaultMaxListeners = arg
|
|
}
|
|
}), EventEmitter.init = function() {
|
|
void 0 !== this._events && this._events !== Object.getPrototypeOf(this)._events || (this._events = Object.create(null), this._eventsCount = 0), this._maxListeners = this._maxListeners || void 0
|
|
}, EventEmitter.prototype.setMaxListeners = function(n) {
|
|
if ("number" != typeof n || n < 0 || NumberIsNaN(n)) throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + n + ".");
|
|
return this._maxListeners = n, this
|
|
}, EventEmitter.prototype.getMaxListeners = function() {
|
|
return _getMaxListeners(this)
|
|
}, EventEmitter.prototype.emit = function(type) {
|
|
for (var args = [], i = 1; i < arguments.length; i++) args.push(arguments[i]);
|
|
var doError = "error" === type,
|
|
events = this._events;
|
|
if (void 0 !== events) doError = doError && void 0 === events.error;
|
|
else if (!doError) return !1;
|
|
if (doError) {
|
|
var er;
|
|
if (args.length > 0 && (er = args[0]), er instanceof Error) throw er;
|
|
var err = new Error("Unhandled error." + (er ? " (" + er.message + ")" : ""));
|
|
throw err.context = er, err
|
|
}
|
|
var handler = events[type];
|
|
if (void 0 === handler) return !1;
|
|
if ("function" == typeof handler) ReflectApply(handler, this, args);
|
|
else {
|
|
var len = handler.length,
|
|
listeners = arrayClone(handler, len);
|
|
for (i = 0; i < len; ++i) ReflectApply(listeners[i], this, args)
|
|
}
|
|
return !0
|
|
}, EventEmitter.prototype.addListener = function(type, listener) {
|
|
return _addListener(this, type, listener, !1)
|
|
}, EventEmitter.prototype.on = EventEmitter.prototype.addListener, EventEmitter.prototype.prependListener = function(type, listener) {
|
|
return _addListener(this, type, listener, !0)
|
|
}, EventEmitter.prototype.once = function(type, listener) {
|
|
return checkListener(listener), this.on(type, _onceWrap(this, type, listener)), this
|
|
}, EventEmitter.prototype.prependOnceListener = function(type, listener) {
|
|
return checkListener(listener), this.prependListener(type, _onceWrap(this, type, listener)), this
|
|
}, EventEmitter.prototype.removeListener = function(type, listener) {
|
|
var list, events, position, i, originalListener;
|
|
if (checkListener(listener), void 0 === (events = this._events)) return this;
|
|
if (void 0 === (list = events[type])) return this;
|
|
if (list === listener || list.listener === listener) 0 === --this._eventsCount ? this._events = Object.create(null) : (delete events[type], events.removeListener && this.emit("removeListener", type, list.listener || listener));
|
|
else if ("function" != typeof list) {
|
|
for (position = -1, i = list.length - 1; i >= 0; i--)
|
|
if (list[i] === listener || list[i].listener === listener) {
|
|
originalListener = list[i].listener, position = i;
|
|
break
|
|
} if (position < 0) return this;
|
|
0 === position ? list.shift() : function(list, index) {
|
|
for (; index + 1 < list.length; index++) list[index] = list[index + 1];
|
|
list.pop()
|
|
}(list, position), 1 === list.length && (events[type] = list[0]), void 0 !== events.removeListener && this.emit("removeListener", type, originalListener || listener)
|
|
}
|
|
return this
|
|
}, EventEmitter.prototype.off = EventEmitter.prototype.removeListener, EventEmitter.prototype.removeAllListeners = function(type) {
|
|
var listeners, events, i;
|
|
if (void 0 === (events = this._events)) return this;
|
|
if (void 0 === events.removeListener) return 0 === arguments.length ? (this._events = Object.create(null), this._eventsCount = 0) : void 0 !== events[type] && (0 === --this._eventsCount ? this._events = Object.create(null) : delete events[type]), this;
|
|
if (0 === arguments.length) {
|
|
var key, keys = Object.keys(events);
|
|
for (i = 0; i < keys.length; ++i) "removeListener" !== (key = keys[i]) && this.removeAllListeners(key);
|
|
return this.removeAllListeners("removeListener"), this._events = Object.create(null), this._eventsCount = 0, this
|
|
}
|
|
if ("function" == typeof(listeners = events[type])) this.removeListener(type, listeners);
|
|
else if (void 0 !== listeners)
|
|
for (i = listeners.length - 1; i >= 0; i--) this.removeListener(type, listeners[i]);
|
|
return this
|
|
}, EventEmitter.prototype.listeners = function(type) {
|
|
return _listeners(this, type, !0)
|
|
}, EventEmitter.prototype.rawListeners = function(type) {
|
|
return _listeners(this, type, !1)
|
|
}, EventEmitter.listenerCount = function(emitter, type) {
|
|
return "function" == typeof emitter.listenerCount ? emitter.listenerCount(type) : listenerCount.call(emitter, type)
|
|
}, EventEmitter.prototype.listenerCount = listenerCount, EventEmitter.prototype.eventNames = function() {
|
|
return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : []
|
|
}
|
|
},
|
|
59124: module => {
|
|
"use strict";
|
|
|
|
function _toConsumableArray(arr) {
|
|
if (Array.isArray(arr)) {
|
|
for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
|
|
return arr2
|
|
}
|
|
return Array.from(arr)
|
|
}
|
|
module.exports = {
|
|
_hasIFlag: !1,
|
|
_hasUFlag: !1,
|
|
init: function(ast) {
|
|
this._hasIFlag = ast.flags.includes("i"), this._hasUFlag = ast.flags.includes("u")
|
|
},
|
|
CharacterClass: function(path) {
|
|
! function(path) {
|
|
var node = path.node;
|
|
node.expressions.forEach(function(expression, i) {
|
|
(function(node) {
|
|
return "ClassRange" === node.type && "0" === node.from.value && "9" === node.to.value
|
|
})(expression) && path.getChild(i).replace({
|
|
type: "Char",
|
|
value: "\\d",
|
|
kind: "meta"
|
|
})
|
|
})
|
|
}(path),
|
|
function(path, hasIFlag, hasUFlag) {
|
|
var node = path.node,
|
|
numberPath = null,
|
|
lowerCasePath = null,
|
|
upperCasePath = null,
|
|
underscorePath = null,
|
|
u017fPath = null,
|
|
u212aPath = null;
|
|
node.expressions.forEach(function(expression, i) {
|
|
isMetaChar(expression, "\\d") ? numberPath = path.getChild(i) : ! function(node) {
|
|
return "ClassRange" === node.type && "a" === node.from.value && "z" === node.to.value
|
|
}(expression) ? ! function(node) {
|
|
return "ClassRange" === node.type && "A" === node.from.value && "Z" === node.to.value
|
|
}(expression) ? ! function(node) {
|
|
return "Char" === node.type && "_" === node.value && "simple" === node.kind
|
|
}(expression) ? hasIFlag && hasUFlag && isCodePoint(expression, 383) ? u017fPath = path.getChild(i) : hasIFlag && hasUFlag && isCodePoint(expression, 8490) && (u212aPath = path.getChild(i)) : underscorePath = path.getChild(i) : upperCasePath = path.getChild(i) : lowerCasePath = path.getChild(i)
|
|
}), numberPath && (lowerCasePath && upperCasePath || hasIFlag && (lowerCasePath || upperCasePath)) && underscorePath && (!hasUFlag || !hasIFlag || u017fPath && u212aPath) && (numberPath.replace({
|
|
type: "Char",
|
|
value: "\\w",
|
|
kind: "meta"
|
|
}), lowerCasePath && lowerCasePath.remove(), upperCasePath && upperCasePath.remove(), underscorePath.remove(), u017fPath && u017fPath.remove(), u212aPath && u212aPath.remove())
|
|
}(path, this._hasIFlag, this._hasUFlag),
|
|
function(path) {
|
|
var node = path.node;
|
|
if (node.expressions.length < whitespaceRangeTests.length || !whitespaceRangeTests.every(function(test) {
|
|
return node.expressions.some(function(expression) {
|
|
return test(expression)
|
|
})
|
|
})) return;
|
|
var nNode = node.expressions.find(function(expression) {
|
|
return isMetaChar(expression, "\\n")
|
|
});
|
|
nNode.value = "\\s", nNode.symbol = void 0, nNode.codePoint = NaN, node.expressions.map(function(expression, i) {
|
|
return whitespaceRangeTests.some(function(test) {
|
|
return test(expression)
|
|
}) ? path.getChild(i) : void 0
|
|
}).filter(Boolean).forEach(function(path) {
|
|
return path.remove()
|
|
})
|
|
}(path)
|
|
}
|
|
};
|
|
var whitespaceRangeTests = [function(node) {
|
|
return isChar(node, " ")
|
|
}].concat(_toConsumableArray(["\\f", "\\n", "\\r", "\\t", "\\v"].map(function(char) {
|
|
return function(node) {
|
|
return isMetaChar(node, char)
|
|
}
|
|
})), _toConsumableArray([160, 5760, 8232, 8233, 8239, 8287, 12288, 65279].map(function(codePoint) {
|
|
return function(node) {
|
|
return isCodePoint(node, codePoint)
|
|
}
|
|
})), [function(node) {
|
|
return "ClassRange" === node.type && isCodePoint(node.from, 8192) && isCodePoint(node.to, 8202)
|
|
}]);
|
|
|
|
function isChar(node, value) {
|
|
var kind = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : "simple";
|
|
return "Char" === node.type && node.value === value && node.kind === kind
|
|
}
|
|
|
|
function isMetaChar(node, value) {
|
|
return isChar(node, value, "meta")
|
|
}
|
|
|
|
function isCodePoint(node, codePoint) {
|
|
return "Char" === node.type && "unicode" === node.kind && node.codePoint === codePoint
|
|
}
|
|
},
|
|
59167: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var process = __webpack_require__(74620);
|
|
const semver = __webpack_require__(86405),
|
|
_require = __webpack_require__(7672),
|
|
isObject = _require.isObject,
|
|
hasOwn = _require.hasOwn;
|
|
|
|
function RequestBase() {}
|
|
module.exports = RequestBase, RequestBase.prototype.clearTimeout = function() {
|
|
return clearTimeout(this._timer), clearTimeout(this._responseTimeoutTimer), clearTimeout(this._uploadTimeoutTimer), delete this._timer, delete this._responseTimeoutTimer, delete this._uploadTimeoutTimer, this
|
|
}, RequestBase.prototype.parse = function(fn) {
|
|
return this._parser = fn, this
|
|
}, RequestBase.prototype.responseType = function(value) {
|
|
return this._responseType = value, this
|
|
}, RequestBase.prototype.serialize = function(fn) {
|
|
return this._serializer = fn, this
|
|
}, RequestBase.prototype.timeout = function(options) {
|
|
if (!options || "object" != typeof options) return this._timeout = options, this._responseTimeout = 0, this._uploadTimeout = 0, this;
|
|
for (const option in options)
|
|
if (hasOwn(options, option)) switch (option) {
|
|
case "deadline":
|
|
this._timeout = options.deadline;
|
|
break;
|
|
case "response":
|
|
this._responseTimeout = options.response;
|
|
break;
|
|
case "upload":
|
|
this._uploadTimeout = options.upload;
|
|
break;
|
|
default:
|
|
console.warn("Unknown timeout option", option)
|
|
}
|
|
return this
|
|
}, RequestBase.prototype.retry = function(count, fn) {
|
|
return 0 !== arguments.length && !0 !== count || (count = 1), count <= 0 && (count = 0), this._maxRetries = count, this._retries = 0, this._retryCallback = fn, this
|
|
};
|
|
const ERROR_CODES = new Set(["ETIMEDOUT", "ECONNRESET", "EADDRINUSE", "ECONNREFUSED", "EPIPE", "ENOTFOUND", "ENETUNREACH", "EAI_AGAIN"]),
|
|
STATUS_CODES = new Set([408, 413, 429, 500, 502, 503, 504, 521, 522, 524]);
|
|
RequestBase.prototype._shouldRetry = function(error, res) {
|
|
if (!this._maxRetries || this._retries++ >= this._maxRetries) return !1;
|
|
if (this._retryCallback) try {
|
|
const override = this._retryCallback(error, res);
|
|
if (!0 === override) return !0;
|
|
if (!1 === override) return !1
|
|
} catch (err) {
|
|
console.error(err)
|
|
}
|
|
if (res && res.status && STATUS_CODES.has(res.status)) return !0;
|
|
if (error) {
|
|
if (error.code && ERROR_CODES.has(error.code)) return !0;
|
|
if (error.timeout && "ECONNABORTED" === error.code) return !0;
|
|
if (error.crossDomain) return !0
|
|
}
|
|
return !1
|
|
}, RequestBase.prototype._retry = function() {
|
|
return this.clearTimeout(), this.req && (this.req = null, this.req = this.request()), this._aborted = !1, this.timedout = !1, this.timedoutError = null, this._end()
|
|
}, RequestBase.prototype.then = function(resolve, reject) {
|
|
if (!this._fullfilledPromise) {
|
|
const self = this;
|
|
this._endCalled && console.warn("Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises"), this._fullfilledPromise = new Promise((resolve, reject) => {
|
|
self.on("abort", () => {
|
|
if (this._maxRetries && this._maxRetries > this._retries) return;
|
|
if (this.timedout && this.timedoutError) return void reject(this.timedoutError);
|
|
const error = new Error("Aborted");
|
|
error.code = "ABORTED", error.status = this.status, error.method = this.method, error.url = this.url, reject(error)
|
|
}), self.end((error, res) => {
|
|
error ? reject(error) : resolve(res)
|
|
})
|
|
})
|
|
}
|
|
return this._fullfilledPromise.then(resolve, reject)
|
|
}, RequestBase.prototype.catch = function(callback) {
|
|
return this.then(void 0, callback)
|
|
}, RequestBase.prototype.use = function(fn) {
|
|
return fn(this), this
|
|
}, RequestBase.prototype.ok = function(callback) {
|
|
if ("function" != typeof callback) throw new Error("Callback required");
|
|
return this._okCallback = callback, this
|
|
}, RequestBase.prototype._isResponseOK = function(res) {
|
|
return !!res && (this._okCallback ? this._okCallback(res) : res.status >= 200 && res.status < 300)
|
|
}, RequestBase.prototype.get = function(field) {
|
|
return this._header[field.toLowerCase()]
|
|
}, RequestBase.prototype.getHeader = RequestBase.prototype.get, RequestBase.prototype.set = function(field, value) {
|
|
if (isObject(field)) {
|
|
for (const key in field) hasOwn(field, key) && this.set(key, field[key]);
|
|
return this
|
|
}
|
|
return this._header[field.toLowerCase()] = value, this.header[field] = value, this
|
|
}, RequestBase.prototype.unset = function(field) {
|
|
return delete this._header[field.toLowerCase()], delete this.header[field], this
|
|
}, RequestBase.prototype.field = function(name, value, options) {
|
|
if (null == name) throw new Error(".field(name, val) name can not be empty");
|
|
if (this._data) throw new Error(".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()");
|
|
if (isObject(name)) {
|
|
for (const key in name) hasOwn(name, key) && this.field(key, name[key]);
|
|
return this
|
|
}
|
|
if (Array.isArray(value)) {
|
|
for (const i in value) hasOwn(value, i) && this.field(name, value[i]);
|
|
return this
|
|
}
|
|
if (null == value) throw new Error(".field(name, val) val can not be empty");
|
|
return "boolean" == typeof value && (value = String(value)), options ? this._getFormData().append(name, value, options) : this._getFormData().append(name, value), this
|
|
}, RequestBase.prototype.abort = function() {
|
|
if (this._aborted) return this;
|
|
if (this._aborted = !0, this.xhr && this.xhr.abort(), this.req) {
|
|
if (semver.gte(process.version, "v13.0.0") && semver.lt(process.version, "v14.0.0")) throw new Error("Superagent does not work in v13 properly with abort() due to Node.js core changes");
|
|
this.req.abort()
|
|
}
|
|
return this.clearTimeout(), this.emit("abort"), this
|
|
}, RequestBase.prototype._auth = function(user, pass, options, base64Encoder) {
|
|
switch (options.type) {
|
|
case "basic":
|
|
this.set("Authorization", `Basic ${base64Encoder(`${user}:${pass}`)}`);
|
|
break;
|
|
case "auto":
|
|
this.username = user, this.password = pass;
|
|
break;
|
|
case "bearer":
|
|
this.set("Authorization", `Bearer ${user}`)
|
|
}
|
|
return this
|
|
}, RequestBase.prototype.withCredentials = function(on) {
|
|
return void 0 === on && (on = !0), this._withCredentials = on, this
|
|
}, RequestBase.prototype.redirects = function(n) {
|
|
return this._maxRedirects = n, this
|
|
}, RequestBase.prototype.maxResponseSize = function(n) {
|
|
if ("number" != typeof n) throw new TypeError("Invalid argument");
|
|
return this._maxResponseSize = n, this
|
|
}, RequestBase.prototype.toJSON = function() {
|
|
return {
|
|
method: this.method,
|
|
url: this.url,
|
|
data: this._data,
|
|
headers: this._header
|
|
}
|
|
}, RequestBase.prototype.send = function(data) {
|
|
const isObject_ = isObject(data);
|
|
let type = this._header["content-type"];
|
|
if (this._formData) throw new Error(".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()");
|
|
if (isObject_ && !this._data) Array.isArray(data) ? this._data = [] : this._isHost(data) || (this._data = {});
|
|
else if (data && this._data && this._isHost(this._data)) throw new Error("Can't merge these send calls");
|
|
if (isObject_ && isObject(this._data))
|
|
for (const key in data) {
|
|
if ("bigint" == typeof data[key] && !data[key].toJSON) throw new Error("Cannot serialize BigInt value to json");
|
|
hasOwn(data, key) && (this._data[key] = data[key])
|
|
} else {
|
|
if ("bigint" == typeof data) throw new Error("Cannot send value of type BigInt");
|
|
"string" == typeof data ? (type || this.type("form"), type = this._header["content-type"], type && (type = type.toLowerCase().trim()), this._data = "application/x-www-form-urlencoded" === type ? this._data ? `${this._data}&${data}` : data : (this._data || "") + data) : this._data = data
|
|
}
|
|
return !isObject_ || this._isHost(data) || type || this.type("json"), this
|
|
}, RequestBase.prototype.sortQuery = function(sort) {
|
|
return this._sort = void 0 === sort || sort, this
|
|
}, RequestBase.prototype._finalizeQueryString = function() {
|
|
const query = this._query.join("&");
|
|
if (query && (this.url += (this.url.includes("?") ? "&" : "?") + query), this._query.length = 0, this._sort) {
|
|
const index = this.url.indexOf("?");
|
|
if (index >= 0) {
|
|
const queryArray = this.url.slice(index + 1).split("&");
|
|
"function" == typeof this._sort ? queryArray.sort(this._sort) : queryArray.sort(), this.url = this.url.slice(0, index) + "?" + queryArray.join("&")
|
|
}
|
|
}
|
|
}, RequestBase.prototype._appendQueryString = () => {
|
|
console.warn("Unsupported")
|
|
}, RequestBase.prototype._timeoutError = function(reason, timeout, errno) {
|
|
if (this._aborted) return;
|
|
const error = new Error(`${reason+timeout}ms exceeded`);
|
|
error.timeout = timeout, error.code = "ECONNABORTED", error.errno = errno, this.timedout = !0, this.timedoutError = error, this.abort(), this.callback(error)
|
|
}, RequestBase.prototype._setTimeouts = function() {
|
|
const self = this;
|
|
this._timeout && !this._timer && (this._timer = setTimeout(() => {
|
|
self._timeoutError("Timeout of ", self._timeout, "ETIME")
|
|
}, this._timeout)), this._responseTimeout && !this._responseTimeoutTimer && (this._responseTimeoutTimer = setTimeout(() => {
|
|
self._timeoutError("Response timeout of ", self._responseTimeout, "ETIMEDOUT")
|
|
}, this._responseTimeout))
|
|
}
|
|
},
|
|
59266: function(__unused_webpack_module, exports, __webpack_require__) {
|
|
"use strict";
|
|
var __createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
void 0 === k2 && (k2 = k);
|
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
desc && !("get" in desc ? !m.__esModule : desc.writable || desc.configurable) || (desc = {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return m[k]
|
|
}
|
|
}), Object.defineProperty(o, k2, desc)
|
|
} : function(o, m, k, k2) {
|
|
void 0 === k2 && (k2 = k), o[k2] = m[k]
|
|
}),
|
|
__setModuleDefault = this && this.__setModuleDefault || (Object.create ? function(o, v) {
|
|
Object.defineProperty(o, "default", {
|
|
enumerable: !0,
|
|
value: v
|
|
})
|
|
} : function(o, v) {
|
|
o.default = v
|
|
}),
|
|
__importStar = this && this.__importStar || function(mod) {
|
|
if (mod && mod.__esModule) return mod;
|
|
var result = {};
|
|
if (null != mod)
|
|
for (var k in mod) "default" !== k && Object.prototype.hasOwnProperty.call(mod, k) && __createBinding(result, mod, k);
|
|
return __setModuleDefault(result, mod), result
|
|
},
|
|
__importDefault = this && this.__importDefault || function(mod) {
|
|
return mod && mod.__esModule ? mod : {
|
|
default: mod
|
|
}
|
|
};
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.DomUtils = exports.parseFeed = exports.getFeed = exports.ElementType = exports.Tokenizer = exports.createDomStream = exports.parseDOM = exports.parseDocument = exports.DefaultHandler = exports.DomHandler = exports.Parser = void 0;
|
|
var Parser_js_1 = __webpack_require__(91003),
|
|
Parser_js_2 = __webpack_require__(91003);
|
|
Object.defineProperty(exports, "Parser", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return Parser_js_2.Parser
|
|
}
|
|
});
|
|
var domhandler_1 = __webpack_require__(59811),
|
|
domhandler_2 = __webpack_require__(59811);
|
|
|
|
function parseDocument(data, options) {
|
|
var handler = new domhandler_1.DomHandler(void 0, options);
|
|
return new Parser_js_1.Parser(handler, options).end(data), handler.root
|
|
}
|
|
|
|
function parseDOM(data, options) {
|
|
return parseDocument(data, options).children
|
|
}
|
|
Object.defineProperty(exports, "DomHandler", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return domhandler_2.DomHandler
|
|
}
|
|
}), Object.defineProperty(exports, "DefaultHandler", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return domhandler_2.DomHandler
|
|
}
|
|
}), exports.parseDocument = parseDocument, exports.parseDOM = parseDOM, exports.createDomStream = function(callback, options, elementCallback) {
|
|
var handler = new domhandler_1.DomHandler(callback, options, elementCallback);
|
|
return new Parser_js_1.Parser(handler, options)
|
|
};
|
|
var Tokenizer_js_1 = __webpack_require__(29183);
|
|
Object.defineProperty(exports, "Tokenizer", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return __importDefault(Tokenizer_js_1).default
|
|
}
|
|
}), exports.ElementType = __importStar(__webpack_require__(60903));
|
|
var domutils_1 = __webpack_require__(21258),
|
|
domutils_2 = __webpack_require__(21258);
|
|
Object.defineProperty(exports, "getFeed", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return domutils_2.getFeed
|
|
}
|
|
});
|
|
var parseFeedDefaultOptions = {
|
|
xmlMode: !0
|
|
};
|
|
exports.parseFeed = function(feed, options) {
|
|
return void 0 === options && (options = parseFeedDefaultOptions), (0, domutils_1.getFeed)(parseDOM(feed, options))
|
|
}, exports.DomUtils = __importStar(__webpack_require__(21258))
|
|
},
|
|
59279: module => {
|
|
"use strict";
|
|
var replace = String.prototype.replace,
|
|
percentTwenties = /%20/g,
|
|
Format_RFC1738 = "RFC1738",
|
|
Format_RFC3986 = "RFC3986";
|
|
module.exports = {
|
|
default: Format_RFC3986,
|
|
formatters: {
|
|
RFC1738: function(value) {
|
|
return replace.call(value, percentTwenties, "+")
|
|
},
|
|
RFC3986: function(value) {
|
|
return String(value)
|
|
}
|
|
},
|
|
RFC1738: Format_RFC1738,
|
|
RFC3986: Format_RFC3986
|
|
}
|
|
},
|
|
59497: (__unused_webpack_module, exports) => {
|
|
"use strict";
|
|
|
|
function removeElement(elem) {
|
|
if (elem.prev && (elem.prev.next = elem.next), elem.next && (elem.next.prev = elem.prev), elem.parent) {
|
|
var childs = elem.parent.children;
|
|
childs.splice(childs.lastIndexOf(elem), 1)
|
|
}
|
|
}
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.prepend = exports.prependChild = exports.append = exports.appendChild = exports.replaceElement = exports.removeElement = void 0, exports.removeElement = removeElement, exports.replaceElement = function(elem, replacement) {
|
|
var prev = replacement.prev = elem.prev;
|
|
prev && (prev.next = replacement);
|
|
var next = replacement.next = elem.next;
|
|
next && (next.prev = replacement);
|
|
var parent = replacement.parent = elem.parent;
|
|
if (parent) {
|
|
var childs = parent.children;
|
|
childs[childs.lastIndexOf(elem)] = replacement
|
|
}
|
|
}, exports.appendChild = function(elem, child) {
|
|
if (removeElement(child), child.next = null, child.parent = elem, elem.children.push(child) > 1) {
|
|
var sibling = elem.children[elem.children.length - 2];
|
|
sibling.next = child, child.prev = sibling
|
|
} else child.prev = null
|
|
}, exports.append = function(elem, next) {
|
|
removeElement(next);
|
|
var parent = elem.parent,
|
|
currNext = elem.next;
|
|
if (next.next = currNext, next.prev = elem, elem.next = next, next.parent = parent, currNext) {
|
|
if (currNext.prev = next, parent) {
|
|
var childs = parent.children;
|
|
childs.splice(childs.lastIndexOf(currNext), 0, next)
|
|
}
|
|
} else parent && parent.children.push(next)
|
|
}, exports.prependChild = function(elem, child) {
|
|
if (removeElement(child), child.parent = elem, child.prev = null, 1 !== elem.children.unshift(child)) {
|
|
var sibling = elem.children[1];
|
|
sibling.prev = child, child.next = sibling
|
|
} else child.next = null
|
|
}, exports.prepend = function(elem, prev) {
|
|
removeElement(prev);
|
|
var parent = elem.parent;
|
|
if (parent) {
|
|
var childs = parent.children;
|
|
childs.splice(childs.indexOf(elem), 0, prev)
|
|
}
|
|
elem.prev && (elem.prev.next = prev), prev.parent = parent, prev.prev = elem.prev, prev.next = elem, elem.prev = prev
|
|
}
|
|
},
|
|
59811: function(__unused_webpack_module, exports, __webpack_require__) {
|
|
"use strict";
|
|
var __createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
void 0 === k2 && (k2 = k);
|
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
desc && !("get" in desc ? !m.__esModule : desc.writable || desc.configurable) || (desc = {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return m[k]
|
|
}
|
|
}), Object.defineProperty(o, k2, desc)
|
|
} : function(o, m, k, k2) {
|
|
void 0 === k2 && (k2 = k), o[k2] = m[k]
|
|
}),
|
|
__exportStar = this && this.__exportStar || function(m, exports) {
|
|
for (var p in m) "default" === p || Object.prototype.hasOwnProperty.call(exports, p) || __createBinding(exports, m, p)
|
|
};
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.DomHandler = void 0;
|
|
var domelementtype_1 = __webpack_require__(60903),
|
|
node_js_1 = __webpack_require__(63267);
|
|
__exportStar(__webpack_require__(63267), exports);
|
|
var defaultOpts = {
|
|
withStartIndices: !1,
|
|
withEndIndices: !1,
|
|
xmlMode: !1
|
|
},
|
|
DomHandler = function() {
|
|
function DomHandler(callback, options, elementCB) {
|
|
this.dom = [], this.root = new node_js_1.Document(this.dom), this.done = !1, this.tagStack = [this.root], this.lastNode = null, this.parser = null, "function" == typeof options && (elementCB = options, options = defaultOpts), "object" == typeof callback && (options = callback, callback = void 0), this.callback = null != callback ? callback : null, this.options = null != options ? options : defaultOpts, this.elementCB = null != elementCB ? elementCB : null
|
|
}
|
|
return DomHandler.prototype.onparserinit = function(parser) {
|
|
this.parser = parser
|
|
}, DomHandler.prototype.onreset = function() {
|
|
this.dom = [], this.root = new node_js_1.Document(this.dom), this.done = !1, this.tagStack = [this.root], this.lastNode = null, this.parser = null
|
|
}, DomHandler.prototype.onend = function() {
|
|
this.done || (this.done = !0, this.parser = null, this.handleCallback(null))
|
|
}, DomHandler.prototype.onerror = function(error) {
|
|
this.handleCallback(error)
|
|
}, DomHandler.prototype.onclosetag = function() {
|
|
this.lastNode = null;
|
|
var elem = this.tagStack.pop();
|
|
this.options.withEndIndices && (elem.endIndex = this.parser.endIndex), this.elementCB && this.elementCB(elem)
|
|
}, DomHandler.prototype.onopentag = function(name, attribs) {
|
|
var type = this.options.xmlMode ? domelementtype_1.ElementType.Tag : void 0,
|
|
element = new node_js_1.Element(name, attribs, void 0, type);
|
|
this.addNode(element), this.tagStack.push(element)
|
|
}, DomHandler.prototype.ontext = function(data) {
|
|
var lastNode = this.lastNode;
|
|
if (lastNode && lastNode.type === domelementtype_1.ElementType.Text) lastNode.data += data, this.options.withEndIndices && (lastNode.endIndex = this.parser.endIndex);
|
|
else {
|
|
var node = new node_js_1.Text(data);
|
|
this.addNode(node), this.lastNode = node
|
|
}
|
|
}, DomHandler.prototype.oncomment = function(data) {
|
|
if (this.lastNode && this.lastNode.type === domelementtype_1.ElementType.Comment) this.lastNode.data += data;
|
|
else {
|
|
var node = new node_js_1.Comment(data);
|
|
this.addNode(node), this.lastNode = node
|
|
}
|
|
}, DomHandler.prototype.oncommentend = function() {
|
|
this.lastNode = null
|
|
}, DomHandler.prototype.oncdatastart = function() {
|
|
var text = new node_js_1.Text(""),
|
|
node = new node_js_1.CDATA([text]);
|
|
this.addNode(node), text.parent = node, this.lastNode = text
|
|
}, DomHandler.prototype.oncdataend = function() {
|
|
this.lastNode = null
|
|
}, DomHandler.prototype.onprocessinginstruction = function(name, data) {
|
|
var node = new node_js_1.ProcessingInstruction(name, data);
|
|
this.addNode(node)
|
|
}, DomHandler.prototype.handleCallback = function(error) {
|
|
if ("function" == typeof this.callback) this.callback(error, this.dom);
|
|
else if (error) throw error
|
|
}, DomHandler.prototype.addNode = function(node) {
|
|
var parent = this.tagStack[this.tagStack.length - 1],
|
|
previousSibling = parent.children[parent.children.length - 1];
|
|
this.options.withStartIndices && (node.startIndex = this.parser.startIndex), this.options.withEndIndices && (node.endIndex = this.parser.endIndex), parent.children.push(node), previousSibling && (node.prev = previousSibling, previousSibling.next = node), node.parent = parent, this.lastNode = null
|
|
}, DomHandler
|
|
}();
|
|
exports.DomHandler = DomHandler, exports.default = DomHandler
|
|
},
|
|
59994: module => {
|
|
module.exports = /[^A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC0-9\xB2\xB3\xB9\xBC-\xBE\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u09F4-\u09F9\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0B72-\u0B77\u0BE6-\u0BF2\u0C66-\u0C6F\u0C78-\u0C7E\u0CE6-\u0CEF\u0D66-\u0D75\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F33\u1040-\u1049\u1090-\u1099\u1369-\u137C\u16EE-\u16F0\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1946-\u194F\u19D0-\u19DA\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\u2070\u2074-\u2079\u2080-\u2089\u2150-\u2182\u2185-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2CFD\u3007\u3021-\u3029\u3038-\u303A\u3192-\u3195\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\uA620-\uA629\uA6E6-\uA6EF\uA830-\uA835\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]+/g
|
|
},
|
|
60070: module => {
|
|
"use strict";
|
|
|
|
function consumeNumbers(startIndex, parent, rtl) {
|
|
for (var i = startIndex, siblingNode = (rtl ? i >= 0 : i < parent.expressions.length) && parent.expressions[i]; siblingNode && "Char" === siblingNode.type && "simple" === siblingNode.kind && !siblingNode.escaped && /\d/.test(siblingNode.value);) rtl ? i-- : i++, siblingNode = (rtl ? i >= 0 : i < parent.expressions.length) && parent.expressions[i];
|
|
return Math.abs(startIndex - i)
|
|
}
|
|
|
|
function isSimpleChar(node, value) {
|
|
return node && "Char" === node.type && "simple" === node.kind && !node.escaped && node.value === value
|
|
}
|
|
module.exports = {
|
|
_hasXFlag: !1,
|
|
init: function(ast) {
|
|
this._hasXFlag = ast.flags.includes("x")
|
|
},
|
|
Char: function(path) {
|
|
var node = path.node;
|
|
node.escaped && function(path, hasXFlag) {
|
|
var value = path.node.value,
|
|
index = path.index,
|
|
parent = path.parent;
|
|
if ("CharacterClass" !== parent.type && "ClassRange" !== parent.type) return ! function(value, index, parent, hasXFlag) {
|
|
if ("{" === value) return function(index, parent) {
|
|
if (null == index) return !1;
|
|
var nbFollowingNumbers = consumeNumbers(index + 1, parent),
|
|
i = index + nbFollowingNumbers + 1,
|
|
nextSiblingNode = i < parent.expressions.length && parent.expressions[i];
|
|
if (nbFollowingNumbers) {
|
|
if (isSimpleChar(nextSiblingNode, "}")) return !0;
|
|
if (isSimpleChar(nextSiblingNode, ",")) return isSimpleChar(nextSiblingNode = (i = i + (nbFollowingNumbers = consumeNumbers(i + 1, parent)) + 1) < parent.expressions.length && parent.expressions[i], "}")
|
|
}
|
|
return !1
|
|
}(index, parent);
|
|
if ("}" === value) return function(index, parent) {
|
|
if (null == index) return !1;
|
|
var nbPrecedingNumbers = consumeNumbers(index - 1, parent, !0),
|
|
i = index - nbPrecedingNumbers - 1,
|
|
previousSiblingNode = i >= 0 && parent.expressions[i];
|
|
if (nbPrecedingNumbers && isSimpleChar(previousSiblingNode, "{")) return !0;
|
|
if (isSimpleChar(previousSiblingNode, ",")) return previousSiblingNode = (i = i - (nbPrecedingNumbers = consumeNumbers(i - 1, parent, !0)) - 1) < parent.expressions.length && parent.expressions[i], nbPrecedingNumbers && isSimpleChar(previousSiblingNode, "{");
|
|
return !1
|
|
}(index, parent);
|
|
if (hasXFlag && /[ #]/.test(value)) return !0;
|
|
return /[*[()+?^$./\\|]/.test(value)
|
|
}(value, index, parent, hasXFlag);
|
|
return ! function(value, index, parent) {
|
|
if ("^" === value) return 0 === index && !parent.negative;
|
|
if ("-" === value) return !0;
|
|
return /[\]\\]/.test(value)
|
|
}(value, index, parent)
|
|
}(path, this._hasXFlag) && delete node.escaped
|
|
}
|
|
}
|
|
},
|
|
60178: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function(instance, scope) {
|
|
const pseudoCheerio = instance.createNativeFunction((pseudoHtml, pseudoOpts) => {
|
|
try {
|
|
const nativeHtml = `${pseudoHtml&&instance.pseudoToNative(pseudoHtml)||""}`;
|
|
if (!nativeHtml || "string" != typeof nativeHtml) throw new Error("Missing or invalid HTML string");
|
|
const nativeOpts = pseudoOpts ? instance.pseudoToNative(pseudoOpts) : {},
|
|
cheerioContext = _cheerio.default.load(nativeHtml, nativeOpts);
|
|
return instance.nativeToPseudo(cheerioContext.root())
|
|
} catch (err) {
|
|
return instance.throwException(instance.ERROR, err && err.message), null
|
|
}
|
|
});
|
|
INSTANCE_METHODS.forEach(methodName => {
|
|
instance.setNativeFunctionPrototype(pseudoCheerio, methodName, function(...args) {
|
|
try {
|
|
const nativeArgs = args.map(arg => instance.pseudoToNative(arg)),
|
|
res = this.data[methodName](...nativeArgs);
|
|
return instance.nativeToPseudo(res)
|
|
} catch (err) {
|
|
return instance.throwException(instance.ERROR, err && err.message), this
|
|
}
|
|
})
|
|
}), instance.setProperty(scope, "parseHtml", pseudoCheerio, _Instance.default.READONLY_DESCRIPTOR), instance.setNativeFunctionPrototype(pseudoCheerio, "findValue", function(selector, attribute) {
|
|
try {
|
|
const sel = instance.pseudoToNative(selector),
|
|
attr = instance.pseudoToNative(attribute);
|
|
let value;
|
|
return value = "text" === attr ? this.data.find(sel).eq(0).text().trim() : this.data.find(sel).eq(0).attr(attr), instance.nativeToPseudo(value)
|
|
} catch (e) {
|
|
return instance.nativeToPseudo(void 0)
|
|
}
|
|
}), instance.setNativeFunctionPrototype(pseudoCheerio, "findArrayValues", function(selector, attribute) {
|
|
try {
|
|
const sel = instance.pseudoToNative(selector),
|
|
attr = instance.pseudoToNative(attribute),
|
|
array = [],
|
|
currCheerio = this.data.find(sel);
|
|
for (let i = 0; i < currCheerio.length; i += 1) "text" === attr ? array.push(currCheerio.eq(i).text().trim()) : array.push(currCheerio.eq(i).attr(attr));
|
|
return instance.nativeToPseudo(array)
|
|
} catch (e) {
|
|
return instance.nativeToPseudo([])
|
|
}
|
|
});
|
|
const prevNativeToPseudo = instance.nativeToPseudo,
|
|
prevPseudoToNative = instance.pseudoToNative;
|
|
Object.assign(instance, {
|
|
nativeToPseudo: (nativeObj, optDescriptor, depthToMarshall) => {
|
|
if (nativeObj instanceof _cheerio.default) {
|
|
const pseudoCheerioElement = instance.createObject(pseudoCheerio);
|
|
return pseudoCheerioElement.data = nativeObj, instance.setProperty(pseudoCheerioElement, "length", instance.createPrimitive(pseudoCheerioElement.data.length)), pseudoCheerioElement
|
|
}
|
|
return prevNativeToPseudo.call(instance, nativeObj, optDescriptor, depthToMarshall)
|
|
},
|
|
pseudoToNative: (pseudoObj, depthToMarshall) => pseudoObj && pseudoObj.data instanceof _cheerio.default ? pseudoObj.data : prevPseudoToNative.call(instance, pseudoObj, depthToMarshall)
|
|
})
|
|
};
|
|
var _cheerio = _interopRequireDefault(__webpack_require__(1476)),
|
|
_Instance = _interopRequireDefault(__webpack_require__(76352));
|
|
const INSTANCE_METHODS = ["add", "addBack", "addClass", "after", "append", "appendTo", "attr", "before", "children", "clone", "closest", "contents", "css", "data", "empty", "end", "eq", "filter", "find", "first", "has", "hasClass", "html", "index", "insertAfter", "insertBefore", "is", "last", "next", "nextAll", "nextUntil", "not", "parent", "parents", "parentsUntil", "prepend", "prependTo", "prev", "prevAll", "prevUntil", "prop", "remove", "removeAttr", "removeClass", "replaceWith", "serialize", "serializeArray", "siblings", "slice", "text", "toArray", "toggleClass", "val", "wrap"];
|
|
module.exports = exports.default
|
|
},
|
|
60261: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _createClass = function() {
|
|
function defineProperties(target, props) {
|
|
for (var i = 0; i < props.length; i++) {
|
|
var descriptor = props[i];
|
|
descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor)
|
|
}
|
|
}
|
|
return function(Constructor, protoProps, staticProps) {
|
|
return protoProps && defineProperties(Constructor.prototype, protoProps), staticProps && defineProperties(Constructor, staticProps), Constructor
|
|
}
|
|
}();
|
|
var generator = __webpack_require__(39304),
|
|
parser = __webpack_require__(6692),
|
|
traverse = __webpack_require__(9033),
|
|
TransformResult = function() {
|
|
function TransformResult(ast) {
|
|
var extra = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null;
|
|
! function(instance, Constructor) {
|
|
if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function")
|
|
}(this, TransformResult), this._ast = ast, this._source = null, this._string = null, this._regexp = null, this._extra = extra
|
|
}
|
|
return _createClass(TransformResult, [{
|
|
key: "getAST",
|
|
value: function() {
|
|
return this._ast
|
|
}
|
|
}, {
|
|
key: "setExtra",
|
|
value: function(extra) {
|
|
this._extra = extra
|
|
}
|
|
}, {
|
|
key: "getExtra",
|
|
value: function() {
|
|
return this._extra
|
|
}
|
|
}, {
|
|
key: "toRegExp",
|
|
value: function() {
|
|
return this._regexp || (this._regexp = new RegExp(this.getSource(), this._ast.flags)), this._regexp
|
|
}
|
|
}, {
|
|
key: "getSource",
|
|
value: function() {
|
|
return this._source || (this._source = generator.generate(this._ast.body)), this._source
|
|
}
|
|
}, {
|
|
key: "getFlags",
|
|
value: function() {
|
|
return this._ast.flags
|
|
}
|
|
}, {
|
|
key: "toString",
|
|
value: function() {
|
|
return this._string || (this._string = generator.generate(this._ast)), this._string
|
|
}
|
|
}]), TransformResult
|
|
}();
|
|
module.exports = {
|
|
TransformResult,
|
|
transform: function(regexp, handlers) {
|
|
var ast = regexp;
|
|
return regexp instanceof RegExp && (regexp = "" + regexp), "string" == typeof regexp && (ast = parser.parse(regexp, {
|
|
captureLocations: !0
|
|
})), traverse.traverse(ast, handlers), new TransformResult(ast)
|
|
}
|
|
}
|
|
},
|
|
60380: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function({
|
|
inputSelector,
|
|
eventsInOrder
|
|
}) {
|
|
const events = eventsInOrder && eventsInOrder.split(",").filter(a => a.trim()) || ["input", "change"],
|
|
element = (0, _sharedFunctions.getElement)(inputSelector),
|
|
completedEvents = [];
|
|
if (!element) return new _mixinResponses.FailedMixinResponse(`[bubbleEvents] -- Invalid Selector: ${inputSelector}`);
|
|
for (const key in events) {
|
|
const event = events[key];
|
|
if (!_sharedFunctions.eventFunctions[event]) return new _mixinResponses.FailedMixinResponse(`[bubbleEvents] -- Event ${event} is not currently supported supported. \n Please inform SIP team you believe you've received this message in error`);
|
|
{
|
|
const completedEvent = _sharedFunctions.eventFunctions[event](inputSelector);
|
|
completedEvents.push(completedEvent)
|
|
}
|
|
}
|
|
return new _mixinResponses.SuccessfulMixinResponse("bubbleEvents completed successfully", completedEvents)
|
|
};
|
|
var _sharedFunctions = __webpack_require__(8627),
|
|
_mixinResponses = __webpack_require__(34522);
|
|
module.exports = exports.default
|
|
},
|
|
60547: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.compilePseudoSelector = exports.aliases = exports.pseudos = exports.filters = void 0;
|
|
var boolbase_1 = __webpack_require__(84894),
|
|
css_what_1 = __webpack_require__(89825),
|
|
filters_1 = __webpack_require__(90800);
|
|
Object.defineProperty(exports, "filters", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return filters_1.filters
|
|
}
|
|
});
|
|
var pseudos_1 = __webpack_require__(17900);
|
|
Object.defineProperty(exports, "pseudos", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return pseudos_1.pseudos
|
|
}
|
|
});
|
|
var aliases_1 = __webpack_require__(37999);
|
|
Object.defineProperty(exports, "aliases", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return aliases_1.aliases
|
|
}
|
|
});
|
|
var subselects_1 = __webpack_require__(32408);
|
|
exports.compilePseudoSelector = function(next, selector, options, context, compileToken) {
|
|
var name = selector.name,
|
|
data = selector.data;
|
|
if (Array.isArray(data)) return subselects_1.subselects[name](next, data, options, context, compileToken);
|
|
if (name in aliases_1.aliases) {
|
|
if (null != data) throw new Error("Pseudo ".concat(name, " doesn't have any arguments"));
|
|
var alias = (0, css_what_1.parse)(aliases_1.aliases[name]);
|
|
return subselects_1.subselects.is(next, alias, options, context, compileToken)
|
|
}
|
|
if (name in filters_1.filters) return filters_1.filters[name](next, data, options, context);
|
|
if (name in pseudos_1.pseudos) {
|
|
var pseudo_1 = pseudos_1.pseudos[name];
|
|
return (0, pseudos_1.verifyPseudoArgs)(pseudo_1, name, data), pseudo_1 === boolbase_1.falseFunc ? boolbase_1.falseFunc : next === boolbase_1.trueFunc ? function(elem) {
|
|
return pseudo_1(elem, options, data)
|
|
} : function(elem) {
|
|
return pseudo_1(elem, options, data) && next(elem)
|
|
}
|
|
}
|
|
throw new Error("unmatched pseudo-class :".concat(name))
|
|
}
|
|
},
|
|
60577: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var upperCase = __webpack_require__(96817);
|
|
module.exports = function(string, locale) {
|
|
return upperCase(string, locale) === string
|
|
}
|
|
},
|
|
60614: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var hasProtoAccessor, callBind = __webpack_require__(58144),
|
|
gOPD = __webpack_require__(1405);
|
|
try {
|
|
hasProtoAccessor = [].__proto__ === Array.prototype
|
|
} catch (e) {
|
|
if (!e || "object" != typeof e || !("code" in e) || "ERR_PROTO_ACCESS" !== e.code) throw e
|
|
}
|
|
var desc = !!hasProtoAccessor && gOPD && gOPD(Object.prototype, "__proto__"),
|
|
$Object = Object,
|
|
$getPrototypeOf = $Object.getPrototypeOf;
|
|
module.exports = desc && "function" == typeof desc.get ? callBind([desc.get]) : "function" == typeof $getPrototypeOf && function(value) {
|
|
return $getPrototypeOf(null == value ? value : $Object(value))
|
|
}
|
|
},
|
|
60714: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912)),
|
|
_helpers = _interopRequireDefault(__webpack_require__(16065));
|
|
exports.default = new _dac.default({
|
|
description: "Office Depot Acorns",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 10
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "135",
|
|
name: "Office Depot"
|
|
}],
|
|
doDac: async function(code, selector, priceAmt, applyBestCode) {
|
|
let csrfToken, currSyncToken, price = priceAmt;
|
|
const globalSettings = (0, _jquery.default)("script#globalSettings").text(),
|
|
jSessionID = (globalSettings.match('"jSessionID" : "(.*)"') || [])[1],
|
|
cloneID = (globalSettings.match('"cloneID" : "(.*)"') || [])[1];
|
|
async function getCartInfo() {
|
|
let res;
|
|
const cartInfo = _jquery.default.ajax({
|
|
url: "https://www.officedepot.com/async/cart/getCartInfo.do;jsessionid=" + jSessionID + ":" + cloneID,
|
|
type: "GET"
|
|
});
|
|
return await cartInfo.done((_data, status, xhr) => {
|
|
res = xhr, _logger.default.debug("Finishing fetching cart info")
|
|
}), {
|
|
xhr: res,
|
|
responseHeaders: (headerString = cartInfo.getAllResponseHeaders(), headerString.split("\r\n").reduce((acc, current) => {
|
|
const parts = current.split(": ");
|
|
return acc[parts[0]] = parts[1], acc
|
|
}, {}))
|
|
};
|
|
var headerString
|
|
}
|
|
const res = await async function() {
|
|
const cartInfo = await getCartInfo();
|
|
try {
|
|
const responseHeaders = cartInfo.responseHeaders;
|
|
csrfToken = responseHeaders["x-cart-csrftoken"]
|
|
} catch (e) {}
|
|
try {
|
|
const cartInfoText = cartInfo.xhr;
|
|
currSyncToken = cartInfoText.responseJSON.data.syncToken
|
|
} catch (e) {}
|
|
const res = _jquery.default.ajax({
|
|
url: "https://www.officedepot.com/async/cart/addCoupon.do;jsessionid=" + jSessionID + ":" + cloneID,
|
|
type: "POST",
|
|
headers: {
|
|
"content-type": "application/json",
|
|
"x-cart-csrftoken": csrfToken
|
|
},
|
|
data: JSON.stringify({
|
|
couponCode: code,
|
|
syncToken: currSyncToken
|
|
})
|
|
});
|
|
return await res.done(_data => {
|
|
_logger.default.debug("Finishing applying code")
|
|
}), res
|
|
}();
|
|
return function(res) {
|
|
let isValid = !1;
|
|
try {
|
|
isValid = res.data.coupon.valid
|
|
} catch (e) {}
|
|
if (isValid) {
|
|
try {
|
|
price = res.data.summary.orderSummary.total
|
|
} catch (e) {}
|
|
Number(_legacyHoneyUtils.default.cleanPrice(price)) < priceAmt && (0, _jquery.default)("#OdCart .od-cart-summary-total .od-cart-summary-field-value").text("$" + price)
|
|
}
|
|
}(res), !0 === applyBestCode && res.data.coupon.valid ? (window.location = window.location.href, await (0, _helpers.default)(2e3)) : await async function(res) {
|
|
const cartInfo = await getCartInfo();
|
|
try {
|
|
const cartInfoText = cartInfo.xhr;
|
|
currSyncToken = cartInfoText.responseJSON.data.syncToken
|
|
} catch (e) {}
|
|
let remCode = code;
|
|
try {
|
|
remCode = res.data.cartCoupons[0].couponCode
|
|
} catch (e) {}
|
|
const rCode = _jquery.default.ajax({
|
|
url: "https://www.officedepot.com/async/cart/removeCoupon.do;jsessionid=" + jSessionID + ":" + cloneID,
|
|
type: "POST",
|
|
headers: {
|
|
"content-type": "application/json",
|
|
"x-cart-csrftoken": csrfToken
|
|
},
|
|
data: JSON.stringify({
|
|
couponCode: remCode,
|
|
syncToken: currSyncToken
|
|
})
|
|
});
|
|
await rCode.done(_data => {
|
|
_logger.default.debug("Finishing removing code")
|
|
})
|
|
}(res), Number(_legacyHoneyUtils.default.cleanPrice(price))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
60866: function(module, exports, __webpack_require__) {
|
|
var C, WordArray, C_algo, SHA256, SHA224, CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), __webpack_require__(15439), WordArray = (C = CryptoJS).lib.WordArray, C_algo = C.algo, SHA256 = C_algo.SHA256, SHA224 = C_algo.SHA224 = SHA256.extend({
|
|
_doReset: function() {
|
|
this._hash = new WordArray.init([3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428])
|
|
},
|
|
_doFinalize: function() {
|
|
var hash = SHA256._doFinalize.call(this);
|
|
return hash.sigBytes -= 4, hash
|
|
}
|
|
}), C.SHA224 = SHA256._createHelper(SHA224), C.HmacSHA224 = SHA256._createHmacHelper(SHA224), CryptoJS.SHA224)
|
|
},
|
|
60901: module => {
|
|
"use strict";
|
|
var NON_BINARY_PROP_NAMES_TO_ALIASES = {
|
|
General_Category: "gc",
|
|
Script: "sc",
|
|
Script_Extensions: "scx"
|
|
},
|
|
NON_BINARY_ALIASES_TO_PROP_NAMES = inverseMap(NON_BINARY_PROP_NAMES_TO_ALIASES),
|
|
BINARY_PROP_NAMES_TO_ALIASES = {
|
|
ASCII: "ASCII",
|
|
ASCII_Hex_Digit: "AHex",
|
|
Alphabetic: "Alpha",
|
|
Any: "Any",
|
|
Assigned: "Assigned",
|
|
Bidi_Control: "Bidi_C",
|
|
Bidi_Mirrored: "Bidi_M",
|
|
Case_Ignorable: "CI",
|
|
Cased: "Cased",
|
|
Changes_When_Casefolded: "CWCF",
|
|
Changes_When_Casemapped: "CWCM",
|
|
Changes_When_Lowercased: "CWL",
|
|
Changes_When_NFKC_Casefolded: "CWKCF",
|
|
Changes_When_Titlecased: "CWT",
|
|
Changes_When_Uppercased: "CWU",
|
|
Dash: "Dash",
|
|
Default_Ignorable_Code_Point: "DI",
|
|
Deprecated: "Dep",
|
|
Diacritic: "Dia",
|
|
Emoji: "Emoji",
|
|
Emoji_Component: "Emoji_Component",
|
|
Emoji_Modifier: "Emoji_Modifier",
|
|
Emoji_Modifier_Base: "Emoji_Modifier_Base",
|
|
Emoji_Presentation: "Emoji_Presentation",
|
|
Extended_Pictographic: "Extended_Pictographic",
|
|
Extender: "Ext",
|
|
Grapheme_Base: "Gr_Base",
|
|
Grapheme_Extend: "Gr_Ext",
|
|
Hex_Digit: "Hex",
|
|
IDS_Binary_Operator: "IDSB",
|
|
IDS_Trinary_Operator: "IDST",
|
|
ID_Continue: "IDC",
|
|
ID_Start: "IDS",
|
|
Ideographic: "Ideo",
|
|
Join_Control: "Join_C",
|
|
Logical_Order_Exception: "LOE",
|
|
Lowercase: "Lower",
|
|
Math: "Math",
|
|
Noncharacter_Code_Point: "NChar",
|
|
Pattern_Syntax: "Pat_Syn",
|
|
Pattern_White_Space: "Pat_WS",
|
|
Quotation_Mark: "QMark",
|
|
Radical: "Radical",
|
|
Regional_Indicator: "RI",
|
|
Sentence_Terminal: "STerm",
|
|
Soft_Dotted: "SD",
|
|
Terminal_Punctuation: "Term",
|
|
Unified_Ideograph: "UIdeo",
|
|
Uppercase: "Upper",
|
|
Variation_Selector: "VS",
|
|
White_Space: "space",
|
|
XID_Continue: "XIDC",
|
|
XID_Start: "XIDS"
|
|
},
|
|
BINARY_ALIASES_TO_PROP_NAMES = inverseMap(BINARY_PROP_NAMES_TO_ALIASES),
|
|
GENERAL_CATEGORY_VALUE_TO_ALIASES = {
|
|
Cased_Letter: "LC",
|
|
Close_Punctuation: "Pe",
|
|
Connector_Punctuation: "Pc",
|
|
Control: ["Cc", "cntrl"],
|
|
Currency_Symbol: "Sc",
|
|
Dash_Punctuation: "Pd",
|
|
Decimal_Number: ["Nd", "digit"],
|
|
Enclosing_Mark: "Me",
|
|
Final_Punctuation: "Pf",
|
|
Format: "Cf",
|
|
Initial_Punctuation: "Pi",
|
|
Letter: "L",
|
|
Letter_Number: "Nl",
|
|
Line_Separator: "Zl",
|
|
Lowercase_Letter: "Ll",
|
|
Mark: ["M", "Combining_Mark"],
|
|
Math_Symbol: "Sm",
|
|
Modifier_Letter: "Lm",
|
|
Modifier_Symbol: "Sk",
|
|
Nonspacing_Mark: "Mn",
|
|
Number: "N",
|
|
Open_Punctuation: "Ps",
|
|
Other: "C",
|
|
Other_Letter: "Lo",
|
|
Other_Number: "No",
|
|
Other_Punctuation: "Po",
|
|
Other_Symbol: "So",
|
|
Paragraph_Separator: "Zp",
|
|
Private_Use: "Co",
|
|
Punctuation: ["P", "punct"],
|
|
Separator: "Z",
|
|
Space_Separator: "Zs",
|
|
Spacing_Mark: "Mc",
|
|
Surrogate: "Cs",
|
|
Symbol: "S",
|
|
Titlecase_Letter: "Lt",
|
|
Unassigned: "Cn",
|
|
Uppercase_Letter: "Lu"
|
|
},
|
|
GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES = inverseMap(GENERAL_CATEGORY_VALUE_TO_ALIASES),
|
|
SCRIPT_VALUE_TO_ALIASES = {
|
|
Adlam: "Adlm",
|
|
Ahom: "Ahom",
|
|
Anatolian_Hieroglyphs: "Hluw",
|
|
Arabic: "Arab",
|
|
Armenian: "Armn",
|
|
Avestan: "Avst",
|
|
Balinese: "Bali",
|
|
Bamum: "Bamu",
|
|
Bassa_Vah: "Bass",
|
|
Batak: "Batk",
|
|
Bengali: "Beng",
|
|
Bhaiksuki: "Bhks",
|
|
Bopomofo: "Bopo",
|
|
Brahmi: "Brah",
|
|
Braille: "Brai",
|
|
Buginese: "Bugi",
|
|
Buhid: "Buhd",
|
|
Canadian_Aboriginal: "Cans",
|
|
Carian: "Cari",
|
|
Caucasian_Albanian: "Aghb",
|
|
Chakma: "Cakm",
|
|
Cham: "Cham",
|
|
Cherokee: "Cher",
|
|
Common: "Zyyy",
|
|
Coptic: ["Copt", "Qaac"],
|
|
Cuneiform: "Xsux",
|
|
Cypriot: "Cprt",
|
|
Cyrillic: "Cyrl",
|
|
Deseret: "Dsrt",
|
|
Devanagari: "Deva",
|
|
Dogra: "Dogr",
|
|
Duployan: "Dupl",
|
|
Egyptian_Hieroglyphs: "Egyp",
|
|
Elbasan: "Elba",
|
|
Ethiopic: "Ethi",
|
|
Georgian: "Geor",
|
|
Glagolitic: "Glag",
|
|
Gothic: "Goth",
|
|
Grantha: "Gran",
|
|
Greek: "Grek",
|
|
Gujarati: "Gujr",
|
|
Gunjala_Gondi: "Gong",
|
|
Gurmukhi: "Guru",
|
|
Han: "Hani",
|
|
Hangul: "Hang",
|
|
Hanifi_Rohingya: "Rohg",
|
|
Hanunoo: "Hano",
|
|
Hatran: "Hatr",
|
|
Hebrew: "Hebr",
|
|
Hiragana: "Hira",
|
|
Imperial_Aramaic: "Armi",
|
|
Inherited: ["Zinh", "Qaai"],
|
|
Inscriptional_Pahlavi: "Phli",
|
|
Inscriptional_Parthian: "Prti",
|
|
Javanese: "Java",
|
|
Kaithi: "Kthi",
|
|
Kannada: "Knda",
|
|
Katakana: "Kana",
|
|
Kayah_Li: "Kali",
|
|
Kharoshthi: "Khar",
|
|
Khmer: "Khmr",
|
|
Khojki: "Khoj",
|
|
Khudawadi: "Sind",
|
|
Lao: "Laoo",
|
|
Latin: "Latn",
|
|
Lepcha: "Lepc",
|
|
Limbu: "Limb",
|
|
Linear_A: "Lina",
|
|
Linear_B: "Linb",
|
|
Lisu: "Lisu",
|
|
Lycian: "Lyci",
|
|
Lydian: "Lydi",
|
|
Mahajani: "Mahj",
|
|
Makasar: "Maka",
|
|
Malayalam: "Mlym",
|
|
Mandaic: "Mand",
|
|
Manichaean: "Mani",
|
|
Marchen: "Marc",
|
|
Medefaidrin: "Medf",
|
|
Masaram_Gondi: "Gonm",
|
|
Meetei_Mayek: "Mtei",
|
|
Mende_Kikakui: "Mend",
|
|
Meroitic_Cursive: "Merc",
|
|
Meroitic_Hieroglyphs: "Mero",
|
|
Miao: "Plrd",
|
|
Modi: "Modi",
|
|
Mongolian: "Mong",
|
|
Mro: "Mroo",
|
|
Multani: "Mult",
|
|
Myanmar: "Mymr",
|
|
Nabataean: "Nbat",
|
|
New_Tai_Lue: "Talu",
|
|
Newa: "Newa",
|
|
Nko: "Nkoo",
|
|
Nushu: "Nshu",
|
|
Ogham: "Ogam",
|
|
Ol_Chiki: "Olck",
|
|
Old_Hungarian: "Hung",
|
|
Old_Italic: "Ital",
|
|
Old_North_Arabian: "Narb",
|
|
Old_Permic: "Perm",
|
|
Old_Persian: "Xpeo",
|
|
Old_Sogdian: "Sogo",
|
|
Old_South_Arabian: "Sarb",
|
|
Old_Turkic: "Orkh",
|
|
Oriya: "Orya",
|
|
Osage: "Osge",
|
|
Osmanya: "Osma",
|
|
Pahawh_Hmong: "Hmng",
|
|
Palmyrene: "Palm",
|
|
Pau_Cin_Hau: "Pauc",
|
|
Phags_Pa: "Phag",
|
|
Phoenician: "Phnx",
|
|
Psalter_Pahlavi: "Phlp",
|
|
Rejang: "Rjng",
|
|
Runic: "Runr",
|
|
Samaritan: "Samr",
|
|
Saurashtra: "Saur",
|
|
Sharada: "Shrd",
|
|
Shavian: "Shaw",
|
|
Siddham: "Sidd",
|
|
SignWriting: "Sgnw",
|
|
Sinhala: "Sinh",
|
|
Sogdian: "Sogd",
|
|
Sora_Sompeng: "Sora",
|
|
Soyombo: "Soyo",
|
|
Sundanese: "Sund",
|
|
Syloti_Nagri: "Sylo",
|
|
Syriac: "Syrc",
|
|
Tagalog: "Tglg",
|
|
Tagbanwa: "Tagb",
|
|
Tai_Le: "Tale",
|
|
Tai_Tham: "Lana",
|
|
Tai_Viet: "Tavt",
|
|
Takri: "Takr",
|
|
Tamil: "Taml",
|
|
Tangut: "Tang",
|
|
Telugu: "Telu",
|
|
Thaana: "Thaa",
|
|
Thai: "Thai",
|
|
Tibetan: "Tibt",
|
|
Tifinagh: "Tfng",
|
|
Tirhuta: "Tirh",
|
|
Ugaritic: "Ugar",
|
|
Vai: "Vaii",
|
|
Warang_Citi: "Wara",
|
|
Yi: "Yiii",
|
|
Zanabazar_Square: "Zanb"
|
|
},
|
|
SCRIPT_VALUE_ALIASES_TO_VALUE = inverseMap(SCRIPT_VALUE_TO_ALIASES);
|
|
|
|
function inverseMap(data) {
|
|
var inverse = {};
|
|
for (var name in data)
|
|
if (data.hasOwnProperty(name)) {
|
|
var value = data[name];
|
|
if (Array.isArray(value))
|
|
for (var i = 0; i < value.length; i++) inverse[value[i]] = name;
|
|
else inverse[value] = name
|
|
} return inverse
|
|
}
|
|
|
|
function isGeneralCategoryValue(value) {
|
|
return GENERAL_CATEGORY_VALUE_TO_ALIASES.hasOwnProperty(value) || GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES.hasOwnProperty(value)
|
|
}
|
|
|
|
function isScriptCategoryValue(value) {
|
|
return SCRIPT_VALUE_TO_ALIASES.hasOwnProperty(value) || SCRIPT_VALUE_ALIASES_TO_VALUE.hasOwnProperty(value)
|
|
}
|
|
module.exports = {
|
|
isAlias: function(name) {
|
|
return NON_BINARY_ALIASES_TO_PROP_NAMES.hasOwnProperty(name) || BINARY_ALIASES_TO_PROP_NAMES.hasOwnProperty(name)
|
|
},
|
|
isValidName: function(name) {
|
|
return NON_BINARY_PROP_NAMES_TO_ALIASES.hasOwnProperty(name) || NON_BINARY_ALIASES_TO_PROP_NAMES.hasOwnProperty(name) || BINARY_PROP_NAMES_TO_ALIASES.hasOwnProperty(name) || BINARY_ALIASES_TO_PROP_NAMES.hasOwnProperty(name)
|
|
},
|
|
isValidValue: function(name, value) {
|
|
return function(name) {
|
|
return "General_Category" === name || "gc" == name
|
|
}(name) ? isGeneralCategoryValue(value) : !! function(name) {
|
|
return "Script" === name || "Script_Extensions" === name || "sc" === name || "scx" === name
|
|
}(name) && isScriptCategoryValue(value)
|
|
},
|
|
isGeneralCategoryValue,
|
|
isScriptCategoryValue,
|
|
isBinaryPropertyName: function(name) {
|
|
return BINARY_PROP_NAMES_TO_ALIASES.hasOwnProperty(name) || BINARY_ALIASES_TO_PROP_NAMES.hasOwnProperty(name)
|
|
},
|
|
getCanonicalName: function(name) {
|
|
return NON_BINARY_ALIASES_TO_PROP_NAMES.hasOwnProperty(name) ? NON_BINARY_ALIASES_TO_PROP_NAMES[name] : BINARY_ALIASES_TO_PROP_NAMES.hasOwnProperty(name) ? BINARY_ALIASES_TO_PROP_NAMES[name] : null
|
|
},
|
|
getCanonicalValue: function(value) {
|
|
return GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES.hasOwnProperty(value) ? GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES[value] : SCRIPT_VALUE_ALIASES_TO_VALUE.hasOwnProperty(value) ? SCRIPT_VALUE_ALIASES_TO_VALUE[value] : BINARY_ALIASES_TO_PROP_NAMES.hasOwnProperty(value) ? BINARY_ALIASES_TO_PROP_NAMES[value] : null
|
|
},
|
|
NON_BINARY_PROP_NAMES_TO_ALIASES,
|
|
NON_BINARY_ALIASES_TO_PROP_NAMES,
|
|
BINARY_PROP_NAMES_TO_ALIASES,
|
|
BINARY_ALIASES_TO_PROP_NAMES,
|
|
GENERAL_CATEGORY_VALUE_TO_ALIASES,
|
|
GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES,
|
|
SCRIPT_VALUE_TO_ALIASES,
|
|
SCRIPT_VALUE_ALIASES_TO_VALUE
|
|
}
|
|
},
|
|
60903: (__unused_webpack_module, exports) => {
|
|
"use strict";
|
|
var ElementType;
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.Doctype = exports.CDATA = exports.Tag = exports.Style = exports.Script = exports.Comment = exports.Directive = exports.Text = exports.Root = exports.isTag = exports.ElementType = void 0,
|
|
function(ElementType) {
|
|
ElementType.Root = "root", ElementType.Text = "text", ElementType.Directive = "directive", ElementType.Comment = "comment", ElementType.Script = "script", ElementType.Style = "style", ElementType.Tag = "tag", ElementType.CDATA = "cdata", ElementType.Doctype = "doctype"
|
|
}(ElementType = exports.ElementType || (exports.ElementType = {})), exports.isTag = function(elem) {
|
|
return elem.type === ElementType.Tag || elem.type === ElementType.Script || elem.type === ElementType.Style
|
|
}, exports.Root = ElementType.Root, exports.Text = ElementType.Text, exports.Directive = ElementType.Directive, exports.Comment = ElementType.Comment, exports.Script = ElementType.Script, exports.Style = ElementType.Style, exports.Tag = ElementType.Tag, exports.CDATA = ElementType.CDATA, exports.Doctype = ElementType.Doctype
|
|
},
|
|
60953: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
module.exports = __webpack_require__(39538)
|
|
},
|
|
61504: module => {
|
|
"use strict";
|
|
class Warning {
|
|
constructor(text, opts = {}) {
|
|
if (this.type = "warning", this.text = text, opts.node && opts.node.source) {
|
|
let range = opts.node.rangeBy(opts);
|
|
this.line = range.start.line, this.column = range.start.column, this.endLine = range.end.line, this.endColumn = range.end.column
|
|
}
|
|
for (let opt in opts) this[opt] = opts[opt]
|
|
}
|
|
toString() {
|
|
return this.node ? this.node.error(this.text, {
|
|
index: this.index,
|
|
plugin: this.plugin,
|
|
word: this.word
|
|
}).message : this.plugin ? this.plugin + ": " + this.text : this.text
|
|
}
|
|
}
|
|
module.exports = Warning, Warning.default = Warning
|
|
},
|
|
62262: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var formats = __webpack_require__(59279),
|
|
has = Object.prototype.hasOwnProperty,
|
|
isArray = Array.isArray,
|
|
hexTable = function() {
|
|
for (var array = [], i = 0; i < 256; ++i) array.push("%" + ((i < 16 ? "0" : "") + i.toString(16)).toUpperCase());
|
|
return array
|
|
}(),
|
|
arrayToObject = function(source, options) {
|
|
for (var obj = options && options.plainObjects ? {
|
|
__proto__: null
|
|
} : {}, i = 0; i < source.length; ++i) void 0 !== source[i] && (obj[i] = source[i]);
|
|
return obj
|
|
};
|
|
module.exports = {
|
|
arrayToObject,
|
|
assign: function(target, source) {
|
|
return Object.keys(source).reduce(function(acc, key) {
|
|
return acc[key] = source[key], acc
|
|
}, target)
|
|
},
|
|
combine: function(a, b) {
|
|
return [].concat(a, b)
|
|
},
|
|
compact: function(value) {
|
|
for (var queue = [{
|
|
obj: {
|
|
o: value
|
|
},
|
|
prop: "o"
|
|
}], refs = [], i = 0; i < queue.length; ++i)
|
|
for (var item = queue[i], obj = item.obj[item.prop], keys = Object.keys(obj), j = 0; j < keys.length; ++j) {
|
|
var key = keys[j],
|
|
val = obj[key];
|
|
"object" == typeof val && null !== val && -1 === refs.indexOf(val) && (queue.push({
|
|
obj,
|
|
prop: key
|
|
}), refs.push(val))
|
|
}
|
|
return function(queue) {
|
|
for (; queue.length > 1;) {
|
|
var item = queue.pop(),
|
|
obj = item.obj[item.prop];
|
|
if (isArray(obj)) {
|
|
for (var compacted = [], j = 0; j < obj.length; ++j) void 0 !== obj[j] && compacted.push(obj[j]);
|
|
item.obj[item.prop] = compacted
|
|
}
|
|
}
|
|
}(queue), value
|
|
},
|
|
decode: function(str, defaultDecoder, charset) {
|
|
var strWithoutPlus = str.replace(/\+/g, " ");
|
|
if ("iso-8859-1" === charset) return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);
|
|
try {
|
|
return decodeURIComponent(strWithoutPlus)
|
|
} catch (e) {
|
|
return strWithoutPlus
|
|
}
|
|
},
|
|
encode: function(str, defaultEncoder, charset, kind, format) {
|
|
if (0 === str.length) return str;
|
|
var string = str;
|
|
if ("symbol" == typeof str ? string = Symbol.prototype.toString.call(str) : "string" != typeof str && (string = String(str)), "iso-8859-1" === charset) return escape(string).replace(/%u[0-9a-f]{4}/gi, function($0) {
|
|
return "%26%23" + parseInt($0.slice(2), 16) + "%3B"
|
|
});
|
|
for (var out = "", j = 0; j < string.length; j += 1024) {
|
|
for (var segment = string.length >= 1024 ? string.slice(j, j + 1024) : string, arr = [], i = 0; i < segment.length; ++i) {
|
|
var c = segment.charCodeAt(i);
|
|
45 === c || 46 === c || 95 === c || 126 === c || c >= 48 && c <= 57 || c >= 65 && c <= 90 || c >= 97 && c <= 122 || format === formats.RFC1738 && (40 === c || 41 === c) ? arr[arr.length] = segment.charAt(i) : c < 128 ? arr[arr.length] = hexTable[c] : c < 2048 ? arr[arr.length] = hexTable[192 | c >> 6] + hexTable[128 | 63 & c] : c < 55296 || c >= 57344 ? arr[arr.length] = hexTable[224 | c >> 12] + hexTable[128 | c >> 6 & 63] + hexTable[128 | 63 & c] : (i += 1, c = 65536 + ((1023 & c) << 10 | 1023 & segment.charCodeAt(i)), arr[arr.length] = hexTable[240 | c >> 18] + hexTable[128 | c >> 12 & 63] + hexTable[128 | c >> 6 & 63] + hexTable[128 | 63 & c])
|
|
}
|
|
out += arr.join("")
|
|
}
|
|
return out
|
|
},
|
|
isBuffer: function(obj) {
|
|
return !(!obj || "object" != typeof obj) && !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj))
|
|
},
|
|
isRegExp: function(obj) {
|
|
return "[object RegExp]" === Object.prototype.toString.call(obj)
|
|
},
|
|
maybeMap: function(val, fn) {
|
|
if (isArray(val)) {
|
|
for (var mapped = [], i = 0; i < val.length; i += 1) mapped.push(fn(val[i]));
|
|
return mapped
|
|
}
|
|
return fn(val)
|
|
},
|
|
merge: function merge(target, source, options) {
|
|
if (!source) return target;
|
|
if ("object" != typeof source && "function" != typeof source) {
|
|
if (isArray(target)) target.push(source);
|
|
else {
|
|
if (!target || "object" != typeof target) return [target, source];
|
|
(options && (options.plainObjects || options.allowPrototypes) || !has.call(Object.prototype, source)) && (target[source] = !0)
|
|
}
|
|
return target
|
|
}
|
|
if (!target || "object" != typeof target) return [target].concat(source);
|
|
var mergeTarget = target;
|
|
return isArray(target) && !isArray(source) && (mergeTarget = arrayToObject(target, options)), isArray(target) && isArray(source) ? (source.forEach(function(item, i) {
|
|
if (has.call(target, i)) {
|
|
var targetItem = target[i];
|
|
targetItem && "object" == typeof targetItem && item && "object" == typeof item ? target[i] = merge(targetItem, item, options) : target.push(item)
|
|
} else target[i] = item
|
|
}), target) : Object.keys(source).reduce(function(acc, key) {
|
|
var value = source[key];
|
|
return has.call(acc, key) ? acc[key] = merge(acc[key], value, options) : acc[key] = value, acc
|
|
}, mergeTarget)
|
|
}
|
|
}
|
|
},
|
|
62497: (__unused_webpack_module, exports) => {
|
|
"use strict";
|
|
|
|
function removeElement(elem) {
|
|
if (elem.prev && (elem.prev.next = elem.next), elem.next && (elem.next.prev = elem.prev), elem.parent) {
|
|
var childs = elem.parent.children,
|
|
childsIndex = childs.lastIndexOf(elem);
|
|
childsIndex >= 0 && childs.splice(childsIndex, 1)
|
|
}
|
|
elem.next = null, elem.prev = null, elem.parent = null
|
|
}
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.removeElement = removeElement, exports.replaceElement = function(elem, replacement) {
|
|
var prev = replacement.prev = elem.prev;
|
|
prev && (prev.next = replacement);
|
|
var next = replacement.next = elem.next;
|
|
next && (next.prev = replacement);
|
|
var parent = replacement.parent = elem.parent;
|
|
if (parent) {
|
|
var childs = parent.children;
|
|
childs[childs.lastIndexOf(elem)] = replacement, elem.parent = null
|
|
}
|
|
}, exports.appendChild = function(parent, child) {
|
|
if (removeElement(child), child.next = null, child.parent = parent, parent.children.push(child) > 1) {
|
|
var sibling = parent.children[parent.children.length - 2];
|
|
sibling.next = child, child.prev = sibling
|
|
} else child.prev = null
|
|
}, exports.append = function(elem, next) {
|
|
removeElement(next);
|
|
var parent = elem.parent,
|
|
currNext = elem.next;
|
|
if (next.next = currNext, next.prev = elem, elem.next = next, next.parent = parent, currNext) {
|
|
if (currNext.prev = next, parent) {
|
|
var childs = parent.children;
|
|
childs.splice(childs.lastIndexOf(currNext), 0, next)
|
|
}
|
|
} else parent && parent.children.push(next)
|
|
}, exports.prependChild = function(parent, child) {
|
|
if (removeElement(child), child.parent = parent, child.prev = null, 1 !== parent.children.unshift(child)) {
|
|
var sibling = parent.children[1];
|
|
sibling.prev = child, child.next = sibling
|
|
} else child.next = null
|
|
}, exports.prepend = function(elem, prev) {
|
|
removeElement(prev);
|
|
var parent = elem.parent;
|
|
if (parent) {
|
|
var childs = parent.children;
|
|
childs.splice(childs.indexOf(elem), 0, prev)
|
|
}
|
|
elem.prev && (elem.prev.next = prev);
|
|
prev.parent = parent, prev.prev = elem.prev, prev.next = elem, elem.prev = prev
|
|
}
|
|
},
|
|
62588: module => {
|
|
module.exports = function(value) {
|
|
return "number" == typeof value && value > -1 && value % 1 == 0 && value <= 9007199254740991
|
|
}
|
|
},
|
|
62663: function(module, exports, __webpack_require__) {
|
|
var OFB, Encryptor, CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), __webpack_require__(74047), CryptoJS.mode.OFB = (OFB = CryptoJS.lib.BlockCipherMode.extend(), Encryptor = OFB.Encryptor = OFB.extend({
|
|
processBlock: function(words, offset) {
|
|
var cipher = this._cipher,
|
|
blockSize = cipher.blockSize,
|
|
iv = this._iv,
|
|
keystream = this._keystream;
|
|
iv && (keystream = this._keystream = iv.slice(0), this._iv = void 0), cipher.encryptBlock(keystream, 0);
|
|
for (var i = 0; i < blockSize; i++) words[offset + i] ^= keystream[i]
|
|
}
|
|
}), OFB.Decryptor = Encryptor, OFB), CryptoJS.mode.OFB)
|
|
},
|
|
62894: (__unused_webpack_module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.attributeNames = exports.elementNames = void 0, exports.elementNames = new Map(["altGlyph", "altGlyphDef", "altGlyphItem", "animateColor", "animateMotion", "animateTransform", "clipPath", "feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix", "feDiffuseLighting", "feDisplacementMap", "feDistantLight", "feDropShadow", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feImage", "feMerge", "feMergeNode", "feMorphology", "feOffset", "fePointLight", "feSpecularLighting", "feSpotLight", "feTile", "feTurbulence", "foreignObject", "glyphRef", "linearGradient", "radialGradient", "textPath"].map(function(val) {
|
|
return [val.toLowerCase(), val]
|
|
})), exports.attributeNames = new Map(["definitionURL", "attributeName", "attributeType", "baseFrequency", "baseProfile", "calcMode", "clipPathUnits", "diffuseConstant", "edgeMode", "filterUnits", "glyphRef", "gradientTransform", "gradientUnits", "kernelMatrix", "kernelUnitLength", "keyPoints", "keySplines", "keyTimes", "lengthAdjust", "limitingConeAngle", "markerHeight", "markerUnits", "markerWidth", "maskContentUnits", "maskUnits", "numOctaves", "pathLength", "patternContentUnits", "patternTransform", "patternUnits", "pointsAtX", "pointsAtY", "pointsAtZ", "preserveAlpha", "preserveAspectRatio", "primitiveUnits", "refX", "refY", "repeatCount", "repeatDur", "requiredExtensions", "requiredFeatures", "specularConstant", "specularExponent", "spreadMethod", "startOffset", "stdDeviation", "stitchTiles", "surfaceScale", "systemLanguage", "tableValues", "targetX", "targetY", "textLength", "viewBox", "viewTarget", "xChannelSelector", "yChannelSelector", "zoomAndPan"].map(function(val) {
|
|
return [val.toLowerCase(), val]
|
|
}))
|
|
},
|
|
63267: function(__unused_webpack_module, exports, __webpack_require__) {
|
|
"use strict";
|
|
var extendStatics, __extends = this && this.__extends || (extendStatics = function(d, b) {
|
|
return extendStatics = Object.setPrototypeOf || {
|
|
__proto__: []
|
|
}
|
|
instanceof Array && function(d, b) {
|
|
d.__proto__ = b
|
|
} || function(d, b) {
|
|
for (var p in b) Object.prototype.hasOwnProperty.call(b, p) && (d[p] = b[p])
|
|
}, extendStatics(d, b)
|
|
}, function(d, b) {
|
|
if ("function" != typeof b && null !== b) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
|
|
function __() {
|
|
this.constructor = d
|
|
}
|
|
extendStatics(d, b), d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __)
|
|
}),
|
|
__assign = this && this.__assign || function() {
|
|
return __assign = Object.assign || function(t) {
|
|
for (var s, i = 1, n = arguments.length; i < n; i++)
|
|
for (var p in s = arguments[i]) Object.prototype.hasOwnProperty.call(s, p) && (t[p] = s[p]);
|
|
return t
|
|
}, __assign.apply(this, arguments)
|
|
};
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.cloneNode = exports.hasChildren = exports.isDocument = exports.isDirective = exports.isComment = exports.isText = exports.isCDATA = exports.isTag = exports.Element = exports.Document = exports.CDATA = exports.NodeWithChildren = exports.ProcessingInstruction = exports.Comment = exports.Text = exports.DataNode = exports.Node = void 0;
|
|
var domelementtype_1 = __webpack_require__(60903),
|
|
Node = function() {
|
|
function Node() {
|
|
this.parent = null, this.prev = null, this.next = null, this.startIndex = null, this.endIndex = null
|
|
}
|
|
return Object.defineProperty(Node.prototype, "parentNode", {
|
|
get: function() {
|
|
return this.parent
|
|
},
|
|
set: function(parent) {
|
|
this.parent = parent
|
|
},
|
|
enumerable: !1,
|
|
configurable: !0
|
|
}), Object.defineProperty(Node.prototype, "previousSibling", {
|
|
get: function() {
|
|
return this.prev
|
|
},
|
|
set: function(prev) {
|
|
this.prev = prev
|
|
},
|
|
enumerable: !1,
|
|
configurable: !0
|
|
}), Object.defineProperty(Node.prototype, "nextSibling", {
|
|
get: function() {
|
|
return this.next
|
|
},
|
|
set: function(next) {
|
|
this.next = next
|
|
},
|
|
enumerable: !1,
|
|
configurable: !0
|
|
}), Node.prototype.cloneNode = function(recursive) {
|
|
return void 0 === recursive && (recursive = !1), cloneNode(this, recursive)
|
|
}, Node
|
|
}();
|
|
exports.Node = Node;
|
|
var DataNode = function(_super) {
|
|
function DataNode(data) {
|
|
var _this = _super.call(this) || this;
|
|
return _this.data = data, _this
|
|
}
|
|
return __extends(DataNode, _super), Object.defineProperty(DataNode.prototype, "nodeValue", {
|
|
get: function() {
|
|
return this.data
|
|
},
|
|
set: function(data) {
|
|
this.data = data
|
|
},
|
|
enumerable: !1,
|
|
configurable: !0
|
|
}), DataNode
|
|
}(Node);
|
|
exports.DataNode = DataNode;
|
|
var Text = function(_super) {
|
|
function Text() {
|
|
var _this = null !== _super && _super.apply(this, arguments) || this;
|
|
return _this.type = domelementtype_1.ElementType.Text, _this
|
|
}
|
|
return __extends(Text, _super), Object.defineProperty(Text.prototype, "nodeType", {
|
|
get: function() {
|
|
return 3
|
|
},
|
|
enumerable: !1,
|
|
configurable: !0
|
|
}), Text
|
|
}(DataNode);
|
|
exports.Text = Text;
|
|
var Comment = function(_super) {
|
|
function Comment() {
|
|
var _this = null !== _super && _super.apply(this, arguments) || this;
|
|
return _this.type = domelementtype_1.ElementType.Comment, _this
|
|
}
|
|
return __extends(Comment, _super), Object.defineProperty(Comment.prototype, "nodeType", {
|
|
get: function() {
|
|
return 8
|
|
},
|
|
enumerable: !1,
|
|
configurable: !0
|
|
}), Comment
|
|
}(DataNode);
|
|
exports.Comment = Comment;
|
|
var ProcessingInstruction = function(_super) {
|
|
function ProcessingInstruction(name, data) {
|
|
var _this = _super.call(this, data) || this;
|
|
return _this.name = name, _this.type = domelementtype_1.ElementType.Directive, _this
|
|
}
|
|
return __extends(ProcessingInstruction, _super), Object.defineProperty(ProcessingInstruction.prototype, "nodeType", {
|
|
get: function() {
|
|
return 1
|
|
},
|
|
enumerable: !1,
|
|
configurable: !0
|
|
}), ProcessingInstruction
|
|
}(DataNode);
|
|
exports.ProcessingInstruction = ProcessingInstruction;
|
|
var NodeWithChildren = function(_super) {
|
|
function NodeWithChildren(children) {
|
|
var _this = _super.call(this) || this;
|
|
return _this.children = children, _this
|
|
}
|
|
return __extends(NodeWithChildren, _super), Object.defineProperty(NodeWithChildren.prototype, "firstChild", {
|
|
get: function() {
|
|
var _a;
|
|
return null !== (_a = this.children[0]) && void 0 !== _a ? _a : null
|
|
},
|
|
enumerable: !1,
|
|
configurable: !0
|
|
}), Object.defineProperty(NodeWithChildren.prototype, "lastChild", {
|
|
get: function() {
|
|
return this.children.length > 0 ? this.children[this.children.length - 1] : null
|
|
},
|
|
enumerable: !1,
|
|
configurable: !0
|
|
}), Object.defineProperty(NodeWithChildren.prototype, "childNodes", {
|
|
get: function() {
|
|
return this.children
|
|
},
|
|
set: function(children) {
|
|
this.children = children
|
|
},
|
|
enumerable: !1,
|
|
configurable: !0
|
|
}), NodeWithChildren
|
|
}(Node);
|
|
exports.NodeWithChildren = NodeWithChildren;
|
|
var CDATA = function(_super) {
|
|
function CDATA() {
|
|
var _this = null !== _super && _super.apply(this, arguments) || this;
|
|
return _this.type = domelementtype_1.ElementType.CDATA, _this
|
|
}
|
|
return __extends(CDATA, _super), Object.defineProperty(CDATA.prototype, "nodeType", {
|
|
get: function() {
|
|
return 4
|
|
},
|
|
enumerable: !1,
|
|
configurable: !0
|
|
}), CDATA
|
|
}(NodeWithChildren);
|
|
exports.CDATA = CDATA;
|
|
var Document = function(_super) {
|
|
function Document() {
|
|
var _this = null !== _super && _super.apply(this, arguments) || this;
|
|
return _this.type = domelementtype_1.ElementType.Root, _this
|
|
}
|
|
return __extends(Document, _super), Object.defineProperty(Document.prototype, "nodeType", {
|
|
get: function() {
|
|
return 9
|
|
},
|
|
enumerable: !1,
|
|
configurable: !0
|
|
}), Document
|
|
}(NodeWithChildren);
|
|
exports.Document = Document;
|
|
var Element = function(_super) {
|
|
function Element(name, attribs, children, type) {
|
|
void 0 === children && (children = []), void 0 === type && (type = "script" === name ? domelementtype_1.ElementType.Script : "style" === name ? domelementtype_1.ElementType.Style : domelementtype_1.ElementType.Tag);
|
|
var _this = _super.call(this, children) || this;
|
|
return _this.name = name, _this.attribs = attribs, _this.type = type, _this
|
|
}
|
|
return __extends(Element, _super), Object.defineProperty(Element.prototype, "nodeType", {
|
|
get: function() {
|
|
return 1
|
|
},
|
|
enumerable: !1,
|
|
configurable: !0
|
|
}), Object.defineProperty(Element.prototype, "tagName", {
|
|
get: function() {
|
|
return this.name
|
|
},
|
|
set: function(name) {
|
|
this.name = name
|
|
},
|
|
enumerable: !1,
|
|
configurable: !0
|
|
}), Object.defineProperty(Element.prototype, "attributes", {
|
|
get: function() {
|
|
var _this = this;
|
|
return Object.keys(this.attribs).map(function(name) {
|
|
var _a, _b;
|
|
return {
|
|
name,
|
|
value: _this.attribs[name],
|
|
namespace: null === (_a = _this["x-attribsNamespace"]) || void 0 === _a ? void 0 : _a[name],
|
|
prefix: null === (_b = _this["x-attribsPrefix"]) || void 0 === _b ? void 0 : _b[name]
|
|
}
|
|
})
|
|
},
|
|
enumerable: !1,
|
|
configurable: !0
|
|
}), Element
|
|
}(NodeWithChildren);
|
|
|
|
function isTag(node) {
|
|
return (0, domelementtype_1.isTag)(node)
|
|
}
|
|
|
|
function isCDATA(node) {
|
|
return node.type === domelementtype_1.ElementType.CDATA
|
|
}
|
|
|
|
function isText(node) {
|
|
return node.type === domelementtype_1.ElementType.Text
|
|
}
|
|
|
|
function isComment(node) {
|
|
return node.type === domelementtype_1.ElementType.Comment
|
|
}
|
|
|
|
function isDirective(node) {
|
|
return node.type === domelementtype_1.ElementType.Directive
|
|
}
|
|
|
|
function isDocument(node) {
|
|
return node.type === domelementtype_1.ElementType.Root
|
|
}
|
|
|
|
function cloneNode(node, recursive) {
|
|
var result;
|
|
if (void 0 === recursive && (recursive = !1), isText(node)) result = new Text(node.data);
|
|
else if (isComment(node)) result = new Comment(node.data);
|
|
else if (isTag(node)) {
|
|
var children = recursive ? cloneChildren(node.children) : [],
|
|
clone_1 = new Element(node.name, __assign({}, node.attribs), children);
|
|
children.forEach(function(child) {
|
|
return child.parent = clone_1
|
|
}), null != node.namespace && (clone_1.namespace = node.namespace), node["x-attribsNamespace"] && (clone_1["x-attribsNamespace"] = __assign({}, node["x-attribsNamespace"])), node["x-attribsPrefix"] && (clone_1["x-attribsPrefix"] = __assign({}, node["x-attribsPrefix"])), result = clone_1
|
|
} else if (isCDATA(node)) {
|
|
children = recursive ? cloneChildren(node.children) : [];
|
|
var clone_2 = new CDATA(children);
|
|
children.forEach(function(child) {
|
|
return child.parent = clone_2
|
|
}), result = clone_2
|
|
} else if (isDocument(node)) {
|
|
children = recursive ? cloneChildren(node.children) : [];
|
|
var clone_3 = new Document(children);
|
|
children.forEach(function(child) {
|
|
return child.parent = clone_3
|
|
}), node["x-mode"] && (clone_3["x-mode"] = node["x-mode"]), result = clone_3
|
|
} else {
|
|
if (!isDirective(node)) throw new Error("Not implemented yet: ".concat(node.type));
|
|
var instruction = new ProcessingInstruction(node.name, node.data);
|
|
null != node["x-name"] && (instruction["x-name"] = node["x-name"], instruction["x-publicId"] = node["x-publicId"], instruction["x-systemId"] = node["x-systemId"]), result = instruction
|
|
}
|
|
return result.startIndex = node.startIndex, result.endIndex = node.endIndex, null != node.sourceCodeLocation && (result.sourceCodeLocation = node.sourceCodeLocation), result
|
|
}
|
|
|
|
function cloneChildren(childs) {
|
|
for (var children = childs.map(function(child) {
|
|
return cloneNode(child, !0)
|
|
}), i = 1; i < children.length; i++) children[i].prev = children[i - 1], children[i - 1].next = children[i];
|
|
return children
|
|
}
|
|
exports.Element = Element, exports.isTag = isTag, exports.isCDATA = isCDATA, exports.isText = isText, exports.isComment = isComment, exports.isDirective = isDirective, exports.isDocument = isDocument, exports.hasChildren = function(node) {
|
|
return Object.prototype.hasOwnProperty.call(node, "children")
|
|
}, exports.cloneNode = cloneNode
|
|
},
|
|
63582: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var trimmedEndIndex = __webpack_require__(66418),
|
|
reTrimStart = /^\s+/;
|
|
module.exports = function(string) {
|
|
return string ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, "") : string
|
|
}
|
|
},
|
|
63807: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function(instance, scope) {
|
|
const pseudoEvent = instance.createNativeFunction(function(pseudoTypeArg, pseudoEventInit) {
|
|
const newEvent = this,
|
|
typeArg = pseudoTypeArg ? instance.pseudoToNative(pseudoTypeArg) : null,
|
|
eventInit = pseudoEventInit ? instance.pseudoToNative(pseudoEventInit) : {};
|
|
return null === typeArg ? (instance.throwException(instance.ERROR, "Event ctor requires at least one argument"), null) : (newEvent.data = new Event(typeArg, eventInit), READ_ONLY_PROPERTIES.forEach(propertyName => {
|
|
instance.setProperty(newEvent, propertyName, instance.createPrimitive(newEvent.data[propertyName]), _Instance.default.READONLY_DESCRIPTOR)
|
|
}), READ_WRITE_PROPERTIES.forEach(propertyName => {
|
|
instance.setProperty(newEvent, propertyName, instance.createPrimitive(newEvent.data[propertyName]), _Instance.default.NONENUMERABLE_DESCRIPTOR)
|
|
}), newEvent)
|
|
});
|
|
METHODS.forEach(methodName => {
|
|
instance.setNativeFunctionPrototype(pseudoEvent, methodName, function(...args) {
|
|
try {
|
|
const nativeArgs = args.map(arg => instance.pseudoToNative(arg)),
|
|
res = this.data[methodName](...nativeArgs);
|
|
return instance.nativeToPseudo(res)
|
|
} catch (err) {
|
|
return instance.throwException(instance.ERROR, `Event error: ${err&&err.message||"unknown"}`.trim()), this
|
|
}
|
|
})
|
|
}), instance.setProperty(scope, "Event", pseudoEvent, _Instance.default.READONLY_DESCRIPTOR)
|
|
};
|
|
var _Instance = _interopRequireDefault(__webpack_require__(76352));
|
|
const READ_ONLY_PROPERTIES = ["bubbles", "cancelable", "composed", "currentTarget", "defaultPrevented", "eventPhase", "target", "type", "isTrusted"],
|
|
READ_WRITE_PROPERTIES = ["cancelBubble", "returnValue"],
|
|
METHODS = ["composedPath", "preventDefault", "stopImmediatePropagation", "stopPropagation"];
|
|
module.exports = exports.default
|
|
},
|
|
63898: module => {
|
|
"use strict";
|
|
module.exports = JSON.parse('["alternate","argument","arguments","block","body","callee","cases","computed","consequent","constructor","declaration","declarations","discriminant","elements","expression","expressions","finalizer","handler","id","init","key","kind","label","left","method","name","object","operator","param","params","prefix","properties","property","quasi","right","shorthand","source","specifiers","superClass","tag","test","type","update","value"]')
|
|
},
|
|
64504: function(__unused_webpack_module, exports, __webpack_require__) {
|
|
"use strict";
|
|
var __createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
void 0 === k2 && (k2 = k);
|
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
desc && !("get" in desc ? !m.__esModule : desc.writable || desc.configurable) || (desc = {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return m[k]
|
|
}
|
|
}), Object.defineProperty(o, k2, desc)
|
|
} : function(o, m, k, k2) {
|
|
void 0 === k2 && (k2 = k), o[k2] = m[k]
|
|
}),
|
|
__setModuleDefault = this && this.__setModuleDefault || (Object.create ? function(o, v) {
|
|
Object.defineProperty(o, "default", {
|
|
enumerable: !0,
|
|
value: v
|
|
})
|
|
} : function(o, v) {
|
|
o.default = v
|
|
}),
|
|
__importStar = this && this.__importStar || function(mod) {
|
|
if (mod && mod.__esModule) return mod;
|
|
var result = {};
|
|
if (null != mod)
|
|
for (var k in mod) "default" !== k && Object.prototype.hasOwnProperty.call(mod, k) && __createBinding(result, mod, k);
|
|
return __setModuleDefault(result, mod), result
|
|
},
|
|
__importDefault = this && this.__importDefault || function(mod) {
|
|
return mod && mod.__esModule ? mod : {
|
|
default: mod
|
|
}
|
|
};
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.decodeXML = exports.decodeHTMLStrict = exports.decodeHTMLAttribute = exports.decodeHTML = exports.determineBranch = exports.EntityDecoder = exports.DecodingMode = exports.BinTrieFlags = exports.fromCodePoint = exports.replaceCodePoint = exports.decodeCodePoint = exports.xmlDecodeTree = exports.htmlDecodeTree = void 0;
|
|
var decode_data_html_js_1 = __importDefault(__webpack_require__(22117));
|
|
exports.htmlDecodeTree = decode_data_html_js_1.default;
|
|
var decode_data_xml_js_1 = __importDefault(__webpack_require__(45907));
|
|
exports.xmlDecodeTree = decode_data_xml_js_1.default;
|
|
var decode_codepoint_js_1 = __importStar(__webpack_require__(90166));
|
|
exports.decodeCodePoint = decode_codepoint_js_1.default;
|
|
var CharCodes, decode_codepoint_js_2 = __webpack_require__(90166);
|
|
Object.defineProperty(exports, "replaceCodePoint", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return decode_codepoint_js_2.replaceCodePoint
|
|
}
|
|
}), Object.defineProperty(exports, "fromCodePoint", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return decode_codepoint_js_2.fromCodePoint
|
|
}
|
|
}),
|
|
function(CharCodes) {
|
|
CharCodes[CharCodes.NUM = 35] = "NUM", CharCodes[CharCodes.SEMI = 59] = "SEMI", CharCodes[CharCodes.EQUALS = 61] = "EQUALS", CharCodes[CharCodes.ZERO = 48] = "ZERO", CharCodes[CharCodes.NINE = 57] = "NINE", CharCodes[CharCodes.LOWER_A = 97] = "LOWER_A", CharCodes[CharCodes.LOWER_F = 102] = "LOWER_F", CharCodes[CharCodes.LOWER_X = 120] = "LOWER_X", CharCodes[CharCodes.LOWER_Z = 122] = "LOWER_Z", CharCodes[CharCodes.UPPER_A = 65] = "UPPER_A", CharCodes[CharCodes.UPPER_F = 70] = "UPPER_F", CharCodes[CharCodes.UPPER_Z = 90] = "UPPER_Z"
|
|
}(CharCodes || (CharCodes = {}));
|
|
var BinTrieFlags, EntityDecoderState, DecodingMode;
|
|
|
|
function isNumber(code) {
|
|
return code >= CharCodes.ZERO && code <= CharCodes.NINE
|
|
}
|
|
|
|
function isHexadecimalCharacter(code) {
|
|
return code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_F || code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_F
|
|
}
|
|
|
|
function isEntityInAttributeInvalidEnd(code) {
|
|
return code === CharCodes.EQUALS || function(code) {
|
|
return code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_Z || code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_Z || isNumber(code)
|
|
}(code)
|
|
}! function(BinTrieFlags) {
|
|
BinTrieFlags[BinTrieFlags.VALUE_LENGTH = 49152] = "VALUE_LENGTH", BinTrieFlags[BinTrieFlags.BRANCH_LENGTH = 16256] = "BRANCH_LENGTH", BinTrieFlags[BinTrieFlags.JUMP_TABLE = 127] = "JUMP_TABLE"
|
|
}(BinTrieFlags = exports.BinTrieFlags || (exports.BinTrieFlags = {})),
|
|
function(EntityDecoderState) {
|
|
EntityDecoderState[EntityDecoderState.EntityStart = 0] = "EntityStart", EntityDecoderState[EntityDecoderState.NumericStart = 1] = "NumericStart", EntityDecoderState[EntityDecoderState.NumericDecimal = 2] = "NumericDecimal", EntityDecoderState[EntityDecoderState.NumericHex = 3] = "NumericHex", EntityDecoderState[EntityDecoderState.NamedEntity = 4] = "NamedEntity"
|
|
}(EntityDecoderState || (EntityDecoderState = {})),
|
|
function(DecodingMode) {
|
|
DecodingMode[DecodingMode.Legacy = 0] = "Legacy", DecodingMode[DecodingMode.Strict = 1] = "Strict", DecodingMode[DecodingMode.Attribute = 2] = "Attribute"
|
|
}(DecodingMode = exports.DecodingMode || (exports.DecodingMode = {}));
|
|
var EntityDecoder = function() {
|
|
function EntityDecoder(decodeTree, emitCodePoint, errors) {
|
|
this.decodeTree = decodeTree, this.emitCodePoint = emitCodePoint, this.errors = errors, this.state = EntityDecoderState.EntityStart, this.consumed = 1, this.result = 0, this.treeIndex = 0, this.excess = 1, this.decodeMode = DecodingMode.Strict
|
|
}
|
|
return EntityDecoder.prototype.startEntity = function(decodeMode) {
|
|
this.decodeMode = decodeMode, this.state = EntityDecoderState.EntityStart, this.result = 0, this.treeIndex = 0, this.excess = 1, this.consumed = 1
|
|
}, EntityDecoder.prototype.write = function(str, offset) {
|
|
switch (this.state) {
|
|
case EntityDecoderState.EntityStart:
|
|
return str.charCodeAt(offset) === CharCodes.NUM ? (this.state = EntityDecoderState.NumericStart, this.consumed += 1, this.stateNumericStart(str, offset + 1)) : (this.state = EntityDecoderState.NamedEntity, this.stateNamedEntity(str, offset));
|
|
case EntityDecoderState.NumericStart:
|
|
return this.stateNumericStart(str, offset);
|
|
case EntityDecoderState.NumericDecimal:
|
|
return this.stateNumericDecimal(str, offset);
|
|
case EntityDecoderState.NumericHex:
|
|
return this.stateNumericHex(str, offset);
|
|
case EntityDecoderState.NamedEntity:
|
|
return this.stateNamedEntity(str, offset)
|
|
}
|
|
}, EntityDecoder.prototype.stateNumericStart = function(str, offset) {
|
|
return offset >= str.length ? -1 : (32 | str.charCodeAt(offset)) === CharCodes.LOWER_X ? (this.state = EntityDecoderState.NumericHex, this.consumed += 1, this.stateNumericHex(str, offset + 1)) : (this.state = EntityDecoderState.NumericDecimal, this.stateNumericDecimal(str, offset))
|
|
}, EntityDecoder.prototype.addToNumericResult = function(str, start, end, base) {
|
|
if (start !== end) {
|
|
var digitCount = end - start;
|
|
this.result = this.result * Math.pow(base, digitCount) + parseInt(str.substr(start, digitCount), base), this.consumed += digitCount
|
|
}
|
|
}, EntityDecoder.prototype.stateNumericHex = function(str, offset) {
|
|
for (var startIdx = offset; offset < str.length;) {
|
|
var char = str.charCodeAt(offset);
|
|
if (!isNumber(char) && !isHexadecimalCharacter(char)) return this.addToNumericResult(str, startIdx, offset, 16), this.emitNumericEntity(char, 3);
|
|
offset += 1
|
|
}
|
|
return this.addToNumericResult(str, startIdx, offset, 16), -1
|
|
}, EntityDecoder.prototype.stateNumericDecimal = function(str, offset) {
|
|
for (var startIdx = offset; offset < str.length;) {
|
|
var char = str.charCodeAt(offset);
|
|
if (!isNumber(char)) return this.addToNumericResult(str, startIdx, offset, 10), this.emitNumericEntity(char, 2);
|
|
offset += 1
|
|
}
|
|
return this.addToNumericResult(str, startIdx, offset, 10), -1
|
|
}, EntityDecoder.prototype.emitNumericEntity = function(lastCp, expectedLength) {
|
|
var _a;
|
|
if (this.consumed <= expectedLength) return null === (_a = this.errors) || void 0 === _a || _a.absenceOfDigitsInNumericCharacterReference(this.consumed), 0;
|
|
if (lastCp === CharCodes.SEMI) this.consumed += 1;
|
|
else if (this.decodeMode === DecodingMode.Strict) return 0;
|
|
return this.emitCodePoint((0, decode_codepoint_js_1.replaceCodePoint)(this.result), this.consumed), this.errors && (lastCp !== CharCodes.SEMI && this.errors.missingSemicolonAfterCharacterReference(), this.errors.validateNumericCharacterReference(this.result)), this.consumed
|
|
}, EntityDecoder.prototype.stateNamedEntity = function(str, offset) {
|
|
for (var decodeTree = this.decodeTree, current = decodeTree[this.treeIndex], valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14; offset < str.length; offset++, this.excess++) {
|
|
var char = str.charCodeAt(offset);
|
|
if (this.treeIndex = determineBranch(decodeTree, current, this.treeIndex + Math.max(1, valueLength), char), this.treeIndex < 0) return 0 === this.result || this.decodeMode === DecodingMode.Attribute && (0 === valueLength || isEntityInAttributeInvalidEnd(char)) ? 0 : this.emitNotTerminatedNamedEntity();
|
|
if (0 !== (valueLength = ((current = decodeTree[this.treeIndex]) & BinTrieFlags.VALUE_LENGTH) >> 14)) {
|
|
if (char === CharCodes.SEMI) return this.emitNamedEntityData(this.treeIndex, valueLength, this.consumed + this.excess);
|
|
this.decodeMode !== DecodingMode.Strict && (this.result = this.treeIndex, this.consumed += this.excess, this.excess = 0)
|
|
}
|
|
}
|
|
return -1
|
|
}, EntityDecoder.prototype.emitNotTerminatedNamedEntity = function() {
|
|
var _a, result = this.result,
|
|
valueLength = (this.decodeTree[result] & BinTrieFlags.VALUE_LENGTH) >> 14;
|
|
return this.emitNamedEntityData(result, valueLength, this.consumed), null === (_a = this.errors) || void 0 === _a || _a.missingSemicolonAfterCharacterReference(), this.consumed
|
|
}, EntityDecoder.prototype.emitNamedEntityData = function(result, valueLength, consumed) {
|
|
var decodeTree = this.decodeTree;
|
|
return this.emitCodePoint(1 === valueLength ? decodeTree[result] & ~BinTrieFlags.VALUE_LENGTH : decodeTree[result + 1], consumed), 3 === valueLength && this.emitCodePoint(decodeTree[result + 2], consumed), consumed
|
|
}, EntityDecoder.prototype.end = function() {
|
|
var _a;
|
|
switch (this.state) {
|
|
case EntityDecoderState.NamedEntity:
|
|
return 0 === this.result || this.decodeMode === DecodingMode.Attribute && this.result !== this.treeIndex ? 0 : this.emitNotTerminatedNamedEntity();
|
|
case EntityDecoderState.NumericDecimal:
|
|
return this.emitNumericEntity(0, 2);
|
|
case EntityDecoderState.NumericHex:
|
|
return this.emitNumericEntity(0, 3);
|
|
case EntityDecoderState.NumericStart:
|
|
return null === (_a = this.errors) || void 0 === _a || _a.absenceOfDigitsInNumericCharacterReference(this.consumed), 0;
|
|
case EntityDecoderState.EntityStart:
|
|
return 0
|
|
}
|
|
}, EntityDecoder
|
|
}();
|
|
|
|
function getDecoder(decodeTree) {
|
|
var ret = "",
|
|
decoder = new EntityDecoder(decodeTree, function(str) {
|
|
return ret += (0, decode_codepoint_js_1.fromCodePoint)(str)
|
|
});
|
|
return function(str, decodeMode) {
|
|
for (var lastIndex = 0, offset = 0;
|
|
(offset = str.indexOf("&", offset)) >= 0;) {
|
|
ret += str.slice(lastIndex, offset), decoder.startEntity(decodeMode);
|
|
var len = decoder.write(str, offset + 1);
|
|
if (len < 0) {
|
|
lastIndex = offset + decoder.end();
|
|
break
|
|
}
|
|
lastIndex = offset + len, offset = 0 === len ? lastIndex + 1 : lastIndex
|
|
}
|
|
var result = ret + str.slice(lastIndex);
|
|
return ret = "", result
|
|
}
|
|
}
|
|
|
|
function determineBranch(decodeTree, current, nodeIdx, char) {
|
|
var branchCount = (current & BinTrieFlags.BRANCH_LENGTH) >> 7,
|
|
jumpOffset = current & BinTrieFlags.JUMP_TABLE;
|
|
if (0 === branchCount) return 0 !== jumpOffset && char === jumpOffset ? nodeIdx : -1;
|
|
if (jumpOffset) {
|
|
var value = char - jumpOffset;
|
|
return value < 0 || value >= branchCount ? -1 : decodeTree[nodeIdx + value] - 1
|
|
}
|
|
for (var lo = nodeIdx, hi = lo + branchCount - 1; lo <= hi;) {
|
|
var mid = lo + hi >>> 1,
|
|
midVal = decodeTree[mid];
|
|
if (midVal < char) lo = mid + 1;
|
|
else {
|
|
if (!(midVal > char)) return decodeTree[mid + branchCount];
|
|
hi = mid - 1
|
|
}
|
|
}
|
|
return -1
|
|
}
|
|
exports.EntityDecoder = EntityDecoder, exports.determineBranch = determineBranch;
|
|
var htmlDecoder = getDecoder(decode_data_html_js_1.default),
|
|
xmlDecoder = getDecoder(decode_data_xml_js_1.default);
|
|
exports.decodeHTML = function(str, mode) {
|
|
return void 0 === mode && (mode = DecodingMode.Legacy), htmlDecoder(str, mode)
|
|
}, exports.decodeHTMLAttribute = function(str) {
|
|
return htmlDecoder(str, DecodingMode.Attribute)
|
|
}, exports.decodeHTMLStrict = function(str) {
|
|
return htmlDecoder(str, DecodingMode.Strict)
|
|
}, exports.decodeXML = function(str) {
|
|
return xmlDecoder(str, DecodingMode.Strict)
|
|
}
|
|
},
|
|
64976: module => {
|
|
"use strict";
|
|
module.exports = Math.min
|
|
},
|
|
65014: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.clone = exports.text = exports.toString = exports.html = exports.empty = exports.replaceWith = exports.remove = exports.insertBefore = exports.before = exports.insertAfter = exports.after = exports.wrapAll = exports.unwrap = exports.wrapInner = exports.wrap = exports.prepend = exports.append = exports.prependTo = exports.appendTo = exports._makeDomArray = void 0;
|
|
var tslib_1 = __webpack_require__(15146),
|
|
domhandler_1 = __webpack_require__(75243),
|
|
domhandler_2 = __webpack_require__(75243),
|
|
parse_1 = tslib_1.__importStar(__webpack_require__(68903)),
|
|
static_1 = __webpack_require__(772),
|
|
utils_1 = __webpack_require__(91373),
|
|
htmlparser2_1 = __webpack_require__(82393);
|
|
|
|
function _insert(concatenator) {
|
|
return function() {
|
|
for (var _this = this, elems = [], _i = 0; _i < arguments.length; _i++) elems[_i] = arguments[_i];
|
|
var lastIdx = this.length - 1;
|
|
return utils_1.domEach(this, function(i, el) {
|
|
if (domhandler_1.hasChildren(el)) {
|
|
var domSrc = "function" == typeof elems[0] ? elems[0].call(el, i, static_1.html(el.children)) : elems,
|
|
dom = _this._makeDomArray(domSrc, i < lastIdx);
|
|
concatenator(dom, el.children, el)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
function uniqueSplice(array, spliceIdx, spliceCount, newElems, parent) {
|
|
for (var _a, _b, spliceArgs = tslib_1.__spreadArray([spliceIdx, spliceCount], newElems), prev = array[spliceIdx - 1] || null, next = array[spliceIdx + spliceCount] || null, idx = 0; idx < newElems.length; ++idx) {
|
|
var node = newElems[idx],
|
|
oldParent = node.parent;
|
|
if (oldParent) {
|
|
var prevIdx = oldParent.children.indexOf(newElems[idx]);
|
|
prevIdx > -1 && (oldParent.children.splice(prevIdx, 1), parent === oldParent && spliceIdx > prevIdx && spliceArgs[0]--)
|
|
}
|
|
node.parent = parent, node.prev && (node.prev.next = null !== (_a = node.next) && void 0 !== _a ? _a : null), node.next && (node.next.prev = null !== (_b = node.prev) && void 0 !== _b ? _b : null), node.prev = newElems[idx - 1] || prev, node.next = newElems[idx + 1] || next
|
|
}
|
|
return prev && (prev.next = newElems[0]), next && (next.prev = newElems[newElems.length - 1]), array.splice.apply(array, spliceArgs)
|
|
}
|
|
|
|
function _wrap(insert) {
|
|
return function(wrapper) {
|
|
for (var lastIdx = this.length - 1, lastParent = this.parents().last(), i = 0; i < this.length; i++) {
|
|
var el = this[i],
|
|
wrap_1 = "function" == typeof wrapper ? wrapper.call(el, i, el) : "string" != typeof wrapper || utils_1.isHtml(wrapper) ? wrapper : lastParent.find(wrapper).clone(),
|
|
wrapperDom = this._makeDomArray(wrap_1, i < lastIdx)[0];
|
|
if (wrapperDom && htmlparser2_1.DomUtils.hasChildren(wrapperDom)) {
|
|
for (var elInsertLocation = wrapperDom, j = 0; j < elInsertLocation.children.length;) {
|
|
var child = elInsertLocation.children[j];
|
|
utils_1.isTag(child) ? (elInsertLocation = child, j = 0) : j++
|
|
}
|
|
insert(el, elInsertLocation, [wrapperDom])
|
|
}
|
|
}
|
|
return this
|
|
}
|
|
}
|
|
exports._makeDomArray = function(elem, clone) {
|
|
var _this = this;
|
|
return null == elem ? [] : utils_1.isCheerio(elem) ? clone ? utils_1.cloneDom(elem.get()) : elem.get() : Array.isArray(elem) ? elem.reduce(function(newElems, el) {
|
|
return newElems.concat(_this._makeDomArray(el, clone))
|
|
}, []) : "string" == typeof elem ? parse_1.default(elem, this.options, !1).children : clone ? utils_1.cloneDom([elem]) : [elem]
|
|
}, exports.appendTo = function(target) {
|
|
return (utils_1.isCheerio(target) ? target : this._make(target, null, this._originalRoot)).append(this), this
|
|
}, exports.prependTo = function(target) {
|
|
return (utils_1.isCheerio(target) ? target : this._make(target, null, this._originalRoot)).prepend(this), this
|
|
}, exports.append = _insert(function(dom, children, parent) {
|
|
uniqueSplice(children, children.length, 0, dom, parent)
|
|
}), exports.prepend = _insert(function(dom, children, parent) {
|
|
uniqueSplice(children, 0, 0, dom, parent)
|
|
}), exports.wrap = _wrap(function(el, elInsertLocation, wrapperDom) {
|
|
var parent = el.parent;
|
|
if (parent) {
|
|
var siblings = parent.children,
|
|
index = siblings.indexOf(el);
|
|
parse_1.update([el], elInsertLocation), uniqueSplice(siblings, index, 0, wrapperDom, parent)
|
|
}
|
|
}), exports.wrapInner = _wrap(function(el, elInsertLocation, wrapperDom) {
|
|
domhandler_1.hasChildren(el) && (parse_1.update(el.children, elInsertLocation), parse_1.update(wrapperDom, el))
|
|
}), exports.unwrap = function(selector) {
|
|
var _this = this;
|
|
return this.parent(selector).not("body").each(function(_, el) {
|
|
_this._make(el).replaceWith(el.children)
|
|
}), this
|
|
}, exports.wrapAll = function(wrapper) {
|
|
var el = this[0];
|
|
if (el) {
|
|
for (var wrap_2 = this._make("function" == typeof wrapper ? wrapper.call(el, 0, el) : wrapper).insertBefore(el), elInsertLocation = void 0, i = 0; i < wrap_2.length; i++) "tag" === wrap_2[i].type && (elInsertLocation = wrap_2[i]);
|
|
for (var j = 0; elInsertLocation && j < elInsertLocation.children.length;) {
|
|
var child = elInsertLocation.children[j];
|
|
"tag" === child.type ? (elInsertLocation = child, j = 0) : j++
|
|
}
|
|
elInsertLocation && this._make(elInsertLocation).append(this)
|
|
}
|
|
return this
|
|
}, exports.after = function() {
|
|
for (var _this = this, elems = [], _i = 0; _i < arguments.length; _i++) elems[_i] = arguments[_i];
|
|
var lastIdx = this.length - 1;
|
|
return utils_1.domEach(this, function(i, el) {
|
|
var parent = el.parent;
|
|
if (htmlparser2_1.DomUtils.hasChildren(el) && parent) {
|
|
var siblings = parent.children,
|
|
index = siblings.indexOf(el);
|
|
if (!(index < 0)) {
|
|
var domSrc = "function" == typeof elems[0] ? elems[0].call(el, i, static_1.html(el.children)) : elems;
|
|
uniqueSplice(siblings, index + 1, 0, _this._makeDomArray(domSrc, i < lastIdx), parent)
|
|
}
|
|
}
|
|
})
|
|
}, exports.insertAfter = function(target) {
|
|
var _this = this;
|
|
"string" == typeof target && (target = this._make(target, null, this._originalRoot)), this.remove();
|
|
var clones = [];
|
|
return utils_1.domEach(this._makeDomArray(target), function(_, el) {
|
|
var clonedSelf = _this.clone().toArray(),
|
|
parent = el.parent;
|
|
if (parent) {
|
|
var siblings = parent.children,
|
|
index = siblings.indexOf(el);
|
|
index < 0 || (uniqueSplice(siblings, index + 1, 0, clonedSelf, parent), clones.push.apply(clones, clonedSelf))
|
|
}
|
|
}), this._make(clones)
|
|
}, exports.before = function() {
|
|
for (var _this = this, elems = [], _i = 0; _i < arguments.length; _i++) elems[_i] = arguments[_i];
|
|
var lastIdx = this.length - 1;
|
|
return utils_1.domEach(this, function(i, el) {
|
|
var parent = el.parent;
|
|
if (htmlparser2_1.DomUtils.hasChildren(el) && parent) {
|
|
var siblings = parent.children,
|
|
index = siblings.indexOf(el);
|
|
if (!(index < 0)) {
|
|
var domSrc = "function" == typeof elems[0] ? elems[0].call(el, i, static_1.html(el.children)) : elems;
|
|
uniqueSplice(siblings, index, 0, _this._makeDomArray(domSrc, i < lastIdx), parent)
|
|
}
|
|
}
|
|
})
|
|
}, exports.insertBefore = function(target) {
|
|
var _this = this,
|
|
targetArr = this._make(target, null, this._originalRoot);
|
|
this.remove();
|
|
var clones = [];
|
|
return utils_1.domEach(targetArr, function(_, el) {
|
|
var clonedSelf = _this.clone().toArray(),
|
|
parent = el.parent;
|
|
if (parent) {
|
|
var siblings = parent.children,
|
|
index = siblings.indexOf(el);
|
|
index < 0 || (uniqueSplice(siblings, index, 0, clonedSelf, parent), clones.push.apply(clones, clonedSelf))
|
|
}
|
|
}), this._make(clones)
|
|
}, exports.remove = function(selector) {
|
|
var elems = selector ? this.filter(selector) : this;
|
|
return utils_1.domEach(elems, function(_, el) {
|
|
htmlparser2_1.DomUtils.removeElement(el), el.prev = el.next = el.parent = null
|
|
}), this
|
|
}, exports.replaceWith = function(content) {
|
|
var _this = this;
|
|
return utils_1.domEach(this, function(i, el) {
|
|
var parent = el.parent;
|
|
if (parent) {
|
|
var siblings = parent.children,
|
|
cont = "function" == typeof content ? content.call(el, i, el) : content,
|
|
dom = _this._makeDomArray(cont);
|
|
parse_1.update(dom, null);
|
|
var index = siblings.indexOf(el);
|
|
uniqueSplice(siblings, index, 1, dom, parent), dom.includes(el) || (el.parent = el.prev = el.next = null)
|
|
}
|
|
})
|
|
}, exports.empty = function() {
|
|
return utils_1.domEach(this, function(_, el) {
|
|
htmlparser2_1.DomUtils.hasChildren(el) && (el.children.forEach(function(child) {
|
|
child.next = child.prev = child.parent = null
|
|
}), el.children.length = 0)
|
|
})
|
|
}, exports.html = function(str) {
|
|
if (void 0 === str) {
|
|
var el = this[0];
|
|
return el && htmlparser2_1.DomUtils.hasChildren(el) ? static_1.html(el.children, this.options) : null
|
|
}
|
|
var opts = tslib_1.__assign(tslib_1.__assign({}, this.options), {
|
|
context: null
|
|
});
|
|
return utils_1.domEach(this, function(_, el) {
|
|
if (htmlparser2_1.DomUtils.hasChildren(el)) {
|
|
el.children.forEach(function(child) {
|
|
child.next = child.prev = child.parent = null
|
|
}), opts.context = el;
|
|
var content = utils_1.isCheerio(str) ? str.clone().get() : parse_1.default("" + str, opts, !1).children;
|
|
parse_1.update(content, el)
|
|
}
|
|
})
|
|
}, exports.toString = function() {
|
|
return static_1.html(this, this.options)
|
|
}, exports.text = function text(str) {
|
|
var _this = this;
|
|
return void 0 === str ? static_1.text(this) : "function" == typeof str ? utils_1.domEach(this, function(i, el) {
|
|
text.call(_this._make(el), str.call(el, i, static_1.text([el])))
|
|
}) : utils_1.domEach(this, function(_, el) {
|
|
if (htmlparser2_1.DomUtils.hasChildren(el)) {
|
|
el.children.forEach(function(child) {
|
|
child.next = child.prev = child.parent = null
|
|
});
|
|
var textNode = new domhandler_2.Text(str);
|
|
parse_1.update(textNode, el)
|
|
}
|
|
})
|
|
}, exports.clone = function() {
|
|
return this._make(utils_1.cloneDom(this.get()))
|
|
}
|
|
},
|
|
65114: module => {
|
|
"use strict";
|
|
module.exports = JSON.parse('{"Aacute":"\xc1","aacute":"\xe1","Acirc":"\xc2","acirc":"\xe2","acute":"\xb4","AElig":"\xc6","aelig":"\xe6","Agrave":"\xc0","agrave":"\xe0","amp":"&","AMP":"&","Aring":"\xc5","aring":"\xe5","Atilde":"\xc3","atilde":"\xe3","Auml":"\xc4","auml":"\xe4","brvbar":"\xa6","Ccedil":"\xc7","ccedil":"\xe7","cedil":"\xb8","cent":"\xa2","copy":"\xa9","COPY":"\xa9","curren":"\xa4","deg":"\xb0","divide":"\xf7","Eacute":"\xc9","eacute":"\xe9","Ecirc":"\xca","ecirc":"\xea","Egrave":"\xc8","egrave":"\xe8","ETH":"\xd0","eth":"\xf0","Euml":"\xcb","euml":"\xeb","frac12":"\xbd","frac14":"\xbc","frac34":"\xbe","gt":">","GT":">","Iacute":"\xcd","iacute":"\xed","Icirc":"\xce","icirc":"\xee","iexcl":"\xa1","Igrave":"\xcc","igrave":"\xec","iquest":"\xbf","Iuml":"\xcf","iuml":"\xef","laquo":"\xab","lt":"<","LT":"<","macr":"\xaf","micro":"\xb5","middot":"\xb7","nbsp":"\xa0","not":"\xac","Ntilde":"\xd1","ntilde":"\xf1","Oacute":"\xd3","oacute":"\xf3","Ocirc":"\xd4","ocirc":"\xf4","Ograve":"\xd2","ograve":"\xf2","ordf":"\xaa","ordm":"\xba","Oslash":"\xd8","oslash":"\xf8","Otilde":"\xd5","otilde":"\xf5","Ouml":"\xd6","ouml":"\xf6","para":"\xb6","plusmn":"\xb1","pound":"\xa3","quot":"\\"","QUOT":"\\"","raquo":"\xbb","reg":"\xae","REG":"\xae","sect":"\xa7","shy":"\xad","sup1":"\xb9","sup2":"\xb2","sup3":"\xb3","szlig":"\xdf","THORN":"\xde","thorn":"\xfe","times":"\xd7","Uacute":"\xda","uacute":"\xfa","Ucirc":"\xdb","ucirc":"\xfb","Ugrave":"\xd9","ugrave":"\xf9","uml":"\xa8","Uuml":"\xdc","uuml":"\xfc","Yacute":"\xdd","yacute":"\xfd","yen":"\xa5","yuml":"\xff"}')
|
|
},
|
|
65155: function(module, exports, __webpack_require__) {
|
|
var CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), __webpack_require__(74047), CryptoJS.mode.CFB = function() {
|
|
var CFB = CryptoJS.lib.BlockCipherMode.extend();
|
|
|
|
function generateKeystreamAndEncrypt(words, offset, blockSize, cipher) {
|
|
var keystream, iv = this._iv;
|
|
iv ? (keystream = iv.slice(0), this._iv = void 0) : keystream = this._prevBlock, cipher.encryptBlock(keystream, 0);
|
|
for (var i = 0; i < blockSize; i++) words[offset + i] ^= keystream[i]
|
|
}
|
|
return CFB.Encryptor = CFB.extend({
|
|
processBlock: function(words, offset) {
|
|
var cipher = this._cipher,
|
|
blockSize = cipher.blockSize;
|
|
generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher), this._prevBlock = words.slice(offset, offset + blockSize)
|
|
}
|
|
}), CFB.Decryptor = CFB.extend({
|
|
processBlock: function(words, offset) {
|
|
var cipher = this._cipher,
|
|
blockSize = cipher.blockSize,
|
|
thisBlock = words.slice(offset, offset + blockSize);
|
|
generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher), this._prevBlock = thisBlock
|
|
}
|
|
}), CFB
|
|
}(), CryptoJS.mode.CFB)
|
|
},
|
|
65554: function(module, exports, __webpack_require__) {
|
|
var CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), function(Math) {
|
|
var C = CryptoJS,
|
|
C_lib = C.lib,
|
|
WordArray = C_lib.WordArray,
|
|
Hasher = C_lib.Hasher,
|
|
C_algo = C.algo,
|
|
T = [];
|
|
! function() {
|
|
for (var i = 0; i < 64; i++) T[i] = 4294967296 * Math.abs(Math.sin(i + 1)) | 0
|
|
}();
|
|
var MD5 = C_algo.MD5 = Hasher.extend({
|
|
_doReset: function() {
|
|
this._hash = new WordArray.init([1732584193, 4023233417, 2562383102, 271733878])
|
|
},
|
|
_doProcessBlock: function(M, offset) {
|
|
for (var i = 0; i < 16; i++) {
|
|
var offset_i = offset + i,
|
|
M_offset_i = M[offset_i];
|
|
M[offset_i] = 16711935 & (M_offset_i << 8 | M_offset_i >>> 24) | 4278255360 & (M_offset_i << 24 | M_offset_i >>> 8)
|
|
}
|
|
var H = this._hash.words,
|
|
M_offset_0 = M[offset + 0],
|
|
M_offset_1 = M[offset + 1],
|
|
M_offset_2 = M[offset + 2],
|
|
M_offset_3 = M[offset + 3],
|
|
M_offset_4 = M[offset + 4],
|
|
M_offset_5 = M[offset + 5],
|
|
M_offset_6 = M[offset + 6],
|
|
M_offset_7 = M[offset + 7],
|
|
M_offset_8 = M[offset + 8],
|
|
M_offset_9 = M[offset + 9],
|
|
M_offset_10 = M[offset + 10],
|
|
M_offset_11 = M[offset + 11],
|
|
M_offset_12 = M[offset + 12],
|
|
M_offset_13 = M[offset + 13],
|
|
M_offset_14 = M[offset + 14],
|
|
M_offset_15 = M[offset + 15],
|
|
a = H[0],
|
|
b = H[1],
|
|
c = H[2],
|
|
d = H[3];
|
|
a = FF(a, b, c, d, M_offset_0, 7, T[0]), d = FF(d, a, b, c, M_offset_1, 12, T[1]), c = FF(c, d, a, b, M_offset_2, 17, T[2]), b = FF(b, c, d, a, M_offset_3, 22, T[3]), a = FF(a, b, c, d, M_offset_4, 7, T[4]), d = FF(d, a, b, c, M_offset_5, 12, T[5]), c = FF(c, d, a, b, M_offset_6, 17, T[6]), b = FF(b, c, d, a, M_offset_7, 22, T[7]), a = FF(a, b, c, d, M_offset_8, 7, T[8]), d = FF(d, a, b, c, M_offset_9, 12, T[9]), c = FF(c, d, a, b, M_offset_10, 17, T[10]), b = FF(b, c, d, a, M_offset_11, 22, T[11]), a = FF(a, b, c, d, M_offset_12, 7, T[12]), d = FF(d, a, b, c, M_offset_13, 12, T[13]), c = FF(c, d, a, b, M_offset_14, 17, T[14]), a = GG(a, b = FF(b, c, d, a, M_offset_15, 22, T[15]), c, d, M_offset_1, 5, T[16]), d = GG(d, a, b, c, M_offset_6, 9, T[17]), c = GG(c, d, a, b, M_offset_11, 14, T[18]), b = GG(b, c, d, a, M_offset_0, 20, T[19]), a = GG(a, b, c, d, M_offset_5, 5, T[20]), d = GG(d, a, b, c, M_offset_10, 9, T[21]), c = GG(c, d, a, b, M_offset_15, 14, T[22]), b = GG(b, c, d, a, M_offset_4, 20, T[23]), a = GG(a, b, c, d, M_offset_9, 5, T[24]), d = GG(d, a, b, c, M_offset_14, 9, T[25]), c = GG(c, d, a, b, M_offset_3, 14, T[26]), b = GG(b, c, d, a, M_offset_8, 20, T[27]), a = GG(a, b, c, d, M_offset_13, 5, T[28]), d = GG(d, a, b, c, M_offset_2, 9, T[29]), c = GG(c, d, a, b, M_offset_7, 14, T[30]), a = HH(a, b = GG(b, c, d, a, M_offset_12, 20, T[31]), c, d, M_offset_5, 4, T[32]), d = HH(d, a, b, c, M_offset_8, 11, T[33]), c = HH(c, d, a, b, M_offset_11, 16, T[34]), b = HH(b, c, d, a, M_offset_14, 23, T[35]), a = HH(a, b, c, d, M_offset_1, 4, T[36]), d = HH(d, a, b, c, M_offset_4, 11, T[37]), c = HH(c, d, a, b, M_offset_7, 16, T[38]), b = HH(b, c, d, a, M_offset_10, 23, T[39]), a = HH(a, b, c, d, M_offset_13, 4, T[40]), d = HH(d, a, b, c, M_offset_0, 11, T[41]), c = HH(c, d, a, b, M_offset_3, 16, T[42]), b = HH(b, c, d, a, M_offset_6, 23, T[43]), a = HH(a, b, c, d, M_offset_9, 4, T[44]), d = HH(d, a, b, c, M_offset_12, 11, T[45]), c = HH(c, d, a, b, M_offset_15, 16, T[46]), a = II(a, b = HH(b, c, d, a, M_offset_2, 23, T[47]), c, d, M_offset_0, 6, T[48]), d = II(d, a, b, c, M_offset_7, 10, T[49]), c = II(c, d, a, b, M_offset_14, 15, T[50]), b = II(b, c, d, a, M_offset_5, 21, T[51]), a = II(a, b, c, d, M_offset_12, 6, T[52]), d = II(d, a, b, c, M_offset_3, 10, T[53]), c = II(c, d, a, b, M_offset_10, 15, T[54]), b = II(b, c, d, a, M_offset_1, 21, T[55]), a = II(a, b, c, d, M_offset_8, 6, T[56]), d = II(d, a, b, c, M_offset_15, 10, T[57]), c = II(c, d, a, b, M_offset_6, 15, T[58]), b = II(b, c, d, a, M_offset_13, 21, T[59]), a = II(a, b, c, d, M_offset_4, 6, T[60]), d = II(d, a, b, c, M_offset_11, 10, T[61]), c = II(c, d, a, b, M_offset_2, 15, T[62]), b = II(b, c, d, a, M_offset_9, 21, T[63]), H[0] = H[0] + a | 0, H[1] = H[1] + b | 0, H[2] = H[2] + c | 0, H[3] = H[3] + d | 0
|
|
},
|
|
_doFinalize: function() {
|
|
var data = this._data,
|
|
dataWords = data.words,
|
|
nBitsTotal = 8 * this._nDataBytes,
|
|
nBitsLeft = 8 * data.sigBytes;
|
|
dataWords[nBitsLeft >>> 5] |= 128 << 24 - nBitsLeft % 32;
|
|
var nBitsTotalH = Math.floor(nBitsTotal / 4294967296),
|
|
nBitsTotalL = nBitsTotal;
|
|
dataWords[15 + (nBitsLeft + 64 >>> 9 << 4)] = 16711935 & (nBitsTotalH << 8 | nBitsTotalH >>> 24) | 4278255360 & (nBitsTotalH << 24 | nBitsTotalH >>> 8), dataWords[14 + (nBitsLeft + 64 >>> 9 << 4)] = 16711935 & (nBitsTotalL << 8 | nBitsTotalL >>> 24) | 4278255360 & (nBitsTotalL << 24 | nBitsTotalL >>> 8), data.sigBytes = 4 * (dataWords.length + 1), this._process();
|
|
for (var hash = this._hash, H = hash.words, i = 0; i < 4; i++) {
|
|
var H_i = H[i];
|
|
H[i] = 16711935 & (H_i << 8 | H_i >>> 24) | 4278255360 & (H_i << 24 | H_i >>> 8)
|
|
}
|
|
return hash
|
|
},
|
|
clone: function() {
|
|
var clone = Hasher.clone.call(this);
|
|
return clone._hash = this._hash.clone(), clone
|
|
}
|
|
});
|
|
|
|
function FF(a, b, c, d, x, s, t) {
|
|
var n = a + (b & c | ~b & d) + x + t;
|
|
return (n << s | n >>> 32 - s) + b
|
|
}
|
|
|
|
function GG(a, b, c, d, x, s, t) {
|
|
var n = a + (b & d | c & ~d) + x + t;
|
|
return (n << s | n >>> 32 - s) + b
|
|
}
|
|
|
|
function HH(a, b, c, d, x, s, t) {
|
|
var n = a + (b ^ c ^ d) + x + t;
|
|
return (n << s | n >>> 32 - s) + b
|
|
}
|
|
|
|
function II(a, b, c, d, x, s, t) {
|
|
var n = a + (c ^ (b | ~d)) + x + t;
|
|
return (n << s | n >>> 32 - s) + b
|
|
}
|
|
C.MD5 = Hasher._createHelper(MD5), C.HmacMD5 = Hasher._createHmacHelper(MD5)
|
|
}(Math), CryptoJS.MD5)
|
|
},
|
|
65624: module => {
|
|
"use strict";
|
|
module.exports = RangeError
|
|
},
|
|
65787: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var baseRandom = __webpack_require__(49217),
|
|
isIterateeCall = __webpack_require__(21246),
|
|
toFinite = __webpack_require__(32318),
|
|
freeParseFloat = parseFloat,
|
|
nativeMin = Math.min,
|
|
nativeRandom = Math.random;
|
|
module.exports = function(lower, upper, floating) {
|
|
if (floating && "boolean" != typeof floating && isIterateeCall(lower, upper, floating) && (upper = floating = void 0), void 0 === floating && ("boolean" == typeof upper ? (floating = upper, upper = void 0) : "boolean" == typeof lower && (floating = lower, lower = void 0)), void 0 === lower && void 0 === upper ? (lower = 0, upper = 1) : (lower = toFinite(lower), void 0 === upper ? (upper = lower, lower = 0) : upper = toFinite(upper)), lower > upper) {
|
|
var temp = lower;
|
|
lower = upper, upper = temp
|
|
}
|
|
if (floating || lower % 1 || upper % 1) {
|
|
var rand = nativeRandom();
|
|
return nativeMin(lower + rand * (upper - lower + freeParseFloat("1e-" + ((rand + "").length - 1))), upper)
|
|
}
|
|
return baseRandom(lower, upper)
|
|
}
|
|
},
|
|
65850: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var NFA = __webpack_require__(91427),
|
|
NFAState = __webpack_require__(79147),
|
|
EPSILON = __webpack_require__(42487).EPSILON;
|
|
|
|
function char(c) {
|
|
var inState = new NFAState,
|
|
outState = new NFAState({
|
|
accepting: !0
|
|
});
|
|
return new NFA(inState.addTransition(c, outState), outState)
|
|
}
|
|
|
|
function altPair(first, second) {
|
|
return first.out.accepting = !1, second.out.accepting = !0, first.out.addTransition(EPSILON, second.in), new NFA(first.in, second.out)
|
|
}
|
|
|
|
function orPair(first, second) {
|
|
var inState = new NFAState,
|
|
outState = new NFAState;
|
|
return inState.addTransition(EPSILON, first.in), inState.addTransition(EPSILON, second.in), outState.accepting = !0, first.out.accepting = !1, second.out.accepting = !1, first.out.addTransition(EPSILON, outState), second.out.addTransition(EPSILON, outState), new NFA(inState, outState)
|
|
}
|
|
module.exports = {
|
|
alt: function(first) {
|
|
for (var _len = arguments.length, fragments = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) fragments[_key - 1] = arguments[_key];
|
|
var _iteratorNormalCompletion = !0,
|
|
_didIteratorError = !1,
|
|
_iteratorError = void 0;
|
|
try {
|
|
for (var _step, _iterator = fragments[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
first = altPair(first, _step.value)
|
|
}
|
|
} catch (err) {
|
|
_didIteratorError = !0, _iteratorError = err
|
|
} finally {
|
|
try {
|
|
!_iteratorNormalCompletion && _iterator.return && _iterator.return()
|
|
} finally {
|
|
if (_didIteratorError) throw _iteratorError
|
|
}
|
|
}
|
|
return first
|
|
},
|
|
char,
|
|
e: function() {
|
|
return char(EPSILON)
|
|
},
|
|
or: function(first) {
|
|
for (var _len2 = arguments.length, fragments = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) fragments[_key2 - 1] = arguments[_key2];
|
|
var _iteratorNormalCompletion2 = !0,
|
|
_didIteratorError2 = !1,
|
|
_iteratorError2 = void 0;
|
|
try {
|
|
for (var _step2, _iterator2 = fragments[Symbol.iterator](); !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = !0) {
|
|
first = orPair(first, _step2.value)
|
|
}
|
|
} catch (err) {
|
|
_didIteratorError2 = !0, _iteratorError2 = err
|
|
} finally {
|
|
try {
|
|
!_iteratorNormalCompletion2 && _iterator2.return && _iterator2.return()
|
|
} finally {
|
|
if (_didIteratorError2) throw _iteratorError2
|
|
}
|
|
}
|
|
return first
|
|
},
|
|
rep: function(fragment) {
|
|
return fragment.in.addTransition(EPSILON, fragment.out), fragment.out.addTransition(EPSILON, fragment.in), fragment
|
|
},
|
|
repExplicit: function(fragment) {
|
|
var inState = new NFAState,
|
|
outState = new NFAState({
|
|
accepting: !0
|
|
});
|
|
return inState.addTransition(EPSILON, fragment.in), inState.addTransition(EPSILON, outState), fragment.out.accepting = !1, fragment.out.addTransition(EPSILON, outState), outState.addTransition(EPSILON, fragment.in), new NFA(inState, outState)
|
|
},
|
|
plusRep: function(fragment) {
|
|
return fragment.out.addTransition(EPSILON, fragment.in), fragment
|
|
},
|
|
questionRep: function(fragment) {
|
|
return fragment.in.addTransition(EPSILON, fragment.out), fragment
|
|
}
|
|
}
|
|
},
|
|
66143: function(module, __unused_webpack_exports, __webpack_require__) {
|
|
var Buffer = __webpack_require__(68617).hp;
|
|
(function() {
|
|
var EventEmitter, clone, splice = [].splice,
|
|
boundMethodCheck = function(instance, Constructor) {
|
|
if (!(instance instanceof Constructor)) throw new Error("Bound instance method accessed before binding")
|
|
},
|
|
indexOf = [].indexOf;
|
|
clone = __webpack_require__(73693), EventEmitter = __webpack_require__(58433).EventEmitter, module.exports = function() {
|
|
class NodeCache extends EventEmitter {
|
|
constructor(options = {}) {
|
|
super(), this.get = this.get.bind(this), this.mget = this.mget.bind(this), this.set = this.set.bind(this), this.mset = this.mset.bind(this), this.del = this.del.bind(this), this.take = this.take.bind(this), this.ttl = this.ttl.bind(this), this.getTtl = this.getTtl.bind(this), this.keys = this.keys.bind(this), this.has = this.has.bind(this), this.getStats = this.getStats.bind(this), this.flushAll = this.flushAll.bind(this), this.flushStats = this.flushStats.bind(this), this.close = this.close.bind(this), this._checkData = this._checkData.bind(this), this._check = this._check.bind(this), this._isInvalidKey = this._isInvalidKey.bind(this), this._wrap = this._wrap.bind(this), this._getValLength = this._getValLength.bind(this), this._error = this._error.bind(this), this._initErrors = this._initErrors.bind(this), this.options = options, this._initErrors(), this.data = {}, this.options = Object.assign({
|
|
forceString: !1,
|
|
objectValueSize: 80,
|
|
promiseValueSize: 80,
|
|
arrayValueSize: 40,
|
|
stdTTL: 0,
|
|
checkperiod: 600,
|
|
useClones: !0,
|
|
deleteOnExpire: !0,
|
|
enableLegacyCallbacks: !1,
|
|
maxKeys: -1
|
|
}, this.options), this.options.enableLegacyCallbacks && (console.warn("WARNING! node-cache legacy callback support will drop in v6.x"), ["get", "mget", "set", "del", "ttl", "getTtl", "keys", "has"].forEach(methodKey => {
|
|
var oldMethod;
|
|
oldMethod = this[methodKey], this[methodKey] = function(...args) {
|
|
var cb, ref;
|
|
if (ref = args, [...args] = ref, [cb] = splice.call(args, -1), "function" != typeof cb) return oldMethod(...args, cb);
|
|
try {
|
|
cb(null, oldMethod(...args))
|
|
} catch (error1) {
|
|
cb(error1)
|
|
}
|
|
}
|
|
})), this.stats = {
|
|
hits: 0,
|
|
misses: 0,
|
|
keys: 0,
|
|
ksize: 0,
|
|
vsize: 0
|
|
}, this.validKeyTypes = ["string", "number"], this._checkData()
|
|
}
|
|
get(key) {
|
|
var err;
|
|
if (boundMethodCheck(this, NodeCache), null != (err = this._isInvalidKey(key))) throw err;
|
|
return null != this.data[key] && this._check(key, this.data[key]) ? (this.stats.hits++, this._unwrap(this.data[key])) : void this.stats.misses++
|
|
}
|
|
mget(keys) {
|
|
var err, i, key, len, oRet;
|
|
if (boundMethodCheck(this, NodeCache), !Array.isArray(keys)) throw this._error("EKEYSTYPE");
|
|
for (oRet = {}, i = 0, len = keys.length; i < len; i++) {
|
|
if (key = keys[i], null != (err = this._isInvalidKey(key))) throw err;
|
|
null != this.data[key] && this._check(key, this.data[key]) ? (this.stats.hits++, oRet[key] = this._unwrap(this.data[key])) : this.stats.misses++
|
|
}
|
|
return oRet
|
|
}
|
|
set(key, value, ttl) {
|
|
var err, existent;
|
|
if (boundMethodCheck(this, NodeCache), this.options.maxKeys > -1 && this.stats.keys >= this.options.maxKeys) throw this._error("ECACHEFULL");
|
|
if (this.options.forceString, null == ttl && (ttl = this.options.stdTTL), null != (err = this._isInvalidKey(key))) throw err;
|
|
return existent = !1, this.data[key] && (existent = !0, this.stats.vsize -= this._getValLength(this._unwrap(this.data[key], !1))), this.data[key] = this._wrap(value, ttl), this.stats.vsize += this._getValLength(value), existent || (this.stats.ksize += this._getKeyLength(key), this.stats.keys++), this.emit("set", key, value), !0
|
|
}
|
|
mset(keyValueSet) {
|
|
var err, i, j, key, keyValuePair, len, len1, ttl, val;
|
|
if (boundMethodCheck(this, NodeCache), this.options.maxKeys > -1 && this.stats.keys + keyValueSet.length >= this.options.maxKeys) throw this._error("ECACHEFULL");
|
|
for (i = 0, len = keyValueSet.length; i < len; i++) {
|
|
if (keyValuePair = keyValueSet[i], ({
|
|
key,
|
|
val,
|
|
ttl
|
|
} = keyValuePair), ttl && "number" != typeof ttl) throw this._error("ETTLTYPE");
|
|
if (null != (err = this._isInvalidKey(key))) throw err
|
|
}
|
|
for (j = 0, len1 = keyValueSet.length; j < len1; j++) keyValuePair = keyValueSet[j], ({
|
|
key,
|
|
val,
|
|
ttl
|
|
} = keyValuePair), this.set(key, val, ttl);
|
|
return !0
|
|
}
|
|
del(keys) {
|
|
var delCount, err, i, key, len, oldVal;
|
|
for (boundMethodCheck(this, NodeCache), Array.isArray(keys) || (keys = [keys]), delCount = 0, i = 0, len = keys.length; i < len; i++) {
|
|
if (key = keys[i], null != (err = this._isInvalidKey(key))) throw err;
|
|
null != this.data[key] && (this.stats.vsize -= this._getValLength(this._unwrap(this.data[key], !1)), this.stats.ksize -= this._getKeyLength(key), this.stats.keys--, delCount++, oldVal = this.data[key], delete this.data[key], this.emit("del", key, oldVal.v))
|
|
}
|
|
return delCount
|
|
}
|
|
take(key) {
|
|
var _ret;
|
|
return boundMethodCheck(this, NodeCache), null != (_ret = this.get(key)) && this.del(key), _ret
|
|
}
|
|
ttl(key, ttl) {
|
|
var err;
|
|
if (boundMethodCheck(this, NodeCache), ttl || (ttl = this.options.stdTTL), !key) return !1;
|
|
if (null != (err = this._isInvalidKey(key))) throw err;
|
|
return !(null == this.data[key] || !this._check(key, this.data[key])) && (ttl >= 0 ? this.data[key] = this._wrap(this.data[key].v, ttl, !1) : this.del(key), !0)
|
|
}
|
|
getTtl(key) {
|
|
var err;
|
|
if (boundMethodCheck(this, NodeCache), key) {
|
|
if (null != (err = this._isInvalidKey(key))) throw err;
|
|
return null != this.data[key] && this._check(key, this.data[key]) ? this.data[key].t : void 0
|
|
}
|
|
}
|
|
keys() {
|
|
return boundMethodCheck(this, NodeCache), Object.keys(this.data)
|
|
}
|
|
has(key) {
|
|
return boundMethodCheck(this, NodeCache), null != this.data[key] && this._check(key, this.data[key])
|
|
}
|
|
getStats() {
|
|
return boundMethodCheck(this, NodeCache), this.stats
|
|
}
|
|
flushAll(_startPeriod = !0) {
|
|
boundMethodCheck(this, NodeCache), this.data = {}, this.stats = {
|
|
hits: 0,
|
|
misses: 0,
|
|
keys: 0,
|
|
ksize: 0,
|
|
vsize: 0
|
|
}, this._killCheckPeriod(), this._checkData(_startPeriod), this.emit("flush")
|
|
}
|
|
flushStats() {
|
|
boundMethodCheck(this, NodeCache), this.stats = {
|
|
hits: 0,
|
|
misses: 0,
|
|
keys: 0,
|
|
ksize: 0,
|
|
vsize: 0
|
|
}, this.emit("flush_stats")
|
|
}
|
|
close() {
|
|
boundMethodCheck(this, NodeCache), this._killCheckPeriod()
|
|
}
|
|
_checkData(startPeriod = !0) {
|
|
var key, ref, value;
|
|
for (key in boundMethodCheck(this, NodeCache), ref = this.data) value = ref[key], this._check(key, value);
|
|
startPeriod && this.options.checkperiod > 0 && (this.checkTimeout = setTimeout(this._checkData, 1e3 * this.options.checkperiod, startPeriod), null != this.checkTimeout && null != this.checkTimeout.unref && this.checkTimeout.unref())
|
|
}
|
|
_killCheckPeriod() {
|
|
if (null != this.checkTimeout) return clearTimeout(this.checkTimeout)
|
|
}
|
|
_check(key, data) {
|
|
var _retval;
|
|
return boundMethodCheck(this, NodeCache), _retval = !0, 0 !== data.t && data.t < Date.now() && (this.options.deleteOnExpire && (_retval = !1, this.del(key)), this.emit("expired", key, this._unwrap(data))), _retval
|
|
}
|
|
_isInvalidKey(key) {
|
|
var ref;
|
|
if (boundMethodCheck(this, NodeCache), ref = typeof key, indexOf.call(this.validKeyTypes, ref) < 0) return this._error("EKEYTYPE", {
|
|
type: typeof key
|
|
})
|
|
}
|
|
_wrap(value, ttl, asClone = !0) {
|
|
var now;
|
|
return boundMethodCheck(this, NodeCache), this.options.useClones || (asClone = !1), now = Date.now(), {
|
|
t: 0 === ttl ? 0 : ttl ? now + 1e3 * ttl : 0 === this.options.stdTTL ? this.options.stdTTL : now + 1e3 * this.options.stdTTL,
|
|
v: asClone ? clone(value) : value
|
|
}
|
|
}
|
|
_unwrap(value, asClone = !0) {
|
|
return this.options.useClones || (asClone = !1), null != value.v ? asClone ? clone(value.v) : value.v : null
|
|
}
|
|
_getKeyLength(key) {
|
|
return key.toString().length
|
|
}
|
|
_getValLength(value) {
|
|
return boundMethodCheck(this, NodeCache), "string" == typeof value ? value.length : this.options.forceString ? JSON.stringify(value).length : Array.isArray(value) ? this.options.arrayValueSize * value.length : "number" == typeof value ? 8 : "function" == typeof(null != value ? value.then : void 0) ? this.options.promiseValueSize : (null != Buffer ? Buffer.isBuffer(value) : void 0) ? value.length : null != value && "object" == typeof value ? this.options.objectValueSize * Object.keys(value).length : "boolean" == typeof value ? 8 : 0
|
|
}
|
|
_error(type, data = {}) {
|
|
var error;
|
|
return boundMethodCheck(this, NodeCache), (error = new Error).name = type, error.errorcode = type, error.message = null != this.ERRORS[type] ? this.ERRORS[type](data) : "-", error.data = data, error
|
|
}
|
|
_initErrors() {
|
|
var _errMsg, _errT, ref;
|
|
for (_errT in boundMethodCheck(this, NodeCache), this.ERRORS = {}, ref = this._ERRORS) _errMsg = ref[_errT], this.ERRORS[_errT] = this.createErrorMessage(_errMsg)
|
|
}
|
|
createErrorMessage(errMsg) {
|
|
return function(args) {
|
|
return errMsg.replace("__key", args.type)
|
|
}
|
|
}
|
|
}
|
|
return NodeCache.prototype._ERRORS = {
|
|
ENOTFOUND: "Key `__key` not found",
|
|
ECACHEFULL: "Cache max keys amount exceeded",
|
|
EKEYTYPE: "The key argument has to be of type `string` or `number`. Found: `__key`",
|
|
EKEYSTYPE: "The keys argument has to be an array.",
|
|
ETTLTYPE: "The ttl argument has to be a number."
|
|
}, NodeCache
|
|
}.call(this)
|
|
}).call(this)
|
|
},
|
|
66260: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
let {
|
|
nanoid
|
|
} = __webpack_require__(45463), {
|
|
isAbsolute,
|
|
resolve
|
|
} = __webpack_require__(197), {
|
|
SourceMapConsumer,
|
|
SourceMapGenerator
|
|
} = __webpack_require__(21866), {
|
|
fileURLToPath,
|
|
pathToFileURL
|
|
} = __webpack_require__(52739), CssSyntaxError = __webpack_require__(89588), PreviousMap = __webpack_require__(52208), terminalHighlight = __webpack_require__(49746), lineToIndexCache = Symbol("lineToIndexCache"), sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator), pathAvailable = Boolean(resolve && isAbsolute);
|
|
|
|
function getLineToIndex(input) {
|
|
if (input[lineToIndexCache]) return input[lineToIndexCache];
|
|
let lines = input.css.split("\n"),
|
|
lineToIndex = new Array(lines.length),
|
|
prevIndex = 0;
|
|
for (let i = 0, l = lines.length; i < l; i++) lineToIndex[i] = prevIndex, prevIndex += lines[i].length + 1;
|
|
return input[lineToIndexCache] = lineToIndex, lineToIndex
|
|
}
|
|
class Input {
|
|
get from() {
|
|
return this.file || this.id
|
|
}
|
|
constructor(css, opts = {}) {
|
|
if (null == css || "object" == typeof css && !css.toString) throw new Error(`PostCSS received ${css} instead of CSS string`);
|
|
if (this.css = css.toString(), "\ufeff" === this.css[0] || "\ufffe" === this.css[0] ? (this.hasBOM = !0, this.css = this.css.slice(1)) : this.hasBOM = !1, this.document = this.css, opts.document && (this.document = opts.document.toString()), opts.from && (!pathAvailable || /^\w+:\/\//.test(opts.from) || isAbsolute(opts.from) ? this.file = opts.from : this.file = resolve(opts.from)), pathAvailable && sourceMapAvailable) {
|
|
let map = new PreviousMap(this.css, opts);
|
|
if (map.text) {
|
|
this.map = map;
|
|
let file = map.consumer().file;
|
|
!this.file && file && (this.file = this.mapResolve(file))
|
|
}
|
|
}
|
|
this.file || (this.id = "<input css " + nanoid(6) + ">"), this.map && (this.map.file = this.from)
|
|
}
|
|
error(message, line, column, opts = {}) {
|
|
let endColumn, endLine, endOffset, offset, result;
|
|
if (line && "object" == typeof line) {
|
|
let start = line,
|
|
end = column;
|
|
if ("number" == typeof start.offset) {
|
|
offset = start.offset;
|
|
let pos = this.fromOffset(offset);
|
|
line = pos.line, column = pos.col
|
|
} else line = start.line, column = start.column, offset = this.fromLineAndColumn(line, column);
|
|
if ("number" == typeof end.offset) {
|
|
endOffset = end.offset;
|
|
let pos = this.fromOffset(endOffset);
|
|
endLine = pos.line, endColumn = pos.col
|
|
} else endLine = end.line, endColumn = end.column, endOffset = this.fromLineAndColumn(end.line, end.column)
|
|
} else if (column) offset = this.fromLineAndColumn(line, column);
|
|
else {
|
|
offset = line;
|
|
let pos = this.fromOffset(offset);
|
|
line = pos.line, column = pos.col
|
|
}
|
|
let origin = this.origin(line, column, endLine, endColumn);
|
|
return result = origin ? new CssSyntaxError(message, void 0 === origin.endLine ? origin.line : {
|
|
column: origin.column,
|
|
line: origin.line
|
|
}, void 0 === origin.endLine ? origin.column : {
|
|
column: origin.endColumn,
|
|
line: origin.endLine
|
|
}, origin.source, origin.file, opts.plugin) : new CssSyntaxError(message, void 0 === endLine ? line : {
|
|
column,
|
|
line
|
|
}, void 0 === endLine ? column : {
|
|
column: endColumn,
|
|
line: endLine
|
|
}, this.css, this.file, opts.plugin), result.input = {
|
|
column,
|
|
endColumn,
|
|
endLine,
|
|
endOffset,
|
|
line,
|
|
offset,
|
|
source: this.css
|
|
}, this.file && (pathToFileURL && (result.input.url = pathToFileURL(this.file).toString()), result.input.file = this.file), result
|
|
}
|
|
fromLineAndColumn(line, column) {
|
|
return getLineToIndex(this)[line - 1] + column - 1
|
|
}
|
|
fromOffset(offset) {
|
|
let lineToIndex = getLineToIndex(this),
|
|
min = 0;
|
|
if (offset >= lineToIndex[lineToIndex.length - 1]) min = lineToIndex.length - 1;
|
|
else {
|
|
let mid, max = lineToIndex.length - 2;
|
|
for (; min < max;)
|
|
if (mid = min + (max - min >> 1), offset < lineToIndex[mid]) max = mid - 1;
|
|
else {
|
|
if (!(offset >= lineToIndex[mid + 1])) {
|
|
min = mid;
|
|
break
|
|
}
|
|
min = mid + 1
|
|
}
|
|
}
|
|
return {
|
|
col: offset - lineToIndex[min] + 1,
|
|
line: min + 1
|
|
}
|
|
}
|
|
mapResolve(file) {
|
|
return /^\w+:\/\//.test(file) ? file : resolve(this.map.consumer().sourceRoot || this.map.root || ".", file)
|
|
}
|
|
origin(line, column, endLine, endColumn) {
|
|
if (!this.map) return !1;
|
|
let to, fromUrl, consumer = this.map.consumer(),
|
|
from = consumer.originalPositionFor({
|
|
column,
|
|
line
|
|
});
|
|
if (!from.source) return !1;
|
|
"number" == typeof endLine && (to = consumer.originalPositionFor({
|
|
column: endColumn,
|
|
line: endLine
|
|
})), fromUrl = isAbsolute(from.source) ? pathToFileURL(from.source) : new URL(from.source, this.map.consumer().sourceRoot || pathToFileURL(this.map.mapFile));
|
|
let result = {
|
|
column: from.column,
|
|
endColumn: to && to.column,
|
|
endLine: to && to.line,
|
|
line: from.line,
|
|
url: fromUrl.toString()
|
|
};
|
|
if ("file:" === fromUrl.protocol) {
|
|
if (!fileURLToPath) throw new Error("file: protocol is not available in this PostCSS build");
|
|
result.file = fileURLToPath(fromUrl)
|
|
}
|
|
let source = consumer.sourceContentFor(from.source);
|
|
return source && (result.source = source), result
|
|
}
|
|
toJSON() {
|
|
let json = {};
|
|
for (let name of ["hasBOM", "css", "file", "id"]) null != this[name] && (json[name] = this[name]);
|
|
return this.map && (json.map = {
|
|
...this.map
|
|
}, json.map.consumerCache && (json.map.consumerCache = void 0)), json
|
|
}
|
|
}
|
|
module.exports = Input, Input.default = Input, terminalHighlight && terminalHighlight.registerInput && terminalHighlight.registerInput(Input)
|
|
},
|
|
66418: module => {
|
|
var reWhitespace = /\s/;
|
|
module.exports = function(string) {
|
|
for (var index = string.length; index-- && reWhitespace.test(string.charAt(index)););
|
|
return index
|
|
}
|
|
},
|
|
66633: module => {
|
|
"use strict";
|
|
var UPPER_A_CP = "A".codePointAt(0),
|
|
UPPER_Z_CP = "Z".codePointAt(0),
|
|
LOWER_A_CP = "a".codePointAt(0),
|
|
LOWER_Z_CP = "z".codePointAt(0),
|
|
DIGIT_0_CP = "0".codePointAt(0),
|
|
DIGIT_9_CP = "9".codePointAt(0);
|
|
module.exports = {
|
|
Char: function(path) {
|
|
var classRange, from, to, node = path.node,
|
|
parent = path.parent;
|
|
if (!isNaN(node.codePoint) && "simple" !== node.kind && (("ClassRange" !== parent.type || (from = (classRange = parent).from, to = classRange.to, from.codePoint >= DIGIT_0_CP && from.codePoint <= DIGIT_9_CP && to.codePoint >= DIGIT_0_CP && to.codePoint <= DIGIT_9_CP || from.codePoint >= UPPER_A_CP && from.codePoint <= UPPER_Z_CP && to.codePoint >= UPPER_A_CP && to.codePoint <= UPPER_Z_CP || from.codePoint >= LOWER_A_CP && from.codePoint <= LOWER_Z_CP && to.codePoint >= LOWER_A_CP && to.codePoint <= LOWER_Z_CP)) && (codePoint = node.codePoint) >= 32 && codePoint <= 126)) {
|
|
var codePoint, symbol = String.fromCodePoint(node.codePoint),
|
|
newChar = {
|
|
type: "Char",
|
|
kind: "simple",
|
|
value: symbol,
|
|
symbol,
|
|
codePoint: node.codePoint
|
|
};
|
|
(function(symbol, parentType) {
|
|
if ("ClassRange" === parentType || "CharacterClass" === parentType) return /[\]\\^-]/.test(symbol);
|
|
return /[*[()+?^$./\\|{}]/.test(symbol)
|
|
})(symbol, parent.type) && (newChar.escaped = !0), path.replace(newChar)
|
|
}
|
|
}
|
|
}
|
|
},
|
|
66646: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var Buffer = __webpack_require__(68617).hp;
|
|
let {
|
|
dirname,
|
|
relative,
|
|
resolve,
|
|
sep
|
|
} = __webpack_require__(197), {
|
|
SourceMapConsumer,
|
|
SourceMapGenerator
|
|
} = __webpack_require__(21866), {
|
|
pathToFileURL
|
|
} = __webpack_require__(52739), Input = __webpack_require__(66260), sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator), pathAvailable = Boolean(dirname && resolve && relative && sep);
|
|
module.exports = class {
|
|
constructor(stringify, root, opts, cssString) {
|
|
this.stringify = stringify, this.mapOpts = opts.map || {}, this.root = root, this.opts = opts, this.css = cssString, this.originalCSS = cssString, this.usesFileUrls = !this.mapOpts.from && this.mapOpts.absolute, this.memoizedFileURLs = new Map, this.memoizedPaths = new Map, this.memoizedURLs = new Map
|
|
}
|
|
addAnnotation() {
|
|
let content;
|
|
content = this.isInline() ? "data:application/json;base64," + this.toBase64(this.map.toString()) : "string" == typeof this.mapOpts.annotation ? this.mapOpts.annotation : "function" == typeof this.mapOpts.annotation ? this.mapOpts.annotation(this.opts.to, this.root) : this.outputFile() + ".map";
|
|
let eol = "\n";
|
|
this.css.includes("\r\n") && (eol = "\r\n"), this.css += eol + "/*# sourceMappingURL=" + content + " */"
|
|
}
|
|
applyPrevMaps() {
|
|
for (let prev of this.previous()) {
|
|
let map, from = this.toUrl(this.path(prev.file)),
|
|
root = prev.root || dirname(prev.file);
|
|
!1 === this.mapOpts.sourcesContent ? (map = new SourceMapConsumer(prev.text), map.sourcesContent && (map.sourcesContent = null)) : map = prev.consumer(), this.map.applySourceMap(map, from, this.toUrl(this.path(root)))
|
|
}
|
|
}
|
|
clearAnnotation() {
|
|
if (!1 !== this.mapOpts.annotation)
|
|
if (this.root) {
|
|
let node;
|
|
for (let i = this.root.nodes.length - 1; i >= 0; i--) node = this.root.nodes[i], "comment" === node.type && node.text.startsWith("# sourceMappingURL=") && this.root.removeChild(i)
|
|
} else this.css && (this.css = this.css.replace(/\n*\/\*#[\S\s]*?\*\/$/gm, ""))
|
|
}
|
|
generate() {
|
|
if (this.clearAnnotation(), pathAvailable && sourceMapAvailable && this.isMap()) return this.generateMap();
|
|
{
|
|
let result = "";
|
|
return this.stringify(this.root, i => {
|
|
result += i
|
|
}), [result]
|
|
}
|
|
}
|
|
generateMap() {
|
|
if (this.root) this.generateString();
|
|
else if (1 === this.previous().length) {
|
|
let prev = this.previous()[0].consumer();
|
|
prev.file = this.outputFile(), this.map = SourceMapGenerator.fromSourceMap(prev, {
|
|
ignoreInvalidMapping: !0
|
|
})
|
|
} else this.map = new SourceMapGenerator({
|
|
file: this.outputFile(),
|
|
ignoreInvalidMapping: !0
|
|
}), this.map.addMapping({
|
|
generated: {
|
|
column: 0,
|
|
line: 1
|
|
},
|
|
original: {
|
|
column: 0,
|
|
line: 1
|
|
},
|
|
source: this.opts.from ? this.toUrl(this.path(this.opts.from)) : "<no source>"
|
|
});
|
|
return this.isSourcesContent() && this.setSourcesContent(), this.root && this.previous().length > 0 && this.applyPrevMaps(), this.isAnnotation() && this.addAnnotation(), this.isInline() ? [this.css] : [this.css, this.map]
|
|
}
|
|
generateString() {
|
|
this.css = "", this.map = new SourceMapGenerator({
|
|
file: this.outputFile(),
|
|
ignoreInvalidMapping: !0
|
|
});
|
|
let last, lines, line = 1,
|
|
column = 1,
|
|
mapping = {
|
|
generated: {
|
|
column: 0,
|
|
line: 0
|
|
},
|
|
original: {
|
|
column: 0,
|
|
line: 0
|
|
},
|
|
source: ""
|
|
};
|
|
this.stringify(this.root, (str, node, type) => {
|
|
if (this.css += str, node && "end" !== type && (mapping.generated.line = line, mapping.generated.column = column - 1, node.source && node.source.start ? (mapping.source = this.sourcePath(node), mapping.original.line = node.source.start.line, mapping.original.column = node.source.start.column - 1, this.map.addMapping(mapping)) : (mapping.source = "<no source>", mapping.original.line = 1, mapping.original.column = 0, this.map.addMapping(mapping))), lines = str.match(/\n/g), lines ? (line += lines.length, last = str.lastIndexOf("\n"), column = str.length - last) : column += str.length, node && "start" !== type) {
|
|
let p = node.parent || {
|
|
raws: {}
|
|
};
|
|
("decl" === node.type || "atrule" === node.type && !node.nodes) && node === p.last && !p.raws.semicolon || (node.source && node.source.end ? (mapping.source = this.sourcePath(node), mapping.original.line = node.source.end.line, mapping.original.column = node.source.end.column - 1, mapping.generated.line = line, mapping.generated.column = column - 2, this.map.addMapping(mapping)) : (mapping.source = "<no source>", mapping.original.line = 1, mapping.original.column = 0, mapping.generated.line = line, mapping.generated.column = column - 1, this.map.addMapping(mapping)))
|
|
}
|
|
})
|
|
}
|
|
isAnnotation() {
|
|
return !!this.isInline() || (void 0 !== this.mapOpts.annotation ? this.mapOpts.annotation : !this.previous().length || this.previous().some(i => i.annotation))
|
|
}
|
|
isInline() {
|
|
if (void 0 !== this.mapOpts.inline) return this.mapOpts.inline;
|
|
let annotation = this.mapOpts.annotation;
|
|
return (void 0 === annotation || !0 === annotation) && (!this.previous().length || this.previous().some(i => i.inline))
|
|
}
|
|
isMap() {
|
|
return void 0 !== this.opts.map ? !!this.opts.map : this.previous().length > 0
|
|
}
|
|
isSourcesContent() {
|
|
return void 0 !== this.mapOpts.sourcesContent ? this.mapOpts.sourcesContent : !this.previous().length || this.previous().some(i => i.withContent())
|
|
}
|
|
outputFile() {
|
|
return this.opts.to ? this.path(this.opts.to) : this.opts.from ? this.path(this.opts.from) : "to.css"
|
|
}
|
|
path(file) {
|
|
if (this.mapOpts.absolute) return file;
|
|
if (60 === file.charCodeAt(0)) return file;
|
|
if (/^\w+:\/\//.test(file)) return file;
|
|
let cached = this.memoizedPaths.get(file);
|
|
if (cached) return cached;
|
|
let from = this.opts.to ? dirname(this.opts.to) : ".";
|
|
"string" == typeof this.mapOpts.annotation && (from = dirname(resolve(from, this.mapOpts.annotation)));
|
|
let path = relative(from, file);
|
|
return this.memoizedPaths.set(file, path), path
|
|
}
|
|
previous() {
|
|
if (!this.previousMaps)
|
|
if (this.previousMaps = [], this.root) this.root.walk(node => {
|
|
if (node.source && node.source.input.map) {
|
|
let map = node.source.input.map;
|
|
this.previousMaps.includes(map) || this.previousMaps.push(map)
|
|
}
|
|
});
|
|
else {
|
|
let input = new Input(this.originalCSS, this.opts);
|
|
input.map && this.previousMaps.push(input.map)
|
|
} return this.previousMaps
|
|
}
|
|
setSourcesContent() {
|
|
let already = {};
|
|
if (this.root) this.root.walk(node => {
|
|
if (node.source) {
|
|
let from = node.source.input.from;
|
|
if (from && !already[from]) {
|
|
already[from] = !0;
|
|
let fromUrl = this.usesFileUrls ? this.toFileUrl(from) : this.toUrl(this.path(from));
|
|
this.map.setSourceContent(fromUrl, node.source.input.css)
|
|
}
|
|
}
|
|
});
|
|
else if (this.css) {
|
|
let from = this.opts.from ? this.toUrl(this.path(this.opts.from)) : "<no source>";
|
|
this.map.setSourceContent(from, this.css)
|
|
}
|
|
}
|
|
sourcePath(node) {
|
|
return this.mapOpts.from ? this.toUrl(this.mapOpts.from) : this.usesFileUrls ? this.toFileUrl(node.source.input.from) : this.toUrl(this.path(node.source.input.from))
|
|
}
|
|
toBase64(str) {
|
|
return Buffer ? Buffer.from(str).toString("base64") : window.btoa(unescape(encodeURIComponent(str)))
|
|
}
|
|
toFileUrl(path) {
|
|
let cached = this.memoizedFileURLs.get(path);
|
|
if (cached) return cached;
|
|
if (pathToFileURL) {
|
|
let fileURL = pathToFileURL(path).toString();
|
|
return this.memoizedFileURLs.set(path, fileURL), fileURL
|
|
}
|
|
throw new Error("`map.absolute` option is not available in this PostCSS build")
|
|
}
|
|
toUrl(path) {
|
|
let cached = this.memoizedURLs.get(path);
|
|
if (cached) return cached;
|
|
"\\" === sep && (path = path.replace(/\\/g, "/"));
|
|
let url = encodeURI(path).replace(/[#?]/g, encodeURIComponent);
|
|
return this.memoizedURLs.set(path, url), url
|
|
}
|
|
}
|
|
},
|
|
67025: module => {
|
|
"use strict";
|
|
|
|
function _toConsumableArray(arr) {
|
|
if (Array.isArray(arr)) {
|
|
for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
|
|
return arr2
|
|
}
|
|
return Array.from(arr)
|
|
}
|
|
module.exports = {
|
|
Group: function(path) {
|
|
var node = path.node,
|
|
parent = path.parent,
|
|
childPath = path.getChild();
|
|
if (!node.capturing && childPath && function(path) {
|
|
var parent = path.parent,
|
|
index = path.index;
|
|
if ("Alternative" !== parent.type) return !0;
|
|
var previousNode = parent.expressions[index - 1];
|
|
if (null == previousNode) return !0;
|
|
if ("Backreference" === previousNode.type && "number" === previousNode.kind) return !1;
|
|
if ("Char" === previousNode.type && "decimal" === previousNode.kind) return !1;
|
|
return !0
|
|
}(path) && !("Disjunction" === childPath.node.type && "RegExp" !== parent.type || "Repetition" === parent.type && "Char" !== childPath.node.type && "CharacterClass" !== childPath.node.type))
|
|
if ("Alternative" === childPath.node.type) {
|
|
var parentPath = path.getParent();
|
|
"Alternative" === parentPath.node.type && parentPath.replace({
|
|
type: "Alternative",
|
|
expressions: [].concat(_toConsumableArray(parent.expressions.slice(0, path.index)), _toConsumableArray(childPath.node.expressions), _toConsumableArray(parent.expressions.slice(path.index + 1)))
|
|
})
|
|
} else path.replace(childPath.node)
|
|
}
|
|
}
|
|
},
|
|
67114: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912)),
|
|
_helpers = _interopRequireDefault(__webpack_require__(16065));
|
|
exports.default = new _dac.default({
|
|
description: "Wish Acorn DAC",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 10
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "132342871171974134",
|
|
name: "wish"
|
|
}],
|
|
doDac: async function(code, selector, priceAmt, applyBestCode) {
|
|
let price = priceAmt;
|
|
return function(res) {
|
|
try {
|
|
price = res.data.cart_info.total, Number(_legacyHoneyUtils.default.cleanPrice(price)) < priceAmt && (0, _jquery.default)(selector).text(price)
|
|
} catch (e) {
|
|
price = priceAmt
|
|
}
|
|
}(await async function() {
|
|
let xsrf = "";
|
|
try {
|
|
xsrf = document.cookie.match("xsrf=([^;]*)")[1]
|
|
} catch (e) {}
|
|
const res = _jquery.default.ajax({
|
|
url: "https://www.wish.com/api/promo-code/apply",
|
|
type: "POST",
|
|
headers: {
|
|
"x-xsrftoken": xsrf
|
|
},
|
|
data: {
|
|
promo_code: code
|
|
}
|
|
});
|
|
return await res.done(_data => {
|
|
_logger.default.debug("Finishing applying code")
|
|
}), res
|
|
}()), !0 === applyBestCode && (window.location = window.location.href, await (0, _helpers.default)(5e3)), Number(_legacyHoneyUtils.default.cleanPrice(price))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
67230: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288),
|
|
_jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_currencies = _interopRequireDefault(__webpack_require__(9625)),
|
|
_sanitizeHtml = _interopRequireDefault(__webpack_require__(78818)),
|
|
_cheerio = _interopRequireDefault(__webpack_require__(1476));
|
|
let consoleToUse = {};
|
|
const SUPPORTED_SELECTOR_TYPES = ["css", "xpath"];
|
|
|
|
function echo(message) {
|
|
"function" == typeof consoleToUse.log && consoleToUse.log(`[chrome.echo] ${message}`)
|
|
}
|
|
|
|
function elementVisible(elem) {
|
|
if ("#text" === elem.nodeName) return !0;
|
|
let style = null;
|
|
try {
|
|
elem instanceof Element && (style = window.getComputedStyle(elem, null))
|
|
} catch (e) {
|
|
return !1
|
|
}
|
|
if (!style) return !1;
|
|
if ("hidden" === style.visibility || "none" === style.display) return !1;
|
|
const cr = elem.getBoundingClientRect();
|
|
return cr.width > 0 && cr.height > 0
|
|
}
|
|
|
|
function findAll(selector, scope, checkIfVisible) {
|
|
if ("[object Array]" === Object.prototype.toString.call(selector)) return selector;
|
|
if ("string" != typeof selector && (!selector.type || "xpath" != selector.type)) return [selector];
|
|
let foundEls = [];
|
|
const validEls = [],
|
|
cameWithScope = scope && scope != document.body;
|
|
scope || (scope = document);
|
|
try {
|
|
const pSelector = processSelector(selector);
|
|
if (0 === pSelector.path.indexOf("//") || 0 === pSelector.path.indexOf("substring")) foundEls = getElementsByXPath(pSelector.path, scope);
|
|
else if ("xpath" === pSelector.type) foundEls = getElementsByXPath(pSelector.path, scope);
|
|
else if (cameWithScope && -1 === pSelector.path.indexOf(":scope") && (pSelector.path = pSelector.path.split(",").map(s => `:scope ${s.trim()}`).join(", ")), pSelector.path)
|
|
if (scope instanceof _jquery.default) foundEls = scope.find(pSelector.path).toArray();
|
|
else try {
|
|
foundEls = scope.querySelectorAll(pSelector.path)
|
|
} catch (innerE) {
|
|
if ("SyntaxError" !== innerE.name) throw innerE;
|
|
foundEls = (0, _jquery.default)(pSelector.path).toArray()
|
|
}
|
|
} catch (e) {
|
|
return log(`findAll(): invalid selector provided ${selector}: ${e}.`, "error"), []
|
|
}
|
|
for (const el of foundEls) {
|
|
let add = !0;
|
|
checkIfVisible && !0 === checkIfVisible && !1 === visible(el) && (add = !1), add && validEls.push(el)
|
|
}
|
|
return validEls
|
|
}
|
|
|
|
function findOne(selector, scope, checkIfVisible) {
|
|
if ("string" != typeof selector && (!selector.type || "xpath" != selector.type)) return selector;
|
|
const els = findAll(selector, scope, checkIfVisible);
|
|
return els ? els[0] : null
|
|
}
|
|
|
|
function getElementsByXPath(expression, scope) {
|
|
scope && (expression = (expression = `.${expression}`).replace(/^\.{2}/, ".").replace(/\|\s*\//g, "| ./"));
|
|
const nodes = [];
|
|
let a = null;
|
|
if (0 === expression.indexOf("substring")) a = document.evaluate(expression, scope, null, XPathResult.STRING_TYPE, null), nodes.push(a.stringValue);
|
|
else {
|
|
a = document.evaluate(expression, scope, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
|
|
for (let i = 0; i < a.snapshotLength; i++) nodes.push(a.snapshotItem(i))
|
|
}
|
|
return nodes
|
|
}
|
|
|
|
function log(message, level) {
|
|
"function" == typeof consoleToUse.log && consoleToUse.log(`[chome: ${level||"debug"}] ${message}`)
|
|
}
|
|
|
|
function mouseEvent(type, selector, x, y) {
|
|
const elem = findOne(selector);
|
|
if (!elem) return log(`mouseEvent(): Couldn't find any element matching ${selector}.`, "error"), !1;
|
|
const convertNumberToIntAndPercentToFloat = (a, def) => !!a && !isNaN(a) && parseInt(a, 10) || !!a && !isNaN(parseFloat(a)) && parseFloat(a) >= 0 && parseFloat(a) <= 100 && parseFloat(a) / 100 || def;
|
|
try {
|
|
const evt = document.createEvent("MouseEvents");
|
|
let px = convertNumberToIntAndPercentToFloat(x, .5),
|
|
py = convertNumberToIntAndPercentToFloat(y, .5);
|
|
try {
|
|
const bounds = elem.getBoundingClientRect();
|
|
px = Math.floor(bounds.width * (px - (0 ^ px)).toFixed(10)) + (0 ^ px) + bounds.left, py = Math.floor(bounds.height * (py - (0 ^ py)).toFixed(10)) + (0 ^ py) + bounds.top
|
|
} catch (e) {
|
|
px = 1, py = 1
|
|
}
|
|
return evt.initMouseEvent(type, !0, !0, window, 1, 1, 1, px, py, !1, !1, !1, !1, "contextmenu" !== type ? 0 : 2, elem), elem.dispatchEvent(evt, {
|
|
bubbles: !0
|
|
}), !0
|
|
} catch (e) {
|
|
return log(`Failed dispatching ${type} mouse event on ${selector}: ${e}`, "error"), !1
|
|
}
|
|
}
|
|
|
|
function processSelector(selector) {
|
|
const selectorObject = {
|
|
toString: function() {
|
|
return `${this.type} selector: ${this.path}`
|
|
}
|
|
};
|
|
if ("string" == typeof selector) return selectorObject.type = "css", selectorObject.path = selector, selectorObject;
|
|
if ("object" == typeof selector) {
|
|
if (!selector.hasOwnProperty("type") || !selector.hasOwnProperty("path")) throw new Error("Incomplete selector object");
|
|
if (-1 === SUPPORTED_SELECTOR_TYPES.indexOf(selector.type)) throw new Error(`Unsupported selector type: ${selector.type}.`);
|
|
return selector.hasOwnProperty("toString") || (selector.toString = selectorObject.toString), selector
|
|
}
|
|
throw new Error(`Unsupported selector type: ${typeof selector}.`)
|
|
}
|
|
|
|
function scrollTo(x, y) {
|
|
window.scrollTo(parseInt(x || 0, 10), parseInt(y || 0, 10))
|
|
}
|
|
|
|
function visible(selector) {
|
|
const els = findAll(selector);
|
|
for (let element of els)
|
|
if ((!(element instanceof _jquery.default) || (element = element.get(0), element)) && elementVisible(element)) return !0;
|
|
return !1
|
|
}
|
|
|
|
function cleanImagePath(element) {
|
|
if (element) {
|
|
const src = element.getAttribute ? element.getAttribute("src") : null,
|
|
content = element.getAttribute ? element.getAttribute("content") : null,
|
|
backgroundImage = element.style && element.style.backgroundImage ? element.style.backgroundImage.replace(/^url\(["']?/, "").replace(/["']?\)$/, "") : null,
|
|
textContent = element.textContent;
|
|
let image = src || content || backgroundImage || textContent;
|
|
return image = addHostToImage(image), image
|
|
}
|
|
return null
|
|
}
|
|
|
|
function addHostToImage(imageURL) {
|
|
if (!imageURL) return imageURL;
|
|
if (0 === imageURL.indexOf("//") ? imageURL = `http:${imageURL}` : -1 === imageURL.indexOf("://") && (imageURL = 0 === imageURL.indexOf("/") ? window.location.origin + imageURL : `${window.location.origin}/${imageURL}`), 0 !== imageURL.indexOf("http")) {
|
|
const uri_pattern = /\b((?:https?:\/\/|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?\xab\xbb\u201c\u201d\u2018\u2019]))/gi,
|
|
pieces = (imageURL = (imageURL = imageURL.replace(/','/g, "', '")).replace(/","/g, '", "')).match(uri_pattern);
|
|
pieces && pieces[0] && pieces[0].length > 0 && (imageURL = pieces[0])
|
|
}
|
|
return imageURL
|
|
}
|
|
|
|
function isElInViewport(element) {
|
|
if (!element.getBoundingClientRect) return !1;
|
|
const rect = element.getBoundingClientRect();
|
|
return rect.top > -1 && rect.bottom <= window.innerHeight
|
|
}
|
|
|
|
function findMultipleCurrenciesInLargeString(currencyFormat, value, ignoreMinusSigns, currencyMappings, currencyRegexps) {
|
|
if (!value || 0 === value.trim().length) return null;
|
|
value = value.replace(/\s+/g, " ").replace(/\s\./g, ".");
|
|
const currencyFormats = [currencyFormat = currencyFormat || "$AMOUNT"];
|
|
currencyMappings[currencyFormat] && currencyFormats.push(currencyMappings[currencyFormat]);
|
|
let bestMatch = null;
|
|
for (const regexType in currencyRegexps)
|
|
for (const aCurrencyFormat of currencyFormats) {
|
|
const fullRegex = currencyFormatRegexp(aCurrencyFormat, currencyRegexps[regexType]),
|
|
match = value.match(fullRegex);
|
|
match && match[0] && (!bestMatch || bestMatch.first.length < match[0].length) && (bestMatch = {
|
|
converter: regexType,
|
|
first: match[0],
|
|
all: match
|
|
})
|
|
}
|
|
if (bestMatch) {
|
|
const prices = [];
|
|
for (let price of bestMatch.all) price = price.replace(/\s*/, ""), prices.push({
|
|
price,
|
|
converter: bestMatch.converter
|
|
});
|
|
return prices
|
|
}
|
|
return [parseFloat(value)]
|
|
}
|
|
|
|
function currencyFormatRegexp(currencyFormat, currencyRegexp) {
|
|
let regexpString = currencyFormat.replace(/ /g, "").replace("AMOUNT", `\\s*${currencyRegexp.source}\\s*`).replace(/\$/g, "\\$");
|
|
return regexpString = `-?\\s*${regexpString}`, new RegExp(regexpString, "gi")
|
|
}
|
|
module.exports = {
|
|
click: {
|
|
fn: function(selector, x, y) {
|
|
return mouseEvent("click", selector, x, y)
|
|
},
|
|
browserOnly: !0
|
|
},
|
|
echo: {
|
|
fn: echo
|
|
},
|
|
elementVisible: {
|
|
fn: elementVisible,
|
|
browserOnly: !0
|
|
},
|
|
exists: {
|
|
fn: function(selector) {
|
|
try {
|
|
return findAll(selector).length > 0
|
|
} catch (e) {
|
|
return !1
|
|
}
|
|
},
|
|
browserOnly: !0
|
|
},
|
|
findAll: {
|
|
fn: findAll,
|
|
browserOnly: !0
|
|
},
|
|
findOne: {
|
|
fn: findOne,
|
|
browserOnly: !0
|
|
},
|
|
getElementByXPath: {
|
|
fn: function(expression, scope) {
|
|
scope && 0 !== expression.indexOf(".") && (expression = `.${expression}`);
|
|
const a = document.evaluate(expression, scope, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
|
|
return a.snapshotLength > 0 ? a.snapshotItem(0) : null
|
|
},
|
|
browserOnly: !0
|
|
},
|
|
getElementsByXPath: {
|
|
fn: getElementsByXPath,
|
|
browserOnly: !0
|
|
},
|
|
log: {
|
|
fn: log
|
|
},
|
|
mouseEvent: {
|
|
fn: mouseEvent,
|
|
browserOnly: !0
|
|
},
|
|
processSelector: {
|
|
fn: processSelector
|
|
},
|
|
scrollTo: {
|
|
fn: scrollTo,
|
|
browserOnly: !0
|
|
},
|
|
scrollToBottom: {
|
|
fn: function() {
|
|
scrollTo(0, window.getDocumentHeight())
|
|
},
|
|
browserOnly: !0
|
|
},
|
|
visible: {
|
|
fn: visible,
|
|
browserOnly: !0
|
|
},
|
|
fetchText: {
|
|
fn: function(selector, separator, checkIfVisible) {
|
|
separator || (separator = "");
|
|
const textEls = [],
|
|
elements = findAll(selector, null, checkIfVisible);
|
|
if (elements && elements.length)
|
|
for (let element of elements)
|
|
if (!(element instanceof _jquery.default) || (element = element.get(0), element))
|
|
if ("string" == typeof element && element.trim().length > 0) textEls.push(element.trim());
|
|
else {
|
|
let text = element.textContent || element.innerText || "";
|
|
text = text.trim().replace(/[\u200B-\u200D\uFEFF]/g, "").replace(/&/g, "&").trim();
|
|
try {
|
|
const before = getComputedStyle(element, "::before").content,
|
|
after = getComputedStyle(element, "::after").content;
|
|
before && "none" != before && "normal" != before && (text = before.replace(/(^["']|["']$)/g, "") + text), after && "none" != after && "normal" != after && (text += after.replace(/(^["']|["']$)/g, ""))
|
|
} catch (err) {}
|
|
text && text.length > 0 && textEls.push(text)
|
|
} return textEls.join(separator).trim()
|
|
},
|
|
browserOnly: !0
|
|
},
|
|
fetchHTML: {
|
|
fn: function(selector, separator, checkIfVisible) {
|
|
separator || (separator = "");
|
|
const HTMLEls = [],
|
|
elements = findAll(selector, null, checkIfVisible);
|
|
if (elements && elements.length)
|
|
for (let element of elements) {
|
|
if (element instanceof _jquery.default && (element = element.get(0), !element)) continue;
|
|
let HTML = "";
|
|
element.nodeName && "#comment" === element.nodeName.toLowerCase() || (HTML = "string" == typeof element && element.trim().length > 0 ? element.trim() : "string" == typeof element.outerHTML ? element.outerHTML.trim() : element.textContent.trim(), HTML.length > 0 && HTMLEls.push(HTML))
|
|
}
|
|
const cleanerDiv = document.createElement("div");
|
|
cleanerDiv.innerHTML = HTMLEls.join(separator);
|
|
const links = findAll("a", cleanerDiv);
|
|
for (const link of links) link.closest("svg") || (link.href = JSON.parse(JSON.stringify(link.href)), link.pathname && link.pathname === window.location.pathname && (link.outerHTML = link.textContent));
|
|
return cleanerDiv.innerHTML.toString()
|
|
},
|
|
browserOnly: !0
|
|
},
|
|
fetchImages: {
|
|
fn: function(selector, checkIfVisible) {
|
|
const elements = findAll(selector, null, checkIfVisible),
|
|
altImages = [];
|
|
for (let element of elements) {
|
|
if (element instanceof _jquery.default && (element = element.get(0), !element)) continue;
|
|
const image = cleanImagePath(element);
|
|
image && altImages.push(image)
|
|
}
|
|
return altImages
|
|
},
|
|
browserOnly: !0
|
|
},
|
|
fetchLinks: {
|
|
fn: function(selector, separator, checkIfVisible) {
|
|
separator || (separator = "");
|
|
const HREFs = [],
|
|
elements = findAll(selector, null, checkIfVisible);
|
|
if (elements && elements.length)
|
|
for (let element of elements) {
|
|
if (element instanceof _jquery.default && (element = element.get(0), !element)) continue;
|
|
let HREF = "";
|
|
HREF = "string" == typeof element && element.trim().length > 0 ? element.trim() : "string" == typeof element.href ? element.href.trim() : element.textContent.trim(), HREF && HREF.length > 0 && (0 === HREF.indexOf("//") ? HREF = `http:${HREF}` : -1 === HREF.indexOf("://") && (HREF = 0 === HREF.indexOf("/") ? window.location.origin + HREF : `${window.location.origin}/${HREF}`), HREFs.push(HREF))
|
|
}
|
|
return HREFs.join(separator)
|
|
},
|
|
browserOnly: !0
|
|
},
|
|
cleanImagePath: {
|
|
fn: cleanImagePath,
|
|
browserOnly: !0
|
|
},
|
|
addHostToImage: {
|
|
fn: addHostToImage
|
|
},
|
|
addHostToSwatch: {
|
|
fn: function(swatchURL) {
|
|
return swatchURL ? ((0 === swatchURL.indexOf("http") || 0 === swatchURL.indexOf("/") || -1 === swatchURL.indexOf(" ") && swatchURL.indexOf("/") > -1 && swatchURL.indexOf(".") > -1) && (swatchURL = addHostToImage(swatchURL)), swatchURL) : swatchURL
|
|
}
|
|
},
|
|
isHtmlElement: {
|
|
fn: function(node) {
|
|
return !(!node || !(node.nodeName || node.prop && node.attr && node.find))
|
|
}
|
|
},
|
|
hasReact: {
|
|
fn: function(element) {
|
|
if (!element) return !1;
|
|
let hasReact = !1;
|
|
for (const prop in element)
|
|
if (prop.indexOf("__reactInternalInstance") > -1) {
|
|
hasReact = !0;
|
|
break
|
|
} return !hasReact && element.getAttribute("data-reactid") && (hasReact = !0), hasReact
|
|
},
|
|
browserOnly: !0
|
|
},
|
|
setReactOnChangeListener: {
|
|
fn: function(element) {
|
|
let reactInstanceProp = null;
|
|
for (const prop in element) prop.indexOf("__reactInternalInstance") > -1 && (reactInstanceProp = prop);
|
|
const onChangeHandler = function(event) {
|
|
element[reactInstanceProp].memoizedProps.onChange(event), event && event.target && echo(`--- target value: ${event.target.value}`)
|
|
};
|
|
reactInstanceProp && element[reactInstanceProp].memoizedProps && "function" == typeof element[reactInstanceProp].memoizedProps.onChange && element.addEventListener("change", onChangeHandler)
|
|
},
|
|
browserOnly: !0
|
|
},
|
|
setReactElementValue: {
|
|
fn: function(element, value) {
|
|
for (const eventName of ["focus", "compositionstart", "set_value", "input", "keyup", "change", "compositionend", "blur"])
|
|
if ("set_value" === eventName) element.value = value;
|
|
else {
|
|
const event = new Event(eventName, {
|
|
bubbles: !0
|
|
});
|
|
event.simulated = !0, element.dispatchEvent(event)
|
|
}
|
|
},
|
|
browserOnly: !0
|
|
},
|
|
isElInViewport: {
|
|
fn: isElInViewport,
|
|
browserOnly: !0
|
|
},
|
|
visibleTexts: {
|
|
fn: function visibleTexts(el, inViewPort, texts) {
|
|
el || (el = document.body);
|
|
const parentIsVibile = visible(el) && el.offsetHeight > 1 && el.offsetWidth > 1,
|
|
parentInViewPort = !inViewPort || isElInViewport(el),
|
|
childNodes = el.childNodes;
|
|
for (const node of childNodes) {
|
|
const nodeIsVisible = 3 === node.nodeType || visible(node) && node.offsetHeight > 1 && node.offsetWidth > 1,
|
|
nodeIsInViewPort = !inViewPort || isElInViewport(node),
|
|
nodeParent = 3 === node.nodeType ? node.parentElement : null,
|
|
nodeParentClass = nodeParent && nodeParent.getAttribute("class") ? nodeParent.getAttribute("class") : "";
|
|
if (3 === node.nodeType && parentIsVibile && parentInViewPort && nodeParent && "SCRIPT" != nodeParent.tagName && -1 === nodeParentClass.indexOf("disabled") && -1 === nodeParentClass.indexOf("inactive") && null === nodeParent.getAttribute("disabled")) {
|
|
let text = node.nodeValue;
|
|
text = text.replace(/\s/g, " ").replace(/\s{2,}/g, " ").trim(), text && -1 === text.indexOf("function") && -1 === text.indexOf("</") && texts.push(text)
|
|
} else 1 === node.nodeType && nodeIsVisible && nodeIsInViewPort && "INPUT" === node.tagName && "hidden" != node.type && !node.disabled && texts.push(node.value)
|
|
}
|
|
for (const node of childNodes) 3 != node.nodeType && visibleTexts(node, inViewPort, texts);
|
|
return texts
|
|
},
|
|
browserOnly: !0
|
|
},
|
|
applyRegExpToString: {
|
|
fn: function(string, stringRegExp) {
|
|
if (!stringRegExp || 0 === stringRegExp.length) return string;
|
|
const pieces = stringRegExp.split("||");
|
|
try {
|
|
for (let piece of pieces) {
|
|
piece = piece.trim();
|
|
let sourceAndDest = piece.split("--\x3e");
|
|
if (sourceAndDest.length > 1) {
|
|
const dest = sourceAndDest[1].trim(),
|
|
source = sourceAndDest[0].trim();
|
|
let sourceRegxp = null;
|
|
sourceRegxp = sourceAndDest[2] && sourceAndDest[2].trim().length >= 1 ? new RegExp(source, sourceAndDest[2].trim()) : new RegExp(source), string = string.replace(sourceRegxp, dest)
|
|
}
|
|
}
|
|
} catch (err) {}
|
|
return string.trim()
|
|
}
|
|
},
|
|
matchRegExpToString: {
|
|
fn: function(string, stringRegExp) {
|
|
if (!stringRegExp || !string || 0 === stringRegExp.length) return !1;
|
|
let isRegexMatched = !1;
|
|
try {
|
|
isRegexMatched = new RegExp(stringRegExp, "gi").test(string)
|
|
} catch (e) {
|
|
echo(`Error in honeyVimUtils/matchRegExpToString: ${e.message}`)
|
|
}
|
|
return isRegexMatched
|
|
}
|
|
},
|
|
prependSelectorFromVariable: {
|
|
fn: function(selector, prependSelectorVariable) {
|
|
if (!prependSelectorVariable || 0 === prependSelectorVariable.length || !selector) return selector;
|
|
if (0 === selector.indexOf("//")) {
|
|
let rawSelector = JSON.parse(JSON.stringify(selector));
|
|
const pieces = rawSelector.split("|");
|
|
for (let i = 0; i < pieces.length; i++) pieces[i] = `//*[contains(@class, '${prependSelectorVariable.replace(".","")}')]${pieces[i].trim()}`;
|
|
rawSelector = pieces.join(" | "), selector = rawSelector
|
|
} else {
|
|
const pieces = selector.split(",");
|
|
for (let i = 0; i < pieces.length; i++) pieces[i] = `.${prependSelectorVariable} ${pieces[i].trim()}`;
|
|
selector = pieces.join(", ")
|
|
}
|
|
return selector
|
|
}
|
|
},
|
|
findMultipleCurrenciesInLargeString: {
|
|
fn: findMultipleCurrenciesInLargeString
|
|
},
|
|
findCurrencyInLargeString: {
|
|
fn: function(currencyFormat, value, ignoreMinusSigns, currencyMappings, currencyRegexps) {
|
|
const prices = findMultipleCurrenciesInLargeString(currencyFormat, value, 0, currencyMappings, currencyRegexps);
|
|
return prices ? prices[0] : parseFloat(value)
|
|
}
|
|
},
|
|
currencyFormatRegexp: {
|
|
fn: currencyFormatRegexp
|
|
},
|
|
parseCurrency: {
|
|
fn: function(value) {
|
|
const regex = new RegExp("[^0-9-.]", ["g"]);
|
|
return parseFloat(`${value}`.replace(/\((.*)\)/, "-$1").replace(regex, ""))
|
|
}
|
|
},
|
|
callSetter: {
|
|
fn: function(elem, propertyDescriptorKey, value) {
|
|
return elem instanceof _jquery.default && (elem = elem.get(0)), Object.getOwnPropertyDescriptor(Object.getPrototypeOf(elem), propertyDescriptorKey).set.call(elem, value)
|
|
},
|
|
browserOnly: !0
|
|
},
|
|
getCurrencyInfo: {
|
|
fn: function(key) {
|
|
return _currencies.default[key]
|
|
}
|
|
},
|
|
sanitizeHTML: {
|
|
fn: function(html, allowedTags, transformTags, sanitizations, skipHtmlPass) {
|
|
let sanitized = (0, _sanitizeHtml.default)(html, {
|
|
allowedTags,
|
|
transformTags
|
|
});
|
|
sanitized = sanitizations.reduce((agg, each) => agg.replace(each[0], each[1]), sanitized);
|
|
for (let i = 0; i < 10; i += 1) sanitized = sanitized.replace(/<p>\s*<\/p>\s*<p>\s*<\/p>/g, "<p></p>");
|
|
if (skipHtmlPass) return sanitized;
|
|
let cBody = null;
|
|
try {
|
|
cBody = _cheerio.default.load(sanitized), cBody("a, button").replaceWith(() => {
|
|
const text = cBody(this).text().trim();
|
|
let href = cBody(this).attr("href"),
|
|
newEl = `<span>${text}`;
|
|
return href && href.length > 0 && -1 === href.indexOf("javascript") && "#" !== href.trim() && "/" !== href.trim() && (href.indexOf("mailto:") > -1 ? (href = href.replace(/mailto:/gi, ""), href.trim() !== text && (newEl += ` [${href}]`)) : newEl += ` [${href}]`), newEl += "</span>", newEl
|
|
}), sanitized = JSON.parse(JSON.stringify(cBody.html()))
|
|
} catch (err) {
|
|
cBody = null
|
|
}
|
|
return JSON.parse(JSON.stringify(sanitized))
|
|
}
|
|
},
|
|
consoleToUse
|
|
}
|
|
},
|
|
67434: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var getSideChannel = __webpack_require__(81362),
|
|
utils = __webpack_require__(62262),
|
|
formats = __webpack_require__(59279),
|
|
has = Object.prototype.hasOwnProperty,
|
|
arrayPrefixGenerators = {
|
|
brackets: function(prefix) {
|
|
return prefix + "[]"
|
|
},
|
|
comma: "comma",
|
|
indices: function(prefix, key) {
|
|
return prefix + "[" + key + "]"
|
|
},
|
|
repeat: function(prefix) {
|
|
return prefix
|
|
}
|
|
},
|
|
isArray = Array.isArray,
|
|
push = Array.prototype.push,
|
|
pushToArray = function(arr, valueOrArray) {
|
|
push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray])
|
|
},
|
|
toISO = Date.prototype.toISOString,
|
|
defaultFormat = formats.default,
|
|
defaults = {
|
|
addQueryPrefix: !1,
|
|
allowDots: !1,
|
|
allowEmptyArrays: !1,
|
|
arrayFormat: "indices",
|
|
charset: "utf-8",
|
|
charsetSentinel: !1,
|
|
commaRoundTrip: !1,
|
|
delimiter: "&",
|
|
encode: !0,
|
|
encodeDotInKeys: !1,
|
|
encoder: utils.encode,
|
|
encodeValuesOnly: !1,
|
|
filter: void 0,
|
|
format: defaultFormat,
|
|
formatter: formats.formatters[defaultFormat],
|
|
indices: !1,
|
|
serializeDate: function(date) {
|
|
return toISO.call(date)
|
|
},
|
|
skipNulls: !1,
|
|
strictNullHandling: !1
|
|
},
|
|
sentinel = {},
|
|
stringify = function stringify(object, prefix, generateArrayPrefix, commaRoundTrip, allowEmptyArrays, strictNullHandling, skipNulls, encodeDotInKeys, encoder, filter, sort, allowDots, serializeDate, format, formatter, encodeValuesOnly, charset, sideChannel) {
|
|
for (var v, obj = object, tmpSc = sideChannel, step = 0, findFlag = !1; void 0 !== (tmpSc = tmpSc.get(sentinel)) && !findFlag;) {
|
|
var pos = tmpSc.get(object);
|
|
if (step += 1, void 0 !== pos) {
|
|
if (pos === step) throw new RangeError("Cyclic object value");
|
|
findFlag = !0
|
|
}
|
|
void 0 === tmpSc.get(sentinel) && (step = 0)
|
|
}
|
|
if ("function" == typeof filter ? obj = filter(prefix, obj) : obj instanceof Date ? obj = serializeDate(obj) : "comma" === generateArrayPrefix && isArray(obj) && (obj = utils.maybeMap(obj, function(value) {
|
|
return value instanceof Date ? serializeDate(value) : value
|
|
})), null === obj) {
|
|
if (strictNullHandling) return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, "key", format) : prefix;
|
|
obj = ""
|
|
}
|
|
if ("string" == typeof(v = obj) || "number" == typeof v || "boolean" == typeof v || "symbol" == typeof v || "bigint" == typeof v || utils.isBuffer(obj)) return encoder ? [formatter(encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, "key", format)) + "=" + formatter(encoder(obj, defaults.encoder, charset, "value", format))] : [formatter(prefix) + "=" + formatter(String(obj))];
|
|
var objKeys, values = [];
|
|
if (void 0 === obj) return values;
|
|
if ("comma" === generateArrayPrefix && isArray(obj)) encodeValuesOnly && encoder && (obj = utils.maybeMap(obj, encoder)), objKeys = [{
|
|
value: obj.length > 0 ? obj.join(",") || null : void 0
|
|
}];
|
|
else if (isArray(filter)) objKeys = filter;
|
|
else {
|
|
var keys = Object.keys(obj);
|
|
objKeys = sort ? keys.sort(sort) : keys
|
|
}
|
|
var encodedPrefix = encodeDotInKeys ? String(prefix).replace(/\./g, "%2E") : String(prefix),
|
|
adjustedPrefix = commaRoundTrip && isArray(obj) && 1 === obj.length ? encodedPrefix + "[]" : encodedPrefix;
|
|
if (allowEmptyArrays && isArray(obj) && 0 === obj.length) return adjustedPrefix + "[]";
|
|
for (var j = 0; j < objKeys.length; ++j) {
|
|
var key = objKeys[j],
|
|
value = "object" == typeof key && key && void 0 !== key.value ? key.value : obj[key];
|
|
if (!skipNulls || null !== value) {
|
|
var encodedKey = allowDots && encodeDotInKeys ? String(key).replace(/\./g, "%2E") : String(key),
|
|
keyPrefix = isArray(obj) ? "function" == typeof generateArrayPrefix ? generateArrayPrefix(adjustedPrefix, encodedKey) : adjustedPrefix : adjustedPrefix + (allowDots ? "." + encodedKey : "[" + encodedKey + "]");
|
|
sideChannel.set(object, step);
|
|
var valueSideChannel = getSideChannel();
|
|
valueSideChannel.set(sentinel, sideChannel), pushToArray(values, stringify(value, keyPrefix, generateArrayPrefix, commaRoundTrip, allowEmptyArrays, strictNullHandling, skipNulls, encodeDotInKeys, "comma" === generateArrayPrefix && encodeValuesOnly && isArray(obj) ? null : encoder, filter, sort, allowDots, serializeDate, format, formatter, encodeValuesOnly, charset, valueSideChannel))
|
|
}
|
|
}
|
|
return values
|
|
};
|
|
module.exports = function(object, opts) {
|
|
var objKeys, obj = object,
|
|
options = function(opts) {
|
|
if (!opts) return defaults;
|
|
if (void 0 !== opts.allowEmptyArrays && "boolean" != typeof opts.allowEmptyArrays) throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");
|
|
if (void 0 !== opts.encodeDotInKeys && "boolean" != typeof opts.encodeDotInKeys) throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");
|
|
if (null !== opts.encoder && void 0 !== opts.encoder && "function" != typeof opts.encoder) throw new TypeError("Encoder has to be a function.");
|
|
var charset = opts.charset || defaults.charset;
|
|
if (void 0 !== opts.charset && "utf-8" !== opts.charset && "iso-8859-1" !== opts.charset) throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");
|
|
var format = formats.default;
|
|
if (void 0 !== opts.format) {
|
|
if (!has.call(formats.formatters, opts.format)) throw new TypeError("Unknown format option provided.");
|
|
format = opts.format
|
|
}
|
|
var arrayFormat, formatter = formats.formatters[format],
|
|
filter = defaults.filter;
|
|
if (("function" == typeof opts.filter || isArray(opts.filter)) && (filter = opts.filter), arrayFormat = opts.arrayFormat in arrayPrefixGenerators ? opts.arrayFormat : "indices" in opts ? opts.indices ? "indices" : "repeat" : defaults.arrayFormat, "commaRoundTrip" in opts && "boolean" != typeof opts.commaRoundTrip) throw new TypeError("`commaRoundTrip` must be a boolean, or absent");
|
|
var allowDots = void 0 === opts.allowDots ? !0 === opts.encodeDotInKeys || defaults.allowDots : !!opts.allowDots;
|
|
return {
|
|
addQueryPrefix: "boolean" == typeof opts.addQueryPrefix ? opts.addQueryPrefix : defaults.addQueryPrefix,
|
|
allowDots,
|
|
allowEmptyArrays: "boolean" == typeof opts.allowEmptyArrays ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays,
|
|
arrayFormat,
|
|
charset,
|
|
charsetSentinel: "boolean" == typeof opts.charsetSentinel ? opts.charsetSentinel : defaults.charsetSentinel,
|
|
commaRoundTrip: !!opts.commaRoundTrip,
|
|
delimiter: void 0 === opts.delimiter ? defaults.delimiter : opts.delimiter,
|
|
encode: "boolean" == typeof opts.encode ? opts.encode : defaults.encode,
|
|
encodeDotInKeys: "boolean" == typeof opts.encodeDotInKeys ? opts.encodeDotInKeys : defaults.encodeDotInKeys,
|
|
encoder: "function" == typeof opts.encoder ? opts.encoder : defaults.encoder,
|
|
encodeValuesOnly: "boolean" == typeof opts.encodeValuesOnly ? opts.encodeValuesOnly : defaults.encodeValuesOnly,
|
|
filter,
|
|
format,
|
|
formatter,
|
|
serializeDate: "function" == typeof opts.serializeDate ? opts.serializeDate : defaults.serializeDate,
|
|
skipNulls: "boolean" == typeof opts.skipNulls ? opts.skipNulls : defaults.skipNulls,
|
|
sort: "function" == typeof opts.sort ? opts.sort : null,
|
|
strictNullHandling: "boolean" == typeof opts.strictNullHandling ? opts.strictNullHandling : defaults.strictNullHandling
|
|
}
|
|
}(opts);
|
|
"function" == typeof options.filter ? obj = (0, options.filter)("", obj) : isArray(options.filter) && (objKeys = options.filter);
|
|
var keys = [];
|
|
if ("object" != typeof obj || null === obj) return "";
|
|
var generateArrayPrefix = arrayPrefixGenerators[options.arrayFormat],
|
|
commaRoundTrip = "comma" === generateArrayPrefix && options.commaRoundTrip;
|
|
objKeys || (objKeys = Object.keys(obj)), options.sort && objKeys.sort(options.sort);
|
|
for (var sideChannel = getSideChannel(), i = 0; i < objKeys.length; ++i) {
|
|
var key = objKeys[i],
|
|
value = obj[key];
|
|
options.skipNulls && null === value || pushToArray(keys, stringify(value, key, generateArrayPrefix, commaRoundTrip, options.allowEmptyArrays, options.strictNullHandling, options.skipNulls, options.encodeDotInKeys, options.encode ? options.encoder : null, options.filter, options.sort, options.allowDots, options.serializeDate, options.format, options.formatter, options.encodeValuesOnly, options.charset, sideChannel))
|
|
}
|
|
var joined = keys.join(options.delimiter),
|
|
prefix = !0 === options.addQueryPrefix ? "?" : "";
|
|
return options.charsetSentinel && ("iso-8859-1" === options.charset ? prefix += "utf8=%26%2310003%3B&" : prefix += "utf8=%E2%9C%93&"), joined.length > 0 ? prefix + joined : ""
|
|
}
|
|
},
|
|
67624: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function(instance, scope) {
|
|
instance.timeoutStore = [], instance.setProperty(scope, "setKillTimeout", instance.createNativeFunction(pseudoTime => {
|
|
const nativeTime = instance.pseudoToNative(pseudoTime),
|
|
killTime = Date.now() + nativeTime,
|
|
newLength = instance.timeoutStore.push(killTime);
|
|
return instance.nativeToPseudo(newLength - 1)
|
|
}), _Instance.default.READONLY_DESCRIPTOR), instance.setProperty(scope, "clearKillTimeout", instance.createNativeFunction(pseudoIdx => {
|
|
const nativeIdx = instance.pseudoToNative(pseudoIdx);
|
|
return instance.timeoutStore[nativeIdx] = null, instance.nativeToPseudo(void 0)
|
|
}), _Instance.default.READONLY_DESCRIPTOR)
|
|
};
|
|
var _Instance = _interopRequireDefault(__webpack_require__(76352));
|
|
module.exports = exports.default
|
|
},
|
|
67638: function(__unused_webpack_module, exports, __webpack_require__) {
|
|
"use strict";
|
|
var __importDefault = this && this.__importDefault || function(mod) {
|
|
return mod && mod.__esModule ? mod : {
|
|
default: mod
|
|
}
|
|
};
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.Parser = void 0;
|
|
var Tokenizer_1 = __importDefault(__webpack_require__(97100)),
|
|
formTags = new Set(["input", "option", "optgroup", "select", "button", "datalist", "textarea"]),
|
|
pTag = new Set(["p"]),
|
|
openImpliesClose = {
|
|
tr: new Set(["tr", "th", "td"]),
|
|
th: new Set(["th"]),
|
|
td: new Set(["thead", "th", "td"]),
|
|
body: new Set(["head", "link", "script"]),
|
|
li: new Set(["li"]),
|
|
p: pTag,
|
|
h1: pTag,
|
|
h2: pTag,
|
|
h3: pTag,
|
|
h4: pTag,
|
|
h5: pTag,
|
|
h6: pTag,
|
|
select: formTags,
|
|
input: formTags,
|
|
output: formTags,
|
|
button: formTags,
|
|
datalist: formTags,
|
|
textarea: formTags,
|
|
option: new Set(["option"]),
|
|
optgroup: new Set(["optgroup", "option"]),
|
|
dd: new Set(["dt", "dd"]),
|
|
dt: new Set(["dt", "dd"]),
|
|
address: pTag,
|
|
article: pTag,
|
|
aside: pTag,
|
|
blockquote: pTag,
|
|
details: pTag,
|
|
div: pTag,
|
|
dl: pTag,
|
|
fieldset: pTag,
|
|
figcaption: pTag,
|
|
figure: pTag,
|
|
footer: pTag,
|
|
form: pTag,
|
|
header: pTag,
|
|
hr: pTag,
|
|
main: pTag,
|
|
nav: pTag,
|
|
ol: pTag,
|
|
pre: pTag,
|
|
section: pTag,
|
|
table: pTag,
|
|
ul: pTag,
|
|
rt: new Set(["rt", "rp"]),
|
|
rp: new Set(["rt", "rp"]),
|
|
tbody: new Set(["thead", "tbody"]),
|
|
tfoot: new Set(["thead", "tbody"])
|
|
},
|
|
voidElements = new Set(["area", "base", "basefont", "br", "col", "command", "embed", "frame", "hr", "img", "input", "isindex", "keygen", "link", "meta", "param", "source", "track", "wbr"]),
|
|
foreignContextElements = new Set(["math", "svg"]),
|
|
htmlIntegrationElements = new Set(["mi", "mo", "mn", "ms", "mtext", "annotation-xml", "foreignObject", "desc", "title"]),
|
|
reNameEnd = /\s|\//,
|
|
Parser = function() {
|
|
function Parser(cbs, options) {
|
|
var _a, _b, _c, _d, _e;
|
|
void 0 === options && (options = {}), this.startIndex = 0, this.endIndex = null, this.tagname = "", this.attribname = "", this.attribvalue = "", this.attribs = null, this.stack = [], this.foreignContext = [], this.options = options, this.cbs = null != cbs ? cbs : {}, this.lowerCaseTagNames = null !== (_a = options.lowerCaseTags) && void 0 !== _a ? _a : !options.xmlMode, this.lowerCaseAttributeNames = null !== (_b = options.lowerCaseAttributeNames) && void 0 !== _b ? _b : !options.xmlMode, this.tokenizer = new(null !== (_c = options.Tokenizer) && void 0 !== _c ? _c : Tokenizer_1.default)(this.options, this), null === (_e = (_d = this.cbs).onparserinit) || void 0 === _e || _e.call(_d, this)
|
|
}
|
|
return Parser.prototype.updatePosition = function(initialOffset) {
|
|
null === this.endIndex ? this.tokenizer.sectionStart <= initialOffset ? this.startIndex = 0 : this.startIndex = this.tokenizer.sectionStart - initialOffset : this.startIndex = this.endIndex + 1, this.endIndex = this.tokenizer.getAbsoluteIndex()
|
|
}, Parser.prototype.ontext = function(data) {
|
|
var _a, _b;
|
|
this.updatePosition(1), this.endIndex--, null === (_b = (_a = this.cbs).ontext) || void 0 === _b || _b.call(_a, data)
|
|
}, Parser.prototype.onopentagname = function(name) {
|
|
var _a, _b;
|
|
if (this.lowerCaseTagNames && (name = name.toLowerCase()), this.tagname = name, !this.options.xmlMode && Object.prototype.hasOwnProperty.call(openImpliesClose, name))
|
|
for (var el = void 0; this.stack.length > 0 && openImpliesClose[name].has(el = this.stack[this.stack.length - 1]);) this.onclosetag(el);
|
|
!this.options.xmlMode && voidElements.has(name) || (this.stack.push(name), foreignContextElements.has(name) ? this.foreignContext.push(!0) : htmlIntegrationElements.has(name) && this.foreignContext.push(!1)), null === (_b = (_a = this.cbs).onopentagname) || void 0 === _b || _b.call(_a, name), this.cbs.onopentag && (this.attribs = {})
|
|
}, Parser.prototype.onopentagend = function() {
|
|
var _a, _b;
|
|
this.updatePosition(1), this.attribs && (null === (_b = (_a = this.cbs).onopentag) || void 0 === _b || _b.call(_a, this.tagname, this.attribs), this.attribs = null), !this.options.xmlMode && this.cbs.onclosetag && voidElements.has(this.tagname) && this.cbs.onclosetag(this.tagname), this.tagname = ""
|
|
}, Parser.prototype.onclosetag = function(name) {
|
|
if (this.updatePosition(1), this.lowerCaseTagNames && (name = name.toLowerCase()), (foreignContextElements.has(name) || htmlIntegrationElements.has(name)) && this.foreignContext.pop(), !this.stack.length || !this.options.xmlMode && voidElements.has(name)) this.options.xmlMode || "br" !== name && "p" !== name || (this.onopentagname(name), this.closeCurrentTag());
|
|
else {
|
|
var pos = this.stack.lastIndexOf(name);
|
|
if (-1 !== pos)
|
|
if (this.cbs.onclosetag)
|
|
for (pos = this.stack.length - pos; pos--;) this.cbs.onclosetag(this.stack.pop());
|
|
else this.stack.length = pos;
|
|
else "p" !== name || this.options.xmlMode || (this.onopentagname(name), this.closeCurrentTag())
|
|
}
|
|
}, Parser.prototype.onselfclosingtag = function() {
|
|
this.options.xmlMode || this.options.recognizeSelfClosing || this.foreignContext[this.foreignContext.length - 1] ? this.closeCurrentTag() : this.onopentagend()
|
|
}, Parser.prototype.closeCurrentTag = function() {
|
|
var _a, _b, name = this.tagname;
|
|
this.onopentagend(), this.stack[this.stack.length - 1] === name && (null === (_b = (_a = this.cbs).onclosetag) || void 0 === _b || _b.call(_a, name), this.stack.pop())
|
|
}, Parser.prototype.onattribname = function(name) {
|
|
this.lowerCaseAttributeNames && (name = name.toLowerCase()), this.attribname = name
|
|
}, Parser.prototype.onattribdata = function(value) {
|
|
this.attribvalue += value
|
|
}, Parser.prototype.onattribend = function(quote) {
|
|
var _a, _b;
|
|
null === (_b = (_a = this.cbs).onattribute) || void 0 === _b || _b.call(_a, this.attribname, this.attribvalue, quote), this.attribs && !Object.prototype.hasOwnProperty.call(this.attribs, this.attribname) && (this.attribs[this.attribname] = this.attribvalue), this.attribname = "", this.attribvalue = ""
|
|
}, Parser.prototype.getInstructionName = function(value) {
|
|
var idx = value.search(reNameEnd),
|
|
name = idx < 0 ? value : value.substr(0, idx);
|
|
return this.lowerCaseTagNames && (name = name.toLowerCase()), name
|
|
}, Parser.prototype.ondeclaration = function(value) {
|
|
if (this.cbs.onprocessinginstruction) {
|
|
var name_1 = this.getInstructionName(value);
|
|
this.cbs.onprocessinginstruction("!" + name_1, "!" + value)
|
|
}
|
|
}, Parser.prototype.onprocessinginstruction = function(value) {
|
|
if (this.cbs.onprocessinginstruction) {
|
|
var name_2 = this.getInstructionName(value);
|
|
this.cbs.onprocessinginstruction("?" + name_2, "?" + value)
|
|
}
|
|
}, Parser.prototype.oncomment = function(value) {
|
|
var _a, _b, _c, _d;
|
|
this.updatePosition(4), null === (_b = (_a = this.cbs).oncomment) || void 0 === _b || _b.call(_a, value), null === (_d = (_c = this.cbs).oncommentend) || void 0 === _d || _d.call(_c)
|
|
}, Parser.prototype.oncdata = function(value) {
|
|
var _a, _b, _c, _d, _e, _f;
|
|
this.updatePosition(1), this.options.xmlMode || this.options.recognizeCDATA ? (null === (_b = (_a = this.cbs).oncdatastart) || void 0 === _b || _b.call(_a), null === (_d = (_c = this.cbs).ontext) || void 0 === _d || _d.call(_c, value), null === (_f = (_e = this.cbs).oncdataend) || void 0 === _f || _f.call(_e)) : this.oncomment("[CDATA[" + value + "]]")
|
|
}, Parser.prototype.onerror = function(err) {
|
|
var _a, _b;
|
|
null === (_b = (_a = this.cbs).onerror) || void 0 === _b || _b.call(_a, err)
|
|
}, Parser.prototype.onend = function() {
|
|
var _a, _b;
|
|
if (this.cbs.onclosetag)
|
|
for (var i = this.stack.length; i > 0; this.cbs.onclosetag(this.stack[--i]));
|
|
null === (_b = (_a = this.cbs).onend) || void 0 === _b || _b.call(_a)
|
|
}, Parser.prototype.reset = function() {
|
|
var _a, _b, _c, _d;
|
|
null === (_b = (_a = this.cbs).onreset) || void 0 === _b || _b.call(_a), this.tokenizer.reset(), this.tagname = "", this.attribname = "", this.attribs = null, this.stack = [], null === (_d = (_c = this.cbs).onparserinit) || void 0 === _d || _d.call(_c, this)
|
|
}, Parser.prototype.parseComplete = function(data) {
|
|
this.reset(), this.end(data)
|
|
}, Parser.prototype.write = function(chunk) {
|
|
this.tokenizer.write(chunk)
|
|
}, Parser.prototype.end = function(chunk) {
|
|
this.tokenizer.end(chunk)
|
|
}, Parser.prototype.pause = function() {
|
|
this.tokenizer.pause()
|
|
}, Parser.prototype.resume = function() {
|
|
this.tokenizer.resume()
|
|
}, Parser.prototype.parseChunk = function(chunk) {
|
|
this.write(chunk)
|
|
}, Parser.prototype.done = function(chunk) {
|
|
this.end(chunk)
|
|
}, Parser
|
|
}();
|
|
exports.Parser = Parser
|
|
},
|
|
67772: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var isFunction = __webpack_require__(41748),
|
|
isLength = __webpack_require__(62588);
|
|
module.exports = function(value) {
|
|
return null != value && isLength(value.length) && !isFunction(value)
|
|
}
|
|
},
|
|
68023: function(module, exports, __webpack_require__) {
|
|
var C, CipherParams, Hex, CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), __webpack_require__(74047), CipherParams = (C = CryptoJS).lib.CipherParams, Hex = C.enc.Hex, C.format.Hex = {
|
|
stringify: function(cipherParams) {
|
|
return cipherParams.ciphertext.toString(Hex)
|
|
},
|
|
parse: function(input) {
|
|
var ciphertext = Hex.parse(input);
|
|
return CipherParams.create({
|
|
ciphertext
|
|
})
|
|
}
|
|
}, CryptoJS.format.Hex)
|
|
},
|
|
68177: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var upperCase = __webpack_require__(96817),
|
|
lowerCase = __webpack_require__(11895);
|
|
module.exports = function(str, locale) {
|
|
if (null == str) return "";
|
|
for (var result = "", i = 0; i < str.length; i++) {
|
|
var c = str[i],
|
|
u = upperCase(c, locale);
|
|
result += u === c ? lowerCase(c, locale) : u
|
|
}
|
|
return result
|
|
}
|
|
},
|
|
68236: module => {
|
|
"use strict";
|
|
module.exports = {
|
|
CharacterClass: function(path) {
|
|
for (var node = path.node, sources = {}, i = 0; i < node.expressions.length; i++) {
|
|
var childPath = path.getChild(i),
|
|
source = childPath.jsonEncode();
|
|
sources.hasOwnProperty(source) && (childPath.remove(), i--), sources[source] = !0
|
|
}
|
|
}
|
|
}
|
|
},
|
|
68359: module => {
|
|
"use strict";
|
|
module.exports = JSON.parse('{"name":"FSPromoBox","groups":["FIND_SAVINGS"],"isRequired":true,"preconditions":[{"method":"usePreApply","options":{}}],"scoreThreshold":50,"tests":[{"method":"testIfAncestorAttrsContain","options":{"tags":"input","expected":"coupon|discount|promo","generations":"4","matchWeight":"10","unMatchWeight":"1"}},{"method":"testIfLabelContains","options":{"tags":"input","expected":"(discount|offer|enter|voucher)(promo)?code","matchWeight":"10","unMatchWeight":"1"}},{"method":"testIfLabelContains","options":{"tags":"input","expected":"aboutus|address|city|delivery|email|firstname|fullname|lastname|postcode|zip","matchWeight":"0","unMatchWeight":"1"}},{"method":"testIfAncestorAttrsContain","options":{"expected":"acquisition|email|search","generations":"3","matchWeight":"0","unMatchWeight":"1"}},{"method":"testIfAncestorAttrsContain","options":{"expected":"(mobile|sms)-signup|quick-register","generations":"1","matchWeight":"0","unMatchWeight":"1"},"_comment":"esteelauder"},{"method":"testIfInnerTextContainsLength","options":{"tags":"div","expected":"usecodeatcheckout","matchWeight":"0","unMatchWeight":"1"},"_comment":"contacts-direct"}],"shape":[{"value":"^(a|article|aside|button|form|i|iframe|h1|h2|h3|h4|h5|h6|img|label|li|link|p|radio|script|span|style|symbol|svg)$","weight":0,"scope":"tag"},{"value":"^(button|checkbox|hidden|file|radio)$","weight":0,"scope":"type"},{"value":"promocode","weight":25,"scope":"placeholder"},{"value":"coupon|voucher","weight":10,"scope":"id"},{"value":"input__1vl-v","weight":10,"scope":"class","__comment":"JCrew doesnt give a good way to grab this, need a way to horizontally reference siblings contents"},{"value":"coupon","weight":10,"scope":"aria-label"},{"value":"catalogcode","weight":10,"scope":"aria-label"},{"value":"giftcardorpromo","weight":10,"scope":"placeholder","_comment":"offset gift card unweight\'"},{"value":"promo.*giftcart","weight":10,"scope":"placeholder","_comment":"offset gift card unweight\'"},{"value":"^input$","weight":8,"scope":"tag"},{"value":"text","weight":8,"scope":"type"},{"value":"nus_number","weight":5,"scope":"id","_comment":"missguided"},{"value":"submit","weight":5,"scope":"type"},{"value":"enter","weight":5,"scope":"placeholder"},{"value":"mail|search","weight":1,"scope":"type","_comment":"matching on email type is OK"},{"value":"form","weight":0.5,"scope":"class"},{"value":"giftcard","weight":0.1,"scope":"placeholder"},{"value":"false","weight":0.1,"scope":"data-honey_is_visible"},{"value":"^q$","weight":0,"scope":"id"},{"value":"label","weight":0,"scope":"tag"},{"value":"combobox","weight":0,"scope":"role"},{"value":"city|company|firstname|lastname|mobile_number|pay|street","weight":0,"scope":"name"},{"value":"address|delivery|modelnumber|part(type|number)|purchasecode|your(email|name)","weight":0,"scope":"placeholder"},{"value":"readonly","weight":0,"scope":"readonly"},{"value":"code|coupon|discount|reduction","weight":4},{"value":"promo|voucher","weight":2},{"value":"captcha|creditcard|delivery|itemcode|phone|postal|qty|quantity|tracernumber|zip","weight":0}]}')
|
|
},
|
|
68617: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var base64 = __webpack_require__(98664),
|
|
ieee754 = __webpack_require__(56021),
|
|
customInspectSymbol = "function" == typeof Symbol && "function" == typeof Symbol.for ? Symbol.for("nodejs.util.inspect.custom") : null;
|
|
/*!
|
|
* The buffer module from node.js, for the browser.
|
|
*
|
|
* @author Feross Aboukhadijeh <https://feross.org>
|
|
* @license MIT
|
|
*/
|
|
exports.hp = Buffer, exports.IS = 50;
|
|
var K_MAX_LENGTH = 2147483647;
|
|
|
|
function createBuffer(length) {
|
|
if (length > K_MAX_LENGTH) throw new RangeError('The value "' + length + '" is invalid for option "size"');
|
|
var buf = new Uint8Array(length);
|
|
return Object.setPrototypeOf(buf, Buffer.prototype), buf
|
|
}
|
|
|
|
function Buffer(arg, encodingOrOffset, length) {
|
|
if ("number" == typeof arg) {
|
|
if ("string" == typeof encodingOrOffset) throw new TypeError('The "string" argument must be of type string. Received type number');
|
|
return allocUnsafe(arg)
|
|
}
|
|
return from(arg, encodingOrOffset, length)
|
|
}
|
|
|
|
function from(value, encodingOrOffset, length) {
|
|
if ("string" == typeof value) return function(string, encoding) {
|
|
"string" == typeof encoding && "" !== encoding || (encoding = "utf8");
|
|
if (!Buffer.isEncoding(encoding)) throw new TypeError("Unknown encoding: " + encoding);
|
|
var length = 0 | byteLength(string, encoding),
|
|
buf = createBuffer(length),
|
|
actual = buf.write(string, encoding);
|
|
actual !== length && (buf = buf.slice(0, actual));
|
|
return buf
|
|
}(value, encodingOrOffset);
|
|
if (ArrayBuffer.isView(value)) return function(arrayView) {
|
|
if (isInstance(arrayView, Uint8Array)) {
|
|
var copy = new Uint8Array(arrayView);
|
|
return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)
|
|
}
|
|
return fromArrayLike(arrayView)
|
|
}(value);
|
|
if (null == value) throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value);
|
|
if (isInstance(value, ArrayBuffer) || value && isInstance(value.buffer, ArrayBuffer)) return fromArrayBuffer(value, encodingOrOffset, length);
|
|
if ("undefined" != typeof SharedArrayBuffer && (isInstance(value, SharedArrayBuffer) || value && isInstance(value.buffer, SharedArrayBuffer))) return fromArrayBuffer(value, encodingOrOffset, length);
|
|
if ("number" == typeof value) throw new TypeError('The "value" argument must not be of type number. Received type number');
|
|
var valueOf = value.valueOf && value.valueOf();
|
|
if (null != valueOf && valueOf !== value) return Buffer.from(valueOf, encodingOrOffset, length);
|
|
var b = function(obj) {
|
|
if (Buffer.isBuffer(obj)) {
|
|
var len = 0 | checked(obj.length),
|
|
buf = createBuffer(len);
|
|
return 0 === buf.length || obj.copy(buf, 0, 0, len), buf
|
|
}
|
|
if (void 0 !== obj.length) return "number" != typeof obj.length || numberIsNaN(obj.length) ? createBuffer(0) : fromArrayLike(obj);
|
|
if ("Buffer" === obj.type && Array.isArray(obj.data)) return fromArrayLike(obj.data)
|
|
}(value);
|
|
if (b) return b;
|
|
if ("undefined" != typeof Symbol && null != Symbol.toPrimitive && "function" == typeof value[Symbol.toPrimitive]) return Buffer.from(value[Symbol.toPrimitive]("string"), encodingOrOffset, length);
|
|
throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value)
|
|
}
|
|
|
|
function assertSize(size) {
|
|
if ("number" != typeof size) throw new TypeError('"size" argument must be of type number');
|
|
if (size < 0) throw new RangeError('The value "' + size + '" is invalid for option "size"')
|
|
}
|
|
|
|
function allocUnsafe(size) {
|
|
return assertSize(size), createBuffer(size < 0 ? 0 : 0 | checked(size))
|
|
}
|
|
|
|
function fromArrayLike(array) {
|
|
for (var length = array.length < 0 ? 0 : 0 | checked(array.length), buf = createBuffer(length), i = 0; i < length; i += 1) buf[i] = 255 & array[i];
|
|
return buf
|
|
}
|
|
|
|
function fromArrayBuffer(array, byteOffset, length) {
|
|
if (byteOffset < 0 || array.byteLength < byteOffset) throw new RangeError('"offset" is outside of buffer bounds');
|
|
if (array.byteLength < byteOffset + (length || 0)) throw new RangeError('"length" is outside of buffer bounds');
|
|
var buf;
|
|
return buf = void 0 === byteOffset && void 0 === length ? new Uint8Array(array) : void 0 === length ? new Uint8Array(array, byteOffset) : new Uint8Array(array, byteOffset, length), Object.setPrototypeOf(buf, Buffer.prototype), buf
|
|
}
|
|
|
|
function checked(length) {
|
|
if (length >= K_MAX_LENGTH) throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + K_MAX_LENGTH.toString(16) + " bytes");
|
|
return 0 | length
|
|
}
|
|
|
|
function byteLength(string, encoding) {
|
|
if (Buffer.isBuffer(string)) return string.length;
|
|
if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) return string.byteLength;
|
|
if ("string" != typeof string) throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + typeof string);
|
|
var len = string.length,
|
|
mustMatch = arguments.length > 2 && !0 === arguments[2];
|
|
if (!mustMatch && 0 === len) return 0;
|
|
for (var loweredCase = !1;;) switch (encoding) {
|
|
case "ascii":
|
|
case "latin1":
|
|
case "binary":
|
|
return len;
|
|
case "utf8":
|
|
case "utf-8":
|
|
return utf8ToBytes(string).length;
|
|
case "ucs2":
|
|
case "ucs-2":
|
|
case "utf16le":
|
|
case "utf-16le":
|
|
return 2 * len;
|
|
case "hex":
|
|
return len >>> 1;
|
|
case "base64":
|
|
return base64ToBytes(string).length;
|
|
default:
|
|
if (loweredCase) return mustMatch ? -1 : utf8ToBytes(string).length;
|
|
encoding = ("" + encoding).toLowerCase(), loweredCase = !0
|
|
}
|
|
}
|
|
|
|
function slowToString(encoding, start, end) {
|
|
var loweredCase = !1;
|
|
if ((void 0 === start || start < 0) && (start = 0), start > this.length) return "";
|
|
if ((void 0 === end || end > this.length) && (end = this.length), end <= 0) return "";
|
|
if ((end >>>= 0) <= (start >>>= 0)) return "";
|
|
for (encoding || (encoding = "utf8");;) switch (encoding) {
|
|
case "hex":
|
|
return hexSlice(this, start, end);
|
|
case "utf8":
|
|
case "utf-8":
|
|
return utf8Slice(this, start, end);
|
|
case "ascii":
|
|
return asciiSlice(this, start, end);
|
|
case "latin1":
|
|
case "binary":
|
|
return latin1Slice(this, start, end);
|
|
case "base64":
|
|
return base64Slice(this, start, end);
|
|
case "ucs2":
|
|
case "ucs-2":
|
|
case "utf16le":
|
|
case "utf-16le":
|
|
return utf16leSlice(this, start, end);
|
|
default:
|
|
if (loweredCase) throw new TypeError("Unknown encoding: " + encoding);
|
|
encoding = (encoding + "").toLowerCase(), loweredCase = !0
|
|
}
|
|
}
|
|
|
|
function swap(b, n, m) {
|
|
var i = b[n];
|
|
b[n] = b[m], b[m] = i
|
|
}
|
|
|
|
function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {
|
|
if (0 === buffer.length) return -1;
|
|
if ("string" == typeof byteOffset ? (encoding = byteOffset, byteOffset = 0) : byteOffset > 2147483647 ? byteOffset = 2147483647 : byteOffset < -2147483648 && (byteOffset = -2147483648), numberIsNaN(byteOffset = +byteOffset) && (byteOffset = dir ? 0 : buffer.length - 1), byteOffset < 0 && (byteOffset = buffer.length + byteOffset), byteOffset >= buffer.length) {
|
|
if (dir) return -1;
|
|
byteOffset = buffer.length - 1
|
|
} else if (byteOffset < 0) {
|
|
if (!dir) return -1;
|
|
byteOffset = 0
|
|
}
|
|
if ("string" == typeof val && (val = Buffer.from(val, encoding)), Buffer.isBuffer(val)) return 0 === val.length ? -1 : arrayIndexOf(buffer, val, byteOffset, encoding, dir);
|
|
if ("number" == typeof val) return val &= 255, "function" == typeof Uint8Array.prototype.indexOf ? dir ? Uint8Array.prototype.indexOf.call(buffer, val, byteOffset) : Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset) : arrayIndexOf(buffer, [val], byteOffset, encoding, dir);
|
|
throw new TypeError("val must be string, number or Buffer")
|
|
}
|
|
|
|
function arrayIndexOf(arr, val, byteOffset, encoding, dir) {
|
|
var i, indexSize = 1,
|
|
arrLength = arr.length,
|
|
valLength = val.length;
|
|
if (void 0 !== encoding && ("ucs2" === (encoding = String(encoding).toLowerCase()) || "ucs-2" === encoding || "utf16le" === encoding || "utf-16le" === encoding)) {
|
|
if (arr.length < 2 || val.length < 2) return -1;
|
|
indexSize = 2, arrLength /= 2, valLength /= 2, byteOffset /= 2
|
|
}
|
|
|
|
function read(buf, i) {
|
|
return 1 === indexSize ? buf[i] : buf.readUInt16BE(i * indexSize)
|
|
}
|
|
if (dir) {
|
|
var foundIndex = -1;
|
|
for (i = byteOffset; i < arrLength; i++)
|
|
if (read(arr, i) === read(val, -1 === foundIndex ? 0 : i - foundIndex)) {
|
|
if (-1 === foundIndex && (foundIndex = i), i - foundIndex + 1 === valLength) return foundIndex * indexSize
|
|
} else - 1 !== foundIndex && (i -= i - foundIndex), foundIndex = -1
|
|
} else
|
|
for (byteOffset + valLength > arrLength && (byteOffset = arrLength - valLength), i = byteOffset; i >= 0; i--) {
|
|
for (var found = !0, j = 0; j < valLength; j++)
|
|
if (read(arr, i + j) !== read(val, j)) {
|
|
found = !1;
|
|
break
|
|
} if (found) return i
|
|
}
|
|
return -1
|
|
}
|
|
|
|
function hexWrite(buf, string, offset, length) {
|
|
offset = Number(offset) || 0;
|
|
var remaining = buf.length - offset;
|
|
length ? (length = Number(length)) > remaining && (length = remaining) : length = remaining;
|
|
var strLen = string.length;
|
|
length > strLen / 2 && (length = strLen / 2);
|
|
for (var i = 0; i < length; ++i) {
|
|
var parsed = parseInt(string.substr(2 * i, 2), 16);
|
|
if (numberIsNaN(parsed)) return i;
|
|
buf[offset + i] = parsed
|
|
}
|
|
return i
|
|
}
|
|
|
|
function utf8Write(buf, string, offset, length) {
|
|
return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)
|
|
}
|
|
|
|
function asciiWrite(buf, string, offset, length) {
|
|
return blitBuffer(function(str) {
|
|
for (var byteArray = [], i = 0; i < str.length; ++i) byteArray.push(255 & str.charCodeAt(i));
|
|
return byteArray
|
|
}(string), buf, offset, length)
|
|
}
|
|
|
|
function base64Write(buf, string, offset, length) {
|
|
return blitBuffer(base64ToBytes(string), buf, offset, length)
|
|
}
|
|
|
|
function ucs2Write(buf, string, offset, length) {
|
|
return blitBuffer(function(str, units) {
|
|
for (var c, hi, lo, byteArray = [], i = 0; i < str.length && !((units -= 2) < 0); ++i) hi = (c = str.charCodeAt(i)) >> 8, lo = c % 256, byteArray.push(lo), byteArray.push(hi);
|
|
return byteArray
|
|
}(string, buf.length - offset), buf, offset, length)
|
|
}
|
|
|
|
function base64Slice(buf, start, end) {
|
|
return 0 === start && end === buf.length ? base64.fromByteArray(buf) : base64.fromByteArray(buf.slice(start, end))
|
|
}
|
|
|
|
function utf8Slice(buf, start, end) {
|
|
end = Math.min(buf.length, end);
|
|
for (var res = [], i = start; i < end;) {
|
|
var secondByte, thirdByte, fourthByte, tempCodePoint, firstByte = buf[i],
|
|
codePoint = null,
|
|
bytesPerSequence = firstByte > 239 ? 4 : firstByte > 223 ? 3 : firstByte > 191 ? 2 : 1;
|
|
if (i + bytesPerSequence <= end) switch (bytesPerSequence) {
|
|
case 1:
|
|
firstByte < 128 && (codePoint = firstByte);
|
|
break;
|
|
case 2:
|
|
128 == (192 & (secondByte = buf[i + 1])) && (tempCodePoint = (31 & firstByte) << 6 | 63 & secondByte) > 127 && (codePoint = tempCodePoint);
|
|
break;
|
|
case 3:
|
|
secondByte = buf[i + 1], thirdByte = buf[i + 2], 128 == (192 & secondByte) && 128 == (192 & thirdByte) && (tempCodePoint = (15 & firstByte) << 12 | (63 & secondByte) << 6 | 63 & thirdByte) > 2047 && (tempCodePoint < 55296 || tempCodePoint > 57343) && (codePoint = tempCodePoint);
|
|
break;
|
|
case 4:
|
|
secondByte = buf[i + 1], thirdByte = buf[i + 2], fourthByte = buf[i + 3], 128 == (192 & secondByte) && 128 == (192 & thirdByte) && 128 == (192 & fourthByte) && (tempCodePoint = (15 & firstByte) << 18 | (63 & secondByte) << 12 | (63 & thirdByte) << 6 | 63 & fourthByte) > 65535 && tempCodePoint < 1114112 && (codePoint = tempCodePoint)
|
|
}
|
|
null === codePoint ? (codePoint = 65533, bytesPerSequence = 1) : codePoint > 65535 && (codePoint -= 65536, res.push(codePoint >>> 10 & 1023 | 55296), codePoint = 56320 | 1023 & codePoint), res.push(codePoint), i += bytesPerSequence
|
|
}
|
|
return function(codePoints) {
|
|
var len = codePoints.length;
|
|
if (len <= MAX_ARGUMENTS_LENGTH) return String.fromCharCode.apply(String, codePoints);
|
|
var res = "",
|
|
i = 0;
|
|
for (; i < len;) res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH));
|
|
return res
|
|
}(res)
|
|
}
|
|
Buffer.TYPED_ARRAY_SUPPORT = function() {
|
|
try {
|
|
var arr = new Uint8Array(1),
|
|
proto = {
|
|
foo: function() {
|
|
return 42
|
|
}
|
|
};
|
|
return Object.setPrototypeOf(proto, Uint8Array.prototype), Object.setPrototypeOf(arr, proto), 42 === arr.foo()
|
|
} catch (e) {
|
|
return !1
|
|
}
|
|
}(), Buffer.TYPED_ARRAY_SUPPORT || "undefined" == typeof console || "function" != typeof console.error || console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."), Object.defineProperty(Buffer.prototype, "parent", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
if (Buffer.isBuffer(this)) return this.buffer
|
|
}
|
|
}), Object.defineProperty(Buffer.prototype, "offset", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
if (Buffer.isBuffer(this)) return this.byteOffset
|
|
}
|
|
}), Buffer.poolSize = 8192, Buffer.from = function(value, encodingOrOffset, length) {
|
|
return from(value, encodingOrOffset, length)
|
|
}, Object.setPrototypeOf(Buffer.prototype, Uint8Array.prototype), Object.setPrototypeOf(Buffer, Uint8Array), Buffer.alloc = function(size, fill, encoding) {
|
|
return function(size, fill, encoding) {
|
|
return assertSize(size), size <= 0 ? createBuffer(size) : void 0 !== fill ? "string" == typeof encoding ? createBuffer(size).fill(fill, encoding) : createBuffer(size).fill(fill) : createBuffer(size)
|
|
}(size, fill, encoding)
|
|
}, Buffer.allocUnsafe = function(size) {
|
|
return allocUnsafe(size)
|
|
}, Buffer.allocUnsafeSlow = function(size) {
|
|
return allocUnsafe(size)
|
|
}, Buffer.isBuffer = function(b) {
|
|
return null != b && !0 === b._isBuffer && b !== Buffer.prototype
|
|
}, Buffer.compare = function(a, b) {
|
|
if (isInstance(a, Uint8Array) && (a = Buffer.from(a, a.offset, a.byteLength)), isInstance(b, Uint8Array) && (b = Buffer.from(b, b.offset, b.byteLength)), !Buffer.isBuffer(a) || !Buffer.isBuffer(b)) throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');
|
|
if (a === b) return 0;
|
|
for (var x = a.length, y = b.length, i = 0, len = Math.min(x, y); i < len; ++i)
|
|
if (a[i] !== b[i]) {
|
|
x = a[i], y = b[i];
|
|
break
|
|
} return x < y ? -1 : y < x ? 1 : 0
|
|
}, Buffer.isEncoding = function(encoding) {
|
|
switch (String(encoding).toLowerCase()) {
|
|
case "hex":
|
|
case "utf8":
|
|
case "utf-8":
|
|
case "ascii":
|
|
case "latin1":
|
|
case "binary":
|
|
case "base64":
|
|
case "ucs2":
|
|
case "ucs-2":
|
|
case "utf16le":
|
|
case "utf-16le":
|
|
return !0;
|
|
default:
|
|
return !1
|
|
}
|
|
}, Buffer.concat = function(list, length) {
|
|
if (!Array.isArray(list)) throw new TypeError('"list" argument must be an Array of Buffers');
|
|
if (0 === list.length) return Buffer.alloc(0);
|
|
var i;
|
|
if (void 0 === length)
|
|
for (length = 0, i = 0; i < list.length; ++i) length += list[i].length;
|
|
var buffer = Buffer.allocUnsafe(length),
|
|
pos = 0;
|
|
for (i = 0; i < list.length; ++i) {
|
|
var buf = list[i];
|
|
if (isInstance(buf, Uint8Array)) pos + buf.length > buffer.length ? Buffer.from(buf).copy(buffer, pos) : Uint8Array.prototype.set.call(buffer, buf, pos);
|
|
else {
|
|
if (!Buffer.isBuffer(buf)) throw new TypeError('"list" argument must be an Array of Buffers');
|
|
buf.copy(buffer, pos)
|
|
}
|
|
pos += buf.length
|
|
}
|
|
return buffer
|
|
}, Buffer.byteLength = byteLength, Buffer.prototype._isBuffer = !0, Buffer.prototype.swap16 = function() {
|
|
var len = this.length;
|
|
if (len % 2 != 0) throw new RangeError("Buffer size must be a multiple of 16-bits");
|
|
for (var i = 0; i < len; i += 2) swap(this, i, i + 1);
|
|
return this
|
|
}, Buffer.prototype.swap32 = function() {
|
|
var len = this.length;
|
|
if (len % 4 != 0) throw new RangeError("Buffer size must be a multiple of 32-bits");
|
|
for (var i = 0; i < len; i += 4) swap(this, i, i + 3), swap(this, i + 1, i + 2);
|
|
return this
|
|
}, Buffer.prototype.swap64 = function() {
|
|
var len = this.length;
|
|
if (len % 8 != 0) throw new RangeError("Buffer size must be a multiple of 64-bits");
|
|
for (var i = 0; i < len; i += 8) swap(this, i, i + 7), swap(this, i + 1, i + 6), swap(this, i + 2, i + 5), swap(this, i + 3, i + 4);
|
|
return this
|
|
}, Buffer.prototype.toString = function() {
|
|
var length = this.length;
|
|
return 0 === length ? "" : 0 === arguments.length ? utf8Slice(this, 0, length) : slowToString.apply(this, arguments)
|
|
}, Buffer.prototype.toLocaleString = Buffer.prototype.toString, Buffer.prototype.equals = function(b) {
|
|
if (!Buffer.isBuffer(b)) throw new TypeError("Argument must be a Buffer");
|
|
return this === b || 0 === Buffer.compare(this, b)
|
|
}, Buffer.prototype.inspect = function() {
|
|
var str = "",
|
|
max = exports.IS;
|
|
return str = this.toString("hex", 0, max).replace(/(.{2})/g, "$1 ").trim(), this.length > max && (str += " ... "), "<Buffer " + str + ">"
|
|
}, customInspectSymbol && (Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect), Buffer.prototype.compare = function(target, start, end, thisStart, thisEnd) {
|
|
if (isInstance(target, Uint8Array) && (target = Buffer.from(target, target.offset, target.byteLength)), !Buffer.isBuffer(target)) throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type ' + typeof target);
|
|
if (void 0 === start && (start = 0), void 0 === end && (end = target ? target.length : 0), void 0 === thisStart && (thisStart = 0), void 0 === thisEnd && (thisEnd = this.length), start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) throw new RangeError("out of range index");
|
|
if (thisStart >= thisEnd && start >= end) return 0;
|
|
if (thisStart >= thisEnd) return -1;
|
|
if (start >= end) return 1;
|
|
if (this === target) return 0;
|
|
for (var x = (thisEnd >>>= 0) - (thisStart >>>= 0), y = (end >>>= 0) - (start >>>= 0), len = Math.min(x, y), thisCopy = this.slice(thisStart, thisEnd), targetCopy = target.slice(start, end), i = 0; i < len; ++i)
|
|
if (thisCopy[i] !== targetCopy[i]) {
|
|
x = thisCopy[i], y = targetCopy[i];
|
|
break
|
|
} return x < y ? -1 : y < x ? 1 : 0
|
|
}, Buffer.prototype.includes = function(val, byteOffset, encoding) {
|
|
return -1 !== this.indexOf(val, byteOffset, encoding)
|
|
}, Buffer.prototype.indexOf = function(val, byteOffset, encoding) {
|
|
return bidirectionalIndexOf(this, val, byteOffset, encoding, !0)
|
|
}, Buffer.prototype.lastIndexOf = function(val, byteOffset, encoding) {
|
|
return bidirectionalIndexOf(this, val, byteOffset, encoding, !1)
|
|
}, Buffer.prototype.write = function(string, offset, length, encoding) {
|
|
if (void 0 === offset) encoding = "utf8", length = this.length, offset = 0;
|
|
else if (void 0 === length && "string" == typeof offset) encoding = offset, length = this.length, offset = 0;
|
|
else {
|
|
if (!isFinite(offset)) throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");
|
|
offset >>>= 0, isFinite(length) ? (length >>>= 0, void 0 === encoding && (encoding = "utf8")) : (encoding = length, length = void 0)
|
|
}
|
|
var remaining = this.length - offset;
|
|
if ((void 0 === length || length > remaining) && (length = remaining), string.length > 0 && (length < 0 || offset < 0) || offset > this.length) throw new RangeError("Attempt to write outside buffer bounds");
|
|
encoding || (encoding = "utf8");
|
|
for (var loweredCase = !1;;) switch (encoding) {
|
|
case "hex":
|
|
return hexWrite(this, string, offset, length);
|
|
case "utf8":
|
|
case "utf-8":
|
|
return utf8Write(this, string, offset, length);
|
|
case "ascii":
|
|
case "latin1":
|
|
case "binary":
|
|
return asciiWrite(this, string, offset, length);
|
|
case "base64":
|
|
return base64Write(this, string, offset, length);
|
|
case "ucs2":
|
|
case "ucs-2":
|
|
case "utf16le":
|
|
case "utf-16le":
|
|
return ucs2Write(this, string, offset, length);
|
|
default:
|
|
if (loweredCase) throw new TypeError("Unknown encoding: " + encoding);
|
|
encoding = ("" + encoding).toLowerCase(), loweredCase = !0
|
|
}
|
|
}, Buffer.prototype.toJSON = function() {
|
|
return {
|
|
type: "Buffer",
|
|
data: Array.prototype.slice.call(this._arr || this, 0)
|
|
}
|
|
};
|
|
var MAX_ARGUMENTS_LENGTH = 4096;
|
|
|
|
function asciiSlice(buf, start, end) {
|
|
var ret = "";
|
|
end = Math.min(buf.length, end);
|
|
for (var i = start; i < end; ++i) ret += String.fromCharCode(127 & buf[i]);
|
|
return ret
|
|
}
|
|
|
|
function latin1Slice(buf, start, end) {
|
|
var ret = "";
|
|
end = Math.min(buf.length, end);
|
|
for (var i = start; i < end; ++i) ret += String.fromCharCode(buf[i]);
|
|
return ret
|
|
}
|
|
|
|
function hexSlice(buf, start, end) {
|
|
var len = buf.length;
|
|
(!start || start < 0) && (start = 0), (!end || end < 0 || end > len) && (end = len);
|
|
for (var out = "", i = start; i < end; ++i) out += hexSliceLookupTable[buf[i]];
|
|
return out
|
|
}
|
|
|
|
function utf16leSlice(buf, start, end) {
|
|
for (var bytes = buf.slice(start, end), res = "", i = 0; i < bytes.length - 1; i += 2) res += String.fromCharCode(bytes[i] + 256 * bytes[i + 1]);
|
|
return res
|
|
}
|
|
|
|
function checkOffset(offset, ext, length) {
|
|
if (offset % 1 != 0 || offset < 0) throw new RangeError("offset is not uint");
|
|
if (offset + ext > length) throw new RangeError("Trying to access beyond buffer length")
|
|
}
|
|
|
|
function checkInt(buf, value, offset, ext, max, min) {
|
|
if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance');
|
|
if (value > max || value < min) throw new RangeError('"value" argument is out of bounds');
|
|
if (offset + ext > buf.length) throw new RangeError("Index out of range")
|
|
}
|
|
|
|
function checkIEEE754(buf, value, offset, ext, max, min) {
|
|
if (offset + ext > buf.length) throw new RangeError("Index out of range");
|
|
if (offset < 0) throw new RangeError("Index out of range")
|
|
}
|
|
|
|
function writeFloat(buf, value, offset, littleEndian, noAssert) {
|
|
return value = +value, offset >>>= 0, noAssert || checkIEEE754(buf, 0, offset, 4), ieee754.write(buf, value, offset, littleEndian, 23, 4), offset + 4
|
|
}
|
|
|
|
function writeDouble(buf, value, offset, littleEndian, noAssert) {
|
|
return value = +value, offset >>>= 0, noAssert || checkIEEE754(buf, 0, offset, 8), ieee754.write(buf, value, offset, littleEndian, 52, 8), offset + 8
|
|
}
|
|
Buffer.prototype.slice = function(start, end) {
|
|
var len = this.length;
|
|
(start = ~~start) < 0 ? (start += len) < 0 && (start = 0) : start > len && (start = len), (end = void 0 === end ? len : ~~end) < 0 ? (end += len) < 0 && (end = 0) : end > len && (end = len), end < start && (end = start);
|
|
var newBuf = this.subarray(start, end);
|
|
return Object.setPrototypeOf(newBuf, Buffer.prototype), newBuf
|
|
}, Buffer.prototype.readUintLE = Buffer.prototype.readUIntLE = function(offset, byteLength, noAssert) {
|
|
offset >>>= 0, byteLength >>>= 0, noAssert || checkOffset(offset, byteLength, this.length);
|
|
for (var val = this[offset], mul = 1, i = 0; ++i < byteLength && (mul *= 256);) val += this[offset + i] * mul;
|
|
return val
|
|
}, Buffer.prototype.readUintBE = Buffer.prototype.readUIntBE = function(offset, byteLength, noAssert) {
|
|
offset >>>= 0, byteLength >>>= 0, noAssert || checkOffset(offset, byteLength, this.length);
|
|
for (var val = this[offset + --byteLength], mul = 1; byteLength > 0 && (mul *= 256);) val += this[offset + --byteLength] * mul;
|
|
return val
|
|
}, Buffer.prototype.readUint8 = Buffer.prototype.readUInt8 = function(offset, noAssert) {
|
|
return offset >>>= 0, noAssert || checkOffset(offset, 1, this.length), this[offset]
|
|
}, Buffer.prototype.readUint16LE = Buffer.prototype.readUInt16LE = function(offset, noAssert) {
|
|
return offset >>>= 0, noAssert || checkOffset(offset, 2, this.length), this[offset] | this[offset + 1] << 8
|
|
}, Buffer.prototype.readUint16BE = Buffer.prototype.readUInt16BE = function(offset, noAssert) {
|
|
return offset >>>= 0, noAssert || checkOffset(offset, 2, this.length), this[offset] << 8 | this[offset + 1]
|
|
}, Buffer.prototype.readUint32LE = Buffer.prototype.readUInt32LE = function(offset, noAssert) {
|
|
return offset >>>= 0, noAssert || checkOffset(offset, 4, this.length), (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + 16777216 * this[offset + 3]
|
|
}, Buffer.prototype.readUint32BE = Buffer.prototype.readUInt32BE = function(offset, noAssert) {
|
|
return offset >>>= 0, noAssert || checkOffset(offset, 4, this.length), 16777216 * this[offset] + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3])
|
|
}, Buffer.prototype.readIntLE = function(offset, byteLength, noAssert) {
|
|
offset >>>= 0, byteLength >>>= 0, noAssert || checkOffset(offset, byteLength, this.length);
|
|
for (var val = this[offset], mul = 1, i = 0; ++i < byteLength && (mul *= 256);) val += this[offset + i] * mul;
|
|
return val >= (mul *= 128) && (val -= Math.pow(2, 8 * byteLength)), val
|
|
}, Buffer.prototype.readIntBE = function(offset, byteLength, noAssert) {
|
|
offset >>>= 0, byteLength >>>= 0, noAssert || checkOffset(offset, byteLength, this.length);
|
|
for (var i = byteLength, mul = 1, val = this[offset + --i]; i > 0 && (mul *= 256);) val += this[offset + --i] * mul;
|
|
return val >= (mul *= 128) && (val -= Math.pow(2, 8 * byteLength)), val
|
|
}, Buffer.prototype.readInt8 = function(offset, noAssert) {
|
|
return offset >>>= 0, noAssert || checkOffset(offset, 1, this.length), 128 & this[offset] ? -1 * (255 - this[offset] + 1) : this[offset]
|
|
}, Buffer.prototype.readInt16LE = function(offset, noAssert) {
|
|
offset >>>= 0, noAssert || checkOffset(offset, 2, this.length);
|
|
var val = this[offset] | this[offset + 1] << 8;
|
|
return 32768 & val ? 4294901760 | val : val
|
|
}, Buffer.prototype.readInt16BE = function(offset, noAssert) {
|
|
offset >>>= 0, noAssert || checkOffset(offset, 2, this.length);
|
|
var val = this[offset + 1] | this[offset] << 8;
|
|
return 32768 & val ? 4294901760 | val : val
|
|
}, Buffer.prototype.readInt32LE = function(offset, noAssert) {
|
|
return offset >>>= 0, noAssert || checkOffset(offset, 4, this.length), this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24
|
|
}, Buffer.prototype.readInt32BE = function(offset, noAssert) {
|
|
return offset >>>= 0, noAssert || checkOffset(offset, 4, this.length), this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]
|
|
}, Buffer.prototype.readFloatLE = function(offset, noAssert) {
|
|
return offset >>>= 0, noAssert || checkOffset(offset, 4, this.length), ieee754.read(this, offset, !0, 23, 4)
|
|
}, Buffer.prototype.readFloatBE = function(offset, noAssert) {
|
|
return offset >>>= 0, noAssert || checkOffset(offset, 4, this.length), ieee754.read(this, offset, !1, 23, 4)
|
|
}, Buffer.prototype.readDoubleLE = function(offset, noAssert) {
|
|
return offset >>>= 0, noAssert || checkOffset(offset, 8, this.length), ieee754.read(this, offset, !0, 52, 8)
|
|
}, Buffer.prototype.readDoubleBE = function(offset, noAssert) {
|
|
return offset >>>= 0, noAssert || checkOffset(offset, 8, this.length), ieee754.read(this, offset, !1, 52, 8)
|
|
}, Buffer.prototype.writeUintLE = Buffer.prototype.writeUIntLE = function(value, offset, byteLength, noAssert) {
|
|
(value = +value, offset >>>= 0, byteLength >>>= 0, noAssert) || checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength) - 1, 0);
|
|
var mul = 1,
|
|
i = 0;
|
|
for (this[offset] = 255 & value; ++i < byteLength && (mul *= 256);) this[offset + i] = value / mul & 255;
|
|
return offset + byteLength
|
|
}, Buffer.prototype.writeUintBE = Buffer.prototype.writeUIntBE = function(value, offset, byteLength, noAssert) {
|
|
(value = +value, offset >>>= 0, byteLength >>>= 0, noAssert) || checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength) - 1, 0);
|
|
var i = byteLength - 1,
|
|
mul = 1;
|
|
for (this[offset + i] = 255 & value; --i >= 0 && (mul *= 256);) this[offset + i] = value / mul & 255;
|
|
return offset + byteLength
|
|
}, Buffer.prototype.writeUint8 = Buffer.prototype.writeUInt8 = function(value, offset, noAssert) {
|
|
return value = +value, offset >>>= 0, noAssert || checkInt(this, value, offset, 1, 255, 0), this[offset] = 255 & value, offset + 1
|
|
}, Buffer.prototype.writeUint16LE = Buffer.prototype.writeUInt16LE = function(value, offset, noAssert) {
|
|
return value = +value, offset >>>= 0, noAssert || checkInt(this, value, offset, 2, 65535, 0), this[offset] = 255 & value, this[offset + 1] = value >>> 8, offset + 2
|
|
}, Buffer.prototype.writeUint16BE = Buffer.prototype.writeUInt16BE = function(value, offset, noAssert) {
|
|
return value = +value, offset >>>= 0, noAssert || checkInt(this, value, offset, 2, 65535, 0), this[offset] = value >>> 8, this[offset + 1] = 255 & value, offset + 2
|
|
}, Buffer.prototype.writeUint32LE = Buffer.prototype.writeUInt32LE = function(value, offset, noAssert) {
|
|
return value = +value, offset >>>= 0, noAssert || checkInt(this, value, offset, 4, 4294967295, 0), this[offset + 3] = value >>> 24, this[offset + 2] = value >>> 16, this[offset + 1] = value >>> 8, this[offset] = 255 & value, offset + 4
|
|
}, Buffer.prototype.writeUint32BE = Buffer.prototype.writeUInt32BE = function(value, offset, noAssert) {
|
|
return value = +value, offset >>>= 0, noAssert || checkInt(this, value, offset, 4, 4294967295, 0), this[offset] = value >>> 24, this[offset + 1] = value >>> 16, this[offset + 2] = value >>> 8, this[offset + 3] = 255 & value, offset + 4
|
|
}, Buffer.prototype.writeIntLE = function(value, offset, byteLength, noAssert) {
|
|
if (value = +value, offset >>>= 0, !noAssert) {
|
|
var limit = Math.pow(2, 8 * byteLength - 1);
|
|
checkInt(this, value, offset, byteLength, limit - 1, -limit)
|
|
}
|
|
var i = 0,
|
|
mul = 1,
|
|
sub = 0;
|
|
for (this[offset] = 255 & value; ++i < byteLength && (mul *= 256);) value < 0 && 0 === sub && 0 !== this[offset + i - 1] && (sub = 1), this[offset + i] = (value / mul | 0) - sub & 255;
|
|
return offset + byteLength
|
|
}, Buffer.prototype.writeIntBE = function(value, offset, byteLength, noAssert) {
|
|
if (value = +value, offset >>>= 0, !noAssert) {
|
|
var limit = Math.pow(2, 8 * byteLength - 1);
|
|
checkInt(this, value, offset, byteLength, limit - 1, -limit)
|
|
}
|
|
var i = byteLength - 1,
|
|
mul = 1,
|
|
sub = 0;
|
|
for (this[offset + i] = 255 & value; --i >= 0 && (mul *= 256);) value < 0 && 0 === sub && 0 !== this[offset + i + 1] && (sub = 1), this[offset + i] = (value / mul | 0) - sub & 255;
|
|
return offset + byteLength
|
|
}, Buffer.prototype.writeInt8 = function(value, offset, noAssert) {
|
|
return value = +value, offset >>>= 0, noAssert || checkInt(this, value, offset, 1, 127, -128), value < 0 && (value = 255 + value + 1), this[offset] = 255 & value, offset + 1
|
|
}, Buffer.prototype.writeInt16LE = function(value, offset, noAssert) {
|
|
return value = +value, offset >>>= 0, noAssert || checkInt(this, value, offset, 2, 32767, -32768), this[offset] = 255 & value, this[offset + 1] = value >>> 8, offset + 2
|
|
}, Buffer.prototype.writeInt16BE = function(value, offset, noAssert) {
|
|
return value = +value, offset >>>= 0, noAssert || checkInt(this, value, offset, 2, 32767, -32768), this[offset] = value >>> 8, this[offset + 1] = 255 & value, offset + 2
|
|
}, Buffer.prototype.writeInt32LE = function(value, offset, noAssert) {
|
|
return value = +value, offset >>>= 0, noAssert || checkInt(this, value, offset, 4, 2147483647, -2147483648), this[offset] = 255 & value, this[offset + 1] = value >>> 8, this[offset + 2] = value >>> 16, this[offset + 3] = value >>> 24, offset + 4
|
|
}, Buffer.prototype.writeInt32BE = function(value, offset, noAssert) {
|
|
return value = +value, offset >>>= 0, noAssert || checkInt(this, value, offset, 4, 2147483647, -2147483648), value < 0 && (value = 4294967295 + value + 1), this[offset] = value >>> 24, this[offset + 1] = value >>> 16, this[offset + 2] = value >>> 8, this[offset + 3] = 255 & value, offset + 4
|
|
}, Buffer.prototype.writeFloatLE = function(value, offset, noAssert) {
|
|
return writeFloat(this, value, offset, !0, noAssert)
|
|
}, Buffer.prototype.writeFloatBE = function(value, offset, noAssert) {
|
|
return writeFloat(this, value, offset, !1, noAssert)
|
|
}, Buffer.prototype.writeDoubleLE = function(value, offset, noAssert) {
|
|
return writeDouble(this, value, offset, !0, noAssert)
|
|
}, Buffer.prototype.writeDoubleBE = function(value, offset, noAssert) {
|
|
return writeDouble(this, value, offset, !1, noAssert)
|
|
}, Buffer.prototype.copy = function(target, targetStart, start, end) {
|
|
if (!Buffer.isBuffer(target)) throw new TypeError("argument should be a Buffer");
|
|
if (start || (start = 0), end || 0 === end || (end = this.length), targetStart >= target.length && (targetStart = target.length), targetStart || (targetStart = 0), end > 0 && end < start && (end = start), end === start) return 0;
|
|
if (0 === target.length || 0 === this.length) return 0;
|
|
if (targetStart < 0) throw new RangeError("targetStart out of bounds");
|
|
if (start < 0 || start >= this.length) throw new RangeError("Index out of range");
|
|
if (end < 0) throw new RangeError("sourceEnd out of bounds");
|
|
end > this.length && (end = this.length), target.length - targetStart < end - start && (end = target.length - targetStart + start);
|
|
var len = end - start;
|
|
return this === target && "function" == typeof Uint8Array.prototype.copyWithin ? this.copyWithin(targetStart, start, end) : Uint8Array.prototype.set.call(target, this.subarray(start, end), targetStart), len
|
|
}, Buffer.prototype.fill = function(val, start, end, encoding) {
|
|
if ("string" == typeof val) {
|
|
if ("string" == typeof start ? (encoding = start, start = 0, end = this.length) : "string" == typeof end && (encoding = end, end = this.length), void 0 !== encoding && "string" != typeof encoding) throw new TypeError("encoding must be a string");
|
|
if ("string" == typeof encoding && !Buffer.isEncoding(encoding)) throw new TypeError("Unknown encoding: " + encoding);
|
|
if (1 === val.length) {
|
|
var code = val.charCodeAt(0);
|
|
("utf8" === encoding && code < 128 || "latin1" === encoding) && (val = code)
|
|
}
|
|
} else "number" == typeof val ? val &= 255 : "boolean" == typeof val && (val = Number(val));
|
|
if (start < 0 || this.length < start || this.length < end) throw new RangeError("Out of range index");
|
|
if (end <= start) return this;
|
|
var i;
|
|
if (start >>>= 0, end = void 0 === end ? this.length : end >>> 0, val || (val = 0), "number" == typeof val)
|
|
for (i = start; i < end; ++i) this[i] = val;
|
|
else {
|
|
var bytes = Buffer.isBuffer(val) ? val : Buffer.from(val, encoding),
|
|
len = bytes.length;
|
|
if (0 === len) throw new TypeError('The value "' + val + '" is invalid for argument "value"');
|
|
for (i = 0; i < end - start; ++i) this[i + start] = bytes[i % len]
|
|
}
|
|
return this
|
|
};
|
|
var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;
|
|
|
|
function utf8ToBytes(string, units) {
|
|
var codePoint;
|
|
units = units || 1 / 0;
|
|
for (var length = string.length, leadSurrogate = null, bytes = [], i = 0; i < length; ++i) {
|
|
if ((codePoint = string.charCodeAt(i)) > 55295 && codePoint < 57344) {
|
|
if (!leadSurrogate) {
|
|
if (codePoint > 56319) {
|
|
(units -= 3) > -1 && bytes.push(239, 191, 189);
|
|
continue
|
|
}
|
|
if (i + 1 === length) {
|
|
(units -= 3) > -1 && bytes.push(239, 191, 189);
|
|
continue
|
|
}
|
|
leadSurrogate = codePoint;
|
|
continue
|
|
}
|
|
if (codePoint < 56320) {
|
|
(units -= 3) > -1 && bytes.push(239, 191, 189), leadSurrogate = codePoint;
|
|
continue
|
|
}
|
|
codePoint = 65536 + (leadSurrogate - 55296 << 10 | codePoint - 56320)
|
|
} else leadSurrogate && (units -= 3) > -1 && bytes.push(239, 191, 189);
|
|
if (leadSurrogate = null, codePoint < 128) {
|
|
if ((units -= 1) < 0) break;
|
|
bytes.push(codePoint)
|
|
} else if (codePoint < 2048) {
|
|
if ((units -= 2) < 0) break;
|
|
bytes.push(codePoint >> 6 | 192, 63 & codePoint | 128)
|
|
} else if (codePoint < 65536) {
|
|
if ((units -= 3) < 0) break;
|
|
bytes.push(codePoint >> 12 | 224, codePoint >> 6 & 63 | 128, 63 & codePoint | 128)
|
|
} else {
|
|
if (!(codePoint < 1114112)) throw new Error("Invalid code point");
|
|
if ((units -= 4) < 0) break;
|
|
bytes.push(codePoint >> 18 | 240, codePoint >> 12 & 63 | 128, codePoint >> 6 & 63 | 128, 63 & codePoint | 128)
|
|
}
|
|
}
|
|
return bytes
|
|
}
|
|
|
|
function base64ToBytes(str) {
|
|
return base64.toByteArray(function(str) {
|
|
if ((str = (str = str.split("=")[0]).trim().replace(INVALID_BASE64_RE, "")).length < 2) return "";
|
|
for (; str.length % 4 != 0;) str += "=";
|
|
return str
|
|
}(str))
|
|
}
|
|
|
|
function blitBuffer(src, dst, offset, length) {
|
|
for (var i = 0; i < length && !(i + offset >= dst.length || i >= src.length); ++i) dst[i + offset] = src[i];
|
|
return i
|
|
}
|
|
|
|
function isInstance(obj, type) {
|
|
return obj instanceof type || null != obj && null != obj.constructor && null != obj.constructor.name && obj.constructor.name === type.name
|
|
}
|
|
|
|
function numberIsNaN(obj) {
|
|
return obj != obj
|
|
}
|
|
var hexSliceLookupTable = function() {
|
|
for (var table = new Array(256), i = 0; i < 16; ++i)
|
|
for (var i16 = 16 * i, j = 0; j < 16; ++j) table[i16 + j] = "0123456789abcdef" [i] + "0123456789abcdef" [j];
|
|
return table
|
|
}()
|
|
},
|
|
68636: module => {
|
|
"use strict";
|
|
module.exports = Function.prototype.apply
|
|
},
|
|
68716: function(module, exports, __webpack_require__) {
|
|
var ECB, CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), __webpack_require__(74047), CryptoJS.mode.ECB = ((ECB = CryptoJS.lib.BlockCipherMode.extend()).Encryptor = ECB.extend({
|
|
processBlock: function(words, offset) {
|
|
this._cipher.encryptBlock(words, offset)
|
|
}
|
|
}), ECB.Decryptor = ECB.extend({
|
|
processBlock: function(words, offset) {
|
|
this._cipher.decryptBlock(words, offset)
|
|
}
|
|
}), ECB), CryptoJS.mode.ECB)
|
|
},
|
|
68729: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912)),
|
|
_helpers = _interopRequireDefault(__webpack_require__(16065));
|
|
exports.default = new _dac.default({
|
|
description: "Catherines Acorn DAC",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 15
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "7394089744633952624",
|
|
name: "Catherines"
|
|
}],
|
|
doDac: async function(couponCode, selector, priceAmt, applyBestCode) {
|
|
let price = priceAmt,
|
|
discountedPrice = priceAmt;
|
|
try {
|
|
async function applyCode() {
|
|
const csrfToken = (0, _jquery.default)("input[name*=csrf_token]").val(),
|
|
res = _jquery.default.ajax({
|
|
method: "POST",
|
|
url: "https://www.catherines.com/on/demandware.store/Sites-oss-Site/default/Cart-SubmitForm",
|
|
data: {
|
|
dwfrm_cart_couponCode: couponCode,
|
|
dwfrm_cart_addCoupon: "dwfrm_cart_addCoupon",
|
|
csrf_token: csrfToken
|
|
}
|
|
});
|
|
return await res.done(data => {
|
|
_logger.default.debug("Finishing applying coupon")
|
|
}), res
|
|
}
|
|
|
|
function updatePrice(res) {
|
|
try {
|
|
discountedPrice = Number(_legacyHoneyUtils.default.cleanPrice((0, _jquery.default)(res).find(selector).text()))
|
|
} catch (e) {
|
|
_logger.default.error(e)
|
|
}
|
|
discountedPrice < price && ((0, _jquery.default)(selector).text("$" + discountedPrice.toString()), price = discountedPrice)
|
|
}
|
|
updatePrice(await applyCode())
|
|
} catch (e) {
|
|
price = priceAmt
|
|
}
|
|
return !0 === applyBestCode && (window.location = window.location.href, await (0, _helpers.default)(2e3)), Number(_legacyHoneyUtils.default.cleanPrice(price))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
68734: function(__unused_webpack_module, exports, __webpack_require__) {
|
|
"use strict";
|
|
var __importDefault = this && this.__importDefault || function(mod) {
|
|
return mod && mod.__esModule ? mod : {
|
|
default: mod
|
|
}
|
|
};
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
});
|
|
var decode_json_1 = __importDefault(__webpack_require__(2215)),
|
|
fromCodePoint = String.fromCodePoint || function(codePoint) {
|
|
var output = "";
|
|
return codePoint > 65535 && (codePoint -= 65536, output += String.fromCharCode(codePoint >>> 10 & 1023 | 55296), codePoint = 56320 | 1023 & codePoint), output += String.fromCharCode(codePoint)
|
|
};
|
|
exports.default = function(codePoint) {
|
|
return codePoint >= 55296 && codePoint <= 57343 || codePoint > 1114111 ? "\ufffd" : (codePoint in decode_json_1.default && (codePoint = decode_json_1.default[codePoint]), fromCodePoint(codePoint))
|
|
}
|
|
},
|
|
68903: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var Buffer = __webpack_require__(68617).hp;
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.update = void 0;
|
|
var htmlparser2_1 = __webpack_require__(82393),
|
|
htmlparser2_2 = __webpack_require__(92711),
|
|
parse5_1 = __webpack_require__(25217),
|
|
domhandler_1 = __webpack_require__(75243);
|
|
|
|
function update(newChilds, parent) {
|
|
var arr = Array.isArray(newChilds) ? newChilds : [newChilds];
|
|
parent ? parent.children = arr : parent = null;
|
|
for (var i = 0; i < arr.length; i++) {
|
|
var node = arr[i];
|
|
node.parent && node.parent.children !== arr && htmlparser2_1.DomUtils.removeElement(node), parent ? (node.prev = arr[i - 1] || null, node.next = arr[i + 1] || null) : node.prev = node.next = null, node.parent = parent
|
|
}
|
|
return parent
|
|
}
|
|
exports.default = function(content, options, isDocument) {
|
|
if (void 0 !== Buffer && Buffer.isBuffer(content) && (content = content.toString()), "string" == typeof content) return options.xmlMode || options._useHtmlParser2 ? htmlparser2_2.parse(content, options) : parse5_1.parse(content, options, isDocument);
|
|
var doc = content;
|
|
if (!Array.isArray(doc) && domhandler_1.isDocument(doc)) return doc;
|
|
var root = new domhandler_1.Document([]);
|
|
return update(doc, root), root
|
|
}, exports.update = update
|
|
},
|
|
69340: module => {
|
|
"use strict";
|
|
module.exports = function(defaults, options) {
|
|
return [defaults, options = options || Object.create(null)].reduce((merged, optObj) => (Object.keys(optObj).forEach(key => {
|
|
merged[key] = optObj[key]
|
|
}), merged), Object.create(null))
|
|
}
|
|
},
|
|
69487: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
let Warning = __webpack_require__(61504);
|
|
class Result {
|
|
get content() {
|
|
return this.css
|
|
}
|
|
constructor(processor, root, opts) {
|
|
this.processor = processor, this.messages = [], this.root = root, this.opts = opts, this.css = "", this.map = void 0
|
|
}
|
|
toString() {
|
|
return this.css
|
|
}
|
|
warn(text, opts = {}) {
|
|
opts.plugin || this.lastPlugin && this.lastPlugin.postcssPlugin && (opts.plugin = this.lastPlugin.postcssPlugin);
|
|
let warning = new Warning(text, opts);
|
|
return this.messages.push(warning), warning
|
|
}
|
|
warnings() {
|
|
return this.messages.filter(i => "warning" === i.type)
|
|
}
|
|
}
|
|
module.exports = Result, Result.default = Result
|
|
},
|
|
69698: function(module, exports) {
|
|
var __WEBPACK_AMD_DEFINE_RESULT__;
|
|
/*!
|
|
* jQuery JavaScript Library v3.7.1
|
|
* https://jquery.com/
|
|
*
|
|
* Copyright OpenJS Foundation and other contributors
|
|
* Released under the MIT license
|
|
* https://jquery.org/license
|
|
*
|
|
* Date: 2023-08-28T13:37Z
|
|
*/
|
|
! function(global, factory) {
|
|
"use strict";
|
|
"object" == typeof module.exports ? module.exports = global.document ? factory(global, !0) : function(w) {
|
|
if (!w.document) throw new Error("jQuery requires a window with a document");
|
|
return factory(w)
|
|
} : factory(global)
|
|
}("undefined" != typeof window ? window : this, function(window, noGlobal) {
|
|
"use strict";
|
|
var arr = [],
|
|
getProto = Object.getPrototypeOf,
|
|
slice = arr.slice,
|
|
flat = arr.flat ? function(array) {
|
|
return arr.flat.call(array)
|
|
} : function(array) {
|
|
return arr.concat.apply([], array)
|
|
},
|
|
push = arr.push,
|
|
indexOf = arr.indexOf,
|
|
class2type = {},
|
|
toString = class2type.toString,
|
|
hasOwn = class2type.hasOwnProperty,
|
|
fnToString = hasOwn.toString,
|
|
ObjectFunctionString = fnToString.call(Object),
|
|
support = {},
|
|
isFunction = function(obj) {
|
|
return "function" == typeof obj && "number" != typeof obj.nodeType && "function" != typeof obj.item
|
|
},
|
|
isWindow = function(obj) {
|
|
return null != obj && obj === obj.window
|
|
},
|
|
document = window.document,
|
|
preservedScriptAttributes = {
|
|
type: !0,
|
|
src: !0,
|
|
nonce: !0,
|
|
noModule: !0
|
|
};
|
|
|
|
function DOMEval(code, node, doc) {
|
|
var i, val, script = (doc = doc || document).createElement("script");
|
|
if (script.text = code, node)
|
|
for (i in preservedScriptAttributes)(val = node[i] || node.getAttribute && node.getAttribute(i)) && script.setAttribute(i, val);
|
|
doc.head.appendChild(script).parentNode.removeChild(script)
|
|
}
|
|
|
|
function toType(obj) {
|
|
return null == obj ? obj + "" : "object" == typeof obj || "function" == typeof obj ? class2type[toString.call(obj)] || "object" : typeof obj
|
|
}
|
|
var rhtmlSuffix = /HTML$/i,
|
|
jQuery = function(selector, context) {
|
|
return new jQuery.fn.init(selector, context)
|
|
};
|
|
|
|
function isArrayLike(obj) {
|
|
var length = !!obj && "length" in obj && obj.length,
|
|
type = toType(obj);
|
|
return !isFunction(obj) && !isWindow(obj) && ("array" === type || 0 === length || "number" == typeof length && length > 0 && length - 1 in obj)
|
|
}
|
|
|
|
function nodeName(elem, name) {
|
|
return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase()
|
|
}
|
|
jQuery.fn = jQuery.prototype = {
|
|
jquery: "3.7.1",
|
|
constructor: jQuery,
|
|
length: 0,
|
|
toArray: function() {
|
|
return slice.call(this)
|
|
},
|
|
get: function(num) {
|
|
return null == num ? slice.call(this) : num < 0 ? this[num + this.length] : this[num]
|
|
},
|
|
pushStack: function(elems) {
|
|
var ret = jQuery.merge(this.constructor(), elems);
|
|
return ret.prevObject = this, ret
|
|
},
|
|
each: function(callback) {
|
|
return jQuery.each(this, callback)
|
|
},
|
|
map: function(callback) {
|
|
return this.pushStack(jQuery.map(this, function(elem, i) {
|
|
return callback.call(elem, i, elem)
|
|
}))
|
|
},
|
|
slice: function() {
|
|
return this.pushStack(slice.apply(this, arguments))
|
|
},
|
|
first: function() {
|
|
return this.eq(0)
|
|
},
|
|
last: function() {
|
|
return this.eq(-1)
|
|
},
|
|
even: function() {
|
|
return this.pushStack(jQuery.grep(this, function(_elem, i) {
|
|
return (i + 1) % 2
|
|
}))
|
|
},
|
|
odd: function() {
|
|
return this.pushStack(jQuery.grep(this, function(_elem, i) {
|
|
return i % 2
|
|
}))
|
|
},
|
|
eq: function(i) {
|
|
var len = this.length,
|
|
j = +i + (i < 0 ? len : 0);
|
|
return this.pushStack(j >= 0 && j < len ? [this[j]] : [])
|
|
},
|
|
end: function() {
|
|
return this.prevObject || this.constructor()
|
|
},
|
|
push,
|
|
sort: arr.sort,
|
|
splice: arr.splice
|
|
}, jQuery.extend = jQuery.fn.extend = function() {
|
|
var options, name, src, copy, copyIsArray, clone, target = arguments[0] || {},
|
|
i = 1,
|
|
length = arguments.length,
|
|
deep = !1;
|
|
for ("boolean" == typeof target && (deep = target, target = arguments[i] || {}, i++), "object" == typeof target || isFunction(target) || (target = {}), i === length && (target = this, i--); i < length; i++)
|
|
if (null != (options = arguments[i]))
|
|
for (name in options) copy = options[name], "__proto__" !== name && target !== copy && (deep && copy && (jQuery.isPlainObject(copy) || (copyIsArray = Array.isArray(copy))) ? (src = target[name], clone = copyIsArray && !Array.isArray(src) ? [] : copyIsArray || jQuery.isPlainObject(src) ? src : {}, copyIsArray = !1, target[name] = jQuery.extend(deep, clone, copy)) : void 0 !== copy && (target[name] = copy));
|
|
return target
|
|
}, jQuery.extend({
|
|
expando: "jQuery" + ("3.7.1" + Math.random()).replace(/\D/g, ""),
|
|
isReady: !0,
|
|
error: function(msg) {
|
|
throw new Error(msg)
|
|
},
|
|
noop: function() {},
|
|
isPlainObject: function(obj) {
|
|
var proto, Ctor;
|
|
return !(!obj || "[object Object]" !== toString.call(obj)) && (!(proto = getProto(obj)) || "function" == typeof(Ctor = hasOwn.call(proto, "constructor") && proto.constructor) && fnToString.call(Ctor) === ObjectFunctionString)
|
|
},
|
|
isEmptyObject: function(obj) {
|
|
var name;
|
|
for (name in obj) return !1;
|
|
return !0
|
|
},
|
|
globalEval: function(code, options, doc) {
|
|
DOMEval(code, {
|
|
nonce: options && options.nonce
|
|
}, doc)
|
|
},
|
|
each: function(obj, callback) {
|
|
var length, i = 0;
|
|
if (isArrayLike(obj))
|
|
for (length = obj.length; i < length && !1 !== callback.call(obj[i], i, obj[i]); i++);
|
|
else
|
|
for (i in obj)
|
|
if (!1 === callback.call(obj[i], i, obj[i])) break;
|
|
return obj
|
|
},
|
|
text: function(elem) {
|
|
var node, ret = "",
|
|
i = 0,
|
|
nodeType = elem.nodeType;
|
|
if (!nodeType)
|
|
for (; node = elem[i++];) ret += jQuery.text(node);
|
|
return 1 === nodeType || 11 === nodeType ? elem.textContent : 9 === nodeType ? elem.documentElement.textContent : 3 === nodeType || 4 === nodeType ? elem.nodeValue : ret
|
|
},
|
|
makeArray: function(arr, results) {
|
|
var ret = results || [];
|
|
return null != arr && (isArrayLike(Object(arr)) ? jQuery.merge(ret, "string" == typeof arr ? [arr] : arr) : push.call(ret, arr)), ret
|
|
},
|
|
inArray: function(elem, arr, i) {
|
|
return null == arr ? -1 : indexOf.call(arr, elem, i)
|
|
},
|
|
isXMLDoc: function(elem) {
|
|
var namespace = elem && elem.namespaceURI,
|
|
docElem = elem && (elem.ownerDocument || elem).documentElement;
|
|
return !rhtmlSuffix.test(namespace || docElem && docElem.nodeName || "HTML")
|
|
},
|
|
merge: function(first, second) {
|
|
for (var len = +second.length, j = 0, i = first.length; j < len; j++) first[i++] = second[j];
|
|
return first.length = i, first
|
|
},
|
|
grep: function(elems, callback, invert) {
|
|
for (var matches = [], i = 0, length = elems.length, callbackExpect = !invert; i < length; i++) !callback(elems[i], i) !== callbackExpect && matches.push(elems[i]);
|
|
return matches
|
|
},
|
|
map: function(elems, callback, arg) {
|
|
var length, value, i = 0,
|
|
ret = [];
|
|
if (isArrayLike(elems))
|
|
for (length = elems.length; i < length; i++) null != (value = callback(elems[i], i, arg)) && ret.push(value);
|
|
else
|
|
for (i in elems) null != (value = callback(elems[i], i, arg)) && ret.push(value);
|
|
return flat(ret)
|
|
},
|
|
guid: 1,
|
|
support
|
|
}), "function" == typeof Symbol && (jQuery.fn[Symbol.iterator] = arr[Symbol.iterator]), jQuery.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function(_i, name) {
|
|
class2type["[object " + name + "]"] = name.toLowerCase()
|
|
});
|
|
var pop = arr.pop,
|
|
sort = arr.sort,
|
|
splice = arr.splice,
|
|
whitespace = "[\\x20\\t\\r\\n\\f]",
|
|
rtrimCSS = new RegExp("^[\\x20\\t\\r\\n\\f]+|((?:^|[^\\\\])(?:\\\\.)*)[\\x20\\t\\r\\n\\f]+$", "g");
|
|
jQuery.contains = function(a, b) {
|
|
var bup = b && b.parentNode;
|
|
return a === bup || !(!bup || 1 !== bup.nodeType || !(a.contains ? a.contains(bup) : a.compareDocumentPosition && 16 & a.compareDocumentPosition(bup)))
|
|
};
|
|
var rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;
|
|
|
|
function fcssescape(ch, asCodePoint) {
|
|
return asCodePoint ? "\0" === ch ? "\ufffd" : ch.slice(0, -1) + "\\" + ch.charCodeAt(ch.length - 1).toString(16) + " " : "\\" + ch
|
|
}
|
|
jQuery.escapeSelector = function(sel) {
|
|
return (sel + "").replace(rcssescape, fcssescape)
|
|
};
|
|
var preferredDoc = document,
|
|
pushNative = push;
|
|
! function() {
|
|
var i, Expr, outermostContext, sortInput, hasDuplicate, document, documentElement, documentIsHTML, rbuggyQSA, matches, push = pushNative,
|
|
expando = jQuery.expando,
|
|
dirruns = 0,
|
|
done = 0,
|
|
classCache = createCache(),
|
|
tokenCache = createCache(),
|
|
compilerCache = createCache(),
|
|
nonnativeSelectorCache = createCache(),
|
|
sortOrder = function(a, b) {
|
|
return a === b && (hasDuplicate = !0), 0
|
|
},
|
|
booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
|
|
identifier = "(?:\\\\[\\da-fA-F]{1,6}[\\x20\\t\\r\\n\\f]?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",
|
|
attributes = "\\[[\\x20\\t\\r\\n\\f]*(" + identifier + ")(?:" + whitespace + "*([*^$|!~]?=)" + whitespace + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + "*\\]",
|
|
pseudos = ":(" + identifier + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|.*)\\)|)",
|
|
rwhitespace = new RegExp(whitespace + "+", "g"),
|
|
rcomma = new RegExp("^[\\x20\\t\\r\\n\\f]*,[\\x20\\t\\r\\n\\f]*"),
|
|
rleadingCombinator = new RegExp("^[\\x20\\t\\r\\n\\f]*([>+~]|[\\x20\\t\\r\\n\\f])[\\x20\\t\\r\\n\\f]*"),
|
|
rdescend = new RegExp(whitespace + "|>"),
|
|
rpseudo = new RegExp(pseudos),
|
|
ridentifier = new RegExp("^" + identifier + "$"),
|
|
matchExpr = {
|
|
ID: new RegExp("^#(" + identifier + ")"),
|
|
CLASS: new RegExp("^\\.(" + identifier + ")"),
|
|
TAG: new RegExp("^(" + identifier + "|[*])"),
|
|
ATTR: new RegExp("^" + attributes),
|
|
PSEUDO: new RegExp("^" + pseudos),
|
|
CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\([\\x20\\t\\r\\n\\f]*(even|odd|(([+-]|)(\\d*)n|)[\\x20\\t\\r\\n\\f]*(?:([+-]|)[\\x20\\t\\r\\n\\f]*(\\d+)|))[\\x20\\t\\r\\n\\f]*\\)|)", "i"),
|
|
bool: new RegExp("^(?:" + booleans + ")$", "i"),
|
|
needsContext: new RegExp("^[\\x20\\t\\r\\n\\f]*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\([\\x20\\t\\r\\n\\f]*((?:-\\d)?\\d*)[\\x20\\t\\r\\n\\f]*\\)|)(?=[^-]|$)", "i")
|
|
},
|
|
rinputs = /^(?:input|select|textarea|button)$/i,
|
|
rheader = /^h\d$/i,
|
|
rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
|
|
rsibling = /[+~]/,
|
|
runescape = new RegExp("\\\\[\\da-fA-F]{1,6}[\\x20\\t\\r\\n\\f]?|\\\\([^\\r\\n\\f])", "g"),
|
|
funescape = function(escape, nonHex) {
|
|
var high = "0x" + escape.slice(1) - 65536;
|
|
return nonHex || (high < 0 ? String.fromCharCode(high + 65536) : String.fromCharCode(high >> 10 | 55296, 1023 & high | 56320))
|
|
},
|
|
unloadHandler = function() {
|
|
setDocument()
|
|
},
|
|
inDisabledFieldset = addCombinator(function(elem) {
|
|
return !0 === elem.disabled && nodeName(elem, "fieldset")
|
|
}, {
|
|
dir: "parentNode",
|
|
next: "legend"
|
|
});
|
|
try {
|
|
push.apply(arr = slice.call(preferredDoc.childNodes), preferredDoc.childNodes), arr[preferredDoc.childNodes.length].nodeType
|
|
} catch (e) {
|
|
push = {
|
|
apply: function(target, els) {
|
|
pushNative.apply(target, slice.call(els))
|
|
},
|
|
call: function(target) {
|
|
pushNative.apply(target, slice.call(arguments, 1))
|
|
}
|
|
}
|
|
}
|
|
|
|
function find(selector, context, results, seed) {
|
|
var m, i, elem, nid, match, groups, newSelector, newContext = context && context.ownerDocument,
|
|
nodeType = context ? context.nodeType : 9;
|
|
if (results = results || [], "string" != typeof selector || !selector || 1 !== nodeType && 9 !== nodeType && 11 !== nodeType) return results;
|
|
if (!seed && (setDocument(context), context = context || document, documentIsHTML)) {
|
|
if (11 !== nodeType && (match = rquickExpr.exec(selector)))
|
|
if (m = match[1]) {
|
|
if (9 === nodeType) {
|
|
if (!(elem = context.getElementById(m))) return results;
|
|
if (elem.id === m) return push.call(results, elem), results
|
|
} else if (newContext && (elem = newContext.getElementById(m)) && find.contains(context, elem) && elem.id === m) return push.call(results, elem), results
|
|
} else {
|
|
if (match[2]) return push.apply(results, context.getElementsByTagName(selector)), results;
|
|
if ((m = match[3]) && context.getElementsByClassName) return push.apply(results, context.getElementsByClassName(m)), results
|
|
} if (!(nonnativeSelectorCache[selector + " "] || rbuggyQSA && rbuggyQSA.test(selector))) {
|
|
if (newSelector = selector, newContext = context, 1 === nodeType && (rdescend.test(selector) || rleadingCombinator.test(selector))) {
|
|
for ((newContext = rsibling.test(selector) && testContext(context.parentNode) || context) == context && support.scope || ((nid = context.getAttribute("id")) ? nid = jQuery.escapeSelector(nid) : context.setAttribute("id", nid = expando)), i = (groups = tokenize(selector)).length; i--;) groups[i] = (nid ? "#" + nid : ":scope") + " " + toSelector(groups[i]);
|
|
newSelector = groups.join(",")
|
|
}
|
|
try {
|
|
return push.apply(results, newContext.querySelectorAll(newSelector)), results
|
|
} catch (qsaError) {
|
|
nonnativeSelectorCache(selector, !0)
|
|
} finally {
|
|
nid === expando && context.removeAttribute("id")
|
|
}
|
|
}
|
|
}
|
|
return select(selector.replace(rtrimCSS, "$1"), context, results, seed)
|
|
}
|
|
|
|
function createCache() {
|
|
var keys = [];
|
|
return function cache(key, value) {
|
|
return keys.push(key + " ") > Expr.cacheLength && delete cache[keys.shift()], cache[key + " "] = value
|
|
}
|
|
}
|
|
|
|
function markFunction(fn) {
|
|
return fn[expando] = !0, fn
|
|
}
|
|
|
|
function assert(fn) {
|
|
var el = document.createElement("fieldset");
|
|
try {
|
|
return !!fn(el)
|
|
} catch (e) {
|
|
return !1
|
|
} finally {
|
|
el.parentNode && el.parentNode.removeChild(el), el = null
|
|
}
|
|
}
|
|
|
|
function createInputPseudo(type) {
|
|
return function(elem) {
|
|
return nodeName(elem, "input") && elem.type === type
|
|
}
|
|
}
|
|
|
|
function createButtonPseudo(type) {
|
|
return function(elem) {
|
|
return (nodeName(elem, "input") || nodeName(elem, "button")) && elem.type === type
|
|
}
|
|
}
|
|
|
|
function createDisabledPseudo(disabled) {
|
|
return function(elem) {
|
|
return "form" in elem ? elem.parentNode && !1 === elem.disabled ? "label" in elem ? "label" in elem.parentNode ? elem.parentNode.disabled === disabled : elem.disabled === disabled : elem.isDisabled === disabled || elem.isDisabled !== !disabled && inDisabledFieldset(elem) === disabled : elem.disabled === disabled : "label" in elem && elem.disabled === disabled
|
|
}
|
|
}
|
|
|
|
function createPositionalPseudo(fn) {
|
|
return markFunction(function(argument) {
|
|
return argument = +argument, markFunction(function(seed, matches) {
|
|
for (var j, matchIndexes = fn([], seed.length, argument), i = matchIndexes.length; i--;) seed[j = matchIndexes[i]] && (seed[j] = !(matches[j] = seed[j]))
|
|
})
|
|
})
|
|
}
|
|
|
|
function testContext(context) {
|
|
return context && void 0 !== context.getElementsByTagName && context
|
|
}
|
|
|
|
function setDocument(node) {
|
|
var subWindow, doc = node ? node.ownerDocument || node : preferredDoc;
|
|
return doc != document && 9 === doc.nodeType && doc.documentElement ? (documentElement = (document = doc).documentElement, documentIsHTML = !jQuery.isXMLDoc(document), matches = documentElement.matches || documentElement.webkitMatchesSelector || documentElement.msMatchesSelector, documentElement.msMatchesSelector && preferredDoc != document && (subWindow = document.defaultView) && subWindow.top !== subWindow && subWindow.addEventListener("unload", unloadHandler), support.getById = assert(function(el) {
|
|
return documentElement.appendChild(el).id = jQuery.expando, !document.getElementsByName || !document.getElementsByName(jQuery.expando).length
|
|
}), support.disconnectedMatch = assert(function(el) {
|
|
return matches.call(el, "*")
|
|
}), support.scope = assert(function() {
|
|
return document.querySelectorAll(":scope")
|
|
}), support.cssHas = assert(function() {
|
|
try {
|
|
return document.querySelector(":has(*,:jqfake)"), !1
|
|
} catch (e) {
|
|
return !0
|
|
}
|
|
}), support.getById ? (Expr.filter.ID = function(id) {
|
|
var attrId = id.replace(runescape, funescape);
|
|
return function(elem) {
|
|
return elem.getAttribute("id") === attrId
|
|
}
|
|
}, Expr.find.ID = function(id, context) {
|
|
if (void 0 !== context.getElementById && documentIsHTML) {
|
|
var elem = context.getElementById(id);
|
|
return elem ? [elem] : []
|
|
}
|
|
}) : (Expr.filter.ID = function(id) {
|
|
var attrId = id.replace(runescape, funescape);
|
|
return function(elem) {
|
|
var node = void 0 !== elem.getAttributeNode && elem.getAttributeNode("id");
|
|
return node && node.value === attrId
|
|
}
|
|
}, Expr.find.ID = function(id, context) {
|
|
if (void 0 !== context.getElementById && documentIsHTML) {
|
|
var node, i, elems, elem = context.getElementById(id);
|
|
if (elem) {
|
|
if ((node = elem.getAttributeNode("id")) && node.value === id) return [elem];
|
|
for (elems = context.getElementsByName(id), i = 0; elem = elems[i++];)
|
|
if ((node = elem.getAttributeNode("id")) && node.value === id) return [elem]
|
|
}
|
|
return []
|
|
}
|
|
}), Expr.find.TAG = function(tag, context) {
|
|
return void 0 !== context.getElementsByTagName ? context.getElementsByTagName(tag) : context.querySelectorAll(tag)
|
|
}, Expr.find.CLASS = function(className, context) {
|
|
if (void 0 !== context.getElementsByClassName && documentIsHTML) return context.getElementsByClassName(className)
|
|
}, rbuggyQSA = [], assert(function(el) {
|
|
var input;
|
|
documentElement.appendChild(el).innerHTML = "<a id='" + expando + "' href='' disabled='disabled'></a><select id='" + expando + "-\r\\' disabled='disabled'><option selected=''></option></select>", el.querySelectorAll("[selected]").length || rbuggyQSA.push("\\[[\\x20\\t\\r\\n\\f]*(?:value|" + booleans + ")"), el.querySelectorAll("[id~=" + expando + "-]").length || rbuggyQSA.push("~="), el.querySelectorAll("a#" + expando + "+*").length || rbuggyQSA.push(".#.+[+~]"), el.querySelectorAll(":checked").length || rbuggyQSA.push(":checked"), (input = document.createElement("input")).setAttribute("type", "hidden"), el.appendChild(input).setAttribute("name", "D"), documentElement.appendChild(el).disabled = !0, 2 !== el.querySelectorAll(":disabled").length && rbuggyQSA.push(":enabled", ":disabled"), (input = document.createElement("input")).setAttribute("name", ""), el.appendChild(input), el.querySelectorAll("[name='']").length || rbuggyQSA.push("\\[[\\x20\\t\\r\\n\\f]*name[\\x20\\t\\r\\n\\f]*=[\\x20\\t\\r\\n\\f]*(?:''|\"\")")
|
|
}), support.cssHas || rbuggyQSA.push(":has"), rbuggyQSA = rbuggyQSA.length && new RegExp(rbuggyQSA.join("|")), sortOrder = function(a, b) {
|
|
if (a === b) return hasDuplicate = !0, 0;
|
|
var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
|
|
return compare || (1 & (compare = (a.ownerDocument || a) == (b.ownerDocument || b) ? a.compareDocumentPosition(b) : 1) || !support.sortDetached && b.compareDocumentPosition(a) === compare ? a === document || a.ownerDocument == preferredDoc && find.contains(preferredDoc, a) ? -1 : b === document || b.ownerDocument == preferredDoc && find.contains(preferredDoc, b) ? 1 : sortInput ? indexOf.call(sortInput, a) - indexOf.call(sortInput, b) : 0 : 4 & compare ? -1 : 1)
|
|
}, document) : document
|
|
}
|
|
for (i in find.matches = function(expr, elements) {
|
|
return find(expr, null, null, elements)
|
|
}, find.matchesSelector = function(elem, expr) {
|
|
if (setDocument(elem), documentIsHTML && !nonnativeSelectorCache[expr + " "] && (!rbuggyQSA || !rbuggyQSA.test(expr))) try {
|
|
var ret = matches.call(elem, expr);
|
|
if (ret || support.disconnectedMatch || elem.document && 11 !== elem.document.nodeType) return ret
|
|
} catch (e) {
|
|
nonnativeSelectorCache(expr, !0)
|
|
}
|
|
return find(expr, document, null, [elem]).length > 0
|
|
}, find.contains = function(context, elem) {
|
|
return (context.ownerDocument || context) != document && setDocument(context), jQuery.contains(context, elem)
|
|
}, find.attr = function(elem, name) {
|
|
(elem.ownerDocument || elem) != document && setDocument(elem);
|
|
var fn = Expr.attrHandle[name.toLowerCase()],
|
|
val = fn && hasOwn.call(Expr.attrHandle, name.toLowerCase()) ? fn(elem, name, !documentIsHTML) : void 0;
|
|
return void 0 !== val ? val : elem.getAttribute(name)
|
|
}, find.error = function(msg) {
|
|
throw new Error("Syntax error, unrecognized expression: " + msg)
|
|
}, jQuery.uniqueSort = function(results) {
|
|
var elem, duplicates = [],
|
|
j = 0,
|
|
i = 0;
|
|
if (hasDuplicate = !support.sortStable, sortInput = !support.sortStable && slice.call(results, 0), sort.call(results, sortOrder), hasDuplicate) {
|
|
for (; elem = results[i++];) elem === results[i] && (j = duplicates.push(i));
|
|
for (; j--;) splice.call(results, duplicates[j], 1)
|
|
}
|
|
return sortInput = null, results
|
|
}, jQuery.fn.uniqueSort = function() {
|
|
return this.pushStack(jQuery.uniqueSort(slice.apply(this)))
|
|
}, Expr = jQuery.expr = {
|
|
cacheLength: 50,
|
|
createPseudo: markFunction,
|
|
match: matchExpr,
|
|
attrHandle: {},
|
|
find: {},
|
|
relative: {
|
|
">": {
|
|
dir: "parentNode",
|
|
first: !0
|
|
},
|
|
" ": {
|
|
dir: "parentNode"
|
|
},
|
|
"+": {
|
|
dir: "previousSibling",
|
|
first: !0
|
|
},
|
|
"~": {
|
|
dir: "previousSibling"
|
|
}
|
|
},
|
|
preFilter: {
|
|
ATTR: function(match) {
|
|
return match[1] = match[1].replace(runescape, funescape), match[3] = (match[3] || match[4] || match[5] || "").replace(runescape, funescape), "~=" === match[2] && (match[3] = " " + match[3] + " "), match.slice(0, 4)
|
|
},
|
|
CHILD: function(match) {
|
|
return match[1] = match[1].toLowerCase(), "nth" === match[1].slice(0, 3) ? (match[3] || find.error(match[0]), match[4] = +(match[4] ? match[5] + (match[6] || 1) : 2 * ("even" === match[3] || "odd" === match[3])), match[5] = +(match[7] + match[8] || "odd" === match[3])) : match[3] && find.error(match[0]), match
|
|
},
|
|
PSEUDO: function(match) {
|
|
var excess, unquoted = !match[6] && match[2];
|
|
return matchExpr.CHILD.test(match[0]) ? null : (match[3] ? match[2] = match[4] || match[5] || "" : unquoted && rpseudo.test(unquoted) && (excess = tokenize(unquoted, !0)) && (excess = unquoted.indexOf(")", unquoted.length - excess) - unquoted.length) && (match[0] = match[0].slice(0, excess), match[2] = unquoted.slice(0, excess)), match.slice(0, 3))
|
|
}
|
|
},
|
|
filter: {
|
|
TAG: function(nodeNameSelector) {
|
|
var expectedNodeName = nodeNameSelector.replace(runescape, funescape).toLowerCase();
|
|
return "*" === nodeNameSelector ? function() {
|
|
return !0
|
|
} : function(elem) {
|
|
return nodeName(elem, expectedNodeName)
|
|
}
|
|
},
|
|
CLASS: function(className) {
|
|
var pattern = classCache[className + " "];
|
|
return pattern || (pattern = new RegExp("(^|[\\x20\\t\\r\\n\\f])" + className + "(" + whitespace + "|$)")) && classCache(className, function(elem) {
|
|
return pattern.test("string" == typeof elem.className && elem.className || void 0 !== elem.getAttribute && elem.getAttribute("class") || "")
|
|
})
|
|
},
|
|
ATTR: function(name, operator, check) {
|
|
return function(elem) {
|
|
var result = find.attr(elem, name);
|
|
return null == result ? "!=" === operator : !operator || (result += "", "=" === operator ? result === check : "!=" === operator ? result !== check : "^=" === operator ? check && 0 === result.indexOf(check) : "*=" === operator ? check && result.indexOf(check) > -1 : "$=" === operator ? check && result.slice(-check.length) === check : "~=" === operator ? (" " + result.replace(rwhitespace, " ") + " ").indexOf(check) > -1 : "|=" === operator && (result === check || result.slice(0, check.length + 1) === check + "-"))
|
|
}
|
|
},
|
|
CHILD: function(type, what, _argument, first, last) {
|
|
var simple = "nth" !== type.slice(0, 3),
|
|
forward = "last" !== type.slice(-4),
|
|
ofType = "of-type" === what;
|
|
return 1 === first && 0 === last ? function(elem) {
|
|
return !!elem.parentNode
|
|
} : function(elem, _context, xml) {
|
|
var cache, outerCache, node, nodeIndex, start, dir = simple !== forward ? "nextSibling" : "previousSibling",
|
|
parent = elem.parentNode,
|
|
name = ofType && elem.nodeName.toLowerCase(),
|
|
useCache = !xml && !ofType,
|
|
diff = !1;
|
|
if (parent) {
|
|
if (simple) {
|
|
for (; dir;) {
|
|
for (node = elem; node = node[dir];)
|
|
if (ofType ? nodeName(node, name) : 1 === node.nodeType) return !1;
|
|
start = dir = "only" === type && !start && "nextSibling"
|
|
}
|
|
return !0
|
|
}
|
|
if (start = [forward ? parent.firstChild : parent.lastChild], forward && useCache) {
|
|
for (diff = (nodeIndex = (cache = (outerCache = parent[expando] || (parent[expando] = {}))[type] || [])[0] === dirruns && cache[1]) && cache[2], node = nodeIndex && parent.childNodes[nodeIndex]; node = ++nodeIndex && node && node[dir] || (diff = nodeIndex = 0) || start.pop();)
|
|
if (1 === node.nodeType && ++diff && node === elem) {
|
|
outerCache[type] = [dirruns, nodeIndex, diff];
|
|
break
|
|
}
|
|
} else if (useCache && (diff = nodeIndex = (cache = (outerCache = elem[expando] || (elem[expando] = {}))[type] || [])[0] === dirruns && cache[1]), !1 === diff)
|
|
for (;
|
|
(node = ++nodeIndex && node && node[dir] || (diff = nodeIndex = 0) || start.pop()) && (!(ofType ? nodeName(node, name) : 1 === node.nodeType) || !++diff || (useCache && ((outerCache = node[expando] || (node[expando] = {}))[type] = [dirruns, diff]), node !== elem)););
|
|
return (diff -= last) === first || diff % first === 0 && diff / first >= 0
|
|
}
|
|
}
|
|
},
|
|
PSEUDO: function(pseudo, argument) {
|
|
var args, fn = Expr.pseudos[pseudo] || Expr.setFilters[pseudo.toLowerCase()] || find.error("unsupported pseudo: " + pseudo);
|
|
return fn[expando] ? fn(argument) : fn.length > 1 ? (args = [pseudo, pseudo, "", argument], Expr.setFilters.hasOwnProperty(pseudo.toLowerCase()) ? markFunction(function(seed, matches) {
|
|
for (var idx, matched = fn(seed, argument), i = matched.length; i--;) seed[idx = indexOf.call(seed, matched[i])] = !(matches[idx] = matched[i])
|
|
}) : function(elem) {
|
|
return fn(elem, 0, args)
|
|
}) : fn
|
|
}
|
|
},
|
|
pseudos: {
|
|
not: markFunction(function(selector) {
|
|
var input = [],
|
|
results = [],
|
|
matcher = compile(selector.replace(rtrimCSS, "$1"));
|
|
return matcher[expando] ? markFunction(function(seed, matches, _context, xml) {
|
|
for (var elem, unmatched = matcher(seed, null, xml, []), i = seed.length; i--;)(elem = unmatched[i]) && (seed[i] = !(matches[i] = elem))
|
|
}) : function(elem, _context, xml) {
|
|
return input[0] = elem, matcher(input, null, xml, results), input[0] = null, !results.pop()
|
|
}
|
|
}),
|
|
has: markFunction(function(selector) {
|
|
return function(elem) {
|
|
return find(selector, elem).length > 0
|
|
}
|
|
}),
|
|
contains: markFunction(function(text) {
|
|
return text = text.replace(runescape, funescape),
|
|
function(elem) {
|
|
return (elem.textContent || jQuery.text(elem)).indexOf(text) > -1
|
|
}
|
|
}),
|
|
lang: markFunction(function(lang) {
|
|
return ridentifier.test(lang || "") || find.error("unsupported lang: " + lang), lang = lang.replace(runescape, funescape).toLowerCase(),
|
|
function(elem) {
|
|
var elemLang;
|
|
do {
|
|
if (elemLang = documentIsHTML ? elem.lang : elem.getAttribute("xml:lang") || elem.getAttribute("lang")) return (elemLang = elemLang.toLowerCase()) === lang || 0 === elemLang.indexOf(lang + "-")
|
|
} while ((elem = elem.parentNode) && 1 === elem.nodeType);
|
|
return !1
|
|
}
|
|
}),
|
|
target: function(elem) {
|
|
var hash = window.location && window.location.hash;
|
|
return hash && hash.slice(1) === elem.id
|
|
},
|
|
root: function(elem) {
|
|
return elem === documentElement
|
|
},
|
|
focus: function(elem) {
|
|
return elem === function() {
|
|
try {
|
|
return document.activeElement
|
|
} catch (err) {}
|
|
}() && document.hasFocus() && !!(elem.type || elem.href || ~elem.tabIndex)
|
|
},
|
|
enabled: createDisabledPseudo(!1),
|
|
disabled: createDisabledPseudo(!0),
|
|
checked: function(elem) {
|
|
return nodeName(elem, "input") && !!elem.checked || nodeName(elem, "option") && !!elem.selected
|
|
},
|
|
selected: function(elem) {
|
|
return elem.parentNode && elem.parentNode.selectedIndex, !0 === elem.selected
|
|
},
|
|
empty: function(elem) {
|
|
for (elem = elem.firstChild; elem; elem = elem.nextSibling)
|
|
if (elem.nodeType < 6) return !1;
|
|
return !0
|
|
},
|
|
parent: function(elem) {
|
|
return !Expr.pseudos.empty(elem)
|
|
},
|
|
header: function(elem) {
|
|
return rheader.test(elem.nodeName)
|
|
},
|
|
input: function(elem) {
|
|
return rinputs.test(elem.nodeName)
|
|
},
|
|
button: function(elem) {
|
|
return nodeName(elem, "input") && "button" === elem.type || nodeName(elem, "button")
|
|
},
|
|
text: function(elem) {
|
|
var attr;
|
|
return nodeName(elem, "input") && "text" === elem.type && (null == (attr = elem.getAttribute("type")) || "text" === attr.toLowerCase())
|
|
},
|
|
first: createPositionalPseudo(function() {
|
|
return [0]
|
|
}),
|
|
last: createPositionalPseudo(function(_matchIndexes, length) {
|
|
return [length - 1]
|
|
}),
|
|
eq: createPositionalPseudo(function(_matchIndexes, length, argument) {
|
|
return [argument < 0 ? argument + length : argument]
|
|
}),
|
|
even: createPositionalPseudo(function(matchIndexes, length) {
|
|
for (var i = 0; i < length; i += 2) matchIndexes.push(i);
|
|
return matchIndexes
|
|
}),
|
|
odd: createPositionalPseudo(function(matchIndexes, length) {
|
|
for (var i = 1; i < length; i += 2) matchIndexes.push(i);
|
|
return matchIndexes
|
|
}),
|
|
lt: createPositionalPseudo(function(matchIndexes, length, argument) {
|
|
var i;
|
|
for (i = argument < 0 ? argument + length : argument > length ? length : argument; --i >= 0;) matchIndexes.push(i);
|
|
return matchIndexes
|
|
}),
|
|
gt: createPositionalPseudo(function(matchIndexes, length, argument) {
|
|
for (var i = argument < 0 ? argument + length : argument; ++i < length;) matchIndexes.push(i);
|
|
return matchIndexes
|
|
})
|
|
}
|
|
}, Expr.pseudos.nth = Expr.pseudos.eq, {
|
|
radio: !0,
|
|
checkbox: !0,
|
|
file: !0,
|
|
password: !0,
|
|
image: !0
|
|
}) Expr.pseudos[i] = createInputPseudo(i);
|
|
for (i in {
|
|
submit: !0,
|
|
reset: !0
|
|
}) Expr.pseudos[i] = createButtonPseudo(i);
|
|
|
|
function setFilters() {}
|
|
|
|
function tokenize(selector, parseOnly) {
|
|
var matched, match, tokens, type, soFar, groups, preFilters, cached = tokenCache[selector + " "];
|
|
if (cached) return parseOnly ? 0 : cached.slice(0);
|
|
for (soFar = selector, groups = [], preFilters = Expr.preFilter; soFar;) {
|
|
for (type in matched && !(match = rcomma.exec(soFar)) || (match && (soFar = soFar.slice(match[0].length) || soFar), groups.push(tokens = [])), matched = !1, (match = rleadingCombinator.exec(soFar)) && (matched = match.shift(), tokens.push({
|
|
value: matched,
|
|
type: match[0].replace(rtrimCSS, " ")
|
|
}), soFar = soFar.slice(matched.length)), Expr.filter) !(match = matchExpr[type].exec(soFar)) || preFilters[type] && !(match = preFilters[type](match)) || (matched = match.shift(), tokens.push({
|
|
value: matched,
|
|
type,
|
|
matches: match
|
|
}), soFar = soFar.slice(matched.length));
|
|
if (!matched) break
|
|
}
|
|
return parseOnly ? soFar.length : soFar ? find.error(selector) : tokenCache(selector, groups).slice(0)
|
|
}
|
|
|
|
function toSelector(tokens) {
|
|
for (var i = 0, len = tokens.length, selector = ""; i < len; i++) selector += tokens[i].value;
|
|
return selector
|
|
}
|
|
|
|
function addCombinator(matcher, combinator, base) {
|
|
var dir = combinator.dir,
|
|
skip = combinator.next,
|
|
key = skip || dir,
|
|
checkNonElements = base && "parentNode" === key,
|
|
doneName = done++;
|
|
return combinator.first ? function(elem, context, xml) {
|
|
for (; elem = elem[dir];)
|
|
if (1 === elem.nodeType || checkNonElements) return matcher(elem, context, xml);
|
|
return !1
|
|
} : function(elem, context, xml) {
|
|
var oldCache, outerCache, newCache = [dirruns, doneName];
|
|
if (xml) {
|
|
for (; elem = elem[dir];)
|
|
if ((1 === elem.nodeType || checkNonElements) && matcher(elem, context, xml)) return !0
|
|
} else
|
|
for (; elem = elem[dir];)
|
|
if (1 === elem.nodeType || checkNonElements)
|
|
if (outerCache = elem[expando] || (elem[expando] = {}), skip && nodeName(elem, skip)) elem = elem[dir] || elem;
|
|
else {
|
|
if ((oldCache = outerCache[key]) && oldCache[0] === dirruns && oldCache[1] === doneName) return newCache[2] = oldCache[2];
|
|
if (outerCache[key] = newCache, newCache[2] = matcher(elem, context, xml)) return !0
|
|
} return !1
|
|
}
|
|
}
|
|
|
|
function elementMatcher(matchers) {
|
|
return matchers.length > 1 ? function(elem, context, xml) {
|
|
for (var i = matchers.length; i--;)
|
|
if (!matchers[i](elem, context, xml)) return !1;
|
|
return !0
|
|
} : matchers[0]
|
|
}
|
|
|
|
function condense(unmatched, map, filter, context, xml) {
|
|
for (var elem, newUnmatched = [], i = 0, len = unmatched.length, mapped = null != map; i < len; i++)(elem = unmatched[i]) && (filter && !filter(elem, context, xml) || (newUnmatched.push(elem), mapped && map.push(i)));
|
|
return newUnmatched
|
|
}
|
|
|
|
function setMatcher(preFilter, selector, matcher, postFilter, postFinder, postSelector) {
|
|
return postFilter && !postFilter[expando] && (postFilter = setMatcher(postFilter)), postFinder && !postFinder[expando] && (postFinder = setMatcher(postFinder, postSelector)), markFunction(function(seed, results, context, xml) {
|
|
var temp, i, elem, matcherOut, preMap = [],
|
|
postMap = [],
|
|
preexisting = results.length,
|
|
elems = seed || function(selector, contexts, results) {
|
|
for (var i = 0, len = contexts.length; i < len; i++) find(selector, contexts[i], results);
|
|
return results
|
|
}(selector || "*", context.nodeType ? [context] : context, []),
|
|
matcherIn = !preFilter || !seed && selector ? elems : condense(elems, preMap, preFilter, context, xml);
|
|
if (matcher ? matcher(matcherIn, matcherOut = postFinder || (seed ? preFilter : preexisting || postFilter) ? [] : results, context, xml) : matcherOut = matcherIn, postFilter)
|
|
for (temp = condense(matcherOut, postMap), postFilter(temp, [], context, xml), i = temp.length; i--;)(elem = temp[i]) && (matcherOut[postMap[i]] = !(matcherIn[postMap[i]] = elem));
|
|
if (seed) {
|
|
if (postFinder || preFilter) {
|
|
if (postFinder) {
|
|
for (temp = [], i = matcherOut.length; i--;)(elem = matcherOut[i]) && temp.push(matcherIn[i] = elem);
|
|
postFinder(null, matcherOut = [], temp, xml)
|
|
}
|
|
for (i = matcherOut.length; i--;)(elem = matcherOut[i]) && (temp = postFinder ? indexOf.call(seed, elem) : preMap[i]) > -1 && (seed[temp] = !(results[temp] = elem))
|
|
}
|
|
} else matcherOut = condense(matcherOut === results ? matcherOut.splice(preexisting, matcherOut.length) : matcherOut), postFinder ? postFinder(null, results, matcherOut, xml) : push.apply(results, matcherOut)
|
|
})
|
|
}
|
|
|
|
function matcherFromTokens(tokens) {
|
|
for (var checkContext, matcher, j, len = tokens.length, leadingRelative = Expr.relative[tokens[0].type], implicitRelative = leadingRelative || Expr.relative[" "], i = leadingRelative ? 1 : 0, matchContext = addCombinator(function(elem) {
|
|
return elem === checkContext
|
|
}, implicitRelative, !0), matchAnyContext = addCombinator(function(elem) {
|
|
return indexOf.call(checkContext, elem) > -1
|
|
}, implicitRelative, !0), matchers = [function(elem, context, xml) {
|
|
var ret = !leadingRelative && (xml || context != outermostContext) || ((checkContext = context).nodeType ? matchContext(elem, context, xml) : matchAnyContext(elem, context, xml));
|
|
return checkContext = null, ret
|
|
}]; i < len; i++)
|
|
if (matcher = Expr.relative[tokens[i].type]) matchers = [addCombinator(elementMatcher(matchers), matcher)];
|
|
else {
|
|
if ((matcher = Expr.filter[tokens[i].type].apply(null, tokens[i].matches))[expando]) {
|
|
for (j = ++i; j < len && !Expr.relative[tokens[j].type]; j++);
|
|
return setMatcher(i > 1 && elementMatcher(matchers), i > 1 && toSelector(tokens.slice(0, i - 1).concat({
|
|
value: " " === tokens[i - 2].type ? "*" : ""
|
|
})).replace(rtrimCSS, "$1"), matcher, i < j && matcherFromTokens(tokens.slice(i, j)), j < len && matcherFromTokens(tokens = tokens.slice(j)), j < len && toSelector(tokens))
|
|
}
|
|
matchers.push(matcher)
|
|
} return elementMatcher(matchers)
|
|
}
|
|
|
|
function compile(selector, match) {
|
|
var i, setMatchers = [],
|
|
elementMatchers = [],
|
|
cached = compilerCache[selector + " "];
|
|
if (!cached) {
|
|
for (match || (match = tokenize(selector)), i = match.length; i--;)(cached = matcherFromTokens(match[i]))[expando] ? setMatchers.push(cached) : elementMatchers.push(cached);
|
|
cached = compilerCache(selector, function(elementMatchers, setMatchers) {
|
|
var bySet = setMatchers.length > 0,
|
|
byElement = elementMatchers.length > 0,
|
|
superMatcher = function(seed, context, xml, results, outermost) {
|
|
var elem, j, matcher, matchedCount = 0,
|
|
i = "0",
|
|
unmatched = seed && [],
|
|
setMatched = [],
|
|
contextBackup = outermostContext,
|
|
elems = seed || byElement && Expr.find.TAG("*", outermost),
|
|
dirrunsUnique = dirruns += null == contextBackup ? 1 : Math.random() || .1,
|
|
len = elems.length;
|
|
for (outermost && (outermostContext = context == document || context || outermost); i !== len && null != (elem = elems[i]); i++) {
|
|
if (byElement && elem) {
|
|
for (j = 0, context || elem.ownerDocument == document || (setDocument(elem), xml = !documentIsHTML); matcher = elementMatchers[j++];)
|
|
if (matcher(elem, context || document, xml)) {
|
|
push.call(results, elem);
|
|
break
|
|
} outermost && (dirruns = dirrunsUnique)
|
|
}
|
|
bySet && ((elem = !matcher && elem) && matchedCount--, seed && unmatched.push(elem))
|
|
}
|
|
if (matchedCount += i, bySet && i !== matchedCount) {
|
|
for (j = 0; matcher = setMatchers[j++];) matcher(unmatched, setMatched, context, xml);
|
|
if (seed) {
|
|
if (matchedCount > 0)
|
|
for (; i--;) unmatched[i] || setMatched[i] || (setMatched[i] = pop.call(results));
|
|
setMatched = condense(setMatched)
|
|
}
|
|
push.apply(results, setMatched), outermost && !seed && setMatched.length > 0 && matchedCount + setMatchers.length > 1 && jQuery.uniqueSort(results)
|
|
}
|
|
return outermost && (dirruns = dirrunsUnique, outermostContext = contextBackup), unmatched
|
|
};
|
|
return bySet ? markFunction(superMatcher) : superMatcher
|
|
}(elementMatchers, setMatchers)), cached.selector = selector
|
|
}
|
|
return cached
|
|
}
|
|
|
|
function select(selector, context, results, seed) {
|
|
var i, tokens, token, type, find, compiled = "function" == typeof selector && selector,
|
|
match = !seed && tokenize(selector = compiled.selector || selector);
|
|
if (results = results || [], 1 === match.length) {
|
|
if ((tokens = match[0] = match[0].slice(0)).length > 2 && "ID" === (token = tokens[0]).type && 9 === context.nodeType && documentIsHTML && Expr.relative[tokens[1].type]) {
|
|
if (!(context = (Expr.find.ID(token.matches[0].replace(runescape, funescape), context) || [])[0])) return results;
|
|
compiled && (context = context.parentNode), selector = selector.slice(tokens.shift().value.length)
|
|
}
|
|
for (i = matchExpr.needsContext.test(selector) ? 0 : tokens.length; i-- && (token = tokens[i], !Expr.relative[type = token.type]);)
|
|
if ((find = Expr.find[type]) && (seed = find(token.matches[0].replace(runescape, funescape), rsibling.test(tokens[0].type) && testContext(context.parentNode) || context))) {
|
|
if (tokens.splice(i, 1), !(selector = seed.length && toSelector(tokens))) return push.apply(results, seed), results;
|
|
break
|
|
}
|
|
}
|
|
return (compiled || compile(selector, match))(seed, context, !documentIsHTML, results, !context || rsibling.test(selector) && testContext(context.parentNode) || context), results
|
|
}
|
|
setFilters.prototype = Expr.filters = Expr.pseudos, Expr.setFilters = new setFilters, support.sortStable = expando.split("").sort(sortOrder).join("") === expando, setDocument(), support.sortDetached = assert(function(el) {
|
|
return 1 & el.compareDocumentPosition(document.createElement("fieldset"))
|
|
}), jQuery.find = find, jQuery.expr[":"] = jQuery.expr.pseudos, jQuery.unique = jQuery.uniqueSort, find.compile = compile, find.select = select, find.setDocument = setDocument, find.tokenize = tokenize, find.escape = jQuery.escapeSelector, find.getText = jQuery.text, find.isXML = jQuery.isXMLDoc, find.selectors = jQuery.expr, find.support = jQuery.support, find.uniqueSort = jQuery.uniqueSort
|
|
}();
|
|
var dir = function(elem, dir, until) {
|
|
for (var matched = [], truncate = void 0 !== until;
|
|
(elem = elem[dir]) && 9 !== elem.nodeType;)
|
|
if (1 === elem.nodeType) {
|
|
if (truncate && jQuery(elem).is(until)) break;
|
|
matched.push(elem)
|
|
} return matched
|
|
},
|
|
siblings = function(n, elem) {
|
|
for (var matched = []; n; n = n.nextSibling) 1 === n.nodeType && n !== elem && matched.push(n);
|
|
return matched
|
|
},
|
|
rneedsContext = jQuery.expr.match.needsContext,
|
|
rsingleTag = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;
|
|
|
|
function winnow(elements, qualifier, not) {
|
|
return isFunction(qualifier) ? jQuery.grep(elements, function(elem, i) {
|
|
return !!qualifier.call(elem, i, elem) !== not
|
|
}) : qualifier.nodeType ? jQuery.grep(elements, function(elem) {
|
|
return elem === qualifier !== not
|
|
}) : "string" != typeof qualifier ? jQuery.grep(elements, function(elem) {
|
|
return indexOf.call(qualifier, elem) > -1 !== not
|
|
}) : jQuery.filter(qualifier, elements, not)
|
|
}
|
|
jQuery.filter = function(expr, elems, not) {
|
|
var elem = elems[0];
|
|
return not && (expr = ":not(" + expr + ")"), 1 === elems.length && 1 === elem.nodeType ? jQuery.find.matchesSelector(elem, expr) ? [elem] : [] : jQuery.find.matches(expr, jQuery.grep(elems, function(elem) {
|
|
return 1 === elem.nodeType
|
|
}))
|
|
}, jQuery.fn.extend({
|
|
find: function(selector) {
|
|
var i, ret, len = this.length,
|
|
self = this;
|
|
if ("string" != typeof selector) return this.pushStack(jQuery(selector).filter(function() {
|
|
for (i = 0; i < len; i++)
|
|
if (jQuery.contains(self[i], this)) return !0
|
|
}));
|
|
for (ret = this.pushStack([]), i = 0; i < len; i++) jQuery.find(selector, self[i], ret);
|
|
return len > 1 ? jQuery.uniqueSort(ret) : ret
|
|
},
|
|
filter: function(selector) {
|
|
return this.pushStack(winnow(this, selector || [], !1))
|
|
},
|
|
not: function(selector) {
|
|
return this.pushStack(winnow(this, selector || [], !0))
|
|
},
|
|
is: function(selector) {
|
|
return !!winnow(this, "string" == typeof selector && rneedsContext.test(selector) ? jQuery(selector) : selector || [], !1).length
|
|
}
|
|
});
|
|
var rootjQuery, rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;
|
|
(jQuery.fn.init = function(selector, context, root) {
|
|
var match, elem;
|
|
if (!selector) return this;
|
|
if (root = root || rootjQuery, "string" == typeof selector) {
|
|
if (!(match = "<" === selector[0] && ">" === selector[selector.length - 1] && selector.length >= 3 ? [null, selector, null] : rquickExpr.exec(selector)) || !match[1] && context) return !context || context.jquery ? (context || root).find(selector) : this.constructor(context).find(selector);
|
|
if (match[1]) {
|
|
if (context = context instanceof jQuery ? context[0] : context, jQuery.merge(this, jQuery.parseHTML(match[1], context && context.nodeType ? context.ownerDocument || context : document, !0)), rsingleTag.test(match[1]) && jQuery.isPlainObject(context))
|
|
for (match in context) isFunction(this[match]) ? this[match](context[match]) : this.attr(match, context[match]);
|
|
return this
|
|
}
|
|
return (elem = document.getElementById(match[2])) && (this[0] = elem, this.length = 1), this
|
|
}
|
|
return selector.nodeType ? (this[0] = selector, this.length = 1, this) : isFunction(selector) ? void 0 !== root.ready ? root.ready(selector) : selector(jQuery) : jQuery.makeArray(selector, this)
|
|
}).prototype = jQuery.fn, rootjQuery = jQuery(document);
|
|
var rparentsprev = /^(?:parents|prev(?:Until|All))/,
|
|
guaranteedUnique = {
|
|
children: !0,
|
|
contents: !0,
|
|
next: !0,
|
|
prev: !0
|
|
};
|
|
|
|
function sibling(cur, dir) {
|
|
for (;
|
|
(cur = cur[dir]) && 1 !== cur.nodeType;);
|
|
return cur
|
|
}
|
|
jQuery.fn.extend({
|
|
has: function(target) {
|
|
var targets = jQuery(target, this),
|
|
l = targets.length;
|
|
return this.filter(function() {
|
|
for (var i = 0; i < l; i++)
|
|
if (jQuery.contains(this, targets[i])) return !0
|
|
})
|
|
},
|
|
closest: function(selectors, context) {
|
|
var cur, i = 0,
|
|
l = this.length,
|
|
matched = [],
|
|
targets = "string" != typeof selectors && jQuery(selectors);
|
|
if (!rneedsContext.test(selectors))
|
|
for (; i < l; i++)
|
|
for (cur = this[i]; cur && cur !== context; cur = cur.parentNode)
|
|
if (cur.nodeType < 11 && (targets ? targets.index(cur) > -1 : 1 === cur.nodeType && jQuery.find.matchesSelector(cur, selectors))) {
|
|
matched.push(cur);
|
|
break
|
|
} return this.pushStack(matched.length > 1 ? jQuery.uniqueSort(matched) : matched)
|
|
},
|
|
index: function(elem) {
|
|
return elem ? "string" == typeof elem ? indexOf.call(jQuery(elem), this[0]) : indexOf.call(this, elem.jquery ? elem[0] : elem) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1
|
|
},
|
|
add: function(selector, context) {
|
|
return this.pushStack(jQuery.uniqueSort(jQuery.merge(this.get(), jQuery(selector, context))))
|
|
},
|
|
addBack: function(selector) {
|
|
return this.add(null == selector ? this.prevObject : this.prevObject.filter(selector))
|
|
}
|
|
}), jQuery.each({
|
|
parent: function(elem) {
|
|
var parent = elem.parentNode;
|
|
return parent && 11 !== parent.nodeType ? parent : null
|
|
},
|
|
parents: function(elem) {
|
|
return dir(elem, "parentNode")
|
|
},
|
|
parentsUntil: function(elem, _i, until) {
|
|
return dir(elem, "parentNode", until)
|
|
},
|
|
next: function(elem) {
|
|
return sibling(elem, "nextSibling")
|
|
},
|
|
prev: function(elem) {
|
|
return sibling(elem, "previousSibling")
|
|
},
|
|
nextAll: function(elem) {
|
|
return dir(elem, "nextSibling")
|
|
},
|
|
prevAll: function(elem) {
|
|
return dir(elem, "previousSibling")
|
|
},
|
|
nextUntil: function(elem, _i, until) {
|
|
return dir(elem, "nextSibling", until)
|
|
},
|
|
prevUntil: function(elem, _i, until) {
|
|
return dir(elem, "previousSibling", until)
|
|
},
|
|
siblings: function(elem) {
|
|
return siblings((elem.parentNode || {}).firstChild, elem)
|
|
},
|
|
children: function(elem) {
|
|
return siblings(elem.firstChild)
|
|
},
|
|
contents: function(elem) {
|
|
return null != elem.contentDocument && getProto(elem.contentDocument) ? elem.contentDocument : (nodeName(elem, "template") && (elem = elem.content || elem), jQuery.merge([], elem.childNodes))
|
|
}
|
|
}, function(name, fn) {
|
|
jQuery.fn[name] = function(until, selector) {
|
|
var matched = jQuery.map(this, fn, until);
|
|
return "Until" !== name.slice(-5) && (selector = until), selector && "string" == typeof selector && (matched = jQuery.filter(selector, matched)), this.length > 1 && (guaranteedUnique[name] || jQuery.uniqueSort(matched), rparentsprev.test(name) && matched.reverse()), this.pushStack(matched)
|
|
}
|
|
});
|
|
var rnothtmlwhite = /[^\x20\t\r\n\f]+/g;
|
|
|
|
function Identity(v) {
|
|
return v
|
|
}
|
|
|
|
function Thrower(ex) {
|
|
throw ex
|
|
}
|
|
|
|
function adoptValue(value, resolve, reject, noValue) {
|
|
var method;
|
|
try {
|
|
value && isFunction(method = value.promise) ? method.call(value).done(resolve).fail(reject) : value && isFunction(method = value.then) ? method.call(value, resolve, reject) : resolve.apply(void 0, [value].slice(noValue))
|
|
} catch (value) {
|
|
reject.apply(void 0, [value])
|
|
}
|
|
}
|
|
jQuery.Callbacks = function(options) {
|
|
options = "string" == typeof options ? function(options) {
|
|
var object = {};
|
|
return jQuery.each(options.match(rnothtmlwhite) || [], function(_, flag) {
|
|
object[flag] = !0
|
|
}), object
|
|
}(options) : jQuery.extend({}, options);
|
|
var firing, memory, fired, locked, list = [],
|
|
queue = [],
|
|
firingIndex = -1,
|
|
fire = function() {
|
|
for (locked = locked || options.once, fired = firing = !0; queue.length; firingIndex = -1)
|
|
for (memory = queue.shift(); ++firingIndex < list.length;) !1 === list[firingIndex].apply(memory[0], memory[1]) && options.stopOnFalse && (firingIndex = list.length, memory = !1);
|
|
options.memory || (memory = !1), firing = !1, locked && (list = memory ? [] : "")
|
|
},
|
|
self = {
|
|
add: function() {
|
|
return list && (memory && !firing && (firingIndex = list.length - 1, queue.push(memory)), function add(args) {
|
|
jQuery.each(args, function(_, arg) {
|
|
isFunction(arg) ? options.unique && self.has(arg) || list.push(arg) : arg && arg.length && "string" !== toType(arg) && add(arg)
|
|
})
|
|
}(arguments), memory && !firing && fire()), this
|
|
},
|
|
remove: function() {
|
|
return jQuery.each(arguments, function(_, arg) {
|
|
for (var index;
|
|
(index = jQuery.inArray(arg, list, index)) > -1;) list.splice(index, 1), index <= firingIndex && firingIndex--
|
|
}), this
|
|
},
|
|
has: function(fn) {
|
|
return fn ? jQuery.inArray(fn, list) > -1 : list.length > 0
|
|
},
|
|
empty: function() {
|
|
return list && (list = []), this
|
|
},
|
|
disable: function() {
|
|
return locked = queue = [], list = memory = "", this
|
|
},
|
|
disabled: function() {
|
|
return !list
|
|
},
|
|
lock: function() {
|
|
return locked = queue = [], memory || firing || (list = memory = ""), this
|
|
},
|
|
locked: function() {
|
|
return !!locked
|
|
},
|
|
fireWith: function(context, args) {
|
|
return locked || (args = [context, (args = args || []).slice ? args.slice() : args], queue.push(args), firing || fire()), this
|
|
},
|
|
fire: function() {
|
|
return self.fireWith(this, arguments), this
|
|
},
|
|
fired: function() {
|
|
return !!fired
|
|
}
|
|
};
|
|
return self
|
|
}, jQuery.extend({
|
|
Deferred: function(func) {
|
|
var tuples = [
|
|
["notify", "progress", jQuery.Callbacks("memory"), jQuery.Callbacks("memory"), 2],
|
|
["resolve", "done", jQuery.Callbacks("once memory"), jQuery.Callbacks("once memory"), 0, "resolved"],
|
|
["reject", "fail", jQuery.Callbacks("once memory"), jQuery.Callbacks("once memory"), 1, "rejected"]
|
|
],
|
|
state = "pending",
|
|
promise = {
|
|
state: function() {
|
|
return state
|
|
},
|
|
always: function() {
|
|
return deferred.done(arguments).fail(arguments), this
|
|
},
|
|
catch: function(fn) {
|
|
return promise.then(null, fn)
|
|
},
|
|
pipe: function() {
|
|
var fns = arguments;
|
|
return jQuery.Deferred(function(newDefer) {
|
|
jQuery.each(tuples, function(_i, tuple) {
|
|
var fn = isFunction(fns[tuple[4]]) && fns[tuple[4]];
|
|
deferred[tuple[1]](function() {
|
|
var returned = fn && fn.apply(this, arguments);
|
|
returned && isFunction(returned.promise) ? returned.promise().progress(newDefer.notify).done(newDefer.resolve).fail(newDefer.reject) : newDefer[tuple[0] + "With"](this, fn ? [returned] : arguments)
|
|
})
|
|
}), fns = null
|
|
}).promise()
|
|
},
|
|
then: function(onFulfilled, onRejected, onProgress) {
|
|
var maxDepth = 0;
|
|
|
|
function resolve(depth, deferred, handler, special) {
|
|
return function() {
|
|
var that = this,
|
|
args = arguments,
|
|
mightThrow = function() {
|
|
var returned, then;
|
|
if (!(depth < maxDepth)) {
|
|
if ((returned = handler.apply(that, args)) === deferred.promise()) throw new TypeError("Thenable self-resolution");
|
|
then = returned && ("object" == typeof returned || "function" == typeof returned) && returned.then, isFunction(then) ? special ? then.call(returned, resolve(maxDepth, deferred, Identity, special), resolve(maxDepth, deferred, Thrower, special)) : (maxDepth++, then.call(returned, resolve(maxDepth, deferred, Identity, special), resolve(maxDepth, deferred, Thrower, special), resolve(maxDepth, deferred, Identity, deferred.notifyWith))) : (handler !== Identity && (that = void 0, args = [returned]), (special || deferred.resolveWith)(that, args))
|
|
}
|
|
},
|
|
process = special ? mightThrow : function() {
|
|
try {
|
|
mightThrow()
|
|
} catch (e) {
|
|
jQuery.Deferred.exceptionHook && jQuery.Deferred.exceptionHook(e, process.error), depth + 1 >= maxDepth && (handler !== Thrower && (that = void 0, args = [e]), deferred.rejectWith(that, args))
|
|
}
|
|
};
|
|
depth ? process() : (jQuery.Deferred.getErrorHook ? process.error = jQuery.Deferred.getErrorHook() : jQuery.Deferred.getStackHook && (process.error = jQuery.Deferred.getStackHook()), window.setTimeout(process))
|
|
}
|
|
}
|
|
return jQuery.Deferred(function(newDefer) {
|
|
tuples[0][3].add(resolve(0, newDefer, isFunction(onProgress) ? onProgress : Identity, newDefer.notifyWith)), tuples[1][3].add(resolve(0, newDefer, isFunction(onFulfilled) ? onFulfilled : Identity)), tuples[2][3].add(resolve(0, newDefer, isFunction(onRejected) ? onRejected : Thrower))
|
|
}).promise()
|
|
},
|
|
promise: function(obj) {
|
|
return null != obj ? jQuery.extend(obj, promise) : promise
|
|
}
|
|
},
|
|
deferred = {};
|
|
return jQuery.each(tuples, function(i, tuple) {
|
|
var list = tuple[2],
|
|
stateString = tuple[5];
|
|
promise[tuple[1]] = list.add, stateString && list.add(function() {
|
|
state = stateString
|
|
}, tuples[3 - i][2].disable, tuples[3 - i][3].disable, tuples[0][2].lock, tuples[0][3].lock), list.add(tuple[3].fire), deferred[tuple[0]] = function() {
|
|
return deferred[tuple[0] + "With"](this === deferred ? void 0 : this, arguments), this
|
|
}, deferred[tuple[0] + "With"] = list.fireWith
|
|
}), promise.promise(deferred), func && func.call(deferred, deferred), deferred
|
|
},
|
|
when: function(singleValue) {
|
|
var remaining = arguments.length,
|
|
i = remaining,
|
|
resolveContexts = Array(i),
|
|
resolveValues = slice.call(arguments),
|
|
primary = jQuery.Deferred(),
|
|
updateFunc = function(i) {
|
|
return function(value) {
|
|
resolveContexts[i] = this, resolveValues[i] = arguments.length > 1 ? slice.call(arguments) : value, --remaining || primary.resolveWith(resolveContexts, resolveValues)
|
|
}
|
|
};
|
|
if (remaining <= 1 && (adoptValue(singleValue, primary.done(updateFunc(i)).resolve, primary.reject, !remaining), "pending" === primary.state() || isFunction(resolveValues[i] && resolveValues[i].then))) return primary.then();
|
|
for (; i--;) adoptValue(resolveValues[i], updateFunc(i), primary.reject);
|
|
return primary.promise()
|
|
}
|
|
});
|
|
var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
|
|
jQuery.Deferred.exceptionHook = function(error, asyncError) {
|
|
window.console && window.console.warn && error && rerrorNames.test(error.name) && window.console.warn("jQuery.Deferred exception: " + error.message, error.stack, asyncError)
|
|
}, jQuery.readyException = function(error) {
|
|
window.setTimeout(function() {
|
|
throw error
|
|
})
|
|
};
|
|
var readyList = jQuery.Deferred();
|
|
|
|
function completed() {
|
|
document.removeEventListener("DOMContentLoaded", completed), window.removeEventListener("load", completed), jQuery.ready()
|
|
}
|
|
jQuery.fn.ready = function(fn) {
|
|
return readyList.then(fn).catch(function(error) {
|
|
jQuery.readyException(error)
|
|
}), this
|
|
}, jQuery.extend({
|
|
isReady: !1,
|
|
readyWait: 1,
|
|
ready: function(wait) {
|
|
(!0 === wait ? --jQuery.readyWait : jQuery.isReady) || (jQuery.isReady = !0, !0 !== wait && --jQuery.readyWait > 0 || readyList.resolveWith(document, [jQuery]))
|
|
}
|
|
}), jQuery.ready.then = readyList.then, "complete" === document.readyState || "loading" !== document.readyState && !document.documentElement.doScroll ? window.setTimeout(jQuery.ready) : (document.addEventListener("DOMContentLoaded", completed), window.addEventListener("load", completed));
|
|
var access = function(elems, fn, key, value, chainable, emptyGet, raw) {
|
|
var i = 0,
|
|
len = elems.length,
|
|
bulk = null == key;
|
|
if ("object" === toType(key))
|
|
for (i in chainable = !0, key) access(elems, fn, i, key[i], !0, emptyGet, raw);
|
|
else if (void 0 !== value && (chainable = !0, isFunction(value) || (raw = !0), bulk && (raw ? (fn.call(elems, value), fn = null) : (bulk = fn, fn = function(elem, _key, value) {
|
|
return bulk.call(jQuery(elem), value)
|
|
})), fn))
|
|
for (; i < len; i++) fn(elems[i], key, raw ? value : value.call(elems[i], i, fn(elems[i], key)));
|
|
return chainable ? elems : bulk ? fn.call(elems) : len ? fn(elems[0], key) : emptyGet
|
|
},
|
|
rmsPrefix = /^-ms-/,
|
|
rdashAlpha = /-([a-z])/g;
|
|
|
|
function fcamelCase(_all, letter) {
|
|
return letter.toUpperCase()
|
|
}
|
|
|
|
function camelCase(string) {
|
|
return string.replace(rmsPrefix, "ms-").replace(rdashAlpha, fcamelCase)
|
|
}
|
|
var acceptData = function(owner) {
|
|
return 1 === owner.nodeType || 9 === owner.nodeType || !+owner.nodeType
|
|
};
|
|
|
|
function Data() {
|
|
this.expando = jQuery.expando + Data.uid++
|
|
}
|
|
Data.uid = 1, Data.prototype = {
|
|
cache: function(owner) {
|
|
var value = owner[this.expando];
|
|
return value || (value = {}, acceptData(owner) && (owner.nodeType ? owner[this.expando] = value : Object.defineProperty(owner, this.expando, {
|
|
value,
|
|
configurable: !0
|
|
}))), value
|
|
},
|
|
set: function(owner, data, value) {
|
|
var prop, cache = this.cache(owner);
|
|
if ("string" == typeof data) cache[camelCase(data)] = value;
|
|
else
|
|
for (prop in data) cache[camelCase(prop)] = data[prop];
|
|
return cache
|
|
},
|
|
get: function(owner, key) {
|
|
return void 0 === key ? this.cache(owner) : owner[this.expando] && owner[this.expando][camelCase(key)]
|
|
},
|
|
access: function(owner, key, value) {
|
|
return void 0 === key || key && "string" == typeof key && void 0 === value ? this.get(owner, key) : (this.set(owner, key, value), void 0 !== value ? value : key)
|
|
},
|
|
remove: function(owner, key) {
|
|
var i, cache = owner[this.expando];
|
|
if (void 0 !== cache) {
|
|
if (void 0 !== key) {
|
|
i = (key = Array.isArray(key) ? key.map(camelCase) : (key = camelCase(key)) in cache ? [key] : key.match(rnothtmlwhite) || []).length;
|
|
for (; i--;) delete cache[key[i]]
|
|
}(void 0 === key || jQuery.isEmptyObject(cache)) && (owner.nodeType ? owner[this.expando] = void 0 : delete owner[this.expando])
|
|
}
|
|
},
|
|
hasData: function(owner) {
|
|
var cache = owner[this.expando];
|
|
return void 0 !== cache && !jQuery.isEmptyObject(cache)
|
|
}
|
|
};
|
|
var dataPriv = new Data,
|
|
dataUser = new Data,
|
|
rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
|
|
rmultiDash = /[A-Z]/g;
|
|
|
|
function dataAttr(elem, key, data) {
|
|
var name;
|
|
if (void 0 === data && 1 === elem.nodeType)
|
|
if (name = "data-" + key.replace(rmultiDash, "-$&").toLowerCase(), "string" == typeof(data = elem.getAttribute(name))) {
|
|
try {
|
|
data = function(data) {
|
|
return "true" === data || "false" !== data && ("null" === data ? null : data === +data + "" ? +data : rbrace.test(data) ? JSON.parse(data) : data)
|
|
}(data)
|
|
} catch (e) {}
|
|
dataUser.set(elem, key, data)
|
|
} else data = void 0;
|
|
return data
|
|
}
|
|
jQuery.extend({
|
|
hasData: function(elem) {
|
|
return dataUser.hasData(elem) || dataPriv.hasData(elem)
|
|
},
|
|
data: function(elem, name, data) {
|
|
return dataUser.access(elem, name, data)
|
|
},
|
|
removeData: function(elem, name) {
|
|
dataUser.remove(elem, name)
|
|
},
|
|
_data: function(elem, name, data) {
|
|
return dataPriv.access(elem, name, data)
|
|
},
|
|
_removeData: function(elem, name) {
|
|
dataPriv.remove(elem, name)
|
|
}
|
|
}), jQuery.fn.extend({
|
|
data: function(key, value) {
|
|
var i, name, data, elem = this[0],
|
|
attrs = elem && elem.attributes;
|
|
if (void 0 === key) {
|
|
if (this.length && (data = dataUser.get(elem), 1 === elem.nodeType && !dataPriv.get(elem, "hasDataAttrs"))) {
|
|
for (i = attrs.length; i--;) attrs[i] && 0 === (name = attrs[i].name).indexOf("data-") && (name = camelCase(name.slice(5)), dataAttr(elem, name, data[name]));
|
|
dataPriv.set(elem, "hasDataAttrs", !0)
|
|
}
|
|
return data
|
|
}
|
|
return "object" == typeof key ? this.each(function() {
|
|
dataUser.set(this, key)
|
|
}) : access(this, function(value) {
|
|
var data;
|
|
if (elem && void 0 === value) return void 0 !== (data = dataUser.get(elem, key)) || void 0 !== (data = dataAttr(elem, key)) ? data : void 0;
|
|
this.each(function() {
|
|
dataUser.set(this, key, value)
|
|
})
|
|
}, null, value, arguments.length > 1, null, !0)
|
|
},
|
|
removeData: function(key) {
|
|
return this.each(function() {
|
|
dataUser.remove(this, key)
|
|
})
|
|
}
|
|
}), jQuery.extend({
|
|
queue: function(elem, type, data) {
|
|
var queue;
|
|
if (elem) return type = (type || "fx") + "queue", queue = dataPriv.get(elem, type), data && (!queue || Array.isArray(data) ? queue = dataPriv.access(elem, type, jQuery.makeArray(data)) : queue.push(data)), queue || []
|
|
},
|
|
dequeue: function(elem, type) {
|
|
type = type || "fx";
|
|
var queue = jQuery.queue(elem, type),
|
|
startLength = queue.length,
|
|
fn = queue.shift(),
|
|
hooks = jQuery._queueHooks(elem, type);
|
|
"inprogress" === fn && (fn = queue.shift(), startLength--), fn && ("fx" === type && queue.unshift("inprogress"), delete hooks.stop, fn.call(elem, function() {
|
|
jQuery.dequeue(elem, type)
|
|
}, hooks)), !startLength && hooks && hooks.empty.fire()
|
|
},
|
|
_queueHooks: function(elem, type) {
|
|
var key = type + "queueHooks";
|
|
return dataPriv.get(elem, key) || dataPriv.access(elem, key, {
|
|
empty: jQuery.Callbacks("once memory").add(function() {
|
|
dataPriv.remove(elem, [type + "queue", key])
|
|
})
|
|
})
|
|
}
|
|
}), jQuery.fn.extend({
|
|
queue: function(type, data) {
|
|
var setter = 2;
|
|
return "string" != typeof type && (data = type, type = "fx", setter--), arguments.length < setter ? jQuery.queue(this[0], type) : void 0 === data ? this : this.each(function() {
|
|
var queue = jQuery.queue(this, type, data);
|
|
jQuery._queueHooks(this, type), "fx" === type && "inprogress" !== queue[0] && jQuery.dequeue(this, type)
|
|
})
|
|
},
|
|
dequeue: function(type) {
|
|
return this.each(function() {
|
|
jQuery.dequeue(this, type)
|
|
})
|
|
},
|
|
clearQueue: function(type) {
|
|
return this.queue(type || "fx", [])
|
|
},
|
|
promise: function(type, obj) {
|
|
var tmp, count = 1,
|
|
defer = jQuery.Deferred(),
|
|
elements = this,
|
|
i = this.length,
|
|
resolve = function() {
|
|
--count || defer.resolveWith(elements, [elements])
|
|
};
|
|
for ("string" != typeof type && (obj = type, type = void 0), type = type || "fx"; i--;)(tmp = dataPriv.get(elements[i], type + "queueHooks")) && tmp.empty && (count++, tmp.empty.add(resolve));
|
|
return resolve(), defer.promise(obj)
|
|
}
|
|
});
|
|
var pnum = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
|
|
rcssNum = new RegExp("^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i"),
|
|
cssExpand = ["Top", "Right", "Bottom", "Left"],
|
|
documentElement = document.documentElement,
|
|
isAttached = function(elem) {
|
|
return jQuery.contains(elem.ownerDocument, elem)
|
|
},
|
|
composed = {
|
|
composed: !0
|
|
};
|
|
documentElement.getRootNode && (isAttached = function(elem) {
|
|
return jQuery.contains(elem.ownerDocument, elem) || elem.getRootNode(composed) === elem.ownerDocument
|
|
});
|
|
var isHiddenWithinTree = function(elem, el) {
|
|
return "none" === (elem = el || elem).style.display || "" === elem.style.display && isAttached(elem) && "none" === jQuery.css(elem, "display")
|
|
};
|
|
|
|
function adjustCSS(elem, prop, valueParts, tween) {
|
|
var adjusted, scale, maxIterations = 20,
|
|
currentValue = tween ? function() {
|
|
return tween.cur()
|
|
} : function() {
|
|
return jQuery.css(elem, prop, "")
|
|
},
|
|
initial = currentValue(),
|
|
unit = valueParts && valueParts[3] || (jQuery.cssNumber[prop] ? "" : "px"),
|
|
initialInUnit = elem.nodeType && (jQuery.cssNumber[prop] || "px" !== unit && +initial) && rcssNum.exec(jQuery.css(elem, prop));
|
|
if (initialInUnit && initialInUnit[3] !== unit) {
|
|
for (initial /= 2, unit = unit || initialInUnit[3], initialInUnit = +initial || 1; maxIterations--;) jQuery.style(elem, prop, initialInUnit + unit), (1 - scale) * (1 - (scale = currentValue() / initial || .5)) <= 0 && (maxIterations = 0), initialInUnit /= scale;
|
|
initialInUnit *= 2, jQuery.style(elem, prop, initialInUnit + unit), valueParts = valueParts || []
|
|
}
|
|
return valueParts && (initialInUnit = +initialInUnit || +initial || 0, adjusted = valueParts[1] ? initialInUnit + (valueParts[1] + 1) * valueParts[2] : +valueParts[2], tween && (tween.unit = unit, tween.start = initialInUnit, tween.end = adjusted)), adjusted
|
|
}
|
|
var defaultDisplayMap = {};
|
|
|
|
function getDefaultDisplay(elem) {
|
|
var temp, doc = elem.ownerDocument,
|
|
nodeName = elem.nodeName,
|
|
display = defaultDisplayMap[nodeName];
|
|
return display || (temp = doc.body.appendChild(doc.createElement(nodeName)), display = jQuery.css(temp, "display"), temp.parentNode.removeChild(temp), "none" === display && (display = "block"), defaultDisplayMap[nodeName] = display, display)
|
|
}
|
|
|
|
function showHide(elements, show) {
|
|
for (var display, elem, values = [], index = 0, length = elements.length; index < length; index++)(elem = elements[index]).style && (display = elem.style.display, show ? ("none" === display && (values[index] = dataPriv.get(elem, "display") || null, values[index] || (elem.style.display = "")), "" === elem.style.display && isHiddenWithinTree(elem) && (values[index] = getDefaultDisplay(elem))) : "none" !== display && (values[index] = "none", dataPriv.set(elem, "display", display)));
|
|
for (index = 0; index < length; index++) null != values[index] && (elements[index].style.display = values[index]);
|
|
return elements
|
|
}
|
|
jQuery.fn.extend({
|
|
show: function() {
|
|
return showHide(this, !0)
|
|
},
|
|
hide: function() {
|
|
return showHide(this)
|
|
},
|
|
toggle: function(state) {
|
|
return "boolean" == typeof state ? state ? this.show() : this.hide() : this.each(function() {
|
|
isHiddenWithinTree(this) ? jQuery(this).show() : jQuery(this).hide()
|
|
})
|
|
}
|
|
});
|
|
var div, input, rcheckableType = /^(?:checkbox|radio)$/i,
|
|
rtagName = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i,
|
|
rscriptType = /^$|^module$|\/(?:java|ecma)script/i;
|
|
div = document.createDocumentFragment().appendChild(document.createElement("div")), (input = document.createElement("input")).setAttribute("type", "radio"), input.setAttribute("checked", "checked"), input.setAttribute("name", "t"), div.appendChild(input), support.checkClone = div.cloneNode(!0).cloneNode(!0).lastChild.checked, div.innerHTML = "<textarea>x</textarea>", support.noCloneChecked = !!div.cloneNode(!0).lastChild.defaultValue, div.innerHTML = "<option></option>", support.option = !!div.lastChild;
|
|
var wrapMap = {
|
|
thead: [1, "<table>", "</table>"],
|
|
col: [2, "<table><colgroup>", "</colgroup></table>"],
|
|
tr: [2, "<table><tbody>", "</tbody></table>"],
|
|
td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
|
|
_default: [0, "", ""]
|
|
};
|
|
|
|
function getAll(context, tag) {
|
|
var ret;
|
|
return ret = void 0 !== context.getElementsByTagName ? context.getElementsByTagName(tag || "*") : void 0 !== context.querySelectorAll ? context.querySelectorAll(tag || "*") : [], void 0 === tag || tag && nodeName(context, tag) ? jQuery.merge([context], ret) : ret
|
|
}
|
|
|
|
function setGlobalEval(elems, refElements) {
|
|
for (var i = 0, l = elems.length; i < l; i++) dataPriv.set(elems[i], "globalEval", !refElements || dataPriv.get(refElements[i], "globalEval"))
|
|
}
|
|
wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead, wrapMap.th = wrapMap.td, support.option || (wrapMap.optgroup = wrapMap.option = [1, "<select multiple='multiple'>", "</select>"]);
|
|
var rhtml = /<|&#?\w+;/;
|
|
|
|
function buildFragment(elems, context, scripts, selection, ignored) {
|
|
for (var elem, tmp, tag, wrap, attached, j, fragment = context.createDocumentFragment(), nodes = [], i = 0, l = elems.length; i < l; i++)
|
|
if ((elem = elems[i]) || 0 === elem)
|
|
if ("object" === toType(elem)) jQuery.merge(nodes, elem.nodeType ? [elem] : elem);
|
|
else if (rhtml.test(elem)) {
|
|
for (tmp = tmp || fragment.appendChild(context.createElement("div")), tag = (rtagName.exec(elem) || ["", ""])[1].toLowerCase(), wrap = wrapMap[tag] || wrapMap._default, tmp.innerHTML = wrap[1] + jQuery.htmlPrefilter(elem) + wrap[2], j = wrap[0]; j--;) tmp = tmp.lastChild;
|
|
jQuery.merge(nodes, tmp.childNodes), (tmp = fragment.firstChild).textContent = ""
|
|
} else nodes.push(context.createTextNode(elem));
|
|
for (fragment.textContent = "", i = 0; elem = nodes[i++];)
|
|
if (selection && jQuery.inArray(elem, selection) > -1) ignored && ignored.push(elem);
|
|
else if (attached = isAttached(elem), tmp = getAll(fragment.appendChild(elem), "script"), attached && setGlobalEval(tmp), scripts)
|
|
for (j = 0; elem = tmp[j++];) rscriptType.test(elem.type || "") && scripts.push(elem);
|
|
return fragment
|
|
}
|
|
var rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
|
|
|
|
function returnTrue() {
|
|
return !0
|
|
}
|
|
|
|
function returnFalse() {
|
|
return !1
|
|
}
|
|
|
|
function on(elem, types, selector, data, fn, one) {
|
|
var origFn, type;
|
|
if ("object" == typeof types) {
|
|
for (type in "string" != typeof selector && (data = data || selector, selector = void 0), types) on(elem, type, selector, data, types[type], one);
|
|
return elem
|
|
}
|
|
if (null == data && null == fn ? (fn = selector, data = selector = void 0) : null == fn && ("string" == typeof selector ? (fn = data, data = void 0) : (fn = data, data = selector, selector = void 0)), !1 === fn) fn = returnFalse;
|
|
else if (!fn) return elem;
|
|
return 1 === one && (origFn = fn, fn = function(event) {
|
|
return jQuery().off(event), origFn.apply(this, arguments)
|
|
}, fn.guid = origFn.guid || (origFn.guid = jQuery.guid++)), elem.each(function() {
|
|
jQuery.event.add(this, types, fn, data, selector)
|
|
})
|
|
}
|
|
|
|
function leverageNative(el, type, isSetup) {
|
|
isSetup ? (dataPriv.set(el, type, !1), jQuery.event.add(el, type, {
|
|
namespace: !1,
|
|
handler: function(event) {
|
|
var result, saved = dataPriv.get(this, type);
|
|
if (1 & event.isTrigger && this[type]) {
|
|
if (saved)(jQuery.event.special[type] || {}).delegateType && event.stopPropagation();
|
|
else if (saved = slice.call(arguments), dataPriv.set(this, type, saved), this[type](), result = dataPriv.get(this, type), dataPriv.set(this, type, !1), saved !== result) return event.stopImmediatePropagation(), event.preventDefault(), result
|
|
} else saved && (dataPriv.set(this, type, jQuery.event.trigger(saved[0], saved.slice(1), this)), event.stopPropagation(), event.isImmediatePropagationStopped = returnTrue)
|
|
}
|
|
})) : void 0 === dataPriv.get(el, type) && jQuery.event.add(el, type, returnTrue)
|
|
}
|
|
jQuery.event = {
|
|
global: {},
|
|
add: function(elem, types, handler, data, selector) {
|
|
var handleObjIn, eventHandle, tmp, events, t, handleObj, special, handlers, type, namespaces, origType, elemData = dataPriv.get(elem);
|
|
if (acceptData(elem))
|
|
for (handler.handler && (handler = (handleObjIn = handler).handler, selector = handleObjIn.selector), selector && jQuery.find.matchesSelector(documentElement, selector), handler.guid || (handler.guid = jQuery.guid++), (events = elemData.events) || (events = elemData.events = Object.create(null)), (eventHandle = elemData.handle) || (eventHandle = elemData.handle = function(e) {
|
|
return void 0 !== jQuery && jQuery.event.triggered !== e.type ? jQuery.event.dispatch.apply(elem, arguments) : void 0
|
|
}), t = (types = (types || "").match(rnothtmlwhite) || [""]).length; t--;) type = origType = (tmp = rtypenamespace.exec(types[t]) || [])[1], namespaces = (tmp[2] || "").split(".").sort(), type && (special = jQuery.event.special[type] || {}, type = (selector ? special.delegateType : special.bindType) || type, special = jQuery.event.special[type] || {}, handleObj = jQuery.extend({
|
|
type,
|
|
origType,
|
|
data,
|
|
handler,
|
|
guid: handler.guid,
|
|
selector,
|
|
needsContext: selector && jQuery.expr.match.needsContext.test(selector),
|
|
namespace: namespaces.join(".")
|
|
}, handleObjIn), (handlers = events[type]) || ((handlers = events[type] = []).delegateCount = 0, special.setup && !1 !== special.setup.call(elem, data, namespaces, eventHandle) || elem.addEventListener && elem.addEventListener(type, eventHandle)), special.add && (special.add.call(elem, handleObj), handleObj.handler.guid || (handleObj.handler.guid = handler.guid)), selector ? handlers.splice(handlers.delegateCount++, 0, handleObj) : handlers.push(handleObj), jQuery.event.global[type] = !0)
|
|
},
|
|
remove: function(elem, types, handler, selector, mappedTypes) {
|
|
var j, origCount, tmp, events, t, handleObj, special, handlers, type, namespaces, origType, elemData = dataPriv.hasData(elem) && dataPriv.get(elem);
|
|
if (elemData && (events = elemData.events)) {
|
|
for (t = (types = (types || "").match(rnothtmlwhite) || [""]).length; t--;)
|
|
if (type = origType = (tmp = rtypenamespace.exec(types[t]) || [])[1], namespaces = (tmp[2] || "").split(".").sort(), type) {
|
|
for (special = jQuery.event.special[type] || {}, handlers = events[type = (selector ? special.delegateType : special.bindType) || type] || [], tmp = tmp[2] && new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)"), origCount = j = handlers.length; j--;) handleObj = handlers[j], !mappedTypes && origType !== handleObj.origType || handler && handler.guid !== handleObj.guid || tmp && !tmp.test(handleObj.namespace) || selector && selector !== handleObj.selector && ("**" !== selector || !handleObj.selector) || (handlers.splice(j, 1), handleObj.selector && handlers.delegateCount--, special.remove && special.remove.call(elem, handleObj));
|
|
origCount && !handlers.length && (special.teardown && !1 !== special.teardown.call(elem, namespaces, elemData.handle) || jQuery.removeEvent(elem, type, elemData.handle), delete events[type])
|
|
} else
|
|
for (type in events) jQuery.event.remove(elem, type + types[t], handler, selector, !0);
|
|
jQuery.isEmptyObject(events) && dataPriv.remove(elem, "handle events")
|
|
}
|
|
},
|
|
dispatch: function(nativeEvent) {
|
|
var i, j, ret, matched, handleObj, handlerQueue, args = new Array(arguments.length),
|
|
event = jQuery.event.fix(nativeEvent),
|
|
handlers = (dataPriv.get(this, "events") || Object.create(null))[event.type] || [],
|
|
special = jQuery.event.special[event.type] || {};
|
|
for (args[0] = event, i = 1; i < arguments.length; i++) args[i] = arguments[i];
|
|
if (event.delegateTarget = this, !special.preDispatch || !1 !== special.preDispatch.call(this, event)) {
|
|
for (handlerQueue = jQuery.event.handlers.call(this, event, handlers), i = 0;
|
|
(matched = handlerQueue[i++]) && !event.isPropagationStopped();)
|
|
for (event.currentTarget = matched.elem, j = 0;
|
|
(handleObj = matched.handlers[j++]) && !event.isImmediatePropagationStopped();) event.rnamespace && !1 !== handleObj.namespace && !event.rnamespace.test(handleObj.namespace) || (event.handleObj = handleObj, event.data = handleObj.data, void 0 !== (ret = ((jQuery.event.special[handleObj.origType] || {}).handle || handleObj.handler).apply(matched.elem, args)) && !1 === (event.result = ret) && (event.preventDefault(), event.stopPropagation()));
|
|
return special.postDispatch && special.postDispatch.call(this, event), event.result
|
|
}
|
|
},
|
|
handlers: function(event, handlers) {
|
|
var i, handleObj, sel, matchedHandlers, matchedSelectors, handlerQueue = [],
|
|
delegateCount = handlers.delegateCount,
|
|
cur = event.target;
|
|
if (delegateCount && cur.nodeType && !("click" === event.type && event.button >= 1))
|
|
for (; cur !== this; cur = cur.parentNode || this)
|
|
if (1 === cur.nodeType && ("click" !== event.type || !0 !== cur.disabled)) {
|
|
for (matchedHandlers = [], matchedSelectors = {}, i = 0; i < delegateCount; i++) void 0 === matchedSelectors[sel = (handleObj = handlers[i]).selector + " "] && (matchedSelectors[sel] = handleObj.needsContext ? jQuery(sel, this).index(cur) > -1 : jQuery.find(sel, this, null, [cur]).length), matchedSelectors[sel] && matchedHandlers.push(handleObj);
|
|
matchedHandlers.length && handlerQueue.push({
|
|
elem: cur,
|
|
handlers: matchedHandlers
|
|
})
|
|
} return cur = this, delegateCount < handlers.length && handlerQueue.push({
|
|
elem: cur,
|
|
handlers: handlers.slice(delegateCount)
|
|
}), handlerQueue
|
|
},
|
|
addProp: function(name, hook) {
|
|
Object.defineProperty(jQuery.Event.prototype, name, {
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
get: isFunction(hook) ? function() {
|
|
if (this.originalEvent) return hook(this.originalEvent)
|
|
} : function() {
|
|
if (this.originalEvent) return this.originalEvent[name]
|
|
},
|
|
set: function(value) {
|
|
Object.defineProperty(this, name, {
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0,
|
|
value
|
|
})
|
|
}
|
|
})
|
|
},
|
|
fix: function(originalEvent) {
|
|
return originalEvent[jQuery.expando] ? originalEvent : new jQuery.Event(originalEvent)
|
|
},
|
|
special: {
|
|
load: {
|
|
noBubble: !0
|
|
},
|
|
click: {
|
|
setup: function(data) {
|
|
var el = this || data;
|
|
return rcheckableType.test(el.type) && el.click && nodeName(el, "input") && leverageNative(el, "click", !0), !1
|
|
},
|
|
trigger: function(data) {
|
|
var el = this || data;
|
|
return rcheckableType.test(el.type) && el.click && nodeName(el, "input") && leverageNative(el, "click"), !0
|
|
},
|
|
_default: function(event) {
|
|
var target = event.target;
|
|
return rcheckableType.test(target.type) && target.click && nodeName(target, "input") && dataPriv.get(target, "click") || nodeName(target, "a")
|
|
}
|
|
},
|
|
beforeunload: {
|
|
postDispatch: function(event) {
|
|
void 0 !== event.result && event.originalEvent && (event.originalEvent.returnValue = event.result)
|
|
}
|
|
}
|
|
}
|
|
}, jQuery.removeEvent = function(elem, type, handle) {
|
|
elem.removeEventListener && elem.removeEventListener(type, handle)
|
|
}, jQuery.Event = function(src, props) {
|
|
if (!(this instanceof jQuery.Event)) return new jQuery.Event(src, props);
|
|
src && src.type ? (this.originalEvent = src, this.type = src.type, this.isDefaultPrevented = src.defaultPrevented || void 0 === src.defaultPrevented && !1 === src.returnValue ? returnTrue : returnFalse, this.target = src.target && 3 === src.target.nodeType ? src.target.parentNode : src.target, this.currentTarget = src.currentTarget, this.relatedTarget = src.relatedTarget) : this.type = src, props && jQuery.extend(this, props), this.timeStamp = src && src.timeStamp || Date.now(), this[jQuery.expando] = !0
|
|
}, jQuery.Event.prototype = {
|
|
constructor: jQuery.Event,
|
|
isDefaultPrevented: returnFalse,
|
|
isPropagationStopped: returnFalse,
|
|
isImmediatePropagationStopped: returnFalse,
|
|
isSimulated: !1,
|
|
preventDefault: function() {
|
|
var e = this.originalEvent;
|
|
this.isDefaultPrevented = returnTrue, e && !this.isSimulated && e.preventDefault()
|
|
},
|
|
stopPropagation: function() {
|
|
var e = this.originalEvent;
|
|
this.isPropagationStopped = returnTrue, e && !this.isSimulated && e.stopPropagation()
|
|
},
|
|
stopImmediatePropagation: function() {
|
|
var e = this.originalEvent;
|
|
this.isImmediatePropagationStopped = returnTrue, e && !this.isSimulated && e.stopImmediatePropagation(), this.stopPropagation()
|
|
}
|
|
}, jQuery.each({
|
|
altKey: !0,
|
|
bubbles: !0,
|
|
cancelable: !0,
|
|
changedTouches: !0,
|
|
ctrlKey: !0,
|
|
detail: !0,
|
|
eventPhase: !0,
|
|
metaKey: !0,
|
|
pageX: !0,
|
|
pageY: !0,
|
|
shiftKey: !0,
|
|
view: !0,
|
|
char: !0,
|
|
code: !0,
|
|
charCode: !0,
|
|
key: !0,
|
|
keyCode: !0,
|
|
button: !0,
|
|
buttons: !0,
|
|
clientX: !0,
|
|
clientY: !0,
|
|
offsetX: !0,
|
|
offsetY: !0,
|
|
pointerId: !0,
|
|
pointerType: !0,
|
|
screenX: !0,
|
|
screenY: !0,
|
|
targetTouches: !0,
|
|
toElement: !0,
|
|
touches: !0,
|
|
which: !0
|
|
}, jQuery.event.addProp), jQuery.each({
|
|
focus: "focusin",
|
|
blur: "focusout"
|
|
}, function(type, delegateType) {
|
|
function focusMappedHandler(nativeEvent) {
|
|
if (document.documentMode) {
|
|
var handle = dataPriv.get(this, "handle"),
|
|
event = jQuery.event.fix(nativeEvent);
|
|
event.type = "focusin" === nativeEvent.type ? "focus" : "blur", event.isSimulated = !0, handle(nativeEvent), event.target === event.currentTarget && handle(event)
|
|
} else jQuery.event.simulate(delegateType, nativeEvent.target, jQuery.event.fix(nativeEvent))
|
|
}
|
|
jQuery.event.special[type] = {
|
|
setup: function() {
|
|
var attaches;
|
|
if (leverageNative(this, type, !0), !document.documentMode) return !1;
|
|
(attaches = dataPriv.get(this, delegateType)) || this.addEventListener(delegateType, focusMappedHandler), dataPriv.set(this, delegateType, (attaches || 0) + 1)
|
|
},
|
|
trigger: function() {
|
|
return leverageNative(this, type), !0
|
|
},
|
|
teardown: function() {
|
|
var attaches;
|
|
if (!document.documentMode) return !1;
|
|
(attaches = dataPriv.get(this, delegateType) - 1) ? dataPriv.set(this, delegateType, attaches): (this.removeEventListener(delegateType, focusMappedHandler), dataPriv.remove(this, delegateType))
|
|
},
|
|
_default: function(event) {
|
|
return dataPriv.get(event.target, type)
|
|
},
|
|
delegateType
|
|
}, jQuery.event.special[delegateType] = {
|
|
setup: function() {
|
|
var doc = this.ownerDocument || this.document || this,
|
|
dataHolder = document.documentMode ? this : doc,
|
|
attaches = dataPriv.get(dataHolder, delegateType);
|
|
attaches || (document.documentMode ? this.addEventListener(delegateType, focusMappedHandler) : doc.addEventListener(type, focusMappedHandler, !0)), dataPriv.set(dataHolder, delegateType, (attaches || 0) + 1)
|
|
},
|
|
teardown: function() {
|
|
var doc = this.ownerDocument || this.document || this,
|
|
dataHolder = document.documentMode ? this : doc,
|
|
attaches = dataPriv.get(dataHolder, delegateType) - 1;
|
|
attaches ? dataPriv.set(dataHolder, delegateType, attaches) : (document.documentMode ? this.removeEventListener(delegateType, focusMappedHandler) : doc.removeEventListener(type, focusMappedHandler, !0), dataPriv.remove(dataHolder, delegateType))
|
|
}
|
|
}
|
|
}), jQuery.each({
|
|
mouseenter: "mouseover",
|
|
mouseleave: "mouseout",
|
|
pointerenter: "pointerover",
|
|
pointerleave: "pointerout"
|
|
}, function(orig, fix) {
|
|
jQuery.event.special[orig] = {
|
|
delegateType: fix,
|
|
bindType: fix,
|
|
handle: function(event) {
|
|
var ret, related = event.relatedTarget,
|
|
handleObj = event.handleObj;
|
|
return related && (related === this || jQuery.contains(this, related)) || (event.type = handleObj.origType, ret = handleObj.handler.apply(this, arguments), event.type = fix), ret
|
|
}
|
|
}
|
|
}), jQuery.fn.extend({
|
|
on: function(types, selector, data, fn) {
|
|
return on(this, types, selector, data, fn)
|
|
},
|
|
one: function(types, selector, data, fn) {
|
|
return on(this, types, selector, data, fn, 1)
|
|
},
|
|
off: function(types, selector, fn) {
|
|
var handleObj, type;
|
|
if (types && types.preventDefault && types.handleObj) return handleObj = types.handleObj, jQuery(types.delegateTarget).off(handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, handleObj.selector, handleObj.handler), this;
|
|
if ("object" == typeof types) {
|
|
for (type in types) this.off(type, selector, types[type]);
|
|
return this
|
|
}
|
|
return !1 !== selector && "function" != typeof selector || (fn = selector, selector = void 0), !1 === fn && (fn = returnFalse), this.each(function() {
|
|
jQuery.event.remove(this, types, fn, selector)
|
|
})
|
|
}
|
|
});
|
|
var rnoInnerhtml = /<script|<style|<link/i,
|
|
rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
|
|
rcleanScript = /^\s*<!\[CDATA\[|\]\]>\s*$/g;
|
|
|
|
function manipulationTarget(elem, content) {
|
|
return nodeName(elem, "table") && nodeName(11 !== content.nodeType ? content : content.firstChild, "tr") && jQuery(elem).children("tbody")[0] || elem
|
|
}
|
|
|
|
function disableScript(elem) {
|
|
return elem.type = (null !== elem.getAttribute("type")) + "/" + elem.type, elem
|
|
}
|
|
|
|
function restoreScript(elem) {
|
|
return "true/" === (elem.type || "").slice(0, 5) ? elem.type = elem.type.slice(5) : elem.removeAttribute("type"), elem
|
|
}
|
|
|
|
function cloneCopyEvent(src, dest) {
|
|
var i, l, type, udataOld, udataCur, events;
|
|
if (1 === dest.nodeType) {
|
|
if (dataPriv.hasData(src) && (events = dataPriv.get(src).events))
|
|
for (type in dataPriv.remove(dest, "handle events"), events)
|
|
for (i = 0, l = events[type].length; i < l; i++) jQuery.event.add(dest, type, events[type][i]);
|
|
dataUser.hasData(src) && (udataOld = dataUser.access(src), udataCur = jQuery.extend({}, udataOld), dataUser.set(dest, udataCur))
|
|
}
|
|
}
|
|
|
|
function fixInput(src, dest) {
|
|
var nodeName = dest.nodeName.toLowerCase();
|
|
"input" === nodeName && rcheckableType.test(src.type) ? dest.checked = src.checked : "input" !== nodeName && "textarea" !== nodeName || (dest.defaultValue = src.defaultValue)
|
|
}
|
|
|
|
function domManip(collection, args, callback, ignored) {
|
|
args = flat(args);
|
|
var fragment, first, scripts, hasScripts, node, doc, i = 0,
|
|
l = collection.length,
|
|
iNoClone = l - 1,
|
|
value = args[0],
|
|
valueIsFunction = isFunction(value);
|
|
if (valueIsFunction || l > 1 && "string" == typeof value && !support.checkClone && rchecked.test(value)) return collection.each(function(index) {
|
|
var self = collection.eq(index);
|
|
valueIsFunction && (args[0] = value.call(this, index, self.html())), domManip(self, args, callback, ignored)
|
|
});
|
|
if (l && (first = (fragment = buildFragment(args, collection[0].ownerDocument, !1, collection, ignored)).firstChild, 1 === fragment.childNodes.length && (fragment = first), first || ignored)) {
|
|
for (hasScripts = (scripts = jQuery.map(getAll(fragment, "script"), disableScript)).length; i < l; i++) node = fragment, i !== iNoClone && (node = jQuery.clone(node, !0, !0), hasScripts && jQuery.merge(scripts, getAll(node, "script"))), callback.call(collection[i], node, i);
|
|
if (hasScripts)
|
|
for (doc = scripts[scripts.length - 1].ownerDocument, jQuery.map(scripts, restoreScript), i = 0; i < hasScripts; i++) node = scripts[i], rscriptType.test(node.type || "") && !dataPriv.access(node, "globalEval") && jQuery.contains(doc, node) && (node.src && "module" !== (node.type || "").toLowerCase() ? jQuery._evalUrl && !node.noModule && jQuery._evalUrl(node.src, {
|
|
nonce: node.nonce || node.getAttribute("nonce")
|
|
}, doc) : DOMEval(node.textContent.replace(rcleanScript, ""), node, doc))
|
|
}
|
|
return collection
|
|
}
|
|
|
|
function remove(elem, selector, keepData) {
|
|
for (var node, nodes = selector ? jQuery.filter(selector, elem) : elem, i = 0; null != (node = nodes[i]); i++) keepData || 1 !== node.nodeType || jQuery.cleanData(getAll(node)), node.parentNode && (keepData && isAttached(node) && setGlobalEval(getAll(node, "script")), node.parentNode.removeChild(node));
|
|
return elem
|
|
}
|
|
jQuery.extend({
|
|
htmlPrefilter: function(html) {
|
|
return html
|
|
},
|
|
clone: function(elem, dataAndEvents, deepDataAndEvents) {
|
|
var i, l, srcElements, destElements, clone = elem.cloneNode(!0),
|
|
inPage = isAttached(elem);
|
|
if (!(support.noCloneChecked || 1 !== elem.nodeType && 11 !== elem.nodeType || jQuery.isXMLDoc(elem)))
|
|
for (destElements = getAll(clone), i = 0, l = (srcElements = getAll(elem)).length; i < l; i++) fixInput(srcElements[i], destElements[i]);
|
|
if (dataAndEvents)
|
|
if (deepDataAndEvents)
|
|
for (srcElements = srcElements || getAll(elem), destElements = destElements || getAll(clone), i = 0, l = srcElements.length; i < l; i++) cloneCopyEvent(srcElements[i], destElements[i]);
|
|
else cloneCopyEvent(elem, clone);
|
|
return (destElements = getAll(clone, "script")).length > 0 && setGlobalEval(destElements, !inPage && getAll(elem, "script")), clone
|
|
},
|
|
cleanData: function(elems) {
|
|
for (var data, elem, type, special = jQuery.event.special, i = 0; void 0 !== (elem = elems[i]); i++)
|
|
if (acceptData(elem)) {
|
|
if (data = elem[dataPriv.expando]) {
|
|
if (data.events)
|
|
for (type in data.events) special[type] ? jQuery.event.remove(elem, type) : jQuery.removeEvent(elem, type, data.handle);
|
|
elem[dataPriv.expando] = void 0
|
|
}
|
|
elem[dataUser.expando] && (elem[dataUser.expando] = void 0)
|
|
}
|
|
}
|
|
}), jQuery.fn.extend({
|
|
detach: function(selector) {
|
|
return remove(this, selector, !0)
|
|
},
|
|
remove: function(selector) {
|
|
return remove(this, selector)
|
|
},
|
|
text: function(value) {
|
|
return access(this, function(value) {
|
|
return void 0 === value ? jQuery.text(this) : this.empty().each(function() {
|
|
1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = value)
|
|
})
|
|
}, null, value, arguments.length)
|
|
},
|
|
append: function() {
|
|
return domManip(this, arguments, function(elem) {
|
|
1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || manipulationTarget(this, elem).appendChild(elem)
|
|
})
|
|
},
|
|
prepend: function() {
|
|
return domManip(this, arguments, function(elem) {
|
|
if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
|
|
var target = manipulationTarget(this, elem);
|
|
target.insertBefore(elem, target.firstChild)
|
|
}
|
|
})
|
|
},
|
|
before: function() {
|
|
return domManip(this, arguments, function(elem) {
|
|
this.parentNode && this.parentNode.insertBefore(elem, this)
|
|
})
|
|
},
|
|
after: function() {
|
|
return domManip(this, arguments, function(elem) {
|
|
this.parentNode && this.parentNode.insertBefore(elem, this.nextSibling)
|
|
})
|
|
},
|
|
empty: function() {
|
|
for (var elem, i = 0; null != (elem = this[i]); i++) 1 === elem.nodeType && (jQuery.cleanData(getAll(elem, !1)), elem.textContent = "");
|
|
return this
|
|
},
|
|
clone: function(dataAndEvents, deepDataAndEvents) {
|
|
return dataAndEvents = null != dataAndEvents && dataAndEvents, deepDataAndEvents = null == deepDataAndEvents ? dataAndEvents : deepDataAndEvents, this.map(function() {
|
|
return jQuery.clone(this, dataAndEvents, deepDataAndEvents)
|
|
})
|
|
},
|
|
html: function(value) {
|
|
return access(this, function(value) {
|
|
var elem = this[0] || {},
|
|
i = 0,
|
|
l = this.length;
|
|
if (void 0 === value && 1 === elem.nodeType) return elem.innerHTML;
|
|
if ("string" == typeof value && !rnoInnerhtml.test(value) && !wrapMap[(rtagName.exec(value) || ["", ""])[1].toLowerCase()]) {
|
|
value = jQuery.htmlPrefilter(value);
|
|
try {
|
|
for (; i < l; i++) 1 === (elem = this[i] || {}).nodeType && (jQuery.cleanData(getAll(elem, !1)), elem.innerHTML = value);
|
|
elem = 0
|
|
} catch (e) {}
|
|
}
|
|
elem && this.empty().append(value)
|
|
}, null, value, arguments.length)
|
|
},
|
|
replaceWith: function() {
|
|
var ignored = [];
|
|
return domManip(this, arguments, function(elem) {
|
|
var parent = this.parentNode;
|
|
jQuery.inArray(this, ignored) < 0 && (jQuery.cleanData(getAll(this)), parent && parent.replaceChild(elem, this))
|
|
}, ignored)
|
|
}
|
|
}), jQuery.each({
|
|
appendTo: "append",
|
|
prependTo: "prepend",
|
|
insertBefore: "before",
|
|
insertAfter: "after",
|
|
replaceAll: "replaceWith"
|
|
}, function(name, original) {
|
|
jQuery.fn[name] = function(selector) {
|
|
for (var elems, ret = [], insert = jQuery(selector), last = insert.length - 1, i = 0; i <= last; i++) elems = i === last ? this : this.clone(!0), jQuery(insert[i])[original](elems), push.apply(ret, elems.get());
|
|
return this.pushStack(ret)
|
|
}
|
|
});
|
|
var rnumnonpx = new RegExp("^(" + pnum + ")(?!px)[a-z%]+$", "i"),
|
|
rcustomProp = /^--/,
|
|
getStyles = function(elem) {
|
|
var view = elem.ownerDocument.defaultView;
|
|
return view && view.opener || (view = window), view.getComputedStyle(elem)
|
|
},
|
|
swap = function(elem, options, callback) {
|
|
var ret, name, old = {};
|
|
for (name in options) old[name] = elem.style[name], elem.style[name] = options[name];
|
|
for (name in ret = callback.call(elem), options) elem.style[name] = old[name];
|
|
return ret
|
|
},
|
|
rboxStyle = new RegExp(cssExpand.join("|"), "i");
|
|
|
|
function curCSS(elem, name, computed) {
|
|
var width, minWidth, maxWidth, ret, isCustomProp = rcustomProp.test(name),
|
|
style = elem.style;
|
|
return (computed = computed || getStyles(elem)) && (ret = computed.getPropertyValue(name) || computed[name], isCustomProp && ret && (ret = ret.replace(rtrimCSS, "$1") || void 0), "" !== ret || isAttached(elem) || (ret = jQuery.style(elem, name)), !support.pixelBoxStyles() && rnumnonpx.test(ret) && rboxStyle.test(name) && (width = style.width, minWidth = style.minWidth, maxWidth = style.maxWidth, style.minWidth = style.maxWidth = style.width = ret, ret = computed.width, style.width = width, style.minWidth = minWidth, style.maxWidth = maxWidth)), void 0 !== ret ? ret + "" : ret
|
|
}
|
|
|
|
function addGetHookIf(conditionFn, hookFn) {
|
|
return {
|
|
get: function() {
|
|
if (!conditionFn()) return (this.get = hookFn).apply(this, arguments);
|
|
delete this.get
|
|
}
|
|
}
|
|
}! function() {
|
|
function computeStyleTests() {
|
|
if (div) {
|
|
container.style.cssText = "position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0", div.style.cssText = "position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%", documentElement.appendChild(container).appendChild(div);
|
|
var divStyle = window.getComputedStyle(div);
|
|
pixelPositionVal = "1%" !== divStyle.top, reliableMarginLeftVal = 12 === roundPixelMeasures(divStyle.marginLeft), div.style.right = "60%", pixelBoxStylesVal = 36 === roundPixelMeasures(divStyle.right), boxSizingReliableVal = 36 === roundPixelMeasures(divStyle.width), div.style.position = "absolute", scrollboxSizeVal = 12 === roundPixelMeasures(div.offsetWidth / 3), documentElement.removeChild(container), div = null
|
|
}
|
|
}
|
|
|
|
function roundPixelMeasures(measure) {
|
|
return Math.round(parseFloat(measure))
|
|
}
|
|
var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, reliableTrDimensionsVal, reliableMarginLeftVal, container = document.createElement("div"),
|
|
div = document.createElement("div");
|
|
div.style && (div.style.backgroundClip = "content-box", div.cloneNode(!0).style.backgroundClip = "", support.clearCloneStyle = "content-box" === div.style.backgroundClip, jQuery.extend(support, {
|
|
boxSizingReliable: function() {
|
|
return computeStyleTests(), boxSizingReliableVal
|
|
},
|
|
pixelBoxStyles: function() {
|
|
return computeStyleTests(), pixelBoxStylesVal
|
|
},
|
|
pixelPosition: function() {
|
|
return computeStyleTests(), pixelPositionVal
|
|
},
|
|
reliableMarginLeft: function() {
|
|
return computeStyleTests(), reliableMarginLeftVal
|
|
},
|
|
scrollboxSize: function() {
|
|
return computeStyleTests(), scrollboxSizeVal
|
|
},
|
|
reliableTrDimensions: function() {
|
|
var table, tr, trChild, trStyle;
|
|
return null == reliableTrDimensionsVal && (table = document.createElement("table"), tr = document.createElement("tr"), trChild = document.createElement("div"), table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate", tr.style.cssText = "box-sizing:content-box;border:1px solid", tr.style.height = "1px", trChild.style.height = "9px", trChild.style.display = "block", documentElement.appendChild(table).appendChild(tr).appendChild(trChild), trStyle = window.getComputedStyle(tr), reliableTrDimensionsVal = parseInt(trStyle.height, 10) + parseInt(trStyle.borderTopWidth, 10) + parseInt(trStyle.borderBottomWidth, 10) === tr.offsetHeight, documentElement.removeChild(table)), reliableTrDimensionsVal
|
|
}
|
|
}))
|
|
}();
|
|
var cssPrefixes = ["Webkit", "Moz", "ms"],
|
|
emptyStyle = document.createElement("div").style,
|
|
vendorProps = {};
|
|
|
|
function finalPropName(name) {
|
|
var final = jQuery.cssProps[name] || vendorProps[name];
|
|
return final || (name in emptyStyle ? name : vendorProps[name] = function(name) {
|
|
for (var capName = name[0].toUpperCase() + name.slice(1), i = cssPrefixes.length; i--;)
|
|
if ((name = cssPrefixes[i] + capName) in emptyStyle) return name
|
|
}(name) || name)
|
|
}
|
|
var rdisplayswap = /^(none|table(?!-c[ea]).+)/,
|
|
cssShow = {
|
|
position: "absolute",
|
|
visibility: "hidden",
|
|
display: "block"
|
|
},
|
|
cssNormalTransform = {
|
|
letterSpacing: "0",
|
|
fontWeight: "400"
|
|
};
|
|
|
|
function setPositiveNumber(_elem, value, subtract) {
|
|
var matches = rcssNum.exec(value);
|
|
return matches ? Math.max(0, matches[2] - (subtract || 0)) + (matches[3] || "px") : value
|
|
}
|
|
|
|
function boxModelAdjustment(elem, dimension, box, isBorderBox, styles, computedVal) {
|
|
var i = "width" === dimension ? 1 : 0,
|
|
extra = 0,
|
|
delta = 0,
|
|
marginDelta = 0;
|
|
if (box === (isBorderBox ? "border" : "content")) return 0;
|
|
for (; i < 4; i += 2) "margin" === box && (marginDelta += jQuery.css(elem, box + cssExpand[i], !0, styles)), isBorderBox ? ("content" === box && (delta -= jQuery.css(elem, "padding" + cssExpand[i], !0, styles)), "margin" !== box && (delta -= jQuery.css(elem, "border" + cssExpand[i] + "Width", !0, styles))) : (delta += jQuery.css(elem, "padding" + cssExpand[i], !0, styles), "padding" !== box ? delta += jQuery.css(elem, "border" + cssExpand[i] + "Width", !0, styles) : extra += jQuery.css(elem, "border" + cssExpand[i] + "Width", !0, styles));
|
|
return !isBorderBox && computedVal >= 0 && (delta += Math.max(0, Math.ceil(elem["offset" + dimension[0].toUpperCase() + dimension.slice(1)] - computedVal - delta - extra - .5)) || 0), delta + marginDelta
|
|
}
|
|
|
|
function getWidthOrHeight(elem, dimension, extra) {
|
|
var styles = getStyles(elem),
|
|
isBorderBox = (!support.boxSizingReliable() || extra) && "border-box" === jQuery.css(elem, "boxSizing", !1, styles),
|
|
valueIsBorderBox = isBorderBox,
|
|
val = curCSS(elem, dimension, styles),
|
|
offsetProp = "offset" + dimension[0].toUpperCase() + dimension.slice(1);
|
|
if (rnumnonpx.test(val)) {
|
|
if (!extra) return val;
|
|
val = "auto"
|
|
}
|
|
return (!support.boxSizingReliable() && isBorderBox || !support.reliableTrDimensions() && nodeName(elem, "tr") || "auto" === val || !parseFloat(val) && "inline" === jQuery.css(elem, "display", !1, styles)) && elem.getClientRects().length && (isBorderBox = "border-box" === jQuery.css(elem, "boxSizing", !1, styles), (valueIsBorderBox = offsetProp in elem) && (val = elem[offsetProp])), (val = parseFloat(val) || 0) + boxModelAdjustment(elem, dimension, extra || (isBorderBox ? "border" : "content"), valueIsBorderBox, styles, val) + "px"
|
|
}
|
|
|
|
function Tween(elem, options, prop, end, easing) {
|
|
return new Tween.prototype.init(elem, options, prop, end, easing)
|
|
}
|
|
jQuery.extend({
|
|
cssHooks: {
|
|
opacity: {
|
|
get: function(elem, computed) {
|
|
if (computed) {
|
|
var ret = curCSS(elem, "opacity");
|
|
return "" === ret ? "1" : ret
|
|
}
|
|
}
|
|
}
|
|
},
|
|
cssNumber: {
|
|
animationIterationCount: !0,
|
|
aspectRatio: !0,
|
|
borderImageSlice: !0,
|
|
columnCount: !0,
|
|
flexGrow: !0,
|
|
flexShrink: !0,
|
|
fontWeight: !0,
|
|
gridArea: !0,
|
|
gridColumn: !0,
|
|
gridColumnEnd: !0,
|
|
gridColumnStart: !0,
|
|
gridRow: !0,
|
|
gridRowEnd: !0,
|
|
gridRowStart: !0,
|
|
lineHeight: !0,
|
|
opacity: !0,
|
|
order: !0,
|
|
orphans: !0,
|
|
scale: !0,
|
|
widows: !0,
|
|
zIndex: !0,
|
|
zoom: !0,
|
|
fillOpacity: !0,
|
|
floodOpacity: !0,
|
|
stopOpacity: !0,
|
|
strokeMiterlimit: !0,
|
|
strokeOpacity: !0
|
|
},
|
|
cssProps: {},
|
|
style: function(elem, name, value, extra) {
|
|
if (elem && 3 !== elem.nodeType && 8 !== elem.nodeType && elem.style) {
|
|
var ret, type, hooks, origName = camelCase(name),
|
|
isCustomProp = rcustomProp.test(name),
|
|
style = elem.style;
|
|
if (isCustomProp || (name = finalPropName(origName)), hooks = jQuery.cssHooks[name] || jQuery.cssHooks[origName], void 0 === value) return hooks && "get" in hooks && void 0 !== (ret = hooks.get(elem, !1, extra)) ? ret : style[name];
|
|
"string" === (type = typeof value) && (ret = rcssNum.exec(value)) && ret[1] && (value = adjustCSS(elem, name, ret), type = "number"), null != value && value == value && ("number" !== type || isCustomProp || (value += ret && ret[3] || (jQuery.cssNumber[origName] ? "" : "px")), support.clearCloneStyle || "" !== value || 0 !== name.indexOf("background") || (style[name] = "inherit"), hooks && "set" in hooks && void 0 === (value = hooks.set(elem, value, extra)) || (isCustomProp ? style.setProperty(name, value) : style[name] = value))
|
|
}
|
|
},
|
|
css: function(elem, name, extra, styles) {
|
|
var val, num, hooks, origName = camelCase(name);
|
|
return rcustomProp.test(name) || (name = finalPropName(origName)), (hooks = jQuery.cssHooks[name] || jQuery.cssHooks[origName]) && "get" in hooks && (val = hooks.get(elem, !0, extra)), void 0 === val && (val = curCSS(elem, name, styles)), "normal" === val && name in cssNormalTransform && (val = cssNormalTransform[name]), "" === extra || extra ? (num = parseFloat(val), !0 === extra || isFinite(num) ? num || 0 : val) : val
|
|
}
|
|
}), jQuery.each(["height", "width"], function(_i, dimension) {
|
|
jQuery.cssHooks[dimension] = {
|
|
get: function(elem, computed, extra) {
|
|
if (computed) return !rdisplayswap.test(jQuery.css(elem, "display")) || elem.getClientRects().length && elem.getBoundingClientRect().width ? getWidthOrHeight(elem, dimension, extra) : swap(elem, cssShow, function() {
|
|
return getWidthOrHeight(elem, dimension, extra)
|
|
})
|
|
},
|
|
set: function(elem, value, extra) {
|
|
var matches, styles = getStyles(elem),
|
|
scrollboxSizeBuggy = !support.scrollboxSize() && "absolute" === styles.position,
|
|
isBorderBox = (scrollboxSizeBuggy || extra) && "border-box" === jQuery.css(elem, "boxSizing", !1, styles),
|
|
subtract = extra ? boxModelAdjustment(elem, dimension, extra, isBorderBox, styles) : 0;
|
|
return isBorderBox && scrollboxSizeBuggy && (subtract -= Math.ceil(elem["offset" + dimension[0].toUpperCase() + dimension.slice(1)] - parseFloat(styles[dimension]) - boxModelAdjustment(elem, dimension, "border", !1, styles) - .5)), subtract && (matches = rcssNum.exec(value)) && "px" !== (matches[3] || "px") && (elem.style[dimension] = value, value = jQuery.css(elem, dimension)), setPositiveNumber(0, value, subtract)
|
|
}
|
|
}
|
|
}), jQuery.cssHooks.marginLeft = addGetHookIf(support.reliableMarginLeft, function(elem, computed) {
|
|
if (computed) return (parseFloat(curCSS(elem, "marginLeft")) || elem.getBoundingClientRect().left - swap(elem, {
|
|
marginLeft: 0
|
|
}, function() {
|
|
return elem.getBoundingClientRect().left
|
|
})) + "px"
|
|
}), jQuery.each({
|
|
margin: "",
|
|
padding: "",
|
|
border: "Width"
|
|
}, function(prefix, suffix) {
|
|
jQuery.cssHooks[prefix + suffix] = {
|
|
expand: function(value) {
|
|
for (var i = 0, expanded = {}, parts = "string" == typeof value ? value.split(" ") : [value]; i < 4; i++) expanded[prefix + cssExpand[i] + suffix] = parts[i] || parts[i - 2] || parts[0];
|
|
return expanded
|
|
}
|
|
}, "margin" !== prefix && (jQuery.cssHooks[prefix + suffix].set = setPositiveNumber)
|
|
}), jQuery.fn.extend({
|
|
css: function(name, value) {
|
|
return access(this, function(elem, name, value) {
|
|
var styles, len, map = {},
|
|
i = 0;
|
|
if (Array.isArray(name)) {
|
|
for (styles = getStyles(elem), len = name.length; i < len; i++) map[name[i]] = jQuery.css(elem, name[i], !1, styles);
|
|
return map
|
|
}
|
|
return void 0 !== value ? jQuery.style(elem, name, value) : jQuery.css(elem, name)
|
|
}, name, value, arguments.length > 1)
|
|
}
|
|
}), jQuery.Tween = Tween, Tween.prototype = {
|
|
constructor: Tween,
|
|
init: function(elem, options, prop, end, easing, unit) {
|
|
this.elem = elem, this.prop = prop, this.easing = easing || jQuery.easing._default, this.options = options, this.start = this.now = this.cur(), this.end = end, this.unit = unit || (jQuery.cssNumber[prop] ? "" : "px")
|
|
},
|
|
cur: function() {
|
|
var hooks = Tween.propHooks[this.prop];
|
|
return hooks && hooks.get ? hooks.get(this) : Tween.propHooks._default.get(this)
|
|
},
|
|
run: function(percent) {
|
|
var eased, hooks = Tween.propHooks[this.prop];
|
|
return this.options.duration ? this.pos = eased = jQuery.easing[this.easing](percent, this.options.duration * percent, 0, 1, this.options.duration) : this.pos = eased = percent, this.now = (this.end - this.start) * eased + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), hooks && hooks.set ? hooks.set(this) : Tween.propHooks._default.set(this), this
|
|
}
|
|
}, Tween.prototype.init.prototype = Tween.prototype, Tween.propHooks = {
|
|
_default: {
|
|
get: function(tween) {
|
|
var result;
|
|
return 1 !== tween.elem.nodeType || null != tween.elem[tween.prop] && null == tween.elem.style[tween.prop] ? tween.elem[tween.prop] : (result = jQuery.css(tween.elem, tween.prop, "")) && "auto" !== result ? result : 0
|
|
},
|
|
set: function(tween) {
|
|
jQuery.fx.step[tween.prop] ? jQuery.fx.step[tween.prop](tween) : 1 !== tween.elem.nodeType || !jQuery.cssHooks[tween.prop] && null == tween.elem.style[finalPropName(tween.prop)] ? tween.elem[tween.prop] = tween.now : jQuery.style(tween.elem, tween.prop, tween.now + tween.unit)
|
|
}
|
|
}
|
|
}, Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {
|
|
set: function(tween) {
|
|
tween.elem.nodeType && tween.elem.parentNode && (tween.elem[tween.prop] = tween.now)
|
|
}
|
|
}, jQuery.easing = {
|
|
linear: function(p) {
|
|
return p
|
|
},
|
|
swing: function(p) {
|
|
return .5 - Math.cos(p * Math.PI) / 2
|
|
},
|
|
_default: "swing"
|
|
}, jQuery.fx = Tween.prototype.init, jQuery.fx.step = {};
|
|
var fxNow, inProgress, rfxtypes = /^(?:toggle|show|hide)$/,
|
|
rrun = /queueHooks$/;
|
|
|
|
function schedule() {
|
|
inProgress && (!1 === document.hidden && window.requestAnimationFrame ? window.requestAnimationFrame(schedule) : window.setTimeout(schedule, jQuery.fx.interval), jQuery.fx.tick())
|
|
}
|
|
|
|
function createFxNow() {
|
|
return window.setTimeout(function() {
|
|
fxNow = void 0
|
|
}), fxNow = Date.now()
|
|
}
|
|
|
|
function genFx(type, includeWidth) {
|
|
var which, i = 0,
|
|
attrs = {
|
|
height: type
|
|
};
|
|
for (includeWidth = includeWidth ? 1 : 0; i < 4; i += 2 - includeWidth) attrs["margin" + (which = cssExpand[i])] = attrs["padding" + which] = type;
|
|
return includeWidth && (attrs.opacity = attrs.width = type), attrs
|
|
}
|
|
|
|
function createTween(value, prop, animation) {
|
|
for (var tween, collection = (Animation.tweeners[prop] || []).concat(Animation.tweeners["*"]), index = 0, length = collection.length; index < length; index++)
|
|
if (tween = collection[index].call(animation, prop, value)) return tween
|
|
}
|
|
|
|
function Animation(elem, properties, options) {
|
|
var result, stopped, index = 0,
|
|
length = Animation.prefilters.length,
|
|
deferred = jQuery.Deferred().always(function() {
|
|
delete tick.elem
|
|
}),
|
|
tick = function() {
|
|
if (stopped) return !1;
|
|
for (var currentTime = fxNow || createFxNow(), remaining = Math.max(0, animation.startTime + animation.duration - currentTime), percent = 1 - (remaining / animation.duration || 0), index = 0, length = animation.tweens.length; index < length; index++) animation.tweens[index].run(percent);
|
|
return deferred.notifyWith(elem, [animation, percent, remaining]), percent < 1 && length ? remaining : (length || deferred.notifyWith(elem, [animation, 1, 0]), deferred.resolveWith(elem, [animation]), !1)
|
|
},
|
|
animation = deferred.promise({
|
|
elem,
|
|
props: jQuery.extend({}, properties),
|
|
opts: jQuery.extend(!0, {
|
|
specialEasing: {},
|
|
easing: jQuery.easing._default
|
|
}, options),
|
|
originalProperties: properties,
|
|
originalOptions: options,
|
|
startTime: fxNow || createFxNow(),
|
|
duration: options.duration,
|
|
tweens: [],
|
|
createTween: function(prop, end) {
|
|
var tween = jQuery.Tween(elem, animation.opts, prop, end, animation.opts.specialEasing[prop] || animation.opts.easing);
|
|
return animation.tweens.push(tween), tween
|
|
},
|
|
stop: function(gotoEnd) {
|
|
var index = 0,
|
|
length = gotoEnd ? animation.tweens.length : 0;
|
|
if (stopped) return this;
|
|
for (stopped = !0; index < length; index++) animation.tweens[index].run(1);
|
|
return gotoEnd ? (deferred.notifyWith(elem, [animation, 1, 0]), deferred.resolveWith(elem, [animation, gotoEnd])) : deferred.rejectWith(elem, [animation, gotoEnd]), this
|
|
}
|
|
}),
|
|
props = animation.props;
|
|
for (! function(props, specialEasing) {
|
|
var index, name, easing, value, hooks;
|
|
for (index in props)
|
|
if (easing = specialEasing[name = camelCase(index)], value = props[index], Array.isArray(value) && (easing = value[1], value = props[index] = value[0]), index !== name && (props[name] = value, delete props[index]), (hooks = jQuery.cssHooks[name]) && "expand" in hooks)
|
|
for (index in value = hooks.expand(value), delete props[name], value) index in props || (props[index] = value[index], specialEasing[index] = easing);
|
|
else specialEasing[name] = easing
|
|
}(props, animation.opts.specialEasing); index < length; index++)
|
|
if (result = Animation.prefilters[index].call(animation, elem, props, animation.opts)) return isFunction(result.stop) && (jQuery._queueHooks(animation.elem, animation.opts.queue).stop = result.stop.bind(result)), result;
|
|
return jQuery.map(props, createTween, animation), isFunction(animation.opts.start) && animation.opts.start.call(elem, animation), animation.progress(animation.opts.progress).done(animation.opts.done, animation.opts.complete).fail(animation.opts.fail).always(animation.opts.always), jQuery.fx.timer(jQuery.extend(tick, {
|
|
elem,
|
|
anim: animation,
|
|
queue: animation.opts.queue
|
|
})), animation
|
|
}
|
|
jQuery.Animation = jQuery.extend(Animation, {
|
|
tweeners: {
|
|
"*": [function(prop, value) {
|
|
var tween = this.createTween(prop, value);
|
|
return adjustCSS(tween.elem, prop, rcssNum.exec(value), tween), tween
|
|
}]
|
|
},
|
|
tweener: function(props, callback) {
|
|
isFunction(props) ? (callback = props, props = ["*"]) : props = props.match(rnothtmlwhite);
|
|
for (var prop, index = 0, length = props.length; index < length; index++) prop = props[index], Animation.tweeners[prop] = Animation.tweeners[prop] || [], Animation.tweeners[prop].unshift(callback)
|
|
},
|
|
prefilters: [function(elem, props, opts) {
|
|
var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, isBox = "width" in props || "height" in props,
|
|
anim = this,
|
|
orig = {},
|
|
style = elem.style,
|
|
hidden = elem.nodeType && isHiddenWithinTree(elem),
|
|
dataShow = dataPriv.get(elem, "fxshow");
|
|
for (prop in opts.queue || (null == (hooks = jQuery._queueHooks(elem, "fx")).unqueued && (hooks.unqueued = 0, oldfire = hooks.empty.fire, hooks.empty.fire = function() {
|
|
hooks.unqueued || oldfire()
|
|
}), hooks.unqueued++, anim.always(function() {
|
|
anim.always(function() {
|
|
hooks.unqueued--, jQuery.queue(elem, "fx").length || hooks.empty.fire()
|
|
})
|
|
})), props)
|
|
if (value = props[prop], rfxtypes.test(value)) {
|
|
if (delete props[prop], toggle = toggle || "toggle" === value, value === (hidden ? "hide" : "show")) {
|
|
if ("show" !== value || !dataShow || void 0 === dataShow[prop]) continue;
|
|
hidden = !0
|
|
}
|
|
orig[prop] = dataShow && dataShow[prop] || jQuery.style(elem, prop)
|
|
} if ((propTween = !jQuery.isEmptyObject(props)) || !jQuery.isEmptyObject(orig))
|
|
for (prop in isBox && 1 === elem.nodeType && (opts.overflow = [style.overflow, style.overflowX, style.overflowY], null == (restoreDisplay = dataShow && dataShow.display) && (restoreDisplay = dataPriv.get(elem, "display")), "none" === (display = jQuery.css(elem, "display")) && (restoreDisplay ? display = restoreDisplay : (showHide([elem], !0), restoreDisplay = elem.style.display || restoreDisplay, display = jQuery.css(elem, "display"), showHide([elem]))), ("inline" === display || "inline-block" === display && null != restoreDisplay) && "none" === jQuery.css(elem, "float") && (propTween || (anim.done(function() {
|
|
style.display = restoreDisplay
|
|
}), null == restoreDisplay && (display = style.display, restoreDisplay = "none" === display ? "" : display)), style.display = "inline-block")), opts.overflow && (style.overflow = "hidden", anim.always(function() {
|
|
style.overflow = opts.overflow[0], style.overflowX = opts.overflow[1], style.overflowY = opts.overflow[2]
|
|
})), propTween = !1, orig) propTween || (dataShow ? "hidden" in dataShow && (hidden = dataShow.hidden) : dataShow = dataPriv.access(elem, "fxshow", {
|
|
display: restoreDisplay
|
|
}), toggle && (dataShow.hidden = !hidden), hidden && showHide([elem], !0), anim.done(function() {
|
|
for (prop in hidden || showHide([elem]), dataPriv.remove(elem, "fxshow"), orig) jQuery.style(elem, prop, orig[prop])
|
|
})), propTween = createTween(hidden ? dataShow[prop] : 0, prop, anim), prop in dataShow || (dataShow[prop] = propTween.start, hidden && (propTween.end = propTween.start, propTween.start = 0))
|
|
}],
|
|
prefilter: function(callback, prepend) {
|
|
prepend ? Animation.prefilters.unshift(callback) : Animation.prefilters.push(callback)
|
|
}
|
|
}), jQuery.speed = function(speed, easing, fn) {
|
|
var opt = speed && "object" == typeof speed ? jQuery.extend({}, speed) : {
|
|
complete: fn || !fn && easing || isFunction(speed) && speed,
|
|
duration: speed,
|
|
easing: fn && easing || easing && !isFunction(easing) && easing
|
|
};
|
|
return jQuery.fx.off ? opt.duration = 0 : "number" != typeof opt.duration && (opt.duration in jQuery.fx.speeds ? opt.duration = jQuery.fx.speeds[opt.duration] : opt.duration = jQuery.fx.speeds._default), null != opt.queue && !0 !== opt.queue || (opt.queue = "fx"), opt.old = opt.complete, opt.complete = function() {
|
|
isFunction(opt.old) && opt.old.call(this), opt.queue && jQuery.dequeue(this, opt.queue)
|
|
}, opt
|
|
}, jQuery.fn.extend({
|
|
fadeTo: function(speed, to, easing, callback) {
|
|
return this.filter(isHiddenWithinTree).css("opacity", 0).show().end().animate({
|
|
opacity: to
|
|
}, speed, easing, callback)
|
|
},
|
|
animate: function(prop, speed, easing, callback) {
|
|
var empty = jQuery.isEmptyObject(prop),
|
|
optall = jQuery.speed(speed, easing, callback),
|
|
doAnimation = function() {
|
|
var anim = Animation(this, jQuery.extend({}, prop), optall);
|
|
(empty || dataPriv.get(this, "finish")) && anim.stop(!0)
|
|
};
|
|
return doAnimation.finish = doAnimation, empty || !1 === optall.queue ? this.each(doAnimation) : this.queue(optall.queue, doAnimation)
|
|
},
|
|
stop: function(type, clearQueue, gotoEnd) {
|
|
var stopQueue = function(hooks) {
|
|
var stop = hooks.stop;
|
|
delete hooks.stop, stop(gotoEnd)
|
|
};
|
|
return "string" != typeof type && (gotoEnd = clearQueue, clearQueue = type, type = void 0), clearQueue && this.queue(type || "fx", []), this.each(function() {
|
|
var dequeue = !0,
|
|
index = null != type && type + "queueHooks",
|
|
timers = jQuery.timers,
|
|
data = dataPriv.get(this);
|
|
if (index) data[index] && data[index].stop && stopQueue(data[index]);
|
|
else
|
|
for (index in data) data[index] && data[index].stop && rrun.test(index) && stopQueue(data[index]);
|
|
for (index = timers.length; index--;) timers[index].elem !== this || null != type && timers[index].queue !== type || (timers[index].anim.stop(gotoEnd), dequeue = !1, timers.splice(index, 1));
|
|
!dequeue && gotoEnd || jQuery.dequeue(this, type)
|
|
})
|
|
},
|
|
finish: function(type) {
|
|
return !1 !== type && (type = type || "fx"), this.each(function() {
|
|
var index, data = dataPriv.get(this),
|
|
queue = data[type + "queue"],
|
|
hooks = data[type + "queueHooks"],
|
|
timers = jQuery.timers,
|
|
length = queue ? queue.length : 0;
|
|
for (data.finish = !0, jQuery.queue(this, type, []), hooks && hooks.stop && hooks.stop.call(this, !0), index = timers.length; index--;) timers[index].elem === this && timers[index].queue === type && (timers[index].anim.stop(!0), timers.splice(index, 1));
|
|
for (index = 0; index < length; index++) queue[index] && queue[index].finish && queue[index].finish.call(this);
|
|
delete data.finish
|
|
})
|
|
}
|
|
}), jQuery.each(["toggle", "show", "hide"], function(_i, name) {
|
|
var cssFn = jQuery.fn[name];
|
|
jQuery.fn[name] = function(speed, easing, callback) {
|
|
return null == speed || "boolean" == typeof speed ? cssFn.apply(this, arguments) : this.animate(genFx(name, !0), speed, easing, callback)
|
|
}
|
|
}), jQuery.each({
|
|
slideDown: genFx("show"),
|
|
slideUp: genFx("hide"),
|
|
slideToggle: genFx("toggle"),
|
|
fadeIn: {
|
|
opacity: "show"
|
|
},
|
|
fadeOut: {
|
|
opacity: "hide"
|
|
},
|
|
fadeToggle: {
|
|
opacity: "toggle"
|
|
}
|
|
}, function(name, props) {
|
|
jQuery.fn[name] = function(speed, easing, callback) {
|
|
return this.animate(props, speed, easing, callback)
|
|
}
|
|
}), jQuery.timers = [], jQuery.fx.tick = function() {
|
|
var timer, i = 0,
|
|
timers = jQuery.timers;
|
|
for (fxNow = Date.now(); i < timers.length; i++)(timer = timers[i])() || timers[i] !== timer || timers.splice(i--, 1);
|
|
timers.length || jQuery.fx.stop(), fxNow = void 0
|
|
}, jQuery.fx.timer = function(timer) {
|
|
jQuery.timers.push(timer), jQuery.fx.start()
|
|
}, jQuery.fx.interval = 13, jQuery.fx.start = function() {
|
|
inProgress || (inProgress = !0, schedule())
|
|
}, jQuery.fx.stop = function() {
|
|
inProgress = null
|
|
}, jQuery.fx.speeds = {
|
|
slow: 600,
|
|
fast: 200,
|
|
_default: 400
|
|
}, jQuery.fn.delay = function(time, type) {
|
|
return time = jQuery.fx && jQuery.fx.speeds[time] || time, type = type || "fx", this.queue(type, function(next, hooks) {
|
|
var timeout = window.setTimeout(next, time);
|
|
hooks.stop = function() {
|
|
window.clearTimeout(timeout)
|
|
}
|
|
})
|
|
},
|
|
function() {
|
|
var input = document.createElement("input"),
|
|
opt = document.createElement("select").appendChild(document.createElement("option"));
|
|
input.type = "checkbox", support.checkOn = "" !== input.value, support.optSelected = opt.selected, (input = document.createElement("input")).value = "t", input.type = "radio", support.radioValue = "t" === input.value
|
|
}();
|
|
var boolHook, attrHandle = jQuery.expr.attrHandle;
|
|
jQuery.fn.extend({
|
|
attr: function(name, value) {
|
|
return access(this, jQuery.attr, name, value, arguments.length > 1)
|
|
},
|
|
removeAttr: function(name) {
|
|
return this.each(function() {
|
|
jQuery.removeAttr(this, name)
|
|
})
|
|
}
|
|
}), jQuery.extend({
|
|
attr: function(elem, name, value) {
|
|
var ret, hooks, nType = elem.nodeType;
|
|
if (3 !== nType && 8 !== nType && 2 !== nType) return void 0 === elem.getAttribute ? jQuery.prop(elem, name, value) : (1 === nType && jQuery.isXMLDoc(elem) || (hooks = jQuery.attrHooks[name.toLowerCase()] || (jQuery.expr.match.bool.test(name) ? boolHook : void 0)), void 0 !== value ? null === value ? void jQuery.removeAttr(elem, name) : hooks && "set" in hooks && void 0 !== (ret = hooks.set(elem, value, name)) ? ret : (elem.setAttribute(name, value + ""), value) : hooks && "get" in hooks && null !== (ret = hooks.get(elem, name)) ? ret : null == (ret = jQuery.find.attr(elem, name)) ? void 0 : ret)
|
|
},
|
|
attrHooks: {
|
|
type: {
|
|
set: function(elem, value) {
|
|
if (!support.radioValue && "radio" === value && nodeName(elem, "input")) {
|
|
var val = elem.value;
|
|
return elem.setAttribute("type", value), val && (elem.value = val), value
|
|
}
|
|
}
|
|
}
|
|
},
|
|
removeAttr: function(elem, value) {
|
|
var name, i = 0,
|
|
attrNames = value && value.match(rnothtmlwhite);
|
|
if (attrNames && 1 === elem.nodeType)
|
|
for (; name = attrNames[i++];) elem.removeAttribute(name)
|
|
}
|
|
}), boolHook = {
|
|
set: function(elem, value, name) {
|
|
return !1 === value ? jQuery.removeAttr(elem, name) : elem.setAttribute(name, name), name
|
|
}
|
|
}, jQuery.each(jQuery.expr.match.bool.source.match(/\w+/g), function(_i, name) {
|
|
var getter = attrHandle[name] || jQuery.find.attr;
|
|
attrHandle[name] = function(elem, name, isXML) {
|
|
var ret, handle, lowercaseName = name.toLowerCase();
|
|
return isXML || (handle = attrHandle[lowercaseName], attrHandle[lowercaseName] = ret, ret = null != getter(elem, name, isXML) ? lowercaseName : null, attrHandle[lowercaseName] = handle), ret
|
|
}
|
|
});
|
|
var rfocusable = /^(?:input|select|textarea|button)$/i,
|
|
rclickable = /^(?:a|area)$/i;
|
|
|
|
function stripAndCollapse(value) {
|
|
return (value.match(rnothtmlwhite) || []).join(" ")
|
|
}
|
|
|
|
function getClass(elem) {
|
|
return elem.getAttribute && elem.getAttribute("class") || ""
|
|
}
|
|
|
|
function classesToArray(value) {
|
|
return Array.isArray(value) ? value : "string" == typeof value && value.match(rnothtmlwhite) || []
|
|
}
|
|
jQuery.fn.extend({
|
|
prop: function(name, value) {
|
|
return access(this, jQuery.prop, name, value, arguments.length > 1)
|
|
},
|
|
removeProp: function(name) {
|
|
return this.each(function() {
|
|
delete this[jQuery.propFix[name] || name]
|
|
})
|
|
}
|
|
}), jQuery.extend({
|
|
prop: function(elem, name, value) {
|
|
var ret, hooks, nType = elem.nodeType;
|
|
if (3 !== nType && 8 !== nType && 2 !== nType) return 1 === nType && jQuery.isXMLDoc(elem) || (name = jQuery.propFix[name] || name, hooks = jQuery.propHooks[name]), void 0 !== value ? hooks && "set" in hooks && void 0 !== (ret = hooks.set(elem, value, name)) ? ret : elem[name] = value : hooks && "get" in hooks && null !== (ret = hooks.get(elem, name)) ? ret : elem[name]
|
|
},
|
|
propHooks: {
|
|
tabIndex: {
|
|
get: function(elem) {
|
|
var tabindex = jQuery.find.attr(elem, "tabindex");
|
|
return tabindex ? parseInt(tabindex, 10) : rfocusable.test(elem.nodeName) || rclickable.test(elem.nodeName) && elem.href ? 0 : -1
|
|
}
|
|
}
|
|
},
|
|
propFix: {
|
|
for: "htmlFor",
|
|
class: "className"
|
|
}
|
|
}), support.optSelected || (jQuery.propHooks.selected = {
|
|
get: function(elem) {
|
|
var parent = elem.parentNode;
|
|
return parent && parent.parentNode && parent.parentNode.selectedIndex, null
|
|
},
|
|
set: function(elem) {
|
|
var parent = elem.parentNode;
|
|
parent && (parent.selectedIndex, parent.parentNode && parent.parentNode.selectedIndex)
|
|
}
|
|
}), jQuery.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function() {
|
|
jQuery.propFix[this.toLowerCase()] = this
|
|
}), jQuery.fn.extend({
|
|
addClass: function(value) {
|
|
var classNames, cur, curValue, className, i, finalValue;
|
|
return isFunction(value) ? this.each(function(j) {
|
|
jQuery(this).addClass(value.call(this, j, getClass(this)))
|
|
}) : (classNames = classesToArray(value)).length ? this.each(function() {
|
|
if (curValue = getClass(this), cur = 1 === this.nodeType && " " + stripAndCollapse(curValue) + " ") {
|
|
for (i = 0; i < classNames.length; i++) className = classNames[i], cur.indexOf(" " + className + " ") < 0 && (cur += className + " ");
|
|
finalValue = stripAndCollapse(cur), curValue !== finalValue && this.setAttribute("class", finalValue)
|
|
}
|
|
}) : this
|
|
},
|
|
removeClass: function(value) {
|
|
var classNames, cur, curValue, className, i, finalValue;
|
|
return isFunction(value) ? this.each(function(j) {
|
|
jQuery(this).removeClass(value.call(this, j, getClass(this)))
|
|
}) : arguments.length ? (classNames = classesToArray(value)).length ? this.each(function() {
|
|
if (curValue = getClass(this), cur = 1 === this.nodeType && " " + stripAndCollapse(curValue) + " ") {
|
|
for (i = 0; i < classNames.length; i++)
|
|
for (className = classNames[i]; cur.indexOf(" " + className + " ") > -1;) cur = cur.replace(" " + className + " ", " ");
|
|
finalValue = stripAndCollapse(cur), curValue !== finalValue && this.setAttribute("class", finalValue)
|
|
}
|
|
}) : this : this.attr("class", "")
|
|
},
|
|
toggleClass: function(value, stateVal) {
|
|
var classNames, className, i, self, type = typeof value,
|
|
isValidValue = "string" === type || Array.isArray(value);
|
|
return isFunction(value) ? this.each(function(i) {
|
|
jQuery(this).toggleClass(value.call(this, i, getClass(this), stateVal), stateVal)
|
|
}) : "boolean" == typeof stateVal && isValidValue ? stateVal ? this.addClass(value) : this.removeClass(value) : (classNames = classesToArray(value), this.each(function() {
|
|
if (isValidValue)
|
|
for (self = jQuery(this), i = 0; i < classNames.length; i++) className = classNames[i], self.hasClass(className) ? self.removeClass(className) : self.addClass(className);
|
|
else void 0 !== value && "boolean" !== type || ((className = getClass(this)) && dataPriv.set(this, "__className__", className), this.setAttribute && this.setAttribute("class", className || !1 === value ? "" : dataPriv.get(this, "__className__") || ""))
|
|
}))
|
|
},
|
|
hasClass: function(selector) {
|
|
var className, elem, i = 0;
|
|
for (className = " " + selector + " "; elem = this[i++];)
|
|
if (1 === elem.nodeType && (" " + stripAndCollapse(getClass(elem)) + " ").indexOf(className) > -1) return !0;
|
|
return !1
|
|
}
|
|
});
|
|
var rreturn = /\r/g;
|
|
jQuery.fn.extend({
|
|
val: function(value) {
|
|
var hooks, ret, valueIsFunction, elem = this[0];
|
|
return arguments.length ? (valueIsFunction = isFunction(value), this.each(function(i) {
|
|
var val;
|
|
1 === this.nodeType && (null == (val = valueIsFunction ? value.call(this, i, jQuery(this).val()) : value) ? val = "" : "number" == typeof val ? val += "" : Array.isArray(val) && (val = jQuery.map(val, function(value) {
|
|
return null == value ? "" : value + ""
|
|
})), (hooks = jQuery.valHooks[this.type] || jQuery.valHooks[this.nodeName.toLowerCase()]) && "set" in hooks && void 0 !== hooks.set(this, val, "value") || (this.value = val))
|
|
})) : elem ? (hooks = jQuery.valHooks[elem.type] || jQuery.valHooks[elem.nodeName.toLowerCase()]) && "get" in hooks && void 0 !== (ret = hooks.get(elem, "value")) ? ret : "string" == typeof(ret = elem.value) ? ret.replace(rreturn, "") : null == ret ? "" : ret : void 0
|
|
}
|
|
}), jQuery.extend({
|
|
valHooks: {
|
|
option: {
|
|
get: function(elem) {
|
|
var val = jQuery.find.attr(elem, "value");
|
|
return null != val ? val : stripAndCollapse(jQuery.text(elem))
|
|
}
|
|
},
|
|
select: {
|
|
get: function(elem) {
|
|
var value, option, i, options = elem.options,
|
|
index = elem.selectedIndex,
|
|
one = "select-one" === elem.type,
|
|
values = one ? null : [],
|
|
max = one ? index + 1 : options.length;
|
|
for (i = index < 0 ? max : one ? index : 0; i < max; i++)
|
|
if (((option = options[i]).selected || i === index) && !option.disabled && (!option.parentNode.disabled || !nodeName(option.parentNode, "optgroup"))) {
|
|
if (value = jQuery(option).val(), one) return value;
|
|
values.push(value)
|
|
} return values
|
|
},
|
|
set: function(elem, value) {
|
|
for (var optionSet, option, options = elem.options, values = jQuery.makeArray(value), i = options.length; i--;)((option = options[i]).selected = jQuery.inArray(jQuery.valHooks.option.get(option), values) > -1) && (optionSet = !0);
|
|
return optionSet || (elem.selectedIndex = -1), values
|
|
}
|
|
}
|
|
}
|
|
}), jQuery.each(["radio", "checkbox"], function() {
|
|
jQuery.valHooks[this] = {
|
|
set: function(elem, value) {
|
|
if (Array.isArray(value)) return elem.checked = jQuery.inArray(jQuery(elem).val(), value) > -1
|
|
}
|
|
}, support.checkOn || (jQuery.valHooks[this].get = function(elem) {
|
|
return null === elem.getAttribute("value") ? "on" : elem.value
|
|
})
|
|
});
|
|
var location = window.location,
|
|
nonce = {
|
|
guid: Date.now()
|
|
},
|
|
rquery = /\?/;
|
|
jQuery.parseXML = function(data) {
|
|
var xml, parserErrorElem;
|
|
if (!data || "string" != typeof data) return null;
|
|
try {
|
|
xml = (new window.DOMParser).parseFromString(data, "text/xml")
|
|
} catch (e) {}
|
|
return parserErrorElem = xml && xml.getElementsByTagName("parsererror")[0], xml && !parserErrorElem || jQuery.error("Invalid XML: " + (parserErrorElem ? jQuery.map(parserErrorElem.childNodes, function(el) {
|
|
return el.textContent
|
|
}).join("\n") : data)), xml
|
|
};
|
|
var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
|
|
stopPropagationCallback = function(e) {
|
|
e.stopPropagation()
|
|
};
|
|
jQuery.extend(jQuery.event, {
|
|
trigger: function(event, data, elem, onlyHandlers) {
|
|
var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, eventPath = [elem || document],
|
|
type = hasOwn.call(event, "type") ? event.type : event,
|
|
namespaces = hasOwn.call(event, "namespace") ? event.namespace.split(".") : [];
|
|
if (cur = lastElement = tmp = elem = elem || document, 3 !== elem.nodeType && 8 !== elem.nodeType && !rfocusMorph.test(type + jQuery.event.triggered) && (type.indexOf(".") > -1 && (namespaces = type.split("."), type = namespaces.shift(), namespaces.sort()), ontype = type.indexOf(":") < 0 && "on" + type, (event = event[jQuery.expando] ? event : new jQuery.Event(type, "object" == typeof event && event)).isTrigger = onlyHandlers ? 2 : 3, event.namespace = namespaces.join("."), event.rnamespace = event.namespace ? new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, event.result = void 0, event.target || (event.target = elem), data = null == data ? [event] : jQuery.makeArray(data, [event]), special = jQuery.event.special[type] || {}, onlyHandlers || !special.trigger || !1 !== special.trigger.apply(elem, data))) {
|
|
if (!onlyHandlers && !special.noBubble && !isWindow(elem)) {
|
|
for (bubbleType = special.delegateType || type, rfocusMorph.test(bubbleType + type) || (cur = cur.parentNode); cur; cur = cur.parentNode) eventPath.push(cur), tmp = cur;
|
|
tmp === (elem.ownerDocument || document) && eventPath.push(tmp.defaultView || tmp.parentWindow || window)
|
|
}
|
|
for (i = 0;
|
|
(cur = eventPath[i++]) && !event.isPropagationStopped();) lastElement = cur, event.type = i > 1 ? bubbleType : special.bindType || type, (handle = (dataPriv.get(cur, "events") || Object.create(null))[event.type] && dataPriv.get(cur, "handle")) && handle.apply(cur, data), (handle = ontype && cur[ontype]) && handle.apply && acceptData(cur) && (event.result = handle.apply(cur, data), !1 === event.result && event.preventDefault());
|
|
return event.type = type, onlyHandlers || event.isDefaultPrevented() || special._default && !1 !== special._default.apply(eventPath.pop(), data) || !acceptData(elem) || ontype && isFunction(elem[type]) && !isWindow(elem) && ((tmp = elem[ontype]) && (elem[ontype] = null), jQuery.event.triggered = type, event.isPropagationStopped() && lastElement.addEventListener(type, stopPropagationCallback), elem[type](), event.isPropagationStopped() && lastElement.removeEventListener(type, stopPropagationCallback), jQuery.event.triggered = void 0, tmp && (elem[ontype] = tmp)), event.result
|
|
}
|
|
},
|
|
simulate: function(type, elem, event) {
|
|
var e = jQuery.extend(new jQuery.Event, event, {
|
|
type,
|
|
isSimulated: !0
|
|
});
|
|
jQuery.event.trigger(e, null, elem)
|
|
}
|
|
}), jQuery.fn.extend({
|
|
trigger: function(type, data) {
|
|
return this.each(function() {
|
|
jQuery.event.trigger(type, data, this)
|
|
})
|
|
},
|
|
triggerHandler: function(type, data) {
|
|
var elem = this[0];
|
|
if (elem) return jQuery.event.trigger(type, data, elem, !0)
|
|
}
|
|
});
|
|
var rbracket = /\[\]$/,
|
|
rCRLF = /\r?\n/g,
|
|
rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,
|
|
rsubmittable = /^(?:input|select|textarea|keygen)/i;
|
|
|
|
function buildParams(prefix, obj, traditional, add) {
|
|
var name;
|
|
if (Array.isArray(obj)) jQuery.each(obj, function(i, v) {
|
|
traditional || rbracket.test(prefix) ? add(prefix, v) : buildParams(prefix + "[" + ("object" == typeof v && null != v ? i : "") + "]", v, traditional, add)
|
|
});
|
|
else if (traditional || "object" !== toType(obj)) add(prefix, obj);
|
|
else
|
|
for (name in obj) buildParams(prefix + "[" + name + "]", obj[name], traditional, add)
|
|
}
|
|
jQuery.param = function(a, traditional) {
|
|
var prefix, s = [],
|
|
add = function(key, valueOrFunction) {
|
|
var value = isFunction(valueOrFunction) ? valueOrFunction() : valueOrFunction;
|
|
s[s.length] = encodeURIComponent(key) + "=" + encodeURIComponent(null == value ? "" : value)
|
|
};
|
|
if (null == a) return "";
|
|
if (Array.isArray(a) || a.jquery && !jQuery.isPlainObject(a)) jQuery.each(a, function() {
|
|
add(this.name, this.value)
|
|
});
|
|
else
|
|
for (prefix in a) buildParams(prefix, a[prefix], traditional, add);
|
|
return s.join("&")
|
|
}, jQuery.fn.extend({
|
|
serialize: function() {
|
|
return jQuery.param(this.serializeArray())
|
|
},
|
|
serializeArray: function() {
|
|
return this.map(function() {
|
|
var elements = jQuery.prop(this, "elements");
|
|
return elements ? jQuery.makeArray(elements) : this
|
|
}).filter(function() {
|
|
var type = this.type;
|
|
return this.name && !jQuery(this).is(":disabled") && rsubmittable.test(this.nodeName) && !rsubmitterTypes.test(type) && (this.checked || !rcheckableType.test(type))
|
|
}).map(function(_i, elem) {
|
|
var val = jQuery(this).val();
|
|
return null == val ? null : Array.isArray(val) ? jQuery.map(val, function(val) {
|
|
return {
|
|
name: elem.name,
|
|
value: val.replace(rCRLF, "\r\n")
|
|
}
|
|
}) : {
|
|
name: elem.name,
|
|
value: val.replace(rCRLF, "\r\n")
|
|
}
|
|
}).get()
|
|
}
|
|
});
|
|
var r20 = /%20/g,
|
|
rhash = /#.*$/,
|
|
rantiCache = /([?&])_=[^&]*/,
|
|
rheaders = /^(.*?):[ \t]*([^\r\n]*)$/gm,
|
|
rnoContent = /^(?:GET|HEAD)$/,
|
|
rprotocol = /^\/\//,
|
|
prefilters = {},
|
|
transports = {},
|
|
allTypes = "*/".concat("*"),
|
|
originAnchor = document.createElement("a");
|
|
|
|
function addToPrefiltersOrTransports(structure) {
|
|
return function(dataTypeExpression, func) {
|
|
"string" != typeof dataTypeExpression && (func = dataTypeExpression, dataTypeExpression = "*");
|
|
var dataType, i = 0,
|
|
dataTypes = dataTypeExpression.toLowerCase().match(rnothtmlwhite) || [];
|
|
if (isFunction(func))
|
|
for (; dataType = dataTypes[i++];) "+" === dataType[0] ? (dataType = dataType.slice(1) || "*", (structure[dataType] = structure[dataType] || []).unshift(func)) : (structure[dataType] = structure[dataType] || []).push(func)
|
|
}
|
|
}
|
|
|
|
function inspectPrefiltersOrTransports(structure, options, originalOptions, jqXHR) {
|
|
var inspected = {},
|
|
seekingTransport = structure === transports;
|
|
|
|
function inspect(dataType) {
|
|
var selected;
|
|
return inspected[dataType] = !0, jQuery.each(structure[dataType] || [], function(_, prefilterOrFactory) {
|
|
var dataTypeOrTransport = prefilterOrFactory(options, originalOptions, jqXHR);
|
|
return "string" != typeof dataTypeOrTransport || seekingTransport || inspected[dataTypeOrTransport] ? seekingTransport ? !(selected = dataTypeOrTransport) : void 0 : (options.dataTypes.unshift(dataTypeOrTransport), inspect(dataTypeOrTransport), !1)
|
|
}), selected
|
|
}
|
|
return inspect(options.dataTypes[0]) || !inspected["*"] && inspect("*")
|
|
}
|
|
|
|
function ajaxExtend(target, src) {
|
|
var key, deep, flatOptions = jQuery.ajaxSettings.flatOptions || {};
|
|
for (key in src) void 0 !== src[key] && ((flatOptions[key] ? target : deep || (deep = {}))[key] = src[key]);
|
|
return deep && jQuery.extend(!0, target, deep), target
|
|
}
|
|
originAnchor.href = location.href, jQuery.extend({
|
|
active: 0,
|
|
lastModified: {},
|
|
etag: {},
|
|
ajaxSettings: {
|
|
url: location.href,
|
|
type: "GET",
|
|
isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(location.protocol),
|
|
global: !0,
|
|
processData: !0,
|
|
async: !0,
|
|
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
|
|
accepts: {
|
|
"*": allTypes,
|
|
text: "text/plain",
|
|
html: "text/html",
|
|
xml: "application/xml, text/xml",
|
|
json: "application/json, text/javascript"
|
|
},
|
|
contents: {
|
|
xml: /\bxml\b/,
|
|
html: /\bhtml/,
|
|
json: /\bjson\b/
|
|
},
|
|
responseFields: {
|
|
xml: "responseXML",
|
|
text: "responseText",
|
|
json: "responseJSON"
|
|
},
|
|
converters: {
|
|
"* text": String,
|
|
"text html": !0,
|
|
"text json": JSON.parse,
|
|
"text xml": jQuery.parseXML
|
|
},
|
|
flatOptions: {
|
|
url: !0,
|
|
context: !0
|
|
}
|
|
},
|
|
ajaxSetup: function(target, settings) {
|
|
return settings ? ajaxExtend(ajaxExtend(target, jQuery.ajaxSettings), settings) : ajaxExtend(jQuery.ajaxSettings, target)
|
|
},
|
|
ajaxPrefilter: addToPrefiltersOrTransports(prefilters),
|
|
ajaxTransport: addToPrefiltersOrTransports(transports),
|
|
ajax: function(url, options) {
|
|
"object" == typeof url && (options = url, url = void 0), options = options || {};
|
|
var transport, cacheURL, responseHeadersString, responseHeaders, timeoutTimer, urlAnchor, completed, fireGlobals, i, uncached, s = jQuery.ajaxSetup({}, options),
|
|
callbackContext = s.context || s,
|
|
globalEventContext = s.context && (callbackContext.nodeType || callbackContext.jquery) ? jQuery(callbackContext) : jQuery.event,
|
|
deferred = jQuery.Deferred(),
|
|
completeDeferred = jQuery.Callbacks("once memory"),
|
|
statusCode = s.statusCode || {},
|
|
requestHeaders = {},
|
|
requestHeadersNames = {},
|
|
strAbort = "canceled",
|
|
jqXHR = {
|
|
readyState: 0,
|
|
getResponseHeader: function(key) {
|
|
var match;
|
|
if (completed) {
|
|
if (!responseHeaders)
|
|
for (responseHeaders = {}; match = rheaders.exec(responseHeadersString);) responseHeaders[match[1].toLowerCase() + " "] = (responseHeaders[match[1].toLowerCase() + " "] || []).concat(match[2]);
|
|
match = responseHeaders[key.toLowerCase() + " "]
|
|
}
|
|
return null == match ? null : match.join(", ")
|
|
},
|
|
getAllResponseHeaders: function() {
|
|
return completed ? responseHeadersString : null
|
|
},
|
|
setRequestHeader: function(name, value) {
|
|
return null == completed && (name = requestHeadersNames[name.toLowerCase()] = requestHeadersNames[name.toLowerCase()] || name, requestHeaders[name] = value), this
|
|
},
|
|
overrideMimeType: function(type) {
|
|
return null == completed && (s.mimeType = type), this
|
|
},
|
|
statusCode: function(map) {
|
|
var code;
|
|
if (map)
|
|
if (completed) jqXHR.always(map[jqXHR.status]);
|
|
else
|
|
for (code in map) statusCode[code] = [statusCode[code], map[code]];
|
|
return this
|
|
},
|
|
abort: function(statusText) {
|
|
var finalText = statusText || strAbort;
|
|
return transport && transport.abort(finalText), done(0, finalText), this
|
|
}
|
|
};
|
|
if (deferred.promise(jqXHR), s.url = ((url || s.url || location.href) + "").replace(rprotocol, location.protocol + "//"), s.type = options.method || options.type || s.method || s.type, s.dataTypes = (s.dataType || "*").toLowerCase().match(rnothtmlwhite) || [""], null == s.crossDomain) {
|
|
urlAnchor = document.createElement("a");
|
|
try {
|
|
urlAnchor.href = s.url, urlAnchor.href = urlAnchor.href, s.crossDomain = originAnchor.protocol + "//" + originAnchor.host != urlAnchor.protocol + "//" + urlAnchor.host
|
|
} catch (e) {
|
|
s.crossDomain = !0
|
|
}
|
|
}
|
|
if (s.data && s.processData && "string" != typeof s.data && (s.data = jQuery.param(s.data, s.traditional)), inspectPrefiltersOrTransports(prefilters, s, options, jqXHR), completed) return jqXHR;
|
|
for (i in (fireGlobals = jQuery.event && s.global) && 0 === jQuery.active++ && jQuery.event.trigger("ajaxStart"), s.type = s.type.toUpperCase(), s.hasContent = !rnoContent.test(s.type), cacheURL = s.url.replace(rhash, ""), s.hasContent ? s.data && s.processData && 0 === (s.contentType || "").indexOf("application/x-www-form-urlencoded") && (s.data = s.data.replace(r20, "+")) : (uncached = s.url.slice(cacheURL.length), s.data && (s.processData || "string" == typeof s.data) && (cacheURL += (rquery.test(cacheURL) ? "&" : "?") + s.data, delete s.data), !1 === s.cache && (cacheURL = cacheURL.replace(rantiCache, "$1"), uncached = (rquery.test(cacheURL) ? "&" : "?") + "_=" + nonce.guid++ + uncached), s.url = cacheURL + uncached), s.ifModified && (jQuery.lastModified[cacheURL] && jqXHR.setRequestHeader("If-Modified-Since", jQuery.lastModified[cacheURL]), jQuery.etag[cacheURL] && jqXHR.setRequestHeader("If-None-Match", jQuery.etag[cacheURL])), (s.data && s.hasContent && !1 !== s.contentType || options.contentType) && jqXHR.setRequestHeader("Content-Type", s.contentType), jqXHR.setRequestHeader("Accept", s.dataTypes[0] && s.accepts[s.dataTypes[0]] ? s.accepts[s.dataTypes[0]] + ("*" !== s.dataTypes[0] ? ", " + allTypes + "; q=0.01" : "") : s.accepts["*"]), s.headers) jqXHR.setRequestHeader(i, s.headers[i]);
|
|
if (s.beforeSend && (!1 === s.beforeSend.call(callbackContext, jqXHR, s) || completed)) return jqXHR.abort();
|
|
if (strAbort = "abort", completeDeferred.add(s.complete), jqXHR.done(s.success), jqXHR.fail(s.error), transport = inspectPrefiltersOrTransports(transports, s, options, jqXHR)) {
|
|
if (jqXHR.readyState = 1, fireGlobals && globalEventContext.trigger("ajaxSend", [jqXHR, s]), completed) return jqXHR;
|
|
s.async && s.timeout > 0 && (timeoutTimer = window.setTimeout(function() {
|
|
jqXHR.abort("timeout")
|
|
}, s.timeout));
|
|
try {
|
|
completed = !1, transport.send(requestHeaders, done)
|
|
} catch (e) {
|
|
if (completed) throw e;
|
|
done(-1, e)
|
|
}
|
|
} else done(-1, "No Transport");
|
|
|
|
function done(status, nativeStatusText, responses, headers) {
|
|
var isSuccess, success, error, response, modified, statusText = nativeStatusText;
|
|
completed || (completed = !0, timeoutTimer && window.clearTimeout(timeoutTimer), transport = void 0, responseHeadersString = headers || "", jqXHR.readyState = status > 0 ? 4 : 0, isSuccess = status >= 200 && status < 300 || 304 === status, responses && (response = function(s, jqXHR, responses) {
|
|
for (var ct, type, finalDataType, firstDataType, contents = s.contents, dataTypes = s.dataTypes;
|
|
"*" === dataTypes[0];) dataTypes.shift(), void 0 === ct && (ct = s.mimeType || jqXHR.getResponseHeader("Content-Type"));
|
|
if (ct)
|
|
for (type in contents)
|
|
if (contents[type] && contents[type].test(ct)) {
|
|
dataTypes.unshift(type);
|
|
break
|
|
} if (dataTypes[0] in responses) finalDataType = dataTypes[0];
|
|
else {
|
|
for (type in responses) {
|
|
if (!dataTypes[0] || s.converters[type + " " + dataTypes[0]]) {
|
|
finalDataType = type;
|
|
break
|
|
}
|
|
firstDataType || (firstDataType = type)
|
|
}
|
|
finalDataType = finalDataType || firstDataType
|
|
}
|
|
if (finalDataType) return finalDataType !== dataTypes[0] && dataTypes.unshift(finalDataType), responses[finalDataType]
|
|
}(s, jqXHR, responses)), !isSuccess && jQuery.inArray("script", s.dataTypes) > -1 && jQuery.inArray("json", s.dataTypes) < 0 && (s.converters["text script"] = function() {}), response = function(s, response, jqXHR, isSuccess) {
|
|
var conv2, current, conv, tmp, prev, converters = {},
|
|
dataTypes = s.dataTypes.slice();
|
|
if (dataTypes[1])
|
|
for (conv in s.converters) converters[conv.toLowerCase()] = s.converters[conv];
|
|
for (current = dataTypes.shift(); current;)
|
|
if (s.responseFields[current] && (jqXHR[s.responseFields[current]] = response), !prev && isSuccess && s.dataFilter && (response = s.dataFilter(response, s.dataType)), prev = current, current = dataTypes.shift())
|
|
if ("*" === current) current = prev;
|
|
else if ("*" !== prev && prev !== current) {
|
|
if (!(conv = converters[prev + " " + current] || converters["* " + current]))
|
|
for (conv2 in converters)
|
|
if ((tmp = conv2.split(" "))[1] === current && (conv = converters[prev + " " + tmp[0]] || converters["* " + tmp[0]])) {
|
|
!0 === conv ? conv = converters[conv2] : !0 !== converters[conv2] && (current = tmp[0], dataTypes.unshift(tmp[1]));
|
|
break
|
|
} if (!0 !== conv)
|
|
if (conv && s.throws) response = conv(response);
|
|
else try {
|
|
response = conv(response)
|
|
} catch (e) {
|
|
return {
|
|
state: "parsererror",
|
|
error: conv ? e : "No conversion from " + prev + " to " + current
|
|
}
|
|
}
|
|
}
|
|
return {
|
|
state: "success",
|
|
data: response
|
|
}
|
|
}(s, response, jqXHR, isSuccess), isSuccess ? (s.ifModified && ((modified = jqXHR.getResponseHeader("Last-Modified")) && (jQuery.lastModified[cacheURL] = modified), (modified = jqXHR.getResponseHeader("etag")) && (jQuery.etag[cacheURL] = modified)), 204 === status || "HEAD" === s.type ? statusText = "nocontent" : 304 === status ? statusText = "notmodified" : (statusText = response.state, success = response.data, isSuccess = !(error = response.error))) : (error = statusText, !status && statusText || (statusText = "error", status < 0 && (status = 0))), jqXHR.status = status, jqXHR.statusText = (nativeStatusText || statusText) + "", isSuccess ? deferred.resolveWith(callbackContext, [success, statusText, jqXHR]) : deferred.rejectWith(callbackContext, [jqXHR, statusText, error]), jqXHR.statusCode(statusCode), statusCode = void 0, fireGlobals && globalEventContext.trigger(isSuccess ? "ajaxSuccess" : "ajaxError", [jqXHR, s, isSuccess ? success : error]), completeDeferred.fireWith(callbackContext, [jqXHR, statusText]), fireGlobals && (globalEventContext.trigger("ajaxComplete", [jqXHR, s]), --jQuery.active || jQuery.event.trigger("ajaxStop")))
|
|
}
|
|
return jqXHR
|
|
},
|
|
getJSON: function(url, data, callback) {
|
|
return jQuery.get(url, data, callback, "json")
|
|
},
|
|
getScript: function(url, callback) {
|
|
return jQuery.get(url, void 0, callback, "script")
|
|
}
|
|
}), jQuery.each(["get", "post"], function(_i, method) {
|
|
jQuery[method] = function(url, data, callback, type) {
|
|
return isFunction(data) && (type = type || callback, callback = data, data = void 0), jQuery.ajax(jQuery.extend({
|
|
url,
|
|
type: method,
|
|
dataType: type,
|
|
data,
|
|
success: callback
|
|
}, jQuery.isPlainObject(url) && url))
|
|
}
|
|
}), jQuery.ajaxPrefilter(function(s) {
|
|
var i;
|
|
for (i in s.headers) "content-type" === i.toLowerCase() && (s.contentType = s.headers[i] || "")
|
|
}), jQuery._evalUrl = function(url, options, doc) {
|
|
return jQuery.ajax({
|
|
url,
|
|
type: "GET",
|
|
dataType: "script",
|
|
cache: !0,
|
|
async: !1,
|
|
global: !1,
|
|
converters: {
|
|
"text script": function() {}
|
|
},
|
|
dataFilter: function(response) {
|
|
jQuery.globalEval(response, options, doc)
|
|
}
|
|
})
|
|
}, jQuery.fn.extend({
|
|
wrapAll: function(html) {
|
|
var wrap;
|
|
return this[0] && (isFunction(html) && (html = html.call(this[0])), wrap = jQuery(html, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && wrap.insertBefore(this[0]), wrap.map(function() {
|
|
for (var elem = this; elem.firstElementChild;) elem = elem.firstElementChild;
|
|
return elem
|
|
}).append(this)), this
|
|
},
|
|
wrapInner: function(html) {
|
|
return isFunction(html) ? this.each(function(i) {
|
|
jQuery(this).wrapInner(html.call(this, i))
|
|
}) : this.each(function() {
|
|
var self = jQuery(this),
|
|
contents = self.contents();
|
|
contents.length ? contents.wrapAll(html) : self.append(html)
|
|
})
|
|
},
|
|
wrap: function(html) {
|
|
var htmlIsFunction = isFunction(html);
|
|
return this.each(function(i) {
|
|
jQuery(this).wrapAll(htmlIsFunction ? html.call(this, i) : html)
|
|
})
|
|
},
|
|
unwrap: function(selector) {
|
|
return this.parent(selector).not("body").each(function() {
|
|
jQuery(this).replaceWith(this.childNodes)
|
|
}), this
|
|
}
|
|
}), jQuery.expr.pseudos.hidden = function(elem) {
|
|
return !jQuery.expr.pseudos.visible(elem)
|
|
}, jQuery.expr.pseudos.visible = function(elem) {
|
|
return !!(elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length)
|
|
}, jQuery.ajaxSettings.xhr = function() {
|
|
try {
|
|
return new window.XMLHttpRequest
|
|
} catch (e) {}
|
|
};
|
|
var xhrSuccessStatus = {
|
|
0: 200,
|
|
1223: 204
|
|
},
|
|
xhrSupported = jQuery.ajaxSettings.xhr();
|
|
support.cors = !!xhrSupported && "withCredentials" in xhrSupported, support.ajax = xhrSupported = !!xhrSupported, jQuery.ajaxTransport(function(options) {
|
|
var callback, errorCallback;
|
|
if (support.cors || xhrSupported && !options.crossDomain) return {
|
|
send: function(headers, complete) {
|
|
var i, xhr = options.xhr();
|
|
if (xhr.open(options.type, options.url, options.async, options.username, options.password), options.xhrFields)
|
|
for (i in options.xhrFields) xhr[i] = options.xhrFields[i];
|
|
for (i in options.mimeType && xhr.overrideMimeType && xhr.overrideMimeType(options.mimeType), options.crossDomain || headers["X-Requested-With"] || (headers["X-Requested-With"] = "XMLHttpRequest"), headers) xhr.setRequestHeader(i, headers[i]);
|
|
callback = function(type) {
|
|
return function() {
|
|
callback && (callback = errorCallback = xhr.onload = xhr.onerror = xhr.onabort = xhr.ontimeout = xhr.onreadystatechange = null, "abort" === type ? xhr.abort() : "error" === type ? "number" != typeof xhr.status ? complete(0, "error") : complete(xhr.status, xhr.statusText) : complete(xhrSuccessStatus[xhr.status] || xhr.status, xhr.statusText, "text" !== (xhr.responseType || "text") || "string" != typeof xhr.responseText ? {
|
|
binary: xhr.response
|
|
} : {
|
|
text: xhr.responseText
|
|
}, xhr.getAllResponseHeaders()))
|
|
}
|
|
}, xhr.onload = callback(), errorCallback = xhr.onerror = xhr.ontimeout = callback("error"), void 0 !== xhr.onabort ? xhr.onabort = errorCallback : xhr.onreadystatechange = function() {
|
|
4 === xhr.readyState && window.setTimeout(function() {
|
|
callback && errorCallback()
|
|
})
|
|
}, callback = callback("abort");
|
|
try {
|
|
xhr.send(options.hasContent && options.data || null)
|
|
} catch (e) {
|
|
if (callback) throw e
|
|
}
|
|
},
|
|
abort: function() {
|
|
callback && callback()
|
|
}
|
|
}
|
|
}), jQuery.ajaxPrefilter(function(s) {
|
|
s.crossDomain && (s.contents.script = !1)
|
|
}), jQuery.ajaxSetup({
|
|
accepts: {
|
|
script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
|
|
},
|
|
contents: {
|
|
script: /\b(?:java|ecma)script\b/
|
|
},
|
|
converters: {
|
|
"text script": function(text) {
|
|
return jQuery.globalEval(text), text
|
|
}
|
|
}
|
|
}), jQuery.ajaxPrefilter("script", function(s) {
|
|
void 0 === s.cache && (s.cache = !1), s.crossDomain && (s.type = "GET")
|
|
}), jQuery.ajaxTransport("script", function(s) {
|
|
var script, callback;
|
|
if (s.crossDomain || s.scriptAttrs) return {
|
|
send: function(_, complete) {
|
|
script = jQuery("<script>").attr(s.scriptAttrs || {}).prop({
|
|
charset: s.scriptCharset,
|
|
src: s.url
|
|
}).on("load error", callback = function(evt) {
|
|
script.remove(), callback = null, evt && complete("error" === evt.type ? 404 : 200, evt.type)
|
|
}), document.head.appendChild(script[0])
|
|
},
|
|
abort: function() {
|
|
callback && callback()
|
|
}
|
|
}
|
|
});
|
|
var body, oldCallbacks = [],
|
|
rjsonp = /(=)\?(?=&|$)|\?\?/;
|
|
jQuery.ajaxSetup({
|
|
jsonp: "callback",
|
|
jsonpCallback: function() {
|
|
var callback = oldCallbacks.pop() || jQuery.expando + "_" + nonce.guid++;
|
|
return this[callback] = !0, callback
|
|
}
|
|
}), jQuery.ajaxPrefilter("json jsonp", function(s, originalSettings, jqXHR) {
|
|
var callbackName, overwritten, responseContainer, jsonProp = !1 !== s.jsonp && (rjsonp.test(s.url) ? "url" : "string" == typeof s.data && 0 === (s.contentType || "").indexOf("application/x-www-form-urlencoded") && rjsonp.test(s.data) && "data");
|
|
if (jsonProp || "jsonp" === s.dataTypes[0]) return callbackName = s.jsonpCallback = isFunction(s.jsonpCallback) ? s.jsonpCallback() : s.jsonpCallback, jsonProp ? s[jsonProp] = s[jsonProp].replace(rjsonp, "$1" + callbackName) : !1 !== s.jsonp && (s.url += (rquery.test(s.url) ? "&" : "?") + s.jsonp + "=" + callbackName), s.converters["script json"] = function() {
|
|
return responseContainer || jQuery.error(callbackName + " was not called"), responseContainer[0]
|
|
}, s.dataTypes[0] = "json", overwritten = window[callbackName], window[callbackName] = function() {
|
|
responseContainer = arguments
|
|
}, jqXHR.always(function() {
|
|
void 0 === overwritten ? jQuery(window).removeProp(callbackName) : window[callbackName] = overwritten, s[callbackName] && (s.jsonpCallback = originalSettings.jsonpCallback, oldCallbacks.push(callbackName)), responseContainer && isFunction(overwritten) && overwritten(responseContainer[0]), responseContainer = overwritten = void 0
|
|
}), "script"
|
|
}), support.createHTMLDocument = ((body = document.implementation.createHTMLDocument("").body).innerHTML = "<form></form><form></form>", 2 === body.childNodes.length), jQuery.parseHTML = function(data, context, keepScripts) {
|
|
return "string" != typeof data ? [] : ("boolean" == typeof context && (keepScripts = context, context = !1), context || (support.createHTMLDocument ? ((base = (context = document.implementation.createHTMLDocument("")).createElement("base")).href = document.location.href, context.head.appendChild(base)) : context = document), scripts = !keepScripts && [], (parsed = rsingleTag.exec(data)) ? [context.createElement(parsed[1])] : (parsed = buildFragment([data], context, scripts), scripts && scripts.length && jQuery(scripts).remove(), jQuery.merge([], parsed.childNodes)));
|
|
var base, parsed, scripts
|
|
}, jQuery.fn.load = function(url, params, callback) {
|
|
var selector, type, response, self = this,
|
|
off = url.indexOf(" ");
|
|
return off > -1 && (selector = stripAndCollapse(url.slice(off)), url = url.slice(0, off)), isFunction(params) ? (callback = params, params = void 0) : params && "object" == typeof params && (type = "POST"), self.length > 0 && jQuery.ajax({
|
|
url,
|
|
type: type || "GET",
|
|
dataType: "html",
|
|
data: params
|
|
}).done(function(responseText) {
|
|
response = arguments, self.html(selector ? jQuery("<div>").append(jQuery.parseHTML(responseText)).find(selector) : responseText)
|
|
}).always(callback && function(jqXHR, status) {
|
|
self.each(function() {
|
|
callback.apply(this, response || [jqXHR.responseText, status, jqXHR])
|
|
})
|
|
}), this
|
|
}, jQuery.expr.pseudos.animated = function(elem) {
|
|
return jQuery.grep(jQuery.timers, function(fn) {
|
|
return elem === fn.elem
|
|
}).length
|
|
}, jQuery.offset = {
|
|
setOffset: function(elem, options, i) {
|
|
var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, position = jQuery.css(elem, "position"),
|
|
curElem = jQuery(elem),
|
|
props = {};
|
|
"static" === position && (elem.style.position = "relative"), curOffset = curElem.offset(), curCSSTop = jQuery.css(elem, "top"), curCSSLeft = jQuery.css(elem, "left"), ("absolute" === position || "fixed" === position) && (curCSSTop + curCSSLeft).indexOf("auto") > -1 ? (curTop = (curPosition = curElem.position()).top, curLeft = curPosition.left) : (curTop = parseFloat(curCSSTop) || 0, curLeft = parseFloat(curCSSLeft) || 0), isFunction(options) && (options = options.call(elem, i, jQuery.extend({}, curOffset))), null != options.top && (props.top = options.top - curOffset.top + curTop), null != options.left && (props.left = options.left - curOffset.left + curLeft), "using" in options ? options.using.call(elem, props) : curElem.css(props)
|
|
}
|
|
}, jQuery.fn.extend({
|
|
offset: function(options) {
|
|
if (arguments.length) return void 0 === options ? this : this.each(function(i) {
|
|
jQuery.offset.setOffset(this, options, i)
|
|
});
|
|
var rect, win, elem = this[0];
|
|
return elem ? elem.getClientRects().length ? (rect = elem.getBoundingClientRect(), win = elem.ownerDocument.defaultView, {
|
|
top: rect.top + win.pageYOffset,
|
|
left: rect.left + win.pageXOffset
|
|
}) : {
|
|
top: 0,
|
|
left: 0
|
|
} : void 0
|
|
},
|
|
position: function() {
|
|
if (this[0]) {
|
|
var offsetParent, offset, doc, elem = this[0],
|
|
parentOffset = {
|
|
top: 0,
|
|
left: 0
|
|
};
|
|
if ("fixed" === jQuery.css(elem, "position")) offset = elem.getBoundingClientRect();
|
|
else {
|
|
for (offset = this.offset(), doc = elem.ownerDocument, offsetParent = elem.offsetParent || doc.documentElement; offsetParent && (offsetParent === doc.body || offsetParent === doc.documentElement) && "static" === jQuery.css(offsetParent, "position");) offsetParent = offsetParent.parentNode;
|
|
offsetParent && offsetParent !== elem && 1 === offsetParent.nodeType && ((parentOffset = jQuery(offsetParent).offset()).top += jQuery.css(offsetParent, "borderTopWidth", !0), parentOffset.left += jQuery.css(offsetParent, "borderLeftWidth", !0))
|
|
}
|
|
return {
|
|
top: offset.top - parentOffset.top - jQuery.css(elem, "marginTop", !0),
|
|
left: offset.left - parentOffset.left - jQuery.css(elem, "marginLeft", !0)
|
|
}
|
|
}
|
|
},
|
|
offsetParent: function() {
|
|
return this.map(function() {
|
|
for (var offsetParent = this.offsetParent; offsetParent && "static" === jQuery.css(offsetParent, "position");) offsetParent = offsetParent.offsetParent;
|
|
return offsetParent || documentElement
|
|
})
|
|
}
|
|
}), jQuery.each({
|
|
scrollLeft: "pageXOffset",
|
|
scrollTop: "pageYOffset"
|
|
}, function(method, prop) {
|
|
var top = "pageYOffset" === prop;
|
|
jQuery.fn[method] = function(val) {
|
|
return access(this, function(elem, method, val) {
|
|
var win;
|
|
if (isWindow(elem) ? win = elem : 9 === elem.nodeType && (win = elem.defaultView), void 0 === val) return win ? win[prop] : elem[method];
|
|
win ? win.scrollTo(top ? win.pageXOffset : val, top ? val : win.pageYOffset) : elem[method] = val
|
|
}, method, val, arguments.length)
|
|
}
|
|
}), jQuery.each(["top", "left"], function(_i, prop) {
|
|
jQuery.cssHooks[prop] = addGetHookIf(support.pixelPosition, function(elem, computed) {
|
|
if (computed) return computed = curCSS(elem, prop), rnumnonpx.test(computed) ? jQuery(elem).position()[prop] + "px" : computed
|
|
})
|
|
}), jQuery.each({
|
|
Height: "height",
|
|
Width: "width"
|
|
}, function(name, type) {
|
|
jQuery.each({
|
|
padding: "inner" + name,
|
|
content: type,
|
|
"": "outer" + name
|
|
}, function(defaultExtra, funcName) {
|
|
jQuery.fn[funcName] = function(margin, value) {
|
|
var chainable = arguments.length && (defaultExtra || "boolean" != typeof margin),
|
|
extra = defaultExtra || (!0 === margin || !0 === value ? "margin" : "border");
|
|
return access(this, function(elem, type, value) {
|
|
var doc;
|
|
return isWindow(elem) ? 0 === funcName.indexOf("outer") ? elem["inner" + name] : elem.document.documentElement["client" + name] : 9 === elem.nodeType ? (doc = elem.documentElement, Math.max(elem.body["scroll" + name], doc["scroll" + name], elem.body["offset" + name], doc["offset" + name], doc["client" + name])) : void 0 === value ? jQuery.css(elem, type, extra) : jQuery.style(elem, type, value, extra)
|
|
}, type, chainable ? margin : void 0, chainable)
|
|
}
|
|
})
|
|
}), jQuery.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function(_i, type) {
|
|
jQuery.fn[type] = function(fn) {
|
|
return this.on(type, fn)
|
|
}
|
|
}), jQuery.fn.extend({
|
|
bind: function(types, data, fn) {
|
|
return this.on(types, null, data, fn)
|
|
},
|
|
unbind: function(types, fn) {
|
|
return this.off(types, null, fn)
|
|
},
|
|
delegate: function(selector, types, data, fn) {
|
|
return this.on(types, selector, data, fn)
|
|
},
|
|
undelegate: function(selector, types, fn) {
|
|
return 1 === arguments.length ? this.off(selector, "**") : this.off(types, selector || "**", fn)
|
|
},
|
|
hover: function(fnOver, fnOut) {
|
|
return this.on("mouseenter", fnOver).on("mouseleave", fnOut || fnOver)
|
|
}
|
|
}), jQuery.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "), function(_i, name) {
|
|
jQuery.fn[name] = function(data, fn) {
|
|
return arguments.length > 0 ? this.on(name, null, data, fn) : this.trigger(name)
|
|
}
|
|
});
|
|
var rtrim = /^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;
|
|
jQuery.proxy = function(fn, context) {
|
|
var tmp, args, proxy;
|
|
if ("string" == typeof context && (tmp = fn[context], context = fn, fn = tmp), isFunction(fn)) return args = slice.call(arguments, 2), proxy = function() {
|
|
return fn.apply(context || this, args.concat(slice.call(arguments)))
|
|
}, proxy.guid = fn.guid = fn.guid || jQuery.guid++, proxy
|
|
}, jQuery.holdReady = function(hold) {
|
|
hold ? jQuery.readyWait++ : jQuery.ready(!0)
|
|
}, jQuery.isArray = Array.isArray, jQuery.parseJSON = JSON.parse, jQuery.nodeName = nodeName, jQuery.isFunction = isFunction, jQuery.isWindow = isWindow, jQuery.camelCase = camelCase, jQuery.type = toType, jQuery.now = Date.now, jQuery.isNumeric = function(obj) {
|
|
var type = jQuery.type(obj);
|
|
return ("number" === type || "string" === type) && !isNaN(obj - parseFloat(obj))
|
|
}, jQuery.trim = function(text) {
|
|
return null == text ? "" : (text + "").replace(rtrim, "$1")
|
|
}, void 0 === (__WEBPACK_AMD_DEFINE_RESULT__ = function() {
|
|
return jQuery
|
|
}.apply(exports, [])) || (module.exports = __WEBPACK_AMD_DEFINE_RESULT__);
|
|
var _jQuery = window.jQuery,
|
|
_$ = window.$;
|
|
return jQuery.noConflict = function(deep) {
|
|
return window.$ === jQuery && (window.$ = _$), deep && window.jQuery === jQuery && (window.jQuery = _jQuery), jQuery
|
|
}, void 0 === noGlobal && (window.jQuery = window.$ = jQuery), jQuery
|
|
})
|
|
},
|
|
69719: module => {
|
|
module.exports = /([a-z\xB5\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02AF\u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0561-\u0587\u13F8-\u13FD\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6\u1FC7\u1FD0-\u1FD3\u1FD6\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6\u1FF7\u210A\u210E\u210F\u2113\u212F\u2134\u2139\u213C\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5E\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7B5\uA7B7\uA7FA\uAB30-\uAB5A\uAB60-\uAB65\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A0-9\xB2\xB3\xB9\xBC-\xBE\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u09F4-\u09F9\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0B72-\u0B77\u0BE6-\u0BF2\u0C66-\u0C6F\u0C78-\u0C7E\u0CE6-\u0CEF\u0D66-\u0D75\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F33\u1040-\u1049\u1090-\u1099\u1369-\u137C\u16EE-\u16F0\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1946-\u194F\u19D0-\u19DA\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\u2070\u2074-\u2079\u2080-\u2089\u2150-\u2182\u2185-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2CFD\u3007\u3021-\u3029\u3038-\u303A\u3192-\u3195\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\uA620-\uA629\uA6E6-\uA6EF\uA830-\uA835\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19])([A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E\u213F\u2145\u2183\u2C00-\u2C2E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AD\uA7B0-\uA7B4\uA7B6\uFF21-\uFF3A])/g
|
|
},
|
|
69740: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.findAll = exports.existsOne = exports.findOne = exports.findOneChild = exports.find = exports.filter = void 0;
|
|
var domhandler_1 = __webpack_require__(75243);
|
|
|
|
function find(test, nodes, recurse, limit) {
|
|
for (var result = [], _i = 0, nodes_1 = nodes; _i < nodes_1.length; _i++) {
|
|
var elem = nodes_1[_i];
|
|
if (test(elem) && (result.push(elem), --limit <= 0)) break;
|
|
if (recurse && (0, domhandler_1.hasChildren)(elem) && elem.children.length > 0) {
|
|
var children = find(test, elem.children, recurse, limit);
|
|
if (result.push.apply(result, children), (limit -= children.length) <= 0) break
|
|
}
|
|
}
|
|
return result
|
|
}
|
|
exports.filter = function(test, node, recurse, limit) {
|
|
return void 0 === recurse && (recurse = !0), void 0 === limit && (limit = 1 / 0), Array.isArray(node) || (node = [node]), find(test, node, recurse, limit)
|
|
}, exports.find = find, exports.findOneChild = function(test, nodes) {
|
|
return nodes.find(test)
|
|
}, exports.findOne = function findOne(test, nodes, recurse) {
|
|
void 0 === recurse && (recurse = !0);
|
|
for (var elem = null, i = 0; i < nodes.length && !elem; i++) {
|
|
var checked = nodes[i];
|
|
(0, domhandler_1.isTag)(checked) && (test(checked) ? elem = checked : recurse && checked.children.length > 0 && (elem = findOne(test, checked.children)))
|
|
}
|
|
return elem
|
|
}, exports.existsOne = function existsOne(test, nodes) {
|
|
return nodes.some(function(checked) {
|
|
return (0, domhandler_1.isTag)(checked) && (test(checked) || checked.children.length > 0 && existsOne(test, checked.children))
|
|
})
|
|
}, exports.findAll = function(test, nodes) {
|
|
for (var _a, elem, result = [], stack = nodes.filter(domhandler_1.isTag); elem = stack.shift();) {
|
|
var children = null === (_a = elem.children) || void 0 === _a ? void 0 : _a.filter(domhandler_1.isTag);
|
|
children && children.length > 0 && stack.unshift.apply(stack, children), test(elem) && result.push(elem)
|
|
}
|
|
return result
|
|
}
|
|
},
|
|
70258: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var _typeof = __webpack_require__(49116).default,
|
|
toPrimitive = __webpack_require__(34999);
|
|
module.exports = function(t) {
|
|
var i = toPrimitive(t, "string");
|
|
return "symbol" == _typeof(i) ? i : i + ""
|
|
}, module.exports.__esModule = !0, module.exports.default = module.exports
|
|
},
|
|
70554: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function(instance, scope) {
|
|
const consoleToUse = (instance.defaultOptions.console || {}).logger || console,
|
|
consoleObj = instance.createObject(instance.OBJECT);
|
|
instance.setProperty(scope, "console", consoleObj, _Instance.default.READONLY_DESCRIPTOR), CONSOLE_LEVELS.forEach(level => {
|
|
instance.setProperty(consoleObj, level, instance.createNativeFunction((...args) => {
|
|
try {
|
|
const nativeArgs = args.map(arg => instance.pseudoToNative(arg));
|
|
void 0 !== consoleToUse && "function" == typeof consoleToUse[level] && consoleToUse[level](...nativeArgs)
|
|
} catch (err) {
|
|
instance.throwException(instance.ERROR, err && err.message)
|
|
}
|
|
}), _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR)
|
|
})
|
|
};
|
|
var _Instance = _interopRequireDefault(__webpack_require__(76352));
|
|
const CONSOLE_LEVELS = ["trace", "log", "info", "warn", "error"];
|
|
module.exports = exports.default
|
|
},
|
|
70668: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912));
|
|
exports.default = new _dac.default({
|
|
description: "Shutterstock",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 10
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "7394095018273726576",
|
|
name: "Shutterstock"
|
|
}],
|
|
doDac: async function(couponCode, selector, priceAmt, applyBestCode) {
|
|
let price = priceAmt;
|
|
return function(res) {
|
|
try {
|
|
price = res.data.attributes.total
|
|
} catch (e) {}
|
|
Number(_legacyHoneyUtils.default.cleanPrice(price)) < priceAmt && (0, _jquery.default)(selector).text(price)
|
|
}(await async function() {
|
|
const data = {
|
|
data: {
|
|
attributes: {
|
|
coupons: [{
|
|
type: "coupon",
|
|
coupon_code: couponCode
|
|
}]
|
|
},
|
|
type: "orders"
|
|
}
|
|
},
|
|
url = "https://www.shutterstock.com/papi/orders/" + await
|
|
function() {
|
|
const script = (0, _jquery.default)("#__NEXT_DATA__").text();
|
|
let parsedScript;
|
|
try {
|
|
parsedScript = JSON.parse(script)
|
|
} catch (e) {}
|
|
return parsedScript.query.orderId
|
|
}() + "?include=invoices", res1 = _jquery.default.ajax({
|
|
url,
|
|
type: "PATCH",
|
|
headers: {
|
|
accept: "application/json"
|
|
},
|
|
dataType: "json",
|
|
contentType: "application/json",
|
|
data: JSON.stringify(data)
|
|
});
|
|
await res1.done(_data => {
|
|
_logger.default.debug("Finished applying code")
|
|
}).fail((xhr, textStatus, error) => {
|
|
_logger.default.debug(`Coupon could not be applied: ${error}`)
|
|
});
|
|
const res2 = _jquery.default.ajax({
|
|
url,
|
|
type: "GET",
|
|
headers: {
|
|
accept: "application/json"
|
|
}
|
|
});
|
|
return await res2.done(_data => {
|
|
_logger.default.debug("Finishing gettig updated information")
|
|
}), res2
|
|
}()), !0 === applyBestCode && (window.location = window.location.href, await new Promise(resolve => window.addEventListener("load", resolve)), await sleep(2e3)), Number(_legacyHoneyUtils.default.cleanPrice(price))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
70704: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.prevElementSibling = exports.nextElementSibling = exports.getName = exports.hasAttrib = exports.getAttributeValue = exports.getSiblings = exports.getParent = exports.getChildren = void 0;
|
|
var domhandler_1 = __webpack_require__(75243),
|
|
emptyArray = [];
|
|
|
|
function getChildren(elem) {
|
|
var _a;
|
|
return null !== (_a = elem.children) && void 0 !== _a ? _a : emptyArray
|
|
}
|
|
|
|
function getParent(elem) {
|
|
return elem.parent || null
|
|
}
|
|
exports.getChildren = getChildren, exports.getParent = getParent, exports.getSiblings = function(elem) {
|
|
var parent = getParent(elem);
|
|
if (null != parent) return getChildren(parent);
|
|
for (var siblings = [elem], prev = elem.prev, next = elem.next; null != prev;) siblings.unshift(prev), prev = prev.prev;
|
|
for (; null != next;) siblings.push(next), next = next.next;
|
|
return siblings
|
|
}, exports.getAttributeValue = function(elem, name) {
|
|
var _a;
|
|
return null === (_a = elem.attribs) || void 0 === _a ? void 0 : _a[name]
|
|
}, exports.hasAttrib = function(elem, name) {
|
|
return null != elem.attribs && Object.prototype.hasOwnProperty.call(elem.attribs, name) && null != elem.attribs[name]
|
|
}, exports.getName = function(elem) {
|
|
return elem.name
|
|
}, exports.nextElementSibling = function(elem) {
|
|
for (var next = elem.next; null !== next && !(0, domhandler_1.isTag)(next);) next = next.next;
|
|
return next
|
|
}, exports.prevElementSibling = function(elem) {
|
|
for (var prev = elem.prev; null !== prev && !(0, domhandler_1.isTag)(prev);) prev = prev.prev;
|
|
return prev
|
|
}
|
|
},
|
|
70804: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
/*!
|
|
* node-htmlencode - Wrapped version of http://www.strictly-software.com/htmlencode
|
|
* Copyright(c) 2013 Dan MacTough <danmactough@gmail.com>
|
|
* All rights reserved.
|
|
*/
|
|
var htmlencode = __webpack_require__(35440),
|
|
Encoder = function(type) {
|
|
return type && (this.EncodeType = type), this
|
|
};
|
|
(0, __webpack_require__(89763)._extend)(Encoder.prototype, htmlencode);
|
|
var it = new Encoder;
|
|
Object.defineProperty(module.exports, "EncodeType", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return it.EncodeType
|
|
},
|
|
set: function(val) {
|
|
return it.EncodeType = val
|
|
}
|
|
}), ["HTML2Numerical", "NumericalToHTML", "numEncode", "htmlDecode", "htmlEncode", "XSSEncode", "hasEncoded", "stripUnicode", "correctEncoding"].forEach(function(method) {
|
|
module.exports[method] = it[method].bind(it)
|
|
}), module.exports.Encoder = Encoder
|
|
},
|
|
70904: (__unused_webpack_module, exports) => {
|
|
"use strict";
|
|
/*!
|
|
* is-plain-object <https://github.com/jonschlinkert/is-plain-object>
|
|
*
|
|
* Copyright (c) 2014-2017, Jon Schlinkert.
|
|
* Released under the MIT License.
|
|
*/
|
|
function isObject(o) {
|
|
return "[object Object]" === Object.prototype.toString.call(o)
|
|
}
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.isPlainObject = function(o) {
|
|
var ctor, prot;
|
|
return !1 !== isObject(o) && (void 0 === (ctor = o.constructor) || !1 !== isObject(prot = ctor.prototype) && !1 !== prot.hasOwnProperty("isPrototypeOf"))
|
|
}
|
|
},
|
|
71758: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912)),
|
|
_helpers = _interopRequireDefault(__webpack_require__(16065));
|
|
exports.default = new _dac.default({
|
|
description: "Worldmarket Acorns",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "209",
|
|
name: "World Market"
|
|
}],
|
|
doDac: async function(code, selector, priceAmt, applyBestCode) {
|
|
let couponUUID, price = priceAmt;
|
|
const csrfTokenEl = (0, _jquery.default)('[name="promo-code-form"] input[name="csrf_token"]'),
|
|
csrfToken = csrfTokenEl && csrfTokenEl.attr("value");
|
|
return function(res) {
|
|
try {
|
|
price = res.totals.grandTotal, couponUUID = res.couponInCartInfo.lastApplied.couponUuid
|
|
} catch (e) {}
|
|
Number(_legacyHoneyUtils.default.cleanPrice(price)) < priceAmt && (0, _jquery.default)(selector).text(price)
|
|
}(await async function() {
|
|
const res = _jquery.default.ajax({
|
|
url: "https://www.worldmarket.com/on/demandware.store/Sites-World_Market-Site/en_US/Cart-ApplyCoupon",
|
|
type: "GET",
|
|
headers: {
|
|
Accept: "*/*,application/json"
|
|
},
|
|
data: {
|
|
couponCode: code,
|
|
csrf_token: csrfToken
|
|
}
|
|
});
|
|
return await res.done(_data => {
|
|
_logger.default.debug("finishing applying code")
|
|
}), res
|
|
}()), !0 === applyBestCode ? (window.location = window.location.href, await new Promise(resolve => window.addEventListener("load", resolve)), await (0, _helpers.default)(2e3)) : !1 === applyBestCode && couponUUID && await async function() {
|
|
const res = _jquery.default.ajax({
|
|
url: "https://www.worldmarket.com/on/demandware.store/Sites-World_Market-Site/en_US/Cart-RemoveCouponLineItem",
|
|
type: "GET",
|
|
headers: {
|
|
Accept: "*/*,application/json"
|
|
},
|
|
data: {
|
|
code,
|
|
uuid: couponUUID
|
|
}
|
|
});
|
|
await res.done(_data => {
|
|
_logger.default.debug("Finish removing code")
|
|
})
|
|
}(), Number(_legacyHoneyUtils.default.cleanPrice(price))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
71779: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
const state = this.stateStack[this.stateStack.length - 1];
|
|
if (!state.test_) return state.test_ = !0, void this.stateStack.push({
|
|
node: state.node.discriminant
|
|
});
|
|
state.switchValue_ || (state.switchValue_ = state.value, state.checked_ = []);
|
|
const index = state.index_ || 0,
|
|
switchCase = state.node.cases[index];
|
|
if (switchCase) {
|
|
if (!state.done_ && !state.checked_[index] && switchCase.test) return state.checked_[index] = !0, void this.stateStack.push({
|
|
node: switchCase.test
|
|
});
|
|
if (state.done_ || !switchCase.test || 0 === _Instance.default.comp(state.value, state.switchValue_)) {
|
|
state.done_ = !0;
|
|
const n = state.n_ || 0;
|
|
if (switchCase.consequent[n]) return state.isSwitch = !0, this.stateStack.push({
|
|
node: switchCase.consequent[n]
|
|
}), void(state.n_ = n + 1)
|
|
}
|
|
state.n_ = 0, state.index_ = index + 1
|
|
} else this.stateStack.pop()
|
|
};
|
|
var _Instance = _interopRequireDefault(__webpack_require__(76352));
|
|
module.exports = exports.default
|
|
},
|
|
71887: module => {
|
|
"use strict";
|
|
module.exports = {
|
|
ClassRange: function(path) {
|
|
var node = path.node;
|
|
node.from.codePoint === node.to.codePoint ? path.replace(node.from) : node.from.codePoint === node.to.codePoint - 1 && (path.getParent().insertChildAt(node.to, path.index + 1), path.replace(node.from))
|
|
}
|
|
}
|
|
},
|
|
72134: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
module.exports = function(env) {
|
|
function createDebug(namespace) {
|
|
let prevTime, namespacesCache, enabledCache, enableOverride = null;
|
|
|
|
function debug(...args) {
|
|
if (!debug.enabled) return;
|
|
const self = debug,
|
|
curr = Number(new Date),
|
|
ms = curr - (prevTime || curr);
|
|
self.diff = ms, self.prev = prevTime, self.curr = curr, prevTime = curr, args[0] = createDebug.coerce(args[0]), "string" != typeof args[0] && args.unshift("%O");
|
|
let index = 0;
|
|
args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
|
|
if ("%%" === match) return "%";
|
|
index++;
|
|
const formatter = createDebug.formatters[format];
|
|
if ("function" == typeof formatter) {
|
|
const val = args[index];
|
|
match = formatter.call(self, val), args.splice(index, 1), index--
|
|
}
|
|
return match
|
|
}), createDebug.formatArgs.call(self, args);
|
|
(self.log || createDebug.log).apply(self, args)
|
|
}
|
|
return debug.namespace = namespace, debug.useColors = createDebug.useColors(), debug.color = createDebug.selectColor(namespace), debug.extend = extend, debug.destroy = createDebug.destroy, Object.defineProperty(debug, "enabled", {
|
|
enumerable: !0,
|
|
configurable: !1,
|
|
get: () => null !== enableOverride ? enableOverride : (namespacesCache !== createDebug.namespaces && (namespacesCache = createDebug.namespaces, enabledCache = createDebug.enabled(namespace)), enabledCache),
|
|
set: v => {
|
|
enableOverride = v
|
|
}
|
|
}), "function" == typeof createDebug.init && createDebug.init(debug), debug
|
|
}
|
|
|
|
function extend(namespace, delimiter) {
|
|
const newDebug = createDebug(this.namespace + (void 0 === delimiter ? ":" : delimiter) + namespace);
|
|
return newDebug.log = this.log, newDebug
|
|
}
|
|
|
|
function matchesTemplate(search, template) {
|
|
let searchIndex = 0,
|
|
templateIndex = 0,
|
|
starIndex = -1,
|
|
matchIndex = 0;
|
|
for (; searchIndex < search.length;)
|
|
if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || "*" === template[templateIndex])) "*" === template[templateIndex] ? (starIndex = templateIndex, matchIndex = searchIndex, templateIndex++) : (searchIndex++, templateIndex++);
|
|
else {
|
|
if (-1 === starIndex) return !1;
|
|
templateIndex = starIndex + 1, matchIndex++, searchIndex = matchIndex
|
|
} for (; templateIndex < template.length && "*" === template[templateIndex];) templateIndex++;
|
|
return templateIndex === template.length
|
|
}
|
|
return createDebug.debug = createDebug, createDebug.default = createDebug, createDebug.coerce = function(val) {
|
|
if (val instanceof Error) return val.stack || val.message;
|
|
return val
|
|
}, createDebug.disable = function() {
|
|
const namespaces = [...createDebug.names, ...createDebug.skips.map(namespace => "-" + namespace)].join(",");
|
|
return createDebug.enable(""), namespaces
|
|
}, createDebug.enable = function(namespaces) {
|
|
createDebug.save(namespaces), createDebug.namespaces = namespaces, createDebug.names = [], createDebug.skips = [];
|
|
const split = ("string" == typeof namespaces ? namespaces : "").trim().replace(/\s+/g, ",").split(",").filter(Boolean);
|
|
for (const ns of split) "-" === ns[0] ? createDebug.skips.push(ns.slice(1)) : createDebug.names.push(ns)
|
|
}, createDebug.enabled = function(name) {
|
|
for (const skip of createDebug.skips)
|
|
if (matchesTemplate(name, skip)) return !1;
|
|
for (const ns of createDebug.names)
|
|
if (matchesTemplate(name, ns)) return !0;
|
|
return !1
|
|
}, createDebug.humanize = __webpack_require__(21271), createDebug.destroy = function() {
|
|
console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")
|
|
}, Object.keys(env).forEach(key => {
|
|
createDebug[key] = env[key]
|
|
}), createDebug.names = [], createDebug.skips = [], createDebug.formatters = {}, createDebug.selectColor = function(namespace) {
|
|
let hash = 0;
|
|
for (let i = 0; i < namespace.length; i++) hash = (hash << 5) - hash + namespace.charCodeAt(i), hash |= 0;
|
|
return createDebug.colors[Math.abs(hash) % createDebug.colors.length]
|
|
}, createDebug.enable(createDebug.load()), createDebug
|
|
}
|
|
},
|
|
72555: function(module, exports, __webpack_require__) {
|
|
var CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), __webpack_require__(8242), function(Math) {
|
|
var C = CryptoJS,
|
|
C_lib = C.lib,
|
|
WordArray = C_lib.WordArray,
|
|
Hasher = C_lib.Hasher,
|
|
X64Word = C.x64.Word,
|
|
C_algo = C.algo,
|
|
RHO_OFFSETS = [],
|
|
PI_INDEXES = [],
|
|
ROUND_CONSTANTS = [];
|
|
! function() {
|
|
for (var x = 1, y = 0, t = 0; t < 24; t++) {
|
|
RHO_OFFSETS[x + 5 * y] = (t + 1) * (t + 2) / 2 % 64;
|
|
var newY = (2 * x + 3 * y) % 5;
|
|
x = y % 5, y = newY
|
|
}
|
|
for (x = 0; x < 5; x++)
|
|
for (y = 0; y < 5; y++) PI_INDEXES[x + 5 * y] = y + (2 * x + 3 * y) % 5 * 5;
|
|
for (var LFSR = 1, i = 0; i < 24; i++) {
|
|
for (var roundConstantMsw = 0, roundConstantLsw = 0, j = 0; j < 7; j++) {
|
|
if (1 & LFSR) {
|
|
var bitPosition = (1 << j) - 1;
|
|
bitPosition < 32 ? roundConstantLsw ^= 1 << bitPosition : roundConstantMsw ^= 1 << bitPosition - 32
|
|
}
|
|
128 & LFSR ? LFSR = LFSR << 1 ^ 113 : LFSR <<= 1
|
|
}
|
|
ROUND_CONSTANTS[i] = X64Word.create(roundConstantMsw, roundConstantLsw)
|
|
}
|
|
}();
|
|
var T = [];
|
|
! function() {
|
|
for (var i = 0; i < 25; i++) T[i] = X64Word.create()
|
|
}();
|
|
var SHA3 = C_algo.SHA3 = Hasher.extend({
|
|
cfg: Hasher.cfg.extend({
|
|
outputLength: 512
|
|
}),
|
|
_doReset: function() {
|
|
for (var state = this._state = [], i = 0; i < 25; i++) state[i] = new X64Word.init;
|
|
this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32
|
|
},
|
|
_doProcessBlock: function(M, offset) {
|
|
for (var state = this._state, nBlockSizeLanes = this.blockSize / 2, i = 0; i < nBlockSizeLanes; i++) {
|
|
var M2i = M[offset + 2 * i],
|
|
M2i1 = M[offset + 2 * i + 1];
|
|
M2i = 16711935 & (M2i << 8 | M2i >>> 24) | 4278255360 & (M2i << 24 | M2i >>> 8), M2i1 = 16711935 & (M2i1 << 8 | M2i1 >>> 24) | 4278255360 & (M2i1 << 24 | M2i1 >>> 8), (lane = state[i]).high ^= M2i1, lane.low ^= M2i
|
|
}
|
|
for (var round = 0; round < 24; round++) {
|
|
for (var x = 0; x < 5; x++) {
|
|
for (var tMsw = 0, tLsw = 0, y = 0; y < 5; y++) tMsw ^= (lane = state[x + 5 * y]).high, tLsw ^= lane.low;
|
|
var Tx = T[x];
|
|
Tx.high = tMsw, Tx.low = tLsw
|
|
}
|
|
for (x = 0; x < 5; x++) {
|
|
var Tx4 = T[(x + 4) % 5],
|
|
Tx1 = T[(x + 1) % 5],
|
|
Tx1Msw = Tx1.high,
|
|
Tx1Lsw = Tx1.low;
|
|
for (tMsw = Tx4.high ^ (Tx1Msw << 1 | Tx1Lsw >>> 31), tLsw = Tx4.low ^ (Tx1Lsw << 1 | Tx1Msw >>> 31), y = 0; y < 5; y++)(lane = state[x + 5 * y]).high ^= tMsw, lane.low ^= tLsw
|
|
}
|
|
for (var laneIndex = 1; laneIndex < 25; laneIndex++) {
|
|
var laneMsw = (lane = state[laneIndex]).high,
|
|
laneLsw = lane.low,
|
|
rhoOffset = RHO_OFFSETS[laneIndex];
|
|
rhoOffset < 32 ? (tMsw = laneMsw << rhoOffset | laneLsw >>> 32 - rhoOffset, tLsw = laneLsw << rhoOffset | laneMsw >>> 32 - rhoOffset) : (tMsw = laneLsw << rhoOffset - 32 | laneMsw >>> 64 - rhoOffset, tLsw = laneMsw << rhoOffset - 32 | laneLsw >>> 64 - rhoOffset);
|
|
var TPiLane = T[PI_INDEXES[laneIndex]];
|
|
TPiLane.high = tMsw, TPiLane.low = tLsw
|
|
}
|
|
var T0 = T[0],
|
|
state0 = state[0];
|
|
for (T0.high = state0.high, T0.low = state0.low, x = 0; x < 5; x++)
|
|
for (y = 0; y < 5; y++) {
|
|
var lane = state[laneIndex = x + 5 * y],
|
|
TLane = T[laneIndex],
|
|
Tx1Lane = T[(x + 1) % 5 + 5 * y],
|
|
Tx2Lane = T[(x + 2) % 5 + 5 * y];
|
|
lane.high = TLane.high ^ ~Tx1Lane.high & Tx2Lane.high, lane.low = TLane.low ^ ~Tx1Lane.low & Tx2Lane.low
|
|
}
|
|
lane = state[0];
|
|
var roundConstant = ROUND_CONSTANTS[round];
|
|
lane.high ^= roundConstant.high, lane.low ^= roundConstant.low
|
|
}
|
|
},
|
|
_doFinalize: function() {
|
|
var data = this._data,
|
|
dataWords = data.words,
|
|
nBitsLeft = (this._nDataBytes, 8 * data.sigBytes),
|
|
blockSizeBits = 32 * this.blockSize;
|
|
dataWords[nBitsLeft >>> 5] |= 1 << 24 - nBitsLeft % 32, dataWords[(Math.ceil((nBitsLeft + 1) / blockSizeBits) * blockSizeBits >>> 5) - 1] |= 128, data.sigBytes = 4 * dataWords.length, this._process();
|
|
for (var state = this._state, outputLengthBytes = this.cfg.outputLength / 8, outputLengthLanes = outputLengthBytes / 8, hashWords = [], i = 0; i < outputLengthLanes; i++) {
|
|
var lane = state[i],
|
|
laneMsw = lane.high,
|
|
laneLsw = lane.low;
|
|
laneMsw = 16711935 & (laneMsw << 8 | laneMsw >>> 24) | 4278255360 & (laneMsw << 24 | laneMsw >>> 8), laneLsw = 16711935 & (laneLsw << 8 | laneLsw >>> 24) | 4278255360 & (laneLsw << 24 | laneLsw >>> 8), hashWords.push(laneLsw), hashWords.push(laneMsw)
|
|
}
|
|
return new WordArray.init(hashWords, outputLengthBytes)
|
|
},
|
|
clone: function() {
|
|
for (var clone = Hasher.clone.call(this), state = clone._state = this._state.slice(0), i = 0; i < 25; i++) state[i] = state[i].clone();
|
|
return clone
|
|
}
|
|
});
|
|
C.SHA3 = Hasher._createHelper(SHA3), C.HmacSHA3 = Hasher._createHmacHelper(SHA3)
|
|
}(Math), CryptoJS.SHA3)
|
|
},
|
|
72814: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var freeGlobal = "object" == typeof __webpack_require__.g && __webpack_require__.g && __webpack_require__.g.Object === Object && __webpack_require__.g;
|
|
module.exports = freeGlobal
|
|
},
|
|
72955: function(module, exports, __webpack_require__) {
|
|
var CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), __webpack_require__(74047), CryptoJS.pad.Iso10126 = {
|
|
pad: function(data, blockSize) {
|
|
var blockSizeBytes = 4 * blockSize,
|
|
nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes;
|
|
data.concat(CryptoJS.lib.WordArray.random(nPaddingBytes - 1)).concat(CryptoJS.lib.WordArray.create([nPaddingBytes << 24], 1))
|
|
},
|
|
unpad: function(data) {
|
|
var nPaddingBytes = 255 & data.words[data.sigBytes - 1 >>> 2];
|
|
data.sigBytes -= nPaddingBytes
|
|
}
|
|
}, CryptoJS.pad.Iso10126)
|
|
},
|
|
73083: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var $Object = __webpack_require__(45430),
|
|
$Error = __webpack_require__(36109),
|
|
$EvalError = __webpack_require__(16271),
|
|
$RangeError = __webpack_require__(65624),
|
|
$ReferenceError = __webpack_require__(6207),
|
|
$SyntaxError = __webpack_require__(33562),
|
|
$TypeError = __webpack_require__(79809),
|
|
$URIError = __webpack_require__(49559),
|
|
abs = __webpack_require__(37260),
|
|
floor = __webpack_require__(4826),
|
|
max = __webpack_require__(90798),
|
|
min = __webpack_require__(64976),
|
|
pow = __webpack_require__(35058),
|
|
round = __webpack_require__(32620),
|
|
sign = __webpack_require__(30855),
|
|
$Function = Function,
|
|
getEvalledConstructor = function(expressionSyntax) {
|
|
try {
|
|
return $Function('"use strict"; return (' + expressionSyntax + ").constructor;")()
|
|
} catch (e) {}
|
|
},
|
|
$gOPD = __webpack_require__(1405),
|
|
$defineProperty = __webpack_require__(18201),
|
|
throwTypeError = function() {
|
|
throw new $TypeError
|
|
},
|
|
ThrowTypeError = $gOPD ? function() {
|
|
try {
|
|
return throwTypeError
|
|
} catch (calleeThrows) {
|
|
try {
|
|
return $gOPD(arguments, "callee").get
|
|
} catch (gOPDthrows) {
|
|
return throwTypeError
|
|
}
|
|
}
|
|
}() : throwTypeError,
|
|
hasSymbols = __webpack_require__(87417)(),
|
|
getProto = __webpack_require__(12146),
|
|
$ObjectGPO = __webpack_require__(44502),
|
|
$ReflectGPO = __webpack_require__(8310),
|
|
$apply = __webpack_require__(68636),
|
|
$call = __webpack_require__(2030),
|
|
needsEval = {},
|
|
TypedArray = "undefined" != typeof Uint8Array && getProto ? getProto(Uint8Array) : undefined,
|
|
INTRINSICS = {
|
|
__proto__: null,
|
|
"%AggregateError%": "undefined" == typeof AggregateError ? undefined : AggregateError,
|
|
"%Array%": Array,
|
|
"%ArrayBuffer%": "undefined" == typeof ArrayBuffer ? undefined : ArrayBuffer,
|
|
"%ArrayIteratorPrototype%": hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,
|
|
"%AsyncFromSyncIteratorPrototype%": undefined,
|
|
"%AsyncFunction%": needsEval,
|
|
"%AsyncGenerator%": needsEval,
|
|
"%AsyncGeneratorFunction%": needsEval,
|
|
"%AsyncIteratorPrototype%": needsEval,
|
|
"%Atomics%": "undefined" == typeof Atomics ? undefined : Atomics,
|
|
"%BigInt%": "undefined" == typeof BigInt ? undefined : BigInt,
|
|
"%BigInt64Array%": "undefined" == typeof BigInt64Array ? undefined : BigInt64Array,
|
|
"%BigUint64Array%": "undefined" == typeof BigUint64Array ? undefined : BigUint64Array,
|
|
"%Boolean%": Boolean,
|
|
"%DataView%": "undefined" == typeof DataView ? undefined : DataView,
|
|
"%Date%": Date,
|
|
"%decodeURI%": decodeURI,
|
|
"%decodeURIComponent%": decodeURIComponent,
|
|
"%encodeURI%": encodeURI,
|
|
"%encodeURIComponent%": encodeURIComponent,
|
|
"%Error%": $Error,
|
|
"%eval%": eval,
|
|
"%EvalError%": $EvalError,
|
|
"%Float16Array%": "undefined" == typeof Float16Array ? undefined : Float16Array,
|
|
"%Float32Array%": "undefined" == typeof Float32Array ? undefined : Float32Array,
|
|
"%Float64Array%": "undefined" == typeof Float64Array ? undefined : Float64Array,
|
|
"%FinalizationRegistry%": "undefined" == typeof FinalizationRegistry ? undefined : FinalizationRegistry,
|
|
"%Function%": $Function,
|
|
"%GeneratorFunction%": needsEval,
|
|
"%Int8Array%": "undefined" == typeof Int8Array ? undefined : Int8Array,
|
|
"%Int16Array%": "undefined" == typeof Int16Array ? undefined : Int16Array,
|
|
"%Int32Array%": "undefined" == typeof Int32Array ? undefined : Int32Array,
|
|
"%isFinite%": isFinite,
|
|
"%isNaN%": isNaN,
|
|
"%IteratorPrototype%": hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,
|
|
"%JSON%": "object" == typeof JSON ? JSON : undefined,
|
|
"%Map%": "undefined" == typeof Map ? undefined : Map,
|
|
"%MapIteratorPrototype%": "undefined" != typeof Map && hasSymbols && getProto ? getProto((new Map)[Symbol.iterator]()) : undefined,
|
|
"%Math%": Math,
|
|
"%Number%": Number,
|
|
"%Object%": $Object,
|
|
"%Object.getOwnPropertyDescriptor%": $gOPD,
|
|
"%parseFloat%": parseFloat,
|
|
"%parseInt%": parseInt,
|
|
"%Promise%": "undefined" == typeof Promise ? undefined : Promise,
|
|
"%Proxy%": "undefined" == typeof Proxy ? undefined : Proxy,
|
|
"%RangeError%": $RangeError,
|
|
"%ReferenceError%": $ReferenceError,
|
|
"%Reflect%": "undefined" == typeof Reflect ? undefined : Reflect,
|
|
"%RegExp%": RegExp,
|
|
"%Set%": "undefined" == typeof Set ? undefined : Set,
|
|
"%SetIteratorPrototype%": "undefined" != typeof Set && hasSymbols && getProto ? getProto((new Set)[Symbol.iterator]()) : undefined,
|
|
"%SharedArrayBuffer%": "undefined" == typeof SharedArrayBuffer ? undefined : SharedArrayBuffer,
|
|
"%String%": String,
|
|
"%StringIteratorPrototype%": hasSymbols && getProto ? getProto("" [Symbol.iterator]()) : undefined,
|
|
"%Symbol%": hasSymbols ? Symbol : undefined,
|
|
"%SyntaxError%": $SyntaxError,
|
|
"%ThrowTypeError%": ThrowTypeError,
|
|
"%TypedArray%": TypedArray,
|
|
"%TypeError%": $TypeError,
|
|
"%Uint8Array%": "undefined" == typeof Uint8Array ? undefined : Uint8Array,
|
|
"%Uint8ClampedArray%": "undefined" == typeof Uint8ClampedArray ? undefined : Uint8ClampedArray,
|
|
"%Uint16Array%": "undefined" == typeof Uint16Array ? undefined : Uint16Array,
|
|
"%Uint32Array%": "undefined" == typeof Uint32Array ? undefined : Uint32Array,
|
|
"%URIError%": $URIError,
|
|
"%WeakMap%": "undefined" == typeof WeakMap ? undefined : WeakMap,
|
|
"%WeakRef%": "undefined" == typeof WeakRef ? undefined : WeakRef,
|
|
"%WeakSet%": "undefined" == typeof WeakSet ? undefined : WeakSet,
|
|
"%Function.prototype.call%": $call,
|
|
"%Function.prototype.apply%": $apply,
|
|
"%Object.defineProperty%": $defineProperty,
|
|
"%Object.getPrototypeOf%": $ObjectGPO,
|
|
"%Math.abs%": abs,
|
|
"%Math.floor%": floor,
|
|
"%Math.max%": max,
|
|
"%Math.min%": min,
|
|
"%Math.pow%": pow,
|
|
"%Math.round%": round,
|
|
"%Math.sign%": sign,
|
|
"%Reflect.getPrototypeOf%": $ReflectGPO
|
|
};
|
|
if (getProto) try {
|
|
null.error
|
|
} catch (e) {
|
|
var errorProto = getProto(getProto(e));
|
|
INTRINSICS["%Error.prototype%"] = errorProto
|
|
}
|
|
var doEval = function doEval(name) {
|
|
var value;
|
|
if ("%AsyncFunction%" === name) value = getEvalledConstructor("async function () {}");
|
|
else if ("%GeneratorFunction%" === name) value = getEvalledConstructor("function* () {}");
|
|
else if ("%AsyncGeneratorFunction%" === name) value = getEvalledConstructor("async function* () {}");
|
|
else if ("%AsyncGenerator%" === name) {
|
|
var fn = doEval("%AsyncGeneratorFunction%");
|
|
fn && (value = fn.prototype)
|
|
} else if ("%AsyncIteratorPrototype%" === name) {
|
|
var gen = doEval("%AsyncGenerator%");
|
|
gen && getProto && (value = getProto(gen.prototype))
|
|
}
|
|
return INTRINSICS[name] = value, value
|
|
},
|
|
LEGACY_ALIASES = {
|
|
__proto__: null,
|
|
"%ArrayBufferPrototype%": ["ArrayBuffer", "prototype"],
|
|
"%ArrayPrototype%": ["Array", "prototype"],
|
|
"%ArrayProto_entries%": ["Array", "prototype", "entries"],
|
|
"%ArrayProto_forEach%": ["Array", "prototype", "forEach"],
|
|
"%ArrayProto_keys%": ["Array", "prototype", "keys"],
|
|
"%ArrayProto_values%": ["Array", "prototype", "values"],
|
|
"%AsyncFunctionPrototype%": ["AsyncFunction", "prototype"],
|
|
"%AsyncGenerator%": ["AsyncGeneratorFunction", "prototype"],
|
|
"%AsyncGeneratorPrototype%": ["AsyncGeneratorFunction", "prototype", "prototype"],
|
|
"%BooleanPrototype%": ["Boolean", "prototype"],
|
|
"%DataViewPrototype%": ["DataView", "prototype"],
|
|
"%DatePrototype%": ["Date", "prototype"],
|
|
"%ErrorPrototype%": ["Error", "prototype"],
|
|
"%EvalErrorPrototype%": ["EvalError", "prototype"],
|
|
"%Float32ArrayPrototype%": ["Float32Array", "prototype"],
|
|
"%Float64ArrayPrototype%": ["Float64Array", "prototype"],
|
|
"%FunctionPrototype%": ["Function", "prototype"],
|
|
"%Generator%": ["GeneratorFunction", "prototype"],
|
|
"%GeneratorPrototype%": ["GeneratorFunction", "prototype", "prototype"],
|
|
"%Int8ArrayPrototype%": ["Int8Array", "prototype"],
|
|
"%Int16ArrayPrototype%": ["Int16Array", "prototype"],
|
|
"%Int32ArrayPrototype%": ["Int32Array", "prototype"],
|
|
"%JSONParse%": ["JSON", "parse"],
|
|
"%JSONStringify%": ["JSON", "stringify"],
|
|
"%MapPrototype%": ["Map", "prototype"],
|
|
"%NumberPrototype%": ["Number", "prototype"],
|
|
"%ObjectPrototype%": ["Object", "prototype"],
|
|
"%ObjProto_toString%": ["Object", "prototype", "toString"],
|
|
"%ObjProto_valueOf%": ["Object", "prototype", "valueOf"],
|
|
"%PromisePrototype%": ["Promise", "prototype"],
|
|
"%PromiseProto_then%": ["Promise", "prototype", "then"],
|
|
"%Promise_all%": ["Promise", "all"],
|
|
"%Promise_reject%": ["Promise", "reject"],
|
|
"%Promise_resolve%": ["Promise", "resolve"],
|
|
"%RangeErrorPrototype%": ["RangeError", "prototype"],
|
|
"%ReferenceErrorPrototype%": ["ReferenceError", "prototype"],
|
|
"%RegExpPrototype%": ["RegExp", "prototype"],
|
|
"%SetPrototype%": ["Set", "prototype"],
|
|
"%SharedArrayBufferPrototype%": ["SharedArrayBuffer", "prototype"],
|
|
"%StringPrototype%": ["String", "prototype"],
|
|
"%SymbolPrototype%": ["Symbol", "prototype"],
|
|
"%SyntaxErrorPrototype%": ["SyntaxError", "prototype"],
|
|
"%TypedArrayPrototype%": ["TypedArray", "prototype"],
|
|
"%TypeErrorPrototype%": ["TypeError", "prototype"],
|
|
"%Uint8ArrayPrototype%": ["Uint8Array", "prototype"],
|
|
"%Uint8ClampedArrayPrototype%": ["Uint8ClampedArray", "prototype"],
|
|
"%Uint16ArrayPrototype%": ["Uint16Array", "prototype"],
|
|
"%Uint32ArrayPrototype%": ["Uint32Array", "prototype"],
|
|
"%URIErrorPrototype%": ["URIError", "prototype"],
|
|
"%WeakMapPrototype%": ["WeakMap", "prototype"],
|
|
"%WeakSetPrototype%": ["WeakSet", "prototype"]
|
|
},
|
|
bind = __webpack_require__(2089),
|
|
hasOwn = __webpack_require__(80799),
|
|
$concat = bind.call($call, Array.prototype.concat),
|
|
$spliceApply = bind.call($apply, Array.prototype.splice),
|
|
$replace = bind.call($call, String.prototype.replace),
|
|
$strSlice = bind.call($call, String.prototype.slice),
|
|
$exec = bind.call($call, RegExp.prototype.exec),
|
|
rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,
|
|
reEscapeChar = /\\(\\)?/g,
|
|
getBaseIntrinsic = function(name, allowMissing) {
|
|
var alias, intrinsicName = name;
|
|
if (hasOwn(LEGACY_ALIASES, intrinsicName) && (intrinsicName = "%" + (alias = LEGACY_ALIASES[intrinsicName])[0] + "%"), hasOwn(INTRINSICS, intrinsicName)) {
|
|
var value = INTRINSICS[intrinsicName];
|
|
if (value === needsEval && (value = doEval(intrinsicName)), void 0 === value && !allowMissing) throw new $TypeError("intrinsic " + name + " exists, but is not available. Please file an issue!");
|
|
return {
|
|
alias,
|
|
name: intrinsicName,
|
|
value
|
|
}
|
|
}
|
|
throw new $SyntaxError("intrinsic " + name + " does not exist!")
|
|
};
|
|
module.exports = function(name, allowMissing) {
|
|
if ("string" != typeof name || 0 === name.length) throw new $TypeError("intrinsic name must be a non-empty string");
|
|
if (arguments.length > 1 && "boolean" != typeof allowMissing) throw new $TypeError('"allowMissing" argument must be a boolean');
|
|
if (null === $exec(/^%?[^%]*%?$/, name)) throw new $SyntaxError("`%` may not be present anywhere but at the beginning and end of the intrinsic name");
|
|
var parts = function(string) {
|
|
var first = $strSlice(string, 0, 1),
|
|
last = $strSlice(string, -1);
|
|
if ("%" === first && "%" !== last) throw new $SyntaxError("invalid intrinsic syntax, expected closing `%`");
|
|
if ("%" === last && "%" !== first) throw new $SyntaxError("invalid intrinsic syntax, expected opening `%`");
|
|
var result = [];
|
|
return $replace(string, rePropName, function(match, number, quote, subString) {
|
|
result[result.length] = quote ? $replace(subString, reEscapeChar, "$1") : number || match
|
|
}), result
|
|
}(name),
|
|
intrinsicBaseName = parts.length > 0 ? parts[0] : "",
|
|
intrinsic = getBaseIntrinsic("%" + intrinsicBaseName + "%", allowMissing),
|
|
intrinsicRealName = intrinsic.name,
|
|
value = intrinsic.value,
|
|
skipFurtherCaching = !1,
|
|
alias = intrinsic.alias;
|
|
alias && (intrinsicBaseName = alias[0], $spliceApply(parts, $concat([0, 1], alias)));
|
|
for (var i = 1, isOwn = !0; i < parts.length; i += 1) {
|
|
var part = parts[i],
|
|
first = $strSlice(part, 0, 1),
|
|
last = $strSlice(part, -1);
|
|
if (('"' === first || "'" === first || "`" === first || '"' === last || "'" === last || "`" === last) && first !== last) throw new $SyntaxError("property names with quotes must have matching quotes");
|
|
if ("constructor" !== part && isOwn || (skipFurtherCaching = !0), hasOwn(INTRINSICS, intrinsicRealName = "%" + (intrinsicBaseName += "." + part) + "%")) value = INTRINSICS[intrinsicRealName];
|
|
else if (null != value) {
|
|
if (!(part in value)) {
|
|
if (!allowMissing) throw new $TypeError("base intrinsic for " + name + " exists, but the property is not available.");
|
|
return
|
|
}
|
|
if ($gOPD && i + 1 >= parts.length) {
|
|
var desc = $gOPD(value, part);
|
|
value = (isOwn = !!desc) && "get" in desc && !("originalValue" in desc.get) ? desc.get : value[part]
|
|
} else isOwn = hasOwn(value, part), value = value[part];
|
|
isOwn && !skipFurtherCaching && (INTRINSICS[intrinsicRealName] = value)
|
|
}
|
|
}
|
|
return value
|
|
}
|
|
},
|
|
73113: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var upperCase = __webpack_require__(96817),
|
|
snakeCase = __webpack_require__(19025);
|
|
module.exports = function(value, locale) {
|
|
return upperCase(snakeCase(value, locale), locale)
|
|
}
|
|
},
|
|
73332: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912));
|
|
exports.default = new _dac.default({
|
|
description: "CARiD DAC",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "7480670353233254417",
|
|
name: "carid"
|
|
}],
|
|
doDac: async function(couponCode, selector, priceAmt, applyBestCode) {
|
|
let price = priceAmt;
|
|
return function(res) {
|
|
const discountedPrice = (0, _jquery.default)(res).find(selector).text() || priceAmt;
|
|
Number(_legacyHoneyUtils.default.cleanPrice(discountedPrice)) < price && (price = Number(_legacyHoneyUtils.default.cleanPrice(discountedPrice)), (0, _jquery.default)(selector).text(discountedPrice))
|
|
}(await async function() {
|
|
const res = _jquery.default.ajax({
|
|
url: "https://www.carid.com/cart.php",
|
|
type: "POST",
|
|
data: {
|
|
coupon: couponCode,
|
|
mode: "add_coupon"
|
|
}
|
|
});
|
|
return await res.done(_data => {
|
|
_logger.default.debug("Finishing applying code")
|
|
}), res
|
|
}()), !0 === applyBestCode && await async function() {
|
|
const res = _jquery.default.ajax({
|
|
url: "https://www.carid.com/cart.php?mode=unset_coupons",
|
|
type: "GET"
|
|
});
|
|
await res.done(_data => {})
|
|
}(), price
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
73693: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var Buffer = __webpack_require__(68617).hp,
|
|
clone = function() {
|
|
"use strict";
|
|
|
|
function _instanceof(obj, type) {
|
|
return null != type && obj instanceof type
|
|
}
|
|
var nativeMap, nativeSet, nativePromise;
|
|
try {
|
|
nativeMap = Map
|
|
} catch (_) {
|
|
nativeMap = function() {}
|
|
}
|
|
try {
|
|
nativeSet = Set
|
|
} catch (_) {
|
|
nativeSet = function() {}
|
|
}
|
|
try {
|
|
nativePromise = Promise
|
|
} catch (_) {
|
|
nativePromise = function() {}
|
|
}
|
|
|
|
function clone(parent, circular, depth, prototype, includeNonEnumerable) {
|
|
"object" == typeof circular && (depth = circular.depth, prototype = circular.prototype, includeNonEnumerable = circular.includeNonEnumerable, circular = circular.circular);
|
|
var allParents = [],
|
|
allChildren = [],
|
|
useBuffer = void 0 !== Buffer;
|
|
return void 0 === circular && (circular = !0), void 0 === depth && (depth = 1 / 0),
|
|
function _clone(parent, depth) {
|
|
if (null === parent) return null;
|
|
if (0 === depth) return parent;
|
|
var child, proto;
|
|
if ("object" != typeof parent) return parent;
|
|
if (_instanceof(parent, nativeMap)) child = new nativeMap;
|
|
else if (_instanceof(parent, nativeSet)) child = new nativeSet;
|
|
else if (_instanceof(parent, nativePromise)) child = new nativePromise(function(resolve, reject) {
|
|
parent.then(function(value) {
|
|
resolve(_clone(value, depth - 1))
|
|
}, function(err) {
|
|
reject(_clone(err, depth - 1))
|
|
})
|
|
});
|
|
else if (clone.__isArray(parent)) child = [];
|
|
else if (clone.__isRegExp(parent)) child = new RegExp(parent.source, __getRegExpFlags(parent)), parent.lastIndex && (child.lastIndex = parent.lastIndex);
|
|
else if (clone.__isDate(parent)) child = new Date(parent.getTime());
|
|
else {
|
|
if (useBuffer && Buffer.isBuffer(parent)) return child = Buffer.allocUnsafe ? Buffer.allocUnsafe(parent.length) : new Buffer(parent.length), parent.copy(child), child;
|
|
_instanceof(parent, Error) ? child = Object.create(parent) : void 0 === prototype ? (proto = Object.getPrototypeOf(parent), child = Object.create(proto)) : (child = Object.create(prototype), proto = prototype)
|
|
}
|
|
if (circular) {
|
|
var index = allParents.indexOf(parent);
|
|
if (-1 != index) return allChildren[index];
|
|
allParents.push(parent), allChildren.push(child)
|
|
}
|
|
for (var i in _instanceof(parent, nativeMap) && parent.forEach(function(value, key) {
|
|
var keyChild = _clone(key, depth - 1),
|
|
valueChild = _clone(value, depth - 1);
|
|
child.set(keyChild, valueChild)
|
|
}), _instanceof(parent, nativeSet) && parent.forEach(function(value) {
|
|
var entryChild = _clone(value, depth - 1);
|
|
child.add(entryChild)
|
|
}), parent) {
|
|
var attrs;
|
|
proto && (attrs = Object.getOwnPropertyDescriptor(proto, i)), attrs && null == attrs.set || (child[i] = _clone(parent[i], depth - 1))
|
|
}
|
|
if (Object.getOwnPropertySymbols) {
|
|
var symbols = Object.getOwnPropertySymbols(parent);
|
|
for (i = 0; i < symbols.length; i++) {
|
|
var symbol = symbols[i];
|
|
(!(descriptor = Object.getOwnPropertyDescriptor(parent, symbol)) || descriptor.enumerable || includeNonEnumerable) && (child[symbol] = _clone(parent[symbol], depth - 1), descriptor.enumerable || Object.defineProperty(child, symbol, {
|
|
enumerable: !1
|
|
}))
|
|
}
|
|
}
|
|
if (includeNonEnumerable) {
|
|
var allPropertyNames = Object.getOwnPropertyNames(parent);
|
|
for (i = 0; i < allPropertyNames.length; i++) {
|
|
var descriptor, propertyName = allPropertyNames[i];
|
|
(descriptor = Object.getOwnPropertyDescriptor(parent, propertyName)) && descriptor.enumerable || (child[propertyName] = _clone(parent[propertyName], depth - 1), Object.defineProperty(child, propertyName, {
|
|
enumerable: !1
|
|
}))
|
|
}
|
|
}
|
|
return child
|
|
}(parent, depth)
|
|
}
|
|
|
|
function __objToStr(o) {
|
|
return Object.prototype.toString.call(o)
|
|
}
|
|
|
|
function __getRegExpFlags(re) {
|
|
var flags = "";
|
|
return re.global && (flags += "g"), re.ignoreCase && (flags += "i"), re.multiline && (flags += "m"), flags
|
|
}
|
|
return clone.clonePrototype = function(parent) {
|
|
if (null === parent) return null;
|
|
var c = function() {};
|
|
return c.prototype = parent, new c
|
|
}, clone.__objToStr = __objToStr, clone.__isDate = function(o) {
|
|
return "object" == typeof o && "[object Date]" === __objToStr(o)
|
|
}, clone.__isArray = function(o) {
|
|
return "object" == typeof o && "[object Array]" === __objToStr(o)
|
|
}, clone.__isRegExp = function(o) {
|
|
return "object" == typeof o && "[object RegExp]" === __objToStr(o)
|
|
}, clone.__getRegExpFlags = __getRegExpFlags, clone
|
|
}();
|
|
module.exports && (module.exports = clone)
|
|
},
|
|
73807: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function(functionOverrides) {
|
|
const _ref = functionOverrides || {},
|
|
{
|
|
blockAlert,
|
|
bubbleEvents,
|
|
click,
|
|
customEvent,
|
|
discountSubmit,
|
|
doFSSubmitButton,
|
|
editAttributesAndClasses,
|
|
print,
|
|
submitAction,
|
|
windowRefresh,
|
|
simulateTyping,
|
|
injectCode,
|
|
injectHiddenInput,
|
|
selectorRegex,
|
|
urlRegex,
|
|
ajaxCall
|
|
} = _ref,
|
|
otherFunctions = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
return _objectSpread(_objectSpread({
|
|
blockAlert: blockAlert || _blockAlertFn.default,
|
|
bubbleEvents: bubbleEvents || _bubbleEventsFn.default,
|
|
click: click || _clickFn.default,
|
|
customEvent: customEvent || _customEventFn.default,
|
|
discountSubmit: discountSubmit || _discountFormSubmitFn.default,
|
|
doFSSubmitButton: doFSSubmitButton || _doFSSubmitButtonFn.default,
|
|
editAttributesAndClasses: editAttributesAndClasses || _editAttributesAndClassesFn.default,
|
|
print: print || _printFn.default,
|
|
simulateTyping: simulateTyping || _simulateTypingFn.default,
|
|
submitAction: submitAction || _submitActionFn.default,
|
|
windowRefresh: windowRefresh || _windowRefreshFn.default,
|
|
injectCode: injectCode || _injectFns.injectCodeFn,
|
|
injectHiddenInput: injectHiddenInput || _injectFns.injectHiddenInputFn,
|
|
selectorRegex: selectorRegex || _selectorRegexFn.default,
|
|
urlRegex: urlRegex || _urlRegexFn.default,
|
|
ajaxCall: ajaxCall || _ajaxCallFn.default
|
|
}, otherFunctions), {}, {
|
|
sleep: _deferOperators.sleepFn,
|
|
try: _deferOperators.tryFn,
|
|
closeTry: _deferOperators.closeTryFn,
|
|
if: _deferOperators.ifFn,
|
|
elseIf: _deferOperators.elseIfFn,
|
|
else: _deferOperators.elseFn,
|
|
closeIf: _deferOperators.closeIfFn,
|
|
waitFor: _deferOperators.waitForFn
|
|
})
|
|
};
|
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(80451)),
|
|
_objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(78237)),
|
|
_blockAlertFn = _interopRequireDefault(__webpack_require__(39922)),
|
|
_clickFn = _interopRequireDefault(__webpack_require__(81487)),
|
|
_doFSSubmitButtonFn = _interopRequireDefault(__webpack_require__(53269)),
|
|
_editAttributesAndClassesFn = _interopRequireDefault(__webpack_require__(51025)),
|
|
_printFn = _interopRequireDefault(__webpack_require__(17232)),
|
|
_submitActionFn = _interopRequireDefault(__webpack_require__(40637)),
|
|
_discountFormSubmitFn = _interopRequireDefault(__webpack_require__(5494)),
|
|
_customEventFn = _interopRequireDefault(__webpack_require__(94862)),
|
|
_deferOperators = __webpack_require__(14496),
|
|
_bubbleEventsFn = _interopRequireDefault(__webpack_require__(60380)),
|
|
_simulateTypingFn = _interopRequireDefault(__webpack_require__(22474)),
|
|
_windowRefreshFn = _interopRequireDefault(__webpack_require__(5200)),
|
|
_injectFns = __webpack_require__(41061),
|
|
_selectorRegexFn = _interopRequireDefault(__webpack_require__(37375)),
|
|
_urlRegexFn = _interopRequireDefault(__webpack_require__(86179)),
|
|
_ajaxCallFn = _interopRequireDefault(__webpack_require__(13145));
|
|
const _excluded = ["blockAlert", "bubbleEvents", "click", "customEvent", "discountSubmit", "doFSSubmitButton", "editAttributesAndClasses", "print", "submitAction", "windowRefresh", "simulateTyping", "injectCode", "injectHiddenInput", "selectorRegex", "urlRegex", "ajaxCall"];
|
|
|
|
function ownKeys(e, r) {
|
|
var t = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var o = Object.getOwnPropertySymbols(e);
|
|
r && (o = o.filter(function(r) {
|
|
return Object.getOwnPropertyDescriptor(e, r).enumerable
|
|
})), t.push.apply(t, o)
|
|
}
|
|
return t
|
|
}
|
|
|
|
function _objectSpread(e) {
|
|
for (var r = 1; r < arguments.length; r++) {
|
|
var t = null != arguments[r] ? arguments[r] : {};
|
|
r % 2 ? ownKeys(Object(t), !0).forEach(function(r) {
|
|
(0, _defineProperty2.default)(e, r, t[r])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) {
|
|
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r))
|
|
})
|
|
}
|
|
return e
|
|
}
|
|
module.exports = exports.default
|
|
},
|
|
74047: function(module, exports, __webpack_require__) {
|
|
var CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), __webpack_require__(34120), void(CryptoJS.lib.Cipher || function(undefined) {
|
|
var C = CryptoJS,
|
|
C_lib = C.lib,
|
|
Base = C_lib.Base,
|
|
WordArray = C_lib.WordArray,
|
|
BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm,
|
|
C_enc = C.enc,
|
|
Base64 = (C_enc.Utf8, C_enc.Base64),
|
|
EvpKDF = C.algo.EvpKDF,
|
|
Cipher = C_lib.Cipher = BufferedBlockAlgorithm.extend({
|
|
cfg: Base.extend(),
|
|
createEncryptor: function(key, cfg) {
|
|
return this.create(this._ENC_XFORM_MODE, key, cfg)
|
|
},
|
|
createDecryptor: function(key, cfg) {
|
|
return this.create(this._DEC_XFORM_MODE, key, cfg)
|
|
},
|
|
init: function(xformMode, key, cfg) {
|
|
this.cfg = this.cfg.extend(cfg), this._xformMode = xformMode, this._key = key, this.reset()
|
|
},
|
|
reset: function() {
|
|
BufferedBlockAlgorithm.reset.call(this), this._doReset()
|
|
},
|
|
process: function(dataUpdate) {
|
|
return this._append(dataUpdate), this._process()
|
|
},
|
|
finalize: function(dataUpdate) {
|
|
return dataUpdate && this._append(dataUpdate), this._doFinalize()
|
|
},
|
|
keySize: 4,
|
|
ivSize: 4,
|
|
_ENC_XFORM_MODE: 1,
|
|
_DEC_XFORM_MODE: 2,
|
|
_createHelper: function() {
|
|
function selectCipherStrategy(key) {
|
|
return "string" == typeof key ? PasswordBasedCipher : SerializableCipher
|
|
}
|
|
return function(cipher) {
|
|
return {
|
|
encrypt: function(message, key, cfg) {
|
|
return selectCipherStrategy(key).encrypt(cipher, message, key, cfg)
|
|
},
|
|
decrypt: function(ciphertext, key, cfg) {
|
|
return selectCipherStrategy(key).decrypt(cipher, ciphertext, key, cfg)
|
|
}
|
|
}
|
|
}
|
|
}()
|
|
}),
|
|
C_mode = (C_lib.StreamCipher = Cipher.extend({
|
|
_doFinalize: function() {
|
|
return this._process(!0)
|
|
},
|
|
blockSize: 1
|
|
}), C.mode = {}),
|
|
BlockCipherMode = C_lib.BlockCipherMode = Base.extend({
|
|
createEncryptor: function(cipher, iv) {
|
|
return this.Encryptor.create(cipher, iv)
|
|
},
|
|
createDecryptor: function(cipher, iv) {
|
|
return this.Decryptor.create(cipher, iv)
|
|
},
|
|
init: function(cipher, iv) {
|
|
this._cipher = cipher, this._iv = iv
|
|
}
|
|
}),
|
|
CBC = C_mode.CBC = function() {
|
|
var CBC = BlockCipherMode.extend();
|
|
|
|
function xorBlock(words, offset, blockSize) {
|
|
var block, iv = this._iv;
|
|
iv ? (block = iv, this._iv = undefined) : block = this._prevBlock;
|
|
for (var i = 0; i < blockSize; i++) words[offset + i] ^= block[i]
|
|
}
|
|
return CBC.Encryptor = CBC.extend({
|
|
processBlock: function(words, offset) {
|
|
var cipher = this._cipher,
|
|
blockSize = cipher.blockSize;
|
|
xorBlock.call(this, words, offset, blockSize), cipher.encryptBlock(words, offset), this._prevBlock = words.slice(offset, offset + blockSize)
|
|
}
|
|
}), CBC.Decryptor = CBC.extend({
|
|
processBlock: function(words, offset) {
|
|
var cipher = this._cipher,
|
|
blockSize = cipher.blockSize,
|
|
thisBlock = words.slice(offset, offset + blockSize);
|
|
cipher.decryptBlock(words, offset), xorBlock.call(this, words, offset, blockSize), this._prevBlock = thisBlock
|
|
}
|
|
}), CBC
|
|
}(),
|
|
Pkcs7 = (C.pad = {}).Pkcs7 = {
|
|
pad: function(data, blockSize) {
|
|
for (var blockSizeBytes = 4 * blockSize, nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes, paddingWord = nPaddingBytes << 24 | nPaddingBytes << 16 | nPaddingBytes << 8 | nPaddingBytes, paddingWords = [], i = 0; i < nPaddingBytes; i += 4) paddingWords.push(paddingWord);
|
|
var padding = WordArray.create(paddingWords, nPaddingBytes);
|
|
data.concat(padding)
|
|
},
|
|
unpad: function(data) {
|
|
var nPaddingBytes = 255 & data.words[data.sigBytes - 1 >>> 2];
|
|
data.sigBytes -= nPaddingBytes
|
|
}
|
|
},
|
|
CipherParams = (C_lib.BlockCipher = Cipher.extend({
|
|
cfg: Cipher.cfg.extend({
|
|
mode: CBC,
|
|
padding: Pkcs7
|
|
}),
|
|
reset: function() {
|
|
var modeCreator;
|
|
Cipher.reset.call(this);
|
|
var cfg = this.cfg,
|
|
iv = cfg.iv,
|
|
mode = cfg.mode;
|
|
this._xformMode == this._ENC_XFORM_MODE ? modeCreator = mode.createEncryptor : (modeCreator = mode.createDecryptor, this._minBufferSize = 1), this._mode && this._mode.__creator == modeCreator ? this._mode.init(this, iv && iv.words) : (this._mode = modeCreator.call(mode, this, iv && iv.words), this._mode.__creator = modeCreator)
|
|
},
|
|
_doProcessBlock: function(words, offset) {
|
|
this._mode.processBlock(words, offset)
|
|
},
|
|
_doFinalize: function() {
|
|
var finalProcessedBlocks, padding = this.cfg.padding;
|
|
return this._xformMode == this._ENC_XFORM_MODE ? (padding.pad(this._data, this.blockSize), finalProcessedBlocks = this._process(!0)) : (finalProcessedBlocks = this._process(!0), padding.unpad(finalProcessedBlocks)), finalProcessedBlocks
|
|
},
|
|
blockSize: 4
|
|
}), C_lib.CipherParams = Base.extend({
|
|
init: function(cipherParams) {
|
|
this.mixIn(cipherParams)
|
|
},
|
|
toString: function(formatter) {
|
|
return (formatter || this.formatter).stringify(this)
|
|
}
|
|
})),
|
|
OpenSSLFormatter = (C.format = {}).OpenSSL = {
|
|
stringify: function(cipherParams) {
|
|
var ciphertext = cipherParams.ciphertext,
|
|
salt = cipherParams.salt;
|
|
return (salt ? WordArray.create([1398893684, 1701076831]).concat(salt).concat(ciphertext) : ciphertext).toString(Base64)
|
|
},
|
|
parse: function(openSSLStr) {
|
|
var salt, ciphertext = Base64.parse(openSSLStr),
|
|
ciphertextWords = ciphertext.words;
|
|
return 1398893684 == ciphertextWords[0] && 1701076831 == ciphertextWords[1] && (salt = WordArray.create(ciphertextWords.slice(2, 4)), ciphertextWords.splice(0, 4), ciphertext.sigBytes -= 16), CipherParams.create({
|
|
ciphertext,
|
|
salt
|
|
})
|
|
}
|
|
},
|
|
SerializableCipher = C_lib.SerializableCipher = Base.extend({
|
|
cfg: Base.extend({
|
|
format: OpenSSLFormatter
|
|
}),
|
|
encrypt: function(cipher, message, key, cfg) {
|
|
cfg = this.cfg.extend(cfg);
|
|
var encryptor = cipher.createEncryptor(key, cfg),
|
|
ciphertext = encryptor.finalize(message),
|
|
cipherCfg = encryptor.cfg;
|
|
return CipherParams.create({
|
|
ciphertext,
|
|
key,
|
|
iv: cipherCfg.iv,
|
|
algorithm: cipher,
|
|
mode: cipherCfg.mode,
|
|
padding: cipherCfg.padding,
|
|
blockSize: cipher.blockSize,
|
|
formatter: cfg.format
|
|
})
|
|
},
|
|
decrypt: function(cipher, ciphertext, key, cfg) {
|
|
return cfg = this.cfg.extend(cfg), ciphertext = this._parse(ciphertext, cfg.format), cipher.createDecryptor(key, cfg).finalize(ciphertext.ciphertext)
|
|
},
|
|
_parse: function(ciphertext, format) {
|
|
return "string" == typeof ciphertext ? format.parse(ciphertext, this) : ciphertext
|
|
}
|
|
}),
|
|
OpenSSLKdf = (C.kdf = {}).OpenSSL = {
|
|
execute: function(password, keySize, ivSize, salt, hasher) {
|
|
if (salt || (salt = WordArray.random(8)), hasher) key = EvpKDF.create({
|
|
keySize: keySize + ivSize,
|
|
hasher
|
|
}).compute(password, salt);
|
|
else var key = EvpKDF.create({
|
|
keySize: keySize + ivSize
|
|
}).compute(password, salt);
|
|
var iv = WordArray.create(key.words.slice(keySize), 4 * ivSize);
|
|
return key.sigBytes = 4 * keySize, CipherParams.create({
|
|
key,
|
|
iv,
|
|
salt
|
|
})
|
|
}
|
|
},
|
|
PasswordBasedCipher = C_lib.PasswordBasedCipher = SerializableCipher.extend({
|
|
cfg: SerializableCipher.cfg.extend({
|
|
kdf: OpenSSLKdf
|
|
}),
|
|
encrypt: function(cipher, message, password, cfg) {
|
|
var derivedParams = (cfg = this.cfg.extend(cfg)).kdf.execute(password, cipher.keySize, cipher.ivSize, cfg.salt, cfg.hasher);
|
|
cfg.iv = derivedParams.iv;
|
|
var ciphertext = SerializableCipher.encrypt.call(this, cipher, message, derivedParams.key, cfg);
|
|
return ciphertext.mixIn(derivedParams), ciphertext
|
|
},
|
|
decrypt: function(cipher, ciphertext, password, cfg) {
|
|
cfg = this.cfg.extend(cfg), ciphertext = this._parse(ciphertext, cfg.format);
|
|
var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt, cfg.hasher);
|
|
return cfg.iv = derivedParams.iv, SerializableCipher.decrypt.call(this, cipher, ciphertext, derivedParams.key, cfg)
|
|
}
|
|
})
|
|
}()))
|
|
},
|
|
74620: module => {
|
|
var cachedSetTimeout, cachedClearTimeout, process = module.exports = {};
|
|
|
|
function defaultSetTimout() {
|
|
throw new Error("setTimeout has not been defined")
|
|
}
|
|
|
|
function defaultClearTimeout() {
|
|
throw new Error("clearTimeout has not been defined")
|
|
}
|
|
|
|
function runTimeout(fun) {
|
|
if (cachedSetTimeout === setTimeout) return setTimeout(fun, 0);
|
|
if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) return cachedSetTimeout = setTimeout, setTimeout(fun, 0);
|
|
try {
|
|
return cachedSetTimeout(fun, 0)
|
|
} catch (e) {
|
|
try {
|
|
return cachedSetTimeout.call(null, fun, 0)
|
|
} catch (e) {
|
|
return cachedSetTimeout.call(this, fun, 0)
|
|
}
|
|
}
|
|
}! function() {
|
|
try {
|
|
cachedSetTimeout = "function" == typeof setTimeout ? setTimeout : defaultSetTimout
|
|
} catch (e) {
|
|
cachedSetTimeout = defaultSetTimout
|
|
}
|
|
try {
|
|
cachedClearTimeout = "function" == typeof clearTimeout ? clearTimeout : defaultClearTimeout
|
|
} catch (e) {
|
|
cachedClearTimeout = defaultClearTimeout
|
|
}
|
|
}();
|
|
var currentQueue, queue = [],
|
|
draining = !1,
|
|
queueIndex = -1;
|
|
|
|
function cleanUpNextTick() {
|
|
draining && currentQueue && (draining = !1, currentQueue.length ? queue = currentQueue.concat(queue) : queueIndex = -1, queue.length && drainQueue())
|
|
}
|
|
|
|
function drainQueue() {
|
|
if (!draining) {
|
|
var timeout = runTimeout(cleanUpNextTick);
|
|
draining = !0;
|
|
for (var len = queue.length; len;) {
|
|
for (currentQueue = queue, queue = []; ++queueIndex < len;) currentQueue && currentQueue[queueIndex].run();
|
|
queueIndex = -1, len = queue.length
|
|
}
|
|
currentQueue = null, draining = !1,
|
|
function(marker) {
|
|
if (cachedClearTimeout === clearTimeout) return clearTimeout(marker);
|
|
if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) return cachedClearTimeout = clearTimeout, clearTimeout(marker);
|
|
try {
|
|
return cachedClearTimeout(marker)
|
|
} catch (e) {
|
|
try {
|
|
return cachedClearTimeout.call(null, marker)
|
|
} catch (e) {
|
|
return cachedClearTimeout.call(this, marker)
|
|
}
|
|
}
|
|
}(timeout)
|
|
}
|
|
}
|
|
|
|
function Item(fun, array) {
|
|
this.fun = fun, this.array = array
|
|
}
|
|
|
|
function noop() {}
|
|
process.nextTick = function(fun) {
|
|
var args = new Array(arguments.length - 1);
|
|
if (arguments.length > 1)
|
|
for (var i = 1; i < arguments.length; i++) args[i - 1] = arguments[i];
|
|
queue.push(new Item(fun, args)), 1 !== queue.length || draining || runTimeout(drainQueue)
|
|
}, Item.prototype.run = function() {
|
|
this.fun.apply(null, this.array)
|
|
}, process.title = "browser", process.browser = !0, process.env = {}, process.argv = [], process.version = "", process.versions = {}, process.on = noop, process.addListener = noop, process.once = noop, process.off = noop, process.removeListener = noop, process.removeAllListeners = noop, process.emit = noop, process.prependListener = noop, process.prependOnceListener = noop, process.listeners = function(name) {
|
|
return []
|
|
}, process.binding = function(name) {
|
|
throw new Error("process.binding is not supported")
|
|
}, process.cwd = function() {
|
|
return "/"
|
|
}, process.chdir = function(dir) {
|
|
throw new Error("process.chdir is not supported")
|
|
}, process.umask = function() {
|
|
return 0
|
|
}
|
|
},
|
|
74817: module => {
|
|
module.exports = function(value) {
|
|
return null == value
|
|
}
|
|
},
|
|
75243: function(__unused_webpack_module, exports, __webpack_require__) {
|
|
"use strict";
|
|
var __createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
void 0 === k2 && (k2 = k);
|
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
desc && !("get" in desc ? !m.__esModule : desc.writable || desc.configurable) || (desc = {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return m[k]
|
|
}
|
|
}), Object.defineProperty(o, k2, desc)
|
|
} : function(o, m, k, k2) {
|
|
void 0 === k2 && (k2 = k), o[k2] = m[k]
|
|
}),
|
|
__exportStar = this && this.__exportStar || function(m, exports) {
|
|
for (var p in m) "default" === p || Object.prototype.hasOwnProperty.call(exports, p) || __createBinding(exports, m, p)
|
|
};
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.DomHandler = void 0;
|
|
var domelementtype_1 = __webpack_require__(60903),
|
|
node_1 = __webpack_require__(10379);
|
|
__exportStar(__webpack_require__(10379), exports);
|
|
var reWhitespace = /\s+/g,
|
|
defaultOpts = {
|
|
normalizeWhitespace: !1,
|
|
withStartIndices: !1,
|
|
withEndIndices: !1,
|
|
xmlMode: !1
|
|
},
|
|
DomHandler = function() {
|
|
function DomHandler(callback, options, elementCB) {
|
|
this.dom = [], this.root = new node_1.Document(this.dom), this.done = !1, this.tagStack = [this.root], this.lastNode = null, this.parser = null, "function" == typeof options && (elementCB = options, options = defaultOpts), "object" == typeof callback && (options = callback, callback = void 0), this.callback = null != callback ? callback : null, this.options = null != options ? options : defaultOpts, this.elementCB = null != elementCB ? elementCB : null
|
|
}
|
|
return DomHandler.prototype.onparserinit = function(parser) {
|
|
this.parser = parser
|
|
}, DomHandler.prototype.onreset = function() {
|
|
this.dom = [], this.root = new node_1.Document(this.dom), this.done = !1, this.tagStack = [this.root], this.lastNode = null, this.parser = null
|
|
}, DomHandler.prototype.onend = function() {
|
|
this.done || (this.done = !0, this.parser = null, this.handleCallback(null))
|
|
}, DomHandler.prototype.onerror = function(error) {
|
|
this.handleCallback(error)
|
|
}, DomHandler.prototype.onclosetag = function() {
|
|
this.lastNode = null;
|
|
var elem = this.tagStack.pop();
|
|
this.options.withEndIndices && (elem.endIndex = this.parser.endIndex), this.elementCB && this.elementCB(elem)
|
|
}, DomHandler.prototype.onopentag = function(name, attribs) {
|
|
var type = this.options.xmlMode ? domelementtype_1.ElementType.Tag : void 0,
|
|
element = new node_1.Element(name, attribs, void 0, type);
|
|
this.addNode(element), this.tagStack.push(element)
|
|
}, DomHandler.prototype.ontext = function(data) {
|
|
var normalizeWhitespace = this.options.normalizeWhitespace,
|
|
lastNode = this.lastNode;
|
|
if (lastNode && lastNode.type === domelementtype_1.ElementType.Text) normalizeWhitespace ? lastNode.data = (lastNode.data + data).replace(reWhitespace, " ") : lastNode.data += data, this.options.withEndIndices && (lastNode.endIndex = this.parser.endIndex);
|
|
else {
|
|
normalizeWhitespace && (data = data.replace(reWhitespace, " "));
|
|
var node = new node_1.Text(data);
|
|
this.addNode(node), this.lastNode = node
|
|
}
|
|
}, DomHandler.prototype.oncomment = function(data) {
|
|
if (this.lastNode && this.lastNode.type === domelementtype_1.ElementType.Comment) this.lastNode.data += data;
|
|
else {
|
|
var node = new node_1.Comment(data);
|
|
this.addNode(node), this.lastNode = node
|
|
}
|
|
}, DomHandler.prototype.oncommentend = function() {
|
|
this.lastNode = null
|
|
}, DomHandler.prototype.oncdatastart = function() {
|
|
var text = new node_1.Text(""),
|
|
node = new node_1.NodeWithChildren(domelementtype_1.ElementType.CDATA, [text]);
|
|
this.addNode(node), text.parent = node, this.lastNode = text
|
|
}, DomHandler.prototype.oncdataend = function() {
|
|
this.lastNode = null
|
|
}, DomHandler.prototype.onprocessinginstruction = function(name, data) {
|
|
var node = new node_1.ProcessingInstruction(name, data);
|
|
this.addNode(node)
|
|
}, DomHandler.prototype.handleCallback = function(error) {
|
|
if ("function" == typeof this.callback) this.callback(error, this.dom);
|
|
else if (error) throw error
|
|
}, DomHandler.prototype.addNode = function(node) {
|
|
var parent = this.tagStack[this.tagStack.length - 1],
|
|
previousSibling = parent.children[parent.children.length - 1];
|
|
this.options.withStartIndices && (node.startIndex = this.parser.startIndex), this.options.withEndIndices && (node.endIndex = this.parser.endIndex), parent.children.push(node), previousSibling && (node.prev = previousSibling, previousSibling.next = node), node.parent = parent, this.lastNode = null
|
|
}, DomHandler
|
|
}();
|
|
exports.DomHandler = DomHandler, exports.default = DomHandler
|
|
},
|
|
75561: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
const state = this.stateStack[this.stateStack.length - 1],
|
|
node = state.node;
|
|
if (!state.doneVariable_) {
|
|
state.doneVariable_ = !0;
|
|
let left = node.left;
|
|
return "VariableDeclaration" === left.type && (left = left.declarations[0].id), void this.stateStack.push({
|
|
node: left,
|
|
components: !0
|
|
})
|
|
}
|
|
if (!state.doneObject_) return state.doneObject_ = !0, state.variable_ = state.value, void this.stateStack.push({
|
|
node: node.right
|
|
});
|
|
void 0 === state.iterator_ && (state.object_ = state.value, state.iterator_ = 0);
|
|
const findIthEnumerableProp = (iter, obj) => {
|
|
let i = iter;
|
|
const propFound = Object.keys(obj.properties).find(prop => !obj.notEnumerable[prop] && (0 === i || (i -= 1, !1)));
|
|
return void 0 !== propFound ? propFound : null
|
|
};
|
|
let name = null;
|
|
for (; state.object_ && null === name;) name = findIthEnumerableProp(state.iterator_, state.object_), null === name && (state.object_ = state.object_.parent && state.object_.parent.properties.prototype, state.iterator_ = 0);
|
|
if (null === name) this.stateStack.pop();
|
|
else {
|
|
if (!state.doneSetter_) {
|
|
const value = this.createPrimitive(name),
|
|
setter = this.setValue(state.variable_, value);
|
|
if (setter) return state.doneSetter_ = !0, void this.pushSetter(setter, state.variable_, value)
|
|
}
|
|
state.doneSetter_ = !1, node.body && (state.isLoop = !0, this.stateStack.push({
|
|
node: node.body
|
|
})), state.iterator_ += 1
|
|
}
|
|
}, module.exports = exports.default
|
|
},
|
|
75588: module => {
|
|
"use strict";
|
|
const errorStatusMap = {
|
|
UnauthorizedError: 401,
|
|
InvalidCredentialsError: 401,
|
|
EmailLockedError: 403,
|
|
InsufficientBalanceError: 403,
|
|
NotAllowedError: 403,
|
|
SwitchedUserError: 403,
|
|
NotFoundError: 404,
|
|
AlreadyExistsError: 409,
|
|
PayloadTooLargeError: 413,
|
|
MissingParametersError: 400,
|
|
InvalidParametersError: 400,
|
|
ProfanityError: 400,
|
|
FacebookNoEmailError: 400,
|
|
NothingToUpdateError: 400,
|
|
RequestThrottledError: 400,
|
|
URIError: 400,
|
|
ExpiredError: 400
|
|
};
|
|
module.exports = function(error) {
|
|
return error.name && errorStatusMap[error.name] ? errorStatusMap[error.name] : 500
|
|
}
|
|
},
|
|
75670: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.buildPseudoRegexp = buildPseudoRegexp, exports.default = function(instance, scope) {
|
|
const allowedRegexRepetitions = (instance.defaultOptions.regexp || {}).allowedRepetitions || 25,
|
|
safeFnArgs = {
|
|
limit: allowedRegexRepetitions
|
|
},
|
|
REGEXP = instance.createNativeFunction(function(inPattern, inFlags) {
|
|
const pattern = inPattern ? inPattern.toString() : "";
|
|
if (!(0, _safeRegex.default)(pattern, safeFnArgs)) throw new Error(`Provided regex pattern (${pattern}) is more complex than the allowed ${allowedRegexRepetitions} repitions`);
|
|
const flags = inFlags ? inFlags.toString() : "",
|
|
regexp = new RegExp(pattern, flags);
|
|
return buildPseudoRegexp(instance, regexp, this)
|
|
});
|
|
return instance.setCoreObject("REGEXP", REGEXP), instance.setProperty(scope, "RegExp", REGEXP, _Instance.default.READONLY_DESCRIPTOR), instance.setProperty(REGEXP.properties.prototype, "global", instance.UNDEFINED, _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR), instance.setProperty(REGEXP.properties.prototype, "ignoreCase", instance.UNDEFINED, _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR), instance.setProperty(REGEXP.properties.prototype, "multiline", instance.UNDEFINED, _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR), instance.setProperty(REGEXP.properties.prototype, "source", instance.createPrimitive("(?:)"), _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR), instance.setNativeFunctionPrototype(REGEXP, "test", function(str) {
|
|
return instance.createPrimitive(this.data.test(str.toString()))
|
|
}), instance.setNativeFunctionPrototype(REGEXP, "exec", function(str) {
|
|
this.data.lastIndex = instance.getProperty(this, "lastIndex").toNumber();
|
|
const match = this.data.exec(str.toString());
|
|
if (instance.setProperty(this, "lastIndex", instance.createPrimitive(this.data.lastIndex)), !match) return instance.NULL;
|
|
const result = instance.createObject(instance.ARRAY);
|
|
for (let i = 0; i < match.length; i += 1) instance.setProperty(result, i, instance.createPrimitive(match[i]));
|
|
return instance.setProperty(result, "index", instance.createPrimitive(match.index)), instance.setProperty(result, "input", instance.createPrimitive(match.input)), result
|
|
}), REGEXP
|
|
};
|
|
var _safeRegex = _interopRequireDefault(__webpack_require__(92020)),
|
|
_Instance = _interopRequireDefault(__webpack_require__(76352));
|
|
|
|
function buildPseudoRegexp(instance, regexp, pseudoRegexpObj) {
|
|
const pseudoRegexp = pseudoRegexpObj && pseudoRegexpObj.parent === instance.REGEXP ? pseudoRegexpObj : instance.createObject(instance.REGEXP);
|
|
return pseudoRegexp.data = regexp, instance.setProperty(pseudoRegexp, "lastIndex", instance.createPrimitive(pseudoRegexp.data.lastIndex), _Instance.default.NONENUMERABLE_DESCRIPTOR), instance.setProperty(pseudoRegexp, "source", instance.createPrimitive(pseudoRegexp.data.source), _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR), instance.setProperty(pseudoRegexp, "flags", instance.createPrimitive(pseudoRegexp.data.flags), _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR), instance.setProperty(pseudoRegexp, "global", instance.createPrimitive(pseudoRegexp.data.global), _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR), instance.setProperty(pseudoRegexp, "ignoreCase", instance.createPrimitive(pseudoRegexp.data.ignoreCase), _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR), instance.setProperty(pseudoRegexp, "multiline", instance.createPrimitive(pseudoRegexp.data.multiline), _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR), pseudoRegexp.toString = function() {
|
|
return String(this.data)
|
|
}, pseudoRegexp.valueOf = function() {
|
|
return this.data
|
|
}, pseudoRegexp
|
|
}
|
|
},
|
|
75749: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var Buffer = __webpack_require__(68617).hp,
|
|
_interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function(instance, scope) {
|
|
const pseudoBuffer = instance.createObject(instance.OBJECT);
|
|
instance.setProperty(scope, "Buffer", pseudoBuffer, _Instance.default.READONLY_DESCRIPTOR), instance.setProperty(pseudoBuffer, "fromToString", instance.createNativeFunction((...args) => {
|
|
const nativeArgs = args.map(e => instance.pseudoToNative(e)),
|
|
res = Buffer.from(...nativeArgs).toString("utf-8");
|
|
return instance.nativeToPseudo(res)
|
|
}), _Instance.default.READONLY_DESCRIPTOR)
|
|
};
|
|
var _Instance = _interopRequireDefault(__webpack_require__(76352));
|
|
module.exports = exports.default
|
|
},
|
|
75833: (__unused_webpack_module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.parse = void 0;
|
|
var whitespace = new Set([9, 10, 12, 13, 32]),
|
|
ZERO = "0".charCodeAt(0),
|
|
NINE = "9".charCodeAt(0);
|
|
exports.parse = function(formula) {
|
|
if ("even" === (formula = formula.trim().toLowerCase())) return [2, 0];
|
|
if ("odd" === formula) return [2, 1];
|
|
var idx = 0,
|
|
a = 0,
|
|
sign = readSign(),
|
|
number = readNumber();
|
|
if (idx < formula.length && "n" === formula.charAt(idx) && (idx++, a = sign * (null != number ? number : 1), skipWhitespace(), idx < formula.length ? (sign = readSign(), skipWhitespace(), number = readNumber()) : sign = number = 0), null === number || idx < formula.length) throw new Error("n-th rule couldn't be parsed ('".concat(formula, "')"));
|
|
return [a, sign * number];
|
|
|
|
function readSign() {
|
|
return "-" === formula.charAt(idx) ? (idx++, -1) : ("+" === formula.charAt(idx) && idx++, 1)
|
|
}
|
|
|
|
function readNumber() {
|
|
for (var start = idx, value = 0; idx < formula.length && formula.charCodeAt(idx) >= ZERO && formula.charCodeAt(idx) <= NINE;) value = 10 * value + (formula.charCodeAt(idx) - ZERO), idx++;
|
|
return idx === start ? null : value
|
|
}
|
|
|
|
function skipWhitespace() {
|
|
for (; idx < formula.length && whitespace.has(formula.charCodeAt(idx));) idx++
|
|
}
|
|
}
|
|
},
|
|
76015: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912)),
|
|
_helpers = _interopRequireDefault(__webpack_require__(16065));
|
|
exports.default = new _dac.default({
|
|
description: "JcPenney Meta Function",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "102",
|
|
name: "Jcpenney"
|
|
}],
|
|
doDac: async function(code, selector, priceAmt, applyBestCode) {
|
|
let accountID, price = priceAmt,
|
|
headers = {};
|
|
try {
|
|
accountID = document.cookie.match("ACCOUNT_ID=([^;]*)")[1], headers = {
|
|
"content-type": "application/json",
|
|
Authorization: "Bearer " + document.cookie.match("Access_Token=([^;]*)")[1]
|
|
}
|
|
} catch (err) {}
|
|
const res = await async function() {
|
|
const res = _jquery.default.ajax({
|
|
url: "https://order-api.jcpenney.com/order-api/v1/accounts/" + accountID + "/draft-order/adjustment/discounts",
|
|
type: "POST",
|
|
xhrFields: {
|
|
withCredentials: !0
|
|
},
|
|
headers,
|
|
data: JSON.stringify({
|
|
code,
|
|
serialNumber: null
|
|
})
|
|
});
|
|
await res.done(_data => {
|
|
_logger.default.debug("Finishing applying code")
|
|
});
|
|
const response = _jquery.default.ajax({
|
|
url: " https://order-api.jcpenney.com/order-api/v1/accounts/" + accountID + "/draft-order?expand=status",
|
|
type: "GET",
|
|
headers
|
|
});
|
|
return await response.done(_data => {}), response
|
|
}();
|
|
return function(res) {
|
|
try {
|
|
price = _legacyHoneyUtils.default.cleanPrice(res.totals[0].amount), Number(price) < priceAmt && (0, _jquery.default)(selector).text(_legacyHoneyUtils.default.formatPrice(price))
|
|
} catch (err) {}
|
|
}(res), !0 === applyBestCode ? (window.location = window.location.href, await (0, _helpers.default)(4500)) : await async function(res) {
|
|
let response;
|
|
try {
|
|
const id = res.adjustments[0].id;
|
|
response = _jquery.default.ajax({
|
|
url: "https://order-api.jcpenney.com/order-api/v1/accounts/" + accountID + "/draft-order/adjustment/discounts/" + id,
|
|
type: "DELETE",
|
|
xhrFields: {
|
|
withCredentials: !0
|
|
},
|
|
headers
|
|
})
|
|
} catch (err) {}
|
|
return await response.done(_data => {
|
|
_logger.default.debug("Removing code")
|
|
}), response
|
|
}(res), Number(price)
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
76033: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
const state = this.stateStack.pop(),
|
|
value = state.node.regex ? new RegExp(state.node.regex.pattern, state.node.regex.flags) : state.node.value;
|
|
this.stateStack[this.stateStack.length - 1].value = this.createPrimitive(value)
|
|
}, module.exports = exports.default
|
|
},
|
|
76076: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.decodeXMLStrict = exports.decodeHTML5Strict = exports.decodeHTML4Strict = exports.decodeHTML5 = exports.decodeHTML4 = exports.decodeHTMLAttribute = exports.decodeHTMLStrict = exports.decodeHTML = exports.decodeXML = exports.DecodingMode = exports.EntityDecoder = exports.encodeHTML5 = exports.encodeHTML4 = exports.encodeNonAsciiHTML = exports.encodeHTML = exports.escapeText = exports.escapeAttribute = exports.escapeUTF8 = exports.escape = exports.encodeXML = exports.encode = exports.decodeStrict = exports.decode = exports.EncodingMode = exports.EntityLevel = void 0;
|
|
var EntityLevel, EncodingMode, decode_js_1 = __webpack_require__(64504),
|
|
encode_js_1 = __webpack_require__(89456),
|
|
escape_js_1 = __webpack_require__(44509);
|
|
|
|
function decode(data, options) {
|
|
if (void 0 === options && (options = EntityLevel.XML), ("number" == typeof options ? options : options.level) === EntityLevel.HTML) {
|
|
var mode = "object" == typeof options ? options.mode : void 0;
|
|
return (0, decode_js_1.decodeHTML)(data, mode)
|
|
}
|
|
return (0, decode_js_1.decodeXML)(data)
|
|
}! function(EntityLevel) {
|
|
EntityLevel[EntityLevel.XML = 0] = "XML", EntityLevel[EntityLevel.HTML = 1] = "HTML"
|
|
}(EntityLevel = exports.EntityLevel || (exports.EntityLevel = {})),
|
|
function(EncodingMode) {
|
|
EncodingMode[EncodingMode.UTF8 = 0] = "UTF8", EncodingMode[EncodingMode.ASCII = 1] = "ASCII", EncodingMode[EncodingMode.Extensive = 2] = "Extensive", EncodingMode[EncodingMode.Attribute = 3] = "Attribute", EncodingMode[EncodingMode.Text = 4] = "Text"
|
|
}(EncodingMode = exports.EncodingMode || (exports.EncodingMode = {})), exports.decode = decode, exports.decodeStrict = function(data, options) {
|
|
var _a;
|
|
void 0 === options && (options = EntityLevel.XML);
|
|
var opts = "number" == typeof options ? {
|
|
level: options
|
|
} : options;
|
|
return null !== (_a = opts.mode) && void 0 !== _a || (opts.mode = decode_js_1.DecodingMode.Strict), decode(data, opts)
|
|
}, exports.encode = function(data, options) {
|
|
void 0 === options && (options = EntityLevel.XML);
|
|
var opts = "number" == typeof options ? {
|
|
level: options
|
|
} : options;
|
|
return opts.mode === EncodingMode.UTF8 ? (0, escape_js_1.escapeUTF8)(data) : opts.mode === EncodingMode.Attribute ? (0, escape_js_1.escapeAttribute)(data) : opts.mode === EncodingMode.Text ? (0, escape_js_1.escapeText)(data) : opts.level === EntityLevel.HTML ? opts.mode === EncodingMode.ASCII ? (0, encode_js_1.encodeNonAsciiHTML)(data) : (0, encode_js_1.encodeHTML)(data) : (0, escape_js_1.encodeXML)(data)
|
|
};
|
|
var escape_js_2 = __webpack_require__(44509);
|
|
Object.defineProperty(exports, "encodeXML", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return escape_js_2.encodeXML
|
|
}
|
|
}), Object.defineProperty(exports, "escape", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return escape_js_2.escape
|
|
}
|
|
}), Object.defineProperty(exports, "escapeUTF8", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return escape_js_2.escapeUTF8
|
|
}
|
|
}), Object.defineProperty(exports, "escapeAttribute", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return escape_js_2.escapeAttribute
|
|
}
|
|
}), Object.defineProperty(exports, "escapeText", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return escape_js_2.escapeText
|
|
}
|
|
});
|
|
var encode_js_2 = __webpack_require__(89456);
|
|
Object.defineProperty(exports, "encodeHTML", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return encode_js_2.encodeHTML
|
|
}
|
|
}), Object.defineProperty(exports, "encodeNonAsciiHTML", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return encode_js_2.encodeNonAsciiHTML
|
|
}
|
|
}), Object.defineProperty(exports, "encodeHTML4", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return encode_js_2.encodeHTML
|
|
}
|
|
}), Object.defineProperty(exports, "encodeHTML5", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return encode_js_2.encodeHTML
|
|
}
|
|
});
|
|
var decode_js_2 = __webpack_require__(64504);
|
|
Object.defineProperty(exports, "EntityDecoder", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return decode_js_2.EntityDecoder
|
|
}
|
|
}), Object.defineProperty(exports, "DecodingMode", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return decode_js_2.DecodingMode
|
|
}
|
|
}), Object.defineProperty(exports, "decodeXML", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return decode_js_2.decodeXML
|
|
}
|
|
}), Object.defineProperty(exports, "decodeHTML", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return decode_js_2.decodeHTML
|
|
}
|
|
}), Object.defineProperty(exports, "decodeHTMLStrict", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return decode_js_2.decodeHTMLStrict
|
|
}
|
|
}), Object.defineProperty(exports, "decodeHTMLAttribute", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return decode_js_2.decodeHTMLAttribute
|
|
}
|
|
}), Object.defineProperty(exports, "decodeHTML4", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return decode_js_2.decodeHTML
|
|
}
|
|
}), Object.defineProperty(exports, "decodeHTML5", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return decode_js_2.decodeHTML
|
|
}
|
|
}), Object.defineProperty(exports, "decodeHTML4Strict", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return decode_js_2.decodeHTMLStrict
|
|
}
|
|
}), Object.defineProperty(exports, "decodeHTML5Strict", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return decode_js_2.decodeHTMLStrict
|
|
}
|
|
}), Object.defineProperty(exports, "decodeXMLStrict", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return decode_js_2.decodeXML
|
|
}
|
|
})
|
|
},
|
|
76352: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(80451)),
|
|
_InstanceObject = _interopRequireDefault(__webpack_require__(23335)),
|
|
_InstancePrimitive = _interopRequireDefault(__webpack_require__(57935)),
|
|
_cloneScope = _interopRequireDefault(__webpack_require__(91960)),
|
|
_polyfills = _interopRequireDefault(__webpack_require__(80993)),
|
|
_array = _interopRequireDefault(__webpack_require__(30310)),
|
|
_boolean = _interopRequireDefault(__webpack_require__(86739)),
|
|
_date = _interopRequireDefault(__webpack_require__(33347)),
|
|
_error = _interopRequireDefault(__webpack_require__(52169)),
|
|
_function = _interopRequireDefault(__webpack_require__(4807)),
|
|
_number = _interopRequireDefault(__webpack_require__(38090)),
|
|
_object = _interopRequireDefault(__webpack_require__(36284)),
|
|
_string = _interopRequireDefault(__webpack_require__(52186)),
|
|
_regexp = function(e, r) {
|
|
if (!r && e && e.__esModule) return e;
|
|
if (null === e || "object" != typeof e && "function" != typeof e) return {
|
|
default: e
|
|
};
|
|
var t = _getRequireWildcardCache(r);
|
|
if (t && t.has(e)) return t.get(e);
|
|
var n = {
|
|
__proto__: null
|
|
},
|
|
a = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
for (var u in e)
|
|
if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
|
|
var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
|
|
i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]
|
|
} return n.default = e, t && t.set(e, n), n
|
|
}(__webpack_require__(75670)),
|
|
_buffer = _interopRequireDefault(__webpack_require__(75749)),
|
|
_cheerio = _interopRequireDefault(__webpack_require__(60178)),
|
|
_console = _interopRequireDefault(__webpack_require__(70554)),
|
|
_cookies = _interopRequireDefault(__webpack_require__(83140)),
|
|
_event = _interopRequireDefault(__webpack_require__(63807)),
|
|
_json = _interopRequireDefault(__webpack_require__(16637)),
|
|
_jquery = _interopRequireDefault(__webpack_require__(41693)),
|
|
_killTimeout = _interopRequireDefault(__webpack_require__(67624)),
|
|
_location = _interopRequireDefault(__webpack_require__(84708)),
|
|
_math = _interopRequireDefault(__webpack_require__(55489)),
|
|
_nativeAction = _interopRequireDefault(__webpack_require__(14242)),
|
|
_parallel = _interopRequireDefault(__webpack_require__(83684)),
|
|
_price = _interopRequireDefault(__webpack_require__(35718)),
|
|
_text = _interopRequireDefault(__webpack_require__(25956)),
|
|
_ttClientUtils = _interopRequireDefault(__webpack_require__(48759)),
|
|
_request = _interopRequireDefault(__webpack_require__(97018)),
|
|
_sleep = _interopRequireDefault(__webpack_require__(21888)),
|
|
_storage = _interopRequireDefault(__webpack_require__(76954)),
|
|
_uri = _interopRequireDefault(__webpack_require__(58341)),
|
|
_arrayExpression = _interopRequireDefault(__webpack_require__(8393)),
|
|
_assignmentExpression = _interopRequireDefault(__webpack_require__(33507)),
|
|
_binaryExpression = _interopRequireDefault(__webpack_require__(3791)),
|
|
_blockStatement = _interopRequireDefault(__webpack_require__(13742)),
|
|
_breakStatement = _interopRequireDefault(__webpack_require__(54648)),
|
|
_callExpression = _interopRequireDefault(__webpack_require__(98930)),
|
|
_catchClause = _interopRequireDefault(__webpack_require__(77348)),
|
|
_conditionalExpression = _interopRequireDefault(__webpack_require__(94696)),
|
|
_continueStatement = _interopRequireDefault(__webpack_require__(22004)),
|
|
_doWhileStatement = _interopRequireDefault(__webpack_require__(11123)),
|
|
_emptyStatement = _interopRequireDefault(__webpack_require__(52506)),
|
|
_expressionStatement = _interopRequireDefault(__webpack_require__(50685)),
|
|
_forInStatement = _interopRequireDefault(__webpack_require__(75561)),
|
|
_forStatement = _interopRequireDefault(__webpack_require__(4648)),
|
|
_functionDeclaration = _interopRequireDefault(__webpack_require__(36546)),
|
|
_functionExpression = _interopRequireDefault(__webpack_require__(26786)),
|
|
_identifier = _interopRequireDefault(__webpack_require__(85363)),
|
|
_ifStatement = _interopRequireDefault(__webpack_require__(27362)),
|
|
_labeledStatement = _interopRequireDefault(__webpack_require__(81060)),
|
|
_literal = _interopRequireDefault(__webpack_require__(76033)),
|
|
_logicalExpression = _interopRequireDefault(__webpack_require__(25155)),
|
|
_memberExpression = _interopRequireDefault(__webpack_require__(38880)),
|
|
_newExpression = _interopRequireDefault(__webpack_require__(18162)),
|
|
_objectExpression = _interopRequireDefault(__webpack_require__(85865)),
|
|
_program = _interopRequireDefault(__webpack_require__(87490)),
|
|
_returnStatement = _interopRequireDefault(__webpack_require__(15089)),
|
|
_sequenceExpression = _interopRequireDefault(__webpack_require__(82299)),
|
|
_switchStatement = _interopRequireDefault(__webpack_require__(71779)),
|
|
_thisExpression = _interopRequireDefault(__webpack_require__(77402)),
|
|
_throwStatement = _interopRequireDefault(__webpack_require__(26173)),
|
|
_tryStatement = _interopRequireDefault(__webpack_require__(2646)),
|
|
_unaryExpression = _interopRequireDefault(__webpack_require__(19763)),
|
|
_updateExpression = _interopRequireDefault(__webpack_require__(45163)),
|
|
_variableDeclaration = _interopRequireDefault(__webpack_require__(93758)),
|
|
_withStatement = _interopRequireDefault(__webpack_require__(21707)),
|
|
_whileStatement = _interopRequireDefault(__webpack_require__(20054));
|
|
|
|
function _getRequireWildcardCache(e) {
|
|
if ("function" != typeof WeakMap) return null;
|
|
var r = new WeakMap,
|
|
t = new WeakMap;
|
|
return (_getRequireWildcardCache = function(e) {
|
|
return e ? t : r
|
|
})(e)
|
|
}
|
|
const STEP = {
|
|
ArrayExpression: _arrayExpression.default,
|
|
AssignmentExpression: _assignmentExpression.default,
|
|
BinaryExpression: _binaryExpression.default,
|
|
BlockStatement: _blockStatement.default,
|
|
BreakStatement: _breakStatement.default,
|
|
CallExpression: _callExpression.default,
|
|
CatchClause: _catchClause.default,
|
|
ConditionalExpression: _conditionalExpression.default,
|
|
ContinueStatement: _continueStatement.default,
|
|
DoWhileStatement: _doWhileStatement.default,
|
|
EmptyStatement: _emptyStatement.default,
|
|
ExpressionStatement: _expressionStatement.default,
|
|
ForInStatement: _forInStatement.default,
|
|
ForStatement: _forStatement.default,
|
|
FunctionDeclaration: _functionDeclaration.default,
|
|
FunctionExpression: _functionExpression.default,
|
|
Identifier: _identifier.default,
|
|
IfStatement: _ifStatement.default,
|
|
LabeledStatement: _labeledStatement.default,
|
|
Literal: _literal.default,
|
|
LogicalExpression: _logicalExpression.default,
|
|
MemberExpression: _memberExpression.default,
|
|
NewExpression: _newExpression.default,
|
|
ObjectExpression: _objectExpression.default,
|
|
Program: _program.default,
|
|
ReturnStatement: _returnStatement.default,
|
|
SequenceExpression: _sequenceExpression.default,
|
|
SwitchStatement: _switchStatement.default,
|
|
ThisExpression: _thisExpression.default,
|
|
ThrowStatement: _throwStatement.default,
|
|
TryStatement: _tryStatement.default,
|
|
UnaryExpression: _unaryExpression.default,
|
|
UpdateExpression: _updateExpression.default,
|
|
VariableDeclaration: _variableDeclaration.default,
|
|
WithStatement: _withStatement.default,
|
|
WhileStatement: _whileStatement.default
|
|
};
|
|
|
|
function nativeToFnArg(nativeObj) {
|
|
return "boolean" == typeof nativeObj || "number" == typeof nativeObj || "string" == typeof nativeObj || null == nativeObj || nativeObj instanceof RegExp ? {
|
|
type: "Literal",
|
|
value: nativeObj
|
|
} : Array.isArray(nativeObj) ? {
|
|
type: "ArrayExpression",
|
|
elements: nativeObj.map(nativeToFnArg)
|
|
} : {
|
|
type: "ObjectExpression",
|
|
properties: Object.keys(nativeObj).map(key => ({
|
|
type: "Property",
|
|
key: {
|
|
type: "Identifier",
|
|
name: key
|
|
},
|
|
value: nativeToFnArg(nativeObj[key]),
|
|
kind: "init",
|
|
computed: !1,
|
|
method: !1,
|
|
shorthand: !1
|
|
}))
|
|
}
|
|
}
|
|
class Instance {
|
|
static isa(child, parent) {
|
|
if (!child || !parent) return !1;
|
|
let curChild = child;
|
|
for (; curChild.parent !== parent;) {
|
|
if (!curChild.parent || !curChild.parent.properties.prototype) return !1;
|
|
curChild = curChild.parent.properties.prototype
|
|
}
|
|
return !0
|
|
}
|
|
static arrayIndex(inN) {
|
|
const n = Number(inN);
|
|
return !isFinite(n) || n !== Math.floor(n) || n < 0 || n >= 4294967296 ? NaN : n
|
|
}
|
|
static comp(a, b) {
|
|
if (a.isPrimitive && "number" == typeof a.data && (isNaN(a.data) || b.isPrimitive) && "number" == typeof b.data && isNaN(b.data)) return NaN;
|
|
if (a === b) return 0;
|
|
const aValue = a.isPrimitive ? a.data : a.toString(),
|
|
bValue = b.isPrimitive ? b.data : b.toString();
|
|
return aValue < bValue ? -1 : aValue > bValue ? 1 : (a.isPrimitive || b.isPrimitive) && aValue === bValue ? 0 : NaN
|
|
}
|
|
constructor(ast, defaultOptions = {}, resolve, reject, inputData, nativeActionHandler, parentScope = null) {
|
|
this.defaultOptions = defaultOptions, this.maxMarshalDepth = defaultOptions.maxMarshalDepth, this.timeout = defaultOptions.timeout, this.resolve = resolve, this.reject = reject, this.inputData = inputData, this.nativeActionHandler = nativeActionHandler, this.paused_ = !1, this.cancelled = !1, this.UNDEFINED = new _InstancePrimitive.default(void 0, this), this.NULL = new _InstancePrimitive.default(null, this), this.NAN = new _InstancePrimitive.default(NaN, this), this.TRUE = new _InstancePrimitive.default(!0, this), this.FALSE = new _InstancePrimitive.default(!1, this), this.NUMBER_ZERO = new _InstancePrimitive.default(0, this), this.NUMBER_ONE = new _InstancePrimitive.default(1, this), this.STRING_EMPTY = new _InstancePrimitive.default("", this), this.global = this.createScope(ast, parentScope), this.global.parentScope = parentScope, this.NAN.parent = this.NUMBER, this.TRUE.parent = this.BOOLEAN, this.FALSE.parent = this.BOOLEAN, this.NUMBER_ZERO.parent = this.NUMBER, this.NUMBER_ONE.parent = this.NUMBER, this.STRING_EMPTY.parent = this.STRING;
|
|
const astTree = defaultOptions.disablePolyfills ? ast : {
|
|
...ast,
|
|
body: _polyfills.default.concat(ast.body)
|
|
};
|
|
this.stateStack = [{
|
|
node: astTree,
|
|
scope: this.global,
|
|
thisExpression: this.global,
|
|
done: !1
|
|
}]
|
|
}
|
|
step() {
|
|
if (this.cancelled) throw new Error("cancelled");
|
|
const nowMs = Date.now();
|
|
if (this.timeout && nowMs - this.startTime > this.timeout) throw this.cancelled = !0, new Error("Execution hit the defined timeout");
|
|
if (this.timeoutStore.some(killTime => null !== killTime && killTime <= nowMs)) throw this.cancelled = !0, new Error("Kill timeout hit");
|
|
const state = this.stateStack[this.stateStack.length - 1];
|
|
if (!state || "Program" === state.node.type && state.done) return !1;
|
|
if (this.paused_) return !0;
|
|
const stepFn = STEP[state.node.type];
|
|
if (!stepFn) throw new TypeError(`Cannot step operation of unknown type ${state.node.type}`);
|
|
return stepFn.apply(this), !0
|
|
}
|
|
stepAsync() {
|
|
return new Promise((res, rej) => {
|
|
if (this.cancelled) return void rej(new Error("cancelled"));
|
|
const nowMs = Date.now();
|
|
if (this.timeout && nowMs - this.startTime > this.timeout) return this.cancelled = !0, void rej(new Error("Execution hit the defined timeout"));
|
|
if (this.timeoutStore.some(killTime => null !== killTime && killTime <= nowMs)) return this.cancelled = !0, void rej(new Error("Kill timeout hit"));
|
|
const state = this.stateStack[this.stateStack.length - 1];
|
|
if (!state || "Program" === state.node.type && state.done) return void res(!1);
|
|
if (this.paused_) return void res(!0);
|
|
const stepFn = STEP[state.node.type];
|
|
stepFn ? setTimeout(() => {
|
|
if (this.cancelled) rej(new Error("cancelled"));
|
|
else {
|
|
try {
|
|
stepFn.apply(this)
|
|
} catch (e) {
|
|
return void rej(e)
|
|
}
|
|
res(!0)
|
|
}
|
|
}, 0) : rej(new TypeError(`Cannot step operation of unknown type ${state.node.type}`))
|
|
})
|
|
}
|
|
cancel() {
|
|
this.cancelled = !0
|
|
}
|
|
setInputData(inputData) {
|
|
this.inputData = inputData;
|
|
const pseudoInputData = this.nativeToPseudo(this.inputData, Instance.READONLY_DESCRIPTOR);
|
|
this.setProperty(this.global, "inputData", pseudoInputData, Instance.READONLY_DESCRIPTOR)
|
|
}
|
|
run(resetStartTime = !0) {
|
|
for (resetStartTime && (this.startTime = Date.now(), this.cancelled = !1), this.paused_ = !1; !this.paused_ && this.step(););
|
|
return this.paused_
|
|
}
|
|
async runAsync(resetStartTime = !0) {
|
|
for (resetStartTime && (this.startTime = Date.now(), this.cancelled = !1), this.paused_ = !1; !this.paused_;) {
|
|
if (!await this.stepAsync()) return this.paused_
|
|
}
|
|
return this.paused_
|
|
}
|
|
runThread(pseudoFn, args) {
|
|
const data = {
|
|
type: "Program",
|
|
body: [{
|
|
type: "ExpressionStatement",
|
|
expression: {
|
|
type: "CallExpression",
|
|
callee: pseudoFn.node,
|
|
arguments: args.map(arg => nativeToFnArg(arg))
|
|
}
|
|
}]
|
|
};
|
|
let fnInt;
|
|
return new Promise((resolve, reject) => {
|
|
const fnScope = (0, _cloneScope.default)(pseudoFn.parentScope, void 0, void 0, void 0, !0);
|
|
fnInt = new Instance(data, resolve, reject, this.inputData, this.nativeActionHandler, fnScope), fnInt.run() || resolve()
|
|
}).then(() => fnInt.pseudoToNative(fnInt.value))
|
|
}
|
|
setCoreObject(name, coreObj) {
|
|
this[name] = coreObj
|
|
}
|
|
createPrimitive(data) {
|
|
return void 0 === data ? this.UNDEFINED : null === data ? this.NULL : !0 === data ? this.TRUE : !1 === data ? this.FALSE : 0 === data ? this.NUMBER_ZERO : 1 === data ? this.NUMBER_ONE : "" === data ? this.STRING_EMPTY : data instanceof RegExp ? (0, _regexp.buildPseudoRegexp)(this, data) : new _InstancePrimitive.default(data, this)
|
|
}
|
|
createObject(parent) {
|
|
const obj = new _InstanceObject.default(parent);
|
|
if (Instance.isa(obj, this.FUNCTION) && (obj.type = "function", this.setProperty(obj, "prototype", this.createObject(this.OBJECT || null))), Instance.isa(obj, this.ARRAY) && (obj.length = 0, obj.toString = function() {
|
|
const strs = [];
|
|
for (let i = 0; i < this.length; i += 1) {
|
|
const value = this.properties[i];
|
|
strs[i] = !value || value.isPrimitive && (null === value.data || void 0 === value.data) ? "" : value.toString()
|
|
}
|
|
return strs.join(",")
|
|
}), Instance.isa(obj, this.ERROR)) {
|
|
const thisInterpreter = this;
|
|
obj.toString = function() {
|
|
const name = thisInterpreter.getProperty(this, "name").toString(),
|
|
message = thisInterpreter.getProperty(this, "message").toString();
|
|
return message ? `${name}: ${message}` : name
|
|
}
|
|
}
|
|
return obj
|
|
}
|
|
createFunction(node, scope) {
|
|
const func = this.createObject(this.FUNCTION);
|
|
return func.parentScope = scope, func.node = node, this.setProperty(func, "length", this.createPrimitive(func.node.params.length), Instance.READONLY_DESCRIPTOR), func
|
|
}
|
|
createNativeFunction(nativeFunc) {
|
|
const func = this.createObject(this.FUNCTION);
|
|
return func.nativeFunc = nativeFunc, this.setProperty(func, "length", this.createPrimitive(nativeFunc.length), Instance.READONLY_DESCRIPTOR), func
|
|
}
|
|
createAsyncFunction(asyncFunc) {
|
|
const func = this.createObject(this.FUNCTION);
|
|
return func.asyncFunc = asyncFunc, this.setProperty(func, "length", this.createPrimitive(asyncFunc.length), Instance.READONLY_DESCRIPTOR), func
|
|
}
|
|
nativeToPseudo(nativeObj, optDescriptor, depthToMarshall) {
|
|
if (0 === depthToMarshall) return this.createPrimitive("[Max depth reached]");
|
|
if ("boolean" == typeof nativeObj || "number" == typeof nativeObj || "string" == typeof nativeObj || null == nativeObj || nativeObj instanceof RegExp) return this.createPrimitive(nativeObj);
|
|
if (void 0 === depthToMarshall && void 0 !== this.maxMarshalDepth && (depthToMarshall = this.maxMarshalDepth), nativeObj instanceof Function) return this.createNativeFunction((...pseudoArgs) => {
|
|
const nativeArgs = pseudoArgs.map(pseudoArg => this.pseudoToNative(pseudoArg));
|
|
return this.nativeToPseudo(nativeObj.call(this, nativeArgs), optDescriptor, depthToMarshall)
|
|
});
|
|
if (Array.isArray(nativeObj)) {
|
|
const pseudoObj = this.createObject(this.ARRAY);
|
|
return nativeObj.forEach((arrayEl, i) => {
|
|
this.setProperty(pseudoObj, i, this.nativeToPseudo(arrayEl, optDescriptor, depthToMarshall - 1), optDescriptor)
|
|
}), pseudoObj
|
|
}
|
|
const pseudoObj = this.createObject(this.OBJECT);
|
|
return Object.entries(nativeObj).forEach(([key, val]) => {
|
|
this.setProperty(pseudoObj, key, this.nativeToPseudo(val, optDescriptor, depthToMarshall - 1), optDescriptor)
|
|
}), pseudoObj
|
|
}
|
|
pseudoToNative(pseudoObj, depthToMarshall) {
|
|
if (0 === depthToMarshall) return this.nativeActionHandler && this.nativeActionHandler("warning", "Reached max marshalling depth"), "[Max depth reached]";
|
|
if (pseudoObj.isPrimitive || Instance.isa(pseudoObj, this.NUMBER) || Instance.isa(pseudoObj, this.STRING) || Instance.isa(pseudoObj, this.BOOLEAN)) return pseudoObj.data;
|
|
if (void 0 === depthToMarshall && void 0 !== this.maxMarshalDepth && (depthToMarshall = this.maxMarshalDepth), Instance.isa(pseudoObj, this.ARRAY)) {
|
|
const nativeArray = [];
|
|
for (let i = 0; i < pseudoObj.length; i += 1) nativeArray.push(this.pseudoToNative(pseudoObj.properties[i], depthToMarshall - 1));
|
|
return nativeArray
|
|
}
|
|
const nativeObj = {};
|
|
return Object.entries(pseudoObj.properties).forEach(([key, val]) => {
|
|
nativeObj[key] = this.pseudoToNative(val, depthToMarshall - 1)
|
|
}), nativeObj
|
|
}
|
|
getProperty(obj, inName) {
|
|
const name = inName.toString();
|
|
if (obj === this.UNDEFINED || obj === this.NULL) {
|
|
const state = this.stateStack[this.stateStack.length - 1],
|
|
node = state && state.node,
|
|
callee = node && node.callee,
|
|
calleeObj = callee && callee.object,
|
|
calleeProp = callee && callee.property,
|
|
targetObj = calleeObj && calleeObj.name,
|
|
targetName = calleeProp && calleeProp.name;
|
|
return this.throwException(this.TYPE_ERROR, `Cannot read property '${name}' of ${obj} being called inside ${targetObj}.${targetName}`), null
|
|
}
|
|
if (Instance.isa(obj, this.STRING)) {
|
|
if ("length" === name) return this.createPrimitive(obj.data.length);
|
|
const n = Instance.arrayIndex(name);
|
|
if (!isNaN(n) && n < obj.data.length) return this.createPrimitive(obj.data[n])
|
|
} else if (Instance.isa(obj, this.ARRAY) && "length" === name) return this.createPrimitive(obj.length);
|
|
let curObj = obj;
|
|
for (;;) {
|
|
if (curObj.properties && name in curObj.properties) {
|
|
const getter = curObj.getter[name];
|
|
return getter ? (getter.isGetter = !0, getter) : curObj.properties[name]
|
|
}
|
|
if (!(curObj.parent && curObj.parent.properties && curObj.parent.properties.prototype)) break;
|
|
curObj = curObj.parent.properties.prototype
|
|
}
|
|
return this.UNDEFINED
|
|
}
|
|
hasProperty(obj, inName) {
|
|
const name = inName.toString();
|
|
if (obj.isPrimitive) throw TypeError("Primitive data type has no properties");
|
|
if ("length" === name && (Instance.isa(obj, this.STRING) || Instance.isa(obj, this.ARRAY))) return !0;
|
|
if (Instance.isa(obj, this.STRING)) {
|
|
const n = Instance.arrayIndex(name);
|
|
if (!isNaN(n) && n < obj.data.length) return !0
|
|
}
|
|
let curObj = obj;
|
|
for (;;) {
|
|
if (curObj.properties && name in curObj.properties) return !0;
|
|
if (!(curObj.parent && curObj.parent.properties && curObj.parent.properties.prototype)) break;
|
|
curObj = curObj.parent.properties.prototype
|
|
}
|
|
return !1
|
|
}
|
|
setProperty(obj, inName, value, optDescriptor) {
|
|
const name = inName.toString();
|
|
if (optDescriptor && obj.notConfigurable[name] && this.throwException(this.TYPE_ERROR, `Cannot redefine property: ${name}`), "object" != typeof value) throw Error(`Failure to wrap a value: ${value}`);
|
|
obj !== this.UNDEFINED && obj !== this.NULL || this.throwException(this.TYPE_ERROR, `Cannot set property '${name}' of ${obj}`), optDescriptor && (optDescriptor.get || optDescriptor.set) && (value || void 0 !== optDescriptor.writable) && this.throwException(this.TYPE_ERROR, "Invalid property descriptor. Cannot both specify accessors and a value or writable attribute");
|
|
const strict = !this.stateStack || this.getScope().strict;
|
|
if (obj.isPrimitive) strict && this.throwException(this.TYPE_ERROR, `Can't create property '${name}' on '${obj.data}'`);
|
|
else {
|
|
if (Instance.isa(obj, this.STRING)) {
|
|
const n = Instance.arrayIndex(name);
|
|
if ("length" === name || !isNaN(n) && n < obj.data.length) return void(strict && this.throwException(this.TYPE_ERROR, `Cannot assign to read only property '${name}' of String '${obj.data}'`))
|
|
}
|
|
if (Instance.isa(obj, this.ARRAY)) {
|
|
let i;
|
|
if ("length" === name) {
|
|
const newLength = Instance.arrayIndex(value.toNumber());
|
|
return isNaN(newLength) && this.throwException(this.RANGE_ERROR, "Invalid array length"), newLength < obj.length && obj.properties.forEach(curProp => {
|
|
i = Instance.arrayIndex(curProp), !isNaN(i) && newLength <= i && delete obj.properties[i]
|
|
}), void(obj.length = newLength)
|
|
}
|
|
i = Instance.arrayIndex(name), isNaN(i) || (obj.length = Math.max(obj.length, i + 1))
|
|
}
|
|
if (obj.properties[name] || !obj.preventExtensions)
|
|
if (optDescriptor) {
|
|
obj.properties[name] = value, optDescriptor.configurable || (obj.notConfigurable[name] = !0);
|
|
const getter = optDescriptor.get;
|
|
getter ? obj.getter[name] = getter : delete obj.getter[name];
|
|
const setter = optDescriptor.set;
|
|
setter ? obj.setter[name] = setter : delete obj.setter[name], optDescriptor.enumerable ? delete obj.notEnumerable[name] : obj.notEnumerable[name] = !0, getter || setter ? (delete obj.notWritable[name], obj.properties[name] = this.UNDEFINED) : optDescriptor.writable ? delete obj.notWritable[name] : obj.notWritable[name] = !0
|
|
} else {
|
|
let parent = obj;
|
|
for (;;) {
|
|
if (parent.setter && parent.setter[name]) return parent.setter[name];
|
|
if (!(parent.parent && parent.parent.properties && parent.parent.properties.prototype)) break;
|
|
parent = parent.parent.properties.prototype
|
|
}
|
|
obj.getter && obj.getter[name] ? strict && this.throwException(this.TYPE_ERROR, `Cannot set property '${name}' of object ${obj}' which only has a getter`) : obj.notWritable[name] ? strict && this.throwException(this.TYPE_ERROR, `Cannot assign to read only property '${name}' of object '${obj}'`) : obj.properties[name] = value
|
|
}
|
|
else strict && this.throwException(this.TYPE_ERROR, `Can't add property '${name}', object is not extensible`)
|
|
}
|
|
}
|
|
setNativeFunctionPrototype(obj, name, wrapper) {
|
|
this.setProperty(obj.properties.prototype, name, this.createNativeFunction(wrapper), Instance.NONENUMERABLE_DESCRIPTOR)
|
|
}
|
|
deleteProperty(obj, inName) {
|
|
const name = inName.toString();
|
|
return !obj.isPrimitive && !obj.notWritable[name] && (("length" !== name || !Instance.isa(obj, this.ARRAY)) && delete obj.properties[name])
|
|
}
|
|
getScope() {
|
|
for (let i = this.stateStack.length - 1; i >= 0; i -= 1)
|
|
if (this.stateStack[i].scope) return this.stateStack[i].scope;
|
|
throw Error("No scope found.")
|
|
}
|
|
createScope(node, parentScope) {
|
|
const scope = this.createObject(null);
|
|
if (scope.parentScope = parentScope, !parentScope) {
|
|
this.setProperty(scope, "Infinity", this.createPrimitive(1 / 0), Instance.READONLY_DESCRIPTOR), this.setProperty(scope, "NaN", this.NAN, Instance.READONLY_DESCRIPTOR), this.setProperty(scope, "undefined", this.UNDEFINED, Instance.READONLY_DESCRIPTOR), this.setProperty(scope, "window", scope, Instance.READONLY_DESCRIPTOR), this.setProperty(scope, "self", scope);
|
|
const windowExists = "undefined" != typeof window,
|
|
documentExists = "undefined" != typeof document;
|
|
if ((0, _function.default)(this, scope), (0, _object.default)(this, scope), (0, _array.default)(this, scope), (0, _number.default)(this, scope), (0, _string.default)(this, scope), (0, _boolean.default)(this, scope), (0, _date.default)(this, scope), (0, _regexp.default)(this, scope), (0, _error.default)(this, scope), scope.parent = this.OBJECT, (0, _buffer.default)(this, scope), (0, _cheerio.default)(this, scope), (0, _console.default)(this, scope), documentExists && (0, _cookies.default)(this, scope), "undefined" != typeof Event && (0, _event.default)(this, scope), (0, _json.default)(this, scope), windowExists && documentExists) {
|
|
let jqueryParam = null;
|
|
this.customJqueryInstance && (jqueryParam = this.customJqueryInstance), (0, _jquery.default)(this, scope, jqueryParam)
|
|
}(0, _killTimeout.default)(this, scope), windowExists && (0, _location.default)(this, scope), (0, _math.default)(this, scope), (0, _nativeAction.default)(this, scope), (0, _parallel.default)(this, scope), (0, _price.default)(this, scope), (0, _text.default)(this, scope), (0, _ttClientUtils.default)(this, scope, windowExists && documentExists), (0, _request.default)(this, scope), (0, _sleep.default)(this, scope), windowExists && (0, _storage.default)(this, scope), (0, _uri.default)(this, scope);
|
|
const pseudoInputData = this.nativeToPseudo(this.inputData, Instance.READONLY_DESCRIPTOR);
|
|
this.setProperty(scope, "inputData", pseudoInputData, Instance.READONLY_DESCRIPTOR)
|
|
}
|
|
if (this.populateScope(node, scope), scope.strict = !1, parentScope && parentScope.strict) scope.strict = !0;
|
|
else {
|
|
const firstNode = node.body && node.body[0];
|
|
firstNode && firstNode.expression && "Literal" === firstNode.expression.type && "use strict" === firstNode.expression.value && (scope.strict = !0)
|
|
}
|
|
return scope
|
|
}
|
|
createSpecialScope(parentScope, optScope) {
|
|
if (!parentScope) throw Error("parentScope required");
|
|
const scope = optScope || this.createObject(null);
|
|
return scope.parentScope = parentScope, scope.strict = parentScope.strict, scope
|
|
}
|
|
getValueFromScope(name) {
|
|
const nameStr = name.toString();
|
|
let scope = this.getScope();
|
|
for (; scope && scope !== this.global;) {
|
|
if (nameStr in scope.properties) return scope.properties[nameStr];
|
|
scope = scope.parentScope
|
|
}
|
|
if (scope === this.global && this.hasProperty(scope, nameStr)) return this.getProperty(scope, nameStr);
|
|
const prevNode = this.stateStack[this.stateStack.length - 1].node;
|
|
return "UnaryExpression" === prevNode.type && "typeof" === prevNode.operator ? this.UNDEFINED : (this.throwException(this.REFERENCE_ERROR, `${nameStr} is not defined`), null)
|
|
}
|
|
setValueToScope(name, value) {
|
|
const nameStr = name.toString();
|
|
let scope = this.getScope();
|
|
for (; scope && scope !== this.global;) {
|
|
if (nameStr in scope.properties) return void(scope.properties[nameStr] = value);
|
|
scope = scope.parentScope
|
|
}
|
|
return scope !== this.global || scope.strict && !this.hasProperty(scope, nameStr) ? (this.throwException(this.REFERENCE_ERROR, `${nameStr} is not defined`), null) : this.setProperty(scope, nameStr, value)
|
|
}
|
|
populateScope(node, scope) {
|
|
if ("VariableDeclaration" === node.type)
|
|
for (let i = 0; i < node.declarations.length; i += 1) this.setProperty(scope, node.declarations[i].id.name, this.UNDEFINED);
|
|
else {
|
|
if ("FunctionDeclaration" === node.type) return void this.setProperty(scope, node.id.name, this.createFunction(node, scope));
|
|
if ("FunctionExpression" === node.type) return;
|
|
if ("ExpressionStatement" === node.type) return
|
|
}
|
|
const nodeClass = node.constructor;
|
|
Object.values(node).forEach(prop => {
|
|
Array.isArray(prop) ? prop.forEach(propEl => {
|
|
propEl && propEl.constructor === nodeClass && this.populateScope(propEl, scope)
|
|
}) : prop && "object" == typeof prop && prop.constructor === nodeClass && this.populateScope(prop, scope)
|
|
})
|
|
}
|
|
getValue(left) {
|
|
return left instanceof Array ? this.getProperty(left[0], left[1]) : this.getValueFromScope(left)
|
|
}
|
|
appendAst(ast) {
|
|
const program = this.stateStack.find(e => "Program" === e.node.type);
|
|
program.done = !1, program.node.body = program.node.body.concat(ast.body)
|
|
}
|
|
setValue(left, value) {
|
|
return Array.isArray(left) ? this.setProperty(left[0], left[1], value) : this.setValueToScope(left, value)
|
|
}
|
|
throwException(errorClass, message) {
|
|
let error;
|
|
void 0 === message ? error = errorClass : (error = this.createObject(errorClass), this.setProperty(error, "message", this.createPrimitive(message), Instance.NONENUMERABLE_DESCRIPTOR)), this.executeException(error)
|
|
}
|
|
executeException(error) {
|
|
let state, realError;
|
|
do {
|
|
if (this.stateStack.pop(), state = this.stateStack[this.stateStack.length - 1], state && state.node && "TryStatement" === state.node.type) return void(state.throwValue = error)
|
|
} while (state && state.node && "Program" !== state.node.type);
|
|
if (Instance.isa(error, this.ERROR)) {
|
|
const errorTable = {
|
|
EvalError,
|
|
RangeError,
|
|
ReferenceError,
|
|
SyntaxError,
|
|
TypeError,
|
|
URIError
|
|
},
|
|
name = this.getProperty(error, "name").toString(),
|
|
message = this.getProperty(error, "message").valueOf(),
|
|
ErrorClass = errorTable[name] || Error;
|
|
realError = ErrorClass(message), Object.keys(error.properties).forEach(key => {
|
|
"name" !== key && "message" !== key && (realError[key] = this.pseudoToNative(this.getProperty(error, key)))
|
|
})
|
|
} else realError = new Error(error.toString());
|
|
this.reject(realError)
|
|
}
|
|
pushGetter(func, left) {
|
|
const funcThis = left instanceof Array ? left[0] : left;
|
|
this.stateStack.push({
|
|
node: {
|
|
type: "CallExpression"
|
|
},
|
|
doneCallee_: !0,
|
|
funcThis_: funcThis,
|
|
func_: func,
|
|
doneArgs_: !0,
|
|
arguments_: []
|
|
})
|
|
}
|
|
pushSetter(func, left, value) {
|
|
const funcThis = left instanceof Array ? left[0] : this.global;
|
|
this.stateStack.push({
|
|
node: {
|
|
type: "CallExpression"
|
|
},
|
|
doneCallee_: !0,
|
|
funcThis_: funcThis,
|
|
func_: func,
|
|
doneArgs_: !0,
|
|
arguments_: [value]
|
|
})
|
|
}
|
|
}
|
|
exports.default = Instance, (0, _defineProperty2.default)(Instance, "READONLY_DESCRIPTOR", Object.freeze({
|
|
configurable: !0,
|
|
enumerable: !0,
|
|
writable: !1
|
|
})), (0, _defineProperty2.default)(Instance, "NONENUMERABLE_DESCRIPTOR", Object.freeze({
|
|
configurable: !0,
|
|
enumerable: !1,
|
|
writable: !0
|
|
})), (0, _defineProperty2.default)(Instance, "READONLY_NONENUMERABLE_DESCRIPTOR", Object.freeze({
|
|
configurable: !0,
|
|
enumerable: !1,
|
|
writable: !1
|
|
})), module.exports = exports.default
|
|
},
|
|
76372: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var utils = __webpack_require__(62262),
|
|
has = Object.prototype.hasOwnProperty,
|
|
isArray = Array.isArray,
|
|
defaults = {
|
|
allowDots: !1,
|
|
allowEmptyArrays: !1,
|
|
allowPrototypes: !1,
|
|
allowSparse: !1,
|
|
arrayLimit: 20,
|
|
charset: "utf-8",
|
|
charsetSentinel: !1,
|
|
comma: !1,
|
|
decodeDotInKeys: !1,
|
|
decoder: utils.decode,
|
|
delimiter: "&",
|
|
depth: 5,
|
|
duplicates: "combine",
|
|
ignoreQueryPrefix: !1,
|
|
interpretNumericEntities: !1,
|
|
parameterLimit: 1e3,
|
|
parseArrays: !0,
|
|
plainObjects: !1,
|
|
strictDepth: !1,
|
|
strictNullHandling: !1,
|
|
throwOnLimitExceeded: !1
|
|
},
|
|
interpretNumericEntities = function(str) {
|
|
return str.replace(/&#(\d+);/g, function($0, numberStr) {
|
|
return String.fromCharCode(parseInt(numberStr, 10))
|
|
})
|
|
},
|
|
parseArrayValue = function(val, options, currentArrayLength) {
|
|
if (val && "string" == typeof val && options.comma && val.indexOf(",") > -1) return val.split(",");
|
|
if (options.throwOnLimitExceeded && currentArrayLength >= options.arrayLimit) throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (1 === options.arrayLimit ? "" : "s") + " allowed in an array.");
|
|
return val
|
|
},
|
|
parseKeys = function(givenKey, val, options, valuesParsed) {
|
|
if (givenKey) {
|
|
var key = options.allowDots ? givenKey.replace(/\.([^.[]+)/g, "[$1]") : givenKey,
|
|
child = /(\[[^[\]]*])/g,
|
|
segment = options.depth > 0 && /(\[[^[\]]*])/.exec(key),
|
|
parent = segment ? key.slice(0, segment.index) : key,
|
|
keys = [];
|
|
if (parent) {
|
|
if (!options.plainObjects && has.call(Object.prototype, parent) && !options.allowPrototypes) return;
|
|
keys.push(parent)
|
|
}
|
|
for (var i = 0; options.depth > 0 && null !== (segment = child.exec(key)) && i < options.depth;) {
|
|
if (i += 1, !options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1)) && !options.allowPrototypes) return;
|
|
keys.push(segment[1])
|
|
}
|
|
if (segment) {
|
|
if (!0 === options.strictDepth) throw new RangeError("Input depth exceeded depth option of " + options.depth + " and strictDepth is true");
|
|
keys.push("[" + key.slice(segment.index) + "]")
|
|
}
|
|
return function(chain, val, options, valuesParsed) {
|
|
var currentArrayLength = 0;
|
|
if (chain.length > 0 && "[]" === chain[chain.length - 1]) {
|
|
var parentKey = chain.slice(0, -1).join("");
|
|
currentArrayLength = Array.isArray(val) && val[parentKey] ? val[parentKey].length : 0
|
|
}
|
|
for (var leaf = valuesParsed ? val : parseArrayValue(val, options, currentArrayLength), i = chain.length - 1; i >= 0; --i) {
|
|
var obj, root = chain[i];
|
|
if ("[]" === root && options.parseArrays) obj = options.allowEmptyArrays && ("" === leaf || options.strictNullHandling && null === leaf) ? [] : utils.combine([], leaf);
|
|
else {
|
|
obj = options.plainObjects ? {
|
|
__proto__: null
|
|
} : {};
|
|
var cleanRoot = "[" === root.charAt(0) && "]" === root.charAt(root.length - 1) ? root.slice(1, -1) : root,
|
|
decodedRoot = options.decodeDotInKeys ? cleanRoot.replace(/%2E/g, ".") : cleanRoot,
|
|
index = parseInt(decodedRoot, 10);
|
|
options.parseArrays || "" !== decodedRoot ? !isNaN(index) && root !== decodedRoot && String(index) === decodedRoot && index >= 0 && options.parseArrays && index <= options.arrayLimit ? (obj = [])[index] = leaf : "__proto__" !== decodedRoot && (obj[decodedRoot] = leaf) : obj = {
|
|
0: leaf
|
|
}
|
|
}
|
|
leaf = obj
|
|
}
|
|
return leaf
|
|
}(keys, val, options, valuesParsed)
|
|
}
|
|
};
|
|
module.exports = function(str, opts) {
|
|
var options = function(opts) {
|
|
if (!opts) return defaults;
|
|
if (void 0 !== opts.allowEmptyArrays && "boolean" != typeof opts.allowEmptyArrays) throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");
|
|
if (void 0 !== opts.decodeDotInKeys && "boolean" != typeof opts.decodeDotInKeys) throw new TypeError("`decodeDotInKeys` option can only be `true` or `false`, when provided");
|
|
if (null !== opts.decoder && void 0 !== opts.decoder && "function" != typeof opts.decoder) throw new TypeError("Decoder has to be a function.");
|
|
if (void 0 !== opts.charset && "utf-8" !== opts.charset && "iso-8859-1" !== opts.charset) throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");
|
|
if (void 0 !== opts.throwOnLimitExceeded && "boolean" != typeof opts.throwOnLimitExceeded) throw new TypeError("`throwOnLimitExceeded` option must be a boolean");
|
|
var charset = void 0 === opts.charset ? defaults.charset : opts.charset,
|
|
duplicates = void 0 === opts.duplicates ? defaults.duplicates : opts.duplicates;
|
|
if ("combine" !== duplicates && "first" !== duplicates && "last" !== duplicates) throw new TypeError("The duplicates option must be either combine, first, or last");
|
|
return {
|
|
allowDots: void 0 === opts.allowDots ? !0 === opts.decodeDotInKeys || defaults.allowDots : !!opts.allowDots,
|
|
allowEmptyArrays: "boolean" == typeof opts.allowEmptyArrays ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays,
|
|
allowPrototypes: "boolean" == typeof opts.allowPrototypes ? opts.allowPrototypes : defaults.allowPrototypes,
|
|
allowSparse: "boolean" == typeof opts.allowSparse ? opts.allowSparse : defaults.allowSparse,
|
|
arrayLimit: "number" == typeof opts.arrayLimit ? opts.arrayLimit : defaults.arrayLimit,
|
|
charset,
|
|
charsetSentinel: "boolean" == typeof opts.charsetSentinel ? opts.charsetSentinel : defaults.charsetSentinel,
|
|
comma: "boolean" == typeof opts.comma ? opts.comma : defaults.comma,
|
|
decodeDotInKeys: "boolean" == typeof opts.decodeDotInKeys ? opts.decodeDotInKeys : defaults.decodeDotInKeys,
|
|
decoder: "function" == typeof opts.decoder ? opts.decoder : defaults.decoder,
|
|
delimiter: "string" == typeof opts.delimiter || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,
|
|
depth: "number" == typeof opts.depth || !1 === opts.depth ? +opts.depth : defaults.depth,
|
|
duplicates,
|
|
ignoreQueryPrefix: !0 === opts.ignoreQueryPrefix,
|
|
interpretNumericEntities: "boolean" == typeof opts.interpretNumericEntities ? opts.interpretNumericEntities : defaults.interpretNumericEntities,
|
|
parameterLimit: "number" == typeof opts.parameterLimit ? opts.parameterLimit : defaults.parameterLimit,
|
|
parseArrays: !1 !== opts.parseArrays,
|
|
plainObjects: "boolean" == typeof opts.plainObjects ? opts.plainObjects : defaults.plainObjects,
|
|
strictDepth: "boolean" == typeof opts.strictDepth ? !!opts.strictDepth : defaults.strictDepth,
|
|
strictNullHandling: "boolean" == typeof opts.strictNullHandling ? opts.strictNullHandling : defaults.strictNullHandling,
|
|
throwOnLimitExceeded: "boolean" == typeof opts.throwOnLimitExceeded && opts.throwOnLimitExceeded
|
|
}
|
|
}(opts);
|
|
if ("" === str || null == str) return options.plainObjects ? {
|
|
__proto__: null
|
|
} : {};
|
|
for (var tempObj = "string" == typeof str ? function(str, options) {
|
|
var obj = {
|
|
__proto__: null
|
|
},
|
|
cleanStr = options.ignoreQueryPrefix ? str.replace(/^\?/, "") : str;
|
|
cleanStr = cleanStr.replace(/%5B/gi, "[").replace(/%5D/gi, "]");
|
|
var limit = options.parameterLimit === 1 / 0 ? void 0 : options.parameterLimit,
|
|
parts = cleanStr.split(options.delimiter, options.throwOnLimitExceeded ? limit + 1 : limit);
|
|
if (options.throwOnLimitExceeded && parts.length > limit) throw new RangeError("Parameter limit exceeded. Only " + limit + " parameter" + (1 === limit ? "" : "s") + " allowed.");
|
|
var i, skipIndex = -1,
|
|
charset = options.charset;
|
|
if (options.charsetSentinel)
|
|
for (i = 0; i < parts.length; ++i) 0 === parts[i].indexOf("utf8=") && ("utf8=%E2%9C%93" === parts[i] ? charset = "utf-8" : "utf8=%26%2310003%3B" === parts[i] && (charset = "iso-8859-1"), skipIndex = i, i = parts.length);
|
|
for (i = 0; i < parts.length; ++i)
|
|
if (i !== skipIndex) {
|
|
var key, val, part = parts[i],
|
|
bracketEqualsPos = part.indexOf("]="),
|
|
pos = -1 === bracketEqualsPos ? part.indexOf("=") : bracketEqualsPos + 1; - 1 === pos ? (key = options.decoder(part, defaults.decoder, charset, "key"), val = options.strictNullHandling ? null : "") : (key = options.decoder(part.slice(0, pos), defaults.decoder, charset, "key"), val = utils.maybeMap(parseArrayValue(part.slice(pos + 1), options, isArray(obj[key]) ? obj[key].length : 0), function(encodedVal) {
|
|
return options.decoder(encodedVal, defaults.decoder, charset, "value")
|
|
})), val && options.interpretNumericEntities && "iso-8859-1" === charset && (val = interpretNumericEntities(String(val))), part.indexOf("[]=") > -1 && (val = isArray(val) ? [val] : val);
|
|
var existing = has.call(obj, key);
|
|
existing && "combine" === options.duplicates ? obj[key] = utils.combine(obj[key], val) : existing && "last" !== options.duplicates || (obj[key] = val)
|
|
} return obj
|
|
}(str, options) : str, obj = options.plainObjects ? {
|
|
__proto__: null
|
|
} : {}, keys = Object.keys(tempObj), i = 0; i < keys.length; ++i) {
|
|
var key = keys[i],
|
|
newObj = parseKeys(key, tempObj[key], options, "string" == typeof str);
|
|
obj = utils.merge(obj, newObj, options)
|
|
}
|
|
return !0 === options.allowSparse ? obj : utils.compact(obj)
|
|
}
|
|
},
|
|
76380: (__unused_webpack_module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.getLimit = exports.isFilter = exports.filterNames = void 0, exports.filterNames = new Set(["first", "last", "eq", "gt", "nth", "lt", "even", "odd"]), exports.isFilter = function isFilter(s) {
|
|
return "pseudo" === s.type && (!!exports.filterNames.has(s.name) || !("not" !== s.name || !Array.isArray(s.data)) && s.data.some(function(s) {
|
|
return s.some(isFilter)
|
|
}))
|
|
}, exports.getLimit = function(filter, data) {
|
|
var num = null != data ? parseInt(data, 10) : NaN;
|
|
switch (filter) {
|
|
case "first":
|
|
return 1;
|
|
case "nth":
|
|
case "eq":
|
|
return isFinite(num) ? num >= 0 ? num + 1 : 1 / 0 : 0;
|
|
case "lt":
|
|
return isFinite(num) ? num >= 0 ? num : 1 / 0 : 0;
|
|
case "gt":
|
|
return isFinite(num) ? 1 / 0 : 0;
|
|
default:
|
|
return 1 / 0
|
|
}
|
|
}
|
|
},
|
|
76578: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.corePlatforms = exports.coreNativeActions = exports.coreFrameworks = void 0;
|
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(80451)),
|
|
_vimGenerator = __webpack_require__(47198);
|
|
|
|
function ownKeys(e, r) {
|
|
var t = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var o = Object.getOwnPropertySymbols(e);
|
|
r && (o = o.filter(function(r) {
|
|
return Object.getOwnPropertyDescriptor(e, r).enumerable
|
|
})), t.push.apply(t, o)
|
|
}
|
|
return t
|
|
}
|
|
|
|
function _objectSpread(e) {
|
|
for (var r = 1; r < arguments.length; r++) {
|
|
var t = null != arguments[r] ? arguments[r] : {};
|
|
r % 2 ? ownKeys(Object(t), !0).forEach(function(r) {
|
|
(0, _defineProperty2.default)(e, r, t[r])
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) {
|
|
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r))
|
|
})
|
|
}
|
|
return e
|
|
}
|
|
exports.coreFrameworks = _objectSpread({}, _vimGenerator.VimGenerator.vimEnums.FRAMEWORKS), exports.coreNativeActions = _objectSpread(_objectSpread({}, _vimGenerator.VimGenerator.vimEnums.NATIVE_ACTIONS), {}, {
|
|
HandleFinishedRun: "handleFinishedRun"
|
|
}), exports.corePlatforms = _objectSpread({}, _vimGenerator.VimGenerator.vimEnums.PLATFORMS)
|
|
},
|
|
76849: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
class CorePlugin {
|
|
constructor({
|
|
name,
|
|
actions,
|
|
description
|
|
}) {
|
|
this.name = name, this.actions = actions, this.description = description
|
|
}
|
|
}
|
|
exports.default = CorePlugin, Object.defineProperty(CorePlugin, Symbol.hasInstance, {
|
|
value: obj => null != obj && obj.name && obj.actions
|
|
}), module.exports = exports.default
|
|
},
|
|
76954: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function(instance, scope) {
|
|
instance.setProperty(scope, "localStorage", wrapWebStorage(instance, window && window.localStorage), _Instance.default.READONLY_DESCRIPTOR), instance.setProperty(scope, "sessionStorage", wrapWebStorage(instance, window && window.sessionStorage), _Instance.default.READONLY_DESCRIPTOR)
|
|
};
|
|
var _Instance = _interopRequireDefault(__webpack_require__(76352));
|
|
|
|
function wrapWebStorage(instance, webStorage) {
|
|
const storageObj = instance.createObject(instance.OBJECT);
|
|
return instance.setProperty(storageObj, "length", null, {
|
|
configurable: !0,
|
|
enumerable: !0,
|
|
get: instance.createNativeFunction(() => instance.nativeToPseudo(webStorage ? webStorage.length : 0))
|
|
}), instance.setProperty(storageObj, "key", instance.createNativeFunction((...pseudoArgs) => {
|
|
try {
|
|
if (pseudoArgs.length < 1) throw new TypeError(`Failed to execute 'key' on 'Storage': 1 argument required, but only ${pseudoArgs.length} present`);
|
|
const nativeIndex = instance.pseudoToNative(pseudoArgs[0]),
|
|
nativeKey = webStorage ? webStorage.key(nativeIndex) : null;
|
|
return instance.nativeToPseudo(nativeKey)
|
|
} catch (err) {
|
|
return instance.throwException(instance.ERROR, err && err.message), null
|
|
}
|
|
}), _Instance.default.READONLY_DESCRIPTOR), instance.setProperty(storageObj, "getItem", instance.createNativeFunction((...pseudoArgs) => {
|
|
try {
|
|
if (pseudoArgs.length < 1) throw new TypeError(`Failed to execute 'getItem' on 'Storage': 1 argument required, but only ${pseudoArgs.length} present`);
|
|
const nativeKey = instance.pseudoToNative(pseudoArgs[0]),
|
|
nativeItem = webStorage ? webStorage.getItem(nativeKey) : null;
|
|
return instance.nativeToPseudo(nativeItem)
|
|
} catch (err) {
|
|
return instance.throwException(instance.ERROR, err && err.message), null
|
|
}
|
|
}), _Instance.default.READONLY_DESCRIPTOR), instance.setProperty(storageObj, "setItem", instance.createNativeFunction((...pseudoArgs) => {
|
|
try {
|
|
if (pseudoArgs.length < 2) throw new TypeError(`Failed to execute 'setItem' on 'Storage': 2 arguments required, but only ${pseudoArgs.length} present`);
|
|
const nativeKey = instance.pseudoToNative(pseudoArgs[0]),
|
|
nativeValue = instance.pseudoToNative(pseudoArgs[1]);
|
|
webStorage && webStorage.setItem(nativeKey, nativeValue)
|
|
} catch (err) {
|
|
instance.throwException(instance.ERROR, err && err.message)
|
|
}
|
|
}), _Instance.default.READONLY_DESCRIPTOR), instance.setProperty(storageObj, "removeItem", instance.createNativeFunction((...pseudoArgs) => {
|
|
try {
|
|
if (pseudoArgs.length < 1) throw new TypeError(`Failed to execute 'removeItem' on 'Storage': 1 argument required, but only ${pseudoArgs.length} present`);
|
|
const nativeKey = instance.pseudoToNative(pseudoArgs[0]);
|
|
webStorage && webStorage.removeItem(nativeKey)
|
|
} catch (err) {
|
|
instance.throwException(instance.ERROR, err && err.message)
|
|
}
|
|
}), _Instance.default.READONLY_DESCRIPTOR), instance.setProperty(storageObj, "clear", instance.createNativeFunction(() => {
|
|
try {
|
|
webStorage && webStorage.clear()
|
|
} catch (err) {
|
|
instance.throwException(instance.ERROR, err && err.message)
|
|
}
|
|
}), _Instance.default.READONLY_DESCRIPTOR), storageObj
|
|
}
|
|
module.exports = exports.default
|
|
},
|
|
77133: module => {
|
|
"use strict";
|
|
module.exports = JSON.parse('{"name":"PPTitleExists","groups":[],"isRequired":false,"preconditions":[],"scoreThreshold":6,"shape":[{"value":"(title|headline|name)","weight":10,"scope":"id"},{"value":"(title|headline|name)","weight":5,"scope":"class"},{"value":"heading-5","weight":2.5,"scope":"class","_comment":"Best Buy"},{"value":"(title|headline|name)","weight":2,"scope":"data-auto"},{"value":"(title|headline|name)","weight":2,"scope":"itemprop"},{"value":"h1","weight":6,"scope":"tag"},{"value":"h2","weight":2.5,"scope":"tag"},{"value":"(pdp|product)","weight":1.2},{"value":"false","weight":0.1,"scope":"data-honey_is_visible"},{"value":"copy","weight":0.2},{"value":"nav","weight":0,"scope":"id"},{"value":"policy","weight":0,"scope":"id"},{"value":"ada","weight":0,"scope":"id"},{"value":"promo","weight":0,"scope":"id"},{"value":"sponsored","weight":0,"scope":"id"},{"value":"carousel","weight":0},{"value":"v-fw-medium","weight":0,"_comment":"Best Buy"},{"value":"review","weight":0},{"value":"contact-us","weight":0}]}')
|
|
},
|
|
77348: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
const state = this.stateStack[this.stateStack.length - 1],
|
|
node = state.node;
|
|
if (state.done_) this.stateStack.pop();
|
|
else {
|
|
let scope;
|
|
if (state.done_ = !0, node.param) {
|
|
scope = this.createSpecialScope(this.getScope());
|
|
const paramName = this.createPrimitive(node.param.name);
|
|
this.setProperty(scope, paramName, state.throwValue)
|
|
}
|
|
this.stateStack.push({
|
|
node: node.body,
|
|
scope
|
|
})
|
|
}
|
|
}, module.exports = exports.default
|
|
},
|
|
77402: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
this.stateStack.pop();
|
|
for (let i = this.stateStack.length - 1; i >= 0; i -= 1)
|
|
if (this.stateStack[i].thisExpression) return void(this.stateStack[this.stateStack.length - 1].value = this.stateStack[i].thisExpression);
|
|
throw Error("No this expression found.")
|
|
}, module.exports = exports.default
|
|
},
|
|
78180: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912));
|
|
exports.default = new _dac.default({
|
|
description: "HM-CA Meta Function",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "55757438707086178",
|
|
name: "h-m-ca"
|
|
}],
|
|
doDac: async function(couponCode, selector, priceAmt, applyBestCode) {
|
|
let price = priceAmt;
|
|
return function(res) {
|
|
try {
|
|
price = res.orderTotals.totalPrice, Number(_legacyHoneyUtils.default.cleanPrice(price)) < priceAmt && ((0, _jquery.default)(selector).text(price), (0, _jquery.default)(".price-total.loader-animate-opacity.ng-binding span.price").text(price))
|
|
} catch (e) {}
|
|
}(await async function() {
|
|
const res = _jquery.default.ajax({
|
|
url: "https://www2.hm.com/en_ca/checkout/redeemVoucher",
|
|
type: "POST",
|
|
headers: {
|
|
"Content-type": "application/json;charset=UTF-8"
|
|
},
|
|
data: JSON.stringify({
|
|
voucherCode: couponCode
|
|
})
|
|
});
|
|
return await res.done(_data => {
|
|
_logger.default.debug("Finishing code application")
|
|
}), res
|
|
}()), !1 === applyBestCode && await async function() {
|
|
const res = _jquery.default.ajax({
|
|
url: "https://www2.hm.com/en_ca/checkout/releaseVoucher",
|
|
type: "GET"
|
|
});
|
|
await res.done(_data => {
|
|
_logger.default.debug("Removing code")
|
|
})
|
|
}(), Number(_legacyHoneyUtils.default.cleanPrice(price))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
78207: function(__unused_webpack_module, exports, __webpack_require__) {
|
|
"use strict";
|
|
var __importDefault = this && this.__importDefault || function(mod) {
|
|
return mod && mod.__esModule ? mod : {
|
|
default: mod
|
|
}
|
|
};
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.innerText = exports.textContent = exports.getText = exports.getInnerHTML = exports.getOuterHTML = void 0;
|
|
var domhandler_1 = __webpack_require__(75243),
|
|
dom_serializer_1 = __importDefault(__webpack_require__(2652)),
|
|
domelementtype_1 = __webpack_require__(60903);
|
|
|
|
function getOuterHTML(node, options) {
|
|
return (0, dom_serializer_1.default)(node, options)
|
|
}
|
|
exports.getOuterHTML = getOuterHTML, exports.getInnerHTML = function(node, options) {
|
|
return (0, domhandler_1.hasChildren)(node) ? node.children.map(function(node) {
|
|
return getOuterHTML(node, options)
|
|
}).join("") : ""
|
|
}, exports.getText = function getText(node) {
|
|
return Array.isArray(node) ? node.map(getText).join("") : (0, domhandler_1.isTag)(node) ? "br" === node.name ? "\n" : getText(node.children) : (0, domhandler_1.isCDATA)(node) ? getText(node.children) : (0, domhandler_1.isText)(node) ? node.data : ""
|
|
}, exports.textContent = function textContent(node) {
|
|
return Array.isArray(node) ? node.map(textContent).join("") : (0, domhandler_1.hasChildren)(node) && !(0, domhandler_1.isComment)(node) ? textContent(node.children) : (0, domhandler_1.isText)(node) ? node.data : ""
|
|
}, exports.innerText = function innerText(node) {
|
|
return Array.isArray(node) ? node.map(innerText).join("") : (0, domhandler_1.hasChildren)(node) && (node.type === domelementtype_1.ElementType.Tag || (0, domhandler_1.isCDATA)(node)) ? innerText(node.children) : (0, domhandler_1.isText)(node) ? node.data : ""
|
|
}
|
|
},
|
|
78237: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var objectWithoutPropertiesLoose = __webpack_require__(16971);
|
|
module.exports = function(e, t) {
|
|
if (null == e) return {};
|
|
var o, r, i = objectWithoutPropertiesLoose(e, t);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o])
|
|
}
|
|
return i
|
|
}, module.exports.__esModule = !0, module.exports.default = module.exports
|
|
},
|
|
78745: module => {
|
|
"use strict";
|
|
module.exports = JSON.parse('{"name":"AddToCart","groups":[],"isRequired":false,"tests":[{"method":"testIfInnerHtmlContainsLength","options":{"tags":"a,button,div","expected":"^\\\\+?(add(item)?to(shopping)?(basket|bag|cart))$","matchWeight":"10","unMatchWeight":"1"},"_comment":"Exact innerHTML match"},{"method":"testIfInnerTextContainsLength","options":{"tags":"a,button,div","expected":"\\\\+?(add(item)?to(shopping)?(basket|bag|cart))","matchWeight":"200","unMatchWeight":"1"},"_comment":"Fuzzy innerText match"},{"method":"testIfInnerTextContainsLength","options":{"tags":"a,button,div","expected":"(pickitup|ship(it)?|pre-?order|addfor(shipping|pickup)|buynow)","matchWeight":"10","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLengthWeighted","options":{"tags":"button,span,div","expected":"(addtoshoppingbasket|homedelivery)","matchWeight":"100","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLength","options":{"expected":"(continue|&)","matchWeight":"0.5","unMatchWeight":"1","_comment":"Added \'&\' to avoid add & pickup or add & ship cases for recommended products for PetSmart"}},{"method":"testIfInnerTextContainsLength","options":{"expected":"(continueshopping|view((in)?cart|more)|signup|email|shipto|gift|yes!?iwant|findit)","matchWeight":"0","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLength","options":{"expected":"(shopping|added|pickup|shipping|overview|finditin|activat(e|ion))","matchWeight":"0.1","unMatchWeight":"1","_comment":"for Salomon"}},{"method":"testIfInnerTextContainsLength","options":{"expected":"add|buy","matchWeight":"2","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLength","options":{"tags":"a,button,div","expected":"soldout","onlyVisibleText":"true","matchWeight":"0","unMatchWeight":"1"}},{"method":"testIfAncestorAttrsContain","options":{"expected":"relatedproducts","generations":"5","matchWeight":"0","unMatchWeight":"1"},"_comment":"Avoid add to cart buttons for related products"},{"method":"testIfInnerHtmlContainsLength","options":{"tags":"div","expected":"<(a|button|div)","matchWeight":"0.1","unMatchWeight":"1"},"_comment":"Lower weight if div contains other elements"}],"preconditions":[],"shape":[{"value":"^(form|g|header|link|p|span|td|script|i|iframe|symbol|svg|use)$","weight":0,"scope":"tag"},{"value":"addtocart","weight":100,"scope":"value","_comment":"chewy"},{"value":"button--primary","weight":45,"scope":"class","_comment":"displate"},{"value":"add-to-(bag|basket|cart)","weight":10},{"value":"addto(bag|basket|cart)","weight":10},{"value":"add-cart","weight":10,"scope":"class","_comment":"Chewy"},{"value":"atc-button-pdp","weight":10,"scope":"class","_comment":"Saks Off 5th"},{"value":"buybutton","weight":10},{"value":"button--buy","weight":1.5,"scope":"class","_comment":"Displate"},{"value":"add","weight":9,"scope":"id"},{"value":"buy","weight":9,"scope":"class"},{"value":"nextstep","weight":9},{"value":"cart","weight":8},{"value":"bag","weight":8},{"value":"add","weight":6},{"value":"btn-special","weight":3,"scope":"class","_comment":"gamivo"},{"value":"pickup","weight":2},{"value":"btn-primary","weight":2,"scope":"class"},{"value":"cta","weight":2,"scope":"id"},{"value":"cta","weight":2,"scope":"class"},{"value":"button","weight":2,"scope":"tag"},{"value":"button","weight":2,"scope":"type"},{"value":"button","weight":2,"scope":"role"},{"value":"button","weight":10,"scope":"class","_comment":"cardcash: used to offset div that acts as button"},{"value":"submit","weight":2},{"value":"sticky","weight":0.5,"scope":"id"},{"value":"display:()?none","weight":0.5,"scope":"style"},{"value":"shoppingcart","weight":0.5},{"value":"padding","weight":0.17,"_comment":"counterbalance \'add\'"},{"value":"detail","scope":"class","weight":0.1,"_comment":"ignore divs containing delivery or cart details"},{"value":"disabled","weight":0.1,"scope":"class"},{"value":"/","weight":0.1,"scope":"href","_comment":"ignore all anchor tags having href URLs. We need only with value \'#\' or no hrefs"},{"value":"^div$","weight":0.1,"scope":"tag","_comment":"cannot be 0 because Wish\'s ATC button is a div"},{"value":"header|open|productcard|reviews|wrapper","weight":0.1},{"value":"(loading|thumbnail|submission)-?button","weight":0,"_comment":"bloomscape, charlotte-tilbury, walgreens"},{"value":"hidden","weight":0,"scope":"type"},{"value":"false","weight":0.1,"scope":"data-honey_is_visible"},{"value":"cartempty","weight":0,"scope":"aria-label","_comment":"walgreens"},{"value":"add-to-favorites|chat|close|club|globalnav|quickinfo|menu|out-of-stock|ratings|registry|search|viewcart","weight":0},{"value":"title--card","weight":0,"_comment":"walgreens"},{"value":"*ANY*","scope":"disabled","weight":0},{"value":"qty","weight":0,"scope":"name"},{"value":"cookie|onetrust|wishlist","weight":0,"scope":"id","_comment":"accept cookie elements"},{"value":"apple-pay|btn-group|d-none|email|klarna|learn-more|mini-cart|quantity","weight":0,"scope":"class"},{"value":"this\\\\.innerhtml","scope":"onclick","weight":0,"_comment":"The Body Shop: Avoid weird carousel add to bags"},{"value":"fsa|what","weight":0,"scope":"alt"}]}')
|
|
},
|
|
78818: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
const htmlparser = __webpack_require__(59266),
|
|
escapeStringRegexp = __webpack_require__(22661),
|
|
{
|
|
isPlainObject
|
|
} = __webpack_require__(70904),
|
|
deepmerge = __webpack_require__(25871),
|
|
parseSrcset = __webpack_require__(52900),
|
|
{
|
|
parse: postcssParse
|
|
} = __webpack_require__(38801),
|
|
mediaTags = ["img", "audio", "video", "picture", "svg", "object", "map", "iframe", "embed"],
|
|
vulnerableTags = ["script", "style"];
|
|
|
|
function each(obj, cb) {
|
|
obj && Object.keys(obj).forEach(function(key) {
|
|
cb(obj[key], key)
|
|
})
|
|
}
|
|
|
|
function has(obj, key) {
|
|
return {}.hasOwnProperty.call(obj, key)
|
|
}
|
|
|
|
function filter(a, cb) {
|
|
const n = [];
|
|
return each(a, function(v) {
|
|
cb(v) && n.push(v)
|
|
}), n
|
|
}
|
|
module.exports = sanitizeHtml;
|
|
const VALID_HTML_ATTRIBUTE_NAME = /^[^\0\t\n\f\r /<=>]+$/;
|
|
|
|
function sanitizeHtml(html, options, _recursing) {
|
|
if (null == html) return "";
|
|
"number" == typeof html && (html = html.toString());
|
|
let result = "",
|
|
tempResult = "";
|
|
|
|
function Frame(tag, attribs) {
|
|
const that = this;
|
|
this.tag = tag, this.attribs = attribs || {}, this.tagPosition = result.length, this.text = "", this.openingTagLength = 0, this.mediaChildren = [], this.updateParentNodeText = function() {
|
|
if (stack.length) {
|
|
stack[stack.length - 1].text += that.text
|
|
}
|
|
}, this.updateParentNodeMediaChildren = function() {
|
|
if (stack.length && mediaTags.includes(this.tag)) {
|
|
stack[stack.length - 1].mediaChildren.push(this.tag)
|
|
}
|
|
}
|
|
}(options = Object.assign({}, sanitizeHtml.defaults, options)).parser = Object.assign({}, htmlParserDefaults, options.parser);
|
|
const tagAllowed = function(name) {
|
|
return !1 === options.allowedTags || (options.allowedTags || []).indexOf(name) > -1
|
|
};
|
|
vulnerableTags.forEach(function(tag) {
|
|
tagAllowed(tag) && !options.allowVulnerableTags && console.warn(`\n\n\u26a0\ufe0f Your \`allowedTags\` option includes, \`${tag}\`, which is inherently\nvulnerable to XSS attacks. Please remove it from \`allowedTags\`.\nOr, to disable this warning, add the \`allowVulnerableTags\` option\nand ensure you are accounting for this risk.\n\n`)
|
|
});
|
|
const nonTextTagsArray = options.nonTextTags || ["script", "style", "textarea", "option"];
|
|
let allowedAttributesMap, allowedAttributesGlobMap;
|
|
options.allowedAttributes && (allowedAttributesMap = {}, allowedAttributesGlobMap = {}, each(options.allowedAttributes, function(attributes, tag) {
|
|
allowedAttributesMap[tag] = [];
|
|
const globRegex = [];
|
|
attributes.forEach(function(obj) {
|
|
"string" == typeof obj && obj.indexOf("*") >= 0 ? globRegex.push(escapeStringRegexp(obj).replace(/\\\*/g, ".*")) : allowedAttributesMap[tag].push(obj)
|
|
}), globRegex.length && (allowedAttributesGlobMap[tag] = new RegExp("^(" + globRegex.join("|") + ")$"))
|
|
}));
|
|
const allowedClassesMap = {},
|
|
allowedClassesGlobMap = {},
|
|
allowedClassesRegexMap = {};
|
|
each(options.allowedClasses, function(classes, tag) {
|
|
if (allowedAttributesMap && (has(allowedAttributesMap, tag) || (allowedAttributesMap[tag] = []), allowedAttributesMap[tag].push("class")), allowedClassesMap[tag] = classes, Array.isArray(classes)) {
|
|
const globRegex = [];
|
|
allowedClassesMap[tag] = [], allowedClassesRegexMap[tag] = [], classes.forEach(function(obj) {
|
|
"string" == typeof obj && obj.indexOf("*") >= 0 ? globRegex.push(escapeStringRegexp(obj).replace(/\\\*/g, ".*")) : obj instanceof RegExp ? allowedClassesRegexMap[tag].push(obj) : allowedClassesMap[tag].push(obj)
|
|
}), globRegex.length && (allowedClassesGlobMap[tag] = new RegExp("^(" + globRegex.join("|") + ")$"))
|
|
}
|
|
});
|
|
const transformTagsMap = {};
|
|
let transformTagsAll, depth, stack, skipMap, transformMap, skipText, skipTextDepth;
|
|
each(options.transformTags, function(transform, tag) {
|
|
let transFun;
|
|
"function" == typeof transform ? transFun = transform : "string" == typeof transform && (transFun = sanitizeHtml.simpleTransform(transform)), "*" === tag ? transformTagsAll = transFun : transformTagsMap[tag] = transFun
|
|
});
|
|
let addedText = !1;
|
|
initializeState();
|
|
const parser = new htmlparser.Parser({
|
|
onopentag: function(name, attribs) {
|
|
if (options.onOpenTag && options.onOpenTag(name, attribs), options.enforceHtmlBoundary && "html" === name && initializeState(), skipText) return void skipTextDepth++;
|
|
const frame = new Frame(name, attribs);
|
|
stack.push(frame);
|
|
let skip = !1;
|
|
const hasText = !!frame.text;
|
|
let transformedTag;
|
|
if (has(transformTagsMap, name) && (transformedTag = transformTagsMap[name](name, attribs), frame.attribs = attribs = transformedTag.attribs, void 0 !== transformedTag.text && (frame.innerText = transformedTag.text), name !== transformedTag.tagName && (frame.name = name = transformedTag.tagName, transformMap[depth] = transformedTag.tagName)), transformTagsAll && (transformedTag = transformTagsAll(name, attribs), frame.attribs = attribs = transformedTag.attribs, name !== transformedTag.tagName && (frame.name = name = transformedTag.tagName, transformMap[depth] = transformedTag.tagName)), (!tagAllowed(name) || "recursiveEscape" === options.disallowedTagsMode && ! function(obj) {
|
|
for (const key in obj)
|
|
if (has(obj, key)) return !1;
|
|
return !0
|
|
}(skipMap) || null != options.nestingLimit && depth >= options.nestingLimit) && (skip = !0, skipMap[depth] = !0, "discard" !== options.disallowedTagsMode && "completelyDiscard" !== options.disallowedTagsMode || -1 !== nonTextTagsArray.indexOf(name) && (skipText = !0, skipTextDepth = 1)), depth++, skip) {
|
|
if ("discard" === options.disallowedTagsMode || "completelyDiscard" === options.disallowedTagsMode) {
|
|
if (frame.innerText && !hasText) {
|
|
const escaped = escapeHtml(frame.innerText);
|
|
options.textFilter ? result += options.textFilter(escaped, name) : result += escaped, addedText = !0
|
|
}
|
|
return
|
|
}
|
|
tempResult = result, result = ""
|
|
}
|
|
result += "<" + name, "script" === name && (options.allowedScriptHostnames || options.allowedScriptDomains) && (frame.innerText = "");
|
|
skip && ("escape" === options.disallowedTagsMode || "recursiveEscape" === options.disallowedTagsMode) && options.preserveEscapedAttributes ? each(attribs, function(value, a) {
|
|
result += " " + a + '="' + escapeHtml(value || "", !0) + '"'
|
|
}) : (!allowedAttributesMap || has(allowedAttributesMap, name) || allowedAttributesMap["*"]) && each(attribs, function(value, a) {
|
|
if (!VALID_HTML_ATTRIBUTE_NAME.test(a)) return void delete frame.attribs[a];
|
|
if ("" === value && !options.allowedEmptyAttributes.includes(a) && (options.nonBooleanAttributes.includes(a) || options.nonBooleanAttributes.includes("*"))) return void delete frame.attribs[a];
|
|
let passedAllowedAttributesMapCheck = !1;
|
|
if (!allowedAttributesMap || has(allowedAttributesMap, name) && -1 !== allowedAttributesMap[name].indexOf(a) || allowedAttributesMap["*"] && -1 !== allowedAttributesMap["*"].indexOf(a) || has(allowedAttributesGlobMap, name) && allowedAttributesGlobMap[name].test(a) || allowedAttributesGlobMap["*"] && allowedAttributesGlobMap["*"].test(a)) passedAllowedAttributesMapCheck = !0;
|
|
else if (allowedAttributesMap && allowedAttributesMap[name])
|
|
for (const o of allowedAttributesMap[name])
|
|
if (isPlainObject(o) && o.name && o.name === a) {
|
|
passedAllowedAttributesMapCheck = !0;
|
|
let newValue = "";
|
|
if (!0 === o.multiple) {
|
|
const splitStrArray = value.split(" ");
|
|
for (const s of splitStrArray) - 1 !== o.values.indexOf(s) && ("" === newValue ? newValue = s : newValue += " " + s)
|
|
} else o.values.indexOf(value) >= 0 && (newValue = value);
|
|
value = newValue
|
|
} if (passedAllowedAttributesMapCheck) {
|
|
if (-1 !== options.allowedSchemesAppliedToAttributes.indexOf(a) && naughtyHref(name, value)) return void delete frame.attribs[a];
|
|
if ("script" === name && "src" === a) {
|
|
let allowed = !0;
|
|
try {
|
|
const parsed = parseUrl(value);
|
|
if (options.allowedScriptHostnames || options.allowedScriptDomains) {
|
|
const allowedHostname = (options.allowedScriptHostnames || []).find(function(hostname) {
|
|
return hostname === parsed.url.hostname
|
|
}),
|
|
allowedDomain = (options.allowedScriptDomains || []).find(function(domain) {
|
|
return parsed.url.hostname === domain || parsed.url.hostname.endsWith(`.${domain}`)
|
|
});
|
|
allowed = allowedHostname || allowedDomain
|
|
}
|
|
} catch (e) {
|
|
allowed = !1
|
|
}
|
|
if (!allowed) return void delete frame.attribs[a]
|
|
}
|
|
if ("iframe" === name && "src" === a) {
|
|
let allowed = !0;
|
|
try {
|
|
const parsed = parseUrl(value);
|
|
if (parsed.isRelativeUrl) allowed = has(options, "allowIframeRelativeUrls") ? options.allowIframeRelativeUrls : !options.allowedIframeHostnames && !options.allowedIframeDomains;
|
|
else if (options.allowedIframeHostnames || options.allowedIframeDomains) {
|
|
const allowedHostname = (options.allowedIframeHostnames || []).find(function(hostname) {
|
|
return hostname === parsed.url.hostname
|
|
}),
|
|
allowedDomain = (options.allowedIframeDomains || []).find(function(domain) {
|
|
return parsed.url.hostname === domain || parsed.url.hostname.endsWith(`.${domain}`)
|
|
});
|
|
allowed = allowedHostname || allowedDomain
|
|
}
|
|
} catch (e) {
|
|
allowed = !1
|
|
}
|
|
if (!allowed) return void delete frame.attribs[a]
|
|
}
|
|
if ("srcset" === a) try {
|
|
let parsed = parseSrcset(value);
|
|
if (parsed.forEach(function(value) {
|
|
naughtyHref("srcset", value.url) && (value.evil = !0)
|
|
}), parsed = filter(parsed, function(v) {
|
|
return !v.evil
|
|
}), !parsed.length) return void delete frame.attribs[a];
|
|
value = filter(parsed, function(v) {
|
|
return !v.evil
|
|
}).map(function(part) {
|
|
if (!part.url) throw new Error("URL missing");
|
|
return part.url + (part.w ? ` ${part.w}w` : "") + (part.h ? ` ${part.h}h` : "") + (part.d ? ` ${part.d}x` : "")
|
|
}).join(", "), frame.attribs[a] = value
|
|
} catch (e) {
|
|
return void delete frame.attribs[a]
|
|
}
|
|
if ("class" === a) {
|
|
const allowedSpecificClasses = allowedClassesMap[name],
|
|
allowedWildcardClasses = allowedClassesMap["*"],
|
|
allowedSpecificClassesGlob = allowedClassesGlobMap[name],
|
|
allowedSpecificClassesRegex = allowedClassesRegexMap[name],
|
|
allowedWildcardClassesRegex = allowedClassesRegexMap["*"],
|
|
allowedClassesGlobs = [allowedSpecificClassesGlob, allowedClassesGlobMap["*"]].concat(allowedSpecificClassesRegex, allowedWildcardClassesRegex).filter(function(t) {
|
|
return t
|
|
});
|
|
if (!(value = filterClasses(value, allowedSpecificClasses && allowedWildcardClasses ? deepmerge(allowedSpecificClasses, allowedWildcardClasses) : allowedSpecificClasses || allowedWildcardClasses, allowedClassesGlobs)).length) return void delete frame.attribs[a]
|
|
}
|
|
if ("style" === a)
|
|
if (options.parseStyleAttributes) try {
|
|
const filteredAST = function(abstractSyntaxTree, allowedStyles) {
|
|
if (!allowedStyles) return abstractSyntaxTree;
|
|
const astRules = abstractSyntaxTree.nodes[0];
|
|
let selectedRule;
|
|
selectedRule = allowedStyles[astRules.selector] && allowedStyles["*"] ? deepmerge(allowedStyles[astRules.selector], allowedStyles["*"]) : allowedStyles[astRules.selector] || allowedStyles["*"];
|
|
selectedRule && (abstractSyntaxTree.nodes[0].nodes = astRules.nodes.reduce(function(selectedRule) {
|
|
return function(allowedDeclarationsList, attributeObject) {
|
|
if (has(selectedRule, attributeObject.prop)) {
|
|
selectedRule[attributeObject.prop].some(function(regularExpression) {
|
|
return regularExpression.test(attributeObject.value)
|
|
}) && allowedDeclarationsList.push(attributeObject)
|
|
}
|
|
return allowedDeclarationsList
|
|
}
|
|
}(selectedRule), []));
|
|
return abstractSyntaxTree
|
|
}(postcssParse(name + " {" + value + "}", {
|
|
map: !1
|
|
}), options.allowedStyles);
|
|
if (value = function(filteredAST) {
|
|
return filteredAST.nodes[0].nodes.reduce(function(extractedAttributes, attrObject) {
|
|
return extractedAttributes.push(`${attrObject.prop}:${attrObject.value}${attrObject.important?" !important":""}`), extractedAttributes
|
|
}, []).join(";")
|
|
}(filteredAST), 0 === value.length) return void delete frame.attribs[a]
|
|
} catch (e) {
|
|
return "undefined" != typeof window && console.warn('Failed to parse "' + name + " {" + value + "}\", If you're running this in a browser, we recommend to disable style parsing: options.parseStyleAttributes: false, since this only works in a node environment due to a postcss dependency, More info: https://github.com/apostrophecms/sanitize-html/issues/547"), void delete frame.attribs[a]
|
|
} else if (options.allowedStyles) throw new Error("allowedStyles option cannot be used together with parseStyleAttributes: false.");
|
|
result += " " + a, value && value.length ? result += '="' + escapeHtml(value, !0) + '"' : options.allowedEmptyAttributes.includes(a) && (result += '=""')
|
|
} else delete frame.attribs[a]
|
|
}), -1 !== options.selfClosing.indexOf(name) ? result += " />" : (result += ">", !frame.innerText || hasText || options.textFilter || (result += escapeHtml(frame.innerText), addedText = !0)), skip && (result = tempResult + escapeHtml(result), tempResult = ""), frame.openingTagLength = result.length - frame.tagPosition
|
|
},
|
|
ontext: function(text) {
|
|
if (skipText) return;
|
|
const lastFrame = stack[stack.length - 1];
|
|
let tag;
|
|
if (lastFrame && (tag = lastFrame.tag, text = void 0 !== lastFrame.innerText ? lastFrame.innerText : text), "completelyDiscard" !== options.disallowedTagsMode || tagAllowed(tag))
|
|
if ("discard" !== options.disallowedTagsMode && "completelyDiscard" !== options.disallowedTagsMode || "script" !== tag && "style" !== tag) {
|
|
if (!addedText) {
|
|
const escaped = escapeHtml(text, !1);
|
|
options.textFilter ? result += options.textFilter(escaped, tag) : result += escaped
|
|
}
|
|
} else result += text;
|
|
else text = "";
|
|
if (stack.length) {
|
|
stack[stack.length - 1].text += text
|
|
}
|
|
},
|
|
onclosetag: function(name, isImplied) {
|
|
if (options.onCloseTag && options.onCloseTag(name, isImplied), skipText) {
|
|
if (skipTextDepth--, skipTextDepth) return;
|
|
skipText = !1
|
|
}
|
|
const frame = stack.pop();
|
|
if (!frame) return;
|
|
if (frame.tag !== name) return void stack.push(frame);
|
|
skipText = !!options.enforceHtmlBoundary && "html" === name, depth--;
|
|
const skip = skipMap[depth];
|
|
if (skip) {
|
|
if (delete skipMap[depth], "discard" === options.disallowedTagsMode || "completelyDiscard" === options.disallowedTagsMode) return void frame.updateParentNodeText();
|
|
tempResult = result, result = ""
|
|
}
|
|
if (transformMap[depth] && (name = transformMap[depth], delete transformMap[depth]), options.exclusiveFilter) {
|
|
const filterResult = options.exclusiveFilter(frame);
|
|
if ("excludeTag" === filterResult) return skip && (result = tempResult, tempResult = ""), void(result = result.substring(0, frame.tagPosition) + result.substring(frame.tagPosition + frame.openingTagLength));
|
|
if (filterResult) return void(result = result.substring(0, frame.tagPosition))
|
|
}
|
|
frame.updateParentNodeMediaChildren(), frame.updateParentNodeText(), -1 !== options.selfClosing.indexOf(name) || isImplied && !tagAllowed(name) && ["escape", "recursiveEscape"].indexOf(options.disallowedTagsMode) >= 0 ? skip && (result = tempResult, tempResult = "") : (result += "</" + name + ">", skip && (result = tempResult + escapeHtml(result), tempResult = ""), addedText = !1)
|
|
}
|
|
}, options.parser);
|
|
return parser.write(html), parser.end(), result;
|
|
|
|
function initializeState() {
|
|
result = "", depth = 0, stack = [], skipMap = {}, transformMap = {}, skipText = !1, skipTextDepth = 0
|
|
}
|
|
|
|
function escapeHtml(s, quote) {
|
|
return "string" != typeof s && (s += ""), options.parser.decodeEntities && (s = s.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">"), quote && (s = s.replace(/"/g, """))), s = s.replace(/&(?![a-zA-Z0-9#]{1,20};)/g, "&").replace(/</g, "<").replace(/>/g, ">"), quote && (s = s.replace(/"/g, """)), s
|
|
}
|
|
|
|
function naughtyHref(name, href) {
|
|
for (href = href.replace(/[\x00-\x20]+/g, "");;) {
|
|
const firstIndex = href.indexOf("\x3c!--");
|
|
if (-1 === firstIndex) break;
|
|
const lastIndex = href.indexOf("--\x3e", firstIndex + 4);
|
|
if (-1 === lastIndex) break;
|
|
href = href.substring(0, firstIndex) + href.substring(lastIndex + 3)
|
|
}
|
|
const matches = href.match(/^([a-zA-Z][a-zA-Z0-9.\-+]*):/);
|
|
if (!matches) return !!href.match(/^[/\\]{2}/) && !options.allowProtocolRelative;
|
|
const scheme = matches[1].toLowerCase();
|
|
return has(options.allowedSchemesByTag, name) ? -1 === options.allowedSchemesByTag[name].indexOf(scheme) : !options.allowedSchemes || -1 === options.allowedSchemes.indexOf(scheme)
|
|
}
|
|
|
|
function parseUrl(value) {
|
|
if ((value = value.replace(/^(\w+:)?\s*[\\/]\s*[\\/]/, "$1//")).startsWith("relative:")) throw new Error("relative: exploit attempt");
|
|
let base = "relative://relative-site";
|
|
for (let i = 0; i < 100; i++) base += `/${i}`;
|
|
const parsed = new URL(value, base);
|
|
return {
|
|
isRelativeUrl: parsed && "relative-site" === parsed.hostname && "relative:" === parsed.protocol,
|
|
url: parsed
|
|
}
|
|
}
|
|
|
|
function filterClasses(classes, allowed, allowedGlobs) {
|
|
return allowed ? (classes = classes.split(/\s+/)).filter(function(clss) {
|
|
return -1 !== allowed.indexOf(clss) || allowedGlobs.some(function(glob) {
|
|
return glob.test(clss)
|
|
})
|
|
}).join(" ") : classes
|
|
}
|
|
}
|
|
const htmlParserDefaults = {
|
|
decodeEntities: !0
|
|
};
|
|
sanitizeHtml.defaults = {
|
|
allowedTags: ["address", "article", "aside", "footer", "header", "h1", "h2", "h3", "h4", "h5", "h6", "hgroup", "main", "nav", "section", "blockquote", "dd", "div", "dl", "dt", "figcaption", "figure", "hr", "li", "menu", "ol", "p", "pre", "ul", "a", "abbr", "b", "bdi", "bdo", "br", "cite", "code", "data", "dfn", "em", "i", "kbd", "mark", "q", "rb", "rp", "rt", "rtc", "ruby", "s", "samp", "small", "span", "strong", "sub", "sup", "time", "u", "var", "wbr", "caption", "col", "colgroup", "table", "tbody", "td", "tfoot", "th", "thead", "tr"],
|
|
nonBooleanAttributes: ["abbr", "accept", "accept-charset", "accesskey", "action", "allow", "alt", "as", "autocapitalize", "autocomplete", "blocking", "charset", "cite", "class", "color", "cols", "colspan", "content", "contenteditable", "coords", "crossorigin", "data", "datetime", "decoding", "dir", "dirname", "download", "draggable", "enctype", "enterkeyhint", "fetchpriority", "for", "form", "formaction", "formenctype", "formmethod", "formtarget", "headers", "height", "hidden", "high", "href", "hreflang", "http-equiv", "id", "imagesizes", "imagesrcset", "inputmode", "integrity", "is", "itemid", "itemprop", "itemref", "itemtype", "kind", "label", "lang", "list", "loading", "low", "max", "maxlength", "media", "method", "min", "minlength", "name", "nonce", "optimum", "pattern", "ping", "placeholder", "popover", "popovertarget", "popovertargetaction", "poster", "preload", "referrerpolicy", "rel", "rows", "rowspan", "sandbox", "scope", "shape", "size", "sizes", "slot", "span", "spellcheck", "src", "srcdoc", "srclang", "srcset", "start", "step", "style", "tabindex", "target", "title", "translate", "type", "usemap", "value", "width", "wrap", "onauxclick", "onafterprint", "onbeforematch", "onbeforeprint", "onbeforeunload", "onbeforetoggle", "onblur", "oncancel", "oncanplay", "oncanplaythrough", "onchange", "onclick", "onclose", "oncontextlost", "oncontextmenu", "oncontextrestored", "oncopy", "oncuechange", "oncut", "ondblclick", "ondrag", "ondragend", "ondragenter", "ondragleave", "ondragover", "ondragstart", "ondrop", "ondurationchange", "onemptied", "onended", "onerror", "onfocus", "onformdata", "onhashchange", "oninput", "oninvalid", "onkeydown", "onkeypress", "onkeyup", "onlanguagechange", "onload", "onloadeddata", "onloadedmetadata", "onloadstart", "onmessage", "onmessageerror", "onmousedown", "onmouseenter", "onmouseleave", "onmousemove", "onmouseout", "onmouseover", "onmouseup", "onoffline", "ononline", "onpagehide", "onpageshow", "onpaste", "onpause", "onplay", "onplaying", "onpopstate", "onprogress", "onratechange", "onreset", "onresize", "onrejectionhandled", "onscroll", "onscrollend", "onsecuritypolicyviolation", "onseeked", "onseeking", "onselect", "onslotchange", "onstalled", "onstorage", "onsubmit", "onsuspend", "ontimeupdate", "ontoggle", "onunhandledrejection", "onunload", "onvolumechange", "onwaiting", "onwheel"],
|
|
disallowedTagsMode: "discard",
|
|
allowedAttributes: {
|
|
a: ["href", "name", "target"],
|
|
img: ["src", "srcset", "alt", "title", "width", "height", "loading"]
|
|
},
|
|
allowedEmptyAttributes: ["alt"],
|
|
selfClosing: ["img", "br", "hr", "area", "base", "basefont", "input", "link", "meta"],
|
|
allowedSchemes: ["http", "https", "ftp", "mailto", "tel"],
|
|
allowedSchemesByTag: {},
|
|
allowedSchemesAppliedToAttributes: ["href", "src", "cite"],
|
|
allowProtocolRelative: !0,
|
|
enforceHtmlBoundary: !1,
|
|
parseStyleAttributes: !0,
|
|
preserveEscapedAttributes: !1
|
|
}, sanitizeHtml.simpleTransform = function(newTagName, newAttribs, merge) {
|
|
return merge = void 0 === merge || merge, newAttribs = newAttribs || {},
|
|
function(tagName, attribs) {
|
|
let attrib;
|
|
if (merge)
|
|
for (attrib in newAttribs) attribs[attrib] = newAttribs[attrib];
|
|
else attribs = newAttribs;
|
|
return {
|
|
tagName: newTagName,
|
|
attribs
|
|
}
|
|
}
|
|
}
|
|
},
|
|
79072: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var baseTrim = __webpack_require__(63582),
|
|
isObject = __webpack_require__(24547),
|
|
isSymbol = __webpack_require__(47108),
|
|
reIsBadHex = /^[-+]0x[0-9a-f]+$/i,
|
|
reIsBinary = /^0b[01]+$/i,
|
|
reIsOctal = /^0o[0-7]+$/i,
|
|
freeParseInt = parseInt;
|
|
module.exports = function(value) {
|
|
if ("number" == typeof value) return value;
|
|
if (isSymbol(value)) return NaN;
|
|
if (isObject(value)) {
|
|
var other = "function" == typeof value.valueOf ? value.valueOf() : value;
|
|
value = isObject(other) ? other + "" : other
|
|
}
|
|
if ("string" != typeof value) return 0 === value ? value : +value;
|
|
value = baseTrim(value);
|
|
var isBinary = reIsBinary.test(value);
|
|
return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NaN : +value
|
|
}
|
|
},
|
|
79078: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912)),
|
|
_helpers = _interopRequireDefault(__webpack_require__(16065));
|
|
exports.default = new _dac.default({
|
|
description: "Generic Shopify Pay Acorn DAC",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 10
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "259714029212845735",
|
|
name: "Shopify Pay"
|
|
}],
|
|
doDac: async function(couponCode, selector, priceAmt, applyBestCode) {
|
|
const isAlternateCheckout = !(!window.location.href || !window.location.href.match(/checkout\/\d+\/\w+\/\w+/));
|
|
let price = priceAmt;
|
|
async function bubbleEvents(element) {
|
|
element.change().keydown().keypress().keyup().blur().focus()
|
|
}
|
|
if (isAlternateCheckout) {
|
|
const res = await async function() {
|
|
let res;
|
|
try {
|
|
const serializedData = JSON.parse((0, _jquery.default)("meta[name=serialized-graphql]").attr("content")),
|
|
lineItemsKey = Object.keys(serializedData).find(key => Object.keys(serializedData[key]).indexOf("session") > -1),
|
|
lineItems = serializedData[lineItemsKey].session.negotiate.result.buyerProposal.merchandise.merchandiseLines,
|
|
parsedLineItems = [];
|
|
lineItems.forEach(item => {
|
|
const formattedHash = {
|
|
merchandise: {
|
|
productVariantReference: {
|
|
id: item.merchandise.id,
|
|
variantId: item.merchandise.variantId,
|
|
properties: []
|
|
}
|
|
},
|
|
quantity: {
|
|
items: {
|
|
value: item.quantity.items.value
|
|
}
|
|
},
|
|
expectedTotalPrice: {
|
|
value: {
|
|
amount: item.totalAmount.value.amount,
|
|
currencyCode: item.totalAmount.value.currencyCode
|
|
}
|
|
}
|
|
};
|
|
parsedLineItems.push(formattedHash)
|
|
});
|
|
const body = {
|
|
query: "query Proposal(\n $merchandise: MerchandiseTermInput\n $sessionInput: SessionTokenInput!\n $reduction: ReductionInput\n ) {\n session(sessionInput: $sessionInput) {\n negotiate(\n input: {\n purchaseProposal: {\n merchandise: $merchandise\n reduction: $reduction\n }\n }\n ) {\n result {\n ... on NegotiationResultAvailable {\n buyerProposal {\n ...BuyerProposalDetails\n }\n sellerProposal {\n ...ProposalDetails\n }\n }\n }\n }\n }\n }\n fragment BuyerProposalDetails on Proposal {\n merchandiseDiscount {\n ... on DiscountTermsV2 {\n ... on FilledDiscountTerms {\n lines {\n ... on DiscountLine {\n discount {\n ... on Discount {\n ... on CodeDiscount {\n code\n }\n ... on DiscountCodeTrigger {\n code\n }\n ... on AutomaticDiscount {\n presentationLevel\n title\n }\n }\n }\n }\n }\n }\n }\n }\n }\n fragment ProposalDetails on Proposal {\n subtotalBeforeTaxesAndShipping {\n ... on MoneyValueConstraint {\n value {\n amount\n currencyCode\n }\n }\n }\n runningTotal {\n ...on MoneyValueConstraint {\n value {\n amount\n currencyCode\n }\n }\n }\n }",
|
|
variables: {
|
|
sessionInput: {
|
|
sessionToken: (0, _jquery.default)("meta[name=serialized-session-token]").attr("content").slice(1, -1)
|
|
},
|
|
reduction: {
|
|
code: couponCode
|
|
},
|
|
merchandise: {
|
|
merchandiseLines: parsedLineItems
|
|
}
|
|
},
|
|
operationName: "Proposal"
|
|
},
|
|
shopifyDomain = JSON.parse((0, _jquery.default)("meta[name=serialized-graphql-endpoint]").attr("content"));
|
|
res = _jquery.default.ajax({
|
|
url: shopifyDomain,
|
|
method: "POST",
|
|
headers: {
|
|
accept: "application/json",
|
|
"accept-language": "en-US",
|
|
"content-type": "application/json"
|
|
},
|
|
data: JSON.stringify(body)
|
|
}), await res.done(_data => {
|
|
_logger.default.debug("Applying code")
|
|
}).fail((xhr, textStatus, errorThrown) => {
|
|
_logger.default.debug(`Coupon Apply Error: ${errorThrown}`)
|
|
})
|
|
} catch (e) {}
|
|
return res
|
|
}();
|
|
if (await async function(res) {
|
|
let subtotalPrice;
|
|
try {
|
|
subtotalPrice = Number(_legacyHoneyUtils.default.cleanPrice(res.data.session.negotiate.result.sellerProposal.runningTotal.value.amount)), price = subtotalPrice
|
|
} catch (e) {}
|
|
}(res), !0 === applyBestCode) {
|
|
const input = (0, _jquery.default)('#add-discount, input[name="reductions"]'),
|
|
submitButton = (0, _jquery.default)('aside form button[aria-label="Apply Discount Code"]');
|
|
input.val(""), await bubbleEvents(input), await async function(input) {
|
|
let i = 0;
|
|
for (; i < couponCode.length;) {
|
|
const newValue = input.val() + couponCode.charAt(i);
|
|
input.val(newValue), await bubbleEvents(input), i += 1, await (0, _helpers.default)(20)
|
|
}
|
|
}(input), submitButton.removeAttr("disabled"), await (0, _helpers.default)(200), submitButton.click(), await (0, _helpers.default)(3e3)
|
|
}
|
|
} else {
|
|
const res = await async function() {
|
|
const rawInfo = (0, _jquery.default)('meta[name="configuration"]').attr("content") || "",
|
|
shopifyDomain = (rawInfo.match('"shopify_domain":"(.*?)",') || [])[1],
|
|
checkoutToken = (rawInfo.match('"checkout_token":"(.*?)",') || [])[1],
|
|
checkoutSecret = (rawInfo.match('"checkout_secret":"(.*?)",') || [])[1],
|
|
res = _jquery.default.ajax({
|
|
url: `https://${shopifyDomain}/wallets/unstable/checkouts/${checkoutToken}.json`,
|
|
type: "PATCH",
|
|
headers: {
|
|
"content-type": "application/json",
|
|
"x-shopify-checkout-authorization-token": checkoutSecret
|
|
},
|
|
data: JSON.stringify({
|
|
checkout: {
|
|
reduction_code: couponCode
|
|
}
|
|
})
|
|
});
|
|
return await res.done(_data => {
|
|
_logger.default.debug("Applying Code")
|
|
}).fail((xhr, textStatus, errorThrown) => {
|
|
_logger.default.debug(`Coupon Apply Error: ${errorThrown}`)
|
|
}), res
|
|
}();
|
|
(parsedRes = res) && !parsedRes.errors && (price = parsedRes.checkout && parsedRes.checkout.total_price, Number(_legacyHoneyUtils.default.cleanPrice(price)) < priceAmt && (0, _jquery.default)(selector).text(price)), !0 === applyBestCode && (window.location = window.location.href, await (0, _helpers.default)(3e3))
|
|
}
|
|
var parsedRes;
|
|
return Number(_legacyHoneyUtils.default.cleanPrice(price))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
79122: function(module, exports, __webpack_require__) {
|
|
var CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), __webpack_require__(10608), __webpack_require__(65554), __webpack_require__(34120), __webpack_require__(74047), function() {
|
|
var C = CryptoJS,
|
|
C_lib = C.lib,
|
|
WordArray = C_lib.WordArray,
|
|
BlockCipher = C_lib.BlockCipher,
|
|
C_algo = C.algo,
|
|
PC1 = [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4],
|
|
PC2 = [14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32],
|
|
BIT_SHIFTS = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28],
|
|
SBOX_P = [{
|
|
0: 8421888,
|
|
268435456: 32768,
|
|
536870912: 8421378,
|
|
805306368: 2,
|
|
1073741824: 512,
|
|
1342177280: 8421890,
|
|
1610612736: 8389122,
|
|
1879048192: 8388608,
|
|
2147483648: 514,
|
|
2415919104: 8389120,
|
|
2684354560: 33280,
|
|
2952790016: 8421376,
|
|
3221225472: 32770,
|
|
3489660928: 8388610,
|
|
3758096384: 0,
|
|
4026531840: 33282,
|
|
134217728: 0,
|
|
402653184: 8421890,
|
|
671088640: 33282,
|
|
939524096: 32768,
|
|
1207959552: 8421888,
|
|
1476395008: 512,
|
|
1744830464: 8421378,
|
|
2013265920: 2,
|
|
2281701376: 8389120,
|
|
2550136832: 33280,
|
|
2818572288: 8421376,
|
|
3087007744: 8389122,
|
|
3355443200: 8388610,
|
|
3623878656: 32770,
|
|
3892314112: 514,
|
|
4160749568: 8388608,
|
|
1: 32768,
|
|
268435457: 2,
|
|
536870913: 8421888,
|
|
805306369: 8388608,
|
|
1073741825: 8421378,
|
|
1342177281: 33280,
|
|
1610612737: 512,
|
|
1879048193: 8389122,
|
|
2147483649: 8421890,
|
|
2415919105: 8421376,
|
|
2684354561: 8388610,
|
|
2952790017: 33282,
|
|
3221225473: 514,
|
|
3489660929: 8389120,
|
|
3758096385: 32770,
|
|
4026531841: 0,
|
|
134217729: 8421890,
|
|
402653185: 8421376,
|
|
671088641: 8388608,
|
|
939524097: 512,
|
|
1207959553: 32768,
|
|
1476395009: 8388610,
|
|
1744830465: 2,
|
|
2013265921: 33282,
|
|
2281701377: 32770,
|
|
2550136833: 8389122,
|
|
2818572289: 514,
|
|
3087007745: 8421888,
|
|
3355443201: 8389120,
|
|
3623878657: 0,
|
|
3892314113: 33280,
|
|
4160749569: 8421378
|
|
}, {
|
|
0: 1074282512,
|
|
16777216: 16384,
|
|
33554432: 524288,
|
|
50331648: 1074266128,
|
|
67108864: 1073741840,
|
|
83886080: 1074282496,
|
|
100663296: 1073758208,
|
|
117440512: 16,
|
|
134217728: 540672,
|
|
150994944: 1073758224,
|
|
167772160: 1073741824,
|
|
184549376: 540688,
|
|
201326592: 524304,
|
|
218103808: 0,
|
|
234881024: 16400,
|
|
251658240: 1074266112,
|
|
8388608: 1073758208,
|
|
25165824: 540688,
|
|
41943040: 16,
|
|
58720256: 1073758224,
|
|
75497472: 1074282512,
|
|
92274688: 1073741824,
|
|
109051904: 524288,
|
|
125829120: 1074266128,
|
|
142606336: 524304,
|
|
159383552: 0,
|
|
176160768: 16384,
|
|
192937984: 1074266112,
|
|
209715200: 1073741840,
|
|
226492416: 540672,
|
|
243269632: 1074282496,
|
|
260046848: 16400,
|
|
268435456: 0,
|
|
285212672: 1074266128,
|
|
301989888: 1073758224,
|
|
318767104: 1074282496,
|
|
335544320: 1074266112,
|
|
352321536: 16,
|
|
369098752: 540688,
|
|
385875968: 16384,
|
|
402653184: 16400,
|
|
419430400: 524288,
|
|
436207616: 524304,
|
|
452984832: 1073741840,
|
|
469762048: 540672,
|
|
486539264: 1073758208,
|
|
503316480: 1073741824,
|
|
520093696: 1074282512,
|
|
276824064: 540688,
|
|
293601280: 524288,
|
|
310378496: 1074266112,
|
|
327155712: 16384,
|
|
343932928: 1073758208,
|
|
360710144: 1074282512,
|
|
377487360: 16,
|
|
394264576: 1073741824,
|
|
411041792: 1074282496,
|
|
427819008: 1073741840,
|
|
444596224: 1073758224,
|
|
461373440: 524304,
|
|
478150656: 0,
|
|
494927872: 16400,
|
|
511705088: 1074266128,
|
|
528482304: 540672
|
|
}, {
|
|
0: 260,
|
|
1048576: 0,
|
|
2097152: 67109120,
|
|
3145728: 65796,
|
|
4194304: 65540,
|
|
5242880: 67108868,
|
|
6291456: 67174660,
|
|
7340032: 67174400,
|
|
8388608: 67108864,
|
|
9437184: 67174656,
|
|
10485760: 65792,
|
|
11534336: 67174404,
|
|
12582912: 67109124,
|
|
13631488: 65536,
|
|
14680064: 4,
|
|
15728640: 256,
|
|
524288: 67174656,
|
|
1572864: 67174404,
|
|
2621440: 0,
|
|
3670016: 67109120,
|
|
4718592: 67108868,
|
|
5767168: 65536,
|
|
6815744: 65540,
|
|
7864320: 260,
|
|
8912896: 4,
|
|
9961472: 256,
|
|
11010048: 67174400,
|
|
12058624: 65796,
|
|
13107200: 65792,
|
|
14155776: 67109124,
|
|
15204352: 67174660,
|
|
16252928: 67108864,
|
|
16777216: 67174656,
|
|
17825792: 65540,
|
|
18874368: 65536,
|
|
19922944: 67109120,
|
|
20971520: 256,
|
|
22020096: 67174660,
|
|
23068672: 67108868,
|
|
24117248: 0,
|
|
25165824: 67109124,
|
|
26214400: 67108864,
|
|
27262976: 4,
|
|
28311552: 65792,
|
|
29360128: 67174400,
|
|
30408704: 260,
|
|
31457280: 65796,
|
|
32505856: 67174404,
|
|
17301504: 67108864,
|
|
18350080: 260,
|
|
19398656: 67174656,
|
|
20447232: 0,
|
|
21495808: 65540,
|
|
22544384: 67109120,
|
|
23592960: 256,
|
|
24641536: 67174404,
|
|
25690112: 65536,
|
|
26738688: 67174660,
|
|
27787264: 65796,
|
|
28835840: 67108868,
|
|
29884416: 67109124,
|
|
30932992: 67174400,
|
|
31981568: 4,
|
|
33030144: 65792
|
|
}, {
|
|
0: 2151682048,
|
|
65536: 2147487808,
|
|
131072: 4198464,
|
|
196608: 2151677952,
|
|
262144: 0,
|
|
327680: 4198400,
|
|
393216: 2147483712,
|
|
458752: 4194368,
|
|
524288: 2147483648,
|
|
589824: 4194304,
|
|
655360: 64,
|
|
720896: 2147487744,
|
|
786432: 2151678016,
|
|
851968: 4160,
|
|
917504: 4096,
|
|
983040: 2151682112,
|
|
32768: 2147487808,
|
|
98304: 64,
|
|
163840: 2151678016,
|
|
229376: 2147487744,
|
|
294912: 4198400,
|
|
360448: 2151682112,
|
|
425984: 0,
|
|
491520: 2151677952,
|
|
557056: 4096,
|
|
622592: 2151682048,
|
|
688128: 4194304,
|
|
753664: 4160,
|
|
819200: 2147483648,
|
|
884736: 4194368,
|
|
950272: 4198464,
|
|
1015808: 2147483712,
|
|
1048576: 4194368,
|
|
1114112: 4198400,
|
|
1179648: 2147483712,
|
|
1245184: 0,
|
|
1310720: 4160,
|
|
1376256: 2151678016,
|
|
1441792: 2151682048,
|
|
1507328: 2147487808,
|
|
1572864: 2151682112,
|
|
1638400: 2147483648,
|
|
1703936: 2151677952,
|
|
1769472: 4198464,
|
|
1835008: 2147487744,
|
|
1900544: 4194304,
|
|
1966080: 64,
|
|
2031616: 4096,
|
|
1081344: 2151677952,
|
|
1146880: 2151682112,
|
|
1212416: 0,
|
|
1277952: 4198400,
|
|
1343488: 4194368,
|
|
1409024: 2147483648,
|
|
1474560: 2147487808,
|
|
1540096: 64,
|
|
1605632: 2147483712,
|
|
1671168: 4096,
|
|
1736704: 2147487744,
|
|
1802240: 2151678016,
|
|
1867776: 4160,
|
|
1933312: 2151682048,
|
|
1998848: 4194304,
|
|
2064384: 4198464
|
|
}, {
|
|
0: 128,
|
|
4096: 17039360,
|
|
8192: 262144,
|
|
12288: 536870912,
|
|
16384: 537133184,
|
|
20480: 16777344,
|
|
24576: 553648256,
|
|
28672: 262272,
|
|
32768: 16777216,
|
|
36864: 537133056,
|
|
40960: 536871040,
|
|
45056: 553910400,
|
|
49152: 553910272,
|
|
53248: 0,
|
|
57344: 17039488,
|
|
61440: 553648128,
|
|
2048: 17039488,
|
|
6144: 553648256,
|
|
10240: 128,
|
|
14336: 17039360,
|
|
18432: 262144,
|
|
22528: 537133184,
|
|
26624: 553910272,
|
|
30720: 536870912,
|
|
34816: 537133056,
|
|
38912: 0,
|
|
43008: 553910400,
|
|
47104: 16777344,
|
|
51200: 536871040,
|
|
55296: 553648128,
|
|
59392: 16777216,
|
|
63488: 262272,
|
|
65536: 262144,
|
|
69632: 128,
|
|
73728: 536870912,
|
|
77824: 553648256,
|
|
81920: 16777344,
|
|
86016: 553910272,
|
|
90112: 537133184,
|
|
94208: 16777216,
|
|
98304: 553910400,
|
|
102400: 553648128,
|
|
106496: 17039360,
|
|
110592: 537133056,
|
|
114688: 262272,
|
|
118784: 536871040,
|
|
122880: 0,
|
|
126976: 17039488,
|
|
67584: 553648256,
|
|
71680: 16777216,
|
|
75776: 17039360,
|
|
79872: 537133184,
|
|
83968: 536870912,
|
|
88064: 17039488,
|
|
92160: 128,
|
|
96256: 553910272,
|
|
100352: 262272,
|
|
104448: 553910400,
|
|
108544: 0,
|
|
112640: 553648128,
|
|
116736: 16777344,
|
|
120832: 262144,
|
|
124928: 537133056,
|
|
129024: 536871040
|
|
}, {
|
|
0: 268435464,
|
|
256: 8192,
|
|
512: 270532608,
|
|
768: 270540808,
|
|
1024: 268443648,
|
|
1280: 2097152,
|
|
1536: 2097160,
|
|
1792: 268435456,
|
|
2048: 0,
|
|
2304: 268443656,
|
|
2560: 2105344,
|
|
2816: 8,
|
|
3072: 270532616,
|
|
3328: 2105352,
|
|
3584: 8200,
|
|
3840: 270540800,
|
|
128: 270532608,
|
|
384: 270540808,
|
|
640: 8,
|
|
896: 2097152,
|
|
1152: 2105352,
|
|
1408: 268435464,
|
|
1664: 268443648,
|
|
1920: 8200,
|
|
2176: 2097160,
|
|
2432: 8192,
|
|
2688: 268443656,
|
|
2944: 270532616,
|
|
3200: 0,
|
|
3456: 270540800,
|
|
3712: 2105344,
|
|
3968: 268435456,
|
|
4096: 268443648,
|
|
4352: 270532616,
|
|
4608: 270540808,
|
|
4864: 8200,
|
|
5120: 2097152,
|
|
5376: 268435456,
|
|
5632: 268435464,
|
|
5888: 2105344,
|
|
6144: 2105352,
|
|
6400: 0,
|
|
6656: 8,
|
|
6912: 270532608,
|
|
7168: 8192,
|
|
7424: 268443656,
|
|
7680: 270540800,
|
|
7936: 2097160,
|
|
4224: 8,
|
|
4480: 2105344,
|
|
4736: 2097152,
|
|
4992: 268435464,
|
|
5248: 268443648,
|
|
5504: 8200,
|
|
5760: 270540808,
|
|
6016: 270532608,
|
|
6272: 270540800,
|
|
6528: 270532616,
|
|
6784: 8192,
|
|
7040: 2105352,
|
|
7296: 2097160,
|
|
7552: 0,
|
|
7808: 268435456,
|
|
8064: 268443656
|
|
}, {
|
|
0: 1048576,
|
|
16: 33555457,
|
|
32: 1024,
|
|
48: 1049601,
|
|
64: 34604033,
|
|
80: 0,
|
|
96: 1,
|
|
112: 34603009,
|
|
128: 33555456,
|
|
144: 1048577,
|
|
160: 33554433,
|
|
176: 34604032,
|
|
192: 34603008,
|
|
208: 1025,
|
|
224: 1049600,
|
|
240: 33554432,
|
|
8: 34603009,
|
|
24: 0,
|
|
40: 33555457,
|
|
56: 34604032,
|
|
72: 1048576,
|
|
88: 33554433,
|
|
104: 33554432,
|
|
120: 1025,
|
|
136: 1049601,
|
|
152: 33555456,
|
|
168: 34603008,
|
|
184: 1048577,
|
|
200: 1024,
|
|
216: 34604033,
|
|
232: 1,
|
|
248: 1049600,
|
|
256: 33554432,
|
|
272: 1048576,
|
|
288: 33555457,
|
|
304: 34603009,
|
|
320: 1048577,
|
|
336: 33555456,
|
|
352: 34604032,
|
|
368: 1049601,
|
|
384: 1025,
|
|
400: 34604033,
|
|
416: 1049600,
|
|
432: 1,
|
|
448: 0,
|
|
464: 34603008,
|
|
480: 33554433,
|
|
496: 1024,
|
|
264: 1049600,
|
|
280: 33555457,
|
|
296: 34603009,
|
|
312: 1,
|
|
328: 33554432,
|
|
344: 1048576,
|
|
360: 1025,
|
|
376: 34604032,
|
|
392: 33554433,
|
|
408: 34603008,
|
|
424: 0,
|
|
440: 34604033,
|
|
456: 1049601,
|
|
472: 1024,
|
|
488: 33555456,
|
|
504: 1048577
|
|
}, {
|
|
0: 134219808,
|
|
1: 131072,
|
|
2: 134217728,
|
|
3: 32,
|
|
4: 131104,
|
|
5: 134350880,
|
|
6: 134350848,
|
|
7: 2048,
|
|
8: 134348800,
|
|
9: 134219776,
|
|
10: 133120,
|
|
11: 134348832,
|
|
12: 2080,
|
|
13: 0,
|
|
14: 134217760,
|
|
15: 133152,
|
|
2147483648: 2048,
|
|
2147483649: 134350880,
|
|
2147483650: 134219808,
|
|
2147483651: 134217728,
|
|
2147483652: 134348800,
|
|
2147483653: 133120,
|
|
2147483654: 133152,
|
|
2147483655: 32,
|
|
2147483656: 134217760,
|
|
2147483657: 2080,
|
|
2147483658: 131104,
|
|
2147483659: 134350848,
|
|
2147483660: 0,
|
|
2147483661: 134348832,
|
|
2147483662: 134219776,
|
|
2147483663: 131072,
|
|
16: 133152,
|
|
17: 134350848,
|
|
18: 32,
|
|
19: 2048,
|
|
20: 134219776,
|
|
21: 134217760,
|
|
22: 134348832,
|
|
23: 131072,
|
|
24: 0,
|
|
25: 131104,
|
|
26: 134348800,
|
|
27: 134219808,
|
|
28: 134350880,
|
|
29: 133120,
|
|
30: 2080,
|
|
31: 134217728,
|
|
2147483664: 131072,
|
|
2147483665: 2048,
|
|
2147483666: 134348832,
|
|
2147483667: 133152,
|
|
2147483668: 32,
|
|
2147483669: 134348800,
|
|
2147483670: 134217728,
|
|
2147483671: 134219808,
|
|
2147483672: 134350880,
|
|
2147483673: 134217760,
|
|
2147483674: 134219776,
|
|
2147483675: 0,
|
|
2147483676: 133120,
|
|
2147483677: 2080,
|
|
2147483678: 131104,
|
|
2147483679: 134350848
|
|
}],
|
|
SBOX_MASK = [4160749569, 528482304, 33030144, 2064384, 129024, 8064, 504, 2147483679],
|
|
DES = C_algo.DES = BlockCipher.extend({
|
|
_doReset: function() {
|
|
for (var keyWords = this._key.words, keyBits = [], i = 0; i < 56; i++) {
|
|
var keyBitPos = PC1[i] - 1;
|
|
keyBits[i] = keyWords[keyBitPos >>> 5] >>> 31 - keyBitPos % 32 & 1
|
|
}
|
|
for (var subKeys = this._subKeys = [], nSubKey = 0; nSubKey < 16; nSubKey++) {
|
|
var subKey = subKeys[nSubKey] = [],
|
|
bitShift = BIT_SHIFTS[nSubKey];
|
|
for (i = 0; i < 24; i++) subKey[i / 6 | 0] |= keyBits[(PC2[i] - 1 + bitShift) % 28] << 31 - i % 6, subKey[4 + (i / 6 | 0)] |= keyBits[28 + (PC2[i + 24] - 1 + bitShift) % 28] << 31 - i % 6;
|
|
for (subKey[0] = subKey[0] << 1 | subKey[0] >>> 31, i = 1; i < 7; i++) subKey[i] = subKey[i] >>> 4 * (i - 1) + 3;
|
|
subKey[7] = subKey[7] << 5 | subKey[7] >>> 27
|
|
}
|
|
var invSubKeys = this._invSubKeys = [];
|
|
for (i = 0; i < 16; i++) invSubKeys[i] = subKeys[15 - i]
|
|
},
|
|
encryptBlock: function(M, offset) {
|
|
this._doCryptBlock(M, offset, this._subKeys)
|
|
},
|
|
decryptBlock: function(M, offset) {
|
|
this._doCryptBlock(M, offset, this._invSubKeys)
|
|
},
|
|
_doCryptBlock: function(M, offset, subKeys) {
|
|
this._lBlock = M[offset], this._rBlock = M[offset + 1], exchangeLR.call(this, 4, 252645135), exchangeLR.call(this, 16, 65535), exchangeRL.call(this, 2, 858993459), exchangeRL.call(this, 8, 16711935), exchangeLR.call(this, 1, 1431655765);
|
|
for (var round = 0; round < 16; round++) {
|
|
for (var subKey = subKeys[round], lBlock = this._lBlock, rBlock = this._rBlock, f = 0, i = 0; i < 8; i++) f |= SBOX_P[i][((rBlock ^ subKey[i]) & SBOX_MASK[i]) >>> 0];
|
|
this._lBlock = rBlock, this._rBlock = lBlock ^ f
|
|
}
|
|
var t = this._lBlock;
|
|
this._lBlock = this._rBlock, this._rBlock = t, exchangeLR.call(this, 1, 1431655765), exchangeRL.call(this, 8, 16711935), exchangeRL.call(this, 2, 858993459), exchangeLR.call(this, 16, 65535), exchangeLR.call(this, 4, 252645135), M[offset] = this._lBlock, M[offset + 1] = this._rBlock
|
|
},
|
|
keySize: 2,
|
|
ivSize: 2,
|
|
blockSize: 2
|
|
});
|
|
|
|
function exchangeLR(offset, mask) {
|
|
var t = (this._lBlock >>> offset ^ this._rBlock) & mask;
|
|
this._rBlock ^= t, this._lBlock ^= t << offset
|
|
}
|
|
|
|
function exchangeRL(offset, mask) {
|
|
var t = (this._rBlock >>> offset ^ this._lBlock) & mask;
|
|
this._lBlock ^= t, this._rBlock ^= t << offset
|
|
}
|
|
C.DES = BlockCipher._createHelper(DES);
|
|
var TripleDES = C_algo.TripleDES = BlockCipher.extend({
|
|
_doReset: function() {
|
|
var keyWords = this._key.words;
|
|
if (2 !== keyWords.length && 4 !== keyWords.length && keyWords.length < 6) throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");
|
|
var key1 = keyWords.slice(0, 2),
|
|
key2 = keyWords.length < 4 ? keyWords.slice(0, 2) : keyWords.slice(2, 4),
|
|
key3 = keyWords.length < 6 ? keyWords.slice(0, 2) : keyWords.slice(4, 6);
|
|
this._des1 = DES.createEncryptor(WordArray.create(key1)), this._des2 = DES.createEncryptor(WordArray.create(key2)), this._des3 = DES.createEncryptor(WordArray.create(key3))
|
|
},
|
|
encryptBlock: function(M, offset) {
|
|
this._des1.encryptBlock(M, offset), this._des2.decryptBlock(M, offset), this._des3.encryptBlock(M, offset)
|
|
},
|
|
decryptBlock: function(M, offset) {
|
|
this._des3.decryptBlock(M, offset), this._des2.encryptBlock(M, offset), this._des1.decryptBlock(M, offset)
|
|
},
|
|
keySize: 6,
|
|
ivSize: 2,
|
|
blockSize: 2
|
|
});
|
|
C.TripleDES = BlockCipher._createHelper(TripleDES)
|
|
}(), CryptoJS.TripleDES)
|
|
},
|
|
79147: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _createClass = function() {
|
|
function defineProperties(target, props) {
|
|
for (var i = 0; i < props.length; i++) {
|
|
var descriptor = props[i];
|
|
descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor)
|
|
}
|
|
}
|
|
return function(Constructor, protoProps, staticProps) {
|
|
return protoProps && defineProperties(Constructor.prototype, protoProps), staticProps && defineProperties(Constructor, staticProps), Constructor
|
|
}
|
|
}();
|
|
var State = __webpack_require__(43789),
|
|
EPSILON = __webpack_require__(42487).EPSILON,
|
|
NFAState = function(_State) {
|
|
function NFAState() {
|
|
return function(instance, Constructor) {
|
|
if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function")
|
|
}(this, NFAState),
|
|
function(self, call) {
|
|
if (!self) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
return !call || "object" != typeof call && "function" != typeof call ? self : call
|
|
}(this, (NFAState.__proto__ || Object.getPrototypeOf(NFAState)).apply(this, arguments))
|
|
}
|
|
return function(subClass, superClass) {
|
|
if ("function" != typeof superClass && null !== superClass) throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);
|
|
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
constructor: {
|
|
value: subClass,
|
|
enumerable: !1,
|
|
writable: !0,
|
|
configurable: !0
|
|
}
|
|
}), superClass && (Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass)
|
|
}(NFAState, _State), _createClass(NFAState, [{
|
|
key: "matches",
|
|
value: function(string) {
|
|
var visited = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : new Set;
|
|
if (visited.has(this)) return !1;
|
|
if (visited.add(this), 0 === string.length) {
|
|
if (this.accepting) return !0;
|
|
var _iteratorNormalCompletion = !0,
|
|
_didIteratorError = !1,
|
|
_iteratorError = void 0;
|
|
try {
|
|
for (var _step, _iterator = this.getTransitionsOnSymbol(EPSILON)[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
if (_step.value.matches("", visited)) return !0
|
|
}
|
|
} catch (err) {
|
|
_didIteratorError = !0, _iteratorError = err
|
|
} finally {
|
|
try {
|
|
!_iteratorNormalCompletion && _iterator.return && _iterator.return()
|
|
} finally {
|
|
if (_didIteratorError) throw _iteratorError
|
|
}
|
|
}
|
|
return !1
|
|
}
|
|
var symbol = string[0],
|
|
rest = string.slice(1),
|
|
symbolTransitions = this.getTransitionsOnSymbol(symbol),
|
|
_iteratorNormalCompletion2 = !0,
|
|
_didIteratorError2 = !1,
|
|
_iteratorError2 = void 0;
|
|
try {
|
|
for (var _step2, _iterator2 = symbolTransitions[Symbol.iterator](); !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = !0) {
|
|
if (_step2.value.matches(rest)) return !0
|
|
}
|
|
} catch (err) {
|
|
_didIteratorError2 = !0, _iteratorError2 = err
|
|
} finally {
|
|
try {
|
|
!_iteratorNormalCompletion2 && _iterator2.return && _iterator2.return()
|
|
} finally {
|
|
if (_didIteratorError2) throw _iteratorError2
|
|
}
|
|
}
|
|
var _iteratorNormalCompletion3 = !0,
|
|
_didIteratorError3 = !1,
|
|
_iteratorError3 = void 0;
|
|
try {
|
|
for (var _step3, _iterator3 = this.getTransitionsOnSymbol(EPSILON)[Symbol.iterator](); !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = !0) {
|
|
if (_step3.value.matches(string, visited)) return !0
|
|
}
|
|
} catch (err) {
|
|
_didIteratorError3 = !0, _iteratorError3 = err
|
|
} finally {
|
|
try {
|
|
!_iteratorNormalCompletion3 && _iterator3.return && _iterator3.return()
|
|
} finally {
|
|
if (_didIteratorError3) throw _iteratorError3
|
|
}
|
|
}
|
|
return !1
|
|
}
|
|
}, {
|
|
key: "getEpsilonClosure",
|
|
value: function() {
|
|
var _this2 = this;
|
|
return this._epsilonClosure || function() {
|
|
var epsilonTransitions = _this2.getTransitionsOnSymbol(EPSILON),
|
|
closure = _this2._epsilonClosure = new Set;
|
|
closure.add(_this2);
|
|
var _iteratorNormalCompletion4 = !0,
|
|
_didIteratorError4 = !1,
|
|
_iteratorError4 = void 0;
|
|
try {
|
|
for (var _step4, _iterator4 = epsilonTransitions[Symbol.iterator](); !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = !0) {
|
|
var nextState = _step4.value;
|
|
if (!closure.has(nextState)) closure.add(nextState), nextState.getEpsilonClosure().forEach(function(state) {
|
|
return closure.add(state)
|
|
})
|
|
}
|
|
} catch (err) {
|
|
_didIteratorError4 = !0, _iteratorError4 = err
|
|
} finally {
|
|
try {
|
|
!_iteratorNormalCompletion4 && _iterator4.return && _iterator4.return()
|
|
} finally {
|
|
if (_didIteratorError4) throw _iteratorError4
|
|
}
|
|
}
|
|
}(), this._epsilonClosure
|
|
}
|
|
}]), NFAState
|
|
}(State);
|
|
module.exports = NFAState
|
|
},
|
|
79202: module => {
|
|
"use strict";
|
|
module.exports = JSON.parse('{"name":"RobotDetection","groups":[],"isRequired":false,"tests":[{"method":"testIfInnerTextContainsLength","options":{"expected":"access(tothispage)?(is|hasbeen)?denied","matchWeight":"10","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLength","options":{"expected":"iamnotarobot","matchWeight":"10","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLength","options":{"expected":"completetheverification","matchWeight":"10","unMatchWeight":"1"}}],"preconditions":[],"shape":[{"value":"^(div|h1|h2|h3|p|section)$","weight":1,"scope":"tag","_comment":"element types to inspect text"},{"value":"captcha-delivery\\\\.com","weight":10,"scope":"src"},{"value":"/punish/.*action=deny","weight":10,"scope":"src"},{"value":"false","weight":0,"scope":"data-honey_is_visible"}]}')
|
|
},
|
|
79365: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912)),
|
|
_helpers = _interopRequireDefault(__webpack_require__(16065));
|
|
exports.default = new _dac.default({
|
|
description: "Generic Shopify Acorn DAC",
|
|
author: "Honey Team",
|
|
version: "0.2.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 10
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "7360676928657335852",
|
|
name: "Shopify"
|
|
}],
|
|
doDac: async function(code, selector, priceAmt, applyBestCode) {
|
|
const isAlternateCheckout = !(!window.location.href || !window.location.href.match("\\/checkouts\\/[a-z]{1,2}\\/(?:c1-)?[a-z0-9A-Z]"));
|
|
let price = priceAmt,
|
|
cleanUrl = window.location.href;
|
|
const discountParam = window.location.href.match("discount=[\\w-]+");
|
|
if (discountParam) {
|
|
const discountIndex = window.location.href.indexOf(discountParam),
|
|
discountLen = discountParam[0].length;
|
|
cleanUrl = window.location.href.substring(0, discountIndex) + window.location.href.substring(discountIndex + discountLen)
|
|
}
|
|
async function bubbleEvents(element) {
|
|
element.dispatchEvent(new CustomEvent("input", {
|
|
bubbles: !0
|
|
})), element.dispatchEvent(new KeyboardEvent("keyup")), element.dispatchEvent(new CustomEvent("blur")), element.dispatchEvent(new CustomEvent("focus"))
|
|
}
|
|
async function alternateCheckout() {
|
|
const res = await async function() {
|
|
let res;
|
|
try {
|
|
const serializedData = JSON.parse((0, _jquery.default)("meta[name=serialized-graphql]").attr("content")),
|
|
lineItemsKey = Object.keys(serializedData).find(key => Object.keys(serializedData[key]).indexOf("session") > -1),
|
|
lineItems = serializedData[lineItemsKey].session.negotiate.result.buyerProposal.merchandise.merchandiseLines,
|
|
parsedLineItems = [];
|
|
lineItems.forEach(item => {
|
|
const formattedHash = {
|
|
merchandise: {
|
|
productVariantReference: {
|
|
id: item.merchandise.id,
|
|
variantId: item.merchandise.variantId,
|
|
properties: []
|
|
}
|
|
},
|
|
quantity: {
|
|
items: {
|
|
value: item.quantity.items.value
|
|
}
|
|
},
|
|
expectedTotalPrice: {
|
|
value: {
|
|
amount: item.totalAmount.value.amount,
|
|
currencyCode: item.totalAmount.value.currencyCode
|
|
}
|
|
}
|
|
};
|
|
parsedLineItems.push(formattedHash)
|
|
});
|
|
const body = {
|
|
query: "query Proposal(\n $merchandise: MerchandiseTermInput\n $sessionInput: SessionTokenInput!\n $reduction: ReductionInput\n ) {\n session(sessionInput: $sessionInput) {\n negotiate(\n input: {\n purchaseProposal: {\n merchandise: $merchandise\n reduction: $reduction\n }\n }\n ) {\n result {\n ... on NegotiationResultAvailable {\n buyerProposal {\n ...BuyerProposalDetails\n }\n sellerProposal {\n ...ProposalDetails\n }\n }\n }\n }\n }\n }\n fragment BuyerProposalDetails on Proposal {\n merchandiseDiscount {\n ... on DiscountTermsV2 {\n ... on FilledDiscountTerms {\n lines {\n ... on DiscountLine {\n discount {\n ... on Discount {\n ... on CodeDiscount {\n code\n }\n ... on DiscountCodeTrigger {\n code\n }\n ... on AutomaticDiscount {\n presentationLevel\n title\n }\n }\n }\n }\n }\n }\n }\n }\n }\n fragment ProposalDetails on Proposal {\n subtotalBeforeTaxesAndShipping {\n ... on MoneyValueConstraint {\n value {\n amount\n currencyCode\n }\n }\n }\n runningTotal {\n ...on MoneyValueConstraint {\n value {\n amount\n currencyCode\n }\n }\n }\n }",
|
|
variables: {
|
|
sessionInput: {
|
|
sessionToken: (0, _jquery.default)("meta[name=serialized-session-token]").attr("content").slice(1, -1)
|
|
},
|
|
reduction: {
|
|
code
|
|
},
|
|
merchandise: {
|
|
merchandiseLines: parsedLineItems
|
|
}
|
|
},
|
|
operationName: "Proposal"
|
|
},
|
|
shopifyDomain = JSON.parse((0, _jquery.default)("meta[name=serialized-graphql-endpoint]").attr("content"));
|
|
res = _jquery.default.ajax({
|
|
url: shopifyDomain,
|
|
method: "POST",
|
|
headers: {
|
|
accept: "application/json",
|
|
"accept-language": "en-US",
|
|
"content-type": "application/json"
|
|
},
|
|
data: JSON.stringify(body)
|
|
}), await res.done(_data => {
|
|
_logger.default.debug("Applying code")
|
|
}).fail((xhr, textStatus, errorThrown) => {
|
|
_logger.default.debug(`Coupon Apply Error: ${errorThrown}`)
|
|
})
|
|
} catch (e) {}
|
|
return res
|
|
}();
|
|
if (await async function(res) {
|
|
let subtotalPrice;
|
|
try {
|
|
subtotalPrice = Number(_legacyHoneyUtils.default.cleanPrice(res.data.session.negotiate.result.sellerProposal.subtotalBeforeTaxesAndShipping.value.amount)), price = subtotalPrice
|
|
} catch (e) {}
|
|
}(res), !0 === applyBestCode) {
|
|
const input = document.querySelector('[name="reductions"]'),
|
|
submitButton = document.querySelector('[aria-label="Apply"], [aria-label="Apply Discount Code"], div:has([name="reductions"]) + button[type="submit"]');
|
|
input.setAttribute("value", ""), await bubbleEvents(input), await async function(input) {
|
|
let i = 0;
|
|
for (; i < code.length;) {
|
|
const newValue = input.value + code.charAt(i);
|
|
(0, _jquery.default)(input).val(newValue), await bubbleEvents(input), i += 1, await (0, _helpers.default)(20)
|
|
}
|
|
}(input), submitButton.removeAttribute("disabled"), await (0, _helpers.default)(200), submitButton.click(), await (0, _helpers.default)(3e3)
|
|
}
|
|
}
|
|
if (isAlternateCheckout) await alternateCheckout();
|
|
else {
|
|
let res, updateSucceeded = !1;
|
|
try {
|
|
res = await async function() {
|
|
(0, _jquery.default)("#checkout_reduction_code, #checkout_discount_code").val(code);
|
|
const res = _jquery.default.ajax({
|
|
url: cleanUrl,
|
|
type: "POST",
|
|
data: (0, _jquery.default)(".order-summary__section--discount .edit_checkout:has(#checkout_reduction_code, #checkout_discount_code)").serialize()
|
|
});
|
|
return await res.done(_data => {
|
|
_logger.default.debug("Applying code")
|
|
}), res
|
|
}(), await async function(res) {
|
|
await (0, _jquery.default)(res).find('#error-for-reduction_code, section form[method="POST"] [id*="error-for-TextField"]').text() || (price = (0, _jquery.default)(res).find(".payment-due__price:first").text(), Number(_legacyHoneyUtils.default.cleanPrice(price)) < priceAmt && (0, _jquery.default)(selector).text(price))
|
|
}(res), updateSucceeded = !0, !0 === applyBestCode && (window.location = cleanUrl, await (0, _helpers.default)(4500))
|
|
} catch (e) {}
|
|
updateSucceeded || await alternateCheckout()
|
|
}
|
|
return Number(_legacyHoneyUtils.default.cleanPrice(price))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
79413: function(module, exports, __webpack_require__) {
|
|
var CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), function() {
|
|
var C = CryptoJS,
|
|
WordArray = C.lib.WordArray,
|
|
C_enc = C.enc;
|
|
|
|
function swapEndian(word) {
|
|
return word << 8 & 4278255360 | word >>> 8 & 16711935
|
|
}
|
|
C_enc.Utf16 = C_enc.Utf16BE = {
|
|
stringify: function(wordArray) {
|
|
for (var words = wordArray.words, sigBytes = wordArray.sigBytes, utf16Chars = [], i = 0; i < sigBytes; i += 2) {
|
|
var codePoint = words[i >>> 2] >>> 16 - i % 4 * 8 & 65535;
|
|
utf16Chars.push(String.fromCharCode(codePoint))
|
|
}
|
|
return utf16Chars.join("")
|
|
},
|
|
parse: function(utf16Str) {
|
|
for (var utf16StrLength = utf16Str.length, words = [], i = 0; i < utf16StrLength; i++) words[i >>> 1] |= utf16Str.charCodeAt(i) << 16 - i % 2 * 16;
|
|
return WordArray.create(words, 2 * utf16StrLength)
|
|
}
|
|
}, C_enc.Utf16LE = {
|
|
stringify: function(wordArray) {
|
|
for (var words = wordArray.words, sigBytes = wordArray.sigBytes, utf16Chars = [], i = 0; i < sigBytes; i += 2) {
|
|
var codePoint = swapEndian(words[i >>> 2] >>> 16 - i % 4 * 8 & 65535);
|
|
utf16Chars.push(String.fromCharCode(codePoint))
|
|
}
|
|
return utf16Chars.join("")
|
|
},
|
|
parse: function(utf16Str) {
|
|
for (var utf16StrLength = utf16Str.length, words = [], i = 0; i < utf16StrLength; i++) words[i >>> 1] |= swapEndian(utf16Str.charCodeAt(i) << 16 - i % 2 * 16);
|
|
return WordArray.create(words, 2 * utf16StrLength)
|
|
}
|
|
}
|
|
}(), CryptoJS.enc.Utf16)
|
|
},
|
|
79809: module => {
|
|
"use strict";
|
|
module.exports = TypeError
|
|
},
|
|
80451: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var toPropertyKey = __webpack_require__(70258);
|
|
module.exports = function(e, r, t) {
|
|
return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
value: t,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[r] = t, e
|
|
}, module.exports.__esModule = !0, module.exports.default = module.exports
|
|
},
|
|
80506: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var bind = __webpack_require__(2089),
|
|
$apply = __webpack_require__(68636),
|
|
$call = __webpack_require__(2030),
|
|
$reflectApply = __webpack_require__(90405);
|
|
module.exports = $reflectApply || bind.call($call, $apply)
|
|
},
|
|
80799: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var call = Function.prototype.call,
|
|
$hasOwn = Object.prototype.hasOwnProperty,
|
|
bind = __webpack_require__(2089);
|
|
module.exports = bind.call(call, $hasOwn)
|
|
},
|
|
80829: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
const HTML = __webpack_require__(53530),
|
|
$ = HTML.TAG_NAMES,
|
|
NS = HTML.NAMESPACES;
|
|
|
|
function isImpliedEndTagRequired(tn) {
|
|
switch (tn.length) {
|
|
case 1:
|
|
return tn === $.P;
|
|
case 2:
|
|
return tn === $.RB || tn === $.RP || tn === $.RT || tn === $.DD || tn === $.DT || tn === $.LI;
|
|
case 3:
|
|
return tn === $.RTC;
|
|
case 6:
|
|
return tn === $.OPTION;
|
|
case 8:
|
|
return tn === $.OPTGROUP
|
|
}
|
|
return !1
|
|
}
|
|
|
|
function isImpliedEndTagRequiredThoroughly(tn) {
|
|
switch (tn.length) {
|
|
case 1:
|
|
return tn === $.P;
|
|
case 2:
|
|
return tn === $.RB || tn === $.RP || tn === $.RT || tn === $.DD || tn === $.DT || tn === $.LI || tn === $.TD || tn === $.TH || tn === $.TR;
|
|
case 3:
|
|
return tn === $.RTC;
|
|
case 5:
|
|
return tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD;
|
|
case 6:
|
|
return tn === $.OPTION;
|
|
case 7:
|
|
return tn === $.CAPTION;
|
|
case 8:
|
|
return tn === $.OPTGROUP || tn === $.COLGROUP
|
|
}
|
|
return !1
|
|
}
|
|
|
|
function isScopingElement(tn, ns) {
|
|
switch (tn.length) {
|
|
case 2:
|
|
if (tn === $.TD || tn === $.TH) return ns === NS.HTML;
|
|
if (tn === $.MI || tn === $.MO || tn === $.MN || tn === $.MS) return ns === NS.MATHML;
|
|
break;
|
|
case 4:
|
|
if (tn === $.HTML) return ns === NS.HTML;
|
|
if (tn === $.DESC) return ns === NS.SVG;
|
|
break;
|
|
case 5:
|
|
if (tn === $.TABLE) return ns === NS.HTML;
|
|
if (tn === $.MTEXT) return ns === NS.MATHML;
|
|
if (tn === $.TITLE) return ns === NS.SVG;
|
|
break;
|
|
case 6:
|
|
return (tn === $.APPLET || tn === $.OBJECT) && ns === NS.HTML;
|
|
case 7:
|
|
return (tn === $.CAPTION || tn === $.MARQUEE) && ns === NS.HTML;
|
|
case 8:
|
|
return tn === $.TEMPLATE && ns === NS.HTML;
|
|
case 13:
|
|
return tn === $.FOREIGN_OBJECT && ns === NS.SVG;
|
|
case 14:
|
|
return tn === $.ANNOTATION_XML && ns === NS.MATHML
|
|
}
|
|
return !1
|
|
}
|
|
module.exports = class {
|
|
constructor(document, treeAdapter) {
|
|
this.stackTop = -1, this.items = [], this.current = document, this.currentTagName = null, this.currentTmplContent = null, this.tmplCount = 0, this.treeAdapter = treeAdapter
|
|
}
|
|
_indexOf(element) {
|
|
let idx = -1;
|
|
for (let i = this.stackTop; i >= 0; i--)
|
|
if (this.items[i] === element) {
|
|
idx = i;
|
|
break
|
|
} return idx
|
|
}
|
|
_isInTemplate() {
|
|
return this.currentTagName === $.TEMPLATE && this.treeAdapter.getNamespaceURI(this.current) === NS.HTML
|
|
}
|
|
_updateCurrentElement() {
|
|
this.current = this.items[this.stackTop], this.currentTagName = this.current && this.treeAdapter.getTagName(this.current), this.currentTmplContent = this._isInTemplate() ? this.treeAdapter.getTemplateContent(this.current) : null
|
|
}
|
|
push(element) {
|
|
this.items[++this.stackTop] = element, this._updateCurrentElement(), this._isInTemplate() && this.tmplCount++
|
|
}
|
|
pop() {
|
|
this.stackTop--, this.tmplCount > 0 && this._isInTemplate() && this.tmplCount--, this._updateCurrentElement()
|
|
}
|
|
replace(oldElement, newElement) {
|
|
const idx = this._indexOf(oldElement);
|
|
this.items[idx] = newElement, idx === this.stackTop && this._updateCurrentElement()
|
|
}
|
|
insertAfter(referenceElement, newElement) {
|
|
const insertionIdx = this._indexOf(referenceElement) + 1;
|
|
this.items.splice(insertionIdx, 0, newElement), insertionIdx === ++this.stackTop && this._updateCurrentElement()
|
|
}
|
|
popUntilTagNamePopped(tagName) {
|
|
for (; this.stackTop > -1;) {
|
|
const tn = this.currentTagName,
|
|
ns = this.treeAdapter.getNamespaceURI(this.current);
|
|
if (this.pop(), tn === tagName && ns === NS.HTML) break
|
|
}
|
|
}
|
|
popUntilElementPopped(element) {
|
|
for (; this.stackTop > -1;) {
|
|
const poppedElement = this.current;
|
|
if (this.pop(), poppedElement === element) break
|
|
}
|
|
}
|
|
popUntilNumberedHeaderPopped() {
|
|
for (; this.stackTop > -1;) {
|
|
const tn = this.currentTagName,
|
|
ns = this.treeAdapter.getNamespaceURI(this.current);
|
|
if (this.pop(), tn === $.H1 || tn === $.H2 || tn === $.H3 || tn === $.H4 || tn === $.H5 || tn === $.H6 && ns === NS.HTML) break
|
|
}
|
|
}
|
|
popUntilTableCellPopped() {
|
|
for (; this.stackTop > -1;) {
|
|
const tn = this.currentTagName,
|
|
ns = this.treeAdapter.getNamespaceURI(this.current);
|
|
if (this.pop(), tn === $.TD || tn === $.TH && ns === NS.HTML) break
|
|
}
|
|
}
|
|
popAllUpToHtmlElement() {
|
|
this.stackTop = 0, this._updateCurrentElement()
|
|
}
|
|
clearBackToTableContext() {
|
|
for (; this.currentTagName !== $.TABLE && this.currentTagName !== $.TEMPLATE && this.currentTagName !== $.HTML || this.treeAdapter.getNamespaceURI(this.current) !== NS.HTML;) this.pop()
|
|
}
|
|
clearBackToTableBodyContext() {
|
|
for (; this.currentTagName !== $.TBODY && this.currentTagName !== $.TFOOT && this.currentTagName !== $.THEAD && this.currentTagName !== $.TEMPLATE && this.currentTagName !== $.HTML || this.treeAdapter.getNamespaceURI(this.current) !== NS.HTML;) this.pop()
|
|
}
|
|
clearBackToTableRowContext() {
|
|
for (; this.currentTagName !== $.TR && this.currentTagName !== $.TEMPLATE && this.currentTagName !== $.HTML || this.treeAdapter.getNamespaceURI(this.current) !== NS.HTML;) this.pop()
|
|
}
|
|
remove(element) {
|
|
for (let i = this.stackTop; i >= 0; i--)
|
|
if (this.items[i] === element) {
|
|
this.items.splice(i, 1), this.stackTop--, this._updateCurrentElement();
|
|
break
|
|
}
|
|
}
|
|
tryPeekProperlyNestedBodyElement() {
|
|
const element = this.items[1];
|
|
return element && this.treeAdapter.getTagName(element) === $.BODY ? element : null
|
|
}
|
|
contains(element) {
|
|
return this._indexOf(element) > -1
|
|
}
|
|
getCommonAncestor(element) {
|
|
let elementIdx = this._indexOf(element);
|
|
return --elementIdx >= 0 ? this.items[elementIdx] : null
|
|
}
|
|
isRootHtmlElementCurrent() {
|
|
return 0 === this.stackTop && this.currentTagName === $.HTML
|
|
}
|
|
hasInScope(tagName) {
|
|
for (let i = this.stackTop; i >= 0; i--) {
|
|
const tn = this.treeAdapter.getTagName(this.items[i]),
|
|
ns = this.treeAdapter.getNamespaceURI(this.items[i]);
|
|
if (tn === tagName && ns === NS.HTML) return !0;
|
|
if (isScopingElement(tn, ns)) return !1
|
|
}
|
|
return !0
|
|
}
|
|
hasNumberedHeaderInScope() {
|
|
for (let i = this.stackTop; i >= 0; i--) {
|
|
const tn = this.treeAdapter.getTagName(this.items[i]),
|
|
ns = this.treeAdapter.getNamespaceURI(this.items[i]);
|
|
if ((tn === $.H1 || tn === $.H2 || tn === $.H3 || tn === $.H4 || tn === $.H5 || tn === $.H6) && ns === NS.HTML) return !0;
|
|
if (isScopingElement(tn, ns)) return !1
|
|
}
|
|
return !0
|
|
}
|
|
hasInListItemScope(tagName) {
|
|
for (let i = this.stackTop; i >= 0; i--) {
|
|
const tn = this.treeAdapter.getTagName(this.items[i]),
|
|
ns = this.treeAdapter.getNamespaceURI(this.items[i]);
|
|
if (tn === tagName && ns === NS.HTML) return !0;
|
|
if ((tn === $.UL || tn === $.OL) && ns === NS.HTML || isScopingElement(tn, ns)) return !1
|
|
}
|
|
return !0
|
|
}
|
|
hasInButtonScope(tagName) {
|
|
for (let i = this.stackTop; i >= 0; i--) {
|
|
const tn = this.treeAdapter.getTagName(this.items[i]),
|
|
ns = this.treeAdapter.getNamespaceURI(this.items[i]);
|
|
if (tn === tagName && ns === NS.HTML) return !0;
|
|
if (tn === $.BUTTON && ns === NS.HTML || isScopingElement(tn, ns)) return !1
|
|
}
|
|
return !0
|
|
}
|
|
hasInTableScope(tagName) {
|
|
for (let i = this.stackTop; i >= 0; i--) {
|
|
const tn = this.treeAdapter.getTagName(this.items[i]);
|
|
if (this.treeAdapter.getNamespaceURI(this.items[i]) === NS.HTML) {
|
|
if (tn === tagName) return !0;
|
|
if (tn === $.TABLE || tn === $.TEMPLATE || tn === $.HTML) return !1
|
|
}
|
|
}
|
|
return !0
|
|
}
|
|
hasTableBodyContextInTableScope() {
|
|
for (let i = this.stackTop; i >= 0; i--) {
|
|
const tn = this.treeAdapter.getTagName(this.items[i]);
|
|
if (this.treeAdapter.getNamespaceURI(this.items[i]) === NS.HTML) {
|
|
if (tn === $.TBODY || tn === $.THEAD || tn === $.TFOOT) return !0;
|
|
if (tn === $.TABLE || tn === $.HTML) return !1
|
|
}
|
|
}
|
|
return !0
|
|
}
|
|
hasInSelectScope(tagName) {
|
|
for (let i = this.stackTop; i >= 0; i--) {
|
|
const tn = this.treeAdapter.getTagName(this.items[i]);
|
|
if (this.treeAdapter.getNamespaceURI(this.items[i]) === NS.HTML) {
|
|
if (tn === tagName) return !0;
|
|
if (tn !== $.OPTION && tn !== $.OPTGROUP) return !1
|
|
}
|
|
}
|
|
return !0
|
|
}
|
|
generateImpliedEndTags() {
|
|
for (; isImpliedEndTagRequired(this.currentTagName);) this.pop()
|
|
}
|
|
generateImpliedEndTagsThoroughly() {
|
|
for (; isImpliedEndTagRequiredThoroughly(this.currentTagName);) this.pop()
|
|
}
|
|
generateImpliedEndTagsWithExclusion(exclusionTagName) {
|
|
for (; isImpliedEndTagRequired(this.currentTagName) && this.currentTagName !== exclusionTagName;) this.pop()
|
|
}
|
|
}
|
|
},
|
|
80993: module => {
|
|
"use strict";
|
|
module.exports = JSON.parse('[{"type":"ExpressionStatement","expression":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"Object"},"property":{"type":"Identifier","name":"defineProperty"},"computed":false},"arguments":[{"type":"MemberExpression","object":{"type":"Identifier","name":"Function"},"property":{"type":"Identifier","name":"prototype"},"computed":false},{"type":"Literal","value":"bind"},{"type":"ObjectExpression","properties":[{"type":"Property","key":{"type":"Identifier","name":"configurable"},"value":{"type":"Literal","value":true},"kind":"init"},{"type":"Property","key":{"type":"Identifier","name":"value"},"value":{"type":"FunctionExpression","id":null,"params":[{"type":"Identifier","name":"oThis"}],"body":{"type":"BlockStatement","body":[{"type":"IfStatement","test":{"type":"BinaryExpression","left":{"type":"UnaryExpression","operator":"typeof","prefix":true,"argument":{"type":"ThisExpression"}},"operator":"!==","right":{"type":"Literal","value":"function"}},"consequent":{"type":"BlockStatement","body":[{"type":"ThrowStatement","argument":{"type":"NewExpression","callee":{"type":"Identifier","name":"TypeError"},"arguments":[{"type":"Literal","value":"Function.prototype.bind - what is trying to be bound is not callable"}]}}]},"alternate":null},{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"aArgs"},"init":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"MemberExpression","object":{"type":"MemberExpression","object":{"type":"Identifier","name":"Array"},"property":{"type":"Identifier","name":"prototype"},"computed":false},"property":{"type":"Identifier","name":"slice"},"computed":false},"property":{"type":"Identifier","name":"call"},"computed":false},"arguments":[{"type":"Identifier","name":"arguments"},{"type":"Literal","value":1}]}},{"type":"VariableDeclarator","id":{"type":"Identifier","name":"fToBind"},"init":{"type":"ThisExpression"}},{"type":"VariableDeclarator","id":{"type":"Identifier","name":"fNOP"},"init":{"type":"FunctionExpression","id":null,"params":[],"body":{"type":"BlockStatement","body":[]},"expression":false}},{"type":"VariableDeclarator","id":{"type":"Identifier","name":"fBound"},"init":{"type":"FunctionExpression","id":null,"params":[],"body":{"type":"BlockStatement","body":[{"type":"ReturnStatement","argument":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"fToBind"},"property":{"type":"Identifier","name":"apply"},"computed":false},"arguments":[{"type":"ConditionalExpression","test":{"type":"BinaryExpression","left":{"type":"ThisExpression"},"operator":"instanceof","right":{"type":"Identifier","name":"fNOP"}},"consequent":{"type":"ThisExpression"},"alternate":{"type":"Identifier","name":"oThis"}},{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"aArgs"},"property":{"type":"Identifier","name":"concat"},"computed":false},"arguments":[{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"MemberExpression","object":{"type":"MemberExpression","object":{"type":"Identifier","name":"Array"},"property":{"type":"Identifier","name":"prototype"},"computed":false},"property":{"type":"Identifier","name":"slice"},"computed":false},"property":{"type":"Identifier","name":"call"},"computed":false},"arguments":[{"type":"Identifier","name":"arguments"}]}]}]}}]},"expression":false}}],"kind":"var"},{"type":"IfStatement","test":{"type":"MemberExpression","object":{"type":"ThisExpression"},"property":{"type":"Identifier","name":"prototype"},"computed":false},"consequent":{"type":"BlockStatement","body":[{"type":"ExpressionStatement","expression":{"type":"AssignmentExpression","operator":"=","left":{"type":"MemberExpression","object":{"type":"Identifier","name":"fNOP"},"property":{"type":"Identifier","name":"prototype"},"computed":false},"right":{"type":"MemberExpression","object":{"type":"ThisExpression"},"property":{"type":"Identifier","name":"prototype"},"computed":false}}}]},"alternate":null},{"type":"ExpressionStatement","expression":{"type":"AssignmentExpression","operator":"=","left":{"type":"MemberExpression","object":{"type":"Identifier","name":"fBound"},"property":{"type":"Identifier","name":"prototype"},"computed":false},"right":{"type":"NewExpression","callee":{"type":"Identifier","name":"fNOP"},"arguments":[]}}},{"type":"ReturnStatement","argument":{"type":"Identifier","name":"fBound"}}]},"expression":false},"kind":"init"}]}]}},{"type":"ExpressionStatement","expression":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"Object"},"property":{"type":"Identifier","name":"defineProperty"},"computed":false},"arguments":[{"type":"Identifier","name":"Object"},{"type":"Literal","value":"defineProperties"},{"type":"ObjectExpression","properties":[{"type":"Property","key":{"type":"Identifier","name":"configurable"},"value":{"type":"Literal","value":true},"kind":"init"},{"type":"Property","key":{"type":"Identifier","name":"value"},"value":{"type":"FunctionExpression","id":null,"params":[{"type":"Identifier","name":"obj"},{"type":"Identifier","name":"props"}],"body":{"type":"BlockStatement","body":[{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"keys"},"init":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"Object"},"property":{"type":"Identifier","name":"keys"},"computed":false},"arguments":[{"type":"Identifier","name":"props"}]}}],"kind":"var"},{"type":"ForStatement","init":{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"i"},"init":{"type":"Literal","value":0}}],"kind":"var"},"test":{"type":"BinaryExpression","left":{"type":"Identifier","name":"i"},"operator":"<","right":{"type":"MemberExpression","object":{"type":"Identifier","name":"keys"},"property":{"type":"Identifier","name":"length"},"computed":false}},"update":{"type":"UpdateExpression","operator":"++","prefix":false,"argument":{"type":"Identifier","name":"i"}},"body":{"type":"BlockStatement","body":[{"type":"ExpressionStatement","expression":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"Object"},"property":{"type":"Identifier","name":"defineProperty"},"computed":false},"arguments":[{"type":"Identifier","name":"obj"},{"type":"MemberExpression","object":{"type":"Identifier","name":"keys"},"property":{"type":"Identifier","name":"i"},"computed":true},{"type":"MemberExpression","object":{"type":"Identifier","name":"props"},"property":{"type":"MemberExpression","object":{"type":"Identifier","name":"keys"},"property":{"type":"Identifier","name":"i"},"computed":true},"computed":true}]}}]}},{"type":"ReturnStatement","argument":{"type":"Identifier","name":"obj"}}]},"expression":false},"kind":"init"}]}]}},{"type":"ExpressionStatement","expression":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"Object"},"property":{"type":"Identifier","name":"defineProperty"},"computed":false},"arguments":[{"type":"Identifier","name":"Object"},{"type":"Literal","value":"assign"},{"type":"ObjectExpression","properties":[{"type":"Property","key":{"type":"Identifier","name":"value"},"value":{"type":"FunctionExpression","id":{"type":"Identifier","name":"assign"},"params":[{"type":"Identifier","name":"target"},{"type":"Identifier","name":"varArgs"}],"body":{"type":"BlockStatement","body":[{"type":"IfStatement","test":{"type":"BinaryExpression","left":{"type":"Identifier","name":"target"},"operator":"==","right":{"type":"Literal","value":null}},"consequent":{"type":"BlockStatement","body":[{"type":"ThrowStatement","argument":{"type":"NewExpression","callee":{"type":"Identifier","name":"TypeError"},"arguments":[{"type":"Literal","value":"Cannot convert undefined or null to object"}]}}]},"alternate":null},{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"to"},"init":{"type":"CallExpression","callee":{"type":"Identifier","name":"Object"},"arguments":[{"type":"Identifier","name":"target"}]}}],"kind":"var"},{"type":"ForStatement","init":{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"index"},"init":{"type":"Literal","value":1}}],"kind":"var"},"test":{"type":"BinaryExpression","left":{"type":"Identifier","name":"index"},"operator":"<","right":{"type":"MemberExpression","object":{"type":"Identifier","name":"arguments"},"property":{"type":"Identifier","name":"length"},"computed":false}},"update":{"type":"UpdateExpression","operator":"++","prefix":false,"argument":{"type":"Identifier","name":"index"}},"body":{"type":"BlockStatement","body":[{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"nextSource"},"init":{"type":"MemberExpression","object":{"type":"Identifier","name":"arguments"},"property":{"type":"Identifier","name":"index"},"computed":true}}],"kind":"var"},{"type":"IfStatement","test":{"type":"BinaryExpression","left":{"type":"Identifier","name":"nextSource"},"operator":"!=","right":{"type":"Literal","value":null}},"consequent":{"type":"BlockStatement","body":[{"type":"ForInStatement","left":{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"nextKey"},"init":null}],"kind":"var"},"right":{"type":"Identifier","name":"nextSource"},"body":{"type":"BlockStatement","body":[{"type":"IfStatement","test":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"MemberExpression","object":{"type":"MemberExpression","object":{"type":"Identifier","name":"Object"},"property":{"type":"Identifier","name":"prototype"},"computed":false},"property":{"type":"Identifier","name":"hasOwnProperty"},"computed":false},"property":{"type":"Identifier","name":"call"},"computed":false},"arguments":[{"type":"Identifier","name":"nextSource"},{"type":"Identifier","name":"nextKey"}]},"consequent":{"type":"BlockStatement","body":[{"type":"ExpressionStatement","expression":{"type":"AssignmentExpression","operator":"=","left":{"type":"MemberExpression","object":{"type":"Identifier","name":"to"},"property":{"type":"Identifier","name":"nextKey"},"computed":true},"right":{"type":"MemberExpression","object":{"type":"Identifier","name":"nextSource"},"property":{"type":"Identifier","name":"nextKey"},"computed":true}}}]},"alternate":null}]}}]},"alternate":null}]}},{"type":"ReturnStatement","argument":{"type":"Identifier","name":"to"}}]},"expression":false},"kind":"init"},{"type":"Property","key":{"type":"Identifier","name":"writable"},"value":{"type":"Literal","value":true},"kind":"init"},{"type":"Property","key":{"type":"Identifier","name":"configurable"},"value":{"type":"Literal","value":true},"kind":"init"}]}]}},{"type":"ExpressionStatement","expression":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"Object"},"property":{"type":"Identifier","name":"defineProperty"},"computed":false},"arguments":[{"type":"Identifier","name":"Object"},{"type":"Literal","value":"entries"},{"type":"ObjectExpression","properties":[{"type":"Property","key":{"type":"Identifier","name":"value"},"value":{"type":"FunctionExpression","id":{"type":"Identifier","name":"entries"},"params":[{"type":"Identifier","name":"obj"}],"body":{"type":"BlockStatement","body":[{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"keys"},"init":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"Object"},"property":{"type":"Identifier","name":"keys"},"computed":false},"arguments":[{"type":"Identifier","name":"obj"}]}}],"kind":"var"},{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"i"},"init":{"type":"MemberExpression","object":{"type":"Identifier","name":"keys"},"property":{"type":"Identifier","name":"length"},"computed":false}}],"kind":"var"},{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"resArray"},"init":{"type":"NewExpression","callee":{"type":"Identifier","name":"Array"},"arguments":[{"type":"Identifier","name":"i"}]}}],"kind":"var"},{"type":"WhileStatement","test":{"type":"BinaryExpression","left":{"type":"UpdateExpression","operator":"--","prefix":false,"argument":{"type":"Identifier","name":"i"}},"operator":">","right":{"type":"Literal","value":0}},"body":{"type":"BlockStatement","body":[{"type":"ExpressionStatement","expression":{"type":"AssignmentExpression","operator":"=","left":{"type":"MemberExpression","object":{"type":"Identifier","name":"resArray"},"property":{"type":"Identifier","name":"i"},"computed":true},"right":{"type":"ArrayExpression","elements":[{"type":"MemberExpression","object":{"type":"Identifier","name":"keys"},"property":{"type":"Identifier","name":"i"},"computed":true},{"type":"MemberExpression","object":{"type":"Identifier","name":"obj"},"property":{"type":"MemberExpression","object":{"type":"Identifier","name":"keys"},"property":{"type":"Identifier","name":"i"},"computed":true},"computed":true}]}}}]}},{"type":"ReturnStatement","argument":{"type":"Identifier","name":"resArray"}}]},"expression":false},"kind":"init"},{"type":"Property","key":{"type":"Identifier","name":"writable"},"value":{"type":"Literal","value":true},"kind":"init"},{"type":"Property","key":{"type":"Identifier","name":"configurable"},"value":{"type":"Literal","value":true},"kind":"init"}]}]}},{"type":"ExpressionStatement","expression":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"Object"},"property":{"type":"Identifier","name":"defineProperty"},"computed":false},"arguments":[{"type":"Identifier","name":"Object"},{"type":"Literal","value":"values"},{"type":"ObjectExpression","properties":[{"type":"Property","key":{"type":"Identifier","name":"value"},"value":{"type":"FunctionExpression","id":{"type":"Identifier","name":"values"},"params":[{"type":"Identifier","name":"obj"}],"body":{"type":"BlockStatement","body":[{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"keys"},"init":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"Object"},"property":{"type":"Identifier","name":"keys"},"computed":false},"arguments":[{"type":"Identifier","name":"obj"}]}}],"kind":"var"},{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"i"},"init":{"type":"MemberExpression","object":{"type":"Identifier","name":"keys"},"property":{"type":"Identifier","name":"length"},"computed":false}}],"kind":"var"},{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"resArray"},"init":{"type":"NewExpression","callee":{"type":"Identifier","name":"Array"},"arguments":[{"type":"Identifier","name":"i"}]}}],"kind":"var"},{"type":"WhileStatement","test":{"type":"BinaryExpression","left":{"type":"UpdateExpression","operator":"--","prefix":false,"argument":{"type":"Identifier","name":"i"}},"operator":">","right":{"type":"Literal","value":0}},"body":{"type":"BlockStatement","body":[{"type":"ExpressionStatement","expression":{"type":"AssignmentExpression","operator":"=","left":{"type":"MemberExpression","object":{"type":"Identifier","name":"resArray"},"property":{"type":"Identifier","name":"i"},"computed":true},"right":{"type":"MemberExpression","object":{"type":"Identifier","name":"obj"},"property":{"type":"MemberExpression","object":{"type":"Identifier","name":"keys"},"property":{"type":"Identifier","name":"i"},"computed":true},"computed":true}}}]}},{"type":"ReturnStatement","argument":{"type":"Identifier","name":"resArray"}}]},"expression":false},"kind":"init"},{"type":"Property","key":{"type":"Identifier","name":"writable"},"value":{"type":"Literal","value":true},"kind":"init"},{"type":"Property","key":{"type":"Identifier","name":"configurable"},"value":{"type":"Literal","value":true},"kind":"init"}]}]}},{"type":"ExpressionStatement","expression":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"Object"},"property":{"type":"Identifier","name":"defineProperty"},"computed":false},"arguments":[{"type":"MemberExpression","object":{"type":"Identifier","name":"Array"},"property":{"type":"Identifier","name":"prototype"},"computed":false},{"type":"Literal","value":"fill"},{"type":"ObjectExpression","properties":[{"type":"Property","key":{"type":"Identifier","name":"value"},"value":{"type":"FunctionExpression","id":null,"params":[{"type":"Identifier","name":"value"}],"body":{"type":"BlockStatement","body":[{"type":"IfStatement","test":{"type":"BinaryExpression","left":{"type":"ThisExpression"},"operator":"==","right":{"type":"Literal","value":null}},"consequent":{"type":"BlockStatement","body":[{"type":"ThrowStatement","argument":{"type":"NewExpression","callee":{"type":"Identifier","name":"TypeError"},"arguments":[{"type":"Literal","value":"this is null or not defined"}]}}]},"alternate":null},{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"O"},"init":{"type":"CallExpression","callee":{"type":"Identifier","name":"Object"},"arguments":[{"type":"ThisExpression"}]}}],"kind":"var"},{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"len"},"init":{"type":"BinaryExpression","left":{"type":"MemberExpression","object":{"type":"Identifier","name":"O"},"property":{"type":"Identifier","name":"length"},"computed":false},"operator":">>>","right":{"type":"Literal","value":0}}}],"kind":"var"},{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"start"},"init":{"type":"MemberExpression","object":{"type":"Identifier","name":"arguments"},"property":{"type":"Literal","value":1},"computed":true}}],"kind":"var"},{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"relativeStart"},"init":{"type":"BinaryExpression","left":{"type":"Identifier","name":"start"},"operator":">>","right":{"type":"Literal","value":0}}}],"kind":"var"},{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"k"},"init":{"type":"ConditionalExpression","test":{"type":"BinaryExpression","left":{"type":"Identifier","name":"relativeStart"},"operator":"<","right":{"type":"Literal","value":0}},"consequent":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"Math"},"property":{"type":"Identifier","name":"max"},"computed":false},"arguments":[{"type":"BinaryExpression","left":{"type":"Identifier","name":"len"},"operator":"+","right":{"type":"Identifier","name":"relativeStart"}},{"type":"Literal","value":0}]},"alternate":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"Math"},"property":{"type":"Identifier","name":"min"},"computed":false},"arguments":[{"type":"Identifier","name":"relativeStart"},{"type":"Identifier","name":"len"}]}}}],"kind":"var"},{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"end"},"init":{"type":"MemberExpression","object":{"type":"Identifier","name":"arguments"},"property":{"type":"Literal","value":2},"computed":true}}],"kind":"var"},{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"relativeEnd"},"init":{"type":"ConditionalExpression","test":{"type":"BinaryExpression","left":{"type":"Identifier","name":"end"},"operator":"===","right":{"type":"Identifier","name":"undefined"}},"consequent":{"type":"Identifier","name":"len"},"alternate":{"type":"BinaryExpression","left":{"type":"Identifier","name":"end"},"operator":">>","right":{"type":"Literal","value":0}}}}],"kind":"var"},{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"final"},"init":{"type":"ConditionalExpression","test":{"type":"BinaryExpression","left":{"type":"Identifier","name":"relativeEnd"},"operator":"<","right":{"type":"Literal","value":0}},"consequent":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"Math"},"property":{"type":"Identifier","name":"max"},"computed":false},"arguments":[{"type":"BinaryExpression","left":{"type":"Identifier","name":"len"},"operator":"+","right":{"type":"Identifier","name":"relativeEnd"}},{"type":"Literal","value":0}]},"alternate":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"Math"},"property":{"type":"Identifier","name":"min"},"computed":false},"arguments":[{"type":"Identifier","name":"relativeEnd"},{"type":"Identifier","name":"len"}]}}}],"kind":"var"},{"type":"WhileStatement","test":{"type":"BinaryExpression","left":{"type":"Identifier","name":"k"},"operator":"<","right":{"type":"Identifier","name":"final"}},"body":{"type":"BlockStatement","body":[{"type":"ExpressionStatement","expression":{"type":"AssignmentExpression","operator":"=","left":{"type":"MemberExpression","object":{"type":"Identifier","name":"O"},"property":{"type":"Identifier","name":"k"},"computed":true},"right":{"type":"Identifier","name":"value"}}},{"type":"ExpressionStatement","expression":{"type":"UpdateExpression","operator":"++","prefix":false,"argument":{"type":"Identifier","name":"k"}}}]}},{"type":"ReturnStatement","argument":{"type":"Identifier","name":"O"}}]},"expression":false},"kind":"init"}]}]}},{"type":"ExpressionStatement","expression":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"Object"},"property":{"type":"Identifier","name":"defineProperty"},"computed":false},"arguments":[{"type":"MemberExpression","object":{"type":"Identifier","name":"Array"},"property":{"type":"Identifier","name":"prototype"},"computed":false},{"type":"Literal","value":"every"},{"type":"ObjectExpression","properties":[{"type":"Property","key":{"type":"Identifier","name":"configurable"},"value":{"type":"Literal","value":true},"kind":"init"},{"type":"Property","key":{"type":"Identifier","name":"value"},"value":{"type":"FunctionExpression","id":null,"params":[{"type":"Identifier","name":"callbackfn"},{"type":"Identifier","name":"thisArg"}],"body":{"type":"BlockStatement","body":[{"type":"IfStatement","test":{"type":"LogicalExpression","left":{"type":"BinaryExpression","left":{"type":"ThisExpression"},"operator":"==","right":{"type":"Literal","value":null}},"operator":"||","right":{"type":"BinaryExpression","left":{"type":"UnaryExpression","operator":"typeof","prefix":true,"argument":{"type":"Identifier","name":"callbackfn"}},"operator":"!==","right":{"type":"Literal","value":"function"}}},"consequent":{"type":"ThrowStatement","argument":{"type":"NewExpression","callee":{"type":"Identifier","name":"TypeError"},"arguments":[]}},"alternate":null},{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"T"},"init":null},{"type":"VariableDeclarator","id":{"type":"Identifier","name":"k"},"init":null}],"kind":"var"},{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"O"},"init":{"type":"CallExpression","callee":{"type":"Identifier","name":"Object"},"arguments":[{"type":"ThisExpression"}]}}],"kind":"var"},{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"len"},"init":{"type":"BinaryExpression","left":{"type":"MemberExpression","object":{"type":"Identifier","name":"O"},"property":{"type":"Identifier","name":"length"},"computed":false},"operator":">>>","right":{"type":"Literal","value":0}}}],"kind":"var"},{"type":"IfStatement","test":{"type":"BinaryExpression","left":{"type":"MemberExpression","object":{"type":"Identifier","name":"arguments"},"property":{"type":"Identifier","name":"length"},"computed":false},"operator":">","right":{"type":"Literal","value":1}},"consequent":{"type":"ExpressionStatement","expression":{"type":"AssignmentExpression","operator":"=","left":{"type":"Identifier","name":"T"},"right":{"type":"Identifier","name":"thisArg"}}},"alternate":null},{"type":"ExpressionStatement","expression":{"type":"AssignmentExpression","operator":"=","left":{"type":"Identifier","name":"k"},"right":{"type":"Literal","value":0}}},{"type":"WhileStatement","test":{"type":"BinaryExpression","left":{"type":"Identifier","name":"k"},"operator":"<","right":{"type":"Identifier","name":"len"}},"body":{"type":"BlockStatement","body":[{"type":"IfStatement","test":{"type":"LogicalExpression","left":{"type":"BinaryExpression","left":{"type":"Identifier","name":"k"},"operator":"in","right":{"type":"Identifier","name":"O"}},"operator":"&&","right":{"type":"UnaryExpression","operator":"!","prefix":true,"argument":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"callbackfn"},"property":{"type":"Identifier","name":"call"},"computed":false},"arguments":[{"type":"Identifier","name":"T"},{"type":"MemberExpression","object":{"type":"Identifier","name":"O"},"property":{"type":"Identifier","name":"k"},"computed":true},{"type":"Identifier","name":"k"},{"type":"Identifier","name":"O"}]}}},"consequent":{"type":"ReturnStatement","argument":{"type":"Literal","value":false}},"alternate":null},{"type":"ExpressionStatement","expression":{"type":"UpdateExpression","operator":"++","prefix":false,"argument":{"type":"Identifier","name":"k"}}}]}},{"type":"ReturnStatement","argument":{"type":"Literal","value":true}}]},"expression":false},"kind":"init"}]}]}},{"type":"ExpressionStatement","expression":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"Object"},"property":{"type":"Identifier","name":"defineProperty"},"computed":false},"arguments":[{"type":"MemberExpression","object":{"type":"Identifier","name":"Array"},"property":{"type":"Identifier","name":"prototype"},"computed":false},{"type":"Literal","value":"filter"},{"type":"ObjectExpression","properties":[{"type":"Property","key":{"type":"Identifier","name":"configurable"},"value":{"type":"Literal","value":true},"kind":"init"},{"type":"Property","key":{"type":"Identifier","name":"value"},"value":{"type":"FunctionExpression","id":null,"params":[{"type":"Identifier","name":"fun"}],"body":{"type":"BlockStatement","body":[{"type":"IfStatement","test":{"type":"LogicalExpression","left":{"type":"LogicalExpression","left":{"type":"BinaryExpression","left":{"type":"ThisExpression"},"operator":"===","right":{"type":"UnaryExpression","operator":"void","prefix":true,"argument":{"type":"Literal","value":0}}},"operator":"||","right":{"type":"BinaryExpression","left":{"type":"ThisExpression"},"operator":"===","right":{"type":"Literal","value":null}}},"operator":"||","right":{"type":"BinaryExpression","left":{"type":"UnaryExpression","operator":"typeof","prefix":true,"argument":{"type":"Identifier","name":"fun"}},"operator":"!==","right":{"type":"Literal","value":"function"}}},"consequent":{"type":"ThrowStatement","argument":{"type":"NewExpression","callee":{"type":"Identifier","name":"TypeError"},"arguments":[]}},"alternate":null},{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"t"},"init":{"type":"CallExpression","callee":{"type":"Identifier","name":"Object"},"arguments":[{"type":"ThisExpression"}]}}],"kind":"var"},{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"len"},"init":{"type":"BinaryExpression","left":{"type":"MemberExpression","object":{"type":"Identifier","name":"t"},"property":{"type":"Identifier","name":"length"},"computed":false},"operator":">>>","right":{"type":"Literal","value":0}}}],"kind":"var"},{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"res"},"init":{"type":"ArrayExpression","elements":[]}}],"kind":"var"},{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"thisArg"},"init":{"type":"ConditionalExpression","test":{"type":"BinaryExpression","left":{"type":"MemberExpression","object":{"type":"Identifier","name":"arguments"},"property":{"type":"Identifier","name":"length"},"computed":false},"operator":">=","right":{"type":"Literal","value":2}},"consequent":{"type":"MemberExpression","object":{"type":"Identifier","name":"arguments"},"property":{"type":"Literal","value":1},"computed":true},"alternate":{"type":"UnaryExpression","operator":"void","prefix":true,"argument":{"type":"Literal","value":0}}}}],"kind":"var"},{"type":"ForStatement","init":{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"i"},"init":{"type":"Literal","value":0}}],"kind":"var"},"test":{"type":"BinaryExpression","left":{"type":"Identifier","name":"i"},"operator":"<","right":{"type":"Identifier","name":"len"}},"update":{"type":"UpdateExpression","operator":"++","prefix":false,"argument":{"type":"Identifier","name":"i"}},"body":{"type":"BlockStatement","body":[{"type":"IfStatement","test":{"type":"BinaryExpression","left":{"type":"Identifier","name":"i"},"operator":"in","right":{"type":"Identifier","name":"t"}},"consequent":{"type":"BlockStatement","body":[{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"val"},"init":{"type":"MemberExpression","object":{"type":"Identifier","name":"t"},"property":{"type":"Identifier","name":"i"},"computed":true}}],"kind":"var"},{"type":"IfStatement","test":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"fun"},"property":{"type":"Identifier","name":"call"},"computed":false},"arguments":[{"type":"Identifier","name":"thisArg"},{"type":"Identifier","name":"val"},{"type":"Identifier","name":"i"},{"type":"Identifier","name":"t"}]},"consequent":{"type":"ExpressionStatement","expression":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"res"},"property":{"type":"Identifier","name":"push"},"computed":false},"arguments":[{"type":"Identifier","name":"val"}]}},"alternate":null}]},"alternate":null}]}},{"type":"ReturnStatement","argument":{"type":"Identifier","name":"res"}}]},"expression":false},"kind":"init"}]}]}},{"type":"ExpressionStatement","expression":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"Object"},"property":{"type":"Identifier","name":"defineProperty"},"computed":false},"arguments":[{"type":"MemberExpression","object":{"type":"Identifier","name":"Array"},"property":{"type":"Identifier","name":"prototype"},"computed":false},{"type":"Literal","value":"forEach"},{"type":"ObjectExpression","properties":[{"type":"Property","key":{"type":"Identifier","name":"configurable"},"value":{"type":"Literal","value":true},"kind":"init"},{"type":"Property","key":{"type":"Identifier","name":"value"},"value":{"type":"FunctionExpression","id":null,"params":[{"type":"Identifier","name":"callback"},{"type":"Identifier","name":"thisArg"}],"body":{"type":"BlockStatement","body":[{"type":"IfStatement","test":{"type":"LogicalExpression","left":{"type":"BinaryExpression","left":{"type":"ThisExpression"},"operator":"==","right":{"type":"Literal","value":null}},"operator":"||","right":{"type":"BinaryExpression","left":{"type":"UnaryExpression","operator":"typeof","prefix":true,"argument":{"type":"Identifier","name":"callback"}},"operator":"!==","right":{"type":"Literal","value":"function"}}},"consequent":{"type":"ThrowStatement","argument":{"type":"NewExpression","callee":{"type":"Identifier","name":"TypeError"},"arguments":[]}},"alternate":null},{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"T"},"init":null},{"type":"VariableDeclarator","id":{"type":"Identifier","name":"k"},"init":null}],"kind":"var"},{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"O"},"init":{"type":"CallExpression","callee":{"type":"Identifier","name":"Object"},"arguments":[{"type":"ThisExpression"}]}}],"kind":"var"},{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"len"},"init":{"type":"BinaryExpression","left":{"type":"MemberExpression","object":{"type":"Identifier","name":"O"},"property":{"type":"Identifier","name":"length"},"computed":false},"operator":">>>","right":{"type":"Literal","value":0}}}],"kind":"var"},{"type":"IfStatement","test":{"type":"BinaryExpression","left":{"type":"MemberExpression","object":{"type":"Identifier","name":"arguments"},"property":{"type":"Identifier","name":"length"},"computed":false},"operator":">","right":{"type":"Literal","value":1}},"consequent":{"type":"ExpressionStatement","expression":{"type":"AssignmentExpression","operator":"=","left":{"type":"Identifier","name":"T"},"right":{"type":"Identifier","name":"thisArg"}}},"alternate":null},{"type":"ExpressionStatement","expression":{"type":"AssignmentExpression","operator":"=","left":{"type":"Identifier","name":"k"},"right":{"type":"Literal","value":0}}},{"type":"WhileStatement","test":{"type":"BinaryExpression","left":{"type":"Identifier","name":"k"},"operator":"<","right":{"type":"Identifier","name":"len"}},"body":{"type":"BlockStatement","body":[{"type":"IfStatement","test":{"type":"BinaryExpression","left":{"type":"Identifier","name":"k"},"operator":"in","right":{"type":"Identifier","name":"O"}},"consequent":{"type":"ExpressionStatement","expression":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"callback"},"property":{"type":"Identifier","name":"call"},"computed":false},"arguments":[{"type":"Identifier","name":"T"},{"type":"MemberExpression","object":{"type":"Identifier","name":"O"},"property":{"type":"Identifier","name":"k"},"computed":true},{"type":"Identifier","name":"k"},{"type":"Identifier","name":"O"}]}},"alternate":null},{"type":"ExpressionStatement","expression":{"type":"UpdateExpression","operator":"++","prefix":false,"argument":{"type":"Identifier","name":"k"}}}]}}]},"expression":false},"kind":"init"}]}]}},{"type":"ExpressionStatement","expression":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"Object"},"property":{"type":"Identifier","name":"defineProperty"},"computed":false},"arguments":[{"type":"MemberExpression","object":{"type":"Identifier","name":"Array"},"property":{"type":"Identifier","name":"prototype"},"computed":false},{"type":"Literal","value":"map"},{"type":"ObjectExpression","properties":[{"type":"Property","key":{"type":"Identifier","name":"configurable"},"value":{"type":"Literal","value":true},"kind":"init"},{"type":"Property","key":{"type":"Identifier","name":"value"},"value":{"type":"FunctionExpression","id":null,"params":[{"type":"Identifier","name":"callback"},{"type":"Identifier","name":"thisArg"}],"body":{"type":"BlockStatement","body":[{"type":"IfStatement","test":{"type":"LogicalExpression","left":{"type":"BinaryExpression","left":{"type":"ThisExpression"},"operator":"==","right":{"type":"Literal","value":null}},"operator":"||","right":{"type":"BinaryExpression","left":{"type":"UnaryExpression","operator":"typeof","prefix":true,"argument":{"type":"Identifier","name":"callback"}},"operator":"!==","right":{"type":"Literal","value":"function"}}},"consequent":{"type":"ExpressionStatement","expression":{"type":"NewExpression","callee":{"type":"Identifier","name":"TypeError"},"arguments":[]}},"alternate":null},{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"T"},"init":null},{"type":"VariableDeclarator","id":{"type":"Identifier","name":"A"},"init":null},{"type":"VariableDeclarator","id":{"type":"Identifier","name":"k"},"init":null}],"kind":"var"},{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"O"},"init":{"type":"CallExpression","callee":{"type":"Identifier","name":"Object"},"arguments":[{"type":"ThisExpression"}]}}],"kind":"var"},{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"len"},"init":{"type":"BinaryExpression","left":{"type":"MemberExpression","object":{"type":"Identifier","name":"O"},"property":{"type":"Identifier","name":"length"},"computed":false},"operator":">>>","right":{"type":"Literal","value":0}}}],"kind":"var"},{"type":"IfStatement","test":{"type":"BinaryExpression","left":{"type":"MemberExpression","object":{"type":"Identifier","name":"arguments"},"property":{"type":"Identifier","name":"length"},"computed":false},"operator":">","right":{"type":"Literal","value":1}},"consequent":{"type":"ExpressionStatement","expression":{"type":"AssignmentExpression","operator":"=","left":{"type":"Identifier","name":"T"},"right":{"type":"Identifier","name":"thisArg"}}},"alternate":null},{"type":"ExpressionStatement","expression":{"type":"AssignmentExpression","operator":"=","left":{"type":"Identifier","name":"A"},"right":{"type":"NewExpression","callee":{"type":"Identifier","name":"Array"},"arguments":[{"type":"Identifier","name":"len"}]}}},{"type":"ExpressionStatement","expression":{"type":"AssignmentExpression","operator":"=","left":{"type":"Identifier","name":"k"},"right":{"type":"Literal","value":0}}},{"type":"WhileStatement","test":{"type":"BinaryExpression","left":{"type":"Identifier","name":"k"},"operator":"<","right":{"type":"Identifier","name":"len"}},"body":{"type":"BlockStatement","body":[{"type":"IfStatement","test":{"type":"BinaryExpression","left":{"type":"Identifier","name":"k"},"operator":"in","right":{"type":"Identifier","name":"O"}},"consequent":{"type":"ExpressionStatement","expression":{"type":"AssignmentExpression","operator":"=","left":{"type":"MemberExpression","object":{"type":"Identifier","name":"A"},"property":{"type":"Identifier","name":"k"},"computed":true},"right":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"callback"},"property":{"type":"Identifier","name":"call"},"computed":false},"arguments":[{"type":"Identifier","name":"T"},{"type":"MemberExpression","object":{"type":"Identifier","name":"O"},"property":{"type":"Identifier","name":"k"},"computed":true},{"type":"Identifier","name":"k"},{"type":"Identifier","name":"O"}]}}},"alternate":null},{"type":"ExpressionStatement","expression":{"type":"UpdateExpression","operator":"++","prefix":false,"argument":{"type":"Identifier","name":"k"}}}]}},{"type":"ReturnStatement","argument":{"type":"Identifier","name":"A"}}]},"expression":false},"kind":"init"}]}]}},{"type":"ExpressionStatement","expression":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"Object"},"property":{"type":"Identifier","name":"defineProperty"},"computed":false},"arguments":[{"type":"MemberExpression","object":{"type":"Identifier","name":"Array"},"property":{"type":"Identifier","name":"prototype"},"computed":false},{"type":"Literal","value":"reduce"},{"type":"ObjectExpression","properties":[{"type":"Property","key":{"type":"Identifier","name":"configurable"},"value":{"type":"Literal","value":true},"kind":"init"},{"type":"Property","key":{"type":"Identifier","name":"value"},"value":{"type":"FunctionExpression","id":null,"params":[{"type":"Identifier","name":"callback"}],"body":{"type":"BlockStatement","body":[{"type":"IfStatement","test":{"type":"LogicalExpression","left":{"type":"BinaryExpression","left":{"type":"ThisExpression"},"operator":"==","right":{"type":"Literal","value":null}},"operator":"||","right":{"type":"BinaryExpression","left":{"type":"UnaryExpression","operator":"typeof","prefix":true,"argument":{"type":"Identifier","name":"callback"}},"operator":"!==","right":{"type":"Literal","value":"function"}}},"consequent":{"type":"ThrowStatement","argument":{"type":"NewExpression","callee":{"type":"Identifier","name":"TypeError"},"arguments":[]}},"alternate":null},{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"t"},"init":{"type":"CallExpression","callee":{"type":"Identifier","name":"Object"},"arguments":[{"type":"ThisExpression"}]}},{"type":"VariableDeclarator","id":{"type":"Identifier","name":"len"},"init":{"type":"BinaryExpression","left":{"type":"MemberExpression","object":{"type":"Identifier","name":"t"},"property":{"type":"Identifier","name":"length"},"computed":false},"operator":">>>","right":{"type":"Literal","value":0}}},{"type":"VariableDeclarator","id":{"type":"Identifier","name":"k"},"init":{"type":"Literal","value":0}},{"type":"VariableDeclarator","id":{"type":"Identifier","name":"value"},"init":null}],"kind":"var"},{"type":"IfStatement","test":{"type":"BinaryExpression","left":{"type":"MemberExpression","object":{"type":"Identifier","name":"arguments"},"property":{"type":"Identifier","name":"length"},"computed":false},"operator":"==","right":{"type":"Literal","value":2}},"consequent":{"type":"BlockStatement","body":[{"type":"ExpressionStatement","expression":{"type":"AssignmentExpression","operator":"=","left":{"type":"Identifier","name":"value"},"right":{"type":"MemberExpression","object":{"type":"Identifier","name":"arguments"},"property":{"type":"Literal","value":1},"computed":true}}}]},"alternate":{"type":"BlockStatement","body":[{"type":"WhileStatement","test":{"type":"LogicalExpression","left":{"type":"BinaryExpression","left":{"type":"Identifier","name":"k"},"operator":"<","right":{"type":"Identifier","name":"len"}},"operator":"&&","right":{"type":"UnaryExpression","operator":"!","prefix":true,"argument":{"type":"BinaryExpression","left":{"type":"Identifier","name":"k"},"operator":"in","right":{"type":"Identifier","name":"t"}}}},"body":{"type":"ExpressionStatement","expression":{"type":"UpdateExpression","operator":"++","prefix":false,"argument":{"type":"Identifier","name":"k"}}}},{"type":"IfStatement","test":{"type":"BinaryExpression","left":{"type":"Identifier","name":"k"},"operator":">=","right":{"type":"Identifier","name":"len"}},"consequent":{"type":"BlockStatement","body":[{"type":"ThrowStatement","argument":{"type":"NewExpression","callee":{"type":"Identifier","name":"TypeError"},"arguments":[{"type":"Literal","value":"Reduce of empty array with no initial value"}]}}]},"alternate":null},{"type":"ExpressionStatement","expression":{"type":"AssignmentExpression","operator":"=","left":{"type":"Identifier","name":"value"},"right":{"type":"MemberExpression","object":{"type":"Identifier","name":"t"},"property":{"type":"UpdateExpression","operator":"++","prefix":false,"argument":{"type":"Identifier","name":"k"}},"computed":true}}}]}},{"type":"ForStatement","init":null,"test":{"type":"BinaryExpression","left":{"type":"Identifier","name":"k"},"operator":"<","right":{"type":"Identifier","name":"len"}},"update":{"type":"UpdateExpression","operator":"++","prefix":false,"argument":{"type":"Identifier","name":"k"}},"body":{"type":"BlockStatement","body":[{"type":"IfStatement","test":{"type":"BinaryExpression","left":{"type":"Identifier","name":"k"},"operator":"in","right":{"type":"Identifier","name":"t"}},"consequent":{"type":"ExpressionStatement","expression":{"type":"AssignmentExpression","operator":"=","left":{"type":"Identifier","name":"value"},"right":{"type":"CallExpression","callee":{"type":"Identifier","name":"callback"},"arguments":[{"type":"Identifier","name":"value"},{"type":"MemberExpression","object":{"type":"Identifier","name":"t"},"property":{"type":"Identifier","name":"k"},"computed":true},{"type":"Identifier","name":"k"},{"type":"Identifier","name":"t"}]}}},"alternate":null}]}},{"type":"ReturnStatement","argument":{"type":"Identifier","name":"value"}}]},"expression":false},"kind":"init"}]}]}},{"type":"ExpressionStatement","expression":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"Object"},"property":{"type":"Identifier","name":"defineProperty"},"computed":false},"arguments":[{"type":"MemberExpression","object":{"type":"Identifier","name":"Array"},"property":{"type":"Identifier","name":"prototype"},"computed":false},{"type":"Literal","value":"reduceRight"},{"type":"ObjectExpression","properties":[{"type":"Property","key":{"type":"Identifier","name":"configurable"},"value":{"type":"Literal","value":true},"kind":"init"},{"type":"Property","key":{"type":"Identifier","name":"value"},"value":{"type":"FunctionExpression","id":null,"params":[{"type":"Identifier","name":"callback"}],"body":{"type":"BlockStatement","body":[{"type":"IfStatement","test":{"type":"LogicalExpression","left":{"type":"LogicalExpression","left":{"type":"BinaryExpression","left":{"type":"Literal","value":null},"operator":"===","right":{"type":"ThisExpression"}},"operator":"||","right":{"type":"BinaryExpression","left":{"type":"Literal","value":"undefined"},"operator":"===","right":{"type":"UnaryExpression","operator":"typeof","prefix":true,"argument":{"type":"ThisExpression"}}}},"operator":"||","right":{"type":"BinaryExpression","left":{"type":"Literal","value":"function"},"operator":"!==","right":{"type":"UnaryExpression","operator":"typeof","prefix":true,"argument":{"type":"Identifier","name":"callback"}}}},"consequent":{"type":"ThrowStatement","argument":{"type":"NewExpression","callee":{"type":"Identifier","name":"TypeError"},"arguments":[]}},"alternate":null},{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"t"},"init":{"type":"CallExpression","callee":{"type":"Identifier","name":"Object"},"arguments":[{"type":"ThisExpression"}]}},{"type":"VariableDeclarator","id":{"type":"Identifier","name":"len"},"init":{"type":"BinaryExpression","left":{"type":"MemberExpression","object":{"type":"Identifier","name":"t"},"property":{"type":"Identifier","name":"length"},"computed":false},"operator":">>>","right":{"type":"Literal","value":0}}},{"type":"VariableDeclarator","id":{"type":"Identifier","name":"k"},"init":{"type":"BinaryExpression","left":{"type":"Identifier","name":"len"},"operator":"-","right":{"type":"Literal","value":1}}},{"type":"VariableDeclarator","id":{"type":"Identifier","name":"value"},"init":null}],"kind":"var"},{"type":"IfStatement","test":{"type":"BinaryExpression","left":{"type":"MemberExpression","object":{"type":"Identifier","name":"arguments"},"property":{"type":"Identifier","name":"length"},"computed":false},"operator":">=","right":{"type":"Literal","value":2}},"consequent":{"type":"BlockStatement","body":[{"type":"ExpressionStatement","expression":{"type":"AssignmentExpression","operator":"=","left":{"type":"Identifier","name":"value"},"right":{"type":"MemberExpression","object":{"type":"Identifier","name":"arguments"},"property":{"type":"Literal","value":1},"computed":true}}}]},"alternate":{"type":"BlockStatement","body":[{"type":"WhileStatement","test":{"type":"LogicalExpression","left":{"type":"BinaryExpression","left":{"type":"Identifier","name":"k"},"operator":">=","right":{"type":"Literal","value":0}},"operator":"&&","right":{"type":"UnaryExpression","operator":"!","prefix":true,"argument":{"type":"BinaryExpression","left":{"type":"Identifier","name":"k"},"operator":"in","right":{"type":"Identifier","name":"t"}}}},"body":{"type":"ExpressionStatement","expression":{"type":"UpdateExpression","operator":"--","prefix":false,"argument":{"type":"Identifier","name":"k"}}}},{"type":"IfStatement","test":{"type":"BinaryExpression","left":{"type":"Identifier","name":"k"},"operator":"<","right":{"type":"Literal","value":0}},"consequent":{"type":"BlockStatement","body":[{"type":"ThrowStatement","argument":{"type":"NewExpression","callee":{"type":"Identifier","name":"TypeError"},"arguments":[{"type":"Literal","value":"Reduce of empty array with no initial value"}]}}]},"alternate":null},{"type":"ExpressionStatement","expression":{"type":"AssignmentExpression","operator":"=","left":{"type":"Identifier","name":"value"},"right":{"type":"MemberExpression","object":{"type":"Identifier","name":"t"},"property":{"type":"UpdateExpression","operator":"--","prefix":false,"argument":{"type":"Identifier","name":"k"}},"computed":true}}}]}},{"type":"ForStatement","init":null,"test":{"type":"BinaryExpression","left":{"type":"Identifier","name":"k"},"operator":">=","right":{"type":"Literal","value":0}},"update":{"type":"UpdateExpression","operator":"--","prefix":false,"argument":{"type":"Identifier","name":"k"}},"body":{"type":"BlockStatement","body":[{"type":"IfStatement","test":{"type":"BinaryExpression","left":{"type":"Identifier","name":"k"},"operator":"in","right":{"type":"Identifier","name":"t"}},"consequent":{"type":"ExpressionStatement","expression":{"type":"AssignmentExpression","operator":"=","left":{"type":"Identifier","name":"value"},"right":{"type":"CallExpression","callee":{"type":"Identifier","name":"callback"},"arguments":[{"type":"Identifier","name":"value"},{"type":"MemberExpression","object":{"type":"Identifier","name":"t"},"property":{"type":"Identifier","name":"k"},"computed":true},{"type":"Identifier","name":"k"},{"type":"Identifier","name":"t"}]}}},"alternate":null}]}},{"type":"ReturnStatement","argument":{"type":"Identifier","name":"value"}}]},"expression":false},"kind":"init"}]}]}},{"type":"ExpressionStatement","expression":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"Object"},"property":{"type":"Identifier","name":"defineProperty"},"computed":false},"arguments":[{"type":"MemberExpression","object":{"type":"Identifier","name":"Array"},"property":{"type":"Identifier","name":"prototype"},"computed":false},{"type":"Literal","value":"some"},{"type":"ObjectExpression","properties":[{"type":"Property","key":{"type":"Identifier","name":"configurable"},"value":{"type":"Literal","value":true},"kind":"init"},{"type":"Property","key":{"type":"Identifier","name":"value"},"value":{"type":"FunctionExpression","id":null,"params":[{"type":"Identifier","name":"fun"}],"body":{"type":"BlockStatement","body":[{"type":"IfStatement","test":{"type":"LogicalExpression","left":{"type":"BinaryExpression","left":{"type":"ThisExpression"},"operator":"==","right":{"type":"Literal","value":null}},"operator":"||","right":{"type":"BinaryExpression","left":{"type":"UnaryExpression","operator":"typeof","prefix":true,"argument":{"type":"Identifier","name":"fun"}},"operator":"!==","right":{"type":"Literal","value":"function"}}},"consequent":{"type":"ThrowStatement","argument":{"type":"NewExpression","callee":{"type":"Identifier","name":"TypeError"},"arguments":[]}},"alternate":null},{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"t"},"init":{"type":"CallExpression","callee":{"type":"Identifier","name":"Object"},"arguments":[{"type":"ThisExpression"}]}}],"kind":"var"},{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"len"},"init":{"type":"BinaryExpression","left":{"type":"MemberExpression","object":{"type":"Identifier","name":"t"},"property":{"type":"Identifier","name":"length"},"computed":false},"operator":">>>","right":{"type":"Literal","value":0}}}],"kind":"var"},{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"thisArg"},"init":{"type":"ConditionalExpression","test":{"type":"BinaryExpression","left":{"type":"MemberExpression","object":{"type":"Identifier","name":"arguments"},"property":{"type":"Identifier","name":"length"},"computed":false},"operator":">=","right":{"type":"Literal","value":2}},"consequent":{"type":"MemberExpression","object":{"type":"Identifier","name":"arguments"},"property":{"type":"Literal","value":1},"computed":true},"alternate":{"type":"UnaryExpression","operator":"void","prefix":true,"argument":{"type":"Literal","value":0}}}}],"kind":"var"},{"type":"ForStatement","init":{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"i"},"init":{"type":"Literal","value":0}}],"kind":"var"},"test":{"type":"BinaryExpression","left":{"type":"Identifier","name":"i"},"operator":"<","right":{"type":"Identifier","name":"len"}},"update":{"type":"UpdateExpression","operator":"++","prefix":false,"argument":{"type":"Identifier","name":"i"}},"body":{"type":"BlockStatement","body":[{"type":"IfStatement","test":{"type":"LogicalExpression","left":{"type":"BinaryExpression","left":{"type":"Identifier","name":"i"},"operator":"in","right":{"type":"Identifier","name":"t"}},"operator":"&&","right":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"fun"},"property":{"type":"Identifier","name":"call"},"computed":false},"arguments":[{"type":"Identifier","name":"thisArg"},{"type":"MemberExpression","object":{"type":"Identifier","name":"t"},"property":{"type":"Identifier","name":"i"},"computed":true},{"type":"Identifier","name":"i"},{"type":"Identifier","name":"t"}]}},"consequent":{"type":"BlockStatement","body":[{"type":"ReturnStatement","argument":{"type":"Literal","value":true}}]},"alternate":null}]}},{"type":"ReturnStatement","argument":{"type":"Literal","value":false}}]},"expression":false},"kind":"init"}]}]}},{"type":"ExpressionStatement","expression":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"Object"},"property":{"type":"Identifier","name":"defineProperty"},"computed":false},"arguments":[{"type":"MemberExpression","object":{"type":"Identifier","name":"Array"},"property":{"type":"Identifier","name":"prototype"},"computed":false},{"type":"Literal","value":"sort"},{"type":"ObjectExpression","properties":[{"type":"Property","key":{"type":"Identifier","name":"configurable"},"value":{"type":"Literal","value":true},"kind":"init"},{"type":"Property","key":{"type":"Identifier","name":"value"},"value":{"type":"FunctionExpression","id":null,"params":[{"type":"Identifier","name":"opt_comp"}],"body":{"type":"BlockStatement","body":[{"type":"ForStatement","init":{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"i"},"init":{"type":"Literal","value":0}}],"kind":"var"},"test":{"type":"BinaryExpression","left":{"type":"Identifier","name":"i"},"operator":"<","right":{"type":"MemberExpression","object":{"type":"ThisExpression"},"property":{"type":"Identifier","name":"length"},"computed":false}},"update":{"type":"UpdateExpression","operator":"++","prefix":false,"argument":{"type":"Identifier","name":"i"}},"body":{"type":"BlockStatement","body":[{"type":"ForStatement","init":{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"j"},"init":{"type":"Literal","value":0}}],"kind":"var"},"test":{"type":"BinaryExpression","left":{"type":"Identifier","name":"j"},"operator":"<","right":{"type":"BinaryExpression","left":{"type":"BinaryExpression","left":{"type":"MemberExpression","object":{"type":"ThisExpression"},"property":{"type":"Identifier","name":"length"},"computed":false},"operator":"-","right":{"type":"Identifier","name":"i"}},"operator":"-","right":{"type":"Literal","value":1}}},"update":{"type":"UpdateExpression","operator":"++","prefix":false,"argument":{"type":"Identifier","name":"j"}},"body":{"type":"BlockStatement","body":[{"type":"IfStatement","test":{"type":"ConditionalExpression","test":{"type":"Identifier","name":"opt_comp"},"consequent":{"type":"BinaryExpression","left":{"type":"CallExpression","callee":{"type":"Identifier","name":"opt_comp"},"arguments":[{"type":"MemberExpression","object":{"type":"ThisExpression"},"property":{"type":"Identifier","name":"j"},"computed":true},{"type":"MemberExpression","object":{"type":"ThisExpression"},"property":{"type":"BinaryExpression","left":{"type":"Identifier","name":"j"},"operator":"+","right":{"type":"Literal","value":1}},"computed":true}]},"operator":">","right":{"type":"Literal","value":0}},"alternate":{"type":"BinaryExpression","left":{"type":"MemberExpression","object":{"type":"ThisExpression"},"property":{"type":"Identifier","name":"j"},"computed":true},"operator":">","right":{"type":"MemberExpression","object":{"type":"ThisExpression"},"property":{"type":"BinaryExpression","left":{"type":"Identifier","name":"j"},"operator":"+","right":{"type":"Literal","value":1}},"computed":true}}},"consequent":{"type":"BlockStatement","body":[{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"swap"},"init":{"type":"MemberExpression","object":{"type":"ThisExpression"},"property":{"type":"Identifier","name":"j"},"computed":true}}],"kind":"var"},{"type":"ExpressionStatement","expression":{"type":"AssignmentExpression","operator":"=","left":{"type":"MemberExpression","object":{"type":"ThisExpression"},"property":{"type":"Identifier","name":"j"},"computed":true},"right":{"type":"MemberExpression","object":{"type":"ThisExpression"},"property":{"type":"BinaryExpression","left":{"type":"Identifier","name":"j"},"operator":"+","right":{"type":"Literal","value":1}},"computed":true}}},{"type":"ExpressionStatement","expression":{"type":"AssignmentExpression","operator":"=","left":{"type":"MemberExpression","object":{"type":"ThisExpression"},"property":{"type":"BinaryExpression","left":{"type":"Identifier","name":"j"},"operator":"+","right":{"type":"Literal","value":1}},"computed":true},"right":{"type":"Identifier","name":"swap"}}}]},"alternate":null}]}}]}},{"type":"ReturnStatement","argument":{"type":"ThisExpression"}}]},"expression":false},"kind":"init"}]}]}},{"type":"ExpressionStatement","expression":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"Object"},"property":{"type":"Identifier","name":"defineProperty"},"computed":false},"arguments":[{"type":"MemberExpression","object":{"type":"Identifier","name":"Array"},"property":{"type":"Identifier","name":"prototype"},"computed":false},{"type":"Literal","value":"toLocaleString"},{"type":"ObjectExpression","properties":[{"type":"Property","key":{"type":"Identifier","name":"configurable"},"value":{"type":"Literal","value":true},"kind":"init"},{"type":"Property","key":{"type":"Identifier","name":"value"},"value":{"type":"FunctionExpression","id":null,"params":[],"body":{"type":"BlockStatement","body":[{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"out"},"init":{"type":"ArrayExpression","elements":[]}}],"kind":"var"},{"type":"ForStatement","init":{"type":"VariableDeclaration","declarations":[{"type":"VariableDeclarator","id":{"type":"Identifier","name":"i"},"init":{"type":"Literal","value":0}}],"kind":"var"},"test":{"type":"BinaryExpression","left":{"type":"Identifier","name":"i"},"operator":"<","right":{"type":"MemberExpression","object":{"type":"ThisExpression"},"property":{"type":"Identifier","name":"length"},"computed":false}},"update":{"type":"UpdateExpression","operator":"++","prefix":false,"argument":{"type":"Identifier","name":"i"}},"body":{"type":"BlockStatement","body":[{"type":"ExpressionStatement","expression":{"type":"AssignmentExpression","operator":"=","left":{"type":"MemberExpression","object":{"type":"Identifier","name":"out"},"property":{"type":"Identifier","name":"i"},"computed":true},"right":{"type":"ConditionalExpression","test":{"type":"LogicalExpression","left":{"type":"BinaryExpression","left":{"type":"MemberExpression","object":{"type":"ThisExpression"},"property":{"type":"Identifier","name":"i"},"computed":true},"operator":"===","right":{"type":"Literal","value":null}},"operator":"||","right":{"type":"BinaryExpression","left":{"type":"MemberExpression","object":{"type":"ThisExpression"},"property":{"type":"Identifier","name":"i"},"computed":true},"operator":"===","right":{"type":"Identifier","name":"undefined"}}},"consequent":{"type":"Literal","value":""},"alternate":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"MemberExpression","object":{"type":"ThisExpression"},"property":{"type":"Identifier","name":"i"},"computed":true},"property":{"type":"Identifier","name":"toLocaleString"},"computed":false},"arguments":[]}}}}]}},{"type":"ReturnStatement","argument":{"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"out"},"property":{"type":"Identifier","name":"join"},"computed":false},"arguments":[{"type":"Literal","value":","}]}}]},"expression":false},"kind":"init"}]}]}}]')
|
|
},
|
|
81060: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
const state = this.stateStack.pop();
|
|
this.stateStack.push({
|
|
node: state.node.body,
|
|
label: state.node.label.name
|
|
})
|
|
}, module.exports = exports.default
|
|
},
|
|
81123: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.getElementsByTagType = exports.getElementsByTagName = exports.getElementById = exports.getElements = exports.testElement = void 0;
|
|
var domhandler_1 = __webpack_require__(75243),
|
|
querying_1 = __webpack_require__(69740),
|
|
Checks = {
|
|
tag_name: function(name) {
|
|
return "function" == typeof name ? function(elem) {
|
|
return (0, domhandler_1.isTag)(elem) && name(elem.name)
|
|
} : "*" === name ? domhandler_1.isTag : function(elem) {
|
|
return (0, domhandler_1.isTag)(elem) && elem.name === name
|
|
}
|
|
},
|
|
tag_type: function(type) {
|
|
return "function" == typeof type ? function(elem) {
|
|
return type(elem.type)
|
|
} : function(elem) {
|
|
return elem.type === type
|
|
}
|
|
},
|
|
tag_contains: function(data) {
|
|
return "function" == typeof data ? function(elem) {
|
|
return (0, domhandler_1.isText)(elem) && data(elem.data)
|
|
} : function(elem) {
|
|
return (0, domhandler_1.isText)(elem) && elem.data === data
|
|
}
|
|
}
|
|
};
|
|
|
|
function getAttribCheck(attrib, value) {
|
|
return "function" == typeof value ? function(elem) {
|
|
return (0, domhandler_1.isTag)(elem) && value(elem.attribs[attrib])
|
|
} : function(elem) {
|
|
return (0, domhandler_1.isTag)(elem) && elem.attribs[attrib] === value
|
|
}
|
|
}
|
|
|
|
function combineFuncs(a, b) {
|
|
return function(elem) {
|
|
return a(elem) || b(elem)
|
|
}
|
|
}
|
|
|
|
function compileTest(options) {
|
|
var funcs = Object.keys(options).map(function(key) {
|
|
var value = options[key];
|
|
return Object.prototype.hasOwnProperty.call(Checks, key) ? Checks[key](value) : getAttribCheck(key, value)
|
|
});
|
|
return 0 === funcs.length ? null : funcs.reduce(combineFuncs)
|
|
}
|
|
exports.testElement = function(options, node) {
|
|
var test = compileTest(options);
|
|
return !test || test(node)
|
|
}, exports.getElements = function(options, nodes, recurse, limit) {
|
|
void 0 === limit && (limit = 1 / 0);
|
|
var test = compileTest(options);
|
|
return test ? (0, querying_1.filter)(test, nodes, recurse, limit) : []
|
|
}, exports.getElementById = function(id, nodes, recurse) {
|
|
return void 0 === recurse && (recurse = !0), Array.isArray(nodes) || (nodes = [nodes]), (0, querying_1.findOne)(getAttribCheck("id", id), nodes, recurse)
|
|
}, exports.getElementsByTagName = function(tagName, nodes, recurse, limit) {
|
|
return void 0 === recurse && (recurse = !0), void 0 === limit && (limit = 1 / 0), (0, querying_1.filter)(Checks.tag_name(tagName), nodes, recurse, limit)
|
|
}, exports.getElementsByTagType = function(type, nodes, recurse, limit) {
|
|
return void 0 === recurse && (recurse = !0), void 0 === limit && (limit = 1 / 0), (0, querying_1.filter)(Checks.tag_type(type), nodes, recurse, limit)
|
|
}
|
|
},
|
|
81362: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var $TypeError = __webpack_require__(79809),
|
|
inspect = __webpack_require__(88433),
|
|
getSideChannelList = __webpack_require__(54837),
|
|
getSideChannelMap = __webpack_require__(84997),
|
|
makeChannel = __webpack_require__(50897) || getSideChannelMap || getSideChannelList;
|
|
module.exports = function() {
|
|
var $channelData, channel = {
|
|
assert: function(key) {
|
|
if (!channel.has(key)) throw new $TypeError("Side channel does not contain " + inspect(key))
|
|
},
|
|
delete: function(key) {
|
|
return !!$channelData && $channelData.delete(key)
|
|
},
|
|
get: function(key) {
|
|
return $channelData && $channelData.get(key)
|
|
},
|
|
has: function(key) {
|
|
return !!$channelData && $channelData.has(key)
|
|
},
|
|
set: function(key, value) {
|
|
$channelData || ($channelData = makeChannel()), $channelData.set(key, value)
|
|
}
|
|
};
|
|
return channel
|
|
}
|
|
},
|
|
81456: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.css = void 0;
|
|
var utils_1 = __webpack_require__(91373);
|
|
|
|
function setCss(el, prop, value, idx) {
|
|
if ("string" == typeof prop) {
|
|
var styles = getCss(el),
|
|
val = "function" == typeof value ? value.call(el, idx, styles[prop]) : value;
|
|
"" === val ? delete styles[prop] : null != val && (styles[prop] = val), el.attribs.style = (obj = styles, Object.keys(obj).reduce(function(str, prop) {
|
|
return str + (str ? " " : "") + prop + ": " + obj[prop] + ";"
|
|
}, ""))
|
|
} else "object" == typeof prop && Object.keys(prop).forEach(function(k, i) {
|
|
setCss(el, k, prop[k], i)
|
|
});
|
|
var obj
|
|
}
|
|
|
|
function getCss(el, prop) {
|
|
if (el && utils_1.isTag(el)) {
|
|
var styles = function(styles) {
|
|
return styles = (styles || "").trim(), styles ? styles.split(";").reduce(function(obj, str) {
|
|
var n = str.indexOf(":");
|
|
return n < 1 || n === str.length - 1 || (obj[str.slice(0, n).trim()] = str.slice(n + 1).trim()), obj
|
|
}, {}) : {}
|
|
}(el.attribs.style);
|
|
if ("string" == typeof prop) return styles[prop];
|
|
if (Array.isArray(prop)) {
|
|
var newStyles_1 = {};
|
|
return prop.forEach(function(item) {
|
|
null != styles[item] && (newStyles_1[item] = styles[item])
|
|
}), newStyles_1
|
|
}
|
|
return styles
|
|
}
|
|
}
|
|
exports.css = function(prop, val) {
|
|
return null != prop && null != val || "object" == typeof prop && !Array.isArray(prop) ? utils_1.domEach(this, function(idx, el) {
|
|
utils_1.isTag(el) && setCss(el, prop, val, idx)
|
|
}) : getCss(this[0], prop)
|
|
}
|
|
},
|
|
81487: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function({
|
|
selector
|
|
}) {
|
|
const element = (0, _sharedFunctions.getElement)(selector);
|
|
if (!element) return new _mixinResponses.FailedMixinResponse(`[click] unable to find element with selector:\n ${selector}`);
|
|
void 0 === element.click || "function" != typeof element.click ? element.dispatchEvent(new Event("click", {
|
|
bubbles: !0,
|
|
cancelable: !0,
|
|
eventPhase: 0,
|
|
returnValue: !0
|
|
})) : element.click();
|
|
return new _mixinResponses.SuccessfulMixinResponse("[click] succesfully completed", {
|
|
element
|
|
})
|
|
};
|
|
var _mixinResponses = __webpack_require__(34522),
|
|
_sharedFunctions = __webpack_require__(8627);
|
|
module.exports = exports.default
|
|
},
|
|
81517: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
});
|
|
var css_what_1 = __webpack_require__(89825),
|
|
procedure_1 = __webpack_require__(82256),
|
|
attributes = {
|
|
exists: 10,
|
|
equals: 8,
|
|
not: 7,
|
|
start: 6,
|
|
end: 6,
|
|
any: 5,
|
|
hyphen: 4,
|
|
element: 4
|
|
};
|
|
|
|
function getProcedure(token) {
|
|
var proc = procedure_1.procedure[token.type];
|
|
if (token.type === css_what_1.SelectorType.Attribute)(proc = attributes[token.action]) === attributes.equals && "id" === token.name && (proc = 9), token.ignoreCase && (proc >>= 1);
|
|
else if (token.type === css_what_1.SelectorType.Pseudo)
|
|
if (token.data)
|
|
if ("has" === token.name || "contains" === token.name) proc = 0;
|
|
else if (Array.isArray(token.data)) {
|
|
proc = 0;
|
|
for (var i = 0; i < token.data.length; i++)
|
|
if (1 === token.data[i].length) {
|
|
var cur = getProcedure(token.data[i][0]);
|
|
if (0 === cur) {
|
|
proc = 0;
|
|
break
|
|
}
|
|
cur > proc && (proc = cur)
|
|
} token.data.length > 1 && proc > 0 && (proc -= 1)
|
|
} else proc = 1;
|
|
else proc = 3;
|
|
return proc
|
|
}
|
|
exports.default = function(arr) {
|
|
for (var procs = arr.map(getProcedure), i = 1; i < arr.length; i++) {
|
|
var procNew = procs[i];
|
|
if (!(procNew < 0))
|
|
for (var j = i - 1; j >= 0 && procNew < procs[j]; j--) {
|
|
var token = arr[j + 1];
|
|
arr[j + 1] = arr[j], arr[j] = token, procs[j + 1] = procs[j], procs[j] = procNew
|
|
}
|
|
}
|
|
}
|
|
},
|
|
81548: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _debug = _interopRequireDefault(__webpack_require__(52251)),
|
|
_vimGenerator = __webpack_require__(47198);
|
|
const logger = (0, _debug.default)("honey:core-sdk");
|
|
_debug.default.useColors = () => !1, _debug.default.enable("honey:core-sdk:*");
|
|
exports.default = {
|
|
error: logger.extend("error"),
|
|
warn: logger.extend("warn"),
|
|
debug: logger.extend("debug"),
|
|
setLogger: fn => {
|
|
_vimGenerator.VimGenerator.setLogger(fn), _debug.default.log = fn
|
|
}
|
|
};
|
|
module.exports = exports.default
|
|
},
|
|
81689: module => {
|
|
module.exports = stringify, stringify.default = stringify, stringify.stable = deterministicStringify, stringify.stableStringify = deterministicStringify;
|
|
var LIMIT_REPLACE_NODE = "[...]",
|
|
CIRCULAR_REPLACE_NODE = "[Circular]",
|
|
arr = [],
|
|
replacerStack = [];
|
|
|
|
function defaultOptions() {
|
|
return {
|
|
depthLimit: Number.MAX_SAFE_INTEGER,
|
|
edgesLimit: Number.MAX_SAFE_INTEGER
|
|
}
|
|
}
|
|
|
|
function stringify(obj, replacer, spacer, options) {
|
|
var res;
|
|
void 0 === options && (options = defaultOptions()), decirc(obj, "", 0, [], void 0, 0, options);
|
|
try {
|
|
res = 0 === replacerStack.length ? JSON.stringify(obj, replacer, spacer) : JSON.stringify(obj, replaceGetterValues(replacer), spacer)
|
|
} catch (_) {
|
|
return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")
|
|
} finally {
|
|
for (; 0 !== arr.length;) {
|
|
var part = arr.pop();
|
|
4 === part.length ? Object.defineProperty(part[0], part[1], part[3]) : part[0][part[1]] = part[2]
|
|
}
|
|
}
|
|
return res
|
|
}
|
|
|
|
function setReplace(replace, val, k, parent) {
|
|
var propertyDescriptor = Object.getOwnPropertyDescriptor(parent, k);
|
|
void 0 !== propertyDescriptor.get ? propertyDescriptor.configurable ? (Object.defineProperty(parent, k, {
|
|
value: replace
|
|
}), arr.push([parent, k, val, propertyDescriptor])) : replacerStack.push([val, k, replace]) : (parent[k] = replace, arr.push([parent, k, val]))
|
|
}
|
|
|
|
function decirc(val, k, edgeIndex, stack, parent, depth, options) {
|
|
var i;
|
|
if (depth += 1, "object" == typeof val && null !== val) {
|
|
for (i = 0; i < stack.length; i++)
|
|
if (stack[i] === val) return void setReplace(CIRCULAR_REPLACE_NODE, val, k, parent);
|
|
if (void 0 !== options.depthLimit && depth > options.depthLimit) return void setReplace(LIMIT_REPLACE_NODE, val, k, parent);
|
|
if (void 0 !== options.edgesLimit && edgeIndex + 1 > options.edgesLimit) return void setReplace(LIMIT_REPLACE_NODE, val, k, parent);
|
|
if (stack.push(val), Array.isArray(val))
|
|
for (i = 0; i < val.length; i++) decirc(val[i], i, i, stack, val, depth, options);
|
|
else {
|
|
var keys = Object.keys(val);
|
|
for (i = 0; i < keys.length; i++) {
|
|
var key = keys[i];
|
|
decirc(val[key], key, i, stack, val, depth, options)
|
|
}
|
|
}
|
|
stack.pop()
|
|
}
|
|
}
|
|
|
|
function compareFunction(a, b) {
|
|
return a < b ? -1 : a > b ? 1 : 0
|
|
}
|
|
|
|
function deterministicStringify(obj, replacer, spacer, options) {
|
|
void 0 === options && (options = defaultOptions());
|
|
var res, tmp = deterministicDecirc(obj, "", 0, [], void 0, 0, options) || obj;
|
|
try {
|
|
res = 0 === replacerStack.length ? JSON.stringify(tmp, replacer, spacer) : JSON.stringify(tmp, replaceGetterValues(replacer), spacer)
|
|
} catch (_) {
|
|
return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")
|
|
} finally {
|
|
for (; 0 !== arr.length;) {
|
|
var part = arr.pop();
|
|
4 === part.length ? Object.defineProperty(part[0], part[1], part[3]) : part[0][part[1]] = part[2]
|
|
}
|
|
}
|
|
return res
|
|
}
|
|
|
|
function deterministicDecirc(val, k, edgeIndex, stack, parent, depth, options) {
|
|
var i;
|
|
if (depth += 1, "object" == typeof val && null !== val) {
|
|
for (i = 0; i < stack.length; i++)
|
|
if (stack[i] === val) return void setReplace(CIRCULAR_REPLACE_NODE, val, k, parent);
|
|
try {
|
|
if ("function" == typeof val.toJSON) return
|
|
} catch (_) {
|
|
return
|
|
}
|
|
if (void 0 !== options.depthLimit && depth > options.depthLimit) return void setReplace(LIMIT_REPLACE_NODE, val, k, parent);
|
|
if (void 0 !== options.edgesLimit && edgeIndex + 1 > options.edgesLimit) return void setReplace(LIMIT_REPLACE_NODE, val, k, parent);
|
|
if (stack.push(val), Array.isArray(val))
|
|
for (i = 0; i < val.length; i++) deterministicDecirc(val[i], i, i, stack, val, depth, options);
|
|
else {
|
|
var tmp = {},
|
|
keys = Object.keys(val).sort(compareFunction);
|
|
for (i = 0; i < keys.length; i++) {
|
|
var key = keys[i];
|
|
deterministicDecirc(val[key], key, i, stack, val, depth, options), tmp[key] = val[key]
|
|
}
|
|
if (void 0 === parent) return tmp;
|
|
arr.push([parent, k, val]), parent[k] = tmp
|
|
}
|
|
stack.pop()
|
|
}
|
|
}
|
|
|
|
function replaceGetterValues(replacer) {
|
|
return replacer = void 0 !== replacer ? replacer : function(k, v) {
|
|
return v
|
|
},
|
|
function(key, val) {
|
|
if (replacerStack.length > 0)
|
|
for (var i = 0; i < replacerStack.length; i++) {
|
|
var part = replacerStack[i];
|
|
if (part[1] === key && part[0] === val) {
|
|
val = part[2], replacerStack.splice(i, 1);
|
|
break
|
|
}
|
|
}
|
|
return replacer.call(this, key, val)
|
|
}
|
|
}
|
|
},
|
|
82068: module => {
|
|
"use strict";
|
|
|
|
function _createForOfIteratorHelper(o, allowArrayLike) {
|
|
var it = "undefined" != typeof Symbol && o[Symbol.iterator] || o["@@iterator"];
|
|
if (!it) {
|
|
if (Array.isArray(o) || (it = function(o, minLen) {
|
|
if (!o) return;
|
|
if ("string" == typeof o) return _arrayLikeToArray(o, minLen);
|
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
"Object" === n && o.constructor && (n = o.constructor.name);
|
|
if ("Map" === n || "Set" === n) return Array.from(o);
|
|
if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen)
|
|
}(o)) || allowArrayLike && o && "number" == typeof o.length) {
|
|
it && (o = it);
|
|
var i = 0,
|
|
F = function() {};
|
|
return {
|
|
s: F,
|
|
n: function() {
|
|
return i >= o.length ? {
|
|
done: !0
|
|
} : {
|
|
done: !1,
|
|
value: o[i++]
|
|
}
|
|
},
|
|
e: function(_e) {
|
|
throw _e
|
|
},
|
|
f: F
|
|
}
|
|
}
|
|
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
|
|
}
|
|
var err, normalCompletion = !0,
|
|
didErr = !1;
|
|
return {
|
|
s: function() {
|
|
it = it.call(o)
|
|
},
|
|
n: function() {
|
|
var step = it.next();
|
|
return normalCompletion = step.done, step
|
|
},
|
|
e: function(_e2) {
|
|
didErr = !0, err = _e2
|
|
},
|
|
f: function() {
|
|
try {
|
|
normalCompletion || null == it.return || it.return()
|
|
} finally {
|
|
if (didErr) throw err
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
function _arrayLikeToArray(arr, len) {
|
|
(null == len || len > arr.length) && (len = arr.length);
|
|
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
return arr2
|
|
}
|
|
|
|
function Agent() {
|
|
this._defaults = []
|
|
}
|
|
for (var _i = 0, _arr = ["use", "on", "once", "set", "query", "type", "accept", "auth", "withCredentials", "sortQuery", "retry", "ok", "redirects", "timeout", "buffer", "serialize", "parse", "ca", "key", "pfx", "cert", "disableTLSCerts"]; _i < _arr.length; _i++) {
|
|
const fn = _arr[_i];
|
|
Agent.prototype[fn] = function() {
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
|
|
return this._defaults.push({
|
|
fn,
|
|
args
|
|
}), this
|
|
}
|
|
}
|
|
Agent.prototype._setDefaults = function(request) {
|
|
var _step, _iterator = _createForOfIteratorHelper(this._defaults);
|
|
try {
|
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
const def = _step.value;
|
|
request[def.fn](...def.args)
|
|
}
|
|
} catch (err) {
|
|
_iterator.e(err)
|
|
} finally {
|
|
_iterator.f()
|
|
}
|
|
}, module.exports = Agent
|
|
},
|
|
82256: (__unused_webpack_module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.isTraversal = exports.procedure = void 0, exports.procedure = {
|
|
universal: 50,
|
|
tag: 30,
|
|
attribute: 1,
|
|
pseudo: 0,
|
|
"pseudo-element": 0,
|
|
"column-combinator": -1,
|
|
descendant: -1,
|
|
child: -1,
|
|
parent: -1,
|
|
sibling: -1,
|
|
adjacent: -1,
|
|
_flexibleDescendant: -1
|
|
}, exports.isTraversal = function(t) {
|
|
return exports.procedure[t.type] < 0
|
|
}
|
|
},
|
|
82299: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
const state = this.stateStack[this.stateStack.length - 1],
|
|
node = state.node,
|
|
n = state.n_ || 0;
|
|
node.expressions[n] ? (state.n_ = n + 1, this.stateStack.push({
|
|
node: node.expressions[n]
|
|
})) : (this.stateStack.pop(), this.stateStack[this.stateStack.length - 1].value = state.value)
|
|
}, module.exports = exports.default
|
|
},
|
|
82393: function(__unused_webpack_module, exports, __webpack_require__) {
|
|
"use strict";
|
|
var __createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
void 0 === k2 && (k2 = k), Object.defineProperty(o, k2, {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return m[k]
|
|
}
|
|
})
|
|
} : function(o, m, k, k2) {
|
|
void 0 === k2 && (k2 = k), o[k2] = m[k]
|
|
}),
|
|
__setModuleDefault = this && this.__setModuleDefault || (Object.create ? function(o, v) {
|
|
Object.defineProperty(o, "default", {
|
|
enumerable: !0,
|
|
value: v
|
|
})
|
|
} : function(o, v) {
|
|
o.default = v
|
|
}),
|
|
__importStar = this && this.__importStar || function(mod) {
|
|
if (mod && mod.__esModule) return mod;
|
|
var result = {};
|
|
if (null != mod)
|
|
for (var k in mod) "default" !== k && Object.prototype.hasOwnProperty.call(mod, k) && __createBinding(result, mod, k);
|
|
return __setModuleDefault(result, mod), result
|
|
},
|
|
__exportStar = this && this.__exportStar || function(m, exports) {
|
|
for (var p in m) "default" === p || Object.prototype.hasOwnProperty.call(exports, p) || __createBinding(exports, m, p)
|
|
},
|
|
__importDefault = this && this.__importDefault || function(mod) {
|
|
return mod && mod.__esModule ? mod : {
|
|
default: mod
|
|
}
|
|
};
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.RssHandler = exports.DefaultHandler = exports.DomUtils = exports.ElementType = exports.Tokenizer = exports.createDomStream = exports.parseDOM = exports.parseDocument = exports.DomHandler = exports.Parser = void 0;
|
|
var Parser_1 = __webpack_require__(67638);
|
|
Object.defineProperty(exports, "Parser", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return Parser_1.Parser
|
|
}
|
|
});
|
|
var domhandler_1 = __webpack_require__(75243);
|
|
|
|
function parseDocument(data, options) {
|
|
var handler = new domhandler_1.DomHandler(void 0, options);
|
|
return new Parser_1.Parser(handler, options).end(data), handler.root
|
|
}
|
|
Object.defineProperty(exports, "DomHandler", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return domhandler_1.DomHandler
|
|
}
|
|
}), Object.defineProperty(exports, "DefaultHandler", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return domhandler_1.DomHandler
|
|
}
|
|
}), exports.parseDocument = parseDocument, exports.parseDOM = function(data, options) {
|
|
return parseDocument(data, options).children
|
|
}, exports.createDomStream = function(cb, options, elementCb) {
|
|
var handler = new domhandler_1.DomHandler(cb, options, elementCb);
|
|
return new Parser_1.Parser(handler, options)
|
|
};
|
|
var Tokenizer_1 = __webpack_require__(97100);
|
|
Object.defineProperty(exports, "Tokenizer", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return __importDefault(Tokenizer_1).default
|
|
}
|
|
});
|
|
var ElementType = __importStar(__webpack_require__(60903));
|
|
exports.ElementType = ElementType, __exportStar(__webpack_require__(28869), exports), exports.DomUtils = __importStar(__webpack_require__(91010));
|
|
var FeedHandler_1 = __webpack_require__(28869);
|
|
Object.defineProperty(exports, "RssHandler", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return FeedHandler_1.FeedHandler
|
|
}
|
|
})
|
|
},
|
|
82904: function(__unused_webpack_module, exports, __webpack_require__) {
|
|
"use strict";
|
|
var __importDefault = this && this.__importDefault || function(mod) {
|
|
return mod && mod.__esModule ? mod : {
|
|
default: mod
|
|
}
|
|
};
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.escapeUTF8 = exports.escape = exports.encodeNonAsciiHTML = exports.encodeHTML = exports.encodeXML = void 0;
|
|
var inverseXML = getInverseObj(__importDefault(__webpack_require__(90866)).default),
|
|
xmlReplacer = getInverseReplacer(inverseXML);
|
|
exports.encodeXML = getASCIIEncoder(inverseXML);
|
|
var inverse, re, inverseHTML = getInverseObj(__importDefault(__webpack_require__(89294)).default),
|
|
htmlReplacer = getInverseReplacer(inverseHTML);
|
|
|
|
function getInverseObj(obj) {
|
|
return Object.keys(obj).sort().reduce(function(inverse, name) {
|
|
return inverse[obj[name]] = "&" + name + ";", inverse
|
|
}, {})
|
|
}
|
|
|
|
function getInverseReplacer(inverse) {
|
|
for (var single = [], multiple = [], _i = 0, _a = Object.keys(inverse); _i < _a.length; _i++) {
|
|
var k = _a[_i];
|
|
1 === k.length ? single.push("\\" + k) : multiple.push(k)
|
|
}
|
|
single.sort();
|
|
for (var start = 0; start < single.length - 1; start++) {
|
|
for (var end = start; end < single.length - 1 && single[end].charCodeAt(1) + 1 === single[end + 1].charCodeAt(1);) end += 1;
|
|
var count = 1 + end - start;
|
|
count < 3 || single.splice(start, count, single[start] + "-" + single[end])
|
|
}
|
|
return multiple.unshift("[" + single.join("") + "]"), new RegExp(multiple.join("|"), "g")
|
|
}
|
|
exports.encodeHTML = (inverse = inverseHTML, re = htmlReplacer, function(data) {
|
|
return data.replace(re, function(name) {
|
|
return inverse[name]
|
|
}).replace(reNonASCII, singleCharReplacer)
|
|
}), exports.encodeNonAsciiHTML = getASCIIEncoder(inverseHTML);
|
|
var reNonASCII = /(?:[\x80-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/g,
|
|
getCodePoint = null != String.prototype.codePointAt ? function(str) {
|
|
return str.codePointAt(0)
|
|
} : function(c) {
|
|
return 1024 * (c.charCodeAt(0) - 55296) + c.charCodeAt(1) - 56320 + 65536
|
|
};
|
|
|
|
function singleCharReplacer(c) {
|
|
return "&#x" + (c.length > 1 ? getCodePoint(c) : c.charCodeAt(0)).toString(16).toUpperCase() + ";"
|
|
}
|
|
var reEscapeChars = new RegExp(xmlReplacer.source + "|" + reNonASCII.source, "g");
|
|
|
|
function getASCIIEncoder(obj) {
|
|
return function(data) {
|
|
return data.replace(reEscapeChars, function(c) {
|
|
return obj[c] || singleCharReplacer(c)
|
|
})
|
|
}
|
|
}
|
|
exports.escape = function(data) {
|
|
return data.replace(reEscapeChars, singleCharReplacer)
|
|
}, exports.escapeUTF8 = function(data) {
|
|
return data.replace(xmlReplacer, singleCharReplacer)
|
|
}
|
|
},
|
|
83140: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function(instance, scope) {
|
|
const cookiesObj = instance.createObject(instance.OBJECT);
|
|
instance.setProperty(scope, "cookies", cookiesObj, _Instance.default.READONLY_DESCRIPTOR), instance.setProperty(cookiesObj, "getAll", instance.createNativeFunction(() => {
|
|
try {
|
|
return instance.nativeToPseudo(getCookies())
|
|
} catch (err) {
|
|
return instance.throwException(instance.ERROR, err && err.message), null
|
|
}
|
|
}), _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR), instance.setProperty(cookiesObj, "getByName", instance.createNativeFunction(name => {
|
|
try {
|
|
const cookies = getCookies();
|
|
return instance.createPrimitive(cookies[instance.pseudoToNative(name)])
|
|
} catch (err) {
|
|
return instance.throwException(instance.ERROR, err && err.message), null
|
|
}
|
|
}), _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR)
|
|
};
|
|
var _Instance = _interopRequireDefault(__webpack_require__(76352));
|
|
|
|
function getCookies() {
|
|
const cookies = {};
|
|
return document.cookie.split(";").forEach(rawCookie => {
|
|
const [name, value] = rawCookie.split("=");
|
|
if ("string" == typeof name && "string" == typeof value) {
|
|
const cleanName = name.trim();
|
|
cleanName && (cookies[cleanName] = value.trim())
|
|
}
|
|
}), cookies
|
|
}
|
|
module.exports = exports.default
|
|
},
|
|
83145: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
const Mixin = __webpack_require__(28338);
|
|
module.exports = class extends Mixin {
|
|
constructor(stack, opts) {
|
|
super(stack), this.onItemPop = opts.onItemPop
|
|
}
|
|
_getOverriddenMethods(mxn, orig) {
|
|
return {
|
|
pop() {
|
|
mxn.onItemPop(this.current), orig.pop.call(this)
|
|
},
|
|
popAllUpToHtmlElement() {
|
|
for (let i = this.stackTop; i > 0; i--) mxn.onItemPop(this.items[i]);
|
|
orig.popAllUpToHtmlElement.call(this)
|
|
},
|
|
remove(element) {
|
|
mxn.onItemPop(this.current), orig.remove.call(this, element)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
83336: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
let Document = __webpack_require__(54399),
|
|
LazyResult = __webpack_require__(18368),
|
|
NoWorkResult = __webpack_require__(9581),
|
|
Root = __webpack_require__(97914);
|
|
class Processor {
|
|
constructor(plugins = []) {
|
|
this.version = "8.5.6", this.plugins = this.normalize(plugins)
|
|
}
|
|
normalize(plugins) {
|
|
let normalized = [];
|
|
for (let i of plugins)
|
|
if (!0 === i.postcss ? i = i() : i.postcss && (i = i.postcss), "object" == typeof i && Array.isArray(i.plugins)) normalized = normalized.concat(i.plugins);
|
|
else if ("object" == typeof i && i.postcssPlugin) normalized.push(i);
|
|
else if ("function" == typeof i) normalized.push(i);
|
|
else {
|
|
if ("object" != typeof i || !i.parse && !i.stringify) throw new Error(i + " is not a PostCSS plugin")
|
|
}
|
|
return normalized
|
|
}
|
|
process(css, opts = {}) {
|
|
return this.plugins.length || opts.parser || opts.stringifier || opts.syntax ? new LazyResult(this, css, opts) : new NoWorkResult(this, css, opts)
|
|
}
|
|
use(plugin) {
|
|
return this.plugins = this.plugins.concat(this.normalize([plugin])), this
|
|
}
|
|
}
|
|
module.exports = Processor, Processor.default = Processor, Root.registerProcessor(Processor), Document.registerProcessor(Processor)
|
|
},
|
|
83407: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
const regexpTree = __webpack_require__(60953),
|
|
analyzer = __webpack_require__(54576);
|
|
class HeuristicAnalyzer extends analyzer.Analyzer {
|
|
constructor(analyzerOptions) {
|
|
super(analyzerOptions)
|
|
}
|
|
isVulnerable(regExp) {
|
|
if (this._measureStarHeight(regExp) > 1) return !0;
|
|
return this._measureRepetitions(regExp) > this.options.heuristic_replimit
|
|
}
|
|
genAttackString(regExp) {
|
|
return null
|
|
}
|
|
_measureStarHeight(regExp) {
|
|
let currentStarHeight = 0,
|
|
maxObservedStarHeight = 0;
|
|
const ast = regexpTree.parse(regExp);
|
|
return regexpTree.traverse(ast, {
|
|
Repetition: {
|
|
pre({
|
|
node
|
|
}) {
|
|
currentStarHeight++, maxObservedStarHeight < currentStarHeight && (maxObservedStarHeight = currentStarHeight)
|
|
},
|
|
post({
|
|
node
|
|
}) {
|
|
currentStarHeight--
|
|
}
|
|
}
|
|
}), maxObservedStarHeight
|
|
}
|
|
_measureRepetitions(regExp) {
|
|
let nRepetitions = 0;
|
|
const ast = regexpTree.parse(regExp);
|
|
return regexpTree.traverse(ast, {
|
|
Repetition: {
|
|
pre({
|
|
node
|
|
}) {
|
|
nRepetitions++
|
|
}
|
|
}
|
|
}), nRepetitions
|
|
}
|
|
}
|
|
module.exports = HeuristicAnalyzer
|
|
},
|
|
83684: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function(instance, scope) {
|
|
const parallelObj = instance.createObject(instance.OBJECT);
|
|
instance.setProperty(scope, "parallel", parallelObj, _Instance.default.READONLY_DESCRIPTOR), instance.setProperty(parallelObj, "map", instance.createAsyncFunction((...args) => {
|
|
const callback = args[args.length - 1];
|
|
return _bluebird.default.try(() => {
|
|
if (args.length < 3) throw new Error("missing arguments");
|
|
if (!_Instance.default.isa(args[0], instance.ARRAY)) throw new Error("first argument must be an array");
|
|
if (!_Instance.default.isa(args[1], instance.FUNCTION)) throw new Error("second argument must be a function");
|
|
let concurrency = 1 / 0;
|
|
args.length > 3 && (concurrency = instance.pseudoToNative(args[2]));
|
|
const arr = instance.pseudoToNative(args[0]);
|
|
return _bluebird.default.map(arr, (elem, i) => instance.runThread(args[1], [elem, i]), {
|
|
concurrency
|
|
})
|
|
}).then(res => callback(instance.nativeToPseudo(res))).catch(err => {
|
|
instance.throwException(instance.ERROR, `parallel.map error: ${err&&err.message||"unknown"}`), callback()
|
|
}), null
|
|
}), _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR), instance.setProperty(parallelObj, "props", instance.createAsyncFunction((...args) => {
|
|
const callback = args[args.length - 1];
|
|
return _bluebird.default.try(() => {
|
|
if (args.length < 2) throw new Error("missing arguments");
|
|
if (!_Instance.default.isa(args[0], instance.OBJECT)) throw new Error("first argument must be an object");
|
|
const props = {};
|
|
return Object.keys(args[0].properties).forEach(key => {
|
|
const func = (0, _cloneScope.default)(args[0].properties[key], void 0, void 0, void 0, !0),
|
|
funcType = func && func.node && func.node.type;
|
|
if ("FunctionDeclaration" === funcType) func.node.type = "FunctionExpression";
|
|
else if ("FunctionExpression" !== funcType) throw new Error("all object values are required to be functions");
|
|
props[key] = func
|
|
}), Object.keys(props).forEach((key, i) => {
|
|
props[key] = instance.runThread(props[key], [i])
|
|
}), _bluebird.default.props(props)
|
|
}).then(res => callback(instance.nativeToPseudo(res))).catch(err => {
|
|
instance.throwException(instance.ERROR, `parallel.props error: ${err&&err.message||"unknown"}`), callback()
|
|
}), null
|
|
}), _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR), instance.setProperty(parallelObj, "all", instance.createAsyncFunction((...args) => {
|
|
const callback = args[args.length - 1];
|
|
return _bluebird.default.try(() => {
|
|
if (args.length < 2) throw new Error("missing arguments");
|
|
if (!_Instance.default.isa(args[0], instance.ARRAY)) throw new Error("first argument must be an array");
|
|
const funcs = [];
|
|
for (let i = 0; i < args[0].length; i += 1) {
|
|
const func = (0, _cloneScope.default)(args[0].properties[i], void 0, void 0, void 0, !0),
|
|
funcType = func && func.node && func.node.type;
|
|
if ("FunctionDeclaration" === funcType) func.node.type = "FunctionExpression";
|
|
else if ("FunctionExpression" !== funcType) throw new Error("all array elements are required to be functions");
|
|
funcs.push(func)
|
|
}
|
|
return _bluebird.default.all(funcs.map((fn, i) => instance.runThread(fn, [i])))
|
|
}).then(res => callback(instance.nativeToPseudo(res))).catch(err => {
|
|
instance.throwException(instance.ERROR, `parallel.all error: ${err&&err.message||"unknown"}`), callback()
|
|
}), null
|
|
}), _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR), instance.setProperty(parallelObj, "some", instance.createAsyncFunction((...args) => {
|
|
const callback = args[args.length - 1];
|
|
return _bluebird.default.try(() => {
|
|
if (args.length < 3) throw new Error("missing arguments");
|
|
if (!_Instance.default.isa(args[0], instance.ARRAY)) throw new Error("first argument must be an array");
|
|
const count = instance.pseudoToNative(args[1]),
|
|
funcs = [];
|
|
for (let i = 0; i < args[0].length; i += 1) {
|
|
const func = (0, _cloneScope.default)(args[0].properties[i], void 0, void 0, void 0, !0),
|
|
funcType = func && func.node && func.node.type;
|
|
if ("FunctionDeclaration" === funcType) func.node.type = "FunctionExpression";
|
|
else if ("FunctionExpression" !== funcType) throw new Error("all array elements are required to be functions");
|
|
funcs.push(func)
|
|
}
|
|
return _bluebird.default.some(funcs.map((fn, i) => instance.runThread(fn, [i])), count)
|
|
}).then(res => callback(instance.nativeToPseudo(res))).catch(err => {
|
|
instance.throwException(instance.ERROR, `parallel.some error: ${err&&err.message||"unknown"}`), callback()
|
|
}), null
|
|
}), _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR), instance.setProperty(parallelObj, "any", instance.createAsyncFunction((...args) => {
|
|
const callback = args[args.length - 1];
|
|
return _bluebird.default.try(() => {
|
|
if (args.length < 2) throw new Error("missing arguments");
|
|
if (!_Instance.default.isa(args[0], instance.ARRAY)) throw new Error("first argument must be an array");
|
|
const funcs = [];
|
|
for (let i = 0; i < args[0].length; i += 1) {
|
|
const func = (0, _cloneScope.default)(args[0].properties[i], void 0, void 0, void 0, !0),
|
|
funcType = func && func.node && func.node.type;
|
|
if ("FunctionDeclaration" === funcType) func.node.type = "FunctionExpression";
|
|
else if ("FunctionExpression" !== funcType) throw new Error("all array elements are required to be functions");
|
|
funcs.push(func)
|
|
}
|
|
return _bluebird.default.any(funcs.map((fn, i) => instance.runThread(fn, [i])))
|
|
}).then(res => callback(instance.nativeToPseudo(res))).catch(err => {
|
|
instance.throwException(instance.ERROR, `parallel.any error: ${err&&err.message||"unknown"}`), callback()
|
|
}), null
|
|
}), _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR)
|
|
};
|
|
var _bluebird = _interopRequireDefault(__webpack_require__(262)),
|
|
_Instance = _interopRequireDefault(__webpack_require__(76352)),
|
|
_cloneScope = _interopRequireDefault(__webpack_require__(91960));
|
|
module.exports = exports.default
|
|
},
|
|
84605: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912)),
|
|
_helpers = _interopRequireDefault(__webpack_require__(16065));
|
|
exports.default = new _dac.default({
|
|
description: "Home Depot Acorn DAC",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 10
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "98",
|
|
name: "home-depot"
|
|
}],
|
|
doDac: async function(couponCode, selector, priceAmt, applyBestCode) {
|
|
let price = priceAmt;
|
|
return function(res) {
|
|
let response;
|
|
try {
|
|
response = res
|
|
} catch (e) {}
|
|
price = response.checkoutModel.errorModel ? priceAmt : response && response.checkoutModel && response.checkoutModel.orderModel && response.checkoutModel.orderModel.orderAmount, (0, _jquery.default)('div[data-automation-id="total_price"]').text(_legacyHoneyUtils.default.formatPrice(price))
|
|
}(await async function() {
|
|
const res = _jquery.default.ajax({
|
|
url: "https://www.homedepot.com/mcc-checkout/v2/promo/add",
|
|
type: "POST",
|
|
data: JSON.stringify({
|
|
PromotionUpdateRequest: {
|
|
promotionCodes: [couponCode]
|
|
}
|
|
}),
|
|
dataType: "application/json;charset=utf-8",
|
|
headers: {
|
|
Accept: "application/json, text/plain, */*",
|
|
"Content-Type": "application/json"
|
|
}
|
|
});
|
|
return await res.done(_data => {
|
|
_logger.default.debug("Finishing code application")
|
|
}), res
|
|
}()), !1 === applyBestCode ? await async function() {
|
|
const res = _jquery.default.ajax({
|
|
url: "https://www.homedepot.com/mcc-checkout/v2/promo/delete/" + code,
|
|
type: "POST",
|
|
headers: {
|
|
Accept: "application/json",
|
|
"content-type": "application/json"
|
|
}
|
|
});
|
|
await res.done(_data => {
|
|
_logger.default.debug("Removing code")
|
|
})
|
|
}(): (window.location = window.location.href, await (0, _helpers.default)(2e3)), Number(_legacyHoneyUtils.default.cleanPrice(price))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
84650: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
const defaultTreeAdapter = __webpack_require__(436),
|
|
mergeOptions = __webpack_require__(69340),
|
|
doctype = __webpack_require__(38541),
|
|
HTML = __webpack_require__(53530),
|
|
$ = HTML.TAG_NAMES,
|
|
NS = HTML.NAMESPACES,
|
|
DEFAULT_OPTIONS = {
|
|
treeAdapter: defaultTreeAdapter
|
|
},
|
|
AMP_REGEX = /&/g,
|
|
NBSP_REGEX = /\u00a0/g,
|
|
DOUBLE_QUOTE_REGEX = /"/g,
|
|
LT_REGEX = /</g,
|
|
GT_REGEX = />/g;
|
|
class Serializer {
|
|
constructor(node, options) {
|
|
this.options = mergeOptions(DEFAULT_OPTIONS, options), this.treeAdapter = this.options.treeAdapter, this.html = "", this.startNode = node
|
|
}
|
|
serialize() {
|
|
return this._serializeChildNodes(this.startNode), this.html
|
|
}
|
|
_serializeChildNodes(parentNode) {
|
|
const childNodes = this.treeAdapter.getChildNodes(parentNode);
|
|
if (childNodes)
|
|
for (let i = 0, cnLength = childNodes.length; i < cnLength; i++) {
|
|
const currentNode = childNodes[i];
|
|
this.treeAdapter.isElementNode(currentNode) ? this._serializeElement(currentNode) : this.treeAdapter.isTextNode(currentNode) ? this._serializeTextNode(currentNode) : this.treeAdapter.isCommentNode(currentNode) ? this._serializeCommentNode(currentNode) : this.treeAdapter.isDocumentTypeNode(currentNode) && this._serializeDocumentTypeNode(currentNode)
|
|
}
|
|
}
|
|
_serializeElement(node) {
|
|
const tn = this.treeAdapter.getTagName(node),
|
|
ns = this.treeAdapter.getNamespaceURI(node);
|
|
if (this.html += "<" + tn, this._serializeAttributes(node), this.html += ">", tn !== $.AREA && tn !== $.BASE && tn !== $.BASEFONT && tn !== $.BGSOUND && tn !== $.BR && tn !== $.COL && tn !== $.EMBED && tn !== $.FRAME && tn !== $.HR && tn !== $.IMG && tn !== $.INPUT && tn !== $.KEYGEN && tn !== $.LINK && tn !== $.META && tn !== $.PARAM && tn !== $.SOURCE && tn !== $.TRACK && tn !== $.WBR) {
|
|
const childNodesHolder = tn === $.TEMPLATE && ns === NS.HTML ? this.treeAdapter.getTemplateContent(node) : node;
|
|
this._serializeChildNodes(childNodesHolder), this.html += "</" + tn + ">"
|
|
}
|
|
}
|
|
_serializeAttributes(node) {
|
|
const attrs = this.treeAdapter.getAttrList(node);
|
|
for (let i = 0, attrsLength = attrs.length; i < attrsLength; i++) {
|
|
const attr = attrs[i],
|
|
value = Serializer.escapeString(attr.value, !0);
|
|
this.html += " ", attr.namespace ? attr.namespace === NS.XML ? this.html += "xml:" + attr.name : attr.namespace === NS.XMLNS ? ("xmlns" !== attr.name && (this.html += "xmlns:"), this.html += attr.name) : attr.namespace === NS.XLINK ? this.html += "xlink:" + attr.name : this.html += attr.prefix + ":" + attr.name : this.html += attr.name, this.html += '="' + value + '"'
|
|
}
|
|
}
|
|
_serializeTextNode(node) {
|
|
const content = this.treeAdapter.getTextNodeContent(node),
|
|
parent = this.treeAdapter.getParentNode(node);
|
|
let parentTn;
|
|
parent && this.treeAdapter.isElementNode(parent) && (parentTn = this.treeAdapter.getTagName(parent)), parentTn === $.STYLE || parentTn === $.SCRIPT || parentTn === $.XMP || parentTn === $.IFRAME || parentTn === $.NOEMBED || parentTn === $.NOFRAMES || parentTn === $.PLAINTEXT || parentTn === $.NOSCRIPT ? this.html += content : this.html += Serializer.escapeString(content, !1)
|
|
}
|
|
_serializeCommentNode(node) {
|
|
this.html += "\x3c!--" + this.treeAdapter.getCommentNodeContent(node) + "--\x3e"
|
|
}
|
|
_serializeDocumentTypeNode(node) {
|
|
const name = this.treeAdapter.getDocumentTypeNodeName(node);
|
|
this.html += "<" + doctype.serializeContent(name, null, null) + ">"
|
|
}
|
|
}
|
|
Serializer.escapeString = function(str, attrMode) {
|
|
return str = str.replace(AMP_REGEX, "&").replace(NBSP_REGEX, " "), str = attrMode ? str.replace(DOUBLE_QUOTE_REGEX, """) : str.replace(LT_REGEX, "<").replace(GT_REGEX, ">")
|
|
}, module.exports = Serializer
|
|
},
|
|
84708: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function(instance, scope) {
|
|
const locationObj = instance.createObject(instance.OBJECT);
|
|
instance.setProperty(scope, "location", locationObj, _Instance.default.READONLY_DESCRIPTOR), instance.setProperty(locationObj, "getCurrentLocation", instance.createNativeFunction(() => instance.nativeToPseudo({
|
|
href: window.location.href,
|
|
search: window.location.search,
|
|
pathname: window.location.pathname
|
|
}))), instance.setProperty(locationObj, "href", instance.createPrimitive(window.location.href), _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR), instance.setProperty(locationObj, "search", instance.createPrimitive(window.location.search), _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR), instance.setProperty(locationObj, "pathname", instance.createPrimitive(window.location.pathname), _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR), instance.setProperty(locationObj, "load", instance.createAsyncFunction((...args) => {
|
|
const callback = args[args.length - 1];
|
|
try {
|
|
args.length > 1 ? window.location = instance.pseudoToNative(args[0]) : window.location.reload()
|
|
} catch (err) {
|
|
instance.throwException(instance.ERROR, err && err.message)
|
|
}
|
|
callback()
|
|
}), _Instance.default.READONLY_NONENUMERABLE_DESCRIPTOR)
|
|
};
|
|
var _Instance = _interopRequireDefault(__webpack_require__(76352));
|
|
module.exports = exports.default
|
|
},
|
|
84894: module => {
|
|
module.exports = {
|
|
trueFunc: function() {
|
|
return !0
|
|
},
|
|
falseFunc: function() {
|
|
return !1
|
|
}
|
|
}
|
|
},
|
|
84979: module => {
|
|
function Emitter(obj) {
|
|
if (obj) return function(obj) {
|
|
for (var key in Emitter.prototype) obj[key] = Emitter.prototype[key];
|
|
return obj
|
|
}(obj)
|
|
}
|
|
module.exports = Emitter, Emitter.prototype.on = Emitter.prototype.addEventListener = function(event, fn) {
|
|
return this._callbacks = this._callbacks || {}, (this._callbacks["$" + event] = this._callbacks["$" + event] || []).push(fn), this
|
|
}, Emitter.prototype.once = function(event, fn) {
|
|
function on() {
|
|
this.off(event, on), fn.apply(this, arguments)
|
|
}
|
|
return on.fn = fn, this.on(event, on), this
|
|
}, Emitter.prototype.off = Emitter.prototype.removeListener = Emitter.prototype.removeAllListeners = Emitter.prototype.removeEventListener = function(event, fn) {
|
|
if (this._callbacks = this._callbacks || {}, 0 == arguments.length) return this._callbacks = {}, this;
|
|
var cb, callbacks = this._callbacks["$" + event];
|
|
if (!callbacks) return this;
|
|
if (1 == arguments.length) return delete this._callbacks["$" + event], this;
|
|
for (var i = 0; i < callbacks.length; i++)
|
|
if ((cb = callbacks[i]) === fn || cb.fn === fn) {
|
|
callbacks.splice(i, 1);
|
|
break
|
|
} return 0 === callbacks.length && delete this._callbacks["$" + event], this
|
|
}, Emitter.prototype.emit = function(event) {
|
|
this._callbacks = this._callbacks || {};
|
|
for (var args = new Array(arguments.length - 1), callbacks = this._callbacks["$" + event], i = 1; i < arguments.length; i++) args[i - 1] = arguments[i];
|
|
if (callbacks) {
|
|
i = 0;
|
|
for (var len = (callbacks = callbacks.slice(0)).length; i < len; ++i) callbacks[i].apply(this, args)
|
|
}
|
|
return this
|
|
}, Emitter.prototype.listeners = function(event) {
|
|
return this._callbacks = this._callbacks || {}, this._callbacks["$" + event] || []
|
|
}, Emitter.prototype.hasListeners = function(event) {
|
|
return !!this.listeners(event).length
|
|
}
|
|
},
|
|
84997: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var GetIntrinsic = __webpack_require__(73083),
|
|
callBound = __webpack_require__(33862),
|
|
inspect = __webpack_require__(88433),
|
|
$TypeError = __webpack_require__(79809),
|
|
$Map = GetIntrinsic("%Map%", !0),
|
|
$mapGet = callBound("Map.prototype.get", !0),
|
|
$mapSet = callBound("Map.prototype.set", !0),
|
|
$mapHas = callBound("Map.prototype.has", !0),
|
|
$mapDelete = callBound("Map.prototype.delete", !0),
|
|
$mapSize = callBound("Map.prototype.size", !0);
|
|
module.exports = !!$Map && function() {
|
|
var $m, channel = {
|
|
assert: function(key) {
|
|
if (!channel.has(key)) throw new $TypeError("Side channel does not contain " + inspect(key))
|
|
},
|
|
delete: function(key) {
|
|
if ($m) {
|
|
var result = $mapDelete($m, key);
|
|
return 0 === $mapSize($m) && ($m = void 0), result
|
|
}
|
|
return !1
|
|
},
|
|
get: function(key) {
|
|
if ($m) return $mapGet($m, key)
|
|
},
|
|
has: function(key) {
|
|
return !!$m && $mapHas($m, key)
|
|
},
|
|
set: function(key, value) {
|
|
$m || ($m = new $Map), $mapSet($m, key, value)
|
|
}
|
|
};
|
|
return channel
|
|
}
|
|
},
|
|
85363: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
const state = this.stateStack.pop(),
|
|
nameStr = state.node.name,
|
|
name = this.createPrimitive(nameStr),
|
|
value = state.components ? name : this.getValueFromScope(name);
|
|
if (value && value.isGetter) {
|
|
value.isGetter = !1;
|
|
let scope = this.getScope();
|
|
for (; !this.hasProperty(scope, nameStr);) scope = scope.parentScope;
|
|
this.pushGetter(value, this.global)
|
|
} else this.stateStack[this.stateStack.length - 1].value = value
|
|
}, module.exports = exports.default
|
|
},
|
|
85629: function(module, exports, __webpack_require__) {
|
|
var CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), __webpack_require__(10608), __webpack_require__(65554), __webpack_require__(34120), __webpack_require__(74047), function() {
|
|
var C = CryptoJS,
|
|
BlockCipher = C.lib.BlockCipher,
|
|
C_algo = C.algo,
|
|
SBOX = [],
|
|
INV_SBOX = [],
|
|
SUB_MIX_0 = [],
|
|
SUB_MIX_1 = [],
|
|
SUB_MIX_2 = [],
|
|
SUB_MIX_3 = [],
|
|
INV_SUB_MIX_0 = [],
|
|
INV_SUB_MIX_1 = [],
|
|
INV_SUB_MIX_2 = [],
|
|
INV_SUB_MIX_3 = [];
|
|
! function() {
|
|
for (var d = [], i = 0; i < 256; i++) d[i] = i < 128 ? i << 1 : i << 1 ^ 283;
|
|
var x = 0,
|
|
xi = 0;
|
|
for (i = 0; i < 256; i++) {
|
|
var sx = xi ^ xi << 1 ^ xi << 2 ^ xi << 3 ^ xi << 4;
|
|
sx = sx >>> 8 ^ 255 & sx ^ 99, SBOX[x] = sx, INV_SBOX[sx] = x;
|
|
var x2 = d[x],
|
|
x4 = d[x2],
|
|
x8 = d[x4],
|
|
t = 257 * d[sx] ^ 16843008 * sx;
|
|
SUB_MIX_0[x] = t << 24 | t >>> 8, SUB_MIX_1[x] = t << 16 | t >>> 16, SUB_MIX_2[x] = t << 8 | t >>> 24, SUB_MIX_3[x] = t, t = 16843009 * x8 ^ 65537 * x4 ^ 257 * x2 ^ 16843008 * x, INV_SUB_MIX_0[sx] = t << 24 | t >>> 8, INV_SUB_MIX_1[sx] = t << 16 | t >>> 16, INV_SUB_MIX_2[sx] = t << 8 | t >>> 24, INV_SUB_MIX_3[sx] = t, x ? (x = x2 ^ d[d[d[x8 ^ x2]]], xi ^= d[d[xi]]) : x = xi = 1
|
|
}
|
|
}();
|
|
var RCON = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54],
|
|
AES = C_algo.AES = BlockCipher.extend({
|
|
_doReset: function() {
|
|
if (!this._nRounds || this._keyPriorReset !== this._key) {
|
|
for (var key = this._keyPriorReset = this._key, keyWords = key.words, keySize = key.sigBytes / 4, ksRows = 4 * ((this._nRounds = keySize + 6) + 1), keySchedule = this._keySchedule = [], ksRow = 0; ksRow < ksRows; ksRow++) ksRow < keySize ? keySchedule[ksRow] = keyWords[ksRow] : (t = keySchedule[ksRow - 1], ksRow % keySize ? keySize > 6 && ksRow % keySize == 4 && (t = SBOX[t >>> 24] << 24 | SBOX[t >>> 16 & 255] << 16 | SBOX[t >>> 8 & 255] << 8 | SBOX[255 & t]) : (t = SBOX[(t = t << 8 | t >>> 24) >>> 24] << 24 | SBOX[t >>> 16 & 255] << 16 | SBOX[t >>> 8 & 255] << 8 | SBOX[255 & t], t ^= RCON[ksRow / keySize | 0] << 24), keySchedule[ksRow] = keySchedule[ksRow - keySize] ^ t);
|
|
for (var invKeySchedule = this._invKeySchedule = [], invKsRow = 0; invKsRow < ksRows; invKsRow++) {
|
|
if (ksRow = ksRows - invKsRow, invKsRow % 4) var t = keySchedule[ksRow];
|
|
else t = keySchedule[ksRow - 4];
|
|
invKeySchedule[invKsRow] = invKsRow < 4 || ksRow <= 4 ? t : INV_SUB_MIX_0[SBOX[t >>> 24]] ^ INV_SUB_MIX_1[SBOX[t >>> 16 & 255]] ^ INV_SUB_MIX_2[SBOX[t >>> 8 & 255]] ^ INV_SUB_MIX_3[SBOX[255 & t]]
|
|
}
|
|
}
|
|
},
|
|
encryptBlock: function(M, offset) {
|
|
this._doCryptBlock(M, offset, this._keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX)
|
|
},
|
|
decryptBlock: function(M, offset) {
|
|
var t = M[offset + 1];
|
|
M[offset + 1] = M[offset + 3], M[offset + 3] = t, this._doCryptBlock(M, offset, this._invKeySchedule, INV_SUB_MIX_0, INV_SUB_MIX_1, INV_SUB_MIX_2, INV_SUB_MIX_3, INV_SBOX), t = M[offset + 1], M[offset + 1] = M[offset + 3], M[offset + 3] = t
|
|
},
|
|
_doCryptBlock: function(M, offset, keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX) {
|
|
for (var nRounds = this._nRounds, s0 = M[offset] ^ keySchedule[0], s1 = M[offset + 1] ^ keySchedule[1], s2 = M[offset + 2] ^ keySchedule[2], s3 = M[offset + 3] ^ keySchedule[3], ksRow = 4, round = 1; round < nRounds; round++) {
|
|
var t0 = SUB_MIX_0[s0 >>> 24] ^ SUB_MIX_1[s1 >>> 16 & 255] ^ SUB_MIX_2[s2 >>> 8 & 255] ^ SUB_MIX_3[255 & s3] ^ keySchedule[ksRow++],
|
|
t1 = SUB_MIX_0[s1 >>> 24] ^ SUB_MIX_1[s2 >>> 16 & 255] ^ SUB_MIX_2[s3 >>> 8 & 255] ^ SUB_MIX_3[255 & s0] ^ keySchedule[ksRow++],
|
|
t2 = SUB_MIX_0[s2 >>> 24] ^ SUB_MIX_1[s3 >>> 16 & 255] ^ SUB_MIX_2[s0 >>> 8 & 255] ^ SUB_MIX_3[255 & s1] ^ keySchedule[ksRow++],
|
|
t3 = SUB_MIX_0[s3 >>> 24] ^ SUB_MIX_1[s0 >>> 16 & 255] ^ SUB_MIX_2[s1 >>> 8 & 255] ^ SUB_MIX_3[255 & s2] ^ keySchedule[ksRow++];
|
|
s0 = t0, s1 = t1, s2 = t2, s3 = t3
|
|
}
|
|
t0 = (SBOX[s0 >>> 24] << 24 | SBOX[s1 >>> 16 & 255] << 16 | SBOX[s2 >>> 8 & 255] << 8 | SBOX[255 & s3]) ^ keySchedule[ksRow++], t1 = (SBOX[s1 >>> 24] << 24 | SBOX[s2 >>> 16 & 255] << 16 | SBOX[s3 >>> 8 & 255] << 8 | SBOX[255 & s0]) ^ keySchedule[ksRow++], t2 = (SBOX[s2 >>> 24] << 24 | SBOX[s3 >>> 16 & 255] << 16 | SBOX[s0 >>> 8 & 255] << 8 | SBOX[255 & s1]) ^ keySchedule[ksRow++], t3 = (SBOX[s3 >>> 24] << 24 | SBOX[s0 >>> 16 & 255] << 16 | SBOX[s1 >>> 8 & 255] << 8 | SBOX[255 & s2]) ^ keySchedule[ksRow++], M[offset] = t0, M[offset + 1] = t1, M[offset + 2] = t2, M[offset + 3] = t3
|
|
},
|
|
keySize: 8
|
|
});
|
|
C.AES = BlockCipher._createHelper(AES)
|
|
}(), CryptoJS.AES)
|
|
},
|
|
85865: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
const state = this.stateStack[this.stateStack.length - 1],
|
|
node = state.node,
|
|
valueToggle = state.valueToggle_,
|
|
n = state.n_ || 0;
|
|
state.object ? valueToggle ? state.key_ = state.value : (state.properties[state.key_] || (state.properties[state.key_] = {}), state.properties[state.key_][state.kind_] = state.value) : (state.object = this.createObject(this.OBJECT), state.properties = Object.create(null));
|
|
node.properties[n] ? (valueToggle ? (state.n_ = n + 1, this.stateStack.push({
|
|
node: node.properties[n].value
|
|
})) : (state.kind_ = node.properties[n].kind, this.stateStack.push({
|
|
node: node.properties[n].key,
|
|
components: !0
|
|
})), state.valueToggle_ = !valueToggle) : (Object.entries(state.properties).forEach(([key, kinds]) => {
|
|
void 0 !== kinds.get || void 0 !== kinds.set ? this.setProperty(state.object, key, null, {
|
|
configurable: !0,
|
|
enumerable: !0,
|
|
get: kinds.get,
|
|
set: kinds.set
|
|
}) : this.setProperty(state.object, key, kinds.init)
|
|
}), this.stateStack.pop(), this.stateStack[this.stateStack.length - 1].value = state.object)
|
|
}, module.exports = exports.default
|
|
},
|
|
86025: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912)),
|
|
_helpers = _interopRequireDefault(__webpack_require__(16065));
|
|
exports.default = new _dac.default({
|
|
description: "Old Navy FS",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 20
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "7359076077111276588",
|
|
name: "Old Navy"
|
|
}],
|
|
doDac: async function(couponCode, selector, priceAmt, applyBestCode) {
|
|
let price = priceAmt;
|
|
return function(res) {
|
|
try {
|
|
price = res.summaryOfCharges.myTotal
|
|
} catch (e) {}
|
|
Number(_legacyHoneyUtils.default.cleanPrice(price)) < priceAmt && (0, _jquery.default)("#shopping-bag-page span.total-price").text(price)
|
|
}(await async function() {
|
|
const brandType = ((0, _jquery.default)("script:contains(SHOPPING_BAG_STATE)").text().match(/brandType":"(\w+)"/) || [])[1],
|
|
res = _jquery.default.ajax({
|
|
url: "https://secure-oldnavy.gap.com/shopping-bag-xapi/apply-bag-promo/",
|
|
method: "POST",
|
|
headers: {
|
|
"bag-ui-leapfrog": "false",
|
|
channel: "WEB",
|
|
brand: "ON",
|
|
brandtype: brandType || "specialty",
|
|
market: "US",
|
|
guest: "true",
|
|
locale: "en_US",
|
|
"content-type": "application/json;charset=UTF-8"
|
|
},
|
|
data: JSON.stringify({
|
|
promoCode: couponCode
|
|
})
|
|
});
|
|
return await res.done(_data => {
|
|
_logger.default.debug("Finishing code application")
|
|
}), res
|
|
}()), !0 === applyBestCode && (window.location = window.location.href, await (0, _helpers.default)(2e3)), Number(_legacyHoneyUtils.default.cleanPrice(price))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
86053: function(module) {
|
|
module.exports = function() {
|
|
"use strict";
|
|
return function(r, e, t) {
|
|
r = r || {};
|
|
var n = e.prototype,
|
|
o = {
|
|
future: "in %s",
|
|
past: "%s ago",
|
|
s: "a few seconds",
|
|
m: "a minute",
|
|
mm: "%d minutes",
|
|
h: "an hour",
|
|
hh: "%d hours",
|
|
d: "a day",
|
|
dd: "%d days",
|
|
M: "a month",
|
|
MM: "%d months",
|
|
y: "a year",
|
|
yy: "%d years"
|
|
};
|
|
|
|
function i(r, e, t, o) {
|
|
return n.fromToBase(r, e, t, o)
|
|
}
|
|
t.en.relativeTime = o, n.fromToBase = function(e, n, i, d, u) {
|
|
for (var f, a, s, l = i.$locale().relativeTime || o, h = r.thresholds || [{
|
|
l: "s",
|
|
r: 44,
|
|
d: "second"
|
|
}, {
|
|
l: "m",
|
|
r: 89
|
|
}, {
|
|
l: "mm",
|
|
r: 44,
|
|
d: "minute"
|
|
}, {
|
|
l: "h",
|
|
r: 89
|
|
}, {
|
|
l: "hh",
|
|
r: 21,
|
|
d: "hour"
|
|
}, {
|
|
l: "d",
|
|
r: 35
|
|
}, {
|
|
l: "dd",
|
|
r: 25,
|
|
d: "day"
|
|
}, {
|
|
l: "M",
|
|
r: 45
|
|
}, {
|
|
l: "MM",
|
|
r: 10,
|
|
d: "month"
|
|
}, {
|
|
l: "y",
|
|
r: 17
|
|
}, {
|
|
l: "yy",
|
|
d: "year"
|
|
}], m = h.length, c = 0; c < m; c += 1) {
|
|
var y = h[c];
|
|
y.d && (f = d ? t(e).diff(i, y.d, !0) : i.diff(e, y.d, !0));
|
|
var p = (r.rounding || Math.round)(Math.abs(f));
|
|
if (s = f > 0, p <= y.r || !y.r) {
|
|
p <= 1 && c > 0 && (y = h[c - 1]);
|
|
var v = l[y.l];
|
|
u && (p = u("" + p)), a = "string" == typeof v ? v.replace("%d", p) : v(p, n, y.l, s);
|
|
break
|
|
}
|
|
}
|
|
if (n) return a;
|
|
var M = s ? l.future : l.past;
|
|
return "function" == typeof M ? M(a) : M.replace("%s", a)
|
|
}, n.to = function(r, e) {
|
|
return i(r, e, this, !0)
|
|
}, n.from = function(r, e) {
|
|
return i(r, e, this)
|
|
};
|
|
var d = function(r) {
|
|
return r.$u ? t.utc() : t()
|
|
};
|
|
n.toNow = function(r) {
|
|
return this.to(d(this), r)
|
|
}, n.fromNow = function(r) {
|
|
return this.from(d(this), r)
|
|
}
|
|
}
|
|
}()
|
|
},
|
|
86069: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912)),
|
|
_helpers = _interopRequireDefault(__webpack_require__(16065));
|
|
exports.default = new _dac.default({
|
|
description: "CVS DAC",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 10
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "7422251010108067594",
|
|
name: "CVS"
|
|
}],
|
|
doDac: async function(code, selector, priceAmt, applyBestCode) {
|
|
let price = priceAmt;
|
|
if (!0 !== applyBestCode) {
|
|
! function(res) {
|
|
try {
|
|
price = res.response.details.orderDetails.orderSummary.total
|
|
} catch (e) {}
|
|
Number(_legacyHoneyUtils.default.cleanPrice(price)) < priceAmt && (0, _jquery.default)(selector).text(Number(_legacyHoneyUtils.default.cleanPrice(price)))
|
|
}(await async function() {
|
|
const userToken = window.sessionStorage.getItem("cvsbfp_v2"),
|
|
couponData = {
|
|
request: {
|
|
header: {
|
|
apiKey: "a2ff75c6-2da7-4299-929d-d670d827ab4a",
|
|
appName: "CVS_WEB",
|
|
channelName: "WEB",
|
|
deviceToken: "BLNK",
|
|
deviceType: "DESKTOP",
|
|
lineOfBusiness: "RETAIL"
|
|
}
|
|
},
|
|
requestPayload: {
|
|
couponCode: code,
|
|
isECCouponAllowed: "Y",
|
|
couponType: "ATG",
|
|
enableSplitFulfillment: "Y"
|
|
}
|
|
};
|
|
let res;
|
|
try {
|
|
res = _jquery.default.ajax({
|
|
url: "https://www.cvs.com/RETAGPV3/RxExpress/V2/applyCoupon",
|
|
method: "POST",
|
|
headers: {
|
|
accept: "application/json",
|
|
"accept-language": "en-US,en;q=0.9",
|
|
channeltype: "WEB",
|
|
"content-type": "application/json",
|
|
"x-client-fingerprint-id": userToken
|
|
},
|
|
data: JSON.stringify(couponData)
|
|
}), await res.done(_data => {
|
|
_logger.default.debug("Finishing code application")
|
|
}).fail((xhr, textStatus, errorThrown) => {
|
|
_logger.default.debug(`Error: ${errorThrown}`)
|
|
})
|
|
} catch (e) {}
|
|
return res
|
|
}())
|
|
} else window.location = window.location.href, await new Promise(resolve => window.addEventListener("load", resolve)), await (0, _helpers.default)(2e3);
|
|
return Number(_legacyHoneyUtils.default.cleanPrice(price))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
86139: module => {
|
|
"use strict";
|
|
module.exports = JSON.parse('{"name":"PPVariantColor","groups":[],"isRequired":false,"preconditions":[],"scoreThreshold":2,"tests":[{"method":"testIfInnerHtmlContainsLength","options":{"tags":"a","expected":"outofstock","matchWeight":"0","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLength","options":{"expected":"^(select)?color","matchWeight":"5","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLength","options":{"expected":"^color-?pleaseselect-?","onlyVisibleText":"true","matchWeight":"10","unMatchWeight":"1"},"_comment":"for-fans-by-fans"},{"method":"testIfAncestorAttrsContain","options":{"tags":"img","expected":"attr-color","generations":"2","matchWeight":"5","unMatchWeight":"1"},"_comment":"new-chic"},{"method":"testIfAncestorAttrsContain","options":{"tags":"img","expected":"out-stock|selected|unavailable","generations":"2","matchWeight":"0","unMatchWeight":"1"}},{"method":"testIfInnerHtmlContainsLength","options":{"expected":"<(div|input)","matchWeight":"0.1","unMatchWeight":"1"},"_comment":"Lower weight if contains other elements"}],"shape":[{"value":"^(app-box-selector|h1|h2|h3|label|li|option|p|section|ul)$","weight":0,"scope":"tag","_comment":"Filter out element tags we don\'t want to match against"},{"value":"^(div|span)$","weight":0.5,"scope":"tag","_comment":"Can\'t be 0 because of bloomscape/hammacher-schlemmer"},{"value":"false","weight":0.6,"scope":"data-honey_is_visible"},{"value":"^(black|white|grey|gray|blue|red|orange|yellow|green|gold|silver|turquoise|pink)$","weight":5,"scope":"title","_comment":"Exact full string match on title"},{"value":"^(black|white|grey|gray|blue|red|orange|yellow|green|gold|silver|turquoise|pink)$","weight":5,"scope":"aria-label","_comment":"Exact full string match on aria-label"},{"value":"^(black|white|grey|gray|blue|red|orange|yellow|green|gold|silver|turquoise|pink)$","weight":5,"scope":"data-label","_comment":"Exact full string match on data-label"},{"value":"^(black|white|grey|gray|blue|red|orange|yellow|green|gold|silver|turquoise|pink)$","weight":5,"scope":"alt","_comment":"Exact full string match on alt"},{"value":"^(black|white|grey|gray|blue|red|orange|yellow|green|gold|silver|turquoise|pink)$","weight":5,"scope":"value","_comment":"Exact full string match on value"},{"value":"(black|white|grey|gray|blue|red|orange|yellow|green|gold|silver|turquoise|pink)","weight":2,"scope":"title","_comment":"String contains color in title"},{"value":"(black|white|grey|gray|blue|red|orange|yellow|green|gold|silver|turquoise|pink)","weight":2,"scope":"aria-label","_comment":"String contains color in aria-label"},{"value":"(black|white|grey|gray|blue|red|orange|yellow|green|gold|silver|turquoise|pink)","weight":2,"scope":"data-label","_comment":"String contains color in data-label"},{"value":"(black|white|grey|gray|blue|red|orange|yellow|green|gold|silver|turquoise|pink)","weight":2,"scope":"alt","_comment":"String contains color in alt"},{"value":"(black|white|grey|gray|blue|red|orange|yellow|green|gold|silver|turquoise|pink)","weight":2,"scope":"value","_comment":"String contains color in value"},{"value":"^(multi|beige)$","weight":2,"scope":"title","_comment":"Exact full string match for lesser value colors on title"},{"value":"^(multi|beige)$","weight":2,"scope":"aria-label","_comment":"Exact full string match for lesser value colors on aria-label"},{"value":"^(multi|beige)$","weight":2,"scope":"data-label","_comment":"Exact full string match for lesser value colors on data-label"},{"value":"^(multi|beige)$","weight":2,"scope":"alt","_comment":"Exact full string match for lesser value colors on alt"},{"value":"color","weight":10,"scope":"data-code","_comment":"covers-and-all"},{"value":"productcolor","weight":5,"scope":"name","_comment":"QVC"},{"value":"coloroption","weight":5,"scope":"aria-label","_comment":"L.L. Bean"},{"value":"variable.*color","weight":5,"scope":"class","_comment":"bloomscape"},{"value":"color-swatch","weight":3,"scope":"class","_comment":"Adam & Eve, Dicks, DSW, Kohls"},{"value":"selectcolor","weight":3,"scope":"title","_comment":"Madewell"},{"value":"color-radio","weight":3,"scope":"name","_comment":"Banana Republic"},{"value":"color","weight":2,"scope":"id","_comment":"dillards"},{"value":"filter-colour","weight":2,"scope":"id","_comment":"H&M"},{"value":"swatch_img","weight":2,"scope":"id","_comment":"Tractor Supply"},{"value":"product-modal-option","weight":2,"scope":"class","_comment":"HSN"},{"value":"product_image_swatch","weight":2,"_comment":"nasty-gal"},{"value":"imagechip","weight":5,"scope":"class","_comment":"Overstock"},{"value":"true","weight":2,"scope":"data-yo-loaded","_comment":"Tillys"},{"value":"product_color","weight":2,"scope":"src","_comment":"frames-direct"},{"value":"option","weight":1.75,"scope":"tag"},{"value":"swatch","weight":1.5,"scope":"class","_comment":"Vince"},{"value":"option\\\\d","weight":1,"scope":"class"},{"value":"select","weight":1,"scope":"class"},{"value":"*ANY*","weight":1,"scope":"aria-expanded"},{"value":"hidden","weight":0.5,"scope":"class"},{"value":"unselectable|unavailable|disabled|hide","weight":0,"scope":"class"},{"value":"true","weight":0,"scope":"aria-hidden"},{"value":"display:none","weight":0,"scope":"style"},{"value":"*ANY*","weight":0,"scope":"disabled"},{"value":"disabled","weight":0,"scope":"class"},{"value":"list","weight":0,"scope":"role"},{"value":"*ANY*","weight":0,"scope":"data-thumb","_comment":"Tillys"},{"value":"landing|logo|primary-image|profile|selected-color","weight":0},{"value":"heading","weight":0,"scope":"id"},{"value":"stickybuy","weight":0,"scope":"class"},{"value":"canonical-link","weight":0,"scope":"class","_comment":"Nasty Gal"},{"value":"nav","weight":0,"scope":"class","_comment":"apmex"},{"value":"category","weight":0,"scope":"name","_comment":"Victoria\'s Secret - unmatch \'Pink\' brand"},{"value":"*ANY*","weight":0,"scope":"data-thumbnails-ref-tag","_comment":"Woot - link to fullsize thumbnail"},{"value":"reddit","weight":0,"_comment":"false color detection"},{"value":"featured","weight":0,"_comment":"false color detection"},{"value":"redes","weight":0,"_comment":"false color detection"},{"value":"bracelet|necklace|rings|jewelry","weight":0,"_comment":"Zales - Silver or Gold is a category, not color variant"},{"value":"collection","weight":0}]}')
|
|
},
|
|
86179: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function({
|
|
regex
|
|
}) {
|
|
if (!regex) return new _mixinResponses.MixinResponse("failed", "Field regex is blank.");
|
|
const url = document.URL;
|
|
let result;
|
|
if (url) {
|
|
const cleanRegex = regex.replaceAll("#", "$");
|
|
try {
|
|
result = _ttClient.applyRegExpToString.fn(url, cleanRegex)
|
|
} catch (e) {
|
|
return new _mixinResponses.MixinResponse("failed", "Error applying regex.")
|
|
}
|
|
}
|
|
return new _mixinResponses.MixinResponse("success", result)
|
|
};
|
|
var _ttClient = __webpack_require__(67230),
|
|
_mixinResponses = __webpack_require__(34522);
|
|
module.exports = exports.default
|
|
},
|
|
86405: () => {},
|
|
86531: function(module) {
|
|
module.exports = function() {
|
|
"use strict";
|
|
var t = 1e3,
|
|
e = 6e4,
|
|
n = 36e5,
|
|
r = "millisecond",
|
|
i = "second",
|
|
s = "minute",
|
|
u = "hour",
|
|
a = "day",
|
|
o = "week",
|
|
c = "month",
|
|
f = "quarter",
|
|
h = "year",
|
|
d = "date",
|
|
l = "Invalid Date",
|
|
$ = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,
|
|
y = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,
|
|
M = {
|
|
name: "en",
|
|
weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
|
|
months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
|
|
ordinal: function(t) {
|
|
var e = ["th", "st", "nd", "rd"],
|
|
n = t % 100;
|
|
return "[" + t + (e[(n - 20) % 10] || e[n] || e[0]) + "]"
|
|
}
|
|
},
|
|
m = function(t, e, n) {
|
|
var r = String(t);
|
|
return !r || r.length >= e ? t : "" + Array(e + 1 - r.length).join(n) + t
|
|
},
|
|
v = {
|
|
s: m,
|
|
z: function(t) {
|
|
var e = -t.utcOffset(),
|
|
n = Math.abs(e),
|
|
r = Math.floor(n / 60),
|
|
i = n % 60;
|
|
return (e <= 0 ? "+" : "-") + m(r, 2, "0") + ":" + m(i, 2, "0")
|
|
},
|
|
m: function t(e, n) {
|
|
if (e.date() < n.date()) return -t(n, e);
|
|
var r = 12 * (n.year() - e.year()) + (n.month() - e.month()),
|
|
i = e.clone().add(r, c),
|
|
s = n - i < 0,
|
|
u = e.clone().add(r + (s ? -1 : 1), c);
|
|
return +(-(r + (n - i) / (s ? i - u : u - i)) || 0)
|
|
},
|
|
a: function(t) {
|
|
return t < 0 ? Math.ceil(t) || 0 : Math.floor(t)
|
|
},
|
|
p: function(t) {
|
|
return {
|
|
M: c,
|
|
y: h,
|
|
w: o,
|
|
d: a,
|
|
D: d,
|
|
h: u,
|
|
m: s,
|
|
s: i,
|
|
ms: r,
|
|
Q: f
|
|
} [t] || String(t || "").toLowerCase().replace(/s$/, "")
|
|
},
|
|
u: function(t) {
|
|
return void 0 === t
|
|
}
|
|
},
|
|
g = "en",
|
|
D = {};
|
|
D[g] = M;
|
|
var p = "$isDayjsObject",
|
|
S = function(t) {
|
|
return t instanceof _ || !(!t || !t[p])
|
|
},
|
|
w = function t(e, n, r) {
|
|
var i;
|
|
if (!e) return g;
|
|
if ("string" == typeof e) {
|
|
var s = e.toLowerCase();
|
|
D[s] && (i = s), n && (D[s] = n, i = s);
|
|
var u = e.split("-");
|
|
if (!i && u.length > 1) return t(u[0])
|
|
} else {
|
|
var a = e.name;
|
|
D[a] = e, i = a
|
|
}
|
|
return !r && i && (g = i), i || !r && g
|
|
},
|
|
O = function(t, e) {
|
|
if (S(t)) return t.clone();
|
|
var n = "object" == typeof e ? e : {};
|
|
return n.date = t, n.args = arguments, new _(n)
|
|
},
|
|
b = v;
|
|
b.l = w, b.i = S, b.w = function(t, e) {
|
|
return O(t, {
|
|
locale: e.$L,
|
|
utc: e.$u,
|
|
x: e.$x,
|
|
$offset: e.$offset
|
|
})
|
|
};
|
|
var _ = function() {
|
|
function M(t) {
|
|
this.$L = w(t.locale, null, !0), this.parse(t), this.$x = this.$x || t.x || {}, this[p] = !0
|
|
}
|
|
var m = M.prototype;
|
|
return m.parse = function(t) {
|
|
this.$d = function(t) {
|
|
var e = t.date,
|
|
n = t.utc;
|
|
if (null === e) return new Date(NaN);
|
|
if (b.u(e)) return new Date;
|
|
if (e instanceof Date) return new Date(e);
|
|
if ("string" == typeof e && !/Z$/i.test(e)) {
|
|
var r = e.match($);
|
|
if (r) {
|
|
var i = r[2] - 1 || 0,
|
|
s = (r[7] || "0").substring(0, 3);
|
|
return n ? new Date(Date.UTC(r[1], i, r[3] || 1, r[4] || 0, r[5] || 0, r[6] || 0, s)) : new Date(r[1], i, r[3] || 1, r[4] || 0, r[5] || 0, r[6] || 0, s)
|
|
}
|
|
}
|
|
return new Date(e)
|
|
}(t), this.init()
|
|
}, m.init = function() {
|
|
var t = this.$d;
|
|
this.$y = t.getFullYear(), this.$M = t.getMonth(), this.$D = t.getDate(), this.$W = t.getDay(), this.$H = t.getHours(), this.$m = t.getMinutes(), this.$s = t.getSeconds(), this.$ms = t.getMilliseconds()
|
|
}, m.$utils = function() {
|
|
return b
|
|
}, m.isValid = function() {
|
|
return !(this.$d.toString() === l)
|
|
}, m.isSame = function(t, e) {
|
|
var n = O(t);
|
|
return this.startOf(e) <= n && n <= this.endOf(e)
|
|
}, m.isAfter = function(t, e) {
|
|
return O(t) < this.startOf(e)
|
|
}, m.isBefore = function(t, e) {
|
|
return this.endOf(e) < O(t)
|
|
}, m.$g = function(t, e, n) {
|
|
return b.u(t) ? this[e] : this.set(n, t)
|
|
}, m.unix = function() {
|
|
return Math.floor(this.valueOf() / 1e3)
|
|
}, m.valueOf = function() {
|
|
return this.$d.getTime()
|
|
}, m.startOf = function(t, e) {
|
|
var n = this,
|
|
r = !!b.u(e) || e,
|
|
f = b.p(t),
|
|
l = function(t, e) {
|
|
var i = b.w(n.$u ? Date.UTC(n.$y, e, t) : new Date(n.$y, e, t), n);
|
|
return r ? i : i.endOf(a)
|
|
},
|
|
$ = function(t, e) {
|
|
return b.w(n.toDate()[t].apply(n.toDate("s"), (r ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(e)), n)
|
|
},
|
|
y = this.$W,
|
|
M = this.$M,
|
|
m = this.$D,
|
|
v = "set" + (this.$u ? "UTC" : "");
|
|
switch (f) {
|
|
case h:
|
|
return r ? l(1, 0) : l(31, 11);
|
|
case c:
|
|
return r ? l(1, M) : l(0, M + 1);
|
|
case o:
|
|
var g = this.$locale().weekStart || 0,
|
|
D = (y < g ? y + 7 : y) - g;
|
|
return l(r ? m - D : m + (6 - D), M);
|
|
case a:
|
|
case d:
|
|
return $(v + "Hours", 0);
|
|
case u:
|
|
return $(v + "Minutes", 1);
|
|
case s:
|
|
return $(v + "Seconds", 2);
|
|
case i:
|
|
return $(v + "Milliseconds", 3);
|
|
default:
|
|
return this.clone()
|
|
}
|
|
}, m.endOf = function(t) {
|
|
return this.startOf(t, !1)
|
|
}, m.$set = function(t, e) {
|
|
var n, o = b.p(t),
|
|
f = "set" + (this.$u ? "UTC" : ""),
|
|
l = (n = {}, n[a] = f + "Date", n[d] = f + "Date", n[c] = f + "Month", n[h] = f + "FullYear", n[u] = f + "Hours", n[s] = f + "Minutes", n[i] = f + "Seconds", n[r] = f + "Milliseconds", n)[o],
|
|
$ = o === a ? this.$D + (e - this.$W) : e;
|
|
if (o === c || o === h) {
|
|
var y = this.clone().set(d, 1);
|
|
y.$d[l]($), y.init(), this.$d = y.set(d, Math.min(this.$D, y.daysInMonth())).$d
|
|
} else l && this.$d[l]($);
|
|
return this.init(), this
|
|
}, m.set = function(t, e) {
|
|
return this.clone().$set(t, e)
|
|
}, m.get = function(t) {
|
|
return this[b.p(t)]()
|
|
}, m.add = function(r, f) {
|
|
var d, l = this;
|
|
r = Number(r);
|
|
var $ = b.p(f),
|
|
y = function(t) {
|
|
var e = O(l);
|
|
return b.w(e.date(e.date() + Math.round(t * r)), l)
|
|
};
|
|
if ($ === c) return this.set(c, this.$M + r);
|
|
if ($ === h) return this.set(h, this.$y + r);
|
|
if ($ === a) return y(1);
|
|
if ($ === o) return y(7);
|
|
var M = (d = {}, d[s] = e, d[u] = n, d[i] = t, d)[$] || 1,
|
|
m = this.$d.getTime() + r * M;
|
|
return b.w(m, this)
|
|
}, m.subtract = function(t, e) {
|
|
return this.add(-1 * t, e)
|
|
}, m.format = function(t) {
|
|
var e = this,
|
|
n = this.$locale();
|
|
if (!this.isValid()) return n.invalidDate || l;
|
|
var r = t || "YYYY-MM-DDTHH:mm:ssZ",
|
|
i = b.z(this),
|
|
s = this.$H,
|
|
u = this.$m,
|
|
a = this.$M,
|
|
o = n.weekdays,
|
|
c = n.months,
|
|
f = n.meridiem,
|
|
h = function(t, n, i, s) {
|
|
return t && (t[n] || t(e, r)) || i[n].slice(0, s)
|
|
},
|
|
d = function(t) {
|
|
return b.s(s % 12 || 12, t, "0")
|
|
},
|
|
$ = f || function(t, e, n) {
|
|
var r = t < 12 ? "AM" : "PM";
|
|
return n ? r.toLowerCase() : r
|
|
};
|
|
return r.replace(y, function(t, r) {
|
|
return r || function(t) {
|
|
switch (t) {
|
|
case "YY":
|
|
return String(e.$y).slice(-2);
|
|
case "YYYY":
|
|
return b.s(e.$y, 4, "0");
|
|
case "M":
|
|
return a + 1;
|
|
case "MM":
|
|
return b.s(a + 1, 2, "0");
|
|
case "MMM":
|
|
return h(n.monthsShort, a, c, 3);
|
|
case "MMMM":
|
|
return h(c, a);
|
|
case "D":
|
|
return e.$D;
|
|
case "DD":
|
|
return b.s(e.$D, 2, "0");
|
|
case "d":
|
|
return String(e.$W);
|
|
case "dd":
|
|
return h(n.weekdaysMin, e.$W, o, 2);
|
|
case "ddd":
|
|
return h(n.weekdaysShort, e.$W, o, 3);
|
|
case "dddd":
|
|
return o[e.$W];
|
|
case "H":
|
|
return String(s);
|
|
case "HH":
|
|
return b.s(s, 2, "0");
|
|
case "h":
|
|
return d(1);
|
|
case "hh":
|
|
return d(2);
|
|
case "a":
|
|
return $(s, u, !0);
|
|
case "A":
|
|
return $(s, u, !1);
|
|
case "m":
|
|
return String(u);
|
|
case "mm":
|
|
return b.s(u, 2, "0");
|
|
case "s":
|
|
return String(e.$s);
|
|
case "ss":
|
|
return b.s(e.$s, 2, "0");
|
|
case "SSS":
|
|
return b.s(e.$ms, 3, "0");
|
|
case "Z":
|
|
return i
|
|
}
|
|
return null
|
|
}(t) || i.replace(":", "")
|
|
})
|
|
}, m.utcOffset = function() {
|
|
return 15 * -Math.round(this.$d.getTimezoneOffset() / 15)
|
|
}, m.diff = function(r, d, l) {
|
|
var $, y = this,
|
|
M = b.p(d),
|
|
m = O(r),
|
|
v = (m.utcOffset() - this.utcOffset()) * e,
|
|
g = this - m,
|
|
D = function() {
|
|
return b.m(y, m)
|
|
};
|
|
switch (M) {
|
|
case h:
|
|
$ = D() / 12;
|
|
break;
|
|
case c:
|
|
$ = D();
|
|
break;
|
|
case f:
|
|
$ = D() / 3;
|
|
break;
|
|
case o:
|
|
$ = (g - v) / 6048e5;
|
|
break;
|
|
case a:
|
|
$ = (g - v) / 864e5;
|
|
break;
|
|
case u:
|
|
$ = g / n;
|
|
break;
|
|
case s:
|
|
$ = g / e;
|
|
break;
|
|
case i:
|
|
$ = g / t;
|
|
break;
|
|
default:
|
|
$ = g
|
|
}
|
|
return l ? $ : b.a($)
|
|
}, m.daysInMonth = function() {
|
|
return this.endOf(c).$D
|
|
}, m.$locale = function() {
|
|
return D[this.$L]
|
|
}, m.locale = function(t, e) {
|
|
if (!t) return this.$L;
|
|
var n = this.clone(),
|
|
r = w(t, e, !0);
|
|
return r && (n.$L = r), n
|
|
}, m.clone = function() {
|
|
return b.w(this.$d, this)
|
|
}, m.toDate = function() {
|
|
return new Date(this.valueOf())
|
|
}, m.toJSON = function() {
|
|
return this.isValid() ? this.toISOString() : null
|
|
}, m.toISOString = function() {
|
|
return this.$d.toISOString()
|
|
}, m.toString = function() {
|
|
return this.$d.toUTCString()
|
|
}, M
|
|
}(),
|
|
k = _.prototype;
|
|
return O.prototype = k, [
|
|
["$ms", r],
|
|
["$s", i],
|
|
["$m", s],
|
|
["$H", u],
|
|
["$W", a],
|
|
["$M", c],
|
|
["$y", h],
|
|
["$D", d]
|
|
].forEach(function(t) {
|
|
k[t[1]] = function(e) {
|
|
return this.$g(e, t[0], t[1])
|
|
}
|
|
}), O.extend = function(t, e) {
|
|
return t.$i || (t(e, _, O), t.$i = !0), O
|
|
}, O.locale = w, O.isDayjs = S, O.unix = function(t) {
|
|
return O(1e3 * t)
|
|
}, O.en = D[g], O.Ls = D, O.p = {}, O
|
|
}()
|
|
},
|
|
86723: module => {
|
|
"use strict";
|
|
module.exports = JSON.parse('{"name":"PPSoldOut","groups":[],"isRequired":false,"tests":[{"method":"testIfInnerTextContainsLength","options":{"expected":"^(((sorry(!|,))?this(item|product)is)?(currently|temporarily)?)?((not|un)available|outofstock)","onlyVisibleText":"true","matchWeight":"10","unMatchWeight":"1"},"_regex":"https://regex101.com/r/uwtRoG/1"},{"method":"testIfInnerTextContainsLength","options":{"expected":"not?(longer)?available","onlyVisibleText":"true","matchWeight":"10","unMatchWeight":"1"},"_regex":"https://regex101.com/r/kIkF5Q/1"},{"method":"testIfInnerTextContainsLength","options":{"expected":"soldout","onlyVisibleText":"true","matchWeight":"10","unMatchWeight":"1"},"_regex":"https://regex101.com/r/FKTl2M/1"},{"method":"testIfInnerTextContainsLength","options":{"tags":"button","expected":"^sold$","matchWeight":"10","unMatchWeight":"1"},"_comment":"thredup"},{"method":"testIfInnerTextContainsLength","options":{"expected":"^comingsoon$","onlyVisibleText":"true","matchWeight":"10","unMatchWeight":"1"},"_comment":"nike"},{"method":"testIfInnerTextContainsLength","options":{"expected":"^memberonlyitem$","onlyVisibleText":"true","matchWeight":"10","unMatchWeight":"1"},"_comment":"costco"},{"method":"testIfInnerTextContainsLength","options":{"expected":"^thislistinghasended","onlyVisibleText":"true","matchWeight":"10","unMatchWeight":"1"},"_comment":"ebay"},{"method":"testIfInnerTextContainsLength","options":{"expected":"nocopiesavailable","onlyVisibleText":"true","matchWeight":"10","unMatchWeight":"1"},"_comment":"alibirs"},{"method":"testIfInnerTextContainsLength","options":{"expected":"outofthisproduct","onlyVisibleText":"true","matchWeight":"10","unMatchWeight":"1"},"_comment":"bareescentuals"},{"method":"testIfInnerTextContainsLength","options":{"expected":"^notifyme(wheninstock|$)","onlyVisibleText":"true","matchWeight":"10","unMatchWeight":"1"},"_comment":"h-m, rtic, razer, yves-saint-laurent","_regex":"https://regex101.com/r/GtX7vv/1"},{"method":"testIfInnerHtmlContainsLength","options":{"expected":"hidden","matchWeight":"0.5","unMatchWeight":"1"}},{"method":"testIfInnerHtmlContainsLength","options":{"expected":"(price-pending|warranty|zipcode)","matchWeight":"0","unMatchWeight":"1"},"_comment":"ashley, calvin-klein-uk, daraz"},{"method":"testIfInnerTextContainsLength","options":{"expected":"(availablefor|scheduled)delivery","onlyVisibleText":"true","matchWeight":"0","unMatchWeight":"1"},"_comment":"home-depot"},{"method":"testIfInnerTextContainsLength","options":{"expected":"(availableat(any)?store|click&collect|express|pickup|free(delivery|shipping)|in-?store|international(delivery|order)|nextday|pobox|subjecttoavailability)","onlyVisibleText":"true","matchWeight":"0","unMatchWeight":"1"},"_comment":"carparts4less, cotton-on-us, hotelchocolat-uk, jackrabbit, joann, kitchenware-direct, puritans-pride"},{"method":"testIfInnerTextContainsLength","options":{"expected":"variation","onlyVisibleText":"true","matchWeight":"0","unMatchWeight":"1"},"_comment":"belk"},{"method":"testIfInnerTextContainsLength","options":{"expected":"wecanship","onlyVisibleText":"true","matchWeight":"0","unMatchWeight":"1"},"_comment":"jcpenney"},{"method":"testIfInnerTextContainsLength","options":{"expected":"(advice|covid|feature|reviews|textmessage|voiceview)","onlyVisibleText":"true","matchWeight":"0","unMatchWeight":"1"},"_comment":"amazon, corel, everly-well, vaporfi, world-market"},{"method":"testIfAncestorAttrsContain","options":{"expected":"tag=li","generations":"1","matchWeight":"0","unMatchWeight":"1"},"_comment":"fitflop: ignore text within list elements"},{"method":"testIfAncestorAttrsContain","options":{"expected":"helpbutton","generations":"1","matchWeight":"0","unMatchWeight":"1"},"_comment":"burton"},{"method":"testIfAncestorAttrsContain","options":{"expected":"productvariant|product-tile|review","generations":"3","matchWeight":"0","unMatchWeight":"1"},"_comment":"casper|ethika|new-balance"}],"preconditions":[],"shape":[{"value":"^(source|symbol)$","weight":0,"scope":"tag"},{"value":"soldout","weight":10,"scope":"value","_comment":"colourpop"},{"value":"outofstock","weight":10,"scope":"value","_comment":"world-market"},{"value":"^(h[1-3]|p|span|strong)$","weight":1,"scope":"tag"},{"value":"availability","weight":1,"scope":"id","_comment":"amazon, sur-la-table"},{"value":"quantity","weight":1,"scope":"id","_comment":"bath-and-body-works"},{"value":"add-bag","weight":1,"scope":"class","_comment":"yves-saint-laurent"},{"value":"add-to-cart","weight":1,"scope":"class","_comment":"bareescentuals, princess-polly-us, razer"},{"value":"alert","weight":1,"scope":"class","_comment":"abebooks"},{"value":"avail","weight":1,"scope":"class","_comment":"joann, macys"},{"value":"body","weight":1,"scope":"class","_comment":"adidas, costco, nike"},{"value":"buy","weight":1,"scope":"class","_comment":"rei"},{"value":"err","weight":1,"scope":"class","_comment":"academy"},{"value":"image-message","weight":1,"scope":"class","_comment":"bloomingdales"},{"value":"member-only","weight":1,"scope":"class","_comment":"costco"},{"value":"nostock","weight":1,"scope":"class","_comment":"chegg"},{"value":"oos","weight":1,"scope":"class","_comment":"belk, gap, home-depot"},{"value":"product-message","weight":1,"scope":"class","_comment":"best-buy"},{"value":"price","weight":1,"scope":"class","_comment":"ae, amazon, saks-fifth-avenue"},{"value":"results","weight":1,"scope":"class","_comment":"alibirs"},{"value":"status","weight":1,"scope":"class","_comment":"ebay, entertainmentearth"},{"value":"notice","weight":1,"scope":"class","_comment":"bunches-uk"},{"value":"button","weight":1,"scope":"type"},{"value":"hidden","weight":0,"scope":"class","_comment":"ashley"},{"value":"hidden","weight":0,"scope":"type","_comment":"gamestop"},{"value":"price-pending","weight":0,"scope":"class","_comment":"calvin-klein-uk"},{"value":"list","weight":0,"scope":"class","_comment":"jcpenney"},{"value":"muted","weight":0,"scope":"class","_comment":"wayfair"},{"value":"^/","weight":0,"scope":"href","_comment":"links that direct elsewhere"},{"value":"false","weight":0,"scope":"data-honey_is_visible"},{"value":"available","weight":1,"_comment":"sur-la-table"},{"value":"comingsoon","weight":1,"_comment":"nike"},{"value":"out-?of-?stock","weight":1,"_comment":"ashley, chewy, sephora"},{"value":"sold-?out","weight":1,"_comment":"pacsun, target"},{"value":"apple-pay|afterpay|instore|question","weight":0}]}')
|
|
},
|
|
86739: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function(instance, scope) {
|
|
const BOOLEAN = instance.createNativeFunction(function(inValue) {
|
|
const value = !!inValue && inValue.toBoolean();
|
|
return this.parent !== instance.BOOLEAN ? instance.createPrimitive(value) : (this.data = value, this)
|
|
});
|
|
return instance.setCoreObject("BOOLEAN", BOOLEAN), instance.setProperty(scope, "Boolean", BOOLEAN, _Instance.default.READONLY_DESCRIPTOR), BOOLEAN
|
|
};
|
|
var _Instance = _interopRequireDefault(__webpack_require__(76352));
|
|
module.exports = exports.default
|
|
},
|
|
86999: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
let Container = __webpack_require__(171),
|
|
Input = __webpack_require__(66260),
|
|
Parser = __webpack_require__(38449);
|
|
|
|
function parse(css, opts) {
|
|
let input = new Input(css, opts),
|
|
parser = new Parser(input);
|
|
try {
|
|
parser.parse()
|
|
} catch (e) {
|
|
throw e
|
|
}
|
|
return parser.root
|
|
}
|
|
module.exports = parse, parse.default = parse, Container.registerParse(parse)
|
|
},
|
|
87323: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.DocumentPosition = void 0, exports.removeSubsets = function(nodes) {
|
|
var idx = nodes.length;
|
|
for (; --idx >= 0;) {
|
|
var node = nodes[idx];
|
|
if (idx > 0 && nodes.lastIndexOf(node, idx - 1) >= 0) nodes.splice(idx, 1);
|
|
else
|
|
for (var ancestor = node.parent; ancestor; ancestor = ancestor.parent)
|
|
if (nodes.includes(ancestor)) {
|
|
nodes.splice(idx, 1);
|
|
break
|
|
}
|
|
}
|
|
return nodes
|
|
}, exports.compareDocumentPosition = compareDocumentPosition, exports.uniqueSort = function(nodes) {
|
|
return (nodes = nodes.filter(function(node, i, arr) {
|
|
return !arr.includes(node, i + 1)
|
|
})).sort(function(a, b) {
|
|
var relative = compareDocumentPosition(a, b);
|
|
return relative & DocumentPosition.PRECEDING ? -1 : relative & DocumentPosition.FOLLOWING ? 1 : 0
|
|
}), nodes
|
|
};
|
|
var DocumentPosition, domhandler_1 = __webpack_require__(59811);
|
|
|
|
function compareDocumentPosition(nodeA, nodeB) {
|
|
var aParents = [],
|
|
bParents = [];
|
|
if (nodeA === nodeB) return 0;
|
|
for (var current = (0, domhandler_1.hasChildren)(nodeA) ? nodeA : nodeA.parent; current;) aParents.unshift(current), current = current.parent;
|
|
for (current = (0, domhandler_1.hasChildren)(nodeB) ? nodeB : nodeB.parent; current;) bParents.unshift(current), current = current.parent;
|
|
for (var maxIdx = Math.min(aParents.length, bParents.length), idx = 0; idx < maxIdx && aParents[idx] === bParents[idx];) idx++;
|
|
if (0 === idx) return DocumentPosition.DISCONNECTED;
|
|
var sharedParent = aParents[idx - 1],
|
|
siblings = sharedParent.children,
|
|
aSibling = aParents[idx],
|
|
bSibling = bParents[idx];
|
|
return siblings.indexOf(aSibling) > siblings.indexOf(bSibling) ? sharedParent === nodeB ? DocumentPosition.FOLLOWING | DocumentPosition.CONTAINED_BY : DocumentPosition.FOLLOWING : sharedParent === nodeA ? DocumentPosition.PRECEDING | DocumentPosition.CONTAINS : DocumentPosition.PRECEDING
|
|
}! function(DocumentPosition) {
|
|
DocumentPosition[DocumentPosition.DISCONNECTED = 1] = "DISCONNECTED", DocumentPosition[DocumentPosition.PRECEDING = 2] = "PRECEDING", DocumentPosition[DocumentPosition.FOLLOWING = 4] = "FOLLOWING", DocumentPosition[DocumentPosition.CONTAINS = 8] = "CONTAINS", DocumentPosition[DocumentPosition.CONTAINED_BY = 16] = "CONTAINED_BY"
|
|
}(DocumentPosition || (exports.DocumentPosition = DocumentPosition = {}))
|
|
},
|
|
87417: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var origSymbol = "undefined" != typeof Symbol && Symbol,
|
|
hasSymbolSham = __webpack_require__(4699);
|
|
module.exports = function() {
|
|
return "function" == typeof origSymbol && ("function" == typeof Symbol && ("symbol" == typeof origSymbol("foo") && ("symbol" == typeof Symbol("bar") && hasSymbolSham())))
|
|
}
|
|
},
|
|
87490: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
const state = this.stateStack[this.stateStack.length - 1],
|
|
node = state.node,
|
|
n = state.n_ || 0;
|
|
node.body[n] ? (state.done = !1, state.n_ = n + 1, this.stateStack.push({
|
|
node: node.body[n]
|
|
})) : state.done = !0
|
|
}, module.exports = exports.default
|
|
},
|
|
87745: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var noCase = __webpack_require__(37129),
|
|
upperCase = __webpack_require__(96817);
|
|
module.exports = function(value, locale) {
|
|
return noCase(value, locale).replace(/^.| ./g, function(m) {
|
|
return upperCase(m, locale)
|
|
})
|
|
}
|
|
},
|
|
87890: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
module.exports = new Map([
|
|
["charSurrogatePairToSingleUnicode", __webpack_require__(22846)],
|
|
["charCodeToSimpleChar", __webpack_require__(66633)],
|
|
["charCaseInsensitiveLowerCaseTransform", __webpack_require__(19856)],
|
|
["charClassRemoveDuplicates", __webpack_require__(68236)],
|
|
["quantifiersMerge", __webpack_require__(96171)],
|
|
["quantifierRangeToSymbol", __webpack_require__(35763)],
|
|
["charClassClassrangesToChars", __webpack_require__(71887)],
|
|
["charClassToMeta", __webpack_require__(59124)],
|
|
["charClassToSingleChar", __webpack_require__(14980)],
|
|
["charEscapeUnescape", __webpack_require__(60070)],
|
|
["charClassClassrangesMerge", __webpack_require__(99142)],
|
|
["disjunctionRemoveDuplicates", __webpack_require__(26079)],
|
|
["groupSingleCharsToCharClass", __webpack_require__(22750)],
|
|
["removeEmptyGroup", __webpack_require__(8435)],
|
|
["ungroup", __webpack_require__(67025)],
|
|
["combineRepeatingPatterns", __webpack_require__(44514)]
|
|
])
|
|
},
|
|
88047: function(__unused_webpack_module, exports, __webpack_require__) {
|
|
"use strict";
|
|
var __importDefault = this && this.__importDefault || function(mod) {
|
|
return mod && mod.__esModule ? mod : {
|
|
default: mod
|
|
}
|
|
};
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.generate = exports.compile = void 0;
|
|
var boolbase_1 = __importDefault(__webpack_require__(84894));
|
|
exports.compile = function(parsed) {
|
|
var a = parsed[0],
|
|
b = parsed[1] - 1;
|
|
if (b < 0 && a <= 0) return boolbase_1.default.falseFunc;
|
|
if (-1 === a) return function(index) {
|
|
return index <= b
|
|
};
|
|
if (0 === a) return function(index) {
|
|
return index === b
|
|
};
|
|
if (1 === a) return b < 0 ? boolbase_1.default.trueFunc : function(index) {
|
|
return index >= b
|
|
};
|
|
var absA = Math.abs(a),
|
|
bMod = (b % absA + absA) % absA;
|
|
return a > 1 ? function(index) {
|
|
return index >= b && index % absA === bMod
|
|
} : function(index) {
|
|
return index <= b && index % absA === bMod
|
|
}
|
|
}, exports.generate = function(parsed) {
|
|
var a = parsed[0],
|
|
b = parsed[1] - 1,
|
|
n = 0;
|
|
if (a < 0) {
|
|
var aPos_1 = -a,
|
|
minValue_1 = (b % aPos_1 + aPos_1) % aPos_1;
|
|
return function() {
|
|
var val = minValue_1 + aPos_1 * n++;
|
|
return val > b ? null : val
|
|
}
|
|
}
|
|
return 0 === a ? b < 0 ? function() {
|
|
return null
|
|
} : function() {
|
|
return 0 === n++ ? b : null
|
|
} : (b < 0 && (b += a * Math.ceil(-b / a)), function() {
|
|
return a * n++ + b
|
|
})
|
|
}
|
|
},
|
|
88433: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var hasMap = "function" == typeof Map && Map.prototype,
|
|
mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, "size") : null,
|
|
mapSize = hasMap && mapSizeDescriptor && "function" == typeof mapSizeDescriptor.get ? mapSizeDescriptor.get : null,
|
|
mapForEach = hasMap && Map.prototype.forEach,
|
|
hasSet = "function" == typeof Set && Set.prototype,
|
|
setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, "size") : null,
|
|
setSize = hasSet && setSizeDescriptor && "function" == typeof setSizeDescriptor.get ? setSizeDescriptor.get : null,
|
|
setForEach = hasSet && Set.prototype.forEach,
|
|
weakMapHas = "function" == typeof WeakMap && WeakMap.prototype ? WeakMap.prototype.has : null,
|
|
weakSetHas = "function" == typeof WeakSet && WeakSet.prototype ? WeakSet.prototype.has : null,
|
|
weakRefDeref = "function" == typeof WeakRef && WeakRef.prototype ? WeakRef.prototype.deref : null,
|
|
booleanValueOf = Boolean.prototype.valueOf,
|
|
objectToString = Object.prototype.toString,
|
|
functionToString = Function.prototype.toString,
|
|
$match = String.prototype.match,
|
|
$slice = String.prototype.slice,
|
|
$replace = String.prototype.replace,
|
|
$toUpperCase = String.prototype.toUpperCase,
|
|
$toLowerCase = String.prototype.toLowerCase,
|
|
$test = RegExp.prototype.test,
|
|
$concat = Array.prototype.concat,
|
|
$join = Array.prototype.join,
|
|
$arrSlice = Array.prototype.slice,
|
|
$floor = Math.floor,
|
|
bigIntValueOf = "function" == typeof BigInt ? BigInt.prototype.valueOf : null,
|
|
gOPS = Object.getOwnPropertySymbols,
|
|
symToString = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? Symbol.prototype.toString : null,
|
|
hasShammedSymbols = "function" == typeof Symbol && "object" == typeof Symbol.iterator,
|
|
toStringTag = "function" == typeof Symbol && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols || "symbol") ? Symbol.toStringTag : null,
|
|
isEnumerable = Object.prototype.propertyIsEnumerable,
|
|
gPO = ("function" == typeof Reflect ? Reflect.getPrototypeOf : Object.getPrototypeOf) || ([].__proto__ === Array.prototype ? function(O) {
|
|
return O.__proto__
|
|
} : null);
|
|
|
|
function addNumericSeparator(num, str) {
|
|
if (num === 1 / 0 || num === -1 / 0 || num != num || num && num > -1e3 && num < 1e3 || $test.call(/e/, str)) return str;
|
|
var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;
|
|
if ("number" == typeof num) {
|
|
var int = num < 0 ? -$floor(-num) : $floor(num);
|
|
if (int !== num) {
|
|
var intStr = String(int),
|
|
dec = $slice.call(str, intStr.length + 1);
|
|
return $replace.call(intStr, sepRegex, "$&_") + "." + $replace.call($replace.call(dec, /([0-9]{3})/g, "$&_"), /_$/, "")
|
|
}
|
|
}
|
|
return $replace.call(str, sepRegex, "$&_")
|
|
}
|
|
var utilInspect = __webpack_require__(42634),
|
|
inspectCustom = utilInspect.custom,
|
|
inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null,
|
|
quotes = {
|
|
__proto__: null,
|
|
double: '"',
|
|
single: "'"
|
|
},
|
|
quoteREs = {
|
|
__proto__: null,
|
|
double: /(["\\])/g,
|
|
single: /(['\\])/g
|
|
};
|
|
|
|
function wrapQuotes(s, defaultStyle, opts) {
|
|
var style = opts.quoteStyle || defaultStyle,
|
|
quoteChar = quotes[style];
|
|
return quoteChar + s + quoteChar
|
|
}
|
|
|
|
function quote(s) {
|
|
return $replace.call(String(s), /"/g, """)
|
|
}
|
|
|
|
function canTrustToString(obj) {
|
|
return !toStringTag || !("object" == typeof obj && (toStringTag in obj || void 0 !== obj[toStringTag]))
|
|
}
|
|
|
|
function isArray(obj) {
|
|
return "[object Array]" === toStr(obj) && canTrustToString(obj)
|
|
}
|
|
|
|
function isRegExp(obj) {
|
|
return "[object RegExp]" === toStr(obj) && canTrustToString(obj)
|
|
}
|
|
|
|
function isSymbol(obj) {
|
|
if (hasShammedSymbols) return obj && "object" == typeof obj && obj instanceof Symbol;
|
|
if ("symbol" == typeof obj) return !0;
|
|
if (!obj || "object" != typeof obj || !symToString) return !1;
|
|
try {
|
|
return symToString.call(obj), !0
|
|
} catch (e) {}
|
|
return !1
|
|
}
|
|
module.exports = function inspect_(obj, options, depth, seen) {
|
|
var opts = options || {};
|
|
if (has(opts, "quoteStyle") && !has(quotes, opts.quoteStyle)) throw new TypeError('option "quoteStyle" must be "single" or "double"');
|
|
if (has(opts, "maxStringLength") && ("number" == typeof opts.maxStringLength ? opts.maxStringLength < 0 && opts.maxStringLength !== 1 / 0 : null !== opts.maxStringLength)) throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');
|
|
var customInspect = !has(opts, "customInspect") || opts.customInspect;
|
|
if ("boolean" != typeof customInspect && "symbol" !== customInspect) throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");
|
|
if (has(opts, "indent") && null !== opts.indent && "\t" !== opts.indent && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)) throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');
|
|
if (has(opts, "numericSeparator") && "boolean" != typeof opts.numericSeparator) throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');
|
|
var numericSeparator = opts.numericSeparator;
|
|
if (void 0 === obj) return "undefined";
|
|
if (null === obj) return "null";
|
|
if ("boolean" == typeof obj) return obj ? "true" : "false";
|
|
if ("string" == typeof obj) return inspectString(obj, opts);
|
|
if ("number" == typeof obj) {
|
|
if (0 === obj) return 1 / 0 / obj > 0 ? "0" : "-0";
|
|
var str = String(obj);
|
|
return numericSeparator ? addNumericSeparator(obj, str) : str
|
|
}
|
|
if ("bigint" == typeof obj) {
|
|
var bigIntStr = String(obj) + "n";
|
|
return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr
|
|
}
|
|
var maxDepth = void 0 === opts.depth ? 5 : opts.depth;
|
|
if (void 0 === depth && (depth = 0), depth >= maxDepth && maxDepth > 0 && "object" == typeof obj) return isArray(obj) ? "[Array]" : "[Object]";
|
|
var indent = function(opts, depth) {
|
|
var baseIndent;
|
|
if ("\t" === opts.indent) baseIndent = "\t";
|
|
else {
|
|
if (!("number" == typeof opts.indent && opts.indent > 0)) return null;
|
|
baseIndent = $join.call(Array(opts.indent + 1), " ")
|
|
}
|
|
return {
|
|
base: baseIndent,
|
|
prev: $join.call(Array(depth + 1), baseIndent)
|
|
}
|
|
}(opts, depth);
|
|
if (void 0 === seen) seen = [];
|
|
else if (indexOf(seen, obj) >= 0) return "[Circular]";
|
|
|
|
function inspect(value, from, noIndent) {
|
|
if (from && (seen = $arrSlice.call(seen)).push(from), noIndent) {
|
|
var newOpts = {
|
|
depth: opts.depth
|
|
};
|
|
return has(opts, "quoteStyle") && (newOpts.quoteStyle = opts.quoteStyle), inspect_(value, newOpts, depth + 1, seen)
|
|
}
|
|
return inspect_(value, opts, depth + 1, seen)
|
|
}
|
|
if ("function" == typeof obj && !isRegExp(obj)) {
|
|
var name = function(f) {
|
|
if (f.name) return f.name;
|
|
var m = $match.call(functionToString.call(f), /^function\s*([\w$]+)/);
|
|
if (m) return m[1];
|
|
return null
|
|
}(obj),
|
|
keys = arrObjKeys(obj, inspect);
|
|
return "[Function" + (name ? ": " + name : " (anonymous)") + "]" + (keys.length > 0 ? " { " + $join.call(keys, ", ") + " }" : "")
|
|
}
|
|
if (isSymbol(obj)) {
|
|
var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\(.*\))_[^)]*$/, "$1") : symToString.call(obj);
|
|
return "object" != typeof obj || hasShammedSymbols ? symString : markBoxed(symString)
|
|
}
|
|
if (function(x) {
|
|
if (!x || "object" != typeof x) return !1;
|
|
if ("undefined" != typeof HTMLElement && x instanceof HTMLElement) return !0;
|
|
return "string" == typeof x.nodeName && "function" == typeof x.getAttribute
|
|
}(obj)) {
|
|
for (var s = "<" + $toLowerCase.call(String(obj.nodeName)), attrs = obj.attributes || [], i = 0; i < attrs.length; i++) s += " " + attrs[i].name + "=" + wrapQuotes(quote(attrs[i].value), "double", opts);
|
|
return s += ">", obj.childNodes && obj.childNodes.length && (s += "..."), s += "</" + $toLowerCase.call(String(obj.nodeName)) + ">"
|
|
}
|
|
if (isArray(obj)) {
|
|
if (0 === obj.length) return "[]";
|
|
var xs = arrObjKeys(obj, inspect);
|
|
return indent && ! function(xs) {
|
|
for (var i = 0; i < xs.length; i++)
|
|
if (indexOf(xs[i], "\n") >= 0) return !1;
|
|
return !0
|
|
}(xs) ? "[" + indentedJoin(xs, indent) + "]" : "[ " + $join.call(xs, ", ") + " ]"
|
|
}
|
|
if (function(obj) {
|
|
return "[object Error]" === toStr(obj) && canTrustToString(obj)
|
|
}(obj)) {
|
|
var parts = arrObjKeys(obj, inspect);
|
|
return "cause" in Error.prototype || !("cause" in obj) || isEnumerable.call(obj, "cause") ? 0 === parts.length ? "[" + String(obj) + "]" : "{ [" + String(obj) + "] " + $join.call(parts, ", ") + " }" : "{ [" + String(obj) + "] " + $join.call($concat.call("[cause]: " + inspect(obj.cause), parts), ", ") + " }"
|
|
}
|
|
if ("object" == typeof obj && customInspect) {
|
|
if (inspectSymbol && "function" == typeof obj[inspectSymbol] && utilInspect) return utilInspect(obj, {
|
|
depth: maxDepth - depth
|
|
});
|
|
if ("symbol" !== customInspect && "function" == typeof obj.inspect) return obj.inspect()
|
|
}
|
|
if (function(x) {
|
|
if (!mapSize || !x || "object" != typeof x) return !1;
|
|
try {
|
|
mapSize.call(x);
|
|
try {
|
|
setSize.call(x)
|
|
} catch (s) {
|
|
return !0
|
|
}
|
|
return x instanceof Map
|
|
} catch (e) {}
|
|
return !1
|
|
}(obj)) {
|
|
var mapParts = [];
|
|
return mapForEach && mapForEach.call(obj, function(value, key) {
|
|
mapParts.push(inspect(key, obj, !0) + " => " + inspect(value, obj))
|
|
}), collectionOf("Map", mapSize.call(obj), mapParts, indent)
|
|
}
|
|
if (function(x) {
|
|
if (!setSize || !x || "object" != typeof x) return !1;
|
|
try {
|
|
setSize.call(x);
|
|
try {
|
|
mapSize.call(x)
|
|
} catch (m) {
|
|
return !0
|
|
}
|
|
return x instanceof Set
|
|
} catch (e) {}
|
|
return !1
|
|
}(obj)) {
|
|
var setParts = [];
|
|
return setForEach && setForEach.call(obj, function(value) {
|
|
setParts.push(inspect(value, obj))
|
|
}), collectionOf("Set", setSize.call(obj), setParts, indent)
|
|
}
|
|
if (function(x) {
|
|
if (!weakMapHas || !x || "object" != typeof x) return !1;
|
|
try {
|
|
weakMapHas.call(x, weakMapHas);
|
|
try {
|
|
weakSetHas.call(x, weakSetHas)
|
|
} catch (s) {
|
|
return !0
|
|
}
|
|
return x instanceof WeakMap
|
|
} catch (e) {}
|
|
return !1
|
|
}(obj)) return weakCollectionOf("WeakMap");
|
|
if (function(x) {
|
|
if (!weakSetHas || !x || "object" != typeof x) return !1;
|
|
try {
|
|
weakSetHas.call(x, weakSetHas);
|
|
try {
|
|
weakMapHas.call(x, weakMapHas)
|
|
} catch (s) {
|
|
return !0
|
|
}
|
|
return x instanceof WeakSet
|
|
} catch (e) {}
|
|
return !1
|
|
}(obj)) return weakCollectionOf("WeakSet");
|
|
if (function(x) {
|
|
if (!weakRefDeref || !x || "object" != typeof x) return !1;
|
|
try {
|
|
return weakRefDeref.call(x), !0
|
|
} catch (e) {}
|
|
return !1
|
|
}(obj)) return weakCollectionOf("WeakRef");
|
|
if (function(obj) {
|
|
return "[object Number]" === toStr(obj) && canTrustToString(obj)
|
|
}(obj)) return markBoxed(inspect(Number(obj)));
|
|
if (function(obj) {
|
|
if (!obj || "object" != typeof obj || !bigIntValueOf) return !1;
|
|
try {
|
|
return bigIntValueOf.call(obj), !0
|
|
} catch (e) {}
|
|
return !1
|
|
}(obj)) return markBoxed(inspect(bigIntValueOf.call(obj)));
|
|
if (function(obj) {
|
|
return "[object Boolean]" === toStr(obj) && canTrustToString(obj)
|
|
}(obj)) return markBoxed(booleanValueOf.call(obj));
|
|
if (function(obj) {
|
|
return "[object String]" === toStr(obj) && canTrustToString(obj)
|
|
}(obj)) return markBoxed(inspect(String(obj)));
|
|
if ("undefined" != typeof window && obj === window) return "{ [object Window] }";
|
|
if ("undefined" != typeof globalThis && obj === globalThis || void 0 !== __webpack_require__.g && obj === __webpack_require__.g) return "{ [object globalThis] }";
|
|
if (! function(obj) {
|
|
return "[object Date]" === toStr(obj) && canTrustToString(obj)
|
|
}(obj) && !isRegExp(obj)) {
|
|
var ys = arrObjKeys(obj, inspect),
|
|
isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object,
|
|
protoTag = obj instanceof Object ? "" : "null prototype",
|
|
stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? "Object" : "",
|
|
tag = (isPlainObject || "function" != typeof obj.constructor ? "" : obj.constructor.name ? obj.constructor.name + " " : "") + (stringTag || protoTag ? "[" + $join.call($concat.call([], stringTag || [], protoTag || []), ": ") + "] " : "");
|
|
return 0 === ys.length ? tag + "{}" : indent ? tag + "{" + indentedJoin(ys, indent) + "}" : tag + "{ " + $join.call(ys, ", ") + " }"
|
|
}
|
|
return String(obj)
|
|
};
|
|
var hasOwn = Object.prototype.hasOwnProperty || function(key) {
|
|
return key in this
|
|
};
|
|
|
|
function has(obj, key) {
|
|
return hasOwn.call(obj, key)
|
|
}
|
|
|
|
function toStr(obj) {
|
|
return objectToString.call(obj)
|
|
}
|
|
|
|
function indexOf(xs, x) {
|
|
if (xs.indexOf) return xs.indexOf(x);
|
|
for (var i = 0, l = xs.length; i < l; i++)
|
|
if (xs[i] === x) return i;
|
|
return -1
|
|
}
|
|
|
|
function inspectString(str, opts) {
|
|
if (str.length > opts.maxStringLength) {
|
|
var remaining = str.length - opts.maxStringLength,
|
|
trailer = "... " + remaining + " more character" + (remaining > 1 ? "s" : "");
|
|
return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer
|
|
}
|
|
var quoteRE = quoteREs[opts.quoteStyle || "single"];
|
|
return quoteRE.lastIndex = 0, wrapQuotes($replace.call($replace.call(str, quoteRE, "\\$1"), /[\x00-\x1f]/g, lowbyte), "single", opts)
|
|
}
|
|
|
|
function lowbyte(c) {
|
|
var n = c.charCodeAt(0),
|
|
x = {
|
|
8: "b",
|
|
9: "t",
|
|
10: "n",
|
|
12: "f",
|
|
13: "r"
|
|
} [n];
|
|
return x ? "\\" + x : "\\x" + (n < 16 ? "0" : "") + $toUpperCase.call(n.toString(16))
|
|
}
|
|
|
|
function markBoxed(str) {
|
|
return "Object(" + str + ")"
|
|
}
|
|
|
|
function weakCollectionOf(type) {
|
|
return type + " { ? }"
|
|
}
|
|
|
|
function collectionOf(type, size, entries, indent) {
|
|
return type + " (" + size + ") {" + (indent ? indentedJoin(entries, indent) : $join.call(entries, ", ")) + "}"
|
|
}
|
|
|
|
function indentedJoin(xs, indent) {
|
|
if (0 === xs.length) return "";
|
|
var lineJoiner = "\n" + indent.prev + indent.base;
|
|
return lineJoiner + $join.call(xs, "," + lineJoiner) + "\n" + indent.prev
|
|
}
|
|
|
|
function arrObjKeys(obj, inspect) {
|
|
var isArr = isArray(obj),
|
|
xs = [];
|
|
if (isArr) {
|
|
xs.length = obj.length;
|
|
for (var i = 0; i < obj.length; i++) xs[i] = has(obj, i) ? inspect(obj[i], obj) : ""
|
|
}
|
|
var symMap, syms = "function" == typeof gOPS ? gOPS(obj) : [];
|
|
if (hasShammedSymbols) {
|
|
symMap = {};
|
|
for (var k = 0; k < syms.length; k++) symMap["$" + syms[k]] = syms[k]
|
|
}
|
|
for (var key in obj) has(obj, key) && (isArr && String(Number(key)) === key && key < obj.length || hasShammedSymbols && symMap["$" + key] instanceof Symbol || ($test.call(/[^\w$]/, key) ? xs.push(inspect(key, obj) + ": " + inspect(obj[key], obj)) : xs.push(key + ": " + inspect(obj[key], obj))));
|
|
if ("function" == typeof gOPS)
|
|
for (var j = 0; j < syms.length; j++) isEnumerable.call(obj, syms[j]) && xs.push("[" + inspect(syms[j]) + "]: " + inspect(obj[syms[j]], obj));
|
|
return xs
|
|
}
|
|
},
|
|
88981: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.compileGeneralSelector = void 0;
|
|
var attributes_1 = __webpack_require__(23620),
|
|
pseudo_selectors_1 = __webpack_require__(60547),
|
|
css_what_1 = __webpack_require__(89825);
|
|
exports.compileGeneralSelector = function(next, selector, options, context, compileToken) {
|
|
var adapter = options.adapter,
|
|
equals = options.equals;
|
|
switch (selector.type) {
|
|
case css_what_1.SelectorType.PseudoElement:
|
|
throw new Error("Pseudo-elements are not supported by css-select");
|
|
case css_what_1.SelectorType.ColumnCombinator:
|
|
throw new Error("Column combinators are not yet supported by css-select");
|
|
case css_what_1.SelectorType.Attribute:
|
|
if (null != selector.namespace) throw new Error("Namespaced attributes are not yet supported by css-select");
|
|
return options.xmlMode && !options.lowerCaseAttributeNames || (selector.name = selector.name.toLowerCase()), attributes_1.attributeRules[selector.action](next, selector, options);
|
|
case css_what_1.SelectorType.Pseudo:
|
|
return (0, pseudo_selectors_1.compilePseudoSelector)(next, selector, options, context, compileToken);
|
|
case css_what_1.SelectorType.Tag:
|
|
if (null != selector.namespace) throw new Error("Namespaced tag names are not yet supported by css-select");
|
|
var name_1 = selector.name;
|
|
return options.xmlMode && !options.lowerCaseTags || (name_1 = name_1.toLowerCase()),
|
|
function(elem) {
|
|
return adapter.getName(elem) === name_1 && next(elem)
|
|
};
|
|
case css_what_1.SelectorType.Descendant:
|
|
if (!1 === options.cacheResults || "undefined" == typeof WeakSet) return function(elem) {
|
|
for (var current = elem; current = adapter.getParent(current);)
|
|
if (adapter.isTag(current) && next(current)) return !0;
|
|
return !1
|
|
};
|
|
var isFalseCache_1 = new WeakSet;
|
|
return function(elem) {
|
|
for (var current = elem; current = adapter.getParent(current);)
|
|
if (!isFalseCache_1.has(current)) {
|
|
if (adapter.isTag(current) && next(current)) return !0;
|
|
isFalseCache_1.add(current)
|
|
} return !1
|
|
};
|
|
case "_flexibleDescendant":
|
|
return function(elem) {
|
|
var current = elem;
|
|
do {
|
|
if (adapter.isTag(current) && next(current)) return !0
|
|
} while (current = adapter.getParent(current));
|
|
return !1
|
|
};
|
|
case css_what_1.SelectorType.Parent:
|
|
return function(elem) {
|
|
return adapter.getChildren(elem).some(function(elem) {
|
|
return adapter.isTag(elem) && next(elem)
|
|
})
|
|
};
|
|
case css_what_1.SelectorType.Child:
|
|
return function(elem) {
|
|
var parent = adapter.getParent(elem);
|
|
return null != parent && adapter.isTag(parent) && next(parent)
|
|
};
|
|
case css_what_1.SelectorType.Sibling:
|
|
return function(elem) {
|
|
for (var siblings = adapter.getSiblings(elem), i = 0; i < siblings.length; i++) {
|
|
var currentSibling = siblings[i];
|
|
if (equals(elem, currentSibling)) break;
|
|
if (adapter.isTag(currentSibling) && next(currentSibling)) return !0
|
|
}
|
|
return !1
|
|
};
|
|
case css_what_1.SelectorType.Adjacent:
|
|
return adapter.prevElementSibling ? function(elem) {
|
|
var previous = adapter.prevElementSibling(elem);
|
|
return null != previous && next(previous)
|
|
} : function(elem) {
|
|
for (var lastElement, siblings = adapter.getSiblings(elem), i = 0; i < siblings.length; i++) {
|
|
var currentSibling = siblings[i];
|
|
if (equals(elem, currentSibling)) break;
|
|
adapter.isTag(currentSibling) && (lastElement = currentSibling)
|
|
}
|
|
return !!lastElement && next(lastElement)
|
|
};
|
|
case css_what_1.SelectorType.Universal:
|
|
if (null != selector.namespace && "*" !== selector.namespace) throw new Error("Namespaced universal selectors are not yet supported by css-select");
|
|
return next
|
|
}
|
|
}
|
|
},
|
|
89057: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _vimGenerator = __webpack_require__(47198),
|
|
_integrationRunner = __webpack_require__(17078),
|
|
_corePlugin = _interopRequireDefault(__webpack_require__(76849)),
|
|
_corePluginAction = _interopRequireDefault(__webpack_require__(16299));
|
|
const pluginName = "Integrations Core Plugin";
|
|
|
|
function prepareRunner({
|
|
coreRunner,
|
|
platform,
|
|
nativeActionRegistry,
|
|
runId
|
|
}) {
|
|
const integrationRunner = new _integrationRunner.IntegrationRunner(platform, nativeActionRegistry),
|
|
vimOptions = coreRunner.state.getValue(runId, "vimOptions") || {};
|
|
return vimOptions.cancellable || (vimOptions.cancellable = !0), vimOptions.timeout || vimOptions.disableTimeout || (vimOptions.timeout = 3e5), coreRunner.state.updateValue(runId, "vimOptions", vimOptions), integrationRunner
|
|
}
|
|
const IntegrationPlugin = new _corePlugin.default({
|
|
name: "Integrations Core Plugin",
|
|
description: "V5 VIM Actions and more focused on integrations",
|
|
actions: function() {
|
|
const actions = [],
|
|
vims = _vimGenerator.VimGenerator.vimEnums.VIMS;
|
|
for (const mainVimName of Object.values(vims)) mainVimName && "string" == typeof mainVimName && actions.push(new _corePluginAction.default({
|
|
name: mainVimName,
|
|
pluginName,
|
|
description: `Action wrapped integration - ${mainVimName}`,
|
|
logicFn: async ({
|
|
coreRunner,
|
|
nativeActionRegistry,
|
|
runId
|
|
}) => {
|
|
const {
|
|
storeId,
|
|
inputData,
|
|
platform
|
|
} = coreRunner.state.getValues(runId, ["storeId", "inputData", "platform"]);
|
|
return prepareRunner({
|
|
coreRunner,
|
|
platform,
|
|
nativeActionRegistry,
|
|
runId
|
|
}).run({
|
|
mainVimName,
|
|
storeId,
|
|
coreRunner,
|
|
inputData,
|
|
runId
|
|
})
|
|
}
|
|
}));
|
|
return actions.push(new _corePluginAction.default({
|
|
name: "canRunVim",
|
|
pluginName,
|
|
description: "Action to test if recipe can run a specific VIM by name",
|
|
logicFn: async ({
|
|
coreRunner,
|
|
nativeActionRegistry,
|
|
runId
|
|
}) => {
|
|
const {
|
|
storeId,
|
|
vimName,
|
|
platform,
|
|
vimOptions
|
|
} = coreRunner.state.getValues(runId, ["storeId", "vimName", "platform", "vimOptions"]), integrationRunner = prepareRunner({
|
|
coreRunner,
|
|
platform,
|
|
nativeActionRegistry,
|
|
runId
|
|
}), {
|
|
vimPayload
|
|
} = await integrationRunner.getVimPayload({
|
|
mainVimName: vimName,
|
|
storeId,
|
|
options: vimOptions || {}
|
|
});
|
|
return null !== vimPayload
|
|
}
|
|
})), actions.push(new _corePluginAction.default({
|
|
name: "runSubVim",
|
|
pluginName,
|
|
description: "Allows for kicking off a subvim via exiting parent options from existing vim",
|
|
logicFn: async ({
|
|
coreRunner,
|
|
nativeActionRegistry,
|
|
runId
|
|
}) => {
|
|
const {
|
|
platform,
|
|
subVimName,
|
|
vimPayload,
|
|
inputData
|
|
} = coreRunner.state.getValues(runId, ["platform", "subVimName", "vimPayload", "inputData"]);
|
|
return prepareRunner({
|
|
coreRunner,
|
|
platform,
|
|
nativeActionRegistry,
|
|
runId
|
|
}).runSubVim({
|
|
subVimName,
|
|
vimPayload,
|
|
coreRunner,
|
|
inputData,
|
|
runId
|
|
})
|
|
}
|
|
})), actions
|
|
}()
|
|
});
|
|
exports.default = IntegrationPlugin;
|
|
module.exports = exports.default
|
|
},
|
|
89110: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
|
|
function _createForOfIteratorHelper(o, allowArrayLike) {
|
|
var it = "undefined" != typeof Symbol && o[Symbol.iterator] || o["@@iterator"];
|
|
if (!it) {
|
|
if (Array.isArray(o) || (it = function(o, minLen) {
|
|
if (!o) return;
|
|
if ("string" == typeof o) return _arrayLikeToArray(o, minLen);
|
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
"Object" === n && o.constructor && (n = o.constructor.name);
|
|
if ("Map" === n || "Set" === n) return Array.from(o);
|
|
if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen)
|
|
}(o)) || allowArrayLike && o && "number" == typeof o.length) {
|
|
it && (o = it);
|
|
var i = 0,
|
|
F = function() {};
|
|
return {
|
|
s: F,
|
|
n: function() {
|
|
return i >= o.length ? {
|
|
done: !0
|
|
} : {
|
|
done: !1,
|
|
value: o[i++]
|
|
}
|
|
},
|
|
e: function(_e) {
|
|
throw _e
|
|
},
|
|
f: F
|
|
}
|
|
}
|
|
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
|
|
}
|
|
var err, normalCompletion = !0,
|
|
didErr = !1;
|
|
return {
|
|
s: function() {
|
|
it = it.call(o)
|
|
},
|
|
n: function() {
|
|
var step = it.next();
|
|
return normalCompletion = step.done, step
|
|
},
|
|
e: function(_e2) {
|
|
didErr = !0, err = _e2
|
|
},
|
|
f: function() {
|
|
try {
|
|
normalCompletion || null == it.return || it.return()
|
|
} finally {
|
|
if (didErr) throw err
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
function _arrayLikeToArray(arr, len) {
|
|
(null == len || len > arr.length) && (len = arr.length);
|
|
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
return arr2
|
|
}
|
|
let root;
|
|
"undefined" != typeof window ? root = window : "undefined" == typeof self ? (console.warn("Using browser-only version of superagent in non-browser environment"), root = void 0) : root = self;
|
|
const Emitter = __webpack_require__(84979),
|
|
safeStringify = __webpack_require__(81689),
|
|
qs = __webpack_require__(99211),
|
|
RequestBase = __webpack_require__(59167),
|
|
_require = __webpack_require__(7672),
|
|
isObject = _require.isObject,
|
|
mixin = _require.mixin,
|
|
hasOwn = _require.hasOwn,
|
|
ResponseBase = __webpack_require__(14042),
|
|
Agent = __webpack_require__(82068);
|
|
|
|
function noop() {}
|
|
module.exports = function(method, url) {
|
|
return "function" == typeof url ? new exports.Request("GET", method).end(url) : 1 === arguments.length ? new exports.Request("GET", method) : new exports.Request(method, url)
|
|
};
|
|
const request = exports = module.exports;
|
|
exports.Request = Request, request.getXHR = () => {
|
|
if (root.XMLHttpRequest) return new root.XMLHttpRequest;
|
|
throw new Error("Browser-only version of superagent could not find XHR")
|
|
};
|
|
const trim = "".trim ? s => s.trim() : s => s.replace(/(^\s*|\s*$)/g, "");
|
|
|
|
function serialize(object) {
|
|
if (!isObject(object)) return object;
|
|
const pairs = [];
|
|
for (const key in object) hasOwn(object, key) && pushEncodedKeyValuePair(pairs, key, object[key]);
|
|
return pairs.join("&")
|
|
}
|
|
|
|
function pushEncodedKeyValuePair(pairs, key, value) {
|
|
if (void 0 !== value)
|
|
if (null !== value)
|
|
if (Array.isArray(value)) {
|
|
var _step, _iterator = _createForOfIteratorHelper(value);
|
|
try {
|
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
pushEncodedKeyValuePair(pairs, key, _step.value)
|
|
}
|
|
} catch (err) {
|
|
_iterator.e(err)
|
|
} finally {
|
|
_iterator.f()
|
|
}
|
|
} else if (isObject(value))
|
|
for (const subkey in value) hasOwn(value, subkey) && pushEncodedKeyValuePair(pairs, `${key}[${subkey}]`, value[subkey]);
|
|
else pairs.push(encodeURI(key) + "=" + encodeURIComponent(value));
|
|
else pairs.push(encodeURI(key))
|
|
}
|
|
|
|
function parseString(string_) {
|
|
const object = {},
|
|
pairs = string_.split("&");
|
|
let pair, pos;
|
|
for (let i = 0, length_ = pairs.length; i < length_; ++i) pair = pairs[i], pos = pair.indexOf("="), -1 === pos ? object[decodeURIComponent(pair)] = "" : object[decodeURIComponent(pair.slice(0, pos))] = decodeURIComponent(pair.slice(pos + 1));
|
|
return object
|
|
}
|
|
|
|
function isJSON(mime) {
|
|
return /[/+]json($|[^-\w])/i.test(mime)
|
|
}
|
|
|
|
function Response(request_) {
|
|
this.req = request_, this.xhr = this.req.xhr, this.text = "HEAD" !== this.req.method && ("" === this.xhr.responseType || "text" === this.xhr.responseType) || void 0 === this.xhr.responseType ? this.xhr.responseText : null, this.statusText = this.req.xhr.statusText;
|
|
let status = this.xhr.status;
|
|
1223 === status && (status = 204), this._setStatusProperties(status), this.headers = function(string_) {
|
|
const lines = string_.split(/\r?\n/),
|
|
fields = {};
|
|
let index, line, field, value;
|
|
for (let i = 0, length_ = lines.length; i < length_; ++i) line = lines[i], index = line.indexOf(":"), -1 !== index && (field = line.slice(0, index).toLowerCase(), value = trim(line.slice(index + 1)), fields[field] = value);
|
|
return fields
|
|
}(this.xhr.getAllResponseHeaders()), this.header = this.headers, this.header["content-type"] = this.xhr.getResponseHeader("content-type"), this._setHeaderProperties(this.header), null === this.text && request_._responseType ? this.body = this.xhr.response : this.body = "HEAD" === this.req.method ? null : this._parseBody(this.text ? this.text : this.xhr.response)
|
|
}
|
|
|
|
function Request(method, url) {
|
|
const self = this;
|
|
this._query = this._query || [], this.method = method, this.url = url, this.header = {}, this._header = {}, this.on("end", () => {
|
|
let new_error, error = null,
|
|
res = null;
|
|
try {
|
|
res = new Response(self)
|
|
} catch (err) {
|
|
return error = new Error("Parser is unable to parse the response"), error.parse = !0, error.original = err, self.xhr ? (error.rawResponse = void 0 === self.xhr.responseType ? self.xhr.responseText : self.xhr.response, error.status = self.xhr.status ? self.xhr.status : null, error.statusCode = error.status) : (error.rawResponse = null, error.status = null), self.callback(error)
|
|
}
|
|
self.emit("response", res);
|
|
try {
|
|
self._isResponseOK(res) || (new_error = new Error(res.statusText || res.text || "Unsuccessful HTTP response"))
|
|
} catch (err) {
|
|
new_error = err
|
|
}
|
|
new_error ? (new_error.original = error, new_error.response = res, new_error.status = new_error.status || res.status, self.callback(new_error, res)) : self.callback(null, res)
|
|
})
|
|
}
|
|
request.serializeObject = serialize, request.parseString = parseString, request.types = {
|
|
html: "text/html",
|
|
json: "application/json",
|
|
xml: "text/xml",
|
|
urlencoded: "application/x-www-form-urlencoded",
|
|
form: "application/x-www-form-urlencoded",
|
|
"form-data": "application/x-www-form-urlencoded"
|
|
}, request.serialize = {
|
|
"application/x-www-form-urlencoded": qs.stringify,
|
|
"application/json": safeStringify
|
|
}, request.parse = {
|
|
"application/x-www-form-urlencoded": parseString,
|
|
"application/json": JSON.parse
|
|
}, mixin(Response.prototype, ResponseBase.prototype), Response.prototype._parseBody = function(string_) {
|
|
let parse = request.parse[this.type];
|
|
return this.req._parser ? this.req._parser(this, string_) : (!parse && isJSON(this.type) && (parse = request.parse["application/json"]), parse && string_ && (string_.length > 0 || string_ instanceof Object) ? parse(string_) : null)
|
|
}, Response.prototype.toError = function() {
|
|
const req = this.req,
|
|
method = req.method,
|
|
url = req.url,
|
|
message = `cannot ${method} ${url} (${this.status})`,
|
|
error = new Error(message);
|
|
return error.status = this.status, error.method = method, error.url = url, error
|
|
}, request.Response = Response, Emitter(Request.prototype), mixin(Request.prototype, RequestBase.prototype), Request.prototype.type = function(type) {
|
|
return this.set("Content-Type", request.types[type] || type), this
|
|
}, Request.prototype.accept = function(type) {
|
|
return this.set("Accept", request.types[type] || type), this
|
|
}, Request.prototype.auth = function(user, pass, options) {
|
|
1 === arguments.length && (pass = ""), "object" == typeof pass && null !== pass && (options = pass, pass = ""), options || (options = {
|
|
type: "function" == typeof btoa ? "basic" : "auto"
|
|
});
|
|
const encoder = options.encoder ? options.encoder : string => {
|
|
if ("function" == typeof btoa) return btoa(string);
|
|
throw new Error("Cannot use basic auth, btoa is not a function")
|
|
};
|
|
return this._auth(user, pass, options, encoder)
|
|
}, Request.prototype.query = function(value) {
|
|
return "string" != typeof value && (value = serialize(value)), value && this._query.push(value), this
|
|
}, Request.prototype.attach = function(field, file, options) {
|
|
if (file) {
|
|
if (this._data) throw new Error("superagent can't mix .send() and .attach()");
|
|
this._getFormData().append(field, file, options || file.name)
|
|
}
|
|
return this
|
|
}, Request.prototype._getFormData = function() {
|
|
return this._formData || (this._formData = new root.FormData), this._formData
|
|
}, Request.prototype.callback = function(error, res) {
|
|
if (this._shouldRetry(error, res)) return this._retry();
|
|
const fn = this._callback;
|
|
this.clearTimeout(), error && (this._maxRetries && (error.retries = this._retries - 1), this.emit("error", error)), fn(error, res)
|
|
}, Request.prototype.crossDomainError = function() {
|
|
const error = new Error("Request has been terminated\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.");
|
|
error.crossDomain = !0, error.status = this.status, error.method = this.method, error.url = this.url, this.callback(error)
|
|
}, Request.prototype.agent = function() {
|
|
return console.warn("This is not supported in browser version of superagent"), this
|
|
}, Request.prototype.ca = Request.prototype.agent, Request.prototype.buffer = Request.prototype.ca, Request.prototype.write = () => {
|
|
throw new Error("Streaming is not supported in browser version of superagent")
|
|
}, Request.prototype.pipe = Request.prototype.write, Request.prototype._isHost = function(object) {
|
|
return object && "object" == typeof object && !Array.isArray(object) && "[object Object]" !== Object.prototype.toString.call(object)
|
|
}, Request.prototype.end = function(fn) {
|
|
this._endCalled && console.warn("Warning: .end() was called twice. This is not supported in superagent"), this._endCalled = !0, this._callback = fn || noop, this._finalizeQueryString(), this._end()
|
|
}, Request.prototype._setUploadTimeout = function() {
|
|
const self = this;
|
|
this._uploadTimeout && !this._uploadTimeoutTimer && (this._uploadTimeoutTimer = setTimeout(() => {
|
|
self._timeoutError("Upload timeout of ", self._uploadTimeout, "ETIMEDOUT")
|
|
}, this._uploadTimeout))
|
|
}, Request.prototype._end = function() {
|
|
if (this._aborted) return this.callback(new Error("The request has been aborted even before .end() was called"));
|
|
const self = this;
|
|
this.xhr = request.getXHR();
|
|
const xhr = this.xhr;
|
|
let data = this._formData || this._data;
|
|
this._setTimeouts(), xhr.addEventListener("readystatechange", () => {
|
|
const readyState = xhr.readyState;
|
|
if (readyState >= 2 && self._responseTimeoutTimer && clearTimeout(self._responseTimeoutTimer), 4 !== readyState) return;
|
|
let status;
|
|
try {
|
|
status = xhr.status
|
|
} catch (err) {
|
|
status = 0
|
|
}
|
|
if (!status) {
|
|
if (self.timedout || self._aborted) return;
|
|
return self.crossDomainError()
|
|
}
|
|
self.emit("end")
|
|
});
|
|
const handleProgress = (direction, e) => {
|
|
e.total > 0 && (e.percent = e.loaded / e.total * 100, 100 === e.percent && clearTimeout(self._uploadTimeoutTimer)), e.direction = direction, self.emit("progress", e)
|
|
};
|
|
if (this.hasListeners("progress")) try {
|
|
xhr.addEventListener("progress", handleProgress.bind(null, "download")), xhr.upload && xhr.upload.addEventListener("progress", handleProgress.bind(null, "upload"))
|
|
} catch (err) {}
|
|
xhr.upload && this._setUploadTimeout();
|
|
try {
|
|
this.username && this.password ? xhr.open(this.method, this.url, !0, this.username, this.password) : xhr.open(this.method, this.url, !0)
|
|
} catch (err) {
|
|
return this.callback(err)
|
|
}
|
|
if (this._withCredentials && (xhr.withCredentials = !0), !this._formData && "GET" !== this.method && "HEAD" !== this.method && "string" != typeof data && !this._isHost(data)) {
|
|
const contentType = this._header["content-type"];
|
|
let serialize = this._serializer || request.serialize[contentType ? contentType.split(";")[0] : ""];
|
|
!serialize && isJSON(contentType) && (serialize = request.serialize["application/json"]), serialize && (data = serialize(data))
|
|
}
|
|
for (const field in this.header) null !== this.header[field] && hasOwn(this.header, field) && xhr.setRequestHeader(field, this.header[field]);
|
|
this._responseType && (xhr.responseType = this._responseType), this.emit("request", this), xhr.send(void 0 === data ? null : data)
|
|
}, request.agent = () => new Agent;
|
|
for (var _i = 0, _arr = ["GET", "POST", "OPTIONS", "PATCH", "PUT", "DELETE"]; _i < _arr.length; _i++) {
|
|
const method = _arr[_i];
|
|
Agent.prototype[method.toLowerCase()] = function(url, fn) {
|
|
const request_ = new request.Request(method, url);
|
|
return this._setDefaults(request_), fn && request_.end(fn), request_
|
|
}
|
|
}
|
|
|
|
function del(url, data, fn) {
|
|
const request_ = request("DELETE", url);
|
|
return "function" == typeof data && (fn = data, data = null), data && request_.send(data), fn && request_.end(fn), request_
|
|
}
|
|
Agent.prototype.del = Agent.prototype.delete, request.get = (url, data, fn) => {
|
|
const request_ = request("GET", url);
|
|
return "function" == typeof data && (fn = data, data = null), data && request_.query(data), fn && request_.end(fn), request_
|
|
}, request.head = (url, data, fn) => {
|
|
const request_ = request("HEAD", url);
|
|
return "function" == typeof data && (fn = data, data = null), data && request_.query(data), fn && request_.end(fn), request_
|
|
}, request.options = (url, data, fn) => {
|
|
const request_ = request("OPTIONS", url);
|
|
return "function" == typeof data && (fn = data, data = null), data && request_.send(data), fn && request_.end(fn), request_
|
|
}, request.del = del, request.delete = del, request.patch = (url, data, fn) => {
|
|
const request_ = request("PATCH", url);
|
|
return "function" == typeof data && (fn = data, data = null), data && request_.send(data), fn && request_.end(fn), request_
|
|
}, request.post = (url, data, fn) => {
|
|
const request_ = request("POST", url);
|
|
return "function" == typeof data && (fn = data, data = null), data && request_.send(data), fn && request_.end(fn), request_
|
|
}, request.put = (url, data, fn) => {
|
|
const request_ = request("PUT", url);
|
|
return "function" == typeof data && (fn = data, data = null), data && request_.send(data), fn && request_.end(fn), request_
|
|
}
|
|
},
|
|
89294: module => {
|
|
"use strict";
|
|
module.exports = JSON.parse('{"Aacute":"\xc1","aacute":"\xe1","Abreve":"\u0102","abreve":"\u0103","ac":"\u223e","acd":"\u223f","acE":"\u223e\u0333","Acirc":"\xc2","acirc":"\xe2","acute":"\xb4","Acy":"\u0410","acy":"\u0430","AElig":"\xc6","aelig":"\xe6","af":"\u2061","Afr":"\u{1d504}","afr":"\u{1d51e}","Agrave":"\xc0","agrave":"\xe0","alefsym":"\u2135","aleph":"\u2135","Alpha":"\u0391","alpha":"\u03b1","Amacr":"\u0100","amacr":"\u0101","amalg":"\u2a3f","amp":"&","AMP":"&","andand":"\u2a55","And":"\u2a53","and":"\u2227","andd":"\u2a5c","andslope":"\u2a58","andv":"\u2a5a","ang":"\u2220","ange":"\u29a4","angle":"\u2220","angmsdaa":"\u29a8","angmsdab":"\u29a9","angmsdac":"\u29aa","angmsdad":"\u29ab","angmsdae":"\u29ac","angmsdaf":"\u29ad","angmsdag":"\u29ae","angmsdah":"\u29af","angmsd":"\u2221","angrt":"\u221f","angrtvb":"\u22be","angrtvbd":"\u299d","angsph":"\u2222","angst":"\xc5","angzarr":"\u237c","Aogon":"\u0104","aogon":"\u0105","Aopf":"\u{1d538}","aopf":"\u{1d552}","apacir":"\u2a6f","ap":"\u2248","apE":"\u2a70","ape":"\u224a","apid":"\u224b","apos":"\'","ApplyFunction":"\u2061","approx":"\u2248","approxeq":"\u224a","Aring":"\xc5","aring":"\xe5","Ascr":"\u{1d49c}","ascr":"\u{1d4b6}","Assign":"\u2254","ast":"*","asymp":"\u2248","asympeq":"\u224d","Atilde":"\xc3","atilde":"\xe3","Auml":"\xc4","auml":"\xe4","awconint":"\u2233","awint":"\u2a11","backcong":"\u224c","backepsilon":"\u03f6","backprime":"\u2035","backsim":"\u223d","backsimeq":"\u22cd","Backslash":"\u2216","Barv":"\u2ae7","barvee":"\u22bd","barwed":"\u2305","Barwed":"\u2306","barwedge":"\u2305","bbrk":"\u23b5","bbrktbrk":"\u23b6","bcong":"\u224c","Bcy":"\u0411","bcy":"\u0431","bdquo":"\u201e","becaus":"\u2235","because":"\u2235","Because":"\u2235","bemptyv":"\u29b0","bepsi":"\u03f6","bernou":"\u212c","Bernoullis":"\u212c","Beta":"\u0392","beta":"\u03b2","beth":"\u2136","between":"\u226c","Bfr":"\u{1d505}","bfr":"\u{1d51f}","bigcap":"\u22c2","bigcirc":"\u25ef","bigcup":"\u22c3","bigodot":"\u2a00","bigoplus":"\u2a01","bigotimes":"\u2a02","bigsqcup":"\u2a06","bigstar":"\u2605","bigtriangledown":"\u25bd","bigtriangleup":"\u25b3","biguplus":"\u2a04","bigvee":"\u22c1","bigwedge":"\u22c0","bkarow":"\u290d","blacklozenge":"\u29eb","blacksquare":"\u25aa","blacktriangle":"\u25b4","blacktriangledown":"\u25be","blacktriangleleft":"\u25c2","blacktriangleright":"\u25b8","blank":"\u2423","blk12":"\u2592","blk14":"\u2591","blk34":"\u2593","block":"\u2588","bne":"=\u20e5","bnequiv":"\u2261\u20e5","bNot":"\u2aed","bnot":"\u2310","Bopf":"\u{1d539}","bopf":"\u{1d553}","bot":"\u22a5","bottom":"\u22a5","bowtie":"\u22c8","boxbox":"\u29c9","boxdl":"\u2510","boxdL":"\u2555","boxDl":"\u2556","boxDL":"\u2557","boxdr":"\u250c","boxdR":"\u2552","boxDr":"\u2553","boxDR":"\u2554","boxh":"\u2500","boxH":"\u2550","boxhd":"\u252c","boxHd":"\u2564","boxhD":"\u2565","boxHD":"\u2566","boxhu":"\u2534","boxHu":"\u2567","boxhU":"\u2568","boxHU":"\u2569","boxminus":"\u229f","boxplus":"\u229e","boxtimes":"\u22a0","boxul":"\u2518","boxuL":"\u255b","boxUl":"\u255c","boxUL":"\u255d","boxur":"\u2514","boxuR":"\u2558","boxUr":"\u2559","boxUR":"\u255a","boxv":"\u2502","boxV":"\u2551","boxvh":"\u253c","boxvH":"\u256a","boxVh":"\u256b","boxVH":"\u256c","boxvl":"\u2524","boxvL":"\u2561","boxVl":"\u2562","boxVL":"\u2563","boxvr":"\u251c","boxvR":"\u255e","boxVr":"\u255f","boxVR":"\u2560","bprime":"\u2035","breve":"\u02d8","Breve":"\u02d8","brvbar":"\xa6","bscr":"\u{1d4b7}","Bscr":"\u212c","bsemi":"\u204f","bsim":"\u223d","bsime":"\u22cd","bsolb":"\u29c5","bsol":"\\\\","bsolhsub":"\u27c8","bull":"\u2022","bullet":"\u2022","bump":"\u224e","bumpE":"\u2aae","bumpe":"\u224f","Bumpeq":"\u224e","bumpeq":"\u224f","Cacute":"\u0106","cacute":"\u0107","capand":"\u2a44","capbrcup":"\u2a49","capcap":"\u2a4b","cap":"\u2229","Cap":"\u22d2","capcup":"\u2a47","capdot":"\u2a40","CapitalDifferentialD":"\u2145","caps":"\u2229\ufe00","caret":"\u2041","caron":"\u02c7","Cayleys":"\u212d","ccaps":"\u2a4d","Ccaron":"\u010c","ccaron":"\u010d","Ccedil":"\xc7","ccedil":"\xe7","Ccirc":"\u0108","ccirc":"\u0109","Cconint":"\u2230","ccups":"\u2a4c","ccupssm":"\u2a50","Cdot":"\u010a","cdot":"\u010b","cedil":"\xb8","Cedilla":"\xb8","cemptyv":"\u29b2","cent":"\xa2","centerdot":"\xb7","CenterDot":"\xb7","cfr":"\u{1d520}","Cfr":"\u212d","CHcy":"\u0427","chcy":"\u0447","check":"\u2713","checkmark":"\u2713","Chi":"\u03a7","chi":"\u03c7","circ":"\u02c6","circeq":"\u2257","circlearrowleft":"\u21ba","circlearrowright":"\u21bb","circledast":"\u229b","circledcirc":"\u229a","circleddash":"\u229d","CircleDot":"\u2299","circledR":"\xae","circledS":"\u24c8","CircleMinus":"\u2296","CirclePlus":"\u2295","CircleTimes":"\u2297","cir":"\u25cb","cirE":"\u29c3","cire":"\u2257","cirfnint":"\u2a10","cirmid":"\u2aef","cirscir":"\u29c2","ClockwiseContourIntegral":"\u2232","CloseCurlyDoubleQuote":"\u201d","CloseCurlyQuote":"\u2019","clubs":"\u2663","clubsuit":"\u2663","colon":":","Colon":"\u2237","Colone":"\u2a74","colone":"\u2254","coloneq":"\u2254","comma":",","commat":"@","comp":"\u2201","compfn":"\u2218","complement":"\u2201","complexes":"\u2102","cong":"\u2245","congdot":"\u2a6d","Congruent":"\u2261","conint":"\u222e","Conint":"\u222f","ContourIntegral":"\u222e","copf":"\u{1d554}","Copf":"\u2102","coprod":"\u2210","Coproduct":"\u2210","copy":"\xa9","COPY":"\xa9","copysr":"\u2117","CounterClockwiseContourIntegral":"\u2233","crarr":"\u21b5","cross":"\u2717","Cross":"\u2a2f","Cscr":"\u{1d49e}","cscr":"\u{1d4b8}","csub":"\u2acf","csube":"\u2ad1","csup":"\u2ad0","csupe":"\u2ad2","ctdot":"\u22ef","cudarrl":"\u2938","cudarrr":"\u2935","cuepr":"\u22de","cuesc":"\u22df","cularr":"\u21b6","cularrp":"\u293d","cupbrcap":"\u2a48","cupcap":"\u2a46","CupCap":"\u224d","cup":"\u222a","Cup":"\u22d3","cupcup":"\u2a4a","cupdot":"\u228d","cupor":"\u2a45","cups":"\u222a\ufe00","curarr":"\u21b7","curarrm":"\u293c","curlyeqprec":"\u22de","curlyeqsucc":"\u22df","curlyvee":"\u22ce","curlywedge":"\u22cf","curren":"\xa4","curvearrowleft":"\u21b6","curvearrowright":"\u21b7","cuvee":"\u22ce","cuwed":"\u22cf","cwconint":"\u2232","cwint":"\u2231","cylcty":"\u232d","dagger":"\u2020","Dagger":"\u2021","daleth":"\u2138","darr":"\u2193","Darr":"\u21a1","dArr":"\u21d3","dash":"\u2010","Dashv":"\u2ae4","dashv":"\u22a3","dbkarow":"\u290f","dblac":"\u02dd","Dcaron":"\u010e","dcaron":"\u010f","Dcy":"\u0414","dcy":"\u0434","ddagger":"\u2021","ddarr":"\u21ca","DD":"\u2145","dd":"\u2146","DDotrahd":"\u2911","ddotseq":"\u2a77","deg":"\xb0","Del":"\u2207","Delta":"\u0394","delta":"\u03b4","demptyv":"\u29b1","dfisht":"\u297f","Dfr":"\u{1d507}","dfr":"\u{1d521}","dHar":"\u2965","dharl":"\u21c3","dharr":"\u21c2","DiacriticalAcute":"\xb4","DiacriticalDot":"\u02d9","DiacriticalDoubleAcute":"\u02dd","DiacriticalGrave":"`","DiacriticalTilde":"\u02dc","diam":"\u22c4","diamond":"\u22c4","Diamond":"\u22c4","diamondsuit":"\u2666","diams":"\u2666","die":"\xa8","DifferentialD":"\u2146","digamma":"\u03dd","disin":"\u22f2","div":"\xf7","divide":"\xf7","divideontimes":"\u22c7","divonx":"\u22c7","DJcy":"\u0402","djcy":"\u0452","dlcorn":"\u231e","dlcrop":"\u230d","dollar":"$","Dopf":"\u{1d53b}","dopf":"\u{1d555}","Dot":"\xa8","dot":"\u02d9","DotDot":"\u20dc","doteq":"\u2250","doteqdot":"\u2251","DotEqual":"\u2250","dotminus":"\u2238","dotplus":"\u2214","dotsquare":"\u22a1","doublebarwedge":"\u2306","DoubleContourIntegral":"\u222f","DoubleDot":"\xa8","DoubleDownArrow":"\u21d3","DoubleLeftArrow":"\u21d0","DoubleLeftRightArrow":"\u21d4","DoubleLeftTee":"\u2ae4","DoubleLongLeftArrow":"\u27f8","DoubleLongLeftRightArrow":"\u27fa","DoubleLongRightArrow":"\u27f9","DoubleRightArrow":"\u21d2","DoubleRightTee":"\u22a8","DoubleUpArrow":"\u21d1","DoubleUpDownArrow":"\u21d5","DoubleVerticalBar":"\u2225","DownArrowBar":"\u2913","downarrow":"\u2193","DownArrow":"\u2193","Downarrow":"\u21d3","DownArrowUpArrow":"\u21f5","DownBreve":"\u0311","downdownarrows":"\u21ca","downharpoonleft":"\u21c3","downharpoonright":"\u21c2","DownLeftRightVector":"\u2950","DownLeftTeeVector":"\u295e","DownLeftVectorBar":"\u2956","DownLeftVector":"\u21bd","DownRightTeeVector":"\u295f","DownRightVectorBar":"\u2957","DownRightVector":"\u21c1","DownTeeArrow":"\u21a7","DownTee":"\u22a4","drbkarow":"\u2910","drcorn":"\u231f","drcrop":"\u230c","Dscr":"\u{1d49f}","dscr":"\u{1d4b9}","DScy":"\u0405","dscy":"\u0455","dsol":"\u29f6","Dstrok":"\u0110","dstrok":"\u0111","dtdot":"\u22f1","dtri":"\u25bf","dtrif":"\u25be","duarr":"\u21f5","duhar":"\u296f","dwangle":"\u29a6","DZcy":"\u040f","dzcy":"\u045f","dzigrarr":"\u27ff","Eacute":"\xc9","eacute":"\xe9","easter":"\u2a6e","Ecaron":"\u011a","ecaron":"\u011b","Ecirc":"\xca","ecirc":"\xea","ecir":"\u2256","ecolon":"\u2255","Ecy":"\u042d","ecy":"\u044d","eDDot":"\u2a77","Edot":"\u0116","edot":"\u0117","eDot":"\u2251","ee":"\u2147","efDot":"\u2252","Efr":"\u{1d508}","efr":"\u{1d522}","eg":"\u2a9a","Egrave":"\xc8","egrave":"\xe8","egs":"\u2a96","egsdot":"\u2a98","el":"\u2a99","Element":"\u2208","elinters":"\u23e7","ell":"\u2113","els":"\u2a95","elsdot":"\u2a97","Emacr":"\u0112","emacr":"\u0113","empty":"\u2205","emptyset":"\u2205","EmptySmallSquare":"\u25fb","emptyv":"\u2205","EmptyVerySmallSquare":"\u25ab","emsp13":"\u2004","emsp14":"\u2005","emsp":"\u2003","ENG":"\u014a","eng":"\u014b","ensp":"\u2002","Eogon":"\u0118","eogon":"\u0119","Eopf":"\u{1d53c}","eopf":"\u{1d556}","epar":"\u22d5","eparsl":"\u29e3","eplus":"\u2a71","epsi":"\u03b5","Epsilon":"\u0395","epsilon":"\u03b5","epsiv":"\u03f5","eqcirc":"\u2256","eqcolon":"\u2255","eqsim":"\u2242","eqslantgtr":"\u2a96","eqslantless":"\u2a95","Equal":"\u2a75","equals":"=","EqualTilde":"\u2242","equest":"\u225f","Equilibrium":"\u21cc","equiv":"\u2261","equivDD":"\u2a78","eqvparsl":"\u29e5","erarr":"\u2971","erDot":"\u2253","escr":"\u212f","Escr":"\u2130","esdot":"\u2250","Esim":"\u2a73","esim":"\u2242","Eta":"\u0397","eta":"\u03b7","ETH":"\xd0","eth":"\xf0","Euml":"\xcb","euml":"\xeb","euro":"\u20ac","excl":"!","exist":"\u2203","Exists":"\u2203","expectation":"\u2130","exponentiale":"\u2147","ExponentialE":"\u2147","fallingdotseq":"\u2252","Fcy":"\u0424","fcy":"\u0444","female":"\u2640","ffilig":"\ufb03","fflig":"\ufb00","ffllig":"\ufb04","Ffr":"\u{1d509}","ffr":"\u{1d523}","filig":"\ufb01","FilledSmallSquare":"\u25fc","FilledVerySmallSquare":"\u25aa","fjlig":"fj","flat":"\u266d","fllig":"\ufb02","fltns":"\u25b1","fnof":"\u0192","Fopf":"\u{1d53d}","fopf":"\u{1d557}","forall":"\u2200","ForAll":"\u2200","fork":"\u22d4","forkv":"\u2ad9","Fouriertrf":"\u2131","fpartint":"\u2a0d","frac12":"\xbd","frac13":"\u2153","frac14":"\xbc","frac15":"\u2155","frac16":"\u2159","frac18":"\u215b","frac23":"\u2154","frac25":"\u2156","frac34":"\xbe","frac35":"\u2157","frac38":"\u215c","frac45":"\u2158","frac56":"\u215a","frac58":"\u215d","frac78":"\u215e","frasl":"\u2044","frown":"\u2322","fscr":"\u{1d4bb}","Fscr":"\u2131","gacute":"\u01f5","Gamma":"\u0393","gamma":"\u03b3","Gammad":"\u03dc","gammad":"\u03dd","gap":"\u2a86","Gbreve":"\u011e","gbreve":"\u011f","Gcedil":"\u0122","Gcirc":"\u011c","gcirc":"\u011d","Gcy":"\u0413","gcy":"\u0433","Gdot":"\u0120","gdot":"\u0121","ge":"\u2265","gE":"\u2267","gEl":"\u2a8c","gel":"\u22db","geq":"\u2265","geqq":"\u2267","geqslant":"\u2a7e","gescc":"\u2aa9","ges":"\u2a7e","gesdot":"\u2a80","gesdoto":"\u2a82","gesdotol":"\u2a84","gesl":"\u22db\ufe00","gesles":"\u2a94","Gfr":"\u{1d50a}","gfr":"\u{1d524}","gg":"\u226b","Gg":"\u22d9","ggg":"\u22d9","gimel":"\u2137","GJcy":"\u0403","gjcy":"\u0453","gla":"\u2aa5","gl":"\u2277","glE":"\u2a92","glj":"\u2aa4","gnap":"\u2a8a","gnapprox":"\u2a8a","gne":"\u2a88","gnE":"\u2269","gneq":"\u2a88","gneqq":"\u2269","gnsim":"\u22e7","Gopf":"\u{1d53e}","gopf":"\u{1d558}","grave":"`","GreaterEqual":"\u2265","GreaterEqualLess":"\u22db","GreaterFullEqual":"\u2267","GreaterGreater":"\u2aa2","GreaterLess":"\u2277","GreaterSlantEqual":"\u2a7e","GreaterTilde":"\u2273","Gscr":"\u{1d4a2}","gscr":"\u210a","gsim":"\u2273","gsime":"\u2a8e","gsiml":"\u2a90","gtcc":"\u2aa7","gtcir":"\u2a7a","gt":">","GT":">","Gt":"\u226b","gtdot":"\u22d7","gtlPar":"\u2995","gtquest":"\u2a7c","gtrapprox":"\u2a86","gtrarr":"\u2978","gtrdot":"\u22d7","gtreqless":"\u22db","gtreqqless":"\u2a8c","gtrless":"\u2277","gtrsim":"\u2273","gvertneqq":"\u2269\ufe00","gvnE":"\u2269\ufe00","Hacek":"\u02c7","hairsp":"\u200a","half":"\xbd","hamilt":"\u210b","HARDcy":"\u042a","hardcy":"\u044a","harrcir":"\u2948","harr":"\u2194","hArr":"\u21d4","harrw":"\u21ad","Hat":"^","hbar":"\u210f","Hcirc":"\u0124","hcirc":"\u0125","hearts":"\u2665","heartsuit":"\u2665","hellip":"\u2026","hercon":"\u22b9","hfr":"\u{1d525}","Hfr":"\u210c","HilbertSpace":"\u210b","hksearow":"\u2925","hkswarow":"\u2926","hoarr":"\u21ff","homtht":"\u223b","hookleftarrow":"\u21a9","hookrightarrow":"\u21aa","hopf":"\u{1d559}","Hopf":"\u210d","horbar":"\u2015","HorizontalLine":"\u2500","hscr":"\u{1d4bd}","Hscr":"\u210b","hslash":"\u210f","Hstrok":"\u0126","hstrok":"\u0127","HumpDownHump":"\u224e","HumpEqual":"\u224f","hybull":"\u2043","hyphen":"\u2010","Iacute":"\xcd","iacute":"\xed","ic":"\u2063","Icirc":"\xce","icirc":"\xee","Icy":"\u0418","icy":"\u0438","Idot":"\u0130","IEcy":"\u0415","iecy":"\u0435","iexcl":"\xa1","iff":"\u21d4","ifr":"\u{1d526}","Ifr":"\u2111","Igrave":"\xcc","igrave":"\xec","ii":"\u2148","iiiint":"\u2a0c","iiint":"\u222d","iinfin":"\u29dc","iiota":"\u2129","IJlig":"\u0132","ijlig":"\u0133","Imacr":"\u012a","imacr":"\u012b","image":"\u2111","ImaginaryI":"\u2148","imagline":"\u2110","imagpart":"\u2111","imath":"\u0131","Im":"\u2111","imof":"\u22b7","imped":"\u01b5","Implies":"\u21d2","incare":"\u2105","in":"\u2208","infin":"\u221e","infintie":"\u29dd","inodot":"\u0131","intcal":"\u22ba","int":"\u222b","Int":"\u222c","integers":"\u2124","Integral":"\u222b","intercal":"\u22ba","Intersection":"\u22c2","intlarhk":"\u2a17","intprod":"\u2a3c","InvisibleComma":"\u2063","InvisibleTimes":"\u2062","IOcy":"\u0401","iocy":"\u0451","Iogon":"\u012e","iogon":"\u012f","Iopf":"\u{1d540}","iopf":"\u{1d55a}","Iota":"\u0399","iota":"\u03b9","iprod":"\u2a3c","iquest":"\xbf","iscr":"\u{1d4be}","Iscr":"\u2110","isin":"\u2208","isindot":"\u22f5","isinE":"\u22f9","isins":"\u22f4","isinsv":"\u22f3","isinv":"\u2208","it":"\u2062","Itilde":"\u0128","itilde":"\u0129","Iukcy":"\u0406","iukcy":"\u0456","Iuml":"\xcf","iuml":"\xef","Jcirc":"\u0134","jcirc":"\u0135","Jcy":"\u0419","jcy":"\u0439","Jfr":"\u{1d50d}","jfr":"\u{1d527}","jmath":"\u0237","Jopf":"\u{1d541}","jopf":"\u{1d55b}","Jscr":"\u{1d4a5}","jscr":"\u{1d4bf}","Jsercy":"\u0408","jsercy":"\u0458","Jukcy":"\u0404","jukcy":"\u0454","Kappa":"\u039a","kappa":"\u03ba","kappav":"\u03f0","Kcedil":"\u0136","kcedil":"\u0137","Kcy":"\u041a","kcy":"\u043a","Kfr":"\u{1d50e}","kfr":"\u{1d528}","kgreen":"\u0138","KHcy":"\u0425","khcy":"\u0445","KJcy":"\u040c","kjcy":"\u045c","Kopf":"\u{1d542}","kopf":"\u{1d55c}","Kscr":"\u{1d4a6}","kscr":"\u{1d4c0}","lAarr":"\u21da","Lacute":"\u0139","lacute":"\u013a","laemptyv":"\u29b4","lagran":"\u2112","Lambda":"\u039b","lambda":"\u03bb","lang":"\u27e8","Lang":"\u27ea","langd":"\u2991","langle":"\u27e8","lap":"\u2a85","Laplacetrf":"\u2112","laquo":"\xab","larrb":"\u21e4","larrbfs":"\u291f","larr":"\u2190","Larr":"\u219e","lArr":"\u21d0","larrfs":"\u291d","larrhk":"\u21a9","larrlp":"\u21ab","larrpl":"\u2939","larrsim":"\u2973","larrtl":"\u21a2","latail":"\u2919","lAtail":"\u291b","lat":"\u2aab","late":"\u2aad","lates":"\u2aad\ufe00","lbarr":"\u290c","lBarr":"\u290e","lbbrk":"\u2772","lbrace":"{","lbrack":"[","lbrke":"\u298b","lbrksld":"\u298f","lbrkslu":"\u298d","Lcaron":"\u013d","lcaron":"\u013e","Lcedil":"\u013b","lcedil":"\u013c","lceil":"\u2308","lcub":"{","Lcy":"\u041b","lcy":"\u043b","ldca":"\u2936","ldquo":"\u201c","ldquor":"\u201e","ldrdhar":"\u2967","ldrushar":"\u294b","ldsh":"\u21b2","le":"\u2264","lE":"\u2266","LeftAngleBracket":"\u27e8","LeftArrowBar":"\u21e4","leftarrow":"\u2190","LeftArrow":"\u2190","Leftarrow":"\u21d0","LeftArrowRightArrow":"\u21c6","leftarrowtail":"\u21a2","LeftCeiling":"\u2308","LeftDoubleBracket":"\u27e6","LeftDownTeeVector":"\u2961","LeftDownVectorBar":"\u2959","LeftDownVector":"\u21c3","LeftFloor":"\u230a","leftharpoondown":"\u21bd","leftharpoonup":"\u21bc","leftleftarrows":"\u21c7","leftrightarrow":"\u2194","LeftRightArrow":"\u2194","Leftrightarrow":"\u21d4","leftrightarrows":"\u21c6","leftrightharpoons":"\u21cb","leftrightsquigarrow":"\u21ad","LeftRightVector":"\u294e","LeftTeeArrow":"\u21a4","LeftTee":"\u22a3","LeftTeeVector":"\u295a","leftthreetimes":"\u22cb","LeftTriangleBar":"\u29cf","LeftTriangle":"\u22b2","LeftTriangleEqual":"\u22b4","LeftUpDownVector":"\u2951","LeftUpTeeVector":"\u2960","LeftUpVectorBar":"\u2958","LeftUpVector":"\u21bf","LeftVectorBar":"\u2952","LeftVector":"\u21bc","lEg":"\u2a8b","leg":"\u22da","leq":"\u2264","leqq":"\u2266","leqslant":"\u2a7d","lescc":"\u2aa8","les":"\u2a7d","lesdot":"\u2a7f","lesdoto":"\u2a81","lesdotor":"\u2a83","lesg":"\u22da\ufe00","lesges":"\u2a93","lessapprox":"\u2a85","lessdot":"\u22d6","lesseqgtr":"\u22da","lesseqqgtr":"\u2a8b","LessEqualGreater":"\u22da","LessFullEqual":"\u2266","LessGreater":"\u2276","lessgtr":"\u2276","LessLess":"\u2aa1","lesssim":"\u2272","LessSlantEqual":"\u2a7d","LessTilde":"\u2272","lfisht":"\u297c","lfloor":"\u230a","Lfr":"\u{1d50f}","lfr":"\u{1d529}","lg":"\u2276","lgE":"\u2a91","lHar":"\u2962","lhard":"\u21bd","lharu":"\u21bc","lharul":"\u296a","lhblk":"\u2584","LJcy":"\u0409","ljcy":"\u0459","llarr":"\u21c7","ll":"\u226a","Ll":"\u22d8","llcorner":"\u231e","Lleftarrow":"\u21da","llhard":"\u296b","lltri":"\u25fa","Lmidot":"\u013f","lmidot":"\u0140","lmoustache":"\u23b0","lmoust":"\u23b0","lnap":"\u2a89","lnapprox":"\u2a89","lne":"\u2a87","lnE":"\u2268","lneq":"\u2a87","lneqq":"\u2268","lnsim":"\u22e6","loang":"\u27ec","loarr":"\u21fd","lobrk":"\u27e6","longleftarrow":"\u27f5","LongLeftArrow":"\u27f5","Longleftarrow":"\u27f8","longleftrightarrow":"\u27f7","LongLeftRightArrow":"\u27f7","Longleftrightarrow":"\u27fa","longmapsto":"\u27fc","longrightarrow":"\u27f6","LongRightArrow":"\u27f6","Longrightarrow":"\u27f9","looparrowleft":"\u21ab","looparrowright":"\u21ac","lopar":"\u2985","Lopf":"\u{1d543}","lopf":"\u{1d55d}","loplus":"\u2a2d","lotimes":"\u2a34","lowast":"\u2217","lowbar":"_","LowerLeftArrow":"\u2199","LowerRightArrow":"\u2198","loz":"\u25ca","lozenge":"\u25ca","lozf":"\u29eb","lpar":"(","lparlt":"\u2993","lrarr":"\u21c6","lrcorner":"\u231f","lrhar":"\u21cb","lrhard":"\u296d","lrm":"\u200e","lrtri":"\u22bf","lsaquo":"\u2039","lscr":"\u{1d4c1}","Lscr":"\u2112","lsh":"\u21b0","Lsh":"\u21b0","lsim":"\u2272","lsime":"\u2a8d","lsimg":"\u2a8f","lsqb":"[","lsquo":"\u2018","lsquor":"\u201a","Lstrok":"\u0141","lstrok":"\u0142","ltcc":"\u2aa6","ltcir":"\u2a79","lt":"<","LT":"<","Lt":"\u226a","ltdot":"\u22d6","lthree":"\u22cb","ltimes":"\u22c9","ltlarr":"\u2976","ltquest":"\u2a7b","ltri":"\u25c3","ltrie":"\u22b4","ltrif":"\u25c2","ltrPar":"\u2996","lurdshar":"\u294a","luruhar":"\u2966","lvertneqq":"\u2268\ufe00","lvnE":"\u2268\ufe00","macr":"\xaf","male":"\u2642","malt":"\u2720","maltese":"\u2720","Map":"\u2905","map":"\u21a6","mapsto":"\u21a6","mapstodown":"\u21a7","mapstoleft":"\u21a4","mapstoup":"\u21a5","marker":"\u25ae","mcomma":"\u2a29","Mcy":"\u041c","mcy":"\u043c","mdash":"\u2014","mDDot":"\u223a","measuredangle":"\u2221","MediumSpace":"\u205f","Mellintrf":"\u2133","Mfr":"\u{1d510}","mfr":"\u{1d52a}","mho":"\u2127","micro":"\xb5","midast":"*","midcir":"\u2af0","mid":"\u2223","middot":"\xb7","minusb":"\u229f","minus":"\u2212","minusd":"\u2238","minusdu":"\u2a2a","MinusPlus":"\u2213","mlcp":"\u2adb","mldr":"\u2026","mnplus":"\u2213","models":"\u22a7","Mopf":"\u{1d544}","mopf":"\u{1d55e}","mp":"\u2213","mscr":"\u{1d4c2}","Mscr":"\u2133","mstpos":"\u223e","Mu":"\u039c","mu":"\u03bc","multimap":"\u22b8","mumap":"\u22b8","nabla":"\u2207","Nacute":"\u0143","nacute":"\u0144","nang":"\u2220\u20d2","nap":"\u2249","napE":"\u2a70\u0338","napid":"\u224b\u0338","napos":"\u0149","napprox":"\u2249","natural":"\u266e","naturals":"\u2115","natur":"\u266e","nbsp":"\xa0","nbump":"\u224e\u0338","nbumpe":"\u224f\u0338","ncap":"\u2a43","Ncaron":"\u0147","ncaron":"\u0148","Ncedil":"\u0145","ncedil":"\u0146","ncong":"\u2247","ncongdot":"\u2a6d\u0338","ncup":"\u2a42","Ncy":"\u041d","ncy":"\u043d","ndash":"\u2013","nearhk":"\u2924","nearr":"\u2197","neArr":"\u21d7","nearrow":"\u2197","ne":"\u2260","nedot":"\u2250\u0338","NegativeMediumSpace":"\u200b","NegativeThickSpace":"\u200b","NegativeThinSpace":"\u200b","NegativeVeryThinSpace":"\u200b","nequiv":"\u2262","nesear":"\u2928","nesim":"\u2242\u0338","NestedGreaterGreater":"\u226b","NestedLessLess":"\u226a","NewLine":"\\n","nexist":"\u2204","nexists":"\u2204","Nfr":"\u{1d511}","nfr":"\u{1d52b}","ngE":"\u2267\u0338","nge":"\u2271","ngeq":"\u2271","ngeqq":"\u2267\u0338","ngeqslant":"\u2a7e\u0338","nges":"\u2a7e\u0338","nGg":"\u22d9\u0338","ngsim":"\u2275","nGt":"\u226b\u20d2","ngt":"\u226f","ngtr":"\u226f","nGtv":"\u226b\u0338","nharr":"\u21ae","nhArr":"\u21ce","nhpar":"\u2af2","ni":"\u220b","nis":"\u22fc","nisd":"\u22fa","niv":"\u220b","NJcy":"\u040a","njcy":"\u045a","nlarr":"\u219a","nlArr":"\u21cd","nldr":"\u2025","nlE":"\u2266\u0338","nle":"\u2270","nleftarrow":"\u219a","nLeftarrow":"\u21cd","nleftrightarrow":"\u21ae","nLeftrightarrow":"\u21ce","nleq":"\u2270","nleqq":"\u2266\u0338","nleqslant":"\u2a7d\u0338","nles":"\u2a7d\u0338","nless":"\u226e","nLl":"\u22d8\u0338","nlsim":"\u2274","nLt":"\u226a\u20d2","nlt":"\u226e","nltri":"\u22ea","nltrie":"\u22ec","nLtv":"\u226a\u0338","nmid":"\u2224","NoBreak":"\u2060","NonBreakingSpace":"\xa0","nopf":"\u{1d55f}","Nopf":"\u2115","Not":"\u2aec","not":"\xac","NotCongruent":"\u2262","NotCupCap":"\u226d","NotDoubleVerticalBar":"\u2226","NotElement":"\u2209","NotEqual":"\u2260","NotEqualTilde":"\u2242\u0338","NotExists":"\u2204","NotGreater":"\u226f","NotGreaterEqual":"\u2271","NotGreaterFullEqual":"\u2267\u0338","NotGreaterGreater":"\u226b\u0338","NotGreaterLess":"\u2279","NotGreaterSlantEqual":"\u2a7e\u0338","NotGreaterTilde":"\u2275","NotHumpDownHump":"\u224e\u0338","NotHumpEqual":"\u224f\u0338","notin":"\u2209","notindot":"\u22f5\u0338","notinE":"\u22f9\u0338","notinva":"\u2209","notinvb":"\u22f7","notinvc":"\u22f6","NotLeftTriangleBar":"\u29cf\u0338","NotLeftTriangle":"\u22ea","NotLeftTriangleEqual":"\u22ec","NotLess":"\u226e","NotLessEqual":"\u2270","NotLessGreater":"\u2278","NotLessLess":"\u226a\u0338","NotLessSlantEqual":"\u2a7d\u0338","NotLessTilde":"\u2274","NotNestedGreaterGreater":"\u2aa2\u0338","NotNestedLessLess":"\u2aa1\u0338","notni":"\u220c","notniva":"\u220c","notnivb":"\u22fe","notnivc":"\u22fd","NotPrecedes":"\u2280","NotPrecedesEqual":"\u2aaf\u0338","NotPrecedesSlantEqual":"\u22e0","NotReverseElement":"\u220c","NotRightTriangleBar":"\u29d0\u0338","NotRightTriangle":"\u22eb","NotRightTriangleEqual":"\u22ed","NotSquareSubset":"\u228f\u0338","NotSquareSubsetEqual":"\u22e2","NotSquareSuperset":"\u2290\u0338","NotSquareSupersetEqual":"\u22e3","NotSubset":"\u2282\u20d2","NotSubsetEqual":"\u2288","NotSucceeds":"\u2281","NotSucceedsEqual":"\u2ab0\u0338","NotSucceedsSlantEqual":"\u22e1","NotSucceedsTilde":"\u227f\u0338","NotSuperset":"\u2283\u20d2","NotSupersetEqual":"\u2289","NotTilde":"\u2241","NotTildeEqual":"\u2244","NotTildeFullEqual":"\u2247","NotTildeTilde":"\u2249","NotVerticalBar":"\u2224","nparallel":"\u2226","npar":"\u2226","nparsl":"\u2afd\u20e5","npart":"\u2202\u0338","npolint":"\u2a14","npr":"\u2280","nprcue":"\u22e0","nprec":"\u2280","npreceq":"\u2aaf\u0338","npre":"\u2aaf\u0338","nrarrc":"\u2933\u0338","nrarr":"\u219b","nrArr":"\u21cf","nrarrw":"\u219d\u0338","nrightarrow":"\u219b","nRightarrow":"\u21cf","nrtri":"\u22eb","nrtrie":"\u22ed","nsc":"\u2281","nsccue":"\u22e1","nsce":"\u2ab0\u0338","Nscr":"\u{1d4a9}","nscr":"\u{1d4c3}","nshortmid":"\u2224","nshortparallel":"\u2226","nsim":"\u2241","nsime":"\u2244","nsimeq":"\u2244","nsmid":"\u2224","nspar":"\u2226","nsqsube":"\u22e2","nsqsupe":"\u22e3","nsub":"\u2284","nsubE":"\u2ac5\u0338","nsube":"\u2288","nsubset":"\u2282\u20d2","nsubseteq":"\u2288","nsubseteqq":"\u2ac5\u0338","nsucc":"\u2281","nsucceq":"\u2ab0\u0338","nsup":"\u2285","nsupE":"\u2ac6\u0338","nsupe":"\u2289","nsupset":"\u2283\u20d2","nsupseteq":"\u2289","nsupseteqq":"\u2ac6\u0338","ntgl":"\u2279","Ntilde":"\xd1","ntilde":"\xf1","ntlg":"\u2278","ntriangleleft":"\u22ea","ntrianglelefteq":"\u22ec","ntriangleright":"\u22eb","ntrianglerighteq":"\u22ed","Nu":"\u039d","nu":"\u03bd","num":"#","numero":"\u2116","numsp":"\u2007","nvap":"\u224d\u20d2","nvdash":"\u22ac","nvDash":"\u22ad","nVdash":"\u22ae","nVDash":"\u22af","nvge":"\u2265\u20d2","nvgt":">\u20d2","nvHarr":"\u2904","nvinfin":"\u29de","nvlArr":"\u2902","nvle":"\u2264\u20d2","nvlt":"<\u20d2","nvltrie":"\u22b4\u20d2","nvrArr":"\u2903","nvrtrie":"\u22b5\u20d2","nvsim":"\u223c\u20d2","nwarhk":"\u2923","nwarr":"\u2196","nwArr":"\u21d6","nwarrow":"\u2196","nwnear":"\u2927","Oacute":"\xd3","oacute":"\xf3","oast":"\u229b","Ocirc":"\xd4","ocirc":"\xf4","ocir":"\u229a","Ocy":"\u041e","ocy":"\u043e","odash":"\u229d","Odblac":"\u0150","odblac":"\u0151","odiv":"\u2a38","odot":"\u2299","odsold":"\u29bc","OElig":"\u0152","oelig":"\u0153","ofcir":"\u29bf","Ofr":"\u{1d512}","ofr":"\u{1d52c}","ogon":"\u02db","Ograve":"\xd2","ograve":"\xf2","ogt":"\u29c1","ohbar":"\u29b5","ohm":"\u03a9","oint":"\u222e","olarr":"\u21ba","olcir":"\u29be","olcross":"\u29bb","oline":"\u203e","olt":"\u29c0","Omacr":"\u014c","omacr":"\u014d","Omega":"\u03a9","omega":"\u03c9","Omicron":"\u039f","omicron":"\u03bf","omid":"\u29b6","ominus":"\u2296","Oopf":"\u{1d546}","oopf":"\u{1d560}","opar":"\u29b7","OpenCurlyDoubleQuote":"\u201c","OpenCurlyQuote":"\u2018","operp":"\u29b9","oplus":"\u2295","orarr":"\u21bb","Or":"\u2a54","or":"\u2228","ord":"\u2a5d","order":"\u2134","orderof":"\u2134","ordf":"\xaa","ordm":"\xba","origof":"\u22b6","oror":"\u2a56","orslope":"\u2a57","orv":"\u2a5b","oS":"\u24c8","Oscr":"\u{1d4aa}","oscr":"\u2134","Oslash":"\xd8","oslash":"\xf8","osol":"\u2298","Otilde":"\xd5","otilde":"\xf5","otimesas":"\u2a36","Otimes":"\u2a37","otimes":"\u2297","Ouml":"\xd6","ouml":"\xf6","ovbar":"\u233d","OverBar":"\u203e","OverBrace":"\u23de","OverBracket":"\u23b4","OverParenthesis":"\u23dc","para":"\xb6","parallel":"\u2225","par":"\u2225","parsim":"\u2af3","parsl":"\u2afd","part":"\u2202","PartialD":"\u2202","Pcy":"\u041f","pcy":"\u043f","percnt":"%","period":".","permil":"\u2030","perp":"\u22a5","pertenk":"\u2031","Pfr":"\u{1d513}","pfr":"\u{1d52d}","Phi":"\u03a6","phi":"\u03c6","phiv":"\u03d5","phmmat":"\u2133","phone":"\u260e","Pi":"\u03a0","pi":"\u03c0","pitchfork":"\u22d4","piv":"\u03d6","planck":"\u210f","planckh":"\u210e","plankv":"\u210f","plusacir":"\u2a23","plusb":"\u229e","pluscir":"\u2a22","plus":"+","plusdo":"\u2214","plusdu":"\u2a25","pluse":"\u2a72","PlusMinus":"\xb1","plusmn":"\xb1","plussim":"\u2a26","plustwo":"\u2a27","pm":"\xb1","Poincareplane":"\u210c","pointint":"\u2a15","popf":"\u{1d561}","Popf":"\u2119","pound":"\xa3","prap":"\u2ab7","Pr":"\u2abb","pr":"\u227a","prcue":"\u227c","precapprox":"\u2ab7","prec":"\u227a","preccurlyeq":"\u227c","Precedes":"\u227a","PrecedesEqual":"\u2aaf","PrecedesSlantEqual":"\u227c","PrecedesTilde":"\u227e","preceq":"\u2aaf","precnapprox":"\u2ab9","precneqq":"\u2ab5","precnsim":"\u22e8","pre":"\u2aaf","prE":"\u2ab3","precsim":"\u227e","prime":"\u2032","Prime":"\u2033","primes":"\u2119","prnap":"\u2ab9","prnE":"\u2ab5","prnsim":"\u22e8","prod":"\u220f","Product":"\u220f","profalar":"\u232e","profline":"\u2312","profsurf":"\u2313","prop":"\u221d","Proportional":"\u221d","Proportion":"\u2237","propto":"\u221d","prsim":"\u227e","prurel":"\u22b0","Pscr":"\u{1d4ab}","pscr":"\u{1d4c5}","Psi":"\u03a8","psi":"\u03c8","puncsp":"\u2008","Qfr":"\u{1d514}","qfr":"\u{1d52e}","qint":"\u2a0c","qopf":"\u{1d562}","Qopf":"\u211a","qprime":"\u2057","Qscr":"\u{1d4ac}","qscr":"\u{1d4c6}","quaternions":"\u210d","quatint":"\u2a16","quest":"?","questeq":"\u225f","quot":"\\"","QUOT":"\\"","rAarr":"\u21db","race":"\u223d\u0331","Racute":"\u0154","racute":"\u0155","radic":"\u221a","raemptyv":"\u29b3","rang":"\u27e9","Rang":"\u27eb","rangd":"\u2992","range":"\u29a5","rangle":"\u27e9","raquo":"\xbb","rarrap":"\u2975","rarrb":"\u21e5","rarrbfs":"\u2920","rarrc":"\u2933","rarr":"\u2192","Rarr":"\u21a0","rArr":"\u21d2","rarrfs":"\u291e","rarrhk":"\u21aa","rarrlp":"\u21ac","rarrpl":"\u2945","rarrsim":"\u2974","Rarrtl":"\u2916","rarrtl":"\u21a3","rarrw":"\u219d","ratail":"\u291a","rAtail":"\u291c","ratio":"\u2236","rationals":"\u211a","rbarr":"\u290d","rBarr":"\u290f","RBarr":"\u2910","rbbrk":"\u2773","rbrace":"}","rbrack":"]","rbrke":"\u298c","rbrksld":"\u298e","rbrkslu":"\u2990","Rcaron":"\u0158","rcaron":"\u0159","Rcedil":"\u0156","rcedil":"\u0157","rceil":"\u2309","rcub":"}","Rcy":"\u0420","rcy":"\u0440","rdca":"\u2937","rdldhar":"\u2969","rdquo":"\u201d","rdquor":"\u201d","rdsh":"\u21b3","real":"\u211c","realine":"\u211b","realpart":"\u211c","reals":"\u211d","Re":"\u211c","rect":"\u25ad","reg":"\xae","REG":"\xae","ReverseElement":"\u220b","ReverseEquilibrium":"\u21cb","ReverseUpEquilibrium":"\u296f","rfisht":"\u297d","rfloor":"\u230b","rfr":"\u{1d52f}","Rfr":"\u211c","rHar":"\u2964","rhard":"\u21c1","rharu":"\u21c0","rharul":"\u296c","Rho":"\u03a1","rho":"\u03c1","rhov":"\u03f1","RightAngleBracket":"\u27e9","RightArrowBar":"\u21e5","rightarrow":"\u2192","RightArrow":"\u2192","Rightarrow":"\u21d2","RightArrowLeftArrow":"\u21c4","rightarrowtail":"\u21a3","RightCeiling":"\u2309","RightDoubleBracket":"\u27e7","RightDownTeeVector":"\u295d","RightDownVectorBar":"\u2955","RightDownVector":"\u21c2","RightFloor":"\u230b","rightharpoondown":"\u21c1","rightharpoonup":"\u21c0","rightleftarrows":"\u21c4","rightleftharpoons":"\u21cc","rightrightarrows":"\u21c9","rightsquigarrow":"\u219d","RightTeeArrow":"\u21a6","RightTee":"\u22a2","RightTeeVector":"\u295b","rightthreetimes":"\u22cc","RightTriangleBar":"\u29d0","RightTriangle":"\u22b3","RightTriangleEqual":"\u22b5","RightUpDownVector":"\u294f","RightUpTeeVector":"\u295c","RightUpVectorBar":"\u2954","RightUpVector":"\u21be","RightVectorBar":"\u2953","RightVector":"\u21c0","ring":"\u02da","risingdotseq":"\u2253","rlarr":"\u21c4","rlhar":"\u21cc","rlm":"\u200f","rmoustache":"\u23b1","rmoust":"\u23b1","rnmid":"\u2aee","roang":"\u27ed","roarr":"\u21fe","robrk":"\u27e7","ropar":"\u2986","ropf":"\u{1d563}","Ropf":"\u211d","roplus":"\u2a2e","rotimes":"\u2a35","RoundImplies":"\u2970","rpar":")","rpargt":"\u2994","rppolint":"\u2a12","rrarr":"\u21c9","Rrightarrow":"\u21db","rsaquo":"\u203a","rscr":"\u{1d4c7}","Rscr":"\u211b","rsh":"\u21b1","Rsh":"\u21b1","rsqb":"]","rsquo":"\u2019","rsquor":"\u2019","rthree":"\u22cc","rtimes":"\u22ca","rtri":"\u25b9","rtrie":"\u22b5","rtrif":"\u25b8","rtriltri":"\u29ce","RuleDelayed":"\u29f4","ruluhar":"\u2968","rx":"\u211e","Sacute":"\u015a","sacute":"\u015b","sbquo":"\u201a","scap":"\u2ab8","Scaron":"\u0160","scaron":"\u0161","Sc":"\u2abc","sc":"\u227b","sccue":"\u227d","sce":"\u2ab0","scE":"\u2ab4","Scedil":"\u015e","scedil":"\u015f","Scirc":"\u015c","scirc":"\u015d","scnap":"\u2aba","scnE":"\u2ab6","scnsim":"\u22e9","scpolint":"\u2a13","scsim":"\u227f","Scy":"\u0421","scy":"\u0441","sdotb":"\u22a1","sdot":"\u22c5","sdote":"\u2a66","searhk":"\u2925","searr":"\u2198","seArr":"\u21d8","searrow":"\u2198","sect":"\xa7","semi":";","seswar":"\u2929","setminus":"\u2216","setmn":"\u2216","sext":"\u2736","Sfr":"\u{1d516}","sfr":"\u{1d530}","sfrown":"\u2322","sharp":"\u266f","SHCHcy":"\u0429","shchcy":"\u0449","SHcy":"\u0428","shcy":"\u0448","ShortDownArrow":"\u2193","ShortLeftArrow":"\u2190","shortmid":"\u2223","shortparallel":"\u2225","ShortRightArrow":"\u2192","ShortUpArrow":"\u2191","shy":"\xad","Sigma":"\u03a3","sigma":"\u03c3","sigmaf":"\u03c2","sigmav":"\u03c2","sim":"\u223c","simdot":"\u2a6a","sime":"\u2243","simeq":"\u2243","simg":"\u2a9e","simgE":"\u2aa0","siml":"\u2a9d","simlE":"\u2a9f","simne":"\u2246","simplus":"\u2a24","simrarr":"\u2972","slarr":"\u2190","SmallCircle":"\u2218","smallsetminus":"\u2216","smashp":"\u2a33","smeparsl":"\u29e4","smid":"\u2223","smile":"\u2323","smt":"\u2aaa","smte":"\u2aac","smtes":"\u2aac\ufe00","SOFTcy":"\u042c","softcy":"\u044c","solbar":"\u233f","solb":"\u29c4","sol":"/","Sopf":"\u{1d54a}","sopf":"\u{1d564}","spades":"\u2660","spadesuit":"\u2660","spar":"\u2225","sqcap":"\u2293","sqcaps":"\u2293\ufe00","sqcup":"\u2294","sqcups":"\u2294\ufe00","Sqrt":"\u221a","sqsub":"\u228f","sqsube":"\u2291","sqsubset":"\u228f","sqsubseteq":"\u2291","sqsup":"\u2290","sqsupe":"\u2292","sqsupset":"\u2290","sqsupseteq":"\u2292","square":"\u25a1","Square":"\u25a1","SquareIntersection":"\u2293","SquareSubset":"\u228f","SquareSubsetEqual":"\u2291","SquareSuperset":"\u2290","SquareSupersetEqual":"\u2292","SquareUnion":"\u2294","squarf":"\u25aa","squ":"\u25a1","squf":"\u25aa","srarr":"\u2192","Sscr":"\u{1d4ae}","sscr":"\u{1d4c8}","ssetmn":"\u2216","ssmile":"\u2323","sstarf":"\u22c6","Star":"\u22c6","star":"\u2606","starf":"\u2605","straightepsilon":"\u03f5","straightphi":"\u03d5","strns":"\xaf","sub":"\u2282","Sub":"\u22d0","subdot":"\u2abd","subE":"\u2ac5","sube":"\u2286","subedot":"\u2ac3","submult":"\u2ac1","subnE":"\u2acb","subne":"\u228a","subplus":"\u2abf","subrarr":"\u2979","subset":"\u2282","Subset":"\u22d0","subseteq":"\u2286","subseteqq":"\u2ac5","SubsetEqual":"\u2286","subsetneq":"\u228a","subsetneqq":"\u2acb","subsim":"\u2ac7","subsub":"\u2ad5","subsup":"\u2ad3","succapprox":"\u2ab8","succ":"\u227b","succcurlyeq":"\u227d","Succeeds":"\u227b","SucceedsEqual":"\u2ab0","SucceedsSlantEqual":"\u227d","SucceedsTilde":"\u227f","succeq":"\u2ab0","succnapprox":"\u2aba","succneqq":"\u2ab6","succnsim":"\u22e9","succsim":"\u227f","SuchThat":"\u220b","sum":"\u2211","Sum":"\u2211","sung":"\u266a","sup1":"\xb9","sup2":"\xb2","sup3":"\xb3","sup":"\u2283","Sup":"\u22d1","supdot":"\u2abe","supdsub":"\u2ad8","supE":"\u2ac6","supe":"\u2287","supedot":"\u2ac4","Superset":"\u2283","SupersetEqual":"\u2287","suphsol":"\u27c9","suphsub":"\u2ad7","suplarr":"\u297b","supmult":"\u2ac2","supnE":"\u2acc","supne":"\u228b","supplus":"\u2ac0","supset":"\u2283","Supset":"\u22d1","supseteq":"\u2287","supseteqq":"\u2ac6","supsetneq":"\u228b","supsetneqq":"\u2acc","supsim":"\u2ac8","supsub":"\u2ad4","supsup":"\u2ad6","swarhk":"\u2926","swarr":"\u2199","swArr":"\u21d9","swarrow":"\u2199","swnwar":"\u292a","szlig":"\xdf","Tab":"\\t","target":"\u2316","Tau":"\u03a4","tau":"\u03c4","tbrk":"\u23b4","Tcaron":"\u0164","tcaron":"\u0165","Tcedil":"\u0162","tcedil":"\u0163","Tcy":"\u0422","tcy":"\u0442","tdot":"\u20db","telrec":"\u2315","Tfr":"\u{1d517}","tfr":"\u{1d531}","there4":"\u2234","therefore":"\u2234","Therefore":"\u2234","Theta":"\u0398","theta":"\u03b8","thetasym":"\u03d1","thetav":"\u03d1","thickapprox":"\u2248","thicksim":"\u223c","ThickSpace":"\u205f\u200a","ThinSpace":"\u2009","thinsp":"\u2009","thkap":"\u2248","thksim":"\u223c","THORN":"\xde","thorn":"\xfe","tilde":"\u02dc","Tilde":"\u223c","TildeEqual":"\u2243","TildeFullEqual":"\u2245","TildeTilde":"\u2248","timesbar":"\u2a31","timesb":"\u22a0","times":"\xd7","timesd":"\u2a30","tint":"\u222d","toea":"\u2928","topbot":"\u2336","topcir":"\u2af1","top":"\u22a4","Topf":"\u{1d54b}","topf":"\u{1d565}","topfork":"\u2ada","tosa":"\u2929","tprime":"\u2034","trade":"\u2122","TRADE":"\u2122","triangle":"\u25b5","triangledown":"\u25bf","triangleleft":"\u25c3","trianglelefteq":"\u22b4","triangleq":"\u225c","triangleright":"\u25b9","trianglerighteq":"\u22b5","tridot":"\u25ec","trie":"\u225c","triminus":"\u2a3a","TripleDot":"\u20db","triplus":"\u2a39","trisb":"\u29cd","tritime":"\u2a3b","trpezium":"\u23e2","Tscr":"\u{1d4af}","tscr":"\u{1d4c9}","TScy":"\u0426","tscy":"\u0446","TSHcy":"\u040b","tshcy":"\u045b","Tstrok":"\u0166","tstrok":"\u0167","twixt":"\u226c","twoheadleftarrow":"\u219e","twoheadrightarrow":"\u21a0","Uacute":"\xda","uacute":"\xfa","uarr":"\u2191","Uarr":"\u219f","uArr":"\u21d1","Uarrocir":"\u2949","Ubrcy":"\u040e","ubrcy":"\u045e","Ubreve":"\u016c","ubreve":"\u016d","Ucirc":"\xdb","ucirc":"\xfb","Ucy":"\u0423","ucy":"\u0443","udarr":"\u21c5","Udblac":"\u0170","udblac":"\u0171","udhar":"\u296e","ufisht":"\u297e","Ufr":"\u{1d518}","ufr":"\u{1d532}","Ugrave":"\xd9","ugrave":"\xf9","uHar":"\u2963","uharl":"\u21bf","uharr":"\u21be","uhblk":"\u2580","ulcorn":"\u231c","ulcorner":"\u231c","ulcrop":"\u230f","ultri":"\u25f8","Umacr":"\u016a","umacr":"\u016b","uml":"\xa8","UnderBar":"_","UnderBrace":"\u23df","UnderBracket":"\u23b5","UnderParenthesis":"\u23dd","Union":"\u22c3","UnionPlus":"\u228e","Uogon":"\u0172","uogon":"\u0173","Uopf":"\u{1d54c}","uopf":"\u{1d566}","UpArrowBar":"\u2912","uparrow":"\u2191","UpArrow":"\u2191","Uparrow":"\u21d1","UpArrowDownArrow":"\u21c5","updownarrow":"\u2195","UpDownArrow":"\u2195","Updownarrow":"\u21d5","UpEquilibrium":"\u296e","upharpoonleft":"\u21bf","upharpoonright":"\u21be","uplus":"\u228e","UpperLeftArrow":"\u2196","UpperRightArrow":"\u2197","upsi":"\u03c5","Upsi":"\u03d2","upsih":"\u03d2","Upsilon":"\u03a5","upsilon":"\u03c5","UpTeeArrow":"\u21a5","UpTee":"\u22a5","upuparrows":"\u21c8","urcorn":"\u231d","urcorner":"\u231d","urcrop":"\u230e","Uring":"\u016e","uring":"\u016f","urtri":"\u25f9","Uscr":"\u{1d4b0}","uscr":"\u{1d4ca}","utdot":"\u22f0","Utilde":"\u0168","utilde":"\u0169","utri":"\u25b5","utrif":"\u25b4","uuarr":"\u21c8","Uuml":"\xdc","uuml":"\xfc","uwangle":"\u29a7","vangrt":"\u299c","varepsilon":"\u03f5","varkappa":"\u03f0","varnothing":"\u2205","varphi":"\u03d5","varpi":"\u03d6","varpropto":"\u221d","varr":"\u2195","vArr":"\u21d5","varrho":"\u03f1","varsigma":"\u03c2","varsubsetneq":"\u228a\ufe00","varsubsetneqq":"\u2acb\ufe00","varsupsetneq":"\u228b\ufe00","varsupsetneqq":"\u2acc\ufe00","vartheta":"\u03d1","vartriangleleft":"\u22b2","vartriangleright":"\u22b3","vBar":"\u2ae8","Vbar":"\u2aeb","vBarv":"\u2ae9","Vcy":"\u0412","vcy":"\u0432","vdash":"\u22a2","vDash":"\u22a8","Vdash":"\u22a9","VDash":"\u22ab","Vdashl":"\u2ae6","veebar":"\u22bb","vee":"\u2228","Vee":"\u22c1","veeeq":"\u225a","vellip":"\u22ee","verbar":"|","Verbar":"\u2016","vert":"|","Vert":"\u2016","VerticalBar":"\u2223","VerticalLine":"|","VerticalSeparator":"\u2758","VerticalTilde":"\u2240","VeryThinSpace":"\u200a","Vfr":"\u{1d519}","vfr":"\u{1d533}","vltri":"\u22b2","vnsub":"\u2282\u20d2","vnsup":"\u2283\u20d2","Vopf":"\u{1d54d}","vopf":"\u{1d567}","vprop":"\u221d","vrtri":"\u22b3","Vscr":"\u{1d4b1}","vscr":"\u{1d4cb}","vsubnE":"\u2acb\ufe00","vsubne":"\u228a\ufe00","vsupnE":"\u2acc\ufe00","vsupne":"\u228b\ufe00","Vvdash":"\u22aa","vzigzag":"\u299a","Wcirc":"\u0174","wcirc":"\u0175","wedbar":"\u2a5f","wedge":"\u2227","Wedge":"\u22c0","wedgeq":"\u2259","weierp":"\u2118","Wfr":"\u{1d51a}","wfr":"\u{1d534}","Wopf":"\u{1d54e}","wopf":"\u{1d568}","wp":"\u2118","wr":"\u2240","wreath":"\u2240","Wscr":"\u{1d4b2}","wscr":"\u{1d4cc}","xcap":"\u22c2","xcirc":"\u25ef","xcup":"\u22c3","xdtri":"\u25bd","Xfr":"\u{1d51b}","xfr":"\u{1d535}","xharr":"\u27f7","xhArr":"\u27fa","Xi":"\u039e","xi":"\u03be","xlarr":"\u27f5","xlArr":"\u27f8","xmap":"\u27fc","xnis":"\u22fb","xodot":"\u2a00","Xopf":"\u{1d54f}","xopf":"\u{1d569}","xoplus":"\u2a01","xotime":"\u2a02","xrarr":"\u27f6","xrArr":"\u27f9","Xscr":"\u{1d4b3}","xscr":"\u{1d4cd}","xsqcup":"\u2a06","xuplus":"\u2a04","xutri":"\u25b3","xvee":"\u22c1","xwedge":"\u22c0","Yacute":"\xdd","yacute":"\xfd","YAcy":"\u042f","yacy":"\u044f","Ycirc":"\u0176","ycirc":"\u0177","Ycy":"\u042b","ycy":"\u044b","yen":"\xa5","Yfr":"\u{1d51c}","yfr":"\u{1d536}","YIcy":"\u0407","yicy":"\u0457","Yopf":"\u{1d550}","yopf":"\u{1d56a}","Yscr":"\u{1d4b4}","yscr":"\u{1d4ce}","YUcy":"\u042e","yucy":"\u044e","yuml":"\xff","Yuml":"\u0178","Zacute":"\u0179","zacute":"\u017a","Zcaron":"\u017d","zcaron":"\u017e","Zcy":"\u0417","zcy":"\u0437","Zdot":"\u017b","zdot":"\u017c","zeetrf":"\u2128","ZeroWidthSpace":"\u200b","Zeta":"\u0396","zeta":"\u03b6","zfr":"\u{1d537}","Zfr":"\u2128","ZHcy":"\u0416","zhcy":"\u0436","zigrarr":"\u21dd","zopf":"\u{1d56b}","Zopf":"\u2124","Zscr":"\u{1d4b5}","zscr":"\u{1d4cf}","zwj":"\u200d","zwnj":"\u200c"}')
|
|
},
|
|
89430: function(module, exports, __webpack_require__) {
|
|
var CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), function() {
|
|
if ("function" == typeof ArrayBuffer) {
|
|
var WordArray = CryptoJS.lib.WordArray,
|
|
superInit = WordArray.init,
|
|
subInit = WordArray.init = function(typedArray) {
|
|
if (typedArray instanceof ArrayBuffer && (typedArray = new Uint8Array(typedArray)), (typedArray instanceof Int8Array || "undefined" != typeof Uint8ClampedArray && typedArray instanceof Uint8ClampedArray || typedArray instanceof Int16Array || typedArray instanceof Uint16Array || typedArray instanceof Int32Array || typedArray instanceof Uint32Array || typedArray instanceof Float32Array || typedArray instanceof Float64Array) && (typedArray = new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength)), typedArray instanceof Uint8Array) {
|
|
for (var typedArrayByteLength = typedArray.byteLength, words = [], i = 0; i < typedArrayByteLength; i++) words[i >>> 2] |= typedArray[i] << 24 - i % 4 * 8;
|
|
superInit.call(this, words, typedArrayByteLength)
|
|
} else superInit.apply(this, arguments)
|
|
};
|
|
subInit.prototype = WordArray
|
|
}
|
|
}(), CryptoJS.lib.WordArray)
|
|
},
|
|
89456: function(__unused_webpack_module, exports, __webpack_require__) {
|
|
"use strict";
|
|
var __importDefault = this && this.__importDefault || function(mod) {
|
|
return mod && mod.__esModule ? mod : {
|
|
default: mod
|
|
}
|
|
};
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.encodeNonAsciiHTML = exports.encodeHTML = void 0;
|
|
var encode_html_js_1 = __importDefault(__webpack_require__(21778)),
|
|
escape_js_1 = __webpack_require__(44509),
|
|
htmlReplacer = /[\t\n!-,./:-@[-`\f{-}$\x80-\uFFFF]/g;
|
|
|
|
function encodeHTMLTrieRe(regExp, str) {
|
|
for (var match, ret = "", lastIdx = 0; null !== (match = regExp.exec(str));) {
|
|
var i = match.index;
|
|
ret += str.substring(lastIdx, i);
|
|
var char = str.charCodeAt(i),
|
|
next = encode_html_js_1.default.get(char);
|
|
if ("object" == typeof next) {
|
|
if (i + 1 < str.length) {
|
|
var nextChar = str.charCodeAt(i + 1),
|
|
value = "number" == typeof next.n ? next.n === nextChar ? next.o : void 0 : next.n.get(nextChar);
|
|
if (void 0 !== value) {
|
|
ret += value, lastIdx = regExp.lastIndex += 1;
|
|
continue
|
|
}
|
|
}
|
|
next = next.v
|
|
}
|
|
if (void 0 !== next) ret += next, lastIdx = i + 1;
|
|
else {
|
|
var cp = (0, escape_js_1.getCodePoint)(str, i);
|
|
ret += "&#x".concat(cp.toString(16), ";"), lastIdx = regExp.lastIndex += Number(cp !== char)
|
|
}
|
|
}
|
|
return ret + str.substr(lastIdx)
|
|
}
|
|
exports.encodeHTML = function(data) {
|
|
return encodeHTMLTrieRe(htmlReplacer, data)
|
|
}, exports.encodeNonAsciiHTML = function(data) {
|
|
return encodeHTMLTrieRe(escape_js_1.xmlReplacer, data)
|
|
}
|
|
},
|
|
89588: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
let pico = __webpack_require__(2119),
|
|
terminalHighlight = __webpack_require__(49746);
|
|
class CssSyntaxError extends Error {
|
|
constructor(message, line, column, source, file, plugin) {
|
|
super(message), this.name = "CssSyntaxError", this.reason = message, file && (this.file = file), source && (this.source = source), plugin && (this.plugin = plugin), void 0 !== line && void 0 !== column && ("number" == typeof line ? (this.line = line, this.column = column) : (this.line = line.line, this.column = line.column, this.endLine = column.line, this.endColumn = column.column)), this.setMessage(), Error.captureStackTrace && Error.captureStackTrace(this, CssSyntaxError)
|
|
}
|
|
setMessage() {
|
|
this.message = this.plugin ? this.plugin + ": " : "", this.message += this.file ? this.file : "<css input>", void 0 !== this.line && (this.message += ":" + this.line + ":" + this.column), this.message += ": " + this.reason
|
|
}
|
|
showSourceCode(color) {
|
|
if (!this.source) return "";
|
|
let css = this.source;
|
|
null == color && (color = pico.isColorSupported);
|
|
let aside = text => text,
|
|
mark = text => text,
|
|
highlight = text => text;
|
|
if (color) {
|
|
let {
|
|
bold,
|
|
gray,
|
|
red
|
|
} = pico.createColors(!0);
|
|
mark = text => bold(red(text)), aside = text => gray(text), terminalHighlight && (highlight = text => terminalHighlight(text))
|
|
}
|
|
let lines = css.split(/\r?\n/),
|
|
start = Math.max(this.line - 3, 0),
|
|
end = Math.min(this.line + 2, lines.length),
|
|
maxWidth = String(end).length;
|
|
return lines.slice(start, end).map((line, index) => {
|
|
let number = start + 1 + index,
|
|
gutter = " " + (" " + number).slice(-maxWidth) + " | ";
|
|
if (number === this.line) {
|
|
if (line.length > 160) {
|
|
let padding = 20,
|
|
subLineStart = Math.max(0, this.column - padding),
|
|
subLineEnd = Math.max(this.column + padding, this.endColumn + padding),
|
|
subLine = line.slice(subLineStart, subLineEnd),
|
|
spacing = aside(gutter.replace(/\d/g, " ")) + line.slice(0, Math.min(this.column - 1, padding - 1)).replace(/[^\t]/g, " ");
|
|
return mark(">") + aside(gutter) + highlight(subLine) + "\n " + spacing + mark("^")
|
|
}
|
|
let spacing = aside(gutter.replace(/\d/g, " ")) + line.slice(0, this.column - 1).replace(/[^\t]/g, " ");
|
|
return mark(">") + aside(gutter) + highlight(line) + "\n " + spacing + mark("^")
|
|
}
|
|
return " " + aside(gutter) + highlight(line)
|
|
}).join("\n")
|
|
}
|
|
toString() {
|
|
let code = this.showSourceCode();
|
|
return code && (code = "\n\n" + code + "\n"), this.name + ": " + this.message + code
|
|
}
|
|
}
|
|
module.exports = CssSyntaxError, CssSyntaxError.default = CssSyntaxError
|
|
},
|
|
89763: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
var process = __webpack_require__(74620),
|
|
formatRegExp = /%[sdj%]/g;
|
|
exports.format = function(f) {
|
|
if (!isString(f)) {
|
|
for (var objects = [], i = 0; i < arguments.length; i++) objects.push(inspect(arguments[i]));
|
|
return objects.join(" ")
|
|
}
|
|
i = 1;
|
|
for (var args = arguments, len = args.length, str = String(f).replace(formatRegExp, function(x) {
|
|
if ("%%" === x) return "%";
|
|
if (i >= len) return x;
|
|
switch (x) {
|
|
case "%s":
|
|
return String(args[i++]);
|
|
case "%d":
|
|
return Number(args[i++]);
|
|
case "%j":
|
|
try {
|
|
return JSON.stringify(args[i++])
|
|
} catch (_) {
|
|
return "[Circular]"
|
|
}
|
|
default:
|
|
return x
|
|
}
|
|
}), x = args[i]; i < len; x = args[++i]) isNull(x) || !isObject(x) ? str += " " + x : str += " " + inspect(x);
|
|
return str
|
|
}, exports.deprecate = function(fn, msg) {
|
|
if (isUndefined(__webpack_require__.g.process)) return function() {
|
|
return exports.deprecate(fn, msg).apply(this, arguments)
|
|
};
|
|
if (!0 === process.noDeprecation) return fn;
|
|
var warned = !1;
|
|
return function() {
|
|
if (!warned) {
|
|
if (process.throwDeprecation) throw new Error(msg);
|
|
process.traceDeprecation ? console.trace(msg) : console.error(msg), warned = !0
|
|
}
|
|
return fn.apply(this, arguments)
|
|
}
|
|
};
|
|
var debugEnviron, debugs = {};
|
|
|
|
function inspect(obj, opts) {
|
|
var ctx = {
|
|
seen: [],
|
|
stylize: stylizeNoColor
|
|
};
|
|
return arguments.length >= 3 && (ctx.depth = arguments[2]), arguments.length >= 4 && (ctx.colors = arguments[3]), isBoolean(opts) ? ctx.showHidden = opts : opts && exports._extend(ctx, opts), isUndefined(ctx.showHidden) && (ctx.showHidden = !1), isUndefined(ctx.depth) && (ctx.depth = 2), isUndefined(ctx.colors) && (ctx.colors = !1), isUndefined(ctx.customInspect) && (ctx.customInspect = !0), ctx.colors && (ctx.stylize = stylizeWithColor), formatValue(ctx, obj, ctx.depth)
|
|
}
|
|
|
|
function stylizeWithColor(str, styleType) {
|
|
var style = inspect.styles[styleType];
|
|
return style ? "\x1b[" + inspect.colors[style][0] + "m" + str + "\x1b[" + inspect.colors[style][1] + "m" : str
|
|
}
|
|
|
|
function stylizeNoColor(str, styleType) {
|
|
return str
|
|
}
|
|
|
|
function formatValue(ctx, value, recurseTimes) {
|
|
if (ctx.customInspect && value && isFunction(value.inspect) && value.inspect !== exports.inspect && (!value.constructor || value.constructor.prototype !== value)) {
|
|
var ret = value.inspect(recurseTimes, ctx);
|
|
return isString(ret) || (ret = formatValue(ctx, ret, recurseTimes)), ret
|
|
}
|
|
var primitive = function(ctx, value) {
|
|
if (isUndefined(value)) return ctx.stylize("undefined", "undefined");
|
|
if (isString(value)) {
|
|
var simple = "'" + JSON.stringify(value).replace(/^"|"$/g, "").replace(/'/g, "\\'").replace(/\\"/g, '"') + "'";
|
|
return ctx.stylize(simple, "string")
|
|
}
|
|
if (isNumber(value)) return ctx.stylize("" + value, "number");
|
|
if (isBoolean(value)) return ctx.stylize("" + value, "boolean");
|
|
if (isNull(value)) return ctx.stylize("null", "null")
|
|
}(ctx, value);
|
|
if (primitive) return primitive;
|
|
var keys = Object.keys(value),
|
|
visibleKeys = function(array) {
|
|
var hash = {};
|
|
return array.forEach(function(val, idx) {
|
|
hash[val] = !0
|
|
}), hash
|
|
}(keys);
|
|
if (ctx.showHidden && (keys = Object.getOwnPropertyNames(value)), isError(value) && (keys.indexOf("message") >= 0 || keys.indexOf("description") >= 0)) return formatError(value);
|
|
if (0 === keys.length) {
|
|
if (isFunction(value)) {
|
|
var name = value.name ? ": " + value.name : "";
|
|
return ctx.stylize("[Function" + name + "]", "special")
|
|
}
|
|
if (isRegExp(value)) return ctx.stylize(RegExp.prototype.toString.call(value), "regexp");
|
|
if (isDate(value)) return ctx.stylize(Date.prototype.toString.call(value), "date");
|
|
if (isError(value)) return formatError(value)
|
|
}
|
|
var output, base = "",
|
|
array = !1,
|
|
braces = ["{", "}"];
|
|
(isArray(value) && (array = !0, braces = ["[", "]"]), isFunction(value)) && (base = " [Function" + (value.name ? ": " + value.name : "") + "]");
|
|
return isRegExp(value) && (base = " " + RegExp.prototype.toString.call(value)), isDate(value) && (base = " " + Date.prototype.toUTCString.call(value)), isError(value) && (base = " " + formatError(value)), 0 !== keys.length || array && 0 != value.length ? recurseTimes < 0 ? isRegExp(value) ? ctx.stylize(RegExp.prototype.toString.call(value), "regexp") : ctx.stylize("[Object]", "special") : (ctx.seen.push(value), output = array ? function(ctx, value, recurseTimes, visibleKeys, keys) {
|
|
for (var output = [], i = 0, l = value.length; i < l; ++i) hasOwnProperty(value, String(i)) ? output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, String(i), !0)) : output.push("");
|
|
return keys.forEach(function(key) {
|
|
key.match(/^\d+$/) || output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, key, !0))
|
|
}), output
|
|
}(ctx, value, recurseTimes, visibleKeys, keys) : keys.map(function(key) {
|
|
return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array)
|
|
}), ctx.seen.pop(), function(output, base, braces) {
|
|
var length = output.reduce(function(prev, cur) {
|
|
return cur.indexOf("\n") >= 0 && 0, prev + cur.replace(/\u001b\[\d\d?m/g, "").length + 1
|
|
}, 0);
|
|
if (length > 60) return braces[0] + ("" === base ? "" : base + "\n ") + " " + output.join(",\n ") + " " + braces[1];
|
|
return braces[0] + base + " " + output.join(", ") + " " + braces[1]
|
|
}(output, base, braces)) : braces[0] + base + braces[1]
|
|
}
|
|
|
|
function formatError(value) {
|
|
return "[" + Error.prototype.toString.call(value) + "]"
|
|
}
|
|
|
|
function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
|
|
var name, str, desc;
|
|
if ((desc = Object.getOwnPropertyDescriptor(value, key) || {
|
|
value: value[key]
|
|
}).get ? str = desc.set ? ctx.stylize("[Getter/Setter]", "special") : ctx.stylize("[Getter]", "special") : desc.set && (str = ctx.stylize("[Setter]", "special")), hasOwnProperty(visibleKeys, key) || (name = "[" + key + "]"), str || (ctx.seen.indexOf(desc.value) < 0 ? (str = isNull(recurseTimes) ? formatValue(ctx, desc.value, null) : formatValue(ctx, desc.value, recurseTimes - 1)).indexOf("\n") > -1 && (str = array ? str.split("\n").map(function(line) {
|
|
return " " + line
|
|
}).join("\n").substr(2) : "\n" + str.split("\n").map(function(line) {
|
|
return " " + line
|
|
}).join("\n")) : str = ctx.stylize("[Circular]", "special")), isUndefined(name)) {
|
|
if (array && key.match(/^\d+$/)) return str;
|
|
(name = JSON.stringify("" + key)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/) ? (name = name.substr(1, name.length - 2), name = ctx.stylize(name, "name")) : (name = name.replace(/'/g, "\\'").replace(/\\"/g, '"').replace(/(^"|"$)/g, "'"), name = ctx.stylize(name, "string"))
|
|
}
|
|
return name + ": " + str
|
|
}
|
|
|
|
function isArray(ar) {
|
|
return Array.isArray(ar)
|
|
}
|
|
|
|
function isBoolean(arg) {
|
|
return "boolean" == typeof arg
|
|
}
|
|
|
|
function isNull(arg) {
|
|
return null === arg
|
|
}
|
|
|
|
function isNumber(arg) {
|
|
return "number" == typeof arg
|
|
}
|
|
|
|
function isString(arg) {
|
|
return "string" == typeof arg
|
|
}
|
|
|
|
function isUndefined(arg) {
|
|
return void 0 === arg
|
|
}
|
|
|
|
function isRegExp(re) {
|
|
return isObject(re) && "[object RegExp]" === objectToString(re)
|
|
}
|
|
|
|
function isObject(arg) {
|
|
return "object" == typeof arg && null !== arg
|
|
}
|
|
|
|
function isDate(d) {
|
|
return isObject(d) && "[object Date]" === objectToString(d)
|
|
}
|
|
|
|
function isError(e) {
|
|
return isObject(e) && ("[object Error]" === objectToString(e) || e instanceof Error)
|
|
}
|
|
|
|
function isFunction(arg) {
|
|
return "function" == typeof arg
|
|
}
|
|
|
|
function objectToString(o) {
|
|
return Object.prototype.toString.call(o)
|
|
}
|
|
|
|
function pad(n) {
|
|
return n < 10 ? "0" + n.toString(10) : n.toString(10)
|
|
}
|
|
exports.debuglog = function(set) {
|
|
if (isUndefined(debugEnviron) && (debugEnviron = process.env.NODE_DEBUG || ""), set = set.toUpperCase(), !debugs[set])
|
|
if (new RegExp("\\b" + set + "\\b", "i").test(debugEnviron)) {
|
|
var pid = process.pid;
|
|
debugs[set] = function() {
|
|
var msg = exports.format.apply(exports, arguments);
|
|
console.error("%s %d: %s", set, pid, msg)
|
|
}
|
|
} else debugs[set] = function() {};
|
|
return debugs[set]
|
|
}, exports.inspect = inspect, inspect.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]
|
|
}, inspect.styles = {
|
|
special: "cyan",
|
|
number: "yellow",
|
|
boolean: "yellow",
|
|
undefined: "grey",
|
|
null: "bold",
|
|
string: "green",
|
|
date: "magenta",
|
|
regexp: "red"
|
|
}, exports.isArray = isArray, exports.isBoolean = isBoolean, exports.isNull = isNull, exports.isNullOrUndefined = function(arg) {
|
|
return null == arg
|
|
}, exports.isNumber = isNumber, exports.isString = isString, exports.isSymbol = function(arg) {
|
|
return "symbol" == typeof arg
|
|
}, exports.isUndefined = isUndefined, exports.isRegExp = isRegExp, exports.isObject = isObject, exports.isDate = isDate, exports.isError = isError, exports.isFunction = isFunction, exports.isPrimitive = function(arg) {
|
|
return null === arg || "boolean" == typeof arg || "number" == typeof arg || "string" == typeof arg || "symbol" == typeof arg || void 0 === arg
|
|
}, exports.isBuffer = __webpack_require__(37441);
|
|
var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
|
|
|
|
function hasOwnProperty(obj, prop) {
|
|
return Object.prototype.hasOwnProperty.call(obj, prop)
|
|
}
|
|
exports.log = function() {
|
|
var d, time;
|
|
console.log("%s - %s", (d = new Date, time = [pad(d.getHours()), pad(d.getMinutes()), pad(d.getSeconds())].join(":"), [d.getDate(), months[d.getMonth()], time].join(" ")), exports.format.apply(exports, arguments))
|
|
}, exports.inherits = __webpack_require__(34536), exports._extend = function(origin, add) {
|
|
if (!add || !isObject(add)) return origin;
|
|
for (var keys = Object.keys(add), i = keys.length; i--;) origin[keys[i]] = add[keys[i]];
|
|
return origin
|
|
}
|
|
},
|
|
89825: (__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
"use strict";
|
|
var SelectorType;
|
|
__webpack_require__.r(__webpack_exports__), __webpack_require__.d(__webpack_exports__, {
|
|
AttributeAction: () => AttributeAction,
|
|
IgnoreCaseMode: () => IgnoreCaseMode,
|
|
SelectorType: () => SelectorType,
|
|
isTraversal: () => isTraversal,
|
|
parse: () => parse,
|
|
stringify: () => stringify
|
|
}),
|
|
function(SelectorType) {
|
|
SelectorType.Attribute = "attribute", SelectorType.Pseudo = "pseudo", SelectorType.PseudoElement = "pseudo-element", SelectorType.Tag = "tag", SelectorType.Universal = "universal", SelectorType.Adjacent = "adjacent", SelectorType.Child = "child", SelectorType.Descendant = "descendant", SelectorType.Parent = "parent", SelectorType.Sibling = "sibling", SelectorType.ColumnCombinator = "column-combinator"
|
|
}(SelectorType || (SelectorType = {}));
|
|
const IgnoreCaseMode = {
|
|
Unknown: null,
|
|
QuirksMode: "quirks",
|
|
IgnoreCase: !0,
|
|
CaseSensitive: !1
|
|
};
|
|
var AttributeAction;
|
|
! function(AttributeAction) {
|
|
AttributeAction.Any = "any", AttributeAction.Element = "element", AttributeAction.End = "end", AttributeAction.Equals = "equals", AttributeAction.Exists = "exists", AttributeAction.Hyphen = "hyphen", AttributeAction.Not = "not", AttributeAction.Start = "start"
|
|
}(AttributeAction || (AttributeAction = {}));
|
|
const reName = /^[^\\#]?(?:\\(?:[\da-f]{1,6}\s?|.)|[\w\-\u00b0-\uFFFF])+/,
|
|
reEscape = /\\([\da-f]{1,6}\s?|(\s)|.)/gi,
|
|
actionTypes = new Map([
|
|
[126, AttributeAction.Element],
|
|
[94, AttributeAction.Start],
|
|
[36, AttributeAction.End],
|
|
[42, AttributeAction.Any],
|
|
[33, AttributeAction.Not],
|
|
[124, AttributeAction.Hyphen]
|
|
]),
|
|
unpackPseudos = new Set(["has", "not", "matches", "is", "where", "host", "host-context"]);
|
|
|
|
function isTraversal(selector) {
|
|
switch (selector.type) {
|
|
case SelectorType.Adjacent:
|
|
case SelectorType.Child:
|
|
case SelectorType.Descendant:
|
|
case SelectorType.Parent:
|
|
case SelectorType.Sibling:
|
|
case SelectorType.ColumnCombinator:
|
|
return !0;
|
|
default:
|
|
return !1
|
|
}
|
|
}
|
|
const stripQuotesFromPseudos = new Set(["contains", "icontains"]);
|
|
|
|
function funescape(_, escaped, escapedWhitespace) {
|
|
const high = parseInt(escaped, 16) - 65536;
|
|
return high != high || escapedWhitespace ? escaped : high < 0 ? String.fromCharCode(high + 65536) : String.fromCharCode(high >> 10 | 55296, 1023 & high | 56320)
|
|
}
|
|
|
|
function unescapeCSS(str) {
|
|
return str.replace(reEscape, funescape)
|
|
}
|
|
|
|
function isQuote(c) {
|
|
return 39 === c || 34 === c
|
|
}
|
|
|
|
function isWhitespace(c) {
|
|
return 32 === c || 9 === c || 10 === c || 12 === c || 13 === c
|
|
}
|
|
|
|
function parse(selector) {
|
|
const subselects = [],
|
|
endIndex = parseSelector(subselects, `${selector}`, 0);
|
|
if (endIndex < selector.length) throw new Error(`Unmatched selector: ${selector.slice(endIndex)}`);
|
|
return subselects
|
|
}
|
|
|
|
function parseSelector(subselects, selector, selectorIndex) {
|
|
let tokens = [];
|
|
|
|
function getName(offset) {
|
|
const match = selector.slice(selectorIndex + offset).match(reName);
|
|
if (!match) throw new Error(`Expected name, found ${selector.slice(selectorIndex)}`);
|
|
const [name] = match;
|
|
return selectorIndex += offset + name.length, unescapeCSS(name)
|
|
}
|
|
|
|
function stripWhitespace(offset) {
|
|
for (selectorIndex += offset; selectorIndex < selector.length && isWhitespace(selector.charCodeAt(selectorIndex));) selectorIndex++
|
|
}
|
|
|
|
function readValueWithParenthesis() {
|
|
const start = selectorIndex += 1;
|
|
let counter = 1;
|
|
for (; counter > 0 && selectorIndex < selector.length; selectorIndex++) 40 !== selector.charCodeAt(selectorIndex) || isEscaped(selectorIndex) ? 41 !== selector.charCodeAt(selectorIndex) || isEscaped(selectorIndex) || counter-- : counter++;
|
|
if (counter) throw new Error("Parenthesis not matched");
|
|
return unescapeCSS(selector.slice(start, selectorIndex - 1))
|
|
}
|
|
|
|
function isEscaped(pos) {
|
|
let slashCount = 0;
|
|
for (; 92 === selector.charCodeAt(--pos);) slashCount++;
|
|
return !(1 & ~slashCount)
|
|
}
|
|
|
|
function ensureNotTraversal() {
|
|
if (tokens.length > 0 && isTraversal(tokens[tokens.length - 1])) throw new Error("Did not expect successive traversals.")
|
|
}
|
|
|
|
function addTraversal(type) {
|
|
tokens.length > 0 && tokens[tokens.length - 1].type === SelectorType.Descendant ? tokens[tokens.length - 1].type = type : (ensureNotTraversal(), tokens.push({
|
|
type
|
|
}))
|
|
}
|
|
|
|
function addSpecialAttribute(name, action) {
|
|
tokens.push({
|
|
type: SelectorType.Attribute,
|
|
name,
|
|
action,
|
|
value: getName(1),
|
|
namespace: null,
|
|
ignoreCase: "quirks"
|
|
})
|
|
}
|
|
|
|
function finalizeSubselector() {
|
|
if (tokens.length && tokens[tokens.length - 1].type === SelectorType.Descendant && tokens.pop(), 0 === tokens.length) throw new Error("Empty sub-selector");
|
|
subselects.push(tokens)
|
|
}
|
|
if (stripWhitespace(0), selector.length === selectorIndex) return selectorIndex;
|
|
loop: for (; selectorIndex < selector.length;) {
|
|
const firstChar = selector.charCodeAt(selectorIndex);
|
|
switch (firstChar) {
|
|
case 32:
|
|
case 9:
|
|
case 10:
|
|
case 12:
|
|
case 13:
|
|
0 !== tokens.length && tokens[0].type === SelectorType.Descendant || (ensureNotTraversal(), tokens.push({
|
|
type: SelectorType.Descendant
|
|
})), stripWhitespace(1);
|
|
break;
|
|
case 62:
|
|
addTraversal(SelectorType.Child), stripWhitespace(1);
|
|
break;
|
|
case 60:
|
|
addTraversal(SelectorType.Parent), stripWhitespace(1);
|
|
break;
|
|
case 126:
|
|
addTraversal(SelectorType.Sibling), stripWhitespace(1);
|
|
break;
|
|
case 43:
|
|
addTraversal(SelectorType.Adjacent), stripWhitespace(1);
|
|
break;
|
|
case 46:
|
|
addSpecialAttribute("class", AttributeAction.Element);
|
|
break;
|
|
case 35:
|
|
addSpecialAttribute("id", AttributeAction.Equals);
|
|
break;
|
|
case 91: {
|
|
let name;
|
|
stripWhitespace(1);
|
|
let namespace = null;
|
|
124 === selector.charCodeAt(selectorIndex) ? name = getName(1) : selector.startsWith("*|", selectorIndex) ? (namespace = "*", name = getName(2)) : (name = getName(0), 124 === selector.charCodeAt(selectorIndex) && 61 !== selector.charCodeAt(selectorIndex + 1) && (namespace = name, name = getName(1))), stripWhitespace(0);
|
|
let action = AttributeAction.Exists;
|
|
const possibleAction = actionTypes.get(selector.charCodeAt(selectorIndex));
|
|
if (possibleAction) {
|
|
if (action = possibleAction, 61 !== selector.charCodeAt(selectorIndex + 1)) throw new Error("Expected `=`");
|
|
stripWhitespace(2)
|
|
} else 61 === selector.charCodeAt(selectorIndex) && (action = AttributeAction.Equals, stripWhitespace(1));
|
|
let value = "",
|
|
ignoreCase = null;
|
|
if ("exists" !== action) {
|
|
if (isQuote(selector.charCodeAt(selectorIndex))) {
|
|
const quote = selector.charCodeAt(selectorIndex);
|
|
let sectionEnd = selectorIndex + 1;
|
|
for (; sectionEnd < selector.length && (selector.charCodeAt(sectionEnd) !== quote || isEscaped(sectionEnd));) sectionEnd += 1;
|
|
if (selector.charCodeAt(sectionEnd) !== quote) throw new Error("Attribute value didn't end");
|
|
value = unescapeCSS(selector.slice(selectorIndex + 1, sectionEnd)), selectorIndex = sectionEnd + 1
|
|
} else {
|
|
const valueStart = selectorIndex;
|
|
for (; selectorIndex < selector.length && (!isWhitespace(selector.charCodeAt(selectorIndex)) && 93 !== selector.charCodeAt(selectorIndex) || isEscaped(selectorIndex));) selectorIndex += 1;
|
|
value = unescapeCSS(selector.slice(valueStart, selectorIndex))
|
|
}
|
|
stripWhitespace(0);
|
|
const forceIgnore = 32 | selector.charCodeAt(selectorIndex);
|
|
115 === forceIgnore ? (ignoreCase = !1, stripWhitespace(1)) : 105 === forceIgnore && (ignoreCase = !0, stripWhitespace(1))
|
|
}
|
|
if (93 !== selector.charCodeAt(selectorIndex)) throw new Error("Attribute selector didn't terminate");
|
|
selectorIndex += 1;
|
|
const attributeSelector = {
|
|
type: SelectorType.Attribute,
|
|
name,
|
|
action,
|
|
value,
|
|
namespace,
|
|
ignoreCase
|
|
};
|
|
tokens.push(attributeSelector);
|
|
break
|
|
}
|
|
case 58: {
|
|
if (58 === selector.charCodeAt(selectorIndex + 1)) {
|
|
tokens.push({
|
|
type: SelectorType.PseudoElement,
|
|
name: getName(2).toLowerCase(),
|
|
data: 40 === selector.charCodeAt(selectorIndex) ? readValueWithParenthesis() : null
|
|
});
|
|
continue
|
|
}
|
|
const name = getName(1).toLowerCase();
|
|
let data = null;
|
|
if (40 === selector.charCodeAt(selectorIndex))
|
|
if (unpackPseudos.has(name)) {
|
|
if (isQuote(selector.charCodeAt(selectorIndex + 1))) throw new Error(`Pseudo-selector ${name} cannot be quoted`);
|
|
if (data = [], selectorIndex = parseSelector(data, selector, selectorIndex + 1), 41 !== selector.charCodeAt(selectorIndex)) throw new Error(`Missing closing parenthesis in :${name} (${selector})`);
|
|
selectorIndex += 1
|
|
} else {
|
|
if (data = readValueWithParenthesis(), stripQuotesFromPseudos.has(name)) {
|
|
const quot = data.charCodeAt(0);
|
|
quot === data.charCodeAt(data.length - 1) && isQuote(quot) && (data = data.slice(1, -1))
|
|
}
|
|
data = unescapeCSS(data)
|
|
} tokens.push({
|
|
type: SelectorType.Pseudo,
|
|
name,
|
|
data
|
|
});
|
|
break
|
|
}
|
|
case 44:
|
|
finalizeSubselector(), tokens = [], stripWhitespace(1);
|
|
break;
|
|
default: {
|
|
if (selector.startsWith("/*", selectorIndex)) {
|
|
const endIndex = selector.indexOf("*/", selectorIndex + 2);
|
|
if (endIndex < 0) throw new Error("Comment was not terminated");
|
|
selectorIndex = endIndex + 2, 0 === tokens.length && stripWhitespace(0);
|
|
break
|
|
}
|
|
let name, namespace = null;
|
|
if (42 === firstChar) selectorIndex += 1, name = "*";
|
|
else if (124 === firstChar) {
|
|
if (name = "", 124 === selector.charCodeAt(selectorIndex + 1)) {
|
|
addTraversal(SelectorType.ColumnCombinator), stripWhitespace(2);
|
|
break
|
|
}
|
|
} else {
|
|
if (!reName.test(selector.slice(selectorIndex))) break loop;
|
|
name = getName(0)
|
|
}
|
|
124 === selector.charCodeAt(selectorIndex) && 124 !== selector.charCodeAt(selectorIndex + 1) && (namespace = name, 42 === selector.charCodeAt(selectorIndex + 1) ? (name = "*", selectorIndex += 2) : name = getName(1)), tokens.push("*" === name ? {
|
|
type: SelectorType.Universal,
|
|
namespace
|
|
} : {
|
|
type: SelectorType.Tag,
|
|
name,
|
|
namespace
|
|
})
|
|
}
|
|
}
|
|
}
|
|
return finalizeSubselector(), selectorIndex
|
|
}
|
|
const attribValChars = ["\\", '"'],
|
|
pseudoValChars = [...attribValChars, "(", ")"],
|
|
charsToEscapeInAttributeValue = new Set(attribValChars.map(c => c.charCodeAt(0))),
|
|
charsToEscapeInPseudoValue = new Set(pseudoValChars.map(c => c.charCodeAt(0))),
|
|
charsToEscapeInName = new Set([...pseudoValChars, "~", "^", "$", "*", "+", "!", "|", ":", "[", "]", " ", "."].map(c => c.charCodeAt(0)));
|
|
|
|
function stringify(selector) {
|
|
return selector.map(token => token.map(stringifyToken).join("")).join(", ")
|
|
}
|
|
|
|
function stringifyToken(token, index, arr) {
|
|
switch (token.type) {
|
|
case SelectorType.Child:
|
|
return 0 === index ? "> " : " > ";
|
|
case SelectorType.Parent:
|
|
return 0 === index ? "< " : " < ";
|
|
case SelectorType.Sibling:
|
|
return 0 === index ? "~ " : " ~ ";
|
|
case SelectorType.Adjacent:
|
|
return 0 === index ? "+ " : " + ";
|
|
case SelectorType.Descendant:
|
|
return " ";
|
|
case SelectorType.ColumnCombinator:
|
|
return 0 === index ? "|| " : " || ";
|
|
case SelectorType.Universal:
|
|
return "*" === token.namespace && index + 1 < arr.length && "name" in arr[index + 1] ? "" : `${getNamespace(token.namespace)}*`;
|
|
case SelectorType.Tag:
|
|
return getNamespacedName(token);
|
|
case SelectorType.PseudoElement:
|
|
return `::${escapeName(token.name,charsToEscapeInName)}${null===token.data?"":`(${escapeName(token.data,charsToEscapeInPseudoValue)})`}`;
|
|
case SelectorType.Pseudo:
|
|
return `:${escapeName(token.name,charsToEscapeInName)}${null===token.data?"":`(${"string"==typeof token.data?escapeName(token.data,charsToEscapeInPseudoValue):stringify(token.data)})`}`;
|
|
case SelectorType.Attribute: {
|
|
if ("id" === token.name && token.action === AttributeAction.Equals && "quirks" === token.ignoreCase && !token.namespace) return `#${escapeName(token.value,charsToEscapeInName)}`;
|
|
if ("class" === token.name && token.action === AttributeAction.Element && "quirks" === token.ignoreCase && !token.namespace) return `.${escapeName(token.value,charsToEscapeInName)}`;
|
|
const name = getNamespacedName(token);
|
|
return token.action === AttributeAction.Exists ? `[${name}]` : `[${name}${function(action){switch(action){case AttributeAction.Equals:return"";case AttributeAction.Element:return"~";case AttributeAction.Start:return"^";case AttributeAction.End:return"$";case AttributeAction.Any:return"*";case AttributeAction.Not:return"!";case AttributeAction.Hyphen:return"|";case AttributeAction.Exists:throw new Error("Shouldn't be here")}}(token.action)}="${escapeName(token.value,charsToEscapeInAttributeValue)}"${null===token.ignoreCase?"":token.ignoreCase?" i":" s"}]`
|
|
}
|
|
}
|
|
}
|
|
|
|
function getNamespacedName(token) {
|
|
return `${getNamespace(token.namespace)}${escapeName(token.name,charsToEscapeInName)}`
|
|
}
|
|
|
|
function getNamespace(namespace) {
|
|
return null !== namespace ? `${"*"===namespace?"*":escapeName(namespace,charsToEscapeInName)}|` : ""
|
|
}
|
|
|
|
function escapeName(str, charsToEscape) {
|
|
let lastIdx = 0,
|
|
ret = "";
|
|
for (let i = 0; i < str.length; i++) charsToEscape.has(str.charCodeAt(i)) && (ret += `${str.slice(lastIdx,i)}\\${str.charAt(i)}`, lastIdx = i + 1);
|
|
return ret.length > 0 ? ret + str.slice(lastIdx) : str
|
|
}
|
|
},
|
|
90008: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912));
|
|
exports.default = new _dac.default({
|
|
description: "Macys Acorns",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 20
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "120",
|
|
name: "Macy's"
|
|
}],
|
|
doDac: async function(code, selector, priceAmt, applyBestCode) {
|
|
const INTERNATIONAL_CART_SEL = (0, _jquery.default)("#international-shipping .shipping-country.us-country"),
|
|
IS_INTERNATIONAL_CART = INTERNATIONAL_CART_SEL && INTERNATIONAL_CART_SEL.length,
|
|
bagId = (document.cookie.match("macys_bagguid=(.*?);") || [])[1];
|
|
let price = priceAmt;
|
|
if (bagId) {
|
|
! function(res, isInternational) {
|
|
const TOTAL_PRICE_LABEL = isInternational ? "Subtotal" : "Pre-Tax Order Total";
|
|
let priceObj, priceKey;
|
|
try {
|
|
priceObj = res.bag.sections.summary.price
|
|
} catch (e) {}
|
|
Object.keys(priceObj || {}).forEach(key => {
|
|
priceObj && priceObj[key] && priceObj[key].label && priceObj[key].label === TOTAL_PRICE_LABEL && (priceKey = key)
|
|
}), price = priceObj && priceObj[priceKey] && priceObj[priceKey].values && priceObj[priceKey].values[0] && priceObj[priceKey].values[0].formattedValue || priceAmt, Number(_legacyHoneyUtils.default.cleanPrice(price)) < priceAmt && (0, _jquery.default)(selector).text("$" + _legacyHoneyUtils.default.cleanPrice(price))
|
|
}(await async function() {
|
|
const res = _jquery.default.ajax({
|
|
url: "https://www.macys.com/my-bag/" + bagId + "/promo?promoCode=" + code,
|
|
type: "PUT",
|
|
data: {}
|
|
});
|
|
return await res.done(_data => {
|
|
_logger.default.debug("Applying code")
|
|
}), res
|
|
}(), IS_INTERNATIONAL_CART)
|
|
}
|
|
return !1 !== applyBestCode ? (window.location = window.location.href, {
|
|
price: Number(_legacyHoneyUtils.default.cleanPrice(price)),
|
|
nonDacFS: !0,
|
|
sleepTime: 5500
|
|
}) : (await async function() {
|
|
const res = _jquery.default.ajax({
|
|
url: "https://www.macys.com/my-bag/" + bagId + "/promo",
|
|
type: "PUT",
|
|
data: {}
|
|
});
|
|
await res.done(_data => {
|
|
_logger.default.debug("Removing code")
|
|
})
|
|
}(), Number(_legacyHoneyUtils.default.cleanPrice(price)))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
90166: (__unused_webpack_module, exports) => {
|
|
"use strict";
|
|
var _a;
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.replaceCodePoint = exports.fromCodePoint = void 0;
|
|
var decodeMap = new Map([
|
|
[0, 65533],
|
|
[128, 8364],
|
|
[130, 8218],
|
|
[131, 402],
|
|
[132, 8222],
|
|
[133, 8230],
|
|
[134, 8224],
|
|
[135, 8225],
|
|
[136, 710],
|
|
[137, 8240],
|
|
[138, 352],
|
|
[139, 8249],
|
|
[140, 338],
|
|
[142, 381],
|
|
[145, 8216],
|
|
[146, 8217],
|
|
[147, 8220],
|
|
[148, 8221],
|
|
[149, 8226],
|
|
[150, 8211],
|
|
[151, 8212],
|
|
[152, 732],
|
|
[153, 8482],
|
|
[154, 353],
|
|
[155, 8250],
|
|
[156, 339],
|
|
[158, 382],
|
|
[159, 376]
|
|
]);
|
|
|
|
function replaceCodePoint(codePoint) {
|
|
var _a;
|
|
return codePoint >= 55296 && codePoint <= 57343 || codePoint > 1114111 ? 65533 : null !== (_a = decodeMap.get(codePoint)) && void 0 !== _a ? _a : codePoint
|
|
}
|
|
exports.fromCodePoint = null !== (_a = String.fromCodePoint) && void 0 !== _a ? _a : function(codePoint) {
|
|
var output = "";
|
|
return codePoint > 65535 && (codePoint -= 65536, output += String.fromCharCode(codePoint >>> 10 & 1023 | 55296), codePoint = 56320 | 1023 & codePoint), output += String.fromCharCode(codePoint)
|
|
}, exports.replaceCodePoint = replaceCodePoint, exports.default = function(codePoint) {
|
|
return (0, exports.fromCodePoint)(replaceCodePoint(codePoint))
|
|
}
|
|
},
|
|
90405: module => {
|
|
"use strict";
|
|
module.exports = "undefined" != typeof Reflect && Reflect && Reflect.apply
|
|
},
|
|
90510: module => {
|
|
"use strict";
|
|
let list = {
|
|
comma: string => list.split(string, [","], !0),
|
|
space: string => list.split(string, [" ", "\n", "\t"]),
|
|
split(string, separators, last) {
|
|
let array = [],
|
|
current = "",
|
|
split = !1,
|
|
func = 0,
|
|
inQuote = !1,
|
|
prevQuote = "",
|
|
escape = !1;
|
|
for (let letter of string) escape ? escape = !1 : "\\" === letter ? escape = !0 : inQuote ? letter === prevQuote && (inQuote = !1) : '"' === letter || "'" === letter ? (inQuote = !0, prevQuote = letter) : "(" === letter ? func += 1 : ")" === letter ? func > 0 && (func -= 1) : 0 === func && separators.includes(letter) && (split = !0), split ? ("" !== current && array.push(current.trim()), current = "", split = !1) : current += letter;
|
|
return (last || "" !== current) && array.push(current.trim()), array
|
|
}
|
|
};
|
|
module.exports = list, list.default = list
|
|
},
|
|
90714: module => {
|
|
"use strict";
|
|
module.exports = JSON.parse('{"name":"PPPrice","groups":["FIND_SAVINGS","PRODUCT_PAGE"],"isRequired":true,"tests":[{"method":"testIfInnerTextContainsLengthWeightedExponential","options":{"expected":"\\\\$\\\\d+(\\\\.\\\\d{2})?","matchWeight":"100.0","unMatchWeight":"0","_comment":"https://regexr.com/687nr"}},{"method":"testIfInnerTextContainsLength","options":{"expected":"\\\\$.*\\\\$","matchWeight":"0","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLengthWeightedExponential","options":{"expected":"price","matchWeight":"3.0","unMatchWeight":"1"}}],"preconditions":[],"shape":[{"value":"^script$","weight":0,"scope":"tag"},{"value":"pric(e|ing)","weight":20,"scope":"class"},{"value":"product|sale|full|actual|final|current|discount|standard|our","weight":10,"scope":"class"},{"value":"primary","weight":2.2,"scope":"class"},{"value":"^span$","weight":2,"scope":"tag"},{"value":"standard","weight":0.4,"scope":"class","_comment":"reduce weight from above"},{"value":"false","weight":0.1,"scope":"data-honey_is_visible"},{"value":"pric(e|ing)","weight":15},{"value":"list","weight":0.75},{"value":"secondary","weight":0.5},{"value":"mini","weight":0.4},{"value":"warranty","weight":0}]}')
|
|
},
|
|
90732: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
let Container = __webpack_require__(171),
|
|
list = __webpack_require__(90510);
|
|
class Rule extends Container {
|
|
get selectors() {
|
|
return list.comma(this.selector)
|
|
}
|
|
set selectors(values) {
|
|
let match = this.selector ? this.selector.match(/,\s*/) : null,
|
|
sep = match ? match[0] : "," + this.raw("between", "beforeOpen");
|
|
this.selector = values.join(sep)
|
|
}
|
|
constructor(defaults) {
|
|
super(defaults), this.type = "rule", this.nodes || (this.nodes = [])
|
|
}
|
|
}
|
|
module.exports = Rule, Rule.default = Rule, Container.registerRule(Rule)
|
|
},
|
|
90745: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
const Mixin = __webpack_require__(28338);
|
|
module.exports = class extends Mixin {
|
|
constructor(host, opts) {
|
|
super(host), this.posTracker = null, this.onParseError = opts.onParseError
|
|
}
|
|
_setErrorLocation(err) {
|
|
err.startLine = err.endLine = this.posTracker.line, err.startCol = err.endCol = this.posTracker.col, err.startOffset = err.endOffset = this.posTracker.offset
|
|
}
|
|
_reportError(code) {
|
|
const err = {
|
|
code,
|
|
startLine: -1,
|
|
startCol: -1,
|
|
startOffset: -1,
|
|
endLine: -1,
|
|
endCol: -1,
|
|
endOffset: -1
|
|
};
|
|
this._setErrorLocation(err), this.onParseError(err)
|
|
}
|
|
_getOverriddenMethods(mxn) {
|
|
return {
|
|
_err(code) {
|
|
mxn._reportError(code)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
90798: module => {
|
|
"use strict";
|
|
module.exports = Math.max
|
|
},
|
|
90800: function(__unused_webpack_module, exports, __webpack_require__) {
|
|
"use strict";
|
|
var __importDefault = this && this.__importDefault || function(mod) {
|
|
return mod && mod.__esModule ? mod : {
|
|
default: mod
|
|
}
|
|
};
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.filters = void 0;
|
|
var nth_check_1 = __importDefault(__webpack_require__(30186)),
|
|
boolbase_1 = __webpack_require__(84894);
|
|
|
|
function getChildFunc(next, adapter) {
|
|
return function(elem) {
|
|
var parent = adapter.getParent(elem);
|
|
return null != parent && adapter.isTag(parent) && next(elem)
|
|
}
|
|
}
|
|
|
|
function dynamicStatePseudo(name) {
|
|
return function(next, _rule, _a) {
|
|
var func = _a.adapter[name];
|
|
return "function" != typeof func ? boolbase_1.falseFunc : function(elem) {
|
|
return func(elem) && next(elem)
|
|
}
|
|
}
|
|
}
|
|
exports.filters = {
|
|
contains: function(next, text, _a) {
|
|
var adapter = _a.adapter;
|
|
return function(elem) {
|
|
return next(elem) && adapter.getText(elem).includes(text)
|
|
}
|
|
},
|
|
icontains: function(next, text, _a) {
|
|
var adapter = _a.adapter,
|
|
itext = text.toLowerCase();
|
|
return function(elem) {
|
|
return next(elem) && adapter.getText(elem).toLowerCase().includes(itext)
|
|
}
|
|
},
|
|
"nth-child": function(next, rule, _a) {
|
|
var adapter = _a.adapter,
|
|
equals = _a.equals,
|
|
func = (0, nth_check_1.default)(rule);
|
|
return func === boolbase_1.falseFunc ? boolbase_1.falseFunc : func === boolbase_1.trueFunc ? getChildFunc(next, adapter) : function(elem) {
|
|
for (var siblings = adapter.getSiblings(elem), pos = 0, i = 0; i < siblings.length && !equals(elem, siblings[i]); i++) adapter.isTag(siblings[i]) && pos++;
|
|
return func(pos) && next(elem)
|
|
}
|
|
},
|
|
"nth-last-child": function(next, rule, _a) {
|
|
var adapter = _a.adapter,
|
|
equals = _a.equals,
|
|
func = (0, nth_check_1.default)(rule);
|
|
return func === boolbase_1.falseFunc ? boolbase_1.falseFunc : func === boolbase_1.trueFunc ? getChildFunc(next, adapter) : function(elem) {
|
|
for (var siblings = adapter.getSiblings(elem), pos = 0, i = siblings.length - 1; i >= 0 && !equals(elem, siblings[i]); i--) adapter.isTag(siblings[i]) && pos++;
|
|
return func(pos) && next(elem)
|
|
}
|
|
},
|
|
"nth-of-type": function(next, rule, _a) {
|
|
var adapter = _a.adapter,
|
|
equals = _a.equals,
|
|
func = (0, nth_check_1.default)(rule);
|
|
return func === boolbase_1.falseFunc ? boolbase_1.falseFunc : func === boolbase_1.trueFunc ? getChildFunc(next, adapter) : function(elem) {
|
|
for (var siblings = adapter.getSiblings(elem), pos = 0, i = 0; i < siblings.length; i++) {
|
|
var currentSibling = siblings[i];
|
|
if (equals(elem, currentSibling)) break;
|
|
adapter.isTag(currentSibling) && adapter.getName(currentSibling) === adapter.getName(elem) && pos++
|
|
}
|
|
return func(pos) && next(elem)
|
|
}
|
|
},
|
|
"nth-last-of-type": function(next, rule, _a) {
|
|
var adapter = _a.adapter,
|
|
equals = _a.equals,
|
|
func = (0, nth_check_1.default)(rule);
|
|
return func === boolbase_1.falseFunc ? boolbase_1.falseFunc : func === boolbase_1.trueFunc ? getChildFunc(next, adapter) : function(elem) {
|
|
for (var siblings = adapter.getSiblings(elem), pos = 0, i = siblings.length - 1; i >= 0; i--) {
|
|
var currentSibling = siblings[i];
|
|
if (equals(elem, currentSibling)) break;
|
|
adapter.isTag(currentSibling) && adapter.getName(currentSibling) === adapter.getName(elem) && pos++
|
|
}
|
|
return func(pos) && next(elem)
|
|
}
|
|
},
|
|
root: function(next, _rule, _a) {
|
|
var adapter = _a.adapter;
|
|
return function(elem) {
|
|
var parent = adapter.getParent(elem);
|
|
return (null == parent || !adapter.isTag(parent)) && next(elem)
|
|
}
|
|
},
|
|
scope: function(next, rule, options, context) {
|
|
var equals = options.equals;
|
|
return context && 0 !== context.length ? 1 === context.length ? function(elem) {
|
|
return equals(context[0], elem) && next(elem)
|
|
} : function(elem) {
|
|
return context.includes(elem) && next(elem)
|
|
} : exports.filters.root(next, rule, options)
|
|
},
|
|
hover: dynamicStatePseudo("isHovered"),
|
|
visited: dynamicStatePseudo("isVisited"),
|
|
active: dynamicStatePseudo("isActive")
|
|
}
|
|
},
|
|
90866: module => {
|
|
"use strict";
|
|
module.exports = JSON.parse('{"amp":"&","apos":"\'","gt":">","lt":"<","quot":"\\""}')
|
|
},
|
|
91003: function(__unused_webpack_module, exports, __webpack_require__) {
|
|
"use strict";
|
|
var __createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
void 0 === k2 && (k2 = k);
|
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
desc && !("get" in desc ? !m.__esModule : desc.writable || desc.configurable) || (desc = {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return m[k]
|
|
}
|
|
}), Object.defineProperty(o, k2, desc)
|
|
} : function(o, m, k, k2) {
|
|
void 0 === k2 && (k2 = k), o[k2] = m[k]
|
|
}),
|
|
__setModuleDefault = this && this.__setModuleDefault || (Object.create ? function(o, v) {
|
|
Object.defineProperty(o, "default", {
|
|
enumerable: !0,
|
|
value: v
|
|
})
|
|
} : function(o, v) {
|
|
o.default = v
|
|
}),
|
|
__importStar = this && this.__importStar || function(mod) {
|
|
if (mod && mod.__esModule) return mod;
|
|
var result = {};
|
|
if (null != mod)
|
|
for (var k in mod) "default" !== k && Object.prototype.hasOwnProperty.call(mod, k) && __createBinding(result, mod, k);
|
|
return __setModuleDefault(result, mod), result
|
|
};
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.Parser = void 0;
|
|
var Tokenizer_js_1 = __importStar(__webpack_require__(29183)),
|
|
decode_js_1 = __webpack_require__(64504),
|
|
formTags = new Set(["input", "option", "optgroup", "select", "button", "datalist", "textarea"]),
|
|
pTag = new Set(["p"]),
|
|
tableSectionTags = new Set(["thead", "tbody"]),
|
|
ddtTags = new Set(["dd", "dt"]),
|
|
rtpTags = new Set(["rt", "rp"]),
|
|
openImpliesClose = new Map([
|
|
["tr", new Set(["tr", "th", "td"])],
|
|
["th", new Set(["th"])],
|
|
["td", new Set(["thead", "th", "td"])],
|
|
["body", new Set(["head", "link", "script"])],
|
|
["li", new Set(["li"])],
|
|
["p", pTag],
|
|
["h1", pTag],
|
|
["h2", pTag],
|
|
["h3", pTag],
|
|
["h4", pTag],
|
|
["h5", pTag],
|
|
["h6", pTag],
|
|
["select", formTags],
|
|
["input", formTags],
|
|
["output", formTags],
|
|
["button", formTags],
|
|
["datalist", formTags],
|
|
["textarea", formTags],
|
|
["option", new Set(["option"])],
|
|
["optgroup", new Set(["optgroup", "option"])],
|
|
["dd", ddtTags],
|
|
["dt", ddtTags],
|
|
["address", pTag],
|
|
["article", pTag],
|
|
["aside", pTag],
|
|
["blockquote", pTag],
|
|
["details", pTag],
|
|
["div", pTag],
|
|
["dl", pTag],
|
|
["fieldset", pTag],
|
|
["figcaption", pTag],
|
|
["figure", pTag],
|
|
["footer", pTag],
|
|
["form", pTag],
|
|
["header", pTag],
|
|
["hr", pTag],
|
|
["main", pTag],
|
|
["nav", pTag],
|
|
["ol", pTag],
|
|
["pre", pTag],
|
|
["section", pTag],
|
|
["table", pTag],
|
|
["ul", pTag],
|
|
["rt", rtpTags],
|
|
["rp", rtpTags],
|
|
["tbody", tableSectionTags],
|
|
["tfoot", tableSectionTags]
|
|
]),
|
|
voidElements = new Set(["area", "base", "basefont", "br", "col", "command", "embed", "frame", "hr", "img", "input", "isindex", "keygen", "link", "meta", "param", "source", "track", "wbr"]),
|
|
foreignContextElements = new Set(["math", "svg"]),
|
|
htmlIntegrationElements = new Set(["mi", "mo", "mn", "ms", "mtext", "annotation-xml", "foreignobject", "desc", "title"]),
|
|
reNameEnd = /\s|\//,
|
|
Parser = function() {
|
|
function Parser(cbs, options) {
|
|
var _a, _b, _c, _d, _e;
|
|
void 0 === options && (options = {}), this.options = options, this.startIndex = 0, this.endIndex = 0, this.openTagStart = 0, this.tagname = "", this.attribname = "", this.attribvalue = "", this.attribs = null, this.stack = [], this.foreignContext = [], this.buffers = [], this.bufferOffset = 0, this.writeIndex = 0, this.ended = !1, this.cbs = null != cbs ? cbs : {}, this.lowerCaseTagNames = null !== (_a = options.lowerCaseTags) && void 0 !== _a ? _a : !options.xmlMode, this.lowerCaseAttributeNames = null !== (_b = options.lowerCaseAttributeNames) && void 0 !== _b ? _b : !options.xmlMode, this.tokenizer = new(null !== (_c = options.Tokenizer) && void 0 !== _c ? _c : Tokenizer_js_1.default)(this.options, this), null === (_e = (_d = this.cbs).onparserinit) || void 0 === _e || _e.call(_d, this)
|
|
}
|
|
return Parser.prototype.ontext = function(start, endIndex) {
|
|
var _a, _b, data = this.getSlice(start, endIndex);
|
|
this.endIndex = endIndex - 1, null === (_b = (_a = this.cbs).ontext) || void 0 === _b || _b.call(_a, data), this.startIndex = endIndex
|
|
}, Parser.prototype.ontextentity = function(cp) {
|
|
var _a, _b, index = this.tokenizer.getSectionStart();
|
|
this.endIndex = index - 1, null === (_b = (_a = this.cbs).ontext) || void 0 === _b || _b.call(_a, (0, decode_js_1.fromCodePoint)(cp)), this.startIndex = index
|
|
}, Parser.prototype.isVoidElement = function(name) {
|
|
return !this.options.xmlMode && voidElements.has(name)
|
|
}, Parser.prototype.onopentagname = function(start, endIndex) {
|
|
this.endIndex = endIndex;
|
|
var name = this.getSlice(start, endIndex);
|
|
this.lowerCaseTagNames && (name = name.toLowerCase()), this.emitOpenTag(name)
|
|
}, Parser.prototype.emitOpenTag = function(name) {
|
|
var _a, _b, _c, _d;
|
|
this.openTagStart = this.startIndex, this.tagname = name;
|
|
var impliesClose = !this.options.xmlMode && openImpliesClose.get(name);
|
|
if (impliesClose)
|
|
for (; this.stack.length > 0 && impliesClose.has(this.stack[this.stack.length - 1]);) {
|
|
var element = this.stack.pop();
|
|
null === (_b = (_a = this.cbs).onclosetag) || void 0 === _b || _b.call(_a, element, !0)
|
|
}
|
|
this.isVoidElement(name) || (this.stack.push(name), foreignContextElements.has(name) ? this.foreignContext.push(!0) : htmlIntegrationElements.has(name) && this.foreignContext.push(!1)), null === (_d = (_c = this.cbs).onopentagname) || void 0 === _d || _d.call(_c, name), this.cbs.onopentag && (this.attribs = {})
|
|
}, Parser.prototype.endOpenTag = function(isImplied) {
|
|
var _a, _b;
|
|
this.startIndex = this.openTagStart, this.attribs && (null === (_b = (_a = this.cbs).onopentag) || void 0 === _b || _b.call(_a, this.tagname, this.attribs, isImplied), this.attribs = null), this.cbs.onclosetag && this.isVoidElement(this.tagname) && this.cbs.onclosetag(this.tagname, !0), this.tagname = ""
|
|
}, Parser.prototype.onopentagend = function(endIndex) {
|
|
this.endIndex = endIndex, this.endOpenTag(!1), this.startIndex = endIndex + 1
|
|
}, Parser.prototype.onclosetag = function(start, endIndex) {
|
|
var _a, _b, _c, _d, _e, _f;
|
|
this.endIndex = endIndex;
|
|
var name = this.getSlice(start, endIndex);
|
|
if (this.lowerCaseTagNames && (name = name.toLowerCase()), (foreignContextElements.has(name) || htmlIntegrationElements.has(name)) && this.foreignContext.pop(), this.isVoidElement(name)) this.options.xmlMode || "br" !== name || (null === (_b = (_a = this.cbs).onopentagname) || void 0 === _b || _b.call(_a, "br"), null === (_d = (_c = this.cbs).onopentag) || void 0 === _d || _d.call(_c, "br", {}, !0), null === (_f = (_e = this.cbs).onclosetag) || void 0 === _f || _f.call(_e, "br", !1));
|
|
else {
|
|
var pos = this.stack.lastIndexOf(name);
|
|
if (-1 !== pos)
|
|
if (this.cbs.onclosetag)
|
|
for (var count = this.stack.length - pos; count--;) this.cbs.onclosetag(this.stack.pop(), 0 !== count);
|
|
else this.stack.length = pos;
|
|
else this.options.xmlMode || "p" !== name || (this.emitOpenTag("p"), this.closeCurrentTag(!0))
|
|
}
|
|
this.startIndex = endIndex + 1
|
|
}, Parser.prototype.onselfclosingtag = function(endIndex) {
|
|
this.endIndex = endIndex, this.options.xmlMode || this.options.recognizeSelfClosing || this.foreignContext[this.foreignContext.length - 1] ? (this.closeCurrentTag(!1), this.startIndex = endIndex + 1) : this.onopentagend(endIndex)
|
|
}, Parser.prototype.closeCurrentTag = function(isOpenImplied) {
|
|
var _a, _b, name = this.tagname;
|
|
this.endOpenTag(isOpenImplied), this.stack[this.stack.length - 1] === name && (null === (_b = (_a = this.cbs).onclosetag) || void 0 === _b || _b.call(_a, name, !isOpenImplied), this.stack.pop())
|
|
}, Parser.prototype.onattribname = function(start, endIndex) {
|
|
this.startIndex = start;
|
|
var name = this.getSlice(start, endIndex);
|
|
this.attribname = this.lowerCaseAttributeNames ? name.toLowerCase() : name
|
|
}, Parser.prototype.onattribdata = function(start, endIndex) {
|
|
this.attribvalue += this.getSlice(start, endIndex)
|
|
}, Parser.prototype.onattribentity = function(cp) {
|
|
this.attribvalue += (0, decode_js_1.fromCodePoint)(cp)
|
|
}, Parser.prototype.onattribend = function(quote, endIndex) {
|
|
var _a, _b;
|
|
this.endIndex = endIndex, null === (_b = (_a = this.cbs).onattribute) || void 0 === _b || _b.call(_a, this.attribname, this.attribvalue, quote === Tokenizer_js_1.QuoteType.Double ? '"' : quote === Tokenizer_js_1.QuoteType.Single ? "'" : quote === Tokenizer_js_1.QuoteType.NoValue ? void 0 : null), this.attribs && !Object.prototype.hasOwnProperty.call(this.attribs, this.attribname) && (this.attribs[this.attribname] = this.attribvalue), this.attribvalue = ""
|
|
}, Parser.prototype.getInstructionName = function(value) {
|
|
var index = value.search(reNameEnd),
|
|
name = index < 0 ? value : value.substr(0, index);
|
|
return this.lowerCaseTagNames && (name = name.toLowerCase()), name
|
|
}, Parser.prototype.ondeclaration = function(start, endIndex) {
|
|
this.endIndex = endIndex;
|
|
var value = this.getSlice(start, endIndex);
|
|
if (this.cbs.onprocessinginstruction) {
|
|
var name = this.getInstructionName(value);
|
|
this.cbs.onprocessinginstruction("!".concat(name), "!".concat(value))
|
|
}
|
|
this.startIndex = endIndex + 1
|
|
}, Parser.prototype.onprocessinginstruction = function(start, endIndex) {
|
|
this.endIndex = endIndex;
|
|
var value = this.getSlice(start, endIndex);
|
|
if (this.cbs.onprocessinginstruction) {
|
|
var name = this.getInstructionName(value);
|
|
this.cbs.onprocessinginstruction("?".concat(name), "?".concat(value))
|
|
}
|
|
this.startIndex = endIndex + 1
|
|
}, Parser.prototype.oncomment = function(start, endIndex, offset) {
|
|
var _a, _b, _c, _d;
|
|
this.endIndex = endIndex, null === (_b = (_a = this.cbs).oncomment) || void 0 === _b || _b.call(_a, this.getSlice(start, endIndex - offset)), null === (_d = (_c = this.cbs).oncommentend) || void 0 === _d || _d.call(_c), this.startIndex = endIndex + 1
|
|
}, Parser.prototype.oncdata = function(start, endIndex, offset) {
|
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
this.endIndex = endIndex;
|
|
var value = this.getSlice(start, endIndex - offset);
|
|
this.options.xmlMode || this.options.recognizeCDATA ? (null === (_b = (_a = this.cbs).oncdatastart) || void 0 === _b || _b.call(_a), null === (_d = (_c = this.cbs).ontext) || void 0 === _d || _d.call(_c, value), null === (_f = (_e = this.cbs).oncdataend) || void 0 === _f || _f.call(_e)) : (null === (_h = (_g = this.cbs).oncomment) || void 0 === _h || _h.call(_g, "[CDATA[".concat(value, "]]")), null === (_k = (_j = this.cbs).oncommentend) || void 0 === _k || _k.call(_j)), this.startIndex = endIndex + 1
|
|
}, Parser.prototype.onend = function() {
|
|
var _a, _b;
|
|
if (this.cbs.onclosetag) {
|
|
this.endIndex = this.startIndex;
|
|
for (var index = this.stack.length; index > 0; this.cbs.onclosetag(this.stack[--index], !0));
|
|
}
|
|
null === (_b = (_a = this.cbs).onend) || void 0 === _b || _b.call(_a)
|
|
}, Parser.prototype.reset = function() {
|
|
var _a, _b, _c, _d;
|
|
null === (_b = (_a = this.cbs).onreset) || void 0 === _b || _b.call(_a), this.tokenizer.reset(), this.tagname = "", this.attribname = "", this.attribs = null, this.stack.length = 0, this.startIndex = 0, this.endIndex = 0, null === (_d = (_c = this.cbs).onparserinit) || void 0 === _d || _d.call(_c, this), this.buffers.length = 0, this.bufferOffset = 0, this.writeIndex = 0, this.ended = !1
|
|
}, Parser.prototype.parseComplete = function(data) {
|
|
this.reset(), this.end(data)
|
|
}, Parser.prototype.getSlice = function(start, end) {
|
|
for (; start - this.bufferOffset >= this.buffers[0].length;) this.shiftBuffer();
|
|
for (var slice = this.buffers[0].slice(start - this.bufferOffset, end - this.bufferOffset); end - this.bufferOffset > this.buffers[0].length;) this.shiftBuffer(), slice += this.buffers[0].slice(0, end - this.bufferOffset);
|
|
return slice
|
|
}, Parser.prototype.shiftBuffer = function() {
|
|
this.bufferOffset += this.buffers[0].length, this.writeIndex--, this.buffers.shift()
|
|
}, Parser.prototype.write = function(chunk) {
|
|
var _a, _b;
|
|
this.ended ? null === (_b = (_a = this.cbs).onerror) || void 0 === _b || _b.call(_a, new Error(".write() after done!")) : (this.buffers.push(chunk), this.tokenizer.running && (this.tokenizer.write(chunk), this.writeIndex++))
|
|
}, Parser.prototype.end = function(chunk) {
|
|
var _a, _b;
|
|
this.ended ? null === (_b = (_a = this.cbs).onerror) || void 0 === _b || _b.call(_a, new Error(".end() after done!")) : (chunk && this.write(chunk), this.ended = !0, this.tokenizer.end())
|
|
}, Parser.prototype.pause = function() {
|
|
this.tokenizer.pause()
|
|
}, Parser.prototype.resume = function() {
|
|
for (this.tokenizer.resume(); this.tokenizer.running && this.writeIndex < this.buffers.length;) this.tokenizer.write(this.buffers[this.writeIndex++]);
|
|
this.ended && this.tokenizer.end()
|
|
}, Parser.prototype.parseChunk = function(chunk) {
|
|
this.write(chunk)
|
|
}, Parser.prototype.done = function(chunk) {
|
|
this.end(chunk)
|
|
}, Parser
|
|
}();
|
|
exports.Parser = Parser
|
|
},
|
|
91009: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912)),
|
|
_helpers = _interopRequireDefault(__webpack_require__(16065));
|
|
exports.default = new _dac.default({
|
|
description: "DSW DAC",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "65",
|
|
name: "DSW"
|
|
}],
|
|
doDac: async function(couponCode, selector, priceAmt, applyBestCode) {
|
|
let price = priceAmt;
|
|
try {
|
|
async function applyCode() {
|
|
const res = _jquery.default.ajax({
|
|
url: "https://www.dsw.com/api/v1/coupons/claim?locale=en_US&pushSite=DSW",
|
|
method: "POST",
|
|
headers: {
|
|
"content-type": "application/json;charset=UTF-8",
|
|
accept: "application/json, text/plain, */*"
|
|
},
|
|
data: JSON.stringify({
|
|
cart: "shoppingcart",
|
|
couponClaimCode: couponCode
|
|
})
|
|
});
|
|
await res.done(_data => {
|
|
_logger.default.debug("Finishing coupon application")
|
|
});
|
|
const res2 = _jquery.default.ajax({
|
|
url: "https://www.dsw.com/api/v1/cart/details?locale=en_US&pushSite=DSW",
|
|
method: "GET",
|
|
headers: {
|
|
accept: "application/json, text/plain, */*"
|
|
}
|
|
});
|
|
return await res2.done(_data => {}), res2
|
|
}
|
|
|
|
function updatePrice(res) {
|
|
try {
|
|
price = JSON.parse(res).orderSummary.orderTotal
|
|
} catch (e) {}
|
|
Number(_legacyHoneyUtils.default.cleanPrice(price)) < priceAmt && (0, _jquery.default)(selector).text(price)
|
|
}
|
|
updatePrice(await applyCode()), !0 === applyBestCode && (window.location = window.location.href, await (0, _helpers.default)(2e3))
|
|
} catch (e) {
|
|
_logger.default.error("Error", e)
|
|
}
|
|
return Number(_legacyHoneyUtils.default.cleanPrice(price))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
91010: function(__unused_webpack_module, exports, __webpack_require__) {
|
|
"use strict";
|
|
var __createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
void 0 === k2 && (k2 = k), Object.defineProperty(o, k2, {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return m[k]
|
|
}
|
|
})
|
|
} : function(o, m, k, k2) {
|
|
void 0 === k2 && (k2 = k), o[k2] = m[k]
|
|
}),
|
|
__exportStar = this && this.__exportStar || function(m, exports) {
|
|
for (var p in m) "default" === p || Object.prototype.hasOwnProperty.call(exports, p) || __createBinding(exports, m, p)
|
|
};
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.hasChildren = exports.isDocument = exports.isComment = exports.isText = exports.isCDATA = exports.isTag = void 0, __exportStar(__webpack_require__(78207), exports), __exportStar(__webpack_require__(70704), exports), __exportStar(__webpack_require__(59497), exports), __exportStar(__webpack_require__(69740), exports), __exportStar(__webpack_require__(81123), exports), __exportStar(__webpack_require__(41283), exports), __exportStar(__webpack_require__(38323), exports);
|
|
var domhandler_1 = __webpack_require__(75243);
|
|
Object.defineProperty(exports, "isTag", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return domhandler_1.isTag
|
|
}
|
|
}), Object.defineProperty(exports, "isCDATA", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return domhandler_1.isCDATA
|
|
}
|
|
}), Object.defineProperty(exports, "isText", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return domhandler_1.isText
|
|
}
|
|
}), Object.defineProperty(exports, "isComment", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return domhandler_1.isComment
|
|
}
|
|
}), Object.defineProperty(exports, "isDocument", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return domhandler_1.isDocument
|
|
}
|
|
}), Object.defineProperty(exports, "hasChildren", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return domhandler_1.hasChildren
|
|
}
|
|
})
|
|
},
|
|
91373: (__unused_webpack_module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.isHtml = exports.cloneDom = exports.domEach = exports.cssCase = exports.camelCase = exports.isCheerio = exports.isTag = void 0;
|
|
var htmlparser2_1 = __webpack_require__(82393),
|
|
domhandler_1 = __webpack_require__(75243);
|
|
exports.isTag = htmlparser2_1.DomUtils.isTag, exports.isCheerio = function(maybeCheerio) {
|
|
return null != maybeCheerio.cheerio
|
|
}, exports.camelCase = function(str) {
|
|
return str.replace(/[_.-](\w|$)/g, function(_, x) {
|
|
return x.toUpperCase()
|
|
})
|
|
}, exports.cssCase = function(str) {
|
|
return str.replace(/[A-Z]/g, "-$&").toLowerCase()
|
|
}, exports.domEach = function(array, fn) {
|
|
for (var len = array.length, i = 0; i < len && !1 !== fn(i, array[i]); i++);
|
|
return array
|
|
}, exports.cloneDom = function(dom) {
|
|
var clone = "length" in dom ? Array.prototype.map.call(dom, function(el) {
|
|
return domhandler_1.cloneNode(el, !0)
|
|
}) : [domhandler_1.cloneNode(dom, !0)],
|
|
root = new domhandler_1.Document(clone);
|
|
return clone.forEach(function(node) {
|
|
node.parent = root
|
|
}), clone
|
|
};
|
|
var quickExpr = /<[a-zA-Z][^]*>/;
|
|
exports.isHtml = function(str) {
|
|
return quickExpr.test(str)
|
|
}
|
|
},
|
|
91427: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _slicedToArray = function(arr, i) {
|
|
if (Array.isArray(arr)) return arr;
|
|
if (Symbol.iterator in Object(arr)) return function(arr, i) {
|
|
var _arr = [],
|
|
_n = !0,
|
|
_d = !1,
|
|
_e = void 0;
|
|
try {
|
|
for (var _s, _i = arr[Symbol.iterator](); !(_n = (_s = _i.next()).done) && (_arr.push(_s.value), !i || _arr.length !== i); _n = !0);
|
|
} catch (err) {
|
|
_d = !0, _e = err
|
|
} finally {
|
|
try {
|
|
!_n && _i.return && _i.return()
|
|
} finally {
|
|
if (_d) throw _e
|
|
}
|
|
}
|
|
return _arr
|
|
}(arr, i);
|
|
throw new TypeError("Invalid attempt to destructure non-iterable instance")
|
|
},
|
|
_createClass = function() {
|
|
function defineProperties(target, props) {
|
|
for (var i = 0; i < props.length; i++) {
|
|
var descriptor = props[i];
|
|
descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor)
|
|
}
|
|
}
|
|
return function(Constructor, protoProps, staticProps) {
|
|
return protoProps && defineProperties(Constructor.prototype, protoProps), staticProps && defineProperties(Constructor, staticProps), Constructor
|
|
}
|
|
}();
|
|
var _require = __webpack_require__(42487),
|
|
EPSILON = _require.EPSILON,
|
|
EPSILON_CLOSURE = _require.EPSILON_CLOSURE,
|
|
NFA = function() {
|
|
function NFA(inState, outState) {
|
|
! function(instance, Constructor) {
|
|
if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function")
|
|
}(this, NFA), this.in = inState, this.out = outState
|
|
}
|
|
return _createClass(NFA, [{
|
|
key: "matches",
|
|
value: function(string) {
|
|
return this.in.matches(string)
|
|
}
|
|
}, {
|
|
key: "getAlphabet",
|
|
value: function() {
|
|
if (!this._alphabet) {
|
|
this._alphabet = new Set;
|
|
var table = this.getTransitionTable();
|
|
for (var state in table) {
|
|
var transitions = table[state];
|
|
for (var symbol in transitions) symbol !== EPSILON_CLOSURE && this._alphabet.add(symbol)
|
|
}
|
|
}
|
|
return this._alphabet
|
|
}
|
|
}, {
|
|
key: "getAcceptingStates",
|
|
value: function() {
|
|
return this._acceptingStates || this.getTransitionTable(), this._acceptingStates
|
|
}
|
|
}, {
|
|
key: "getAcceptingStateNumbers",
|
|
value: function() {
|
|
if (!this._acceptingStateNumbers) {
|
|
this._acceptingStateNumbers = new Set;
|
|
var _iteratorNormalCompletion = !0,
|
|
_didIteratorError = !1,
|
|
_iteratorError = void 0;
|
|
try {
|
|
for (var _step, _iterator = this.getAcceptingStates()[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
var acceptingState = _step.value;
|
|
this._acceptingStateNumbers.add(acceptingState.number)
|
|
}
|
|
} catch (err) {
|
|
_didIteratorError = !0, _iteratorError = err
|
|
} finally {
|
|
try {
|
|
!_iteratorNormalCompletion && _iterator.return && _iterator.return()
|
|
} finally {
|
|
if (_didIteratorError) throw _iteratorError
|
|
}
|
|
}
|
|
}
|
|
return this._acceptingStateNumbers
|
|
}
|
|
}, {
|
|
key: "getTransitionTable",
|
|
value: function() {
|
|
var _this = this;
|
|
if (!this._transitionTable) {
|
|
this._transitionTable = {}, this._acceptingStates = new Set;
|
|
var visited = new Set,
|
|
symbols = new Set;
|
|
! function visitState(state) {
|
|
if (!visited.has(state)) {
|
|
visited.add(state), state.number = visited.size, _this._transitionTable[state.number] = {}, state.accepting && _this._acceptingStates.add(state);
|
|
var transitions = state.getTransitions(),
|
|
_iteratorNormalCompletion2 = !0,
|
|
_didIteratorError2 = !1,
|
|
_iteratorError2 = void 0;
|
|
try {
|
|
for (var _step2, _iterator2 = transitions[Symbol.iterator](); !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = !0) {
|
|
var _ref = _step2.value,
|
|
_ref2 = _slicedToArray(_ref, 2),
|
|
symbol = _ref2[0],
|
|
symbolTransitions = _ref2[1],
|
|
combinedState = [];
|
|
symbols.add(symbol);
|
|
var _iteratorNormalCompletion3 = !0,
|
|
_didIteratorError3 = !1,
|
|
_iteratorError3 = void 0;
|
|
try {
|
|
for (var _step3, _iterator3 = symbolTransitions[Symbol.iterator](); !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = !0) {
|
|
var nextState = _step3.value;
|
|
visitState(nextState), combinedState.push(nextState.number)
|
|
}
|
|
} catch (err) {
|
|
_didIteratorError3 = !0, _iteratorError3 = err
|
|
} finally {
|
|
try {
|
|
!_iteratorNormalCompletion3 && _iterator3.return && _iterator3.return()
|
|
} finally {
|
|
if (_didIteratorError3) throw _iteratorError3
|
|
}
|
|
}
|
|
_this._transitionTable[state.number][symbol] = combinedState
|
|
}
|
|
} catch (err) {
|
|
_didIteratorError2 = !0, _iteratorError2 = err
|
|
} finally {
|
|
try {
|
|
!_iteratorNormalCompletion2 && _iterator2.return && _iterator2.return()
|
|
} finally {
|
|
if (_didIteratorError2) throw _iteratorError2
|
|
}
|
|
}
|
|
}
|
|
}(this.in), visited.forEach(function(state) {
|
|
delete _this._transitionTable[state.number][EPSILON], _this._transitionTable[state.number][EPSILON_CLOSURE] = [].concat(function(arr) {
|
|
if (Array.isArray(arr)) {
|
|
for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
|
|
return arr2
|
|
}
|
|
return Array.from(arr)
|
|
}(state.getEpsilonClosure())).map(function(s) {
|
|
return s.number
|
|
})
|
|
})
|
|
}
|
|
return this._transitionTable
|
|
}
|
|
}]), NFA
|
|
}();
|
|
module.exports = NFA
|
|
},
|
|
91686: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912));
|
|
exports.default = new _dac.default({
|
|
description: "Aeropostale DAC",
|
|
author: "Honey Team",
|
|
version: "0.2.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 30
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "10",
|
|
name: "Aeropostale"
|
|
}],
|
|
doDac: async function(couponCode, selector, priceAmt) {
|
|
let price = priceAmt,
|
|
discountedPrice = priceAmt;
|
|
try {
|
|
async function applyCode() {
|
|
const res = _jquery.default.ajax({
|
|
type: "GET",
|
|
url: "https://www.aeropostale.com/on/demandware.store/Sites-aeropostale-Site/en_US/Cart-AddCouponJson",
|
|
data: {
|
|
couponCode,
|
|
format: "ajax"
|
|
}
|
|
});
|
|
return await res.done(data => {
|
|
_logger.default.debug("Finishing applying coupon")
|
|
}), res
|
|
}
|
|
async function updatePrice(res) {
|
|
try {
|
|
if (!0 === res.success) {
|
|
const newTotal = _jquery.default.ajax({
|
|
type: "GET",
|
|
url: "https://www.aeropostale.com/on/demandware.store/Sites-aeropostale-Site/en_US/COBilling-UpdateSummary"
|
|
});
|
|
await newTotal.done(discountTotal => {
|
|
discountedPrice = (0, _jquery.default)(discountTotal).find(".order-total .order-value").text()
|
|
})
|
|
}
|
|
} catch (e) {}
|
|
Number(_legacyHoneyUtils.default.cleanPrice(discountedPrice)) < price && ((0, _jquery.default)(selector).text(discountedPrice), price = Number(_legacyHoneyUtils.default.cleanPrice(discountedPrice)))
|
|
}
|
|
const res = await applyCode();
|
|
await updatePrice(res)
|
|
} catch (e) {
|
|
price = priceAmt
|
|
}
|
|
return price
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
91960: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var nativeMap, nativeSet, nativePromise, Buffer = __webpack_require__(68617).hp;
|
|
|
|
function _instanceof(obj, type) {
|
|
return null != type && obj instanceof type
|
|
}
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = clone;
|
|
try {
|
|
nativeMap = Map
|
|
} catch (_) {
|
|
nativeMap = function() {}
|
|
}
|
|
try {
|
|
nativeSet = Set
|
|
} catch (_) {
|
|
nativeSet = function() {}
|
|
}
|
|
try {
|
|
nativePromise = Promise
|
|
} catch (_) {
|
|
nativePromise = function() {}
|
|
}
|
|
|
|
function clone(parent, circular, depth, prototype, includeNonEnumerable) {
|
|
"object" == typeof circular && (depth = circular.depth, prototype = circular.prototype, includeNonEnumerable = circular.includeNonEnumerable, circular = circular.circular);
|
|
var allParents = [],
|
|
allChildren = [],
|
|
useBuffer = void 0 !== Buffer;
|
|
return void 0 === circular && (circular = !0), void 0 === depth && (depth = 1 / 0),
|
|
function _clone(parent, depth) {
|
|
if (null === parent) return null;
|
|
if (0 === depth) return parent;
|
|
var child, proto;
|
|
if ("object" != typeof parent) return parent;
|
|
if (_instanceof(parent, nativeMap)) child = new nativeMap;
|
|
else if (_instanceof(parent, nativeSet)) child = new nativeSet;
|
|
else if (_instanceof(parent, nativePromise)) child = new nativePromise(function(resolve, reject) {
|
|
parent.then(function(value) {
|
|
resolve(_clone(value, depth - 1))
|
|
}, function(err) {
|
|
reject(_clone(err, depth - 1))
|
|
})
|
|
});
|
|
else if (clone.__isArray(parent)) child = [];
|
|
else if (clone.__isRegExp(parent)) child = new RegExp(parent.source, __getRegExpFlags(parent)), parent.lastIndex && (child.lastIndex = parent.lastIndex);
|
|
else if (clone.__isDate(parent)) child = new Date(parent.getTime());
|
|
else {
|
|
if (useBuffer && Buffer.isBuffer(parent)) return child = new Buffer(parent.length), parent.copy(child), child;
|
|
_instanceof(parent, Error) ? child = Object.create(parent) : void 0 === prototype ? (proto = Object.getPrototypeOf(parent), child = Object.create(proto)) : (child = Object.create(prototype), proto = prototype)
|
|
}
|
|
if (circular) {
|
|
var index = allParents.indexOf(parent);
|
|
if (-1 != index) return allChildren[index];
|
|
allParents.push(parent), allChildren.push(child)
|
|
}
|
|
for (var i in _instanceof(parent, nativeMap) && parent.forEach(function(value, key) {
|
|
var keyChild = _clone(key, depth - 1),
|
|
valueChild = _clone(value, depth - 1);
|
|
child.set(keyChild, valueChild)
|
|
}), _instanceof(parent, nativeSet) && parent.forEach(function(value) {
|
|
var entryChild = _clone(value, depth - 1);
|
|
child.add(entryChild)
|
|
}), parent) {
|
|
var attrs;
|
|
proto && (attrs = Object.getOwnPropertyDescriptor(proto, i)), Object.keys(parent).indexOf(i) < 0 && attrs && null == attrs.set || (child[i] = _clone(parent[i], depth - 1))
|
|
}
|
|
if (Object.getOwnPropertySymbols) {
|
|
var symbols = Object.getOwnPropertySymbols(parent);
|
|
for (i = 0; i < symbols.length; i++) {
|
|
var symbol = symbols[i];
|
|
(!(descriptor = Object.getOwnPropertyDescriptor(parent, symbol)) || descriptor.enumerable || includeNonEnumerable) && (child[symbol] = _clone(parent[symbol], depth - 1), descriptor.enumerable || Object.defineProperty(child, symbol, {
|
|
enumerable: !1
|
|
}))
|
|
}
|
|
}
|
|
if (includeNonEnumerable) {
|
|
var allPropertyNames = Object.getOwnPropertyNames(parent);
|
|
for (i = 0; i < allPropertyNames.length; i++) {
|
|
var descriptor, propertyName = allPropertyNames[i];
|
|
(descriptor = Object.getOwnPropertyDescriptor(parent, propertyName)) && descriptor.enumerable || (child[propertyName] = _clone(parent[propertyName], depth - 1), Object.defineProperty(child, propertyName, {
|
|
enumerable: !1
|
|
}))
|
|
}
|
|
}
|
|
return child
|
|
}(parent, depth)
|
|
}
|
|
|
|
function __objToStr(o) {
|
|
return Object.prototype.toString.call(o)
|
|
}
|
|
|
|
function __getRegExpFlags(re) {
|
|
var flags = "";
|
|
return re.global && (flags += "g"), re.ignoreCase && (flags += "i"), re.multiline && (flags += "m"), flags
|
|
}
|
|
clone.clonePrototype = function(parent) {
|
|
if (null === parent) return null;
|
|
var c = function() {};
|
|
return c.prototype = parent, new c
|
|
}, clone.__objToStr = __objToStr, clone.__isDate = function(o) {
|
|
return "object" == typeof o && "[object Date]" === __objToStr(o)
|
|
}, clone.__isArray = function(o) {
|
|
return "object" == typeof o && "[object Array]" === __objToStr(o)
|
|
}, clone.__isRegExp = function(o) {
|
|
return "object" == typeof o && "[object RegExp]" === __objToStr(o)
|
|
}, clone.__getRegExpFlags = __getRegExpFlags, module.exports = exports.default
|
|
},
|
|
92020: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
const analyzer = __webpack_require__(54576),
|
|
analyzerFamily = __webpack_require__(13945);
|
|
class Args {
|
|
constructor(regExp, analyzerOptions) {
|
|
this.regExp = regExp, this.analyzerOptions = analyzerOptions
|
|
}
|
|
}
|
|
module.exports = function(re, opts) {
|
|
try {
|
|
const args = function(re, opts) {
|
|
opts || (opts = {});
|
|
const heuristic_replimit = void 0 === opts.limit ? 25 : opts.limit,
|
|
analyzerOptions = new analyzer.AnalyzerOptions(heuristic_replimit);
|
|
let regExp = null;
|
|
regExp = re instanceof RegExp ? re : "string" == typeof re ? new RegExp(re) : new RegExp(String(re));
|
|
return new Args(regExp, analyzerOptions)
|
|
}(re, opts),
|
|
analyzerResponses = function(args) {
|
|
let Analyzer, analyzerSaysVulnerable = [];
|
|
for (Analyzer of analyzerFamily) try {
|
|
const analyzer = new Analyzer(args.analyzerOptions);
|
|
analyzerSaysVulnerable.push(analyzer.isVulnerable(args.regExp))
|
|
} catch (err) {
|
|
analyzerSaysVulnerable.push(!1)
|
|
}
|
|
return analyzerSaysVulnerable
|
|
}(args);
|
|
return !analyzerResponses.find(isVulnerable => isVulnerable)
|
|
} catch (err) {
|
|
return !1
|
|
}
|
|
}
|
|
},
|
|
92563: function(module, exports, __webpack_require__) {
|
|
var CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), __webpack_require__(74047), CryptoJS.pad.AnsiX923 = {
|
|
pad: function(data, blockSize) {
|
|
var dataSigBytes = data.sigBytes,
|
|
blockSizeBytes = 4 * blockSize,
|
|
nPaddingBytes = blockSizeBytes - dataSigBytes % blockSizeBytes,
|
|
lastBytePos = dataSigBytes + nPaddingBytes - 1;
|
|
data.clamp(), data.words[lastBytePos >>> 2] |= nPaddingBytes << 24 - lastBytePos % 4 * 8, data.sigBytes += nPaddingBytes
|
|
},
|
|
unpad: function(data) {
|
|
var nPaddingBytes = 255 & data.words[data.sigBytes - 1 >>> 2];
|
|
data.sigBytes -= nPaddingBytes
|
|
}
|
|
}, CryptoJS.pad.Ansix923)
|
|
},
|
|
92711: function(__unused_webpack_module, exports, __webpack_require__) {
|
|
"use strict";
|
|
var __importDefault = this && this.__importDefault || function(mod) {
|
|
return mod && mod.__esModule ? mod : {
|
|
default: mod
|
|
}
|
|
};
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.render = exports.parse = void 0;
|
|
var htmlparser2_1 = __webpack_require__(82393);
|
|
Object.defineProperty(exports, "parse", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return htmlparser2_1.parseDocument
|
|
}
|
|
});
|
|
var dom_serializer_1 = __webpack_require__(2652);
|
|
Object.defineProperty(exports, "render", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return __importDefault(dom_serializer_1).default
|
|
}
|
|
})
|
|
},
|
|
92733: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
var noCase = __webpack_require__(37129),
|
|
upperCaseFirst = __webpack_require__(11363);
|
|
module.exports = function(value, locale) {
|
|
return upperCaseFirst(noCase(value, locale), locale)
|
|
}
|
|
},
|
|
93758: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
const state = this.stateStack[this.stateStack.length - 1],
|
|
node = state.node;
|
|
let n = state.n_ || 0,
|
|
declarationNode = node.declarations[n];
|
|
state.value && declarationNode && (this.setValue(this.createPrimitive(declarationNode.id.name), state.value), state.value = null, n += 1, declarationNode = node.declarations[n]);
|
|
for (; declarationNode;) {
|
|
if (declarationNode.init) return state.n_ = n, void this.stateStack.push({
|
|
node: declarationNode.init
|
|
});
|
|
n += 1, declarationNode = node.declarations[n]
|
|
}
|
|
this.stateStack.pop()
|
|
}, module.exports = exports.default
|
|
},
|
|
94214: function(module, exports, __webpack_require__) {
|
|
var CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), __webpack_require__(8242), function() {
|
|
var C = CryptoJS,
|
|
Hasher = C.lib.Hasher,
|
|
C_x64 = C.x64,
|
|
X64Word = C_x64.Word,
|
|
X64WordArray = C_x64.WordArray,
|
|
C_algo = C.algo;
|
|
|
|
function X64Word_create() {
|
|
return X64Word.create.apply(X64Word, arguments)
|
|
}
|
|
var K = [X64Word_create(1116352408, 3609767458), X64Word_create(1899447441, 602891725), X64Word_create(3049323471, 3964484399), X64Word_create(3921009573, 2173295548), X64Word_create(961987163, 4081628472), X64Word_create(1508970993, 3053834265), X64Word_create(2453635748, 2937671579), X64Word_create(2870763221, 3664609560), X64Word_create(3624381080, 2734883394), X64Word_create(310598401, 1164996542), X64Word_create(607225278, 1323610764), X64Word_create(1426881987, 3590304994), X64Word_create(1925078388, 4068182383), X64Word_create(2162078206, 991336113), X64Word_create(2614888103, 633803317), X64Word_create(3248222580, 3479774868), X64Word_create(3835390401, 2666613458), X64Word_create(4022224774, 944711139), X64Word_create(264347078, 2341262773), X64Word_create(604807628, 2007800933), X64Word_create(770255983, 1495990901), X64Word_create(1249150122, 1856431235), X64Word_create(1555081692, 3175218132), X64Word_create(1996064986, 2198950837), X64Word_create(2554220882, 3999719339), X64Word_create(2821834349, 766784016), X64Word_create(2952996808, 2566594879), X64Word_create(3210313671, 3203337956), X64Word_create(3336571891, 1034457026), X64Word_create(3584528711, 2466948901), X64Word_create(113926993, 3758326383), X64Word_create(338241895, 168717936), X64Word_create(666307205, 1188179964), X64Word_create(773529912, 1546045734), X64Word_create(1294757372, 1522805485), X64Word_create(1396182291, 2643833823), X64Word_create(1695183700, 2343527390), X64Word_create(1986661051, 1014477480), X64Word_create(2177026350, 1206759142), X64Word_create(2456956037, 344077627), X64Word_create(2730485921, 1290863460), X64Word_create(2820302411, 3158454273), X64Word_create(3259730800, 3505952657), X64Word_create(3345764771, 106217008), X64Word_create(3516065817, 3606008344), X64Word_create(3600352804, 1432725776), X64Word_create(4094571909, 1467031594), X64Word_create(275423344, 851169720), X64Word_create(430227734, 3100823752), X64Word_create(506948616, 1363258195), X64Word_create(659060556, 3750685593), X64Word_create(883997877, 3785050280), X64Word_create(958139571, 3318307427), X64Word_create(1322822218, 3812723403), X64Word_create(1537002063, 2003034995), X64Word_create(1747873779, 3602036899), X64Word_create(1955562222, 1575990012), X64Word_create(2024104815, 1125592928), X64Word_create(2227730452, 2716904306), X64Word_create(2361852424, 442776044), X64Word_create(2428436474, 593698344), X64Word_create(2756734187, 3733110249), X64Word_create(3204031479, 2999351573), X64Word_create(3329325298, 3815920427), X64Word_create(3391569614, 3928383900), X64Word_create(3515267271, 566280711), X64Word_create(3940187606, 3454069534), X64Word_create(4118630271, 4000239992), X64Word_create(116418474, 1914138554), X64Word_create(174292421, 2731055270), X64Word_create(289380356, 3203993006), X64Word_create(460393269, 320620315), X64Word_create(685471733, 587496836), X64Word_create(852142971, 1086792851), X64Word_create(1017036298, 365543100), X64Word_create(1126000580, 2618297676), X64Word_create(1288033470, 3409855158), X64Word_create(1501505948, 4234509866), X64Word_create(1607167915, 987167468), X64Word_create(1816402316, 1246189591)],
|
|
W = [];
|
|
! function() {
|
|
for (var i = 0; i < 80; i++) W[i] = X64Word_create()
|
|
}();
|
|
var SHA512 = C_algo.SHA512 = Hasher.extend({
|
|
_doReset: function() {
|
|
this._hash = new X64WordArray.init([new X64Word.init(1779033703, 4089235720), new X64Word.init(3144134277, 2227873595), new X64Word.init(1013904242, 4271175723), new X64Word.init(2773480762, 1595750129), new X64Word.init(1359893119, 2917565137), new X64Word.init(2600822924, 725511199), new X64Word.init(528734635, 4215389547), new X64Word.init(1541459225, 327033209)])
|
|
},
|
|
_doProcessBlock: function(M, offset) {
|
|
for (var H = this._hash.words, H0 = H[0], H1 = H[1], H2 = H[2], H3 = H[3], H4 = H[4], H5 = H[5], H6 = H[6], H7 = H[7], H0h = H0.high, H0l = H0.low, H1h = H1.high, H1l = H1.low, H2h = H2.high, H2l = H2.low, H3h = H3.high, H3l = H3.low, H4h = H4.high, H4l = H4.low, H5h = H5.high, H5l = H5.low, H6h = H6.high, H6l = H6.low, H7h = H7.high, H7l = H7.low, ah = H0h, al = H0l, bh = H1h, bl = H1l, ch = H2h, cl = H2l, dh = H3h, dl = H3l, eh = H4h, el = H4l, fh = H5h, fl = H5l, gh = H6h, gl = H6l, hh = H7h, hl = H7l, i = 0; i < 80; i++) {
|
|
var Wil, Wih, Wi = W[i];
|
|
if (i < 16) Wih = Wi.high = 0 | M[offset + 2 * i], Wil = Wi.low = 0 | M[offset + 2 * i + 1];
|
|
else {
|
|
var gamma0x = W[i - 15],
|
|
gamma0xh = gamma0x.high,
|
|
gamma0xl = gamma0x.low,
|
|
gamma0h = (gamma0xh >>> 1 | gamma0xl << 31) ^ (gamma0xh >>> 8 | gamma0xl << 24) ^ gamma0xh >>> 7,
|
|
gamma0l = (gamma0xl >>> 1 | gamma0xh << 31) ^ (gamma0xl >>> 8 | gamma0xh << 24) ^ (gamma0xl >>> 7 | gamma0xh << 25),
|
|
gamma1x = W[i - 2],
|
|
gamma1xh = gamma1x.high,
|
|
gamma1xl = gamma1x.low,
|
|
gamma1h = (gamma1xh >>> 19 | gamma1xl << 13) ^ (gamma1xh << 3 | gamma1xl >>> 29) ^ gamma1xh >>> 6,
|
|
gamma1l = (gamma1xl >>> 19 | gamma1xh << 13) ^ (gamma1xl << 3 | gamma1xh >>> 29) ^ (gamma1xl >>> 6 | gamma1xh << 26),
|
|
Wi7 = W[i - 7],
|
|
Wi7h = Wi7.high,
|
|
Wi7l = Wi7.low,
|
|
Wi16 = W[i - 16],
|
|
Wi16h = Wi16.high,
|
|
Wi16l = Wi16.low;
|
|
Wih = (Wih = (Wih = gamma0h + Wi7h + ((Wil = gamma0l + Wi7l) >>> 0 < gamma0l >>> 0 ? 1 : 0)) + gamma1h + ((Wil += gamma1l) >>> 0 < gamma1l >>> 0 ? 1 : 0)) + Wi16h + ((Wil += Wi16l) >>> 0 < Wi16l >>> 0 ? 1 : 0), Wi.high = Wih, Wi.low = Wil
|
|
}
|
|
var t1l, chh = eh & fh ^ ~eh & gh,
|
|
chl = el & fl ^ ~el & gl,
|
|
majh = ah & bh ^ ah & ch ^ bh & ch,
|
|
majl = al & bl ^ al & cl ^ bl & cl,
|
|
sigma0h = (ah >>> 28 | al << 4) ^ (ah << 30 | al >>> 2) ^ (ah << 25 | al >>> 7),
|
|
sigma0l = (al >>> 28 | ah << 4) ^ (al << 30 | ah >>> 2) ^ (al << 25 | ah >>> 7),
|
|
sigma1h = (eh >>> 14 | el << 18) ^ (eh >>> 18 | el << 14) ^ (eh << 23 | el >>> 9),
|
|
sigma1l = (el >>> 14 | eh << 18) ^ (el >>> 18 | eh << 14) ^ (el << 23 | eh >>> 9),
|
|
Ki = K[i],
|
|
Kih = Ki.high,
|
|
Kil = Ki.low,
|
|
t1h = hh + sigma1h + ((t1l = hl + sigma1l) >>> 0 < hl >>> 0 ? 1 : 0),
|
|
t2l = sigma0l + majl;
|
|
hh = gh, hl = gl, gh = fh, gl = fl, fh = eh, fl = el, eh = dh + (t1h = (t1h = (t1h = t1h + chh + ((t1l += chl) >>> 0 < chl >>> 0 ? 1 : 0)) + Kih + ((t1l += Kil) >>> 0 < Kil >>> 0 ? 1 : 0)) + Wih + ((t1l += Wil) >>> 0 < Wil >>> 0 ? 1 : 0)) + ((el = dl + t1l | 0) >>> 0 < dl >>> 0 ? 1 : 0) | 0, dh = ch, dl = cl, ch = bh, cl = bl, bh = ah, bl = al, ah = t1h + (sigma0h + majh + (t2l >>> 0 < sigma0l >>> 0 ? 1 : 0)) + ((al = t1l + t2l | 0) >>> 0 < t1l >>> 0 ? 1 : 0) | 0
|
|
}
|
|
H0l = H0.low = H0l + al, H0.high = H0h + ah + (H0l >>> 0 < al >>> 0 ? 1 : 0), H1l = H1.low = H1l + bl, H1.high = H1h + bh + (H1l >>> 0 < bl >>> 0 ? 1 : 0), H2l = H2.low = H2l + cl, H2.high = H2h + ch + (H2l >>> 0 < cl >>> 0 ? 1 : 0), H3l = H3.low = H3l + dl, H3.high = H3h + dh + (H3l >>> 0 < dl >>> 0 ? 1 : 0), H4l = H4.low = H4l + el, H4.high = H4h + eh + (H4l >>> 0 < el >>> 0 ? 1 : 0), H5l = H5.low = H5l + fl, H5.high = H5h + fh + (H5l >>> 0 < fl >>> 0 ? 1 : 0), H6l = H6.low = H6l + gl, H6.high = H6h + gh + (H6l >>> 0 < gl >>> 0 ? 1 : 0), H7l = H7.low = H7l + hl, H7.high = H7h + hh + (H7l >>> 0 < hl >>> 0 ? 1 : 0)
|
|
},
|
|
_doFinalize: function() {
|
|
var data = this._data,
|
|
dataWords = data.words,
|
|
nBitsTotal = 8 * this._nDataBytes,
|
|
nBitsLeft = 8 * data.sigBytes;
|
|
return dataWords[nBitsLeft >>> 5] |= 128 << 24 - nBitsLeft % 32, dataWords[30 + (nBitsLeft + 128 >>> 10 << 5)] = Math.floor(nBitsTotal / 4294967296), dataWords[31 + (nBitsLeft + 128 >>> 10 << 5)] = nBitsTotal, data.sigBytes = 4 * dataWords.length, this._process(), this._hash.toX32()
|
|
},
|
|
clone: function() {
|
|
var clone = Hasher.clone.call(this);
|
|
return clone._hash = this._hash.clone(), clone
|
|
},
|
|
blockSize: 32
|
|
});
|
|
C.SHA512 = Hasher._createHelper(SHA512), C.HmacSHA512 = Hasher._createHmacHelper(SHA512)
|
|
}(), CryptoJS.SHA512)
|
|
},
|
|
94327: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
const ErrorReportingMixinBase = __webpack_require__(90745),
|
|
PositionTrackingPreprocessorMixin = __webpack_require__(15417),
|
|
Mixin = __webpack_require__(28338);
|
|
module.exports = class extends ErrorReportingMixinBase {
|
|
constructor(preprocessor, opts) {
|
|
super(preprocessor, opts), this.posTracker = Mixin.install(preprocessor, PositionTrackingPreprocessorMixin), this.lastErrOffset = -1
|
|
}
|
|
_reportError(code) {
|
|
this.lastErrOffset !== this.posTracker.offset && (this.lastErrOffset = this.posTracker.offset, super._reportError(code))
|
|
}
|
|
}
|
|
},
|
|
94551: function(__unused_webpack_module, exports, __webpack_require__) {
|
|
"use strict";
|
|
var __importDefault = this && this.__importDefault || function(mod) {
|
|
return mod && mod.__esModule ? mod : {
|
|
default: mod
|
|
}
|
|
};
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.getOuterHTML = getOuterHTML, exports.getInnerHTML = function(node, options) {
|
|
return (0, domhandler_1.hasChildren)(node) ? node.children.map(function(node) {
|
|
return getOuterHTML(node, options)
|
|
}).join("") : ""
|
|
}, exports.getText = function getText(node) {
|
|
return Array.isArray(node) ? node.map(getText).join("") : (0, domhandler_1.isTag)(node) ? "br" === node.name ? "\n" : getText(node.children) : (0, domhandler_1.isCDATA)(node) ? getText(node.children) : (0, domhandler_1.isText)(node) ? node.data : ""
|
|
}, exports.textContent = function textContent(node) {
|
|
if (Array.isArray(node)) return node.map(textContent).join("");
|
|
if ((0, domhandler_1.hasChildren)(node) && !(0, domhandler_1.isComment)(node)) return textContent(node.children);
|
|
return (0, domhandler_1.isText)(node) ? node.data : ""
|
|
}, exports.innerText = function innerText(node) {
|
|
if (Array.isArray(node)) return node.map(innerText).join("");
|
|
if ((0, domhandler_1.hasChildren)(node) && (node.type === domelementtype_1.ElementType.Tag || (0, domhandler_1.isCDATA)(node))) return innerText(node.children);
|
|
return (0, domhandler_1.isText)(node) ? node.data : ""
|
|
};
|
|
var domhandler_1 = __webpack_require__(59811),
|
|
dom_serializer_1 = __importDefault(__webpack_require__(32500)),
|
|
domelementtype_1 = __webpack_require__(60903);
|
|
|
|
function getOuterHTML(node, options) {
|
|
return (0, dom_serializer_1.default)(node, options)
|
|
}
|
|
},
|
|
94696: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
const state = this.stateStack[this.stateStack.length - 1],
|
|
mode = state.mode_ || 0;
|
|
if (0 === mode) return state.mode_ = 1, void this.stateStack.push({
|
|
node: state.node.test
|
|
});
|
|
if (1 === mode) {
|
|
state.mode_ = 2;
|
|
const value = state.value.toBoolean();
|
|
if (value && state.node.consequent) return void this.stateStack.push({
|
|
node: state.node.consequent
|
|
});
|
|
if (!value && state.node.alternate) return void this.stateStack.push({
|
|
node: state.node.alternate
|
|
});
|
|
this.value = this.UNDEFINED
|
|
}
|
|
this.stateStack.pop(), "ConditionalExpression" === state.node.type && (this.stateStack[this.stateStack.length - 1].value = state.value)
|
|
}, module.exports = exports.default
|
|
},
|
|
94862: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function({
|
|
eventType = "apply-promo-honey",
|
|
details = "honeyExtensionRunning:true"
|
|
}) {
|
|
const detailObject = details && details.split(",").map(pairString => pairString.split(":")).filter(pair => 2 === pair.length).reduce((result, pair) => {
|
|
const key = pair[0];
|
|
let value = pair[1];
|
|
return "true" === value ? value = !0 : "false" === value && (value = !1), result[key] = value, result
|
|
}, {}) || {
|
|
honeyExtensionRunning: !0
|
|
};
|
|
if (0 === Object.keys(detailObject).length) return (0, _mixinResponses.FailedMixinResponse)(`\n Failed to initiate custom event:\n eventType: ${eventType},\n details: ${details}\n `);
|
|
const script = `window.dispatchEvent(new CustomEvent('${eventType}', ${JSON.stringify(detailObject)}))`;
|
|
return (0, _sharedFunctions.appendScript)(script), new _mixinResponses.SuccessfulMixinResponse("Custom Event Dispatched", [eventType, detailObject])
|
|
};
|
|
var _sharedFunctions = __webpack_require__(8627),
|
|
_mixinResponses = __webpack_require__(34522);
|
|
module.exports = exports.default
|
|
},
|
|
95024: function(__unused_webpack_module, exports, __webpack_require__) {
|
|
"use strict";
|
|
var __importDefault = this && this.__importDefault || function(mod) {
|
|
return mod && mod.__esModule ? mod : {
|
|
default: mod
|
|
}
|
|
};
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.decodeHTML = exports.decodeHTMLStrict = exports.decodeXML = void 0;
|
|
var entities_json_1 = __importDefault(__webpack_require__(89294)),
|
|
legacy_json_1 = __importDefault(__webpack_require__(65114)),
|
|
xml_json_1 = __importDefault(__webpack_require__(90866)),
|
|
decode_codepoint_1 = __importDefault(__webpack_require__(68734)),
|
|
strictEntityRe = /&(?:[a-zA-Z0-9]+|#[xX][\da-fA-F]+|#\d+);/g;
|
|
|
|
function getStrictDecoder(map) {
|
|
var replace = getReplacer(map);
|
|
return function(str) {
|
|
return String(str).replace(strictEntityRe, replace)
|
|
}
|
|
}
|
|
exports.decodeXML = getStrictDecoder(xml_json_1.default), exports.decodeHTMLStrict = getStrictDecoder(entities_json_1.default);
|
|
var sorter = function(a, b) {
|
|
return a < b ? 1 : -1
|
|
};
|
|
|
|
function getReplacer(map) {
|
|
return function(str) {
|
|
if ("#" === str.charAt(1)) {
|
|
var secondChar = str.charAt(2);
|
|
return "X" === secondChar || "x" === secondChar ? decode_codepoint_1.default(parseInt(str.substr(3), 16)) : decode_codepoint_1.default(parseInt(str.substr(2), 10))
|
|
}
|
|
return map[str.slice(1, -1)] || str
|
|
}
|
|
}
|
|
exports.decodeHTML = function() {
|
|
for (var legacy = Object.keys(legacy_json_1.default).sort(sorter), keys = Object.keys(entities_json_1.default).sort(sorter), i = 0, j = 0; i < keys.length; i++) legacy[j] === keys[i] ? (keys[i] += ";?", j++) : keys[i] += ";";
|
|
var re = new RegExp("&(?:" + keys.join("|") + "|#[xX][\\da-fA-F]+;?|#\\d+;?)", "g"),
|
|
replace = getReplacer(entities_json_1.default);
|
|
|
|
function replacer(str) {
|
|
return ";" !== str.substr(-1) && (str += ";"), replace(str)
|
|
}
|
|
return function(str) {
|
|
return String(str).replace(re, replacer)
|
|
}
|
|
}()
|
|
},
|
|
95355: module => {
|
|
"use strict";
|
|
module.exports = JSON.parse('{"name":"PPInterstitialIframe","groups":[],"isRequired":false,"tests":[],"preconditions":[],"shape":[{"value":"iframe","weight":1,"scope":"tag","_comment":"Only interested in iframes"},{"value":"attentive_creative","weight":10,"scope":"id","_comment":"Pacsun iframe"}]}')
|
|
},
|
|
96129: (__unused_webpack_module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
})
|
|
},
|
|
96171: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var increaseQuantifierByOne = __webpack_require__(47008).increaseQuantifierByOne;
|
|
|
|
function isGreedyOpenRange(quantifier) {
|
|
return quantifier.greedy && ("+" === quantifier.kind || "*" === quantifier.kind || "Range" === quantifier.kind && !quantifier.to)
|
|
}
|
|
|
|
function extractFromTo(quantifier) {
|
|
var from = void 0,
|
|
to = void 0;
|
|
return "*" === quantifier.kind ? from = 0 : "+" === quantifier.kind ? from = 1 : "?" === quantifier.kind ? (from = 0, to = 1) : (from = quantifier.from, quantifier.to && (to = quantifier.to)), {
|
|
from,
|
|
to
|
|
}
|
|
}
|
|
module.exports = {
|
|
Repetition: function(path) {
|
|
var node = path.node;
|
|
if ("Alternative" === path.parent.type && path.index) {
|
|
var previousSibling = path.getPreviousSibling();
|
|
if (previousSibling)
|
|
if ("Repetition" === previousSibling.node.type) {
|
|
if (!previousSibling.getChild().hasEqualSource(path.getChild())) return;
|
|
var _extractFromTo = extractFromTo(previousSibling.node.quantifier),
|
|
previousSiblingFrom = _extractFromTo.from,
|
|
previousSiblingTo = _extractFromTo.to,
|
|
_extractFromTo2 = extractFromTo(node.quantifier),
|
|
nodeFrom = _extractFromTo2.from,
|
|
nodeTo = _extractFromTo2.to;
|
|
if (previousSibling.node.quantifier.greedy !== node.quantifier.greedy && !isGreedyOpenRange(previousSibling.node.quantifier) && !isGreedyOpenRange(node.quantifier)) return;
|
|
node.quantifier.kind = "Range", node.quantifier.from = previousSiblingFrom + nodeFrom, previousSiblingTo && nodeTo ? node.quantifier.to = previousSiblingTo + nodeTo : delete node.quantifier.to, (isGreedyOpenRange(previousSibling.node.quantifier) || isGreedyOpenRange(node.quantifier)) && (node.quantifier.greedy = !0), previousSibling.remove()
|
|
} else {
|
|
if (!previousSibling.hasEqualSource(path.getChild())) return;
|
|
increaseQuantifierByOne(node.quantifier), previousSibling.remove()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
96178: module => {
|
|
"use strict";
|
|
let printed = {};
|
|
module.exports = function(message) {
|
|
printed[message] || (printed[message] = !0, "undefined" != typeof console && console.warn && console.warn(message))
|
|
}
|
|
},
|
|
96719: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912)),
|
|
_helpers = _interopRequireDefault(__webpack_require__(16065));
|
|
exports.default = new _dac.default({
|
|
description: "Banana Republic FS",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 20
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "23",
|
|
name: "Banana Republic"
|
|
}],
|
|
doDac: async function(couponCode, selector, priceAmt, applyBestCode) {
|
|
let price = priceAmt;
|
|
return function(res) {
|
|
try {
|
|
price = res.summaryOfCharges.myTotal
|
|
} catch (e) {}
|
|
Number(_legacyHoneyUtils.default.cleanPrice(price)) < priceAmt && (0, _jquery.default)("#shopping-bag-page span.total-price").text(price)
|
|
}(await async function() {
|
|
const brandType = ((0, _jquery.default)("script:contains(SHOPPING_BAG_STATE)").text().match(/brandType":"(\w+)"/) || [])[1],
|
|
res = _jquery.default.ajax({
|
|
url: "https://secure-bananarepublic.gap.com/shopping-bag-xapi/apply-bag-promo/",
|
|
method: "POST",
|
|
headers: {
|
|
"bag-ui-leapfrog": "false",
|
|
channel: "WEB",
|
|
brand: "BR",
|
|
brandtype: brandType || "specialty",
|
|
market: "US",
|
|
guest: "true",
|
|
locale: "en_US",
|
|
"content-type": "application/json;charset=UTF-8"
|
|
},
|
|
data: JSON.stringify({
|
|
promoCode: couponCode
|
|
})
|
|
});
|
|
return await res.done(_data => {
|
|
_logger.default.debug("Finishing applying code")
|
|
}), res
|
|
}()), !0 === applyBestCode && (window.location = window.location.href, await (0, _helpers.default)(2e3)), Number(_legacyHoneyUtils.default.cleanPrice(price))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
96817: module => {
|
|
var LANGUAGES = {
|
|
tr: {
|
|
regexp: /[\u0069]/g,
|
|
map: {
|
|
i: "\u0130"
|
|
}
|
|
},
|
|
az: {
|
|
regexp: /[\u0069]/g,
|
|
map: {
|
|
i: "\u0130"
|
|
}
|
|
},
|
|
lt: {
|
|
regexp: /[\u0069\u006A\u012F]\u0307|\u0069\u0307[\u0300\u0301\u0303]/g,
|
|
map: {
|
|
i\u0307: "I",
|
|
j\u0307: "J",
|
|
\u012f\u0307: "\u012e",
|
|
i\u0307\u0300: "\xcc",
|
|
i\u0307\u0301: "\xcd",
|
|
i\u0307\u0303: "\u0128"
|
|
}
|
|
}
|
|
};
|
|
module.exports = function(str, locale) {
|
|
var lang = LANGUAGES[locale];
|
|
return str = null == str ? "" : String(str), lang && (str = str.replace(lang.regexp, function(m) {
|
|
return lang.map[m]
|
|
})), str.toUpperCase()
|
|
}
|
|
},
|
|
96877: function(module, exports, __webpack_require__) {
|
|
var C, C_lib, Base, WordArray, C_algo, SHA256, HMAC, PBKDF2, CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), __webpack_require__(15439), __webpack_require__(17455), C_lib = (C = CryptoJS).lib, Base = C_lib.Base, WordArray = C_lib.WordArray, C_algo = C.algo, SHA256 = C_algo.SHA256, HMAC = C_algo.HMAC, PBKDF2 = C_algo.PBKDF2 = Base.extend({
|
|
cfg: Base.extend({
|
|
keySize: 4,
|
|
hasher: SHA256,
|
|
iterations: 25e4
|
|
}),
|
|
init: function(cfg) {
|
|
this.cfg = this.cfg.extend(cfg)
|
|
},
|
|
compute: function(password, salt) {
|
|
for (var cfg = this.cfg, hmac = HMAC.create(cfg.hasher, password), derivedKey = WordArray.create(), blockIndex = WordArray.create([1]), derivedKeyWords = derivedKey.words, blockIndexWords = blockIndex.words, keySize = cfg.keySize, iterations = cfg.iterations; derivedKeyWords.length < keySize;) {
|
|
var block = hmac.update(salt).finalize(blockIndex);
|
|
hmac.reset();
|
|
for (var blockWords = block.words, blockWordsLength = blockWords.length, intermediate = block, i = 1; i < iterations; i++) {
|
|
intermediate = hmac.finalize(intermediate), hmac.reset();
|
|
for (var intermediateWords = intermediate.words, j = 0; j < blockWordsLength; j++) blockWords[j] ^= intermediateWords[j]
|
|
}
|
|
derivedKey.concat(block), blockIndexWords[0]++
|
|
}
|
|
return derivedKey.sigBytes = 4 * keySize, derivedKey
|
|
}
|
|
}), C.PBKDF2 = function(password, salt, cfg) {
|
|
return PBKDF2.create(cfg).compute(password, salt)
|
|
}, CryptoJS.PBKDF2)
|
|
},
|
|
97018: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function(instance, scope) {
|
|
const defaultHeaders = (instance.defaultOptions.request || {}).headers;
|
|
instance.setProperty(scope, "request", instance.createAsyncFunction((...args) => {
|
|
const callback = args[args.length - 1];
|
|
try {
|
|
if (args.length < 2) throw new Error("missing request options");
|
|
let reqOptions = instance.pseudoToNative(args[0]);
|
|
if (!reqOptions) throw new Error("invalid request options");
|
|
if ("string" == typeof reqOptions) reqOptions = {
|
|
method: "get",
|
|
url: reqOptions
|
|
};
|
|
else if (!reqOptions.url || "string" != typeof reqOptions.url) throw new Error("missing request URL");
|
|
const method = ALLOWED_HTTP_METHODS[`${reqOptions.method||""}`.toLowerCase() || "get"];
|
|
if (!method) throw new Error(`Invalid request method: ${reqOptions.method}`);
|
|
const req = _superagent.default[method](reqOptions.url),
|
|
headers = {
|
|
...defaultHeaders,
|
|
...reqOptions.headers
|
|
};
|
|
reqOptions.query && req.query(reqOptions.query), reqOptions.body && req.send(reqOptions.body), Object.keys(headers).length > 0 && req.set(headers), reqOptions.type && req.type(reqOptions.type), reqOptions.accept && req.accept(reqOptions.accept), reqOptions.retry && req.retry(reqOptions.retry), req.then(res => {
|
|
callback(instance.nativeToPseudo({
|
|
status: res && res.status || 0,
|
|
statusType: res && res.statusType || 0,
|
|
body: res && res.body || {},
|
|
rawBody: res && res.text || "",
|
|
headers: res && res.headers || {}
|
|
}))
|
|
}).catch(err => {
|
|
const res = err && err.response;
|
|
callback(instance.nativeToPseudo({
|
|
error: err && err.message || "REQUEST_ERROR",
|
|
status: err && err.status || 0,
|
|
statusType: res && res.statusType || 0,
|
|
body: res && res.body || {},
|
|
rawBody: res && res.text || "",
|
|
headers: res && res.headers || {}
|
|
}))
|
|
})
|
|
} catch (err) {
|
|
instance.throwException(instance.ERROR, `request error: ${err&&err.message||"unknown"}`.trim()), callback()
|
|
}
|
|
}), _Instance.default.READONLY_DESCRIPTOR)
|
|
};
|
|
var _superagent = _interopRequireDefault(__webpack_require__(2800)),
|
|
_Instance = _interopRequireDefault(__webpack_require__(76352));
|
|
const ALLOWED_HTTP_METHODS = {
|
|
del: "del",
|
|
delete: "del",
|
|
get: "get",
|
|
head: "head",
|
|
options: "options",
|
|
patch: "patch",
|
|
post: "post",
|
|
put: "put"
|
|
};
|
|
module.exports = exports.default
|
|
},
|
|
97100: function(__unused_webpack_module, exports, __webpack_require__) {
|
|
"use strict";
|
|
var __importDefault = this && this.__importDefault || function(mod) {
|
|
return mod && mod.__esModule ? mod : {
|
|
default: mod
|
|
}
|
|
};
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
});
|
|
var decode_codepoint_1 = __importDefault(__webpack_require__(68734)),
|
|
entities_json_1 = __importDefault(__webpack_require__(89294)),
|
|
legacy_json_1 = __importDefault(__webpack_require__(65114)),
|
|
xml_json_1 = __importDefault(__webpack_require__(90866));
|
|
|
|
function whitespace(c) {
|
|
return " " === c || "\n" === c || "\t" === c || "\f" === c || "\r" === c
|
|
}
|
|
|
|
function isASCIIAlpha(c) {
|
|
return c >= "a" && c <= "z" || c >= "A" && c <= "Z"
|
|
}
|
|
|
|
function ifElseState(upper, SUCCESS, FAILURE) {
|
|
var lower = upper.toLowerCase();
|
|
return upper === lower ? function(t, c) {
|
|
c === lower ? t._state = SUCCESS : (t._state = FAILURE, t._index--)
|
|
} : function(t, c) {
|
|
c === lower || c === upper ? t._state = SUCCESS : (t._state = FAILURE, t._index--)
|
|
}
|
|
}
|
|
|
|
function consumeSpecialNameChar(upper, NEXT_STATE) {
|
|
var lower = upper.toLowerCase();
|
|
return function(t, c) {
|
|
c === lower || c === upper ? t._state = NEXT_STATE : (t._state = 3, t._index--)
|
|
}
|
|
}
|
|
var stateBeforeCdata1 = ifElseState("C", 24, 16),
|
|
stateBeforeCdata2 = ifElseState("D", 25, 16),
|
|
stateBeforeCdata3 = ifElseState("A", 26, 16),
|
|
stateBeforeCdata4 = ifElseState("T", 27, 16),
|
|
stateBeforeCdata5 = ifElseState("A", 28, 16),
|
|
stateBeforeScript1 = consumeSpecialNameChar("R", 35),
|
|
stateBeforeScript2 = consumeSpecialNameChar("I", 36),
|
|
stateBeforeScript3 = consumeSpecialNameChar("P", 37),
|
|
stateBeforeScript4 = consumeSpecialNameChar("T", 38),
|
|
stateAfterScript1 = ifElseState("R", 40, 1),
|
|
stateAfterScript2 = ifElseState("I", 41, 1),
|
|
stateAfterScript3 = ifElseState("P", 42, 1),
|
|
stateAfterScript4 = ifElseState("T", 43, 1),
|
|
stateBeforeStyle1 = consumeSpecialNameChar("Y", 45),
|
|
stateBeforeStyle2 = consumeSpecialNameChar("L", 46),
|
|
stateBeforeStyle3 = consumeSpecialNameChar("E", 47),
|
|
stateAfterStyle1 = ifElseState("Y", 49, 1),
|
|
stateAfterStyle2 = ifElseState("L", 50, 1),
|
|
stateAfterStyle3 = ifElseState("E", 51, 1),
|
|
stateBeforeSpecialT = consumeSpecialNameChar("I", 54),
|
|
stateBeforeTitle1 = consumeSpecialNameChar("T", 55),
|
|
stateBeforeTitle2 = consumeSpecialNameChar("L", 56),
|
|
stateBeforeTitle3 = consumeSpecialNameChar("E", 57),
|
|
stateAfterSpecialTEnd = ifElseState("I", 58, 1),
|
|
stateAfterTitle1 = ifElseState("T", 59, 1),
|
|
stateAfterTitle2 = ifElseState("L", 60, 1),
|
|
stateAfterTitle3 = ifElseState("E", 61, 1),
|
|
stateBeforeEntity = ifElseState("#", 63, 64),
|
|
stateBeforeNumericEntity = ifElseState("X", 66, 65),
|
|
Tokenizer = function() {
|
|
function Tokenizer(options, cbs) {
|
|
var _a;
|
|
this._state = 1, this.buffer = "", this.sectionStart = 0, this._index = 0, this.bufferOffset = 0, this.baseState = 1, this.special = 1, this.running = !0, this.ended = !1, this.cbs = cbs, this.xmlMode = !!(null == options ? void 0 : options.xmlMode), this.decodeEntities = null === (_a = null == options ? void 0 : options.decodeEntities) || void 0 === _a || _a
|
|
}
|
|
return Tokenizer.prototype.reset = function() {
|
|
this._state = 1, this.buffer = "", this.sectionStart = 0, this._index = 0, this.bufferOffset = 0, this.baseState = 1, this.special = 1, this.running = !0, this.ended = !1
|
|
}, Tokenizer.prototype.write = function(chunk) {
|
|
this.ended && this.cbs.onerror(Error(".write() after done!")), this.buffer += chunk, this.parse()
|
|
}, Tokenizer.prototype.end = function(chunk) {
|
|
this.ended && this.cbs.onerror(Error(".end() after done!")), chunk && this.write(chunk), this.ended = !0, this.running && this.finish()
|
|
}, Tokenizer.prototype.pause = function() {
|
|
this.running = !1
|
|
}, Tokenizer.prototype.resume = function() {
|
|
this.running = !0, this._index < this.buffer.length && this.parse(), this.ended && this.finish()
|
|
}, Tokenizer.prototype.getAbsoluteIndex = function() {
|
|
return this.bufferOffset + this._index
|
|
}, Tokenizer.prototype.stateText = function(c) {
|
|
"<" === c ? (this._index > this.sectionStart && this.cbs.ontext(this.getSection()), this._state = 2, this.sectionStart = this._index) : !this.decodeEntities || "&" !== c || 1 !== this.special && 4 !== this.special || (this._index > this.sectionStart && this.cbs.ontext(this.getSection()), this.baseState = 1, this._state = 62, this.sectionStart = this._index)
|
|
}, Tokenizer.prototype.isTagStartChar = function(c) {
|
|
return isASCIIAlpha(c) || this.xmlMode && !whitespace(c) && "/" !== c && ">" !== c
|
|
}, Tokenizer.prototype.stateBeforeTagName = function(c) {
|
|
"/" === c ? this._state = 5 : "<" === c ? (this.cbs.ontext(this.getSection()), this.sectionStart = this._index) : ">" === c || 1 !== this.special || whitespace(c) ? this._state = 1 : "!" === c ? (this._state = 15, this.sectionStart = this._index + 1) : "?" === c ? (this._state = 17, this.sectionStart = this._index + 1) : this.isTagStartChar(c) ? (this._state = this.xmlMode || "s" !== c && "S" !== c ? this.xmlMode || "t" !== c && "T" !== c ? 3 : 52 : 32, this.sectionStart = this._index) : this._state = 1
|
|
}, Tokenizer.prototype.stateInTagName = function(c) {
|
|
("/" === c || ">" === c || whitespace(c)) && (this.emitToken("onopentagname"), this._state = 8, this._index--)
|
|
}, Tokenizer.prototype.stateBeforeClosingTagName = function(c) {
|
|
whitespace(c) || (">" === c ? this._state = 1 : 1 !== this.special ? 4 === this.special || "s" !== c && "S" !== c ? 4 !== this.special || "t" !== c && "T" !== c ? (this._state = 1, this._index--) : this._state = 53 : this._state = 33 : this.isTagStartChar(c) ? (this._state = 6, this.sectionStart = this._index) : (this._state = 20, this.sectionStart = this._index))
|
|
}, Tokenizer.prototype.stateInClosingTagName = function(c) {
|
|
(">" === c || whitespace(c)) && (this.emitToken("onclosetag"), this._state = 7, this._index--)
|
|
}, Tokenizer.prototype.stateAfterClosingTagName = function(c) {
|
|
">" === c && (this._state = 1, this.sectionStart = this._index + 1)
|
|
}, Tokenizer.prototype.stateBeforeAttributeName = function(c) {
|
|
">" === c ? (this.cbs.onopentagend(), this._state = 1, this.sectionStart = this._index + 1) : "/" === c ? this._state = 4 : whitespace(c) || (this._state = 9, this.sectionStart = this._index)
|
|
}, Tokenizer.prototype.stateInSelfClosingTag = function(c) {
|
|
">" === c ? (this.cbs.onselfclosingtag(), this._state = 1, this.sectionStart = this._index + 1, this.special = 1) : whitespace(c) || (this._state = 8, this._index--)
|
|
}, Tokenizer.prototype.stateInAttributeName = function(c) {
|
|
("=" === c || "/" === c || ">" === c || whitespace(c)) && (this.cbs.onattribname(this.getSection()), this.sectionStart = -1, this._state = 10, this._index--)
|
|
}, Tokenizer.prototype.stateAfterAttributeName = function(c) {
|
|
"=" === c ? this._state = 11 : "/" === c || ">" === c ? (this.cbs.onattribend(void 0), this._state = 8, this._index--) : whitespace(c) || (this.cbs.onattribend(void 0), this._state = 9, this.sectionStart = this._index)
|
|
}, Tokenizer.prototype.stateBeforeAttributeValue = function(c) {
|
|
'"' === c ? (this._state = 12, this.sectionStart = this._index + 1) : "'" === c ? (this._state = 13, this.sectionStart = this._index + 1) : whitespace(c) || (this._state = 14, this.sectionStart = this._index, this._index--)
|
|
}, Tokenizer.prototype.handleInAttributeValue = function(c, quote) {
|
|
c === quote ? (this.emitToken("onattribdata"), this.cbs.onattribend(quote), this._state = 8) : this.decodeEntities && "&" === c && (this.emitToken("onattribdata"), this.baseState = this._state, this._state = 62, this.sectionStart = this._index)
|
|
}, Tokenizer.prototype.stateInAttributeValueDoubleQuotes = function(c) {
|
|
this.handleInAttributeValue(c, '"')
|
|
}, Tokenizer.prototype.stateInAttributeValueSingleQuotes = function(c) {
|
|
this.handleInAttributeValue(c, "'")
|
|
}, Tokenizer.prototype.stateInAttributeValueNoQuotes = function(c) {
|
|
whitespace(c) || ">" === c ? (this.emitToken("onattribdata"), this.cbs.onattribend(null), this._state = 8, this._index--) : this.decodeEntities && "&" === c && (this.emitToken("onattribdata"), this.baseState = this._state, this._state = 62, this.sectionStart = this._index)
|
|
}, Tokenizer.prototype.stateBeforeDeclaration = function(c) {
|
|
this._state = "[" === c ? 23 : "-" === c ? 18 : 16
|
|
}, Tokenizer.prototype.stateInDeclaration = function(c) {
|
|
">" === c && (this.cbs.ondeclaration(this.getSection()), this._state = 1, this.sectionStart = this._index + 1)
|
|
}, Tokenizer.prototype.stateInProcessingInstruction = function(c) {
|
|
">" === c && (this.cbs.onprocessinginstruction(this.getSection()), this._state = 1, this.sectionStart = this._index + 1)
|
|
}, Tokenizer.prototype.stateBeforeComment = function(c) {
|
|
"-" === c ? (this._state = 19, this.sectionStart = this._index + 1) : this._state = 16
|
|
}, Tokenizer.prototype.stateInComment = function(c) {
|
|
"-" === c && (this._state = 21)
|
|
}, Tokenizer.prototype.stateInSpecialComment = function(c) {
|
|
">" === c && (this.cbs.oncomment(this.buffer.substring(this.sectionStart, this._index)), this._state = 1, this.sectionStart = this._index + 1)
|
|
}, Tokenizer.prototype.stateAfterComment1 = function(c) {
|
|
this._state = "-" === c ? 22 : 19
|
|
}, Tokenizer.prototype.stateAfterComment2 = function(c) {
|
|
">" === c ? (this.cbs.oncomment(this.buffer.substring(this.sectionStart, this._index - 2)), this._state = 1, this.sectionStart = this._index + 1) : "-" !== c && (this._state = 19)
|
|
}, Tokenizer.prototype.stateBeforeCdata6 = function(c) {
|
|
"[" === c ? (this._state = 29, this.sectionStart = this._index + 1) : (this._state = 16, this._index--)
|
|
}, Tokenizer.prototype.stateInCdata = function(c) {
|
|
"]" === c && (this._state = 30)
|
|
}, Tokenizer.prototype.stateAfterCdata1 = function(c) {
|
|
this._state = "]" === c ? 31 : 29
|
|
}, Tokenizer.prototype.stateAfterCdata2 = function(c) {
|
|
">" === c ? (this.cbs.oncdata(this.buffer.substring(this.sectionStart, this._index - 2)), this._state = 1, this.sectionStart = this._index + 1) : "]" !== c && (this._state = 29)
|
|
}, Tokenizer.prototype.stateBeforeSpecialS = function(c) {
|
|
"c" === c || "C" === c ? this._state = 34 : "t" === c || "T" === c ? this._state = 44 : (this._state = 3, this._index--)
|
|
}, Tokenizer.prototype.stateBeforeSpecialSEnd = function(c) {
|
|
2 !== this.special || "c" !== c && "C" !== c ? 3 !== this.special || "t" !== c && "T" !== c ? this._state = 1 : this._state = 48 : this._state = 39
|
|
}, Tokenizer.prototype.stateBeforeSpecialLast = function(c, special) {
|
|
("/" === c || ">" === c || whitespace(c)) && (this.special = special), this._state = 3, this._index--
|
|
}, Tokenizer.prototype.stateAfterSpecialLast = function(c, sectionStartOffset) {
|
|
">" === c || whitespace(c) ? (this.special = 1, this._state = 6, this.sectionStart = this._index - sectionStartOffset, this._index--) : this._state = 1
|
|
}, Tokenizer.prototype.parseFixedEntity = function(map) {
|
|
if (void 0 === map && (map = this.xmlMode ? xml_json_1.default : entities_json_1.default), this.sectionStart + 1 < this._index) {
|
|
var entity = this.buffer.substring(this.sectionStart + 1, this._index);
|
|
Object.prototype.hasOwnProperty.call(map, entity) && (this.emitPartial(map[entity]), this.sectionStart = this._index + 1)
|
|
}
|
|
}, Tokenizer.prototype.parseLegacyEntity = function() {
|
|
for (var start = this.sectionStart + 1, limit = Math.min(this._index - start, 6); limit >= 2;) {
|
|
var entity = this.buffer.substr(start, limit);
|
|
if (Object.prototype.hasOwnProperty.call(legacy_json_1.default, entity)) return this.emitPartial(legacy_json_1.default[entity]), void(this.sectionStart += limit + 1);
|
|
limit--
|
|
}
|
|
}, Tokenizer.prototype.stateInNamedEntity = function(c) {
|
|
";" === c ? (this.parseFixedEntity(), 1 === this.baseState && this.sectionStart + 1 < this._index && !this.xmlMode && this.parseLegacyEntity(), this._state = this.baseState) : (c < "0" || c > "9") && !isASCIIAlpha(c) && (this.xmlMode || this.sectionStart + 1 === this._index || (1 !== this.baseState ? "=" !== c && this.parseFixedEntity(legacy_json_1.default) : this.parseLegacyEntity()), this._state = this.baseState, this._index--)
|
|
}, Tokenizer.prototype.decodeNumericEntity = function(offset, base, strict) {
|
|
var sectionStart = this.sectionStart + offset;
|
|
if (sectionStart !== this._index) {
|
|
var entity = this.buffer.substring(sectionStart, this._index),
|
|
parsed = parseInt(entity, base);
|
|
this.emitPartial(decode_codepoint_1.default(parsed)), this.sectionStart = strict ? this._index + 1 : this._index
|
|
}
|
|
this._state = this.baseState
|
|
}, Tokenizer.prototype.stateInNumericEntity = function(c) {
|
|
";" === c ? this.decodeNumericEntity(2, 10, !0) : (c < "0" || c > "9") && (this.xmlMode ? this._state = this.baseState : this.decodeNumericEntity(2, 10, !1), this._index--)
|
|
}, Tokenizer.prototype.stateInHexEntity = function(c) {
|
|
";" === c ? this.decodeNumericEntity(3, 16, !0) : (c < "a" || c > "f") && (c < "A" || c > "F") && (c < "0" || c > "9") && (this.xmlMode ? this._state = this.baseState : this.decodeNumericEntity(3, 16, !1), this._index--)
|
|
}, Tokenizer.prototype.cleanup = function() {
|
|
this.sectionStart < 0 ? (this.buffer = "", this.bufferOffset += this._index, this._index = 0) : this.running && (1 === this._state ? (this.sectionStart !== this._index && this.cbs.ontext(this.buffer.substr(this.sectionStart)), this.buffer = "", this.bufferOffset += this._index, this._index = 0) : this.sectionStart === this._index ? (this.buffer = "", this.bufferOffset += this._index, this._index = 0) : (this.buffer = this.buffer.substr(this.sectionStart), this._index -= this.sectionStart, this.bufferOffset += this.sectionStart), this.sectionStart = 0)
|
|
}, Tokenizer.prototype.parse = function() {
|
|
for (; this._index < this.buffer.length && this.running;) {
|
|
var c = this.buffer.charAt(this._index);
|
|
1 === this._state ? this.stateText(c) : 12 === this._state ? this.stateInAttributeValueDoubleQuotes(c) : 9 === this._state ? this.stateInAttributeName(c) : 19 === this._state ? this.stateInComment(c) : 20 === this._state ? this.stateInSpecialComment(c) : 8 === this._state ? this.stateBeforeAttributeName(c) : 3 === this._state ? this.stateInTagName(c) : 6 === this._state ? this.stateInClosingTagName(c) : 2 === this._state ? this.stateBeforeTagName(c) : 10 === this._state ? this.stateAfterAttributeName(c) : 13 === this._state ? this.stateInAttributeValueSingleQuotes(c) : 11 === this._state ? this.stateBeforeAttributeValue(c) : 5 === this._state ? this.stateBeforeClosingTagName(c) : 7 === this._state ? this.stateAfterClosingTagName(c) : 32 === this._state ? this.stateBeforeSpecialS(c) : 21 === this._state ? this.stateAfterComment1(c) : 14 === this._state ? this.stateInAttributeValueNoQuotes(c) : 4 === this._state ? this.stateInSelfClosingTag(c) : 16 === this._state ? this.stateInDeclaration(c) : 15 === this._state ? this.stateBeforeDeclaration(c) : 22 === this._state ? this.stateAfterComment2(c) : 18 === this._state ? this.stateBeforeComment(c) : 33 === this._state ? this.stateBeforeSpecialSEnd(c) : 53 === this._state ? stateAfterSpecialTEnd(this, c) : 39 === this._state ? stateAfterScript1(this, c) : 40 === this._state ? stateAfterScript2(this, c) : 41 === this._state ? stateAfterScript3(this, c) : 34 === this._state ? stateBeforeScript1(this, c) : 35 === this._state ? stateBeforeScript2(this, c) : 36 === this._state ? stateBeforeScript3(this, c) : 37 === this._state ? stateBeforeScript4(this, c) : 38 === this._state ? this.stateBeforeSpecialLast(c, 2) : 42 === this._state ? stateAfterScript4(this, c) : 43 === this._state ? this.stateAfterSpecialLast(c, 6) : 44 === this._state ? stateBeforeStyle1(this, c) : 29 === this._state ? this.stateInCdata(c) : 45 === this._state ? stateBeforeStyle2(this, c) : 46 === this._state ? stateBeforeStyle3(this, c) : 47 === this._state ? this.stateBeforeSpecialLast(c, 3) : 48 === this._state ? stateAfterStyle1(this, c) : 49 === this._state ? stateAfterStyle2(this, c) : 50 === this._state ? stateAfterStyle3(this, c) : 51 === this._state ? this.stateAfterSpecialLast(c, 5) : 52 === this._state ? stateBeforeSpecialT(this, c) : 54 === this._state ? stateBeforeTitle1(this, c) : 55 === this._state ? stateBeforeTitle2(this, c) : 56 === this._state ? stateBeforeTitle3(this, c) : 57 === this._state ? this.stateBeforeSpecialLast(c, 4) : 58 === this._state ? stateAfterTitle1(this, c) : 59 === this._state ? stateAfterTitle2(this, c) : 60 === this._state ? stateAfterTitle3(this, c) : 61 === this._state ? this.stateAfterSpecialLast(c, 5) : 17 === this._state ? this.stateInProcessingInstruction(c) : 64 === this._state ? this.stateInNamedEntity(c) : 23 === this._state ? stateBeforeCdata1(this, c) : 62 === this._state ? stateBeforeEntity(this, c) : 24 === this._state ? stateBeforeCdata2(this, c) : 25 === this._state ? stateBeforeCdata3(this, c) : 30 === this._state ? this.stateAfterCdata1(c) : 31 === this._state ? this.stateAfterCdata2(c) : 26 === this._state ? stateBeforeCdata4(this, c) : 27 === this._state ? stateBeforeCdata5(this, c) : 28 === this._state ? this.stateBeforeCdata6(c) : 66 === this._state ? this.stateInHexEntity(c) : 65 === this._state ? this.stateInNumericEntity(c) : 63 === this._state ? stateBeforeNumericEntity(this, c) : this.cbs.onerror(Error("unknown _state"), this._state), this._index++
|
|
}
|
|
this.cleanup()
|
|
}, Tokenizer.prototype.finish = function() {
|
|
this.sectionStart < this._index && this.handleTrailingData(), this.cbs.onend()
|
|
}, Tokenizer.prototype.handleTrailingData = function() {
|
|
var data = this.buffer.substr(this.sectionStart);
|
|
29 === this._state || 30 === this._state || 31 === this._state ? this.cbs.oncdata(data) : 19 === this._state || 21 === this._state || 22 === this._state ? this.cbs.oncomment(data) : 64 !== this._state || this.xmlMode ? 65 !== this._state || this.xmlMode ? 66 !== this._state || this.xmlMode ? 3 !== this._state && 8 !== this._state && 11 !== this._state && 10 !== this._state && 9 !== this._state && 13 !== this._state && 12 !== this._state && 14 !== this._state && 6 !== this._state && this.cbs.ontext(data) : (this.decodeNumericEntity(3, 16, !1), this.sectionStart < this._index && (this._state = this.baseState, this.handleTrailingData())) : (this.decodeNumericEntity(2, 10, !1), this.sectionStart < this._index && (this._state = this.baseState, this.handleTrailingData())) : (this.parseLegacyEntity(), this.sectionStart < this._index && (this._state = this.baseState, this.handleTrailingData()))
|
|
}, Tokenizer.prototype.getSection = function() {
|
|
return this.buffer.substring(this.sectionStart, this._index)
|
|
}, Tokenizer.prototype.emitToken = function(name) {
|
|
this.cbs[name](this.getSection()), this.sectionStart = -1
|
|
}, Tokenizer.prototype.emitPartial = function(value) {
|
|
1 !== this.baseState ? this.cbs.onattribdata(value) : this.cbs.ontext(value)
|
|
}, Tokenizer
|
|
}();
|
|
exports.default = Tokenizer
|
|
},
|
|
97178: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912)),
|
|
_helpers = _interopRequireDefault(__webpack_require__(16065));
|
|
exports.default = new _dac.default({
|
|
description: "4-Wheel-Parts Meta Function",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 10
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "7394088382172204656",
|
|
name: "4-Wheel-Parts"
|
|
}],
|
|
doDac: async function(couponCode, selector, priceAmt, applyBestCode) {
|
|
const API_BASE_URL = "https://www.4wheelparts.com/cart/shoppingCart.jsp?_DARGS=/cart/includes/shoppingCartEnd.jsp",
|
|
COUPON_FORM_PATH = "%2Fatg%2Fcommerce%2Fpromotion%2FCouponFormHandler";
|
|
let price = priceAmt,
|
|
discountedPrice = priceAmt;
|
|
try {
|
|
async function applyCode() {
|
|
(0, _jquery.default)("#claimcouponCode").val(couponCode);
|
|
const data = (0, _jquery.default)("#applyCouponForm").serialize() + "&" + COUPON_FORM_PATH + ".claimCoupon=true",
|
|
res = _jquery.default.ajax({
|
|
url: API_BASE_URL + ".applyCouponForm",
|
|
type: "POST",
|
|
data
|
|
});
|
|
return await res.done(_response => {
|
|
_logger.default.debug("Finishing applying coupon")
|
|
}), res
|
|
}
|
|
|
|
function updatePrice(res) {
|
|
try {
|
|
discountedPrice = (0, _jquery.default)(res).find("#price_orderTotal").text()
|
|
} catch (e) {
|
|
_logger.default.error(e)
|
|
}
|
|
Number(_legacyHoneyUtils.default.cleanPrice(discountedPrice)) < price && ((0, _jquery.default)("#price_orderTotal").text(price), price = Number(_legacyHoneyUtils.default.cleanPrice(discountedPrice)))
|
|
}
|
|
async function removeCode() {
|
|
const removeCouponPath = COUPON_FORM_PATH + ".removeCouponCode=",
|
|
data = ((0, _jquery.default)("#removeCouponForm").serialize() + "&" + COUPON_FORM_PATH + ".removeCoupon=true").replace(removeCouponPath, removeCouponPath + couponCode),
|
|
res = _jquery.default.ajax({
|
|
url: API_BASE_URL + ".removeCouponForm",
|
|
type: "POST",
|
|
data
|
|
});
|
|
await res.done(_data => {
|
|
_logger.default.debug("Finishing removing coupon")
|
|
})
|
|
}
|
|
updatePrice(await applyCode()), !0 === applyBestCode ? (window.location = window.location.href, await (0, _helpers.default)(2e3)) : await removeCode()
|
|
} catch (error) {
|
|
price = priceAmt
|
|
}
|
|
return price
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
97914: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
let LazyResult, Processor, Container = __webpack_require__(171);
|
|
class Root extends Container {
|
|
constructor(defaults) {
|
|
super(defaults), this.type = "root", this.nodes || (this.nodes = [])
|
|
}
|
|
normalize(child, sample, type) {
|
|
let nodes = super.normalize(child);
|
|
if (sample)
|
|
if ("prepend" === type) this.nodes.length > 1 ? sample.raws.before = this.nodes[1].raws.before : delete sample.raws.before;
|
|
else if (this.first !== sample)
|
|
for (let node of nodes) node.raws.before = sample.raws.before;
|
|
return nodes
|
|
}
|
|
removeChild(child, ignore) {
|
|
let index = this.index(child);
|
|
return !ignore && 0 === index && this.nodes.length > 1 && (this.nodes[1].raws.before = this.nodes[index].raws.before), super.removeChild(child)
|
|
}
|
|
toResult(opts = {}) {
|
|
return new LazyResult(new Processor, this, opts).stringify()
|
|
}
|
|
}
|
|
Root.registerLazyResult = dependant => {
|
|
LazyResult = dependant
|
|
}, Root.registerProcessor = dependant => {
|
|
Processor = dependant
|
|
}, module.exports = Root, Root.default = Root, Container.registerRoot(Root)
|
|
},
|
|
98372: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912));
|
|
exports.default = new _dac.default({
|
|
description: "TJ Maxx",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "7555272277853494990",
|
|
name: "TJ Maxx"
|
|
}],
|
|
doDac: async function(code, selector, priceAmt) {
|
|
let price = priceAmt,
|
|
data = (0, _jquery.default)("#promo").serialize();
|
|
data = data.replace("%2Fatg%2Fcommerce%2Fpromotion%2FCouponFormHandler.couponClaimCode=", "%2Fatg%2Fcommerce%2Fpromotion%2FCouponFormHandler.couponClaimCode=" + code), data = data.replace("_D%3A%2Fatg%2Fcommerce%2Fpromotion%2FCouponFormHandler.claimCoupon=", "_D%3A%2Fatg%2Fcommerce%2Fpromotion%2FCouponFormHandler.claimCoupon=Apply");
|
|
const res = await async function() {
|
|
const res = _jquery.default.ajax({
|
|
url: "https://tjmaxx.tjx.com/store/checkout/cart.jsp?_DARGS=/store/checkout/views/cart.jsp.promo",
|
|
type: "POST",
|
|
data,
|
|
contentType: "application/x-www-form-urlencoded",
|
|
headers: {
|
|
Accept: "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
|
|
}
|
|
});
|
|
return await res.done(_data => {
|
|
_logger.default.debug("Finishing code application")
|
|
}), res
|
|
}();
|
|
return price = (0, _jquery.default)(res).find(selector).text(), (0, _jquery.default)(selector).text(price), Number(_legacyHoneyUtils.default.cleanPrice(price))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
},
|
|
98608: function(__unused_webpack_module, exports, __webpack_require__) {
|
|
"use strict";
|
|
var __importDefault = this && this.__importDefault || function(mod) {
|
|
return mod && mod.__esModule ? mod : {
|
|
default: mod
|
|
}
|
|
};
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.compileToken = exports.compileUnsafe = exports.compile = void 0;
|
|
var css_what_1 = __webpack_require__(89825),
|
|
boolbase_1 = __webpack_require__(84894),
|
|
sort_1 = __importDefault(__webpack_require__(81517)),
|
|
procedure_1 = __webpack_require__(82256),
|
|
general_1 = __webpack_require__(88981),
|
|
subselects_1 = __webpack_require__(32408);
|
|
|
|
function compileUnsafe(selector, options, context) {
|
|
return compileToken("string" == typeof selector ? (0, css_what_1.parse)(selector) : selector, options, context)
|
|
}
|
|
|
|
function includesScopePseudo(t) {
|
|
return "pseudo" === t.type && ("scope" === t.name || Array.isArray(t.data) && t.data.some(function(data) {
|
|
return data.some(includesScopePseudo)
|
|
}))
|
|
}
|
|
exports.compile = function(selector, options, context) {
|
|
var next = compileUnsafe(selector, options, context);
|
|
return (0, subselects_1.ensureIsTag)(next, options.adapter)
|
|
}, exports.compileUnsafe = compileUnsafe;
|
|
var DESCENDANT_TOKEN = {
|
|
type: css_what_1.SelectorType.Descendant
|
|
},
|
|
FLEXIBLE_DESCENDANT_TOKEN = {
|
|
type: "_flexibleDescendant"
|
|
},
|
|
SCOPE_TOKEN = {
|
|
type: css_what_1.SelectorType.Pseudo,
|
|
name: "scope",
|
|
data: null
|
|
};
|
|
|
|
function compileToken(token, options, context) {
|
|
var _a;
|
|
(token = token.filter(function(t) {
|
|
return t.length > 0
|
|
})).forEach(sort_1.default), context = null !== (_a = options.context) && void 0 !== _a ? _a : context;
|
|
var isArrayContext = Array.isArray(context),
|
|
finalContext = context && (Array.isArray(context) ? context : [context]);
|
|
! function(token, _a, context) {
|
|
for (var adapter = _a.adapter, hasContext = !!(null == context ? void 0 : context.every(function(e) {
|
|
var parent = adapter.isTag(e) && adapter.getParent(e);
|
|
return e === subselects_1.PLACEHOLDER_ELEMENT || parent && adapter.isTag(parent)
|
|
})), _i = 0, token_1 = token; _i < token_1.length; _i++) {
|
|
var t = token_1[_i];
|
|
if (t.length > 0 && (0, procedure_1.isTraversal)(t[0]) && "descendant" !== t[0].type);
|
|
else {
|
|
if (!hasContext || t.some(includesScopePseudo)) continue;
|
|
t.unshift(DESCENDANT_TOKEN)
|
|
}
|
|
t.unshift(SCOPE_TOKEN)
|
|
}
|
|
}(token, options, finalContext);
|
|
var shouldTestNextSiblings = !1,
|
|
query = token.map(function(rules) {
|
|
if (rules.length >= 2) {
|
|
var first = rules[0],
|
|
second = rules[1];
|
|
"pseudo" !== first.type || "scope" !== first.name || (isArrayContext && "descendant" === second.type ? rules[1] = FLEXIBLE_DESCENDANT_TOKEN : "adjacent" !== second.type && "sibling" !== second.type || (shouldTestNextSiblings = !0))
|
|
}
|
|
return function(rules, options, context) {
|
|
var _a;
|
|
return rules.reduce(function(previous, rule) {
|
|
return previous === boolbase_1.falseFunc ? boolbase_1.falseFunc : (0, general_1.compileGeneralSelector)(previous, rule, options, context, compileToken)
|
|
}, null !== (_a = options.rootFunc) && void 0 !== _a ? _a : boolbase_1.trueFunc)
|
|
}(rules, options, finalContext)
|
|
}).reduce(reduceRules, boolbase_1.falseFunc);
|
|
return query.shouldTestNextSiblings = shouldTestNextSiblings, query
|
|
}
|
|
|
|
function reduceRules(a, b) {
|
|
return b === boolbase_1.falseFunc || a === boolbase_1.trueFunc ? a : a === boolbase_1.falseFunc || b === boolbase_1.trueFunc ? b : function(elem) {
|
|
return a(elem) || b(elem)
|
|
}
|
|
}
|
|
exports.compileToken = compileToken
|
|
},
|
|
98664: (__unused_webpack_module, exports) => {
|
|
"use strict";
|
|
exports.byteLength = function(b64) {
|
|
var lens = getLens(b64),
|
|
validLen = lens[0],
|
|
placeHoldersLen = lens[1];
|
|
return 3 * (validLen + placeHoldersLen) / 4 - placeHoldersLen
|
|
}, exports.toByteArray = function(b64) {
|
|
var tmp, i, lens = getLens(b64),
|
|
validLen = lens[0],
|
|
placeHoldersLen = lens[1],
|
|
arr = new Arr(function(b64, validLen, placeHoldersLen) {
|
|
return 3 * (validLen + placeHoldersLen) / 4 - placeHoldersLen
|
|
}(0, validLen, placeHoldersLen)),
|
|
curByte = 0,
|
|
len = placeHoldersLen > 0 ? validLen - 4 : validLen;
|
|
for (i = 0; i < len; i += 4) tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)], arr[curByte++] = tmp >> 16 & 255, arr[curByte++] = tmp >> 8 & 255, arr[curByte++] = 255 & tmp;
|
|
2 === placeHoldersLen && (tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4, arr[curByte++] = 255 & tmp);
|
|
1 === placeHoldersLen && (tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2, arr[curByte++] = tmp >> 8 & 255, arr[curByte++] = 255 & tmp);
|
|
return arr
|
|
}, exports.fromByteArray = function(uint8) {
|
|
for (var tmp, len = uint8.length, extraBytes = len % 3, parts = [], i = 0, len2 = len - extraBytes; i < len2; i += 16383) parts.push(encodeChunk(uint8, i, i + 16383 > len2 ? len2 : i + 16383));
|
|
1 === extraBytes ? (tmp = uint8[len - 1], parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 63] + "==")) : 2 === extraBytes && (tmp = (uint8[len - 2] << 8) + uint8[len - 1], parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + "="));
|
|
return parts.join("")
|
|
};
|
|
for (var lookup = [], revLookup = [], Arr = "undefined" != typeof Uint8Array ? Uint8Array : Array, code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", i = 0; i < 64; ++i) lookup[i] = code[i], revLookup[code.charCodeAt(i)] = i;
|
|
|
|
function getLens(b64) {
|
|
var len = b64.length;
|
|
if (len % 4 > 0) throw new Error("Invalid string. Length must be a multiple of 4");
|
|
var validLen = b64.indexOf("=");
|
|
return -1 === validLen && (validLen = len), [validLen, validLen === len ? 0 : 4 - validLen % 4]
|
|
}
|
|
|
|
function tripletToBase64(num) {
|
|
return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[63 & num]
|
|
}
|
|
|
|
function encodeChunk(uint8, start, end) {
|
|
for (var tmp, output = [], i = start; i < end; i += 3) tmp = (uint8[i] << 16 & 16711680) + (uint8[i + 1] << 8 & 65280) + (255 & uint8[i + 2]), output.push(tripletToBase64(tmp));
|
|
return output.join("")
|
|
}
|
|
revLookup["-".charCodeAt(0)] = 62, revLookup["_".charCodeAt(0)] = 63
|
|
},
|
|
98733: module => {
|
|
"use strict";
|
|
module.exports = JSON.parse('{"name":"FSFinalPrice","groups":["FIND_SAVINGS"],"isRequired":true,"tests":[{"method":"testIfInnerTextContainsLengthWeighted","options":{"expected":"\\\\$","matchWeight":"100.0","unMatchWeight":"0"}},{"method":"testIfInnerTextContainsLength","options":{"expected":"total","matchWeight":"10.0","unMatchWeight":"1"}},{"method":"testIfInnerTextContainsLength","options":{"expected":"subtotal|tax","matchWeight":"0.1","unMatchWeight":"1"}}],"preconditions":[],"shape":[{"value":"^(script|i|symbol)$","weight":0,"scope":"tag"},{"value":"total","weight":20,"scope":"id"},{"value":"total","weight":16,"scope":"class"},{"value":"price","weight":8,"scope":"class"},{"value":"^value$","weight":5,"scope":"class"},{"value":"^(td|tfoot|tr)$","weight":3,"scope":"tag"},{"value":"last","weight":2,"scope":"class"},{"value":"item|subtotal|totals","weight":0.5,"scope":"class"},{"value":"^ul$","weight":0.5,"scope":"tag"},{"value":"hidden","weight":0.5,"scope":"type"},{"value":"^input$","weight":0.1,"scope":"tag"},{"__comment":"junk class for michaels","value":"potrate","weight":0,"scope":"class"},{"__comment":"junk class for ulta","value":"^bfx-","weight":0,"scope":"class"},{"value":"total","weight":12},{"value":"price","weight":5},{"value":"final|grand","weight":3},{"value":"order","weight":2.5},{"value":"amount|basket|cart|due|universal","weight":2},{"value":"block|card|subtotal","weight":0.5},{"value":"savings","weight":0.2},{"value":"finalsale|label|product|sale|savings|test","weight":0.1}]}')
|
|
},
|
|
98777: module => {
|
|
function Emitter(obj) {
|
|
if (obj) return function(obj) {
|
|
for (var key in Emitter.prototype) obj[key] = Emitter.prototype[key];
|
|
return obj
|
|
}(obj)
|
|
}
|
|
module.exports = Emitter, Emitter.prototype.on = Emitter.prototype.addEventListener = function(event, fn) {
|
|
return this._callbacks = this._callbacks || {}, (this._callbacks["$" + event] = this._callbacks["$" + event] || []).push(fn), this
|
|
}, Emitter.prototype.once = function(event, fn) {
|
|
function on() {
|
|
this.off(event, on), fn.apply(this, arguments)
|
|
}
|
|
return on.fn = fn, this.on(event, on), this
|
|
}, Emitter.prototype.off = Emitter.prototype.removeListener = Emitter.prototype.removeAllListeners = Emitter.prototype.removeEventListener = function(event, fn) {
|
|
if (this._callbacks = this._callbacks || {}, 0 == arguments.length) return this._callbacks = {}, this;
|
|
var cb, callbacks = this._callbacks["$" + event];
|
|
if (!callbacks) return this;
|
|
if (1 == arguments.length) return delete this._callbacks["$" + event], this;
|
|
for (var i = 0; i < callbacks.length; i++)
|
|
if ((cb = callbacks[i]) === fn || cb.fn === fn) {
|
|
callbacks.splice(i, 1);
|
|
break
|
|
} return 0 === callbacks.length && delete this._callbacks["$" + event], this
|
|
}, Emitter.prototype.emit = function(event) {
|
|
this._callbacks = this._callbacks || {};
|
|
for (var args = new Array(arguments.length - 1), callbacks = this._callbacks["$" + event], i = 1; i < arguments.length; i++) args[i - 1] = arguments[i];
|
|
if (callbacks) {
|
|
i = 0;
|
|
for (var len = (callbacks = callbacks.slice(0)).length; i < len; ++i) callbacks[i].apply(this, args)
|
|
}
|
|
return this
|
|
}, Emitter.prototype.listeners = function(event) {
|
|
return this._callbacks = this._callbacks || {}, this._callbacks["$" + event] || []
|
|
}, Emitter.prototype.hasListeners = function(event) {
|
|
return !!this.listeners(event).length
|
|
}
|
|
},
|
|
98930: (module, exports) => {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = function() {
|
|
const state = this.stateStack[this.stateStack.length - 1],
|
|
node = state.node;
|
|
if (!state.doneCallee_) return state.doneCallee_ = !0, void this.stateStack.push({
|
|
node: node.callee,
|
|
components: !0
|
|
});
|
|
if (!state.func_) {
|
|
if ("function" === state.value.type) state.func_ = state.value;
|
|
else {
|
|
if (state.func_ = this.getValue(state.value), !state.func_) return;
|
|
if (state.func_.isGetter) return state.func_.isGetter = !1, this.pushGetter(state.func_, state.value), void(state.func_ = null);
|
|
if ("function" !== state.func_.type) {
|
|
const callee = node && node.callee,
|
|
calleeProperty = callee && callee.property,
|
|
fnName = calleeProperty && calleeProperty.name,
|
|
calleeObject = callee && callee.object,
|
|
calleeName = calleeObject && calleeObject.callee && calleeObject.callee.name,
|
|
calleeObjName = calleeObject && calleeObject.name,
|
|
calleeType = calleeObject && calleeObject.type,
|
|
targetName = calleeName || calleeObjName || calleeType;
|
|
return void this.throwException(this.TYPE_ERROR, `${state.func_&&state.func_.type} is not a function. Function name: ${fnName} on ${targetName}`)
|
|
}
|
|
}
|
|
"NewExpression" === state.node.type ? (state.funcThis_ = this.createObject(state.func_), state.isConstructor_ = !0) : state.value.length ? state.funcThis_ = state.value[0] : state.funcThis_ = this.getScope().strict ? this.UNDEFINED : this.global, state.arguments_ = [], state.n_ = 0
|
|
}
|
|
if (!state.doneArgs_) {
|
|
if (0 !== state.n_ && state.arguments_.push(state.value), node.arguments[state.n_]) return this.stateStack.push({
|
|
node: node.arguments[state.n_]
|
|
}), void(state.n_ += 1);
|
|
state.doneArgs_ = !0
|
|
}
|
|
if (state.doneExec_) this.stateStack.pop(), state.isConstructor_ && "object" !== state.value.type ? this.stateStack[this.stateStack.length - 1].value = state.funcThis_ : this.stateStack[this.stateStack.length - 1].value = state.value;
|
|
else if (state.doneExec_ = !0, state.func_.node) {
|
|
const scope = this.createScope(state.func_.node.body, state.func_.parentScope);
|
|
for (let i = 0; i < state.func_.node.params.length; i += 1) {
|
|
const paramName = this.createPrimitive(state.func_.node.params[i].name),
|
|
paramValue = state.arguments_.length > i ? state.arguments_[i] : this.UNDEFINED;
|
|
this.setProperty(scope, paramName, paramValue)
|
|
}
|
|
const argsList = this.createObject(this.ARRAY);
|
|
for (let i = 0; i < state.arguments_.length; i += 1) this.setProperty(argsList, this.createPrimitive(i), state.arguments_[i]);
|
|
this.setProperty(scope, "arguments", argsList);
|
|
const funcState = {
|
|
scope,
|
|
node: state.func_.node.body,
|
|
thisExpression: state.funcThis_
|
|
};
|
|
this.stateStack.push(funcState), state.value = this.UNDEFINED
|
|
} else if (state.func_.nativeFunc) state.value = state.func_.nativeFunc.apply(state.funcThis_, state.arguments_);
|
|
else if (state.func_.asyncFunc) {
|
|
const callback = value => {
|
|
state.value = value || this.UNDEFINED, this.paused_ = !1;
|
|
try {
|
|
this.run(!1) || this.resolve()
|
|
} catch (err) {
|
|
this.reject(err)
|
|
}
|
|
};
|
|
state.func_.asyncFunc.apply(state.funcThis_, state.arguments_.concat(callback)), this.paused_ = !0
|
|
} else this.throwException(this.TYPE_ERROR, "function is not a function")
|
|
}, module.exports = exports.default
|
|
},
|
|
99080: module => {
|
|
"use strict";
|
|
module.exports = {
|
|
_groupNames: {},
|
|
init: function() {
|
|
this._groupNames = {}
|
|
},
|
|
getExtra: function() {
|
|
return this._groupNames
|
|
},
|
|
Group: function(path) {
|
|
var node = path.node;
|
|
node.name && (this._groupNames[node.name] = node.number, delete node.name, delete node.nameRaw)
|
|
},
|
|
Backreference: function(path) {
|
|
var node = path.node;
|
|
"name" === node.kind && (node.kind = "number", node.reference = node.number, delete node.referenceRaw)
|
|
}
|
|
}
|
|
},
|
|
99142: module => {
|
|
"use strict";
|
|
|
|
function sortCharClass(a, b) {
|
|
var aValue = getSortValue(a),
|
|
bValue = getSortValue(b);
|
|
if (aValue === bValue) {
|
|
if ("ClassRange" === a.type && "ClassRange" !== b.type) return -1;
|
|
if ("ClassRange" === b.type && "ClassRange" !== a.type) return 1;
|
|
if ("ClassRange" === a.type && "ClassRange" === b.type) return getSortValue(a.to) - getSortValue(b.to);
|
|
if (isMeta(a) && isMeta(b) || isControl(a) && isControl(b)) return a.value < b.value ? -1 : 1
|
|
}
|
|
return aValue - bValue
|
|
}
|
|
|
|
function getSortValue(expression) {
|
|
return "Char" === expression.type ? "-" === expression.value || "control" === expression.kind ? 1 / 0 : "meta" === expression.kind && isNaN(expression.codePoint) ? -1 : expression.codePoint : expression.from.codePoint
|
|
}
|
|
|
|
function isMeta(expression) {
|
|
var value = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null;
|
|
return "Char" === expression.type && "meta" === expression.kind && (value ? expression.value === value : /^\\[dws]$/i.test(expression.value))
|
|
}
|
|
|
|
function isControl(expression) {
|
|
return "Char" === expression.type && "control" === expression.kind
|
|
}
|
|
|
|
function fitsInMetas(expression, metas, hasIUFlags) {
|
|
for (var i = 0; i < metas.length; i++)
|
|
if (fitsInMeta(expression, metas[i], hasIUFlags)) return !0;
|
|
return !1
|
|
}
|
|
|
|
function fitsInMeta(expression, meta, hasIUFlags) {
|
|
return "ClassRange" === expression.type ? fitsInMeta(expression.from, meta, hasIUFlags) && fitsInMeta(expression.to, meta, hasIUFlags) : !("\\S" !== meta || !isMeta(expression, "\\w") && !isMeta(expression, "\\d")) || (!("\\D" !== meta || !isMeta(expression, "\\W") && !isMeta(expression, "\\s")) || (!("\\w" !== meta || !isMeta(expression, "\\d")) || (!("\\W" !== meta || !isMeta(expression, "\\s")) || "Char" === expression.type && !isNaN(expression.codePoint) && ("\\s" === meta ? fitsInMetaS(expression) : "\\S" === meta ? !fitsInMetaS(expression) : "\\d" === meta ? fitsInMetaD(expression) : "\\D" === meta ? !fitsInMetaD(expression) : "\\w" === meta ? fitsInMetaW(expression, hasIUFlags) : "\\W" === meta && !fitsInMetaW(expression, hasIUFlags)))))
|
|
}
|
|
|
|
function fitsInMetaS(expression) {
|
|
return 9 === expression.codePoint || 10 === expression.codePoint || 11 === expression.codePoint || 12 === expression.codePoint || 13 === expression.codePoint || 32 === expression.codePoint || 160 === expression.codePoint || 5760 === expression.codePoint || expression.codePoint >= 8192 && expression.codePoint <= 8202 || 8232 === expression.codePoint || 8233 === expression.codePoint || 8239 === expression.codePoint || 8287 === expression.codePoint || 12288 === expression.codePoint || 65279 === expression.codePoint
|
|
}
|
|
|
|
function fitsInMetaD(expression) {
|
|
return expression.codePoint >= 48 && expression.codePoint <= 57
|
|
}
|
|
|
|
function fitsInMetaW(expression, hasIUFlags) {
|
|
return fitsInMetaD(expression) || expression.codePoint >= 65 && expression.codePoint <= 90 || expression.codePoint >= 97 && expression.codePoint <= 122 || "_" === expression.value || hasIUFlags && (383 === expression.codePoint || 8490 === expression.codePoint)
|
|
}
|
|
|
|
function combinesWithPrecedingClassRange(expression, classRange) {
|
|
if (classRange && "ClassRange" === classRange.type) {
|
|
if (fitsInClassRange(expression, classRange)) return !0;
|
|
if (isMetaWCharOrCode(expression) && classRange.to.codePoint === expression.codePoint - 1) return classRange.to = expression, !0;
|
|
if ("ClassRange" === expression.type && expression.from.codePoint <= classRange.to.codePoint + 1 && expression.to.codePoint >= classRange.from.codePoint - 1) return expression.from.codePoint < classRange.from.codePoint && (classRange.from = expression.from), expression.to.codePoint > classRange.to.codePoint && (classRange.to = expression.to), !0
|
|
}
|
|
return !1
|
|
}
|
|
|
|
function combinesWithFollowingClassRange(expression, classRange) {
|
|
return !(!classRange || "ClassRange" !== classRange.type || !isMetaWCharOrCode(expression) || classRange.from.codePoint !== expression.codePoint + 1) && (classRange.from = expression, !0)
|
|
}
|
|
|
|
function fitsInClassRange(expression, classRange) {
|
|
return ("Char" !== expression.type || !isNaN(expression.codePoint)) && ("ClassRange" === expression.type ? fitsInClassRange(expression.from, classRange) && fitsInClassRange(expression.to, classRange) : expression.codePoint >= classRange.from.codePoint && expression.codePoint <= classRange.to.codePoint)
|
|
}
|
|
|
|
function charCombinesWithPrecedingChars(expression, index, expressions) {
|
|
if (!isMetaWCharOrCode(expression)) return 0;
|
|
for (var nbMergedChars = 0; index > 0;) {
|
|
var currentExpression = expressions[index],
|
|
precedingExpresion = expressions[index - 1];
|
|
if (!isMetaWCharOrCode(precedingExpresion) || precedingExpresion.codePoint !== currentExpression.codePoint - 1) break;
|
|
nbMergedChars++, index--
|
|
}
|
|
return nbMergedChars > 1 ? (expressions[index] = {
|
|
type: "ClassRange",
|
|
from: expressions[index],
|
|
to: expression
|
|
}, nbMergedChars) : 0
|
|
}
|
|
|
|
function isMetaWCharOrCode(expression) {
|
|
return expression && "Char" === expression.type && !isNaN(expression.codePoint) && (fitsInMetaW(expression, !1) || "unicode" === expression.kind || "hex" === expression.kind || "oct" === expression.kind || "decimal" === expression.kind)
|
|
}
|
|
module.exports = {
|
|
_hasIUFlags: !1,
|
|
init: function(ast) {
|
|
this._hasIUFlags = ast.flags.includes("i") && ast.flags.includes("u")
|
|
},
|
|
CharacterClass: function(path) {
|
|
var expressions = path.node.expressions,
|
|
metas = [];
|
|
expressions.forEach(function(expression) {
|
|
isMeta(expression) && metas.push(expression.value)
|
|
}), expressions.sort(sortCharClass);
|
|
for (var i = 0; i < expressions.length; i++) {
|
|
var expression = expressions[i];
|
|
if (fitsInMetas(expression, metas, this._hasIUFlags) || combinesWithPrecedingClassRange(expression, expressions[i - 1]) || combinesWithFollowingClassRange(expression, expressions[i + 1])) expressions.splice(i, 1), i--;
|
|
else {
|
|
var nbMergedChars = charCombinesWithPrecedingChars(expression, i, expressions);
|
|
expressions.splice(i - nbMergedChars + 1, nbMergedChars), i -= nbMergedChars
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
99211: (module, __unused_webpack_exports, __webpack_require__) => {
|
|
"use strict";
|
|
var stringify = __webpack_require__(67434),
|
|
parse = __webpack_require__(76372),
|
|
formats = __webpack_require__(59279);
|
|
module.exports = {
|
|
formats,
|
|
parse,
|
|
stringify
|
|
}
|
|
},
|
|
99338: function(module, exports, __webpack_require__) {
|
|
var CryptoJS;
|
|
module.exports = (CryptoJS = __webpack_require__(49451), __webpack_require__(74047), CryptoJS.pad.NoPadding = {
|
|
pad: function() {},
|
|
unpad: function() {}
|
|
}, CryptoJS.pad.NoPadding)
|
|
},
|
|
99369: (module, exports, __webpack_require__) => {
|
|
"use strict";
|
|
var _interopRequireDefault = __webpack_require__(49288);
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
}), exports.default = void 0;
|
|
var _jquery = _interopRequireDefault(__webpack_require__(69698)),
|
|
_logger = _interopRequireDefault(__webpack_require__(81548)),
|
|
_dac = _interopRequireDefault(__webpack_require__(912)),
|
|
_helpers = _interopRequireDefault(__webpack_require__(16065)),
|
|
_legacyHoneyUtils = _interopRequireDefault(__webpack_require__(43221));
|
|
exports.default = new _dac.default({
|
|
description: "Belk DAC",
|
|
author: "Honey Team",
|
|
version: "0.1.0",
|
|
options: {
|
|
dac: {
|
|
concurrency: 1,
|
|
maxCoupons: 20
|
|
}
|
|
},
|
|
stores: [{
|
|
id: "7367171691114074156",
|
|
name: "Belk"
|
|
}],
|
|
doDac: async function(couponCode, selector, priceAmt, applyBestCode) {
|
|
let price = priceAmt;
|
|
return function(res) {
|
|
let discountAmt = "$0.00";
|
|
try {
|
|
!0 === res.cpnDetails.isApplied && (discountAmt = res.cpnDetails.appliedCpns[res.cpnDetails.appliedCpns.length - 1].couponAmt)
|
|
} catch (e) {}
|
|
price = Number(_legacyHoneyUtils.default.cleanPrice(price)) - Number(_legacyHoneyUtils.default.cleanPrice(discountAmt)), price < priceAmt && (0, _jquery.default)(selector).text(price)
|
|
}(await async function() {
|
|
let res;
|
|
try {
|
|
res = await _jquery.default.ajax({
|
|
url: "https://www.belk.com/on/demandware.store/Sites-Belk-Site/default/Coupon-Validate",
|
|
method: "GET",
|
|
data: {
|
|
format: "ajax",
|
|
couponCode
|
|
}
|
|
}), await res.done(_data => {
|
|
_logger.default.debug("Applying code")
|
|
}).fail((xhr, textStatus, errorThrown) => {
|
|
_logger.default.debug(`Coupon Apply Error: ${errorThrown}`)
|
|
})
|
|
} catch (e) {
|
|
_logger.default.debug("error in API call")
|
|
}
|
|
return res
|
|
}()), !0 === applyBestCode && (window.location = window.location.href, await (0, _helpers.default)(2e3)), Number(_legacyHoneyUtils.default.cleanPrice(price))
|
|
}
|
|
});
|
|
module.exports = exports.default
|
|
}
|
|
},
|
|
__webpack_module_cache__ = {};
|
|
|
|
function __webpack_require__(moduleId) {
|
|
var cachedModule = __webpack_module_cache__[moduleId];
|
|
if (void 0 !== cachedModule) return cachedModule.exports;
|
|
var module = __webpack_module_cache__[moduleId] = {
|
|
id: moduleId,
|
|
loaded: !1,
|
|
exports: {}
|
|
};
|
|
return __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__), module.loaded = !0, module.exports
|
|
}
|
|
__webpack_require__.n = module => {
|
|
var getter = module && module.__esModule ? () => module.default : () => module;
|
|
return __webpack_require__.d(getter, {
|
|
a: getter
|
|
}), getter
|
|
}, __webpack_require__.d = (exports, definition) => {
|
|
for (var key in definition) __webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key) && Object.defineProperty(exports, key, {
|
|
enumerable: !0,
|
|
get: definition[key]
|
|
})
|
|
}, __webpack_require__.g = function() {
|
|
if ("object" == typeof globalThis) return globalThis;
|
|
try {
|
|
return this || new Function("return this")()
|
|
} catch (e) {
|
|
if ("object" == typeof window) return window
|
|
}
|
|
}(), __webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop), __webpack_require__.r = exports => {
|
|
"undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(exports, Symbol.toStringTag, {
|
|
value: "Module"
|
|
}), Object.defineProperty(exports, "__esModule", {
|
|
value: !0
|
|
})
|
|
}, __webpack_require__.nmd = module => (module.paths = [], module.children || (module.children = []), module), (() => {
|
|
"use strict";
|
|
__webpack_require__(42883), __webpack_require__(11188);
|
|
var bluebird = __webpack_require__(262),
|
|
bluebird_default = __webpack_require__.n(bluebird),
|
|
dayjs_min = __webpack_require__(86531),
|
|
dayjs_min_default = __webpack_require__.n(dayjs_min),
|
|
duration = __webpack_require__(28588),
|
|
duration_default = __webpack_require__.n(duration),
|
|
relativeTime = __webpack_require__(86053),
|
|
relativeTime_default = __webpack_require__.n(relativeTime),
|
|
utc = __webpack_require__(38976),
|
|
utc_default = __webpack_require__.n(utc);
|
|
dayjs_min_default().extend(duration_default()), dayjs_min_default().extend(relativeTime_default()), dayjs_min_default().extend(utc_default()), bluebird_default().config({
|
|
longStackTraces: !1,
|
|
cancellation: !0,
|
|
warnings: !1
|
|
});
|
|
const errorNames_namespaceObject = JSON.parse('["AlreadyExistsError","BadAmazonStateError","BlacklistError","CancellationError","CapacityExceededError","ConfigError","DataError","DatabaseError","DomainBlacklistedError","EmailLockedError","EventIgnoredError","EventNotSupportedError","ExpiredError","FacebookNoEmailError","FatalError","InsufficientBalanceError","InsufficientResourcesError","InvalidConfigurationError","InvalidCredentialsError","InvalidDataError","InvalidMappingError","InvalidParametersError","InvalidResponseError","MessageListenerError","MissingParametersError","NoMessageListenersError","NotFoundError","NotImplementedError","NotStartedError","NotSupportedError","NothingToUpdateError","OperationSkippedError","ProfanityError","RequestThrottledError","RequestThrottledError","ResourceLockedError","ServerError","StorageError","TimeoutError","UnauthorizedError","UnavailableError","UpToDateError"]');
|
|
|
|
function _typeof(o) {
|
|
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
|
|
return typeof o
|
|
} : function(o) {
|
|
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o
|
|
}, _typeof(o)
|
|
}
|
|
|
|
function _defineProperties(e, r) {
|
|
for (var t = 0; t < r.length; t++) {
|
|
var o = r[t];
|
|
o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o)
|
|
}
|
|
}
|
|
|
|
function _createClass(e, r, t) {
|
|
return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", {
|
|
writable: !1
|
|
}), e
|
|
}
|
|
|
|
function _toPropertyKey(t) {
|
|
var i = function(t, r) {
|
|
if ("object" != _typeof(t) || !t) return t;
|
|
var e = t[Symbol.toPrimitive];
|
|
if (void 0 !== e) {
|
|
var i = e.call(t, r || "default");
|
|
if ("object" != _typeof(i)) return i;
|
|
throw new TypeError("@@toPrimitive must return a primitive value.")
|
|
}
|
|
return ("string" === r ? String : Number)(t)
|
|
}(t, "string");
|
|
return "symbol" == _typeof(i) ? i : i + ""
|
|
}
|
|
|
|
function _classCallCheck(a, n) {
|
|
if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function")
|
|
}
|
|
|
|
function _callSuper(t, o, e) {
|
|
return o = _getPrototypeOf(o),
|
|
function(t, e) {
|
|
if (e && ("object" == _typeof(e) || "function" == typeof e)) return e;
|
|
if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined");
|
|
return function(e) {
|
|
if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
return e
|
|
}(t)
|
|
}(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e))
|
|
}
|
|
|
|
function _inherits(t, e) {
|
|
if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function");
|
|
t.prototype = Object.create(e && e.prototype, {
|
|
constructor: {
|
|
value: t,
|
|
writable: !0,
|
|
configurable: !0
|
|
}
|
|
}), Object.defineProperty(t, "prototype", {
|
|
writable: !1
|
|
}), e && _setPrototypeOf(t, e)
|
|
}
|
|
|
|
function _wrapNativeSuper(t) {
|
|
var r = "function" == typeof Map ? new Map : void 0;
|
|
return _wrapNativeSuper = function(t) {
|
|
if (null === t || ! function(t) {
|
|
try {
|
|
return -1 !== Function.toString.call(t).indexOf("[native code]")
|
|
} catch (n) {
|
|
return "function" == typeof t
|
|
}
|
|
}(t)) return t;
|
|
if ("function" != typeof t) throw new TypeError("Super expression must either be null or a function");
|
|
if (void 0 !== r) {
|
|
if (r.has(t)) return r.get(t);
|
|
r.set(t, Wrapper)
|
|
}
|
|
|
|
function Wrapper() {
|
|
return function(t, e, r) {
|
|
if (_isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);
|
|
var o = [null];
|
|
o.push.apply(o, e);
|
|
var p = new(t.bind.apply(t, o));
|
|
return r && _setPrototypeOf(p, r.prototype), p
|
|
}(t, arguments, _getPrototypeOf(this).constructor)
|
|
}
|
|
return Wrapper.prototype = Object.create(t.prototype, {
|
|
constructor: {
|
|
value: Wrapper,
|
|
enumerable: !1,
|
|
writable: !0,
|
|
configurable: !0
|
|
}
|
|
}), _setPrototypeOf(Wrapper, t)
|
|
}, _wrapNativeSuper(t)
|
|
}
|
|
|
|
function _isNativeReflectConstruct() {
|
|
try {
|
|
var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}))
|
|
} catch (t) {}
|
|
return (_isNativeReflectConstruct = function() {
|
|
return !!t
|
|
})()
|
|
}
|
|
|
|
function _setPrototypeOf(t, e) {
|
|
return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(t, e) {
|
|
return t.__proto__ = e, t
|
|
}, _setPrototypeOf(t, e)
|
|
}
|
|
|
|
function _getPrototypeOf(t) {
|
|
return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(t) {
|
|
return t.__proto__ || Object.getPrototypeOf(t)
|
|
}, _getPrototypeOf(t)
|
|
}
|
|
|
|
function defineNonEnumerableProperty(obj, propName, propValue) {
|
|
return Object.defineProperty(obj, propName, {
|
|
value: propValue,
|
|
configurable: !0,
|
|
enumerable: !1,
|
|
writable: !0
|
|
})
|
|
}
|
|
var HoneyError = function(_Error) {
|
|
function HoneyError(message, extra) {
|
|
var _this;
|
|
return _classCallCheck(this, HoneyError), defineNonEnumerableProperty(_this = _callSuper(this, HoneyError, [message]), "name", "HoneyError"), defineNonEnumerableProperty(_this, "message", message || "HoneyError"), defineNonEnumerableProperty(_this, "extra", extra), "function" == typeof Error.captureStackTrace ? Error.captureStackTrace(_this, _this.constructor) : _this.stack = new Error(message).stack, _this
|
|
}
|
|
return _inherits(HoneyError, _Error), _createClass(HoneyError)
|
|
}(_wrapNativeSuper(Error));
|
|
try {
|
|
window.HoneyError = HoneyError
|
|
} catch (e) {}
|
|
var errorClasses = {
|
|
HoneyError
|
|
};
|
|
errorNames_namespaceObject.forEach(function(errorName) {
|
|
var ErrorClass = function(errorName) {
|
|
return function(_HoneyError) {
|
|
function ErrorClass(message, extra) {
|
|
var _this2;
|
|
return _classCallCheck(this, ErrorClass), defineNonEnumerableProperty(_this2 = _callSuper(this, ErrorClass, [message]), "name", errorName), defineNonEnumerableProperty(_this2, "message", message || errorName), defineNonEnumerableProperty(_this2, "extra", extra), "function" == typeof Error.captureStackTrace ? Error.captureStackTrace(_this2, _this2.constructor) : _this2.stack = new HoneyError(message).stack, _this2
|
|
}
|
|
return _inherits(ErrorClass, _HoneyError), _createClass(ErrorClass)
|
|
}(HoneyError)
|
|
}(errorName);
|
|
try {
|
|
window[errorName] = ErrorClass
|
|
} catch (e) {}
|
|
errorClasses[errorName] = ErrorClass
|
|
});
|
|
|
|
function messages_typeof(o) {
|
|
return messages_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
|
|
return typeof o
|
|
} : function(o) {
|
|
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o
|
|
}, messages_typeof(o)
|
|
}
|
|
|
|
function messages_defineProperties(e, r) {
|
|
for (var t = 0; t < r.length; t++) {
|
|
var o = r[t];
|
|
o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, messages_toPropertyKey(o.key), o)
|
|
}
|
|
}
|
|
|
|
function messages_toPropertyKey(t) {
|
|
var i = function(t, r) {
|
|
if ("object" != messages_typeof(t) || !t) return t;
|
|
var e = t[Symbol.toPrimitive];
|
|
if (void 0 !== e) {
|
|
var i = e.call(t, r || "default");
|
|
if ("object" != messages_typeof(i)) return i;
|
|
throw new TypeError("@@toPrimitive must return a primitive value.")
|
|
}
|
|
return ("string" === r ? String : Number)(t)
|
|
}(t, "string");
|
|
return "symbol" == messages_typeof(i) ? i : i + ""
|
|
}
|
|
var AdbBpContext = function() {
|
|
return e = function AdbBpContext(port, messageListener) {
|
|
var _this = this;
|
|
! function(a, n) {
|
|
if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function")
|
|
}(this, AdbBpContext), this.port = port, this.port.onMessage.addListener(function(msg) {
|
|
msg && msg.type && "function" == typeof messageListener && messageListener(msg.type, msg.content, _this)
|
|
})
|
|
}, (r = [{
|
|
key: "sendMessage",
|
|
value: function(type, content) {
|
|
var _this2 = this;
|
|
return bluebird_default().try(function() {
|
|
return _this2.port.postMessage({
|
|
type,
|
|
content
|
|
})
|
|
})
|
|
}
|
|
}]) && messages_defineProperties(e.prototype, r), t && messages_defineProperties(e, t), Object.defineProperty(e, "prototype", {
|
|
writable: !1
|
|
}), e;
|
|
var e, r, t
|
|
}();
|
|
const messages = {
|
|
connect: function(messageListener) {
|
|
return new AdbBpContext(chrome.runtime.connect({
|
|
name: "adbbp:cs"
|
|
}), messageListener)
|
|
}
|
|
};
|
|
var dist = __webpack_require__(12206);
|
|
|
|
function errors_defineNonEnumerableProperty(obj, propName, propValue) {
|
|
return Object.defineProperty(obj, propName, {
|
|
value: propValue,
|
|
configurable: !0,
|
|
enumerable: !1,
|
|
writable: !0
|
|
})
|
|
}
|
|
const errors_generateErrorClass = function(errorName) {
|
|
class HoneyError extends Error {
|
|
constructor(message, extra) {
|
|
super(message), errors_defineNonEnumerableProperty(this, "name", "HoneyError"), errors_defineNonEnumerableProperty(this, "message", message || "HoneyError"), errors_defineNonEnumerableProperty(this, "extra", extra), "function" == typeof Error.captureStackTrace ? Error.captureStackTrace(this, this.constructor) : this.stack = new Error(message).stack
|
|
}
|
|
}
|
|
return class extends HoneyError {
|
|
constructor(message, extra) {
|
|
super(message), errors_defineNonEnumerableProperty(this, "name", errorName), errors_defineNonEnumerableProperty(this, "message", message || errorName), errors_defineNonEnumerableProperty(this, "extra", extra), "function" == typeof Error.captureStackTrace ? Error.captureStackTrace(this, this.constructor) : this.stack = new HoneyError(message).stack
|
|
}
|
|
}
|
|
},
|
|
contentAdbBp_InvalidParametersError = (errors_generateErrorClass("AlreadyExistsError"), errors_generateErrorClass("BadAmazonStateError"), errors_generateErrorClass("BlacklistError"), errors_generateErrorClass("CancellationError"), errors_generateErrorClass("CapacityExceededError"), errors_generateErrorClass("ConfigError"), errors_generateErrorClass("DataError"), errors_generateErrorClass("DatabaseError"), errors_generateErrorClass("DomainBlacklistedError"), errors_generateErrorClass("EmailLockedError"), errors_generateErrorClass("EventIgnoredError"), errors_generateErrorClass("EventNotSupportedError"), errors_generateErrorClass("ExpiredError"), errors_generateErrorClass("FacebookNoEmailError"), errors_generateErrorClass("FatalError"), errors_generateErrorClass("InsufficientBalanceError"), errors_generateErrorClass("InsufficientResourcesError"), errors_generateErrorClass("InvalidConfigurationError"), errors_generateErrorClass("InvalidCredentialsError"), errors_generateErrorClass("InvalidDataError"), errors_generateErrorClass("InvalidMappingError"), errors_generateErrorClass("InvalidParametersError"));
|
|
errors_generateErrorClass("InvalidResponseError"), errors_generateErrorClass("MessageListenerError"), errors_generateErrorClass("MissingParametersError"), errors_generateErrorClass("NoMessageListenersError"), errors_generateErrorClass("NotFoundError"), errors_generateErrorClass("NotAllowedError"), errors_generateErrorClass("NotImplementedError"), errors_generateErrorClass("NotStartedError"), errors_generateErrorClass("NotSupportedError"), errors_generateErrorClass("NothingToUpdateError"), errors_generateErrorClass("OperationSkippedError"), errors_generateErrorClass("ProfanityError"), errors_generateErrorClass("RequestThrottledError"), errors_generateErrorClass("ResourceLockedError"), errors_generateErrorClass("ServerError"), errors_generateErrorClass("StorageError"), errors_generateErrorClass("SwitchedUserError"), errors_generateErrorClass("TimeoutError"), errors_generateErrorClass("UnauthorizedError"), errors_generateErrorClass("UnavailableError"), errors_generateErrorClass("UpToDateError");
|
|
var change_case = __webpack_require__(51977),
|
|
Long = __webpack_require__(56042),
|
|
Long_default = __webpack_require__.n(Long),
|
|
isNil = __webpack_require__(74817),
|
|
isNil_default = __webpack_require__.n(isNil),
|
|
random = __webpack_require__(65787),
|
|
random_default = __webpack_require__.n(random);
|
|
const util = {
|
|
checkGoldStatus: function(gold) {
|
|
let active = !1,
|
|
flatFee = !1,
|
|
percent = !1;
|
|
return gold && 0 !== Object.keys(gold).length ? (gold.isFlatFee ? gold.maxFlatFee > 0 && (active = !0, flatFee = !0) : gold.max > 0 && (active = !0, percent = !0), {
|
|
active,
|
|
flatFee,
|
|
percent
|
|
}) : {
|
|
active,
|
|
flatFee,
|
|
percent
|
|
}
|
|
},
|
|
cleanString: function(v, d = "") {
|
|
return `${v||""}`.trim() || d
|
|
},
|
|
cleanStringLower: function(v, d = "") {
|
|
return `${v||""}`.trim().toLowerCase() || d
|
|
},
|
|
createId: function() {
|
|
return (new(Long_default())).add(1e6 * (Math.floor((new Date).getTime() / 1e3) - 1451606400) + Math.floor(performance.now() / 1e3)).shiftLeft(11).and(new(Long_default())(4294965248, 4294967295)).add(2047 & Math.round(2048 * Math.random())).toString(10)
|
|
},
|
|
getRandomNumber: (lower, upper) => random_default()(lower, upper),
|
|
parseInt: function(v, d = 0) {
|
|
return parseInt(v, 10) || d
|
|
},
|
|
snakeifyObject: function snakeifyObject(obj) {
|
|
if (!obj || "object" != typeof obj) return obj;
|
|
if (Array.isArray(obj)) return obj.map(snakeifyObject);
|
|
const keys = Object.keys(obj);
|
|
if (0 === keys.length) return obj;
|
|
const snakeifiedObj = {};
|
|
return keys.forEach(key => {
|
|
snakeifiedObj[change_case.snakeCase(key)] = snakeifyObject(obj[key])
|
|
}), snakeifiedObj
|
|
},
|
|
validateRequiredParameters: function(params) {
|
|
const missingParams = [];
|
|
for (const [paramKey, param] of Object.entries(params)) isNil_default()(param) && missingParams.push(paramKey);
|
|
if (missingParams.length) throw new Error(`Missing Required Param(s): ${missingParams.join(", ")}`)
|
|
}
|
|
},
|
|
LOG_LEVELS = {
|
|
debug: 200,
|
|
info: 300,
|
|
warn: 400,
|
|
error: 500
|
|
};
|
|
|
|
function createLogger_cleanString(v, d = "") {
|
|
return `${v||""}`.trim() || d
|
|
}
|
|
var honeyLogger = function({
|
|
environment,
|
|
sendExceptionReport,
|
|
url
|
|
}) {
|
|
util.validateRequiredParameters({
|
|
environment
|
|
});
|
|
let level = "production" === environment ? "error" : "debug",
|
|
levelNum = LOG_LEVELS[level];
|
|
const logger = {
|
|
getLevel: () => level,
|
|
setLevel(newLevel) {
|
|
if (!newLevel) throw new contentAdbBp_InvalidParametersError("level");
|
|
const newLevelNum = LOG_LEVELS[newLevel];
|
|
if (!newLevelNum) throw new contentAdbBp_InvalidParametersError("level");
|
|
level = newLevel, levelNum = newLevelNum
|
|
}
|
|
};
|
|
return Object.keys(LOG_LEVELS).forEach(curLevel => {
|
|
const curLevelNum = LOG_LEVELS[curLevel];
|
|
logger[curLevel] = (msg, xtra) => {
|
|
try {
|
|
if (curLevelNum < levelNum) return null;
|
|
const xtraInfo = xtra || {};
|
|
if ("production" !== environment) {
|
|
let logLine;
|
|
const time = (new Date).toISOString();
|
|
let logFn;
|
|
switch (logLine = msg instanceof Error ? `${time} honey.${curLevel}: ${createLogger_cleanString(msg.stack)}\n` : msg && msg.message ? `${time} honey.${curLevel}: ${createLogger_cleanString(msg.message)}` : `${time} honey.${curLevel}: ${createLogger_cleanString(msg)}`, curLevel) {
|
|
case "debug":
|
|
logFn = console.log;
|
|
break;
|
|
case "info":
|
|
logFn = console.info;
|
|
break;
|
|
case "warn":
|
|
logFn = console.warn;
|
|
break;
|
|
default:
|
|
logFn = console.error
|
|
}
|
|
"object" == typeof xtraInfo && 0 !== Object.keys(xtraInfo).length ? logFn.call(console, logLine, xtraInfo) : logFn.call(console, logLine)
|
|
}
|
|
if (curLevelNum >= LOG_LEVELS.error) {
|
|
const data = {
|
|
curLevel,
|
|
level_num: curLevelNum,
|
|
name: "Error"
|
|
};
|
|
if (msg instanceof Error) data.name = createLogger_cleanString(msg.name, "Error"), data.stack = createLogger_cleanString(msg.stack), data.message = createLogger_cleanString(msg.message), Object.getOwnPropertyNames(msg).forEach(k => {
|
|
const v = msg[k];
|
|
"function" != typeof v && "name" !== k && "message" !== k && "stack" !== k && (xtraInfo[k] = v)
|
|
});
|
|
else if ("string" == typeof msg) data.message = msg;
|
|
else try {
|
|
data.message = JSON.stringify(msg)
|
|
} catch (_) {}
|
|
try {
|
|
Object.keys(xtraInfo).length > 0 && (data.xtra = JSON.stringify(xtraInfo))
|
|
} catch (_) {}
|
|
"function" == typeof sendExceptionReport && sendExceptionReport({
|
|
exception: data,
|
|
referrer_url: url
|
|
})
|
|
}
|
|
} catch (_) {}
|
|
return null
|
|
}
|
|
}), logger
|
|
}({
|
|
environment: "production"
|
|
});
|
|
dist.vF.setLogger(function(message) {
|
|
honeyLogger.debug(message)
|
|
});
|
|
const logger = honeyLogger;
|
|
|
|
function findScriptElement(url) {
|
|
if ("string" != typeof url) return null;
|
|
for (var urlLc = url.toLowerCase(), i = 0; i < document.all.length; i += 1) {
|
|
var el = document.all[i];
|
|
if (el && "SCRIPT" === el.tagName.toUpperCase() && "string" == typeof el.src && el.src.toLowerCase() === urlLc) return el
|
|
}
|
|
return null
|
|
}
|
|
messages.connect(function(type, content, context) {
|
|
switch (type) {
|
|
case "scrrep:blocked":
|
|
return function(content, context) {
|
|
var el = findScriptElement(content && content.url);
|
|
el && context.sendMessage("scrrep:fetch", {
|
|
url: el.src,
|
|
referrerUrl: "".concat(window.location.origin).concat(window.location.pathname)
|
|
})
|
|
}(content, context);
|
|
case "scrrep:scrdata":
|
|
return function(content) {
|
|
findScriptElement(content && content.url) && logger.debug("This function has been removed for security purposes: ".concat(content))
|
|
}(content);
|
|
default:
|
|
return null
|
|
}
|
|
})
|
|
})()
|
|
})(); |